/** * Tool Registry Service * Manages and provides access to all available tools */ import { z } from 'zod'; import { ILogger } from '../../core/interfaces/core-abstractions.js'; export interface Tool { name: string; description: string; inputSchema: z.ZodSchema; handler: (args: any) => Promise | any; category?: string; tags?: string[]; } export declare class ToolRegistry { private logger; private tools; private categories; constructor(logger: ILogger); /** * Register a new tool */ register(tool: Tool): void; /** * Get a tool by name */ get(name: string): Tool | undefined; /** * Get all tools */ getAll(): Tool[]; /** * Get tools by category */ getByCategory(category: string): Tool[]; /** * Check if a tool exists */ has(name: string): boolean; /** * Get the number of registered tools */ count(): number; /** * Get all categories */ getCategories(): string[]; /** * Clear all tools */ clear(): void; } //# sourceMappingURL=tool-registry.d.ts.map