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
77 lines • 2.4 kB
TypeScript
/**
* Session Registry - Multi-Project Resource Coordination
*
* Central coordinator for managing multiple concurrent debugging sessions
* with automatic resource isolation and intelligent cleanup.
*/
import { EventEmitter } from 'events';
import { ProjectSession, ResourceSummary, OptimizationSuggestion, SessionRegistryConfig, ResourceMetrics } from './types';
export declare class SessionRegistry extends EventEmitter {
private sessions;
private workingDirToSession;
private portAllocator;
private resourceMonitor;
private cleanupCoordinator;
private config;
private cleanupInterval?;
private monitoringInterval?;
private persistentStorage;
private initialized;
constructor(config?: Partial<SessionRegistryConfig>);
/**
* Initialize session registry from persistent storage
*/
private initializeFromStorage;
/**
* Save current sessions to persistent storage
*/
private saveToStorage;
/**
* Register a new project debugging session
*/
registerProject(workingDirectory: string, targetUrl: string): Promise<ProjectSession>;
/**
* Get existing project session by working directory
*/
getProjectSession(workingDirectory: string): Promise<ProjectSession | null>;
/**
* Get session by ID
*/
getSession(sessionId: string): ProjectSession | null;
/**
* Update session resource usage
*/
updateResourceUsage(sessionId: string, metrics: Partial<ResourceMetrics>): Promise<void>;
/**
* Get comprehensive resource summary
*/
getResourceSummary(): Promise<ResourceSummary>;
/**
* Get optimization suggestions
*/
getOptimizationSuggestions(): Promise<OptimizationSuggestion[]>;
/**
* Cleanup idle sessions
*/
cleanupIdleSessions(): Promise<string[]>;
/**
* Cleanup specific session
*/
cleanupSession(sessionId: string): Promise<void>;
/**
* Emergency cleanup - clean up all sessions
*/
emergencyCleanup(): Promise<void>;
/**
* Shutdown the registry
*/
shutdown(): Promise<void>;
private generateProjectId;
private detectProjectMetadata;
private enforceQuotas;
private calculateQuotaUtilization;
private getPriorityWeight;
private startBackgroundTasks;
private emitEvent;
}
//# sourceMappingURL=session-registry.d.ts.map