/** * Deterministic standing-context measurement for MCP tool surfaces. * * `utf8-bytes-div-4-v1` is deliberately an approximation, not a claim about a * provider-specific tokenizer. It is dependency-free, offline, and stable: v1 * serializes the exact `tools/list` result object served to clients, then rounds * UTF-8 bytes up at four bytes per estimated token. Changing either the wire * projection or arithmetic requires a new version and reviewed baselines. * * change: bound-standing-context-cost */ export declare const STANDING_CONTEXT_TOKENIZER: "utf8-bytes-div-4-v1"; export interface StandingContextTool { name: string; description: string; inputSchema: unknown; [key: string]: unknown; } export interface StandingContextBudget { baselineTokens: number; maxTokens: number; rationale: string; } export interface ToolListPayload { tools: Array; } /** Construct the exact result shared by the live `tools/list` handler and CI. */ export declare function buildToolListPayload(tools: readonly T[], annotationsFor: (toolName: string) => A): { tools: Array; }; /** Serialize the exact live result in its deterministic registry order. */ export declare function serializeToolListPayload(payload: ToolListPayload): string; /** Estimate an exact `tools/list` result without a model call or network. */ export declare function measureStandingContextTokens(payload: ToolListPayload): number; /** Fail with the review receipt needed to diagnose a budget regression. */ export declare function assertStandingContextBudget(preset: string, measuredTokens: number, budget: StandingContextBudget): void; //# sourceMappingURL=mcp-standing-cost.d.ts.map