/** * Tool Schema Converter * * Converts Matimo ToolDefinition parameters to MCP-compatible Zod schemas. * The MCP SDK's registerTool() accepts { [key]: ZodType } as inputSchema. * Reuses the same parameterToZod logic as the LangChain integration. */ import { z } from 'zod'; import type { Parameter } from '../core/types.js'; import type { ToolDefinition } from '../core/schema.js'; /** * Convert a single Matimo Parameter to a Zod schema. * Handles: string, number, boolean, array, object, enum, defaults, optionals. */ export declare function parameterToZod(param: Parameter): z.ZodType; /** * Convert a ToolDefinition's parameters to MCP inputSchema format. * Excludes auth parameters — those are injected server-side. * * @returns A plain object mapping param names to Zod types, * which is what MCP SDK's registerTool() expects for inputSchema. */ export declare function convertParametersToMcpSchema(parameters: Record): Record; /** * Build the full MCP tool registration metadata from a ToolDefinition. * * @returns Object ready for server.registerTool(name, metadata, handler) */ export declare function toolToMcpRegistration(tool: ToolDefinition): { title: string; description: string; inputSchema: Record; }; /** * Extract auth placeholder names from a tool's execution config. * These are the env var names the tool needs (e.g., SLACK_BOT_TOKEN, GITHUB_TOKEN). * Used by `matimo mcp setup` to generate config templates. */ export declare function extractAuthPlaceholders(tool: ToolDefinition): string[]; //# sourceMappingURL=tool-converter.d.ts.map