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,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form submission helpers with smart network waiting.
|
|
3
|
+
*/
|
|
4
|
+
import { CDPTimeoutError } from '../../connection/errors.js';
|
|
5
|
+
import { trackInFlightRequests } from '../../connection/inFlightRequests.js';
|
|
6
|
+
import { submitNetworkBusyWarning, submitTimeoutError } from '../../errors/messages.js';
|
|
7
|
+
import { ELEMENT_IDENTITY_JS } from './elementInfo.js';
|
|
8
|
+
import { throwIfInvalidSelector } from './formFillHelpers/shared.js';
|
|
9
|
+
import { FIND_ELEMENTS_JS, selectorArgsJS } from './targetNode.js';
|
|
10
|
+
import { summarizePendingRequests } from '../page/loadingState.js';
|
|
11
|
+
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
12
|
+
import { clickElement } from './formFillHelpers/index.js';
|
|
13
|
+
/**
|
|
14
|
+
* Page script deciding how to submit the target.
|
|
15
|
+
*
|
|
16
|
+
* A `<form>` is submitted with `requestSubmit()` (what pressing a submit
|
|
17
|
+
* button does); a submit button or other element inside a form is clicked
|
|
18
|
+
* with real mouse events by the caller. Fails, like a browser would refuse,
|
|
19
|
+
* when the form has invalid fields, and for elements that are neither a form
|
|
20
|
+
* nor a button.
|
|
21
|
+
*/
|
|
22
|
+
const PREPARE_SUBMIT_SCRIPT = `
|
|
23
|
+
(function(selector, parts, index) {
|
|
24
|
+
const matches = (${FIND_ELEMENTS_JS})(selector, parts);
|
|
25
|
+
if (matches.length === 0) {
|
|
26
|
+
return { action: 'fail', reason: 'not-found', error: 'Element not found: ' + selector };
|
|
27
|
+
}
|
|
28
|
+
const el = typeof index === 'number' ? matches[index] : matches[0];
|
|
29
|
+
if (!el) {
|
|
30
|
+
return {
|
|
31
|
+
action: 'fail',
|
|
32
|
+
reason: 'range',
|
|
33
|
+
error: 'Index ' + index + ' out of range (found ' + matches.length + ' elements)'
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const isForm = el.tagName === 'FORM';
|
|
37
|
+
const isButton = el.matches('button, input[type=submit], input[type=image], [role=button]');
|
|
38
|
+
const isSubmitter = el.matches('button:not([type]), button[type=submit], input[type=submit], input[type=image]');
|
|
39
|
+
const form = isForm ? el : el.form || el.closest('form');
|
|
40
|
+
if (!isForm && !isButton) {
|
|
41
|
+
return {
|
|
42
|
+
action: 'fail',
|
|
43
|
+
reason: 'not-submittable',
|
|
44
|
+
error: 'Element is neither a form nor a submit button: <' + el.tagName.toLowerCase() + '>'
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const submitters = isForm
|
|
48
|
+
? Array.from(el.elements).filter((f) =>
|
|
49
|
+
f.matches('button:not([type]), button[type=submit], input[type=submit], input[type=image]')
|
|
50
|
+
)
|
|
51
|
+
: [];
|
|
52
|
+
if (submitters.length > 0 && submitters.every((f) => f.matches(':disabled'))) {
|
|
53
|
+
// A user could not submit: Enter does nothing while the default button is disabled
|
|
54
|
+
return { action: 'fail', reason: 'disabled', error: 'The form\\'s submit button is disabled' };
|
|
55
|
+
}
|
|
56
|
+
if ((isForm || isSubmitter) && form && !form.noValidate && !el.formNoValidate && !form.checkValidity()) {
|
|
57
|
+
const invalid = Array.from(form.elements)
|
|
58
|
+
.filter((f) => f.willValidate && !f.checkValidity())
|
|
59
|
+
.map((f) => (f.name || f.id || f.tagName.toLowerCase()) + ': ' + f.validationMessage);
|
|
60
|
+
return { action: 'fail', reason: 'invalid', error: 'Form has invalid fields - ' + invalid.join('; ') };
|
|
61
|
+
}
|
|
62
|
+
if (isForm) {
|
|
63
|
+
// Like pressing Enter: the form's default button is the submitter, so its
|
|
64
|
+
// name=value is sent too
|
|
65
|
+
const submitter = submitters.find((f) => !f.matches(':disabled'));
|
|
66
|
+
const element = (${ELEMENT_IDENTITY_JS})(submitter || el);
|
|
67
|
+
if (submitter) el.requestSubmit(submitter);
|
|
68
|
+
else el.requestSubmit();
|
|
69
|
+
return { action: 'submitted', clicked: Boolean(submitter), element: element };
|
|
70
|
+
}
|
|
71
|
+
return { action: 'click' };
|
|
72
|
+
})`;
|
|
73
|
+
const FAILURE_EXIT_CODES = {
|
|
74
|
+
'not-found': EXIT_CODES.RESOURCE_NOT_FOUND,
|
|
75
|
+
range: EXIT_CODES.INVALID_ARGUMENTS,
|
|
76
|
+
'not-submittable': EXIT_CODES.INVALID_ARGUMENTS,
|
|
77
|
+
invalid: EXIT_CODES.INVALID_ARGUMENTS,
|
|
78
|
+
disabled: EXIT_CODES.INVALID_ARGUMENTS,
|
|
79
|
+
};
|
|
80
|
+
const FAILURE_SUGGESTIONS = {
|
|
81
|
+
'not-found': 'Verify the selector matches a form or submit button',
|
|
82
|
+
range: 'Use an --index within the number of matches',
|
|
83
|
+
'not-submittable': 'Target the <form> or its submit button, or use "bdg dom click" for other elements',
|
|
84
|
+
invalid: 'Fill the listed fields first (see "bdg dom form" for their state)',
|
|
85
|
+
disabled: 'Complete the steps that enable the button first (see "bdg dom form" for its state)',
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Watches navigation and network activity from before a submission is
|
|
89
|
+
* triggered, so fast navigations are not missed.
|
|
90
|
+
*
|
|
91
|
+
* A navigation is a new document committed in the main frame
|
|
92
|
+
* (`Page.frameNavigated`), whatever its URL: a POST that redirects back to
|
|
93
|
+
* the form's own URL (a login error) navigates too.
|
|
94
|
+
*/
|
|
95
|
+
class SubmissionWatcher {
|
|
96
|
+
navigated = false;
|
|
97
|
+
documentRequest;
|
|
98
|
+
onChange = null;
|
|
99
|
+
requests;
|
|
100
|
+
disposers = [];
|
|
101
|
+
/**
|
|
102
|
+
* @param cdp - CDP connection
|
|
103
|
+
*/
|
|
104
|
+
constructor(cdp) {
|
|
105
|
+
this.requests = trackInFlightRequests(cdp, () => this.onChange?.());
|
|
106
|
+
this.disposers.push(this.requests.dispose);
|
|
107
|
+
this.disposers.push(cdp.on('Page.frameNavigated', (params, sessionId) => {
|
|
108
|
+
if (sessionId !== undefined || params.frame.parentId !== undefined)
|
|
109
|
+
return;
|
|
110
|
+
this.navigated = true;
|
|
111
|
+
this.onChange?.();
|
|
112
|
+
}), cdp.on('Network.requestWillBeSent', (params, sessionId) => {
|
|
113
|
+
if (sessionId !== undefined || params.type !== 'Document')
|
|
114
|
+
return;
|
|
115
|
+
this.documentRequest ??= {
|
|
116
|
+
requestId: params.requestId,
|
|
117
|
+
method: params.request.method,
|
|
118
|
+
url: params.request.url,
|
|
119
|
+
startedAt: Date.now(),
|
|
120
|
+
};
|
|
121
|
+
}), cdp.on('Network.responseReceived', (params) => {
|
|
122
|
+
if (params.requestId !== this.documentRequest?.requestId)
|
|
123
|
+
return;
|
|
124
|
+
this.documentRequest.status = params.response.status;
|
|
125
|
+
this.documentRequest.statusText = params.response.statusText;
|
|
126
|
+
}), cdp.on('Network.loadingFailed', (params) => {
|
|
127
|
+
if (params.requestId !== this.documentRequest?.requestId)
|
|
128
|
+
return;
|
|
129
|
+
this.documentRequest.errorText = params.errorText;
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
/** Whether the main frame navigated since watching began. */
|
|
133
|
+
get navigationOccurred() {
|
|
134
|
+
return this.navigated;
|
|
135
|
+
}
|
|
136
|
+
/** How far the first page request sent since watching began got, if one was sent */
|
|
137
|
+
get firstDocumentRequest() {
|
|
138
|
+
const request = this.documentRequest;
|
|
139
|
+
if (!request)
|
|
140
|
+
return undefined;
|
|
141
|
+
const answered = request.status !== undefined || request.errorText !== undefined;
|
|
142
|
+
return {
|
|
143
|
+
method: request.method,
|
|
144
|
+
url: request.url,
|
|
145
|
+
...(!answered && { pendingMs: Date.now() - request.startedAt }),
|
|
146
|
+
...(request.status !== undefined && { status: request.status }),
|
|
147
|
+
...(request.statusText && { statusText: request.statusText }),
|
|
148
|
+
...(request.errorText !== undefined && { errorText: request.errorText }),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/** Requests still in flight */
|
|
152
|
+
get pendingRequests() {
|
|
153
|
+
return this.requests.count;
|
|
154
|
+
}
|
|
155
|
+
/** Requests started since watching began. */
|
|
156
|
+
get networkRequests() {
|
|
157
|
+
return this.requests.started;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Wait until the network is idle for `waitNetwork` ms and, if requested,
|
|
161
|
+
* the main frame navigated. When a requested navigation happened but the
|
|
162
|
+
* network was still busy at the timeout (a slow script or tracker on the
|
|
163
|
+
* new page), the wait ends without an error: resolves to `'busy'`.
|
|
164
|
+
*
|
|
165
|
+
* @param options - Wait conditions
|
|
166
|
+
* @returns `'idle'`, or `'busy'` when only the network wait timed out
|
|
167
|
+
* @throws CDPTimeoutError after `timeout` ms
|
|
168
|
+
*/
|
|
169
|
+
wait(options) {
|
|
170
|
+
const { waitNavigation, waitNetwork, timeout } = options;
|
|
171
|
+
return new Promise((resolve, reject) => {
|
|
172
|
+
let idle = null;
|
|
173
|
+
const finish = () => {
|
|
174
|
+
clearTimeout(deadline);
|
|
175
|
+
if (idle)
|
|
176
|
+
clearTimeout(idle);
|
|
177
|
+
this.onChange = null;
|
|
178
|
+
};
|
|
179
|
+
const deadline = setTimeout(() => {
|
|
180
|
+
finish();
|
|
181
|
+
if (waitNavigation && this.navigated)
|
|
182
|
+
resolve('busy');
|
|
183
|
+
else
|
|
184
|
+
reject(new CDPTimeoutError('Wait for completion timed out', new Error(`${timeout}ms`)));
|
|
185
|
+
}, timeout);
|
|
186
|
+
const check = () => {
|
|
187
|
+
const networkIdle = waitNetwork === 0 || this.requests.count === 0;
|
|
188
|
+
if (networkIdle && (!waitNavigation || this.navigated)) {
|
|
189
|
+
finish();
|
|
190
|
+
resolve('idle');
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
const schedule = () => {
|
|
194
|
+
if (idle)
|
|
195
|
+
clearTimeout(idle);
|
|
196
|
+
idle = null;
|
|
197
|
+
if (waitNetwork === 0)
|
|
198
|
+
check();
|
|
199
|
+
else if (this.requests.count === 0)
|
|
200
|
+
idle = setTimeout(check, waitNetwork);
|
|
201
|
+
};
|
|
202
|
+
this.onChange = schedule;
|
|
203
|
+
schedule();
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/** Stop watching. */
|
|
207
|
+
dispose() {
|
|
208
|
+
this.disposers.forEach((dispose) => dispose());
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Submit the target: `requestSubmit()` for a form, a real click otherwise.
|
|
213
|
+
*
|
|
214
|
+
* @param cdp - CDP connection
|
|
215
|
+
* @param selector - Selector (or bound-node placeholder)
|
|
216
|
+
* @param index - Optional 0-based index among matches
|
|
217
|
+
* @returns Failure result, or whether a submit button was used
|
|
218
|
+
*/
|
|
219
|
+
async function triggerSubmit(cdp, selector, index) {
|
|
220
|
+
const response = (await cdp.send('Runtime.evaluate', {
|
|
221
|
+
expression: `(${PREPARE_SUBMIT_SCRIPT})(${selectorArgsJS(selector)}, ${index ?? 'null'})`,
|
|
222
|
+
returnByValue: true,
|
|
223
|
+
userGesture: true,
|
|
224
|
+
}));
|
|
225
|
+
if (response.exceptionDetails)
|
|
226
|
+
throwIfInvalidSelector(response.exceptionDetails, selector);
|
|
227
|
+
const prepared = response.result?.value;
|
|
228
|
+
if (!prepared || prepared.action === 'fail') {
|
|
229
|
+
const reason = prepared?.reason ?? 'not-found';
|
|
230
|
+
const failure = {
|
|
231
|
+
success: false,
|
|
232
|
+
error: prepared?.error ?? 'Could not submit',
|
|
233
|
+
selector,
|
|
234
|
+
clicked: false,
|
|
235
|
+
exitCode: FAILURE_EXIT_CODES[reason],
|
|
236
|
+
suggestion: FAILURE_SUGGESTIONS[reason],
|
|
237
|
+
...(reason === 'not-submittable' && { unsuitableElement: true }),
|
|
238
|
+
};
|
|
239
|
+
return { failure };
|
|
240
|
+
}
|
|
241
|
+
if (prepared.action === 'submitted') {
|
|
242
|
+
return { clicked: prepared.clicked === true, element: prepared.element };
|
|
243
|
+
}
|
|
244
|
+
const click = await clickElement(cdp, selector, index !== undefined ? { index } : {});
|
|
245
|
+
if (click.success)
|
|
246
|
+
return { clicked: true, element: click.element };
|
|
247
|
+
const failure = {
|
|
248
|
+
success: false,
|
|
249
|
+
error: click.error ?? 'Click failed',
|
|
250
|
+
selector,
|
|
251
|
+
clicked: false,
|
|
252
|
+
...(click.exitCode !== undefined && { exitCode: click.exitCode }),
|
|
253
|
+
...(click.suggestion !== undefined && { suggestion: click.suggestion }),
|
|
254
|
+
};
|
|
255
|
+
return { failure };
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* The requests still running in the session, the longest-running first.
|
|
259
|
+
*
|
|
260
|
+
* @param pendingRequests - Source of the session's pending requests
|
|
261
|
+
* @returns The ones to name and the count, none without a source
|
|
262
|
+
*/
|
|
263
|
+
function pendingSummary(pendingRequests) {
|
|
264
|
+
if (!pendingRequests)
|
|
265
|
+
return {};
|
|
266
|
+
const requests = [...pendingRequests()];
|
|
267
|
+
return {
|
|
268
|
+
pending: summarizePendingRequests(requests, Date.now()),
|
|
269
|
+
pendingCount: requests.length,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Submit a form and wait for the result.
|
|
274
|
+
*
|
|
275
|
+
* @param cdp - CDP connection
|
|
276
|
+
* @param selector - Form or submit button selector (or bound-node placeholder)
|
|
277
|
+
* @param options - Submit options
|
|
278
|
+
* @returns Submit result
|
|
279
|
+
*/
|
|
280
|
+
export async function submitForm(cdp, selector, options = {}) {
|
|
281
|
+
const { index, waitNavigation = false, waitNetwork = 1000, timeout = 10000 } = options;
|
|
282
|
+
const startTime = Date.now();
|
|
283
|
+
const watcher = new SubmissionWatcher(cdp);
|
|
284
|
+
try {
|
|
285
|
+
const triggered = await triggerSubmit(cdp, selector, index);
|
|
286
|
+
if ('failure' in triggered)
|
|
287
|
+
return triggered.failure;
|
|
288
|
+
const outcome = waitNetwork > 0 || waitNavigation
|
|
289
|
+
? await watcher.wait({ waitNavigation, waitNetwork, timeout })
|
|
290
|
+
: 'idle';
|
|
291
|
+
return {
|
|
292
|
+
success: true,
|
|
293
|
+
selector,
|
|
294
|
+
...(triggered.element !== undefined && { element: triggered.element }),
|
|
295
|
+
clicked: triggered.clicked,
|
|
296
|
+
networkRequests: watcher.networkRequests,
|
|
297
|
+
navigationOccurred: watcher.navigationOccurred,
|
|
298
|
+
waitTimeMs: Date.now() - startTime,
|
|
299
|
+
...(outcome === 'busy' && {
|
|
300
|
+
warning: submitNetworkBusyWarning(timeout, watcher.pendingRequests),
|
|
301
|
+
}),
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
if (!(error instanceof CDPTimeoutError))
|
|
306
|
+
throw error;
|
|
307
|
+
const err = submitTimeoutError(timeout, waitNavigation, {
|
|
308
|
+
document: watcher.firstDocumentRequest,
|
|
309
|
+
...pendingSummary(options.pendingRequests),
|
|
310
|
+
});
|
|
311
|
+
return {
|
|
312
|
+
success: false,
|
|
313
|
+
error: err.message,
|
|
314
|
+
selector,
|
|
315
|
+
clicked: true,
|
|
316
|
+
navigationOccurred: watcher.navigationOccurred,
|
|
317
|
+
waitTimeMs: Date.now() - startTime,
|
|
318
|
+
exitCode: EXIT_CODES.CDP_TIMEOUT,
|
|
319
|
+
suggestion: err.suggestion,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
finally {
|
|
323
|
+
watcher.dispose();
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=formSubmitHelpers.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for form discovery command.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports shared types from types.js and defines command-specific types.
|
|
5
|
+
*/
|
|
6
|
+
export type { FieldValidation, FieldOption, FormFieldType, FieldState, FormField, FormButton, FormBlocker, FormSummary, FormStep, DiscoveredForm, FormDiscoveryResult, } from '../../types.js';
|
|
7
|
+
export type { RawFormData, RawForm, RawField, RawButton } from '../../ipc/protocol/domTypes.js';
|
|
8
|
+
//# sourceMappingURL=formTypes.d.ts.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout of an element inside a cross-origin iframe that shares the page's
|
|
3
|
+
* process (an a11y query can return those).
|
|
4
|
+
*
|
|
5
|
+
* The element is measured in its own frame, whose scripts cannot see the top
|
|
6
|
+
* page, so its measurements are relative to the frame's viewport. The
|
|
7
|
+
* iframe element holding the frame is measured in its own document, and the
|
|
8
|
+
* element is placed in the top-level viewport through it: mapped by the
|
|
9
|
+
* frame's position and scale, clipped to the frame's viewport and to what clips the
|
|
10
|
+
* iframe, and fixed, scrolled or hidden as the iframe is.
|
|
11
|
+
*/
|
|
12
|
+
import type { CDPConnection } from '../../connection/cdp.js';
|
|
13
|
+
import type { Protocol } from '../../connection/typed-cdp.js';
|
|
14
|
+
import type { LayoutBox } from '../../ipc/protocol/domTypes.js';
|
|
15
|
+
import { type FrameMapping } from './frameScopedConnection.js';
|
|
16
|
+
import type { RawLayout } from './layout.js';
|
|
17
|
+
/**
|
|
18
|
+
* Ids of all frames below a frame tree's root.
|
|
19
|
+
*
|
|
20
|
+
* @param tree - Frame tree
|
|
21
|
+
* @returns Frame ids, depth-first
|
|
22
|
+
*/
|
|
23
|
+
export declare function childFrameIds(tree: Protocol.Page.FrameTree | undefined): string[];
|
|
24
|
+
/**
|
|
25
|
+
* The iframe element whose document holds an element.
|
|
26
|
+
*
|
|
27
|
+
* @param cdp - CDP connection
|
|
28
|
+
* @param objectId - Remote object of the element
|
|
29
|
+
* @returns Backend node id of the iframe element, undefined when not found
|
|
30
|
+
*/
|
|
31
|
+
export declare function findFrameOwner(cdp: CDPConnection, objectId: string): Promise<number | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* Overlap of boxes.
|
|
34
|
+
*
|
|
35
|
+
* @param boxes - Boxes (null ones are left out)
|
|
36
|
+
* @returns Overlap (zero size when they do not overlap)
|
|
37
|
+
*/
|
|
38
|
+
export declare function intersection(...boxes: Array<LayoutBox | null>): LayoutBox;
|
|
39
|
+
/**
|
|
40
|
+
* Whether a box lies inside another.
|
|
41
|
+
*
|
|
42
|
+
* @param inner - Inner box
|
|
43
|
+
* @param outer - Outer box
|
|
44
|
+
* @returns True when it does
|
|
45
|
+
*/
|
|
46
|
+
export declare function inside(inner: LayoutBox, outer: LayoutBox): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Place an element measured inside a cross-origin frame in the top-level
|
|
49
|
+
* viewport, through the measurements of the frame's iframe element: mapped by
|
|
50
|
+
* the frame's position and scale (border, padding, `transform`, `zoom`),
|
|
51
|
+
* clipped to the frame's viewport and to what clips the iframe.
|
|
52
|
+
*
|
|
53
|
+
* @param raw - The element, measured in its frame
|
|
54
|
+
* @param owner - The iframe element, measured in its document
|
|
55
|
+
* @param mapping - How the frame's viewport maps into the top-level viewport
|
|
56
|
+
* @returns The element's layout in the top-level page (unchanged when the
|
|
57
|
+
* iframe could not be measured)
|
|
58
|
+
*/
|
|
59
|
+
export declare function placeInOwnerFrame(raw: RawLayout, owner: RawLayout, mapping: FrameMapping): RawLayout;
|
|
60
|
+
//# sourceMappingURL=frameLayout.d.ts.map
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout of an element inside a cross-origin iframe that shares the page's
|
|
3
|
+
* process (an a11y query can return those).
|
|
4
|
+
*
|
|
5
|
+
* The element is measured in its own frame, whose scripts cannot see the top
|
|
6
|
+
* page, so its measurements are relative to the frame's viewport. The
|
|
7
|
+
* iframe element holding the frame is measured in its own document, and the
|
|
8
|
+
* element is placed in the top-level viewport through it: mapped by the
|
|
9
|
+
* frame's position and scale, clipped to the frame's viewport and to what clips the
|
|
10
|
+
* iframe, and fixed, scrolled or hidden as the iframe is.
|
|
11
|
+
*/
|
|
12
|
+
import { mapBox } from './frameScopedConnection.js';
|
|
13
|
+
import { createLogger } from '../../ui/logging/index.js';
|
|
14
|
+
import { getErrorMessage } from '../../utils/errors.js';
|
|
15
|
+
const log = createLogger('dom');
|
|
16
|
+
/**
|
|
17
|
+
* Ids of all frames below a frame tree's root.
|
|
18
|
+
*
|
|
19
|
+
* @param tree - Frame tree
|
|
20
|
+
* @returns Frame ids, depth-first
|
|
21
|
+
*/
|
|
22
|
+
export function childFrameIds(tree) {
|
|
23
|
+
return (tree?.childFrames ?? []).flatMap((child) => [child.frame.id, ...childFrameIds(child)]);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Backend node id of the document holding an element.
|
|
27
|
+
*
|
|
28
|
+
* @param cdp - CDP connection
|
|
29
|
+
* @param objectId - Remote object of the element
|
|
30
|
+
* @returns The document's backend node id, if it could be read
|
|
31
|
+
*/
|
|
32
|
+
async function ownerDocumentId(cdp, objectId) {
|
|
33
|
+
const doc = (await cdp.send('Runtime.callFunctionOn', {
|
|
34
|
+
objectId,
|
|
35
|
+
functionDeclaration: 'function () { return this.ownerDocument; }',
|
|
36
|
+
}));
|
|
37
|
+
if (!doc.result.objectId)
|
|
38
|
+
return undefined;
|
|
39
|
+
const { node } = (await cdp.send('DOM.describeNode', {
|
|
40
|
+
objectId: doc.result.objectId,
|
|
41
|
+
}));
|
|
42
|
+
return node.backendNodeId;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The iframe element whose document holds an element.
|
|
46
|
+
*
|
|
47
|
+
* @param cdp - CDP connection
|
|
48
|
+
* @param objectId - Remote object of the element
|
|
49
|
+
* @returns Backend node id of the iframe element, undefined when not found
|
|
50
|
+
*/
|
|
51
|
+
export async function findFrameOwner(cdp, objectId) {
|
|
52
|
+
try {
|
|
53
|
+
const documentId = await ownerDocumentId(cdp, objectId);
|
|
54
|
+
const { frameTree } = (await cdp.send('Page.getFrameTree'));
|
|
55
|
+
for (const frameId of childFrameIds(frameTree)) {
|
|
56
|
+
const owner = (await cdp.send('DOM.getFrameOwner', {
|
|
57
|
+
frameId,
|
|
58
|
+
}));
|
|
59
|
+
const { node } = (await cdp.send('DOM.describeNode', {
|
|
60
|
+
backendNodeId: owner.backendNodeId,
|
|
61
|
+
}));
|
|
62
|
+
if (node.contentDocument?.backendNodeId === documentId)
|
|
63
|
+
return owner.backendNodeId;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
log.debug(`Frame owner not found: ${getErrorMessage(error)}`);
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Overlap of boxes.
|
|
73
|
+
*
|
|
74
|
+
* @param boxes - Boxes (null ones are left out)
|
|
75
|
+
* @returns Overlap (zero size when they do not overlap)
|
|
76
|
+
*/
|
|
77
|
+
export function intersection(...boxes) {
|
|
78
|
+
const present = boxes.filter((box) => box !== null);
|
|
79
|
+
const left = Math.max(...present.map((box) => box.x));
|
|
80
|
+
const top = Math.max(...present.map((box) => box.y));
|
|
81
|
+
const right = Math.min(...present.map((box) => box.x + box.width));
|
|
82
|
+
const bottom = Math.min(...present.map((box) => box.y + box.height));
|
|
83
|
+
return { x: left, y: top, width: Math.max(0, right - left), height: Math.max(0, bottom - top) };
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Whether a box lies inside another.
|
|
87
|
+
*
|
|
88
|
+
* @param inner - Inner box
|
|
89
|
+
* @param outer - Outer box
|
|
90
|
+
* @returns True when it does
|
|
91
|
+
*/
|
|
92
|
+
export function inside(inner, outer) {
|
|
93
|
+
return (inner.x >= outer.x &&
|
|
94
|
+
inner.y >= outer.y &&
|
|
95
|
+
inner.x + inner.width <= outer.x + outer.width &&
|
|
96
|
+
inner.y + inner.height <= outer.y + outer.height);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Place an element measured inside a cross-origin frame in the top-level
|
|
100
|
+
* viewport, through the measurements of the frame's iframe element: mapped by
|
|
101
|
+
* the frame's position and scale (border, padding, `transform`, `zoom`),
|
|
102
|
+
* clipped to the frame's viewport and to what clips the iframe.
|
|
103
|
+
*
|
|
104
|
+
* @param raw - The element, measured in its frame
|
|
105
|
+
* @param owner - The iframe element, measured in its document
|
|
106
|
+
* @param mapping - How the frame's viewport maps into the top-level viewport
|
|
107
|
+
* @returns The element's layout in the top-level page (unchanged when the
|
|
108
|
+
* iframe could not be measured)
|
|
109
|
+
*/
|
|
110
|
+
export function placeInOwnerFrame(raw, owner, mapping) {
|
|
111
|
+
const frame = owner.elements[0];
|
|
112
|
+
if (!raw.page || !owner.page || !frame)
|
|
113
|
+
return raw;
|
|
114
|
+
const frameView = mapBox(mapping, { x: 0, y: 0, ...raw.page.viewport });
|
|
115
|
+
const elements = raw.elements.map((element) => {
|
|
116
|
+
const inner = element.geometry;
|
|
117
|
+
const outer = frame.geometry;
|
|
118
|
+
const rect = mapBox(mapping, inner.rect);
|
|
119
|
+
const ownClip = inner.clip ? mapBox(mapping, inner.clip) : null;
|
|
120
|
+
return {
|
|
121
|
+
...element,
|
|
122
|
+
context: [frame.element, element.context].filter(Boolean).join(' > '),
|
|
123
|
+
geometry: {
|
|
124
|
+
...inner,
|
|
125
|
+
rect,
|
|
126
|
+
clip: intersection(ownClip, frameView, outer.clip),
|
|
127
|
+
clipper: inner.clipper ?? (inside(rect, frameView) ? outer.clipper : frame.element),
|
|
128
|
+
hidden: inner.hidden ?? (outer.hidden ? 'inside a hidden iframe' : null),
|
|
129
|
+
invisible: inner.invisible ?? outer.invisible,
|
|
130
|
+
fixed: outer.fixed,
|
|
131
|
+
sticky: outer.sticky ?? false,
|
|
132
|
+
pageScroll: outer.pageScroll,
|
|
133
|
+
scrollLock: outer.scrollLock ?? null,
|
|
134
|
+
offset: mapping.origin,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
return { ...raw, page: owner.page, elements, crossOriginFrame: false };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=frameLayout.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The origin a frame's scripts really run with, for `bdg dom frames`.
|
|
3
|
+
*
|
|
4
|
+
* Chrome reports `securityOrigin: "://"` for frames without an origin of
|
|
5
|
+
* their own (srcdoc, about:blank, data:) and the URL's origin for sandboxed
|
|
6
|
+
* frames, so neither tells whether the parent can reach the frame's
|
|
7
|
+
* document. The frame's default execution context knows: it reports the
|
|
8
|
+
* inherited origin for srcdoc and about:blank, and `"://"` for opaque ones
|
|
9
|
+
* (data: URLs, sandboxes without `allow-same-origin`). A frame that has no
|
|
10
|
+
* context yet falls back to the rules below; a frame inside an opaque one
|
|
11
|
+
* counts as opaque too (sandbox flags are inherited).
|
|
12
|
+
*/
|
|
13
|
+
/** Origin of documents that share no origin with anything */
|
|
14
|
+
export declare const OPAQUE_ORIGIN = "null";
|
|
15
|
+
/** What is known about a frame's origin */
|
|
16
|
+
export interface FrameOriginFacts {
|
|
17
|
+
/** Frame URL */
|
|
18
|
+
url: string;
|
|
19
|
+
/** `Page.Frame.securityOrigin` */
|
|
20
|
+
securityOrigin: string;
|
|
21
|
+
/** Origin of the frame's default execution context, when it has one */
|
|
22
|
+
contextOrigin?: string | undefined;
|
|
23
|
+
/** Origin of the parent frame (already resolved) */
|
|
24
|
+
parentOrigin?: string | undefined;
|
|
25
|
+
/** `sandbox` attribute of the frame's element, when present */
|
|
26
|
+
sandbox?: string | undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether a `sandbox` attribute makes the frame's origin opaque.
|
|
30
|
+
*
|
|
31
|
+
* @param sandbox - Attribute value (undefined when the attribute is missing)
|
|
32
|
+
* @returns True unless the attribute is missing or allows same-origin
|
|
33
|
+
*/
|
|
34
|
+
export declare function isOpaqueSandbox(sandbox: string | undefined): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The origin a frame's scripts run with.
|
|
37
|
+
*
|
|
38
|
+
* @param facts - What Chrome reports about the frame
|
|
39
|
+
* @returns e.g. `https://example.com`, or `"null"` for an opaque origin
|
|
40
|
+
*/
|
|
41
|
+
export declare function effectiveFrameOrigin(facts: FrameOriginFacts): string;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the top page's scripts cannot reach a frame's document.
|
|
44
|
+
*
|
|
45
|
+
* @param origin - The frame's effective origin
|
|
46
|
+
* @param topOrigin - The page's effective origin
|
|
47
|
+
* @returns True for a different or opaque origin
|
|
48
|
+
*/
|
|
49
|
+
export declare function isCrossOrigin(origin: string, topOrigin: string): boolean;
|
|
50
|
+
//# sourceMappingURL=frameOrigin.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The origin a frame's scripts really run with, for `bdg dom frames`.
|
|
3
|
+
*
|
|
4
|
+
* Chrome reports `securityOrigin: "://"` for frames without an origin of
|
|
5
|
+
* their own (srcdoc, about:blank, data:) and the URL's origin for sandboxed
|
|
6
|
+
* frames, so neither tells whether the parent can reach the frame's
|
|
7
|
+
* document. The frame's default execution context knows: it reports the
|
|
8
|
+
* inherited origin for srcdoc and about:blank, and `"://"` for opaque ones
|
|
9
|
+
* (data: URLs, sandboxes without `allow-same-origin`). A frame that has no
|
|
10
|
+
* context yet falls back to the rules below; a frame inside an opaque one
|
|
11
|
+
* counts as opaque too (sandbox flags are inherited).
|
|
12
|
+
*/
|
|
13
|
+
/** Origin of documents that share no origin with anything */
|
|
14
|
+
export const OPAQUE_ORIGIN = 'null';
|
|
15
|
+
/**
|
|
16
|
+
* Whether a reported origin names a real (tuple) origin.
|
|
17
|
+
*
|
|
18
|
+
* @param origin - Origin as Chrome reports it
|
|
19
|
+
* @returns False for `"://"`, `"null"` and empty
|
|
20
|
+
*/
|
|
21
|
+
function isTupleOrigin(origin) {
|
|
22
|
+
return origin !== undefined && origin !== '' && origin !== '://' && origin !== OPAQUE_ORIGIN;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Whether a `sandbox` attribute makes the frame's origin opaque.
|
|
26
|
+
*
|
|
27
|
+
* @param sandbox - Attribute value (undefined when the attribute is missing)
|
|
28
|
+
* @returns True unless the attribute is missing or allows same-origin
|
|
29
|
+
*/
|
|
30
|
+
export function isOpaqueSandbox(sandbox) {
|
|
31
|
+
if (sandbox === undefined)
|
|
32
|
+
return false;
|
|
33
|
+
return !sandbox.toLowerCase().split(/\s+/).includes('allow-same-origin');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The origin a frame's scripts run with.
|
|
37
|
+
*
|
|
38
|
+
* @param facts - What Chrome reports about the frame
|
|
39
|
+
* @returns e.g. `https://example.com`, or `"null"` for an opaque origin
|
|
40
|
+
*/
|
|
41
|
+
export function effectiveFrameOrigin(facts) {
|
|
42
|
+
if (facts.contextOrigin !== undefined) {
|
|
43
|
+
return isTupleOrigin(facts.contextOrigin) ? facts.contextOrigin : OPAQUE_ORIGIN;
|
|
44
|
+
}
|
|
45
|
+
if (isOpaqueSandbox(facts.sandbox) || facts.parentOrigin === OPAQUE_ORIGIN)
|
|
46
|
+
return OPAQUE_ORIGIN;
|
|
47
|
+
if (isTupleOrigin(facts.securityOrigin))
|
|
48
|
+
return facts.securityOrigin;
|
|
49
|
+
const inherits = facts.url === '' || facts.url.startsWith('about:');
|
|
50
|
+
return inherits && isTupleOrigin(facts.parentOrigin) ? facts.parentOrigin : OPAQUE_ORIGIN;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether the top page's scripts cannot reach a frame's document.
|
|
54
|
+
*
|
|
55
|
+
* @param origin - The frame's effective origin
|
|
56
|
+
* @param topOrigin - The page's effective origin
|
|
57
|
+
* @returns True for a different or opaque origin
|
|
58
|
+
*/
|
|
59
|
+
export function isCrossOrigin(origin, topOrigin) {
|
|
60
|
+
return origin === OPAQUE_ORIGIN || origin !== topOrigin;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=frameOrigin.js.map
|