UNPKG

@extenshi/mcp

Version:

Extenshi MCP server — bring the extension catalog (search, security, market research) and pre-publish scanning into your AI tools

31 lines • 1.66 kB
/** * Best-effort "a newer version is available" nudge. * * The MCP has no built-in update mechanism — a pinned global install * (`npm i -g @extenshi/mcp`) stays on whatever version was installed, and even * an `npx @extenshi/mcp` (no `@latest`) can serve a stale cache. So on startup * we ask the npm registry once for the latest published version and, if we're * behind, print a one-line hint to STDERR. * * Hard constraints: * - STDERR only. stdout is the MCP protocol channel (see index.ts header). * - Fully fail-soft: any network/parse/timeout error is swallowed silently. * - Non-blocking: callers fire-and-forget so tool availability is never delayed. * - Opt-out honoured (shares the telemetry opt-out switches + a dedicated one). */ /** True when the user has opted out of the (network) update check. */ export declare function updateCheckOptedOut(env?: NodeJS.ProcessEnv): boolean; /** * Returns true when `latest` is a strictly newer 3-part version than `current`. * Tolerant of pre-release/garbage: non-numeric parts coerce to 0, and any parse * oddity returns false (never nag spuriously). */ export declare function isNewerVersion(current: string, latest: string): boolean; /** Build the stderr hint (exported for testability). */ export declare function updateMessage(current: string, latest: string): string; /** * Fire-and-forget update check. Never throws; writes at most one line to stderr. * `fetchImpl`/`out` are injectable for tests. */ export declare function checkForUpdate(current: string, fetchImpl?: typeof fetch, out?: (msg: string) => void): Promise<void>; //# sourceMappingURL=update-check.d.ts.map