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
TypeScript
/**
* 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