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
package/dist/session/paths.js
CHANGED
|
@@ -2,41 +2,145 @@
|
|
|
2
2
|
* Session path generation and management.
|
|
3
3
|
*
|
|
4
4
|
* Centralized path generation for all session-related files in ~/.bdg/
|
|
5
|
+
* (or `~/.bdg/sessions/<name>/` for a named session).
|
|
5
6
|
* WHY: Single source of truth for file locations prevents path inconsistencies.
|
|
6
7
|
*/
|
|
7
8
|
import * as fs from 'fs';
|
|
8
9
|
import * as os from 'os';
|
|
9
10
|
import * as path from 'path';
|
|
11
|
+
import { createLogger, logDebugError } from '../ui/logging/index.js';
|
|
12
|
+
const log = createLogger('session');
|
|
10
13
|
/**
|
|
11
14
|
* Session file paths relative to ~/.bdg/
|
|
12
15
|
* Centralized definition for all session-related files.
|
|
13
16
|
*/
|
|
14
17
|
const SESSION_FILES = {
|
|
15
|
-
PID: 'session.pid',
|
|
16
18
|
OUTPUT: 'session.json',
|
|
17
|
-
LOCK: 'session.lock',
|
|
18
19
|
METADATA: 'session.meta.json',
|
|
19
20
|
CHROME_PID: 'chrome.pid',
|
|
20
21
|
DAEMON_PID: 'daemon.pid',
|
|
21
22
|
DAEMON_SOCKET: 'daemon.sock',
|
|
22
|
-
DAEMON_LOCK: 'daemon.lock',
|
|
23
23
|
PORT: 'port.txt',
|
|
24
|
+
LAST_SESSION: 'last-session.json',
|
|
24
25
|
};
|
|
25
26
|
const SESSION_DIR_OVERRIDE_ENV = 'BDG_SESSION_DIR';
|
|
27
|
+
/** Environment variable holding the selected session name (set by `--session`) */
|
|
28
|
+
export const SESSION_NAME_ENV = 'BDG_SESSION';
|
|
29
|
+
/** Subdirectory of the base session directory that holds named sessions */
|
|
30
|
+
const NAMED_SESSIONS_DIR = 'sessions';
|
|
31
|
+
/** Longest Unix socket path (sun_path is 104 bytes on macOS, 108 on Linux, NUL included) */
|
|
32
|
+
export const MAX_SOCKET_PATH_BYTES = process.platform === 'darwin' ? 103 : 107;
|
|
26
33
|
/**
|
|
27
|
-
*
|
|
34
|
+
* Longest public daemon socket path: the daemon first listens on
|
|
35
|
+
* `<path>.<pid>` and then links it into place, so the pid suffix (up to 7
|
|
36
|
+
* digits) must fit too.
|
|
37
|
+
*/
|
|
38
|
+
export const MAX_DAEMON_SOCKET_PATH_BYTES = MAX_SOCKET_PATH_BYTES - '.9999999'.length;
|
|
39
|
+
/**
|
|
40
|
+
* Files a running session keeps in its directory; left behind (stale) when
|
|
41
|
+
* its daemon dies without tearing down.
|
|
42
|
+
*/
|
|
43
|
+
export const SESSION_STATE_FILES = [
|
|
44
|
+
'DAEMON_PID',
|
|
45
|
+
'DAEMON_SOCKET',
|
|
46
|
+
'CHROME_PID',
|
|
47
|
+
'METADATA',
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Get the base session directory: `$BDG_SESSION_DIR`, else `~/.bdg`.
|
|
28
51
|
*
|
|
29
|
-
*
|
|
52
|
+
* It is the default session's directory and holds named sessions under
|
|
53
|
+
* `sessions/<name>/`. Uses os.homedir() dynamically to support test
|
|
54
|
+
* environment variable changes.
|
|
30
55
|
*
|
|
31
|
-
* @returns Full path to session directory
|
|
56
|
+
* @returns Full path to the base session directory
|
|
32
57
|
*/
|
|
33
|
-
export function
|
|
58
|
+
export function getSessionBaseDir() {
|
|
34
59
|
const override = process.env[SESSION_DIR_OVERRIDE_ENV];
|
|
35
60
|
if (override && override.trim().length > 0) {
|
|
36
61
|
return path.isAbsolute(override) ? override : path.resolve(override);
|
|
37
62
|
}
|
|
38
63
|
return path.join(os.homedir(), '.bdg');
|
|
39
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* The selected session name (`--session` / `BDG_SESSION`), lower-cased:
|
|
67
|
+
* session names are case-insensitive.
|
|
68
|
+
*
|
|
69
|
+
* @returns Session name, or null for the default session
|
|
70
|
+
*/
|
|
71
|
+
export function getSessionName() {
|
|
72
|
+
const name = process.env[SESSION_NAME_ENV]?.trim();
|
|
73
|
+
if (!name)
|
|
74
|
+
return null;
|
|
75
|
+
return name.toLowerCase();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Directory of a named session.
|
|
79
|
+
*
|
|
80
|
+
* @param name - Session name
|
|
81
|
+
* @returns `<base>/sessions/<name>`
|
|
82
|
+
*/
|
|
83
|
+
export function getNamedSessionDir(name) {
|
|
84
|
+
return path.join(getSessionBaseDir(), NAMED_SESSIONS_DIR, name);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the directory of the selected session: the base directory for the
|
|
88
|
+
* default session, `<base>/sessions/<name>` for a named one.
|
|
89
|
+
*
|
|
90
|
+
* @returns Full path to the session directory
|
|
91
|
+
*/
|
|
92
|
+
export function getSessionDir() {
|
|
93
|
+
const name = getSessionName();
|
|
94
|
+
return name === null ? getSessionBaseDir() : getNamedSessionDir(name);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Every session directory on disk: the default one, then named sessions
|
|
98
|
+
* sorted by name. Directories need not hold a running session.
|
|
99
|
+
*
|
|
100
|
+
* @returns Session directory entries
|
|
101
|
+
*/
|
|
102
|
+
export function listSessionDirs() {
|
|
103
|
+
const namedRoot = path.join(getSessionBaseDir(), NAMED_SESSIONS_DIR);
|
|
104
|
+
let names = [];
|
|
105
|
+
try {
|
|
106
|
+
names = fs
|
|
107
|
+
.readdirSync(namedRoot, { withFileTypes: true })
|
|
108
|
+
.filter((entry) => entry.isDirectory())
|
|
109
|
+
.map((entry) => entry.name)
|
|
110
|
+
.sort();
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
logDebugError(log, `list ${namedRoot}`, error);
|
|
114
|
+
}
|
|
115
|
+
return [
|
|
116
|
+
{ name: null, dir: getSessionBaseDir() },
|
|
117
|
+
...names.map((name) => ({ name, dir: path.join(namedRoot, name) })),
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Which session a directory holds, from its location: `<base>/sessions/<name>`
|
|
122
|
+
* is a named session, any other directory a default session (its own base).
|
|
123
|
+
*
|
|
124
|
+
* @param dir - Absolute session directory
|
|
125
|
+
* @returns Session name (null for a default session) and base directory
|
|
126
|
+
*/
|
|
127
|
+
export function sessionOfDir(dir) {
|
|
128
|
+
const parent = path.dirname(dir);
|
|
129
|
+
if (path.basename(parent) === NAMED_SESSIONS_DIR) {
|
|
130
|
+
return { name: path.basename(dir), baseDir: path.dirname(parent) };
|
|
131
|
+
}
|
|
132
|
+
return { name: null, baseDir: dir };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Path of a session file in a given session directory.
|
|
136
|
+
*
|
|
137
|
+
* @param dir - Session directory
|
|
138
|
+
* @param fileType - The type of session file
|
|
139
|
+
* @returns Full path to the file
|
|
140
|
+
*/
|
|
141
|
+
export function sessionFilePathIn(dir, fileType) {
|
|
142
|
+
return path.join(dir, SESSION_FILES[fileType]);
|
|
143
|
+
}
|
|
40
144
|
/**
|
|
41
145
|
* Get the path to a session file by type.
|
|
42
146
|
*
|
|
@@ -45,12 +149,12 @@ export function getSessionDir() {
|
|
|
45
149
|
*
|
|
46
150
|
* @example
|
|
47
151
|
* ```typescript
|
|
48
|
-
* getSessionFilePath('
|
|
152
|
+
* getSessionFilePath('METADATA') // → ~/.bdg/session.meta.json
|
|
49
153
|
* getSessionFilePath('DAEMON_PID') // → ~/.bdg/daemon.pid
|
|
50
154
|
* ```
|
|
51
155
|
*/
|
|
52
156
|
export function getSessionFilePath(fileType) {
|
|
53
|
-
return
|
|
157
|
+
return sessionFilePathIn(getSessionDir(), fileType);
|
|
54
158
|
}
|
|
55
159
|
/**
|
|
56
160
|
* Get the path to the daemon's Unix domain socket.
|
package/dist/session/pid.d.ts
CHANGED
|
@@ -1,55 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* PID file reading.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* PID files are informational only: liveness is decided by the daemon socket
|
|
5
|
+
* (see daemonSocket.ts). A PID read here must be verified (e.g. by command
|
|
6
|
+
* line) before it is used to signal a process.
|
|
6
7
|
*/
|
|
7
8
|
/**
|
|
8
|
-
* Read
|
|
9
|
+
* Read a positive integer PID from a file.
|
|
9
10
|
*
|
|
10
11
|
* @param filePath - Path to the PID file
|
|
11
|
-
* @returns
|
|
12
|
+
* @returns PID, or null if the file is missing or does not hold a positive integer
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
15
|
* ```typescript
|
|
15
16
|
* const daemonPid = readPidFromFile('/path/to/daemon.pid');
|
|
16
|
-
* if (daemonPid && isProcessAlive(daemonPid)) {
|
|
17
|
-
* console.log('Daemon is running');
|
|
18
|
-
* }
|
|
19
17
|
* ```
|
|
20
18
|
*/
|
|
21
19
|
export declare function readPidFromFile(filePath: string): number | null;
|
|
22
20
|
/**
|
|
23
|
-
*
|
|
21
|
+
* Read the daemon PID file.
|
|
24
22
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* @param pid - Process ID to write
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* writePid(process.pid);
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export declare function writePid(pid: number): void;
|
|
35
|
-
/**
|
|
36
|
-
* Read the PID from the session file.
|
|
37
|
-
*
|
|
38
|
-
* @returns The PID if file exists and is valid, null otherwise
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const sessionPid = readPid();
|
|
43
|
-
* if (sessionPid && isProcessAlive(sessionPid)) {
|
|
44
|
-
* console.log('Session is running');
|
|
45
|
-
* }
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export declare function readPid(): number | null;
|
|
49
|
-
/**
|
|
50
|
-
* Remove the PID file.
|
|
51
|
-
*
|
|
52
|
-
* Safe to call multiple times (idempotent).
|
|
23
|
+
* @returns Daemon PID, or null if unavailable
|
|
53
24
|
*/
|
|
54
|
-
export declare function
|
|
25
|
+
export declare function readDaemonPid(): number | null;
|
|
55
26
|
//# sourceMappingURL=pid.d.ts.map
|
package/dist/session/pid.js
CHANGED
|
@@ -1,91 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* PID file reading.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* PID files are informational only: liveness is decided by the daemon socket
|
|
5
|
+
* (see daemonSocket.ts). A PID read here must be verified (e.g. by command
|
|
6
|
+
* line) before it is used to signal a process.
|
|
6
7
|
*/
|
|
7
8
|
import * as fs from 'fs';
|
|
8
|
-
import {
|
|
9
|
-
import { AtomicFileWriter } from '../utils/atomicFile.js';
|
|
10
|
-
import { getErrorMessage } from '../utils/errors.js';
|
|
11
|
-
import { getSessionFilePath, ensureSessionDir } from './paths.js';
|
|
12
|
-
const log = createLogger('session');
|
|
9
|
+
import { getSessionFilePath } from './paths.js';
|
|
13
10
|
/**
|
|
14
|
-
* Read
|
|
11
|
+
* Read a positive integer PID from a file.
|
|
15
12
|
*
|
|
16
13
|
* @param filePath - Path to the PID file
|
|
17
|
-
* @returns
|
|
14
|
+
* @returns PID, or null if the file is missing or does not hold a positive integer
|
|
18
15
|
*
|
|
19
16
|
* @example
|
|
20
17
|
* ```typescript
|
|
21
18
|
* const daemonPid = readPidFromFile('/path/to/daemon.pid');
|
|
22
|
-
* if (daemonPid && isProcessAlive(daemonPid)) {
|
|
23
|
-
* console.log('Daemon is running');
|
|
24
|
-
* }
|
|
25
19
|
* ```
|
|
26
20
|
*/
|
|
27
21
|
export function readPidFromFile(filePath) {
|
|
28
|
-
if (!fs.existsSync(filePath)) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
22
|
try {
|
|
32
23
|
const pidStr = fs.readFileSync(filePath, 'utf-8').trim();
|
|
33
|
-
|
|
34
|
-
if (Number.isNaN(pid)) {
|
|
24
|
+
if (!/^\d+$/.test(pidStr))
|
|
35
25
|
return null;
|
|
36
|
-
|
|
37
|
-
return pid;
|
|
26
|
+
const pid = Number(pidStr);
|
|
27
|
+
return pid > 0 ? pid : null;
|
|
38
28
|
}
|
|
39
29
|
catch {
|
|
40
30
|
return null;
|
|
41
31
|
}
|
|
42
32
|
}
|
|
43
33
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Uses atomic write (tmp file + rename) to prevent corruption if process crashes.
|
|
47
|
-
*
|
|
48
|
-
* @param pid - Process ID to write
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* writePid(process.pid);
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
export function writePid(pid) {
|
|
56
|
-
ensureSessionDir();
|
|
57
|
-
const pidPath = getSessionFilePath('PID');
|
|
58
|
-
AtomicFileWriter.writeSync(pidPath, pid.toString());
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Read the PID from the session file.
|
|
34
|
+
* Read the daemon PID file.
|
|
62
35
|
*
|
|
63
|
-
* @returns
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```typescript
|
|
67
|
-
* const sessionPid = readPid();
|
|
68
|
-
* if (sessionPid && isProcessAlive(sessionPid)) {
|
|
69
|
-
* console.log('Session is running');
|
|
70
|
-
* }
|
|
71
|
-
* ```
|
|
36
|
+
* @returns Daemon PID, or null if unavailable
|
|
72
37
|
*/
|
|
73
|
-
export function
|
|
74
|
-
|
|
75
|
-
return readPidFromFile(pidPath);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Remove the PID file.
|
|
79
|
-
*
|
|
80
|
-
* Safe to call multiple times (idempotent).
|
|
81
|
-
*/
|
|
82
|
-
export function cleanupPidFile() {
|
|
83
|
-
const pidPath = getSessionFilePath('PID');
|
|
84
|
-
try {
|
|
85
|
-
fs.rmSync(pidPath, { force: true });
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
log.debug(`Failed to cleanup PID file: ${getErrorMessage(error)}`);
|
|
89
|
-
}
|
|
38
|
+
export function readDaemonPid() {
|
|
39
|
+
return readPidFromFile(getSessionFilePath('DAEMON_PID'));
|
|
90
40
|
}
|
|
91
41
|
//# sourceMappingURL=pid.js.map
|
package/dist/session/port.d.ts
CHANGED
|
@@ -3,8 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles automatic port selection and persistence for session isolation.
|
|
5
5
|
* Each session directory can have its own persistent port, enabling multiple
|
|
6
|
-
* concurrent bdg sessions
|
|
6
|
+
* concurrent bdg sessions (named sessions or different BDG_SESSION_DIR values).
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* First port tried for this session: the default session starts at
|
|
10
|
+
* DEFAULT_CDP_PORT, named sessions one above so they leave it to the default
|
|
11
|
+
* session.
|
|
12
|
+
*
|
|
13
|
+
* @returns First candidate port
|
|
14
|
+
*/
|
|
15
|
+
export declare function firstCandidatePort(): number;
|
|
16
|
+
/**
|
|
17
|
+
* Find an available port starting from a given port.
|
|
18
|
+
*
|
|
19
|
+
* @param startPort - Port to start scanning from
|
|
20
|
+
* @param claimed - Ports to skip (claimed by other sessions)
|
|
21
|
+
* @returns Promise resolving to an available port
|
|
22
|
+
* @throws CommandError if no available port found in range
|
|
23
|
+
*/
|
|
24
|
+
export declare function findAvailablePort(startPort?: number, claimed?: ReadonlySet<number>): Promise<number>;
|
|
8
25
|
/**
|
|
9
26
|
* Read the saved port from the session directory.
|
|
10
27
|
*
|
|
@@ -21,21 +38,23 @@ export declare function writeSessionPort(port: number): void;
|
|
|
21
38
|
* Get or allocate a port for this session.
|
|
22
39
|
*
|
|
23
40
|
* Logic:
|
|
24
|
-
* 1. If a port is explicitly provided, use it (user override
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
41
|
+
* 1. If a port is explicitly provided, use it (user override; a named session
|
|
42
|
+
* saves and claims it under the lock so other sessions skip it)
|
|
43
|
+
* 2. Otherwise, under a lock shared by all sessions on the machine (any
|
|
44
|
+
* BDG_SESSION_DIR), reuse the saved port if it is free and no other
|
|
45
|
+
* running session claims it (session stability)
|
|
46
|
+
* 3. Otherwise, take the first free, unclaimed port from
|
|
47
|
+
* {@link firstCandidatePort} upwards and save it (the claim)
|
|
48
|
+
*
|
|
49
|
+
* The claim is also recorded in the machine-wide registry (under the lock),
|
|
50
|
+
* so sessions of other base directories skip it too.
|
|
28
51
|
*
|
|
29
|
-
* This provides session isolation:
|
|
30
|
-
*
|
|
52
|
+
* This provides session isolation: named sessions and different
|
|
53
|
+
* BDG_SESSION_DIR values automatically use different ports, even when they
|
|
54
|
+
* start at the same time.
|
|
31
55
|
*
|
|
32
56
|
* @param explicitPort - User-provided port (takes precedence)
|
|
33
57
|
* @returns Promise resolving to the port to use
|
|
34
58
|
*/
|
|
35
59
|
export declare function getSessionPort(explicitPort?: number | null): Promise<number>;
|
|
36
|
-
/**
|
|
37
|
-
* Clear the saved port from the session directory.
|
|
38
|
-
* Called during session cleanup.
|
|
39
|
-
*/
|
|
40
|
-
export declare function clearSessionPort(): void;
|
|
41
60
|
//# sourceMappingURL=port.d.ts.map
|
package/dist/session/port.js
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles automatic port selection and persistence for session isolation.
|
|
5
5
|
* Each session directory can have its own persistent port, enabling multiple
|
|
6
|
-
* concurrent bdg sessions
|
|
6
|
+
* concurrent bdg sessions (named sessions or different BDG_SESSION_DIR values).
|
|
7
7
|
*/
|
|
8
8
|
import * as fs from 'fs';
|
|
9
9
|
import * as net from 'net';
|
|
10
|
+
import { isPortAnswering } from '../connection/portReservation.js';
|
|
10
11
|
import { DEFAULT_CDP_PORT } from '../constants.js';
|
|
11
|
-
import {
|
|
12
|
+
import { CommandError } from '../errors/index.js';
|
|
13
|
+
import { ensureSessionDir, getSessionFilePath, getSessionName } from './paths.js';
|
|
14
|
+
import { portsClaimedByOtherSessions, readPortFile, withPortLock } from './portClaims.js';
|
|
15
|
+
import { EXIT_CODES } from '../utils/exitCodes.js';
|
|
12
16
|
/**
|
|
13
17
|
* Port range for automatic selection.
|
|
14
18
|
* Starting from DEFAULT_CDP_PORT, scan up to find available ports.
|
|
@@ -16,12 +20,15 @@ import { ensureSessionDir, getSessionFilePath } from '../session/paths.js';
|
|
|
16
20
|
const PORT_RANGE_START = DEFAULT_CDP_PORT;
|
|
17
21
|
const PORT_RANGE_END = 9322; // Allow 100 ports for concurrent sessions
|
|
18
22
|
/**
|
|
19
|
-
* Check if a port is available (not in use by any process
|
|
23
|
+
* Check if a port is available (not in use by any process, including one
|
|
24
|
+
* listening on all interfaces or on ::1 only).
|
|
20
25
|
*
|
|
21
26
|
* @param port - Port number to check
|
|
22
27
|
* @returns Promise resolving to true if port is available
|
|
23
28
|
*/
|
|
24
29
|
async function isPortAvailable(port) {
|
|
30
|
+
if (await isPortAnswering(port))
|
|
31
|
+
return false;
|
|
25
32
|
return new Promise((resolve) => {
|
|
26
33
|
const server = net.createServer();
|
|
27
34
|
server.once('error', () => {
|
|
@@ -34,21 +41,31 @@ async function isPortAvailable(port) {
|
|
|
34
41
|
});
|
|
35
42
|
});
|
|
36
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* First port tried for this session: the default session starts at
|
|
46
|
+
* DEFAULT_CDP_PORT, named sessions one above so they leave it to the default
|
|
47
|
+
* session.
|
|
48
|
+
*
|
|
49
|
+
* @returns First candidate port
|
|
50
|
+
*/
|
|
51
|
+
export function firstCandidatePort() {
|
|
52
|
+
return getSessionName() === null ? PORT_RANGE_START : PORT_RANGE_START + 1;
|
|
53
|
+
}
|
|
37
54
|
/**
|
|
38
55
|
* Find an available port starting from a given port.
|
|
39
56
|
*
|
|
40
57
|
* @param startPort - Port to start scanning from
|
|
58
|
+
* @param claimed - Ports to skip (claimed by other sessions)
|
|
41
59
|
* @returns Promise resolving to an available port
|
|
42
|
-
* @throws
|
|
60
|
+
* @throws CommandError if no available port found in range
|
|
43
61
|
*/
|
|
44
|
-
async function findAvailablePort(startPort = PORT_RANGE_START) {
|
|
62
|
+
export async function findAvailablePort(startPort = PORT_RANGE_START, claimed = new Set()) {
|
|
45
63
|
for (let port = startPort; port <= PORT_RANGE_END; port++) {
|
|
46
|
-
if (await isPortAvailable(port)) {
|
|
64
|
+
if (!claimed.has(port) && (await isPortAvailable(port))) {
|
|
47
65
|
return port;
|
|
48
66
|
}
|
|
49
67
|
}
|
|
50
|
-
throw new
|
|
51
|
-
`Try stopping some bdg sessions or Chrome instances.`);
|
|
68
|
+
throw new CommandError(`No available port found in range ${startPort}-${PORT_RANGE_END}.`, { suggestion: 'Stop some bdg sessions or Chrome instances and retry.' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
52
69
|
}
|
|
53
70
|
/**
|
|
54
71
|
* Read the saved port from the session directory.
|
|
@@ -56,21 +73,8 @@ async function findAvailablePort(startPort = PORT_RANGE_START) {
|
|
|
56
73
|
* @returns Saved port number or null if not found/invalid
|
|
57
74
|
*/
|
|
58
75
|
export function readSessionPort() {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (!fs.existsSync(portPath)) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
const content = fs.readFileSync(portPath, 'utf-8').trim();
|
|
65
|
-
const port = parseInt(content, 10);
|
|
66
|
-
if (isNaN(port) || port < 1 || port > 65535) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
return port;
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
76
|
+
const portPath = getSessionFilePath('PORT');
|
|
77
|
+
return fs.existsSync(portPath) ? readPortFile(portPath) : null;
|
|
74
78
|
}
|
|
75
79
|
/**
|
|
76
80
|
* Save the port to the session directory.
|
|
@@ -86,49 +90,42 @@ export function writeSessionPort(port) {
|
|
|
86
90
|
* Get or allocate a port for this session.
|
|
87
91
|
*
|
|
88
92
|
* Logic:
|
|
89
|
-
* 1. If a port is explicitly provided, use it (user override
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
+
* 1. If a port is explicitly provided, use it (user override; a named session
|
|
94
|
+
* saves and claims it under the lock so other sessions skip it)
|
|
95
|
+
* 2. Otherwise, under a lock shared by all sessions on the machine (any
|
|
96
|
+
* BDG_SESSION_DIR), reuse the saved port if it is free and no other
|
|
97
|
+
* running session claims it (session stability)
|
|
98
|
+
* 3. Otherwise, take the first free, unclaimed port from
|
|
99
|
+
* {@link firstCandidatePort} upwards and save it (the claim)
|
|
100
|
+
*
|
|
101
|
+
* The claim is also recorded in the machine-wide registry (under the lock),
|
|
102
|
+
* so sessions of other base directories skip it too.
|
|
93
103
|
*
|
|
94
|
-
* This provides session isolation:
|
|
95
|
-
*
|
|
104
|
+
* This provides session isolation: named sessions and different
|
|
105
|
+
* BDG_SESSION_DIR values automatically use different ports, even when they
|
|
106
|
+
* start at the same time.
|
|
96
107
|
*
|
|
97
108
|
* @param explicitPort - User-provided port (takes precedence)
|
|
98
109
|
* @returns Promise resolving to the port to use
|
|
99
110
|
*/
|
|
100
111
|
export async function getSessionPort(explicitPort) {
|
|
101
|
-
// User explicitly specified a port - use it directly
|
|
102
112
|
if (explicitPort !== undefined && explicitPort !== null) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return savedPort;
|
|
111
|
-
}
|
|
112
|
-
// Saved port is in use by another process, need to find a new one
|
|
113
|
-
}
|
|
114
|
-
// Find a new available port
|
|
115
|
-
const newPort = await findAvailablePort();
|
|
116
|
-
writeSessionPort(newPort);
|
|
117
|
-
return newPort;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Clear the saved port from the session directory.
|
|
121
|
-
* Called during session cleanup.
|
|
122
|
-
*/
|
|
123
|
-
export function clearSessionPort() {
|
|
124
|
-
try {
|
|
125
|
-
const portPath = getSessionFilePath('PORT');
|
|
126
|
-
if (fs.existsSync(portPath)) {
|
|
127
|
-
fs.unlinkSync(portPath);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
// Ignore cleanup errors
|
|
113
|
+
if (getSessionName() === null)
|
|
114
|
+
return explicitPort;
|
|
115
|
+
return withPortLock((recordClaim) => {
|
|
116
|
+
writeSessionPort(explicitPort);
|
|
117
|
+
recordClaim(explicitPort);
|
|
118
|
+
return Promise.resolve(explicitPort);
|
|
119
|
+
});
|
|
132
120
|
}
|
|
121
|
+
return withPortLock(async (recordClaim) => {
|
|
122
|
+
const claimed = portsClaimedByOtherSessions();
|
|
123
|
+
const savedPort = readSessionPort();
|
|
124
|
+
const reuse = savedPort !== null && !claimed.has(savedPort) && (await isPortAvailable(savedPort));
|
|
125
|
+
const port = reuse ? savedPort : await findAvailablePort(firstCandidatePort(), claimed);
|
|
126
|
+
writeSessionPort(port);
|
|
127
|
+
recordClaim(port);
|
|
128
|
+
return port;
|
|
129
|
+
});
|
|
133
130
|
}
|
|
134
131
|
//# sourceMappingURL=port.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port claims across concurrent sessions.
|
|
3
|
+
*
|
|
4
|
+
* Sessions started at the same time must not pick the same CDP port: Chrome
|
|
5
|
+
* binds it only after the choice is made. A session claims its port by
|
|
6
|
+
* writing `port.txt` while holding a lock; a running session's claim is
|
|
7
|
+
* skipped by the others.
|
|
8
|
+
*
|
|
9
|
+
* Ports belong to the machine, not to a session directory, so the lock and a
|
|
10
|
+
* registry of claiming session directories live in one directory per user
|
|
11
|
+
* under the OS temp directory: sessions of different `BDG_SESSION_DIR`s see
|
|
12
|
+
* each other's claims too. That directory is used only if it is a real
|
|
13
|
+
* directory owned by the user that nobody else can write to; otherwise the
|
|
14
|
+
* lock falls back to the base session directory and only that directory's
|
|
15
|
+
* claims are seen (the launched Chrome's identity is still checked).
|
|
16
|
+
*/
|
|
17
|
+
/** Records a port claim; a no-op when the registry cannot be used safely */
|
|
18
|
+
export type RecordPortClaim = (port: number) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Read a port number from a `port.txt` file.
|
|
21
|
+
*
|
|
22
|
+
* @param portPath - File path
|
|
23
|
+
* @returns Port, or null if missing or invalid
|
|
24
|
+
*/
|
|
25
|
+
export declare function readPortFile(portPath: string): number | null;
|
|
26
|
+
/**
|
|
27
|
+
* Directory holding the port lock and the claims registry, shared by every
|
|
28
|
+
* session of the user on this machine.
|
|
29
|
+
*
|
|
30
|
+
* @returns `$BDG_PORT_REGISTRY_DIR`, else `<os temp dir>/bdg-ports-<uid>`
|
|
31
|
+
*/
|
|
32
|
+
export declare function getPortRegistryDir(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Whether a path is a directory the current user can trust: a real directory
|
|
35
|
+
* (not a symlink), owned by the user, not writable by group or others.
|
|
36
|
+
*
|
|
37
|
+
* @param dir - Directory
|
|
38
|
+
* @returns Why it cannot be trusted, or null if it can
|
|
39
|
+
*/
|
|
40
|
+
export declare function untrustedDirReason(dir: string): string | null;
|
|
41
|
+
/**
|
|
42
|
+
* Session directories other than the selected one that bdg knows of: those of
|
|
43
|
+
* this base directory, and those of any base directory found in the
|
|
44
|
+
* machine-wide registry. They need not hold a running session.
|
|
45
|
+
*
|
|
46
|
+
* @returns Session directories
|
|
47
|
+
*/
|
|
48
|
+
export declare function otherSessionDirs(): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Ports claimed by other sessions that are running or starting (their daemon
|
|
51
|
+
* socket exists), see {@link otherSessionDirs}.
|
|
52
|
+
*
|
|
53
|
+
* @returns Claimed ports
|
|
54
|
+
*/
|
|
55
|
+
export declare function portsClaimedByOtherSessions(): Set<number>;
|
|
56
|
+
/**
|
|
57
|
+
* Run port selection under the lock shared by all sessions of the user on
|
|
58
|
+
* this machine (in the trusted registry directory; else in the base session
|
|
59
|
+
* directory). If the lock cannot be taken in time, the selection runs anyway.
|
|
60
|
+
*
|
|
61
|
+
* @param select - Chooses the port; gets a function recording the claim in
|
|
62
|
+
* the registry, a no-op without the registry lock
|
|
63
|
+
* @returns The chosen port
|
|
64
|
+
*/
|
|
65
|
+
export declare function withPortLock(select: (recordClaim: RecordPortClaim) => Promise<number>): Promise<number>;
|
|
66
|
+
//# sourceMappingURL=portClaims.d.ts.map
|