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,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Playwright-style selector filters: `:has-text("…")`, `:text-is("…")` and
|
|
3
|
+
* `:visible`.
|
|
4
|
+
*
|
|
5
|
+
* They are not CSS, so the selector is split here (in Node) into the CSS the
|
|
6
|
+
* browser runs and the filters the page applies to its matches. They are only
|
|
7
|
+
* supported at the end of the last compound of each selector in a list
|
|
8
|
+
* (`li.item:has-text("x"):visible`, `a:text-is("Home"), button:visible`):
|
|
9
|
+
* there they narrow down the elements the CSS part matched. Anywhere else
|
|
10
|
+
* (`div:has-text("x") > button`, `:not(:visible)`) they would have to be
|
|
11
|
+
* evaluated inside the browser's selector matching, which bdg cannot do.
|
|
12
|
+
*/
|
|
13
|
+
import { CommandError } from '../errors/index.js';
|
|
14
|
+
import { invalidSelectorFilterError, misplacedSelectorFilterError } from '../errors/messages.js';
|
|
15
|
+
import { EXIT_CODES } from './exitCodes.js';
|
|
16
|
+
/** Cheap pre-check: selectors without any of the names are plain CSS. */
|
|
17
|
+
const FILTER_NAME_HINT = /:(?:has-text|text-is|visible)/i;
|
|
18
|
+
/** A filter name at a given position (sticky). */
|
|
19
|
+
const FILTER_NAME = /:(has-text|text-is|visible)(?![\w-])/iy;
|
|
20
|
+
/** CSS ending in a (not escaped) combinator still needs an element selector. */
|
|
21
|
+
const ENDS_IN_COMBINATOR = /(^|[^\\])[\s>+~]$/;
|
|
22
|
+
/**
|
|
23
|
+
* Split a selector into the CSS part and filters of each selector of its
|
|
24
|
+
* list.
|
|
25
|
+
*
|
|
26
|
+
* @param selector - Selector as the user gave it
|
|
27
|
+
* @returns The parts, or null for plain CSS (no filters anywhere), which runs unchanged
|
|
28
|
+
* @throws CommandError (81) for a filter that is not at the end, or a malformed one
|
|
29
|
+
*/
|
|
30
|
+
export function parseSelectorFilters(selector) {
|
|
31
|
+
if (!FILTER_NAME_HINT.test(selector))
|
|
32
|
+
return null;
|
|
33
|
+
const parts = splitSelectorList(selector).map((part) => parsePart(part, selector));
|
|
34
|
+
return parts.some((part) => part.filters.length > 0) ? parts : null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Split a selector list at its top-level commas (not inside quotes,
|
|
38
|
+
* attribute brackets or parentheses).
|
|
39
|
+
*
|
|
40
|
+
* @param selector - Selector list
|
|
41
|
+
* @returns The selectors, untrimmed
|
|
42
|
+
*/
|
|
43
|
+
export function splitSelectorList(selector) {
|
|
44
|
+
const parts = [];
|
|
45
|
+
let partStart = 0;
|
|
46
|
+
scan(selector, (index, depth) => {
|
|
47
|
+
if (selector[index] !== ',' || depth > 0)
|
|
48
|
+
return index;
|
|
49
|
+
parts.push(selector.slice(partStart, index));
|
|
50
|
+
partStart = index + 1;
|
|
51
|
+
return index;
|
|
52
|
+
});
|
|
53
|
+
parts.push(selector.slice(partStart));
|
|
54
|
+
return parts;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Walk a selector, calling `visit` for every character outside quotes,
|
|
58
|
+
* escapes and attribute brackets, with the parenthesis depth.
|
|
59
|
+
*
|
|
60
|
+
* @param text - Selector text
|
|
61
|
+
* @param visit - Returns the index to continue after (to skip what it consumed)
|
|
62
|
+
*/
|
|
63
|
+
function scan(text, visit) {
|
|
64
|
+
let depth = 0;
|
|
65
|
+
let inBrackets = false;
|
|
66
|
+
for (let i = 0; i < text.length; i++) {
|
|
67
|
+
const char = text[i];
|
|
68
|
+
if (char === '\\') {
|
|
69
|
+
i++;
|
|
70
|
+
}
|
|
71
|
+
else if (char === '"' || char === "'") {
|
|
72
|
+
i = quotedEnd(text, i) - 1;
|
|
73
|
+
}
|
|
74
|
+
else if (inBrackets) {
|
|
75
|
+
inBrackets = char !== ']';
|
|
76
|
+
}
|
|
77
|
+
else if (char === '[') {
|
|
78
|
+
inBrackets = true;
|
|
79
|
+
}
|
|
80
|
+
else if (char === '(' || char === ')') {
|
|
81
|
+
depth += char === '(' ? 1 : -1;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
i = visit(i, depth);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* End of a quoted string.
|
|
90
|
+
*
|
|
91
|
+
* @param text - Text containing the string
|
|
92
|
+
* @param start - Index of the opening quote
|
|
93
|
+
* @returns Index after the closing quote, or the text length when unterminated
|
|
94
|
+
*/
|
|
95
|
+
function quotedEnd(text, start) {
|
|
96
|
+
const end = closingQuote(text, start);
|
|
97
|
+
return end === -1 ? text.length : end + 1;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Index of the quote closing the string opened at `start` (backslash escapes skipped).
|
|
101
|
+
*
|
|
102
|
+
* @param text - Text containing the string
|
|
103
|
+
* @param start - Index of the opening quote
|
|
104
|
+
* @returns Index of the closing quote, or -1 when unterminated
|
|
105
|
+
*/
|
|
106
|
+
function closingQuote(text, start) {
|
|
107
|
+
for (let i = start + 1; i < text.length; i++) {
|
|
108
|
+
if (text[i] === '\\')
|
|
109
|
+
i++;
|
|
110
|
+
else if (text[i] === text[start])
|
|
111
|
+
return i;
|
|
112
|
+
}
|
|
113
|
+
return -1;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Split one selector of a list into its CSS part and trailing filters.
|
|
117
|
+
*
|
|
118
|
+
* @param part - One selector of the list
|
|
119
|
+
* @param selector - Whole selector, for error messages
|
|
120
|
+
* @returns CSS part (`*` when only filters are given) and filters
|
|
121
|
+
* @throws CommandError (81) when a filter is not at the end
|
|
122
|
+
*/
|
|
123
|
+
function parsePart(part, selector) {
|
|
124
|
+
const matches = findFilters(part, selector);
|
|
125
|
+
const first = matches[0];
|
|
126
|
+
if (!first)
|
|
127
|
+
return { css: part.trim(), filters: [] };
|
|
128
|
+
const misplaced = matches.find((match, i) => match.depth > 0 || match.end !== (matches[i + 1]?.start ?? part.trimEnd().length));
|
|
129
|
+
if (misplaced) {
|
|
130
|
+
const err = misplacedSelectorFilterError(selector, part.slice(misplaced.start, misplaced.end));
|
|
131
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
|
|
132
|
+
}
|
|
133
|
+
const css = part.slice(0, first.start);
|
|
134
|
+
const needsElement = css.trim() === '' || ENDS_IN_COMBINATOR.test(css);
|
|
135
|
+
return {
|
|
136
|
+
css: (needsElement ? `${css}*` : css).trim(),
|
|
137
|
+
filters: matches.map((match) => match.filter),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Find every filter in a selector (at any parenthesis depth, outside quotes
|
|
142
|
+
* and attribute brackets).
|
|
143
|
+
*
|
|
144
|
+
* @param part - One selector of a list
|
|
145
|
+
* @param selector - Whole selector, for error messages
|
|
146
|
+
* @returns Filters in order
|
|
147
|
+
*/
|
|
148
|
+
function findFilters(part, selector) {
|
|
149
|
+
const matches = [];
|
|
150
|
+
scan(part, (index, depth) => {
|
|
151
|
+
FILTER_NAME.lastIndex = index;
|
|
152
|
+
const name = FILTER_NAME.exec(part)?.[1]?.toLowerCase();
|
|
153
|
+
if (!name)
|
|
154
|
+
return index;
|
|
155
|
+
const nameEnd = FILTER_NAME.lastIndex;
|
|
156
|
+
const { filter, end } = name === 'visible'
|
|
157
|
+
? { filter: { kind: 'visible' }, end: nameEnd }
|
|
158
|
+
: readTextFilter(part, nameEnd, name, selector);
|
|
159
|
+
matches.push({ start: index, end, depth, filter });
|
|
160
|
+
return end - 1;
|
|
161
|
+
});
|
|
162
|
+
return matches;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Read the `("text")` argument of a text filter.
|
|
166
|
+
*
|
|
167
|
+
* @param part - Selector text
|
|
168
|
+
* @param start - Index after the filter name
|
|
169
|
+
* @param name - `has-text` or `text-is`
|
|
170
|
+
* @param selector - Whole selector, for error messages
|
|
171
|
+
* @returns The filter (text whitespace-normalized) and the index after it
|
|
172
|
+
* @throws CommandError (81) when the argument is missing or not closed
|
|
173
|
+
*/
|
|
174
|
+
function readTextFilter(part, start, name, selector) {
|
|
175
|
+
const argument = part[start] === '(' ? readArgument(part, start + 1) : null;
|
|
176
|
+
if (!argument) {
|
|
177
|
+
const err = invalidSelectorFilterError(selector, `:${name}`);
|
|
178
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
|
|
179
|
+
}
|
|
180
|
+
const text = argument.text.replace(/\s+/g, ' ').trim();
|
|
181
|
+
const filter = name === 'has-text'
|
|
182
|
+
? { kind: 'has-text', text: text.toLowerCase() }
|
|
183
|
+
: { kind: 'text-is', text };
|
|
184
|
+
return { filter, end: argument.end };
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Read a filter argument: a single- or double-quoted string (backslash
|
|
188
|
+
* escapes allowed) or unquoted text, up to the closing parenthesis.
|
|
189
|
+
*
|
|
190
|
+
* @param part - Selector text
|
|
191
|
+
* @param start - Index after the opening parenthesis
|
|
192
|
+
* @returns Argument text and the index after the closing parenthesis, or null when malformed
|
|
193
|
+
*/
|
|
194
|
+
function readArgument(part, start) {
|
|
195
|
+
const valueStart = start + (part.slice(start).length - part.slice(start).trimStart().length);
|
|
196
|
+
const quote = part[valueStart];
|
|
197
|
+
if (quote === '"' || quote === "'") {
|
|
198
|
+
const close = closingQuote(part, valueStart);
|
|
199
|
+
const after = close === -1 ? -1 : part.indexOf(')', close);
|
|
200
|
+
if (after === -1 || part.slice(close + 1, after).trim() !== '')
|
|
201
|
+
return null;
|
|
202
|
+
return { text: part.slice(valueStart + 1, close).replace(/\\(.)/gs, '$1'), end: after + 1 };
|
|
203
|
+
}
|
|
204
|
+
const close = matchingParenthesis(part, start);
|
|
205
|
+
return close === -1 ? null : { text: part.slice(start, close), end: close + 1 };
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Index of the parenthesis closing an unquoted argument (nested pairs skipped).
|
|
209
|
+
*
|
|
210
|
+
* @param part - Selector text
|
|
211
|
+
* @param start - Index after the opening parenthesis
|
|
212
|
+
* @returns Index of the closing parenthesis, or -1 when there is none
|
|
213
|
+
*/
|
|
214
|
+
function matchingParenthesis(part, start) {
|
|
215
|
+
let depth = 0;
|
|
216
|
+
for (let i = start; i < part.length; i++) {
|
|
217
|
+
if (part[i] === '(')
|
|
218
|
+
depth++;
|
|
219
|
+
else if (part[i] === ')' && depth-- === 0)
|
|
220
|
+
return i;
|
|
221
|
+
}
|
|
222
|
+
return -1;
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=selectorFilters.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Suggestion utilities for typo detection and helpful error messages.
|
|
3
3
|
*/
|
|
4
|
-
import { levenshteinDistance } from '
|
|
4
|
+
import { levenshteinDistance } from './levenshtein.js';
|
|
5
5
|
function normalizeForComparison(str, caseInsensitive) {
|
|
6
6
|
return caseInsensitive ? str.toLowerCase() : str;
|
|
7
7
|
}
|
|
@@ -50,6 +50,11 @@ export const TASK_MAPPINGS = {
|
|
|
50
50
|
description: 'Get detailed element information',
|
|
51
51
|
cdpAlternative: 'Runtime.evaluate with property extraction',
|
|
52
52
|
},
|
|
53
|
+
inspect_event_listeners: {
|
|
54
|
+
commands: ['dom listeners'],
|
|
55
|
+
description: 'List event listeners for an element, incl. delegated ones on ancestors/document/window',
|
|
56
|
+
cdpAlternative: 'DOMDebugger.getEventListeners on the element and each ancestor',
|
|
57
|
+
},
|
|
53
58
|
accessibility_tree: {
|
|
54
59
|
commands: ['dom a11y'],
|
|
55
60
|
description: 'Get accessibility tree for page or element',
|
|
@@ -93,7 +98,7 @@ export const TASK_MAPPINGS = {
|
|
|
93
98
|
preview_data: {
|
|
94
99
|
commands: ['peek'],
|
|
95
100
|
description: 'Preview collected network and console data',
|
|
96
|
-
cdpAlternative: 'Multiple IPC queries to
|
|
101
|
+
cdpAlternative: 'Multiple IPC queries to session state',
|
|
97
102
|
},
|
|
98
103
|
live_monitoring: {
|
|
99
104
|
commands: ['peek --follow', 'tail'],
|
|
@@ -103,7 +108,7 @@ export const TASK_MAPPINGS = {
|
|
|
103
108
|
get_full_details: {
|
|
104
109
|
commands: ['details network', 'details console'],
|
|
105
110
|
description: 'Get complete request/response or console message details',
|
|
106
|
-
cdpAlternative: '
|
|
111
|
+
cdpAlternative: 'Session state query + response body fetch',
|
|
107
112
|
},
|
|
108
113
|
check_session_status: {
|
|
109
114
|
commands: ['status'],
|
package/dist/utils/typeGuards.js
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* runtime errors. Type guards provide actual runtime validation while
|
|
9
9
|
* maintaining type safety.
|
|
10
10
|
*/
|
|
11
|
-
import { CommandError } from '../
|
|
12
|
-
import { EXIT_CODES } from '
|
|
11
|
+
import { CommandError } from '../errors/index.js';
|
|
12
|
+
import { EXIT_CODES } from './exitCodes.js';
|
|
13
13
|
/**
|
|
14
14
|
* Type guard to check if a value is a valid NetworkRequest.
|
|
15
15
|
*
|
package/dist/utils/url.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* URL normalization, validation, and parsing utilities.
|
|
3
3
|
*/
|
|
4
|
+
import { type ValidationResult } from './validation.js';
|
|
4
5
|
/**
|
|
5
6
|
* Normalize a URL by adding http:// protocol if missing.
|
|
6
7
|
*
|
|
@@ -49,11 +50,7 @@ export declare function normalizeUrl(url: string): string;
|
|
|
49
50
|
* All URLs are normalized before validation to support convenient formats like
|
|
50
51
|
* 'localhost:3000' or 'example.com'.
|
|
51
52
|
*/
|
|
52
|
-
export declare function validateUrl(url: string):
|
|
53
|
-
valid: boolean;
|
|
54
|
-
error?: string;
|
|
55
|
-
suggestion?: string;
|
|
56
|
-
};
|
|
53
|
+
export declare function validateUrl(url: string): ValidationResult;
|
|
57
54
|
/**
|
|
58
55
|
* Safely parse a URL string with automatic protocol detection.
|
|
59
56
|
*
|
|
@@ -71,6 +68,17 @@ export declare function validateUrl(url: string): {
|
|
|
71
68
|
* ```
|
|
72
69
|
*/
|
|
73
70
|
export declare function safeParseUrl(input: string): URL | null;
|
|
71
|
+
/**
|
|
72
|
+
* Validate a `--chrome-ws-url` value.
|
|
73
|
+
*
|
|
74
|
+
* Accepted schemes: `ws://` and `wss://`. Rejects other schemes, malformed
|
|
75
|
+
* URLs, and empty input so users hear about the problem at the CLI boundary
|
|
76
|
+
* instead of after a daemon round-trip.
|
|
77
|
+
*
|
|
78
|
+
* @param url - ws URL to validate
|
|
79
|
+
* @returns Validation result with error/suggestion when invalid
|
|
80
|
+
*/
|
|
81
|
+
export declare function validateChromeWsUrl(url: string): ValidationResult;
|
|
74
82
|
/**
|
|
75
83
|
* Extract hostname from a URL string safely.
|
|
76
84
|
*
|
package/dist/utils/url.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* URL normalization, validation, and parsing utilities.
|
|
3
3
|
*/
|
|
4
|
+
import { invalid, valid } from './validation.js';
|
|
4
5
|
/**
|
|
5
6
|
* Dangerous URL protocols that must be explicitly blocked.
|
|
6
7
|
*
|
|
@@ -102,40 +103,26 @@ export function normalizeUrl(url) {
|
|
|
102
103
|
*/
|
|
103
104
|
export function validateUrl(url) {
|
|
104
105
|
if (!url || url.trim().length === 0) {
|
|
105
|
-
return
|
|
106
|
-
valid: false,
|
|
107
|
-
error: 'URL cannot be empty',
|
|
108
|
-
suggestion: 'Provide a valid URL, e.g.: http://localhost:3000',
|
|
109
|
-
};
|
|
106
|
+
return invalid('URL cannot be empty', 'Provide a valid URL, e.g.: http://localhost:3000');
|
|
110
107
|
}
|
|
111
108
|
if (url.includes(' ')) {
|
|
112
|
-
return {
|
|
113
|
-
valid: false,
|
|
114
|
-
error: `Invalid URL format: '${url}' (contains spaces)`,
|
|
115
|
-
suggestion: 'URLs cannot contain spaces. If your URL has query parameters, wrap it in quotes: bdg "https://example.com/search?q=test"',
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
// Check for signs of shell glob expansion issues
|
|
119
|
-
// If URL looks like it might have been mangled by shell expansion
|
|
120
|
-
if (!url.includes('?') && !url.includes('&') && /^[a-z]+:\/\/[^/]+\/[^/]+$/.test(url)) {
|
|
121
|
-
// URL has path but no query params - might be fine, continue validation
|
|
109
|
+
return invalid(`Invalid URL format: '${url}' (contains spaces)`, 'Encode spaces as %20, e.g. bdg "https://example.com/search?q=a%20b"');
|
|
122
110
|
}
|
|
123
111
|
// Detect if URL looks truncated (common when shell expands ? as glob)
|
|
124
112
|
if (url.endsWith('?') || url.endsWith('&')) {
|
|
125
|
-
return {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
};
|
|
113
|
+
return invalid(`URL appears truncated: '${url}'`, 'URLs with query parameters (? or &) must be quoted: bdg "https://example.com/search?q=test"');
|
|
114
|
+
}
|
|
115
|
+
const scheme = /^([a-z][a-z0-9+.-]*):\/\//i.exec(url)?.[1]?.toLowerCase();
|
|
116
|
+
if (scheme && !VALID_PROTOCOLS.includes(`${scheme}:`)) {
|
|
117
|
+
return invalid(`Unsupported protocol: '${scheme}:'`, 'bdg opens http://, https://, file://, about:, chrome:, and data: URLs');
|
|
130
118
|
}
|
|
131
119
|
const normalized = normalizeUrl(url);
|
|
132
120
|
const urlLower = url.toLowerCase();
|
|
121
|
+
if (urlLower.startsWith('javascript:')) {
|
|
122
|
+
return invalid(`Cannot start a session on a javascript: URL`, `Open a page first, then run the script: bdg about:blank && bdg dom eval '...'`);
|
|
123
|
+
}
|
|
133
124
|
if (urlLower.startsWith('vbscript:')) {
|
|
134
|
-
return
|
|
135
|
-
valid: false,
|
|
136
|
-
error: `Dangerous protocol: 'vbscript:' is not allowed`,
|
|
137
|
-
suggestion: 'Use http://, https://, or other safe protocols',
|
|
138
|
-
};
|
|
125
|
+
return invalid(`Dangerous protocol: 'vbscript:' is not allowed`, 'Use http://, https://, or other safe protocols');
|
|
139
126
|
}
|
|
140
127
|
const isSpecialProtocol = urlLower.startsWith('javascript:') ||
|
|
141
128
|
urlLower.startsWith('data:') ||
|
|
@@ -143,45 +130,26 @@ export function validateUrl(url) {
|
|
|
143
130
|
if (!isSpecialProtocol) {
|
|
144
131
|
const beforePath = url.split('/')[0] ?? '';
|
|
145
132
|
if (/[!@#$%^&*()=+[\]{}\\|;'",<>?]/.test(beforePath)) {
|
|
146
|
-
return {
|
|
147
|
-
valid: false,
|
|
148
|
-
error: `Invalid URL format: '${url}' (contains invalid characters)`,
|
|
149
|
-
suggestion: 'URLs cannot contain special characters like !, @, #, etc. in hostname or protocol',
|
|
150
|
-
};
|
|
133
|
+
return invalid(`Invalid URL format: '${url}' (contains invalid characters)`, 'URLs cannot contain special characters like !, @, #, etc. in hostname or protocol');
|
|
151
134
|
}
|
|
152
135
|
}
|
|
153
136
|
try {
|
|
154
137
|
const parsed = new URL(normalized);
|
|
155
138
|
// Explicitly block dangerous protocols (CodeQL js/incomplete-url-scheme-check)
|
|
156
139
|
if (DANGEROUS_PROTOCOLS.includes(parsed.protocol)) {
|
|
157
|
-
return {
|
|
158
|
-
valid: false,
|
|
159
|
-
error: `Blocked dangerous protocol: '${parsed.protocol}'`,
|
|
160
|
-
suggestion: 'This protocol is not allowed for security reasons',
|
|
161
|
-
};
|
|
140
|
+
return invalid(`Blocked dangerous protocol: '${parsed.protocol}'`, 'This protocol is not allowed for security reasons');
|
|
162
141
|
}
|
|
163
142
|
if (!VALID_PROTOCOLS.includes(parsed.protocol)) {
|
|
164
|
-
return {
|
|
165
|
-
valid: false,
|
|
166
|
-
error: `Invalid protocol: '${parsed.protocol}'`,
|
|
167
|
-
suggestion: 'URLs must use http://, https://, or other valid protocols',
|
|
168
|
-
};
|
|
143
|
+
return invalid(`Invalid protocol: '${parsed.protocol}'`, 'URLs must use http://, https://, or other valid protocols');
|
|
169
144
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
error: `Invalid URL format: '${url}' (missing hostname)`,
|
|
174
|
-
suggestion: 'URLs must include a valid hostname, e.g.: http://example.com',
|
|
175
|
-
};
|
|
145
|
+
const isWeb = parsed.protocol === 'http:' || parsed.protocol === 'https:';
|
|
146
|
+
if (isWeb && !/[a-z0-9]/i.test(parsed.hostname)) {
|
|
147
|
+
return invalid(`Invalid URL format: '${url}' (missing hostname)`, 'URLs must include a valid hostname, e.g.: http://example.com');
|
|
176
148
|
}
|
|
177
|
-
return
|
|
149
|
+
return valid();
|
|
178
150
|
}
|
|
179
151
|
catch {
|
|
180
|
-
return {
|
|
181
|
-
valid: false,
|
|
182
|
-
error: `Invalid URL format: '${url}'`,
|
|
183
|
-
suggestion: 'URLs must include a valid protocol (http:// or https://). If URL has query parameters, quote it: bdg "https://example.com?q=test"',
|
|
184
|
-
};
|
|
152
|
+
return invalid(`Invalid URL format: '${url}'`, 'URLs must include a valid protocol (http:// or https://). If URL has query parameters, quote it: bdg "https://example.com?q=test"');
|
|
185
153
|
}
|
|
186
154
|
}
|
|
187
155
|
/**
|
|
@@ -213,6 +181,39 @@ export function safeParseUrl(input) {
|
|
|
213
181
|
}
|
|
214
182
|
}
|
|
215
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Validate a `--chrome-ws-url` value.
|
|
186
|
+
*
|
|
187
|
+
* Accepted schemes: `ws://` and `wss://`. Rejects other schemes, malformed
|
|
188
|
+
* URLs, and empty input so users hear about the problem at the CLI boundary
|
|
189
|
+
* instead of after a daemon round-trip.
|
|
190
|
+
*
|
|
191
|
+
* @param url - ws URL to validate
|
|
192
|
+
* @returns Validation result with error/suggestion when invalid
|
|
193
|
+
*/
|
|
194
|
+
export function validateChromeWsUrl(url) {
|
|
195
|
+
const trimmed = url.trim();
|
|
196
|
+
if (!trimmed) {
|
|
197
|
+
return invalid('--chrome-ws-url cannot be empty', 'Expected: ws://host:port/devtools/browser/<uuid>');
|
|
198
|
+
}
|
|
199
|
+
let parsed;
|
|
200
|
+
try {
|
|
201
|
+
parsed = new URL(trimmed);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return invalid(`--chrome-ws-url is not a valid URL: '${url}'`, 'Expected: ws://host:port/devtools/browser/<uuid>');
|
|
205
|
+
}
|
|
206
|
+
if (parsed.protocol !== 'ws:' && parsed.protocol !== 'wss:') {
|
|
207
|
+
return invalid(`--chrome-ws-url must use ws:// or wss://, got '${parsed.protocol}'`, `Find it with: curl -s http://${parsed.host || '127.0.0.1:9222'}/json/version | jq -r .webSocketDebuggerUrl`);
|
|
208
|
+
}
|
|
209
|
+
if (!parsed.hostname) {
|
|
210
|
+
return invalid(`--chrome-ws-url is missing a hostname: '${url}'`, 'Expected: ws://host:port/devtools/browser/<uuid>');
|
|
211
|
+
}
|
|
212
|
+
if (!/^\/devtools\/(browser|page)\/[^/]+$/.test(parsed.pathname)) {
|
|
213
|
+
return invalid(`--chrome-ws-url must point to /devtools/browser/<id> or /devtools/page/<id>, got '${parsed.pathname}'`, `Find it with: curl -s http://${parsed.host}/json/version | jq -r .webSocketDebuggerUrl`);
|
|
214
|
+
}
|
|
215
|
+
return valid();
|
|
216
|
+
}
|
|
216
217
|
/**
|
|
217
218
|
* Extract hostname from a URL string safely.
|
|
218
219
|
*
|
|
@@ -1,101 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Shared validation-result shape used across URL, argument, and config validators.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - `parsePositiveIntOption()` → `positiveIntRule()` with `validateOptions()`
|
|
7
|
-
* - `parseIntOption()` → `positiveIntRule()` with custom options
|
|
8
|
-
*
|
|
9
|
-
* The new validation layer provides:
|
|
10
|
-
* - Structured CommandError instances with proper exit codes
|
|
11
|
-
* - Type-safe validation rules
|
|
12
|
-
* - Consistent error formatting
|
|
13
|
-
* - Composable validation patterns
|
|
14
|
-
*
|
|
15
|
-
* @see commands/shared/validation.ts
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Parse and validate an integer option with range constraints.
|
|
19
|
-
*
|
|
20
|
-
* @deprecated Use `positiveIntRule()` from `@/commands/shared/validation.ts` instead
|
|
21
|
-
*
|
|
22
|
-
* @param name - The option name for error messages
|
|
23
|
-
* @param value - The string value to parse (or undefined)
|
|
24
|
-
* @param options - Validation configuration
|
|
25
|
-
* @returns Parsed integer value or undefined if not required and not provided
|
|
26
|
-
* @throws Error if validation fails
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* // Required with default
|
|
31
|
-
* const lastN = parseIntOption('last', options.last, {
|
|
32
|
-
* defaultValue: 10,
|
|
33
|
-
* min: 1,
|
|
34
|
-
* max: 1000
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* // Optional
|
|
38
|
-
* const timeout = parseIntOption('timeout', options.timeout, {
|
|
39
|
-
* required: false,
|
|
40
|
-
* min: 1,
|
|
41
|
-
* max: 3600
|
|
42
|
-
* });
|
|
43
|
-
* ```
|
|
4
|
+
* Discriminated on `valid` so callers get exhaustive narrowing: `error` and
|
|
5
|
+
* `suggestion` are only accessible after a `!result.valid` check.
|
|
44
6
|
*/
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
7
|
+
export type ValidationResult = {
|
|
8
|
+
valid: true;
|
|
9
|
+
} | {
|
|
10
|
+
valid: false;
|
|
11
|
+
error: string;
|
|
12
|
+
suggestion?: string;
|
|
13
|
+
};
|
|
52
14
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @deprecated Use `positiveIntRule()` from `@/commands/shared/validation.ts` instead
|
|
56
|
-
*
|
|
57
|
-
* @param name - The option name for error messages
|
|
58
|
-
* @param value - The string value to parse (or undefined)
|
|
59
|
-
* @param options - Validation configuration
|
|
60
|
-
* @returns Parsed integer value
|
|
61
|
-
* @throws Error if validation fails
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* const lastN = parsePositiveIntOption('last', options.last, {
|
|
66
|
-
* defaultValue: 10,
|
|
67
|
-
* min: 1,
|
|
68
|
-
* max: 1000
|
|
69
|
-
* });
|
|
70
|
-
* ```
|
|
15
|
+
* Build a successful validation result.
|
|
71
16
|
*/
|
|
72
|
-
export declare function
|
|
73
|
-
defaultValue?: number;
|
|
74
|
-
min?: number;
|
|
75
|
-
max?: number;
|
|
76
|
-
errorFormatter?: (value: string | undefined) => string;
|
|
77
|
-
}): number;
|
|
17
|
+
export declare function valid(): ValidationResult;
|
|
78
18
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* @deprecated Use `optionalIntRule()` from `@/commands/shared/validation.ts` instead
|
|
82
|
-
*
|
|
83
|
-
* @param name - The option name for error messages
|
|
84
|
-
* @param value - The string value to parse (or undefined)
|
|
85
|
-
* @param options - Validation configuration
|
|
86
|
-
* @returns Parsed integer or undefined
|
|
87
|
-
* @throws Error if value is provided but invalid
|
|
88
|
-
*
|
|
89
|
-
* @example
|
|
90
|
-
* ```typescript
|
|
91
|
-
* const timeout = parseOptionalIntOption('timeout', options.timeout, {
|
|
92
|
-
* min: 1,
|
|
93
|
-
* max: 3600
|
|
94
|
-
* });
|
|
95
|
-
* ```
|
|
19
|
+
* Build a failed validation result with a required error and optional
|
|
20
|
+
* recovery suggestion.
|
|
96
21
|
*/
|
|
97
|
-
export declare function
|
|
98
|
-
min?: number;
|
|
99
|
-
max?: number;
|
|
100
|
-
}): number | undefined;
|
|
22
|
+
export declare function invalid(error: string, suggestion?: string): ValidationResult;
|
|
101
23
|
//# sourceMappingURL=validation.d.ts.map
|