devharness 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +185 -0
- package/build/atomic-write.d.ts +28 -0
- package/build/atomic-write.d.ts.map +1 -0
- package/build/atomic-write.js +126 -0
- package/build/atomic-write.js.map +1 -0
- package/build/cdp-manager.d.ts +524 -0
- package/build/cdp-manager.d.ts.map +1 -0
- package/build/cdp-manager.js +1828 -0
- package/build/cdp-manager.js.map +1 -0
- package/build/cdp-manager.test.d.ts +6 -0
- package/build/cdp-manager.test.d.ts.map +1 -0
- package/build/cdp-manager.test.js +546 -0
- package/build/cdp-manager.test.js.map +1 -0
- package/build/chrome-launcher.d.ts +400 -0
- package/build/chrome-launcher.d.ts.map +1 -0
- package/build/chrome-launcher.js +1071 -0
- package/build/chrome-launcher.js.map +1 -0
- package/build/chrome-launcher.test.d.ts +11 -0
- package/build/chrome-launcher.test.d.ts.map +1 -0
- package/build/chrome-launcher.test.js +204 -0
- package/build/chrome-launcher.test.js.map +1 -0
- package/build/clickable-cache.d.ts +73 -0
- package/build/clickable-cache.d.ts.map +1 -0
- package/build/clickable-cache.js +90 -0
- package/build/clickable-cache.js.map +1 -0
- package/build/command-recorder.d.ts +401 -0
- package/build/command-recorder.d.ts.map +1 -0
- package/build/command-recorder.js +701 -0
- package/build/command-recorder.js.map +1 -0
- package/build/config.d.ts +390 -0
- package/build/config.d.ts.map +1 -0
- package/build/config.js +826 -0
- package/build/config.js.map +1 -0
- package/build/config.test.d.ts +2 -0
- package/build/config.test.d.ts.map +1 -0
- package/build/config.test.js +112 -0
- package/build/config.test.js.map +1 -0
- package/build/connection-manager.d.ts +159 -0
- package/build/connection-manager.d.ts.map +1 -0
- package/build/connection-manager.js +432 -0
- package/build/connection-manager.js.map +1 -0
- package/build/connection-manager.test.d.ts +11 -0
- package/build/connection-manager.test.d.ts.map +1 -0
- package/build/connection-manager.test.js +114 -0
- package/build/connection-manager.test.js.map +1 -0
- package/build/console-monitor.d.ts +150 -0
- package/build/console-monitor.d.ts.map +1 -0
- package/build/console-monitor.js +454 -0
- package/build/console-monitor.js.map +1 -0
- package/build/dashboard/bundle.js +1 -0
- package/build/dashboard/dashboard-client.d.ts +42 -0
- package/build/dashboard/dashboard-client.d.ts.map +1 -0
- package/build/dashboard/dashboard-client.js +184 -0
- package/build/dashboard/dashboard-client.js.map +1 -0
- package/build/dashboard/dashboard-hub.d.ts +50 -0
- package/build/dashboard/dashboard-hub.d.ts.map +1 -0
- package/build/dashboard/dashboard-hub.js +654 -0
- package/build/dashboard/dashboard-hub.js.map +1 -0
- package/build/dashboard/hub-lock.d.ts +16 -0
- package/build/dashboard/hub-lock.d.ts.map +1 -0
- package/build/dashboard/hub-lock.js +77 -0
- package/build/dashboard/hub-lock.js.map +1 -0
- package/build/dashboard/index.d.ts +25 -0
- package/build/dashboard/index.d.ts.map +1 -0
- package/build/dashboard/index.js +77 -0
- package/build/dashboard/index.js.map +1 -0
- package/build/dashboard/types.d.ts +83 -0
- package/build/dashboard/types.d.ts.map +1 -0
- package/build/dashboard/types.js +6 -0
- package/build/dashboard/types.js.map +1 -0
- package/build/debug-logger.d.ts +85 -0
- package/build/debug-logger.d.ts.map +1 -0
- package/build/debug-logger.js +195 -0
- package/build/debug-logger.js.map +1 -0
- package/build/debugger-aware-wrapper.d.ts +37 -0
- package/build/debugger-aware-wrapper.d.ts.map +1 -0
- package/build/debugger-aware-wrapper.js +128 -0
- package/build/debugger-aware-wrapper.js.map +1 -0
- package/build/dom-change-monitor.d.ts +92 -0
- package/build/dom-change-monitor.d.ts.map +1 -0
- package/build/dom-change-monitor.js +437 -0
- package/build/dom-change-monitor.js.map +1 -0
- package/build/element-collector.d.ts +16 -0
- package/build/element-collector.d.ts.map +1 -0
- package/build/element-collector.js +207 -0
- package/build/element-collector.js.map +1 -0
- package/build/error-helpers.d.ts +43 -0
- package/build/error-helpers.d.ts.map +1 -0
- package/build/error-helpers.js +143 -0
- package/build/error-helpers.js.map +1 -0
- package/build/formatters/console-formatter.d.ts +160 -0
- package/build/formatters/console-formatter.d.ts.map +1 -0
- package/build/formatters/console-formatter.js +338 -0
- package/build/formatters/console-formatter.js.map +1 -0
- package/build/helpers/parser-plugins.d.ts +44 -0
- package/build/helpers/parser-plugins.d.ts.map +1 -0
- package/build/helpers/parser-plugins.js +102 -0
- package/build/helpers/parser-plugins.js.map +1 -0
- package/build/helpers/paths.d.ts +79 -0
- package/build/helpers/paths.d.ts.map +1 -0
- package/build/helpers/paths.js +168 -0
- package/build/helpers/paths.js.map +1 -0
- package/build/helpers/process-liveness.d.ts +24 -0
- package/build/helpers/process-liveness.d.ts.map +1 -0
- package/build/helpers/process-liveness.js +36 -0
- package/build/helpers/process-liveness.js.map +1 -0
- package/build/helpers/process-liveness.test.d.ts +2 -0
- package/build/helpers/process-liveness.test.d.ts.map +1 -0
- package/build/helpers/process-liveness.test.js +40 -0
- package/build/helpers/process-liveness.test.js.map +1 -0
- package/build/helpers/sequence-tree.d.ts +27 -0
- package/build/helpers/sequence-tree.d.ts.map +1 -0
- package/build/helpers/sequence-tree.js +80 -0
- package/build/helpers/sequence-tree.js.map +1 -0
- package/build/helpers/sequence-tree.test.d.ts +2 -0
- package/build/helpers/sequence-tree.test.d.ts.map +1 -0
- package/build/helpers/sequence-tree.test.js +122 -0
- package/build/helpers/sequence-tree.test.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +2007 -0
- package/build/index.js.map +1 -0
- package/build/interaction-recorder.d.ts +214 -0
- package/build/interaction-recorder.d.ts.map +1 -0
- package/build/interaction-recorder.js +2007 -0
- package/build/interaction-recorder.js.map +1 -0
- package/build/issue-tracker.d.ts +107 -0
- package/build/issue-tracker.d.ts.map +1 -0
- package/build/issue-tracker.js +582 -0
- package/build/issue-tracker.js.map +1 -0
- package/build/issue-tracker.test.d.ts +2 -0
- package/build/issue-tracker.test.d.ts.map +1 -0
- package/build/issue-tracker.test.js +88 -0
- package/build/issue-tracker.test.js.map +1 -0
- package/build/launch-chrome-port.test.d.ts +14 -0
- package/build/launch-chrome-port.test.d.ts.map +1 -0
- package/build/launch-chrome-port.test.js +97 -0
- package/build/launch-chrome-port.test.js.map +1 -0
- package/build/log-processor/orchestrator.d.ts +32 -0
- package/build/log-processor/orchestrator.d.ts.map +1 -0
- package/build/log-processor/orchestrator.js +27 -0
- package/build/log-processor/orchestrator.js.map +1 -0
- package/build/logpoint-execution-tracker.d.ts +57 -0
- package/build/logpoint-execution-tracker.d.ts.map +1 -0
- package/build/logpoint-execution-tracker.js +112 -0
- package/build/logpoint-execution-tracker.js.map +1 -0
- package/build/mcp-supervisor.d.ts +3 -0
- package/build/mcp-supervisor.d.ts.map +1 -0
- package/build/mcp-supervisor.js +211 -0
- package/build/mcp-supervisor.js.map +1 -0
- package/build/messages.d.ts +165 -0
- package/build/messages.d.ts.map +1 -0
- package/build/messages.js +574 -0
- package/build/messages.js.map +1 -0
- package/build/network-monitor.d.ts +172 -0
- package/build/network-monitor.d.ts.map +1 -0
- package/build/network-monitor.js +350 -0
- package/build/network-monitor.js.map +1 -0
- package/build/overlays.d.ts +49 -0
- package/build/overlays.d.ts.map +1 -0
- package/build/overlays.js +409 -0
- package/build/overlays.js.map +1 -0
- package/build/persistent-profiles.test.d.ts +15 -0
- package/build/persistent-profiles.test.d.ts.map +1 -0
- package/build/persistent-profiles.test.js +470 -0
- package/build/persistent-profiles.test.js.map +1 -0
- package/build/port-reserver.d.ts +32 -0
- package/build/port-reserver.d.ts.map +1 -0
- package/build/port-reserver.js +118 -0
- package/build/port-reserver.js.map +1 -0
- package/build/puppeteer-manager.d.ts +47 -0
- package/build/puppeteer-manager.d.ts.map +1 -0
- package/build/puppeteer-manager.js +116 -0
- package/build/puppeteer-manager.js.map +1 -0
- package/build/recording-coverage.test.d.ts +12 -0
- package/build/recording-coverage.test.d.ts.map +1 -0
- package/build/recording-coverage.test.js +72 -0
- package/build/recording-coverage.test.js.map +1 -0
- package/build/reference-validator.d.ts +47 -0
- package/build/reference-validator.d.ts.map +1 -0
- package/build/reference-validator.js +86 -0
- package/build/reference-validator.js.map +1 -0
- package/build/reference-validator.test.d.ts +5 -0
- package/build/reference-validator.test.d.ts.map +1 -0
- package/build/reference-validator.test.js +243 -0
- package/build/reference-validator.test.js.map +1 -0
- package/build/replay-cursor.d.ts +27 -0
- package/build/replay-cursor.d.ts.map +1 -0
- package/build/replay-cursor.js +240 -0
- package/build/replay-cursor.js.map +1 -0
- package/build/runners/docker-compose-runner.d.ts +69 -0
- package/build/runners/docker-compose-runner.d.ts.map +1 -0
- package/build/runners/docker-compose-runner.js +438 -0
- package/build/runners/docker-compose-runner.js.map +1 -0
- package/build/runners/docker-runner.d.ts +65 -0
- package/build/runners/docker-runner.d.ts.map +1 -0
- package/build/runners/docker-runner.js +414 -0
- package/build/runners/docker-runner.js.map +1 -0
- package/build/runners/index.d.ts +19 -0
- package/build/runners/index.d.ts.map +1 -0
- package/build/runners/index.js +35 -0
- package/build/runners/index.js.map +1 -0
- package/build/runners/native-runner.d.ts +95 -0
- package/build/runners/native-runner.d.ts.map +1 -0
- package/build/runners/native-runner.js +370 -0
- package/build/runners/native-runner.js.map +1 -0
- package/build/runners/types.d.ts +147 -0
- package/build/runners/types.d.ts.map +1 -0
- package/build/runners/types.js +25 -0
- package/build/runners/types.js.map +1 -0
- package/build/self-restart.d.ts +12 -0
- package/build/self-restart.d.ts.map +1 -0
- package/build/self-restart.js +41 -0
- package/build/self-restart.js.map +1 -0
- package/build/self-restart.test.d.ts +2 -0
- package/build/self-restart.test.d.ts.map +1 -0
- package/build/self-restart.test.js +34 -0
- package/build/self-restart.test.js.map +1 -0
- package/build/server-claims.d.ts +161 -0
- package/build/server-claims.d.ts.map +1 -0
- package/build/server-claims.js +382 -0
- package/build/server-claims.js.map +1 -0
- package/build/server-claims.test.d.ts +2 -0
- package/build/server-claims.test.d.ts.map +1 -0
- package/build/server-claims.test.js +197 -0
- package/build/server-claims.test.js.map +1 -0
- package/build/server-manager.d.ts +438 -0
- package/build/server-manager.d.ts.map +1 -0
- package/build/server-manager.js +1674 -0
- package/build/server-manager.js.map +1 -0
- package/build/server-manager.test.d.ts +17 -0
- package/build/server-manager.test.d.ts.map +1 -0
- package/build/server-manager.test.js +122 -0
- package/build/server-manager.test.js.map +1 -0
- package/build/server-ownership.test.d.ts +2 -0
- package/build/server-ownership.test.d.ts.map +1 -0
- package/build/server-ownership.test.js +238 -0
- package/build/server-ownership.test.js.map +1 -0
- package/build/server-watcher.d.ts +21 -0
- package/build/server-watcher.d.ts.map +1 -0
- package/build/server-watcher.js +105 -0
- package/build/server-watcher.js.map +1 -0
- package/build/session-detector.d.ts +47 -0
- package/build/session-detector.d.ts.map +1 -0
- package/build/session-detector.js +229 -0
- package/build/session-detector.js.map +1 -0
- package/build/session-detector.test.d.ts +9 -0
- package/build/session-detector.test.d.ts.map +1 -0
- package/build/session-detector.test.js +45 -0
- package/build/session-detector.test.js.map +1 -0
- package/build/sourcemap-handler.d.ts +114 -0
- package/build/sourcemap-handler.d.ts.map +1 -0
- package/build/sourcemap-handler.js +479 -0
- package/build/sourcemap-handler.js.map +1 -0
- package/build/supervisor/child-manager.d.ts +43 -0
- package/build/supervisor/child-manager.d.ts.map +1 -0
- package/build/supervisor/child-manager.js +148 -0
- package/build/supervisor/child-manager.js.map +1 -0
- package/build/supervisor/child-manager.test.d.ts +2 -0
- package/build/supervisor/child-manager.test.d.ts.map +1 -0
- package/build/supervisor/child-manager.test.js +107 -0
- package/build/supervisor/child-manager.test.js.map +1 -0
- package/build/supervisor/client-watcher.d.ts +48 -0
- package/build/supervisor/client-watcher.d.ts.map +1 -0
- package/build/supervisor/client-watcher.js +186 -0
- package/build/supervisor/client-watcher.js.map +1 -0
- package/build/supervisor/client-watcher.test.d.ts +2 -0
- package/build/supervisor/client-watcher.test.d.ts.map +1 -0
- package/build/supervisor/client-watcher.test.js +121 -0
- package/build/supervisor/client-watcher.test.js.map +1 -0
- package/build/supervisor/idle-config.d.ts +30 -0
- package/build/supervisor/idle-config.d.ts.map +1 -0
- package/build/supervisor/idle-config.js +76 -0
- package/build/supervisor/idle-config.js.map +1 -0
- package/build/supervisor/idle-config.test.d.ts +2 -0
- package/build/supervisor/idle-config.test.d.ts.map +1 -0
- package/build/supervisor/idle-config.test.js +119 -0
- package/build/supervisor/idle-config.test.js.map +1 -0
- package/build/supervisor/ndjson-reader.d.ts +47 -0
- package/build/supervisor/ndjson-reader.d.ts.map +1 -0
- package/build/supervisor/ndjson-reader.js +75 -0
- package/build/supervisor/ndjson-reader.js.map +1 -0
- package/build/supervisor/ndjson-reader.test.d.ts +2 -0
- package/build/supervisor/ndjson-reader.test.d.ts.map +1 -0
- package/build/supervisor/ndjson-reader.test.js +92 -0
- package/build/supervisor/ndjson-reader.test.js.map +1 -0
- package/build/supervisor/pidfile.d.ts +11 -0
- package/build/supervisor/pidfile.d.ts.map +1 -0
- package/build/supervisor/pidfile.js +29 -0
- package/build/supervisor/pidfile.js.map +1 -0
- package/build/supervisor/pidfile.test.d.ts +8 -0
- package/build/supervisor/pidfile.test.d.ts.map +1 -0
- package/build/supervisor/pidfile.test.js +46 -0
- package/build/supervisor/pidfile.test.js.map +1 -0
- package/build/supervisor/restart-coordinator.d.ts +73 -0
- package/build/supervisor/restart-coordinator.d.ts.map +1 -0
- package/build/supervisor/restart-coordinator.js +300 -0
- package/build/supervisor/restart-coordinator.js.map +1 -0
- package/build/supervisor/restart-coordinator.test.d.ts +2 -0
- package/build/supervisor/restart-coordinator.test.d.ts.map +1 -0
- package/build/supervisor/restart-coordinator.test.js +434 -0
- package/build/supervisor/restart-coordinator.test.js.map +1 -0
- package/build/test-support/fake-execute-tool-call.d.ts +11 -0
- package/build/test-support/fake-execute-tool-call.d.ts.map +1 -0
- package/build/test-support/fake-execute-tool-call.js +19 -0
- package/build/test-support/fake-execute-tool-call.js.map +1 -0
- package/build/tool-error.d.ts +14 -0
- package/build/tool-error.d.ts.map +1 -0
- package/build/tool-error.js +18 -0
- package/build/tool-error.js.map +1 -0
- package/build/tool-response.d.ts +293 -0
- package/build/tool-response.d.ts.map +1 -0
- package/build/tool-response.js +365 -0
- package/build/tool-response.js.map +1 -0
- package/build/tools/assert-tools.d.ts +62 -0
- package/build/tools/assert-tools.d.ts.map +1 -0
- package/build/tools/assert-tools.js +330 -0
- package/build/tools/assert-tools.js.map +1 -0
- package/build/tools/breakpoint-await-abort.test.d.ts +2 -0
- package/build/tools/breakpoint-await-abort.test.d.ts.map +1 -0
- package/build/tools/breakpoint-await-abort.test.js +124 -0
- package/build/tools/breakpoint-await-abort.test.js.map +1 -0
- package/build/tools/breakpoint-tools.d.ts +99 -0
- package/build/tools/breakpoint-tools.d.ts.map +1 -0
- package/build/tools/breakpoint-tools.js +1197 -0
- package/build/tools/breakpoint-tools.js.map +1 -0
- package/build/tools/config-tools.d.ts +58 -0
- package/build/tools/config-tools.d.ts.map +1 -0
- package/build/tools/config-tools.js +180 -0
- package/build/tools/config-tools.js.map +1 -0
- package/build/tools/connection-routing.test.d.ts +12 -0
- package/build/tools/connection-routing.test.d.ts.map +1 -0
- package/build/tools/connection-routing.test.js +206 -0
- package/build/tools/connection-routing.test.js.map +1 -0
- package/build/tools/console-tools.d.ts +84 -0
- package/build/tools/console-tools.d.ts.map +1 -0
- package/build/tools/console-tools.js +241 -0
- package/build/tools/console-tools.js.map +1 -0
- package/build/tools/content-tools.d.ts +74 -0
- package/build/tools/content-tools.d.ts.map +1 -0
- package/build/tools/content-tools.js +582 -0
- package/build/tools/content-tools.js.map +1 -0
- package/build/tools/dashboard-tools.d.ts +38 -0
- package/build/tools/dashboard-tools.d.ts.map +1 -0
- package/build/tools/dashboard-tools.js +123 -0
- package/build/tools/dashboard-tools.js.map +1 -0
- package/build/tools/dom-tools.d.ts +41 -0
- package/build/tools/dom-tools.d.ts.map +1 -0
- package/build/tools/dom-tools.js +277 -0
- package/build/tools/dom-tools.js.map +1 -0
- package/build/tools/download-tools.d.ts +55 -0
- package/build/tools/download-tools.d.ts.map +1 -0
- package/build/tools/download-tools.js +280 -0
- package/build/tools/download-tools.js.map +1 -0
- package/build/tools/execution-tools.d.ts +40 -0
- package/build/tools/execution-tools.d.ts.map +1 -0
- package/build/tools/execution-tools.js +121 -0
- package/build/tools/execution-tools.js.map +1 -0
- package/build/tools/input-abort.test.d.ts +2 -0
- package/build/tools/input-abort.test.d.ts.map +1 -0
- package/build/tools/input-abort.test.js +227 -0
- package/build/tools/input-abort.test.js.map +1 -0
- package/build/tools/input-ambiguous-selector.test.d.ts +2 -0
- package/build/tools/input-ambiguous-selector.test.d.ts.map +1 -0
- package/build/tools/input-ambiguous-selector.test.js +34 -0
- package/build/tools/input-ambiguous-selector.test.js.map +1 -0
- package/build/tools/input-tools.d.ts +168 -0
- package/build/tools/input-tools.d.ts.map +1 -0
- package/build/tools/input-tools.js +1397 -0
- package/build/tools/input-tools.js.map +1 -0
- package/build/tools/inspection-tools.d.ts +112 -0
- package/build/tools/inspection-tools.d.ts.map +1 -0
- package/build/tools/inspection-tools.js +637 -0
- package/build/tools/inspection-tools.js.map +1 -0
- package/build/tools/interpolation.d.ts +30 -0
- package/build/tools/interpolation.d.ts.map +1 -0
- package/build/tools/interpolation.js +143 -0
- package/build/tools/interpolation.js.map +1 -0
- package/build/tools/issues-abort-hygiene.test.d.ts +2 -0
- package/build/tools/issues-abort-hygiene.test.d.ts.map +1 -0
- package/build/tools/issues-abort-hygiene.test.js +79 -0
- package/build/tools/issues-abort-hygiene.test.js.map +1 -0
- package/build/tools/issues-tools.d.ts +98 -0
- package/build/tools/issues-tools.d.ts.map +1 -0
- package/build/tools/issues-tools.js +821 -0
- package/build/tools/issues-tools.js.map +1 -0
- package/build/tools/issues-tools.test.d.ts +8 -0
- package/build/tools/issues-tools.test.d.ts.map +1 -0
- package/build/tools/issues-tools.test.js +184 -0
- package/build/tools/issues-tools.test.js.map +1 -0
- package/build/tools/modal-tools.d.ts +73 -0
- package/build/tools/modal-tools.d.ts.map +1 -0
- package/build/tools/modal-tools.js +161 -0
- package/build/tools/modal-tools.js.map +1 -0
- package/build/tools/network-tools.d.ts +72 -0
- package/build/tools/network-tools.d.ts.map +1 -0
- package/build/tools/network-tools.js +432 -0
- package/build/tools/network-tools.js.map +1 -0
- package/build/tools/page-tools.d.ts +78 -0
- package/build/tools/page-tools.d.ts.map +1 -0
- package/build/tools/page-tools.js +255 -0
- package/build/tools/page-tools.js.map +1 -0
- package/build/tools/plugin-tools.d.ts +16 -0
- package/build/tools/plugin-tools.d.ts.map +1 -0
- package/build/tools/plugin-tools.js +17 -0
- package/build/tools/plugin-tools.js.map +1 -0
- package/build/tools/replay-abort.test.d.ts +2 -0
- package/build/tools/replay-abort.test.d.ts.map +1 -0
- package/build/tools/replay-abort.test.js +259 -0
- package/build/tools/replay-abort.test.js.map +1 -0
- package/build/tools/replay-add-conditional.test.d.ts +2 -0
- package/build/tools/replay-add-conditional.test.d.ts.map +1 -0
- package/build/tools/replay-add-conditional.test.js +205 -0
- package/build/tools/replay-add-conditional.test.js.map +1 -0
- package/build/tools/replay-background-run.test.d.ts +2 -0
- package/build/tools/replay-background-run.test.d.ts.map +1 -0
- package/build/tools/replay-background-run.test.js +176 -0
- package/build/tools/replay-background-run.test.js.map +1 -0
- package/build/tools/replay-capture-variables.test.d.ts +2 -0
- package/build/tools/replay-capture-variables.test.d.ts.map +1 -0
- package/build/tools/replay-capture-variables.test.js +331 -0
- package/build/tools/replay-capture-variables.test.js.map +1 -0
- package/build/tools/replay-conditional-idb-and-launch.test.d.ts +11 -0
- package/build/tools/replay-conditional-idb-and-launch.test.d.ts.map +1 -0
- package/build/tools/replay-conditional-idb-and-launch.test.js +429 -0
- package/build/tools/replay-conditional-idb-and-launch.test.js.map +1 -0
- package/build/tools/replay-conditional-timeout.test.d.ts +14 -0
- package/build/tools/replay-conditional-timeout.test.d.ts.map +1 -0
- package/build/tools/replay-conditional-timeout.test.js +126 -0
- package/build/tools/replay-conditional-timeout.test.js.map +1 -0
- package/build/tools/replay-declare.test.d.ts +2 -0
- package/build/tools/replay-declare.test.d.ts.map +1 -0
- package/build/tools/replay-declare.test.js +106 -0
- package/build/tools/replay-declare.test.js.map +1 -0
- package/build/tools/replay-declared-browser-cleanup.test.d.ts +2 -0
- package/build/tools/replay-declared-browser-cleanup.test.d.ts.map +1 -0
- package/build/tools/replay-declared-browser-cleanup.test.js +103 -0
- package/build/tools/replay-declared-browser-cleanup.test.js.map +1 -0
- package/build/tools/replay-declared-profile.test.d.ts +2 -0
- package/build/tools/replay-declared-profile.test.d.ts.map +1 -0
- package/build/tools/replay-declared-profile.test.js +116 -0
- package/build/tools/replay-declared-profile.test.js.map +1 -0
- package/build/tools/replay-executor.d.ts +556 -0
- package/build/tools/replay-executor.d.ts.map +1 -0
- package/build/tools/replay-executor.js +2347 -0
- package/build/tools/replay-executor.js.map +1 -0
- package/build/tools/replay-folder-save.test.d.ts +2 -0
- package/build/tools/replay-folder-save.test.d.ts.map +1 -0
- package/build/tools/replay-folder-save.test.js +63 -0
- package/build/tools/replay-folder-save.test.js.map +1 -0
- package/build/tools/replay-formatters.d.ts +148 -0
- package/build/tools/replay-formatters.d.ts.map +1 -0
- package/build/tools/replay-formatters.js +856 -0
- package/build/tools/replay-formatters.js.map +1 -0
- package/build/tools/replay-kill-chrome-on-finish.test.d.ts +2 -0
- package/build/tools/replay-kill-chrome-on-finish.test.d.ts.map +1 -0
- package/build/tools/replay-kill-chrome-on-finish.test.js +175 -0
- package/build/tools/replay-kill-chrome-on-finish.test.js.map +1 -0
- package/build/tools/replay-multi-connection.test.d.ts +2 -0
- package/build/tools/replay-multi-connection.test.d.ts.map +1 -0
- package/build/tools/replay-multi-connection.test.js +547 -0
- package/build/tools/replay-multi-connection.test.js.map +1 -0
- package/build/tools/replay-output-and-record-options.test.d.ts +2 -0
- package/build/tools/replay-output-and-record-options.test.d.ts.map +1 -0
- package/build/tools/replay-output-and-record-options.test.js +240 -0
- package/build/tools/replay-output-and-record-options.test.js.map +1 -0
- package/build/tools/replay-production-error-shape.test.d.ts +7 -0
- package/build/tools/replay-production-error-shape.test.d.ts.map +1 -0
- package/build/tools/replay-production-error-shape.test.js +93 -0
- package/build/tools/replay-production-error-shape.test.js.map +1 -0
- package/build/tools/replay-rebase.test.d.ts +2 -0
- package/build/tools/replay-rebase.test.d.ts.map +1 -0
- package/build/tools/replay-rebase.test.js +58 -0
- package/build/tools/replay-rebase.test.js.map +1 -0
- package/build/tools/replay-retry-classification.test.d.ts +9 -0
- package/build/tools/replay-retry-classification.test.d.ts.map +1 -0
- package/build/tools/replay-retry-classification.test.js +57 -0
- package/build/tools/replay-retry-classification.test.js.map +1 -0
- package/build/tools/replay-run-registry.d.ts +55 -0
- package/build/tools/replay-run-registry.d.ts.map +1 -0
- package/build/tools/replay-run-registry.js +65 -0
- package/build/tools/replay-run-registry.js.map +1 -0
- package/build/tools/replay-sequence-reload.test.d.ts +2 -0
- package/build/tools/replay-sequence-reload.test.d.ts.map +1 -0
- package/build/tools/replay-sequence-reload.test.js +82 -0
- package/build/tools/replay-sequence-reload.test.js.map +1 -0
- package/build/tools/replay-socket-scope.test.d.ts +2 -0
- package/build/tools/replay-socket-scope.test.d.ts.map +1 -0
- package/build/tools/replay-socket-scope.test.js +75 -0
- package/build/tools/replay-socket-scope.test.js.map +1 -0
- package/build/tools/replay-step-connection.test.d.ts +2 -0
- package/build/tools/replay-step-connection.test.d.ts.map +1 -0
- package/build/tools/replay-step-connection.test.js +292 -0
- package/build/tools/replay-step-connection.test.js.map +1 -0
- package/build/tools/replay-step-timeout.test.d.ts +2 -0
- package/build/tools/replay-step-timeout.test.d.ts.map +1 -0
- package/build/tools/replay-step-timeout.test.js +204 -0
- package/build/tools/replay-step-timeout.test.js.map +1 -0
- package/build/tools/replay-tags.test.d.ts +2 -0
- package/build/tools/replay-tags.test.d.ts.map +1 -0
- package/build/tools/replay-tags.test.js +99 -0
- package/build/tools/replay-tags.test.js.map +1 -0
- package/build/tools/replay-teardown-and-foreach.test.d.ts +13 -0
- package/build/tools/replay-teardown-and-foreach.test.d.ts.map +1 -0
- package/build/tools/replay-teardown-and-foreach.test.js +318 -0
- package/build/tools/replay-teardown-and-foreach.test.js.map +1 -0
- package/build/tools/replay-tool-name-validation.test.d.ts +2 -0
- package/build/tools/replay-tool-name-validation.test.d.ts.map +1 -0
- package/build/tools/replay-tool-name-validation.test.js +280 -0
- package/build/tools/replay-tool-name-validation.test.js.map +1 -0
- package/build/tools/replay-tools.d.ts +288 -0
- package/build/tools/replay-tools.d.ts.map +1 -0
- package/build/tools/replay-tools.js +2994 -0
- package/build/tools/replay-tools.js.map +1 -0
- package/build/tools/request-abort.test.d.ts +2 -0
- package/build/tools/request-abort.test.d.ts.map +1 -0
- package/build/tools/request-abort.test.js +130 -0
- package/build/tools/request-abort.test.js.map +1 -0
- package/build/tools/request-tools.d.ts +56 -0
- package/build/tools/request-tools.d.ts.map +1 -0
- package/build/tools/request-tools.js +174 -0
- package/build/tools/request-tools.js.map +1 -0
- package/build/tools/screenshot-tools.d.ts +135 -0
- package/build/tools/screenshot-tools.d.ts.map +1 -0
- package/build/tools/screenshot-tools.js +636 -0
- package/build/tools/screenshot-tools.js.map +1 -0
- package/build/tools/server-tools.d.ts +88 -0
- package/build/tools/server-tools.d.ts.map +1 -0
- package/build/tools/server-tools.js +485 -0
- package/build/tools/server-tools.js.map +1 -0
- package/build/tools/source-tools.d.ts +46 -0
- package/build/tools/source-tools.d.ts.map +1 -0
- package/build/tools/source-tools.js +47 -0
- package/build/tools/source-tools.js.map +1 -0
- package/build/tools/storage-tools.d.ts +141 -0
- package/build/tools/storage-tools.d.ts.map +1 -0
- package/build/tools/storage-tools.js +894 -0
- package/build/tools/storage-tools.js.map +1 -0
- package/build/tools/storage-tools.test.d.ts +13 -0
- package/build/tools/storage-tools.test.d.ts.map +1 -0
- package/build/tools/storage-tools.test.js +707 -0
- package/build/tools/storage-tools.test.js.map +1 -0
- package/build/tools/tab-tools.d.ts +42 -0
- package/build/tools/tab-tools.d.ts.map +1 -0
- package/build/tools/tab-tools.js +296 -0
- package/build/tools/tab-tools.js.map +1 -0
- package/build/tools/wait-tools.d.ts +85 -0
- package/build/tools/wait-tools.d.ts.map +1 -0
- package/build/tools/wait-tools.js +236 -0
- package/build/tools/wait-tools.js.map +1 -0
- package/build/tools/wait-tools.test.d.ts +9 -0
- package/build/tools/wait-tools.test.d.ts.map +1 -0
- package/build/tools/wait-tools.test.js +193 -0
- package/build/tools/wait-tools.test.js.map +1 -0
- package/build/types.d.ts +133 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +5 -0
- package/build/types.js.map +1 -0
- package/build/ui-verifier.d.ts +88 -0
- package/build/ui-verifier.d.ts.map +1 -0
- package/build/ui-verifier.js +540 -0
- package/build/ui-verifier.js.map +1 -0
- package/build/utils/abort.d.ts +68 -0
- package/build/utils/abort.d.ts.map +1 -0
- package/build/utils/abort.js +159 -0
- package/build/utils/abort.js.map +1 -0
- package/build/utils/abort.test.d.ts +2 -0
- package/build/utils/abort.test.d.ts.map +1 -0
- package/build/utils/abort.test.js +174 -0
- package/build/utils/abort.test.js.map +1 -0
- package/build/utils/modal-detection-core.d.ts +150 -0
- package/build/utils/modal-detection-core.d.ts.map +1 -0
- package/build/utils/modal-detection-core.js +332 -0
- package/build/utils/modal-detection-core.js.map +1 -0
- package/build/utils/modal-detection-core.test.d.ts +5 -0
- package/build/utils/modal-detection-core.test.d.ts.map +1 -0
- package/build/utils/modal-detection-core.test.js +492 -0
- package/build/utils/modal-detection-core.test.js.map +1 -0
- package/build/utils/modal-detector.d.ts +29 -0
- package/build/utils/modal-detector.d.ts.map +1 -0
- package/build/utils/modal-detector.js +281 -0
- package/build/utils/modal-detector.js.map +1 -0
- package/build/utils/modal-dismissal.d.ts +32 -0
- package/build/utils/modal-dismissal.d.ts.map +1 -0
- package/build/utils/modal-dismissal.js +190 -0
- package/build/utils/modal-dismissal.js.map +1 -0
- package/build/utils/port-check.d.ts +31 -0
- package/build/utils/port-check.d.ts.map +1 -0
- package/build/utils/port-check.js +87 -0
- package/build/utils/port-check.js.map +1 -0
- package/build/utils/port-check.test.d.ts +2 -0
- package/build/utils/port-check.test.d.ts.map +1 -0
- package/build/utils/port-check.test.js +66 -0
- package/build/utils/port-check.test.js.map +1 -0
- package/build/utils/selector-resolver.d.ts +66 -0
- package/build/utils/selector-resolver.d.ts.map +1 -0
- package/build/utils/selector-resolver.js +200 -0
- package/build/utils/selector-resolver.js.map +1 -0
- package/build/validation-helpers.d.ts +41 -0
- package/build/validation-helpers.d.ts.map +1 -0
- package/build/validation-helpers.js +236 -0
- package/build/validation-helpers.js.map +1 -0
- package/build/window-sizing.d.ts +26 -0
- package/build/window-sizing.d.ts.map +1 -0
- package/build/window-sizing.js +87 -0
- package/build/window-sizing.js.map +1 -0
- package/build/window-sizing.test.d.ts +8 -0
- package/build/window-sizing.test.d.ts.map +1 -0
- package/build/window-sizing.test.js +113 -0
- package/build/window-sizing.test.js.map +1 -0
- package/docs/README.md +74 -0
- package/docs/automation.md +562 -0
- package/docs/debugging.md +229 -0
- package/docs/installation.md +133 -0
- package/docs/instructions.md +227 -0
- package/docs/mcp-instructions.md +15 -0
- package/docs/message-system.md +327 -0
- package/docs/messages.md +3480 -0
- package/docs/parser-plugins.md +132 -0
- package/docs/replay.md +1411 -0
- package/docs/troubleshooting.md +272 -0
- package/docs/working_with_llm_notes.md +5 -0
- package/package.json +87 -0
- package/skills/devharness/SKILL.md +195 -0
- package/skills/devharness/references/sequences.md +613 -0
- package/skills/devharness/references/tool-categories.md +99 -0
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP Connection Manager
|
|
3
|
+
* Handles connection to Chrome DevTools Protocol (Chrome or Node.js)
|
|
4
|
+
*/
|
|
5
|
+
import type { BreakpointInfo, CallFrame, RuntimeType, ConsoleMessageCallback, DOMBreakpointInfo, DOMBreakpointType, EventListenerBreakpointInfo, XHRBreakpointInfo } from './types.js';
|
|
6
|
+
import type { SourceMapHandler } from './sourcemap-handler.js';
|
|
7
|
+
/**
|
|
8
|
+
* Thrown by evaluateExpression() when the evaluated code itself threw
|
|
9
|
+
* (CDP reports this via `exceptionDetails` on an otherwise-successful
|
|
10
|
+
* Runtime.evaluate/Debugger.evaluateOnCallFrame response, NOT as a rejected
|
|
11
|
+
* promise) - e.g. `Math.max(...bigArray)` throwing a stack-exhaustion
|
|
12
|
+
* RangeError. This is an ordinary outcome of evaluating arbitrary user code
|
|
13
|
+
* and must be surfaced as a normal tool error rather than silently ignored.
|
|
14
|
+
*/
|
|
15
|
+
export declare class EvaluateExpressionExceptionError extends Error {
|
|
16
|
+
readonly expression: string;
|
|
17
|
+
readonly exceptionType: string;
|
|
18
|
+
readonly exceptionMessage: string;
|
|
19
|
+
readonly exceptionStack?: string | undefined;
|
|
20
|
+
constructor(expression: string, exceptionType: string, exceptionMessage: string, exceptionStack?: string | undefined);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Thrown by evaluateExpression() when the underlying CDP call does not
|
|
24
|
+
* return within the bounded client-side timeout. This is the backstop for
|
|
25
|
+
* cases where the renderer/execution context stops responding entirely (no
|
|
26
|
+
* result, no exception, no CDP-level timeout) - see the RangeError
|
|
27
|
+
* stack-exhaustion hang this was written to fix.
|
|
28
|
+
*/
|
|
29
|
+
export declare class EvaluateExpressionTimeoutError extends Error {
|
|
30
|
+
readonly expression: string;
|
|
31
|
+
readonly timeoutMs: number;
|
|
32
|
+
constructor(expression: string, timeoutMs: number);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Thrown by evaluateExpression() when the expression returned a Promise that
|
|
36
|
+
* is still pending while the debugger is paused. The paused event loop can
|
|
37
|
+
* never run the microtask queue, so the promise can never settle - awaiting
|
|
38
|
+
* it would only burn the full client-side timeout. Failing fast with an
|
|
39
|
+
* explanation is strictly better. (Promises that already settled - e.g.
|
|
40
|
+
* `Promise.resolve(x)` or an async IIFE with no real await - ARE recovered
|
|
41
|
+
* via their [[PromiseState]]/[[PromiseResult]] internal properties and never
|
|
42
|
+
* reach this error.)
|
|
43
|
+
*/
|
|
44
|
+
export declare class EvaluateExpressionPendingPromiseError extends Error {
|
|
45
|
+
readonly expression: string;
|
|
46
|
+
constructor(expression: string);
|
|
47
|
+
}
|
|
48
|
+
/** Options accepted by evaluateExpression()/evaluateExpressionDetailed(). */
|
|
49
|
+
export interface EvaluateExpressionOptions {
|
|
50
|
+
/**
|
|
51
|
+
* Await a returned Promise and use its settled value (default: true).
|
|
52
|
+
* Pass false to inspect the Promise object itself.
|
|
53
|
+
*/
|
|
54
|
+
awaitPromise?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Also attempt an exact, machine-readable capture of the result (via CDP
|
|
57
|
+
* returnByValue on the result object - no re-execution, no display
|
|
58
|
+
* round-trip). Only meaningful through evaluateExpressionDetailed().
|
|
59
|
+
*/
|
|
60
|
+
captureRaw?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/** Result of evaluateExpressionDetailed(). */
|
|
63
|
+
export interface EvaluateExpressionDetailedResult {
|
|
64
|
+
/** Human-facing formatted value (same shape evaluateExpression() returns). */
|
|
65
|
+
formatted: any;
|
|
66
|
+
/** Exact value, only meaningful when rawCaptured is true. */
|
|
67
|
+
rawValue?: unknown;
|
|
68
|
+
/**
|
|
69
|
+
* True when rawValue is an exact by-value capture of the result. False when
|
|
70
|
+
* the value is not serializable by value (DOM node, Map, Date, window, ...)
|
|
71
|
+
* - callers should fall back to reconstructing from `formatted`.
|
|
72
|
+
*/
|
|
73
|
+
rawCaptured: boolean;
|
|
74
|
+
}
|
|
75
|
+
export declare class CDPManager {
|
|
76
|
+
private client;
|
|
77
|
+
private state;
|
|
78
|
+
private scriptIdToUrl;
|
|
79
|
+
private urlToScriptId;
|
|
80
|
+
private pauseResolvers;
|
|
81
|
+
private scriptWaitResolvers;
|
|
82
|
+
private sourceMapHandler;
|
|
83
|
+
private logpointLimitExceeded;
|
|
84
|
+
private consoleMessageCallback;
|
|
85
|
+
private pauseCallback;
|
|
86
|
+
private resumeCallback;
|
|
87
|
+
private domBreakpoints;
|
|
88
|
+
private eventBreakpoints;
|
|
89
|
+
private xhrBreakpoints;
|
|
90
|
+
private advancedBpCounter;
|
|
91
|
+
constructor(sourceMapHandler?: SourceMapHandler);
|
|
92
|
+
/**
|
|
93
|
+
* Set a callback to receive console messages from Runtime.consoleAPICalled
|
|
94
|
+
* This is used for Node.js debugging where Puppeteer's page.on('console') isn't available
|
|
95
|
+
*/
|
|
96
|
+
setConsoleMessageCallback(callback: ConsoleMessageCallback | null): void;
|
|
97
|
+
/**
|
|
98
|
+
* Set a callback to be called when debugger pauses at a breakpoint
|
|
99
|
+
*/
|
|
100
|
+
setPauseCallback(callback: (() => void) | null): void;
|
|
101
|
+
/**
|
|
102
|
+
* Set a callback to be called when debugger resumes from a breakpoint
|
|
103
|
+
*/
|
|
104
|
+
setResumeCallback(callback: (() => void) | null): void;
|
|
105
|
+
/**
|
|
106
|
+
* Find script IDs by URL, with fallback matching strategies:
|
|
107
|
+
* 1. Exact match
|
|
108
|
+
* 2. Base URL match (strips query params)
|
|
109
|
+
* 3. Filename/path suffix match (e.g., "click.js" matches "/controls/click.js")
|
|
110
|
+
*
|
|
111
|
+
* This allows breakpoints to work with partial URLs and across page reloads
|
|
112
|
+
* Returns the most recently loaded script (highest scriptId) when multiple matches exist
|
|
113
|
+
*/
|
|
114
|
+
private findScriptIds;
|
|
115
|
+
/**
|
|
116
|
+
* Check if a script with the given URL (or matching suffix) is loaded
|
|
117
|
+
* This is useful to detect Vite-style serving where .ts files are loaded directly
|
|
118
|
+
*/
|
|
119
|
+
isScriptLoaded(url: string): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Get the URL for a script by its ID
|
|
122
|
+
*/
|
|
123
|
+
getScriptUrl(scriptId: string): string | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Connect to a Chrome or Node.js debugger instance
|
|
126
|
+
* @param host - The debugger host (default: localhost)
|
|
127
|
+
* @param port - The debugger port (default: 9222)
|
|
128
|
+
* @param targetId - Optional target ID to connect to a specific page/tab
|
|
129
|
+
*/
|
|
130
|
+
connect(host?: string, port?: number, targetId?: string): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Disconnect from the debugger
|
|
133
|
+
*/
|
|
134
|
+
disconnect(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Check if connected
|
|
137
|
+
*/
|
|
138
|
+
isConnected(): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Check if currently paused at a breakpoint
|
|
141
|
+
*/
|
|
142
|
+
isPaused(): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Get the runtime type (chrome, node, or unknown)
|
|
145
|
+
*/
|
|
146
|
+
getRuntimeType(): RuntimeType;
|
|
147
|
+
/**
|
|
148
|
+
* Detect whether we're connected to Chrome/browser or Node.js
|
|
149
|
+
* This detection happens by checking for browser-specific global objects
|
|
150
|
+
*/
|
|
151
|
+
private detectRuntimeType;
|
|
152
|
+
/**
|
|
153
|
+
* Set a breakpoint at a specific file and line
|
|
154
|
+
*/
|
|
155
|
+
setBreakpoint(url: string, lineNumber: number, columnNumber?: number, condition?: string): Promise<BreakpointInfo>;
|
|
156
|
+
/**
|
|
157
|
+
* Remove a breakpoint
|
|
158
|
+
*/
|
|
159
|
+
removeBreakpoint(breakpointId: string): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Get all active breakpoints
|
|
162
|
+
*/
|
|
163
|
+
getBreakpoints(): BreakpointInfo[];
|
|
164
|
+
/**
|
|
165
|
+
* Get breakpoint counts (total, regular, logpoints)
|
|
166
|
+
*/
|
|
167
|
+
getBreakpointCounts(): {
|
|
168
|
+
total: number;
|
|
169
|
+
breakpoints: number;
|
|
170
|
+
logpoints: number;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Wait for a script matching the given URL pattern to load
|
|
174
|
+
* @param urlPattern - String (substring match) or RegExp to match against script URLs
|
|
175
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 10000)
|
|
176
|
+
* @returns The URL of the matched script
|
|
177
|
+
* @throws Error if timeout expires before script loads
|
|
178
|
+
*/
|
|
179
|
+
waitForScript(urlPattern: string | RegExp, timeout?: number): Promise<string>;
|
|
180
|
+
/**
|
|
181
|
+
* Get list of all loaded scripts
|
|
182
|
+
* @returns Array of script URLs
|
|
183
|
+
*/
|
|
184
|
+
getLoadedScripts(): string[];
|
|
185
|
+
/**
|
|
186
|
+
* Check if a script matching the pattern is loaded
|
|
187
|
+
* @param urlPattern - String (substring match) or RegExp
|
|
188
|
+
* @returns The matched URL or null
|
|
189
|
+
*/
|
|
190
|
+
findLoadedScript(urlPattern: string | RegExp): string | null;
|
|
191
|
+
/**
|
|
192
|
+
* Synchronize breakpoint state with CDP's actual breakpoints
|
|
193
|
+
* Use this to recover from state desynchronization
|
|
194
|
+
*/
|
|
195
|
+
syncBreakpoints(): Promise<{
|
|
196
|
+
synced: number;
|
|
197
|
+
removed: number;
|
|
198
|
+
}>;
|
|
199
|
+
/**
|
|
200
|
+
* Diagnose why a breakpoint failed to set (empty locations array)
|
|
201
|
+
* Performs lazy validation to determine exact cause
|
|
202
|
+
*/
|
|
203
|
+
diagnoseBreakpointFailure(url: string, lineNumber: number): Promise<{
|
|
204
|
+
cause: 'script_not_found' | 'line_out_of_bounds' | 'line_not_executable';
|
|
205
|
+
message: string;
|
|
206
|
+
scriptUrl: string;
|
|
207
|
+
requestedLine: number;
|
|
208
|
+
totalLines?: number;
|
|
209
|
+
suggestion: string;
|
|
210
|
+
}>;
|
|
211
|
+
/**
|
|
212
|
+
* Resume execution
|
|
213
|
+
*/
|
|
214
|
+
resume(): Promise<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Pause execution
|
|
217
|
+
*/
|
|
218
|
+
pause(): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Handle logpoint execution limit exceeded
|
|
221
|
+
* This should be called by the LogpointExecutionTracker when a logpoint hits its limit
|
|
222
|
+
*/
|
|
223
|
+
handleLogpointLimitExceeded(metadata: {
|
|
224
|
+
breakpointId: string;
|
|
225
|
+
url: string;
|
|
226
|
+
lineNumber: number;
|
|
227
|
+
logMessage: string;
|
|
228
|
+
executionCount: number;
|
|
229
|
+
maxExecutions: number;
|
|
230
|
+
logs: any[];
|
|
231
|
+
}): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Get information about the logpoint that exceeded its limit (if any)
|
|
234
|
+
*/
|
|
235
|
+
getLogpointLimitExceeded(): typeof this.logpointLimitExceeded;
|
|
236
|
+
/**
|
|
237
|
+
* Clear the logpoint limit exceeded state
|
|
238
|
+
*/
|
|
239
|
+
clearLogpointLimitExceeded(): void;
|
|
240
|
+
/**
|
|
241
|
+
* Step over (next line)
|
|
242
|
+
*/
|
|
243
|
+
stepOver(): Promise<void>;
|
|
244
|
+
/**
|
|
245
|
+
* Step into function
|
|
246
|
+
*/
|
|
247
|
+
stepInto(): Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Step out of function
|
|
250
|
+
*/
|
|
251
|
+
stepOut(): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Get current call stack
|
|
254
|
+
*/
|
|
255
|
+
getCallStack(): CallFrame[] | undefined;
|
|
256
|
+
/**
|
|
257
|
+
* Get variables for a specific call frame
|
|
258
|
+
*/
|
|
259
|
+
/**
|
|
260
|
+
* Estimate token count for a value (rough approximation: ~4 chars per token)
|
|
261
|
+
*/
|
|
262
|
+
private estimateTokens;
|
|
263
|
+
/**
|
|
264
|
+
* Calculate effective token budget accounting for response overhead.
|
|
265
|
+
* The final MCP response includes:
|
|
266
|
+
* - Message template text (~100 tokens)
|
|
267
|
+
* - JSON code block markers and wrapper (~50 tokens)
|
|
268
|
+
* - JSON.stringify indentation adds ~30% to data size
|
|
269
|
+
*/
|
|
270
|
+
private calculateEffectiveBudget;
|
|
271
|
+
getVariables(callFrameId: string, includeGlobal?: boolean, filter?: string, expandObjects?: boolean, maxDepth?: number, maxTokens?: number): Promise<{
|
|
272
|
+
data: any;
|
|
273
|
+
totalCount: number;
|
|
274
|
+
usedDepth: number;
|
|
275
|
+
requestedDepth: number;
|
|
276
|
+
responseType: 'full' | 'depth_reduced' | 'names_only' | 'counts_only';
|
|
277
|
+
filterInsufficient: boolean;
|
|
278
|
+
}>;
|
|
279
|
+
/**
|
|
280
|
+
* Bounded upper limit on how long evaluateExpression() will wait for CDP to
|
|
281
|
+
* respond, in milliseconds. Exported as an instance property (rather than a
|
|
282
|
+
* module constant) so tests can override it on a per-manager basis without
|
|
283
|
+
* needing real wall-clock waits. Kept comfortably below the 180s default
|
|
284
|
+
* Puppeteer protocolTimeout that would otherwise leak through as a raw,
|
|
285
|
+
* untyped "Runtime.callFunctionOn timed out" error on this path.
|
|
286
|
+
*/
|
|
287
|
+
evaluateExpressionTimeoutMs: number;
|
|
288
|
+
/**
|
|
289
|
+
* Evaluate an expression in the current context.
|
|
290
|
+
*
|
|
291
|
+
* Two distinct failure modes are handled explicitly (this method used to
|
|
292
|
+
* handle neither, which is how a stack-exhaustion RangeError thrown by
|
|
293
|
+
* evaluated code could hang a caller forever with no result, no error, and
|
|
294
|
+
* no timeout):
|
|
295
|
+
*
|
|
296
|
+
* 1. The evaluated code throws. CDP reports this via `exceptionDetails` on
|
|
297
|
+
* an otherwise-successful response - it is NOT a rejected promise - so
|
|
298
|
+
* it must be checked explicitly and surfaced as
|
|
299
|
+
* EvaluateExpressionExceptionError instead of being formatted as if it
|
|
300
|
+
* were a normal return value.
|
|
301
|
+
* 2. The CDP call itself never resolves (a wedged renderer/execution
|
|
302
|
+
* context). A bounded client-side timeout (racing the CDP call against
|
|
303
|
+
* a timer) guarantees this method always settles, throwing
|
|
304
|
+
* EvaluateExpressionTimeoutError instead of hanging indefinitely. We
|
|
305
|
+
* also pass CDP's own `timeout` param so well-behaved renderers abort
|
|
306
|
+
* the runaway script themselves and return exceptionDetails cleanly
|
|
307
|
+
* (case 1) rather than relying solely on our client-side timer.
|
|
308
|
+
*/
|
|
309
|
+
evaluateExpression(expression: string, callFrameId?: string, expandObjects?: boolean, maxDepth?: number, options?: EvaluateExpressionOptions): Promise<any>;
|
|
310
|
+
/**
|
|
311
|
+
* Like evaluateExpression(), but also attempts an exact by-value capture of
|
|
312
|
+
* the result when options.captureRaw is set (used for `saveAs` and the
|
|
313
|
+
* structured `_meta.inspect.value`, so captured data does not round-trip
|
|
314
|
+
* through display formatting).
|
|
315
|
+
*
|
|
316
|
+
* Promise handling (bug-015), all empirically verified against Chrome 150:
|
|
317
|
+
* - Running page, no callFrameId: `awaitPromise: true` is passed to
|
|
318
|
+
* Runtime.evaluate, so async results resolve to their settled value and
|
|
319
|
+
* rejections surface as exceptionDetails (-> ExceptionError). A promise
|
|
320
|
+
* that never settles is bounded by the client-side timeout.
|
|
321
|
+
* - Paused (callFrameId given, OR a global evaluation while the debugger is
|
|
322
|
+
* paused - Runtime.evaluate with awaitPromise HANGS in that state, and
|
|
323
|
+
* Debugger.evaluateOnCallFrame silently ignores awaitPromise): we never
|
|
324
|
+
* pass awaitPromise. Instead, a Promise result is resolved through its
|
|
325
|
+
* [[PromiseState]]/[[PromiseResult]] internal properties, which works
|
|
326
|
+
* without running the event loop: already-settled promises yield their
|
|
327
|
+
* exact value (or ExceptionError if rejected); a pending promise fails
|
|
328
|
+
* fast with EvaluateExpressionPendingPromiseError instead of burning the
|
|
329
|
+
* timeout, because it can never settle while the event loop is stopped.
|
|
330
|
+
*/
|
|
331
|
+
evaluateExpressionDetailed(expression: string, callFrameId?: string, expandObjects?: boolean, maxDepth?: number, options?: EvaluateExpressionOptions): Promise<EvaluateExpressionDetailedResult>;
|
|
332
|
+
/** Map CDP exceptionDetails to a typed error (thrown code or awaited promise rejection). */
|
|
333
|
+
private toEvaluateExpressionExceptionError;
|
|
334
|
+
/**
|
|
335
|
+
* Resolve a Promise RemoteObject without running the event loop, via its
|
|
336
|
+
* [[PromiseState]]/[[PromiseResult]] internal properties (readable even
|
|
337
|
+
* while the debugger is paused). Returns the settled value's RemoteObject;
|
|
338
|
+
* throws for rejected/pending promises.
|
|
339
|
+
*/
|
|
340
|
+
private resolveSettledPromiseWhilePaused;
|
|
341
|
+
/**
|
|
342
|
+
* Attempt an exact by-value capture of an evaluation result, WITHOUT
|
|
343
|
+
* re-executing the expression: primitives come straight off the
|
|
344
|
+
* RemoteObject; plain objects/arrays are serialized in place via
|
|
345
|
+
* Runtime.callFunctionOn(returnByValue). Values whose by-value form is
|
|
346
|
+
* lossy or impossible (DOM nodes, Date, Map/Set, functions, window - CDP
|
|
347
|
+
* serializes these to {} or errors) report rawCaptured: false so callers
|
|
348
|
+
* can fall back to the display-derived reconstruction.
|
|
349
|
+
*/
|
|
350
|
+
private captureRawValue;
|
|
351
|
+
/**
|
|
352
|
+
* Get available variables at a specific source location
|
|
353
|
+
* Useful for validating logpoint expressions
|
|
354
|
+
*/
|
|
355
|
+
getScopeVariablesAtLocation(url: string, lineNumber: number): Promise<{
|
|
356
|
+
variables: string[];
|
|
357
|
+
scopes: Array<{
|
|
358
|
+
type: string;
|
|
359
|
+
variables: string[];
|
|
360
|
+
}>;
|
|
361
|
+
} | null>;
|
|
362
|
+
/**
|
|
363
|
+
* Validate logpoint expressions at a specific location
|
|
364
|
+
* Sets temp breakpoint, waits for execution, tests expressions
|
|
365
|
+
*
|
|
366
|
+
* @param url File URL (e.g., http://localhost:3000/app.js)
|
|
367
|
+
* @param lineNumber Line number (1-based, will be converted to 0-based for CDP)
|
|
368
|
+
* @param columnNumber Optional column number (1-based, will be converted to 0-based for CDP)
|
|
369
|
+
* @param expressions Array of expressions to validate (e.g., ["user.name", "user.id"])
|
|
370
|
+
* @param timeout Max wait time for execution in milliseconds
|
|
371
|
+
* @returns Validation results with pass/fail for each expression, plus available variables
|
|
372
|
+
*/
|
|
373
|
+
validateLogpointAtActualLocation(url: string, lineNumber: number, columnNumber: number | undefined, expressions: string[], timeout?: number): Promise<{
|
|
374
|
+
executed: boolean;
|
|
375
|
+
allValid: boolean;
|
|
376
|
+
results: Array<{
|
|
377
|
+
expression: string;
|
|
378
|
+
valid: boolean;
|
|
379
|
+
value?: any;
|
|
380
|
+
error?: string;
|
|
381
|
+
}>;
|
|
382
|
+
availableVariables?: string[];
|
|
383
|
+
actualLocation?: {
|
|
384
|
+
line: number;
|
|
385
|
+
column: number;
|
|
386
|
+
};
|
|
387
|
+
}>;
|
|
388
|
+
/**
|
|
389
|
+
* Search for the best location to set a logpoint by trying nearby lines/columns
|
|
390
|
+
* Returns suggestions ranked by how many expressions are valid
|
|
391
|
+
*
|
|
392
|
+
* @param url File URL
|
|
393
|
+
* @param lineNumber Desired line number (1-based)
|
|
394
|
+
* @param columnNumber Desired column number (1-based, optional)
|
|
395
|
+
* @param expressions Array of expressions to validate
|
|
396
|
+
* @param searchRadius Number of lines to search in each direction (default: 2)
|
|
397
|
+
* @param timeout Timeout per location test in milliseconds (default: 1000ms)
|
|
398
|
+
* @returns Array of suggestions sorted by score (best first), max 3 results
|
|
399
|
+
*/
|
|
400
|
+
findBestLogpointLocation(url: string, lineNumber: number, columnNumber: number | undefined, expressions: string[], searchRadius?: number, timeout?: number): Promise<Array<{
|
|
401
|
+
line: number;
|
|
402
|
+
column: number | undefined;
|
|
403
|
+
score: number;
|
|
404
|
+
validExpressions: string[];
|
|
405
|
+
invalidExpressions: string[];
|
|
406
|
+
availableVariables: string[];
|
|
407
|
+
reason: string;
|
|
408
|
+
}>>;
|
|
409
|
+
/**
|
|
410
|
+
* Get source code from a file at a specific line range
|
|
411
|
+
*/
|
|
412
|
+
getSourceCode(url: string, startLine?: number, endLine?: number): Promise<{
|
|
413
|
+
code: string;
|
|
414
|
+
totalLines: number;
|
|
415
|
+
hasSourceMap: boolean;
|
|
416
|
+
}>;
|
|
417
|
+
/**
|
|
418
|
+
* Inject a clickable console link in the browser
|
|
419
|
+
*/
|
|
420
|
+
injectConsoleLink(url: string, lineNumber: number, message: string): Promise<void>;
|
|
421
|
+
/**
|
|
422
|
+
* Get detailed information about current pause state
|
|
423
|
+
*/
|
|
424
|
+
getPausedInfo(): {
|
|
425
|
+
paused: boolean;
|
|
426
|
+
location?: any;
|
|
427
|
+
callStack?: CallFrame[];
|
|
428
|
+
};
|
|
429
|
+
/**
|
|
430
|
+
* Wait for debugger to pause (for race detection)
|
|
431
|
+
* Returns a promise that resolves when debugger pauses, or rejects on timeout
|
|
432
|
+
*/
|
|
433
|
+
waitForPause(timeoutMs?: number): Promise<void>;
|
|
434
|
+
/**
|
|
435
|
+
* Format a CDP RemoteObject value for display
|
|
436
|
+
* @param value The CDP RemoteObject to format
|
|
437
|
+
* @param expandObjects Whether to expand object/array contents (default: false for backward compatibility)
|
|
438
|
+
* @param maxDepth Maximum depth for object expansion (default: 2)
|
|
439
|
+
* @param currentDepth Current recursion depth (internal use)
|
|
440
|
+
*/
|
|
441
|
+
private formatValue;
|
|
442
|
+
/**
|
|
443
|
+
* Expand a CDP RemoteObject by its objectId
|
|
444
|
+
* This is used to get full object details for console messages
|
|
445
|
+
* @param objectId - The CDP object ID to expand
|
|
446
|
+
* @param maxDepth - Maximum depth for nested object expansion (default: 2)
|
|
447
|
+
*/
|
|
448
|
+
expandObjectById(objectId: string, maxDepth?: number): Promise<any>;
|
|
449
|
+
/**
|
|
450
|
+
* Get all loaded scripts
|
|
451
|
+
*/
|
|
452
|
+
getAllScripts(): Array<{
|
|
453
|
+
scriptId: string;
|
|
454
|
+
url: string;
|
|
455
|
+
}>;
|
|
456
|
+
/**
|
|
457
|
+
* Search within a specific script using regex
|
|
458
|
+
*/
|
|
459
|
+
searchInScript(scriptId: string, pattern: string, caseSensitive?: boolean, isRegex?: boolean): Promise<Array<{
|
|
460
|
+
lineNumber: number;
|
|
461
|
+
lineContent: string;
|
|
462
|
+
}>>;
|
|
463
|
+
/**
|
|
464
|
+
* Get a specific line from a script by scriptId and line number
|
|
465
|
+
* Returns the full line content (useful for getting full webpack eval lines)
|
|
466
|
+
*/
|
|
467
|
+
getScriptLine(scriptId: string, lineNumber: number): Promise<string | null>;
|
|
468
|
+
/**
|
|
469
|
+
* Generate a unique ID for advanced breakpoints
|
|
470
|
+
*/
|
|
471
|
+
private generateAdvancedBpId;
|
|
472
|
+
/**
|
|
473
|
+
* Resolve a CSS selector to a CDP nodeId
|
|
474
|
+
* @param selector - CSS selector to resolve
|
|
475
|
+
* @returns nodeId for the element
|
|
476
|
+
*/
|
|
477
|
+
resolveSelector(selector: string): Promise<number>;
|
|
478
|
+
/**
|
|
479
|
+
* Set a DOM breakpoint on a node
|
|
480
|
+
* Pauses execution when the specified DOM mutation occurs
|
|
481
|
+
* @param nodeId - The node ID from resolveSelector
|
|
482
|
+
* @param type - Type of DOM change to break on
|
|
483
|
+
* @param selector - Original CSS selector (for reference/display)
|
|
484
|
+
*/
|
|
485
|
+
setDOMBreakpoint(nodeId: number, type: DOMBreakpointType, selector: string): Promise<DOMBreakpointInfo>;
|
|
486
|
+
/**
|
|
487
|
+
* Remove a DOM breakpoint by its ID
|
|
488
|
+
*/
|
|
489
|
+
removeDOMBreakpoint(breakpointId: string): Promise<void>;
|
|
490
|
+
/**
|
|
491
|
+
* Get all DOM breakpoints
|
|
492
|
+
*/
|
|
493
|
+
getDOMBreakpoints(): DOMBreakpointInfo[];
|
|
494
|
+
/**
|
|
495
|
+
* Set an event listener breakpoint
|
|
496
|
+
* Pauses execution when the specified event fires
|
|
497
|
+
* @param eventName - DOM event name (e.g., 'click', 'submit', 'input')
|
|
498
|
+
* @param targetName - Optional EventTarget interface filter (e.g., 'HTMLInputElement')
|
|
499
|
+
*/
|
|
500
|
+
setEventListenerBreakpoint(eventName: string, targetName?: string): Promise<EventListenerBreakpointInfo>;
|
|
501
|
+
/**
|
|
502
|
+
* Remove an event listener breakpoint by its ID
|
|
503
|
+
*/
|
|
504
|
+
removeEventListenerBreakpoint(breakpointId: string): Promise<void>;
|
|
505
|
+
/**
|
|
506
|
+
* Get all event listener breakpoints
|
|
507
|
+
*/
|
|
508
|
+
getEventListenerBreakpoints(): EventListenerBreakpointInfo[];
|
|
509
|
+
/**
|
|
510
|
+
* Set an XHR/Fetch breakpoint
|
|
511
|
+
* Pauses execution when an XHR or Fetch request URL contains the pattern
|
|
512
|
+
* @param urlPattern - URL substring to match
|
|
513
|
+
*/
|
|
514
|
+
setXHRBreakpoint(urlPattern: string): Promise<XHRBreakpointInfo>;
|
|
515
|
+
/**
|
|
516
|
+
* Remove an XHR/Fetch breakpoint by its ID
|
|
517
|
+
*/
|
|
518
|
+
removeXHRBreakpoint(breakpointId: string): Promise<void>;
|
|
519
|
+
/**
|
|
520
|
+
* Get all XHR/Fetch breakpoints
|
|
521
|
+
*/
|
|
522
|
+
getXHRBreakpoints(): XHRBreakpointInfo[];
|
|
523
|
+
}
|
|
524
|
+
//# sourceMappingURL=cdp-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-manager.d.ts","sourceRoot":"","sources":["../src/cdp-manager.ts"],"names":[],"mappings":"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"}
|