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

80 lines • 2.55 kB
export interface TrackedListener { target: EventTarget; event: string; handler: EventListenerOrEventListenerObject; addedAt: Date; id: string; } export interface PotentialLeak { event: string; count: number; oldestListener: Date; targets: string[]; } /** * EventListenerManager - Prevents memory leaks by tracking and managing event listeners * * Key Features: * - Tracks all addEventListener calls for automatic cleanup * - Prevents duplicate listeners * - Graceful error handling during cleanup * - Memory leak detection and reporting * - Backward compatible with standard addEventListener */ export declare class EventListenerManager { private listeners; private listenerIdCounter; /** * Add an event listener with automatic tracking for cleanup * Prevents duplicate listeners for the same target/event/handler combination */ addEventListener(target: EventTarget | null | undefined, event: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; /** * Remove a specific event listener */ removeEventListener(target: EventTarget, event: string, handler: EventListenerOrEventListenerObject): boolean; /** * Remove all tracked event listeners * Essential for preventing memory leaks */ cleanup(): void; /** * Get count of currently tracked listeners */ getActiveListenerCount(): number; /** * Get listeners filtered by event type */ getListenersByType(eventType: string): TrackedListener[]; /** * Get detailed information about all tracked listeners */ getDetailedListenerInfo(): TrackedListener[]; /** * Detect potential memory leaks based on listener patterns */ detectPotentialLeaks(): PotentialLeak[]; /** * Generate unique ID for listener to prevent duplicates */ private generateListenerId; /** * Get description of event target for debugging */ private getTargetDescription; /** * Get debugging statistics */ getStats(): { totalListeners: number; eventTypes: Record<string, number>; oldestListener: Date | null; targetTypes: Record<string, number>; }; } /** * Global instance for easy access across the application * This can be used to ensure all event listeners are tracked globally */ export declare const globalEventListenerManager: EventListenerManager; //# sourceMappingURL=event-listener-manager.d.ts.map