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,211 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Dependency-free MCP hot-reload supervisor.
|
|
4
|
+
*
|
|
5
|
+
* This is the package's `bin` entry point - both this repo's own .mcp.json
|
|
6
|
+
* and every other project's `npx devharness@latest` launch THIS process
|
|
7
|
+
* instead of the real server directly. This process keeps that stdio
|
|
8
|
+
* connection alive forever and manages the real server (index.js, resolved
|
|
9
|
+
* next to this file - see below) as a restartable child, so:
|
|
10
|
+
* - a crash gets auto-relaunched with backoff, instead of leaving every
|
|
11
|
+
* project's MCP connection dead until a manual /mcp reconnect;
|
|
12
|
+
* - in this repo specifically, a rebuild (package.json's `postbuild` script)
|
|
13
|
+
* or a manual `kill -USR2 <pid>` restarts the real server live;
|
|
14
|
+
* - an idle session's server can be dropped entirely - along with its Chrome
|
|
15
|
+
* instances, dev servers and monitor buffers - while this process keeps the
|
|
16
|
+
* client's connection alive and respawns on the next request (issue #138);
|
|
17
|
+
* - a tree whose client is gone shuts itself down instead of living for days.
|
|
18
|
+
*
|
|
19
|
+
* The child script path is resolved relative to THIS file's own location
|
|
20
|
+
* (__dirname), not process.cwd() - process.cwd() is this repo's root when
|
|
21
|
+
* launched via its own .mcp.json, but is whatever *other* project's
|
|
22
|
+
* directory Claude Code happened to launch from when installed globally/via
|
|
23
|
+
* npx, which has no build/index.js of its own. Same-directory resolution
|
|
24
|
+
* works correctly in both cases, since index.js always ships right next to
|
|
25
|
+
* this file. Override with MCP_SUPERVISOR_CHILD_SCRIPT for testing; every
|
|
26
|
+
* other argv is passed straight through to the child.
|
|
27
|
+
*
|
|
28
|
+
* See /Users/joshua/.claude/plans/zesty-coalescing-tome.md for the full
|
|
29
|
+
* design and its rationale.
|
|
30
|
+
*
|
|
31
|
+
* Usage: node build/mcp-supervisor.js [...extraChildArgs]
|
|
32
|
+
*/
|
|
33
|
+
import * as path from 'path';
|
|
34
|
+
import * as os from 'os';
|
|
35
|
+
import { fileURLToPath } from 'url';
|
|
36
|
+
import { getOutputPath, getConfigPath } from './helpers/paths.js';
|
|
37
|
+
import { atomicWriteFile } from './atomic-write.js';
|
|
38
|
+
import { ChildManager } from './supervisor/child-manager.js';
|
|
39
|
+
import { RestartCoordinator } from './supervisor/restart-coordinator.js';
|
|
40
|
+
import { NdjsonReader } from './supervisor/ndjson-reader.js';
|
|
41
|
+
import { removeOwnPidFile } from './supervisor/pidfile.js';
|
|
42
|
+
import { ClientWatcher } from './supervisor/client-watcher.js';
|
|
43
|
+
import { readSupervisorSessionConfig, idleCheckIntervalMs } from './supervisor/idle-config.js';
|
|
44
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
45
|
+
const __dirname = path.dirname(__filename);
|
|
46
|
+
function logStderr(message) {
|
|
47
|
+
process.stderr.write(`[mcp-supervisor] ${message}\n`);
|
|
48
|
+
}
|
|
49
|
+
async function main() {
|
|
50
|
+
const scriptPath = process.env.MCP_SUPERVISOR_CHILD_SCRIPT
|
|
51
|
+
? path.resolve(process.cwd(), process.env.MCP_SUPERVISOR_CHILD_SCRIPT)
|
|
52
|
+
: path.join(__dirname, 'index.js');
|
|
53
|
+
const extraArgs = process.argv.slice(2);
|
|
54
|
+
const pidFilePath = getOutputPath('mcp-supervisor.pid');
|
|
55
|
+
await atomicWriteFile(pidFilePath, String(process.pid));
|
|
56
|
+
// Overridable so the stress harness can watch the escalation path without
|
|
57
|
+
// sitting out the full grace period (scripts/stress-suspend.mjs).
|
|
58
|
+
const suspendGraceMs = Number(process.env.CDP_TOOLS_SUSPEND_GRACE_MS);
|
|
59
|
+
const childManager = new ChildManager({
|
|
60
|
+
execPath: process.execPath,
|
|
61
|
+
scriptPath,
|
|
62
|
+
extraArgs,
|
|
63
|
+
cwd: process.cwd(),
|
|
64
|
+
suspendGraceMs: Number.isFinite(suspendGraceMs) && suspendGraceMs > 0 ? suspendGraceMs : undefined,
|
|
65
|
+
});
|
|
66
|
+
// Always points at the currently-running child's stdin, so writeToChild
|
|
67
|
+
// routes to whichever process is actually alive right now.
|
|
68
|
+
let currentChildStdin = null;
|
|
69
|
+
// Last time this session did anything at all, in either direction - what the
|
|
70
|
+
// idle-suspend timer measures against.
|
|
71
|
+
let lastActivityAt = Date.now();
|
|
72
|
+
const coordinator = new RestartCoordinator({
|
|
73
|
+
writeToChild: (line) => {
|
|
74
|
+
if (!currentChildStdin) {
|
|
75
|
+
logStderr('Dropping message meant for child - no child is currently running');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
currentChildStdin.write(line + (line.endsWith('\n') ? '' : '\n'));
|
|
79
|
+
},
|
|
80
|
+
writeToHost: (line) => {
|
|
81
|
+
// Traffic in either direction means the session is working, so a tool
|
|
82
|
+
// call that runs longer than the idle threshold isn't suspended the
|
|
83
|
+
// moment it finally answers.
|
|
84
|
+
lastActivityAt = Date.now();
|
|
85
|
+
process.stdout.write(line.endsWith('\n') ? line : line + '\n');
|
|
86
|
+
},
|
|
87
|
+
killChild: () => childManager.kill(),
|
|
88
|
+
suspendChild: () => childManager.suspend(),
|
|
89
|
+
spawnChild: () => spawnAndWireChild(),
|
|
90
|
+
logStderr,
|
|
91
|
+
}, {});
|
|
92
|
+
function spawnAndWireChild() {
|
|
93
|
+
const { stdout, stdin } = childManager.spawn();
|
|
94
|
+
currentChildStdin = stdin;
|
|
95
|
+
stdin.on('error', (err) => logStderr(`Child stdin error (ignored): ${err}`));
|
|
96
|
+
const reader = new NdjsonReader();
|
|
97
|
+
stdout.on('data', (chunk) => {
|
|
98
|
+
reader.push(chunk);
|
|
99
|
+
for (const line of reader.readAllLines()) {
|
|
100
|
+
coordinator.handleChildLine(line);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
stdout.on('close', () => {
|
|
104
|
+
if (currentChildStdin === stdin) {
|
|
105
|
+
currentChildStdin = null;
|
|
106
|
+
}
|
|
107
|
+
coordinator.onChildStdoutClosed();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
childManager.onExit(({ code, signal }) => {
|
|
111
|
+
logStderr(`Child exited (code=${code}, signal=${signal})`);
|
|
112
|
+
coordinator.onChildExit();
|
|
113
|
+
});
|
|
114
|
+
// Host (Claude Code) -> supervisor -> child
|
|
115
|
+
const hostReader = new NdjsonReader();
|
|
116
|
+
process.stdin.on('data', (chunk) => {
|
|
117
|
+
hostReader.push(chunk);
|
|
118
|
+
for (const line of hostReader.readAllLines()) {
|
|
119
|
+
lastActivityAt = Date.now();
|
|
120
|
+
coordinator.handleHostLine(line);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
const sessionConfig = readSupervisorSessionConfig({
|
|
124
|
+
configPath: getConfigPath(),
|
|
125
|
+
globalConfigPath: path.join(os.homedir(), '.cdp-tools', 'config.json'),
|
|
126
|
+
});
|
|
127
|
+
// Suspend an idle session. The editor window this was launched from is often
|
|
128
|
+
// left open for days; without this the child sits on its Chrome instances,
|
|
129
|
+
// dev servers and monitor buffers for all of that time (issue #138). The
|
|
130
|
+
// supervisor itself stays on the host's stdio, so the connection survives
|
|
131
|
+
// and the next request spawns a fresh child.
|
|
132
|
+
let idleCheckTimer = null;
|
|
133
|
+
if (sessionConfig.idleSuspendMinutes > 0) {
|
|
134
|
+
const idleThresholdMs = sessionConfig.idleSuspendMinutes * 60_000;
|
|
135
|
+
const checkIntervalMs = idleCheckIntervalMs(idleThresholdMs);
|
|
136
|
+
logStderr(`Idle suspend after ${sessionConfig.idleSuspendMinutes} minute(s) without host activity`);
|
|
137
|
+
idleCheckTimer = setInterval(() => {
|
|
138
|
+
if (!childManager.isRunning())
|
|
139
|
+
return;
|
|
140
|
+
const idleMs = Date.now() - lastActivityAt;
|
|
141
|
+
if (idleMs < idleThresholdMs)
|
|
142
|
+
return;
|
|
143
|
+
coordinator.suspend(`idle for ${Math.round(idleMs / 60_000)} minute(s)`);
|
|
144
|
+
}, checkIntervalMs);
|
|
145
|
+
idleCheckTimer.unref?.();
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
logStderr('Idle suspend disabled by config');
|
|
149
|
+
}
|
|
150
|
+
// Reap the whole tree when the client that launched it is gone. stdin
|
|
151
|
+
// end/close is supposed to catch that, but never fires when an `npm exec`
|
|
152
|
+
// wrapper sits in between and outlives the client still holding our pipe -
|
|
153
|
+
// which is how trees end up alive for days after their window closed.
|
|
154
|
+
const clientWatcher = new ClientWatcher({
|
|
155
|
+
pollIntervalMs: sessionConfig.clientPollSeconds * 1000,
|
|
156
|
+
logStderr,
|
|
157
|
+
});
|
|
158
|
+
clientWatcher.start(process.pid, (client) => {
|
|
159
|
+
void shutdown(`client PID ${client.pid} exited`);
|
|
160
|
+
});
|
|
161
|
+
// Manual restart trigger (also wired to package.json's `postbuild` script).
|
|
162
|
+
process.on('SIGUSR2', () => {
|
|
163
|
+
logStderr('Received SIGUSR2, restarting child');
|
|
164
|
+
coordinator.requestRestart('signal');
|
|
165
|
+
});
|
|
166
|
+
let shuttingDown = false;
|
|
167
|
+
const shutdown = async (reason) => {
|
|
168
|
+
if (shuttingDown)
|
|
169
|
+
return;
|
|
170
|
+
shuttingDown = true;
|
|
171
|
+
logStderr(`Shutting down (${reason})`);
|
|
172
|
+
clientWatcher.stop();
|
|
173
|
+
if (idleCheckTimer)
|
|
174
|
+
clearInterval(idleCheckTimer);
|
|
175
|
+
coordinator.prepareForShutdown();
|
|
176
|
+
try {
|
|
177
|
+
// Every path into here means the session itself is over - a signal, the
|
|
178
|
+
// host's stdin closing, or the client being gone - so the child gets the
|
|
179
|
+
// release teardown rather than a bare kill, and takes the dev servers it
|
|
180
|
+
// owns with it. A rebuild restart does NOT come through here: it goes via
|
|
181
|
+
// requestRestart(), which kills shallowly so the next child can reattach.
|
|
182
|
+
await childManager.suspend();
|
|
183
|
+
}
|
|
184
|
+
catch (err) {
|
|
185
|
+
logStderr(`Error stopping child during shutdown: ${err}`);
|
|
186
|
+
}
|
|
187
|
+
// Only if it is still OURS: a newer supervisor may own it by now, and
|
|
188
|
+
// taking that one's pidfile away silently breaks its hot reload.
|
|
189
|
+
await removeOwnPidFile(pidFilePath, process.pid);
|
|
190
|
+
process.exit(0);
|
|
191
|
+
};
|
|
192
|
+
process.on('SIGINT', () => void shutdown('SIGINT'));
|
|
193
|
+
process.on('SIGTERM', () => void shutdown('SIGTERM'));
|
|
194
|
+
process.on('SIGHUP', () => void shutdown('SIGHUP'));
|
|
195
|
+
// Claude Code exiting without sending a signal still closes its end of stdin.
|
|
196
|
+
process.stdin.on('end', () => void shutdown('host stdin ended'));
|
|
197
|
+
process.stdin.on('close', () => void shutdown('host stdin closed'));
|
|
198
|
+
process.on('uncaughtException', (error) => {
|
|
199
|
+
logStderr(`Uncaught exception: ${error?.stack || error}`);
|
|
200
|
+
});
|
|
201
|
+
process.on('unhandledRejection', (reason) => {
|
|
202
|
+
logStderr(`Unhandled rejection: ${reason}`);
|
|
203
|
+
});
|
|
204
|
+
logStderr(`Starting (PID: ${process.pid}), child script: ${scriptPath}`);
|
|
205
|
+
spawnAndWireChild();
|
|
206
|
+
}
|
|
207
|
+
main().catch((error) => {
|
|
208
|
+
logStderr(`Fatal error during startup: ${error?.stack || error}`);
|
|
209
|
+
process.exit(1);
|
|
210
|
+
});
|
|
211
|
+
//# sourceMappingURL=mcp-supervisor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-supervisor.js","sourceRoot":"","sources":["../src/mcp-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message template system for cdp-tools
|
|
3
|
+
*
|
|
4
|
+
* Loads and formats user-facing messages from docs/messages.md
|
|
5
|
+
*/
|
|
6
|
+
interface MessageTemplate {
|
|
7
|
+
id: string;
|
|
8
|
+
type: 'error' | 'success' | 'warning' | 'info' | 'list';
|
|
9
|
+
code?: string;
|
|
10
|
+
summary?: string;
|
|
11
|
+
content: string;
|
|
12
|
+
suggestions?: string[];
|
|
13
|
+
note?: string;
|
|
14
|
+
example?: string;
|
|
15
|
+
}
|
|
16
|
+
declare class MessageManager {
|
|
17
|
+
private messages;
|
|
18
|
+
private loaded;
|
|
19
|
+
/**
|
|
20
|
+
* Load messages from docs/messages.md
|
|
21
|
+
*/
|
|
22
|
+
private loadMessages;
|
|
23
|
+
/**
|
|
24
|
+
* Parse messages from markdown content
|
|
25
|
+
*/
|
|
26
|
+
private parseMessages;
|
|
27
|
+
/**
|
|
28
|
+
* Load fallback messages if markdown file can't be loaded
|
|
29
|
+
*/
|
|
30
|
+
private loadFallbackMessages;
|
|
31
|
+
/**
|
|
32
|
+
* Get a message by ID with variable substitution
|
|
33
|
+
*/
|
|
34
|
+
getMessage(id: string, variables?: Record<string, any>): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get a complete message template with metadata
|
|
37
|
+
*/
|
|
38
|
+
getMessageTemplate(id: string): MessageTemplate | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Format an error message with suggestions and examples
|
|
41
|
+
* Uses the same Status + Key detail format as getFormattedResponse
|
|
42
|
+
*/
|
|
43
|
+
getErrorMessage(id: string, variables?: Record<string, any>): string;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a dotted path to a value in the variables object
|
|
46
|
+
*/
|
|
47
|
+
private resolveVariable;
|
|
48
|
+
/**
|
|
49
|
+
* Format a message template with variable substitution
|
|
50
|
+
* Supports:
|
|
51
|
+
* - {{variable}} - simple substitution
|
|
52
|
+
* - {{object.property}} - nested access
|
|
53
|
+
* - {{#variable}}...{{/variable}} - conditional (truthy)
|
|
54
|
+
* - {{^variable}}...{{/variable}} - inverted conditional (falsy)
|
|
55
|
+
* - {{#if condition}}...{{/if}} - explicit if blocks
|
|
56
|
+
* - {{#each array}}...{{/each}} - iteration over arrays
|
|
57
|
+
*/
|
|
58
|
+
private formatMessage;
|
|
59
|
+
/**
|
|
60
|
+
* Process conditionals within a given context (used by #each)
|
|
61
|
+
*/
|
|
62
|
+
private processConditionals;
|
|
63
|
+
/**
|
|
64
|
+
* Get message code for error responses
|
|
65
|
+
*/
|
|
66
|
+
getMessageCode(id: string): string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Check if a message exists
|
|
69
|
+
*/
|
|
70
|
+
hasMessage(id: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Format data as a JSON code block
|
|
73
|
+
*/
|
|
74
|
+
formatCodeBlock(data: any, language?: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Format an array as a markdown bullet list
|
|
77
|
+
*/
|
|
78
|
+
formatList(items: string[]): string;
|
|
79
|
+
/**
|
|
80
|
+
* Get a complete markdown-only response for a tool
|
|
81
|
+
* Combines message template with optional data formatting
|
|
82
|
+
*
|
|
83
|
+
* Output format:
|
|
84
|
+
* Line 1: Status line (Success/Error/Warning/Info: Brief description)
|
|
85
|
+
* Line 2: Key detail (most important info like location, ID, count)
|
|
86
|
+
* Line 3+: Additional content (suggestions, notes, data)
|
|
87
|
+
*/
|
|
88
|
+
getFormattedResponse(id: string, variables?: Record<string, any>, data?: any): string;
|
|
89
|
+
}
|
|
90
|
+
export declare const messages: MessageManager;
|
|
91
|
+
/**
|
|
92
|
+
* Helper function to get a formatted message
|
|
93
|
+
*/
|
|
94
|
+
export declare function getMessage(id: string, variables?: Record<string, any>): string;
|
|
95
|
+
/**
|
|
96
|
+
* Helper function to get a formatted error message with suggestions
|
|
97
|
+
*/
|
|
98
|
+
export declare function getErrorMessage(id: string, variables?: Record<string, any>): string;
|
|
99
|
+
/**
|
|
100
|
+
* Helper function to get message code
|
|
101
|
+
*/
|
|
102
|
+
export declare function getMessageCode(id: string): string | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Helper function to get a complete markdown-only response
|
|
105
|
+
*/
|
|
106
|
+
export declare function getFormattedResponse(id: string, variables?: Record<string, any>, data?: any): string;
|
|
107
|
+
/**
|
|
108
|
+
* Helper function to format data as a code block
|
|
109
|
+
*/
|
|
110
|
+
export declare function formatCodeBlock(data: any, language?: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Helper function to format an array as a markdown list
|
|
113
|
+
*/
|
|
114
|
+
export declare function formatList(items: string[]): string;
|
|
115
|
+
import type { ToolResponseMeta } from './tool-response.js';
|
|
116
|
+
/**
|
|
117
|
+
* MCP Response type
|
|
118
|
+
*/
|
|
119
|
+
interface MCPResponse {
|
|
120
|
+
content: Array<{
|
|
121
|
+
type: 'text';
|
|
122
|
+
text: string;
|
|
123
|
+
}>;
|
|
124
|
+
isError?: boolean;
|
|
125
|
+
/** Structured metadata for programmatic use (validation, replay). Decoupled from text output. */
|
|
126
|
+
_meta?: ToolResponseMeta;
|
|
127
|
+
/**
|
|
128
|
+
* Message template id behind an error, for callers that must classify a
|
|
129
|
+
* failure rather than display it. In-process only - the replay executor reads
|
|
130
|
+
* the handler's return value (and ToolError's captured response) before
|
|
131
|
+
* anything is serialized, so it need not survive the wire.
|
|
132
|
+
*/
|
|
133
|
+
_errorId?: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create an error response in MCP format with markdown content
|
|
137
|
+
*/
|
|
138
|
+
export declare function createErrorResponse(messageId: string, variables?: Record<string, any>): MCPResponse;
|
|
139
|
+
/**
|
|
140
|
+
* Whether a tool failure means "that element isn't on the page", as opposed to
|
|
141
|
+
* any other failure. Prefers the response's `_errorId`; the text forms are for
|
|
142
|
+
* a failure that arrived without one. Lives beside the ELEMENT_NOT_FOUND
|
|
143
|
+
* template so a reword is caught here rather than in every caller that
|
|
144
|
+
* classifies one.
|
|
145
|
+
*/
|
|
146
|
+
export declare function isElementNotFoundFailure(failure: {
|
|
147
|
+
errorId?: string;
|
|
148
|
+
text?: string;
|
|
149
|
+
}): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Create a success response in MCP format with markdown content
|
|
152
|
+
*/
|
|
153
|
+
export declare function createSuccessResponse(messageId: string, variables?: Record<string, any>, data?: any): MCPResponse;
|
|
154
|
+
/**
|
|
155
|
+
* Format a tool success response (for tools that don't use message templates)
|
|
156
|
+
* Uses Status + Key detail format
|
|
157
|
+
*/
|
|
158
|
+
export declare function formatToolSuccess(message: string, data?: any): MCPResponse;
|
|
159
|
+
/**
|
|
160
|
+
* Format a tool error response (for tools that don't use message templates)
|
|
161
|
+
* Uses Status + Key detail format
|
|
162
|
+
*/
|
|
163
|
+
export declare function formatToolError(code: string, message: string, data?: any): MCPResponse;
|
|
164
|
+
export {};
|
|
165
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
|