UNPKG

supapup

Version:

⚡ Lightning-fast MCP browser dev tool. Navigate → Get instant structured data. No screenshots needed! Puppeteer: 📸 → CSS selectors → JS eval. Supapup: semantic IDs ready to use. 10x faster, 90% fewer tokens.

209 lines 5.9 kB
import { Page } from 'puppeteer'; export interface NetworkLog { timestamp: Date; method: string; url: string; status?: number; type?: string; size?: number; duration?: number; requestHeaders?: Record<string, string>; requestPayload?: any; responseHeaders?: Record<string, string>; responseBody?: string; initiator?: { type: string; stack?: { callFrames: Array<{ functionName: string; url: string; lineNumber: number; columnNumber: number; }>; }; url?: string; lineNumber?: number; }; isAPI?: boolean; } export interface ConsoleLog { timestamp: Date; type: string; text: string; location?: string; stackTrace?: any; } export declare class DevToolsMonitor { private networkLogs; private consoleLogs; private page; private requestTimings; private requestDetails; private cdpSession; private consoleHandler; private requestHandler; private responseHandler; private pageErrorHandler; private requestFailedHandler; private cdpRequestWillBeSentHandler; private cdpResponseReceivedHandler; private cdpLoadingFinishedHandler; constructor(page: Page); private setupListeners; getConsoleLogs(filter?: { type?: string; since?: Date; }): ConsoleLog[]; getNetworkLogs(filter?: { status?: number; method?: string; since?: Date; }): NetworkLog[]; clearLogs(): void; getPerformanceMetrics(): Promise<{ detailed: { navigation: { ttfb: number; domContentLoaded: number; loadComplete: number; totalLoadTime: number; dnsLookup: number; tcpConnection: number; requestDuration: number; responseDuration: number; domProcessing: number; resourceFetchTime: number; } | { ttfb?: undefined; domContentLoaded?: undefined; loadComplete?: undefined; totalLoadTime?: undefined; dnsLookup?: undefined; tcpConnection?: undefined; requestDuration?: undefined; responseDuration?: undefined; domProcessing?: undefined; resourceFetchTime?: undefined; }; resources: { total: number; breakdown: { scripts: number; stylesheets: number; images: number; fonts: number; xhr: number; other: number; }; totalSize: number; totalDuration: number; }; largestResources: { url: string; size: number; duration: number; type: string; }[]; slowestResources: { url: string; duration: number; size: number; type: string; }[]; paintMetrics: any; memoryInfo: any; }; Timestamp?: number; Documents?: number; Frames?: number; JSEventListeners?: number; Nodes?: number; LayoutCount?: number; RecalcStyleCount?: number; LayoutDuration?: number; RecalcStyleDuration?: number; ScriptDuration?: number; TaskDuration?: number; JSHeapUsedSize?: number; JSHeapTotalSize?: number; }>; startCoverage(): Promise<void>; stopCoverage(): Promise<{ jsCoverage: import("puppeteer").JSCoverageEntry[]; cssCoverage: import("puppeteer").CoverageEntry[]; }>; inspectElement(selector: string): Promise<{ tagName: string; id: string; className: string; attributes: { name: string; value: string; }[]; boundingBox: { x: number; y: number; width: number; height: number; }; computedStyles: { display: string; position: string; color: string; backgroundColor: string; fontSize: string; fontFamily: string; margin: string; padding: string; border: string; width: string; height: string; zIndex: string; opacity: string; visibility: string; }; innerHTML: string; innerText: string; } | null>; getPageResources(): Promise<{ scripts: { src: string; async: boolean; defer: boolean; type: string; inline: boolean; }[]; stylesheets: { href: string | null; disabled: boolean; media: string; rules: number; }[]; images: { src: string; alt: string; width: number; height: number; loaded: boolean; }[]; links: { href: string; text: string | null; target: string; rel: string; }[]; }>; getAccessibilityTree(): Promise<import("puppeteer").SerializedAXNode | null>; getMemoryInfo(): Promise<any>; private setupCDPListeners; private isAPIRequest; private parsePayload; getAPILogs(filter?: { method?: string; urlPattern?: string; status?: number; since?: Date; }): NetworkLog[]; cleanup(): Promise<void>; } //# sourceMappingURL=devtools.d.ts.map