browser-debugger-cli 0.0.1-alpha.0 → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +167 -52
- package/dist/__testfixtures__/cdpMessages.d.ts +43 -0
- package/dist/__testfixtures__/cdpMessages.d.ts.map +1 -0
- package/dist/__testfixtures__/cdpMessages.js +118 -0
- package/dist/__testfixtures__/cdpMessages.js.map +1 -0
- package/dist/__testfixtures__/connectionTargets.d.ts +21 -0
- package/dist/__testfixtures__/connectionTargets.d.ts.map +1 -0
- package/dist/__testfixtures__/connectionTargets.js +59 -0
- package/dist/__testfixtures__/connectionTargets.js.map +1 -0
- package/dist/__tests__/integration/session-files.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/session-files.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/session-files.integration.test.js +66 -0
- package/dist/__tests__/integration/session-files.integration.test.js.map +1 -0
- package/dist/__testutils__/FakeClock.d.ts +67 -0
- package/dist/__testutils__/FakeClock.d.ts.map +1 -0
- package/dist/__testutils__/FakeClock.js +132 -0
- package/dist/__testutils__/FakeClock.js.map +1 -0
- package/dist/__testutils__/FakeWebSocket.d.ts +106 -0
- package/dist/__testutils__/FakeWebSocket.d.ts.map +1 -0
- package/dist/__testutils__/FakeWebSocket.js +213 -0
- package/dist/__testutils__/FakeWebSocket.js.map +1 -0
- package/dist/__testutils__/assertions.d.ts +33 -0
- package/dist/__testutils__/assertions.d.ts.map +1 -0
- package/dist/__testutils__/assertions.js +57 -0
- package/dist/__testutils__/assertions.js.map +1 -0
- package/dist/__testutils__/index.d.ts +15 -0
- package/dist/__testutils__/index.d.ts.map +1 -0
- package/dist/__testutils__/index.js +15 -0
- package/dist/__testutils__/index.js.map +1 -0
- package/dist/__testutils__/testClock.d.ts +28 -0
- package/dist/__testutils__/testClock.d.ts.map +1 -0
- package/dist/__testutils__/testClock.js +81 -0
- package/dist/__testutils__/testClock.js.map +1 -0
- package/dist/__testutils__/testFixtures.d.ts +15 -0
- package/dist/__testutils__/testFixtures.d.ts.map +1 -0
- package/dist/__testutils__/testFixtures.js +23 -0
- package/dist/__testutils__/testFixtures.js.map +1 -0
- package/dist/__testutils__/testProcess.d.ts +46 -0
- package/dist/__testutils__/testProcess.d.ts.map +1 -0
- package/dist/__testutils__/testProcess.js +77 -0
- package/dist/__testutils__/testProcess.js.map +1 -0
- package/dist/cli/collectors/dom.d.ts +8 -0
- package/dist/cli/collectors/dom.d.ts.map +1 -0
- package/dist/cli/collectors/dom.js +361 -0
- package/dist/cli/collectors/dom.js.map +1 -0
- package/dist/cli/collectors/helpers/domCache.d.ts +40 -0
- package/dist/cli/collectors/helpers/domCache.d.ts.map +1 -0
- package/dist/cli/collectors/helpers/domCache.js +79 -0
- package/dist/cli/collectors/helpers/domCache.js.map +1 -0
- package/dist/cli/collectors/helpers/domQuery.d.ts +45 -0
- package/dist/cli/collectors/helpers/domQuery.d.ts.map +1 -0
- package/dist/cli/collectors/helpers/domQuery.js +100 -0
- package/dist/cli/collectors/helpers/domQuery.js.map +1 -0
- package/dist/cli/collectors/helpers/selectorParser.d.ts +20 -0
- package/dist/cli/collectors/helpers/selectorParser.d.ts.map +1 -0
- package/dist/cli/collectors/helpers/selectorParser.js +20 -0
- package/dist/cli/collectors/helpers/selectorParser.js.map +1 -0
- package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +24 -0
- package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/cdp.contract.test.js +467 -0
- package/dist/cli/commands/__tests__/cdp.contract.test.js.map +1 -0
- package/dist/cli/commands/__tests__/ipcTest.test.d.ts +2 -0
- package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/ipcTest.test.js +37 -0
- package/dist/cli/commands/__tests__/ipcTest.test.js.map +1 -0
- package/dist/cli/commands/cdp.d.ts +8 -0
- package/dist/cli/commands/cdp.d.ts.map +1 -0
- package/dist/cli/commands/cdp.js +45 -0
- package/dist/cli/commands/cdp.js.map +1 -0
- package/dist/cli/commands/cleanup.d.ts +8 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -0
- package/dist/cli/commands/cleanup.js +130 -0
- package/dist/cli/commands/cleanup.js.map +1 -0
- package/dist/cli/commands/console.d.ts +8 -0
- package/dist/cli/commands/console.d.ts.map +1 -0
- package/dist/cli/commands/console.js +97 -0
- package/dist/cli/commands/console.js.map +1 -0
- package/dist/cli/commands/details.d.ts +8 -0
- package/dist/cli/commands/details.d.ts.map +1 -0
- package/dist/cli/commands/details.js +68 -0
- package/dist/cli/commands/details.js.map +1 -0
- package/dist/cli/commands/dom/helpers/domCache.d.ts +36 -0
- package/dist/cli/commands/dom/helpers/domCache.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/domCache.js +65 -0
- package/dist/cli/commands/dom/helpers/domCache.js.map +1 -0
- package/dist/cli/commands/dom/helpers/domQuery.d.ts +48 -0
- package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/domQuery.js +104 -0
- package/dist/cli/commands/dom/helpers/domQuery.js.map +1 -0
- package/dist/cli/commands/dom/helpers/errorHandler.d.ts +45 -0
- package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/errorHandler.js +70 -0
- package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -0
- package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +52 -0
- package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/evalHelpers.js +75 -0
- package/dist/cli/commands/dom/helpers/evalHelpers.js.map +1 -0
- package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +35 -0
- package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/optionsBuilder.js +51 -0
- package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +1 -0
- package/dist/cli/commands/dom/helpers/selectorParser.d.ts +20 -0
- package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +1 -0
- package/dist/cli/commands/dom/helpers/selectorParser.js +20 -0
- package/dist/cli/commands/dom/helpers/selectorParser.js.map +1 -0
- package/dist/cli/commands/dom/index.d.ts +8 -0
- package/dist/cli/commands/dom/index.d.ts.map +1 -0
- package/dist/cli/commands/dom/index.js +257 -0
- package/dist/cli/commands/dom/index.js.map +1 -0
- package/dist/cli/commands/ipcTest.d.ts +23 -0
- package/dist/cli/commands/ipcTest.d.ts.map +1 -0
- package/dist/cli/commands/ipcTest.js +181 -0
- package/dist/cli/commands/ipcTest.js.map +1 -0
- package/dist/cli/commands/network.d.ts +8 -0
- package/dist/cli/commands/network.d.ts.map +1 -0
- package/dist/cli/commands/network.js +40 -0
- package/dist/cli/commands/network.js.map +1 -0
- package/dist/cli/commands/peek.d.ts +8 -0
- package/dist/cli/commands/peek.d.ts.map +1 -0
- package/dist/cli/commands/peek.js +109 -0
- package/dist/cli/commands/peek.js.map +1 -0
- package/dist/cli/commands/query.d.ts +9 -0
- package/dist/cli/commands/query.d.ts.map +1 -0
- package/dist/cli/commands/query.js +127 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/start.d.ts +9 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +78 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +9 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +84 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +8 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +146 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/formatters/detailsFormatter.d.ts +10 -0
- package/dist/cli/formatters/detailsFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/detailsFormatter.js +63 -0
- package/dist/cli/formatters/detailsFormatter.js.map +1 -0
- package/dist/cli/formatters/previewFormatter.d.ts +27 -0
- package/dist/cli/formatters/previewFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/previewFormatter.js +160 -0
- package/dist/cli/formatters/previewFormatter.js.map +1 -0
- package/dist/cli/formatters/statusFormatter.d.ts +34 -0
- package/dist/cli/formatters/statusFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/statusFormatter.js +108 -0
- package/dist/cli/formatters/statusFormatter.js.map +1 -0
- package/dist/cli/handlers/ChromeBootstrap.d.ts +24 -0
- package/dist/cli/handlers/ChromeBootstrap.d.ts.map +1 -0
- package/dist/cli/handlers/ChromeBootstrap.js +50 -0
- package/dist/cli/handlers/ChromeBootstrap.js.map +1 -0
- package/dist/cli/handlers/CommandRunner.d.ts +60 -0
- package/dist/cli/handlers/CommandRunner.d.ts.map +1 -0
- package/dist/cli/handlers/CommandRunner.js +81 -0
- package/dist/cli/handlers/CommandRunner.js.map +1 -0
- package/dist/cli/handlers/OutputBuilder.d.ts +60 -0
- package/dist/cli/handlers/OutputBuilder.d.ts.map +1 -0
- package/dist/cli/handlers/OutputBuilder.js +138 -0
- package/dist/cli/handlers/OutputBuilder.js.map +1 -0
- package/dist/cli/handlers/OutputWriter.d.ts +15 -0
- package/dist/cli/handlers/OutputWriter.d.ts.map +1 -0
- package/dist/cli/handlers/OutputWriter.js +34 -0
- package/dist/cli/handlers/OutputWriter.js.map +1 -0
- package/dist/cli/handlers/PreviewWriter.d.ts +52 -0
- package/dist/cli/handlers/PreviewWriter.d.ts.map +1 -0
- package/dist/cli/handlers/PreviewWriter.js +119 -0
- package/dist/cli/handlers/PreviewWriter.js.map +1 -0
- package/dist/cli/handlers/SessionLock.d.ts +16 -0
- package/dist/cli/handlers/SessionLock.d.ts.map +1 -0
- package/dist/cli/handlers/SessionLock.js +38 -0
- package/dist/cli/handlers/SessionLock.js.map +1 -0
- package/dist/cli/handlers/SessionLoop.d.ts +19 -0
- package/dist/cli/handlers/SessionLoop.d.ts.map +1 -0
- package/dist/cli/handlers/SessionLoop.js +47 -0
- package/dist/cli/handlers/SessionLoop.js.map +1 -0
- package/dist/cli/handlers/ShutdownController.d.ts +38 -0
- package/dist/cli/handlers/ShutdownController.d.ts.map +1 -0
- package/dist/cli/handlers/ShutdownController.js +83 -0
- package/dist/cli/handlers/ShutdownController.js.map +1 -0
- package/dist/cli/handlers/SignalHandler.d.ts +35 -0
- package/dist/cli/handlers/SignalHandler.d.ts.map +1 -0
- package/dist/cli/handlers/SignalHandler.js +81 -0
- package/dist/cli/handlers/SignalHandler.js.map +1 -0
- package/dist/cli/handlers/TargetSetup.d.ts +42 -0
- package/dist/cli/handlers/TargetSetup.d.ts.map +1 -0
- package/dist/cli/handlers/TargetSetup.js +87 -0
- package/dist/cli/handlers/TargetSetup.js.map +1 -0
- package/dist/cli/handlers/commonOptions.d.ts +54 -0
- package/dist/cli/handlers/commonOptions.d.ts.map +1 -0
- package/dist/cli/handlers/commonOptions.js +64 -0
- package/dist/cli/handlers/commonOptions.js.map +1 -0
- package/dist/cli/handlers/daemonSessionController.d.ts +23 -0
- package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -0
- package/dist/cli/handlers/daemonSessionController.js +108 -0
- package/dist/cli/handlers/daemonSessionController.js.map +1 -0
- package/dist/cli/handlers/sessionController.d.ts +21 -0
- package/dist/cli/handlers/sessionController.d.ts.map +1 -0
- package/dist/cli/handlers/sessionController.js +55 -0
- package/dist/cli/handlers/sessionController.js.map +1 -0
- package/dist/cli/registry.d.ts +11 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +46 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/collectors/__tests__/network.contract.test.d.ts +28 -0
- package/dist/collectors/__tests__/network.contract.test.d.ts.map +1 -0
- package/dist/collectors/__tests__/network.contract.test.js +525 -0
- package/dist/collectors/__tests__/network.contract.test.js.map +1 -0
- package/dist/collectors/console.d.ts +5 -3
- package/dist/collectors/console.d.ts.map +1 -1
- package/dist/collectors/console.js +48 -26
- package/dist/collectors/console.js.map +1 -1
- package/dist/collectors/dom.d.ts +2 -2
- package/dist/collectors/dom.d.ts.map +1 -1
- package/dist/collectors/dom.js +23 -12
- package/dist/collectors/dom.js.map +1 -1
- package/dist/collectors/network.d.ts +18 -4
- package/dist/collectors/network.d.ts.map +1 -1
- package/dist/collectors/network.js +111 -34
- package/dist/collectors/network.js.map +1 -1
- package/dist/connection/__tests__/cdp.contract.test.d.ts +16 -0
- package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/cdp.contract.test.js +378 -0
- package/dist/connection/__tests__/cdp.contract.test.js.map +1 -0
- package/dist/connection/__tests__/finder.contract.test.d.ts +2 -0
- package/dist/connection/__tests__/finder.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/finder.contract.test.js +239 -0
- package/dist/connection/__tests__/finder.contract.test.js.map +1 -0
- package/dist/connection/__tests__/tabs.contract.test.d.ts +2 -0
- package/dist/connection/__tests__/tabs.contract.test.d.ts.map +1 -0
- package/dist/connection/__tests__/tabs.contract.test.js +137 -0
- package/dist/connection/__tests__/tabs.contract.test.js.map +1 -0
- package/dist/connection/cdp.d.ts +165 -16
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +342 -122
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/finder.d.ts +5 -4
- package/dist/connection/finder.d.ts.map +1 -1
- package/dist/connection/finder.js +10 -16
- package/dist/connection/finder.js.map +1 -1
- package/dist/connection/launcher.d.ts +18 -11
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +148 -82
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/tabs.d.ts +47 -14
- package/dist/connection/tabs.d.ts.map +1 -1
- package/dist/connection/tabs.js +493 -132
- package/dist/connection/tabs.js.map +1 -1
- package/dist/constants.d.ts +209 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +232 -0
- package/dist/constants.js.map +1 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +23 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.js +401 -0
- package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -0
- package/dist/daemon/__tests__/launcher.unit.test.d.ts +8 -0
- package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +1 -0
- package/dist/daemon/__tests__/launcher.unit.test.js +20 -0
- package/dist/daemon/__tests__/launcher.unit.test.js.map +1 -0
- package/dist/daemon/ipcServer.d.ts +83 -0
- package/dist/daemon/ipcServer.d.ts.map +1 -0
- package/dist/daemon/ipcServer.js +670 -0
- package/dist/daemon/ipcServer.js.map +1 -0
- package/dist/daemon/launcher.d.ts +31 -0
- package/dist/daemon/launcher.d.ts.map +1 -0
- package/dist/daemon/launcher.js +137 -0
- package/dist/daemon/launcher.js.map +1 -0
- package/dist/daemon/startSession.d.ts +51 -0
- package/dist/daemon/startSession.d.ts.map +1 -0
- package/dist/daemon/startSession.js +149 -0
- package/dist/daemon/startSession.js.map +1 -0
- package/dist/daemon/worker.d.ts +18 -0
- package/dist/daemon/worker.d.ts.map +1 -0
- package/dist/daemon/worker.js +623 -0
- package/dist/daemon/worker.js.map +1 -0
- package/dist/daemon/workerIpc.d.ts +33 -0
- package/dist/daemon/workerIpc.d.ts.map +1 -0
- package/dist/daemon/workerIpc.js +8 -0
- package/dist/daemon/workerIpc.js.map +1 -0
- package/dist/daemon.d.ts +10 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +32 -0
- package/dist/daemon.js.map +1 -0
- package/dist/index.js +41 -420
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.d.ts +23 -0
- package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -0
- package/dist/ipc/__tests__/client.contract.test.js +466 -0
- package/dist/ipc/__tests__/client.contract.test.js.map +1 -0
- package/dist/ipc/client.d.ts +109 -0
- package/dist/ipc/client.d.ts.map +1 -0
- package/dist/ipc/client.js +220 -0
- package/dist/ipc/client.js.map +1 -0
- package/dist/ipc/commands.d.ts +208 -0
- package/dist/ipc/commands.d.ts.map +1 -0
- package/dist/ipc/commands.js +69 -0
- package/dist/ipc/commands.js.map +1 -0
- package/dist/ipc/responseValidator.d.ts +40 -0
- package/dist/ipc/responseValidator.d.ts.map +1 -0
- package/dist/ipc/responseValidator.js +28 -0
- package/dist/ipc/responseValidator.js.map +1 -0
- package/dist/ipc/types.d.ts +193 -0
- package/dist/ipc/types.d.ts.map +1 -0
- package/dist/ipc/types.js +21 -0
- package/dist/ipc/types.js.map +1 -0
- package/dist/session/BdgSession.d.ts +71 -4
- package/dist/session/BdgSession.d.ts.map +1 -1
- package/dist/session/BdgSession.js +173 -75
- package/dist/session/BdgSession.js.map +1 -1
- package/dist/session/chrome.d.ts +46 -0
- package/dist/session/chrome.d.ts.map +1 -0
- package/dist/session/chrome.js +92 -0
- package/dist/session/chrome.js.map +1 -0
- package/dist/session/cleanup.d.ts +45 -0
- package/dist/session/cleanup.d.ts.map +1 -0
- package/dist/session/cleanup.js +230 -0
- package/dist/session/cleanup.js.map +1 -0
- package/dist/session/index.d.ts +15 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +23 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/lock.d.ts +57 -0
- package/dist/session/lock.d.ts.map +1 -0
- package/dist/session/lock.js +154 -0
- package/dist/session/lock.js.map +1 -0
- package/dist/session/metadata.d.ts +59 -0
- package/dist/session/metadata.d.ts.map +1 -0
- package/dist/session/metadata.js +71 -0
- package/dist/session/metadata.js.map +1 -0
- package/dist/session/output.d.ts +18 -0
- package/dist/session/output.d.ts.map +1 -0
- package/dist/session/output.js +24 -0
- package/dist/session/output.js.map +1 -0
- package/dist/session/paths.d.ts +73 -0
- package/dist/session/paths.d.ts.map +1 -0
- package/dist/session/paths.js +84 -0
- package/dist/session/paths.js.map +1 -0
- package/dist/session/pid.d.ts +40 -0
- package/dist/session/pid.d.ts.map +1 -0
- package/dist/session/pid.js +73 -0
- package/dist/session/pid.js.map +1 -0
- package/dist/session/process.d.ts +45 -0
- package/dist/session/process.d.ts.map +1 -0
- package/dist/session/process.js +88 -0
- package/dist/session/process.js.map +1 -0
- package/dist/types.d.ts +114 -38
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/__tests__/filters.unit.test.d.ts +2 -0
- package/dist/utils/__tests__/filters.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/filters.unit.test.js +239 -0
- package/dist/utils/__tests__/filters.unit.test.js.map +1 -0
- package/dist/utils/__tests__/session.contract.test.d.ts +2 -0
- package/dist/utils/__tests__/session.contract.test.d.ts.map +1 -0
- package/dist/utils/__tests__/session.contract.test.js +234 -0
- package/dist/utils/__tests__/session.contract.test.js.map +1 -0
- package/dist/utils/atomicFile.d.ts +38 -0
- package/dist/utils/atomicFile.d.ts.map +1 -0
- package/dist/utils/atomicFile.js +71 -0
- package/dist/utils/atomicFile.js.map +1 -0
- package/dist/utils/cdpHandlers.d.ts +31 -0
- package/dist/utils/cdpHandlers.d.ts.map +1 -0
- package/dist/utils/cdpHandlers.js +38 -0
- package/dist/utils/cdpHandlers.js.map +1 -0
- package/dist/utils/chromeDiagnostics.d.ts +28 -0
- package/dist/utils/chromeDiagnostics.d.ts.map +1 -0
- package/dist/utils/chromeDiagnostics.js +88 -0
- package/dist/utils/chromeDiagnostics.js.map +1 -0
- package/dist/utils/errors.d.ts +82 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +88 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/exitCodes.d.ts +32 -0
- package/dist/utils/exitCodes.d.ts.map +1 -0
- package/dist/utils/exitCodes.js +36 -0
- package/dist/utils/exitCodes.js.map +1 -0
- package/dist/utils/filters.d.ts +108 -0
- package/dist/utils/filters.d.ts.map +1 -0
- package/dist/utils/filters.js +304 -0
- package/dist/utils/filters.js.map +1 -0
- package/dist/utils/formatters/network.d.ts +23 -0
- package/dist/utils/formatters/network.d.ts.map +1 -0
- package/dist/utils/formatters/network.js +35 -0
- package/dist/utils/formatters/network.js.map +1 -0
- package/dist/utils/http.d.ts +34 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +48 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/logger.d.ts +42 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/objects.d.ts +23 -0
- package/dist/utils/objects.d.ts.map +1 -0
- package/dist/utils/objects.js +25 -0
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/url/safeParseUrl.d.ts +63 -0
- package/dist/utils/url/safeParseUrl.d.ts.map +1 -0
- package/dist/utils/url/safeParseUrl.js +84 -0
- package/dist/utils/url/safeParseUrl.js.map +1 -0
- package/dist/utils/url.d.ts +63 -1
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +152 -2
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/version.d.ts +3 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +27 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +57 -10
- package/dist/utils/pageLoad.d.ts +0 -21
- package/dist/utils/pageLoad.d.ts.map +0 -1
- package/dist/utils/pageLoad.js +0 -85
- package/dist/utils/pageLoad.js.map +0 -1
- package/dist/utils/session.d.ts +0 -104
- package/dist/utils/session.d.ts.map +0 -1
- package/dist/utils/session.js +0 -244
- package/dist/utils/session.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipcServer.js","sourceRoot":"","sources":["../../src/daemon/ipcServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon Launcher - Spawns and manages the daemon process
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Spawning the daemon worker process
|
|
6
|
+
* - Waiting for the handshake to complete
|
|
7
|
+
* - Capturing daemon logs
|
|
8
|
+
* - Ensuring only one daemon runs at a time
|
|
9
|
+
*/
|
|
10
|
+
import type { ChildProcess } from 'child_process';
|
|
11
|
+
/**
|
|
12
|
+
* Launch the daemon worker process.
|
|
13
|
+
*
|
|
14
|
+
* This function:
|
|
15
|
+
* 1. Acquires daemon lock atomically (prevents concurrent daemon starts)
|
|
16
|
+
* 2. Cleans up any stale session files
|
|
17
|
+
* 3. Checks if a daemon is already running
|
|
18
|
+
* 4. Spawns the daemon worker
|
|
19
|
+
* 5. Waits for it to become ready
|
|
20
|
+
*
|
|
21
|
+
* @returns The spawned child process
|
|
22
|
+
* @throws Error if daemon fails to start or is already running
|
|
23
|
+
*/
|
|
24
|
+
export declare function launchDaemon(): Promise<ChildProcess>;
|
|
25
|
+
/**
|
|
26
|
+
* Check if the daemon is currently running.
|
|
27
|
+
*
|
|
28
|
+
* @returns True if daemon is running, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
export declare function isDaemonRunning(): boolean;
|
|
31
|
+
//# sourceMappingURL=launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/daemon/launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAWlD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAsG1D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAezC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon Launcher - Spawns and manages the daemon process
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Spawning the daemon worker process
|
|
6
|
+
* - Waiting for the handshake to complete
|
|
7
|
+
* - Capturing daemon logs
|
|
8
|
+
* - Ensuring only one daemon runs at a time
|
|
9
|
+
*/
|
|
10
|
+
import { spawn } from 'child_process';
|
|
11
|
+
import fs from 'fs';
|
|
12
|
+
import { dirname, join } from 'path';
|
|
13
|
+
import { fileURLToPath } from 'url';
|
|
14
|
+
import { cleanupStaleSession } from '../session/cleanup.js';
|
|
15
|
+
import { acquireDaemonLock, releaseDaemonLock } from '../session/lock.js';
|
|
16
|
+
import { getSessionFilePath } from '../session/paths.js';
|
|
17
|
+
import { isProcessAlive } from '../session/process.js';
|
|
18
|
+
import { EXIT_CODES } from '../utils/exitCodes.js';
|
|
19
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
+
const __dirname = dirname(__filename);
|
|
21
|
+
/**
|
|
22
|
+
* Launch the daemon worker process.
|
|
23
|
+
*
|
|
24
|
+
* This function:
|
|
25
|
+
* 1. Acquires daemon lock atomically (prevents concurrent daemon starts)
|
|
26
|
+
* 2. Cleans up any stale session files
|
|
27
|
+
* 3. Checks if a daemon is already running
|
|
28
|
+
* 4. Spawns the daemon worker
|
|
29
|
+
* 5. Waits for it to become ready
|
|
30
|
+
*
|
|
31
|
+
* @returns The spawned child process
|
|
32
|
+
* @throws Error if daemon fails to start or is already running
|
|
33
|
+
*/
|
|
34
|
+
export async function launchDaemon() {
|
|
35
|
+
// Acquire daemon lock atomically to prevent concurrent daemon starts (P0 Fix #1)
|
|
36
|
+
console.error('[launcher] Acquiring daemon lock...');
|
|
37
|
+
if (!acquireDaemonLock()) {
|
|
38
|
+
const error = new Error('Daemon startup already in progress. Wait a moment and try again.');
|
|
39
|
+
error.code = 'DAEMON_STARTUP_IN_PROGRESS';
|
|
40
|
+
error.exitCode = EXIT_CODES.DAEMON_ALREADY_RUNNING;
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
// Clean up stale session files first
|
|
45
|
+
console.error('[launcher] Checking for stale session files...');
|
|
46
|
+
const cleaned = cleanupStaleSession();
|
|
47
|
+
if (cleaned) {
|
|
48
|
+
console.error('[launcher] Cleaned up stale session files');
|
|
49
|
+
}
|
|
50
|
+
// Check if daemon is already running
|
|
51
|
+
const daemonPidPath = getSessionFilePath('DAEMON_PID');
|
|
52
|
+
if (fs.existsSync(daemonPidPath)) {
|
|
53
|
+
try {
|
|
54
|
+
const pidStr = fs.readFileSync(daemonPidPath, 'utf-8').trim();
|
|
55
|
+
const pid = parseInt(pidStr, 10);
|
|
56
|
+
if (!isNaN(pid) && isProcessAlive(pid)) {
|
|
57
|
+
const error = new Error(`Daemon already running (PID ${pid}). Use 'bdg stop' to stop it.`);
|
|
58
|
+
error.code = 'DAEMON_ALREADY_RUNNING';
|
|
59
|
+
error.exitCode = EXIT_CODES.DAEMON_ALREADY_RUNNING;
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// If it's our "already running" error, re-throw it
|
|
65
|
+
if (error instanceof Error &&
|
|
66
|
+
'code' in error &&
|
|
67
|
+
error.code === 'DAEMON_ALREADY_RUNNING') {
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
// Otherwise ignore read errors, will clean up below
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Determine the daemon script path
|
|
74
|
+
// When running from dist/daemon/launcher.js, __dirname is dist/daemon/
|
|
75
|
+
// So we go up one level to dist/, then to daemon.js
|
|
76
|
+
const daemonScriptPath = join(__dirname, '..', 'daemon.js');
|
|
77
|
+
if (!fs.existsSync(daemonScriptPath)) {
|
|
78
|
+
throw new Error(`Daemon script not found at ${daemonScriptPath}. Did you run 'npm run build'?`);
|
|
79
|
+
}
|
|
80
|
+
console.error(`[launcher] Starting daemon: ${daemonScriptPath}`);
|
|
81
|
+
// Spawn the daemon worker
|
|
82
|
+
const daemon = spawn('node', [daemonScriptPath], {
|
|
83
|
+
detached: true,
|
|
84
|
+
stdio: 'ignore', // Fully detached - daemon must not depend on parent's stdio
|
|
85
|
+
env: {
|
|
86
|
+
...process.env,
|
|
87
|
+
BDG_DAEMON: '1', // Mark as daemon worker
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
// Note: No stdio pipes to avoid SIGPIPE when CLI exits
|
|
91
|
+
// Daemon logs go to daemon's own stderr (can be captured separately if needed)
|
|
92
|
+
// Detach the daemon so it continues running after parent exits
|
|
93
|
+
daemon.unref();
|
|
94
|
+
// Wait for daemon to be ready (socket file exists)
|
|
95
|
+
console.error('[launcher] Waiting for daemon to be ready...');
|
|
96
|
+
const socketPath = getSessionFilePath('DAEMON_SOCKET');
|
|
97
|
+
const maxWaitMs = 5000;
|
|
98
|
+
const startTime = Date.now();
|
|
99
|
+
while (Date.now() - startTime < maxWaitMs) {
|
|
100
|
+
if (fs.existsSync(socketPath)) {
|
|
101
|
+
console.error('[launcher] Daemon is ready');
|
|
102
|
+
// Note: Keep daemon lock held - daemon will release it when it writes its PID
|
|
103
|
+
return daemon;
|
|
104
|
+
}
|
|
105
|
+
// Wait 100ms before checking again
|
|
106
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
107
|
+
}
|
|
108
|
+
// Timeout - daemon failed to start
|
|
109
|
+
daemon.kill();
|
|
110
|
+
throw new Error('Daemon failed to start within 5 seconds');
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
// Release lock on any error
|
|
114
|
+
releaseDaemonLock();
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Check if the daemon is currently running.
|
|
120
|
+
*
|
|
121
|
+
* @returns True if daemon is running, false otherwise
|
|
122
|
+
*/
|
|
123
|
+
export function isDaemonRunning() {
|
|
124
|
+
const daemonPidPath = getSessionFilePath('DAEMON_PID');
|
|
125
|
+
if (!fs.existsSync(daemonPidPath)) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
const pidStr = fs.readFileSync(daemonPidPath, 'utf-8').trim();
|
|
130
|
+
const pid = parseInt(pidStr, 10);
|
|
131
|
+
return !isNaN(pid) && isProcessAlive(pid);
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=launcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/daemon/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Launcher - Spawns worker process and waits for ready signal
|
|
3
|
+
*
|
|
4
|
+
* This module provides the `launchSessionInWorker()` function that:
|
|
5
|
+
* 1. Spawns the worker process with JSON config as argv
|
|
6
|
+
* 2. Waits for worker_ready signal on stdout
|
|
7
|
+
* 3. Returns worker and Chrome metadata
|
|
8
|
+
* 4. Handles spawn errors and timeouts
|
|
9
|
+
*/
|
|
10
|
+
import { type ChildProcess } from 'child_process';
|
|
11
|
+
import type { CollectorType } from '@/types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Worker metadata returned from successful launch.
|
|
14
|
+
*/
|
|
15
|
+
export interface WorkerMetadata {
|
|
16
|
+
workerPid: number;
|
|
17
|
+
chromePid: number;
|
|
18
|
+
port: number;
|
|
19
|
+
targetUrl: string;
|
|
20
|
+
targetTitle?: string;
|
|
21
|
+
workerProcess: ChildProcess;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for launching a worker session.
|
|
25
|
+
*/
|
|
26
|
+
export interface LaunchWorkerOptions {
|
|
27
|
+
port?: number;
|
|
28
|
+
timeout?: number;
|
|
29
|
+
collectors?: CollectorType[];
|
|
30
|
+
includeAll?: boolean;
|
|
31
|
+
userDataDir?: string;
|
|
32
|
+
maxBodySize?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Error thrown when worker fails to start.
|
|
36
|
+
*/
|
|
37
|
+
export declare class WorkerStartError extends Error {
|
|
38
|
+
readonly code: 'SPAWN_FAILED' | 'READY_TIMEOUT' | 'WORKER_CRASH' | 'INVALID_READY_MESSAGE';
|
|
39
|
+
readonly details?: string | undefined;
|
|
40
|
+
constructor(message: string, code: 'SPAWN_FAILED' | 'READY_TIMEOUT' | 'WORKER_CRASH' | 'INVALID_READY_MESSAGE', details?: string | undefined);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Launch a new worker process and wait for ready signal.
|
|
44
|
+
*
|
|
45
|
+
* @param url - Target URL to navigate to
|
|
46
|
+
* @param options - Worker configuration options
|
|
47
|
+
* @returns Worker metadata from ready signal
|
|
48
|
+
* @throws WorkerStartError if worker fails to start
|
|
49
|
+
*/
|
|
50
|
+
export declare function launchSessionInWorker(url: string, options?: LaunchWorkerOptions): Promise<WorkerMetadata>;
|
|
51
|
+
//# sourceMappingURL=startSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startSession.d.ts","sourceRoot":"","sources":["../../src/daemon/startSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,IAAI,EAChB,cAAc,GACd,eAAe,GACf,cAAc,GACd,uBAAuB;aACX,OAAO,CAAC,EAAE,MAAM;gBANhC,OAAO,EAAE,MAAM,EACC,IAAI,EAChB,cAAc,GACd,eAAe,GACf,cAAc,GACd,uBAAuB,EACX,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,cAAc,CAAC,CA0JzB"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Launcher - Spawns worker process and waits for ready signal
|
|
3
|
+
*
|
|
4
|
+
* This module provides the `launchSessionInWorker()` function that:
|
|
5
|
+
* 1. Spawns the worker process with JSON config as argv
|
|
6
|
+
* 2. Waits for worker_ready signal on stdout
|
|
7
|
+
* 3. Returns worker and Chrome metadata
|
|
8
|
+
* 4. Handles spawn errors and timeouts
|
|
9
|
+
*/
|
|
10
|
+
import { spawn } from 'child_process';
|
|
11
|
+
import { dirname, join } from 'path';
|
|
12
|
+
import { fileURLToPath } from 'url';
|
|
13
|
+
import { getErrorMessage } from '../utils/errors.js';
|
|
14
|
+
import { validateUrl } from '../utils/url.js';
|
|
15
|
+
/**
|
|
16
|
+
* Error thrown when worker fails to start.
|
|
17
|
+
*/
|
|
18
|
+
export class WorkerStartError extends Error {
|
|
19
|
+
code;
|
|
20
|
+
details;
|
|
21
|
+
constructor(message, code, details) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.code = code;
|
|
24
|
+
this.details = details;
|
|
25
|
+
this.name = 'WorkerStartError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Launch a new worker process and wait for ready signal.
|
|
30
|
+
*
|
|
31
|
+
* @param url - Target URL to navigate to
|
|
32
|
+
* @param options - Worker configuration options
|
|
33
|
+
* @returns Worker metadata from ready signal
|
|
34
|
+
* @throws WorkerStartError if worker fails to start
|
|
35
|
+
*/
|
|
36
|
+
export async function launchSessionInWorker(url, options = {}) {
|
|
37
|
+
// Validate URL (P1 Fix #3)
|
|
38
|
+
const validation = validateUrl(url);
|
|
39
|
+
if (!validation.valid) {
|
|
40
|
+
throw new WorkerStartError(validation.error ?? 'Invalid URL', 'SPAWN_FAILED', validation.suggestion);
|
|
41
|
+
}
|
|
42
|
+
const config = {
|
|
43
|
+
url,
|
|
44
|
+
port: options.port ?? 9222,
|
|
45
|
+
...(options.timeout !== undefined && { timeout: options.timeout }),
|
|
46
|
+
...(options.collectors !== undefined && { collectors: options.collectors }),
|
|
47
|
+
...(options.includeAll !== undefined && { includeAll: options.includeAll }),
|
|
48
|
+
...(options.userDataDir !== undefined && { userDataDir: options.userDataDir }),
|
|
49
|
+
...(options.maxBodySize !== undefined && { maxBodySize: options.maxBodySize }),
|
|
50
|
+
};
|
|
51
|
+
// Resolve worker script path
|
|
52
|
+
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
53
|
+
const workerPath = join(currentDir, 'worker.js');
|
|
54
|
+
console.error(`[daemon] Spawning worker: node ${workerPath} <config>`);
|
|
55
|
+
console.error(`[daemon] Worker config: ${JSON.stringify(config)}`);
|
|
56
|
+
// Spawn worker process
|
|
57
|
+
let worker;
|
|
58
|
+
try {
|
|
59
|
+
worker = spawn('node', [workerPath, JSON.stringify(config)], {
|
|
60
|
+
stdio: ['pipe', 'pipe', 'pipe'], // Enable stdin for IPC
|
|
61
|
+
detached: true,
|
|
62
|
+
env: process.env,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new WorkerStartError('Failed to spawn worker process', 'SPAWN_FAILED', getErrorMessage(error));
|
|
67
|
+
}
|
|
68
|
+
console.error(`[daemon] Worker spawned (PID ${worker.pid})`);
|
|
69
|
+
// Wait for worker_ready signal
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
let stdoutBuffer = '';
|
|
72
|
+
let stderrBuffer = '';
|
|
73
|
+
let resolved = false;
|
|
74
|
+
// Timeout for ready signal (30 seconds)
|
|
75
|
+
const readyTimeout = setTimeout(() => {
|
|
76
|
+
if (!resolved) {
|
|
77
|
+
resolved = true;
|
|
78
|
+
worker.kill('SIGKILL');
|
|
79
|
+
reject(new WorkerStartError('Worker did not send ready signal within 30 seconds', 'READY_TIMEOUT', `stderr: ${stderrBuffer}`));
|
|
80
|
+
}
|
|
81
|
+
}, 30000);
|
|
82
|
+
// Handle stdout (ready signal)
|
|
83
|
+
if (worker.stdout) {
|
|
84
|
+
worker.stdout.on('data', (chunk) => {
|
|
85
|
+
stdoutBuffer += chunk.toString('utf-8');
|
|
86
|
+
// Look for complete JSONL message (ends with newline)
|
|
87
|
+
const lines = stdoutBuffer.split('\n');
|
|
88
|
+
stdoutBuffer = lines.pop() ?? ''; // Keep incomplete line in buffer
|
|
89
|
+
for (const line of lines) {
|
|
90
|
+
if (!line.trim())
|
|
91
|
+
continue;
|
|
92
|
+
try {
|
|
93
|
+
const message = JSON.parse(line);
|
|
94
|
+
if (message.type === 'worker_ready') {
|
|
95
|
+
if (!resolved) {
|
|
96
|
+
resolved = true;
|
|
97
|
+
clearTimeout(readyTimeout);
|
|
98
|
+
// Extract metadata from ready message
|
|
99
|
+
const readyMessage = message;
|
|
100
|
+
console.error('[daemon] Worker ready signal received');
|
|
101
|
+
console.error(`[daemon] Worker PID: ${readyMessage.workerPid}`);
|
|
102
|
+
console.error(`[daemon] Chrome PID: ${readyMessage.chromePid}`);
|
|
103
|
+
// NOTE: Don't unref() - we need to keep the worker reference for IPC
|
|
104
|
+
// Worker continues running as detached process
|
|
105
|
+
resolve({
|
|
106
|
+
workerPid: readyMessage.workerPid,
|
|
107
|
+
chromePid: readyMessage.chromePid,
|
|
108
|
+
port: readyMessage.port,
|
|
109
|
+
targetUrl: readyMessage.target.url,
|
|
110
|
+
...(readyMessage.target.title && { targetTitle: readyMessage.target.title }),
|
|
111
|
+
workerProcess: worker, // Return worker process for IPC
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// Ignore parse errors, may be log messages
|
|
118
|
+
console.error(`[daemon] Failed to parse stdout line: ${line}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// Handle stderr (log messages)
|
|
124
|
+
if (worker.stderr) {
|
|
125
|
+
worker.stderr.on('data', (chunk) => {
|
|
126
|
+
stderrBuffer += chunk.toString('utf-8');
|
|
127
|
+
// Forward worker stderr to daemon stderr
|
|
128
|
+
process.stderr.write(chunk);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// Handle worker exit
|
|
132
|
+
worker.on('exit', (code, signal) => {
|
|
133
|
+
if (!resolved) {
|
|
134
|
+
resolved = true;
|
|
135
|
+
clearTimeout(readyTimeout);
|
|
136
|
+
reject(new WorkerStartError(`Worker process exited before sending ready signal (code: ${code}, signal: ${signal})`, 'WORKER_CRASH', `stderr: ${stderrBuffer}`));
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
// Handle spawn errors
|
|
140
|
+
worker.on('error', (error) => {
|
|
141
|
+
if (!resolved) {
|
|
142
|
+
resolved = true;
|
|
143
|
+
clearTimeout(readyTimeout);
|
|
144
|
+
reject(new WorkerStartError('Worker process spawn error', 'SPAWN_FAILED', error.message));
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=startSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startSession.js","sourceRoot":"","sources":["../../src/daemon/startSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Worker Process - Chrome CDP Session Manager
|
|
4
|
+
*
|
|
5
|
+
* This process:
|
|
6
|
+
* 1. Spawns Chrome with remote debugging enabled
|
|
7
|
+
* 2. Connects to Chrome via CDP WebSocket
|
|
8
|
+
* 3. Activates requested collectors (network, console, DOM)
|
|
9
|
+
* 4. Sends readiness signal to parent daemon
|
|
10
|
+
* 5. Handles graceful shutdown on SIGTERM/SIGKILL
|
|
11
|
+
*
|
|
12
|
+
* Communication Protocol:
|
|
13
|
+
* - Parent provides config via env vars or process.argv
|
|
14
|
+
* - Worker sends JSON line to stdout on success: \{"type":"worker_ready",...\}
|
|
15
|
+
* - Worker handles SIGTERM for graceful shutdown
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/daemon/worker.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|