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

113 lines • 2.99 kB
/** * 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