/** * The pure, node-free half of the live MCP contract-tool check: the error shape * and its human-readable formatter, split out of `core/mcp.ts` (which statically * imports `node:child_process` + `./refs.js` for the SPAWN path) so a consumer * that only needs the message — the deterministic audit report — doesn't drag the * live-verification machinery into its bundle. `mcp.ts` re-exports both, so its * existing consumers are unchanged; `verifyMcpContractTools` (the spawn) stays * there. Node-free by construction (a local `assertNever`, no `node:` import). */ export type McpContractToolReason = "server-unreachable" | "tool-missing"; export interface McpContractToolError { /** The full `mcp__server__tool` reference (restriction suffix stripped). */ readonly tool: string; readonly server: string; /** The tool segment (what's looked up on the server). */ readonly toolName: string; readonly reason: McpContractToolReason; readonly suggestions: string[]; } /** Human-readable message for a contract-tool error (with "did you mean"). */ export declare function mcpContractToolMessage(e: McpContractToolError): string; //# sourceMappingURL=mcp-contract-message.d.ts.map