/** * Warn when football-docs was updated on disk under a running server. * * `npx football-docs` keeps one cache folder per package spec and updates it * in place. A server that started before the update keeps running its old code * against the new files, so a module it loads later, such as a native add-on, * may no longer be there. On 2 October 2026 a server started on 30 September * failed every call with "Could not locate the bindings file", because its * folder now held a version that no longer ships that add-on. Nothing in the * error said to reconnect. * * Each tool call compares the version this process started with against the * package.json on disk, rereading the file only when it changes. When they * differ, the reply starts with a note saying how to recover. */ export type TextReply = { isError?: boolean; content: Array<{ type: "text"; text: string; }>; }; export declare class InstallWatch { private readonly packageJsonPath; readonly runningVersion: string; private seenMtimeMs; private diskVersion; constructor(packageJsonPath: string, runningVersion: string); /** The version on disk, or null when package.json is gone or unreadable. */ current(): string | null; /** The note to show, or null when the files on disk are the version this server runs. */ notice(): string | null; /** Run a tool handler and put the notice first in its reply, also when the handler fails. */ wrap(handler: () => Promise | TextReply): Promise; }