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
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { readSessionMetadata } from '
|
|
2
|
-
import { readPid } from '
|
|
3
|
-
import { isProcessAlive } from '
|
|
4
|
-
import { CommandError } from '
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { readSessionMetadata } from '../../session/metadata.js';
|
|
2
|
+
import { readPid } from '../../session/pid.js';
|
|
3
|
+
import { isProcessAlive } from '../../session/process.js';
|
|
4
|
+
import { CommandError } from '../../ui/errors/index.js';
|
|
5
|
+
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
6
|
+
import { fetchCDPTargetById } from '../../utils/http.js';
|
|
7
7
|
/**
|
|
8
8
|
* Type guard to validate CDP Runtime.evaluate response structure
|
|
9
9
|
*
|
|
10
10
|
* @param value - Value to check
|
|
11
|
-
* @returns True if value is a valid
|
|
11
|
+
* @returns True if value is a valid Protocol.Runtime.EvaluateResponse
|
|
12
12
|
*/
|
|
13
13
|
function isRuntimeEvaluateResult(value) {
|
|
14
14
|
if (typeof value !== 'object' || value === null) {
|
|
@@ -75,17 +75,18 @@ export function getValidatedSessionMetadata() {
|
|
|
75
75
|
/**
|
|
76
76
|
* Verify that the CDP target still exists
|
|
77
77
|
*
|
|
78
|
+
* Uses the centralized fetchCDPTargetById utility which includes timeout
|
|
79
|
+
* safeguards and consistent error handling.
|
|
80
|
+
*
|
|
78
81
|
* @param metadata - Session metadata containing targetId
|
|
79
82
|
* @param port - CDP port number
|
|
80
|
-
* @throws
|
|
83
|
+
* @throws CommandError When target not found (tab may have been closed)
|
|
81
84
|
*/
|
|
82
85
|
export async function verifyTargetExists(metadata, port) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (!Array.isArray(targetsData)) {
|
|
86
|
-
throw new Error(invalidCDPResponseError());
|
|
86
|
+
if (!metadata.targetId) {
|
|
87
|
+
throw new CommandError('Session metadata missing targetId', { suggestion: 'Start a new session with: bdg <url>' }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
87
88
|
}
|
|
88
|
-
const target =
|
|
89
|
+
const target = await fetchCDPTargetById(metadata.targetId, port);
|
|
89
90
|
if (!target) {
|
|
90
91
|
throw new CommandError('Session target not found (tab may have been closed)', { suggestion: 'Start a new session with: bdg <url>' }, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
91
92
|
}
|
|
@@ -118,4 +119,4 @@ export async function executeScript(cdp, script) {
|
|
|
118
119
|
}
|
|
119
120
|
return response;
|
|
120
121
|
}
|
|
121
|
-
//# sourceMappingURL=
|
|
122
|
+
//# sourceMappingURL=evalHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evalHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form interaction helpers for filling inputs, clicking buttons, etc.
|
|
3
|
+
*/
|
|
4
|
+
import type { CDPConnection } from '../../connection/cdp.js';
|
|
5
|
+
import { type FillOptions, type FillResult, type ClickResult } from './reactEventHelpers.js';
|
|
6
|
+
/**
|
|
7
|
+
* Fill a form element with a value in a React-compatible way.
|
|
8
|
+
*
|
|
9
|
+
* @param cdp - CDP connection
|
|
10
|
+
* @param selector - CSS selector for the element
|
|
11
|
+
* @param value - Value to fill
|
|
12
|
+
* @param options - Fill options
|
|
13
|
+
* @returns Promise resolving to fill result
|
|
14
|
+
*
|
|
15
|
+
* @throws CommandError When element operations fail
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const result = await fillElement(cdp, 'input[name="email"]', 'test@example.com');
|
|
20
|
+
* if (result.success) {
|
|
21
|
+
* console.log(`Filled ${result.elementType} with value: ${result.value}`);
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function fillElement(cdp: CDPConnection, selector: string, value: string, options?: FillOptions): Promise<FillResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Click an element.
|
|
28
|
+
*
|
|
29
|
+
* @param cdp - CDP connection
|
|
30
|
+
* @param selector - CSS selector for the element
|
|
31
|
+
* @param options - Click options
|
|
32
|
+
* @returns Promise resolving to click result
|
|
33
|
+
*
|
|
34
|
+
* @throws CommandError When element operations fail
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const result = await clickElement(cdp, 'button[type="submit"]');
|
|
39
|
+
* if (result.success) {
|
|
40
|
+
* console.log(`Clicked ${result.elementType}`);
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function clickElement(cdp: CDPConnection, selector: string, options?: {
|
|
45
|
+
index?: number;
|
|
46
|
+
}): Promise<ClickResult>;
|
|
47
|
+
//# sourceMappingURL=formFillHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formFillHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA+DrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CA8DtB"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form interaction helpers for filling inputs, clicking buttons, etc.
|
|
3
|
+
*/
|
|
4
|
+
import { CommandError } from '../../ui/errors/index.js';
|
|
5
|
+
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
6
|
+
import { REACT_FILL_SCRIPT, CLICK_ELEMENT_SCRIPT, GET_ELEMENT_BY_INDEX_SCRIPT, } from './reactEventHelpers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Fill a form element with a value in a React-compatible way.
|
|
9
|
+
*
|
|
10
|
+
* @param cdp - CDP connection
|
|
11
|
+
* @param selector - CSS selector for the element
|
|
12
|
+
* @param value - Value to fill
|
|
13
|
+
* @param options - Fill options
|
|
14
|
+
* @returns Promise resolving to fill result
|
|
15
|
+
*
|
|
16
|
+
* @throws CommandError When element operations fail
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const result = await fillElement(cdp, 'input[name="email"]', 'test@example.com');
|
|
21
|
+
* if (result.success) {
|
|
22
|
+
* console.log(`Filled ${result.elementType} with value: ${result.value}`);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export async function fillElement(cdp, selector, value, options = {}) {
|
|
27
|
+
let targetSelector = selector;
|
|
28
|
+
// If index is specified, resolve it to a unique selector first
|
|
29
|
+
if (options.index !== undefined) {
|
|
30
|
+
const indexResult = await getElementByIndex(cdp, selector, options.index);
|
|
31
|
+
if (!indexResult.success) {
|
|
32
|
+
return indexResult;
|
|
33
|
+
}
|
|
34
|
+
if (!indexResult.uniqueSelector) {
|
|
35
|
+
throw new CommandError('Failed to resolve unique selector for element index', { note: 'Element index resolution returned no unique selector' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
36
|
+
}
|
|
37
|
+
targetSelector = indexResult.uniqueSelector;
|
|
38
|
+
}
|
|
39
|
+
// Execute the fill script
|
|
40
|
+
const expression = `(${REACT_FILL_SCRIPT})('${escapeSelectorForJS(targetSelector)}', '${escapeValueForJS(value)}', ${JSON.stringify({ blur: options.blur ?? true })})`;
|
|
41
|
+
try {
|
|
42
|
+
const response = await cdp.send('Runtime.evaluate', {
|
|
43
|
+
expression,
|
|
44
|
+
returnByValue: true,
|
|
45
|
+
userGesture: true, // Treat as user-initiated action
|
|
46
|
+
});
|
|
47
|
+
// Type guard for CDP response
|
|
48
|
+
const cdpResponse = response;
|
|
49
|
+
if (cdpResponse.exceptionDetails) {
|
|
50
|
+
throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
51
|
+
}
|
|
52
|
+
if (cdpResponse.result?.value) {
|
|
53
|
+
return cdpResponse.result.value;
|
|
54
|
+
}
|
|
55
|
+
throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (error instanceof CommandError) {
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
62
|
+
throw new CommandError('Failed to fill element', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Click an element.
|
|
67
|
+
*
|
|
68
|
+
* @param cdp - CDP connection
|
|
69
|
+
* @param selector - CSS selector for the element
|
|
70
|
+
* @param options - Click options
|
|
71
|
+
* @returns Promise resolving to click result
|
|
72
|
+
*
|
|
73
|
+
* @throws CommandError When element operations fail
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const result = await clickElement(cdp, 'button[type="submit"]');
|
|
78
|
+
* if (result.success) {
|
|
79
|
+
* console.log(`Clicked ${result.elementType}`);
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export async function clickElement(cdp, selector, options = {}) {
|
|
84
|
+
let targetSelector = selector;
|
|
85
|
+
// If index is specified, resolve it to a unique selector first
|
|
86
|
+
if (options.index !== undefined) {
|
|
87
|
+
const indexResult = await getElementByIndex(cdp, selector, options.index);
|
|
88
|
+
if (!indexResult.success) {
|
|
89
|
+
return indexResult;
|
|
90
|
+
}
|
|
91
|
+
if (!indexResult.uniqueSelector) {
|
|
92
|
+
throw new CommandError('Failed to resolve unique selector for element index', { note: 'Element index resolution returned no unique selector' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
93
|
+
}
|
|
94
|
+
targetSelector = indexResult.uniqueSelector;
|
|
95
|
+
}
|
|
96
|
+
// Execute the click script
|
|
97
|
+
const expression = `(${CLICK_ELEMENT_SCRIPT})('${escapeSelectorForJS(targetSelector)}')`;
|
|
98
|
+
try {
|
|
99
|
+
const response = await cdp.send('Runtime.evaluate', {
|
|
100
|
+
expression,
|
|
101
|
+
returnByValue: true,
|
|
102
|
+
userGesture: true,
|
|
103
|
+
});
|
|
104
|
+
const cdpResponse = response;
|
|
105
|
+
if (cdpResponse.exceptionDetails) {
|
|
106
|
+
throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
107
|
+
}
|
|
108
|
+
if (cdpResponse.result?.value) {
|
|
109
|
+
return cdpResponse.result.value;
|
|
110
|
+
}
|
|
111
|
+
throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
if (error instanceof CommandError) {
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
118
|
+
throw new CommandError('Failed to click element', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get element by index when selector matches multiple elements.
|
|
123
|
+
*
|
|
124
|
+
* @param cdp - CDP connection
|
|
125
|
+
* @param selector - CSS selector
|
|
126
|
+
* @param index - Element index (1-based)
|
|
127
|
+
* @returns Promise resolving to element info
|
|
128
|
+
*
|
|
129
|
+
* @throws CommandError When element operations fail
|
|
130
|
+
*
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
async function getElementByIndex(cdp, selector, index) {
|
|
134
|
+
const expression = `(${GET_ELEMENT_BY_INDEX_SCRIPT})('${escapeSelectorForJS(selector)}', ${index})`;
|
|
135
|
+
try {
|
|
136
|
+
const response = await cdp.send('Runtime.evaluate', {
|
|
137
|
+
expression,
|
|
138
|
+
returnByValue: true,
|
|
139
|
+
});
|
|
140
|
+
const cdpResponse = response;
|
|
141
|
+
if (cdpResponse.exceptionDetails) {
|
|
142
|
+
throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
143
|
+
}
|
|
144
|
+
if (cdpResponse.result?.value) {
|
|
145
|
+
return cdpResponse.result.value;
|
|
146
|
+
}
|
|
147
|
+
throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
if (error instanceof CommandError) {
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
154
|
+
throw new CommandError('Failed to get element by index', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Escape CSS selector for safe inclusion in JavaScript string.
|
|
159
|
+
* Uses JSON.stringify to handle all special characters safely.
|
|
160
|
+
*
|
|
161
|
+
* @param selector - CSS selector to escape
|
|
162
|
+
* @returns Escaped selector (without surrounding quotes)
|
|
163
|
+
*
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
function escapeSelectorForJS(selector) {
|
|
167
|
+
// JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
|
|
168
|
+
// Remove surrounding quotes since we add them in the template
|
|
169
|
+
return JSON.stringify(selector).slice(1, -1);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Escape value for safe inclusion in JavaScript string.
|
|
173
|
+
* Uses JSON.stringify to handle all special characters safely.
|
|
174
|
+
*
|
|
175
|
+
* @param value - Value to escape
|
|
176
|
+
* @returns Escaped value (without surrounding quotes)
|
|
177
|
+
*
|
|
178
|
+
* @internal
|
|
179
|
+
*/
|
|
180
|
+
function escapeValueForJS(value) {
|
|
181
|
+
// JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
|
|
182
|
+
// Remove surrounding quotes since we add them in the template
|
|
183
|
+
return JSON.stringify(value).slice(1, -1);
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=formFillHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formFillHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form interaction commands for filling inputs, clicking buttons, and submitting forms.
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
/**
|
|
6
|
+
* Register form interaction commands.
|
|
7
|
+
*
|
|
8
|
+
* @param program - Commander program instance
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* Registers the following commands:
|
|
12
|
+
* - `bdg dom fill <selector> <value>` - Fill form fields
|
|
13
|
+
* - `bdg dom click <selector>` - Click elements
|
|
14
|
+
* - `bdg dom submit <selector>` - Submit forms with smart waiting
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerFormInteractionCommands(program: Command): void;
|
|
17
|
+
//# sourceMappingURL=formInteraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formInteraction.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEzC;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmItE"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form interaction commands for filling inputs, clicking buttons, and submitting forms.
|
|
3
|
+
*/
|
|
4
|
+
import { fillElement, clickElement } from '../../commands/dom/formFillHelpers.js';
|
|
5
|
+
import { submitForm } from '../../commands/dom/formSubmitHelpers.js';
|
|
6
|
+
import { runCommand } from '../../commands/shared/CommandRunner.js';
|
|
7
|
+
import { jsonOption } from '../../commands/shared/commonOptions.js';
|
|
8
|
+
import { CommandError } from '../../ui/errors/index.js';
|
|
9
|
+
import { OutputFormatter } from '../../ui/formatting.js';
|
|
10
|
+
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
11
|
+
import { filterDefined } from '../../utils/objects.js';
|
|
12
|
+
/**
|
|
13
|
+
* Execute a function with an active CDP connection.
|
|
14
|
+
*
|
|
15
|
+
* Handles the full connection lifecycle:
|
|
16
|
+
* 1. Validates active session
|
|
17
|
+
* 2. Gets session metadata
|
|
18
|
+
* 3. Verifies target exists
|
|
19
|
+
* 4. Creates and connects CDP
|
|
20
|
+
* 5. Executes callback
|
|
21
|
+
* 6. Closes CDP connection (even on error)
|
|
22
|
+
*
|
|
23
|
+
* @param fn - Callback to execute with CDP connection
|
|
24
|
+
* @returns Result from callback
|
|
25
|
+
* @throws Error if session validation or connection fails
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
async function withCDPConnection(fn) {
|
|
30
|
+
const { CDPConnection } = await import('../../connection/cdp.js');
|
|
31
|
+
const { validateActiveSession, getValidatedSessionMetadata, verifyTargetExists } = await import('../../commands/dom/evalHelpers.js');
|
|
32
|
+
// Validate session
|
|
33
|
+
validateActiveSession();
|
|
34
|
+
const metadata = getValidatedSessionMetadata();
|
|
35
|
+
const port = 9222; // Default port
|
|
36
|
+
await verifyTargetExists(metadata, port);
|
|
37
|
+
// Connect to CDP
|
|
38
|
+
const cdp = new CDPConnection();
|
|
39
|
+
if (!metadata.webSocketDebuggerUrl) {
|
|
40
|
+
throw new CommandError('Missing webSocketDebuggerUrl in session metadata', { note: 'Session metadata may be corrupted or from an older version' }, EXIT_CODES.SESSION_FILE_ERROR);
|
|
41
|
+
}
|
|
42
|
+
await cdp.connect(metadata.webSocketDebuggerUrl);
|
|
43
|
+
try {
|
|
44
|
+
return await fn(cdp, metadata);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
cdp.close();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Register form interaction commands.
|
|
52
|
+
*
|
|
53
|
+
* @param program - Commander program instance
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* Registers the following commands:
|
|
57
|
+
* - `bdg dom fill <selector> <value>` - Fill form fields
|
|
58
|
+
* - `bdg dom click <selector>` - Click elements
|
|
59
|
+
* - `bdg dom submit <selector>` - Submit forms with smart waiting
|
|
60
|
+
*/
|
|
61
|
+
export function registerFormInteractionCommands(program) {
|
|
62
|
+
const domCommand = program.commands.find((cmd) => cmd.name() === 'dom');
|
|
63
|
+
if (!domCommand) {
|
|
64
|
+
throw new CommandError('DOM command group not found', { note: 'This is an internal error - DOM commands may not be registered' }, EXIT_CODES.SOFTWARE_ERROR);
|
|
65
|
+
}
|
|
66
|
+
// bdg dom fill <selector> <value>
|
|
67
|
+
domCommand
|
|
68
|
+
.command('fill')
|
|
69
|
+
.description('Fill a form field with a value (React-compatible)')
|
|
70
|
+
.argument('<selector>', 'CSS selector for the element')
|
|
71
|
+
.argument('<value>', 'Value to fill')
|
|
72
|
+
.option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
|
|
73
|
+
.option('--no-blur', 'Do not blur after filling (keeps focus on element)')
|
|
74
|
+
.addOption(jsonOption)
|
|
75
|
+
.action(async (selector, value, options) => {
|
|
76
|
+
await runCommand(async () => {
|
|
77
|
+
return await withCDPConnection(async (cdp) => {
|
|
78
|
+
const fillOptions = filterDefined({
|
|
79
|
+
index: options.index,
|
|
80
|
+
blur: options.blur,
|
|
81
|
+
});
|
|
82
|
+
const result = await fillElement(cdp, selector, value, fillOptions);
|
|
83
|
+
if (!result.success) {
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: result.error ?? 'Failed to fill element',
|
|
87
|
+
exitCode: result.error?.includes('not found')
|
|
88
|
+
? EXIT_CODES.RESOURCE_NOT_FOUND
|
|
89
|
+
: EXIT_CODES.INVALID_ARGUMENTS,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return { success: true, data: result };
|
|
93
|
+
});
|
|
94
|
+
}, options, formatFillOutput);
|
|
95
|
+
});
|
|
96
|
+
// bdg dom click <selector>
|
|
97
|
+
domCommand
|
|
98
|
+
.command('click')
|
|
99
|
+
.description('Click an element')
|
|
100
|
+
.argument('<selector>', 'CSS selector for the element')
|
|
101
|
+
.option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
|
|
102
|
+
.addOption(jsonOption)
|
|
103
|
+
.action(async (selector, options) => {
|
|
104
|
+
await runCommand(async () => {
|
|
105
|
+
return await withCDPConnection(async (cdp) => {
|
|
106
|
+
const clickOptions = filterDefined({
|
|
107
|
+
index: options.index,
|
|
108
|
+
});
|
|
109
|
+
const result = await clickElement(cdp, selector, clickOptions);
|
|
110
|
+
if (!result.success) {
|
|
111
|
+
return {
|
|
112
|
+
success: false,
|
|
113
|
+
error: result.error ?? 'Failed to click element',
|
|
114
|
+
exitCode: result.error?.includes('not found')
|
|
115
|
+
? EXIT_CODES.RESOURCE_NOT_FOUND
|
|
116
|
+
: EXIT_CODES.INVALID_ARGUMENTS,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return { success: true, data: result };
|
|
120
|
+
});
|
|
121
|
+
}, options, formatClickOutput);
|
|
122
|
+
});
|
|
123
|
+
// bdg dom submit <selector>
|
|
124
|
+
domCommand
|
|
125
|
+
.command('submit')
|
|
126
|
+
.description('Submit a form by clicking submit button and waiting for completion')
|
|
127
|
+
.argument('<selector>', 'CSS selector for the submit button')
|
|
128
|
+
.option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
|
|
129
|
+
.option('--wait-navigation', 'Wait for page navigation after submit')
|
|
130
|
+
.option('--wait-network <ms>', 'Wait for network idle after submit (milliseconds)', '1000')
|
|
131
|
+
.option('--timeout <ms>', 'Maximum time to wait (milliseconds)', '10000')
|
|
132
|
+
.addOption(jsonOption)
|
|
133
|
+
.action(async (selector, options) => {
|
|
134
|
+
await runCommand(async () => {
|
|
135
|
+
return await withCDPConnection(async (cdp) => {
|
|
136
|
+
const submitOptions = filterDefined({
|
|
137
|
+
index: options.index,
|
|
138
|
+
waitNavigation: options.waitNavigation,
|
|
139
|
+
waitNetwork: parseInt(options.waitNetwork, 10),
|
|
140
|
+
timeout: parseInt(options.timeout, 10),
|
|
141
|
+
});
|
|
142
|
+
const result = await submitForm(cdp, selector, submitOptions);
|
|
143
|
+
if (!result.success) {
|
|
144
|
+
return {
|
|
145
|
+
success: false,
|
|
146
|
+
error: result.error ?? 'Failed to submit form',
|
|
147
|
+
exitCode: result.error?.includes('not found')
|
|
148
|
+
? EXIT_CODES.RESOURCE_NOT_FOUND
|
|
149
|
+
: result.error?.includes('Timeout')
|
|
150
|
+
? EXIT_CODES.CDP_TIMEOUT
|
|
151
|
+
: EXIT_CODES.INVALID_ARGUMENTS,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return { success: true, data: result };
|
|
155
|
+
});
|
|
156
|
+
}, options, formatSubmitOutput);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Format fill command output for human-readable display.
|
|
161
|
+
*
|
|
162
|
+
* @param result - Fill result
|
|
163
|
+
* @returns Formatted string
|
|
164
|
+
*/
|
|
165
|
+
function formatFillOutput(result) {
|
|
166
|
+
const fmt = new OutputFormatter();
|
|
167
|
+
fmt.text('✓ Element Filled');
|
|
168
|
+
fmt.blank();
|
|
169
|
+
const details = [
|
|
170
|
+
['Selector', result.selector ?? 'unknown'],
|
|
171
|
+
['Element Type', result.elementType ?? 'unknown'],
|
|
172
|
+
];
|
|
173
|
+
if (result.inputType) {
|
|
174
|
+
details.push(['Input Type', result.inputType]);
|
|
175
|
+
}
|
|
176
|
+
if (result.checked !== undefined) {
|
|
177
|
+
details.push(['Checked', result.checked ? 'true' : 'false']);
|
|
178
|
+
}
|
|
179
|
+
else if (result.value) {
|
|
180
|
+
details.push(['Value', result.value]);
|
|
181
|
+
}
|
|
182
|
+
fmt.keyValueList(details, 15);
|
|
183
|
+
return fmt.build();
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Format click command output for human-readable display.
|
|
187
|
+
*
|
|
188
|
+
* @param result - Click result
|
|
189
|
+
* @returns Formatted string
|
|
190
|
+
*/
|
|
191
|
+
function formatClickOutput(result) {
|
|
192
|
+
const fmt = new OutputFormatter();
|
|
193
|
+
fmt.text('✓ Element Clicked');
|
|
194
|
+
fmt.blank();
|
|
195
|
+
fmt.keyValueList([
|
|
196
|
+
['Selector', result.selector ?? 'unknown'],
|
|
197
|
+
['Element Type', result.elementType ?? 'unknown'],
|
|
198
|
+
['Clickable', result.clickable ? 'yes' : 'no (warning)'],
|
|
199
|
+
], 15);
|
|
200
|
+
if (!result.clickable) {
|
|
201
|
+
fmt.blank();
|
|
202
|
+
fmt.text('⚠ Warning: Element may not have a click handler');
|
|
203
|
+
}
|
|
204
|
+
return fmt.build();
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Format submit command output for human-readable display.
|
|
208
|
+
*
|
|
209
|
+
* @param result - Submit result
|
|
210
|
+
* @returns Formatted string
|
|
211
|
+
*/
|
|
212
|
+
function formatSubmitOutput(result) {
|
|
213
|
+
const fmt = new OutputFormatter();
|
|
214
|
+
fmt.text('✓ Form Submitted');
|
|
215
|
+
fmt.blank();
|
|
216
|
+
const details = [
|
|
217
|
+
['Selector', result.selector ?? 'unknown'],
|
|
218
|
+
['Clicked', result.clicked ? 'yes' : 'no'],
|
|
219
|
+
];
|
|
220
|
+
if (result.networkRequests !== undefined) {
|
|
221
|
+
details.push(['Network Requests', result.networkRequests.toString()]);
|
|
222
|
+
}
|
|
223
|
+
if (result.navigationOccurred !== undefined) {
|
|
224
|
+
details.push(['Navigation', result.navigationOccurred ? 'yes' : 'no']);
|
|
225
|
+
}
|
|
226
|
+
if (result.waitTimeMs !== undefined) {
|
|
227
|
+
details.push(['Wait Time', `${result.waitTimeMs}ms`]);
|
|
228
|
+
}
|
|
229
|
+
fmt.keyValueList(details, 20);
|
|
230
|
+
fmt.blank();
|
|
231
|
+
fmt.text('Next steps:');
|
|
232
|
+
fmt.section('', [
|
|
233
|
+
'bdg peek --network --last 10 Check network requests',
|
|
234
|
+
'bdg console --last 5 Check console messages',
|
|
235
|
+
'bdg status Check session state',
|
|
236
|
+
]);
|
|
237
|
+
return fmt.build();
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=formInteraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formInteraction.js","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form submission helpers with smart network waiting.
|
|
3
|
+
*/
|
|
4
|
+
import type { CDPConnection } from '../../connection/cdp.js';
|
|
5
|
+
/**
|
|
6
|
+
* Options for submitting a form.
|
|
7
|
+
*/
|
|
8
|
+
export interface SubmitOptions {
|
|
9
|
+
/** Element index if selector matches multiple (1-based) */
|
|
10
|
+
index?: number;
|
|
11
|
+
/** Wait for page navigation after submit (default: false) */
|
|
12
|
+
waitNavigation?: boolean;
|
|
13
|
+
/** Wait for network idle after submit in milliseconds (default: 1000) */
|
|
14
|
+
waitNetwork?: number;
|
|
15
|
+
/** Maximum time to wait in milliseconds (default: 10000) */
|
|
16
|
+
timeout?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Result of form submission.
|
|
20
|
+
*/
|
|
21
|
+
export interface SubmitResult {
|
|
22
|
+
success: boolean;
|
|
23
|
+
error?: string;
|
|
24
|
+
selector?: string;
|
|
25
|
+
clicked?: boolean;
|
|
26
|
+
networkRequests?: number;
|
|
27
|
+
navigationOccurred?: boolean;
|
|
28
|
+
waitTimeMs?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Submit a form by clicking the submit button and waiting for completion.
|
|
32
|
+
*
|
|
33
|
+
* @param cdp - CDP connection
|
|
34
|
+
* @param selector - CSS selector for submit button
|
|
35
|
+
* @param options - Submit options
|
|
36
|
+
* @returns Promise resolving to submit result
|
|
37
|
+
*
|
|
38
|
+
* @throws CDPTimeoutError When timeout is reached
|
|
39
|
+
* @throws CDPConnectionError When CDP communication fails
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* // Submit and wait for network idle
|
|
44
|
+
* const result = await submitForm(cdp, 'button[type="submit"]', {
|
|
45
|
+
* waitNetwork: 1000,
|
|
46
|
+
* timeout: 10000
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* This function:
|
|
52
|
+
* 1. Clicks the submit button
|
|
53
|
+
* 2. Monitors network activity
|
|
54
|
+
* 3. Waits for network idle (no requests for N ms)
|
|
55
|
+
* 4. Optionally waits for page navigation
|
|
56
|
+
*/
|
|
57
|
+
export declare function submitForm(cdp: CDPConnection, selector: string, options?: SubmitOptions): Promise<SubmitResult>;
|
|
58
|
+
//# sourceMappingURL=formSubmitHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formSubmitHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6DvB"}
|