browser-debugger-cli 0.3.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +137 -126
- package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +8 -0
- package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke/error-handling.smoke.test.js +106 -0
- package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -0
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +8 -0
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +109 -0
- package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -0
- package/dist/__testutils__/commandRunner.d.ts +45 -0
- package/dist/__testutils__/commandRunner.d.ts.map +1 -0
- package/dist/__testutils__/commandRunner.js +108 -0
- package/dist/__testutils__/commandRunner.js.map +1 -0
- package/dist/__testutils__/daemonHelpers.d.ts +81 -0
- package/dist/__testutils__/daemonHelpers.d.ts.map +1 -0
- package/dist/__testutils__/daemonHelpers.js +206 -0
- package/dist/__testutils__/daemonHelpers.js.map +1 -0
- package/dist/__testutils__/index.d.ts +1 -0
- package/dist/__testutils__/index.d.ts.map +1 -1
- package/dist/__testutils__/index.js +1 -0
- package/dist/__testutils__/index.js.map +1 -1
- package/dist/__testutils__/testCleanup.d.ts +45 -0
- package/dist/__testutils__/testCleanup.d.ts.map +1 -0
- package/dist/__testutils__/testCleanup.js +87 -0
- package/dist/__testutils__/testCleanup.js.map +1 -0
- package/dist/__testutils__/testHome.d.ts +26 -0
- package/dist/__testutils__/testHome.d.ts.map +1 -0
- package/dist/__testutils__/testHome.js +57 -0
- package/dist/__testutils__/testHome.js.map +1 -0
- package/dist/__testutils__/testProcess.d.ts.map +1 -1
- package/dist/__testutils__/testProcess.js +11 -3
- package/dist/__testutils__/testProcess.js.map +1 -1
- package/dist/cli/commands/__tests__/start.unit.test.d.ts +2 -0
- package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/start.unit.test.js +131 -0
- package/dist/cli/commands/__tests__/start.unit.test.js.map +1 -0
- package/dist/cli/commands/cleanup.d.ts +1 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +80 -61
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/details.d.ts +2 -1
- package/dist/cli/commands/details.d.ts.map +1 -1
- package/dist/cli/commands/details.js +104 -52
- package/dist/cli/commands/details.js.map +1 -1
- package/dist/cli/commands/peek.d.ts +2 -1
- package/dist/cli/commands/peek.d.ts.map +1 -1
- package/dist/cli/commands/peek.js +22 -67
- package/dist/cli/commands/peek.js.map +1 -1
- 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 +125 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/start.d.ts +74 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +147 -38
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +37 -49
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.d.ts +1 -0
- package/dist/cli/commands/stop.d.ts.map +1 -1
- package/dist/cli/commands/stop.js +106 -120
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
- package/dist/cli/formatters/previewFormatter.d.ts +7 -7
- package/dist/cli/formatters/previewFormatter.d.ts.map +1 -1
- package/dist/cli/formatters/previewFormatter.js +5 -10
- package/dist/cli/formatters/previewFormatter.js.map +1 -1
- package/dist/cli/formatters/statusFormatter.d.ts +13 -10
- package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
- package/dist/cli/formatters/statusFormatter.js +26 -53
- package/dist/cli/formatters/statusFormatter.js.map +1 -1
- 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/OutputBuilder.d.ts +2 -3
- package/dist/cli/handlers/OutputBuilder.d.ts.map +1 -1
- package/dist/cli/handlers/OutputBuilder.js +2 -4
- package/dist/cli/handlers/OutputBuilder.js.map +1 -1
- 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 +118 -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 +35 -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 +41 -0
- package/dist/cli/handlers/ShutdownController.d.ts.map +1 -0
- package/dist/cli/handlers/ShutdownController.js +94 -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/sessionController.d.ts +41 -0
- package/dist/cli/handlers/sessionController.d.ts.map +1 -1
- package/dist/cli/handlers/sessionController.js +266 -5
- package/dist/cli/handlers/sessionController.js.map +1 -1
- package/dist/cli/registry.d.ts +2 -2
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +12 -37
- package/dist/cli/registry.js.map +1 -1
- package/dist/collectors/console.d.ts +1 -1
- package/dist/collectors/console.js +2 -2
- package/dist/collectors/console.js.map +1 -1
- package/dist/collectors/dom.d.ts +1 -1
- package/dist/collectors/network.d.ts +1 -2
- package/dist/collectors/network.d.ts.map +1 -1
- package/dist/collectors/network.js +3 -3
- package/dist/collectors/network.js.map +1 -1
- package/dist/commands/cdp.js +1 -1
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +12 -15
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/dom.d.ts.map +1 -1
- package/dist/commands/dom.js +13 -19
- package/dist/commands/dom.js.map +1 -1
- package/dist/commands/domEvalHelpers.d.ts +1 -1
- package/dist/commands/domEvalHelpers.d.ts.map +1 -1
- package/dist/commands/domEvalHelpers.js +56 -7
- package/dist/commands/domEvalHelpers.js.map +1 -1
- package/dist/commands/domOptionsBuilder.d.ts +32 -0
- package/dist/commands/domOptionsBuilder.d.ts.map +1 -1
- package/dist/commands/domOptionsBuilder.js +35 -0
- package/dist/commands/domOptionsBuilder.js.map +1 -1
- package/dist/commands/machineReadableHelp.d.ts +98 -0
- package/dist/commands/machineReadableHelp.d.ts.map +1 -0
- package/dist/commands/machineReadableHelp.js +137 -0
- package/dist/commands/machineReadableHelp.js.map +1 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +2 -3
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/OutputBuilder.js +1 -1
- package/dist/commands/shared/OutputBuilder.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +9 -3
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/daemonSessionController.d.ts +2 -0
- package/dist/commands/shared/daemonSessionController.d.ts.map +1 -1
- package/dist/commands/shared/daemonSessionController.js +13 -16
- package/dist/commands/shared/daemonSessionController.js.map +1 -1
- package/dist/commands/shared/sessionController.js +1 -1
- package/dist/commands/shared/sessionController.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +16 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +72 -55
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +11 -25
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts +11 -0
- package/dist/commands/tail.d.ts.map +1 -0
- package/dist/commands/tail.js +114 -0
- package/dist/commands/tail.js.map +1 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +2 -0
- package/dist/commands.js.map +1 -1
- package/dist/connection/cdp.d.ts +46 -2
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +71 -5
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/diagnostics.d.ts +16 -0
- package/dist/connection/diagnostics.d.ts.map +1 -0
- package/dist/connection/diagnostics.js +37 -0
- package/dist/connection/diagnostics.js.map +1 -0
- package/dist/connection/errors.d.ts +74 -0
- package/dist/connection/errors.d.ts.map +1 -0
- package/dist/connection/errors.js +83 -0
- package/dist/connection/errors.js.map +1 -0
- package/dist/connection/handlers.d.ts +31 -0
- package/dist/connection/handlers.d.ts.map +1 -0
- package/dist/connection/handlers.js +38 -0
- package/dist/connection/handlers.js.map +1 -0
- package/dist/connection/launcher.d.ts +3 -20
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +130 -32
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts +46 -0
- package/dist/connection/pageReadiness.d.ts.map +1 -0
- package/dist/connection/pageReadiness.js +270 -0
- package/dist/connection/pageReadiness.js.map +1 -0
- package/dist/connection/tabs.d.ts +52 -0
- package/dist/connection/tabs.d.ts.map +1 -0
- package/dist/connection/tabs.js +227 -0
- package/dist/connection/tabs.js.map +1 -0
- package/dist/constants.d.ts +20 -40
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +26 -40
- package/dist/constants.js.map +1 -1
- package/dist/daemon/ipcServer.d.ts +5 -7
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +178 -143
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.js +1 -1
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/server/SocketServer.d.ts +22 -0
- package/dist/daemon/server/SocketServer.d.ts.map +1 -0
- package/dist/daemon/server/SocketServer.js +67 -0
- package/dist/daemon/server/SocketServer.js.map +1 -0
- package/dist/daemon/server/WorkerManager.d.ts +36 -0
- package/dist/daemon/server/WorkerManager.d.ts.map +1 -0
- package/dist/daemon/server/WorkerManager.js +98 -0
- package/dist/daemon/server/WorkerManager.js.map +1 -0
- package/dist/daemon/startSession.d.ts +2 -0
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +4 -2
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/TelemetryStore.d.ts +18 -0
- package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -0
- package/dist/daemon/worker/TelemetryStore.js +49 -0
- package/dist/daemon/worker/TelemetryStore.js.map +1 -0
- package/dist/daemon/worker/collectors.d.ts +8 -0
- package/dist/daemon/worker/collectors.d.ts.map +1 -0
- package/dist/daemon/worker/collectors.js +19 -0
- package/dist/daemon/worker/collectors.js.map +1 -0
- package/dist/daemon/worker/commandRegistry.d.ts +10 -0
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -0
- package/dist/daemon/worker/commandRegistry.js +289 -0
- package/dist/daemon/worker/commandRegistry.js.map +1 -0
- package/dist/daemon/worker/plugins.d.ts +21 -0
- package/dist/daemon/worker/plugins.d.ts.map +1 -0
- package/dist/daemon/worker/plugins.js +71 -0
- package/dist/daemon/worker/plugins.js.map +1 -0
- package/dist/daemon/worker/types.d.ts +13 -0
- package/dist/daemon/worker/types.d.ts.map +1 -0
- package/dist/daemon/worker/types.js +2 -0
- package/dist/daemon/worker/types.js.map +1 -0
- package/dist/daemon/worker.js +206 -529
- package/dist/daemon/worker.js.map +1 -1
- package/dist/help/machineReadableHelp.d.ts +100 -0
- package/dist/help/machineReadableHelp.d.ts.map +1 -0
- package/dist/help/machineReadableHelp.js +139 -0
- package/dist/help/machineReadableHelp.js.map +1 -0
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.js +2 -2
- package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
- package/dist/ipc/client.d.ts +3 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +27 -14
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/commands.d.ts +1 -0
- package/dist/ipc/commands.d.ts.map +1 -1
- package/dist/ipc/commands.js.map +1 -1
- package/dist/ipc/types.d.ts +2 -0
- package/dist/ipc/types.d.ts.map +1 -1
- package/dist/session/BdgSession.d.ts +91 -0
- package/dist/session/BdgSession.d.ts.map +1 -0
- package/dist/session/BdgSession.js +230 -0
- package/dist/session/BdgSession.js.map +1 -0
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +67 -65
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/fileOps.d.ts +25 -0
- package/dist/session/fileOps.d.ts.map +1 -0
- package/dist/session/fileOps.js +39 -0
- package/dist/session/fileOps.js.map +1 -0
- package/dist/session/metadata.js +2 -2
- package/dist/session/metadata.js.map +1 -1
- package/dist/session/paths.d.ts +2 -7
- package/dist/session/paths.d.ts.map +1 -1
- package/dist/session/paths.js +8 -8
- package/dist/session/paths.js.map +1 -1
- package/dist/session/queryCache.js +1 -1
- package/dist/session/queryCache.js.map +1 -1
- package/dist/telemetry/__tests__/filters.unit.test.d.ts +2 -0
- package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/filters.unit.test.js +239 -0
- package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
- package/dist/telemetry/console.d.ts +1 -1
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +5 -3
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/dialogs.d.ts +27 -0
- package/dist/telemetry/dialogs.d.ts.map +1 -0
- package/dist/telemetry/dialogs.js +51 -0
- package/dist/telemetry/dialogs.js.map +1 -0
- package/dist/telemetry/filters.d.ts +148 -0
- package/dist/telemetry/filters.d.ts.map +1 -0
- package/dist/telemetry/filters.js +358 -0
- package/dist/telemetry/filters.js.map +1 -0
- package/dist/telemetry/navigation.d.ts +49 -0
- package/dist/telemetry/navigation.d.ts.map +1 -0
- package/dist/telemetry/navigation.js +69 -0
- package/dist/telemetry/navigation.js.map +1 -0
- package/dist/telemetry/network.d.ts +1 -0
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +23 -34
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +39 -0
- package/dist/ui/errors/CommandError.d.ts.map +1 -0
- package/dist/ui/errors/CommandError.js +48 -0
- package/dist/ui/errors/CommandError.js.map +1 -0
- package/dist/ui/errors/SystemErrors.d.ts +22 -0
- package/dist/ui/errors/SystemErrors.d.ts.map +1 -0
- package/dist/ui/errors/SystemErrors.js +23 -0
- package/dist/ui/errors/SystemErrors.js.map +1 -0
- package/dist/ui/errors/index.d.ts +9 -0
- package/dist/ui/errors/index.d.ts.map +1 -0
- package/dist/ui/errors/index.js +12 -0
- package/dist/ui/errors/index.js.map +1 -0
- package/dist/ui/errors/utils.d.ts +24 -0
- package/dist/ui/errors/utils.d.ts.map +1 -0
- package/dist/ui/errors/utils.js +28 -0
- package/dist/ui/errors/utils.js.map +1 -0
- package/dist/ui/formatters/status.d.ts.map +1 -1
- package/dist/ui/formatters/status.js +1 -1
- package/dist/ui/formatters/status.js.map +1 -1
- package/dist/ui/logging/index.d.ts +7 -0
- package/dist/ui/logging/index.d.ts.map +1 -0
- package/dist/ui/logging/index.js +7 -0
- package/dist/ui/logging/index.js.map +1 -0
- package/dist/ui/logging/logger.d.ts +98 -0
- package/dist/ui/logging/logger.d.ts.map +1 -0
- package/dist/ui/logging/logger.js +93 -0
- package/dist/ui/logging/logger.js.map +1 -0
- package/dist/ui/messages/chrome.d.ts +50 -1
- package/dist/ui/messages/chrome.d.ts.map +1 -1
- package/dist/ui/messages/chrome.js +77 -0
- package/dist/ui/messages/chrome.js.map +1 -1
- package/dist/ui/messages/deprecation.d.ts +30 -0
- package/dist/ui/messages/deprecation.d.ts.map +1 -0
- package/dist/ui/messages/deprecation.js +49 -0
- package/dist/ui/messages/deprecation.js.map +1 -0
- package/dist/ui/messages/preview.js +1 -1
- 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 +21 -7
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/utils/__tests__/session.contract.test.js +15 -1
- package/dist/utils/__tests__/session.contract.test.js.map +1 -1
- package/dist/utils/filters.d.ts +40 -0
- package/dist/utils/filters.d.ts.map +1 -1
- package/dist/utils/filters.js +54 -0
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/pageReadiness.js +24 -25
- package/dist/utils/pageReadiness.js.map +1 -1
- package/dist/utils/session.d.ts +200 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +498 -0
- package/dist/utils/session.js.map +1 -0
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +10 -0
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +20 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +2 -1
- package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +0 -24
- package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
- package/dist/cli/commands/__tests__/cdp.contract.test.js +0 -467
- package/dist/cli/commands/__tests__/cdp.contract.test.js.map +0 -1
- package/dist/cli/commands/cdp.d.ts +0 -8
- package/dist/cli/commands/cdp.d.ts.map +0 -1
- package/dist/cli/commands/cdp.js +0 -45
- package/dist/cli/commands/cdp.js.map +0 -1
- package/dist/cli/commands/console.d.ts +0 -8
- package/dist/cli/commands/console.d.ts.map +0 -1
- package/dist/cli/commands/console.js +0 -97
- package/dist/cli/commands/console.js.map +0 -1
- package/dist/cli/commands/dom/helpers/domCache.d.ts +0 -36
- package/dist/cli/commands/dom/helpers/domCache.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/domCache.js +0 -65
- package/dist/cli/commands/dom/helpers/domCache.js.map +0 -1
- package/dist/cli/commands/dom/helpers/domQuery.d.ts +0 -48
- package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/domQuery.js +0 -104
- package/dist/cli/commands/dom/helpers/domQuery.js.map +0 -1
- package/dist/cli/commands/dom/helpers/errorHandler.d.ts +0 -45
- package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/errorHandler.js +0 -71
- package/dist/cli/commands/dom/helpers/errorHandler.js.map +0 -1
- package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +0 -52
- package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/evalHelpers.js +0 -75
- package/dist/cli/commands/dom/helpers/evalHelpers.js.map +0 -1
- package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +0 -35
- package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/optionsBuilder.js +0 -51
- package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +0 -1
- package/dist/cli/commands/dom/helpers/selectorParser.d.ts +0 -20
- package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +0 -1
- package/dist/cli/commands/dom/helpers/selectorParser.js +0 -20
- package/dist/cli/commands/dom/helpers/selectorParser.js.map +0 -1
- package/dist/cli/commands/dom/index.d.ts +0 -8
- package/dist/cli/commands/dom/index.d.ts.map +0 -1
- package/dist/cli/commands/dom/index.js +0 -257
- package/dist/cli/commands/dom/index.js.map +0 -1
- package/dist/cli/commands/dom.d.ts +0 -8
- package/dist/cli/commands/dom.d.ts.map +0 -1
- package/dist/cli/commands/dom.js +0 -257
- package/dist/cli/commands/dom.js.map +0 -1
- package/dist/cli/commands/domErrorHandler.d.ts +0 -45
- package/dist/cli/commands/domErrorHandler.d.ts.map +0 -1
- package/dist/cli/commands/domErrorHandler.js +0 -71
- package/dist/cli/commands/domErrorHandler.js.map +0 -1
- package/dist/cli/commands/domEvalHelpers.d.ts +0 -52
- package/dist/cli/commands/domEvalHelpers.d.ts.map +0 -1
- package/dist/cli/commands/domEvalHelpers.js +0 -76
- package/dist/cli/commands/domEvalHelpers.js.map +0 -1
- package/dist/cli/commands/domOptionsBuilder.d.ts +0 -35
- package/dist/cli/commands/domOptionsBuilder.d.ts.map +0 -1
- package/dist/cli/commands/domOptionsBuilder.js +0 -51
- package/dist/cli/commands/domOptionsBuilder.js.map +0 -1
- package/dist/cli/commands/domSelectorParser.d.ts +0 -20
- package/dist/cli/commands/domSelectorParser.d.ts.map +0 -1
- package/dist/cli/commands/domSelectorParser.js +0 -20
- package/dist/cli/commands/domSelectorParser.js.map +0 -1
- package/dist/cli/commands/network.d.ts +0 -8
- package/dist/cli/commands/network.d.ts.map +0 -1
- package/dist/cli/commands/network.js +0 -43
- package/dist/cli/commands/network.js.map +0 -1
- package/dist/cli/handlers/CommandRunner.d.ts +0 -60
- package/dist/cli/handlers/CommandRunner.d.ts.map +0 -1
- package/dist/cli/handlers/CommandRunner.js +0 -81
- package/dist/cli/handlers/CommandRunner.js.map +0 -1
- package/dist/cli/handlers/commonOptions.d.ts +0 -54
- package/dist/cli/handlers/commonOptions.d.ts.map +0 -1
- package/dist/cli/handlers/commonOptions.js +0 -64
- package/dist/cli/handlers/commonOptions.js.map +0 -1
- package/dist/cli/handlers/daemonSessionController.d.ts +0 -23
- package/dist/cli/handlers/daemonSessionController.d.ts.map +0 -1
- package/dist/cli/handlers/daemonSessionController.js +0 -79
- package/dist/cli/handlers/daemonSessionController.js.map +0 -1
- package/dist/cli/handlers/landingPage.d.ts +0 -8
- package/dist/cli/handlers/landingPage.d.ts.map +0 -1
- package/dist/cli/handlers/landingPage.js +0 -8
- package/dist/cli/handlers/landingPage.js.map +0 -1
- package/dist/collectors/__tests__/network.contract.test.d.ts +0 -28
- package/dist/collectors/__tests__/network.contract.test.d.ts.map +0 -1
- package/dist/collectors/__tests__/network.contract.test.js +0 -540
- package/dist/collectors/__tests__/network.contract.test.js.map +0 -1
- package/dist/commandRegistry.d.ts +0 -11
- package/dist/commandRegistry.d.ts.map +0 -1
- package/dist/commandRegistry.js +0 -45
- package/dist/commandRegistry.js.map +0 -1
- package/dist/commands/domErrorHandler.d.ts +0 -45
- package/dist/commands/domErrorHandler.d.ts.map +0 -1
- package/dist/commands/domErrorHandler.js +0 -71
- package/dist/commands/domErrorHandler.js.map +0 -1
- package/dist/dom/cache.d.ts +0 -36
- package/dist/dom/cache.d.ts.map +0 -1
- package/dist/dom/cache.js +0 -65
- package/dist/dom/cache.js.map +0 -1
- package/dist/dom/index.d.ts +0 -9
- package/dist/dom/index.d.ts.map +0 -1
- package/dist/dom/index.js +0 -9
- package/dist/dom/index.js.map +0 -1
- package/dist/dom/query.d.ts +0 -48
- package/dist/dom/query.d.ts.map +0 -1
- package/dist/dom/query.js +0 -104
- package/dist/dom/query.js.map +0 -1
- package/dist/utils/formatters/network.d.ts +0 -23
- package/dist/utils/formatters/network.d.ts.map +0 -1
- package/dist/utils/formatters/network.js +0 -35
- package/dist/utils/formatters/network.js.map +0 -1
- package/dist/utils/ui.d.ts +0 -36
- package/dist/utils/ui.d.ts.map +0 -1
- package/dist/utils/ui.js +0 -47
- package/dist/utils/ui.js.map +0 -1
- package/dist/utils/url/safeParseUrl.d.ts +0 -63
- package/dist/utils/url/safeParseUrl.d.ts.map +0 -1
- package/dist/utils/url/safeParseUrl.js +0 -84
- package/dist/utils/url/safeParseUrl.js.map +0 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { normalizeUrl } from '../utils/url.js';
|
|
2
|
+
/**
|
|
3
|
+
* Score how well a tab matches the search URL.
|
|
4
|
+
* Higher score = better match.
|
|
5
|
+
*
|
|
6
|
+
* @param tab - Target to score
|
|
7
|
+
* @param searchUrl - Normalized URL to match against
|
|
8
|
+
* @returns Match score (0-100)
|
|
9
|
+
*/
|
|
10
|
+
function scoreTabMatch(tab, searchUrl) {
|
|
11
|
+
// Exact match = best score
|
|
12
|
+
if (tab.url === searchUrl) {
|
|
13
|
+
return 100;
|
|
14
|
+
}
|
|
15
|
+
// Try URL-based matching
|
|
16
|
+
try {
|
|
17
|
+
const tabUrlObj = new URL(tab.url);
|
|
18
|
+
const searchUrlObj = new URL(searchUrl);
|
|
19
|
+
// Same host + path = excellent score
|
|
20
|
+
if (tabUrlObj.host === searchUrlObj.host && tabUrlObj.pathname === searchUrlObj.pathname) {
|
|
21
|
+
return 90;
|
|
22
|
+
}
|
|
23
|
+
// Same host + path prefix = good score
|
|
24
|
+
if (tabUrlObj.host === searchUrlObj.host &&
|
|
25
|
+
tabUrlObj.pathname.startsWith(searchUrlObj.pathname)) {
|
|
26
|
+
return 70;
|
|
27
|
+
}
|
|
28
|
+
// Same host = decent score
|
|
29
|
+
if (tabUrlObj.host === searchUrlObj.host) {
|
|
30
|
+
return 50;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// URL parsing failed, fall back to substring matching
|
|
35
|
+
}
|
|
36
|
+
// Substring match = weak score
|
|
37
|
+
if (tab.url.includes(searchUrl)) {
|
|
38
|
+
return 30;
|
|
39
|
+
}
|
|
40
|
+
return 0; // No match
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Find the best matching target from a list of tabs.
|
|
44
|
+
*
|
|
45
|
+
* @param normalizedUrl - Target URL to find (must be pre-normalized)
|
|
46
|
+
* @param targets - List of available targets
|
|
47
|
+
* @returns Best matching target or null if no match found
|
|
48
|
+
*/
|
|
49
|
+
export function findBestTarget(normalizedUrl, targets) {
|
|
50
|
+
const searchUrl = normalizedUrl;
|
|
51
|
+
// Filter for page targets only
|
|
52
|
+
const pageTargets = targets.filter((t) => t.type === 'page');
|
|
53
|
+
if (pageTargets.length === 0) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
// Score all targets
|
|
57
|
+
const scored = pageTargets
|
|
58
|
+
.map((t) => ({ target: t, score: scoreTabMatch(t, searchUrl) }))
|
|
59
|
+
.filter(({ score }) => score > 0)
|
|
60
|
+
.sort((a, b) => b.score - a.score);
|
|
61
|
+
if (scored.length === 0) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
// Warn if multiple tabs have same score
|
|
65
|
+
const first = scored[0];
|
|
66
|
+
const second = scored[1];
|
|
67
|
+
if (scored.length > 1 && first && second && first.score === second.score && first.score < 100) {
|
|
68
|
+
console.error(`Warning: Multiple tabs match equally (score ${first.score}), using: ${first.target.url}`);
|
|
69
|
+
}
|
|
70
|
+
return first ? first.target : null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create a new tab with the specified URL using CDP.
|
|
74
|
+
*
|
|
75
|
+
* @param normalizedUrl - URL to open in the new tab (must be pre-normalized)
|
|
76
|
+
* @param cdp - CDP connection instance
|
|
77
|
+
* @returns Target information for the new tab
|
|
78
|
+
* @throws Error if tab creation fails via both CDP and HTTP fallback methods
|
|
79
|
+
*/
|
|
80
|
+
export async function createNewTab(normalizedUrl, cdp) {
|
|
81
|
+
const port = cdp.getPort();
|
|
82
|
+
let createdTargetId = null;
|
|
83
|
+
try {
|
|
84
|
+
const response = (await cdp.send('Target.createTarget', {
|
|
85
|
+
url: normalizedUrl,
|
|
86
|
+
newWindow: false, // Open as tab, not window
|
|
87
|
+
}));
|
|
88
|
+
createdTargetId = response.targetId;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.error('CDP Target.createTarget failed, attempting HTTP fallback...', error);
|
|
92
|
+
}
|
|
93
|
+
if (createdTargetId) {
|
|
94
|
+
try {
|
|
95
|
+
const listResponse = await fetch(`http://127.0.0.1:${port}/json/list`);
|
|
96
|
+
if (!listResponse.ok) {
|
|
97
|
+
throw new Error(`Failed to list targets: ${listResponse.status} ${listResponse.statusText}`);
|
|
98
|
+
}
|
|
99
|
+
const targets = (await listResponse.json());
|
|
100
|
+
const target = targets.find((t) => t.id === createdTargetId);
|
|
101
|
+
if (!target) {
|
|
102
|
+
throw new Error(`Created target ${createdTargetId} not found in Chrome target list`);
|
|
103
|
+
}
|
|
104
|
+
return target;
|
|
105
|
+
}
|
|
106
|
+
catch (resolveError) {
|
|
107
|
+
throw new Error(`Failed to resolve created tab: ${resolveError instanceof Error ? resolveError.message : String(resolveError)}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Fallback to HTTP endpoint method
|
|
111
|
+
try {
|
|
112
|
+
const createResponse = await fetch(`http://127.0.0.1:${port}/json/new?${encodeURIComponent(normalizedUrl)}`);
|
|
113
|
+
if (!createResponse.ok) {
|
|
114
|
+
throw new Error(`HTTP /json/new failed: ${createResponse.statusText}`);
|
|
115
|
+
}
|
|
116
|
+
const target = (await createResponse.json());
|
|
117
|
+
return target;
|
|
118
|
+
}
|
|
119
|
+
catch (httpError) {
|
|
120
|
+
throw new Error(`Failed to create new tab: ${httpError instanceof Error ? httpError.message : String(httpError)}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Navigate an existing tab to a new URL using CDP.
|
|
125
|
+
*
|
|
126
|
+
* @param targetId - CDP target ID to navigate
|
|
127
|
+
* @param normalizedUrl - URL to navigate to (must be pre-normalized)
|
|
128
|
+
* @param cdp - CDP connection instance
|
|
129
|
+
* @throws Error if navigation fails (e.g., network error, invalid URL, blocked by browser)
|
|
130
|
+
*/
|
|
131
|
+
export async function navigateToUrl(targetId, normalizedUrl, cdp) {
|
|
132
|
+
// Attach to target
|
|
133
|
+
const sessionResponse = (await cdp.send('Target.attachToTarget', {
|
|
134
|
+
targetId,
|
|
135
|
+
flatten: true,
|
|
136
|
+
}));
|
|
137
|
+
// Navigate
|
|
138
|
+
const navResponse = (await cdp.send('Page.navigate', { url: normalizedUrl }, sessionResponse.sessionId));
|
|
139
|
+
if (navResponse.errorText) {
|
|
140
|
+
throw new Error(`Navigation failed: ${navResponse.errorText}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Wait for a target to be ready (URL matches expected).
|
|
145
|
+
*
|
|
146
|
+
* @param targetId - CDP target ID to wait for
|
|
147
|
+
* @param normalizedUrl - Expected URL (must be pre-normalized)
|
|
148
|
+
* @param cdp - CDP connection instance
|
|
149
|
+
* @param maxWaitMs - Maximum time to wait in milliseconds
|
|
150
|
+
* @throws Error if target doesn't become ready within maxWaitMs timeout
|
|
151
|
+
*/
|
|
152
|
+
export async function waitForTargetReady(targetId, normalizedUrl, cdp, maxWaitMs = 15000) {
|
|
153
|
+
const startTime = Date.now();
|
|
154
|
+
while (Date.now() - startTime < maxWaitMs) {
|
|
155
|
+
try {
|
|
156
|
+
// Fetch current targets
|
|
157
|
+
const response = await fetch(`http://127.0.0.1:${cdp.getPort()}/json/list`);
|
|
158
|
+
const targets = (await response.json());
|
|
159
|
+
const target = targets.find((t) => t.id === targetId);
|
|
160
|
+
if (target) {
|
|
161
|
+
// Check if URL matches or is loading
|
|
162
|
+
if (target.url === normalizedUrl ||
|
|
163
|
+
target.url.startsWith(normalizedUrl) ||
|
|
164
|
+
target.url === 'about:blank' // Still loading
|
|
165
|
+
) {
|
|
166
|
+
// Wait a bit more if still on about:blank
|
|
167
|
+
if (target.url === 'about:blank') {
|
|
168
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
return; // Target is ready!
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// Target doesn't exist yet or fetch failed, keep waiting
|
|
177
|
+
}
|
|
178
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
179
|
+
}
|
|
180
|
+
throw new Error(`Target did not become ready within ${maxWaitMs}ms`);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Create a new tab or find existing tab with the target URL.
|
|
184
|
+
*
|
|
185
|
+
* This is the main entry point for tab management.
|
|
186
|
+
* It tries to find an existing tab first, and if not found,
|
|
187
|
+
* creates a new one.
|
|
188
|
+
*
|
|
189
|
+
* @param url - Target URL (will be normalized once at entry)
|
|
190
|
+
* @param cdp - CDP connection instance
|
|
191
|
+
* @param reuseTab - If true, navigate existing tab instead of creating new one
|
|
192
|
+
* @returns Target information
|
|
193
|
+
*/
|
|
194
|
+
export async function createOrFindTarget(url, cdp, reuseTab = false) {
|
|
195
|
+
// Normalize URL once at entry point
|
|
196
|
+
const normalizedUrl = normalizeUrl(url);
|
|
197
|
+
// Only look for existing tabs if reuseTab is true
|
|
198
|
+
if (reuseTab) {
|
|
199
|
+
// Try to find existing target via CDP
|
|
200
|
+
const targetsResponse = (await cdp.send('Target.getTargets'));
|
|
201
|
+
const targets = targetsResponse.targetInfos.map((info) => ({
|
|
202
|
+
id: info.targetId,
|
|
203
|
+
type: info.type,
|
|
204
|
+
url: info.url,
|
|
205
|
+
title: info.title,
|
|
206
|
+
webSocketDebuggerUrl: '', // Not needed for this operation
|
|
207
|
+
}));
|
|
208
|
+
const existingTarget = findBestTarget(normalizedUrl, targets);
|
|
209
|
+
if (existingTarget) {
|
|
210
|
+
console.error(`Found existing tab: ${existingTarget.url}`);
|
|
211
|
+
// If URLs don't match exactly, navigate
|
|
212
|
+
if (existingTarget.url !== normalizedUrl) {
|
|
213
|
+
console.error(`Navigating tab to: ${normalizedUrl}`);
|
|
214
|
+
await navigateToUrl(existingTarget.id, normalizedUrl, cdp);
|
|
215
|
+
await waitForTargetReady(existingTarget.id, normalizedUrl, cdp);
|
|
216
|
+
}
|
|
217
|
+
return existingTarget;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// No matching tab found (or reuseTab=false), create new one
|
|
221
|
+
console.error(`Creating new tab for: ${normalizedUrl}`);
|
|
222
|
+
const newTarget = await createNewTab(normalizedUrl, cdp);
|
|
223
|
+
// Wait for tab to start loading
|
|
224
|
+
await waitForTargetReady(newTarget.id, normalizedUrl, cdp);
|
|
225
|
+
return newTarget;
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/connection/tabs.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export declare const DEFAULT_CHROME_HANDLE_SIGINT = false;
|
|
|
24
24
|
/**
|
|
25
25
|
* Persistent Chrome profile directory path (relative to user home)
|
|
26
26
|
*/
|
|
27
|
-
export declare const CHROME_PROFILE_DIR = "
|
|
27
|
+
export declare const CHROME_PROFILE_DIR = "chrome-profile";
|
|
28
28
|
/**
|
|
29
29
|
* Maximum CDP connection retry attempts before failing
|
|
30
30
|
*/
|
|
@@ -34,6 +34,16 @@ export declare const CDP_MAX_CONNECTION_RETRIES = 3;
|
|
|
34
34
|
* Maximum time to wait for WebSocket connection to establish
|
|
35
35
|
*/
|
|
36
36
|
export declare const CDP_CONNECTION_TIMEOUT_MS = 10000;
|
|
37
|
+
/**
|
|
38
|
+
* WebSocket handshake timeout in milliseconds (5 seconds)
|
|
39
|
+
* Maximum time to wait for WebSocket handshake to complete
|
|
40
|
+
*/
|
|
41
|
+
export declare const WEBSOCKET_HANDSHAKE_TIMEOUT_MS = 5000;
|
|
42
|
+
/**
|
|
43
|
+
* WebSocket maximum payload size in bytes (100MB)
|
|
44
|
+
* Allows large DOM snapshots without hitting payload limits
|
|
45
|
+
*/
|
|
46
|
+
export declare const WEBSOCKET_MAX_PAYLOAD_BYTES: number;
|
|
37
47
|
/**
|
|
38
48
|
* CDP command timeout in milliseconds (30 seconds)
|
|
39
49
|
* Maximum time to wait for CDP command responses
|
|
@@ -45,10 +55,6 @@ export declare const CDP_COMMAND_TIMEOUT_MS = 30000;
|
|
|
45
55
|
* Prevents connection timeout during long-running sessions
|
|
46
56
|
*/
|
|
47
57
|
export declare const CDP_KEEPALIVE_INTERVAL = 30000;
|
|
48
|
-
/**
|
|
49
|
-
* Enable CDP target discovery for tab detection
|
|
50
|
-
*/
|
|
51
|
-
export declare const CDP_DISCOVER_TARGETS = true;
|
|
52
58
|
/**
|
|
53
59
|
* CDP reconnection retry limit
|
|
54
60
|
* Maximum number of reconnection attempts before giving up
|
|
@@ -94,26 +100,6 @@ export declare const WEBSOCKET_NO_PONG_CLOSURE = 1001;
|
|
|
94
100
|
* Standard encoding for text data conversion
|
|
95
101
|
*/
|
|
96
102
|
export declare const UTF8_ENCODING = "utf8";
|
|
97
|
-
/**
|
|
98
|
-
* CDP target type for browser pages
|
|
99
|
-
* Identifies page-type targets (vs service workers, extensions, etc.)
|
|
100
|
-
*/
|
|
101
|
-
export declare const PAGE_TARGET_TYPE = "page";
|
|
102
|
-
/**
|
|
103
|
-
* Blank page URL used by Chrome
|
|
104
|
-
* Standard initial/empty page URL
|
|
105
|
-
*/
|
|
106
|
-
export declare const BLANK_PAGE_URL = "about:blank";
|
|
107
|
-
/**
|
|
108
|
-
* CDP createTarget new window flag (default: false for tabs)
|
|
109
|
-
* Controls whether targets are created as new windows or tabs
|
|
110
|
-
*/
|
|
111
|
-
export declare const CDP_NEW_WINDOW_FLAG = false;
|
|
112
|
-
/**
|
|
113
|
-
* CDP attachToTarget flatten flag (default: true for simplified sessions)
|
|
114
|
-
* Prevents nested session hierarchies for easier management
|
|
115
|
-
*/
|
|
116
|
-
export declare const CDP_FLATTEN_SESSION_FLAG = true;
|
|
117
103
|
/**
|
|
118
104
|
* HTTP localhost address for CDP endpoints
|
|
119
105
|
* Standard loopback address for Chrome DevTools Protocol
|
|
@@ -127,8 +113,17 @@ export declare const HEADLESS_FLAG = "--headless=new";
|
|
|
127
113
|
/**
|
|
128
114
|
* BDG-specific Chrome flags for automation and popup suppression
|
|
129
115
|
* These flags are automatically applied when launching Chrome via chrome-launcher
|
|
116
|
+
*
|
|
117
|
+
* Note: Chrome has a known issue (Chromium bug #854609) where it steals focus on macOS
|
|
118
|
+
* despite --disable-background-mode. This is a long-standing Chrome bug with no workaround.
|
|
119
|
+
* Headless mode (--headless) avoids this issue entirely.
|
|
130
120
|
*/
|
|
131
121
|
export declare const BDG_CHROME_FLAGS: string[];
|
|
122
|
+
/**
|
|
123
|
+
* Docker-specific Chrome flags to work around GPU/graphics limitations
|
|
124
|
+
* These flags disable hardware acceleration and GPU features that fail in containerized environments
|
|
125
|
+
*/
|
|
126
|
+
export declare const DOCKER_CHROME_FLAGS: string[];
|
|
132
127
|
/**
|
|
133
128
|
* BDG-specific Chrome preferences for automation
|
|
134
129
|
* These preferences are automatically merged with user preferences when launching Chrome
|
|
@@ -179,11 +174,6 @@ export declare const STALE_REQUEST_TIMEOUT = 60000;
|
|
|
179
174
|
* How often to check for and remove stale network requests
|
|
180
175
|
*/
|
|
181
176
|
export declare const STALE_REQUEST_CLEANUP_INTERVAL = 30000;
|
|
182
|
-
/**
|
|
183
|
-
* Memory usage logging interval (30 seconds)
|
|
184
|
-
* How often to log memory statistics during session collection
|
|
185
|
-
*/
|
|
186
|
-
export declare const MEMORY_LOG_INTERVAL = 30000;
|
|
187
177
|
/**
|
|
188
178
|
* Default page readiness timeout (2 seconds)
|
|
189
179
|
* Maximum time to wait for page to be ready before proceeding
|
|
@@ -209,16 +199,6 @@ export declare const PORT_OPTION_DESCRIPTION = "Chrome debugging port";
|
|
|
209
199
|
* Description for timeout option in CLI commands
|
|
210
200
|
*/
|
|
211
201
|
export declare const TIMEOUT_OPTION_DESCRIPTION = "Auto-stop after timeout (optional)";
|
|
212
|
-
/**
|
|
213
|
-
* Description for reuse-tab option in CLI commands
|
|
214
|
-
*/
|
|
215
|
-
export declare const REUSE_TAB_OPTION_DESCRIPTION = "Navigate existing tab instead of creating new one";
|
|
216
|
-
/**
|
|
217
|
-
* Default value for reuse-tab option
|
|
218
|
-
* When true, bdg will attempt to find and reuse existing tabs instead of creating new ones
|
|
219
|
-
* This is the preferred default for better UX and avoiding tab proliferation
|
|
220
|
-
*/
|
|
221
|
-
export declare const DEFAULT_REUSE_TAB = true;
|
|
222
202
|
/**
|
|
223
203
|
* Description for user-data-dir option in CLI commands
|
|
224
204
|
*/
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA2B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAoB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAIpD,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAMjD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAmB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAMtD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAMtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,0BAA0B,uCAAuC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,gCAAgC,gEACkB,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -27,7 +27,7 @@ export const DEFAULT_CHROME_HANDLE_SIGINT = false;
|
|
|
27
27
|
/**
|
|
28
28
|
* Persistent Chrome profile directory path (relative to user home)
|
|
29
29
|
*/
|
|
30
|
-
export const CHROME_PROFILE_DIR = '
|
|
30
|
+
export const CHROME_PROFILE_DIR = 'chrome-profile';
|
|
31
31
|
/**
|
|
32
32
|
* Maximum CDP connection retry attempts before failing
|
|
33
33
|
*/
|
|
@@ -37,6 +37,16 @@ export const CDP_MAX_CONNECTION_RETRIES = 3;
|
|
|
37
37
|
* Maximum time to wait for WebSocket connection to establish
|
|
38
38
|
*/
|
|
39
39
|
export const CDP_CONNECTION_TIMEOUT_MS = 10000;
|
|
40
|
+
/**
|
|
41
|
+
* WebSocket handshake timeout in milliseconds (5 seconds)
|
|
42
|
+
* Maximum time to wait for WebSocket handshake to complete
|
|
43
|
+
*/
|
|
44
|
+
export const WEBSOCKET_HANDSHAKE_TIMEOUT_MS = 5000;
|
|
45
|
+
/**
|
|
46
|
+
* WebSocket maximum payload size in bytes (100MB)
|
|
47
|
+
* Allows large DOM snapshots without hitting payload limits
|
|
48
|
+
*/
|
|
49
|
+
export const WEBSOCKET_MAX_PAYLOAD_BYTES = 100 * 1024 * 1024;
|
|
40
50
|
/**
|
|
41
51
|
* CDP command timeout in milliseconds (30 seconds)
|
|
42
52
|
* Maximum time to wait for CDP command responses
|
|
@@ -48,10 +58,6 @@ export const CDP_COMMAND_TIMEOUT_MS = 30000;
|
|
|
48
58
|
* Prevents connection timeout during long-running sessions
|
|
49
59
|
*/
|
|
50
60
|
export const CDP_KEEPALIVE_INTERVAL = 30000;
|
|
51
|
-
/**
|
|
52
|
-
* Enable CDP target discovery for tab detection
|
|
53
|
-
*/
|
|
54
|
-
export const CDP_DISCOVER_TARGETS = true;
|
|
55
61
|
/**
|
|
56
62
|
* CDP reconnection retry limit
|
|
57
63
|
* Maximum number of reconnection attempts before giving up
|
|
@@ -97,26 +103,6 @@ export const WEBSOCKET_NO_PONG_CLOSURE = 1001;
|
|
|
97
103
|
* Standard encoding for text data conversion
|
|
98
104
|
*/
|
|
99
105
|
export const UTF8_ENCODING = 'utf8';
|
|
100
|
-
/**
|
|
101
|
-
* CDP target type for browser pages
|
|
102
|
-
* Identifies page-type targets (vs service workers, extensions, etc.)
|
|
103
|
-
*/
|
|
104
|
-
export const PAGE_TARGET_TYPE = 'page';
|
|
105
|
-
/**
|
|
106
|
-
* Blank page URL used by Chrome
|
|
107
|
-
* Standard initial/empty page URL
|
|
108
|
-
*/
|
|
109
|
-
export const BLANK_PAGE_URL = 'about:blank';
|
|
110
|
-
/**
|
|
111
|
-
* CDP createTarget new window flag (default: false for tabs)
|
|
112
|
-
* Controls whether targets are created as new windows or tabs
|
|
113
|
-
*/
|
|
114
|
-
export const CDP_NEW_WINDOW_FLAG = false;
|
|
115
|
-
/**
|
|
116
|
-
* CDP attachToTarget flatten flag (default: true for simplified sessions)
|
|
117
|
-
* Prevents nested session hierarchies for easier management
|
|
118
|
-
*/
|
|
119
|
-
export const CDP_FLATTEN_SESSION_FLAG = true;
|
|
120
106
|
/**
|
|
121
107
|
* HTTP localhost address for CDP endpoints
|
|
122
108
|
* Standard loopback address for Chrome DevTools Protocol
|
|
@@ -130,6 +116,10 @@ export const HEADLESS_FLAG = '--headless=new';
|
|
|
130
116
|
/**
|
|
131
117
|
* BDG-specific Chrome flags for automation and popup suppression
|
|
132
118
|
* These flags are automatically applied when launching Chrome via chrome-launcher
|
|
119
|
+
*
|
|
120
|
+
* Note: Chrome has a known issue (Chromium bug #854609) where it steals focus on macOS
|
|
121
|
+
* despite --disable-background-mode. This is a long-standing Chrome bug with no workaround.
|
|
122
|
+
* Headless mode (--headless) avoids this issue entirely.
|
|
133
123
|
*/
|
|
134
124
|
export const BDG_CHROME_FLAGS = [
|
|
135
125
|
'--no-first-run',
|
|
@@ -139,6 +129,17 @@ export const BDG_CHROME_FLAGS = [
|
|
|
139
129
|
'--disable-infobars', // Disable all info bars including restore prompt
|
|
140
130
|
'--disable-notifications', // Suppress notification permission prompts
|
|
141
131
|
'--disable-features=Translate', // Suppress Google Translate popup (replaces deprecated --disable-translate)
|
|
132
|
+
'--disable-background-mode', // Attempt to prevent focus stealing (doesn't work reliably on macOS)
|
|
133
|
+
];
|
|
134
|
+
/**
|
|
135
|
+
* Docker-specific Chrome flags to work around GPU/graphics limitations
|
|
136
|
+
* These flags disable hardware acceleration and GPU features that fail in containerized environments
|
|
137
|
+
*/
|
|
138
|
+
export const DOCKER_CHROME_FLAGS = [
|
|
139
|
+
'--disable-gpu', // Disable GPU hardware acceleration
|
|
140
|
+
'--disable-dev-shm-usage', // Overcome limited resource problems in Docker
|
|
141
|
+
'--disable-software-rasterizer', // Don't fall back to software rendering
|
|
142
|
+
'--single-process', // Run Chrome in single-process mode (safer in containers)
|
|
142
143
|
];
|
|
143
144
|
/**
|
|
144
145
|
* BDG-specific Chrome preferences for automation
|
|
@@ -203,11 +204,6 @@ export const STALE_REQUEST_TIMEOUT = 60000;
|
|
|
203
204
|
* How often to check for and remove stale network requests
|
|
204
205
|
*/
|
|
205
206
|
export const STALE_REQUEST_CLEANUP_INTERVAL = 30000;
|
|
206
|
-
/**
|
|
207
|
-
* Memory usage logging interval (30 seconds)
|
|
208
|
-
* How often to log memory statistics during session collection
|
|
209
|
-
*/
|
|
210
|
-
export const MEMORY_LOG_INTERVAL = 30000;
|
|
211
207
|
/**
|
|
212
208
|
* Default page readiness timeout (2 seconds)
|
|
213
209
|
* Maximum time to wait for page to be ready before proceeding
|
|
@@ -243,16 +239,6 @@ export const PORT_OPTION_DESCRIPTION = 'Chrome debugging port';
|
|
|
243
239
|
* Description for timeout option in CLI commands
|
|
244
240
|
*/
|
|
245
241
|
export const TIMEOUT_OPTION_DESCRIPTION = 'Auto-stop after timeout (optional)';
|
|
246
|
-
/**
|
|
247
|
-
* Description for reuse-tab option in CLI commands
|
|
248
|
-
*/
|
|
249
|
-
export const REUSE_TAB_OPTION_DESCRIPTION = 'Navigate existing tab instead of creating new one';
|
|
250
|
-
/**
|
|
251
|
-
* Default value for reuse-tab option
|
|
252
|
-
* When true, bdg will attempt to find and reuse existing tabs instead of creating new ones
|
|
253
|
-
* This is the preferred default for better UX and avoiding tab proliferation
|
|
254
|
-
*/
|
|
255
|
-
export const DEFAULT_REUSE_TAB = true;
|
|
256
242
|
/**
|
|
257
243
|
* Description for user-data-dir option in CLI commands
|
|
258
244
|
*/
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB;IAChB,4BAA4B;IAC5B,uCAAuC;IACvC,kCAAkC,EAAE,yDAAyD;IAC7F,oBAAoB,EAAE,iDAAiD;IACvE,yBAAyB,EAAE,2CAA2C;IACtE,8BAA8B,EAAE,4EAA4E;IAC5G,2BAA2B,EAAE,qEAAqE;CACnG,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe,EAAE,oCAAoC;IACrD,yBAAyB,EAAE,+CAA+C;IAC1E,+BAA+B,EAAE,wCAAwC;IACzE,kBAAkB,EAAE,0DAA0D;CAC/E,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,uCAAuC,EAAE,KAAK,EAAE,2CAA2C;IAC3F,mBAAmB,EAAE,KAAK,EAAE,iCAAiC;IAC7D,wBAAwB,EAAE,CAAC,GAAG,CAAC,EAAE,gCAAgC;CAClE,CAAC;AAEF,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAExD,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAE7D,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,SAAS;QACpD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oCAAoC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,6DAA6D,CAAC"}
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
* Simple JSONL IPC server for daemon communication.
|
|
11
11
|
*/
|
|
12
12
|
export declare class IPCServer {
|
|
13
|
-
private server;
|
|
14
|
-
private clients;
|
|
15
13
|
private readonly startTime;
|
|
16
|
-
private
|
|
14
|
+
private readonly socketServer;
|
|
15
|
+
private readonly workerManager;
|
|
17
16
|
private pendingDomRequests;
|
|
17
|
+
constructor();
|
|
18
18
|
/**
|
|
19
19
|
* Start the IPC server on Unix domain socket.
|
|
20
20
|
*/
|
|
@@ -47,18 +47,16 @@ export declare class IPCServer {
|
|
|
47
47
|
* Handle stop session request.
|
|
48
48
|
*/
|
|
49
49
|
private handleStopSessionRequest;
|
|
50
|
-
/**
|
|
51
|
-
* Set up worker stdout listener for IPC responses.
|
|
52
|
-
*/
|
|
53
|
-
private setupWorkerListener;
|
|
54
50
|
/**
|
|
55
51
|
* Handle response from worker (lifecycle signals or command responses).
|
|
56
52
|
*/
|
|
57
53
|
private handleWorkerResponse;
|
|
54
|
+
private handleWorkerExit;
|
|
58
55
|
/**
|
|
59
56
|
* Generic forwarder for all command responses.
|
|
60
57
|
*/
|
|
61
58
|
private forwardCommandResponse;
|
|
59
|
+
private forwardWorkerStatusResponse;
|
|
62
60
|
/**
|
|
63
61
|
* Generic handler for all command requests.
|
|
64
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcServer.d.ts","sourceRoot":"","sources":["../../src/daemon/ipcServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"ipcServer.d.ts","sourceRoot":"","sources":["../../src/daemon/ipcServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6DH;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,kBAAkB,CAA6C;;IAOvE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwDrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsG3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;OAEG;YACW,yBAAyB;IAuIvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyFhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,gBAAgB;IA2DxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4E9B,OAAO,CAAC,2BAA2B;IAyDnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuE5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IAY3B;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;CAG/B"}
|