browser-debugger-cli 0.7.1 → 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/README.md +14 -6
- package/dist/cdp/protocol.d.ts +1 -1
- package/dist/cdp/protocol.js +1 -1
- package/dist/cdp/schema.d.ts +10 -0
- package/dist/cdp/schema.js +13 -0
- package/dist/commands/cdp.js +75 -23
- package/dist/commands/cleanup.js +31 -23
- package/dist/commands/console.d.ts +18 -1
- package/dist/commands/console.js +98 -53
- package/dist/commands/details.js +13 -3
- package/dist/commands/dom/DomElementResolver.d.ts +24 -69
- package/dist/commands/dom/DomElementResolver.js +71 -162
- package/dist/commands/dom/a11y.js +52 -33
- package/dist/commands/dom/eval.d.ts +13 -0
- package/dist/commands/dom/eval.js +43 -0
- package/dist/commands/dom/form.js +103 -147
- package/dist/commands/dom/formInteraction.d.ts +6 -1
- package/dist/commands/dom/formInteraction.js +223 -305
- package/dist/commands/dom/frames.d.ts +12 -0
- package/dist/commands/dom/frames.js +28 -0
- package/dist/commands/dom/get.d.ts +20 -0
- package/dist/commands/dom/get.js +141 -0
- package/dist/commands/dom/helpers/index.d.ts +11 -0
- package/dist/commands/dom/helpers/index.js +10 -0
- package/dist/commands/dom/helpers/query.d.ts +78 -0
- package/dist/commands/dom/helpers/query.js +457 -0
- package/dist/commands/dom/helpers/runElementCommand.d.ts +56 -0
- package/dist/commands/dom/helpers/runElementCommand.js +63 -0
- package/dist/commands/dom/helpers/screenshot.d.ts +30 -0
- package/dist/commands/dom/helpers/screenshot.js +374 -0
- package/dist/commands/dom/index.d.ts +15 -3
- package/dist/commands/dom/index.js +45 -511
- package/dist/commands/dom/listeners.d.ts +16 -0
- package/dist/commands/dom/listeners.js +54 -0
- package/dist/commands/dom/query.d.ts +14 -0
- package/dist/commands/dom/query.js +36 -0
- package/dist/commands/dom/screenshot.d.ts +21 -0
- package/dist/commands/dom/screenshot.js +248 -0
- package/dist/commands/dom/semanticUtils.d.ts +44 -0
- package/dist/commands/dom/semanticUtils.js +102 -0
- package/dist/commands/helpJson.d.ts +4 -2
- package/dist/commands/helpJson.js +12 -32
- package/dist/commands/helpTopic.d.ts +32 -0
- package/dist/commands/helpTopic.js +58 -0
- package/dist/commands/network/har.js +50 -24
- package/dist/commands/network/list.js +96 -63
- package/dist/commands/network/shared.d.ts +9 -15
- package/dist/commands/network/shared.js +30 -51
- package/dist/commands/optionBehaviors.d.ts +1 -9
- package/dist/commands/optionBehaviors.js +46 -25
- package/dist/commands/page.d.ts +11 -0
- package/dist/commands/page.js +112 -0
- package/dist/commands/peek.js +62 -48
- package/dist/commands/shared/CommandRunner.d.ts +18 -1
- package/dist/commands/shared/CommandRunner.js +83 -26
- package/dist/commands/shared/commonOptions.d.ts +10 -0
- package/dist/commands/shared/commonOptions.js +12 -0
- package/dist/commands/shared/daemonErrorHandler.d.ts +9 -0
- package/dist/commands/shared/daemonErrorHandler.js +31 -11
- package/dist/commands/shared/dataFetcher.d.ts +33 -10
- package/dist/commands/shared/dataFetcher.js +57 -20
- package/dist/commands/shared/followMode.d.ts +0 -3
- package/dist/commands/shared/followMode.js +6 -11
- package/dist/commands/shared/handleValidationError.d.ts +14 -0
- package/dist/commands/shared/handleValidationError.js +39 -0
- package/dist/commands/shared/optionTypes.d.ts +42 -22
- package/dist/commands/shared/outputFile.d.ts +33 -0
- package/dist/commands/shared/outputFile.js +78 -0
- package/dist/commands/shared/startHelpers.d.ts +5 -8
- package/dist/commands/shared/startHelpers.js +226 -37
- package/dist/commands/shared/validation.d.ts +42 -0
- package/dist/commands/shared/validation.js +101 -22
- package/dist/commands/start.d.ts +28 -1
- package/dist/commands/start.js +226 -38
- package/dist/commands/status.js +48 -11
- package/dist/commands/stop.js +16 -26
- package/dist/commands/tail.js +20 -35
- package/dist/commands.js +2 -0
- package/dist/connection/cdp.d.ts +12 -6
- package/dist/connection/cdp.js +59 -16
- package/dist/connection/diagnostics.d.ts +0 -9
- package/dist/connection/diagnostics.js +0 -13
- package/dist/connection/errors.d.ts +36 -1
- package/dist/connection/errors.js +43 -3
- package/dist/connection/handlers.d.ts +5 -5
- package/dist/connection/handlers.js +1 -1
- package/dist/connection/inFlightRequests.d.ts +33 -0
- package/dist/connection/inFlightRequests.js +52 -0
- package/dist/connection/launcher/binaryResolver.js +20 -7
- package/dist/connection/launcher/flagsBuilder.d.ts +24 -54
- package/dist/connection/launcher/flagsBuilder.js +65 -40
- package/dist/connection/launcher/preferencesLoader.js +27 -8
- package/dist/connection/launcher.d.ts +2 -0
- package/dist/connection/launcher.js +48 -29
- package/dist/connection/pageReadiness.d.ts +5 -6
- package/dist/connection/pageReadiness.js +63 -120
- package/dist/connection/portReservation.d.ts +10 -0
- package/dist/connection/portReservation.js +37 -2
- package/dist/connection/startupExit.d.ts +37 -0
- package/dist/connection/startupExit.js +107 -0
- package/dist/connection/typed-cdp.d.ts +8 -6
- package/dist/connection/typed-cdp.js +5 -3
- package/dist/connection/types.d.ts +3 -0
- package/dist/constants.d.ts +21 -22
- package/dist/constants.js +28 -25
- package/dist/daemon/SessionController.d.ts +125 -0
- package/dist/daemon/SessionController.js +472 -0
- package/dist/daemon/errors.d.ts +15 -19
- package/dist/daemon/errors.js +18 -21
- package/dist/daemon/ipcServer.d.ts +44 -30
- package/dist/daemon/ipcServer.js +164 -132
- package/dist/daemon/launcher.d.ts +13 -21
- package/dist/daemon/launcher.js +94 -101
- package/dist/daemon/messages.d.ts +29 -0
- package/dist/daemon/messages.js +35 -0
- package/dist/daemon/patternDefinitions.d.ts +1 -1
- package/dist/daemon/patternDefinitions.js +3 -2
- package/dist/daemon/patternDetector.d.ts +13 -29
- package/dist/daemon/patternDetector.js +26 -47
- package/dist/daemon/server/SocketServer.d.ts +56 -2
- package/dist/daemon/server/SocketServer.js +131 -30
- package/dist/daemon/session/Session.d.ts +137 -0
- package/dist/daemon/session/Session.js +288 -0
- package/dist/daemon/session/TelemetryStore.d.ts +30 -0
- package/dist/daemon/session/TelemetryStore.js +44 -0
- package/dist/daemon/session/cdpSetup.d.ts +47 -0
- package/dist/daemon/session/cdpSetup.js +94 -0
- package/dist/daemon/session/chromeConnection.d.ts +38 -0
- package/dist/daemon/session/chromeConnection.js +178 -0
- package/dist/daemon/{worker → session}/collectors.d.ts +3 -3
- package/dist/daemon/{worker → session}/collectors.js +3 -3
- package/dist/daemon/session/commandRegistry.js +445 -0
- package/dist/daemon/session/interactions.d.ts +27 -0
- package/dist/daemon/session/interactions.js +44 -0
- package/dist/daemon/{worker → session}/plugins.d.ts +3 -3
- package/dist/daemon/session/plugins.js +219 -0
- package/dist/daemon/session/targetMismatch.d.ts +34 -0
- package/dist/daemon/session/targetMismatch.js +83 -0
- package/dist/daemon/session/teardown.d.ts +27 -0
- package/dist/daemon/session/teardown.js +128 -0
- package/dist/daemon/{worker → session}/types.d.ts +2 -2
- package/dist/daemon.d.ts +3 -4
- package/dist/daemon.js +15356 -24
- package/dist/{ui/errors → errors}/CommandError.js +1 -1
- package/dist/{ui/errors → errors}/index.d.ts +2 -0
- package/dist/errors/issues.d.ts +16 -0
- package/dist/errors/issues.js +11 -0
- package/dist/errors/messages.d.ts +545 -0
- package/dist/errors/messages.js +959 -0
- package/dist/errors/notices.d.ts +30 -0
- package/dist/errors/notices.js +11 -0
- package/dist/{ui/errors → errors}/utils.js +1 -1
- package/dist/index.js +16410 -168
- package/dist/ipc/client.d.ts +44 -8
- package/dist/ipc/client.js +95 -18
- package/dist/ipc/index.d.ts +2 -2
- package/dist/ipc/index.js +2 -2
- package/dist/ipc/protocol/commands.d.ts +220 -59
- package/dist/ipc/protocol/commands.js +27 -21
- package/dist/ipc/protocol/domTypes.d.ts +236 -0
- package/dist/ipc/protocol/domTypes.js +10 -0
- package/dist/ipc/protocol/guards.d.ts +4 -4
- package/dist/ipc/protocol/guards.js +4 -4
- package/dist/ipc/protocol/messages.d.ts +9 -33
- package/dist/ipc/protocol/messages.js +1 -1
- package/dist/ipc/session/errors.d.ts +10 -2
- package/dist/ipc/session/errors.js +10 -2
- package/dist/ipc/session/lifecycle.d.ts +20 -22
- package/dist/ipc/session/queries.d.ts +21 -4
- package/dist/ipc/session/types.d.ts +1 -1
- package/dist/ipc/session/types.js +1 -1
- package/dist/ipc/transport/IPCError.d.ts +3 -3
- package/dist/ipc/transport/IPCError.js +3 -3
- package/dist/ipc/transport/index.d.ts +7 -1
- package/dist/ipc/transport/index.js +7 -2
- package/dist/ipc/transport/jsonl.d.ts +28 -2
- package/dist/ipc/transport/jsonl.js +57 -10
- package/dist/ipc/utils/errors.d.ts +4 -2
- package/dist/ipc/utils/errors.js +10 -4
- package/dist/ipc/utils/index.d.ts +0 -1
- package/dist/ipc/utils/index.js +0 -1
- package/dist/ipc/utils/responseValidator.d.ts +5 -1
- package/dist/ipc/utils/responseValidator.js +7 -3
- package/dist/runtime/dom/evalHelpers.d.ts +76 -0
- package/dist/runtime/dom/evalHelpers.js +406 -0
- package/dist/runtime/dom/eventListeners.d.ts +23 -0
- package/dist/runtime/dom/eventListeners.js +252 -0
- package/dist/runtime/dom/formDiscovery.d.ts +26 -0
- package/dist/{commands → runtime}/dom/formDiscovery.js +48 -9
- package/dist/runtime/dom/formFillHelpers/fill.d.ts +29 -0
- package/dist/runtime/dom/formFillHelpers/fill.js +299 -0
- package/dist/runtime/dom/formFillHelpers/index.d.ts +17 -0
- package/dist/runtime/dom/formFillHelpers/index.js +17 -0
- package/dist/runtime/dom/formFillHelpers/pressKey.d.ts +28 -0
- package/dist/runtime/dom/formFillHelpers/pressKey.js +195 -0
- package/dist/runtime/dom/formFillHelpers/scroll.d.ts +24 -0
- package/dist/runtime/dom/formFillHelpers/scroll.js +188 -0
- package/dist/runtime/dom/formFillHelpers/shared.d.ts +43 -0
- package/dist/runtime/dom/formFillHelpers/shared.js +100 -0
- package/dist/runtime/dom/formFillHelpers/stability.d.ts +14 -0
- package/dist/runtime/dom/formFillHelpers/stability.js +40 -0
- package/dist/runtime/dom/formSubmitHelpers.d.ts +29 -0
- package/dist/runtime/dom/formSubmitHelpers.js +252 -0
- package/dist/runtime/dom/formTypes.d.ts +8 -0
- package/dist/runtime/dom/frameSelection.d.ts +27 -0
- package/dist/runtime/dom/frameSelection.js +66 -0
- package/dist/runtime/dom/frames.d.ts +38 -0
- package/dist/runtime/dom/frames.js +305 -0
- package/dist/runtime/dom/keyMapping.d.ts +103 -0
- package/dist/runtime/dom/keyMapping.js +232 -0
- package/dist/runtime/dom/listenerSummary.d.ts +72 -0
- package/dist/runtime/dom/listenerSummary.js +150 -0
- package/dist/runtime/dom/reactEventHelpers.d.ts +61 -0
- package/dist/runtime/dom/reactEventHelpers.js +470 -0
- package/dist/runtime/dom/targetNode.d.ts +78 -0
- package/dist/runtime/dom/targetNode.js +154 -0
- package/dist/runtime/page/navigation.d.ts +34 -0
- package/dist/runtime/page/navigation.js +249 -0
- package/dist/session/QueryCacheManager.d.ts +25 -82
- package/dist/session/QueryCacheManager.js +41 -133
- package/dist/session/chrome.d.ts +21 -16
- package/dist/session/chrome.js +28 -44
- package/dist/session/cleanup/staleSession.d.ts +49 -0
- package/dist/session/cleanup/staleSession.js +124 -0
- package/dist/session/cleanup/userCommands.d.ts +36 -0
- package/dist/session/cleanup/userCommands.js +95 -0
- package/dist/session/daemonSocket.d.ts +25 -0
- package/dist/session/daemonSocket.js +40 -0
- package/dist/session/lastSession.d.ts +29 -0
- package/dist/session/lastSession.js +45 -0
- package/dist/session/metadata.d.ts +3 -1
- package/dist/session/paths.d.ts +2 -4
- package/dist/session/paths.js +2 -4
- package/dist/session/pid.d.ts +9 -38
- package/dist/session/pid.js +14 -64
- package/dist/session/port.d.ts +0 -5
- package/dist/session/port.js +9 -19
- package/dist/telemetry/a11y.d.ts +26 -20
- package/dist/telemetry/a11y.js +237 -104
- package/dist/telemetry/attachedTargets.d.ts +36 -0
- package/dist/telemetry/attachedTargets.js +163 -0
- package/dist/telemetry/console.d.ts +21 -4
- package/dist/telemetry/console.js +122 -11
- package/dist/telemetry/dialogs.d.ts +4 -2
- package/dist/telemetry/dialogs.js +3 -1
- package/dist/telemetry/dom.d.ts +1 -11
- package/dist/telemetry/dom.js +0 -102
- package/dist/telemetry/filterDsl.d.ts +9 -1
- package/dist/telemetry/filterDsl.js +101 -31
- package/dist/telemetry/filterPresets.js +12 -2
- package/dist/telemetry/filters.d.ts +1 -1
- package/dist/telemetry/filters.js +38 -3
- package/dist/telemetry/har/builder.js +190 -160
- package/dist/telemetry/har/types.d.ts +21 -4
- package/dist/telemetry/navigation.d.ts +13 -29
- package/dist/telemetry/navigation.js +12 -46
- package/dist/telemetry/network.d.ts +37 -1
- package/dist/telemetry/network.js +343 -130
- package/dist/telemetry/networkExtraInfo.d.ts +106 -0
- package/dist/telemetry/networkExtraInfo.js +241 -0
- package/dist/telemetry/objectExpander.d.ts +14 -5
- package/dist/telemetry/objectExpander.js +13 -6
- package/dist/telemetry/remoteObject.d.ts +10 -2
- package/dist/telemetry/remoteObject.js +59 -2
- package/dist/telemetry/remoteObjectUtils.js +22 -3
- package/dist/types.d.ts +64 -44
- package/dist/types.js +1 -33
- package/dist/ui/OutputBuilder.d.ts +17 -14
- package/dist/ui/OutputBuilder.js +18 -87
- package/dist/ui/formatters/a11y.js +72 -9
- package/dist/ui/formatters/console/chronological.d.ts +14 -0
- package/dist/ui/formatters/console/chronological.js +58 -0
- package/dist/ui/formatters/console/follow.d.ts +18 -0
- package/dist/ui/formatters/console/follow.js +36 -0
- package/dist/ui/formatters/console/json.d.ts +21 -0
- package/dist/ui/formatters/console/json.js +53 -0
- package/dist/ui/formatters/console/shared.d.ts +136 -0
- package/dist/ui/formatters/console/shared.js +158 -0
- package/dist/ui/formatters/console/summarize.d.ts +10 -0
- package/dist/ui/formatters/console/summarize.js +63 -0
- package/dist/ui/formatters/console.d.ts +16 -137
- package/dist/ui/formatters/console.js +17 -418
- package/dist/ui/formatters/cookies.js +3 -3
- package/dist/ui/formatters/details.d.ts +5 -2
- package/dist/ui/formatters/details.js +183 -24
- package/dist/ui/formatters/dom.d.ts +27 -6
- package/dist/ui/formatters/dom.js +80 -28
- package/dist/ui/formatters/form.js +35 -56
- package/dist/ui/formatters/helpFormatters.js +5 -4
- package/dist/ui/formatters/listeners.d.ts +24 -0
- package/dist/ui/formatters/listeners.js +96 -0
- package/dist/ui/formatters/networkHeaders.d.ts +3 -3
- package/dist/ui/formatters/networkHeaders.js +7 -4
- package/dist/ui/formatters/networkList.d.ts +14 -2
- package/dist/ui/formatters/networkList.js +80 -35
- package/dist/ui/formatters/preview.d.ts +21 -3
- package/dist/ui/formatters/preview.js +53 -72
- package/dist/ui/formatters/requestStatus.d.ts +34 -0
- package/dist/ui/formatters/requestStatus.js +55 -0
- package/dist/ui/formatters/semantic.d.ts +1 -1
- package/dist/ui/formatters/semantic.js +1 -1
- package/dist/ui/formatters/sessionFormatters.js +11 -8
- package/dist/ui/formatters/status.d.ts +23 -5
- package/dist/ui/formatters/status.js +48 -24
- package/dist/ui/formatting.d.ts +35 -0
- package/dist/ui/formatting.js +122 -23
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/messages/chrome.d.ts +35 -100
- package/dist/ui/messages/chrome.js +102 -136
- package/dist/ui/messages/commands.d.ts +121 -3
- package/dist/ui/messages/commands.js +153 -6
- package/dist/ui/messages/consoleMessages.d.ts +0 -6
- package/dist/ui/messages/consoleMessages.js +0 -8
- package/dist/ui/messages/hints.d.ts +9 -15
- package/dist/ui/messages/hints.js +17 -16
- package/dist/ui/messages/networkMessages.d.ts +0 -6
- package/dist/ui/messages/networkMessages.js +0 -8
- package/dist/ui/messages/preview.js +2 -2
- package/dist/ui/messages/session.d.ts +24 -3
- package/dist/ui/messages/session.js +38 -7
- package/dist/ui/messages/validation.d.ts +15 -26
- package/dist/ui/messages/validation.js +33 -38
- package/dist/utils/atomicFile.js +1 -1
- package/dist/utils/decisionTrees.js +1 -1
- package/dist/utils/errorMapping.js +15 -4
- package/dist/utils/errors.d.ts +13 -0
- package/dist/utils/errors.js +21 -0
- package/dist/utils/exitCodes.d.ts +5 -0
- package/dist/utils/exitCodes.js +36 -2
- package/dist/utils/http.d.ts +35 -4
- package/dist/utils/http.js +59 -6
- package/dist/utils/packageRoot.d.ts +12 -0
- package/dist/utils/packageRoot.js +33 -0
- package/dist/utils/process.d.ts +10 -0
- package/dist/utils/process.js +35 -3
- package/dist/utils/selectorFilters.d.ts +45 -0
- package/dist/utils/selectorFilters.js +224 -0
- package/dist/utils/suggestions.js +1 -1
- package/dist/utils/taskMappings.js +7 -2
- package/dist/utils/typeGuards.js +2 -2
- package/dist/utils/url.d.ts +13 -5
- package/dist/utils/url.js +53 -52
- package/dist/utils/validation.d.ts +15 -93
- package/dist/utils/validation.js +10 -118
- package/dist/utils/version.js +3 -5
- package/package.json +39 -30
- package/dist/__testfixtures__/cdpMessages.d.ts +0 -43
- package/dist/__testfixtures__/cdpMessages.d.ts.map +0 -1
- package/dist/__testfixtures__/cdpMessages.js +0 -118
- package/dist/__testfixtures__/cdpMessages.js.map +0 -1
- package/dist/__testfixtures__/connectionTargets.d.ts +0 -21
- package/dist/__testfixtures__/connectionTargets.d.ts.map +0 -1
- package/dist/__testfixtures__/connectionTargets.js +0 -59
- package/dist/__testfixtures__/connectionTargets.js.map +0 -1
- package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +0 -47
- package/dist/__tests__/integration/session-files.integration.test.d.ts +0 -2
- package/dist/__tests__/integration/session-files.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/session-files.integration.test.js +0 -66
- package/dist/__tests__/integration/session-files.integration.test.js.map +0 -1
- package/dist/__tests__/schema.contract.test.d.ts +0 -19
- package/dist/__tests__/schema.contract.test.d.ts.map +0 -1
- package/dist/__tests__/schema.contract.test.js +0 -236
- package/dist/__tests__/schema.contract.test.js.map +0 -1
- package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +0 -8
- package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +0 -1
- package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -66
- package/dist/__tests__/smoke/error-handling.smoke.test.js.map +0 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +0 -8
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +0 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +0 -112
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +0 -1
- package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +0 -12
- package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +0 -1
- package/dist/__tests__/telemetry/filterDsl.unit.test.js +0 -374
- package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +0 -1
- package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +0 -10
- package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +0 -1
- package/dist/__tests__/telemetry/filterPresets.unit.test.js +0 -89
- package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +0 -1
- package/dist/__testutils__/FakeClock.d.ts +0 -67
- package/dist/__testutils__/FakeClock.d.ts.map +0 -1
- package/dist/__testutils__/FakeClock.js +0 -132
- package/dist/__testutils__/FakeClock.js.map +0 -1
- package/dist/__testutils__/FakeWebSocket.d.ts +0 -106
- package/dist/__testutils__/FakeWebSocket.d.ts.map +0 -1
- package/dist/__testutils__/FakeWebSocket.js +0 -213
- package/dist/__testutils__/FakeWebSocket.js.map +0 -1
- package/dist/__testutils__/assertions.d.ts +0 -33
- package/dist/__testutils__/assertions.d.ts.map +0 -1
- package/dist/__testutils__/assertions.js +0 -57
- package/dist/__testutils__/assertions.js.map +0 -1
- package/dist/__testutils__/commandRunner.d.ts +0 -45
- package/dist/__testutils__/commandRunner.d.ts.map +0 -1
- package/dist/__testutils__/commandRunner.js +0 -108
- package/dist/__testutils__/commandRunner.js.map +0 -1
- package/dist/__testutils__/daemonHelpers.d.ts +0 -93
- package/dist/__testutils__/daemonHelpers.d.ts.map +0 -1
- package/dist/__testutils__/daemonHelpers.js +0 -255
- package/dist/__testutils__/daemonHelpers.js.map +0 -1
- package/dist/__testutils__/index.d.ts +0 -16
- package/dist/__testutils__/index.d.ts.map +0 -1
- package/dist/__testutils__/index.js +0 -16
- package/dist/__testutils__/index.js.map +0 -1
- package/dist/__testutils__/testCleanup.d.ts +0 -45
- package/dist/__testutils__/testCleanup.d.ts.map +0 -1
- package/dist/__testutils__/testCleanup.js +0 -87
- package/dist/__testutils__/testCleanup.js.map +0 -1
- package/dist/__testutils__/testClock.d.ts +0 -28
- package/dist/__testutils__/testClock.d.ts.map +0 -1
- package/dist/__testutils__/testClock.js +0 -81
- package/dist/__testutils__/testClock.js.map +0 -1
- package/dist/__testutils__/testFixtures.d.ts +0 -15
- package/dist/__testutils__/testFixtures.d.ts.map +0 -1
- package/dist/__testutils__/testFixtures.js +0 -23
- package/dist/__testutils__/testFixtures.js.map +0 -1
- package/dist/__testutils__/testHome.d.ts +0 -26
- package/dist/__testutils__/testHome.d.ts.map +0 -1
- package/dist/__testutils__/testHome.js +0 -57
- package/dist/__testutils__/testHome.js.map +0 -1
- package/dist/__testutils__/testProcess.d.ts +0 -46
- package/dist/__testutils__/testProcess.d.ts.map +0 -1
- package/dist/__testutils__/testProcess.js +0 -85
- package/dist/__testutils__/testProcess.js.map +0 -1
- package/dist/cdp/protocol.d.ts.map +0 -1
- package/dist/cdp/protocol.js.map +0 -1
- package/dist/cdp/schema.d.ts.map +0 -1
- package/dist/cdp/schema.js.map +0 -1
- package/dist/cdp/types.d.ts.map +0 -1
- package/dist/cdp/types.js.map +0 -1
- package/dist/commands/__tests__/cdp.contract.test.d.ts +0 -24
- package/dist/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
- package/dist/commands/__tests__/cdp.contract.test.js +0 -466
- package/dist/commands/__tests__/cdp.contract.test.js.map +0 -1
- package/dist/commands/__tests__/console.contract.test.d.ts +0 -9
- package/dist/commands/__tests__/console.contract.test.d.ts.map +0 -1
- package/dist/commands/__tests__/console.contract.test.js +0 -118
- package/dist/commands/__tests__/console.contract.test.js.map +0 -1
- package/dist/commands/__tests__/domEval.contract.test.d.ts +0 -17
- package/dist/commands/__tests__/domEval.contract.test.d.ts.map +0 -1
- package/dist/commands/__tests__/domEval.contract.test.js +0 -235
- package/dist/commands/__tests__/domEval.contract.test.js.map +0 -1
- package/dist/commands/__tests__/helpJson.contract.test.d.ts +0 -12
- package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +0 -1
- package/dist/commands/__tests__/helpJson.contract.test.js +0 -121
- package/dist/commands/__tests__/helpJson.contract.test.js.map +0 -1
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +0 -12
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +0 -1
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +0 -121
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +0 -1
- package/dist/commands/cdp.d.ts.map +0 -1
- package/dist/commands/cdp.js.map +0 -1
- package/dist/commands/cleanup.d.ts.map +0 -1
- package/dist/commands/cleanup.js.map +0 -1
- package/dist/commands/console.d.ts.map +0 -1
- package/dist/commands/console.js.map +0 -1
- package/dist/commands/details.d.ts.map +0 -1
- package/dist/commands/details.js.map +0 -1
- package/dist/commands/dom/DomElementResolver.d.ts.map +0 -1
- package/dist/commands/dom/DomElementResolver.js.map +0 -1
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +0 -2
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +0 -1
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +0 -184
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +0 -1
- package/dist/commands/dom/a11y.d.ts.map +0 -1
- package/dist/commands/dom/a11y.js.map +0 -1
- package/dist/commands/dom/evalHelpers.d.ts +0 -38
- package/dist/commands/dom/evalHelpers.d.ts.map +0 -1
- package/dist/commands/dom/evalHelpers.js +0 -121
- package/dist/commands/dom/evalHelpers.js.map +0 -1
- package/dist/commands/dom/form.d.ts.map +0 -1
- package/dist/commands/dom/form.js.map +0 -1
- package/dist/commands/dom/formDiscovery.d.ts +0 -26
- package/dist/commands/dom/formDiscovery.d.ts.map +0 -1
- package/dist/commands/dom/formDiscovery.js.map +0 -1
- package/dist/commands/dom/formFillHelpers.d.ts +0 -186
- package/dist/commands/dom/formFillHelpers.d.ts.map +0 -1
- package/dist/commands/dom/formFillHelpers.js +0 -650
- package/dist/commands/dom/formFillHelpers.js.map +0 -1
- package/dist/commands/dom/formInteraction.d.ts.map +0 -1
- package/dist/commands/dom/formInteraction.js.map +0 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts +0 -59
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +0 -1
- package/dist/commands/dom/formSubmitHelpers.js +0 -163
- package/dist/commands/dom/formSubmitHelpers.js.map +0 -1
- package/dist/commands/dom/formTypes.d.ts +0 -75
- package/dist/commands/dom/formTypes.d.ts.map +0 -1
- package/dist/commands/dom/formTypes.js.map +0 -1
- package/dist/commands/dom/helpers.d.ts +0 -86
- package/dist/commands/dom/helpers.d.ts.map +0 -1
- package/dist/commands/dom/helpers.js +0 -656
- package/dist/commands/dom/helpers.js.map +0 -1
- package/dist/commands/dom/index.d.ts.map +0 -1
- package/dist/commands/dom/index.js.map +0 -1
- package/dist/commands/dom/keyMapping.d.ts +0 -56
- package/dist/commands/dom/keyMapping.d.ts.map +0 -1
- package/dist/commands/dom/keyMapping.js +0 -110
- package/dist/commands/dom/keyMapping.js.map +0 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +0 -79
- package/dist/commands/dom/reactEventHelpers.d.ts.map +0 -1
- package/dist/commands/dom/reactEventHelpers.js +0 -239
- package/dist/commands/dom/reactEventHelpers.js.map +0 -1
- package/dist/commands/dom/screenshotResize.d.ts.map +0 -1
- package/dist/commands/dom/screenshotResize.js.map +0 -1
- package/dist/commands/helpJson.d.ts.map +0 -1
- package/dist/commands/helpJson.js.map +0 -1
- package/dist/commands/machineReadableHelp.d.ts +0 -165
- package/dist/commands/machineReadableHelp.d.ts.map +0 -1
- package/dist/commands/machineReadableHelp.js +0 -252
- package/dist/commands/machineReadableHelp.js.map +0 -1
- package/dist/commands/network/har.d.ts.map +0 -1
- package/dist/commands/network/har.js.map +0 -1
- package/dist/commands/network/index.d.ts.map +0 -1
- package/dist/commands/network/index.js.map +0 -1
- package/dist/commands/network/list.d.ts.map +0 -1
- package/dist/commands/network/list.js.map +0 -1
- package/dist/commands/network/shared.d.ts.map +0 -1
- package/dist/commands/network/shared.js.map +0 -1
- package/dist/commands/network.d.ts +0 -8
- package/dist/commands/network.d.ts.map +0 -1
- package/dist/commands/network.js +0 -216
- package/dist/commands/network.js.map +0 -1
- package/dist/commands/optionBehaviors.d.ts.map +0 -1
- package/dist/commands/optionBehaviors.js.map +0 -1
- package/dist/commands/peek.d.ts.map +0 -1
- package/dist/commands/peek.js.map +0 -1
- package/dist/commands/shared/CommandRunner.d.ts.map +0 -1
- package/dist/commands/shared/CommandRunner.js.map +0 -1
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts +0 -7
- package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +0 -1
- package/dist/commands/shared/__tests__/validation.unit.test.js +0 -141
- package/dist/commands/shared/__tests__/validation.unit.test.js.map +0 -1
- package/dist/commands/shared/commonOptions.d.ts.map +0 -1
- package/dist/commands/shared/commonOptions.js.map +0 -1
- package/dist/commands/shared/daemonErrorHandler.d.ts.map +0 -1
- package/dist/commands/shared/daemonErrorHandler.js.map +0 -1
- package/dist/commands/shared/dataFetcher.d.ts.map +0 -1
- package/dist/commands/shared/dataFetcher.js.map +0 -1
- package/dist/commands/shared/followMode.d.ts.map +0 -1
- package/dist/commands/shared/followMode.js.map +0 -1
- package/dist/commands/shared/landingPage.d.ts.map +0 -1
- package/dist/commands/shared/landingPage.js.map +0 -1
- package/dist/commands/shared/optionTypes.d.ts.map +0 -1
- package/dist/commands/shared/optionTypes.js.map +0 -1
- package/dist/commands/shared/startHelpers.d.ts.map +0 -1
- package/dist/commands/shared/startHelpers.js.map +0 -1
- package/dist/commands/shared/validation.d.ts.map +0 -1
- package/dist/commands/shared/validation.js.map +0 -1
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js.map +0 -1
- package/dist/commands/tail.d.ts.map +0 -1
- package/dist/commands/tail.js.map +0 -1
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/types.js.map +0 -1
- package/dist/commands.d.ts.map +0 -1
- package/dist/commands.js.map +0 -1
- package/dist/connection/__tests__/cdp.contract.test.d.ts +0 -16
- package/dist/connection/__tests__/cdp.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/cdp.contract.test.js +0 -377
- package/dist/connection/__tests__/cdp.contract.test.js.map +0 -1
- package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts +0 -9
- package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts.map +0 -1
- package/dist/connection/__tests__/flagsBuilder.unit.test.js +0 -94
- package/dist/connection/__tests__/flagsBuilder.unit.test.js.map +0 -1
- package/dist/connection/__tests__/handlers.unit.test.d.ts +0 -11
- package/dist/connection/__tests__/handlers.unit.test.d.ts.map +0 -1
- package/dist/connection/__tests__/handlers.unit.test.js +0 -220
- package/dist/connection/__tests__/handlers.unit.test.js.map +0 -1
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +0 -14
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/pageReadiness.contract.test.js +0 -382
- package/dist/connection/__tests__/pageReadiness.contract.test.js.map +0 -1
- package/dist/connection/__tests__/portReservation.contract.test.d.ts +0 -14
- package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/portReservation.contract.test.js +0 -250
- package/dist/connection/__tests__/portReservation.contract.test.js.map +0 -1
- package/dist/connection/cdp.d.ts.map +0 -1
- package/dist/connection/cdp.js.map +0 -1
- package/dist/connection/config.d.ts.map +0 -1
- package/dist/connection/config.js.map +0 -1
- package/dist/connection/diagnostics.d.ts.map +0 -1
- package/dist/connection/diagnostics.js.map +0 -1
- package/dist/connection/errors.d.ts.map +0 -1
- package/dist/connection/errors.js.map +0 -1
- package/dist/connection/events.d.ts.map +0 -1
- package/dist/connection/events.js.map +0 -1
- package/dist/connection/handlers.d.ts.map +0 -1
- package/dist/connection/handlers.js.map +0 -1
- package/dist/connection/launcher/binaryResolver.d.ts.map +0 -1
- package/dist/connection/launcher/binaryResolver.js.map +0 -1
- package/dist/connection/launcher/flagsBuilder.d.ts.map +0 -1
- package/dist/connection/launcher/flagsBuilder.js.map +0 -1
- package/dist/connection/launcher/preferencesLoader.d.ts.map +0 -1
- package/dist/connection/launcher/preferencesLoader.js.map +0 -1
- package/dist/connection/launcher.d.ts.map +0 -1
- package/dist/connection/launcher.js.map +0 -1
- package/dist/connection/pageReadiness.d.ts.map +0 -1
- package/dist/connection/pageReadiness.js.map +0 -1
- package/dist/connection/portReservation.d.ts.map +0 -1
- package/dist/connection/portReservation.js.map +0 -1
- package/dist/connection/typed-cdp.d.ts.map +0 -1
- package/dist/connection/typed-cdp.js.map +0 -1
- package/dist/connection/types.d.ts.map +0 -1
- package/dist/connection/types.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +0 -8
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/JsonlParser.unit.test.js +0 -140
- package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +0 -1
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +0 -8
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +0 -276
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +0 -1
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +0 -8
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js +0 -290
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +0 -1
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +0 -8
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +0 -647
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +0 -1
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +0 -19
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +0 -212
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +0 -1
- package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +0 -23
- package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/ipcServer.contract.test.js +0 -416
- package/dist/daemon/__tests__/ipcServer.contract.test.js.map +0 -1
- package/dist/daemon/__tests__/launcher.unit.test.d.ts +0 -8
- package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +0 -1
- package/dist/daemon/__tests__/launcher.unit.test.js +0 -20
- package/dist/daemon/__tests__/launcher.unit.test.js.map +0 -1
- package/dist/daemon/errors.d.ts.map +0 -1
- package/dist/daemon/errors.js.map +0 -1
- package/dist/daemon/handlers/BaseHandler.d.ts +0 -75
- package/dist/daemon/handlers/BaseHandler.d.ts.map +0 -1
- package/dist/daemon/handlers/BaseHandler.js +0 -103
- package/dist/daemon/handlers/BaseHandler.js.map +0 -1
- package/dist/daemon/handlers/CommandHandlers.d.ts +0 -36
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +0 -1
- package/dist/daemon/handlers/CommandHandlers.js +0 -60
- package/dist/daemon/handlers/CommandHandlers.js.map +0 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts +0 -37
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +0 -1
- package/dist/daemon/handlers/QueryHandlers.js +0 -126
- package/dist/daemon/handlers/QueryHandlers.js.map +0 -1
- package/dist/daemon/handlers/SessionHandlers.d.ts +0 -32
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +0 -1
- package/dist/daemon/handlers/SessionHandlers.js +0 -213
- package/dist/daemon/handlers/SessionHandlers.js.map +0 -1
- package/dist/daemon/handlers/pendingRequests.d.ts +0 -50
- package/dist/daemon/handlers/pendingRequests.d.ts.map +0 -1
- package/dist/daemon/handlers/pendingRequests.js +0 -57
- package/dist/daemon/handlers/pendingRequests.js.map +0 -1
- package/dist/daemon/handlers/requestHandlers.d.ts +0 -55
- package/dist/daemon/handlers/requestHandlers.d.ts.map +0 -1
- package/dist/daemon/handlers/requestHandlers.js +0 -66
- package/dist/daemon/handlers/requestHandlers.js.map +0 -1
- package/dist/daemon/handlers/responseHandler.d.ts +0 -42
- package/dist/daemon/handlers/responseHandler.d.ts.map +0 -1
- package/dist/daemon/handlers/responseHandler.js +0 -217
- package/dist/daemon/handlers/responseHandler.js.map +0 -1
- package/dist/daemon/ipcServer.d.ts.map +0 -1
- package/dist/daemon/ipcServer.js.map +0 -1
- package/dist/daemon/launcher.d.ts.map +0 -1
- package/dist/daemon/launcher.js.map +0 -1
- package/dist/daemon/lifecycle/cdpSetup.d.ts +0 -24
- package/dist/daemon/lifecycle/cdpSetup.d.ts.map +0 -1
- package/dist/daemon/lifecycle/cdpSetup.js +0 -55
- package/dist/daemon/lifecycle/cdpSetup.js.map +0 -1
- package/dist/daemon/lifecycle/chromeConnection.d.ts +0 -17
- package/dist/daemon/lifecycle/chromeConnection.d.ts.map +0 -1
- package/dist/daemon/lifecycle/chromeConnection.js +0 -79
- package/dist/daemon/lifecycle/chromeConnection.js.map +0 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts +0 -14
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +0 -1
- package/dist/daemon/lifecycle/signalHandlers.js +0 -48
- package/dist/daemon/lifecycle/signalHandlers.js.map +0 -1
- package/dist/daemon/lifecycle/workerCleanup.d.ts +0 -27
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +0 -1
- package/dist/daemon/lifecycle/workerCleanup.js +0 -143
- package/dist/daemon/lifecycle/workerCleanup.js.map +0 -1
- package/dist/daemon/lifecycle/workerConfig.d.ts +0 -14
- package/dist/daemon/lifecycle/workerConfig.d.ts.map +0 -1
- package/dist/daemon/lifecycle/workerConfig.js +0 -69
- package/dist/daemon/lifecycle/workerConfig.js.map +0 -1
- package/dist/daemon/lifecycle/workerIpc.d.ts +0 -14
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +0 -1
- package/dist/daemon/lifecycle/workerIpc.js +0 -86
- package/dist/daemon/lifecycle/workerIpc.js.map +0 -1
- package/dist/daemon/patternDefinitions.d.ts.map +0 -1
- package/dist/daemon/patternDefinitions.js.map +0 -1
- package/dist/daemon/patternDetector.d.ts.map +0 -1
- package/dist/daemon/patternDetector.js.map +0 -1
- package/dist/daemon/server/JsonlParser.d.ts +0 -31
- package/dist/daemon/server/JsonlParser.d.ts.map +0 -1
- package/dist/daemon/server/JsonlParser.js +0 -55
- package/dist/daemon/server/JsonlParser.js.map +0 -1
- package/dist/daemon/server/SocketServer.d.ts.map +0 -1
- package/dist/daemon/server/SocketServer.js.map +0 -1
- package/dist/daemon/server/WorkerManager.d.ts +0 -36
- package/dist/daemon/server/WorkerManager.d.ts.map +0 -1
- package/dist/daemon/server/WorkerManager.js +0 -89
- package/dist/daemon/server/WorkerManager.js.map +0 -1
- package/dist/daemon/services/SessionService.d.ts +0 -87
- package/dist/daemon/services/SessionService.d.ts.map +0 -1
- package/dist/daemon/services/SessionService.js +0 -45
- package/dist/daemon/services/SessionService.js.map +0 -1
- package/dist/daemon/startSession.d.ts +0 -55
- package/dist/daemon/startSession.d.ts.map +0 -1
- package/dist/daemon/startSession.js +0 -168
- package/dist/daemon/startSession.js.map +0 -1
- package/dist/daemon/worker/TelemetryStore.d.ts +0 -19
- package/dist/daemon/worker/TelemetryStore.d.ts.map +0 -1
- package/dist/daemon/worker/TelemetryStore.js +0 -53
- package/dist/daemon/worker/TelemetryStore.js.map +0 -1
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +0 -11
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +0 -1
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +0 -136
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +0 -1
- package/dist/daemon/worker/collectors.d.ts.map +0 -1
- package/dist/daemon/worker/collectors.js.map +0 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +0 -1
- package/dist/daemon/worker/commandRegistry.js +0 -236
- package/dist/daemon/worker/commandRegistry.js.map +0 -1
- package/dist/daemon/worker/plugins.d.ts.map +0 -1
- package/dist/daemon/worker/plugins.js +0 -75
- package/dist/daemon/worker/plugins.js.map +0 -1
- package/dist/daemon/worker/types.d.ts.map +0 -1
- package/dist/daemon/worker/types.js.map +0 -1
- package/dist/daemon/worker.d.ts +0 -9
- package/dist/daemon/worker.d.ts.map +0 -1
- package/dist/daemon/worker.js +0 -98
- package/dist/daemon/worker.js.map +0 -1
- package/dist/daemon/workerIpc.d.ts +0 -33
- package/dist/daemon/workerIpc.d.ts.map +0 -1
- package/dist/daemon/workerIpc.js +0 -8
- package/dist/daemon/workerIpc.js.map +0 -1
- package/dist/daemon.d.ts.map +0 -1
- package/dist/daemon.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ipc/__tests__/client.contract.test.d.ts +0 -8
- package/dist/ipc/__tests__/client.contract.test.d.ts.map +0 -1
- package/dist/ipc/__tests__/client.contract.test.js +0 -693
- package/dist/ipc/__tests__/client.contract.test.js.map +0 -1
- package/dist/ipc/__tests__/errors.unit.test.d.ts +0 -7
- package/dist/ipc/__tests__/errors.unit.test.d.ts.map +0 -1
- package/dist/ipc/__tests__/errors.unit.test.js +0 -77
- package/dist/ipc/__tests__/errors.unit.test.js.map +0 -1
- package/dist/ipc/__tests__/guards.unit.test.d.ts +0 -7
- package/dist/ipc/__tests__/guards.unit.test.d.ts.map +0 -1
- package/dist/ipc/__tests__/guards.unit.test.js +0 -73
- package/dist/ipc/__tests__/guards.unit.test.js.map +0 -1
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts +0 -7
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +0 -1
- package/dist/ipc/__tests__/jsonl.unit.test.js +0 -103
- package/dist/ipc/__tests__/jsonl.unit.test.js.map +0 -1
- package/dist/ipc/__tests__/validation.unit.test.d.ts +0 -7
- package/dist/ipc/__tests__/validation.unit.test.d.ts.map +0 -1
- package/dist/ipc/__tests__/validation.unit.test.js +0 -60
- package/dist/ipc/__tests__/validation.unit.test.js.map +0 -1
- package/dist/ipc/client.d.ts.map +0 -1
- package/dist/ipc/client.js.map +0 -1
- package/dist/ipc/index.d.ts.map +0 -1
- package/dist/ipc/index.js.map +0 -1
- package/dist/ipc/protocol/commands.d.ts.map +0 -1
- package/dist/ipc/protocol/commands.js.map +0 -1
- package/dist/ipc/protocol/guards.d.ts.map +0 -1
- package/dist/ipc/protocol/guards.js.map +0 -1
- package/dist/ipc/protocol/index.d.ts.map +0 -1
- package/dist/ipc/protocol/index.js.map +0 -1
- package/dist/ipc/protocol/messages.d.ts.map +0 -1
- package/dist/ipc/protocol/messages.js.map +0 -1
- package/dist/ipc/session/errors.d.ts.map +0 -1
- package/dist/ipc/session/errors.js.map +0 -1
- package/dist/ipc/session/index.d.ts.map +0 -1
- package/dist/ipc/session/index.js.map +0 -1
- package/dist/ipc/session/lifecycle.d.ts.map +0 -1
- package/dist/ipc/session/lifecycle.js.map +0 -1
- package/dist/ipc/session/queries.d.ts.map +0 -1
- package/dist/ipc/session/queries.js.map +0 -1
- package/dist/ipc/session/types.d.ts.map +0 -1
- package/dist/ipc/session/types.js.map +0 -1
- package/dist/ipc/transport/IPCError.d.ts.map +0 -1
- package/dist/ipc/transport/IPCError.js.map +0 -1
- package/dist/ipc/transport/errors.d.ts.map +0 -1
- package/dist/ipc/transport/errors.js.map +0 -1
- package/dist/ipc/transport/index.d.ts.map +0 -1
- package/dist/ipc/transport/index.js.map +0 -1
- package/dist/ipc/transport/jsonl.d.ts.map +0 -1
- package/dist/ipc/transport/jsonl.js.map +0 -1
- package/dist/ipc/transport/socket.d.ts.map +0 -1
- package/dist/ipc/transport/socket.js.map +0 -1
- package/dist/ipc/transport/validation.d.ts.map +0 -1
- package/dist/ipc/transport/validation.js.map +0 -1
- package/dist/ipc/utils/errors.d.ts.map +0 -1
- package/dist/ipc/utils/errors.js.map +0 -1
- package/dist/ipc/utils/index.d.ts.map +0 -1
- package/dist/ipc/utils/index.js.map +0 -1
- package/dist/ipc/utils/requestId.d.ts +0 -23
- package/dist/ipc/utils/requestId.d.ts.map +0 -1
- package/dist/ipc/utils/requestId.js +0 -27
- package/dist/ipc/utils/requestId.js.map +0 -1
- package/dist/ipc/utils/responseValidator.d.ts.map +0 -1
- package/dist/ipc/utils/responseValidator.js.map +0 -1
- package/dist/ipc/utils/session.d.ts.map +0 -1
- package/dist/ipc/utils/session.js.map +0 -1
- package/dist/ipc/utils/types.d.ts.map +0 -1
- package/dist/ipc/utils/types.js.map +0 -1
- package/dist/session/QueryCacheManager.d.ts.map +0 -1
- package/dist/session/QueryCacheManager.js.map +0 -1
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts +0 -7
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +0 -1
- package/dist/session/__tests__/chrome-cache.contract.test.js +0 -77
- package/dist/session/__tests__/chrome-cache.contract.test.js.map +0 -1
- package/dist/session/__tests__/cleanup.contract.test.d.ts +0 -7
- package/dist/session/__tests__/cleanup.contract.test.d.ts.map +0 -1
- package/dist/session/__tests__/cleanup.contract.test.js +0 -84
- package/dist/session/__tests__/cleanup.contract.test.js.map +0 -1
- package/dist/session/__tests__/lock.contract.test.d.ts +0 -7
- package/dist/session/__tests__/lock.contract.test.d.ts.map +0 -1
- package/dist/session/__tests__/lock.contract.test.js +0 -77
- package/dist/session/__tests__/lock.contract.test.js.map +0 -1
- package/dist/session/__tests__/metadata.contract.test.d.ts +0 -7
- package/dist/session/__tests__/metadata.contract.test.d.ts.map +0 -1
- package/dist/session/__tests__/metadata.contract.test.js +0 -87
- package/dist/session/__tests__/metadata.contract.test.js.map +0 -1
- package/dist/session/chrome.d.ts.map +0 -1
- package/dist/session/chrome.js.map +0 -1
- package/dist/session/cleanup.d.ts +0 -141
- package/dist/session/cleanup.d.ts.map +0 -1
- package/dist/session/cleanup.js +0 -514
- package/dist/session/cleanup.js.map +0 -1
- package/dist/session/lock.d.ts +0 -57
- package/dist/session/lock.d.ts.map +0 -1
- package/dist/session/lock.js +0 -165
- package/dist/session/lock.js.map +0 -1
- package/dist/session/metadata.d.ts.map +0 -1
- package/dist/session/metadata.js.map +0 -1
- package/dist/session/output.d.ts +0 -18
- package/dist/session/output.d.ts.map +0 -1
- package/dist/session/output.js +0 -24
- package/dist/session/output.js.map +0 -1
- package/dist/session/paths.d.ts.map +0 -1
- package/dist/session/paths.js.map +0 -1
- package/dist/session/pid.d.ts.map +0 -1
- package/dist/session/pid.js.map +0 -1
- package/dist/session/port.d.ts.map +0 -1
- package/dist/session/port.js.map +0 -1
- package/dist/session/process.d.ts +0 -8
- package/dist/session/process.d.ts.map +0 -1
- package/dist/session/process.js +0 -8
- package/dist/session/process.js.map +0 -1
- package/dist/session/queryCache.d.ts +0 -46
- package/dist/session/queryCache.d.ts.map +0 -1
- package/dist/session/queryCache.js +0 -54
- package/dist/session/queryCache.js.map +0 -1
- package/dist/session/statusData.d.ts.map +0 -1
- package/dist/session/statusData.js.map +0 -1
- package/dist/telemetry/__tests__/a11y.unit.test.d.ts +0 -10
- package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/a11y.unit.test.js +0 -265
- package/dist/telemetry/__tests__/a11y.unit.test.js.map +0 -1
- package/dist/telemetry/__tests__/filters.unit.test.d.ts +0 -2
- package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/filters.unit.test.js +0 -357
- package/dist/telemetry/__tests__/filters.unit.test.js.map +0 -1
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts +0 -8
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/navigation.contract.test.js +0 -211
- package/dist/telemetry/__tests__/navigation.contract.test.js.map +0 -1
- package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -8
- package/dist/telemetry/__tests__/network.contract.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/network.contract.test.js +0 -623
- package/dist/telemetry/__tests__/network.contract.test.js.map +0 -1
- package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +0 -2
- package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/remoteObject.unit.test.js +0 -261
- package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +0 -1
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +0 -9
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/roleInference.unit.test.js +0 -138
- package/dist/telemetry/__tests__/roleInference.unit.test.js.map +0 -1
- package/dist/telemetry/__tests__/utils.unit.test.d.ts +0 -7
- package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/utils.unit.test.js +0 -91
- package/dist/telemetry/__tests__/utils.unit.test.js.map +0 -1
- package/dist/telemetry/a11y.d.ts.map +0 -1
- package/dist/telemetry/a11y.js.map +0 -1
- package/dist/telemetry/console.d.ts.map +0 -1
- package/dist/telemetry/console.js.map +0 -1
- package/dist/telemetry/dialogs.d.ts.map +0 -1
- package/dist/telemetry/dialogs.js.map +0 -1
- package/dist/telemetry/dom.d.ts.map +0 -1
- package/dist/telemetry/dom.js.map +0 -1
- package/dist/telemetry/filterDsl.d.ts.map +0 -1
- package/dist/telemetry/filterDsl.js.map +0 -1
- package/dist/telemetry/filterPresets.d.ts.map +0 -1
- package/dist/telemetry/filterPresets.js.map +0 -1
- package/dist/telemetry/filters.d.ts.map +0 -1
- package/dist/telemetry/filters.js.map +0 -1
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +0 -8
- package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +0 -1
- package/dist/telemetry/har/__tests__/builder.unit.test.js +0 -694
- package/dist/telemetry/har/__tests__/builder.unit.test.js.map +0 -1
- package/dist/telemetry/har/builder.d.ts.map +0 -1
- package/dist/telemetry/har/builder.js.map +0 -1
- package/dist/telemetry/har/types.d.ts.map +0 -1
- package/dist/telemetry/har/types.js.map +0 -1
- package/dist/telemetry/navigation.d.ts.map +0 -1
- package/dist/telemetry/navigation.js.map +0 -1
- package/dist/telemetry/network.d.ts.map +0 -1
- package/dist/telemetry/network.js.map +0 -1
- package/dist/telemetry/objectExpander.d.ts.map +0 -1
- package/dist/telemetry/objectExpander.js.map +0 -1
- package/dist/telemetry/remoteObject.d.ts.map +0 -1
- package/dist/telemetry/remoteObject.js.map +0 -1
- package/dist/telemetry/remoteObjectUtils.d.ts.map +0 -1
- package/dist/telemetry/remoteObjectUtils.js.map +0 -1
- package/dist/telemetry/roleInference.d.ts.map +0 -1
- package/dist/telemetry/roleInference.js.map +0 -1
- package/dist/telemetry/utils.d.ts.map +0 -1
- package/dist/telemetry/utils.js.map +0 -1
- package/dist/types/dom.d.ts +0 -77
- package/dist/types/dom.d.ts.map +0 -1
- package/dist/types/dom.js +0 -8
- package/dist/types/dom.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/ui/OutputBuilder.d.ts.map +0 -1
- package/dist/ui/OutputBuilder.js.map +0 -1
- package/dist/ui/errors/CommandError.d.ts.map +0 -1
- package/dist/ui/errors/CommandError.js.map +0 -1
- package/dist/ui/errors/index.d.ts.map +0 -1
- package/dist/ui/errors/index.js.map +0 -1
- package/dist/ui/errors/utils.d.ts.map +0 -1
- package/dist/ui/errors/utils.js.map +0 -1
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +0 -13
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +0 -1
- package/dist/ui/formatters/__tests__/preview.unit.test.js +0 -180
- package/dist/ui/formatters/__tests__/preview.unit.test.js.map +0 -1
- package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +0 -2
- package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +0 -1
- package/dist/ui/formatters/__tests__/semantic.unit.test.js +0 -111
- package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +0 -1
- package/dist/ui/formatters/a11y.d.ts.map +0 -1
- package/dist/ui/formatters/a11y.js.map +0 -1
- package/dist/ui/formatters/console.d.ts.map +0 -1
- package/dist/ui/formatters/console.js.map +0 -1
- package/dist/ui/formatters/cookies.d.ts.map +0 -1
- package/dist/ui/formatters/cookies.js.map +0 -1
- package/dist/ui/formatters/details.d.ts.map +0 -1
- package/dist/ui/formatters/details.js.map +0 -1
- package/dist/ui/formatters/dom.d.ts.map +0 -1
- package/dist/ui/formatters/dom.js.map +0 -1
- package/dist/ui/formatters/form.d.ts.map +0 -1
- package/dist/ui/formatters/form.js.map +0 -1
- package/dist/ui/formatters/helpFormatters.d.ts.map +0 -1
- package/dist/ui/formatters/helpFormatters.js.map +0 -1
- package/dist/ui/formatters/index.d.ts.map +0 -1
- package/dist/ui/formatters/index.js.map +0 -1
- package/dist/ui/formatters/networkHeaders.d.ts.map +0 -1
- package/dist/ui/formatters/networkHeaders.js.map +0 -1
- package/dist/ui/formatters/networkList.d.ts.map +0 -1
- package/dist/ui/formatters/networkList.js.map +0 -1
- package/dist/ui/formatters/preview.d.ts.map +0 -1
- package/dist/ui/formatters/preview.js.map +0 -1
- package/dist/ui/formatters/semantic.d.ts.map +0 -1
- package/dist/ui/formatters/semantic.js.map +0 -1
- package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
- package/dist/ui/formatters/sessionFormatters.js.map +0 -1
- package/dist/ui/formatters/status.d.ts.map +0 -1
- package/dist/ui/formatters/status.js.map +0 -1
- package/dist/ui/formatting.d.ts.map +0 -1
- package/dist/ui/formatting.js.map +0 -1
- package/dist/ui/logging/index.d.ts.map +0 -1
- package/dist/ui/logging/index.js.map +0 -1
- package/dist/ui/logging/logger.d.ts.map +0 -1
- package/dist/ui/logging/logger.js.map +0 -1
- package/dist/ui/messages/chrome.d.ts.map +0 -1
- package/dist/ui/messages/chrome.js.map +0 -1
- package/dist/ui/messages/commands.d.ts.map +0 -1
- package/dist/ui/messages/commands.js.map +0 -1
- package/dist/ui/messages/consoleMessages.d.ts.map +0 -1
- package/dist/ui/messages/consoleMessages.js.map +0 -1
- package/dist/ui/messages/debug.d.ts +0 -168
- package/dist/ui/messages/debug.d.ts.map +0 -1
- package/dist/ui/messages/debug.js +0 -219
- package/dist/ui/messages/debug.js.map +0 -1
- package/dist/ui/messages/dom.d.ts +0 -14
- package/dist/ui/messages/dom.d.ts.map +0 -1
- package/dist/ui/messages/dom.js +0 -28
- package/dist/ui/messages/dom.js.map +0 -1
- package/dist/ui/messages/errors.d.ts +0 -233
- package/dist/ui/messages/errors.d.ts.map +0 -1
- package/dist/ui/messages/errors.js +0 -395
- package/dist/ui/messages/errors.js.map +0 -1
- package/dist/ui/messages/hints.d.ts.map +0 -1
- package/dist/ui/messages/hints.js.map +0 -1
- package/dist/ui/messages/internal.d.ts +0 -23
- package/dist/ui/messages/internal.d.ts.map +0 -1
- package/dist/ui/messages/internal.js +0 -27
- package/dist/ui/messages/internal.js.map +0 -1
- package/dist/ui/messages/networkMessages.d.ts.map +0 -1
- package/dist/ui/messages/networkMessages.js.map +0 -1
- package/dist/ui/messages/preview.d.ts.map +0 -1
- package/dist/ui/messages/preview.js.map +0 -1
- package/dist/ui/messages/session.d.ts.map +0 -1
- package/dist/ui/messages/session.js.map +0 -1
- package/dist/ui/messages/validation.d.ts.map +0 -1
- package/dist/ui/messages/validation.js.map +0 -1
- package/dist/utils/__tests__/atomicFile.test.d.ts +0 -2
- package/dist/utils/__tests__/atomicFile.test.d.ts.map +0 -1
- package/dist/utils/__tests__/atomicFile.test.js +0 -43
- package/dist/utils/__tests__/atomicFile.test.js.map +0 -1
- package/dist/utils/__tests__/errors.unit.test.d.ts +0 -12
- package/dist/utils/__tests__/errors.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/errors.unit.test.js +0 -255
- package/dist/utils/__tests__/errors.unit.test.js.map +0 -1
- package/dist/utils/__tests__/http.unit.test.d.ts +0 -12
- package/dist/utils/__tests__/http.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/http.unit.test.js +0 -218
- package/dist/utils/__tests__/http.unit.test.js.map +0 -1
- package/dist/utils/__tests__/objects.test.d.ts +0 -2
- package/dist/utils/__tests__/objects.test.d.ts.map +0 -1
- package/dist/utils/__tests__/objects.test.js +0 -50
- package/dist/utils/__tests__/objects.test.js.map +0 -1
- package/dist/utils/__tests__/process.unit.test.d.ts +0 -14
- package/dist/utils/__tests__/process.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/process.unit.test.js +0 -124
- package/dist/utils/__tests__/process.unit.test.js.map +0 -1
- package/dist/utils/__tests__/session.contract.test.d.ts +0 -2
- package/dist/utils/__tests__/session.contract.test.d.ts.map +0 -1
- package/dist/utils/__tests__/session.contract.test.js +0 -258
- package/dist/utils/__tests__/session.contract.test.js.map +0 -1
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts +0 -12
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/shellDetection.unit.test.js +0 -220
- package/dist/utils/__tests__/shellDetection.unit.test.js.map +0 -1
- package/dist/utils/__tests__/url.test.d.ts +0 -2
- package/dist/utils/__tests__/url.test.d.ts.map +0 -1
- package/dist/utils/__tests__/url.test.js +0 -42
- package/dist/utils/__tests__/url.test.js.map +0 -1
- package/dist/utils/async.d.ts.map +0 -1
- package/dist/utils/async.js.map +0 -1
- package/dist/utils/atomicFile.d.ts.map +0 -1
- package/dist/utils/atomicFile.js.map +0 -1
- package/dist/utils/concurrency.d.ts.map +0 -1
- package/dist/utils/concurrency.js.map +0 -1
- package/dist/utils/daemonErrors.d.ts +0 -60
- package/dist/utils/daemonErrors.d.ts.map +0 -1
- package/dist/utils/daemonErrors.js +0 -58
- package/dist/utils/daemonErrors.js.map +0 -1
- package/dist/utils/decisionTrees.d.ts.map +0 -1
- package/dist/utils/decisionTrees.js.map +0 -1
- package/dist/utils/errorMapping.d.ts.map +0 -1
- package/dist/utils/errorMapping.js.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/exitCodes.d.ts.map +0 -1
- package/dist/utils/exitCodes.js.map +0 -1
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/file.js.map +0 -1
- package/dist/utils/http.d.ts.map +0 -1
- package/dist/utils/http.js.map +0 -1
- package/dist/utils/levenshtein.d.ts.map +0 -1
- package/dist/utils/levenshtein.js.map +0 -1
- package/dist/utils/objects.d.ts.map +0 -1
- package/dist/utils/objects.js.map +0 -1
- package/dist/utils/process.d.ts.map +0 -1
- package/dist/utils/process.js.map +0 -1
- package/dist/utils/shellDetection.d.ts.map +0 -1
- package/dist/utils/shellDetection.js.map +0 -1
- package/dist/utils/strings.d.ts.map +0 -1
- package/dist/utils/strings.js.map +0 -1
- package/dist/utils/suggestions.d.ts.map +0 -1
- package/dist/utils/suggestions.js.map +0 -1
- package/dist/utils/taskMappings.d.ts.map +0 -1
- package/dist/utils/taskMappings.js.map +0 -1
- package/dist/utils/typeGuards.d.ts.map +0 -1
- package/dist/utils/typeGuards.js.map +0 -1
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js.map +0 -1
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js.map +0 -1
- /package/dist/daemon/{worker → session}/commandRegistry.d.ts +0 -0
- /package/dist/daemon/{worker → session}/types.js +0 -0
- /package/dist/{ui/errors → errors}/CommandError.d.ts +0 -0
- /package/dist/{ui/errors → errors}/index.js +0 -0
- /package/dist/{ui/errors → errors}/utils.d.ts +0 -0
- /package/dist/{commands → runtime}/dom/formTypes.js +0 -0
package/dist/constants.js
CHANGED
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
* Default Chrome debugging port
|
|
12
12
|
*/
|
|
13
13
|
export const DEFAULT_CDP_PORT = 9222;
|
|
14
|
-
/**
|
|
15
|
-
* Default Chrome debugging port (string version for CLI argument parsing)
|
|
16
|
-
* Derived from DEFAULT_CDP_PORT to maintain single source of truth
|
|
17
|
-
*/
|
|
18
|
-
export const DEFAULT_DEBUG_PORT = String(DEFAULT_CDP_PORT);
|
|
19
14
|
/**
|
|
20
15
|
* Default Chrome launcher log level for quiet operation
|
|
21
16
|
*/
|
|
@@ -66,7 +61,6 @@ export const DOCKER_CHROME_FLAGS = [
|
|
|
66
61
|
'--disable-gpu', // Disable GPU hardware acceleration
|
|
67
62
|
'--disable-dev-shm-usage', // Overcome limited resource problems in Docker
|
|
68
63
|
'--disable-software-rasterizer', // Don't fall back to software rendering
|
|
69
|
-
'--single-process', // Run Chrome in single-process mode (safer in containers)
|
|
70
64
|
];
|
|
71
65
|
/**
|
|
72
66
|
* BDG-specific Chrome preferences for automation
|
|
@@ -140,16 +134,6 @@ export const CHROME_POST_DATA_LIMIT = 1 * 1024 * 1024; // 1MB
|
|
|
140
134
|
// ============================================================================
|
|
141
135
|
// TIMEOUTS & INTERVALS
|
|
142
136
|
// ============================================================================
|
|
143
|
-
/**
|
|
144
|
-
* Stale network request timeout (60 seconds)
|
|
145
|
-
* Network requests incomplete after this duration are cleaned up
|
|
146
|
-
*/
|
|
147
|
-
export const STALE_REQUEST_TIMEOUT = 60000;
|
|
148
|
-
/**
|
|
149
|
-
* Stale request cleanup interval (30 seconds)
|
|
150
|
-
* How often to check for and remove stale network requests
|
|
151
|
-
*/
|
|
152
|
-
export const STALE_REQUEST_CLEANUP_INTERVAL = 30000;
|
|
153
137
|
/**
|
|
154
138
|
* Default page readiness timeout (2 seconds)
|
|
155
139
|
* Maximum time to wait for page to be ready before proceeding
|
|
@@ -160,15 +144,12 @@ export const DEFAULT_PAGE_READINESS_TIMEOUT_MS = 2000;
|
|
|
160
144
|
// IPC CONFIGURATION
|
|
161
145
|
// ============================================================================
|
|
162
146
|
/**
|
|
163
|
-
* Maximum JSONL
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* Set to 50MB to accommodate large screenshots (base64-encoded full-page captures
|
|
168
|
-
* of content-heavy pages like Amazon can exceed 10MB).
|
|
169
|
-
* Matches CHROME_NETWORK_BUFFER_TOTAL for consistency.
|
|
147
|
+
* Maximum size of one JSONL message from the daemon (256 MB, below V8's
|
|
148
|
+
* maximum string length so joining a message cannot fail).
|
|
149
|
+
* Guards against a process sending data without newlines; large enough for
|
|
150
|
+
* HAR exports of long sessions with response bodies (`--all`).
|
|
170
151
|
*/
|
|
171
|
-
export const MAX_JSONL_BUFFER_SIZE =
|
|
152
|
+
export const MAX_JSONL_BUFFER_SIZE = 256 * 1024 * 1024;
|
|
172
153
|
/**
|
|
173
154
|
* IPC request timeout in milliseconds (45 seconds in production, 5 seconds in tests)
|
|
174
155
|
* Maximum time to wait for IPC responses from daemon
|
|
@@ -184,6 +165,17 @@ export function getIPCRequestTimeout() {
|
|
|
184
165
|
? parseInt(process.env['BDG_IPC_TIMEOUT_MS'], 10)
|
|
185
166
|
: 45000;
|
|
186
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Timeout for small requests the daemon answers from memory (status, peek,
|
|
170
|
+
* details, headers): a daemon that does not answer these within seconds is
|
|
171
|
+
* not responding, so commands do not wait the full IPC timeout. HAR data is
|
|
172
|
+
* excluded: a large session's requests and bodies take longer to transfer.
|
|
173
|
+
*
|
|
174
|
+
* @returns Timeout in milliseconds (10 s, or the IPC timeout if shorter)
|
|
175
|
+
*/
|
|
176
|
+
export function getQuickIPCRequestTimeout() {
|
|
177
|
+
return Math.min(10000, getIPCRequestTimeout());
|
|
178
|
+
}
|
|
187
179
|
// ============================================================================
|
|
188
180
|
// CLI OPTION DESCRIPTIONS
|
|
189
181
|
// ============================================================================
|
|
@@ -210,12 +202,23 @@ export const RESOURCE_TYPE_ABBREVIATIONS = {
|
|
|
210
202
|
WebSocket: 'WS',
|
|
211
203
|
Manifest: 'MAN',
|
|
212
204
|
SignedExchange: 'SGX',
|
|
213
|
-
Ping: '
|
|
205
|
+
Ping: 'PIN',
|
|
214
206
|
CSPViolationReport: 'CSP',
|
|
215
207
|
Preflight: 'FLT',
|
|
216
208
|
FedCM: 'FED',
|
|
217
209
|
Other: 'OTH',
|
|
218
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* The CDP resource type a user means: its name or its abbreviation from
|
|
213
|
+
* `network list` (`WS`, `DOC`, `FET`), in any case.
|
|
214
|
+
*
|
|
215
|
+
* @param name - Type as typed
|
|
216
|
+
* @returns CDP resource type, or undefined if unknown
|
|
217
|
+
*/
|
|
218
|
+
export function resourceTypeFromName(name) {
|
|
219
|
+
const wanted = name.trim().toLowerCase();
|
|
220
|
+
return Object.entries(RESOURCE_TYPE_ABBREVIATIONS).find(([type, abbreviation]) => type.toLowerCase() === wanted || abbreviation.toLowerCase() === wanted)?.[0];
|
|
221
|
+
}
|
|
219
222
|
/**
|
|
220
223
|
* Rules for inferring resource types from MIME patterns.
|
|
221
224
|
* Ordered by precedence (first match wins).
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon request handling for the single in-process session.
|
|
3
|
+
*
|
|
4
|
+
* Maps each client IPC request to a response object. Holds the current
|
|
5
|
+
* {@link Session} and asks the daemon to shut down when the session ends,
|
|
6
|
+
* since the daemon's lifetime is the session's lifetime.
|
|
7
|
+
*/
|
|
8
|
+
import { type SessionEndReason } from './session/Session.js';
|
|
9
|
+
import { type ClientRequestUnion, type HandshakeRequest, type HandshakeResponse, type HARDataRequest, type HARDataResponse, type PeekRequest, type PeekResponse, type StartSessionRequest, type StartSessionResponse, type StatusRequest, type StatusResponse, type StopSessionRequest, type StopSessionResponse } from '../ipc/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Owns the daemon's session and answers client requests.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SessionController {
|
|
14
|
+
private readonly daemonStartTime;
|
|
15
|
+
private readonly socketPath;
|
|
16
|
+
private readonly onSessionEnded;
|
|
17
|
+
private session;
|
|
18
|
+
private launching;
|
|
19
|
+
private closing;
|
|
20
|
+
/**
|
|
21
|
+
* @param daemonStartTime - Daemon start timestamp (ms)
|
|
22
|
+
* @param socketPath - Daemon socket path, reported in status
|
|
23
|
+
* @param onSessionEnded - Called once the session has ended or failed to start
|
|
24
|
+
*/
|
|
25
|
+
constructor(daemonStartTime: number, socketPath: string, onSessionEnded: (reason: SessionEndReason) => void);
|
|
26
|
+
/**
|
|
27
|
+
* Whether no session is running or starting.
|
|
28
|
+
*
|
|
29
|
+
* @returns True if the daemon hosts nothing
|
|
30
|
+
*/
|
|
31
|
+
isIdle(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Reject any further start requests (the daemon is shutting down).
|
|
34
|
+
*/
|
|
35
|
+
refuseNewSessions(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Stop the session if one is running or launching (used on daemon shutdown).
|
|
38
|
+
*
|
|
39
|
+
* @returns True if a session was stopped
|
|
40
|
+
*/
|
|
41
|
+
stopActiveSession(): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Error fields for a request that needs the session when there is none:
|
|
44
|
+
* still starting (85), or none at all.
|
|
45
|
+
*
|
|
46
|
+
* @returns Error message, plus exit code and suggestion while starting
|
|
47
|
+
*/
|
|
48
|
+
private noSessionError;
|
|
49
|
+
/**
|
|
50
|
+
* Respond to a handshake.
|
|
51
|
+
*
|
|
52
|
+
* @param request - Handshake request
|
|
53
|
+
* @returns Handshake response
|
|
54
|
+
*/
|
|
55
|
+
handshake(request: HandshakeRequest): HandshakeResponse;
|
|
56
|
+
/**
|
|
57
|
+
* Report daemon status, enriched with live session activity when available.
|
|
58
|
+
*
|
|
59
|
+
* @param request - Status request
|
|
60
|
+
* @returns Status response
|
|
61
|
+
*/
|
|
62
|
+
status(request: StatusRequest): Promise<StatusResponse>;
|
|
63
|
+
/**
|
|
64
|
+
* Return a preview of recent telemetry.
|
|
65
|
+
*
|
|
66
|
+
* @param request - Peek request
|
|
67
|
+
* @returns Peek response
|
|
68
|
+
*/
|
|
69
|
+
peek(request: PeekRequest): Promise<PeekResponse>;
|
|
70
|
+
/**
|
|
71
|
+
* Return all captured network requests for HAR export.
|
|
72
|
+
*
|
|
73
|
+
* @param request - HAR data request
|
|
74
|
+
* @returns HAR data response
|
|
75
|
+
*/
|
|
76
|
+
harData(request: HARDataRequest): Promise<HARDataResponse>;
|
|
77
|
+
/**
|
|
78
|
+
* Execute a session command (dom_*, cdp_call, session_details, ...).
|
|
79
|
+
*
|
|
80
|
+
* @param request - Command request
|
|
81
|
+
* @returns Command response, forwarding exit code and suggestion on failure
|
|
82
|
+
*/
|
|
83
|
+
command(request: ClientRequestUnion): Promise<unknown>;
|
|
84
|
+
/**
|
|
85
|
+
* Start a session, or report the one already running.
|
|
86
|
+
*
|
|
87
|
+
* A start whose client disconnects (Ctrl-C) is abandoned: the session is
|
|
88
|
+
* stopped, whether it is still launching or has just started, since nobody
|
|
89
|
+
* learns that it exists.
|
|
90
|
+
*
|
|
91
|
+
* @param request - Start session request
|
|
92
|
+
* @param abandoned - Aborted when the requesting client disconnects
|
|
93
|
+
* @returns Start session response
|
|
94
|
+
*/
|
|
95
|
+
startSession(request: StartSessionRequest, abandoned?: AbortSignal): Promise<StartSessionResponse>;
|
|
96
|
+
/**
|
|
97
|
+
* Create and launch a session, mapping the outcome to response fields.
|
|
98
|
+
*
|
|
99
|
+
* @param request - Start session request
|
|
100
|
+
* @param onCreated - Receives the session before launch, so it can be stopped mid-launch
|
|
101
|
+
* @returns Status plus data or error fields for the start response
|
|
102
|
+
*/
|
|
103
|
+
private launchSession;
|
|
104
|
+
/**
|
|
105
|
+
* Stop the running session, or abort one that is still launching.
|
|
106
|
+
*
|
|
107
|
+
* @param request - Stop session request
|
|
108
|
+
* @returns Stop session response
|
|
109
|
+
*/
|
|
110
|
+
stopSession(request: StopSessionRequest): Promise<StopSessionResponse>;
|
|
111
|
+
/**
|
|
112
|
+
* React to the session ending (stop, crash, or timeout).
|
|
113
|
+
*
|
|
114
|
+
* @param reason - Why the session ended
|
|
115
|
+
*/
|
|
116
|
+
private handleSessionEnded;
|
|
117
|
+
/**
|
|
118
|
+
* Build the error part of a start response when a session already exists.
|
|
119
|
+
*
|
|
120
|
+
* @param request - Start session request
|
|
121
|
+
* @returns Error message, code and existing-session details
|
|
122
|
+
*/
|
|
123
|
+
private describeExistingSession;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=SessionController.d.ts.map
|
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon request handling for the single in-process session.
|
|
3
|
+
*
|
|
4
|
+
* Maps each client IPC request to a response object. Holds the current
|
|
5
|
+
* {@link Session} and asks the daemon to shut down when the session ends,
|
|
6
|
+
* since the daemon's lifetime is the session's lifetime.
|
|
7
|
+
*/
|
|
8
|
+
import { CDPConnectionError, CDPProtocolError, ChromeLaunchError, ConnectionError, } from '../connection/errors.js';
|
|
9
|
+
import { Session, StartCancelledError } from './session/Session.js';
|
|
10
|
+
import { detectTargetMismatch } from './session/targetMismatch.js';
|
|
11
|
+
import { CommandError } from '../errors/index.js';
|
|
12
|
+
import { LAUNCHED_CHROME_DESCRIPTION, cdpRequestRejectedError, sessionEndedDuringCommandError, } from '../errors/messages.js';
|
|
13
|
+
import { IPCErrorCode, } from '../ipc/index.js';
|
|
14
|
+
import { clearLastSessionEnd, writeLastSessionEnd } from '../session/lastSession.js';
|
|
15
|
+
import { createLogger } from '../ui/logging/index.js';
|
|
16
|
+
import { formatChromeIssue } from '../ui/messages/chrome.js';
|
|
17
|
+
import { getErrorMessage } from '../utils/errors.js';
|
|
18
|
+
import { EXIT_CODES } from '../utils/exitCodes.js';
|
|
19
|
+
import { filterDefined } from '../utils/objects.js';
|
|
20
|
+
const log = createLogger('daemon');
|
|
21
|
+
const NO_SESSION_ERROR = 'No active session';
|
|
22
|
+
/** Error for requests that need the session while `bdg <url>` is still starting it */
|
|
23
|
+
const STARTING_ERROR = 'The session is still starting';
|
|
24
|
+
const COMMAND_TIMEOUT_MS = 30000;
|
|
25
|
+
const QUERY_TIMEOUT_MS = 5000;
|
|
26
|
+
/**
|
|
27
|
+
* Run a promise with a timeout, clearing the timer either way.
|
|
28
|
+
*
|
|
29
|
+
* @param promise - Work to wait for
|
|
30
|
+
* @param timeoutMs - Timeout in milliseconds
|
|
31
|
+
* @param label - Operation name for the timeout message
|
|
32
|
+
* @returns The promise's result
|
|
33
|
+
* @throws Error when the timeout elapses first
|
|
34
|
+
*/
|
|
35
|
+
async function withTimeout(promise, timeoutMs, label) {
|
|
36
|
+
let timer;
|
|
37
|
+
const timeout = new Promise((_, reject) => {
|
|
38
|
+
timer = setTimeout(() => reject(new Error(`${label} timeout (${timeoutMs / 1000}s)`)), timeoutMs);
|
|
39
|
+
});
|
|
40
|
+
try {
|
|
41
|
+
return await Promise.race([promise, timeout]);
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
clearTimeout(timer);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Describe a session start failure for the client.
|
|
49
|
+
*
|
|
50
|
+
* @param error - Error thrown while starting
|
|
51
|
+
* @returns Human-readable message
|
|
52
|
+
*/
|
|
53
|
+
function describeStartError(error) {
|
|
54
|
+
if (error instanceof ConnectionError && error.issue) {
|
|
55
|
+
return formatChromeIssue(error.issue);
|
|
56
|
+
}
|
|
57
|
+
if (error instanceof CommandError) {
|
|
58
|
+
const suggestion = error.metadata['suggestion'];
|
|
59
|
+
return typeof suggestion === 'string' ? `${error.message}\n${suggestion}` : error.message;
|
|
60
|
+
}
|
|
61
|
+
return getErrorMessage(error);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Error fields of a failed launch: cancelled by a stop, a start URL that could
|
|
65
|
+
* not be loaded, or a launch failure.
|
|
66
|
+
*
|
|
67
|
+
* @param error - Error the launch failed with
|
|
68
|
+
* @returns Message, IPC error code, and the exit code of a user-facing error
|
|
69
|
+
*/
|
|
70
|
+
function describeLaunchFailure(error) {
|
|
71
|
+
if (error instanceof StartCancelledError) {
|
|
72
|
+
return { message: error.message, errorCode: IPCErrorCode.SESSION_START_CANCELLED };
|
|
73
|
+
}
|
|
74
|
+
const navigationFailed = error instanceof CommandError && error.exitCode === EXIT_CODES.INVALID_URL;
|
|
75
|
+
return {
|
|
76
|
+
message: describeStartError(error),
|
|
77
|
+
errorCode: navigationFailed
|
|
78
|
+
? IPCErrorCode.NAVIGATION_FAILED
|
|
79
|
+
: IPCErrorCode.SESSION_START_FAILED,
|
|
80
|
+
...(error instanceof CommandError && !navigationFailed && { exitCode: error.exitCode }),
|
|
81
|
+
...(error instanceof ChromeLaunchError && { exitCode: EXIT_CODES.CHROME_LAUNCH_FAILURE }),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Owns the daemon's session and answers client requests.
|
|
86
|
+
*/
|
|
87
|
+
export class SessionController {
|
|
88
|
+
daemonStartTime;
|
|
89
|
+
socketPath;
|
|
90
|
+
onSessionEnded;
|
|
91
|
+
session = null;
|
|
92
|
+
launching = null;
|
|
93
|
+
closing = false;
|
|
94
|
+
/**
|
|
95
|
+
* @param daemonStartTime - Daemon start timestamp (ms)
|
|
96
|
+
* @param socketPath - Daemon socket path, reported in status
|
|
97
|
+
* @param onSessionEnded - Called once the session has ended or failed to start
|
|
98
|
+
*/
|
|
99
|
+
constructor(daemonStartTime, socketPath, onSessionEnded) {
|
|
100
|
+
this.daemonStartTime = daemonStartTime;
|
|
101
|
+
this.socketPath = socketPath;
|
|
102
|
+
this.onSessionEnded = onSessionEnded;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Whether no session is running or starting.
|
|
106
|
+
*
|
|
107
|
+
* @returns True if the daemon hosts nothing
|
|
108
|
+
*/
|
|
109
|
+
isIdle() {
|
|
110
|
+
return !this.session && !this.launching;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Reject any further start requests (the daemon is shutting down).
|
|
114
|
+
*/
|
|
115
|
+
refuseNewSessions() {
|
|
116
|
+
this.closing = true;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Stop the session if one is running or launching (used on daemon shutdown).
|
|
120
|
+
*
|
|
121
|
+
* @returns True if a session was stopped
|
|
122
|
+
*/
|
|
123
|
+
async stopActiveSession() {
|
|
124
|
+
this.closing = true;
|
|
125
|
+
const launching = this.launching;
|
|
126
|
+
const session = this.session ?? launching?.session;
|
|
127
|
+
if (!session && !launching)
|
|
128
|
+
return false;
|
|
129
|
+
await session?.stop('normal');
|
|
130
|
+
await launching?.done;
|
|
131
|
+
await this.session?.stop('normal');
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Error fields for a request that needs the session when there is none:
|
|
136
|
+
* still starting (85), or none at all.
|
|
137
|
+
*
|
|
138
|
+
* @returns Error message, plus exit code and suggestion while starting
|
|
139
|
+
*/
|
|
140
|
+
noSessionError() {
|
|
141
|
+
if (!this.launching)
|
|
142
|
+
return { error: NO_SESSION_ERROR };
|
|
143
|
+
return {
|
|
144
|
+
error: STARTING_ERROR,
|
|
145
|
+
exitCode: EXIT_CODES.RESOURCE_BUSY,
|
|
146
|
+
suggestion: 'Wait until "bdg <url>" returns, then retry',
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Respond to a handshake.
|
|
151
|
+
*
|
|
152
|
+
* @param request - Handshake request
|
|
153
|
+
* @returns Handshake response
|
|
154
|
+
*/
|
|
155
|
+
handshake(request) {
|
|
156
|
+
return {
|
|
157
|
+
type: 'handshake_response',
|
|
158
|
+
sessionId: request.sessionId,
|
|
159
|
+
status: 'ok',
|
|
160
|
+
message: 'Handshake successful',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Report daemon status, enriched with live session activity when available.
|
|
165
|
+
*
|
|
166
|
+
* @param request - Status request
|
|
167
|
+
* @returns Status response
|
|
168
|
+
*/
|
|
169
|
+
async status(request) {
|
|
170
|
+
const data = {
|
|
171
|
+
daemonPid: process.pid,
|
|
172
|
+
daemonStartTime: this.daemonStartTime,
|
|
173
|
+
socketPath: this.socketPath,
|
|
174
|
+
};
|
|
175
|
+
const base = { type: 'status_response', sessionId: request.sessionId };
|
|
176
|
+
if (!this.session || this.session.stopRequested()) {
|
|
177
|
+
if (this.launching) {
|
|
178
|
+
data.starting = { url: this.launching.url, since: this.launching.since };
|
|
179
|
+
}
|
|
180
|
+
if (this.session || this.closing)
|
|
181
|
+
data.ending = true;
|
|
182
|
+
return { ...base, status: 'ok', data };
|
|
183
|
+
}
|
|
184
|
+
data.sessionPid = process.pid;
|
|
185
|
+
data.sessionMetadata = this.session.metadata();
|
|
186
|
+
try {
|
|
187
|
+
const live = await withTimeout(this.session.execute('session_status', {}), QUERY_TIMEOUT_MS, 'Status');
|
|
188
|
+
Object.assign(data, {
|
|
189
|
+
activity: live.activity,
|
|
190
|
+
pageState: live.target,
|
|
191
|
+
navigationId: live.navigationId,
|
|
192
|
+
});
|
|
193
|
+
return { ...base, status: 'ok', data };
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
return { ...base, status: 'error', data, error: getErrorMessage(error) };
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Return a preview of recent telemetry.
|
|
201
|
+
*
|
|
202
|
+
* @param request - Peek request
|
|
203
|
+
* @returns Peek response
|
|
204
|
+
*/
|
|
205
|
+
async peek(request) {
|
|
206
|
+
const base = { type: 'peek_response', sessionId: request.sessionId };
|
|
207
|
+
if (!this.session) {
|
|
208
|
+
return { ...base, status: 'error', ...this.noSessionError() };
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
const data = await withTimeout(this.session.execute('session_peek', {
|
|
212
|
+
lastN: request.lastN ?? 10,
|
|
213
|
+
...(request.only && { only: request.only }),
|
|
214
|
+
...(request.withHeaders && { withHeaders: true }),
|
|
215
|
+
}), QUERY_TIMEOUT_MS, 'Peek');
|
|
216
|
+
return {
|
|
217
|
+
...base,
|
|
218
|
+
status: 'ok',
|
|
219
|
+
data: {
|
|
220
|
+
sessionPid: process.pid,
|
|
221
|
+
preview: {
|
|
222
|
+
version: data.version,
|
|
223
|
+
success: true,
|
|
224
|
+
timestamp: new Date(data.startTime).toISOString(),
|
|
225
|
+
duration: data.duration,
|
|
226
|
+
target: data.target,
|
|
227
|
+
data: { network: data.network, console: data.console },
|
|
228
|
+
totals: { network: data.totalNetwork, console: data.totalConsole },
|
|
229
|
+
currentNavigationId: data.currentNavigationId,
|
|
230
|
+
partial: true,
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
return { ...base, status: 'error', error: getErrorMessage(error) };
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Return all captured network requests for HAR export.
|
|
241
|
+
*
|
|
242
|
+
* @param request - HAR data request
|
|
243
|
+
* @returns HAR data response
|
|
244
|
+
*/
|
|
245
|
+
async harData(request) {
|
|
246
|
+
const base = { type: 'har_data_response', sessionId: request.sessionId };
|
|
247
|
+
if (!this.session) {
|
|
248
|
+
return { ...base, status: 'error', ...this.noSessionError() };
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const data = await withTimeout(this.session.execute('session_har_data', {}), QUERY_TIMEOUT_MS, 'HAR data');
|
|
252
|
+
return { ...base, status: 'ok', data: { sessionPid: process.pid, requests: data.requests } };
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
return { ...base, status: 'error', error: getErrorMessage(error) };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Execute a session command (dom_*, cdp_call, session_details, ...).
|
|
260
|
+
*
|
|
261
|
+
* @param request - Command request
|
|
262
|
+
* @returns Command response, forwarding exit code and suggestion on failure
|
|
263
|
+
*/
|
|
264
|
+
async command(request) {
|
|
265
|
+
const name = request.type.slice(0, -'_request'.length);
|
|
266
|
+
const base = { type: `${name}_response`, sessionId: request.sessionId };
|
|
267
|
+
if (!this.session) {
|
|
268
|
+
return { ...base, status: 'error', ...this.noSessionError() };
|
|
269
|
+
}
|
|
270
|
+
const { sessionId: _sessionId, type: _type, ...params } = request;
|
|
271
|
+
try {
|
|
272
|
+
const execute = this.session.execute.bind(this.session);
|
|
273
|
+
const data = await withTimeout(execute(name, params), COMMAND_TIMEOUT_MS, 'Command');
|
|
274
|
+
return { ...base, status: 'ok', data };
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
return { ...base, status: 'error', ...describeCommandError(error) };
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Start a session, or report the one already running.
|
|
282
|
+
*
|
|
283
|
+
* A start whose client disconnects (Ctrl-C) is abandoned: the session is
|
|
284
|
+
* stopped, whether it is still launching or has just started, since nobody
|
|
285
|
+
* learns that it exists.
|
|
286
|
+
*
|
|
287
|
+
* @param request - Start session request
|
|
288
|
+
* @param abandoned - Aborted when the requesting client disconnects
|
|
289
|
+
* @returns Start session response
|
|
290
|
+
*/
|
|
291
|
+
async startSession(request, abandoned) {
|
|
292
|
+
const base = { type: 'start_session_response', sessionId: request.sessionId };
|
|
293
|
+
if (this.session || this.launching || this.closing) {
|
|
294
|
+
return { ...base, status: 'error', ...this.describeExistingSession(request) };
|
|
295
|
+
}
|
|
296
|
+
const launching = {
|
|
297
|
+
session: null,
|
|
298
|
+
done: Promise.resolve(),
|
|
299
|
+
url: request.url,
|
|
300
|
+
since: Date.now(),
|
|
301
|
+
};
|
|
302
|
+
clearLastSessionEnd();
|
|
303
|
+
const run = this.launchSession(request, (session) => {
|
|
304
|
+
launching.session = session;
|
|
305
|
+
});
|
|
306
|
+
launching.done = run;
|
|
307
|
+
this.launching = launching;
|
|
308
|
+
const stopAbandoned = () => {
|
|
309
|
+
log.info('Client disconnected during start; stopping the session');
|
|
310
|
+
void launching.session?.stop('normal');
|
|
311
|
+
};
|
|
312
|
+
abandoned?.addEventListener('abort', stopAbandoned, { once: true });
|
|
313
|
+
try {
|
|
314
|
+
const result = await run;
|
|
315
|
+
if (abandoned?.aborted)
|
|
316
|
+
await launching.session?.stop('normal');
|
|
317
|
+
return { ...base, ...result };
|
|
318
|
+
}
|
|
319
|
+
finally {
|
|
320
|
+
abandoned?.removeEventListener('abort', stopAbandoned);
|
|
321
|
+
this.launching = null;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Create and launch a session, mapping the outcome to response fields.
|
|
326
|
+
*
|
|
327
|
+
* @param request - Start session request
|
|
328
|
+
* @param onCreated - Receives the session before launch, so it can be stopped mid-launch
|
|
329
|
+
* @returns Status plus data or error fields for the start response
|
|
330
|
+
*/
|
|
331
|
+
async launchSession(request, onCreated) {
|
|
332
|
+
const { type: _type, sessionId: _sessionId, url, ...options } = request;
|
|
333
|
+
try {
|
|
334
|
+
const session = Session.create(url, filterDefined(options), (reason) => this.handleSessionEnded(reason));
|
|
335
|
+
onCreated(session);
|
|
336
|
+
if (this.closing) {
|
|
337
|
+
throw new Error('Daemon is shutting down');
|
|
338
|
+
}
|
|
339
|
+
await session.launch();
|
|
340
|
+
this.session = session;
|
|
341
|
+
const info = session.info();
|
|
342
|
+
log.info(`Session started (Chrome PID ${info.chromePid}, port ${info.port})`);
|
|
343
|
+
return {
|
|
344
|
+
status: 'ok',
|
|
345
|
+
message: 'Session started successfully',
|
|
346
|
+
data: { daemonPid: process.pid, ...info },
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
log.info(`Session start failed: ${getErrorMessage(error)}`);
|
|
351
|
+
this.closing = true;
|
|
352
|
+
setImmediate(() => this.onSessionEnded('crash'));
|
|
353
|
+
return { status: 'error', ...describeLaunchFailure(error) };
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Stop the running session, or abort one that is still launching.
|
|
358
|
+
*
|
|
359
|
+
* @param request - Stop session request
|
|
360
|
+
* @returns Stop session response
|
|
361
|
+
*/
|
|
362
|
+
async stopSession(request) {
|
|
363
|
+
const base = { type: 'stop_session_response', sessionId: request.sessionId };
|
|
364
|
+
const launching = this.session ? null : this.launching;
|
|
365
|
+
const session = this.session ?? launching?.session;
|
|
366
|
+
if (!session) {
|
|
367
|
+
return {
|
|
368
|
+
...base,
|
|
369
|
+
status: 'error',
|
|
370
|
+
message: 'No active session found',
|
|
371
|
+
errorCode: IPCErrorCode.NO_SESSION,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
const { chromePid } = session.info();
|
|
375
|
+
await session.stop('normal');
|
|
376
|
+
await launching?.done;
|
|
377
|
+
return {
|
|
378
|
+
...base,
|
|
379
|
+
status: 'ok',
|
|
380
|
+
message: 'Session stopped successfully',
|
|
381
|
+
...(chromePid > 0 && { chromePid }),
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* React to the session ending (stop, crash, or timeout).
|
|
386
|
+
*
|
|
387
|
+
* @param reason - Why the session ended
|
|
388
|
+
*/
|
|
389
|
+
handleSessionEnded(reason) {
|
|
390
|
+
log.info(`Session ended (reason: ${reason})`);
|
|
391
|
+
if (reason !== 'normal')
|
|
392
|
+
writeLastSessionEnd(reason);
|
|
393
|
+
this.session = null;
|
|
394
|
+
this.closing = true;
|
|
395
|
+
this.onSessionEnded(reason);
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Build the error part of a start response when a session already exists.
|
|
399
|
+
*
|
|
400
|
+
* @param request - Start session request
|
|
401
|
+
* @returns Error message, code and existing-session details
|
|
402
|
+
*/
|
|
403
|
+
describeExistingSession(request) {
|
|
404
|
+
const shuttingDown = this.closing || Boolean(this.session?.stopRequested());
|
|
405
|
+
if (!this.session || shuttingDown) {
|
|
406
|
+
return shuttingDown
|
|
407
|
+
? {
|
|
408
|
+
message: 'The previous session is still shutting down. Try again in a moment.',
|
|
409
|
+
errorCode: IPCErrorCode.SESSION_SHUTTING_DOWN,
|
|
410
|
+
}
|
|
411
|
+
: {
|
|
412
|
+
message: 'Session startup already in progress. Wait a moment and try again.',
|
|
413
|
+
errorCode: IPCErrorCode.SESSION_ALREADY_RUNNING,
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
const metadata = this.session.metadata();
|
|
417
|
+
const { targetUrl } = this.session.info();
|
|
418
|
+
const existingSession = {
|
|
419
|
+
pid: process.pid,
|
|
420
|
+
startTime: metadata.startTime,
|
|
421
|
+
duration: Math.floor((Date.now() - metadata.startTime) / 1000),
|
|
422
|
+
};
|
|
423
|
+
const mismatch = detectTargetMismatch(request, metadata);
|
|
424
|
+
if (mismatch) {
|
|
425
|
+
const current = mismatch.current === LAUNCHED_CHROME_DESCRIPTION ? undefined : mismatch.current;
|
|
426
|
+
return {
|
|
427
|
+
message: `Active session is attached to ${mismatch.current}, not ${mismatch.requested}`,
|
|
428
|
+
errorCode: IPCErrorCode.SESSION_TARGET_MISMATCH,
|
|
429
|
+
existingSession: { ...existingSession, ...(current && { targetUrl: current }) },
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
return {
|
|
433
|
+
message: `Session already running (PID ${process.pid}). Stop it first with: bdg stop`,
|
|
434
|
+
errorCode: IPCErrorCode.SESSION_ALREADY_RUNNING,
|
|
435
|
+
existingSession: { ...existingSession, targetUrl },
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Convert a command failure into response fields.
|
|
441
|
+
*
|
|
442
|
+
* @param error - Error thrown by the command handler
|
|
443
|
+
* @returns Error message plus exit code and suggestion when known
|
|
444
|
+
*/
|
|
445
|
+
function describeCommandError(error) {
|
|
446
|
+
if (error instanceof CDPProtocolError && error.isRequestError()) {
|
|
447
|
+
const err = cdpRequestRejectedError(error.message);
|
|
448
|
+
return {
|
|
449
|
+
error: err.message,
|
|
450
|
+
exitCode: EXIT_CODES.INVALID_ARGUMENTS,
|
|
451
|
+
suggestion: err.suggestion,
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
if (error instanceof CDPConnectionError) {
|
|
455
|
+
const err = sessionEndedDuringCommandError();
|
|
456
|
+
return {
|
|
457
|
+
error: err.message,
|
|
458
|
+
exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
|
|
459
|
+
suggestion: err.suggestion,
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
if (!(error instanceof CommandError)) {
|
|
463
|
+
return { error: getErrorMessage(error) };
|
|
464
|
+
}
|
|
465
|
+
const suggestion = error.metadata['suggestion'];
|
|
466
|
+
return {
|
|
467
|
+
error: error.message,
|
|
468
|
+
exitCode: error.exitCode,
|
|
469
|
+
...(typeof suggestion === 'string' && { suggestion }),
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
//# sourceMappingURL=SessionController.js.map
|