export type ToolParameterType = 'string' | 'number' | 'boolean' | 'object' | 'array'; export interface ToolParameter { type: ToolParameterType; description: string; required?: boolean; properties?: Record; items?: ToolParameter; } export interface ToolSchema { type: 'local'; name: string; description: string; config: { timeout: number; parameters: { type: 'object'; title: string; required: string[]; properties: Record; }; output: { type: 'object'; title: string; properties: Record; }; }; } export interface ToolDefinition { name: string; description: string; title?: string; timeout?: number; parameters: Record; output: Record; implementation: (...args: any[]) => any; } /** * Create a tool parameter definition */ export declare function createParameter(type: ToolParameterType, description: string, options?: { required?: boolean; properties?: Record; items?: ToolParameter; }): ToolParameter; /** * Generate a tool schema from a tool definition */ export declare function generateToolSchema(definition: ToolDefinition): ToolSchema; export type ToolInstance = { schema: ToolSchema; implementation: (...args: any[]) => any; }; /** * Create a complete tool definition with schema and implementation */ export declare function createTool(definition: ToolDefinition): ToolInstance; /** * Extract function signature and generate schema from a JavaScript function * This is a utility to help convert existing functions to tool schemas */ export declare function createToolFromFunction(name: string, description: string, fn: (...args: any[]) => any, parameterTypes: Record, outputTypes: Record, options?: { title?: string; timeout?: number; }): ToolInstance; export declare const sumTool: ToolInstance; export declare const navigateToToolExample: ToolInstance; export declare function createToolRegistry(tools: ToolDefinition[]): { schemas: ToolSchema[]; implementations: Record any>; }; export declare function validateToolParameters(parameters: Record, schema: ToolSchema): boolean; //# sourceMappingURL=tools.d.ts.map