network-tracer.d.ts•1.78 kB
/**
* Network Tracer Agent
* Intercepts network requests and captures stack traces for source intelligence
* Part of the WebSee Source Intelligence Layer
*/
import { Page } from 'playwright';
declare global {
interface XMLHttpRequest {
__websee_url?: string;
__websee_method?: string;
__websee_stack?: string[];
}
}
interface NetworkTrace {
url: string;
method: string;
timestamp: number;
stackTrace: string[];
initiator: {
type: 'fetch' | 'xhr' | 'script' | 'parser' | 'other';
lineNumber?: number;
columnNumber?: number;
url?: string;
};
requestHeaders?: Record<string, string>;
responseHeaders?: Record<string, string>;
status?: number;
duration?: number;
}
export declare class NetworkTracer {
private traces;
/**
* Initialize the network tracer with a Playwright page
*/
initialize(page: Page): Promise<void>;
/**
* Handle network events from the page
*/
private handleNetworkEvent;
/**
* Parse stack trace line to extract source location
*/
private parseStackLocation;
/**
* Get all network traces
*/
getTraces(): NetworkTrace[];
/**
* Get traces for a specific URL pattern
*/
getTracesForUrl(urlPattern: string | RegExp): NetworkTrace[];
/**
* Clear all traces
*/
clearTraces(): void;
/**
* Get a summary of network activity
*/
getSummary(): {
totalRequests: number;
byMethod: Record<string, number>;
byStatus: Record<number, number>;
averageDuration: number;
};
/**
* Cleanup and destroy the tracer
*/
destroy(): Promise<void>;
}
export {};
//# sourceMappingURL=network-tracer.d.ts.map