import { VowelLegacyAction, JSONSchema, VowelAction, VowelActionDefinition } from '../types'; /** * Tool definition in WebMCP format */ export interface WebMCPTool { name: string; description: string; inputSchema: JSONSchema; } /** * Convert a legacy Vowel action to WebMCP JSON Schema format * * @param name - Tool name * @param legacy - Legacy action definition * @returns WebMCP tool definition * * @example * ```ts * const tool = convertLegacyToWebMCPSchema('searchProducts', { * description: 'Search for products', * parameters: { * query: { type: 'string', description: 'Search query' } * } * }); * ``` */ export declare function convertLegacyToWebMCPSchema(name: string, legacy: VowelLegacyAction): WebMCPTool; /** * Convert a WebMCP tool to Vowel legacy action format * (for backward compatibility) * * @param tool - WebMCP tool definition * @returns Legacy action definition * * @example * ```ts * const legacy = convertWebMCPToLegacy({ * name: 'searchProducts', * description: 'Search for products', * inputSchema: { ... } * }); * ``` */ export declare function convertWebMCPToLegacy(tool: WebMCPTool): VowelLegacyAction; /** * Check if an action definition is in WebMCP format * * @param action - Action definition * @returns true if WebMCP format * * @example * ```ts * const isWebMCP = isWebMCPActionFormat({ * name: 'searchProducts', * description: 'Search for products', * inputSchema: { ... } * }); * ``` */ export declare function isWebMCPActionFormat(action: VowelActionDefinition): action is VowelAction; /** * Check if an action definition is in legacy format * * @param action - Action definition * @returns true if legacy format * * @example * ```ts * const isLegacy = isLegacyActionFormat({ * description: 'Search for products', * parameters: { ... } * }); * ``` */ export declare function isLegacyActionFormat(action: VowelActionDefinition): action is VowelLegacyAction; //# sourceMappingURL=conversion.d.ts.map