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
113 lines • 2.99 kB
TypeScript
/**
* Advanced Memory Manager for AI-Debug MCP Server
* Implements comprehensive memory optimization strategies
*/
export interface MemoryProfile {
heapUsed: number;
heapTotal: number;
external: number;
rss: number;
timestamp: number;
}
export interface SessionMemoryInfo {
sessionId: string;
createdAt: number;
lastAccessed: number;
resourceCount: number;
memoryFootprint: number;
}
export declare class AdvancedMemoryManager {
private static instance;
private memoryHistory;
private sessionMemoryMap;
private readonly MAX_HISTORY;
private readonly SESSION_TTL;
private readonly MAX_SESSIONS;
private readonly MEMORY_PRESSURE_THRESHOLD;
private readonly GC_INTERVAL;
private constructor();
static getInstance(): AdvancedMemoryManager;
/**
* Start continuous memory monitoring
*/
private startMemoryMonitoring;
/**
* Record current memory profile
*/
private recordMemoryProfile;
/**
* Check for memory pressure and take action
*/
private checkMemoryPressure;
/**
* Perform emergency memory cleanup
*/
private performEmergencyCleanup;
/**
* Register a new session
*/
registerSession(sessionId: string, estimatedMemoryMB?: number): void;
/**
* Update session access time
*/
touchSession(sessionId: string): void;
/**
* Add resource to session tracking
*/
addResource(sessionId: string, resourceMemoryMB?: number): void;
/**
* Remove session and free memory tracking
*/
removeSession(sessionId: string): void;
/**
* Clean up expired sessions
*/
private cleanupExpiredSessions;
/**
* Limit active sessions to most recent N sessions
*/
private limitActiveSessions;
/**
* Clean up N oldest sessions
*/
private cleanupOldestSessions;
/**
* Get memory usage statistics
*/
getMemoryStats(): {
current: MemoryProfile;
sessions: {
total: number;
totalMemoryMB: number;
averageMemoryMB: number;
oldestSessionAge: number;
};
pressure: {
isUnderPressure: boolean;
heapUsagePercent: number;
heapUsedMB: number;
};
abortSignals: {
activeControllers: number;
estimatedListeners: number;
memoryPressure: 'low' | 'medium' | 'high';
};
};
/**
* Log comprehensive memory usage
*/
logMemoryUsage(context?: string): void;
/**
* Get tool loading strategy based on memory availability
*/
getToolLoadingStrategy(): {
strategy: 'all' | 'batch' | 'minimal';
batchSize: number;
reason: string;
};
/**
* Optimize tool loading based on memory constraints
*/
shouldLoadToolCategory(category: string): boolean;
}
//# sourceMappingURL=advanced-memory-manager.d.ts.map