/** * Logpoint Execution Tracker * Monitors logpoint executions and enforces execution limits */ import type { StoredConsoleMessage } from './console-monitor.js'; export interface LogpointMetadata { breakpointId: string; url: string; lineNumber: number; logMessage: string; maxExecutions: number; executionCount: number; logs: StoredConsoleMessage[]; } export type LimitExceededCallback = (metadata: LogpointMetadata) => void; export declare class LogpointExecutionTracker { private logpoints; private onLimitExceeded; /** * Register a new logpoint for tracking */ registerLogpoint(breakpointId: string, url: string, lineNumber: number, logMessage: string, maxExecutions: number): void; /** * Unregister a logpoint */ unregisterLogpoint(breakpointId: string): void; /** * Reset the execution counter for a logpoint */ resetCounter(breakpointId: string): void; /** * Get metadata for a specific logpoint */ getLogpoint(breakpointId: string): LogpointMetadata | undefined; /** * Get all registered logpoints */ getAllLogpoints(): LogpointMetadata[]; /** * Set the callback to invoke when a logpoint exceeds its limit */ setLimitExceededCallback(callback: LimitExceededCallback): void; /** * Handle a console message - check if it's from a logpoint * This should be called by ConsoleMonitor when a message is added */ handleConsoleMessage(message: StoredConsoleMessage): void; /** * Helper to match URLs (handle file:// vs http:// and normalization) */ private urlsMatch; /** * Clear all tracked logpoints */ clear(): void; } //# sourceMappingURL=logpoint-execution-tracker.d.ts.map