/** * ToolRegistry - Central registry for all available tools/actions * Similar to Blurr's Spec system but with TypeScript type safety */ /** * Tool parameter specification */ export interface ToolParameter { name: string; type: 'string' | 'number' | 'boolean' | 'array' | 'object'; description: string; required: boolean; default?: any; enum?: string[]; min?: number; max?: number; } /** * Tool specification */ export interface ToolSpec { name: string; description: string; category: 'interaction' | 'navigation' | 'input' | 'file' | 'voice' | 'system' | 'custom'; parameters: ToolParameter[]; examples?: string[]; requiresPermission?: string[]; deprecated?: boolean; aliases?: string[]; } /** * ToolRegistry - Manages all available tools */ export declare class ToolRegistry { private static specs; private static initialized; /** * Initialize the registry with all predefined tools */ static initialize(): void; /** * Register a new tool spec */ static register(spec: ToolSpec): void; /** * Get a tool spec by name */ static get(name: string): ToolSpec | undefined; /** * Get all tool specs */ static getAll(): ToolSpec[]; /** * Get tools by category */ static getByCategory(category: ToolSpec['category']): ToolSpec[]; /** * Get tool names for a specific category */ static getToolNames(category?: ToolSpec['category']): string[]; /** * Generate JSON schema for all tools (for LLM function calling) */ static toJSONSchema(): any[]; /** * Generate markdown documentation for all tools */ static toMarkdown(): string; } //# sourceMappingURL=ToolRegistry.d.ts.map