browser-debugger-cli 0.5.1 → 0.6.1
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 +60 -10
- package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -59
- package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +1 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
- package/dist/__testutils__/testCleanup.js +1 -1
- package/dist/__testutils__/testCleanup.js.map +1 -1
- package/dist/cdp/protocol.d.ts +73 -0
- package/dist/cdp/protocol.d.ts.map +1 -0
- package/dist/cdp/protocol.js +121 -0
- package/dist/cdp/protocol.js.map +1 -0
- package/dist/cdp/schema.d.ts +159 -0
- package/dist/cdp/schema.d.ts.map +1 -0
- package/dist/cdp/schema.js +256 -0
- package/dist/cdp/schema.js.map +1 -0
- package/dist/cdp/types.d.ts +139 -0
- package/dist/cdp/types.d.ts.map +1 -0
- package/dist/cdp/types.js +7 -0
- package/dist/cdp/types.js.map +1 -0
- package/dist/commands/__tests__/cdp.contract.test.js +2 -2
- package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
- package/dist/commands/__tests__/domEval.contract.test.js +8 -4
- package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
- package/dist/commands/cdp.d.ts +10 -1
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +331 -27
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +7 -20
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +3 -8
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +1 -1
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +9 -19
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
- package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +15 -14
- package/dist/commands/dom/evalHelpers.js.map +1 -0
- package/dist/commands/dom/formFillHelpers.d.ts +47 -0
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
- package/dist/commands/dom/formFillHelpers.js +185 -0
- package/dist/commands/dom/formFillHelpers.js.map +1 -0
- package/dist/commands/dom/formInteraction.d.ts +17 -0
- package/dist/commands/dom/formInteraction.d.ts.map +1 -0
- package/dist/commands/dom/formInteraction.js +239 -0
- package/dist/commands/dom/formInteraction.js.map +1 -0
- package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
- package/dist/commands/dom/formSubmitHelpers.js +176 -0
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
- package/dist/commands/dom/helpers.d.ts +34 -0
- package/dist/commands/dom/helpers.d.ts.map +1 -0
- package/dist/commands/dom/helpers.js +244 -0
- package/dist/commands/dom/helpers.js.map +1 -0
- package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -0
- package/dist/commands/dom/index.js +154 -0
- package/dist/commands/dom/index.js.map +1 -0
- package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
- package/dist/commands/dom/reactEventHelpers.js +274 -0
- package/dist/commands/dom/reactEventHelpers.js.map +1 -0
- package/dist/commands/network.js +1 -1
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +52 -51
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +2 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +16 -3
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +5 -3
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
- package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
- package/dist/commands/shared/daemonErrorHandler.js +32 -0
- package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
- package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
- package/dist/commands/shared/startHelpers.d.ts.map +1 -0
- package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
- package/dist/commands/shared/startHelpers.js.map +1 -0
- package/dist/commands/shared/validation.d.ts +44 -0
- package/dist/commands/shared/validation.d.ts.map +1 -0
- package/dist/commands/shared/validation.js +68 -0
- package/dist/commands/shared/validation.js.map +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +23 -30
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +8 -6
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +7 -18
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +53 -45
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/types.d.ts +43 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +8 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +3 -1
- package/dist/commands.js.map +1 -1
- package/dist/connection/__tests__/cdp.contract.test.js +7 -7
- package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
- package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
- package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
- package/dist/connection/__tests__/handlers.unit.test.js +220 -0
- package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
- package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
- package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
- package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
- package/dist/connection/cdp.d.ts +34 -11
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +75 -46
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/config.d.ts +63 -0
- package/dist/connection/config.d.ts.map +1 -0
- package/dist/connection/config.js +46 -0
- package/dist/connection/config.js.map +1 -0
- package/dist/connection/errors.d.ts +6 -21
- package/dist/connection/errors.d.ts.map +1 -1
- package/dist/connection/errors.js +7 -26
- package/dist/connection/errors.js.map +1 -1
- package/dist/connection/events.d.ts +30 -0
- package/dist/connection/events.d.ts.map +1 -0
- package/dist/connection/events.js +8 -0
- package/dist/connection/events.js.map +1 -0
- package/dist/connection/handlers.d.ts +35 -5
- package/dist/connection/handlers.d.ts.map +1 -1
- package/dist/connection/handlers.js +34 -10
- package/dist/connection/handlers.js.map +1 -1
- package/dist/connection/launcher/binaryResolver.d.ts +40 -0
- package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
- package/dist/connection/launcher/binaryResolver.js +78 -0
- package/dist/connection/launcher/binaryResolver.js.map +1 -0
- package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
- package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
- package/dist/connection/launcher/flagsBuilder.js +84 -0
- package/dist/connection/launcher/flagsBuilder.js.map +1 -0
- package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
- package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
- package/dist/connection/launcher/preferencesLoader.js +89 -0
- package/dist/connection/launcher/preferencesLoader.js.map +1 -0
- package/dist/connection/launcher.d.ts +24 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +38 -201
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts +8 -8
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +42 -58
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/connection/portReservation.d.ts +40 -0
- package/dist/connection/portReservation.d.ts.map +1 -0
- package/dist/connection/portReservation.js +55 -0
- package/dist/connection/portReservation.js.map +1 -0
- package/dist/connection/typed-cdp.d.ts +145 -0
- package/dist/connection/typed-cdp.d.ts.map +1 -0
- package/dist/connection/typed-cdp.js +120 -0
- package/dist/connection/typed-cdp.js.map +1 -0
- package/dist/connection/types.d.ts +103 -0
- package/dist/connection/types.d.ts.map +1 -0
- package/dist/connection/types.js +8 -0
- package/dist/connection/types.js.map +1 -0
- package/dist/constants.d.ts +0 -83
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -83
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
- package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
- package/dist/daemon/errors.d.ts +65 -0
- package/dist/daemon/errors.d.ts.map +1 -0
- package/dist/daemon/errors.js +82 -0
- package/dist/daemon/errors.js.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.js +93 -0
- package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
- package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/QueryHandlers.js +176 -0
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
- package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/SessionHandlers.js +227 -0
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
- package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
- package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
- package/dist/daemon/handlers/pendingRequests.js +57 -0
- package/dist/daemon/handlers/pendingRequests.js.map +1 -0
- package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
- package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/requestHandlers.js +61 -0
- package/dist/daemon/handlers/requestHandlers.js.map +1 -0
- package/dist/daemon/handlers/responseHandler.d.ts +42 -0
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
- package/dist/daemon/handlers/responseHandler.js +195 -0
- package/dist/daemon/handlers/responseHandler.js.map +1 -0
- package/dist/daemon/ipcServer.d.ts +19 -41
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +83 -655
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +6 -3
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
- package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
- package/dist/daemon/lifecycle/cdpSetup.js +59 -0
- package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
- package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
- package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
- package/dist/daemon/lifecycle/chromeConnection.js +80 -0
- package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
- package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
- package/dist/daemon/lifecycle/signalHandlers.js +35 -0
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
- package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerCleanup.js +144 -0
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
- package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
- package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerConfig.js +66 -0
- package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
- package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerIpc.js +87 -0
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
- package/dist/daemon/server/JsonlParser.d.ts +31 -0
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
- package/dist/daemon/server/JsonlParser.js +57 -0
- package/dist/daemon/server/JsonlParser.js.map +1 -0
- package/dist/daemon/server/SocketServer.d.ts.map +1 -1
- package/dist/daemon/server/SocketServer.js +2 -2
- package/dist/daemon/server/SocketServer.js.map +1 -1
- package/dist/daemon/server/WorkerManager.d.ts +3 -3
- package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
- package/dist/daemon/server/WorkerManager.js +10 -19
- package/dist/daemon/server/WorkerManager.js.map +1 -1
- package/dist/daemon/services/SessionService.d.ts +87 -0
- package/dist/daemon/services/SessionService.d.ts.map +1 -0
- package/dist/daemon/services/SessionService.js +45 -0
- package/dist/daemon/services/SessionService.js.map +1 -0
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +54 -31
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +20 -215
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/daemon/worker.d.ts +3 -12
- package/dist/daemon/worker.d.ts.map +1 -1
- package/dist/daemon/worker.js +47 -367
- package/dist/daemon/worker.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
- package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.js +8 -23
- package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
- package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/errors.unit.test.js +77 -0
- package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/guards.unit.test.js +73 -0
- package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
- package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/validation.unit.test.js +60 -0
- package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
- package/dist/ipc/client.d.ts +93 -84
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +121 -192
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/index.d.ts +17 -0
- package/dist/ipc/index.d.ts.map +1 -0
- package/dist/ipc/index.js +23 -0
- package/dist/ipc/index.js.map +1 -0
- package/dist/ipc/protocol/commands.d.ts +144 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -0
- package/dist/ipc/protocol/commands.js +23 -0
- package/dist/ipc/protocol/commands.js.map +1 -0
- package/dist/ipc/protocol/guards.d.ts +47 -0
- package/dist/ipc/protocol/guards.d.ts.map +1 -0
- package/dist/ipc/protocol/guards.js +62 -0
- package/dist/ipc/protocol/guards.js.map +1 -0
- package/dist/ipc/protocol/index.d.ts +9 -0
- package/dist/ipc/protocol/index.d.ts.map +1 -0
- package/dist/ipc/protocol/index.js +8 -0
- package/dist/ipc/protocol/index.js.map +1 -0
- package/dist/ipc/protocol/messages.d.ts +64 -0
- package/dist/ipc/protocol/messages.d.ts.map +1 -0
- package/dist/ipc/protocol/messages.js +8 -0
- package/dist/ipc/protocol/messages.js.map +1 -0
- package/dist/ipc/session/errors.d.ts +25 -0
- package/dist/ipc/session/errors.d.ts.map +1 -0
- package/dist/ipc/{types.js → session/errors.js} +11 -6
- package/dist/ipc/session/errors.js.map +1 -0
- package/dist/ipc/session/index.d.ts +16 -0
- package/dist/ipc/session/index.d.ts.map +1 -0
- package/dist/ipc/session/index.js +7 -0
- package/dist/ipc/session/index.js.map +1 -0
- package/dist/ipc/session/lifecycle.d.ts +125 -0
- package/dist/ipc/session/lifecycle.d.ts.map +1 -0
- package/dist/ipc/session/lifecycle.js +7 -0
- package/dist/ipc/session/lifecycle.js.map +1 -0
- package/dist/ipc/session/queries.d.ts +94 -0
- package/dist/ipc/session/queries.d.ts.map +1 -0
- package/dist/ipc/session/queries.js +7 -0
- package/dist/ipc/session/queries.js.map +1 -0
- package/dist/ipc/session/types.d.ts +28 -0
- package/dist/ipc/session/types.d.ts.map +1 -0
- package/dist/ipc/session/types.js +7 -0
- package/dist/ipc/session/types.js.map +1 -0
- package/dist/ipc/transport/IPCError.d.ts +82 -0
- package/dist/ipc/transport/IPCError.d.ts.map +1 -0
- package/dist/ipc/transport/IPCError.js +109 -0
- package/dist/ipc/transport/IPCError.js.map +1 -0
- package/dist/ipc/transport/errors.d.ts +11 -0
- package/dist/ipc/transport/errors.d.ts.map +1 -0
- package/dist/ipc/transport/errors.js +28 -0
- package/dist/ipc/transport/errors.js.map +1 -0
- package/dist/ipc/transport/index.d.ts +16 -0
- package/dist/ipc/transport/index.d.ts.map +1 -0
- package/dist/ipc/transport/index.js +77 -0
- package/dist/ipc/transport/index.js.map +1 -0
- package/dist/ipc/transport/jsonl.d.ts +23 -0
- package/dist/ipc/transport/jsonl.d.ts.map +1 -0
- package/dist/ipc/transport/jsonl.js +36 -0
- package/dist/ipc/transport/jsonl.js.map +1 -0
- package/dist/ipc/transport/socket.d.ts +27 -0
- package/dist/ipc/transport/socket.d.ts.map +1 -0
- package/dist/ipc/transport/socket.js +49 -0
- package/dist/ipc/transport/socket.js.map +1 -0
- package/dist/ipc/transport/validation.d.ts +21 -0
- package/dist/ipc/transport/validation.d.ts.map +1 -0
- package/dist/ipc/transport/validation.js +23 -0
- package/dist/ipc/transport/validation.js.map +1 -0
- package/dist/ipc/utils/errors.d.ts +25 -0
- package/dist/ipc/utils/errors.d.ts.map +1 -0
- package/dist/ipc/utils/errors.js +29 -0
- package/dist/ipc/utils/errors.js.map +1 -0
- package/dist/ipc/utils/index.d.ts +12 -0
- package/dist/ipc/utils/index.d.ts.map +1 -0
- package/dist/ipc/utils/index.js +11 -0
- package/dist/ipc/utils/index.js.map +1 -0
- package/dist/ipc/utils/requestId.d.ts +23 -0
- package/dist/ipc/utils/requestId.d.ts.map +1 -0
- package/dist/ipc/utils/requestId.js +27 -0
- package/dist/ipc/utils/requestId.js.map +1 -0
- package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
- package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
- package/dist/ipc/utils/responseValidator.js.map +1 -0
- package/dist/ipc/utils/session.d.ts +36 -0
- package/dist/ipc/utils/session.d.ts.map +1 -0
- package/dist/ipc/utils/session.js +37 -0
- package/dist/ipc/utils/session.js.map +1 -0
- package/dist/ipc/utils/types.d.ts +17 -0
- package/dist/ipc/utils/types.d.ts.map +1 -0
- package/dist/ipc/utils/types.js +7 -0
- package/dist/ipc/utils/types.js.map +1 -0
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
- package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
- package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
- package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/cleanup.contract.test.js +84 -0
- package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
- package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
- package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/lock.contract.test.js +77 -0
- package/dist/session/__tests__/lock.contract.test.js.map +1 -0
- package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
- package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/metadata.contract.test.js +87 -0
- package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
- package/dist/session/chrome.d.ts +20 -0
- package/dist/session/chrome.d.ts.map +1 -1
- package/dist/session/chrome.js +80 -16
- package/dist/session/chrome.js.map +1 -1
- package/dist/session/cleanup.d.ts +15 -2
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +100 -72
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/lock.d.ts.map +1 -1
- package/dist/session/lock.js +101 -90
- package/dist/session/lock.js.map +1 -1
- package/dist/session/metadata.d.ts +10 -3
- package/dist/session/metadata.d.ts.map +1 -1
- package/dist/session/metadata.js +24 -6
- package/dist/session/metadata.js.map +1 -1
- package/dist/session/paths.d.ts +0 -9
- package/dist/session/paths.d.ts.map +1 -1
- package/dist/session/paths.js +0 -11
- package/dist/session/paths.js.map +1 -1
- package/dist/session/pid.d.ts +15 -0
- package/dist/session/pid.d.ts.map +1 -1
- package/dist/session/pid.js +39 -21
- package/dist/session/pid.js.map +1 -1
- package/dist/session/process.d.ts +4 -41
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +4 -85
- package/dist/session/process.js.map +1 -1
- package/dist/session/statusData.d.ts +50 -0
- package/dist/session/statusData.d.ts.map +1 -0
- package/dist/session/statusData.js +51 -0
- package/dist/session/statusData.js.map +1 -0
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
- package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
- package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
- package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
- package/dist/telemetry/__tests__/network.contract.test.js +126 -157
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
- package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
- package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
- package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +19 -27
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/dialogs.d.ts.map +1 -1
- package/dist/telemetry/dialogs.js +4 -8
- package/dist/telemetry/dialogs.js.map +1 -1
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +51 -57
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +5 -18
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +36 -56
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/navigation.d.ts.map +1 -1
- package/dist/telemetry/navigation.js +5 -8
- package/dist/telemetry/navigation.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +105 -104
- package/dist/telemetry/network.js.map +1 -1
- package/dist/telemetry/utils.d.ts +85 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +138 -0
- package/dist/telemetry/utils.js.map +1 -0
- package/dist/types/dom.d.ts +66 -0
- package/dist/types/dom.d.ts.map +1 -0
- package/dist/types/dom.js +8 -0
- package/dist/types/dom.js.map +1 -0
- package/dist/types.d.ts +15 -224
- package/dist/types.d.ts.map +1 -1
- package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
- package/dist/ui/OutputBuilder.d.ts.map +1 -0
- package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
- package/dist/ui/OutputBuilder.js.map +1 -0
- package/dist/ui/errors/CommandError.d.ts +16 -2
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js +2 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/errors/index.d.ts +2 -3
- package/dist/ui/errors/index.d.ts.map +1 -1
- package/dist/ui/errors/index.js +1 -3
- package/dist/ui/errors/index.js.map +1 -1
- package/dist/ui/errors/utils.d.ts +6 -0
- package/dist/ui/errors/utils.d.ts.map +1 -1
- package/dist/ui/errors/utils.js +8 -3
- package/dist/ui/errors/utils.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts +3 -18
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +4 -27
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/preview.d.ts +8 -8
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +18 -13
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/status.d.ts +1 -1
- package/dist/ui/formatters/status.d.ts.map +1 -1
- package/dist/ui/formatters/status.js +8 -30
- package/dist/ui/formatters/status.js.map +1 -1
- package/dist/ui/formatting.d.ts +2 -270
- package/dist/ui/formatting.d.ts.map +1 -1
- package/dist/ui/formatting.js +8 -331
- package/dist/ui/formatting.js.map +1 -1
- package/dist/ui/logging/index.d.ts +1 -1
- package/dist/ui/logging/index.d.ts.map +1 -1
- package/dist/ui/logging/index.js +1 -1
- package/dist/ui/logging/index.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +3 -23
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js +2 -27
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/chrome.d.ts +15 -7
- package/dist/ui/messages/chrome.d.ts.map +1 -1
- package/dist/ui/messages/chrome.js +23 -32
- package/dist/ui/messages/chrome.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +2 -18
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +5 -50
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/consoleMessages.d.ts +1 -1
- package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
- package/dist/ui/messages/consoleMessages.js +3 -6
- package/dist/ui/messages/consoleMessages.js.map +1 -1
- package/dist/ui/messages/debug.d.ts +0 -14
- package/dist/ui/messages/debug.d.ts.map +1 -1
- package/dist/ui/messages/debug.js +0 -18
- package/dist/ui/messages/debug.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +27 -34
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +17 -67
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/internal.d.ts +0 -7
- package/dist/ui/messages/internal.d.ts.map +1 -1
- package/dist/ui/messages/internal.js +0 -12
- package/dist/ui/messages/internal.js.map +1 -1
- package/dist/ui/messages/preview.d.ts +14 -1
- package/dist/ui/messages/preview.d.ts.map +1 -1
- package/dist/ui/messages/preview.js +24 -7
- package/dist/ui/messages/preview.js.map +1 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +11 -26
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/ui/messages/validation.d.ts +22 -4
- package/dist/ui/messages/validation.d.ts.map +1 -1
- package/dist/ui/messages/validation.js +25 -5
- package/dist/ui/messages/validation.js.map +1 -1
- package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
- package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
- package/dist/utils/__tests__/atomicFile.test.js +43 -0
- package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
- package/dist/utils/__tests__/objects.test.d.ts +2 -0
- package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
- package/dist/utils/__tests__/objects.test.js +50 -0
- package/dist/utils/__tests__/objects.test.js.map +1 -0
- package/dist/utils/__tests__/session.contract.test.js +13 -3
- package/dist/utils/__tests__/session.contract.test.js.map +1 -1
- package/dist/utils/__tests__/url.test.d.ts +2 -0
- package/dist/utils/__tests__/url.test.d.ts.map +1 -0
- package/dist/utils/__tests__/url.test.js +42 -0
- package/dist/utils/__tests__/url.test.js.map +1 -0
- package/dist/utils/atomicFile.d.ts +31 -5
- package/dist/utils/atomicFile.d.ts.map +1 -1
- package/dist/utils/atomicFile.js +52 -13
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/concurrency.d.ts +54 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +78 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/daemonErrors.d.ts +60 -0
- package/dist/utils/daemonErrors.d.ts.map +1 -0
- package/dist/utils/daemonErrors.js +58 -0
- package/dist/utils/daemonErrors.js.map +1 -0
- package/dist/utils/errors.d.ts +3 -57
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -58
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/exitCodes.d.ts +41 -5
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +43 -9
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/http.d.ts +9 -4
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +44 -10
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/levenshtein.d.ts +45 -0
- package/dist/utils/levenshtein.d.ts.map +1 -0
- package/dist/utils/levenshtein.js +85 -0
- package/dist/utils/levenshtein.js.map +1 -0
- package/dist/utils/objects.d.ts +16 -1
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +16 -1
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/process.d.ts +45 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +91 -0
- package/dist/utils/process.js.map +1 -0
- package/dist/utils/url.d.ts +10 -3
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +42 -29
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/validation.d.ts +96 -7
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +122 -11
- package/dist/utils/validation.js.map +1 -1
- package/package.json +2 -1
- package/dist/cli/commands/__tests__/start.unit.test.d.ts +0 -2
- package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +0 -1
- package/dist/cli/commands/__tests__/start.unit.test.js +0 -131
- package/dist/cli/commands/__tests__/start.unit.test.js.map +0 -1
- package/dist/cli/commands/cleanup.d.ts +0 -9
- package/dist/cli/commands/cleanup.d.ts.map +0 -1
- package/dist/cli/commands/cleanup.js +0 -148
- package/dist/cli/commands/cleanup.js.map +0 -1
- package/dist/cli/commands/details.d.ts +0 -9
- package/dist/cli/commands/details.d.ts.map +0 -1
- package/dist/cli/commands/details.js +0 -120
- package/dist/cli/commands/details.js.map +0 -1
- package/dist/cli/commands/peek.d.ts +0 -9
- package/dist/cli/commands/peek.d.ts.map +0 -1
- package/dist/cli/commands/peek.js +0 -64
- package/dist/cli/commands/peek.js.map +0 -1
- package/dist/cli/commands/query.d.ts +0 -9
- package/dist/cli/commands/query.d.ts.map +0 -1
- package/dist/cli/commands/query.js +0 -125
- package/dist/cli/commands/query.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -83
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -204
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -9
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -75
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/stop.d.ts +0 -9
- package/dist/cli/commands/stop.d.ts.map +0 -1
- package/dist/cli/commands/stop.js +0 -133
- package/dist/cli/commands/stop.js.map +0 -1
- package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
- package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/detailsFormatter.js +0 -63
- package/dist/cli/formatters/detailsFormatter.js.map +0 -1
- package/dist/cli/formatters/previewFormatter.d.ts +0 -27
- package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/previewFormatter.js +0 -155
- package/dist/cli/formatters/previewFormatter.js.map +0 -1
- package/dist/cli/formatters/statusFormatter.d.ts +0 -42
- package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/statusFormatter.js +0 -126
- package/dist/cli/formatters/statusFormatter.js.map +0 -1
- package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
- package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
- package/dist/cli/handlers/ChromeBootstrap.js +0 -50
- package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
- package/dist/cli/handlers/OutputBuilder.d.ts +0 -59
- package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
- package/dist/cli/handlers/OutputBuilder.js +0 -136
- package/dist/cli/handlers/OutputBuilder.js.map +0 -1
- package/dist/cli/handlers/OutputWriter.d.ts +0 -15
- package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
- package/dist/cli/handlers/OutputWriter.js +0 -34
- package/dist/cli/handlers/OutputWriter.js.map +0 -1
- package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
- package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
- package/dist/cli/handlers/PreviewWriter.js +0 -118
- package/dist/cli/handlers/PreviewWriter.js.map +0 -1
- package/dist/cli/handlers/SessionLock.d.ts +0 -16
- package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
- package/dist/cli/handlers/SessionLock.js +0 -35
- package/dist/cli/handlers/SessionLock.js.map +0 -1
- package/dist/cli/handlers/SessionLoop.d.ts +0 -19
- package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
- package/dist/cli/handlers/SessionLoop.js +0 -47
- package/dist/cli/handlers/SessionLoop.js.map +0 -1
- package/dist/cli/handlers/ShutdownController.d.ts +0 -41
- package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
- package/dist/cli/handlers/ShutdownController.js +0 -94
- package/dist/cli/handlers/ShutdownController.js.map +0 -1
- package/dist/cli/handlers/SignalHandler.d.ts +0 -35
- package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
- package/dist/cli/handlers/SignalHandler.js +0 -81
- package/dist/cli/handlers/SignalHandler.js.map +0 -1
- package/dist/cli/handlers/TargetSetup.d.ts +0 -42
- package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
- package/dist/cli/handlers/TargetSetup.js +0 -87
- package/dist/cli/handlers/TargetSetup.js.map +0 -1
- package/dist/cli/handlers/sessionController.d.ts +0 -62
- package/dist/cli/handlers/sessionController.d.ts.map +0 -1
- package/dist/cli/handlers/sessionController.js +0 -316
- package/dist/cli/handlers/sessionController.js.map +0 -1
- package/dist/cli/registry.d.ts +0 -11
- package/dist/cli/registry.d.ts.map +0 -1
- package/dist/cli/registry.js +0 -21
- package/dist/cli/registry.js.map +0 -1
- package/dist/collectors/console.d.ts +0 -19
- package/dist/collectors/console.d.ts.map +0 -1
- package/dist/collectors/console.js +0 -87
- package/dist/collectors/console.js.map +0 -1
- package/dist/collectors/dom.d.ts +0 -21
- package/dist/collectors/dom.d.ts.map +0 -1
- package/dist/collectors/dom.js +0 -99
- package/dist/collectors/dom.js.map +0 -1
- package/dist/collectors/network.d.ts +0 -32
- package/dist/collectors/network.d.ts.map +0 -1
- package/dist/collectors/network.js +0 -191
- package/dist/collectors/network.js.map +0 -1
- package/dist/commands/dom.d.ts.map +0 -1
- package/dist/commands/dom.js +0 -243
- package/dist/commands/dom.js.map +0 -1
- package/dist/commands/domEvalHelpers.d.ts.map +0 -1
- package/dist/commands/domEvalHelpers.js.map +0 -1
- package/dist/commands/domOptionsBuilder.d.ts +0 -67
- package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
- package/dist/commands/domOptionsBuilder.js +0 -86
- package/dist/commands/domOptionsBuilder.js.map +0 -1
- package/dist/commands/domSelectorParser.d.ts +0 -20
- package/dist/commands/domSelectorParser.d.ts.map +0 -1
- package/dist/commands/domSelectorParser.js +0 -20
- package/dist/commands/domSelectorParser.js.map +0 -1
- package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
- package/dist/commands/shared/OutputBuilder.js.map +0 -1
- package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
- package/dist/commands/shared/daemonSessionController.js.map +0 -1
- package/dist/commands/shared/sessionController.d.ts +0 -21
- package/dist/commands/shared/sessionController.d.ts.map +0 -1
- package/dist/commands/shared/sessionController.js +0 -54
- package/dist/commands/shared/sessionController.js.map +0 -1
- package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
- package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/finder.contract.test.js +0 -239
- package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
- package/dist/connection/domOperations.d.ts +0 -48
- package/dist/connection/domOperations.d.ts.map +0 -1
- package/dist/connection/domOperations.js +0 -104
- package/dist/connection/domOperations.js.map +0 -1
- package/dist/connection/finder.d.ts +0 -12
- package/dist/connection/finder.d.ts.map +0 -1
- package/dist/connection/finder.js +0 -17
- package/dist/connection/finder.js.map +0 -1
- package/dist/connection/tabs.d.ts +0 -52
- package/dist/connection/tabs.d.ts.map +0 -1
- package/dist/connection/tabs.js +0 -227
- package/dist/connection/tabs.js.map +0 -1
- package/dist/help/machineReadableHelp.d.ts +0 -100
- package/dist/help/machineReadableHelp.d.ts.map +0 -1
- package/dist/help/machineReadableHelp.js +0 -139
- package/dist/help/machineReadableHelp.js.map +0 -1
- package/dist/ipc/commands.d.ts +0 -260
- package/dist/ipc/commands.d.ts.map +0 -1
- package/dist/ipc/commands.js +0 -77
- package/dist/ipc/commands.js.map +0 -1
- package/dist/ipc/responseValidator.d.ts.map +0 -1
- package/dist/ipc/responseValidator.js.map +0 -1
- package/dist/ipc/types.d.ts +0 -226
- package/dist/ipc/types.d.ts.map +0 -1
- package/dist/ipc/types.js.map +0 -1
- package/dist/session/BdgSession.d.ts +0 -91
- package/dist/session/BdgSession.d.ts.map +0 -1
- package/dist/session/BdgSession.js +0 -230
- package/dist/session/BdgSession.js.map +0 -1
- package/dist/session/fileOps.d.ts +0 -25
- package/dist/session/fileOps.d.ts.map +0 -1
- package/dist/session/fileOps.js +0 -39
- package/dist/session/fileOps.js.map +0 -1
- package/dist/session/queryCache.d.ts +0 -36
- package/dist/session/queryCache.d.ts.map +0 -1
- package/dist/session/queryCache.js +0 -66
- package/dist/session/queryCache.js.map +0 -1
- package/dist/ui/errors/SystemErrors.d.ts +0 -22
- package/dist/ui/errors/SystemErrors.d.ts.map +0 -1
- package/dist/ui/errors/SystemErrors.js +0 -23
- package/dist/ui/errors/SystemErrors.js.map +0 -1
- package/dist/ui/errors.d.ts +0 -39
- package/dist/ui/errors.d.ts.map +0 -1
- package/dist/ui/errors.js +0 -48
- package/dist/ui/errors.js.map +0 -1
- package/dist/ui/messages/deprecation.d.ts +0 -30
- package/dist/ui/messages/deprecation.d.ts.map +0 -1
- package/dist/ui/messages/deprecation.js +0 -49
- package/dist/ui/messages/deprecation.js.map +0 -1
- package/dist/ui/messages/index.d.ts +0 -12
- package/dist/ui/messages/index.d.ts.map +0 -1
- package/dist/ui/messages/index.js +0 -12
- package/dist/ui/messages/index.js.map +0 -1
- package/dist/utils/__tests__/filters.unit.test.d.ts +0 -2
- package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/filters.unit.test.js +0 -239
- package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
- package/dist/utils/cdpHandlers.d.ts +0 -31
- package/dist/utils/cdpHandlers.d.ts.map +0 -1
- package/dist/utils/cdpHandlers.js +0 -38
- package/dist/utils/cdpHandlers.js.map +0 -1
- package/dist/utils/chromeDiagnostics.d.ts +0 -16
- package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
- package/dist/utils/chromeDiagnostics.js +0 -37
- package/dist/utils/chromeDiagnostics.js.map +0 -1
- package/dist/utils/filters.d.ts +0 -148
- package/dist/utils/filters.d.ts.map +0 -1
- package/dist/utils/filters.js +0 -358
- package/dist/utils/filters.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -98
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -93
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/pageReadiness.d.ts +0 -46
- package/dist/utils/pageReadiness.d.ts.map +0 -1
- package/dist/utils/pageReadiness.js +0 -270
- package/dist/utils/pageReadiness.js.map +0 -1
- package/dist/utils/session.d.ts +0 -200
- package/dist/utils/session.d.ts.map +0 -1
- package/dist/utils/session.js +0 -498
- package/dist/utils/session.js.map +0 -1
- /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/connection/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,26 +1,55 @@
|
|
|
1
|
+
import type ProtocolMapping from 'devtools-protocol/types/protocol-mapping';
|
|
1
2
|
import type { CDPConnection } from '../connection/cdp.js';
|
|
3
|
+
import type { TypedCDPConnection } from '../connection/typed-cdp.js';
|
|
4
|
+
/**
|
|
5
|
+
* Extract event parameter type from a CDP event.
|
|
6
|
+
*/
|
|
7
|
+
type EventParams<T extends keyof ProtocolMapping.Events> = ProtocolMapping.Events[T] extends [
|
|
8
|
+
infer P
|
|
9
|
+
] ? P : ProtocolMapping.Events[T] extends [] ? void : never;
|
|
2
10
|
/**
|
|
3
11
|
* Registry for managing CDP event handlers with automatic cleanup.
|
|
4
12
|
*
|
|
5
13
|
* Provides a centralized way to register and clean up CDP event handlers,
|
|
6
14
|
* eliminating the boilerplate code repeated across all telemetry modules.
|
|
15
|
+
*
|
|
16
|
+
* Supports both legacy untyped usage and new type-safe usage with TypedCDPConnection.
|
|
7
17
|
*/
|
|
8
18
|
export declare class CDPHandlerRegistry {
|
|
9
|
-
private
|
|
19
|
+
private cleanupFunctions;
|
|
10
20
|
/**
|
|
11
|
-
* Register a CDP event handler and track it for cleanup.
|
|
21
|
+
* Register a CDP event handler and track it for cleanup (legacy API).
|
|
12
22
|
*
|
|
13
23
|
* @param cdp - CDP connection instance
|
|
14
24
|
* @param event - CDP event name (e.g., 'Network.requestWillBeSent')
|
|
15
25
|
* @param handler - Event handler function
|
|
26
|
+
*
|
|
27
|
+
* @deprecated Since v0.5.0. Use registerTyped() with TypedCDPConnection for type safety. Will be removed in v1.0.0.
|
|
16
28
|
*/
|
|
17
29
|
register<T>(cdp: CDPConnection, event: string, handler: (params: T) => void): void;
|
|
18
30
|
/**
|
|
19
|
-
*
|
|
31
|
+
* Register a type-safe CDP event handler and track it for cleanup.
|
|
20
32
|
*
|
|
21
|
-
* @param
|
|
33
|
+
* @param typed - Typed CDP connection instance
|
|
34
|
+
* @param event - CDP event name (autocomplete available)
|
|
35
|
+
* @param handler - Event handler with type-safe parameters
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const registry = new CDPHandlerRegistry();
|
|
40
|
+
* const typed = new TypedCDPConnection(cdp);
|
|
41
|
+
*
|
|
42
|
+
* registry.registerTyped(typed, 'Network.requestWillBeSent', (event) => {
|
|
43
|
+
* // event is typed as Protocol.Network.RequestWillBeSentEvent
|
|
44
|
+
* console.log(event.request.url);
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
registerTyped<T extends keyof ProtocolMapping.Events>(typed: TypedCDPConnection, event: T, handler: (params: EventParams<T>) => void): void;
|
|
49
|
+
/**
|
|
50
|
+
* Remove all registered event handlers and clear the registry.
|
|
22
51
|
*/
|
|
23
|
-
cleanup(
|
|
52
|
+
cleanup(): void;
|
|
24
53
|
/**
|
|
25
54
|
* Get the number of registered handlers.
|
|
26
55
|
*
|
|
@@ -28,4 +57,5 @@ export declare class CDPHandlerRegistry {
|
|
|
28
57
|
*/
|
|
29
58
|
size(): number;
|
|
30
59
|
}
|
|
60
|
+
export {};
|
|
31
61
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;IAC3F,MAAM,CAAC;CACR,GACG,CAAC,GACD,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,GAClC,IAAI,GACJ,KAAK,CAAC;AAEZ;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAKlF;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,EAClD,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GACxC,IAAI;IAKP;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;;;OAIG;IACH,IAAI,IAAI,MAAM;CAGf"}
|
|
@@ -3,28 +3,52 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides a centralized way to register and clean up CDP event handlers,
|
|
5
5
|
* eliminating the boilerplate code repeated across all telemetry modules.
|
|
6
|
+
*
|
|
7
|
+
* Supports both legacy untyped usage and new type-safe usage with TypedCDPConnection.
|
|
6
8
|
*/
|
|
7
9
|
export class CDPHandlerRegistry {
|
|
8
|
-
|
|
10
|
+
cleanupFunctions = [];
|
|
9
11
|
/**
|
|
10
|
-
* Register a CDP event handler and track it for cleanup.
|
|
12
|
+
* Register a CDP event handler and track it for cleanup (legacy API).
|
|
11
13
|
*
|
|
12
14
|
* @param cdp - CDP connection instance
|
|
13
15
|
* @param event - CDP event name (e.g., 'Network.requestWillBeSent')
|
|
14
16
|
* @param handler - Event handler function
|
|
17
|
+
*
|
|
18
|
+
* @deprecated Since v0.5.0. Use registerTyped() with TypedCDPConnection for type safety. Will be removed in v1.0.0.
|
|
15
19
|
*/
|
|
16
20
|
register(cdp, event, handler) {
|
|
17
|
-
const
|
|
18
|
-
this.
|
|
21
|
+
const cleanup = cdp.on(event, handler);
|
|
22
|
+
this.cleanupFunctions.push(cleanup);
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
|
-
*
|
|
25
|
+
* Register a type-safe CDP event handler and track it for cleanup.
|
|
22
26
|
*
|
|
23
|
-
* @param
|
|
27
|
+
* @param typed - Typed CDP connection instance
|
|
28
|
+
* @param event - CDP event name (autocomplete available)
|
|
29
|
+
* @param handler - Event handler with type-safe parameters
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const registry = new CDPHandlerRegistry();
|
|
34
|
+
* const typed = new TypedCDPConnection(cdp);
|
|
35
|
+
*
|
|
36
|
+
* registry.registerTyped(typed, 'Network.requestWillBeSent', (event) => {
|
|
37
|
+
* // event is typed as Protocol.Network.RequestWillBeSentEvent
|
|
38
|
+
* console.log(event.request.url);
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
registerTyped(typed, event, handler) {
|
|
43
|
+
const cleanup = typed.on(event, handler);
|
|
44
|
+
this.cleanupFunctions.push(cleanup);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Remove all registered event handlers and clear the registry.
|
|
24
48
|
*/
|
|
25
|
-
cleanup(
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
49
|
+
cleanup() {
|
|
50
|
+
this.cleanupFunctions.forEach((cleanup) => cleanup());
|
|
51
|
+
this.cleanupFunctions.length = 0;
|
|
28
52
|
}
|
|
29
53
|
/**
|
|
30
54
|
* Get the number of registered handlers.
|
|
@@ -32,7 +56,7 @@ export class CDPHandlerRegistry {
|
|
|
32
56
|
* @returns Number of active handlers
|
|
33
57
|
*/
|
|
34
58
|
size() {
|
|
35
|
-
return this.
|
|
59
|
+
return this.cleanupFunctions.length;
|
|
36
60
|
}
|
|
37
61
|
}
|
|
38
62
|
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IACrB,gBAAgB,GAAsB,EAAE,CAAC;IAEjD;;;;;;;;OAQG;IACH,QAAQ,CAAI,GAAkB,EAAE,KAAa,EAAE,OAA4B;QACzE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CACX,KAAyB,EACzB,KAAQ,EACR,OAAyC;QAEzC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome binary resolution and validation.
|
|
3
|
+
*
|
|
4
|
+
* Handles resolving Chrome binary path from options or environment variables,
|
|
5
|
+
* and validates that the binary exists and is executable.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Options containing Chrome binary path configuration.
|
|
9
|
+
*/
|
|
10
|
+
export interface BinaryResolverOptions {
|
|
11
|
+
/** Explicit Chrome binary path (overrides CHROME_PATH env var) */
|
|
12
|
+
chromePath?: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolve Chrome binary path from options or environment variable.
|
|
16
|
+
*
|
|
17
|
+
* Validates that the resolved binary:
|
|
18
|
+
* - Exists on the filesystem
|
|
19
|
+
* - Is a regular file (not a directory)
|
|
20
|
+
* - Has execute permissions
|
|
21
|
+
*
|
|
22
|
+
* @param options - Configuration with optional chromePath
|
|
23
|
+
* @returns Resolved and validated Chrome binary path, or undefined if not specified
|
|
24
|
+
* @throws ChromeLaunchError if binary path is invalid or not executable
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* // From options
|
|
29
|
+
* const binary = resolveChromeBinary({ chromePath: '/usr/bin/google-chrome' });
|
|
30
|
+
*
|
|
31
|
+
* // From environment variable
|
|
32
|
+
* process.env['CHROME_PATH'] = '/opt/chrome/chrome';
|
|
33
|
+
* const binary = resolveChromeBinary({});
|
|
34
|
+
*
|
|
35
|
+
* // Not specified (returns undefined, launcher will use default)
|
|
36
|
+
* const binary = resolveChromeBinary({});
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveChromeBinary(options: BinaryResolverOptions): string | undefined;
|
|
40
|
+
//# sourceMappingURL=binaryResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryResolver.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/binaryResolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAwCtF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome binary resolution and validation.
|
|
3
|
+
*
|
|
4
|
+
* Handles resolving Chrome binary path from options or environment variables,
|
|
5
|
+
* and validates that the binary exists and is executable.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import { getChromeDiagnostics } from '../../connection/diagnostics.js';
|
|
9
|
+
import { ChromeLaunchError, getErrorMessage } from '../../connection/errors.js';
|
|
10
|
+
import { formatDiagnosticsForError } from '../../ui/messages/chrome.js';
|
|
11
|
+
import { chromeBinaryOverrideNotFound, chromeBinaryOverrideNotExecutable, chromeBinaryOverrideIsDirectory, } from '../../ui/messages/chrome.js';
|
|
12
|
+
/**
|
|
13
|
+
* Get formatted Chrome diagnostics for error messages.
|
|
14
|
+
*
|
|
15
|
+
* Retrieves Chrome installation information and formats it for display
|
|
16
|
+
* in error messages. Uses cached diagnostics to avoid repeated filesystem scans.
|
|
17
|
+
*
|
|
18
|
+
* @returns Array of formatted diagnostic strings
|
|
19
|
+
*/
|
|
20
|
+
function getFormattedDiagnostics() {
|
|
21
|
+
const diagnostics = getChromeDiagnostics();
|
|
22
|
+
return formatDiagnosticsForError(diagnostics);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolve Chrome binary path from options or environment variable.
|
|
26
|
+
*
|
|
27
|
+
* Validates that the resolved binary:
|
|
28
|
+
* - Exists on the filesystem
|
|
29
|
+
* - Is a regular file (not a directory)
|
|
30
|
+
* - Has execute permissions
|
|
31
|
+
*
|
|
32
|
+
* @param options - Configuration with optional chromePath
|
|
33
|
+
* @returns Resolved and validated Chrome binary path, or undefined if not specified
|
|
34
|
+
* @throws ChromeLaunchError if binary path is invalid or not executable
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // From options
|
|
39
|
+
* const binary = resolveChromeBinary({ chromePath: '/usr/bin/google-chrome' });
|
|
40
|
+
*
|
|
41
|
+
* // From environment variable
|
|
42
|
+
* process.env['CHROME_PATH'] = '/opt/chrome/chrome';
|
|
43
|
+
* const binary = resolveChromeBinary({});
|
|
44
|
+
*
|
|
45
|
+
* // Not specified (returns undefined, launcher will use default)
|
|
46
|
+
* const binary = resolveChromeBinary({});
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export function resolveChromeBinary(options) {
|
|
50
|
+
const override = options.chromePath ?? process.env['CHROME_PATH'];
|
|
51
|
+
if (!override) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
const chromePath = override.trim();
|
|
55
|
+
if (!chromePath) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
const sourceLabel = options.chromePath ? 'chromePath option' : 'CHROME_PATH';
|
|
59
|
+
if (!fs.existsSync(chromePath)) {
|
|
60
|
+
const diagnostics = getFormattedDiagnostics();
|
|
61
|
+
throw new ChromeLaunchError(`${chromeBinaryOverrideNotFound(chromePath, sourceLabel)}\n\n${diagnostics.join('\n')}`);
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const stats = fs.statSync(chromePath);
|
|
65
|
+
if (stats.isDirectory()) {
|
|
66
|
+
throw new ChromeLaunchError(chromeBinaryOverrideIsDirectory(chromePath, sourceLabel));
|
|
67
|
+
}
|
|
68
|
+
fs.accessSync(chromePath, fs.constants.X_OK);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (error instanceof ChromeLaunchError) {
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
throw new ChromeLaunchError(`${chromeBinaryOverrideNotExecutable(chromePath, sourceLabel)}\n\n${getErrorMessage(error)}`, error instanceof Error ? error : undefined);
|
|
75
|
+
}
|
|
76
|
+
return chromePath;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=binaryResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryResolver.js","sourceRoot":"","sources":["../../../src/connection/launcher/binaryResolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;GAOG;AACH,SAAS,uBAAuB;IAC9B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAE7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,MAAM,IAAI,iBAAiB,CACzB,GAAG,4BAA4B,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,iBAAiB,CACzB,GAAG,iCAAiC,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,EAAE,EAC5F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome command-line flags builder.
|
|
3
|
+
*
|
|
4
|
+
* Constructs the Chrome flags array from launch options, handling:
|
|
5
|
+
* - Base chrome-launcher defaults
|
|
6
|
+
* - bdg-specific flags (remote debugging, etc.)
|
|
7
|
+
* - Docker environment detection and GPU-disabling flags
|
|
8
|
+
* - Headless mode
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Options that affect Chrome flags construction.
|
|
12
|
+
*/
|
|
13
|
+
export interface FlagsBuilderOptions {
|
|
14
|
+
/** CDP port number for remote debugging */
|
|
15
|
+
port?: number | undefined;
|
|
16
|
+
/** Whether to ignore chrome-launcher default flags */
|
|
17
|
+
ignoreDefaultFlags?: boolean | undefined;
|
|
18
|
+
/** Whether to launch in headless mode */
|
|
19
|
+
headless?: boolean | undefined;
|
|
20
|
+
/** Additional Chrome command-line flags */
|
|
21
|
+
chromeFlags?: string[] | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if running inside a Docker container.
|
|
25
|
+
*
|
|
26
|
+
* Detects Docker environment by checking for:
|
|
27
|
+
* 1. /.dockerenv file (standard Docker indicator)
|
|
28
|
+
* 2. "docker" or "containerd" in /proc/self/cgroup
|
|
29
|
+
*
|
|
30
|
+
* @returns True if running in Docker, false otherwise
|
|
31
|
+
*/
|
|
32
|
+
export declare function isDocker(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Build Chrome flags array from launch options.
|
|
35
|
+
*
|
|
36
|
+
* Uses chrome-launcher default flags as base (unless ignoreDefaultFlags is true)
|
|
37
|
+
* and layers bdg-specific overrides on top. Headless mode uses the new headless
|
|
38
|
+
* implementation for better compatibility.
|
|
39
|
+
*
|
|
40
|
+
* When running in Docker, automatically adds GPU-disabling flags to work around
|
|
41
|
+
* graphics limitations in containerized environments.
|
|
42
|
+
*
|
|
43
|
+
* @param options - Launch options containing flag preferences
|
|
44
|
+
* @returns Array of Chrome command-line flags
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* // Standard flags
|
|
49
|
+
* const flags = buildChromeFlags({ port: 9222 });
|
|
50
|
+
*
|
|
51
|
+
* // Headless with custom flags
|
|
52
|
+
* const flags = buildChromeFlags({
|
|
53
|
+
* port: 9222,
|
|
54
|
+
* headless: true,
|
|
55
|
+
* chromeFlags: ['--window-size=1920,1080']
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* // Docker environment (auto-detects)
|
|
59
|
+
* const flags = buildChromeFlags({ port: 9222 });
|
|
60
|
+
* // Includes --disable-gpu, --no-sandbox if in Docker
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function buildChromeFlags(options: FlagsBuilderOptions): string[];
|
|
64
|
+
//# sourceMappingURL=flagsBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flagsBuilder.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/flagsBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAID;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAelC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAoBvE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome command-line flags builder.
|
|
3
|
+
*
|
|
4
|
+
* Constructs the Chrome flags array from launch options, handling:
|
|
5
|
+
* - Base chrome-launcher defaults
|
|
6
|
+
* - bdg-specific flags (remote debugging, etc.)
|
|
7
|
+
* - Docker environment detection and GPU-disabling flags
|
|
8
|
+
* - Headless mode
|
|
9
|
+
*/
|
|
10
|
+
import * as fs from 'fs';
|
|
11
|
+
import * as chromeLauncher from 'chrome-launcher';
|
|
12
|
+
import { BDG_CHROME_FLAGS, DEFAULT_CDP_PORT, HEADLESS_FLAG, DOCKER_CHROME_FLAGS, } from '../../constants.js';
|
|
13
|
+
const REMOTE_DEBUGGING_FLAG = (port) => `--remote-debugging-port=${port}`;
|
|
14
|
+
/**
|
|
15
|
+
* Check if running inside a Docker container.
|
|
16
|
+
*
|
|
17
|
+
* Detects Docker environment by checking for:
|
|
18
|
+
* 1. /.dockerenv file (standard Docker indicator)
|
|
19
|
+
* 2. "docker" or "containerd" in /proc/self/cgroup
|
|
20
|
+
*
|
|
21
|
+
* @returns True if running in Docker, false otherwise
|
|
22
|
+
*/
|
|
23
|
+
export function isDocker() {
|
|
24
|
+
try {
|
|
25
|
+
if (fs.existsSync('/.dockerenv')) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
if (fs.existsSync('/proc/self/cgroup')) {
|
|
29
|
+
const cgroup = fs.readFileSync('/proc/self/cgroup', 'utf8');
|
|
30
|
+
return cgroup.includes('docker') || cgroup.includes('containerd');
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Build Chrome flags array from launch options.
|
|
40
|
+
*
|
|
41
|
+
* Uses chrome-launcher default flags as base (unless ignoreDefaultFlags is true)
|
|
42
|
+
* and layers bdg-specific overrides on top. Headless mode uses the new headless
|
|
43
|
+
* implementation for better compatibility.
|
|
44
|
+
*
|
|
45
|
+
* When running in Docker, automatically adds GPU-disabling flags to work around
|
|
46
|
+
* graphics limitations in containerized environments.
|
|
47
|
+
*
|
|
48
|
+
* @param options - Launch options containing flag preferences
|
|
49
|
+
* @returns Array of Chrome command-line flags
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* // Standard flags
|
|
54
|
+
* const flags = buildChromeFlags({ port: 9222 });
|
|
55
|
+
*
|
|
56
|
+
* // Headless with custom flags
|
|
57
|
+
* const flags = buildChromeFlags({
|
|
58
|
+
* port: 9222,
|
|
59
|
+
* headless: true,
|
|
60
|
+
* chromeFlags: ['--window-size=1920,1080']
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* // Docker environment (auto-detects)
|
|
64
|
+
* const flags = buildChromeFlags({ port: 9222 });
|
|
65
|
+
* // Includes --disable-gpu, --no-sandbox if in Docker
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export function buildChromeFlags(options) {
|
|
69
|
+
const port = options.port ?? DEFAULT_CDP_PORT;
|
|
70
|
+
const baseFlags = options.ignoreDefaultFlags ? [] : chromeLauncher.Launcher.defaultFlags();
|
|
71
|
+
const bdgFlags = [REMOTE_DEBUGGING_FLAG(port), ...BDG_CHROME_FLAGS];
|
|
72
|
+
const dockerFlags = isDocker() ? DOCKER_CHROME_FLAGS : [];
|
|
73
|
+
if (options.headless) {
|
|
74
|
+
return [
|
|
75
|
+
HEADLESS_FLAG,
|
|
76
|
+
...baseFlags,
|
|
77
|
+
...bdgFlags,
|
|
78
|
+
...dockerFlags,
|
|
79
|
+
...(options.chromeFlags ?? []),
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
return [...baseFlags, ...bdgFlags, ...dockerFlags, ...(options.chromeFlags ?? [])];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=flagsBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flagsBuilder.js","sourceRoot":"","sources":["../../../src/connection/launcher/flagsBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,2BAA2B,IAAI,EAAE,CAAC;AAE1F;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAE3F,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAE9E,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,aAAa;YACb,GAAG,SAAS;YACZ,GAAG,QAAQ;YACX,GAAG,WAAW;YACd,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome preferences loader.
|
|
3
|
+
*
|
|
4
|
+
* Handles loading Chrome preferences from files or inline options,
|
|
5
|
+
* and validates that they are JSON-serializable for chrome-launcher compatibility.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* JSONLike type matching chrome-launcher's internal type definition.
|
|
9
|
+
*
|
|
10
|
+
* Used for Chrome preferences that must be JSON-serializable values.
|
|
11
|
+
* chrome-launcher enforces this constraint to ensure preferences can be
|
|
12
|
+
* safely serialized and passed to Chrome process.
|
|
13
|
+
*/
|
|
14
|
+
type JSONLike = {
|
|
15
|
+
[property: string]: JSONLike;
|
|
16
|
+
} | readonly JSONLike[] | string | number | boolean | null;
|
|
17
|
+
/**
|
|
18
|
+
* Options for loading Chrome preferences.
|
|
19
|
+
*/
|
|
20
|
+
export interface PreferencesLoaderOptions {
|
|
21
|
+
/** Path to JSON file containing Chrome preferences */
|
|
22
|
+
prefsFile?: string | undefined;
|
|
23
|
+
/** Inline Chrome preferences object */
|
|
24
|
+
prefs?: Record<string, unknown> | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Load Chrome preferences from file or inline options.
|
|
28
|
+
*
|
|
29
|
+
* Supports two modes:
|
|
30
|
+
* 1. **File-based**: Load preferences from JSON file (prefsFile)
|
|
31
|
+
* 2. **Inline**: Use preferences directly from options (prefs)
|
|
32
|
+
*
|
|
33
|
+
* File-based loading takes precedence over inline preferences.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Options containing preferences configuration
|
|
36
|
+
* @returns Preferences object, or undefined if none specified
|
|
37
|
+
* @throws ChromeLaunchError if file doesn't exist, is invalid JSON, or wrong format
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* // From file
|
|
42
|
+
* const prefs = loadChromePrefs({ prefsFile: './chrome-prefs.json' });
|
|
43
|
+
*
|
|
44
|
+
* // Inline
|
|
45
|
+
* const prefs = loadChromePrefs({
|
|
46
|
+
* prefs: {
|
|
47
|
+
* 'profile.default_content_settings.popups': 0,
|
|
48
|
+
* 'download.default_directory': '/tmp/downloads'
|
|
49
|
+
* }
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function loadChromePrefs(options: PreferencesLoaderOptions): Record<string, unknown> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Type-safe conversion for Chrome preferences from unknown to JSONLike.
|
|
56
|
+
*
|
|
57
|
+
* chrome-launcher requires preferences to match its internal JSONLike type constraint
|
|
58
|
+
* for type safety. This function validates that preferences are JSON-serializable
|
|
59
|
+
* before casting to ensure runtime safety.
|
|
60
|
+
*
|
|
61
|
+
* @param prefs - Preferences object with unknown values from JSON parsing
|
|
62
|
+
* @returns Preferences compatible with chrome-launcher's JSONLike constraint, or undefined
|
|
63
|
+
* @throws ChromeLaunchError if preferences contain non-JSON-serializable values
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const prefs = loadChromePrefs({ prefsFile: './prefs.json' });
|
|
68
|
+
* const compatible = ensureJSONCompatiblePrefs(prefs);
|
|
69
|
+
* // Now safe to pass to chrome-launcher
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function ensureJSONCompatiblePrefs(prefs: Record<string, unknown> | undefined): Record<string, JSONLike> | undefined;
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=preferencesLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferencesLoader.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/preferencesLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;GAMG;AACH,KAAK,QAAQ,GACT;IACE,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC9B,GACD,SAAS,QAAQ,EAAE,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAkCrC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAetC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chrome preferences loader.
|
|
3
|
+
*
|
|
4
|
+
* Handles loading Chrome preferences from files or inline options,
|
|
5
|
+
* and validates that they are JSON-serializable for chrome-launcher compatibility.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import { ChromeLaunchError, getErrorMessage } from '../../connection/errors.js';
|
|
9
|
+
import { prefsFileNotFoundError, invalidPrefsFormatError, prefsLoadError, } from '../../ui/messages/chrome.js';
|
|
10
|
+
/**
|
|
11
|
+
* Load Chrome preferences from file or inline options.
|
|
12
|
+
*
|
|
13
|
+
* Supports two modes:
|
|
14
|
+
* 1. **File-based**: Load preferences from JSON file (prefsFile)
|
|
15
|
+
* 2. **Inline**: Use preferences directly from options (prefs)
|
|
16
|
+
*
|
|
17
|
+
* File-based loading takes precedence over inline preferences.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Options containing preferences configuration
|
|
20
|
+
* @returns Preferences object, or undefined if none specified
|
|
21
|
+
* @throws ChromeLaunchError if file doesn't exist, is invalid JSON, or wrong format
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // From file
|
|
26
|
+
* const prefs = loadChromePrefs({ prefsFile: './chrome-prefs.json' });
|
|
27
|
+
*
|
|
28
|
+
* // Inline
|
|
29
|
+
* const prefs = loadChromePrefs({
|
|
30
|
+
* prefs: {
|
|
31
|
+
* 'profile.default_content_settings.popups': 0,
|
|
32
|
+
* 'download.default_directory': '/tmp/downloads'
|
|
33
|
+
* }
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function loadChromePrefs(options) {
|
|
38
|
+
if (options.prefsFile) {
|
|
39
|
+
if (!fs.existsSync(options.prefsFile)) {
|
|
40
|
+
throw new ChromeLaunchError(prefsFileNotFoundError(options.prefsFile), new Error('File does not exist'));
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const prefsContent = fs.readFileSync(options.prefsFile, 'utf8');
|
|
44
|
+
const parsed = JSON.parse(prefsContent);
|
|
45
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
46
|
+
throw new ChromeLaunchError(invalidPrefsFormatError(options.prefsFile, typeof parsed), new Error('Invalid JSON structure'));
|
|
47
|
+
}
|
|
48
|
+
return parsed;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof ChromeLaunchError) {
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
throw new ChromeLaunchError(prefsLoadError(options.prefsFile, getErrorMessage(error)), error instanceof Error ? error : undefined);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return options.prefs;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Type-safe conversion for Chrome preferences from unknown to JSONLike.
|
|
61
|
+
*
|
|
62
|
+
* chrome-launcher requires preferences to match its internal JSONLike type constraint
|
|
63
|
+
* for type safety. This function validates that preferences are JSON-serializable
|
|
64
|
+
* before casting to ensure runtime safety.
|
|
65
|
+
*
|
|
66
|
+
* @param prefs - Preferences object with unknown values from JSON parsing
|
|
67
|
+
* @returns Preferences compatible with chrome-launcher's JSONLike constraint, or undefined
|
|
68
|
+
* @throws ChromeLaunchError if preferences contain non-JSON-serializable values
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const prefs = loadChromePrefs({ prefsFile: './prefs.json' });
|
|
73
|
+
* const compatible = ensureJSONCompatiblePrefs(prefs);
|
|
74
|
+
* // Now safe to pass to chrome-launcher
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export function ensureJSONCompatiblePrefs(prefs) {
|
|
78
|
+
if (prefs === undefined) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
JSON.stringify(prefs);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
throw new ChromeLaunchError(`Chrome preferences must be JSON-serializable: ${getErrorMessage(error)}`, error instanceof Error ? error : undefined);
|
|
86
|
+
}
|
|
87
|
+
return prefs;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=preferencesLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferencesLoader.js","sourceRoot":"","sources":["../../../src/connection/launcher/preferencesLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,GACf,MAAM,yBAAyB,CAAC;AA6BjC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAiC;IAEjC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,iBAAiB,CACzB,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EACzC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,iBAAiB,CACzB,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,EACzD,IAAI,KAAK,CAAC,wBAAwB,CAAC,CACpC,CAAC;YACJ,CAAC;YAED,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,iBAAiB,CACzB,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EACzD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA0C;IAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,iDAAiD,eAAe,CAAC,KAAK,CAAC,EAAE,EACzE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;IAED,OAAO,KAAiC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { LaunchedChrome, Logger } from './types.js';
|
|
1
2
|
import type { Options as ChromeLaunchOptions } from 'chrome-launcher';
|
|
2
|
-
import type { LaunchedChrome } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Options that control how Chrome is launched for CDP sessions.
|
|
5
5
|
* Extended to support chrome-launcher advanced features.
|
|
@@ -9,6 +9,10 @@ export interface LaunchOptions extends Pick<ChromeLaunchOptions, 'logLevel' | 'c
|
|
|
9
9
|
port?: number;
|
|
10
10
|
/** Directory for Chrome profile data. Falls back to persistent ~/.bdg/chrome-profile directory */
|
|
11
11
|
userDataDir?: string | undefined;
|
|
12
|
+
/** Base directory for creating user data dir (defaults to OS temp dir, injectable for testing) */
|
|
13
|
+
baseDir?: string | undefined;
|
|
14
|
+
/** Logger instance (defaults to console, injectable for testing or custom logging) */
|
|
15
|
+
logger?: Logger | undefined;
|
|
12
16
|
/** When true, launches Chrome in headless mode. Defaults to standard windowed experience */
|
|
13
17
|
headless?: boolean;
|
|
14
18
|
/** Initial URL to open. Defaults to about:blank and is typically replaced during session setup */
|
|
@@ -20,5 +24,24 @@ export interface LaunchOptions extends Pick<ChromeLaunchOptions, 'logLevel' | 'c
|
|
|
20
24
|
/** Override Chrome binary detection with an explicit path */
|
|
21
25
|
chromePath?: string;
|
|
22
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Launch Chrome with remote debugging enabled using chrome-launcher.
|
|
29
|
+
*
|
|
30
|
+
* Supports macOS, Linux, and Windows. Chrome will be launched with
|
|
31
|
+
* the specified debugging port and user data directory.
|
|
32
|
+
*
|
|
33
|
+
* Validates Chrome process is alive after launch to detect immediate crashes
|
|
34
|
+
* or port conflicts. Includes Chrome installation diagnostics in error messages
|
|
35
|
+
* to aid troubleshooting.
|
|
36
|
+
*
|
|
37
|
+
* @param options - Launch configuration options
|
|
38
|
+
* @returns LaunchedChrome instance with PID and kill method
|
|
39
|
+
* @throws ChromeLaunchError if Chrome fails to launch, process dies immediately, or CDP doesn't become available
|
|
40
|
+
* @throws Error if user data directory cannot be created
|
|
41
|
+
*
|
|
42
|
+
* @remarks
|
|
43
|
+
* Chrome 136+ requires --user-data-dir with a non-default directory.
|
|
44
|
+
* Uses chrome-launcher for cross-platform Chrome detection and launching.
|
|
45
|
+
*/
|
|
23
46
|
export declare function launchChrome(options?: LaunchOptions): Promise<LaunchedChrome>;
|
|
24
47
|
//# sourceMappingURL=launcher.d.ts.map
|