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
203 lines • 8.87 kB
TypeScript
import { Page } from 'playwright';
import { DebugState, DOMSnapshot, NetworkRequest } from './types';
import { NetworkRequest as NetworkCoordinatorRequest, NetworkResponse as NetworkCoordinatorResponse, NetworkError as NetworkCoordinatorError, NetworkMetrics, NetworkReport } from './local-debug-engine/network-coordinator';
export declare class LocalDebugEngine {
private browser?;
private page?;
private browserManager;
private eventCollector;
private stateCapture;
private frameworkDetector;
private debugInjector;
private eventMonitor;
private flutterEngine?;
private flutterEnhancedEngine?;
private problemEngine;
private nextjsEngine?;
private nextjsEnhancedEngine?;
private serverFrameworkEngine?;
private metaFrameworkEngine?;
private tidewaveIntegration?;
private tidewaveCapabilities?;
private jsExecutionEngine;
private asyncTrackingEngine;
private jsErrorDetectionEngine;
private jsAnalysisCoordinator;
private flutterAnalysisCoordinator;
private userActionCoordinator;
private debugSessionCoordinator;
private networkCoordinator;
private reactStateCoordinator;
private elementInspectionCoordinator;
private performanceCoordinator;
private reactStateEngine;
private databaseTraceEngine?;
constructor();
/**
* Set up event handlers to bridge BrowserManager events with existing data collection
*/
private setupBrowserManagerHandlers;
attachToPage(page: Page): Promise<void>;
captureState(): Promise<DebugState>;
captureDOMSnapshot(): Promise<DOMSnapshot>;
injectDebuggingCode(code: string): Promise<any>;
inspectElement(selector: string): Promise<import("./local-debug-engine/element-inspection-coordinator").ElementInspectionResult>;
inspectMultipleElements(selectors: string[]): Promise<import("./local-debug-engine/element-inspection-coordinator").MultipleElementInspectionResult[]>;
elementExists(selector: string): Promise<boolean>;
isElementVisible(selector: string): Promise<boolean>;
getElementCount(selector: string): Promise<number>;
getElementAttributes(selector: string): Promise<Record<string, string> | null>;
getComputedStyles(selector: string, properties?: string[]): Promise<Record<string, string> | null>;
getElementBounds(selector: string): Promise<import("./local-debug-engine/element-inspection-coordinator").ElementBounds | null>;
findAllElements(selector: string): Promise<{
tagName: string;
id: string;
className: string;
}[]>;
simulateUserAction(action: string, selector?: string, value?: any): Promise<void>;
getConsoleMessages(filter?: {
type?: string;
since?: Date;
maxTokens?: number;
}): Array<{
type: string;
text: string;
timestamp: Date;
}>;
getNetworkRequests(filter?: {
status?: string;
pattern?: string;
}): NetworkRequest[];
getCapturedNetworkRequests(): NetworkCoordinatorRequest[];
getCapturedNetworkResponses(): NetworkCoordinatorResponse[];
getNetworkErrors(): NetworkCoordinatorError[];
getNetworkMetrics(): NetworkMetrics;
generateNetworkReport(): NetworkReport;
findReactComponents(): Promise<any[]>;
findPhoenixLiveViewState(): Promise<any>;
detectFramework(page: Page): Promise<string>;
injectDebugging(page: Page, framework: string): Promise<void>;
monitorEvents(page: Page, duration: number): Promise<any[]>;
basicAnalysis(events: any[]): any;
simulateAction(page: Page, action: string, selector: string, value?: string, coordinates?: {
x: number;
y: number;
}): Promise<any>;
captureRecentEvents(page: Page, duration: number): Promise<any[]>;
extractPageState(page: Page): Promise<any>;
generateBasicReport(session: any): any;
addNetworkMock(urlPattern: string, response: {
status?: number;
body?: any;
headers?: Record<string, string>;
delay?: number;
}): Promise<void>;
removeNetworkMock(urlPattern: string): boolean;
clearAllMocks(): void;
getMockedUrls(): string[];
getFlutterWidgetTree(): Promise<any>;
getFlutterPerformance(): Promise<any>;
inspectFlutterWidget(widgetId: string): Promise<any>;
highlightFlutterWidget(widgetId: string): Promise<void>;
getFlutterMemoryUsage(): Promise<any>;
isFlutterConnected(): boolean;
isFlutterDetected(): boolean;
getHydrationIssues(): Promise<any>;
getBundleAnalysis(): Promise<any>;
getRouteChanges(): Promise<any>;
detectCommonProblems(): Promise<any>;
private attachFrameworkEngines;
getNextJSPageInfo(): Promise<any>;
getNextJSBuildInfo(): Promise<any>;
getNextJSHydrationErrors(): Promise<any>;
getNextJSImageIssues(): Promise<any>;
getNextJSServerClientBoundaries(): Promise<any[]>;
getNextJSDataFetching(): Promise<any[]>;
analyzeNextJSServerClientFlow(): Promise<any>;
detectNextJSProblems(): Promise<any>;
getNextJSConfig(): Promise<any>;
getNextJSAppRouterInfo(): Promise<any>;
getNextJSDataFetchingAnalysis(): Promise<any>;
getNextJSBundleAnalysis(): Promise<any>;
analyzeNextJSServerComponentFlow(): Promise<any>;
getNextJSMiddlewareAnalysis(): Promise<any>;
getNextJSServerActionMonitor(): Promise<any>;
getNextJSCacheInspector(): Promise<any>;
getNextJSFontAnalysis(): Promise<any>;
getNextJSSecurityAnalysis(): Promise<any>;
getNextJSISRMonitor(route?: string): Promise<any>;
getNextJSEdgeRuntimeInfo(): Promise<any>;
getNextJSPPRAnalysis(): Promise<any>;
getNextJSHMRAnalysis(): Promise<any>;
debugNextJSRoute(): Promise<any>;
analyzeNextJSBundleDetails(): Promise<any>;
clearNextJSCache(type: 'all' | 'data' | 'full-route' | 'client'): Promise<void>;
getNextJSPerformanceScore(): Promise<any>;
getTurboEvents(): Promise<any>;
getStimulusControllers(): Promise<any>;
getCSRFIssues(): Promise<any>;
detectServerFrameworkProblems(): Promise<any>;
getFormSubmissions(): Promise<any>;
isNextJSConnected(): boolean;
isServerFrameworkConnected(): boolean;
getMetaFrameworkInfo(): Promise<any>;
getRemixLoaderData(): Promise<any>;
getRemixRouteModules(): Promise<any>;
getAstroIslands(): Promise<any>;
getNuxtPayload(): Promise<any>;
getQwikResumability(): Promise<any>;
getViteHMREvents(): Promise<any>;
detectMetaFrameworkProblems(): Promise<any>;
isMetaFrameworkConnected(): boolean;
enableJavaScriptTracing(): Promise<void>;
disableJavaScriptTracing(): Promise<void>;
instrumentFunction(functionPath: string, functionName?: string): Promise<void>;
getJavaScriptExecutionTrace(): Promise<any>;
getJavaScriptCallGraph(): Promise<any>;
getJavaScriptPerformanceProfile(): Promise<any>;
captureVariableState(variablePath: string, scope?: string): Promise<any>;
enableAsyncTracking(): Promise<void>;
disableAsyncTracking(): Promise<void>;
getAsyncOperationTrace(): Promise<any>;
getPromiseChain(promiseId: string): Promise<any>;
getAsyncStackTrace(operationId: string): Promise<string[]>;
detectAsyncLeaks(): Promise<any>;
detectJavaScriptErrors(): Promise<any>;
validateScriptTags(): Promise<any>;
stopErrorMonitoring(): Promise<void>;
getFailedRequests(): NetworkRequest[];
getSlowRequests(thresholdMs?: number): NetworkRequest[];
getApiRequests(): NetworkRequest[];
getRequestsByStatus(status: number): NetworkRequest[];
detectApiDataMismatches(): Promise<any[]>;
private findArraysInObject;
getReactComponentTree(): Promise<any>;
getReactState(): Promise<any>;
detectReactStateMismatches(): Promise<any[]>;
monitorReactStateChanges(duration: number): Promise<any[]>;
getReactComponentByName(name: string): Promise<any>;
captureDatabaseQueries(duration: number): Promise<any[]>;
getDatabaseQueries(filter?: {
minDuration?: number;
operation?: string;
hasError?: boolean;
table?: string;
}): any[];
detectN1Queries(): any[];
getSlowDatabaseQueries(thresholdMs?: number): any[];
getDatabaseQueryStats(): any;
clearDatabaseQueries(): void;
getFlutterConfig(): Promise<any>;
getFlutterDiagnostics(): Promise<any>;
getFlutterPerformanceMetrics(): Promise<any>;
detectFlutterWebIssues(): Promise<any>;
analyzeFlutterWidgetTree(): Promise<any>;
detectFlutterMemoryLeaks(): Promise<any>;
captureFlutterStateSnapshot(): Promise<any>;
analyzeFlutterAssetLoading(): Promise<any>;
getFlutterBrowserCompatibility(): Promise<any>;
getFlutterHealthCheck(): Promise<any>;
getFlutterPerformanceBaseline(): Promise<any>;
cleanup(): Promise<void>;
}
//# sourceMappingURL=local-debug-engine.d.ts.map