export declare const INSPECTION_FOCUS_AREAS: readonly ["security", "correctness", "performance", "regressions", "tests", "maintainability", "concurrency"]; export interface ToolParameterContract { name: string; type: string; required: boolean; constraints: string; description: string; } export interface ToolContract { name: string; purpose: string; /** Set to 'none' for synchronous (non-Gemini) tools. */ model: string; /** * MCP per-tool task execution support. * * - `'forbidden'`: Tool is synchronous; registered via `server.registerTool()`. * - `'optional'` / `'required'`: Tool is task-capable; registered via * `registerStructuredToolTask()` which enables background execution. * * Not yet surfaced in the MCP `tools/list` response because the SDK does not * expose the spec's `execution` field. Will be wired once SDK support lands. */ taskSupport: 'forbidden' | 'optional' | 'required'; /** Set to 0 for synchronous (non-Gemini) tools. */ timeoutMs: number; thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high'; /** Set to 0 for synchronous (non-Gemini) tools. */ maxOutputTokens: number; /** * Sampling temperature for the Gemini call. * Gemini 3 recommends 1.0 for all tasks. */ temperature?: number; /** Enables deterministic JSON guidance and schema key ordering. */ deterministicJson?: boolean; params: readonly ToolParameterContract[]; outputShape: string; gotchas: readonly string[]; crossToolFlow: readonly string[]; constraints?: readonly string[]; /** Tool requires a cached diff from generate_diff. */ requiresDiff?: boolean; /** Tool requires a cached file from load_file. */ requiresFile?: boolean; } interface StructuredToolRuntimeOptions { thinkingLevel?: NonNullable; temperature?: NonNullable; deterministicJson?: NonNullable; } interface StructuredToolExecutionOptions extends StructuredToolRuntimeOptions { timeoutMs: ToolContract['timeoutMs']; maxOutputTokens: ToolContract['maxOutputTokens']; taskSupport: Exclude; } export declare function buildStructuredToolRuntimeOptions(contract: Pick): StructuredToolRuntimeOptions; export declare function buildStructuredToolExecutionOptions(contract: Pick): StructuredToolExecutionOptions; export declare function getToolContracts(): readonly ToolContract[]; export declare function getToolContract(toolName: string): ToolContract | undefined; export declare function requireToolContract(toolName: string): ToolContract; export declare function getToolContractNames(): string[]; export {};