browser-debugger-cli 0.6.0 → 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 +10 -6
- package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -48
- 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 +0 -48
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/protocol.js +0 -94
- 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 +4 -17
- 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} +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.js → dom/index.js} +33 -123
- 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 +47 -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 +5 -16
- 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 +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 +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 +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 +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/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.map +1 -1
- package/dist/telemetry/dom.js +51 -59
- 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 -83
- 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 -19
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +5 -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__/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 +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 +1 -1
- package/dist/commands/dom.d.ts.map +0 -1
- 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,239 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import { describe, it, beforeEach, afterEach } from 'node:test';
|
|
3
|
-
import { createMockTarget, mockTargetList } from '../../__testfixtures__/connectionTargets.js';
|
|
4
|
-
import { validateTarget } from '../../connection/finder.js';
|
|
5
|
-
import { DEFAULT_CDP_PORT } from '../../constants.js';
|
|
6
|
-
// Mock fetch globally for HTTP endpoints
|
|
7
|
-
let originalFetch;
|
|
8
|
-
let fetchCallHistory;
|
|
9
|
-
let fetchMockResponses;
|
|
10
|
-
let fetchCallCount;
|
|
11
|
-
function setupFetchMock() {
|
|
12
|
-
originalFetch = global.fetch;
|
|
13
|
-
fetchCallHistory = [];
|
|
14
|
-
fetchMockResponses = [];
|
|
15
|
-
fetchCallCount = 0;
|
|
16
|
-
global.fetch = ((url, options) => {
|
|
17
|
-
fetchCallHistory.push({ url, options });
|
|
18
|
-
const responseIndex = fetchCallCount++;
|
|
19
|
-
const response = fetchMockResponses[responseIndex];
|
|
20
|
-
if (response) {
|
|
21
|
-
return response;
|
|
22
|
-
}
|
|
23
|
-
return Promise.reject(new Error(`Unexpected fetch call ${responseIndex + 1}: ${url}`));
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
function mockFetchResponse(response) {
|
|
27
|
-
fetchMockResponses.push(response);
|
|
28
|
-
}
|
|
29
|
-
function createSuccessResponse(data) {
|
|
30
|
-
return {
|
|
31
|
-
ok: true,
|
|
32
|
-
status: 200,
|
|
33
|
-
json: () => Promise.resolve(data),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function createFailureResponse(status, statusText) {
|
|
37
|
-
return {
|
|
38
|
-
ok: false,
|
|
39
|
-
status,
|
|
40
|
-
statusText,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
void describe('Target Validation Contract', () => {
|
|
44
|
-
beforeEach(() => {
|
|
45
|
-
setupFetchMock();
|
|
46
|
-
});
|
|
47
|
-
afterEach(() => {
|
|
48
|
-
global.fetch = originalFetch;
|
|
49
|
-
});
|
|
50
|
-
void describe('validateTarget', () => {
|
|
51
|
-
void it('returns true when target exists in Chrome', async () => {
|
|
52
|
-
// Arrange: Mock target list containing the target
|
|
53
|
-
const targetId = 'target-123';
|
|
54
|
-
const existingTarget = createMockTarget({ id: targetId });
|
|
55
|
-
mockFetchResponse(createSuccessResponse([existingTarget, ...mockTargetList]));
|
|
56
|
-
// Act
|
|
57
|
-
const result = await validateTarget(targetId);
|
|
58
|
-
// Assert: Target is found
|
|
59
|
-
assert.equal(result, true);
|
|
60
|
-
// Verify correct HTTP endpoint was called
|
|
61
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
62
|
-
const [firstCall] = fetchCallHistory;
|
|
63
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
64
|
-
assert.ok(firstCall.url.includes('/json/list'));
|
|
65
|
-
assert.ok(firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
|
|
66
|
-
});
|
|
67
|
-
void it('returns false when target does not exist', async () => {
|
|
68
|
-
// Arrange: Mock target list without the target
|
|
69
|
-
const targetId = 'missing-target-456';
|
|
70
|
-
mockFetchResponse(createSuccessResponse(mockTargetList));
|
|
71
|
-
// Act
|
|
72
|
-
const result = await validateTarget(targetId);
|
|
73
|
-
// Assert: Target is not found
|
|
74
|
-
assert.equal(result, false);
|
|
75
|
-
// Verify HTTP endpoint was called
|
|
76
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
77
|
-
const [firstCall] = fetchCallHistory;
|
|
78
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
79
|
-
assert.ok(firstCall.url.includes('/json/list'));
|
|
80
|
-
});
|
|
81
|
-
void it('returns false when HTTP request fails', async () => {
|
|
82
|
-
// Arrange: Mock HTTP failure
|
|
83
|
-
const targetId = 'target-123';
|
|
84
|
-
mockFetchResponse(createFailureResponse(500, 'Internal Server Error'));
|
|
85
|
-
// Act
|
|
86
|
-
const result = await validateTarget(targetId);
|
|
87
|
-
// Assert: Failure is handled gracefully
|
|
88
|
-
assert.equal(result, false);
|
|
89
|
-
// Verify HTTP endpoint was attempted
|
|
90
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
91
|
-
const [firstCall] = fetchCallHistory;
|
|
92
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
93
|
-
assert.ok(firstCall.url.includes('/json/list'));
|
|
94
|
-
});
|
|
95
|
-
void it('returns false when response is malformed', async () => {
|
|
96
|
-
// Arrange: Mock malformed JSON response
|
|
97
|
-
const targetId = 'target-123';
|
|
98
|
-
const malformedResponse = {
|
|
99
|
-
ok: true,
|
|
100
|
-
status: 200,
|
|
101
|
-
json: () => Promise.reject(new Error('Invalid JSON')),
|
|
102
|
-
};
|
|
103
|
-
mockFetchResponse(malformedResponse);
|
|
104
|
-
// Act
|
|
105
|
-
const result = await validateTarget(targetId);
|
|
106
|
-
// Assert: Malformed response handled gracefully
|
|
107
|
-
assert.equal(result, false);
|
|
108
|
-
});
|
|
109
|
-
void it('uses correct port parameter', async () => {
|
|
110
|
-
// Arrange: Test with custom port
|
|
111
|
-
const targetId = 'target-123';
|
|
112
|
-
const customPort = 9333;
|
|
113
|
-
const existingTarget = createMockTarget({ id: targetId });
|
|
114
|
-
mockFetchResponse(createSuccessResponse([existingTarget]));
|
|
115
|
-
// Act
|
|
116
|
-
const result = await validateTarget(targetId, customPort);
|
|
117
|
-
// Assert: Target found and custom port used
|
|
118
|
-
assert.equal(result, true);
|
|
119
|
-
// Verify custom port was used in HTTP call
|
|
120
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
121
|
-
const [firstCall] = fetchCallHistory;
|
|
122
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
123
|
-
assert.ok(firstCall.url.includes(`127.0.0.1:${customPort}`));
|
|
124
|
-
assert.ok(!firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
|
|
125
|
-
});
|
|
126
|
-
void it('uses default port when not specified', async () => {
|
|
127
|
-
// Arrange: Call without port parameter
|
|
128
|
-
const targetId = 'target-123';
|
|
129
|
-
const existingTarget = createMockTarget({ id: targetId });
|
|
130
|
-
mockFetchResponse(createSuccessResponse([existingTarget]));
|
|
131
|
-
// Act
|
|
132
|
-
const result = await validateTarget(targetId);
|
|
133
|
-
// Assert: Uses default port
|
|
134
|
-
assert.equal(result, true);
|
|
135
|
-
// Verify default port was used
|
|
136
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
137
|
-
const [firstCall] = fetchCallHistory;
|
|
138
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
139
|
-
assert.ok(firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
|
|
140
|
-
});
|
|
141
|
-
void it('handles network errors gracefully', async () => {
|
|
142
|
-
// Arrange: Mock network error (connection refused, etc.)
|
|
143
|
-
const targetId = 'target-123';
|
|
144
|
-
mockFetchResponse(Promise.reject(new Error('ECONNREFUSED')));
|
|
145
|
-
// Act
|
|
146
|
-
const result = await validateTarget(targetId);
|
|
147
|
-
// Assert: Network error handled gracefully
|
|
148
|
-
assert.equal(result, false);
|
|
149
|
-
});
|
|
150
|
-
void it('handles empty target list', async () => {
|
|
151
|
-
// Arrange: Mock empty target list from Chrome
|
|
152
|
-
const targetId = 'target-123';
|
|
153
|
-
mockFetchResponse(createSuccessResponse([]));
|
|
154
|
-
// Act
|
|
155
|
-
const result = await validateTarget(targetId);
|
|
156
|
-
// Assert: Empty list handled correctly
|
|
157
|
-
assert.equal(result, false);
|
|
158
|
-
});
|
|
159
|
-
void it('handles target list with multiple matching IDs', async () => {
|
|
160
|
-
// Arrange: Mock target list with duplicate IDs (edge case)
|
|
161
|
-
const targetId = 'target-123';
|
|
162
|
-
const target1 = createMockTarget({ id: targetId, url: 'http://example.com/1' });
|
|
163
|
-
const target2 = createMockTarget({ id: targetId, url: 'http://example.com/2' });
|
|
164
|
-
mockFetchResponse(createSuccessResponse([target1, target2]));
|
|
165
|
-
// Act
|
|
166
|
-
const result = await validateTarget(targetId);
|
|
167
|
-
// Assert: First match is sufficient
|
|
168
|
-
assert.equal(result, true);
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
void describe('URL Construction', () => {
|
|
172
|
-
void it('constructs correct Chrome endpoint URL', async () => {
|
|
173
|
-
// Arrange
|
|
174
|
-
const targetId = 'target-123';
|
|
175
|
-
const port = 9555;
|
|
176
|
-
mockFetchResponse(createSuccessResponse([]));
|
|
177
|
-
// Act
|
|
178
|
-
await validateTarget(targetId, port);
|
|
179
|
-
// Assert: Correct URL format
|
|
180
|
-
const expectedUrl = `http://127.0.0.1:${port}/json/list`;
|
|
181
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
182
|
-
const [firstCall] = fetchCallHistory;
|
|
183
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
184
|
-
assert.equal(firstCall.url, expectedUrl);
|
|
185
|
-
});
|
|
186
|
-
void it('uses localhost IP address consistently', async () => {
|
|
187
|
-
// Arrange
|
|
188
|
-
const targetId = 'target-123';
|
|
189
|
-
mockFetchResponse(createSuccessResponse([]));
|
|
190
|
-
// Act
|
|
191
|
-
await validateTarget(targetId);
|
|
192
|
-
// Assert: Uses 127.0.0.1 (not localhost hostname)
|
|
193
|
-
assert.equal(fetchCallHistory.length, 1);
|
|
194
|
-
const [firstCall] = fetchCallHistory;
|
|
195
|
-
assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
|
|
196
|
-
assert.ok(firstCall.url.includes('127.0.0.1'));
|
|
197
|
-
assert.ok(!firstCall.url.includes('localhost'));
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
void describe('Edge Cases', () => {
|
|
201
|
-
void it('handles very long target IDs', async () => {
|
|
202
|
-
// Arrange: Create large target list (performance test)
|
|
203
|
-
const targetId = 'needle-in-haystack';
|
|
204
|
-
const largeTargetList = Array.from({ length: 1000 }, (_, i) => createMockTarget({ id: `target-${i}` }));
|
|
205
|
-
largeTargetList.push(createMockTarget({ id: targetId })); // Add target at end
|
|
206
|
-
mockFetchResponse(createSuccessResponse(largeTargetList));
|
|
207
|
-
// Act
|
|
208
|
-
const result = await validateTarget(targetId);
|
|
209
|
-
// Assert: Finds target even in large list
|
|
210
|
-
assert.equal(result, true);
|
|
211
|
-
});
|
|
212
|
-
void it('handles targets with special characters in ID', async () => {
|
|
213
|
-
// Arrange: Target with special characters
|
|
214
|
-
const targetId = 'target-with-special-chars-!@#$%^&*()';
|
|
215
|
-
const specialTarget = createMockTarget({ id: targetId });
|
|
216
|
-
mockFetchResponse(createSuccessResponse([specialTarget]));
|
|
217
|
-
// Act
|
|
218
|
-
const result = await validateTarget(targetId);
|
|
219
|
-
// Assert: Special characters handled correctly
|
|
220
|
-
assert.equal(result, true);
|
|
221
|
-
});
|
|
222
|
-
void it('handles null and undefined target IDs in list', async () => {
|
|
223
|
-
// Arrange: Malformed target list with null/undefined IDs
|
|
224
|
-
const targetId = 'valid-target';
|
|
225
|
-
const validTarget = createMockTarget({ id: targetId });
|
|
226
|
-
const malformedTargets = [
|
|
227
|
-
{ ...createMockTarget(), id: null },
|
|
228
|
-
{ ...createMockTarget(), id: undefined },
|
|
229
|
-
validTarget,
|
|
230
|
-
];
|
|
231
|
-
mockFetchResponse(createSuccessResponse(malformedTargets));
|
|
232
|
-
// Act
|
|
233
|
-
const result = await validateTarget(targetId);
|
|
234
|
-
// Assert: Finds valid target despite malformed entries
|
|
235
|
-
assert.equal(result, true);
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
//# sourceMappingURL=finder.contract.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"finder.contract.test.js","sourceRoot":"","sources":["../../../src/connection/__tests__/finder.contract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { CDPConnection } from '../connection/cdp.js';
|
|
2
|
-
/**
|
|
3
|
-
* DOM node information from CDP
|
|
4
|
-
*/
|
|
5
|
-
export interface DomNodeInfo {
|
|
6
|
-
nodeId: number;
|
|
7
|
-
tag?: string;
|
|
8
|
-
classes?: string[];
|
|
9
|
-
attributes?: Record<string, string>;
|
|
10
|
-
outerHTML?: string;
|
|
11
|
-
textContent?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Get document root node ID
|
|
15
|
-
*
|
|
16
|
-
* @param cdp - CDP connection instance
|
|
17
|
-
* @returns Root node ID
|
|
18
|
-
* @throws Error When CDP command fails or connection is lost
|
|
19
|
-
*/
|
|
20
|
-
export declare function getDocumentRoot(cdp: CDPConnection): Promise<number>;
|
|
21
|
-
/**
|
|
22
|
-
* Query DOM by CSS selector
|
|
23
|
-
*
|
|
24
|
-
* @param cdp - CDP connection instance
|
|
25
|
-
* @param selector - CSS selector to query
|
|
26
|
-
* @param rootNodeId - Optional root node ID (defaults to document root)
|
|
27
|
-
* @returns Array of node IDs matching the selector
|
|
28
|
-
* @throws Error When CDP command fails or selector is invalid
|
|
29
|
-
*/
|
|
30
|
-
export declare function queryBySelector(cdp: CDPConnection, selector: string, rootNodeId?: number): Promise<number[]>;
|
|
31
|
-
/**
|
|
32
|
-
* Get node information
|
|
33
|
-
*
|
|
34
|
-
* @param cdp - CDP connection instance
|
|
35
|
-
* @param nodeId - Node ID to query
|
|
36
|
-
* @returns Node information including tag, classes, attributes
|
|
37
|
-
* @throws Error When CDP command fails or nodeId is invalid
|
|
38
|
-
*/
|
|
39
|
-
export declare function getNodeInfo(cdp: CDPConnection, nodeId: number): Promise<DomNodeInfo>;
|
|
40
|
-
/**
|
|
41
|
-
* Create preview text for a node
|
|
42
|
-
*
|
|
43
|
-
* @param nodeInfo - Node information
|
|
44
|
-
* @param maxLength - Maximum preview length (default: 50)
|
|
45
|
-
* @returns Preview text
|
|
46
|
-
*/
|
|
47
|
-
export declare function createNodePreview(nodeInfo: DomNodeInfo, maxLength?: number): string;
|
|
48
|
-
//# sourceMappingURL=domOperations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domOperations.d.ts","sourceRoot":"","sources":["../../src/connection/domOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA8C1F;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,SAAK,GAAG,MAAM,CAoB/E"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get document root node ID
|
|
3
|
-
*
|
|
4
|
-
* @param cdp - CDP connection instance
|
|
5
|
-
* @returns Root node ID
|
|
6
|
-
* @throws Error When CDP command fails or connection is lost
|
|
7
|
-
*/
|
|
8
|
-
export async function getDocumentRoot(cdp) {
|
|
9
|
-
const result = (await cdp.send('DOM.getDocument', {
|
|
10
|
-
depth: -1,
|
|
11
|
-
}));
|
|
12
|
-
return result.root.nodeId;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Query DOM by CSS selector
|
|
16
|
-
*
|
|
17
|
-
* @param cdp - CDP connection instance
|
|
18
|
-
* @param selector - CSS selector to query
|
|
19
|
-
* @param rootNodeId - Optional root node ID (defaults to document root)
|
|
20
|
-
* @returns Array of node IDs matching the selector
|
|
21
|
-
* @throws Error When CDP command fails or selector is invalid
|
|
22
|
-
*/
|
|
23
|
-
export async function queryBySelector(cdp, selector, rootNodeId) {
|
|
24
|
-
// Get root node if not provided
|
|
25
|
-
const nodeId = rootNodeId ?? (await getDocumentRoot(cdp));
|
|
26
|
-
const result = (await cdp.send('DOM.querySelectorAll', {
|
|
27
|
-
nodeId,
|
|
28
|
-
selector,
|
|
29
|
-
}));
|
|
30
|
-
return result.nodeIds;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Get node information
|
|
34
|
-
*
|
|
35
|
-
* @param cdp - CDP connection instance
|
|
36
|
-
* @param nodeId - Node ID to query
|
|
37
|
-
* @returns Node information including tag, classes, attributes
|
|
38
|
-
* @throws Error When CDP command fails or nodeId is invalid
|
|
39
|
-
*/
|
|
40
|
-
export async function getNodeInfo(cdp, nodeId) {
|
|
41
|
-
// Get node description
|
|
42
|
-
const describeResult = (await cdp.send('DOM.describeNode', {
|
|
43
|
-
nodeId,
|
|
44
|
-
}));
|
|
45
|
-
const node = describeResult.node;
|
|
46
|
-
// Parse attributes array into object
|
|
47
|
-
const attributes = {};
|
|
48
|
-
if (node.attributes) {
|
|
49
|
-
for (let i = 0; i < node.attributes.length; i += 2) {
|
|
50
|
-
const key = node.attributes[i];
|
|
51
|
-
const value = node.attributes[i + 1];
|
|
52
|
-
if (key !== undefined && value !== undefined) {
|
|
53
|
-
attributes[key] = value;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Extract classes from class attribute
|
|
58
|
-
const classes = attributes['class']?.split(/\s+/).filter((c) => c.length > 0) ?? [];
|
|
59
|
-
// Get outer HTML
|
|
60
|
-
const htmlResult = (await cdp.send('DOM.getOuterHTML', {
|
|
61
|
-
nodeId,
|
|
62
|
-
}));
|
|
63
|
-
// Extract text content by removing HTML tags
|
|
64
|
-
// Uses simple regex to strip tags while preserving text content including < and > in text
|
|
65
|
-
// SAFETY: This HTML comes from Chrome's internal DOM via CDP, not user input.
|
|
66
|
-
// It's trusted browser-generated content used only for display/analysis in CLI output.
|
|
67
|
-
// The regex is intentionally simple because we're extracting text, not sanitizing for XSS.
|
|
68
|
-
const textContent = htmlResult.outerHTML
|
|
69
|
-
.replace(/<[^>]*>/g, '') // Remove HTML tags
|
|
70
|
-
.replace(/\s+/g, ' ') // Collapse whitespace
|
|
71
|
-
.trim();
|
|
72
|
-
return {
|
|
73
|
-
nodeId,
|
|
74
|
-
tag: node.nodeName.toLowerCase(),
|
|
75
|
-
classes,
|
|
76
|
-
attributes,
|
|
77
|
-
outerHTML: htmlResult.outerHTML,
|
|
78
|
-
textContent,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Create preview text for a node
|
|
83
|
-
*
|
|
84
|
-
* @param nodeInfo - Node information
|
|
85
|
-
* @param maxLength - Maximum preview length (default: 50)
|
|
86
|
-
* @returns Preview text
|
|
87
|
-
*/
|
|
88
|
-
export function createNodePreview(nodeInfo, maxLength = 50) {
|
|
89
|
-
// If we have text content, use that
|
|
90
|
-
if (nodeInfo.textContent && nodeInfo.textContent.length > 0) {
|
|
91
|
-
const text = nodeInfo.textContent;
|
|
92
|
-
if (text.length > maxLength) {
|
|
93
|
-
return text.slice(0, maxLength) + '...';
|
|
94
|
-
}
|
|
95
|
-
return text;
|
|
96
|
-
}
|
|
97
|
-
// Otherwise show the opening tag
|
|
98
|
-
const tag = nodeInfo.tag ?? 'unknown';
|
|
99
|
-
const classAttr = nodeInfo.classes && nodeInfo.classes.length > 0 ? ` class="${nodeInfo.classes.join(' ')}"` : '';
|
|
100
|
-
const preview = `<${tag}${classAttr}>`;
|
|
101
|
-
if (preview.length > maxLength) {
|
|
102
|
-
return preview.slice(0, maxLength) + '...';
|
|
103
|
-
}
|
|
104
|
-
return preview;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=domOperations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domOperations.js","sourceRoot":"","sources":["../../src/connection/domOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validate that a CDP target still exists.
|
|
3
|
-
*
|
|
4
|
-
* This function polls Chrome's target list to verify the target hasn't been closed.
|
|
5
|
-
* Used during long-running sessions to detect tab closures.
|
|
6
|
-
*
|
|
7
|
-
* @param targetId - Target ID to validate
|
|
8
|
-
* @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
|
|
9
|
-
* @returns True if target still exists, false otherwise
|
|
10
|
-
*/
|
|
11
|
-
export declare function validateTarget(targetId: string, port?: number): Promise<boolean>;
|
|
12
|
-
//# sourceMappingURL=finder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/connection/finder.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_CDP_PORT } from '../constants.js';
|
|
2
|
-
import { fetchCDPTargets } from '../utils/http.js';
|
|
3
|
-
/**
|
|
4
|
-
* Validate that a CDP target still exists.
|
|
5
|
-
*
|
|
6
|
-
* This function polls Chrome's target list to verify the target hasn't been closed.
|
|
7
|
-
* Used during long-running sessions to detect tab closures.
|
|
8
|
-
*
|
|
9
|
-
* @param targetId - Target ID to validate
|
|
10
|
-
* @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
|
|
11
|
-
* @returns True if target still exists, false otherwise
|
|
12
|
-
*/
|
|
13
|
-
export async function validateTarget(targetId, port = DEFAULT_CDP_PORT) {
|
|
14
|
-
const targets = await fetchCDPTargets(port);
|
|
15
|
-
return targets.some((t) => t.id === targetId);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=finder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"finder.js","sourceRoot":"","sources":["../../src/connection/finder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAI,GAAG,gBAAgB;IAC5E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;AAChD,CAAC"}
|