/** * Generate AI tool definitions from IR in Anthropic, OpenAI, and Vercel AI SDK formats. */ import type { IR, IRCommand } from '../ir'; import type { AnthropicTool, OpenAITool, VercelAITools, ToolDefinitionOptions, BuiltinToolNames } from './types'; import { irParametersToJsonSchema } from './json-schema.js'; /** * Convert a tool name to a safe identifier. * Snake strategy: "Order.placeOrder" → "order_place_order" * Dot strategy: "Order.placeOrder" → "Order.placeOrder" (no change) */ export declare function mangleToolName(entity: string | undefined, command: string, strategy: 'snake' | 'dot'): string; /** * Parse a mangled tool name back into entity + command. * Only works reliably with snake strategy. */ export declare function parseToolName(name: string): { entity?: string; command: string; }; export declare function commandToAnthropicTool(cmd: IRCommand, opts: ToolDefinitionOptions, ir: IR): AnthropicTool; export declare function commandToOpenAITool(cmd: IRCommand, opts: ToolDefinitionOptions, ir: IR): OpenAITool; export declare function commandToVercelTool(cmd: IRCommand, opts: ToolDefinitionOptions, ir: IR): { name: string; description: string; parameters: ReturnType; }; export declare function getBuiltinToolNames(prefix: string): BuiltinToolNames; /** * Generate Anthropic tool_use format tools from IR. */ export declare function toAnthropicTools(ir: IR, opts?: ToolDefinitionOptions): AnthropicTool[]; /** * Generate OpenAI function-calling format tools from IR. */ export declare function toOpenAITools(ir: IR, opts?: ToolDefinitionOptions): OpenAITool[]; /** * Generate Vercel AI SDK tool format from IR. */ export declare function toVercelAITools(ir: IR, opts?: ToolDefinitionOptions): VercelAITools; //# sourceMappingURL=tool-definitions.d.ts.map