browser-debugger-cli 0.6.0 → 0.6.2
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 +65 -6
- package/dist/__tests__/smoke/error-handling.smoke.test.js +23 -52
- package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +27 -24
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
- package/dist/__testutils__/daemonHelpers.d.ts +13 -1
- package/dist/__testutils__/daemonHelpers.d.ts.map +1 -1
- package/dist/__testutils__/daemonHelpers.js +54 -5
- package/dist/__testutils__/daemonHelpers.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 +0 -48
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/protocol.js +9 -101
- package/dist/cdp/protocol.js.map +1 -1
- 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.map +1 -1
- package/dist/commands/cdp.js +4 -37
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +25 -23
- 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/dom/a11y.d.ts +18 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -0
- package/dist/commands/dom/a11y.js +134 -0
- package/dist/commands/dom/a11y.js.map +1 -0
- package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
- package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
- 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 +175 -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 +49 -52
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +3 -2
- 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 +3 -1
- 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 +9 -25
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +6 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +16 -19
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +49 -44
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/types.d.ts +46 -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 +61 -45
- 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 +3 -5
- package/dist/connection/handlers.d.ts.map +1 -1
- package/dist/connection/handlers.js +10 -12
- 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 +30 -205
- 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 +36 -52
- 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 +2 -1
- package/dist/connection/typed-cdp.d.ts.map +1 -1
- package/dist/connection/typed-cdp.js.map +1 -1
- 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 +6 -83
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -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.cleanup.unit.test.d.ts +19 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +212 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.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 +10 -6
- 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 +259 -42
- 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 +103 -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 +39 -0
- package/dist/ipc/transport/jsonl.d.ts.map +1 -0
- package/dist/ipc/transport/jsonl.js +61 -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 +81 -17
- package/dist/session/chrome.js.map +1 -1
- package/dist/session/cleanup.d.ts +36 -2
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +201 -73
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/lock.d.ts.map +1 -1
- package/dist/session/lock.js +102 -91
- 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__/a11y.unit.test.d.ts +10 -0
- package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/a11y.unit.test.js +265 -0
- package/dist/telemetry/__tests__/a11y.unit.test.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 +2 -64
- 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/a11y.d.ts +78 -0
- package/dist/telemetry/a11y.d.ts.map +1 -0
- package/dist/telemetry/a11y.js +280 -0
- package/dist/telemetry/a11y.js.map +1 -0
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +19 -28
- 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 +1 -1
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +83 -60
- 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 +86 -77
- 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/__tests__/semantic.unit.test.d.ts +2 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +1 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.js +111 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +1 -0
- package/dist/ui/formatters/a11y.d.ts +30 -0
- package/dist/ui/formatters/a11y.d.ts.map +1 -0
- package/dist/ui/formatters/a11y.js +178 -0
- package/dist/ui/formatters/a11y.js.map +1 -0
- 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 +10 -8
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +45 -17
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/semantic.d.ts +36 -0
- package/dist/ui/formatters/semantic.d.ts.map +1 -0
- package/dist/ui/formatters/semantic.js +98 -0
- package/dist/ui/formatters/semantic.js.map +1 -0
- 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 +9 -31
- 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 +9 -19
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +14 -51
- 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 +0 -34
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +3 -81
- 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 +7 -23
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/ui/messages/validation.d.ts.map +1 -1
- package/dist/ui/messages/validation.js +7 -8
- 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__/errors.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/errors.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/errors.unit.test.js +255 -0
- package/dist/utils/__tests__/errors.unit.test.js.map +1 -0
- package/dist/utils/__tests__/http.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/http.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/http.unit.test.js +218 -0
- package/dist/utils/__tests__/http.unit.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__/process.unit.test.d.ts +14 -0
- package/dist/utils/__tests__/process.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/process.unit.test.js +124 -0
- package/dist/utils/__tests__/process.unit.test.js.map +1 -0
- package/dist/utils/__tests__/session.contract.test.js +14 -4
- 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 +28 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +33 -0
- package/dist/utils/errors.js.map +1 -0
- 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 +101 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +131 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +22 -1
- package/dist/commands/dom.d.ts.map +0 -1
- package/dist/commands/dom.js +0 -244
- 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 -106
- 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/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/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/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Smart page readiness detection using
|
|
2
|
+
* Smart page readiness detection using fixed thresholds
|
|
3
3
|
*
|
|
4
|
-
* This module provides
|
|
4
|
+
* This module provides page load detection that works for most page types
|
|
5
5
|
* without configuration. It uses a three-phase approach:
|
|
6
6
|
* 1. Load event (baseline readiness)
|
|
7
|
-
* 2. Network stability (
|
|
8
|
-
* 3. DOM stability (
|
|
7
|
+
* 2. Network stability (200ms idle threshold)
|
|
8
|
+
* 3. DOM stability (300ms idle threshold)
|
|
9
9
|
*/
|
|
10
|
+
// Readiness Detection Thresholds
|
|
11
|
+
/** Network idle threshold in milliseconds - network is stable when no requests for this duration */
|
|
12
|
+
const NETWORK_IDLE_THRESHOLD_MS = 200;
|
|
13
|
+
/** DOM stable threshold in milliseconds - DOM is stable when no mutations for this duration */
|
|
14
|
+
const DOM_STABLE_THRESHOLD_MS = 300;
|
|
15
|
+
/** Interval for checking deadline expiration in milliseconds */
|
|
16
|
+
const DEADLINE_CHECK_INTERVAL_MS = 100;
|
|
17
|
+
/** Interval for checking network activity in milliseconds */
|
|
18
|
+
const NETWORK_CHECK_INTERVAL_MS = 50;
|
|
10
19
|
/**
|
|
11
|
-
* Wait for page to be ready using
|
|
20
|
+
* Wait for page to be ready using fixed thresholds
|
|
12
21
|
*
|
|
13
22
|
* Strategy (always applied):
|
|
14
23
|
* 1. Wait for load event (baseline readiness)
|
|
15
|
-
* 2. Wait for network to stabilize (
|
|
16
|
-
* 3. Wait for DOM to stabilize (
|
|
24
|
+
* 2. Wait for network to stabilize (200ms idle threshold)
|
|
25
|
+
* 3. Wait for DOM to stabilize (300ms idle threshold)
|
|
17
26
|
*
|
|
18
|
-
*
|
|
27
|
+
* Uses fixed thresholds that work well for most pages.
|
|
19
28
|
* No framework detection, no configuration needed.
|
|
20
29
|
* Works for static HTML, SPAs, and everything in between.
|
|
21
30
|
*
|
|
@@ -35,13 +44,10 @@ export async function waitForPageReady(cdp, options = {}) {
|
|
|
35
44
|
const maxWaitMs = options.maxWaitMs ?? 5000;
|
|
36
45
|
const deadline = Date.now() + maxWaitMs;
|
|
37
46
|
try {
|
|
38
|
-
// Phase 1: Wait for load event (baseline)
|
|
39
47
|
await waitForLoadEvent(cdp, deadline);
|
|
40
48
|
console.error('[readiness] ✓ Load event');
|
|
41
|
-
// Phase 2: Wait for network stability (always - modern web is async)
|
|
42
49
|
const networkIdleMs = await waitForNetworkStable(cdp, deadline);
|
|
43
50
|
console.error(`[readiness] ✓ Network stable (${networkIdleMs}ms idle)`);
|
|
44
|
-
// Phase 3: Wait for DOM stability (always - SPAs mutate after load)
|
|
45
51
|
const domIdleMs = await waitForDOMStable(cdp, deadline);
|
|
46
52
|
console.error(`[readiness] ✓ DOM stable (${domIdleMs}ms idle)`);
|
|
47
53
|
console.error('[readiness] ✓ Page ready');
|
|
@@ -49,7 +55,6 @@ export async function waitForPageReady(cdp, options = {}) {
|
|
|
49
55
|
catch (error) {
|
|
50
56
|
const message = error instanceof Error ? error.message : String(error);
|
|
51
57
|
console.error(`[readiness] ${message}, proceeding anyway`);
|
|
52
|
-
// Don't rethrow - allow session to continue
|
|
53
58
|
}
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
@@ -70,27 +75,25 @@ export async function waitForPageReady(cdp, options = {}) {
|
|
|
70
75
|
*/
|
|
71
76
|
async function waitForLoadEvent(cdp, deadline) {
|
|
72
77
|
await cdp.send('Page.enable');
|
|
73
|
-
// Check if page already loaded (handles Chrome pre-navigation)
|
|
74
78
|
try {
|
|
75
79
|
const result = (await cdp.send('Runtime.evaluate', {
|
|
76
80
|
expression: 'document.readyState',
|
|
77
81
|
returnByValue: true,
|
|
78
82
|
}));
|
|
79
83
|
if (result.result.value === 'complete') {
|
|
80
|
-
// Load event already fired
|
|
81
84
|
return;
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
|
-
catch {
|
|
85
|
-
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error(`[readiness] Failed to check document.readyState: ${error instanceof Error ? error.message : String(error)}`);
|
|
86
89
|
}
|
|
87
90
|
return new Promise((resolve, reject) => {
|
|
88
91
|
let timeout;
|
|
89
|
-
let
|
|
92
|
+
let cleanupHandler;
|
|
90
93
|
const cleanup = () => {
|
|
91
94
|
clearTimeout(timeout);
|
|
92
|
-
if (
|
|
93
|
-
|
|
95
|
+
if (cleanupHandler) {
|
|
96
|
+
cleanupHandler();
|
|
94
97
|
}
|
|
95
98
|
};
|
|
96
99
|
const checkDeadline = () => {
|
|
@@ -99,14 +102,14 @@ async function waitForLoadEvent(cdp, deadline) {
|
|
|
99
102
|
reject(new Error('Load event timeout'));
|
|
100
103
|
}
|
|
101
104
|
else {
|
|
102
|
-
timeout = setTimeout(checkDeadline,
|
|
105
|
+
timeout = setTimeout(checkDeadline, DEADLINE_CHECK_INTERVAL_MS);
|
|
103
106
|
}
|
|
104
107
|
};
|
|
105
108
|
const loadHandler = () => {
|
|
106
109
|
cleanup();
|
|
107
110
|
resolve();
|
|
108
111
|
};
|
|
109
|
-
|
|
112
|
+
cleanupHandler = cdp.on('Page.loadEventFired', loadHandler);
|
|
110
113
|
checkDeadline();
|
|
111
114
|
});
|
|
112
115
|
}
|
|
@@ -136,17 +139,9 @@ async function waitForNetworkStable(cdp, deadline) {
|
|
|
136
139
|
await cdp.send('Network.enable');
|
|
137
140
|
let activeRequests = 0;
|
|
138
141
|
let lastActivity = Date.now();
|
|
139
|
-
const intervals = [];
|
|
140
|
-
let lastRequestTime = Date.now();
|
|
141
|
-
// Track request patterns
|
|
142
142
|
const requestHandler = () => {
|
|
143
|
-
const now = Date.now();
|
|
144
|
-
const interval = now - lastRequestTime;
|
|
145
|
-
if (interval < 5000)
|
|
146
|
-
intervals.push(interval);
|
|
147
|
-
lastRequestTime = now;
|
|
148
143
|
activeRequests++;
|
|
149
|
-
lastActivity = now;
|
|
144
|
+
lastActivity = Date.now();
|
|
150
145
|
};
|
|
151
146
|
const finishHandler = () => {
|
|
152
147
|
activeRequests--;
|
|
@@ -154,29 +149,25 @@ async function waitForNetworkStable(cdp, deadline) {
|
|
|
154
149
|
lastActivity = Date.now();
|
|
155
150
|
}
|
|
156
151
|
};
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
const
|
|
152
|
+
const cleanupRequest = cdp.on('Network.requestWillBeSent', requestHandler);
|
|
153
|
+
const cleanupFinished = cdp.on('Network.loadingFinished', finishHandler);
|
|
154
|
+
const cleanupFailed = cdp.on('Network.loadingFailed', finishHandler);
|
|
160
155
|
try {
|
|
161
|
-
// Use fixed threshold for immediate detection
|
|
162
|
-
const idleThreshold = 200; // 200ms idle = network stable
|
|
163
|
-
// Detection phase: wait for stability
|
|
164
156
|
while (Date.now() < deadline) {
|
|
165
157
|
if (activeRequests === 0) {
|
|
166
158
|
const idleTime = Date.now() - lastActivity;
|
|
167
|
-
if (idleTime >=
|
|
159
|
+
if (idleTime >= NETWORK_IDLE_THRESHOLD_MS) {
|
|
168
160
|
return idleTime; // Success!
|
|
169
161
|
}
|
|
170
162
|
}
|
|
171
|
-
await delay(
|
|
163
|
+
await delay(NETWORK_CHECK_INTERVAL_MS);
|
|
172
164
|
}
|
|
173
165
|
throw new Error('Network stability timeout');
|
|
174
166
|
}
|
|
175
167
|
finally {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
cdp.off('Network.loadingFailed', loadingFailedId);
|
|
168
|
+
cleanupRequest();
|
|
169
|
+
cleanupFinished();
|
|
170
|
+
cleanupFailed();
|
|
180
171
|
}
|
|
181
172
|
}
|
|
182
173
|
/**
|
|
@@ -205,7 +196,6 @@ async function waitForNetworkStable(cdp, deadline) {
|
|
|
205
196
|
* @throws Error if deadline exceeded
|
|
206
197
|
*/
|
|
207
198
|
async function waitForDOMStable(cdp, deadline) {
|
|
208
|
-
// Inject mutation observer
|
|
209
199
|
await cdp.send('Runtime.evaluate', {
|
|
210
200
|
expression: `
|
|
211
201
|
window.__bdg_mutations = 0;
|
|
@@ -227,24 +217,20 @@ async function waitForDOMStable(cdp, deadline) {
|
|
|
227
217
|
`,
|
|
228
218
|
});
|
|
229
219
|
try {
|
|
230
|
-
// Use fixed threshold for immediate detection
|
|
231
|
-
const stableThreshold = 300; // 300ms no mutations = DOM stable
|
|
232
|
-
// Detection phase: wait for stability
|
|
233
220
|
while (Date.now() < deadline) {
|
|
234
221
|
const checkResult = (await cdp.send('Runtime.evaluate', {
|
|
235
222
|
expression: 'Date.now() - window.__bdg_lastMutation',
|
|
236
223
|
returnByValue: true,
|
|
237
224
|
}));
|
|
238
225
|
const timeSinceLastMutation = checkResult.result.value ?? 0;
|
|
239
|
-
if (timeSinceLastMutation >=
|
|
226
|
+
if (timeSinceLastMutation >= DOM_STABLE_THRESHOLD_MS) {
|
|
240
227
|
return timeSinceLastMutation; // Success!
|
|
241
228
|
}
|
|
242
|
-
await delay(
|
|
229
|
+
await delay(DEADLINE_CHECK_INTERVAL_MS);
|
|
243
230
|
}
|
|
244
231
|
throw new Error('DOM stability timeout');
|
|
245
232
|
}
|
|
246
233
|
finally {
|
|
247
|
-
// Cleanup observer
|
|
248
234
|
await cdp
|
|
249
235
|
.send('Runtime.evaluate', {
|
|
250
236
|
expression: `
|
|
@@ -254,9 +240,7 @@ async function waitForDOMStable(cdp, deadline) {
|
|
|
254
240
|
delete window.__bdg_lastMutation;
|
|
255
241
|
`,
|
|
256
242
|
})
|
|
257
|
-
.catch(() => {
|
|
258
|
-
// Ignore cleanup errors
|
|
259
|
-
});
|
|
243
|
+
.catch(() => { });
|
|
260
244
|
}
|
|
261
245
|
}
|
|
262
246
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageReadiness.js","sourceRoot":"","sources":["../../src/connection/pageReadiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"pageReadiness.js","sourceRoot":"","sources":["../../src/connection/pageReadiness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port reservation utilities for Chrome launcher.
|
|
3
|
+
*
|
|
4
|
+
* Provides atomic port reservation to prevent race conditions during
|
|
5
|
+
* Chrome launch when multiple processes might try to bind to the same port.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Port reservation handle with release function.
|
|
9
|
+
*/
|
|
10
|
+
export interface PortReservation {
|
|
11
|
+
/** Release the port reservation */
|
|
12
|
+
release: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Atomically reserve a port to prevent race conditions during Chrome launch.
|
|
16
|
+
*
|
|
17
|
+
* Creates a temporary TCP server on the port, which prevents other processes
|
|
18
|
+
* from binding to it. Returns a release function to free the port.
|
|
19
|
+
*
|
|
20
|
+
* The port must be released BEFORE launching Chrome so Chrome can bind to it.
|
|
21
|
+
* This function is only for atomically checking availability.
|
|
22
|
+
*
|
|
23
|
+
* @param port - Port number to reserve
|
|
24
|
+
* @returns Promise resolving to reservation object with release function
|
|
25
|
+
* @throws ChromeLaunchError If port is already in use
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // Check if port is available
|
|
30
|
+
* const reservation = await reservePort(9222);
|
|
31
|
+
*
|
|
32
|
+
* // Immediately release so Chrome can bind to it
|
|
33
|
+
* reservation.release();
|
|
34
|
+
*
|
|
35
|
+
* // Now launch Chrome on the port
|
|
36
|
+
* const chrome = await launchChrome({ port: 9222 });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function reservePort(port: number): Promise<PortReservation>;
|
|
40
|
+
//# sourceMappingURL=portReservation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portReservation.d.ts","sourceRoot":"","sources":["../../src/connection/portReservation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAoBxE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port reservation utilities for Chrome launcher.
|
|
3
|
+
*
|
|
4
|
+
* Provides atomic port reservation to prevent race conditions during
|
|
5
|
+
* Chrome launch when multiple processes might try to bind to the same port.
|
|
6
|
+
*/
|
|
7
|
+
import * as net from 'net';
|
|
8
|
+
import { portInUseError } from '../ui/messages/chrome.js';
|
|
9
|
+
import { ChromeLaunchError } from './errors.js';
|
|
10
|
+
/**
|
|
11
|
+
* Atomically reserve a port to prevent race conditions during Chrome launch.
|
|
12
|
+
*
|
|
13
|
+
* Creates a temporary TCP server on the port, which prevents other processes
|
|
14
|
+
* from binding to it. Returns a release function to free the port.
|
|
15
|
+
*
|
|
16
|
+
* The port must be released BEFORE launching Chrome so Chrome can bind to it.
|
|
17
|
+
* This function is only for atomically checking availability.
|
|
18
|
+
*
|
|
19
|
+
* @param port - Port number to reserve
|
|
20
|
+
* @returns Promise resolving to reservation object with release function
|
|
21
|
+
* @throws ChromeLaunchError If port is already in use
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Check if port is available
|
|
26
|
+
* const reservation = await reservePort(9222);
|
|
27
|
+
*
|
|
28
|
+
* // Immediately release so Chrome can bind to it
|
|
29
|
+
* reservation.release();
|
|
30
|
+
*
|
|
31
|
+
* // Now launch Chrome on the port
|
|
32
|
+
* const chrome = await launchChrome({ port: 9222 });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export async function reservePort(port) {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
const server = net.createServer();
|
|
38
|
+
server.once('error', (err) => {
|
|
39
|
+
if (err.code === 'EADDRINUSE') {
|
|
40
|
+
reject(new ChromeLaunchError(portInUseError(port)));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
reject(err);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
server.listen(port, '127.0.0.1', () => {
|
|
47
|
+
resolve({
|
|
48
|
+
release: () => {
|
|
49
|
+
server.close();
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=portReservation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portReservation.js","sourceRoot":"","sources":["../../src/connection/portReservation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;YACpC,OAAO,CAAC;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - No runtime overhead (types erased at compile time)
|
|
12
12
|
*/
|
|
13
13
|
import type { CDPConnection } from './cdp.js';
|
|
14
|
+
import type { EventCleanup } from './events.js';
|
|
14
15
|
import type Protocol from 'devtools-protocol/types/protocol';
|
|
15
16
|
import type ProtocolMapping from 'devtools-protocol/types/protocol-mapping';
|
|
16
17
|
/**
|
|
@@ -106,7 +107,7 @@ export declare class TypedCDPConnection {
|
|
|
106
107
|
* });
|
|
107
108
|
* ```
|
|
108
109
|
*/
|
|
109
|
-
on<T extends keyof ProtocolMapping.Events>(event: T, handler: (params: EventParams<T>) => void):
|
|
110
|
+
on<T extends keyof ProtocolMapping.Events>(event: T, handler: (params: EventParams<T>) => void): EventCleanup;
|
|
110
111
|
/**
|
|
111
112
|
* Remove an event handler by ID.
|
|
112
113
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-cdp.d.ts","sourceRoot":"","sources":["../../src/connection/typed-cdp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAC;AAE5E;;;;;GAKG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IACzD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GACvD,CAAC,GACD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,GAClD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB,KAAK,CAAC;AAEd;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IACzD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5C;;;;;GAKG;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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EACjD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAK5B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,EACvC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GACxC,
|
|
1
|
+
{"version":3,"file":"typed-cdp.d.ts","sourceRoot":"","sources":["../../src/connection/typed-cdp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAC;AAE5E;;;;;GAKG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IACzD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GACvD,CAAC,GACD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,GAClD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB,KAAK,CAAC;AAEd;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IACzD,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5C;;;;;GAKG;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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EACjD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAK5B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,EACvC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GACxC,YAAY;IAIf;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,IAAI,GAAG,IAAI,aAAa,CAEvB;CACF;AAED;;;;;;;;;;GAUG;AACH,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-cdp.js","sourceRoot":"","sources":["../../src/connection/typed-cdp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"typed-cdp.js","sourceRoot":"","sources":["../../src/connection/typed-cdp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,GAAkB;QAAlB,QAAG,GAAH,GAAG,CAAe;IAAG,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,IAAI,CACR,MAAS,EACT,MAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAiC,CAAC,CAAC;QAC9E,OAAO,MAA0B,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CACA,KAAQ,EACR,OAAyC;QAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAoC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,KAAa,EAAE,SAAiB;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection module type definitions.
|
|
3
|
+
*
|
|
4
|
+
* Contains types specific to Chrome DevTools Protocol connections,
|
|
5
|
+
* Chrome launching, and connection management.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Chrome DevTools Protocol message structure.
|
|
9
|
+
*
|
|
10
|
+
* CDP uses a JSON-RPC-like protocol over WebSocket with request/response
|
|
11
|
+
* correlation via message IDs.
|
|
12
|
+
*/
|
|
13
|
+
export interface CDPMessage {
|
|
14
|
+
/** Message ID for request/response correlation */
|
|
15
|
+
id?: number;
|
|
16
|
+
/** CDP method name (e.g., 'Page.navigate', 'Network.enable') */
|
|
17
|
+
method?: string;
|
|
18
|
+
/** Method parameters */
|
|
19
|
+
params?: Record<string, unknown>;
|
|
20
|
+
/** Method result (present in responses) */
|
|
21
|
+
result?: unknown;
|
|
22
|
+
/** Error information (present in error responses) */
|
|
23
|
+
error?: {
|
|
24
|
+
code?: number;
|
|
25
|
+
message: string;
|
|
26
|
+
};
|
|
27
|
+
/** Session ID for commands sent to specific targets */
|
|
28
|
+
sessionId?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* CDP target information from /json/list endpoint.
|
|
32
|
+
*/
|
|
33
|
+
export interface CDPTarget {
|
|
34
|
+
/** Target ID */
|
|
35
|
+
id: string;
|
|
36
|
+
/** Target type (page, worker, service_worker, etc.) */
|
|
37
|
+
type: string;
|
|
38
|
+
/** Page title */
|
|
39
|
+
title: string;
|
|
40
|
+
/** Page URL */
|
|
41
|
+
url: string;
|
|
42
|
+
/** WebSocket debugger URL for CDP connection */
|
|
43
|
+
webSocketDebuggerUrl: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Optional tuning parameters for CDPConnection.connect.
|
|
47
|
+
*/
|
|
48
|
+
export interface ConnectionOptions {
|
|
49
|
+
/** Milliseconds to wait for the initial socket open */
|
|
50
|
+
timeout?: number;
|
|
51
|
+
/** Number of connection attempts before failing */
|
|
52
|
+
maxRetries?: number;
|
|
53
|
+
/** Reconnect automatically when the socket closes */
|
|
54
|
+
autoReconnect?: boolean;
|
|
55
|
+
/** Interval between ping frames to keep CDP alive */
|
|
56
|
+
keepaliveInterval?: number;
|
|
57
|
+
/** Async hook invoked after a successful reconnect */
|
|
58
|
+
onReconnect?: (() => Promise<void>) | undefined;
|
|
59
|
+
/** Async hook invoked when WebSocket closes unexpectedly */
|
|
60
|
+
onDisconnect?: ((code: number, reason: string) => void | Promise<void>) | undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Options for CDPConnection.create() factory method.
|
|
64
|
+
*
|
|
65
|
+
* Extends ConnectionOptions to include logger configuration for consistent
|
|
66
|
+
* options object pattern across constructor and factory.
|
|
67
|
+
*/
|
|
68
|
+
export interface CreateOptions extends ConnectionOptions {
|
|
69
|
+
/** Logger instance for connection lifecycle events */
|
|
70
|
+
logger?: Logger;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Information about a launched Chrome instance.
|
|
74
|
+
*/
|
|
75
|
+
export interface LaunchedChrome {
|
|
76
|
+
/** Process ID of the Chrome instance */
|
|
77
|
+
pid: number;
|
|
78
|
+
/** Remote debugging port Chrome is listening on */
|
|
79
|
+
port: number;
|
|
80
|
+
/** Resolved Chrome user data directory (profile path) */
|
|
81
|
+
userDataDir?: string | undefined;
|
|
82
|
+
/** Async function to terminate Chrome and cleanup temp directories */
|
|
83
|
+
kill: () => Promise<void>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Logger interface for connection module.
|
|
87
|
+
*
|
|
88
|
+
* Allows dependency injection of different logging implementations
|
|
89
|
+
* without coupling to specific UI or logging libraries.
|
|
90
|
+
*
|
|
91
|
+
* Compatible with both console and bdg's Logger interface.
|
|
92
|
+
*/
|
|
93
|
+
export interface Logger {
|
|
94
|
+
/** Log informational message */
|
|
95
|
+
info(message: string): void;
|
|
96
|
+
/** Log debug message (only shown with debug flag) */
|
|
97
|
+
debug(message: string): void;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Cleanup function type for resource management.
|
|
101
|
+
*/
|
|
102
|
+
export type CleanupFunction = () => void;
|
|
103
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connection/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,WAAW,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAChD,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACrF;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,sEAAsE;IACtE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,gCAAgC;IAChC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qDAAqD;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/connection/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -25,81 +25,6 @@ export declare const DEFAULT_CHROME_HANDLE_SIGINT = false;
|
|
|
25
25
|
* Persistent Chrome profile directory path (relative to user home)
|
|
26
26
|
*/
|
|
27
27
|
export declare const CHROME_PROFILE_DIR = "chrome-profile";
|
|
28
|
-
/**
|
|
29
|
-
* Maximum CDP connection retry attempts before failing
|
|
30
|
-
*/
|
|
31
|
-
export declare const CDP_MAX_CONNECTION_RETRIES = 3;
|
|
32
|
-
/**
|
|
33
|
-
* CDP connection timeout in milliseconds (10 seconds)
|
|
34
|
-
* Maximum time to wait for WebSocket connection to establish
|
|
35
|
-
*/
|
|
36
|
-
export declare const CDP_CONNECTION_TIMEOUT_MS = 10000;
|
|
37
|
-
/**
|
|
38
|
-
* WebSocket handshake timeout in milliseconds (5 seconds)
|
|
39
|
-
* Maximum time to wait for WebSocket handshake to complete
|
|
40
|
-
*/
|
|
41
|
-
export declare const WEBSOCKET_HANDSHAKE_TIMEOUT_MS = 5000;
|
|
42
|
-
/**
|
|
43
|
-
* WebSocket maximum payload size in bytes (100MB)
|
|
44
|
-
* Allows large DOM snapshots without hitting payload limits
|
|
45
|
-
*/
|
|
46
|
-
export declare const WEBSOCKET_MAX_PAYLOAD_BYTES: number;
|
|
47
|
-
/**
|
|
48
|
-
* CDP command timeout in milliseconds (30 seconds)
|
|
49
|
-
* Maximum time to wait for CDP command responses
|
|
50
|
-
* Balances responsiveness with time for heavy operations (DOM traversal, etc.)
|
|
51
|
-
*/
|
|
52
|
-
export declare const CDP_COMMAND_TIMEOUT_MS = 30000;
|
|
53
|
-
/**
|
|
54
|
-
* CDP keepalive ping interval in milliseconds (30 seconds)
|
|
55
|
-
* Prevents connection timeout during long-running sessions
|
|
56
|
-
*/
|
|
57
|
-
export declare const CDP_KEEPALIVE_INTERVAL = 30000;
|
|
58
|
-
/**
|
|
59
|
-
* CDP reconnection retry limit
|
|
60
|
-
* Maximum number of reconnection attempts before giving up
|
|
61
|
-
*/
|
|
62
|
-
export declare const CDP_MAX_RECONNECT_ATTEMPTS = 5;
|
|
63
|
-
/**
|
|
64
|
-
* CDP base retry delay in milliseconds (1 second)
|
|
65
|
-
* Starting delay for exponential backoff retry strategy
|
|
66
|
-
*/
|
|
67
|
-
export declare const CDP_BASE_RETRY_DELAY_MS = 1000;
|
|
68
|
-
/**
|
|
69
|
-
* CDP maximum retry delay in milliseconds (5 seconds)
|
|
70
|
-
* Cap for exponential backoff during connection retries
|
|
71
|
-
*/
|
|
72
|
-
export declare const CDP_MAX_RETRY_DELAY_MS = 5000;
|
|
73
|
-
/**
|
|
74
|
-
* CDP maximum reconnection delay in milliseconds (10 seconds)
|
|
75
|
-
* Cap for exponential backoff during reconnection attempts
|
|
76
|
-
*/
|
|
77
|
-
export declare const CDP_MAX_RECONNECT_DELAY_MS = 10000;
|
|
78
|
-
/**
|
|
79
|
-
* CDP keepalive maximum missed pongs threshold
|
|
80
|
-
* Connection is considered dead after this many consecutive missed pongs
|
|
81
|
-
*/
|
|
82
|
-
export declare const CDP_MAX_MISSED_PONGS = 3;
|
|
83
|
-
/**
|
|
84
|
-
* CDP pong timeout in milliseconds (5 seconds)
|
|
85
|
-
* Maximum time to wait for pong response after sending ping
|
|
86
|
-
*/
|
|
87
|
-
export declare const CDP_PONG_TIMEOUT_MS = 5000;
|
|
88
|
-
/**
|
|
89
|
-
* WebSocket normal closure code (RFC 6455)
|
|
90
|
-
* Indicates graceful connection shutdown
|
|
91
|
-
*/
|
|
92
|
-
export declare const WEBSOCKET_NORMAL_CLOSURE = 1000;
|
|
93
|
-
/**
|
|
94
|
-
* WebSocket no pong received closure code
|
|
95
|
-
* Custom code for keepalive failure (no pong received)
|
|
96
|
-
*/
|
|
97
|
-
export declare const WEBSOCKET_NO_PONG_CLOSURE = 1001;
|
|
98
|
-
/**
|
|
99
|
-
* UTF-8 text encoding identifier
|
|
100
|
-
* Standard encoding for text data conversion
|
|
101
|
-
*/
|
|
102
|
-
export declare const UTF8_ENCODING = "utf8";
|
|
103
28
|
/**
|
|
104
29
|
* HTTP localhost address for CDP endpoints
|
|
105
30
|
* Standard loopback address for Chrome DevTools Protocol
|
|
@@ -180,6 +105,12 @@ export declare const STALE_REQUEST_CLEANUP_INTERVAL = 30000;
|
|
|
180
105
|
* Uses adaptive detection for load, network stability, and DOM stability
|
|
181
106
|
*/
|
|
182
107
|
export declare const DEFAULT_PAGE_READINESS_TIMEOUT_MS = 2000;
|
|
108
|
+
/**
|
|
109
|
+
* Maximum JSONL buffer size in bytes (10MB)
|
|
110
|
+
* Prevents OOM attacks from malicious/buggy processes sending data without newlines
|
|
111
|
+
* If buffer exceeds this size, connection is terminated with protocol error
|
|
112
|
+
*/
|
|
113
|
+
export declare const MAX_JSONL_BUFFER_SIZE: number;
|
|
183
114
|
/**
|
|
184
115
|
* IPC request timeout in milliseconds (45 seconds in production, 5 seconds in tests)
|
|
185
116
|
* Maximum time to wait for IPC responses from daemon
|
|
@@ -195,12 +126,4 @@ export declare function getIPCRequestTimeout(): number;
|
|
|
195
126
|
* Description for port option in CLI commands
|
|
196
127
|
*/
|
|
197
128
|
export declare const PORT_OPTION_DESCRIPTION = "Chrome debugging port";
|
|
198
|
-
/**
|
|
199
|
-
* Description for timeout option in CLI commands
|
|
200
|
-
*/
|
|
201
|
-
export declare const TIMEOUT_OPTION_DESCRIPTION = "Auto-stop after timeout (optional)";
|
|
202
|
-
/**
|
|
203
|
-
* Description for user-data-dir option in CLI commands
|
|
204
|
-
*/
|
|
205
|
-
export declare const USER_DATA_DIR_OPTION_DESCRIPTION = "Chrome user data directory (default: ~/.bdg/chrome-profile)";
|
|
206
129
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAIpD,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAMjD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAmB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAMtD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAMtD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC"}
|