browser-debugger-cli 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -6
- package/dist/__tests__/smoke/error-handling.smoke.test.js +23 -52
- package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +27 -24
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
- package/dist/__testutils__/daemonHelpers.d.ts +13 -1
- package/dist/__testutils__/daemonHelpers.d.ts.map +1 -1
- package/dist/__testutils__/daemonHelpers.js +54 -5
- package/dist/__testutils__/daemonHelpers.js.map +1 -1
- package/dist/__testutils__/testCleanup.js +1 -1
- package/dist/__testutils__/testCleanup.js.map +1 -1
- package/dist/cdp/protocol.d.ts +0 -48
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/protocol.js +9 -101
- package/dist/cdp/protocol.js.map +1 -1
- package/dist/commands/__tests__/cdp.contract.test.js +2 -2
- package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
- package/dist/commands/__tests__/domEval.contract.test.js +8 -4
- package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +4 -37
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +25 -23
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +3 -8
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +1 -1
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts +18 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -0
- package/dist/commands/dom/a11y.js +134 -0
- package/dist/commands/dom/a11y.js.map +1 -0
- package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
- package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
- package/dist/commands/dom/evalHelpers.js.map +1 -0
- package/dist/commands/dom/formFillHelpers.d.ts +47 -0
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
- package/dist/commands/dom/formFillHelpers.js +185 -0
- package/dist/commands/dom/formFillHelpers.js.map +1 -0
- package/dist/commands/dom/formInteraction.d.ts +17 -0
- package/dist/commands/dom/formInteraction.d.ts.map +1 -0
- package/dist/commands/dom/formInteraction.js +239 -0
- package/dist/commands/dom/formInteraction.js.map +1 -0
- package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
- package/dist/commands/dom/formSubmitHelpers.js +176 -0
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
- package/dist/commands/dom/helpers.d.ts +34 -0
- package/dist/commands/dom/helpers.d.ts.map +1 -0
- package/dist/commands/dom/helpers.js +244 -0
- package/dist/commands/dom/helpers.js.map +1 -0
- package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -0
- package/dist/commands/dom/index.js +175 -0
- package/dist/commands/dom/index.js.map +1 -0
- package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
- package/dist/commands/dom/reactEventHelpers.js +274 -0
- package/dist/commands/dom/reactEventHelpers.js.map +1 -0
- package/dist/commands/network.js +1 -1
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +49 -52
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +3 -2
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +3 -1
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
- package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
- package/dist/commands/shared/daemonErrorHandler.js +32 -0
- package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
- package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
- package/dist/commands/shared/startHelpers.d.ts.map +1 -0
- package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
- package/dist/commands/shared/startHelpers.js.map +1 -0
- package/dist/commands/shared/validation.d.ts +44 -0
- package/dist/commands/shared/validation.d.ts.map +1 -0
- package/dist/commands/shared/validation.js +68 -0
- package/dist/commands/shared/validation.js.map +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +9 -25
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +6 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +16 -19
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +49 -44
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/types.d.ts +46 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +8 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +3 -1
- package/dist/commands.js.map +1 -1
- package/dist/connection/__tests__/cdp.contract.test.js +7 -7
- package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
- package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
- package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
- package/dist/connection/__tests__/handlers.unit.test.js +220 -0
- package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
- package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
- package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
- package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
- package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
- package/dist/connection/cdp.d.ts +34 -11
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +61 -45
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/config.d.ts +63 -0
- package/dist/connection/config.d.ts.map +1 -0
- package/dist/connection/config.js +46 -0
- package/dist/connection/config.js.map +1 -0
- package/dist/connection/errors.d.ts +6 -21
- package/dist/connection/errors.d.ts.map +1 -1
- package/dist/connection/errors.js +7 -26
- package/dist/connection/errors.js.map +1 -1
- package/dist/connection/events.d.ts +30 -0
- package/dist/connection/events.d.ts.map +1 -0
- package/dist/connection/events.js +8 -0
- package/dist/connection/events.js.map +1 -0
- package/dist/connection/handlers.d.ts +3 -5
- package/dist/connection/handlers.d.ts.map +1 -1
- package/dist/connection/handlers.js +10 -12
- package/dist/connection/handlers.js.map +1 -1
- package/dist/connection/launcher/binaryResolver.d.ts +40 -0
- package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
- package/dist/connection/launcher/binaryResolver.js +78 -0
- package/dist/connection/launcher/binaryResolver.js.map +1 -0
- package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
- package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
- package/dist/connection/launcher/flagsBuilder.js +84 -0
- package/dist/connection/launcher/flagsBuilder.js.map +1 -0
- package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
- package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
- package/dist/connection/launcher/preferencesLoader.js +89 -0
- package/dist/connection/launcher/preferencesLoader.js.map +1 -0
- package/dist/connection/launcher.d.ts +24 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +30 -205
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts +8 -8
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +36 -52
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/connection/portReservation.d.ts +40 -0
- package/dist/connection/portReservation.d.ts.map +1 -0
- package/dist/connection/portReservation.js +55 -0
- package/dist/connection/portReservation.js.map +1 -0
- package/dist/connection/typed-cdp.d.ts +2 -1
- package/dist/connection/typed-cdp.d.ts.map +1 -1
- package/dist/connection/typed-cdp.js.map +1 -1
- package/dist/connection/types.d.ts +103 -0
- package/dist/connection/types.d.ts.map +1 -0
- package/dist/connection/types.js +8 -0
- package/dist/connection/types.js.map +1 -0
- package/dist/constants.d.ts +6 -83
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -83
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
- package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
- package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
- package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
- package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +19 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +212 -0
- package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +1 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
- package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
- package/dist/daemon/errors.d.ts +65 -0
- package/dist/daemon/errors.d.ts.map +1 -0
- package/dist/daemon/errors.js +82 -0
- package/dist/daemon/errors.js.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
- package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/CommandHandlers.js +93 -0
- package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
- package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/QueryHandlers.js +176 -0
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
- package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/SessionHandlers.js +227 -0
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
- package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
- package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
- package/dist/daemon/handlers/pendingRequests.js +57 -0
- package/dist/daemon/handlers/pendingRequests.js.map +1 -0
- package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
- package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
- package/dist/daemon/handlers/requestHandlers.js +61 -0
- package/dist/daemon/handlers/requestHandlers.js.map +1 -0
- package/dist/daemon/handlers/responseHandler.d.ts +42 -0
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
- package/dist/daemon/handlers/responseHandler.js +195 -0
- package/dist/daemon/handlers/responseHandler.js.map +1 -0
- package/dist/daemon/ipcServer.d.ts +19 -41
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +83 -655
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +10 -6
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
- package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
- package/dist/daemon/lifecycle/cdpSetup.js +59 -0
- package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
- package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
- package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
- package/dist/daemon/lifecycle/chromeConnection.js +80 -0
- package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
- package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
- package/dist/daemon/lifecycle/signalHandlers.js +35 -0
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
- package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerCleanup.js +144 -0
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
- package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
- package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerConfig.js +66 -0
- package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
- package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
- package/dist/daemon/lifecycle/workerIpc.js +87 -0
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
- package/dist/daemon/server/JsonlParser.d.ts +31 -0
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
- package/dist/daemon/server/JsonlParser.js +57 -0
- package/dist/daemon/server/JsonlParser.js.map +1 -0
- package/dist/daemon/server/SocketServer.d.ts.map +1 -1
- package/dist/daemon/server/SocketServer.js +2 -2
- package/dist/daemon/server/SocketServer.js.map +1 -1
- package/dist/daemon/server/WorkerManager.d.ts +3 -3
- package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
- package/dist/daemon/server/WorkerManager.js +10 -19
- package/dist/daemon/server/WorkerManager.js.map +1 -1
- package/dist/daemon/services/SessionService.d.ts +87 -0
- package/dist/daemon/services/SessionService.d.ts.map +1 -0
- package/dist/daemon/services/SessionService.js +45 -0
- package/dist/daemon/services/SessionService.js.map +1 -0
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +54 -31
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +20 -215
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/daemon/worker.d.ts +3 -12
- package/dist/daemon/worker.d.ts.map +1 -1
- package/dist/daemon/worker.js +47 -367
- package/dist/daemon/worker.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
- package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.js +259 -42
- package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
- package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/errors.unit.test.js +77 -0
- package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/guards.unit.test.js +73 -0
- package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/jsonl.unit.test.js +103 -0
- package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
- package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
- package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/validation.unit.test.js +60 -0
- package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
- package/dist/ipc/client.d.ts +93 -84
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +121 -192
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/index.d.ts +17 -0
- package/dist/ipc/index.d.ts.map +1 -0
- package/dist/ipc/index.js +23 -0
- package/dist/ipc/index.js.map +1 -0
- package/dist/ipc/protocol/commands.d.ts +144 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -0
- package/dist/ipc/protocol/commands.js +23 -0
- package/dist/ipc/protocol/commands.js.map +1 -0
- package/dist/ipc/protocol/guards.d.ts +47 -0
- package/dist/ipc/protocol/guards.d.ts.map +1 -0
- package/dist/ipc/protocol/guards.js +62 -0
- package/dist/ipc/protocol/guards.js.map +1 -0
- package/dist/ipc/protocol/index.d.ts +9 -0
- package/dist/ipc/protocol/index.d.ts.map +1 -0
- package/dist/ipc/protocol/index.js +8 -0
- package/dist/ipc/protocol/index.js.map +1 -0
- package/dist/ipc/protocol/messages.d.ts +64 -0
- package/dist/ipc/protocol/messages.d.ts.map +1 -0
- package/dist/ipc/protocol/messages.js +8 -0
- package/dist/ipc/protocol/messages.js.map +1 -0
- package/dist/ipc/session/errors.d.ts +25 -0
- package/dist/ipc/session/errors.d.ts.map +1 -0
- package/dist/ipc/{types.js → session/errors.js} +11 -6
- package/dist/ipc/session/errors.js.map +1 -0
- package/dist/ipc/session/index.d.ts +16 -0
- package/dist/ipc/session/index.d.ts.map +1 -0
- package/dist/ipc/session/index.js +7 -0
- package/dist/ipc/session/index.js.map +1 -0
- package/dist/ipc/session/lifecycle.d.ts +125 -0
- package/dist/ipc/session/lifecycle.d.ts.map +1 -0
- package/dist/ipc/session/lifecycle.js +7 -0
- package/dist/ipc/session/lifecycle.js.map +1 -0
- package/dist/ipc/session/queries.d.ts +94 -0
- package/dist/ipc/session/queries.d.ts.map +1 -0
- package/dist/ipc/session/queries.js +7 -0
- package/dist/ipc/session/queries.js.map +1 -0
- package/dist/ipc/session/types.d.ts +28 -0
- package/dist/ipc/session/types.d.ts.map +1 -0
- package/dist/ipc/session/types.js +7 -0
- package/dist/ipc/session/types.js.map +1 -0
- package/dist/ipc/transport/IPCError.d.ts +82 -0
- package/dist/ipc/transport/IPCError.d.ts.map +1 -0
- package/dist/ipc/transport/IPCError.js +109 -0
- package/dist/ipc/transport/IPCError.js.map +1 -0
- package/dist/ipc/transport/errors.d.ts +11 -0
- package/dist/ipc/transport/errors.d.ts.map +1 -0
- package/dist/ipc/transport/errors.js +28 -0
- package/dist/ipc/transport/errors.js.map +1 -0
- package/dist/ipc/transport/index.d.ts +16 -0
- package/dist/ipc/transport/index.d.ts.map +1 -0
- package/dist/ipc/transport/index.js +77 -0
- package/dist/ipc/transport/index.js.map +1 -0
- package/dist/ipc/transport/jsonl.d.ts +39 -0
- package/dist/ipc/transport/jsonl.d.ts.map +1 -0
- package/dist/ipc/transport/jsonl.js +61 -0
- package/dist/ipc/transport/jsonl.js.map +1 -0
- package/dist/ipc/transport/socket.d.ts +27 -0
- package/dist/ipc/transport/socket.d.ts.map +1 -0
- package/dist/ipc/transport/socket.js +49 -0
- package/dist/ipc/transport/socket.js.map +1 -0
- package/dist/ipc/transport/validation.d.ts +21 -0
- package/dist/ipc/transport/validation.d.ts.map +1 -0
- package/dist/ipc/transport/validation.js +23 -0
- package/dist/ipc/transport/validation.js.map +1 -0
- package/dist/ipc/utils/errors.d.ts +25 -0
- package/dist/ipc/utils/errors.d.ts.map +1 -0
- package/dist/ipc/utils/errors.js +29 -0
- package/dist/ipc/utils/errors.js.map +1 -0
- package/dist/ipc/utils/index.d.ts +12 -0
- package/dist/ipc/utils/index.d.ts.map +1 -0
- package/dist/ipc/utils/index.js +11 -0
- package/dist/ipc/utils/index.js.map +1 -0
- package/dist/ipc/utils/requestId.d.ts +23 -0
- package/dist/ipc/utils/requestId.d.ts.map +1 -0
- package/dist/ipc/utils/requestId.js +27 -0
- package/dist/ipc/utils/requestId.js.map +1 -0
- package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
- package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
- package/dist/ipc/utils/responseValidator.js.map +1 -0
- package/dist/ipc/utils/session.d.ts +36 -0
- package/dist/ipc/utils/session.d.ts.map +1 -0
- package/dist/ipc/utils/session.js +37 -0
- package/dist/ipc/utils/session.js.map +1 -0
- package/dist/ipc/utils/types.d.ts +17 -0
- package/dist/ipc/utils/types.d.ts.map +1 -0
- package/dist/ipc/utils/types.js +7 -0
- package/dist/ipc/utils/types.js.map +1 -0
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
- package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
- package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
- package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
- package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/cleanup.contract.test.js +84 -0
- package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
- package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
- package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/lock.contract.test.js +77 -0
- package/dist/session/__tests__/lock.contract.test.js.map +1 -0
- package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
- package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
- package/dist/session/__tests__/metadata.contract.test.js +87 -0
- package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
- package/dist/session/chrome.d.ts +20 -0
- package/dist/session/chrome.d.ts.map +1 -1
- package/dist/session/chrome.js +81 -17
- package/dist/session/chrome.js.map +1 -1
- package/dist/session/cleanup.d.ts +36 -2
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +201 -73
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/lock.d.ts.map +1 -1
- package/dist/session/lock.js +102 -91
- package/dist/session/lock.js.map +1 -1
- package/dist/session/metadata.d.ts +10 -3
- package/dist/session/metadata.d.ts.map +1 -1
- package/dist/session/metadata.js +24 -6
- package/dist/session/metadata.js.map +1 -1
- package/dist/session/paths.d.ts +0 -9
- package/dist/session/paths.d.ts.map +1 -1
- package/dist/session/paths.js +0 -11
- package/dist/session/paths.js.map +1 -1
- package/dist/session/pid.d.ts +15 -0
- package/dist/session/pid.d.ts.map +1 -1
- package/dist/session/pid.js +39 -21
- package/dist/session/pid.js.map +1 -1
- package/dist/session/process.d.ts +4 -41
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +4 -85
- package/dist/session/process.js.map +1 -1
- package/dist/session/statusData.d.ts +50 -0
- package/dist/session/statusData.d.ts.map +1 -0
- package/dist/session/statusData.js +51 -0
- package/dist/session/statusData.js.map +1 -0
- package/dist/telemetry/__tests__/a11y.unit.test.d.ts +10 -0
- package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/a11y.unit.test.js +265 -0
- package/dist/telemetry/__tests__/a11y.unit.test.js.map +1 -0
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
- package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
- package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
- package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
- package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
- package/dist/telemetry/__tests__/network.contract.test.js +2 -64
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
- package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
- package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
- package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
- package/dist/telemetry/a11y.d.ts +78 -0
- package/dist/telemetry/a11y.d.ts.map +1 -0
- package/dist/telemetry/a11y.js +280 -0
- package/dist/telemetry/a11y.js.map +1 -0
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +19 -28
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/dialogs.d.ts.map +1 -1
- package/dist/telemetry/dialogs.js +4 -8
- package/dist/telemetry/dialogs.js.map +1 -1
- package/dist/telemetry/dom.d.ts +1 -1
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +83 -60
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +5 -18
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +36 -56
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/navigation.d.ts.map +1 -1
- package/dist/telemetry/navigation.js +5 -8
- package/dist/telemetry/navigation.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +105 -104
- package/dist/telemetry/network.js.map +1 -1
- package/dist/telemetry/utils.d.ts +85 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +138 -0
- package/dist/telemetry/utils.js.map +1 -0
- package/dist/types/dom.d.ts +66 -0
- package/dist/types/dom.d.ts.map +1 -0
- package/dist/types/dom.js +8 -0
- package/dist/types/dom.js.map +1 -0
- package/dist/types.d.ts +86 -77
- package/dist/types.d.ts.map +1 -1
- package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
- package/dist/ui/OutputBuilder.d.ts.map +1 -0
- package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
- package/dist/ui/OutputBuilder.js.map +1 -0
- package/dist/ui/errors/CommandError.d.ts +16 -2
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js +2 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/errors/index.d.ts +2 -3
- package/dist/ui/errors/index.d.ts.map +1 -1
- package/dist/ui/errors/index.js +1 -3
- package/dist/ui/errors/index.js.map +1 -1
- package/dist/ui/errors/utils.d.ts +6 -0
- package/dist/ui/errors/utils.d.ts.map +1 -1
- package/dist/ui/errors/utils.js +8 -3
- package/dist/ui/errors/utils.js.map +1 -1
- package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +2 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +1 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.js +111 -0
- package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +1 -0
- package/dist/ui/formatters/a11y.d.ts +30 -0
- package/dist/ui/formatters/a11y.d.ts.map +1 -0
- package/dist/ui/formatters/a11y.js +178 -0
- package/dist/ui/formatters/a11y.js.map +1 -0
- package/dist/ui/formatters/dom.d.ts +3 -18
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +4 -27
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/preview.d.ts +10 -8
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +45 -17
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/semantic.d.ts +36 -0
- package/dist/ui/formatters/semantic.d.ts.map +1 -0
- package/dist/ui/formatters/semantic.js +98 -0
- package/dist/ui/formatters/semantic.js.map +1 -0
- package/dist/ui/formatters/status.d.ts +1 -1
- package/dist/ui/formatters/status.d.ts.map +1 -1
- package/dist/ui/formatters/status.js +9 -31
- package/dist/ui/formatters/status.js.map +1 -1
- package/dist/ui/formatting.d.ts +2 -270
- package/dist/ui/formatting.d.ts.map +1 -1
- package/dist/ui/formatting.js +8 -331
- package/dist/ui/formatting.js.map +1 -1
- package/dist/ui/logging/index.d.ts +1 -1
- package/dist/ui/logging/index.d.ts.map +1 -1
- package/dist/ui/logging/index.js +1 -1
- package/dist/ui/logging/index.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +3 -23
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js +2 -27
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/chrome.d.ts +15 -7
- package/dist/ui/messages/chrome.d.ts.map +1 -1
- package/dist/ui/messages/chrome.js +23 -32
- package/dist/ui/messages/chrome.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +9 -19
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +14 -51
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/consoleMessages.d.ts +1 -1
- package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
- package/dist/ui/messages/consoleMessages.js +3 -6
- package/dist/ui/messages/consoleMessages.js.map +1 -1
- package/dist/ui/messages/debug.d.ts +0 -14
- package/dist/ui/messages/debug.d.ts.map +1 -1
- package/dist/ui/messages/debug.js +0 -18
- package/dist/ui/messages/debug.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +0 -34
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +3 -81
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/internal.d.ts +0 -7
- package/dist/ui/messages/internal.d.ts.map +1 -1
- package/dist/ui/messages/internal.js +0 -12
- package/dist/ui/messages/internal.js.map +1 -1
- package/dist/ui/messages/preview.d.ts +14 -1
- package/dist/ui/messages/preview.d.ts.map +1 -1
- package/dist/ui/messages/preview.js +24 -7
- package/dist/ui/messages/preview.js.map +1 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +7 -23
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/ui/messages/validation.d.ts.map +1 -1
- package/dist/ui/messages/validation.js +7 -8
- package/dist/ui/messages/validation.js.map +1 -1
- package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
- package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
- package/dist/utils/__tests__/atomicFile.test.js +43 -0
- package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
- package/dist/utils/__tests__/errors.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/errors.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/errors.unit.test.js +255 -0
- package/dist/utils/__tests__/errors.unit.test.js.map +1 -0
- package/dist/utils/__tests__/http.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/http.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/http.unit.test.js +218 -0
- package/dist/utils/__tests__/http.unit.test.js.map +1 -0
- package/dist/utils/__tests__/objects.test.d.ts +2 -0
- package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
- package/dist/utils/__tests__/objects.test.js +50 -0
- package/dist/utils/__tests__/objects.test.js.map +1 -0
- package/dist/utils/__tests__/process.unit.test.d.ts +14 -0
- package/dist/utils/__tests__/process.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/process.unit.test.js +124 -0
- package/dist/utils/__tests__/process.unit.test.js.map +1 -0
- package/dist/utils/__tests__/session.contract.test.js +14 -4
- package/dist/utils/__tests__/session.contract.test.js.map +1 -1
- package/dist/utils/__tests__/url.test.d.ts +2 -0
- package/dist/utils/__tests__/url.test.d.ts.map +1 -0
- package/dist/utils/__tests__/url.test.js +42 -0
- package/dist/utils/__tests__/url.test.js.map +1 -0
- package/dist/utils/atomicFile.d.ts +31 -5
- package/dist/utils/atomicFile.d.ts.map +1 -1
- package/dist/utils/atomicFile.js +52 -13
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/concurrency.d.ts +54 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +78 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/daemonErrors.d.ts +60 -0
- package/dist/utils/daemonErrors.d.ts.map +1 -0
- package/dist/utils/daemonErrors.js +58 -0
- package/dist/utils/daemonErrors.js.map +1 -0
- package/dist/utils/errors.d.ts +28 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +33 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/exitCodes.d.ts +41 -5
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +43 -9
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/http.d.ts +9 -4
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +44 -10
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/levenshtein.d.ts +45 -0
- package/dist/utils/levenshtein.d.ts.map +1 -0
- package/dist/utils/levenshtein.js +85 -0
- package/dist/utils/levenshtein.js.map +1 -0
- package/dist/utils/objects.d.ts +16 -1
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +16 -1
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/process.d.ts +45 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +91 -0
- package/dist/utils/process.js.map +1 -0
- package/dist/utils/url.d.ts +10 -3
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +42 -29
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/validation.d.ts +101 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +131 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +22 -1
- package/dist/commands/dom.d.ts.map +0 -1
- package/dist/commands/dom.js +0 -244
- package/dist/commands/dom.js.map +0 -1
- package/dist/commands/domEvalHelpers.d.ts.map +0 -1
- package/dist/commands/domEvalHelpers.js.map +0 -1
- package/dist/commands/domOptionsBuilder.d.ts +0 -67
- package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
- package/dist/commands/domOptionsBuilder.js +0 -86
- package/dist/commands/domOptionsBuilder.js.map +0 -1
- package/dist/commands/domSelectorParser.d.ts +0 -20
- package/dist/commands/domSelectorParser.d.ts.map +0 -1
- package/dist/commands/domSelectorParser.js +0 -20
- package/dist/commands/domSelectorParser.js.map +0 -1
- package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
- package/dist/commands/shared/OutputBuilder.js.map +0 -1
- package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
- package/dist/commands/shared/daemonSessionController.js.map +0 -1
- package/dist/commands/shared/sessionController.d.ts +0 -21
- package/dist/commands/shared/sessionController.d.ts.map +0 -1
- package/dist/commands/shared/sessionController.js +0 -54
- package/dist/commands/shared/sessionController.js.map +0 -1
- package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
- package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/finder.contract.test.js +0 -239
- package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
- package/dist/connection/domOperations.d.ts +0 -48
- package/dist/connection/domOperations.d.ts.map +0 -1
- package/dist/connection/domOperations.js +0 -106
- package/dist/connection/domOperations.js.map +0 -1
- package/dist/connection/finder.d.ts +0 -12
- package/dist/connection/finder.d.ts.map +0 -1
- package/dist/connection/finder.js +0 -17
- package/dist/connection/finder.js.map +0 -1
- package/dist/ipc/commands.d.ts +0 -260
- package/dist/ipc/commands.d.ts.map +0 -1
- package/dist/ipc/commands.js +0 -77
- package/dist/ipc/commands.js.map +0 -1
- package/dist/ipc/responseValidator.d.ts.map +0 -1
- package/dist/ipc/responseValidator.js.map +0 -1
- package/dist/ipc/types.d.ts +0 -226
- package/dist/ipc/types.d.ts.map +0 -1
- package/dist/ipc/types.js.map +0 -1
- package/dist/session/fileOps.d.ts +0 -25
- package/dist/session/fileOps.d.ts.map +0 -1
- package/dist/session/fileOps.js +0 -39
- package/dist/session/fileOps.js.map +0 -1
- package/dist/session/queryCache.d.ts +0 -36
- package/dist/session/queryCache.d.ts.map +0 -1
- package/dist/session/queryCache.js +0 -66
- package/dist/session/queryCache.js.map +0 -1
- /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
|
@@ -3,26 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Tests the public API behavior of startNetworkCollection WITHOUT testing implementation details.
|
|
5
5
|
* Follows the testing philosophy: "Test the contract, not the implementation"
|
|
6
|
-
*
|
|
7
|
-
* Coverage:
|
|
8
|
-
* 1. Request/response pairing - Normal flow with matching IDs
|
|
9
|
-
* 2. Out-of-order events - Response arrives before request
|
|
10
|
-
* 3. Stale requests - Incomplete requests after timeout
|
|
11
|
-
* 4. Failed requests - Network.loadingFailed events
|
|
12
|
-
* 5. Request limits - MAX_NETWORK_REQUESTS enforcement
|
|
13
|
-
* 6. Cleanup - Handler removal and state cleanup
|
|
14
|
-
* 7. Domain filtering - Tracking/analytics exclusion
|
|
15
|
-
* 8. Body fetching - Size limits and MIME type handling
|
|
16
|
-
*
|
|
17
|
-
* What we test:
|
|
18
|
-
* ✅ Behavior: Given CDP events → expect NetworkRequest array contents
|
|
19
|
-
* ✅ Invariants: "Requests are paired with responses", "Cleanup removes all handlers"
|
|
20
|
-
* ✅ Edge cases: Out-of-order, stale, limits, failures
|
|
21
|
-
*
|
|
22
|
-
* What we DON'T test:
|
|
23
|
-
* ❌ Internal requestMap structure
|
|
24
|
-
* ❌ Internal function calls (tryExactMatch, normalizeUrl, etc.)
|
|
25
|
-
* ❌ Implementation details (Map vs Set, event handler IDs)
|
|
26
6
|
*/
|
|
27
7
|
import assert from 'node:assert/strict';
|
|
28
8
|
import { afterEach, beforeEach, describe, it } from 'node:test';
|
|
@@ -55,7 +35,7 @@ class MockCDPConnection {
|
|
|
55
35
|
if (handlers) {
|
|
56
36
|
handlers.set(id, handler);
|
|
57
37
|
}
|
|
58
|
-
return id;
|
|
38
|
+
return () => this.off(event, id);
|
|
59
39
|
}
|
|
60
40
|
/**
|
|
61
41
|
* Mock CDP event unsubscription
|
|
@@ -169,9 +149,7 @@ void describe('Network telemetry contract', () => {
|
|
|
169
149
|
});
|
|
170
150
|
void describe('Basic request/response pairing', () => {
|
|
171
151
|
void it('should pair request with response by requestId', async () => {
|
|
172
|
-
// Arrange: Start collection
|
|
173
152
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
174
|
-
// Act: Simulate CDP events for a complete request/response cycle
|
|
175
153
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
176
154
|
requestId: 'req-1',
|
|
177
155
|
request: createTestRequest({
|
|
@@ -203,7 +181,6 @@ void describe('Network telemetry contract', () => {
|
|
|
203
181
|
timestamp: 1100,
|
|
204
182
|
encodedDataLength: 1234,
|
|
205
183
|
});
|
|
206
|
-
// Assert: Request is paired with response
|
|
207
184
|
assert.equal(requests.length, 1, 'Should have one network request');
|
|
208
185
|
const request = requests[0];
|
|
209
186
|
assert.ok(request, 'Request should exist');
|
|
@@ -214,13 +191,10 @@ void describe('Network telemetry contract', () => {
|
|
|
214
191
|
assert.equal(request.mimeType, 'application/json');
|
|
215
192
|
assert.ok(request.requestHeaders, 'Should have request headers');
|
|
216
193
|
assert.ok(request.responseHeaders, 'Should have response headers');
|
|
217
|
-
// Cleanup
|
|
218
194
|
void cleanup();
|
|
219
195
|
});
|
|
220
196
|
void it('should handle multiple concurrent requests', async () => {
|
|
221
|
-
// Arrange
|
|
222
197
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
223
|
-
// Act: Simulate 3 concurrent requests
|
|
224
198
|
for (let i = 1; i <= 3; i++) {
|
|
225
199
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
226
200
|
requestId: `req-${i}`,
|
|
@@ -231,7 +205,6 @@ void describe('Network telemetry contract', () => {
|
|
|
231
205
|
loaderId: 'loader-1',
|
|
232
206
|
}));
|
|
233
207
|
}
|
|
234
|
-
// Responses arrive in different order (3, 1, 2)
|
|
235
208
|
for (const i of [3, 1, 2]) {
|
|
236
209
|
mockCDP.emit('Network.responseReceived', createResponseEvent({
|
|
237
210
|
requestId: `req-${i}`,
|
|
@@ -250,7 +223,6 @@ void describe('Network telemetry contract', () => {
|
|
|
250
223
|
encodedDataLength: 100,
|
|
251
224
|
});
|
|
252
225
|
}
|
|
253
|
-
// Assert: All requests paired correctly despite out-of-order responses
|
|
254
226
|
assert.equal(requests.length, 3);
|
|
255
227
|
assert.ok(requests[0], 'First request should exist');
|
|
256
228
|
assert.ok(requests[1], 'Second request should exist');
|
|
@@ -263,11 +235,7 @@ void describe('Network telemetry contract', () => {
|
|
|
263
235
|
});
|
|
264
236
|
void describe('Edge case: Out-of-order events', () => {
|
|
265
237
|
void it('should handle response arriving before request', async () => {
|
|
266
|
-
// This is a real race condition that can happen in CDP
|
|
267
|
-
// Current behavior: Response event is ignored if request doesn't exist yet
|
|
268
|
-
// The second responseReceived event (after request) sets the status correctly
|
|
269
238
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
270
|
-
// Act: Response arrives BEFORE request (early response is ignored)
|
|
271
239
|
mockCDP.emit('Network.responseReceived', createResponseEvent({
|
|
272
240
|
requestId: 'req-1',
|
|
273
241
|
response: createTestResponse({
|
|
@@ -279,7 +247,6 @@ void describe('Network telemetry contract', () => {
|
|
|
279
247
|
frameId: 'frame-1',
|
|
280
248
|
loaderId: 'loader-1',
|
|
281
249
|
}));
|
|
282
|
-
// Request arrives later
|
|
283
250
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
284
251
|
requestId: 'req-1',
|
|
285
252
|
request: createTestRequest({
|
|
@@ -290,7 +257,6 @@ void describe('Network telemetry contract', () => {
|
|
|
290
257
|
frameId: 'frame-1',
|
|
291
258
|
loaderId: 'loader-1',
|
|
292
259
|
}));
|
|
293
|
-
// Response arrives again (normal order) - this one actually sets status
|
|
294
260
|
mockCDP.emit('Network.responseReceived', createResponseEvent({
|
|
295
261
|
requestId: 'req-1',
|
|
296
262
|
response: createTestResponse({
|
|
@@ -307,7 +273,6 @@ void describe('Network telemetry contract', () => {
|
|
|
307
273
|
timestamp: 1100,
|
|
308
274
|
encodedDataLength: 100,
|
|
309
275
|
});
|
|
310
|
-
// Assert: Request is tracked correctly with response data from second response event
|
|
311
276
|
assert.equal(requests.length, 1, 'Should have one request');
|
|
312
277
|
const request = requests[0];
|
|
313
278
|
assert.ok(request, 'Request should exist');
|
|
@@ -320,7 +285,6 @@ void describe('Network telemetry contract', () => {
|
|
|
320
285
|
void describe('Edge case: Failed requests', () => {
|
|
321
286
|
void it('should handle Network.loadingFailed events', async () => {
|
|
322
287
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
323
|
-
// Act: Request fails instead of succeeding
|
|
324
288
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
325
289
|
requestId: 'req-1',
|
|
326
290
|
request: createTestRequest({
|
|
@@ -337,7 +301,6 @@ void describe('Network telemetry contract', () => {
|
|
|
337
301
|
type: 'XHR',
|
|
338
302
|
errorText: 'net::ERR_CONNECTION_REFUSED',
|
|
339
303
|
});
|
|
340
|
-
// Assert: Failed request is recorded with status 0
|
|
341
304
|
assert.equal(requests.length, 1);
|
|
342
305
|
const request = requests[0];
|
|
343
306
|
assert.ok(request, 'Request should exist');
|
|
@@ -348,10 +311,8 @@ void describe('Network telemetry contract', () => {
|
|
|
348
311
|
});
|
|
349
312
|
void describe('Edge case: Stale request cleanup', () => {
|
|
350
313
|
void it('should clean up stale requests after timeout', async () => {
|
|
351
|
-
// Use fake clock to control time
|
|
352
314
|
const clockHelper = useFakeClock();
|
|
353
315
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
354
|
-
// Act: Create request but never finish it
|
|
355
316
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
356
317
|
requestId: 'stale-req',
|
|
357
318
|
request: createTestRequest({
|
|
@@ -362,9 +323,7 @@ void describe('Network telemetry contract', () => {
|
|
|
362
323
|
frameId: 'frame-1',
|
|
363
324
|
loaderId: 'loader-1',
|
|
364
325
|
}));
|
|
365
|
-
// Fast-forward past stale timeout (60s) + cleanup interval (30s)
|
|
366
326
|
await clockHelper.tickAndFlush(91_000);
|
|
367
|
-
// Assert: Stale request is NOT in final output (removed from tracking)
|
|
368
327
|
assert.equal(requests.length, 0, 'Stale requests should not appear in output (removed from tracking)');
|
|
369
328
|
void cleanup();
|
|
370
329
|
clockHelper.restore();
|
|
@@ -375,7 +334,6 @@ void describe('Network telemetry contract', () => {
|
|
|
375
334
|
const cleanup = await startNetworkCollection(mockCDP, requests, { includeAll: true } // Disable domain filtering for this test
|
|
376
335
|
);
|
|
377
336
|
const MAX_REQUESTS = 10_000;
|
|
378
|
-
// Act: Try to collect more than the limit
|
|
379
337
|
for (let i = 1; i <= MAX_REQUESTS + 100; i++) {
|
|
380
338
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
381
339
|
requestId: `req-${i}`,
|
|
@@ -393,23 +351,18 @@ void describe('Network telemetry contract', () => {
|
|
|
393
351
|
encodedDataLength: 100,
|
|
394
352
|
});
|
|
395
353
|
}
|
|
396
|
-
// Assert: Should never exceed MAX_NETWORK_REQUESTS
|
|
397
354
|
assert.ok(requests.length <= MAX_REQUESTS, `Should not exceed ${MAX_REQUESTS} requests, got ${requests.length}`);
|
|
398
355
|
void cleanup();
|
|
399
356
|
});
|
|
400
357
|
});
|
|
401
358
|
void describe('Cleanup behavior', () => {
|
|
402
359
|
void it('should remove all event handlers on cleanup', async () => {
|
|
403
|
-
// Arrange
|
|
404
360
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
405
|
-
// Assert: Handlers registered during start
|
|
406
361
|
assert.ok(mockCDP.getHandlerCount('Network.requestWillBeSent') > 0, 'Should have requestWillBeSent handler');
|
|
407
362
|
assert.ok(mockCDP.getHandlerCount('Network.responseReceived') > 0, 'Should have responseReceived handler');
|
|
408
363
|
assert.ok(mockCDP.getHandlerCount('Network.loadingFinished') > 0, 'Should have loadingFinished handler');
|
|
409
364
|
assert.ok(mockCDP.getHandlerCount('Network.loadingFailed') > 0, 'Should have loadingFailed handler');
|
|
410
|
-
// Act: Call cleanup
|
|
411
365
|
void cleanup();
|
|
412
|
-
// Assert: All handlers removed
|
|
413
366
|
assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0, 'Should remove requestWillBeSent handler');
|
|
414
367
|
assert.equal(mockCDP.getHandlerCount('Network.responseReceived'), 0, 'Should remove responseReceived handler');
|
|
415
368
|
assert.equal(mockCDP.getHandlerCount('Network.loadingFinished'), 0, 'Should remove loadingFinished handler');
|
|
@@ -417,20 +370,15 @@ void describe('Network telemetry contract', () => {
|
|
|
417
370
|
});
|
|
418
371
|
void it('should be idempotent (safe to call multiple times)', async () => {
|
|
419
372
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
420
|
-
// Act: Call cleanup multiple times
|
|
421
373
|
void cleanup();
|
|
422
374
|
void cleanup();
|
|
423
375
|
void cleanup();
|
|
424
|
-
// Assert: No errors thrown, handlers remain removed
|
|
425
376
|
assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0);
|
|
426
377
|
});
|
|
427
378
|
});
|
|
428
379
|
void describe('Domain filtering', () => {
|
|
429
380
|
void it('should exclude default tracking domains by default', async () => {
|
|
430
|
-
const cleanup = await startNetworkCollection(mockCDP, requests
|
|
431
|
-
// includeAll defaults to false
|
|
432
|
-
);
|
|
433
|
-
// Act: Send requests to tracking domains
|
|
381
|
+
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
434
382
|
const trackingDomains = [
|
|
435
383
|
'https://www.google-analytics.com/collect',
|
|
436
384
|
'https://connect.facebook.net/en_US/fbevents.js',
|
|
@@ -451,7 +399,6 @@ void describe('Network telemetry contract', () => {
|
|
|
451
399
|
encodedDataLength: 100,
|
|
452
400
|
});
|
|
453
401
|
}
|
|
454
|
-
// Assert: Tracking requests are filtered out
|
|
455
402
|
assert.equal(requests.length, 0, 'Tracking domains should be filtered by default');
|
|
456
403
|
void cleanup();
|
|
457
404
|
});
|
|
@@ -459,7 +406,6 @@ void describe('Network telemetry contract', () => {
|
|
|
459
406
|
const cleanup = await startNetworkCollection(mockCDP, requests, {
|
|
460
407
|
includeAll: true,
|
|
461
408
|
});
|
|
462
|
-
// Act: Send request to tracking domain
|
|
463
409
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
464
410
|
requestId: 'req-1',
|
|
465
411
|
request: createTestRequest({
|
|
@@ -475,7 +421,6 @@ void describe('Network telemetry contract', () => {
|
|
|
475
421
|
timestamp: 2000,
|
|
476
422
|
encodedDataLength: 100,
|
|
477
423
|
});
|
|
478
|
-
// Assert: Request included when includeAll=true
|
|
479
424
|
assert.equal(requests.length, 1);
|
|
480
425
|
const request = requests[0];
|
|
481
426
|
assert.ok(request, 'Request should exist');
|
|
@@ -487,7 +432,6 @@ void describe('Network telemetry contract', () => {
|
|
|
487
432
|
void it('should fetch body for JSON responses under size limit', async () => {
|
|
488
433
|
const cleanup = await startNetworkCollection(mockCDP, requests, { fetchAllBodies: true } // Force fetch all bodies for this test
|
|
489
434
|
);
|
|
490
|
-
// Act: JSON response under 5MB
|
|
491
435
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
492
436
|
requestId: 'req-1',
|
|
493
437
|
request: createTestRequest({
|
|
@@ -514,16 +458,13 @@ void describe('Network telemetry contract', () => {
|
|
|
514
458
|
timestamp: 1100,
|
|
515
459
|
encodedDataLength: 1024, // 1KB - under limit
|
|
516
460
|
});
|
|
517
|
-
// Wait for async body fetch
|
|
518
461
|
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
519
|
-
// Assert: Should attempt to fetch body (mock doesn't actually fetch, but real code would)
|
|
520
462
|
assert.equal(requests.length, 1);
|
|
521
463
|
void cleanup();
|
|
522
464
|
});
|
|
523
465
|
void it('should skip body for large responses', async () => {
|
|
524
466
|
const cleanup = await startNetworkCollection(mockCDP, requests, { maxBodySize: 1024 } // 1KB limit for testing
|
|
525
467
|
);
|
|
526
|
-
// Act: JSON response over size limit
|
|
527
468
|
mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
|
|
528
469
|
requestId: 'req-1',
|
|
529
470
|
request: createTestRequest({
|
|
@@ -550,7 +491,6 @@ void describe('Network telemetry contract', () => {
|
|
|
550
491
|
timestamp: 1100,
|
|
551
492
|
encodedDataLength: 10 * 1024 * 1024, // 10MB - over 1KB limit
|
|
552
493
|
});
|
|
553
|
-
// Assert: Body should be marked as skipped
|
|
554
494
|
assert.equal(requests.length, 1);
|
|
555
495
|
const request = requests[0];
|
|
556
496
|
assert.ok(request, 'Request should exist');
|
|
@@ -560,9 +500,7 @@ void describe('Network telemetry contract', () => {
|
|
|
560
500
|
});
|
|
561
501
|
void describe('Initialization', () => {
|
|
562
502
|
void it('should enable Network domain on start', async () => {
|
|
563
|
-
// Act
|
|
564
503
|
const cleanup = await startNetworkCollection(mockCDP, requests);
|
|
565
|
-
// Assert: Network.enable was called
|
|
566
504
|
assert.ok(mockCDP.wasNetworkEnabled(), 'Should call Network.enable');
|
|
567
505
|
void cleanup();
|
|
568
506
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.contract.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network.contract.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;;GAGG;AACH,MAAM,iBAAiB;IACb,aAAa,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC1E,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAgD,EAAE,CAAC;IAEpE;;OAEG;IACH,IAAI,CAAC,MAAc,EAAE,MAAgB;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,EAAE,CAAI,KAAa,EAAE,OAA4B;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAoC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAa,EAAE,SAAiB;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,KAAa,EAAE,MAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAA0C;IACnE,OAAO;QACL,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,cAAc,EAAE,4BAA4B;QAC5C,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,OAA2C;IAE3C,OAAO;QACL,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,QAAQ;QACvB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,OAAyD;IAEzD,OAAO;QACL,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9B,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,OAAO;QACb,GAAG,OAAO;KACgC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,OAAwD;IAExD,OAAO;QACL,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAChC,YAAY,EAAE,KAAK;QACnB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,KAAK,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC/C,IAAI,OAA0B,CAAC;IAC/B,IAAI,QAA0B,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClC,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACnD,KAAK,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;iBAClC,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;gBAClB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,kBAAkB,CAAC;oBAC3B,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;gBAC7E,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,6BAA6B,CAAC,CAAC;YACjE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;YAEnE,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;oBACjB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,OAAO,EAAE,EAAE,GAAG,EAAE,oCAAoC,CAAC,EAAE,EAA8B;oBACrF,SAAS,EAAE,IAAI,GAAG,CAAC;oBACnB,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,UAAU;iBACrB,CAAC,CACH,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;oBAClB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,QAAQ,EAAE;wBACR,GAAG,EAAE,oCAAoC,CAAC,EAAE;wBAC5C,QAAQ,EAAE,kBAAkB;qBACA;oBAC9B,SAAS,EAAE,IAAI,GAAG,CAAC;oBACnB,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,UAAU;iBACrB,CAAC,CACH,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;oBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,IAAI,GAAG,CAAC;oBACnB,iBAAiB,EAAE,GAAG;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE7C,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACnD,KAAK,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;gBAClB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,kBAAkB,CAAC;oBAC3B,GAAG,EAAE,+BAA+B;oBACpC,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,+BAA+B;iBACrC,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;gBAClB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,kBAAkB,CAAC;oBAC3B,GAAG,EAAE,+BAA+B;oBACpC,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;gBAC7E,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,GAAG;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,iDAAiD,CAAC,CAAC;YACrF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;YAE9E,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC/C,KAAK,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,8BAA8B;iBACpC,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAsC,uBAAuB,EAAE;gBACzE,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,6BAA6B;aACzC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;YAE1D,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACrD,KAAK,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,iCAAiC;iBACvC,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,MAAM,EACf,CAAC,EACD,oEAAoE,CACrE,CAAC;YAEF,KAAK,OAAO,EAAE,CAAC;YACf,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QAC9C,KAAK,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,OAAmC,EACnC,QAAQ,EACR,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,yCAAyC;aAC/D,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;oBACjB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,OAAO,EAAE,iBAAiB,CAAC;wBACzB,GAAG,EAAE,gCAAgC,CAAC,EAAE;qBACzC,CAAC;oBACF,SAAS,EAAE,IAAI,GAAG,CAAC;oBACnB,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,UAAU;iBACrB,CAAC,CACH,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;oBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,IAAI,GAAG,CAAC;oBACnB,iBAAiB,EAAE,GAAG;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,EAAE,CACP,QAAQ,CAAC,MAAM,IAAI,YAAY,EAC/B,qBAAqB,YAAY,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CACrE,CAAC;YAEF,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACrC,KAAK,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,EACxD,uCAAuC,CACxC,CAAC;YACF,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,CAAC,EACvD,sCAAsC,CACvC,CAAC;YACF,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,EACtD,qCAAqC,CACtC,CAAC;YACF,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,EACpD,mCAAmC,CACpC,CAAC;YAEF,KAAK,OAAO,EAAE,CAAC;YAEf,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,EACpD,CAAC,EACD,yCAAyC,CAC1C,CAAC;YACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,eAAe,CAAC,0BAA0B,CAAC,EACnD,CAAC,EACD,wCAAwC,CACzC,CAAC;YACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAClD,CAAC,EACD,uCAAuC,CACxC,CAAC;YACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAChD,CAAC,EACD,qCAAqC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,KAAK,OAAO,EAAE,CAAC;YACf,KAAK,OAAO,EAAE,CAAC;YACf,KAAK,OAAO,EAAE,CAAC;YAEf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACrC,KAAK,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,MAAM,eAAe,GAAG;gBACtB,0CAA0C;gBAC1C,gDAAgD;gBAChD,0CAA0C;aAC3C,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;oBACjB,SAAS,EAAE,OAAO,GAAG,EAAE;oBACvB,OAAO,EAAE,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;oBACnC,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,UAAU;iBACrB,CAAC,CACH,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;oBAC7E,SAAS,EAAE,OAAO,GAAG,EAAE;oBACvB,SAAS,EAAE,IAAI;oBACf,iBAAiB,EAAE,GAAG;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;YAEnF,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,EAAE;gBAC1F,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,0CAA0C;iBAChD,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;gBAC7E,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,GAAG;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAExD,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC3C,KAAK,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,OAAmC,EACnC,QAAQ,EACR,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,uCAAuC;aACjE,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,mCAAmC;iBACzC,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;gBAClB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,kBAAkB,CAAC;oBAC3B,GAAG,EAAE,mCAAmC;oBACxC,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;gBAC7E,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,IAAI,EAAE,oBAAoB;aAC9C,CAAC,CAAC;YAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAExD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEjC,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,OAAmC,EACnC,QAAQ,EACR,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,wBAAwB;aAC/C,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,2BAA2B,EAC3B,kBAAkB,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,iBAAiB,CAAC;oBACzB,GAAG,EAAE,oCAAoC;iBAC1C,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,mBAAmB,CAAC;gBAClB,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,kBAAkB,CAAC;oBAC3B,GAAG,EAAE,oCAAoC;oBACzC,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC;gBACF,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;aACrB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,CAAwC,yBAAyB,EAAE;gBAC7E,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,wBAAwB;aAC9D,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EAC9D,wCAAwC,CACzC,CAAC;YAEF,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACnC,KAAK,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAmC,EAAE,QAAQ,CAAC,CAAC;YAE5F,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAErE,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../../../src/telemetry/__tests__/utils.unit.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for telemetry utility functions
|
|
3
|
+
*
|
|
4
|
+
* Tests the public contract of shared utilities used across telemetry collectors.
|
|
5
|
+
*/
|
|
6
|
+
import assert from 'node:assert/strict';
|
|
7
|
+
import { describe, it } from 'node:test';
|
|
8
|
+
import { withTimeout, pushWithLimit } from '../../telemetry/utils.js';
|
|
9
|
+
describe('withTimeout', () => {
|
|
10
|
+
it('should resolve when promise completes before timeout', async () => {
|
|
11
|
+
const promise = Promise.resolve(42);
|
|
12
|
+
const result = await withTimeout(promise, 1000, 'test');
|
|
13
|
+
assert.equal(result, 42);
|
|
14
|
+
});
|
|
15
|
+
it('should reject when promise times out', async () => {
|
|
16
|
+
const promise = new Promise((resolve) => setTimeout(resolve, 100));
|
|
17
|
+
await assert.rejects(async () => withTimeout(promise, 10, 'test-operation'), {
|
|
18
|
+
message: 'CDP test-operation timed out after 10ms',
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
it('should reject with original error when promise rejects before timeout', async () => {
|
|
22
|
+
const promise = Promise.reject(new Error('Original error'));
|
|
23
|
+
await assert.rejects(async () => withTimeout(promise, 1000, 'test'), {
|
|
24
|
+
message: 'Original error',
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
it('should include operation label in timeout error', async () => {
|
|
28
|
+
const promise = new Promise(() => { });
|
|
29
|
+
await assert.rejects(async () => withTimeout(promise, 10, 'DOM.getDocument'), {
|
|
30
|
+
message: /DOM\.getDocument timed out/,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe('pushWithLimit', () => {
|
|
35
|
+
it('should add item when buffer is below limit', () => {
|
|
36
|
+
const buffer = [1, 2, 3];
|
|
37
|
+
let callbackCalled = false;
|
|
38
|
+
pushWithLimit(buffer, 4, 10, () => {
|
|
39
|
+
callbackCalled = true;
|
|
40
|
+
});
|
|
41
|
+
assert.deepEqual(buffer, [1, 2, 3, 4]);
|
|
42
|
+
assert.equal(callbackCalled, false);
|
|
43
|
+
});
|
|
44
|
+
it('should call callback exactly once when limit is reached', () => {
|
|
45
|
+
const buffer = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
46
|
+
let callCount = 0;
|
|
47
|
+
pushWithLimit(buffer, 10, 10, () => {
|
|
48
|
+
callCount++;
|
|
49
|
+
});
|
|
50
|
+
assert.equal(buffer.length, 10);
|
|
51
|
+
assert.equal(callCount, 1);
|
|
52
|
+
});
|
|
53
|
+
it('should not call callback multiple times when already at limit', () => {
|
|
54
|
+
const buffer = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
55
|
+
let callCount = 0;
|
|
56
|
+
pushWithLimit(buffer, 10, 10, () => {
|
|
57
|
+
callCount++;
|
|
58
|
+
});
|
|
59
|
+
pushWithLimit(buffer, 11, 10, () => {
|
|
60
|
+
callCount++;
|
|
61
|
+
});
|
|
62
|
+
pushWithLimit(buffer, 12, 10, () => {
|
|
63
|
+
callCount++;
|
|
64
|
+
});
|
|
65
|
+
assert.equal(buffer.length, 10);
|
|
66
|
+
assert.equal(callCount, 1);
|
|
67
|
+
});
|
|
68
|
+
it('should silently drop items beyond limit', () => {
|
|
69
|
+
const buffer = [1, 2, 3];
|
|
70
|
+
const limit = 3;
|
|
71
|
+
pushWithLimit(buffer, 4, limit, () => { });
|
|
72
|
+
pushWithLimit(buffer, 5, limit, () => { });
|
|
73
|
+
assert.equal(buffer.length, 3);
|
|
74
|
+
assert.deepEqual(buffer, [1, 2, 3]);
|
|
75
|
+
});
|
|
76
|
+
it('should work with different item types', () => {
|
|
77
|
+
const buffer = ['a', 'b'];
|
|
78
|
+
pushWithLimit(buffer, 'c', 5, () => { });
|
|
79
|
+
assert.deepEqual(buffer, ['a', 'b', 'c']);
|
|
80
|
+
});
|
|
81
|
+
it('should handle zero limit correctly', () => {
|
|
82
|
+
const buffer = [];
|
|
83
|
+
let callbackCalled = false;
|
|
84
|
+
pushWithLimit(buffer, 1, 0, () => {
|
|
85
|
+
callbackCalled = true;
|
|
86
|
+
});
|
|
87
|
+
assert.equal(buffer.length, 0);
|
|
88
|
+
assert.equal(callbackCalled, false);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=utils.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.unit.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/utils.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Protocol } from '../connection/typed-cdp.js';
|
|
2
|
+
import type { A11yNode, A11yTree, A11yQueryPattern, A11yQueryResult } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Builds accessibility tree from raw CDP nodes.
|
|
5
|
+
*
|
|
6
|
+
* Pure function that filters out ignored nodes and builds the tree structure.
|
|
7
|
+
* Separated from collectA11yTree for easier unit testing.
|
|
8
|
+
*
|
|
9
|
+
* @param rawNodes - Raw AXNode array from CDP
|
|
10
|
+
* @returns Parsed accessibility tree
|
|
11
|
+
* @throws Error if no root node found
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildTreeFromRawNodes(rawNodes: Protocol.Accessibility.AXNode[]): A11yTree;
|
|
14
|
+
/**
|
|
15
|
+
* Collects the full accessibility tree from the page via IPC.
|
|
16
|
+
*
|
|
17
|
+
* Uses the worker's persistent CDP connection through callCDP for consistency
|
|
18
|
+
* with other DOM commands and to avoid connection conflicts.
|
|
19
|
+
*
|
|
20
|
+
* @returns Parsed and filtered accessibility tree
|
|
21
|
+
* @throws Error if CDP Accessibility domain fails
|
|
22
|
+
*/
|
|
23
|
+
export declare function collectA11yTree(): Promise<A11yTree>;
|
|
24
|
+
/**
|
|
25
|
+
* Queries accessibility tree by pattern (role, name, description).
|
|
26
|
+
*
|
|
27
|
+
* Performs case-insensitive matching with AND logic for multiple fields.
|
|
28
|
+
*
|
|
29
|
+
* @param tree - Accessibility tree to search
|
|
30
|
+
* @param pattern - Query pattern with optional role, name, description
|
|
31
|
+
* @returns Query result with matching nodes
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* // Find submit buttons
|
|
36
|
+
* queryA11yTree(tree, { role: 'button', name: 'Submit' });
|
|
37
|
+
*
|
|
38
|
+
* // Find all textboxes
|
|
39
|
+
* queryA11yTree(tree, { role: 'textbox' });
|
|
40
|
+
*
|
|
41
|
+
* // Find by name only
|
|
42
|
+
* queryA11yTree(tree, { name: 'Email' });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function queryA11yTree(tree: A11yTree, pattern: A11yQueryPattern): A11yQueryResult;
|
|
46
|
+
/**
|
|
47
|
+
* Parses query pattern string into A11yQueryPattern object.
|
|
48
|
+
*
|
|
49
|
+
* Supports format: "role:button name:Submit description:Main"
|
|
50
|
+
* Fields are separated by spaces, case-insensitive.
|
|
51
|
+
*
|
|
52
|
+
* @param patternString - Query pattern string
|
|
53
|
+
* @returns Parsed query pattern
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* parseQueryPattern('role:button name:Submit')
|
|
58
|
+
* // => { role: 'button', name: 'Submit' }
|
|
59
|
+
*
|
|
60
|
+
* parseQueryPattern('role:textbox')
|
|
61
|
+
* // => { role: 'textbox' }
|
|
62
|
+
*
|
|
63
|
+
* parseQueryPattern('name:Email')
|
|
64
|
+
* // => { name: 'Email' }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function parseQueryPattern(patternString: string): A11yQueryPattern;
|
|
68
|
+
/**
|
|
69
|
+
* Gets accessibility properties for a DOM node by CSS selector via IPC.
|
|
70
|
+
*
|
|
71
|
+
* Uses the worker's persistent CDP connection through callCDP for consistency.
|
|
72
|
+
*
|
|
73
|
+
* @param selector - CSS selector
|
|
74
|
+
* @returns A11y node or null if not found
|
|
75
|
+
* @throws Error if selector is invalid or element not found
|
|
76
|
+
*/
|
|
77
|
+
export declare function getA11yNodeBySelector(selector: string): Promise<A11yNode | null>;
|
|
78
|
+
//# sourceMappingURL=a11y.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../src/telemetry/a11y.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,QAAQ,CAwBzF;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,CAgBzD;AA6ED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAcxF;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CA2BzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyCtF"}
|