/** * What the registered entry actually serves. * * Counting the tools of the process doing the counting proves nothing about * the agent's experience: the agent talks to whatever the host registration * launches, which may be an older release with a different tool set. This asks * that process directly, over the protocol the agent uses. */ export type LiveToolsetVerdict = "OK" | "LIVE_TOOLSET_MISMATCH" | "UNREACHABLE"; export type LiveToolsetResult = { verdict: LiveToolsetVerdict; expected: string[]; actual?: string[]; missing?: string[]; detail?: string; }; export type ToolsetProbe = (argv: { command: string; args: string[]; }) => Promise; export declare const expectedTools: () => string[]; /** * Speak just enough MCP to ask for the tool list: initialize, initialized, * tools/list. A full client would pull in the SDK's transport machinery for * one question that is three lines of JSON. */ export declare const defaultToolsetProbe: ToolsetProbe; /** * Compare what the registered command serves against what this release * defines. A tool the agent cannot see is a tool it does not have, whatever * the package on disk says. */ export declare function checkLiveToolset(argv: { command: string; args: string[]; }, probe?: ToolsetProbe): Promise;