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
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP-relay helpers for DOM query and read operations.
|
|
3
|
+
*
|
|
4
|
+
* Covers `bdg dom query` (find by selector) and `bdg dom get` (read details)
|
|
5
|
+
* plus selector resolution and single-node DOM context lookups.
|
|
6
|
+
*
|
|
7
|
+
* Node ids reported to users and stored in the query cache are backend node
|
|
8
|
+
* ids: they identify an element for as long as it stays in the page, across
|
|
9
|
+
* bdg invocations. Selectors are matched in the page, including open shadow
|
|
10
|
+
* roots and same-origin iframes, like a user sees the page.
|
|
11
|
+
*/
|
|
12
|
+
import { CommandError } from '../../../errors/index.js';
|
|
13
|
+
import { noNodesFoundError, indexOutOfRangeError, eitherArgumentRequiredError, invalidSelectorError, nodeIdNotFoundError, operationFailedError, similarSelectorsLine, staleNodeError, } from '../../../errors/messages.js';
|
|
14
|
+
import { callCDP } from '../../../ipc/client.js';
|
|
15
|
+
import { ELEMENT_GEOMETRY_JS, VIEWPORT_SIZE_JS, classifyViewportPosition, } from '../../../runtime/dom/elementGeometry.js';
|
|
16
|
+
import { ELEMENT_CONTEXT_JS, ELEMENT_TEXT_JS, ELEMENT_TEXT_LENGTH, textPreview, } from '../../../runtime/dom/elementInfo.js';
|
|
17
|
+
import { DEEP_QUERY_JS, UNSEARCHED_CONTENT_JS, pageNamesJS, selectorArgsJS, } from '../../../runtime/dom/targetNode.js';
|
|
18
|
+
import { createLogger } from '../../../ui/logging/index.js';
|
|
19
|
+
import { sessionCommand } from '../../../ui/messages/sessionCommand.js';
|
|
20
|
+
import { ConcurrencyLimiter } from '../../../utils/concurrency.js';
|
|
21
|
+
import { getErrorMessage } from '../../../utils/errors.js';
|
|
22
|
+
import { EXIT_CODES } from '../../../utils/exitCodes.js';
|
|
23
|
+
import { parseSelectorFilters, withoutVisibleFilters } from '../../../utils/selectorFilters.js';
|
|
24
|
+
import { findSimilarNames, parseSingleNameSelector } from '../../../utils/suggestions.js';
|
|
25
|
+
const log = createLogger('dom');
|
|
26
|
+
/** Maximum concurrent CDP calls to avoid overwhelming the connection. */
|
|
27
|
+
const CDP_CONCURRENCY_LIMIT = 10;
|
|
28
|
+
/**
|
|
29
|
+
* Convert CDP's flat attribute list to a record.
|
|
30
|
+
*
|
|
31
|
+
* @param attributes - `[name, value, name, value, ...]`
|
|
32
|
+
* @returns Attribute map
|
|
33
|
+
*/
|
|
34
|
+
function unpackAttributes(attributes) {
|
|
35
|
+
const result = {};
|
|
36
|
+
if (!attributes)
|
|
37
|
+
return result;
|
|
38
|
+
for (let i = 0; i < attributes.length; i += 2) {
|
|
39
|
+
const key = attributes[i];
|
|
40
|
+
const value = attributes[i + 1];
|
|
41
|
+
if (key !== undefined && value !== undefined) {
|
|
42
|
+
result[key] = value;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Describe a node.
|
|
49
|
+
*
|
|
50
|
+
* @param ref - Node reference
|
|
51
|
+
* @returns Node description, or null if the node does not exist
|
|
52
|
+
*/
|
|
53
|
+
async function describeNode(ref) {
|
|
54
|
+
const response = await callCDP('DOM.describeNode', ref);
|
|
55
|
+
if (response.status === 'error')
|
|
56
|
+
return null;
|
|
57
|
+
return response.data?.result?.node ?? null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get a node's outer HTML.
|
|
61
|
+
*
|
|
62
|
+
* @param ref - Node reference
|
|
63
|
+
* @returns Outer HTML, or undefined if unavailable
|
|
64
|
+
*/
|
|
65
|
+
async function getOuterHTML(ref) {
|
|
66
|
+
const response = await callCDP('DOM.getOuterHTML', ref);
|
|
67
|
+
return response.data?.result?.outerHTML;
|
|
68
|
+
}
|
|
69
|
+
/** Counter giving each query its own object group (queries may run concurrently) */
|
|
70
|
+
let queryCount = 0;
|
|
71
|
+
/**
|
|
72
|
+
* Find the elements matching a selector, including those in open shadow roots
|
|
73
|
+
* and same-origin iframes ({@link DEEP_QUERY_JS}).
|
|
74
|
+
*
|
|
75
|
+
* @param selector - CSS selector
|
|
76
|
+
* @returns Backend node ids of all matches
|
|
77
|
+
* @throws CommandError (81) for an invalid selector
|
|
78
|
+
*/
|
|
79
|
+
async function selectAll(selector) {
|
|
80
|
+
const ids = await withSelection(selector, elementBackendNodeIds);
|
|
81
|
+
return ids.filter((id) => id !== undefined);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Run the selector in the page and use the array of matches.
|
|
85
|
+
*
|
|
86
|
+
* @param selector - CSS selector
|
|
87
|
+
* @param use - Reads what it needs from the page-side array
|
|
88
|
+
* @returns What `use` returns
|
|
89
|
+
* @throws CommandError (81) for an invalid selector
|
|
90
|
+
*/
|
|
91
|
+
async function withSelection(selector, use) {
|
|
92
|
+
await callCDP('DOM.enable', {});
|
|
93
|
+
const objectGroup = `bdg-query-${process.pid}-${++queryCount}`;
|
|
94
|
+
const evaluated = await callCDP('Runtime.evaluate', {
|
|
95
|
+
expression: `(${DEEP_QUERY_JS})(${selectorArgsJS(selector)})`,
|
|
96
|
+
objectGroup,
|
|
97
|
+
});
|
|
98
|
+
try {
|
|
99
|
+
return await use(selectionObjectId(selector, evaluated));
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
await callCDP('Runtime.releaseObjectGroup', { objectGroup });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The "no nodes" error for a selector that matched nothing. One more page
|
|
107
|
+
* evaluation, on this failure path only, tells what the page says about it
|
|
108
|
+
* ({@link noMatchContext}).
|
|
109
|
+
*
|
|
110
|
+
* @param selector - Selector as given
|
|
111
|
+
* @returns Message and suggestion
|
|
112
|
+
*/
|
|
113
|
+
export async function noMatchesError(selector) {
|
|
114
|
+
return noNodesFoundError(selector, await noMatchContext(selector));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* What the page says about a selector that matched nothing, in one
|
|
118
|
+
* evaluation: whether it is still loading, how many elements match with the
|
|
119
|
+
* selector's `:visible` filters removed, whether it has cross-origin iframes
|
|
120
|
+
* or embeds (which selectors do not search), and for a selector that is a
|
|
121
|
+
* single id or class, the similar ids or classes on the page.
|
|
122
|
+
*
|
|
123
|
+
* @param selector - Selector as given
|
|
124
|
+
* @returns Context for {@link noNodesFoundError} (empty when the page did not answer)
|
|
125
|
+
*/
|
|
126
|
+
export async function noMatchContext(selector) {
|
|
127
|
+
const parts = parseSelectorFilters(selector);
|
|
128
|
+
const unfiltered = parts && withoutVisibleFilters(parts);
|
|
129
|
+
const single = parseSingleNameSelector(selector);
|
|
130
|
+
const hidden = unfiltered
|
|
131
|
+
? `(() => { try { return (${DEEP_QUERY_JS})(${JSON.stringify(selector)}, ${JSON.stringify(unfiltered)}).length; } catch (e) { return 0; } })()`
|
|
132
|
+
: '0';
|
|
133
|
+
const names = single ? pageNamesJS(single.kind) : '[]';
|
|
134
|
+
try {
|
|
135
|
+
const evaluated = await callCDP('Runtime.evaluate', {
|
|
136
|
+
expression: `({ hidden: ${hidden}, readyState: document.readyState, unsearched: ${UNSEARCHED_CONTENT_JS}, names: ${names} })`,
|
|
137
|
+
returnByValue: true,
|
|
138
|
+
});
|
|
139
|
+
const { result } = (evaluated.data?.result ?? {});
|
|
140
|
+
const value = (result?.value ?? {});
|
|
141
|
+
const similar = single && Array.isArray(value.names)
|
|
142
|
+
? similarSelectorsLine(single.kind, findSimilarNames(single.name, value.names.filter((n) => typeof n === 'string')))
|
|
143
|
+
: '';
|
|
144
|
+
return {
|
|
145
|
+
hidden: typeof value.hidden === 'number' ? value.hidden : 0,
|
|
146
|
+
...(typeof value.readyState === 'string' && { readyState: value.readyState }),
|
|
147
|
+
...(value.unsearched && {
|
|
148
|
+
unsearched: {
|
|
149
|
+
crossOriginFrames: value.unsearched.crossOriginFrames === true,
|
|
150
|
+
embeds: value.unsearched.embeds === true,
|
|
151
|
+
},
|
|
152
|
+
}),
|
|
153
|
+
...(similar && { similar }),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
log.debug(`Could not read the page after no match: ${getErrorMessage(error)}`);
|
|
158
|
+
return {};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* The page's `document.readyState`, read for a failure that may come from a
|
|
163
|
+
* page still loading.
|
|
164
|
+
*
|
|
165
|
+
* @returns The state, or undefined when the page did not answer
|
|
166
|
+
*/
|
|
167
|
+
export async function documentReadyState() {
|
|
168
|
+
try {
|
|
169
|
+
const evaluated = await callCDP('Runtime.evaluate', {
|
|
170
|
+
expression: 'document.readyState',
|
|
171
|
+
returnByValue: true,
|
|
172
|
+
});
|
|
173
|
+
const { result } = (evaluated.data?.result ?? {});
|
|
174
|
+
return typeof result?.value === 'string' ? result.value : undefined;
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
log.debug(`Could not read document.readyState: ${getErrorMessage(error)}`);
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/** Matches whose viewport position `dom query` reports (measuring is not free) */
|
|
182
|
+
const VIEWPORT_HINT_LIMIT = 100;
|
|
183
|
+
/**
|
|
184
|
+
* Where each element of a page-side array lives (an iframe and/or a shadow
|
|
185
|
+
* root), its text and, for the first {@link VIEWPORT_HINT_LIMIT}, its position
|
|
186
|
+
* relative to the viewport, plus the viewport size. An element that cannot be
|
|
187
|
+
* read gets empty details instead of failing the whole query.
|
|
188
|
+
*/
|
|
189
|
+
const ELEMENT_DETAILS_FUNCTION = `function () {
|
|
190
|
+
const contextOf = ${ELEMENT_CONTEXT_JS};
|
|
191
|
+
const textOf = ${ELEMENT_TEXT_JS};
|
|
192
|
+
const geometryOf = ${ELEMENT_GEOMETRY_JS};
|
|
193
|
+
const read = (el, index) => {
|
|
194
|
+
try {
|
|
195
|
+
return { context: contextOf(el), text: textOf(el), geometry: index < ${VIEWPORT_HINT_LIMIT} ? geometryOf(el) : null };
|
|
196
|
+
} catch (e) {
|
|
197
|
+
return {};
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
return { viewport: (${VIEWPORT_SIZE_JS})(window), elements: Array.from(this, read) };
|
|
201
|
+
}`;
|
|
202
|
+
/**
|
|
203
|
+
* Backend node ids of the elements in a page-side array, each with where it
|
|
204
|
+
* lives (empty for the main document), its text and its viewport position.
|
|
205
|
+
*
|
|
206
|
+
* @param arrayObjectId - Remote object id of the array
|
|
207
|
+
* @returns Elements in array order (ones that cannot be described are left out)
|
|
208
|
+
* @throws CommandError (91) when the page could not describe the matches
|
|
209
|
+
*/
|
|
210
|
+
async function elementsWithDetails(arrayObjectId) {
|
|
211
|
+
const { viewport, elements = [] } = await readPageDetails(arrayObjectId);
|
|
212
|
+
const ids = await elementBackendNodeIds(arrayObjectId);
|
|
213
|
+
return ids.flatMap((backendNodeId, index) => {
|
|
214
|
+
if (backendNodeId === undefined)
|
|
215
|
+
return [];
|
|
216
|
+
const details = elements[index];
|
|
217
|
+
return [
|
|
218
|
+
{
|
|
219
|
+
backendNodeId,
|
|
220
|
+
context: details?.context ?? '',
|
|
221
|
+
text: details?.text ?? '',
|
|
222
|
+
...viewportHint(details?.geometry, viewport),
|
|
223
|
+
},
|
|
224
|
+
];
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Run {@link ELEMENT_DETAILS_FUNCTION} on a page-side array.
|
|
229
|
+
*
|
|
230
|
+
* @param arrayObjectId - Remote object id of the array
|
|
231
|
+
* @returns Details of each element and the viewport size
|
|
232
|
+
* @throws CommandError (91) when the script failed
|
|
233
|
+
*/
|
|
234
|
+
async function readPageDetails(arrayObjectId) {
|
|
235
|
+
const response = await callCDP('Runtime.callFunctionOn', {
|
|
236
|
+
objectId: arrayObjectId,
|
|
237
|
+
functionDeclaration: ELEMENT_DETAILS_FUNCTION,
|
|
238
|
+
returnByValue: true,
|
|
239
|
+
});
|
|
240
|
+
const result = response.data?.result;
|
|
241
|
+
if (response.status === 'error' || result?.exceptionDetails) {
|
|
242
|
+
const detail = result?.exceptionDetails?.exception?.description ?? response.error ?? 'no result';
|
|
243
|
+
const err = operationFailedError('describe the matches', detail.split('\n')[0] ?? detail);
|
|
244
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.SCRIPT_ERROR);
|
|
245
|
+
}
|
|
246
|
+
return (result?.result?.value ?? {});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Viewport position of a measured element for `dom query`.
|
|
250
|
+
*
|
|
251
|
+
* @param geometry - Page-side measurements (none beyond the hint limit)
|
|
252
|
+
* @param viewport - Viewport size
|
|
253
|
+
* @returns `inViewport` (and `clippedBy`), or nothing when not measured
|
|
254
|
+
*/
|
|
255
|
+
function viewportHint(geometry, viewport) {
|
|
256
|
+
if (!geometry || !viewport)
|
|
257
|
+
return {};
|
|
258
|
+
const { inViewport, clippedBy } = classifyViewportPosition(geometry, viewport);
|
|
259
|
+
return { inViewport, ...(clippedBy && { clippedBy }) };
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* The page-side array of a selector query, or the error explaining why there
|
|
263
|
+
* is none: a selector the browser rejects (a `SyntaxError` DOMException) is the
|
|
264
|
+
* user's (81; the browser's message is left out for selectors with filters,
|
|
265
|
+
* as it quotes the CSS bdg rewrote them to); anything else (no session, a
|
|
266
|
+
* page navigating away) is not.
|
|
267
|
+
*
|
|
268
|
+
* @param selector - CSS selector
|
|
269
|
+
* @param evaluated - `Runtime.evaluate` response
|
|
270
|
+
* @returns Remote object id of the array of matches
|
|
271
|
+
* @throws CommandError (81) for an invalid selector, (101) otherwise
|
|
272
|
+
*/
|
|
273
|
+
function selectionObjectId(selector, evaluated) {
|
|
274
|
+
const { result, exceptionDetails } = (evaluated.data?.result ??
|
|
275
|
+
{});
|
|
276
|
+
const description = exceptionDetails?.exception?.description;
|
|
277
|
+
if (description?.startsWith('SyntaxError')) {
|
|
278
|
+
const detail = parseSelectorFilters(selector) ? undefined : description.split('\n')[0];
|
|
279
|
+
const err = invalidSelectorError(selector, detail);
|
|
280
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
|
|
281
|
+
}
|
|
282
|
+
if (evaluated.status === 'error' || exceptionDetails || !result?.objectId) {
|
|
283
|
+
const detail = exceptionDetails?.exception?.description ?? evaluated.error ?? 'no result';
|
|
284
|
+
throw new CommandError(`Could not search the page for "${selector}": ${detail.split('\n')[0]}`, { suggestion: 'Check that the page has finished loading, then retry' }, EXIT_CODES.CDP_CONNECTION_FAILURE);
|
|
285
|
+
}
|
|
286
|
+
return result.objectId;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Backend node ids of the elements in a page-side array.
|
|
290
|
+
*
|
|
291
|
+
* @param arrayObjectId - Remote object id of the array
|
|
292
|
+
* @returns Backend node ids in array order (`undefined` where an element
|
|
293
|
+
* cannot be described, so positions match the array)
|
|
294
|
+
*/
|
|
295
|
+
async function elementBackendNodeIds(arrayObjectId) {
|
|
296
|
+
const response = await callCDP('Runtime.getProperties', {
|
|
297
|
+
objectId: arrayObjectId,
|
|
298
|
+
ownProperties: true,
|
|
299
|
+
});
|
|
300
|
+
const properties = response.data?.result?.result ?? [];
|
|
301
|
+
const elementIds = properties
|
|
302
|
+
.filter((property) => /^\d+$/.test(property.name))
|
|
303
|
+
.sort((a, b) => Number(a.name) - Number(b.name))
|
|
304
|
+
.map((property) => property.value?.objectId);
|
|
305
|
+
const ids = await mapConcurrently(elementIds, async (objectId) => {
|
|
306
|
+
if (!objectId)
|
|
307
|
+
return undefined;
|
|
308
|
+
const described = await callCDP('DOM.describeNode', { objectId });
|
|
309
|
+
return described.data?.result?.node
|
|
310
|
+
.backendNodeId;
|
|
311
|
+
});
|
|
312
|
+
return ids;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Run an async mapper over items with bounded CDP concurrency.
|
|
316
|
+
*
|
|
317
|
+
* @param items - Items to map
|
|
318
|
+
* @param mapper - Async mapper
|
|
319
|
+
* @returns Mapped results in input order
|
|
320
|
+
*/
|
|
321
|
+
function mapConcurrently(items, mapper) {
|
|
322
|
+
const limiter = new ConcurrencyLimiter(CDP_CONCURRENCY_LIMIT);
|
|
323
|
+
return Promise.all(items.map((item, index) => limiter.run(() => mapper(item, index))));
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Query elements by selector for `bdg dom query`.
|
|
327
|
+
*
|
|
328
|
+
* @param selector - CSS selector
|
|
329
|
+
* @returns Matches with backend node ids, tags, classes and text previews
|
|
330
|
+
*/
|
|
331
|
+
export async function queryDOMElements(selector) {
|
|
332
|
+
const elements = await withSelection(selector, elementsWithDetails);
|
|
333
|
+
if (elements.length > 20) {
|
|
334
|
+
log.debug(`Querying ${elements.length} elements with selector: ${selector}`);
|
|
335
|
+
}
|
|
336
|
+
const nodes = await mapConcurrently(elements, async (element, index) => {
|
|
337
|
+
const { backendNodeId, context, text, inViewport, clippedBy } = element;
|
|
338
|
+
const desc = await describeNode({ backendNodeId });
|
|
339
|
+
if (!desc)
|
|
340
|
+
return { index, nodeId: 0 };
|
|
341
|
+
const attributes = unpackAttributes(desc.attributes);
|
|
342
|
+
const classes = attributes['class']?.split(/\s+/).filter(Boolean);
|
|
343
|
+
const preview = textPreview(text);
|
|
344
|
+
return {
|
|
345
|
+
index,
|
|
346
|
+
nodeId: desc.backendNodeId,
|
|
347
|
+
tag: desc.nodeName.toLowerCase(),
|
|
348
|
+
...identifyingAttributes(attributes, desc.nodeName),
|
|
349
|
+
...(classes && { classes }),
|
|
350
|
+
...(preview && { preview }),
|
|
351
|
+
...(context && { context }),
|
|
352
|
+
...(inViewport && { inViewport }),
|
|
353
|
+
...(clippedBy && { clippedBy }),
|
|
354
|
+
};
|
|
355
|
+
});
|
|
356
|
+
return { selector, count: nodes.length, nodes };
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* The attributes that tell similar elements apart (form fields especially).
|
|
360
|
+
*
|
|
361
|
+
* @param attributes - Element attributes
|
|
362
|
+
* @param nodeName - Element name (`OPTION`s also report their `value`)
|
|
363
|
+
* @returns id, name and type (and an option's value) when present
|
|
364
|
+
*/
|
|
365
|
+
function identifyingAttributes(attributes, nodeName) {
|
|
366
|
+
const value = nodeName === 'OPTION' ? attributes['value'] : undefined;
|
|
367
|
+
return {
|
|
368
|
+
...(attributes['id'] && { id: attributes['id'] }),
|
|
369
|
+
...(attributes['name'] && { name: attributes['name'] }),
|
|
370
|
+
...(attributes['type'] && { type: attributes['type'] }),
|
|
371
|
+
...(value !== undefined && { value }),
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* The text of one element as the page renders it ({@link ELEMENT_TEXT_JS}).
|
|
376
|
+
*
|
|
377
|
+
* @param ref - Node reference
|
|
378
|
+
* @param full - Read all of a large container's text, not just its start
|
|
379
|
+
* @returns Element text, or empty when the node cannot be read
|
|
380
|
+
*/
|
|
381
|
+
async function elementText(ref, full) {
|
|
382
|
+
const objectGroup = `bdg-text-${process.pid}-${++queryCount}`;
|
|
383
|
+
const resolved = await callCDP('DOM.resolveNode', { ...ref, objectGroup });
|
|
384
|
+
const objectId = resolved.data?.result?.object
|
|
385
|
+
.objectId;
|
|
386
|
+
if (!objectId)
|
|
387
|
+
return '';
|
|
388
|
+
try {
|
|
389
|
+
const response = await callCDP('Runtime.callFunctionOn', {
|
|
390
|
+
objectId,
|
|
391
|
+
functionDeclaration: `function (full) { return (${ELEMENT_TEXT_JS})(this, full); }`,
|
|
392
|
+
arguments: [{ value: full }],
|
|
393
|
+
returnByValue: true,
|
|
394
|
+
});
|
|
395
|
+
const value = response.data?.result?.result
|
|
396
|
+
?.value;
|
|
397
|
+
return typeof value === 'string' ? value : '';
|
|
398
|
+
}
|
|
399
|
+
finally {
|
|
400
|
+
await callCDP('Runtime.releaseObjectGroup', { objectGroup });
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Get DOM context (tag, classes, text preview) for a node: a one-line
|
|
405
|
+
* preview, and up to {@link ELEMENT_TEXT_LENGTH} characters of text when it
|
|
406
|
+
* is longer (all of it with `full`).
|
|
407
|
+
*
|
|
408
|
+
* @param ref - Node reference
|
|
409
|
+
* @param options - `full`: the whole text instead of its first 500 characters
|
|
410
|
+
* @returns DOM context, or null if the node does not exist
|
|
411
|
+
*/
|
|
412
|
+
export async function getDomContext(ref, options = {}) {
|
|
413
|
+
await callCDP('DOM.enable', {});
|
|
414
|
+
const desc = await describeNode(ref);
|
|
415
|
+
if (!desc) {
|
|
416
|
+
log.debug(`No DOM context for ${JSON.stringify(ref)}`);
|
|
417
|
+
return null;
|
|
418
|
+
}
|
|
419
|
+
const full = options.full === true;
|
|
420
|
+
const classes = unpackAttributes(desc.attributes)['class']?.split(/\s+/).filter(Boolean);
|
|
421
|
+
const text = await elementText(ref, full);
|
|
422
|
+
const preview = textPreview(text);
|
|
423
|
+
const longer = textPreview(text, full ? Number.POSITIVE_INFINITY : ELEMENT_TEXT_LENGTH);
|
|
424
|
+
return {
|
|
425
|
+
tag: desc.nodeName.toLowerCase(),
|
|
426
|
+
...(classes && classes.length > 0 && { classes }),
|
|
427
|
+
...(preview && { preview }),
|
|
428
|
+
...(longer !== preview && { text: longer }),
|
|
429
|
+
...(!preview && (await childElements(ref))),
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
/** Child elements named for an element without text */
|
|
433
|
+
const CHILDREN_LISTED = 5;
|
|
434
|
+
/**
|
|
435
|
+
* The child elements of an element (for one without text: a body holding
|
|
436
|
+
* only an iframe, an empty app root).
|
|
437
|
+
*
|
|
438
|
+
* @param ref - Node reference
|
|
439
|
+
* @returns The first {@link CHILDREN_LISTED} as `tag#id.class` and how many there are
|
|
440
|
+
*/
|
|
441
|
+
async function childElements(ref) {
|
|
442
|
+
const response = await callCDP('DOM.describeNode', { ...ref, depth: 1 });
|
|
443
|
+
const node = response.data?.result?.node;
|
|
444
|
+
const elements = (node?.children ?? []).filter((child) => child.nodeType === 1);
|
|
445
|
+
return {
|
|
446
|
+
children: elements.slice(0, CHILDREN_LISTED).map(childLabel),
|
|
447
|
+
childCount: elements.length,
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* A child element in a few characters.
|
|
452
|
+
*
|
|
453
|
+
* @param node - Child node
|
|
454
|
+
* @returns e.g. `iframe#app.full`
|
|
455
|
+
*/
|
|
456
|
+
function childLabel(node) {
|
|
457
|
+
const attributes = unpackAttributes(node.attributes);
|
|
458
|
+
const id = attributes['id'] ? `#${attributes['id']}` : '';
|
|
459
|
+
const classes = (attributes['class'] ?? '').split(/\s+/).filter(Boolean).slice(0, 2);
|
|
460
|
+
return `${node.nodeName.toLowerCase()}${id}${classes.map((name) => `.${name}`).join('')}`;
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* All matches of a selector.
|
|
464
|
+
*
|
|
465
|
+
* @param selector - CSS selector
|
|
466
|
+
* @returns Backend node ids of the matches (at least one)
|
|
467
|
+
* @throws CommandError (83) when nothing matches
|
|
468
|
+
*/
|
|
469
|
+
async function selectMatches(selector) {
|
|
470
|
+
const backendNodeIds = await selectAll(selector);
|
|
471
|
+
if (backendNodeIds.length > 0)
|
|
472
|
+
return backendNodeIds;
|
|
473
|
+
const err = await noMatchesError(selector);
|
|
474
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* One match of a selector.
|
|
478
|
+
*
|
|
479
|
+
* @param selector - CSS selector
|
|
480
|
+
* @param index - Which match (0-based)
|
|
481
|
+
* @returns Its backend node id
|
|
482
|
+
* @throws CommandError (83) when nothing matches, (81) for an index beyond the matches
|
|
483
|
+
*/
|
|
484
|
+
export async function selectMatch(selector, index = 0) {
|
|
485
|
+
const backendNodeIds = await selectMatches(selector);
|
|
486
|
+
const backendNodeId = backendNodeIds[index];
|
|
487
|
+
if (backendNodeId !== undefined)
|
|
488
|
+
return backendNodeId;
|
|
489
|
+
const err = indexOutOfRangeError(index, backendNodeIds.length - 1);
|
|
490
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Pick the nodes `dom get --raw` should report for a selector.
|
|
494
|
+
*
|
|
495
|
+
* @param selector - CSS selector
|
|
496
|
+
* @param options - `nth` / `all` options
|
|
497
|
+
* @returns Node references to describe
|
|
498
|
+
*/
|
|
499
|
+
async function selectForGet(selector, options) {
|
|
500
|
+
if (options.all) {
|
|
501
|
+
return (await selectMatches(selector)).map((backendNodeId) => ({ backendNodeId }));
|
|
502
|
+
}
|
|
503
|
+
return [{ backendNodeId: await selectMatch(selector, options.nth ?? 0) }];
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Get full details (attributes, outer HTML) for `bdg dom get --raw`.
|
|
507
|
+
*
|
|
508
|
+
* @param options - Selector (with nth/all) or a backend node id
|
|
509
|
+
* @returns Node details; `nodeId` is the backend node id
|
|
510
|
+
* @throws CommandError (83) when a node id does not exist
|
|
511
|
+
*/
|
|
512
|
+
export async function getDOMElements(options) {
|
|
513
|
+
let refs;
|
|
514
|
+
if (options.nodeId !== undefined) {
|
|
515
|
+
await callCDP('DOM.enable', {});
|
|
516
|
+
await assertNodeAttached(options.nodeId).catch(() => {
|
|
517
|
+
const err = nodeIdNotFoundError(options.nodeId ?? 0);
|
|
518
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
519
|
+
});
|
|
520
|
+
refs = [{ backendNodeId: options.nodeId }];
|
|
521
|
+
}
|
|
522
|
+
else if (options.selector) {
|
|
523
|
+
refs = await selectForGet(options.selector, options);
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
const err = eitherArgumentRequiredError('selector', 'nodeId', `${sessionCommand('bdg dom get <selector>')} or ${sessionCommand('bdg dom get --node-id <id>')}`);
|
|
527
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
|
|
528
|
+
}
|
|
529
|
+
const nodes = await mapConcurrently(refs, async (ref) => {
|
|
530
|
+
const desc = await describeNode(ref);
|
|
531
|
+
if (!desc) {
|
|
532
|
+
const err = nodeIdNotFoundError(options.nodeId ?? 0);
|
|
533
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
534
|
+
}
|
|
535
|
+
const attributes = unpackAttributes(desc.attributes);
|
|
536
|
+
const classes = attributes['class']?.split(/\s+/).filter(Boolean);
|
|
537
|
+
const outerHTML = await getOuterHTML(ref);
|
|
538
|
+
return {
|
|
539
|
+
nodeId: desc.backendNodeId,
|
|
540
|
+
tag: desc.nodeName.toLowerCase(),
|
|
541
|
+
...(Object.keys(attributes).length > 0 && { attributes }),
|
|
542
|
+
...(classes && { classes }),
|
|
543
|
+
...(outerHTML && { outerHTML }),
|
|
544
|
+
};
|
|
545
|
+
});
|
|
546
|
+
return { nodes };
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Resolve a selector to its first match.
|
|
550
|
+
*
|
|
551
|
+
* @param selector - CSS selector
|
|
552
|
+
* @returns Reference to the first matching node (valid within this command)
|
|
553
|
+
* @throws CommandError (83) when nothing matches
|
|
554
|
+
*/
|
|
555
|
+
export async function resolveSelector(selector) {
|
|
556
|
+
const backendNodeId = (await selectAll(selector))[0];
|
|
557
|
+
if (backendNodeId === undefined) {
|
|
558
|
+
const err = await noMatchesError(selector);
|
|
559
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
560
|
+
}
|
|
561
|
+
return { backendNodeId };
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Resolve selectors to backend node ids (first match each).
|
|
565
|
+
*
|
|
566
|
+
* @param selectors - CSS selectors
|
|
567
|
+
* @returns Backend node id per selector, or undefined when it matches nothing
|
|
568
|
+
*/
|
|
569
|
+
export async function resolveBackendNodeIds(selectors) {
|
|
570
|
+
return mapConcurrently(selectors, async (selector) => (await selectAll(selector))[0]);
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Check that a cached element is still part of the current page.
|
|
574
|
+
*
|
|
575
|
+
* `DOM.describeNode` still answers for nodes of a previous document, so
|
|
576
|
+
* existence is checked by resolving the node into the page's JavaScript
|
|
577
|
+
* context, which fails for other documents, and by `isConnected`, which is
|
|
578
|
+
* false for removed elements.
|
|
579
|
+
*
|
|
580
|
+
* @param backendNodeId - Backend node id from the query cache
|
|
581
|
+
* @param source - Index the user gave and the list it refers to, for the error message
|
|
582
|
+
* @throws CommandError (87) when the element is gone
|
|
583
|
+
*/
|
|
584
|
+
export async function assertNodeAttached(backendNodeId, source) {
|
|
585
|
+
const resolved = await callCDP('DOM.resolveNode', { backendNodeId, objectGroup: 'bdg-check' });
|
|
586
|
+
const objectId = resolved.data?.result?.object
|
|
587
|
+
.objectId;
|
|
588
|
+
let attached = false;
|
|
589
|
+
if (resolved.status !== 'error' && objectId) {
|
|
590
|
+
const check = await callCDP('Runtime.callFunctionOn', {
|
|
591
|
+
objectId,
|
|
592
|
+
functionDeclaration: 'function () { return this.isConnected; }',
|
|
593
|
+
returnByValue: true,
|
|
594
|
+
});
|
|
595
|
+
attached =
|
|
596
|
+
check.data?.result?.result?.value === true;
|
|
597
|
+
await callCDP('Runtime.releaseObjectGroup', { objectGroup: 'bdg-check' });
|
|
598
|
+
}
|
|
599
|
+
if (!attached) {
|
|
600
|
+
const err = staleNodeError(source?.index, source);
|
|
601
|
+
throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.STALE_CACHE);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper for DOM element commands (fill, click, submit, pressKey).
|
|
3
|
+
*
|
|
4
|
+
* Captures the common flow: resolve selector/index → call IPC → normalize errors.
|
|
5
|
+
* Keeps individual command handlers focused on option wiring and output formatting.
|
|
6
|
+
*/
|
|
7
|
+
import type { IndexSource } from '../../../types.js';
|
|
8
|
+
interface IpcResponse<T> {
|
|
9
|
+
status: string;
|
|
10
|
+
data?: T;
|
|
11
|
+
error?: string;
|
|
12
|
+
exitCode?: number;
|
|
13
|
+
suggestion?: string;
|
|
14
|
+
}
|
|
15
|
+
interface ResultPayload {
|
|
16
|
+
success: boolean;
|
|
17
|
+
error?: string | undefined;
|
|
18
|
+
suggestion?: string | undefined;
|
|
19
|
+
exitCode?: number | undefined;
|
|
20
|
+
/** The element is not one the command acts on (fill, submit) */
|
|
21
|
+
unsuitableElement?: boolean | undefined;
|
|
22
|
+
}
|
|
23
|
+
interface CommandResult<T> {
|
|
24
|
+
success: boolean;
|
|
25
|
+
data?: T;
|
|
26
|
+
error?: string;
|
|
27
|
+
exitCode?: number;
|
|
28
|
+
errorContext?: {
|
|
29
|
+
suggestion: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for running a DOM element command.
|
|
34
|
+
*/
|
|
35
|
+
export interface ElementCommandOptions<Req, Res extends ResultPayload> {
|
|
36
|
+
/** Raw selector or numeric index string from CLI args. */
|
|
37
|
+
selectorOrIndex: string;
|
|
38
|
+
/** Optional --index flag value. */
|
|
39
|
+
index: number | undefined;
|
|
40
|
+
/** Build the IPC request params given the resolved selector + index. */
|
|
41
|
+
buildRequest: (target: {
|
|
42
|
+
selector: string;
|
|
43
|
+
index?: number;
|
|
44
|
+
backendNodeId?: number;
|
|
45
|
+
}) => Req;
|
|
46
|
+
/** Invoke the IPC client function. */
|
|
47
|
+
call: (req: Req) => Promise<IpcResponse<Res>>;
|
|
48
|
+
/** `bdg dom` subcommand being run, e.g. "fill" (for suggestions). */
|
|
49
|
+
command: string;
|
|
50
|
+
/** Operation label used in fallback error messages (e.g. "fill element"). */
|
|
51
|
+
action: string;
|
|
52
|
+
/** Fallback suggestion when the result reports failure without one. */
|
|
53
|
+
failureSuggestion: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolve an element target, invoke the IPC call, and normalize failures
|
|
57
|
+
* into the structured `CommandRunner` result shape. A numeric index names the
|
|
58
|
+
* list it refers to (`indexSource` in the data, and in errors).
|
|
59
|
+
*/
|
|
60
|
+
export declare function runElementCommand<Req, Res extends ResultPayload>(options: ElementCommandOptions<Req, Res>): Promise<CommandResult<Omit<Res, 'success'> & {
|
|
61
|
+
indexSource?: IndexSource;
|
|
62
|
+
}>>;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=runElementCommand.d.ts.map
|