/** * Tool Manager - Manages MCP tools and their execution * * This module handles tool discovery, registration, and execution lifecycle */ import { Logger } from "../types.js"; import { ToolDefinition, ToolExecutionResult, ToolExecutionContext } from "../types.js"; export interface ToolManagerConfig { maxConcurrentTools?: number; toolTimeout?: number; enableCaching?: boolean; cacheTTL?: number; } export declare class ToolManager { private tools; private logger; private config; private executionQueue; private cache; constructor(logger: Logger, config?: ToolManagerConfig); /** * Register a new tool */ registerTool(tool: ToolDefinition): void; /** * Register multiple tools */ registerTools(tools: ToolDefinition[]): void; /** * Get all registered tools */ getTools(): ToolDefinition[]; /** * Get a specific tool by name */ getTool(name: string): ToolDefinition | undefined; /** * Execute a tool with caching and concurrency control */ executeTool(name: string, args: unknown, context: ToolExecutionContext): Promise; /** * Internal tool execution with timeout */ private executeToolInternal; /** * Generate cache key for tool execution */ private generateCacheKey; /** * Clear cache */ clearCache(): void; /** * Get cache statistics */ getCacheStats(): { size: number; hitRate: number; }; /** * Get execution queue status */ getExecutionStatus(): { activeExecutions: number; queuedExecutions: number; }; } //# sourceMappingURL=tool-manager.d.ts.map