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
160 lines • 4.11 kB
TypeScript
import { EventEmitter } from 'events';
import { EventListenerManager } from './utils/event-listener-manager.js';
interface ProcessInfo {
pid: number;
title: string;
version: string;
platform: string;
memory: NodeJS.MemoryUsage;
uptime: number;
}
interface QueryCapture {
query: string;
duration: number;
timestamp: number;
stackTrace?: string;
params?: any[];
error?: string;
}
interface APITrace {
method: string;
path: string;
statusCode: number;
duration: number;
middleware: MiddlewareTrace[];
queries: QueryCapture[];
timestamp: number;
}
interface MiddlewareTrace {
name: string;
duration: number;
order: number;
}
export declare class BackendDebugEngine extends EventEmitter {
private sessions;
private inspectorSession?;
private metricsInterval?;
private queryCaptures;
private apiTraces;
eventListenerManager: EventListenerManager;
private webSocketListeners;
private cdpListeners;
attachToProcess(options: {
pid?: number;
port?: number;
host?: string;
}): Promise<{
sessionId: string;
processInfo: ProcessInfo;
}>;
profileMemory(options: {
sessionId: string;
duration: number;
heapSnapshot?: boolean;
trackAllocations?: boolean;
}): Promise<{
profile: any;
heapSnapshot?: string;
summary: {
totalHeapSize: number;
usedHeapSize: number;
peakHeapSize: number;
gcCount: number;
gcTime: number;
};
}>;
traceAsyncOperations(options: {
sessionId: string;
includePromises: boolean;
includeCallbacks: boolean;
includeTimers: boolean;
duration: number;
}): Promise<{
traces: AsyncTrace[];
summary: {
totalOperations: number;
pendingPromises: number;
activeTimers: number;
callbackQueue: number;
};
}>;
captureQueries(options: {
sessionId: string;
duration: number;
minExecutionTime?: number;
includeStackTrace: boolean;
}): Promise<{
queries: QueryCapture[];
summary: any;
}>;
traceAPIRequest(options: {
sessionId: string;
method: string;
path: string;
includeMiddleware: boolean;
captureDatabase: boolean;
measureLatency: boolean;
}): Promise<APITrace>;
monitorWebSocket(options: {
sessionId: string;
url: string;
captureMessages: boolean;
trackConnections: boolean;
duration: number;
}): Promise<{
connections: number;
messages: WebSocketMessage[];
latency: number[];
}>;
private generateSessionId;
private enableDebugDomains;
private sendCommand;
private getProcessInfo;
private startMetricsCollection;
private getCPUUsage;
private takeHeapSnapshot;
private patchDatabaseLibraries;
private unpatchDatabaseLibraries;
cleanup(sessionId: string): Promise<void>;
/**
* Get count of active WebSocket listeners
*/
getActiveWebSocketListenerCount(): number;
/**
* Get count of active CDP session listeners
*/
getActiveCDPListenerCount(): number;
/**
* Get detailed listener information for debugging
*/
getDetailedListenerInfo(): {
webSocketListeners: number;
cdpListeners: number;
totalListeners: number;
listenerDetails: Array<{
type: string;
id: string;
addedAt: Date;
}>;
};
/**
* Cleanup all listeners across all sessions
*/
cleanupAll(): Promise<void>;
}
interface AsyncTrace {
id: number;
type: string;
triggerId: number;
timestamp: number;
endTime?: number;
duration?: number;
stack?: string;
}
interface WebSocketMessage {
type: 'sent' | 'received';
data: string;
timestamp: number;
}
export {};
//# sourceMappingURL=backend-debug-engine.d.ts.map