import type { ToolDefinition } from "../../tool/index.js"; import type { JsonSchema } from "../../tool/schema/index.js"; /** Public API contract for provider tool compat provider. */ export type ProviderToolCompatProvider = "anthropic" | "google" | "moonshot" | "openai" | "unknown"; /** Public API contract for provider tool profile. */ export interface ProviderToolProfile { provider: ProviderToolCompatProvider; maxTools?: number; sanitizeSchema: boolean; } /** Options accepted by provider tool compat. */ export interface ProviderToolCompatOptions { model?: string; requiredToolNames?: readonly string[]; } /** Return provider tool profile. */ export declare function getProviderToolProfile(model?: string): ProviderToolProfile; /** Select provider compatible tool names helper. */ export declare function selectProviderCompatibleToolNames(toolNames: readonly string[], options?: ProviderToolCompatOptions): string[]; /** Select provider compatible tools helper. */ export declare function selectProviderCompatibleTools(tools: readonly ToolDefinition[], options?: ProviderToolCompatOptions): ToolDefinition[]; /** * Normalize a provider tool input schema so every function tool has a * provider-safe JSON Schema object at the root. Remote/MCP tools can omit the * root `type`; Anthropic rejects those as `input_schema.type` missing. */ export declare function normalizeProviderToolInputSchema(schema: JsonSchema): JsonSchema; /** Zod schema for sanitize provider tool. */ export declare function sanitizeProviderToolSchema(schema: JsonSchema, options?: Pick): JsonSchema; //# sourceMappingURL=provider-tool-compat.d.ts.map