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

124 lines • 3.43 kB
export interface TrackedResource { sessionId: string; resourceType: 'page' | 'browser' | 'context'; resource: any; handlerName?: string; addedAt: Date; lastUsed: Date; } export interface ResourceLeak { sessionId: string; resourceType: string; age: number; handlerName?: string; } export interface ResourceInconsistency { sessionId: string; resourceType: string; issue: string; resource: any; } export interface MonitoringData { totalResources: number; resourceAge: Record<string, number>; sessionCount: number; averageResourcesPerSession: number; handlerUsage: Record<string, number>; } export interface CleanupRecommendation { totalTracked: number; recommendedActions: Array<{ action: string; priority: 'low' | 'medium' | 'high'; description: string; }>; priority: string; } /** * ResourceManager - Centralized browser resource management * * Provides consistent resource tracking and cleanup across all handlers * to prevent memory leaks and ensure proper resource disposal */ export declare class ResourceManager { private resources; private cleanupCallbacks; /** * Track a resource for automatic cleanup */ trackResource(resourceType: 'page' | 'browser' | 'context', sessionId: string, resource: any, addedAt?: Date): void; /** * Track a resource with handler information */ trackHandlerResource(handlerName: string, sessionId: string, resource: any): void; /** * Get total number of tracked resources */ getResourceCount(): number; /** * Get detailed resource statistics */ getResourceStats(): { totalResources: number; resourceTypes: Record<string, number>; sessionCount: number; handlerUsage: Record<string, number>; }; /** * Detect resource leaks (resources older than threshold) */ detectResourceLeaks(ageThresholdMinutes?: number): ResourceLeak[]; /** * Detect resource inconsistencies */ detectInconsistencies(): ResourceInconsistency[]; /** * Fix detected inconsistencies */ fixInconsistencies(): Promise<void>; /** * Get monitoring data for analysis */ getMonitoringData(): MonitoringData; /** * Get cleanup recommendations */ getCleanupRecommendations(): CleanupRecommendation; /** * Cleanup resources for a specific session */ cleanupSession(sessionId: string): Promise<void>; /** * Cleanup all resources */ cleanupAll(): Promise<void>; /** * Cleanup individual resource */ private cleanupResource; /** * Register cleanup callback */ registerCleanupCallback(callback: (sessionId: string) => Promise<void>): void; /** * Enhance existing cleanup function */ enhanceCleanup(originalCleanup: (sessionId: string) => Promise<void>): (sessionId: string) => Promise<void>; /** * Integration with main server */ integrateWithServer(): void; /** * Clear all resources (for testing) */ clear(): void; /** * Generic cleanup method - maps to cleanupAll for compatibility */ cleanup(): Promise<void>; } /** * Global resource manager instance */ export declare const globalResourceManager: ResourceManager; //# sourceMappingURL=resource-manager.d.ts.map