browser-debugger-cli 0.7.2 → 0.9.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 +17 -6
- package/dist/cdp/protocol.d.ts +1 -1
- package/dist/cdp/protocol.js +1 -1
- package/dist/cdp/schema.d.ts +14 -1
- package/dist/cdp/schema.js +61 -7
- package/dist/commands/cdp.js +76 -23
- package/dist/commands/cleanup.d.ts +11 -0
- package/dist/commands/cleanup.js +167 -55
- package/dist/commands/console.d.ts +38 -2
- package/dist/commands/console.js +147 -62
- package/dist/commands/details.js +15 -4
- package/dist/commands/dom/DomElementResolver.d.ts +34 -72
- package/dist/commands/dom/DomElementResolver.js +93 -166
- package/dist/commands/dom/a11y.d.ts +10 -0
- package/dist/commands/dom/a11y.js +75 -34
- package/dist/commands/dom/eval.d.ts +15 -0
- package/dist/commands/dom/eval.js +68 -0
- package/dist/commands/dom/form.js +109 -199
- package/dist/commands/dom/formInteraction.d.ts +6 -1
- package/dist/commands/dom/formInteraction.js +319 -362
- package/dist/commands/dom/formSummary.d.ts +49 -0
- package/dist/commands/dom/formSummary.js +180 -0
- package/dist/commands/dom/frames.d.ts +13 -0
- package/dist/commands/dom/frames.js +43 -0
- package/dist/commands/dom/get.d.ts +21 -0
- package/dist/commands/dom/get.js +151 -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 +105 -0
- package/dist/commands/dom/helpers/query.js +604 -0
- package/dist/commands/dom/helpers/runElementCommand.d.ts +64 -0
- package/dist/commands/dom/helpers/runElementCommand.js +130 -0
- package/dist/commands/dom/helpers/screenshot.d.ts +33 -0
- package/dist/commands/dom/helpers/screenshot.js +489 -0
- package/dist/commands/dom/index.d.ts +17 -3
- package/dist/commands/dom/index.js +61 -517
- package/dist/commands/dom/layout.d.ts +14 -0
- package/dist/commands/dom/layout.js +54 -0
- package/dist/commands/dom/listeners.d.ts +20 -0
- package/dist/commands/dom/listeners.js +64 -0
- package/dist/commands/dom/query.d.ts +14 -0
- package/dist/commands/dom/query.js +35 -0
- package/dist/commands/dom/screenshot.d.ts +31 -0
- package/dist/commands/dom/screenshot.js +272 -0
- package/dist/commands/dom/semanticUtils.d.ts +37 -0
- package/dist/commands/dom/semanticUtils.js +98 -0
- package/dist/commands/dom/wait.d.ts +13 -0
- package/dist/commands/dom/wait.js +83 -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 +97 -71
- 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 +148 -36
- package/dist/commands/page.d.ts +12 -0
- package/dist/commands/page.js +148 -0
- package/dist/commands/peek.js +64 -57
- package/dist/commands/sessions.d.ts +8 -0
- package/dist/commands/sessions.js +19 -0
- 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 +21 -4
- package/dist/commands/shared/followMode.js +34 -12
- package/dist/commands/shared/handleValidationError.d.ts +14 -0
- package/dist/commands/shared/handleValidationError.js +48 -0
- package/dist/commands/shared/optionTypes.d.ts +80 -25
- 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 +235 -37
- package/dist/commands/shared/validation.d.ts +43 -0
- package/dist/commands/shared/validation.js +102 -22
- package/dist/commands/start.d.ts +91 -1
- package/dist/commands/start.js +328 -40
- package/dist/commands/status.js +76 -17
- package/dist/commands/stop.js +21 -30
- package/dist/commands/tail.js +22 -44
- package/dist/commands/types.d.ts +2 -0
- package/dist/commands.js +4 -0
- package/dist/connection/cdp.d.ts +12 -6
- package/dist/connection/cdp.js +59 -16
- package/dist/connection/chromeIdentity.d.ts +65 -0
- package/dist/connection/chromeIdentity.js +143 -0
- 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/profilePreferences.d.ts +47 -0
- package/dist/connection/launcher/profilePreferences.js +151 -0
- package/dist/connection/launcher.d.ts +22 -1
- package/dist/connection/launcher.js +89 -44
- package/dist/connection/pageReadiness.d.ts +5 -6
- package/dist/connection/pageReadiness.js +63 -120
- package/dist/connection/portReservation.d.ts +20 -0
- package/dist/connection/portReservation.js +52 -2
- package/dist/connection/startupExit.d.ts +45 -0
- package/dist/connection/startupExit.js +116 -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 +27 -24
- package/dist/constants.js +37 -27
- package/dist/daemon/SessionController.d.ts +125 -0
- package/dist/daemon/SessionController.js +488 -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 +14 -21
- package/dist/daemon/launcher.js +94 -102
- 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 +130 -30
- package/dist/daemon/session/Session.d.ts +150 -0
- package/dist/daemon/session/Session.js +337 -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 +47 -0
- package/dist/daemon/session/chromeConnection.js +215 -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 +435 -0
- package/dist/daemon/session/interactions.d.ts +53 -0
- package/dist/daemon/session/interactions.js +71 -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/session/triggeredRequests.d.ts +67 -0
- package/dist/daemon/session/triggeredRequests.js +157 -0
- package/dist/daemon/session/types.d.ts +19 -0
- package/dist/daemon.d.ts +3 -4
- package/dist/daemon.js +19149 -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 +908 -0
- package/dist/errors/messages.js +1653 -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 +18828 -168
- package/dist/ipc/client.d.ts +56 -9
- package/dist/ipc/client.js +115 -19
- package/dist/ipc/index.d.ts +2 -2
- package/dist/ipc/index.js +2 -2
- package/dist/ipc/protocol/commands.d.ts +305 -59
- package/dist/ipc/protocol/commands.js +29 -21
- package/dist/ipc/protocol/domTypes.d.ts +487 -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 +28 -23
- package/dist/ipc/session/queries.d.ts +26 -5
- package/dist/ipc/session/types.d.ts +6 -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 +8 -1
- package/dist/ipc/transport/index.js +8 -3
- 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/actionEffects.d.ts +106 -0
- package/dist/runtime/dom/actionEffects.js +256 -0
- package/dist/runtime/dom/actionEffectsScripts.d.ts +52 -0
- package/dist/runtime/dom/actionEffectsScripts.js +234 -0
- package/dist/runtime/dom/elementGeometry.d.ts +170 -0
- package/dist/runtime/dom/elementGeometry.js +553 -0
- package/dist/runtime/dom/elementInfo.d.ts +77 -0
- package/dist/runtime/dom/elementInfo.js +191 -0
- package/dist/runtime/dom/evalHelpers.d.ts +121 -0
- package/dist/runtime/dom/evalHelpers.js +516 -0
- package/dist/runtime/dom/eventListeners.d.ts +24 -0
- package/dist/runtime/dom/eventListeners.js +379 -0
- package/dist/runtime/dom/formDiscovery.d.ts +26 -0
- package/dist/{commands → runtime}/dom/formDiscovery.js +163 -24
- package/dist/runtime/dom/formFillHelpers/fill.d.ts +39 -0
- package/dist/runtime/dom/formFillHelpers/fill.js +414 -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 +206 -0
- package/dist/runtime/dom/formFillHelpers/scroll.d.ts +27 -0
- package/dist/runtime/dom/formFillHelpers/scroll.js +230 -0
- package/dist/runtime/dom/formFillHelpers/shared.d.ts +60 -0
- package/dist/runtime/dom/formFillHelpers/shared.js +124 -0
- package/dist/runtime/dom/formFillHelpers/stability.d.ts +28 -0
- package/dist/runtime/dom/formFillHelpers/stability.js +71 -0
- package/dist/runtime/dom/formSubmitHelpers.d.ts +32 -0
- package/dist/runtime/dom/formSubmitHelpers.js +326 -0
- package/dist/runtime/dom/formTypes.d.ts +8 -0
- package/dist/runtime/dom/frameLayout.d.ts +60 -0
- package/dist/runtime/dom/frameLayout.js +140 -0
- package/dist/runtime/dom/frameOrigin.d.ts +50 -0
- package/dist/runtime/dom/frameOrigin.js +62 -0
- package/dist/runtime/dom/frameScopedConnection.d.ts +92 -0
- package/dist/runtime/dom/frameScopedConnection.js +252 -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 +61 -0
- package/dist/runtime/dom/frames.js +444 -0
- package/dist/runtime/dom/keyMapping.d.ts +103 -0
- package/dist/runtime/dom/keyMapping.js +232 -0
- package/dist/runtime/dom/layout.d.ts +67 -0
- package/dist/runtime/dom/layout.js +333 -0
- package/dist/runtime/dom/listenerPageScripts.d.ts +66 -0
- package/dist/runtime/dom/listenerPageScripts.js +279 -0
- package/dist/runtime/dom/listenerSummary.d.ts +193 -0
- package/dist/runtime/dom/listenerSummary.js +472 -0
- package/dist/runtime/dom/pageActivity.d.ts +41 -0
- package/dist/runtime/dom/pageActivity.js +123 -0
- package/dist/runtime/dom/reactEventHelpers.d.ts +117 -0
- package/dist/runtime/dom/reactEventHelpers.js +641 -0
- package/dist/runtime/dom/targetNode.d.ts +131 -0
- package/dist/runtime/dom/targetNode.js +370 -0
- package/dist/runtime/dom/wait.d.ts +25 -0
- package/dist/runtime/dom/wait.js +199 -0
- package/dist/runtime/dom/waitCondition.d.ts +71 -0
- package/dist/runtime/dom/waitCondition.js +75 -0
- package/dist/runtime/page/emulation.d.ts +51 -0
- package/dist/runtime/page/emulation.js +80 -0
- package/dist/runtime/page/loadingState.d.ts +36 -0
- package/dist/runtime/page/loadingState.js +86 -0
- package/dist/runtime/page/navigation.d.ts +78 -0
- package/dist/runtime/page/navigation.js +285 -0
- package/dist/session/QueryCacheManager.d.ts +36 -83
- package/dist/session/QueryCacheManager.js +63 -133
- package/dist/session/chrome.d.ts +21 -16
- package/dist/session/chrome.js +28 -44
- package/dist/session/chromeOwners.d.ts +34 -0
- package/dist/session/chromeOwners.js +51 -0
- package/dist/session/cleanup/staleSession.d.ts +59 -0
- package/dist/session/cleanup/staleSession.js +135 -0
- package/dist/session/cleanup/userCommands.d.ts +36 -0
- package/dist/session/cleanup/userCommands.js +93 -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 +7 -1
- package/dist/session/metadata.js +2 -1
- package/dist/session/paths.d.ts +79 -7
- package/dist/session/paths.js +113 -9
- package/dist/session/pid.d.ts +9 -38
- package/dist/session/pid.js +14 -64
- package/dist/session/port.d.ts +31 -12
- package/dist/session/port.js +56 -59
- package/dist/session/portClaims.d.ts +66 -0
- package/dist/session/portClaims.js +284 -0
- package/dist/session/sessionList.d.ts +58 -0
- package/dist/session/sessionList.js +199 -0
- package/dist/session/sessionName.d.ts +46 -0
- package/dist/session/sessionName.js +97 -0
- package/dist/telemetry/a11y.d.ts +31 -20
- package/dist/telemetry/a11y.js +304 -107
- 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/telemetry/requestKinds.d.ts +32 -0
- package/dist/telemetry/requestKinds.js +61 -0
- package/dist/telemetry/requestState.d.ts +31 -0
- package/dist/telemetry/requestState.js +38 -0
- package/dist/types.d.ts +143 -46
- 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 +75 -9
- package/dist/ui/formatters/console/chronological.d.ts +22 -0
- package/dist/ui/formatters/console/chronological.js +71 -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 +52 -0
- package/dist/ui/formatters/console/shared.d.ts +148 -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 +184 -24
- package/dist/ui/formatters/dom.d.ts +42 -9
- package/dist/ui/formatters/dom.js +99 -34
- package/dist/ui/formatters/form.js +62 -72
- package/dist/ui/formatters/helpFormatters.js +5 -4
- package/dist/ui/formatters/layout.d.ts +31 -0
- package/dist/ui/formatters/layout.js +53 -0
- package/dist/ui/formatters/listeners.d.ts +25 -0
- package/dist/ui/formatters/listeners.js +160 -0
- package/dist/ui/formatters/networkHeaders.d.ts +3 -3
- package/dist/ui/formatters/networkHeaders.js +20 -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 +55 -73
- package/dist/ui/formatters/requestStatus.d.ts +18 -0
- package/dist/ui/formatters/requestStatus.js +27 -0
- package/dist/ui/formatters/semantic.d.ts +1 -1
- package/dist/ui/formatters/semantic.js +1 -1
- package/dist/ui/formatters/sessions.d.ts +12 -0
- package/dist/ui/formatters/sessions.js +40 -0
- package/dist/ui/formatters/status.d.ts +44 -7
- package/dist/ui/formatters/status.js +89 -28
- package/dist/ui/formatters/triggeredRequests.d.ts +36 -0
- package/dist/ui/formatters/triggeredRequests.js +65 -0
- package/dist/ui/formatting.d.ts +45 -0
- package/dist/ui/formatting.js +115 -24
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/messages/chrome.d.ts +41 -97
- package/dist/ui/messages/chrome.js +110 -132
- package/dist/ui/messages/commands.d.ts +495 -3
- package/dist/ui/messages/commands.js +796 -6
- package/dist/ui/messages/consoleMessages.d.ts +7 -3
- package/dist/ui/messages/consoleMessages.js +13 -4
- package/dist/ui/messages/hints.d.ts +9 -15
- package/dist/ui/messages/hints.js +18 -16
- package/dist/ui/messages/networkMessages.d.ts +0 -6
- package/dist/ui/messages/networkMessages.js +0 -8
- package/dist/ui/messages/preview.js +5 -4
- package/dist/ui/messages/session.d.ts +37 -21
- package/dist/ui/messages/session.js +59 -26
- package/dist/ui/messages/sessionCommand.d.ts +43 -0
- package/dist/ui/messages/sessionCommand.js +52 -0
- package/dist/ui/messages/validation.d.ts +15 -26
- package/dist/ui/messages/validation.js +33 -38
- package/dist/utils/async.d.ts +8 -0
- package/dist/utils/async.js +19 -0
- 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 +56 -4
- package/dist/utils/http.js +78 -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 +73 -0
- package/dist/utils/selectorFilters.js +438 -0
- package/dist/utils/shellDetection.d.ts +8 -2
- package/dist/utils/shellDetection.js +120 -33
- package/dist/utils/suggestions.d.ts +26 -0
- package/dist/utils/suggestions.js +74 -1
- package/dist/utils/taskMappings.js +17 -2
- package/dist/utils/typeGuards.js +2 -2
- package/dist/utils/url.d.ts +23 -5
- package/dist/utils/url.js +115 -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 +0 -15
- 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 +0 -58
- package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
- package/dist/ui/formatters/sessionFormatters.js +0 -118
- 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
|
@@ -4,16 +4,52 @@
|
|
|
4
4
|
* Detects when shell quote handling has corrupted selectors or scripts,
|
|
5
5
|
* providing actionable suggestions for recovery.
|
|
6
6
|
*/
|
|
7
|
+
import { sessionCommand } from '../ui/messages/sessionCommand.js';
|
|
7
8
|
const ATTRIBUTE_SELECTOR_PATTERN = /\[[\w-]+=/.source;
|
|
8
9
|
const QUOTED_ATTRIBUTE_PATTERN = /\[[\w-]+=['"][^'"]*['"]\]/;
|
|
9
10
|
const UNQUOTED_ATTRIBUTE_PATTERN = /\[([\w-]+)=([\w-]+)\]/;
|
|
10
|
-
|
|
11
|
-
const
|
|
11
|
+
/** DOM methods whose one argument is a string (a selector, id, name or class) */
|
|
12
|
+
const STRING_ARGUMENT_METHODS = new Set([
|
|
13
|
+
'querySelector',
|
|
14
|
+
'querySelectorAll',
|
|
15
|
+
'getElementById',
|
|
16
|
+
'getElementsByClassName',
|
|
17
|
+
'getElementsByTagName',
|
|
18
|
+
'getElementsByName',
|
|
19
|
+
'closest',
|
|
20
|
+
'matches',
|
|
21
|
+
'getAttribute',
|
|
22
|
+
'hasAttribute',
|
|
23
|
+
'removeAttribute',
|
|
24
|
+
'toggleAttribute',
|
|
25
|
+
'createElement',
|
|
26
|
+
'add',
|
|
27
|
+
'remove',
|
|
28
|
+
'toggle',
|
|
29
|
+
]);
|
|
30
|
+
/** A call with one argument and no quotes, parentheses or commas in it */
|
|
31
|
+
const UNQUOTED_CALL_PATTERN = /([\w$]+)\(\s*([^()'"`,]+?)\s*\)/g;
|
|
32
|
+
/** `x is not defined`: the shell may have turned `"x"` into `x` */
|
|
33
|
+
const NOT_DEFINED_PATTERN = /^ReferenceError: ([\w$]+) is not defined/;
|
|
34
|
+
/**
|
|
35
|
+
* The syntax errors V8 raises for `fn(div p)`: the shell may have turned
|
|
36
|
+
* `"div p"` into `div p`
|
|
37
|
+
*/
|
|
38
|
+
const SEVERAL_WORDS_PATTERN = /^SyntaxError: (?:missing \) after argument list|Unexpected identifier '([\w$]+)')/;
|
|
39
|
+
/**
|
|
40
|
+
* The syntax errors V8 raises for a selector starting with punctuation:
|
|
41
|
+
* `fn(.btn)`, `fn(#main)`, `fn(> p)`
|
|
42
|
+
*/
|
|
43
|
+
const SELECTOR_SYNTAX_PATTERN = /^SyntaxError: (?:Unexpected token '[^']*'|Invalid or unexpected token|Private field '#[^']*' must be declared)/;
|
|
44
|
+
/** Start of a CSS selector that is not a JavaScript expression */
|
|
45
|
+
const SELECTOR_PUNCTUATION = /^[.#>~+*[:]/;
|
|
46
|
+
/** Words that may start a valid expression of several words */
|
|
47
|
+
const EXPRESSION_KEYWORDS = /^(?:new|typeof|void|delete|await|yield)\b/;
|
|
12
48
|
function noDamage() {
|
|
13
49
|
return { damaged: false };
|
|
14
50
|
}
|
|
15
51
|
function buildSelectorSuggestion(selector) {
|
|
16
|
-
return `Use the two-step pattern:\n 1. bdg dom query '${selector}'\n 2. bdg dom a11y describe 0`;
|
|
52
|
+
return `Use the two-step pattern:\n 1. ${sessionCommand(`bdg dom query '${selector}'`)}\n 2. ${sessionCommand('bdg dom a11y describe 0')}`;
|
|
17
53
|
}
|
|
18
54
|
function checkUnquotedAttribute(selector) {
|
|
19
55
|
if (QUOTED_ATTRIBUTE_PATTERN.test(selector)) {
|
|
@@ -31,31 +67,66 @@ function checkUnquotedAttribute(selector) {
|
|
|
31
67
|
suggestion: buildSelectorSuggestion(selector),
|
|
32
68
|
};
|
|
33
69
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
details: `${funcName}(${bareArg}) - quotes stripped by shell`,
|
|
46
|
-
suggestion: `Try: bdg dom eval '${fixedScript}'`,
|
|
47
|
-
};
|
|
70
|
+
/**
|
|
71
|
+
* Whether the script declares a name itself (then it is a variable, not a
|
|
72
|
+
* string that lost its quotes).
|
|
73
|
+
*
|
|
74
|
+
* @param script - The script
|
|
75
|
+
* @param name - Identifier
|
|
76
|
+
* @returns True for a `const`/`let`/`var`/`function`/`class` declaration of it
|
|
77
|
+
*/
|
|
78
|
+
function declares(script, name) {
|
|
79
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
80
|
+
return new RegExp(`\\b(?:const|let|var|function|class)\\s+${escaped}\\b`).test(script);
|
|
48
81
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Whether text starts with an identifier (and not with a longer one).
|
|
84
|
+
*
|
|
85
|
+
* @param text - Text
|
|
86
|
+
* @param name - Identifier
|
|
87
|
+
* @returns True when `text` is `name` or `name` followed by a non-identifier character
|
|
88
|
+
*/
|
|
89
|
+
function startsWithName(text, name) {
|
|
90
|
+
return text.startsWith(name) && !/^[\w$]/.test(text.slice(name.length));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Whether an unquoted argument is what the error complains about: for
|
|
94
|
+
* `ReferenceError` the argument starts with the undefined name (`input`,
|
|
95
|
+
* `my-id`, `button.primary`); for `SyntaxError` it is several bare words
|
|
96
|
+
* (`div p`), the unexpected one (when named) among the later ones; for a
|
|
97
|
+
* syntax error at punctuation it starts like a selector (`.btn`, `#main`).
|
|
98
|
+
*
|
|
99
|
+
* @param argument - Unquoted argument
|
|
100
|
+
* @param error - What the error says
|
|
101
|
+
* @returns True when quotes stripped from it explain the error
|
|
102
|
+
*/
|
|
103
|
+
function explainsError(argument, error) {
|
|
104
|
+
if (error.kind === 'undefined')
|
|
105
|
+
return startsWithName(argument, error.name);
|
|
106
|
+
if (error.kind === 'selector')
|
|
107
|
+
return SELECTOR_PUNCTUATION.test(argument);
|
|
108
|
+
const [, ...laterWords] = argument.split(/\s+/);
|
|
109
|
+
return (!EXPRESSION_KEYWORDS.test(argument) &&
|
|
110
|
+
laterWords.length > 0 &&
|
|
111
|
+
(error.name === undefined || laterWords.some((word) => startsWithName(word, error.name ?? ''))));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Read the identifier an error is about, when the error is one stripped
|
|
115
|
+
* quotes cause.
|
|
116
|
+
*
|
|
117
|
+
* @param errorMessage - The JavaScript error
|
|
118
|
+
* @returns The identifier and kind of error, or undefined for other errors
|
|
119
|
+
*/
|
|
120
|
+
function quoteRelatedError(errorMessage) {
|
|
121
|
+
const notDefined = NOT_DEFINED_PATTERN.exec(errorMessage);
|
|
122
|
+
if (notDefined?.[1])
|
|
123
|
+
return { kind: 'undefined', name: notDefined[1] };
|
|
124
|
+
if (SELECTOR_SYNTAX_PATTERN.test(errorMessage))
|
|
125
|
+
return { kind: 'selector' };
|
|
126
|
+
const syntax = SEVERAL_WORDS_PATTERN.exec(errorMessage);
|
|
127
|
+
if (!syntax)
|
|
128
|
+
return undefined;
|
|
129
|
+
return syntax[1] ? { kind: 'syntax', name: syntax[1] } : { kind: 'syntax' };
|
|
59
130
|
}
|
|
60
131
|
/**
|
|
61
132
|
* Checks if a selector contains attribute syntax.
|
|
@@ -79,16 +150,32 @@ export function detectSelectorQuoteDamage(selector) {
|
|
|
79
150
|
return checkUnquotedAttribute(selector);
|
|
80
151
|
}
|
|
81
152
|
/**
|
|
82
|
-
* Detects shell quote damage in JavaScript expressions.
|
|
153
|
+
* Detects shell quote damage in JavaScript expressions. Conservative: only an
|
|
154
|
+
* error stripped quotes cause (`x is not defined`,
|
|
155
|
+
* `missing ) after argument list`, `Unexpected identifier`,
|
|
156
|
+
* `Unexpected token '.'`, `Invalid or unexpected token`) counts, about an
|
|
157
|
+
* argument of a DOM method that takes a string (`querySelector(input)`),
|
|
158
|
+
* which the script does not declare itself.
|
|
83
159
|
*
|
|
84
160
|
* @param script - The script as received by the command
|
|
161
|
+
* @param errorMessage - The error the script raised
|
|
85
162
|
* @returns Detection result with details and suggestions
|
|
86
163
|
*/
|
|
87
|
-
export function detectScriptQuoteDamage(script) {
|
|
88
|
-
const
|
|
89
|
-
if (
|
|
90
|
-
return
|
|
164
|
+
export function detectScriptQuoteDamage(script, errorMessage) {
|
|
165
|
+
const error = quoteRelatedError(errorMessage);
|
|
166
|
+
if (!error || (error.name && declares(script, error.name)))
|
|
167
|
+
return noDamage();
|
|
168
|
+
for (const [call, method = '', argument = ''] of script.matchAll(UNQUOTED_CALL_PATTERN)) {
|
|
169
|
+
if (!STRING_ARGUMENT_METHODS.has(method) || !explainsError(argument, error))
|
|
170
|
+
continue;
|
|
171
|
+
const fixedScript = script.replace(call, `${method}("${argument}")`);
|
|
172
|
+
return {
|
|
173
|
+
damaged: true,
|
|
174
|
+
type: 'unquoted-argument',
|
|
175
|
+
details: `${method}(${argument}) - quotes stripped by shell`,
|
|
176
|
+
suggestion: `Try: ${sessionCommand(`bdg dom eval '${fixedScript}'`)}`,
|
|
177
|
+
};
|
|
91
178
|
}
|
|
92
|
-
return
|
|
179
|
+
return noDamage();
|
|
93
180
|
}
|
|
94
181
|
//# sourceMappingURL=shellDetection.js.map
|
|
@@ -15,5 +15,31 @@ export declare function getSuggestion(input: string, candidates: readonly string
|
|
|
15
15
|
prefix?: string;
|
|
16
16
|
suffix?: string;
|
|
17
17
|
}): string;
|
|
18
|
+
/**
|
|
19
|
+
* Names (ids or classes) similar to one that matched nothing, best first, at
|
|
20
|
+
* most three: near-typos first (Levenshtein distance up to a fifth of the
|
|
21
|
+
* length, at least 2), then names sharing a long end, then names sharing a
|
|
22
|
+
* long start (at least a third of the name, at least 4 characters). The end
|
|
23
|
+
* ranks before the start because ids tend to name an action before the item
|
|
24
|
+
* (`add-to-cart-backpack` becomes `remove-backpack` once clicked).
|
|
25
|
+
*
|
|
26
|
+
* @param name - Id or class that matched nothing
|
|
27
|
+
* @param candidates - Ids or classes on the page
|
|
28
|
+
* @returns Up to three similar names
|
|
29
|
+
*/
|
|
30
|
+
export declare function findSimilarNames(name: string, candidates: readonly string[]): string[];
|
|
31
|
+
/** A selector that is just one id or one class, e.g. `#save` or `.btn-primary` */
|
|
32
|
+
export interface SingleNameSelector {
|
|
33
|
+
kind: 'id' | 'class';
|
|
34
|
+
name: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether a selector is a single id or class (the kind "did you mean" can
|
|
38
|
+
* suggest for).
|
|
39
|
+
*
|
|
40
|
+
* @param selector - CSS selector
|
|
41
|
+
* @returns The id or class, or null for any other selector
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseSingleNameSelector(selector: string): SingleNameSelector | null;
|
|
18
44
|
export {};
|
|
19
45
|
//# sourceMappingURL=suggestions.d.ts.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
|
}
|
|
@@ -31,4 +31,77 @@ export function formatSuggestions(suggestions, options = {}) {
|
|
|
31
31
|
export function getSuggestion(input, candidates, options = {}) {
|
|
32
32
|
return formatSuggestions(findSimilar(input, candidates, options), options);
|
|
33
33
|
}
|
|
34
|
+
/** Most similar ids or classes suggested for a selector that matched nothing */
|
|
35
|
+
const MAX_SIMILAR_NAMES = 3;
|
|
36
|
+
/**
|
|
37
|
+
* Length of the common start of two strings.
|
|
38
|
+
*
|
|
39
|
+
* @param a - First string
|
|
40
|
+
* @param b - Second string
|
|
41
|
+
* @returns Characters they share from the start
|
|
42
|
+
*/
|
|
43
|
+
function commonPrefixLength(a, b) {
|
|
44
|
+
let length = 0;
|
|
45
|
+
while (length < a.length && length < b.length && a[length] === b[length])
|
|
46
|
+
length++;
|
|
47
|
+
return length;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Length of the common end of two strings.
|
|
51
|
+
*
|
|
52
|
+
* @param a - First string
|
|
53
|
+
* @param b - Second string
|
|
54
|
+
* @returns Characters they share from the end
|
|
55
|
+
*/
|
|
56
|
+
function commonSuffixLength(a, b) {
|
|
57
|
+
let length = 0;
|
|
58
|
+
while (length < a.length &&
|
|
59
|
+
length < b.length &&
|
|
60
|
+
a[a.length - 1 - length] === b[b.length - 1 - length]) {
|
|
61
|
+
length++;
|
|
62
|
+
}
|
|
63
|
+
return length;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Names (ids or classes) similar to one that matched nothing, best first, at
|
|
67
|
+
* most three: near-typos first (Levenshtein distance up to a fifth of the
|
|
68
|
+
* length, at least 2), then names sharing a long end, then names sharing a
|
|
69
|
+
* long start (at least a third of the name, at least 4 characters). The end
|
|
70
|
+
* ranks before the start because ids tend to name an action before the item
|
|
71
|
+
* (`add-to-cart-backpack` becomes `remove-backpack` once clicked).
|
|
72
|
+
*
|
|
73
|
+
* @param name - Id or class that matched nothing
|
|
74
|
+
* @param candidates - Ids or classes on the page
|
|
75
|
+
* @returns Up to three similar names
|
|
76
|
+
*/
|
|
77
|
+
export function findSimilarNames(name, candidates) {
|
|
78
|
+
const others = [...new Set(candidates)].filter((candidate) => candidate !== name);
|
|
79
|
+
const maxDistance = Math.max(2, Math.floor(name.length / 5));
|
|
80
|
+
const minAffix = Math.max(4, Math.ceil(name.length / 3));
|
|
81
|
+
const typos = findMatches(name, others, maxDistance, false).map((match) => match.value);
|
|
82
|
+
const byAffix = (length) => others
|
|
83
|
+
.map((candidate) => ({ candidate, length: length(candidate) }))
|
|
84
|
+
.filter((entry) => entry.length >= minAffix)
|
|
85
|
+
.sort((a, b) => b.length - a.length)
|
|
86
|
+
.map((entry) => entry.candidate);
|
|
87
|
+
const ranked = [
|
|
88
|
+
...typos,
|
|
89
|
+
...byAffix((candidate) => commonSuffixLength(name, candidate)),
|
|
90
|
+
...byAffix((candidate) => commonPrefixLength(name, candidate)),
|
|
91
|
+
];
|
|
92
|
+
return [...new Set(ranked)].slice(0, MAX_SIMILAR_NAMES);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Whether a selector is a single id or class (the kind "did you mean" can
|
|
96
|
+
* suggest for).
|
|
97
|
+
*
|
|
98
|
+
* @param selector - CSS selector
|
|
99
|
+
* @returns The id or class, or null for any other selector
|
|
100
|
+
*/
|
|
101
|
+
export function parseSingleNameSelector(selector) {
|
|
102
|
+
const match = /^([#.])(-?[_a-zA-Z][\w-]*)$/.exec(selector.trim());
|
|
103
|
+
if (!match)
|
|
104
|
+
return null;
|
|
105
|
+
return { kind: match[1] === '#' ? 'id' : 'class', name: match[2] };
|
|
106
|
+
}
|
|
34
107
|
//# sourceMappingURL=suggestions.js.map
|
|
@@ -35,6 +35,11 @@ export const TASK_MAPPINGS = {
|
|
|
35
35
|
description: 'Fill form input field by selector',
|
|
36
36
|
cdpAlternative: 'Runtime.evaluate with value assignment',
|
|
37
37
|
},
|
|
38
|
+
wait_for_element: {
|
|
39
|
+
commands: ['dom wait'],
|
|
40
|
+
description: 'Wait until an element appears, becomes visible, contains a text or is gone (or the page loads)',
|
|
41
|
+
cdpAlternative: 'Runtime.evaluate polling with querySelector (awaitPromise)',
|
|
42
|
+
},
|
|
38
43
|
click_element: {
|
|
39
44
|
commands: ['dom click'],
|
|
40
45
|
description: 'Click element by selector',
|
|
@@ -50,6 +55,16 @@ export const TASK_MAPPINGS = {
|
|
|
50
55
|
description: 'Get detailed element information',
|
|
51
56
|
cdpAlternative: 'Runtime.evaluate with property extraction',
|
|
52
57
|
},
|
|
58
|
+
inspect_event_listeners: {
|
|
59
|
+
commands: ['dom listeners'],
|
|
60
|
+
description: 'List event listeners for an element, incl. delegated ones on ancestors/document/window',
|
|
61
|
+
cdpAlternative: 'DOMDebugger.getEventListeners on the element and each ancestor',
|
|
62
|
+
},
|
|
63
|
+
element_layout: {
|
|
64
|
+
commands: ['dom layout'],
|
|
65
|
+
description: 'Where elements are (page/viewport coordinates, size), whether they are in view, hidden or covered',
|
|
66
|
+
cdpAlternative: 'Runtime.evaluate with getBoundingClientRect, getComputedStyle and elementFromPoint',
|
|
67
|
+
},
|
|
53
68
|
accessibility_tree: {
|
|
54
69
|
commands: ['dom a11y'],
|
|
55
70
|
description: 'Get accessibility tree for page or element',
|
|
@@ -93,7 +108,7 @@ export const TASK_MAPPINGS = {
|
|
|
93
108
|
preview_data: {
|
|
94
109
|
commands: ['peek'],
|
|
95
110
|
description: 'Preview collected network and console data',
|
|
96
|
-
cdpAlternative: 'Multiple IPC queries to
|
|
111
|
+
cdpAlternative: 'Multiple IPC queries to session state',
|
|
97
112
|
},
|
|
98
113
|
live_monitoring: {
|
|
99
114
|
commands: ['peek --follow', 'tail'],
|
|
@@ -103,7 +118,7 @@ export const TASK_MAPPINGS = {
|
|
|
103
118
|
get_full_details: {
|
|
104
119
|
commands: ['details network', 'details console'],
|
|
105
120
|
description: 'Get complete request/response or console message details',
|
|
106
|
-
cdpAlternative: '
|
|
121
|
+
cdpAlternative: 'Session state query + response body fetch',
|
|
107
122
|
},
|
|
108
123
|
check_session_status: {
|
|
109
124
|
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,27 @@ export declare function validateUrl(url: string): {
|
|
|
71
68
|
* ```
|
|
72
69
|
*/
|
|
73
70
|
export declare function safeParseUrl(input: string): URL | null;
|
|
71
|
+
/**
|
|
72
|
+
* The HTTP DevTools endpoint a `--chrome-ws-url` value names instead of a
|
|
73
|
+
* WebSocket URL: a port (`9222`), `host:port` (nothing after it), or an
|
|
74
|
+
* `http(s)://` URL of the endpoint (any path is ignored).
|
|
75
|
+
*
|
|
76
|
+
* @param value - Option value
|
|
77
|
+
* @returns Endpoint origin, e.g. `http://127.0.0.1:9222`, or null for anything else
|
|
78
|
+
*/
|
|
79
|
+
export declare function devToolsHttpEndpoint(value: string): string | null;
|
|
80
|
+
/**
|
|
81
|
+
* Validate a `--chrome-ws-url` value.
|
|
82
|
+
*
|
|
83
|
+
* Accepted: `ws://` and `wss://` DevTools URLs, or the HTTP endpoint they come
|
|
84
|
+
* from ({@link devToolsHttpEndpoint}). Rejects other schemes, malformed URLs,
|
|
85
|
+
* and empty input so users hear about the problem at the CLI boundary
|
|
86
|
+
* instead of after a daemon round-trip.
|
|
87
|
+
*
|
|
88
|
+
* @param url - ws URL to validate
|
|
89
|
+
* @returns Validation result with error/suggestion when invalid
|
|
90
|
+
*/
|
|
91
|
+
export declare function validateChromeWsUrl(url: string): ValidationResult;
|
|
74
92
|
/**
|
|
75
93
|
* Extract hostname from a URL string safely.
|
|
76
94
|
*
|
package/dist/utils/url.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* URL normalization, validation, and parsing utilities.
|
|
3
3
|
*/
|
|
4
|
+
import { sessionCommand } from '../ui/messages/sessionCommand.js';
|
|
5
|
+
import { invalid, valid } from './validation.js';
|
|
4
6
|
/**
|
|
5
7
|
* Dangerous URL protocols that must be explicitly blocked.
|
|
6
8
|
*
|
|
@@ -102,40 +104,26 @@ export function normalizeUrl(url) {
|
|
|
102
104
|
*/
|
|
103
105
|
export function validateUrl(url) {
|
|
104
106
|
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
|
-
};
|
|
107
|
+
return invalid('URL cannot be empty', 'Provide a valid URL, e.g.: http://localhost:3000');
|
|
110
108
|
}
|
|
111
109
|
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
|
|
110
|
+
return invalid(`Invalid URL format: '${url}' (contains spaces)`, 'Encode spaces as %20, e.g. bdg "https://example.com/search?q=a%20b"');
|
|
122
111
|
}
|
|
123
112
|
// Detect if URL looks truncated (common when shell expands ? as glob)
|
|
124
113
|
if (url.endsWith('?') || url.endsWith('&')) {
|
|
125
|
-
return {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
};
|
|
114
|
+
return invalid(`URL appears truncated: '${url}'`, 'URLs with query parameters (? or &) must be quoted: bdg "https://example.com/search?q=test"');
|
|
115
|
+
}
|
|
116
|
+
const scheme = /^([a-z][a-z0-9+.-]*):\/\//i.exec(url)?.[1]?.toLowerCase();
|
|
117
|
+
if (scheme && !VALID_PROTOCOLS.includes(`${scheme}:`)) {
|
|
118
|
+
return invalid(`Unsupported protocol: '${scheme}:'`, 'bdg opens http://, https://, file://, about:, chrome:, and data: URLs');
|
|
130
119
|
}
|
|
131
120
|
const normalized = normalizeUrl(url);
|
|
132
121
|
const urlLower = url.toLowerCase();
|
|
122
|
+
if (urlLower.startsWith('javascript:')) {
|
|
123
|
+
return invalid(`Cannot start a session on a javascript: URL`, `Open a page first, then run the script: ${sessionCommand('bdg about:blank')} && ${sessionCommand("bdg dom eval '...'")}`);
|
|
124
|
+
}
|
|
133
125
|
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
|
-
};
|
|
126
|
+
return invalid(`Dangerous protocol: 'vbscript:' is not allowed`, 'Use http://, https://, or other safe protocols');
|
|
139
127
|
}
|
|
140
128
|
const isSpecialProtocol = urlLower.startsWith('javascript:') ||
|
|
141
129
|
urlLower.startsWith('data:') ||
|
|
@@ -143,45 +131,26 @@ export function validateUrl(url) {
|
|
|
143
131
|
if (!isSpecialProtocol) {
|
|
144
132
|
const beforePath = url.split('/')[0] ?? '';
|
|
145
133
|
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
|
-
};
|
|
134
|
+
return invalid(`Invalid URL format: '${url}' (contains invalid characters)`, 'URLs cannot contain special characters like !, @, #, etc. in hostname or protocol');
|
|
151
135
|
}
|
|
152
136
|
}
|
|
153
137
|
try {
|
|
154
138
|
const parsed = new URL(normalized);
|
|
155
139
|
// Explicitly block dangerous protocols (CodeQL js/incomplete-url-scheme-check)
|
|
156
140
|
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
|
-
};
|
|
141
|
+
return invalid(`Blocked dangerous protocol: '${parsed.protocol}'`, 'This protocol is not allowed for security reasons');
|
|
162
142
|
}
|
|
163
143
|
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
|
-
};
|
|
144
|
+
return invalid(`Invalid protocol: '${parsed.protocol}'`, 'URLs must use http://, https://, or other valid protocols');
|
|
169
145
|
}
|
|
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
|
-
};
|
|
146
|
+
const isWeb = parsed.protocol === 'http:' || parsed.protocol === 'https:';
|
|
147
|
+
if (isWeb && !/[a-z0-9]/i.test(parsed.hostname)) {
|
|
148
|
+
return invalid(`Invalid URL format: '${url}' (missing hostname)`, 'URLs must include a valid hostname, e.g.: http://example.com');
|
|
176
149
|
}
|
|
177
|
-
return
|
|
150
|
+
return valid();
|
|
178
151
|
}
|
|
179
152
|
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
|
-
};
|
|
153
|
+
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
154
|
}
|
|
186
155
|
}
|
|
187
156
|
/**
|
|
@@ -213,6 +182,100 @@ export function safeParseUrl(input) {
|
|
|
213
182
|
}
|
|
214
183
|
}
|
|
215
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* The HTTP DevTools endpoint a `--chrome-ws-url` value names instead of a
|
|
187
|
+
* WebSocket URL: a port (`9222`), `host:port` (nothing after it), or an
|
|
188
|
+
* `http(s)://` URL of the endpoint (any path is ignored).
|
|
189
|
+
*
|
|
190
|
+
* @param value - Option value
|
|
191
|
+
* @returns Endpoint origin, e.g. `http://127.0.0.1:9222`, or null for anything else
|
|
192
|
+
*/
|
|
193
|
+
export function devToolsHttpEndpoint(value) {
|
|
194
|
+
const trimmed = value.trim();
|
|
195
|
+
if (/^\d{1,5}$/.test(trimmed)) {
|
|
196
|
+
return isValidPort(Number(trimmed)) ? `http://127.0.0.1:${trimmed}` : null;
|
|
197
|
+
}
|
|
198
|
+
const candidate = /^https?:\/\//i.test(trimmed)
|
|
199
|
+
? trimmed
|
|
200
|
+
: /^[^/\s]+:\d{1,5}\/?$/.test(trimmed)
|
|
201
|
+
? `http://${trimmed}`
|
|
202
|
+
: null;
|
|
203
|
+
if (candidate === null)
|
|
204
|
+
return null;
|
|
205
|
+
try {
|
|
206
|
+
const url = new URL(candidate);
|
|
207
|
+
return url.port === '' || isValidPort(Number(url.port)) ? url.origin : null;
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Whether a number is a usable TCP port (1-65535).
|
|
215
|
+
*
|
|
216
|
+
* @param port - Port number
|
|
217
|
+
* @returns True if in range
|
|
218
|
+
*/
|
|
219
|
+
function isValidPort(port) {
|
|
220
|
+
return Number.isInteger(port) && port >= 1 && port <= 65535;
|
|
221
|
+
}
|
|
222
|
+
/** A `--chrome-ws-url` value shaped like a port or `host:port` (port possibly missing) */
|
|
223
|
+
const PORT_SHAPED_VALUE = /^(?:[^/\s]+:)?(\d*)\/?$/;
|
|
224
|
+
/**
|
|
225
|
+
* Why a port-shaped `--chrome-ws-url` value (`99999`, `0`, `localhost:`) has
|
|
226
|
+
* no usable port.
|
|
227
|
+
*
|
|
228
|
+
* @param value - Trimmed option value that is not a valid endpoint
|
|
229
|
+
* @returns Error and suggestion, or null when the value is not port-shaped
|
|
230
|
+
*/
|
|
231
|
+
function portShapedValueError(value) {
|
|
232
|
+
const match = PORT_SHAPED_VALUE.exec(value);
|
|
233
|
+
if (!match || /^[a-z][a-z0-9+.-]*:\/\//i.test(value))
|
|
234
|
+
return null;
|
|
235
|
+
const digits = match[1] ?? '';
|
|
236
|
+
return invalid(digits === ''
|
|
237
|
+
? `--chrome-ws-url is missing the port: '${value}'`
|
|
238
|
+
: `--chrome-ws-url port ${digits} is out of range (1-65535)`, 'Expected: the DevTools port (9222), host:port, or ws://host:port/devtools/browser/<uuid>');
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Validate a `--chrome-ws-url` value.
|
|
242
|
+
*
|
|
243
|
+
* Accepted: `ws://` and `wss://` DevTools URLs, or the HTTP endpoint they come
|
|
244
|
+
* from ({@link devToolsHttpEndpoint}). Rejects other schemes, malformed URLs,
|
|
245
|
+
* and empty input so users hear about the problem at the CLI boundary
|
|
246
|
+
* instead of after a daemon round-trip.
|
|
247
|
+
*
|
|
248
|
+
* @param url - ws URL to validate
|
|
249
|
+
* @returns Validation result with error/suggestion when invalid
|
|
250
|
+
*/
|
|
251
|
+
export function validateChromeWsUrl(url) {
|
|
252
|
+
const trimmed = url.trim();
|
|
253
|
+
if (!trimmed) {
|
|
254
|
+
return invalid('--chrome-ws-url cannot be empty', 'Expected: the DevTools port (9222), host:port, or ws://host:port/devtools/browser/<uuid>');
|
|
255
|
+
}
|
|
256
|
+
if (devToolsHttpEndpoint(trimmed) !== null)
|
|
257
|
+
return valid();
|
|
258
|
+
const portError = portShapedValueError(trimmed);
|
|
259
|
+
if (portError)
|
|
260
|
+
return portError;
|
|
261
|
+
let parsed;
|
|
262
|
+
try {
|
|
263
|
+
parsed = new URL(trimmed);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return invalid(`--chrome-ws-url is not a valid URL: '${url}'`, 'Expected: the DevTools port (9222), host:port, or ws://host:port/devtools/browser/<uuid>');
|
|
267
|
+
}
|
|
268
|
+
if (parsed.protocol !== 'ws:' && parsed.protocol !== 'wss:') {
|
|
269
|
+
return invalid(`--chrome-ws-url must use ws:// or wss://, got '${parsed.protocol}'`, `Give the DevTools port instead, e.g. --chrome-ws-url ${parsed.hostname || '127.0.0.1'}:9222`);
|
|
270
|
+
}
|
|
271
|
+
if (!parsed.hostname) {
|
|
272
|
+
return invalid(`--chrome-ws-url is missing a hostname: '${url}'`, 'Expected: the DevTools port (9222), host:port, or ws://host:port/devtools/browser/<uuid>');
|
|
273
|
+
}
|
|
274
|
+
if (!/^\/devtools\/(browser|page)\/[^/]+$/.test(parsed.pathname)) {
|
|
275
|
+
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`);
|
|
276
|
+
}
|
|
277
|
+
return valid();
|
|
278
|
+
}
|
|
216
279
|
/**
|
|
217
280
|
* Extract hostname from a URL string safely.
|
|
218
281
|
*
|