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
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured IPC error classes.
|
|
3
|
+
*
|
|
4
|
+
* Provides type-safe error handling for IPC transport layer failures.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all IPC-related errors.
|
|
8
|
+
*
|
|
9
|
+
* Extends Error to include exit codes for consistent CLI behavior.
|
|
10
|
+
*/
|
|
11
|
+
export declare class IPCError extends Error {
|
|
12
|
+
readonly exitCode: number;
|
|
13
|
+
constructor(message: string, exitCode?: number);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Error thrown when IPC connection to daemon fails.
|
|
17
|
+
*
|
|
18
|
+
* Indicates the daemon is not running or socket is unavailable.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* throw new IPCConnectionError(
|
|
23
|
+
* 'Failed to connect to daemon socket',
|
|
24
|
+
* '/Users/user/.bdg/daemon.sock',
|
|
25
|
+
* 'ENOENT'
|
|
26
|
+
* );
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class IPCConnectionError extends IPCError {
|
|
30
|
+
readonly name = "IPCConnectionError";
|
|
31
|
+
readonly socketPath: string;
|
|
32
|
+
readonly code?: string;
|
|
33
|
+
constructor(message: string, socketPath: string, code?: string);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Error thrown when IPC request times out.
|
|
37
|
+
*
|
|
38
|
+
* Indicates the daemon received the request but didn't respond in time.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* throw new IPCTimeoutError('worker_status', 5000);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class IPCTimeoutError extends IPCError {
|
|
46
|
+
readonly name = "IPCTimeoutError";
|
|
47
|
+
readonly requestName: string;
|
|
48
|
+
readonly timeoutMs: number;
|
|
49
|
+
constructor(requestName: string, timeoutMs: number);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Error thrown when IPC response parsing fails.
|
|
53
|
+
*
|
|
54
|
+
* Indicates malformed JSON or unexpected response format.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* throw new IPCParseError('worker_peek', 'Unexpected token in JSON');
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare class IPCParseError extends IPCError {
|
|
62
|
+
readonly name = "IPCParseError";
|
|
63
|
+
readonly requestName: string;
|
|
64
|
+
readonly cause?: Error;
|
|
65
|
+
constructor(requestName: string, message: string, cause?: Error);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Error thrown when connection closes before response received.
|
|
69
|
+
*
|
|
70
|
+
* Indicates daemon crashed or was killed during request processing.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* throw new IPCEarlyCloseError('worker_peek');
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare class IPCEarlyCloseError extends IPCError {
|
|
78
|
+
readonly name = "IPCEarlyCloseError";
|
|
79
|
+
readonly requestName: string;
|
|
80
|
+
constructor(requestName: string);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=IPCError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPCError.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/IPCError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkC;CAS1E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,SAAyB,IAAI,wBAAwB;IACrD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAO/D;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,SAAyB,IAAI,qBAAqB;IAClD,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKnD;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,SAAyB,IAAI,mBAAmB;IAChD,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAE3B,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAOhE;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,SAAyB,IAAI,wBAAwB;IACrD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,MAAM;CAIhC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured IPC error classes.
|
|
3
|
+
*
|
|
4
|
+
* Provides type-safe error handling for IPC transport layer failures.
|
|
5
|
+
*/
|
|
6
|
+
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
7
|
+
/**
|
|
8
|
+
* Base class for all IPC-related errors.
|
|
9
|
+
*
|
|
10
|
+
* Extends Error to include exit codes for consistent CLI behavior.
|
|
11
|
+
*/
|
|
12
|
+
export class IPCError extends Error {
|
|
13
|
+
exitCode;
|
|
14
|
+
constructor(message, exitCode = EXIT_CODES.SOFTWARE_ERROR) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'IPCError';
|
|
17
|
+
this.exitCode = exitCode;
|
|
18
|
+
if (Error.captureStackTrace) {
|
|
19
|
+
Error.captureStackTrace(this, IPCError);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Error thrown when IPC connection to daemon fails.
|
|
25
|
+
*
|
|
26
|
+
* Indicates the daemon is not running or socket is unavailable.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* throw new IPCConnectionError(
|
|
31
|
+
* 'Failed to connect to daemon socket',
|
|
32
|
+
* '/Users/user/.bdg/daemon.sock',
|
|
33
|
+
* 'ENOENT'
|
|
34
|
+
* );
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export class IPCConnectionError extends IPCError {
|
|
38
|
+
name = 'IPCConnectionError';
|
|
39
|
+
socketPath;
|
|
40
|
+
code;
|
|
41
|
+
constructor(message, socketPath, code) {
|
|
42
|
+
super(message, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
43
|
+
this.socketPath = socketPath;
|
|
44
|
+
if (code !== undefined) {
|
|
45
|
+
this.code = code;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Error thrown when IPC request times out.
|
|
51
|
+
*
|
|
52
|
+
* Indicates the daemon received the request but didn't respond in time.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* throw new IPCTimeoutError('worker_status', 5000);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export class IPCTimeoutError extends IPCError {
|
|
60
|
+
name = 'IPCTimeoutError';
|
|
61
|
+
requestName;
|
|
62
|
+
timeoutMs;
|
|
63
|
+
constructor(requestName, timeoutMs) {
|
|
64
|
+
super(`${requestName} request timeout after ${timeoutMs / 1000}s`, EXIT_CODES.CDP_TIMEOUT);
|
|
65
|
+
this.requestName = requestName;
|
|
66
|
+
this.timeoutMs = timeoutMs;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Error thrown when IPC response parsing fails.
|
|
71
|
+
*
|
|
72
|
+
* Indicates malformed JSON or unexpected response format.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* throw new IPCParseError('worker_peek', 'Unexpected token in JSON');
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export class IPCParseError extends IPCError {
|
|
80
|
+
name = 'IPCParseError';
|
|
81
|
+
requestName;
|
|
82
|
+
cause;
|
|
83
|
+
constructor(requestName, message, cause) {
|
|
84
|
+
super(`Failed to parse ${requestName} response: ${message}`, EXIT_CODES.SOFTWARE_ERROR);
|
|
85
|
+
this.requestName = requestName;
|
|
86
|
+
if (cause !== undefined) {
|
|
87
|
+
this.cause = cause;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Error thrown when connection closes before response received.
|
|
93
|
+
*
|
|
94
|
+
* Indicates daemon crashed or was killed during request processing.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* throw new IPCEarlyCloseError('worker_peek');
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export class IPCEarlyCloseError extends IPCError {
|
|
102
|
+
name = 'IPCEarlyCloseError';
|
|
103
|
+
requestName;
|
|
104
|
+
constructor(requestName) {
|
|
105
|
+
super(`Connection closed before ${requestName} response received`, EXIT_CODES.SOFTWARE_ERROR);
|
|
106
|
+
this.requestName = requestName;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=IPCError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPCError.js","sourceRoot":"","sources":["../../../src/ipc/transport/IPCError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,QAAQ,CAAS;IAEjC,YAAY,OAAe,EAAE,WAAmB,UAAU,CAAC,cAAc;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrB,IAAI,GAAG,oBAAoB,CAAC;IACrC,UAAU,CAAS;IACnB,IAAI,CAAU;IAE9B,YAAY,OAAe,EAAE,UAAkB,EAAE,IAAa;QAC5D,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAClB,IAAI,GAAG,iBAAiB,CAAC;IAClC,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,WAAmB,EAAE,SAAiB;QAChD,KAAK,CAAC,GAAG,WAAW,0BAA0B,SAAS,GAAG,IAAI,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,QAAQ;IAChB,IAAI,GAAG,eAAe,CAAC;IAChC,WAAW,CAAS;IACX,KAAK,CAAS;IAEvC,YAAY,WAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,mBAAmB,WAAW,cAAc,OAAO,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QACxF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrB,IAAI,GAAG,oBAAoB,CAAC;IACrC,WAAW,CAAS;IAEpC,YAAY,WAAmB;QAC7B,KAAK,CAAC,4BAA4B,WAAW,oBAAoB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Error Formatting
|
|
3
|
+
*
|
|
4
|
+
* Formats transport-layer errors with context using structured error classes.
|
|
5
|
+
*/
|
|
6
|
+
import { IPCConnectionError, IPCParseError, IPCTimeoutError, IPCEarlyCloseError } from './IPCError.js';
|
|
7
|
+
export declare function formatConnectionError(requestName: string, socketPath: string, error: Error): IPCConnectionError;
|
|
8
|
+
export declare function formatParseError(requestName: string, error: unknown): IPCParseError;
|
|
9
|
+
export declare function formatTimeoutError(requestName: string, timeoutMs: number): IPCTimeoutError;
|
|
10
|
+
export declare function formatEarlyCloseError(requestName: string): IPCEarlyCloseError;
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,GACX,kBAAkB,CASpB;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CAGnF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAE1F;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAE7E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Error Formatting
|
|
3
|
+
*
|
|
4
|
+
* Formats transport-layer errors with context using structured error classes.
|
|
5
|
+
*/
|
|
6
|
+
import { getErrorMessage } from '../../utils/errors.js';
|
|
7
|
+
import { IPCConnectionError, IPCParseError, IPCTimeoutError, IPCEarlyCloseError, } from './IPCError.js';
|
|
8
|
+
export function formatConnectionError(requestName, socketPath, error) {
|
|
9
|
+
const code = error.code;
|
|
10
|
+
const message = [
|
|
11
|
+
`IPC ${requestName} connection error`,
|
|
12
|
+
`Socket: ${socketPath}`,
|
|
13
|
+
...(code ? [`Code: ${code}`] : []),
|
|
14
|
+
`Details: ${error.message}`,
|
|
15
|
+
].join(' | ');
|
|
16
|
+
return new IPCConnectionError(message, socketPath, code);
|
|
17
|
+
}
|
|
18
|
+
export function formatParseError(requestName, error) {
|
|
19
|
+
const cause = error instanceof Error ? error : undefined;
|
|
20
|
+
return new IPCParseError(requestName, getErrorMessage(error), cause);
|
|
21
|
+
}
|
|
22
|
+
export function formatTimeoutError(requestName, timeoutMs) {
|
|
23
|
+
return new IPCTimeoutError(requestName, timeoutMs);
|
|
24
|
+
}
|
|
25
|
+
export function formatEarlyCloseError(requestName) {
|
|
26
|
+
return new IPCEarlyCloseError(requestName);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/ipc/transport/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,UAAkB,EAClB,KAAY;IAEZ,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;IACnD,MAAM,OAAO,GAAG;QACd,OAAO,WAAW,mBAAmB;QACrC,WAAW,UAAU,EAAE;QACvB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,YAAY,KAAK,CAAC,OAAO,EAAE;KAC5B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,KAAc;IAClE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,SAAiB;IACvE,OAAO,IAAI,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC Transport Layer
|
|
3
|
+
*
|
|
4
|
+
* Handles Unix domain socket communication with JSONL protocol.
|
|
5
|
+
*/
|
|
6
|
+
export { IPCError, IPCConnectionError, IPCTimeoutError, IPCParseError, IPCEarlyCloseError, } from './IPCError.js';
|
|
7
|
+
type WithTypeAndSession = {
|
|
8
|
+
type: string;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Send IPC request and wait for response.
|
|
13
|
+
* Handles connection, JSONL protocol, validation, timeout, and cleanup.
|
|
14
|
+
*/
|
|
15
|
+
export declare function sendRequest<TRequest extends WithTypeAndSession, TResponse extends WithTypeAndSession>(request: TRequest, requestName: string, expectedType?: string): Promise<TResponse>;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAIvB,KAAK,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,kBAAkB,EACpC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAmEnF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC Transport Layer
|
|
3
|
+
*
|
|
4
|
+
* Handles Unix domain socket communication with JSONL protocol.
|
|
5
|
+
*/
|
|
6
|
+
import { getIPCRequestTimeout } from '../../constants.js';
|
|
7
|
+
import { getDaemonSocketPath } from '../../session/paths.js';
|
|
8
|
+
import { createLogger } from '../../ui/logging/index.js';
|
|
9
|
+
import { formatConnectionError, formatEarlyCloseError, formatParseError, formatTimeoutError, } from './errors.js';
|
|
10
|
+
import { JSONLBuffer, parseJSONLFrame, toJSONLFrame } from './jsonl.js';
|
|
11
|
+
import { createSocket } from './socket.js';
|
|
12
|
+
import { validateResponseType, validateSessionId } from './validation.js';
|
|
13
|
+
// Export structured error classes for external use
|
|
14
|
+
export { IPCError, IPCConnectionError, IPCTimeoutError, IPCParseError, IPCEarlyCloseError, } from './IPCError.js';
|
|
15
|
+
const log = createLogger('client');
|
|
16
|
+
/**
|
|
17
|
+
* Send IPC request and wait for response.
|
|
18
|
+
* Handles connection, JSONL protocol, validation, timeout, and cleanup.
|
|
19
|
+
*/
|
|
20
|
+
export async function sendRequest(request, requestName, expectedType) {
|
|
21
|
+
const socketPath = getDaemonSocketPath();
|
|
22
|
+
const timeoutMs = getIPCRequestTimeout();
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
const buffer = new JSONLBuffer();
|
|
25
|
+
let resolved = false;
|
|
26
|
+
const resolveOnce = (cleanup, error, response) => {
|
|
27
|
+
if (resolved)
|
|
28
|
+
return;
|
|
29
|
+
resolved = true;
|
|
30
|
+
cleanup();
|
|
31
|
+
if (error) {
|
|
32
|
+
reject(error);
|
|
33
|
+
}
|
|
34
|
+
else if (response) {
|
|
35
|
+
resolve(response);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const { cleanup } = createSocket({ socketPath, timeoutMs, requestName }, {
|
|
39
|
+
onConnect: (s) => {
|
|
40
|
+
s.write(toJSONLFrame(request));
|
|
41
|
+
log.debug(`${requestName} request sent`);
|
|
42
|
+
},
|
|
43
|
+
onData: (chunk) => {
|
|
44
|
+
const lines = buffer.process(chunk);
|
|
45
|
+
for (const line of lines) {
|
|
46
|
+
if (resolved)
|
|
47
|
+
return;
|
|
48
|
+
try {
|
|
49
|
+
const response = parseJSONLFrame(line);
|
|
50
|
+
log.debug(`${requestName} response received`);
|
|
51
|
+
validateSessionId(request, response, requestName);
|
|
52
|
+
if (expectedType) {
|
|
53
|
+
validateResponseType(response, expectedType, requestName);
|
|
54
|
+
}
|
|
55
|
+
resolveOnce(cleanup, undefined, response);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
resolveOnce(cleanup, formatParseError(requestName, error));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
onError: (err) => {
|
|
63
|
+
resolveOnce(cleanup, formatConnectionError(requestName, socketPath, err));
|
|
64
|
+
},
|
|
65
|
+
onClose: () => {
|
|
66
|
+
resolveOnce(cleanup, formatEarlyCloseError(requestName));
|
|
67
|
+
},
|
|
68
|
+
onEnd: () => {
|
|
69
|
+
resolveOnce(cleanup, formatEarlyCloseError(requestName));
|
|
70
|
+
},
|
|
71
|
+
onTimeout: () => {
|
|
72
|
+
resolveOnce(cleanup, formatTimeoutError(requestName, timeoutMs));
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ipc/transport/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,mDAAmD;AACnD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAInC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAG/B,OAAiB,EAAE,WAAmB,EAAE,YAAqB;IAC7D,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IAEzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,WAAW,GAAG,CAAC,OAAmB,EAAE,KAAa,EAAE,QAAoB,EAAQ,EAAE;YACrF,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAC9B,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,EACtC;YACE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/B,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,QAAQ;wBAAE,OAAO;oBAErB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,eAAe,CAAY,IAAI,CAAC,CAAC;wBAClD,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,oBAAoB,CAAC,CAAC;wBAE9C,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAClD,IAAI,YAAY,EAAE,CAAC;4BACjB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;wBAC5D,CAAC;wBAED,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,WAAW,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,KAAK,EAAE,GAAG,EAAE;gBACV,WAAW,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,SAAS,EAAE,GAAG,EAAE;gBACd,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YACnE,CAAC;SACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL Protocol Handler
|
|
3
|
+
*
|
|
4
|
+
* Utilities for parsing newline-delimited JSON streams.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Error thrown when JSONL buffer exceeds maximum size.
|
|
8
|
+
*/
|
|
9
|
+
export declare class JSONLBufferOverflowError extends Error {
|
|
10
|
+
constructor(bufferSize: number, maxSize: number);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* JSONL buffer for accumulating partial frames.
|
|
14
|
+
*
|
|
15
|
+
* Enforces a maximum buffer size to prevent OOM attacks from processes
|
|
16
|
+
* that send unbounded data without newlines.
|
|
17
|
+
*/
|
|
18
|
+
export declare class JSONLBuffer {
|
|
19
|
+
private buffer;
|
|
20
|
+
/**
|
|
21
|
+
* Process incoming chunk and extract complete JSONL frames.
|
|
22
|
+
*
|
|
23
|
+
* @param chunk - Incoming data chunk
|
|
24
|
+
* @returns Array of complete JSONL frames (lines)
|
|
25
|
+
* @throws JSONLBufferOverflowError if buffer exceeds MAX_JSONL_BUFFER_SIZE
|
|
26
|
+
*/
|
|
27
|
+
process(chunk: string): string[];
|
|
28
|
+
clear(): void;
|
|
29
|
+
getBuffer(): string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Parse JSONL frame into typed object.
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseJSONLFrame<T>(line: string): T;
|
|
35
|
+
/**
|
|
36
|
+
* Serialize object to JSONL frame (JSON + newline).
|
|
37
|
+
*/
|
|
38
|
+
export declare function toJSONLFrame(obj: unknown): string;
|
|
39
|
+
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/jsonl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAOhD;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAM;IAEpB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAahC,KAAK,IAAI,IAAI;IAIb,SAAS,IAAI,MAAM;CAGpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAElD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL Protocol Handler
|
|
3
|
+
*
|
|
4
|
+
* Utilities for parsing newline-delimited JSON streams.
|
|
5
|
+
*/
|
|
6
|
+
import { MAX_JSONL_BUFFER_SIZE } from '../../constants.js';
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when JSONL buffer exceeds maximum size.
|
|
9
|
+
*/
|
|
10
|
+
export class JSONLBufferOverflowError extends Error {
|
|
11
|
+
constructor(bufferSize, maxSize) {
|
|
12
|
+
super(`JSONL buffer overflow: ${bufferSize} bytes exceeds maximum ${maxSize} bytes. ` +
|
|
13
|
+
`Possible malicious or buggy process sending data without newlines.`);
|
|
14
|
+
this.name = 'JSONLBufferOverflowError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* JSONL buffer for accumulating partial frames.
|
|
19
|
+
*
|
|
20
|
+
* Enforces a maximum buffer size to prevent OOM attacks from processes
|
|
21
|
+
* that send unbounded data without newlines.
|
|
22
|
+
*/
|
|
23
|
+
export class JSONLBuffer {
|
|
24
|
+
buffer = '';
|
|
25
|
+
/**
|
|
26
|
+
* Process incoming chunk and extract complete JSONL frames.
|
|
27
|
+
*
|
|
28
|
+
* @param chunk - Incoming data chunk
|
|
29
|
+
* @returns Array of complete JSONL frames (lines)
|
|
30
|
+
* @throws JSONLBufferOverflowError if buffer exceeds MAX_JSONL_BUFFER_SIZE
|
|
31
|
+
*/
|
|
32
|
+
process(chunk) {
|
|
33
|
+
this.buffer += chunk;
|
|
34
|
+
// Check buffer size before processing to prevent OOM
|
|
35
|
+
if (this.buffer.length > MAX_JSONL_BUFFER_SIZE) {
|
|
36
|
+
throw new JSONLBufferOverflowError(this.buffer.length, MAX_JSONL_BUFFER_SIZE);
|
|
37
|
+
}
|
|
38
|
+
const lines = this.buffer.split('\n');
|
|
39
|
+
this.buffer = lines.pop() ?? '';
|
|
40
|
+
return lines.filter((line) => line.trim());
|
|
41
|
+
}
|
|
42
|
+
clear() {
|
|
43
|
+
this.buffer = '';
|
|
44
|
+
}
|
|
45
|
+
getBuffer() {
|
|
46
|
+
return this.buffer;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Parse JSONL frame into typed object.
|
|
51
|
+
*/
|
|
52
|
+
export function parseJSONLFrame(line) {
|
|
53
|
+
return JSON.parse(line);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Serialize object to JSONL frame (JSON + newline).
|
|
57
|
+
*/
|
|
58
|
+
export function toJSONLFrame(obj) {
|
|
59
|
+
return JSON.stringify(obj) + '\n';
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=jsonl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../../src/ipc/transport/jsonl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CACH,0BAA0B,UAAU,0BAA0B,OAAO,UAAU;YAC7E,oEAAoE,CACvE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACd,MAAM,GAAG,EAAE,CAAC;IAEpB;;;;;;OAMG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QAErB,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC/C,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAI,IAAY;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Socket Connection Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages Unix domain socket connections with proper cleanup.
|
|
5
|
+
*/
|
|
6
|
+
import type { Socket } from 'net';
|
|
7
|
+
export interface SocketConfig {
|
|
8
|
+
socketPath: string;
|
|
9
|
+
timeoutMs: number;
|
|
10
|
+
requestName: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SocketHandlers {
|
|
13
|
+
onConnect?: (socket: Socket) => void;
|
|
14
|
+
onData?: (chunk: string) => void;
|
|
15
|
+
onError?: (error: Error) => void;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
onEnd?: () => void;
|
|
18
|
+
onTimeout?: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create and configure a socket connection with event handlers.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createSocket(config: SocketConfig, handlers: SocketHandlers): {
|
|
24
|
+
socket: Socket;
|
|
25
|
+
cleanup: () => void;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/socket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAMlC,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA6CzC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Socket Connection Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages Unix domain socket connections with proper cleanup.
|
|
5
|
+
*/
|
|
6
|
+
import { connect } from 'net';
|
|
7
|
+
import { createLogger } from '../../ui/logging/index.js';
|
|
8
|
+
const log = createLogger('client');
|
|
9
|
+
/**
|
|
10
|
+
* Create and configure a socket connection with event handlers.
|
|
11
|
+
*/
|
|
12
|
+
export function createSocket(config, handlers) {
|
|
13
|
+
const socket = connect(config.socketPath);
|
|
14
|
+
let timeoutHandle = null;
|
|
15
|
+
socket.setEncoding('utf8');
|
|
16
|
+
socket.setNoDelay(true);
|
|
17
|
+
if (handlers.onTimeout) {
|
|
18
|
+
timeoutHandle = setTimeout(() => {
|
|
19
|
+
handlers.onTimeout?.();
|
|
20
|
+
}, config.timeoutMs);
|
|
21
|
+
}
|
|
22
|
+
if (handlers.onConnect) {
|
|
23
|
+
socket.once('connect', () => {
|
|
24
|
+
log.debug(`Connected to daemon for ${config.requestName} request`);
|
|
25
|
+
handlers.onConnect?.(socket);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (handlers.onData) {
|
|
29
|
+
socket.on('data', handlers.onData);
|
|
30
|
+
}
|
|
31
|
+
if (handlers.onError) {
|
|
32
|
+
socket.once('error', handlers.onError);
|
|
33
|
+
}
|
|
34
|
+
if (handlers.onClose) {
|
|
35
|
+
socket.once('close', handlers.onClose);
|
|
36
|
+
}
|
|
37
|
+
if (handlers.onEnd) {
|
|
38
|
+
socket.once('end', handlers.onEnd);
|
|
39
|
+
}
|
|
40
|
+
const cleanup = () => {
|
|
41
|
+
if (timeoutHandle) {
|
|
42
|
+
clearTimeout(timeoutHandle);
|
|
43
|
+
timeoutHandle = null;
|
|
44
|
+
}
|
|
45
|
+
socket.destroy();
|
|
46
|
+
};
|
|
47
|
+
return { socket, cleanup };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=socket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../src/ipc/transport/socket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAiBnC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAoB,EACpB,QAAwB;IAExB,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,aAAa,GAA0B,IAAI,CAAC;IAEhD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;QACzB,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,GAAG,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,WAAW,UAAU,CAAC,CAAC;YACnE,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates IPC response messages match request expectations.
|
|
5
|
+
*/
|
|
6
|
+
type WithSessionId = {
|
|
7
|
+
sessionId: string;
|
|
8
|
+
};
|
|
9
|
+
type WithType = {
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Validate response session ID matches request.
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateSessionId<TReq extends WithSessionId, TRes extends WithSessionId>(request: TReq, response: TRes, requestName: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Validate response type matches expected type.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateResponseType<T extends WithType>(response: T, expectedType: string, requestName: string): void;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/ipc/transport/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,SAAS,aAAa,EACtF,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EACrD,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,IAAI,CAON"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates IPC response messages match request expectations.
|
|
5
|
+
*/
|
|
6
|
+
import { IPCParseError } from './IPCError.js';
|
|
7
|
+
/**
|
|
8
|
+
* Validate response session ID matches request.
|
|
9
|
+
*/
|
|
10
|
+
export function validateSessionId(request, response, requestName) {
|
|
11
|
+
if (response.sessionId !== request.sessionId) {
|
|
12
|
+
throw new IPCParseError(requestName, `Response sessionId mismatch: expected ${request.sessionId}, got ${response.sessionId}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Validate response type matches expected type.
|
|
17
|
+
*/
|
|
18
|
+
export function validateResponseType(response, expectedType, requestName) {
|
|
19
|
+
if (response.type !== expectedType) {
|
|
20
|
+
throw new IPCParseError(requestName, `Unexpected response type: ${response.type} (expected ${expectedType})`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/ipc/transport/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAa,EACb,QAAc,EACd,WAAmB;IAEnB,IAAI,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CACrB,WAAW,EACX,yCAAyC,OAAO,CAAC,SAAS,SAAS,QAAQ,CAAC,SAAS,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAW,EACX,YAAoB,EACpB,WAAmB;IAEnB,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,aAAa,CACrB,WAAW,EACX,6BAA6B,QAAQ,CAAC,IAAI,cAAc,YAAY,GAAG,CACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPC Error Detection
|
|
3
|
+
*
|
|
4
|
+
* Utilities for detecting IPC transport-level errors.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Detect whether an error indicates the daemon socket is unavailable.
|
|
8
|
+
* Checks for ENOENT (socket file doesn't exist) and ECONNREFUSED (daemon not listening).
|
|
9
|
+
*
|
|
10
|
+
* @param error - Error from IPC transport layer
|
|
11
|
+
* @returns True if error indicates daemon connection failure
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* try {
|
|
16
|
+
* await connectToDaemon();
|
|
17
|
+
* } catch (error) {
|
|
18
|
+
* if (isConnectionError(error)) {
|
|
19
|
+
* console.error('Daemon not running. Start with: bdg <url>');
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function isConnectionError(error: unknown): boolean;
|
|
25
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/ipc/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGzD"}
|