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
|
@@ -0,0 +1,959 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common error messages and patterns.
|
|
3
|
+
*
|
|
4
|
+
* Centralized location for reusable error messages with consistent formatting.
|
|
5
|
+
*/
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import { escapeControlChars, formatDuration, joinLines } from '../ui/formatting.js';
|
|
8
|
+
import { frameLabel } from '../ui/messages/commands.js';
|
|
9
|
+
import { detectSelectorQuoteDamage, detectScriptQuoteDamage, hasAttributeSelector, } from '../utils/shellDetection.js';
|
|
10
|
+
/**
|
|
11
|
+
* Generate "session already running" error message.
|
|
12
|
+
*
|
|
13
|
+
* @param pid - Process ID of running session
|
|
14
|
+
* @param duration - Session duration in milliseconds
|
|
15
|
+
* @param targetUrl - Optional target URL to show
|
|
16
|
+
* @returns Formatted error message
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const message = sessionAlreadyRunningError(12345, 60000, 'http://localhost:3000');
|
|
21
|
+
* console.error(message);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export function sessionAlreadyRunningError(pid, duration, targetUrl) {
|
|
25
|
+
return joinLines('', 'Error: Session already running', '', ` PID: ${pid}`, targetUrl && ` Target: ${targetUrl}`, ` Duration: ${formatDuration(duration)}`, '', 'Suggestions:', ' View session: bdg status', ' Stop and restart: bdg stop && bdg <url>', '');
|
|
26
|
+
}
|
|
27
|
+
/** What to do when `bdg <url>` finds a session already running */
|
|
28
|
+
export const ALREADY_RUNNING_SUGGESTION = 'Use the running session (bdg status), or stop it first: bdg stop && bdg <url>';
|
|
29
|
+
/**
|
|
30
|
+
* Human-readable description of a bdg-launched Chrome (as opposed to one
|
|
31
|
+
* reached via `--chrome-ws-url`). Used in mismatch errors where the active
|
|
32
|
+
* session or the caller's intent is launched-mode.
|
|
33
|
+
*/
|
|
34
|
+
export const LAUNCHED_CHROME_DESCRIPTION = 'launched Chrome (bdg-managed)';
|
|
35
|
+
/**
|
|
36
|
+
* Generate "session target mismatch" error message.
|
|
37
|
+
*
|
|
38
|
+
* Raised when a new start-session request names a different Chrome target
|
|
39
|
+
* (or switches between launched and attached modes) while an active session
|
|
40
|
+
* is healthy. Distinct from `sessionAlreadyRunningError` so agents can react
|
|
41
|
+
* programmatically via exit code + IPC error code.
|
|
42
|
+
*
|
|
43
|
+
* @param currentTarget - Target URL / ws URL / description of the active session
|
|
44
|
+
* @param requestedTarget - The ws URL / description of what the caller asked for
|
|
45
|
+
* @returns Formatted error message
|
|
46
|
+
*/
|
|
47
|
+
export function sessionTargetMismatchError(currentTarget, requestedTarget) {
|
|
48
|
+
return joinLines('', 'Error: Active session is attached to a different Chrome target', '', ` Current: ${currentTarget ?? '(unknown)'}`, ` Requested: ${requestedTarget ?? '(unknown)'}`, '', "Run 'bdg stop' before attaching to a different target.", '');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The daemon accepted the connection but did not answer in time (frozen or
|
|
52
|
+
* overloaded).
|
|
53
|
+
*
|
|
54
|
+
* @param seconds - How long the command waited
|
|
55
|
+
* @returns Message and suggestion
|
|
56
|
+
*/
|
|
57
|
+
export function sessionNotRespondingError(seconds) {
|
|
58
|
+
return {
|
|
59
|
+
message: `The session did not respond within ${seconds}s`,
|
|
60
|
+
suggestion: 'Retry in a moment; if it stays unresponsive, end it with: bdg cleanup --force (stops the daemon and its Chrome)',
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The daemon answered, but the command did not finish in time (slow or
|
|
65
|
+
* frozen page work).
|
|
66
|
+
*
|
|
67
|
+
* @param seconds - Timeout in seconds
|
|
68
|
+
*/
|
|
69
|
+
export function commandTimedOutError(seconds) {
|
|
70
|
+
return {
|
|
71
|
+
message: `The command did not finish within ${seconds}s (the page may be busy or frozen)`,
|
|
72
|
+
suggestion: 'Check the session with: bdg status; if the page stays frozen, end it with: bdg cleanup --force',
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* What to do when a command finds no session to work with.
|
|
77
|
+
*
|
|
78
|
+
* @param exitCode - 85 while a start is in progress, otherwise 83
|
|
79
|
+
* @returns Suggestion
|
|
80
|
+
*/
|
|
81
|
+
export function sessionUnavailableSuggestion(exitCode) {
|
|
82
|
+
return exitCode === 85
|
|
83
|
+
? 'Wait until "bdg <url>" returns, then retry'
|
|
84
|
+
: 'Start a session with: bdg <url>';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Generate unified "daemon not running" error message with context.
|
|
88
|
+
*
|
|
89
|
+
* This replaces the three previous variants:
|
|
90
|
+
* - daemonNotRunningError()
|
|
91
|
+
* - daemonConnectionFailedError()
|
|
92
|
+
* - daemonNotRunningWithCleanup()
|
|
93
|
+
*
|
|
94
|
+
* @param context - Optional context about the error
|
|
95
|
+
* @returns Formatted error message with suggestions
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* // Basic usage
|
|
100
|
+
* console.error(daemonNotRunningError());
|
|
101
|
+
*
|
|
102
|
+
* // With stale cleanup
|
|
103
|
+
* console.error(daemonNotRunningError({ staleCleanedUp: true }));
|
|
104
|
+
*
|
|
105
|
+
* // With status suggestion
|
|
106
|
+
* console.error(daemonNotRunningError({ suggestStatus: true }));
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export function daemonNotRunningError(context) {
|
|
110
|
+
return joinLines('Error: No active session', context?.staleCleanedUp && '(Stale daemon files were cleaned up)', context?.lastError && `Last error: ${context.lastError}`, 'Start a session with: bdg <url>', context?.suggestStatus && '', context?.suggestStatus && 'Or check daemon status:', context?.suggestStatus && ' bdg status', context?.suggestRetry && '', context?.suggestRetry && 'Or try the command again if this was transient');
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate generic error message with optional context.
|
|
114
|
+
*
|
|
115
|
+
* @param message - Error message
|
|
116
|
+
* @param context - Optional additional context
|
|
117
|
+
* @returns Formatted error message
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* console.error(genericError('Operation failed', 'Network timeout'));
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export function genericError(message, context) {
|
|
125
|
+
const text = message.startsWith('Error:') ? message : `Error: ${message}`;
|
|
126
|
+
return escapeControlChars(context ? `${text}\n${context}` : text);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Generate "unknown error" message.
|
|
130
|
+
*
|
|
131
|
+
* @returns Formatted error message
|
|
132
|
+
*/
|
|
133
|
+
export function unknownError() {
|
|
134
|
+
return 'Error: Unknown error';
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Generate "invalid response" error message.
|
|
138
|
+
*
|
|
139
|
+
* @param reason - Reason for invalid response
|
|
140
|
+
* @returns Formatted error message
|
|
141
|
+
*/
|
|
142
|
+
export function invalidResponseError(reason) {
|
|
143
|
+
return `[bdg] Invalid response from daemon: ${reason}`;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Generate element not found error with shell quote detection and CDP fallback.
|
|
147
|
+
*
|
|
148
|
+
* Provides guidance for when high-level DOM commands fail to find elements.
|
|
149
|
+
* Detects shell quote damage for attribute selectors and provides specific
|
|
150
|
+
* recovery suggestions including the two-step query-then-inspect pattern.
|
|
151
|
+
*
|
|
152
|
+
* @param selector - CSS selector that failed (as received by the command)
|
|
153
|
+
* @returns Message and context-aware suggestion
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* // Simple selector - standard suggestions
|
|
158
|
+
* elementNotFoundError('#missing-element')
|
|
159
|
+
*
|
|
160
|
+
* // Attribute selector with shell damage detected
|
|
161
|
+
* elementNotFoundError('[data-test-id=value]')
|
|
162
|
+
* // Suggestion: "Shell quote handling detected: ..."
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export function elementNotFoundError(selector) {
|
|
166
|
+
const message = `Element not found: ${selector}`;
|
|
167
|
+
const discovery = [
|
|
168
|
+
'Discovery path:',
|
|
169
|
+
` 1. Query first: bdg dom query '${selector}'`,
|
|
170
|
+
' 2. Then inspect: bdg dom a11y describe 0',
|
|
171
|
+
];
|
|
172
|
+
const quoteCheck = detectSelectorQuoteDamage(selector);
|
|
173
|
+
if (quoteCheck.damaged) {
|
|
174
|
+
return {
|
|
175
|
+
message,
|
|
176
|
+
suggestion: joinLines('Shell quote handling detected: the selector arrived without its quotes.', quoteCheck.details && ` ${quoteCheck.details}`, ...discovery),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
if (hasAttributeSelector(selector)) {
|
|
180
|
+
return {
|
|
181
|
+
message,
|
|
182
|
+
suggestion: joinLines('Attribute selector: check that the shell kept its quotes.', ...discovery, 'Or see the page structure: bdg dom a11y tree'),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
message,
|
|
187
|
+
suggestion: joinLines('Check the selector syntax, or wait for the element to load (bdg peek shows the page state)', CROSS_ORIGIN_FRAMES_NOTE),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Index out of range error.
|
|
192
|
+
*/
|
|
193
|
+
export function indexOutOfRangeError(index, max) {
|
|
194
|
+
return {
|
|
195
|
+
message: `Index ${index} out of range (found ${max + 1} nodes)`,
|
|
196
|
+
suggestion: `Use an index between 0 and ${max}`,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/** Playwright selector syntax bdg does not support (`:text()`, `>>` chains, `text=` engines, layout pseudo-classes). */
|
|
200
|
+
const PLAYWRIGHT_ONLY_SYNTAX = /:(?:text|text-matches|nth-match|left-of|right-of|above|below|near)\(|>>|^\s*(?:text|css|xpath|role|id|data-testid|internal:\w+)=/i;
|
|
201
|
+
/**
|
|
202
|
+
* CSS selector rejected by the browser. Playwright-only syntax (`:text()`,
|
|
203
|
+
* `>>`, `text=`) gets the filters bdg supports instead.
|
|
204
|
+
*
|
|
205
|
+
* @param selector - Selector as given
|
|
206
|
+
* @param detail - Browser error, if any
|
|
207
|
+
* @returns Message and suggestion
|
|
208
|
+
*/
|
|
209
|
+
export function invalidSelectorError(selector, detail) {
|
|
210
|
+
return {
|
|
211
|
+
message: `Invalid CSS selector: ${selector}${detail ? ` (${detail})` : ''}`,
|
|
212
|
+
suggestion: PLAYWRIGHT_ONLY_SYNTAX.test(selector)
|
|
213
|
+
? 'Playwright-only syntax is not CSS. bdg supports :has-text("…"), :text-is("…") and :visible at the end of a selector, e.g. button:has-text("Save"), or find elements by accessible name: bdg dom a11y query name="…"'
|
|
214
|
+
: 'Check the selector syntax, e.g. bdg dom query "button.primary"',
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* A text or visibility filter (`:has-text()`, `:text-is()`, `:visible`) that
|
|
219
|
+
* is not at the end of a selector.
|
|
220
|
+
*
|
|
221
|
+
* @param selector - Selector as given
|
|
222
|
+
* @param filter - The misplaced filter as written
|
|
223
|
+
* @returns Message and suggestion
|
|
224
|
+
*/
|
|
225
|
+
export function misplacedSelectorFilterError(selector, filter) {
|
|
226
|
+
return {
|
|
227
|
+
message: `${filter} must come last in a selector (after the CSS of the element to match): ${selector}`,
|
|
228
|
+
suggestion: `Move it to the end, e.g. form button:has-text("Save"); to match an element by what it contains use CSS :has(), e.g. div:has(> button), or find elements by accessible name: bdg dom a11y query name="…"`,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* A text filter without its text, e.g. `:has-text` or `:text-is("x"`.
|
|
233
|
+
*
|
|
234
|
+
* @param selector - Selector as given
|
|
235
|
+
* @param filter - Filter name, e.g. ":has-text"
|
|
236
|
+
* @returns Message and suggestion
|
|
237
|
+
*/
|
|
238
|
+
export function invalidSelectorFilterError(selector, filter) {
|
|
239
|
+
return {
|
|
240
|
+
message: `${filter} needs its text in closed parentheses: ${selector}`,
|
|
241
|
+
suggestion: `Quote the text, e.g. button${filter}("Save"); escape quotes inside it with a backslash`,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* `bdg help <topic>` for a command that does not exist.
|
|
246
|
+
*
|
|
247
|
+
* @param topic - Command path as typed, e.g. "dom quer"
|
|
248
|
+
* @param closest - Most similar existing command path, if any
|
|
249
|
+
*/
|
|
250
|
+
export function unknownHelpTopicError(topic, closest) {
|
|
251
|
+
const parent = topic.split(' ').slice(0, -1).join(' ');
|
|
252
|
+
return {
|
|
253
|
+
message: `Unknown command: "${topic}"`,
|
|
254
|
+
suggestion: closest
|
|
255
|
+
? `Did you mean: bdg help ${closest}?`
|
|
256
|
+
: `Run "bdg ${parent ? `${parent} ` : ''}--help" for commands`,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Chrome rejected a CDP method or its parameters.
|
|
261
|
+
*
|
|
262
|
+
* @param detail - Chrome's error message
|
|
263
|
+
*/
|
|
264
|
+
export function cdpRequestRejectedError(detail) {
|
|
265
|
+
return {
|
|
266
|
+
message: detail,
|
|
267
|
+
suggestion: 'Check the method and its parameters: bdg cdp <Method> --describe',
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* A file the user asked for (screenshot, HAR) cannot be written.
|
|
272
|
+
*
|
|
273
|
+
* @param filePath - Path as given
|
|
274
|
+
* @param reason - What is wrong with it
|
|
275
|
+
* @param extension - Extension of the file kind, for the example (default .png)
|
|
276
|
+
*/
|
|
277
|
+
export function outputFileError(filePath, reason, extension = '.png') {
|
|
278
|
+
const example = `output${path.extname(filePath) || extension}`;
|
|
279
|
+
return {
|
|
280
|
+
message: `Cannot write ${filePath}: ${reason}`,
|
|
281
|
+
suggestion: `Choose a writable file path, e.g. ./${example} or /tmp/${example}`,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* An empty output path.
|
|
286
|
+
*
|
|
287
|
+
* @param extension - Extension of the file kind, for the example
|
|
288
|
+
*/
|
|
289
|
+
export function emptyOutputPathError(extension = '.png') {
|
|
290
|
+
return {
|
|
291
|
+
message: 'The output path is empty',
|
|
292
|
+
suggestion: `Give a file name, e.g. output${extension}`,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Start options given without the URL to open.
|
|
297
|
+
*/
|
|
298
|
+
export function missingStartUrlError() {
|
|
299
|
+
return {
|
|
300
|
+
message: 'Missing URL to open',
|
|
301
|
+
suggestion: 'Put the URL first, e.g. bdg localhost:3000 --port 9333',
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* `-u` / `--user-data-dir` given something that is not a directory path.
|
|
306
|
+
*
|
|
307
|
+
* @param value - What was given
|
|
308
|
+
* @param reason - Why it cannot be used
|
|
309
|
+
*/
|
|
310
|
+
export function invalidUserDataDirError(value, reason) {
|
|
311
|
+
return {
|
|
312
|
+
message: `Invalid --user-data-dir "${value}": ${reason}`,
|
|
313
|
+
suggestion: 'Give a directory for the Chrome profile, e.g. -u ./profile (it is created if missing)',
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
/** Fix for an unusable session directory */
|
|
317
|
+
const SESSION_DIR_SUGGESTION = 'Set BDG_SESSION_DIR to a short, writable directory, e.g. BDG_SESSION_DIR=/tmp/bdg';
|
|
318
|
+
/**
|
|
319
|
+
* The session directory exists but is not a directory.
|
|
320
|
+
*
|
|
321
|
+
* @param dir - Session directory
|
|
322
|
+
*/
|
|
323
|
+
export function sessionDirIsFileError(dir) {
|
|
324
|
+
return { message: `Session directory ${dir} is a file`, suggestion: SESSION_DIR_SUGGESTION };
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* The session directory cannot be created or written.
|
|
328
|
+
*
|
|
329
|
+
* @param dir - Session directory
|
|
330
|
+
* @param reason - File-system error
|
|
331
|
+
*/
|
|
332
|
+
export function sessionDirNotWritableError(dir, reason) {
|
|
333
|
+
return {
|
|
334
|
+
message: `Session directory ${dir} is not writable (${reason})`,
|
|
335
|
+
suggestion: SESSION_DIR_SUGGESTION,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* The daemon socket path exceeds the OS limit for Unix sockets.
|
|
340
|
+
*
|
|
341
|
+
* @param socketPath - Socket path
|
|
342
|
+
* @param max - Longest path the OS accepts
|
|
343
|
+
*/
|
|
344
|
+
export function socketPathTooLongError(socketPath, max) {
|
|
345
|
+
return {
|
|
346
|
+
message: `Session directory path is too long for the daemon socket (${socketPath.length} characters, at most ${max})`,
|
|
347
|
+
suggestion: SESSION_DIR_SUGGESTION,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* The Chrome of `--chrome-ws-url` does not answer on its HTTP endpoint.
|
|
352
|
+
*
|
|
353
|
+
* @param endpoint - e.g. http://127.0.0.1:9222
|
|
354
|
+
* @param secure - Whether a wss: URL was given
|
|
355
|
+
*/
|
|
356
|
+
export function externalChromeUnreachableError(endpoint, secure) {
|
|
357
|
+
return {
|
|
358
|
+
message: `Cannot reach the Chrome DevTools endpoint at ${endpoint}`,
|
|
359
|
+
suggestion: secure
|
|
360
|
+
? 'Chrome itself serves ws:// only; use ws://host:port/... unless a TLS proxy is in front of it'
|
|
361
|
+
: 'Check that Chrome runs with --remote-debugging-port and is reachable from here',
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* The page id of a `--chrome-ws-url` page URL does not exist.
|
|
366
|
+
*
|
|
367
|
+
* @param id - Page id from the URL
|
|
368
|
+
* @param endpoint - e.g. http://127.0.0.1:9222
|
|
369
|
+
*/
|
|
370
|
+
export function externalPageNotFoundError(id, endpoint) {
|
|
371
|
+
return {
|
|
372
|
+
message: `No page with id ${id} in the Chrome at ${endpoint}`,
|
|
373
|
+
suggestion: `List its pages: curl -s ${endpoint}/json/list`,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* The browser id of a `--chrome-ws-url` browser URL is not this Chrome's.
|
|
378
|
+
*
|
|
379
|
+
* @param endpoint - e.g. http://127.0.0.1:9222
|
|
380
|
+
* @param actual - The Chrome's browser WebSocket URL
|
|
381
|
+
*/
|
|
382
|
+
export function externalBrowserIdMismatchError(endpoint, actual) {
|
|
383
|
+
return {
|
|
384
|
+
message: `The Chrome at ${endpoint} has a different browser id (it was restarted, or the URL is from another Chrome)`,
|
|
385
|
+
suggestion: `Use its current URL: bdg <url> --chrome-ws-url ${actual}`,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Options that only apply when bdg launches Chrome, given with `--chrome-ws-url`.
|
|
390
|
+
*
|
|
391
|
+
* @param options - The conflicting options, e.g. ["--port", "-u"]
|
|
392
|
+
*/
|
|
393
|
+
export function chromeWsUrlConflictError(options) {
|
|
394
|
+
return {
|
|
395
|
+
message: `${options.join(' and ')} cannot be used with --chrome-ws-url (the running Chrome already has its port and profile)`,
|
|
396
|
+
suggestion: 'Drop them, or let bdg launch Chrome without --chrome-ws-url',
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* A numeric index given together with `--index`.
|
|
401
|
+
*
|
|
402
|
+
* @param index - The index argument
|
|
403
|
+
*/
|
|
404
|
+
export function indexWithIndexOptionError(index) {
|
|
405
|
+
return {
|
|
406
|
+
message: `--index applies to a selector, but "${index}" is already an index from the last query`,
|
|
407
|
+
suggestion: `Use one: bdg dom click ${index}, or bdg dom click "<selector>" --index <n>`,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
/** Problems with `bdg dom scroll` options, and how to fix each */
|
|
411
|
+
const SCROLL_PROBLEMS = {
|
|
412
|
+
'index-without-selector': [
|
|
413
|
+
'--index requires a selector',
|
|
414
|
+
'Use: bdg dom scroll "selector" --index 2',
|
|
415
|
+
],
|
|
416
|
+
vertical: [
|
|
417
|
+
'Conflicting scroll directions: --up/--down/--top/--bottom',
|
|
418
|
+
'Use one vertical direction',
|
|
419
|
+
],
|
|
420
|
+
horizontal: ['Conflicting scroll directions: --left and --right', 'Use either --left or --right'],
|
|
421
|
+
'selector-with-offset': [
|
|
422
|
+
'A selector cannot be combined with --up/--down/--left/--right/--top/--bottom',
|
|
423
|
+
'Scroll to the element (bdg dom scroll "footer"), or by an offset (bdg dom scroll --down 500)',
|
|
424
|
+
],
|
|
425
|
+
'no-target': [
|
|
426
|
+
'No scroll target specified',
|
|
427
|
+
'Provide a selector (bdg dom scroll "footer") or offset (--down 500, --bottom)',
|
|
428
|
+
],
|
|
429
|
+
};
|
|
430
|
+
/**
|
|
431
|
+
* Invalid `bdg dom scroll` options.
|
|
432
|
+
*
|
|
433
|
+
* @param problem - Which rule was broken
|
|
434
|
+
*/
|
|
435
|
+
export function scrollOptionsError(problem) {
|
|
436
|
+
const [message, suggestion] = SCROLL_PROBLEMS[problem];
|
|
437
|
+
return { message, suggestion };
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* A key name `dom pressKey` does not know.
|
|
441
|
+
*
|
|
442
|
+
* @param keyName - Key as given
|
|
443
|
+
* @param similar - Similar key names
|
|
444
|
+
*/
|
|
445
|
+
export function unknownKeyError(keyName, similar) {
|
|
446
|
+
return {
|
|
447
|
+
message: `Unknown key: "${keyName}"`,
|
|
448
|
+
suggestion: similar.length
|
|
449
|
+
? `Did you mean: ${similar.join(', ')}?`
|
|
450
|
+
: 'Keys: Enter, Tab, Escape, Space, Backspace, Delete, ArrowUp/Down/Left/Right, Home, End, PageUp, PageDown, F1-F12, a-z, A-Z, 0-9, !@#$%^&*()',
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
/** Where selectors cannot look, for "not found" errors */
|
|
454
|
+
export const UNREACHABLE_ELEMENTS_HINT = 'elements in closed shadow roots and cross-origin iframes cannot be reached';
|
|
455
|
+
/**
|
|
456
|
+
* Two options given together where one would be ignored.
|
|
457
|
+
*
|
|
458
|
+
* @param first - First option
|
|
459
|
+
* @param second - Option it conflicts with
|
|
460
|
+
* @returns Message
|
|
461
|
+
*/
|
|
462
|
+
export function conflictingOptionsMessage(first, second) {
|
|
463
|
+
return `${first} cannot be combined with ${second}; use one of them`;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* A Chrome flag bdg cannot pass on.
|
|
467
|
+
*
|
|
468
|
+
* @param flag - The flag
|
|
469
|
+
*/
|
|
470
|
+
export function invalidChromeFlagError(flag) {
|
|
471
|
+
return flag.startsWith('--remote-debugging')
|
|
472
|
+
? {
|
|
473
|
+
message: `${flag} cannot be passed in --chrome-flags: bdg sets the debugging port`,
|
|
474
|
+
suggestion: 'Use --port <number> instead',
|
|
475
|
+
}
|
|
476
|
+
: {
|
|
477
|
+
message: `--chrome-flags got "${flag}", which is a bdg option`,
|
|
478
|
+
suggestion: 'Give Chrome flags as one quoted value: --chrome-flags="--lang=pl --disable-gpu"',
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* The session (its browser or daemon) went away while a command was running.
|
|
483
|
+
*/
|
|
484
|
+
export function sessionEndedDuringCommandError() {
|
|
485
|
+
return {
|
|
486
|
+
message: 'The session ended while the command was running',
|
|
487
|
+
suggestion: 'Start a new session with: bdg <url>',
|
|
488
|
+
};
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* An option that only takes effect together with another one.
|
|
492
|
+
*
|
|
493
|
+
* @param option - Option given
|
|
494
|
+
* @param required - Option it needs
|
|
495
|
+
* @returns Message
|
|
496
|
+
*/
|
|
497
|
+
export function optionRequiresMessage(option, required) {
|
|
498
|
+
return `${option} only works with ${required}; add ${required} or drop ${option}`;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* `bdg page navigate javascript:…`: scripts run with dom eval.
|
|
502
|
+
*/
|
|
503
|
+
export function javascriptNavigationError() {
|
|
504
|
+
return {
|
|
505
|
+
message: 'page navigate opens pages; it does not run javascript: URLs',
|
|
506
|
+
suggestion: `Run the script in the page instead: bdg dom eval '...'`,
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* A bare word given where a URL is expected, most likely a mistyped command.
|
|
511
|
+
*
|
|
512
|
+
* @param word - The argument
|
|
513
|
+
* @param similar - Similar command names
|
|
514
|
+
*/
|
|
515
|
+
export function unknownCommandError(word, similar) {
|
|
516
|
+
const [closest] = similar;
|
|
517
|
+
return {
|
|
518
|
+
message: `Unknown command: "${word}"`,
|
|
519
|
+
suggestion: closest
|
|
520
|
+
? `Did you mean: bdg ${closest}?`
|
|
521
|
+
: `Run "bdg --help" for commands. To open a host named "${word}", use a full URL: bdg http://${word}/`,
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* The browser could not load the start URL at all.
|
|
526
|
+
*
|
|
527
|
+
* @param url - URL that failed
|
|
528
|
+
* @param errorText - Chrome network error (e.g. net::ERR_NAME_NOT_RESOLVED)
|
|
529
|
+
*/
|
|
530
|
+
export function navigationFailedError(url, errorText) {
|
|
531
|
+
return {
|
|
532
|
+
message: `Could not load ${url}: ${errorText}`,
|
|
533
|
+
suggestion: 'Check the URL and that the server is running and reachable from this machine',
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* `bdg page back/forward` at the end of the page's history.
|
|
538
|
+
*
|
|
539
|
+
* @param direction - back or forward
|
|
540
|
+
*/
|
|
541
|
+
export function noHistoryEntryError(direction) {
|
|
542
|
+
return {
|
|
543
|
+
message: `There is no page to go ${direction} to`,
|
|
544
|
+
suggestion: 'Open a page with: bdg page navigate <url>',
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* The form was submitted but the wait for its result timed out.
|
|
549
|
+
*
|
|
550
|
+
* @param timeout - Timeout in ms
|
|
551
|
+
* @param waitNavigation - Whether a navigation was awaited
|
|
552
|
+
*/
|
|
553
|
+
export function submitTimeoutError(timeout, waitNavigation) {
|
|
554
|
+
return {
|
|
555
|
+
message: `Form submitted, but timed out after ${timeout}ms waiting for ${waitNavigation ? 'navigation' : 'network idle'}`,
|
|
556
|
+
suggestion: waitNavigation
|
|
557
|
+
? 'The form may not navigate (e.g. it submits via fetch); retry without --wait-navigation or with a larger --timeout'
|
|
558
|
+
: 'Increase --timeout, or use --wait-network 0 to return right after submitting',
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* No element has the given node id.
|
|
563
|
+
*
|
|
564
|
+
* @param nodeId - Backend node id given with --node-id
|
|
565
|
+
*/
|
|
566
|
+
export function nodeIdNotFoundError(nodeId) {
|
|
567
|
+
return {
|
|
568
|
+
message: `No element with node id ${nodeId} in the page`,
|
|
569
|
+
suggestion: 'Get current node ids with "bdg dom query <selector>" or "bdg dom get <selector> --raw"',
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* A cached node is gone (page navigated or the element was removed).
|
|
574
|
+
*
|
|
575
|
+
* @param index - Index the user gave (query or form results), if any
|
|
576
|
+
*/
|
|
577
|
+
export function staleNodeError(index) {
|
|
578
|
+
const element = index === undefined ? 'The element' : `The element at index ${index}`;
|
|
579
|
+
return {
|
|
580
|
+
message: `${element} is no longer in the page (it was removed or the page navigated)`,
|
|
581
|
+
suggestion: 'Re-run "bdg dom query <selector>" (or "bdg dom form") to get fresh indices',
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Element at index not found (stale cache).
|
|
586
|
+
*/
|
|
587
|
+
export function elementAtIndexNotFoundError(index, selector) {
|
|
588
|
+
return {
|
|
589
|
+
message: `Element at index ${index} not found`,
|
|
590
|
+
suggestion: `Re-run "bdg dom query ${selector}" to refresh the cache`,
|
|
591
|
+
};
|
|
592
|
+
}
|
|
593
|
+
/** Where selectors do not reach (open shadow roots and same-origin iframes are searched) */
|
|
594
|
+
export const CROSS_ORIGIN_FRAMES_NOTE = 'Elements inside cross-origin iframes and closed shadow roots are not searched';
|
|
595
|
+
/**
|
|
596
|
+
* No nodes found for selector.
|
|
597
|
+
*/
|
|
598
|
+
export function noNodesFoundError(selector) {
|
|
599
|
+
return {
|
|
600
|
+
message: `No nodes found matching "${selector}"`,
|
|
601
|
+
suggestion: `Verify the CSS selector is correct. ${CROSS_ORIGIN_FRAMES_NOTE}`,
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Element not visible/rendered.
|
|
606
|
+
*/
|
|
607
|
+
export function elementNotVisibleError() {
|
|
608
|
+
return {
|
|
609
|
+
message: 'Element is not rendered (e.g. display: none), so it has no area to capture',
|
|
610
|
+
suggestion: 'Make it visible first, or capture a visible ancestor',
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Element has zero dimensions.
|
|
615
|
+
*/
|
|
616
|
+
export function elementZeroDimensionsError() {
|
|
617
|
+
return {
|
|
618
|
+
message: 'Element has zero width or height, so there is nothing to capture',
|
|
619
|
+
suggestion: 'It may be collapsed or empty; capture a visible ancestor instead',
|
|
620
|
+
};
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Missing required argument.
|
|
624
|
+
*/
|
|
625
|
+
export function missingArgumentError(usage) {
|
|
626
|
+
return {
|
|
627
|
+
message: 'Missing required argument or flag',
|
|
628
|
+
suggestion: usage,
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Either/or argument required.
|
|
633
|
+
*/
|
|
634
|
+
export function eitherArgumentRequiredError(arg1, arg2, example) {
|
|
635
|
+
return {
|
|
636
|
+
message: `Either ${arg1} or ${arg2} must be provided`,
|
|
637
|
+
suggestion: example,
|
|
638
|
+
};
|
|
639
|
+
}
|
|
640
|
+
/**
|
|
641
|
+
* Invalid query pattern.
|
|
642
|
+
*/
|
|
643
|
+
export function invalidQueryPatternError(pattern) {
|
|
644
|
+
return {
|
|
645
|
+
message: 'Query pattern must specify at least one field',
|
|
646
|
+
suggestion: `Received: "${pattern}". Try: bdg dom a11y query "role:button" or "name:Submit"`,
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* A file to upload does not exist.
|
|
651
|
+
*
|
|
652
|
+
* @param file - Path that was not found
|
|
653
|
+
*/
|
|
654
|
+
export function fileNotFoundError(file) {
|
|
655
|
+
return {
|
|
656
|
+
message: `File not found: ${file}`,
|
|
657
|
+
suggestion: 'Relative paths are resolved against the directory you run bdg in; separate several files with commas',
|
|
658
|
+
};
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* A directory given for a file input.
|
|
662
|
+
*
|
|
663
|
+
* @param file - Resolved path
|
|
664
|
+
*/
|
|
665
|
+
export function uploadDirectoryError(file) {
|
|
666
|
+
return {
|
|
667
|
+
message: `Not a file: ${file} is a directory`,
|
|
668
|
+
suggestion: 'Give the path of a file inside it',
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Several files given for a file input that accepts one.
|
|
673
|
+
*
|
|
674
|
+
* @param count - Number of files given
|
|
675
|
+
*/
|
|
676
|
+
export function singleFileInputError(count) {
|
|
677
|
+
return {
|
|
678
|
+
message: `This file input accepts a single file (${count} given)`,
|
|
679
|
+
suggestion: 'Pass one path; only inputs with the "multiple" attribute take a comma-separated list',
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Unknown field in an a11y query pattern.
|
|
684
|
+
*
|
|
685
|
+
* @param field - The unrecognized key
|
|
686
|
+
*/
|
|
687
|
+
export function unknownQueryFieldError(field) {
|
|
688
|
+
return {
|
|
689
|
+
message: `Unknown query field: "${field}"`,
|
|
690
|
+
suggestion: 'Use role, name or description, e.g.: bdg dom a11y query "role:button name:Submit"',
|
|
691
|
+
};
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* No a11y nodes matching pattern.
|
|
695
|
+
*/
|
|
696
|
+
export function noA11yNodesFoundError(pattern) {
|
|
697
|
+
return {
|
|
698
|
+
message: 'No nodes found matching pattern',
|
|
699
|
+
suggestion: `Pattern: ${pattern}. Try a broader query or use "bdg dom a11y tree" to see all elements`,
|
|
700
|
+
};
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* An element that exists but has no node in the accessibility tree.
|
|
704
|
+
*
|
|
705
|
+
* @param target - Selector or index the user gave
|
|
706
|
+
* @param reasons - Why Chrome leaves it out
|
|
707
|
+
*/
|
|
708
|
+
export function notInAccessibilityTreeError(target, reasons) {
|
|
709
|
+
return {
|
|
710
|
+
message: `${target} exists but is not in the accessibility tree${reasons.length ? ` (${reasons.join('; ')})` : ''}`,
|
|
711
|
+
suggestion: `Screen readers skip it. Inspect its HTML instead: bdg dom get ${/^\d+$/.test(target) ? target : `'${target}'`}`,
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Fillable element not found.
|
|
716
|
+
*/
|
|
717
|
+
export function fillableElementNotFoundError(selector) {
|
|
718
|
+
return {
|
|
719
|
+
message: `Element not found: ${selector}`,
|
|
720
|
+
suggestion: 'Verify the selector matches a fillable element (input, textarea, select)',
|
|
721
|
+
};
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* Clickable element not found.
|
|
725
|
+
*/
|
|
726
|
+
export function clickableElementNotFoundError(selector) {
|
|
727
|
+
return {
|
|
728
|
+
message: `Element not found: ${selector}`,
|
|
729
|
+
suggestion: 'Verify the selector matches a clickable element',
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
/**
|
|
733
|
+
* Click target disappeared between locating and clicking it.
|
|
734
|
+
*/
|
|
735
|
+
export function clickTargetDetachedError(selector) {
|
|
736
|
+
return {
|
|
737
|
+
message: `Element was removed before it could be clicked: ${selector}`,
|
|
738
|
+
suggestion: 'The page changed during the click; wait for it to settle and retry',
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Key press failed.
|
|
743
|
+
*/
|
|
744
|
+
export function keyPressFailedError(details) {
|
|
745
|
+
return {
|
|
746
|
+
message: 'Failed to press key',
|
|
747
|
+
suggestion: details,
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
/**
|
|
751
|
+
* A `bdg dom eval` script ran too long and was terminated.
|
|
752
|
+
*
|
|
753
|
+
* @param timeoutMs - Time limit in ms
|
|
754
|
+
* @returns Error with suggestion
|
|
755
|
+
*/
|
|
756
|
+
export function scriptTimeoutError(timeoutMs) {
|
|
757
|
+
return {
|
|
758
|
+
message: `Script did not finish within ${Math.round(timeoutMs / 1000)}s and was terminated`,
|
|
759
|
+
suggestion: 'Check for endless loops or long-running work; the page is usable again',
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* The page was kept busy by a script (e.g. a loop started from a timer) and
|
|
764
|
+
* bdg terminated it.
|
|
765
|
+
*
|
|
766
|
+
* @param timeoutMs - Time waited
|
|
767
|
+
*/
|
|
768
|
+
export function pageBusyError(timeoutMs) {
|
|
769
|
+
return {
|
|
770
|
+
message: `The page was busy for ${Math.round(timeoutMs / 1000)}s (a script kept it running), so its scripts were terminated`,
|
|
771
|
+
suggestion: 'The page is usable again; re-run the command',
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* The page did not answer because a navigation is still waiting for the
|
|
776
|
+
* server (Chrome holds commands for the page until the new document arrives).
|
|
777
|
+
*
|
|
778
|
+
* @param url - URL being loaded
|
|
779
|
+
*/
|
|
780
|
+
export function navigationPendingError(url) {
|
|
781
|
+
return {
|
|
782
|
+
message: `The page is not answering: it is still waiting for the server to respond to ${url}`,
|
|
783
|
+
suggestion: 'Wait for the page to load, or load another one: bdg page navigate <url>',
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* `dom eval` given an empty script (often a shell variable that was not set).
|
|
788
|
+
*/
|
|
789
|
+
export function emptyScriptError() {
|
|
790
|
+
return {
|
|
791
|
+
message: 'The script is empty',
|
|
792
|
+
suggestion: `Pass an expression, e.g. bdg dom eval 'document.title'`,
|
|
793
|
+
};
|
|
794
|
+
}
|
|
795
|
+
/**
|
|
796
|
+
* A promise returned by `dom eval` that did not settle in time.
|
|
797
|
+
*
|
|
798
|
+
* @param timeoutMs - Time waited
|
|
799
|
+
*/
|
|
800
|
+
export function promiseTimeoutError(timeoutMs) {
|
|
801
|
+
return {
|
|
802
|
+
message: `The returned promise did not settle within ${Math.round(timeoutMs / 1000)}s`,
|
|
803
|
+
suggestion: 'Check that it resolves or rejects, or race it with a timeout in the script',
|
|
804
|
+
};
|
|
805
|
+
}
|
|
806
|
+
/** How to see the frames `--frame` accepts */
|
|
807
|
+
const LIST_FRAMES_HINT = 'List frames: bdg dom frames';
|
|
808
|
+
/**
|
|
809
|
+
* `dom eval --frame` given an empty frame.
|
|
810
|
+
*/
|
|
811
|
+
export function emptyFrameError() {
|
|
812
|
+
return {
|
|
813
|
+
message: 'The frame is empty',
|
|
814
|
+
suggestion: `Pass an index, a name/id attribute, or part of the URL. ${LIST_FRAMES_HINT}`,
|
|
815
|
+
};
|
|
816
|
+
}
|
|
817
|
+
/**
|
|
818
|
+
* `dom eval --frame` matching no iframe.
|
|
819
|
+
*
|
|
820
|
+
* @param query - Requested frame
|
|
821
|
+
* @param frames - Frames of the page
|
|
822
|
+
*/
|
|
823
|
+
export function frameNotFoundError(query, frames) {
|
|
824
|
+
if (frames.length === 0) {
|
|
825
|
+
return { message: `Frame not found: ${query}`, suggestion: 'The page has no iframes' };
|
|
826
|
+
}
|
|
827
|
+
return {
|
|
828
|
+
message: `Frame not found: ${query}`,
|
|
829
|
+
suggestion: joinLines('Available frames:', ...frames.map((frame) => ` ${frameLabel(frame)}`)),
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* `dom eval --frame` matching more than one iframe.
|
|
834
|
+
*
|
|
835
|
+
* @param query - Requested frame
|
|
836
|
+
* @param candidates - Matching frames
|
|
837
|
+
*/
|
|
838
|
+
export function ambiguousFrameError(query, candidates) {
|
|
839
|
+
return {
|
|
840
|
+
message: `Frame "${query}" matches ${candidates.length} frames`,
|
|
841
|
+
suggestion: joinLines('Pick one by index or a longer part of the URL:', ...candidates.map((frame) => ` ${frameLabel(frame)}`)),
|
|
842
|
+
};
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* An iframe without a JavaScript context (still loading, or sandboxed without scripts).
|
|
846
|
+
*
|
|
847
|
+
* @param url - Frame URL
|
|
848
|
+
*/
|
|
849
|
+
export function frameNotReadyError(url) {
|
|
850
|
+
return {
|
|
851
|
+
message: `The frame has no JavaScript context: ${url}`,
|
|
852
|
+
suggestion: `Wait for it to load and retry (sandboxed frames without allow-scripts never get one). ${LIST_FRAMES_HINT}`,
|
|
853
|
+
};
|
|
854
|
+
}
|
|
855
|
+
/**
|
|
856
|
+
* Script execution error with shell quote detection.
|
|
857
|
+
*
|
|
858
|
+
* Shows the script as received to help diagnose shell quote stripping issues.
|
|
859
|
+
* Detects common patterns like `querySelector(input)` that indicate shell damage.
|
|
860
|
+
*
|
|
861
|
+
* @param errorMessage - The JavaScript error message
|
|
862
|
+
* @param receivedScript - The script as received by the command (optional for backwards compat)
|
|
863
|
+
* @returns Error with context-aware suggestions
|
|
864
|
+
*/
|
|
865
|
+
export function scriptExecutionError(errorMessage, receivedScript) {
|
|
866
|
+
if (!receivedScript) {
|
|
867
|
+
return {
|
|
868
|
+
message: errorMessage,
|
|
869
|
+
suggestion: 'Check JavaScript syntax and ensure the expression is valid',
|
|
870
|
+
};
|
|
871
|
+
}
|
|
872
|
+
const quoteCheck = detectScriptQuoteDamage(receivedScript);
|
|
873
|
+
const truncatedScript = receivedScript.length > 100 ? receivedScript.slice(0, 100) + '...' : receivedScript;
|
|
874
|
+
const lines = [];
|
|
875
|
+
lines.push(`Script received: ${truncatedScript}`);
|
|
876
|
+
if (quoteCheck.damaged) {
|
|
877
|
+
lines.push('');
|
|
878
|
+
lines.push('Shell quote damage detected:');
|
|
879
|
+
if (quoteCheck.details) {
|
|
880
|
+
lines.push(` ${quoteCheck.details}`);
|
|
881
|
+
}
|
|
882
|
+
if (quoteCheck.suggestion) {
|
|
883
|
+
lines.push('');
|
|
884
|
+
lines.push(quoteCheck.suggestion);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
else if (/^SyntaxError\b/.test(errorMessage)) {
|
|
888
|
+
lines.push('');
|
|
889
|
+
lines.push('Tips:');
|
|
890
|
+
lines.push(" - Use single quotes around script: bdg dom eval '...'");
|
|
891
|
+
lines.push(' - For complex scripts, read them from a file: bdg dom eval "$(cat script.js)"');
|
|
892
|
+
lines.push(' - Escape inner quotes: \\" or use opposite quote style');
|
|
893
|
+
}
|
|
894
|
+
return {
|
|
895
|
+
message: errorMessage,
|
|
896
|
+
suggestion: lines.join('\n'),
|
|
897
|
+
};
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Unexpected CDP response format.
|
|
901
|
+
*/
|
|
902
|
+
export function unexpectedResponseFormatError(context) {
|
|
903
|
+
return {
|
|
904
|
+
message: 'Unexpected response format',
|
|
905
|
+
suggestion: `CDP response missing result.value or invalid ${context} structure`,
|
|
906
|
+
};
|
|
907
|
+
}
|
|
908
|
+
/**
|
|
909
|
+
* Generic operation failure with dynamic error message.
|
|
910
|
+
*/
|
|
911
|
+
export function operationFailedError(operation, errorMessage) {
|
|
912
|
+
return {
|
|
913
|
+
message: `Failed to ${operation}`,
|
|
914
|
+
suggestion: errorMessage,
|
|
915
|
+
};
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* The browser does not offer `DOMDebugger.getEventListeners` (non-Chrome
|
|
919
|
+
* targets, or browsers that disable the DOMDebugger domain).
|
|
920
|
+
*
|
|
921
|
+
* @param detail - Chrome's error
|
|
922
|
+
* @returns Message and suggestion
|
|
923
|
+
*/
|
|
924
|
+
export function eventListenersUnavailableError(detail) {
|
|
925
|
+
return {
|
|
926
|
+
message: `This browser cannot list event listeners (DOMDebugger.getEventListeners: ${detail})`,
|
|
927
|
+
suggestion: 'Use a Chromium-based browser (Chrome, Edge) that supports the DOMDebugger domain',
|
|
928
|
+
};
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* Internal error (should not happen in normal usage).
|
|
932
|
+
*/
|
|
933
|
+
export function internalError(context) {
|
|
934
|
+
return {
|
|
935
|
+
message: context,
|
|
936
|
+
suggestion: 'This is an internal error - please report this issue',
|
|
937
|
+
};
|
|
938
|
+
}
|
|
939
|
+
/**
|
|
940
|
+
* No forms found on page.
|
|
941
|
+
*/
|
|
942
|
+
export function noFormsFoundError() {
|
|
943
|
+
return {
|
|
944
|
+
message: 'No forms discovered on the page',
|
|
945
|
+
suggestion: 'Check if forms exist with: bdg dom query "form, input, [role=textbox]" or inspect the page manually',
|
|
946
|
+
};
|
|
947
|
+
}
|
|
948
|
+
/**
|
|
949
|
+
* Form in iframe (cross-origin or same-origin).
|
|
950
|
+
*/
|
|
951
|
+
export function formInIframeError(iframeUrl, crossOrigin) {
|
|
952
|
+
return {
|
|
953
|
+
message: `${crossOrigin ? 'The form may be' : 'The form is'} inside an iframe: ${iframeUrl}`,
|
|
954
|
+
suggestion: crossOrigin
|
|
955
|
+
? 'Cross-origin iframes cannot be read or controlled; open the iframe URL directly: bdg <iframe url>'
|
|
956
|
+
: 'dom form lists forms of the main document only; its fields are reachable directly: bdg dom query "input, select, textarea", then bdg dom fill <index> <value>',
|
|
957
|
+
};
|
|
958
|
+
}
|
|
959
|
+
//# sourceMappingURL=messages.js.map
|