UNPKG

ai-debug-local-mcp

Version:

🎯 ENHANCED AI GUIDANCE v4.1.2: Dramatically improved tool descriptions help AI users choose the right tools instead of 'close enough' options. Ultra-fast keyboard automation (10x speed), universal recording, multi-ecosystem debugging support, and compreh

56 lines • 1.73 kB
/** * Lazy Handler Registry - Reduces memory usage by loading handlers on-demand * Only instantiates handlers when their tools are actually used */ import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { ToolHandler, BaseToolHandler } from './base-handler.js'; export interface HandlerFactory { name: string; tools: Tool[]; factory: () => ToolHandler | BaseToolHandler; isLazy: boolean; } export declare class LazyHandlerRegistry { private handlerFactories; private instantiatedHandlers; private toolToFactoryMap; private registeredTools; /** * Register a handler factory instead of an instantiated handler */ registerHandlerFactory(name: string, tools: Tool[], factory: () => ToolHandler | BaseToolHandler, isLazy?: boolean): void; /** * Instantiate a handler on-demand */ private instantiateHandler; /** * Get handler for a specific tool (instantiates on-demand) */ getHandlerForTool(toolName: string): ToolHandler | undefined; /** * Get all registered tools (without instantiating handlers) */ getAllTools(): Tool[]; /** * Get a specific tool by name */ getTool(toolName: string): Tool | undefined; /** * Check if a tool exists */ hasTool(toolName: string): boolean; /** * Execute a tool (instantiates handler on-demand) */ executeTool(toolName: string, args: unknown): Promise<unknown>; /** * Get memory usage statistics */ getMemoryStats(): { totalHandlers: number; instantiatedHandlers: number; totalTools: number; memoryReduction: string; }; } //# sourceMappingURL=lazy-handler-registry.d.ts.map