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