vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
71 lines • 2.46 kB
TypeScript
import { MemoryLeakDetector } from './memoryLeakDetector.js';
import { ResourceTracker } from './resourceTracker.js';
import { MemoryManager } from './memoryManager.js';
export interface ProcessLifecycleManagerOptions {
maxMemoryPercentage?: number;
healthCheckInterval?: number;
degradationThreshold?: number;
emergencyThreshold?: number;
autoMonitor?: boolean;
gcInterval?: number;
}
export type ProcessHealthStatus = 'healthy' | 'degraded' | 'critical' | 'recovering';
export interface ProcessHealthInfo {
status: ProcessHealthStatus;
memoryUsagePercentage: number;
cpuUsagePercentage: number;
memoryLeakDetected: boolean;
timestamp: number;
memoryStats: {
heapUsed: number;
heapTotal: number;
rss: number;
systemTotal: number;
memoryUsagePercentage: number;
formatted: {
heapUsed: string;
heapTotal: string;
rss: string;
systemTotal: string;
};
};
activeJobs: number;
}
export declare class ProcessLifecycleManager {
private options;
private memoryLeakDetector;
private resourceTracker;
private memoryManager;
private healthCheckTimer;
private gcTimer;
private isInitialized;
private healthStatus;
private cpuUsage;
private lastCpuUsage;
private lastCpuUsageTime;
private activeJobs;
private healthListeners;
private static readonly DEFAULT_OPTIONS;
constructor(options?: ProcessLifecycleManagerOptions);
init(memoryManager?: MemoryManager, resourceTracker?: ResourceTracker): Promise<void>;
startHealthMonitoring(): void;
stopHealthMonitoring(): void;
startPeriodicGC(): void;
stopPeriodicGC(): void;
checkProcessHealth(): ProcessHealthInfo;
private handleDegradedMemory;
private handleCriticalMemory;
runGarbageCollection(): void;
registerJob(jobId: string): void;
unregisterJob(jobId: string): Promise<void>;
getActiveJobCount(): number;
getActiveJobIds(): string[];
addHealthListener(listener: (health: ProcessHealthInfo) => void): void;
removeHealthListener(listener: (health: ProcessHealthInfo) => void): void;
private notifyHealthListeners;
getHealthStatus(): ProcessHealthStatus;
getMemoryLeakDetector(): MemoryLeakDetector | null;
getResourceTracker(): ResourceTracker | null;
cleanup(): void;
}
//# sourceMappingURL=processLifecycleManager.d.ts.map