/** Wire-format metadata key the Claude Code SDK reads. */ export declare const ALWAYS_LOAD_META_KEY: "anthropic/alwaysLoad"; /** * Loose structural type for any object exposing a `registerTool` method. The * MCP SDK ships dual ESM/CJS packages with conditional exports, so importing * the concrete `McpServer` type here would force every consumer to compile * under the same resolution mode — they don't. Keep this contract minimal: * we only need the method to exist; we cast internally to drive the * upstream generic overloads which differ between SDK versions. */ type EagerCapableServer = { registerTool: (...args: any[]) => any; }; /** * Local structural type for a Zod raw shape. We deliberately do NOT import * `ZodRawShape` from zod itself — plugin workspaces ship pinned zod v3 in * their nested `node_modules/zod`, while `platform/node_modules/zod` is v4, * and the two `ZodRawShape` types are structurally incompatible (v4 * introduced the `_zod` brand on `ZodType`). A typed-by-value `unknown` * member is enough: TypeScript treats it as compatible with both v3 and v4 * shapes, while still constraining the generic to "an object whose values * are zod-like" so the caller's destructured handler args stay typed via * the SDK's own overload resolution downstream. */ type LocalZodRawShape = Record; /** * Register an MCP tool that the Claude Code SDK eager-loads into the * model's prompt at session boot, bypassing the ToolSearch round-trip. * * Mirrors the four-arg `server.tool(name, description, inputSchema, handler)` * call shape — the only overload in use across our plugins — so callers * replace `server.tool(` with `eagerTool(server, ` mechanically. * * The helper deliberately does not constrain handler-arg types itself; the * downstream `server.registerTool` invocation inside this function passes * the shape through, and the upstream MCP SDK's overload (resolved against * the consumer's own zod version) infers the handler args. */ export declare function eagerTool(server: EagerCapableServer, name: string, description: string, inputSchema: Args, handler: (...args: any[]) => any): void; export {}; //# sourceMappingURL=index.d.ts.map