browser-debugger-cli 0.3.0 → 0.6.0
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 +182 -125
- 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 +95 -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/cdp/protocol.d.ts +121 -0
- package/dist/cdp/protocol.d.ts.map +1 -0
- package/dist/cdp/protocol.js +215 -0
- package/dist/cdp/protocol.js.map +1 -0
- package/dist/cdp/schema.d.ts +159 -0
- package/dist/cdp/schema.d.ts.map +1 -0
- package/dist/cdp/schema.js +256 -0
- package/dist/cdp/schema.js.map +1 -0
- package/dist/cdp/types.d.ts +139 -0
- package/dist/cdp/types.d.ts.map +1 -0
- package/dist/cdp/types.js +7 -0
- package/dist/cdp/types.js.map +1 -0
- package/dist/commands/cdp.d.ts +10 -1
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +363 -26
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +15 -18
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/dom.d.ts.map +1 -1
- package/dist/commands/dom.js +14 -19
- package/dist/commands/dom.js.map +1 -1
- package/dist/commands/domEvalHelpers.d.ts +3 -16
- 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/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +12 -6
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +2 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +15 -4
- 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 +11 -5
- 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 +35 -11
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +74 -57
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +13 -27
- 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 +117 -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 +86 -7
- package/dist/connection/cdp.js.map +1 -1
- package/dist/{utils/chromeDiagnostics.d.ts → connection/diagnostics.d.ts} +1 -1
- package/dist/connection/diagnostics.d.ts.map +1 -0
- package/dist/{utils/chromeDiagnostics.js → connection/diagnostics.js} +1 -1
- package/dist/connection/diagnostics.js.map +1 -0
- package/dist/connection/domOperations.d.ts.map +1 -1
- package/dist/connection/domOperations.js +3 -1
- package/dist/connection/domOperations.js.map +1 -1
- package/dist/{utils → connection}/errors.d.ts +9 -17
- package/dist/connection/errors.d.ts.map +1 -0
- package/dist/{utils → connection}/errors.js +12 -17
- package/dist/connection/errors.js.map +1 -0
- package/dist/connection/handlers.d.ts +63 -0
- package/dist/connection/handlers.d.ts.map +1 -0
- package/dist/connection/handlers.js +64 -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 +141 -31
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -0
- package/dist/{utils → connection}/pageReadiness.js +30 -31
- package/dist/connection/pageReadiness.js.map +1 -0
- package/dist/connection/typed-cdp.d.ts +144 -0
- package/dist/connection/typed-cdp.d.ts.map +1 -0
- package/dist/connection/typed-cdp.js +120 -0
- package/dist/connection/typed-cdp.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/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/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.map +1 -0
- package/dist/{utils → telemetry}/__tests__/filters.unit.test.js +1 -1
- package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
- package/dist/telemetry/__tests__/network.contract.test.js +124 -93
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
- package/dist/telemetry/console.d.ts +1 -1
- package/dist/telemetry/console.d.ts.map +1 -1
- package/dist/telemetry/console.js +8 -5
- 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/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +3 -1
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/{utils → telemetry}/filters.d.ts +40 -0
- package/dist/telemetry/filters.d.ts.map +1 -0
- package/dist/{utils → telemetry}/filters.js +55 -1
- 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 -141
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/{errors.d.ts → errors/CommandError.d.ts} +1 -1
- package/dist/ui/errors/CommandError.d.ts.map +1 -0
- package/dist/ui/{errors.js → errors/CommandError.js} +1 -1
- package/dist/ui/errors/CommandError.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/{utils → ui/logging}/logger.d.ts +1 -1
- package/dist/ui/logging/logger.d.ts.map +1 -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/commands.d.ts +1 -0
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +1 -0
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +30 -3
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +36 -8
- package/dist/ui/messages/errors.js.map +1 -1
- 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 +22 -7
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/ui/messages/validation.d.ts +22 -4
- package/dist/ui/messages/validation.d.ts.map +1 -1
- package/dist/ui/messages/validation.js +26 -5
- package/dist/ui/messages/validation.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/url.d.ts.map +1 -1
- package/dist/utils/url.js +10 -0
- package/dist/utils/url.js.map +1 -1
- package/package.json +3 -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/cleanup.d.ts +0 -8
- package/dist/cli/commands/cleanup.d.ts.map +0 -1
- package/dist/cli/commands/cleanup.js +0 -129
- package/dist/cli/commands/cleanup.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/details.d.ts +0 -8
- package/dist/cli/commands/details.d.ts.map +0 -1
- package/dist/cli/commands/details.js +0 -68
- package/dist/cli/commands/details.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/commands/peek.d.ts +0 -8
- package/dist/cli/commands/peek.d.ts.map +0 -1
- package/dist/cli/commands/peek.js +0 -109
- package/dist/cli/commands/peek.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -9
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -95
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -9
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -87
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/stop.d.ts +0 -8
- package/dist/cli/commands/stop.d.ts.map +0 -1
- package/dist/cli/commands/stop.js +0 -147
- package/dist/cli/commands/stop.js.map +0 -1
- package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
- package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/detailsFormatter.js +0 -63
- package/dist/cli/formatters/detailsFormatter.js.map +0 -1
- package/dist/cli/formatters/previewFormatter.d.ts +0 -27
- package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/previewFormatter.js +0 -160
- package/dist/cli/formatters/previewFormatter.js.map +0 -1
- package/dist/cli/formatters/statusFormatter.d.ts +0 -39
- package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/statusFormatter.js +0 -153
- package/dist/cli/formatters/statusFormatter.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/OutputBuilder.d.ts +0 -60
- package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
- package/dist/cli/handlers/OutputBuilder.js +0 -138
- package/dist/cli/handlers/OutputBuilder.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/cli/handlers/sessionController.d.ts +0 -21
- package/dist/cli/handlers/sessionController.d.ts.map +0 -1
- package/dist/cli/handlers/sessionController.js +0 -55
- package/dist/cli/handlers/sessionController.js.map +0 -1
- package/dist/cli/registry.d.ts +0 -11
- package/dist/cli/registry.d.ts.map +0 -1
- package/dist/cli/registry.js +0 -46
- package/dist/cli/registry.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/collectors/console.d.ts +0 -19
- package/dist/collectors/console.d.ts.map +0 -1
- package/dist/collectors/console.js +0 -87
- package/dist/collectors/console.js.map +0 -1
- package/dist/collectors/dom.d.ts +0 -21
- package/dist/collectors/dom.d.ts.map +0 -1
- package/dist/collectors/dom.js +0 -99
- package/dist/collectors/dom.js.map +0 -1
- package/dist/collectors/network.d.ts +0 -33
- package/dist/collectors/network.d.ts.map +0 -1
- package/dist/collectors/network.js +0 -191
- package/dist/collectors/network.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/ui/errors.d.ts.map +0 -1
- package/dist/ui/errors.js.map +0 -1
- package/dist/ui/messages/index.d.ts +0 -12
- package/dist/ui/messages/index.d.ts.map +0 -1
- package/dist/ui/messages/index.js +0 -12
- package/dist/ui/messages/index.js.map +0 -1
- package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
- package/dist/utils/cdpHandlers.d.ts +0 -31
- package/dist/utils/cdpHandlers.d.ts.map +0 -1
- package/dist/utils/cdpHandlers.js +0 -38
- package/dist/utils/cdpHandlers.js.map +0 -1
- package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
- package/dist/utils/chromeDiagnostics.js.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/filters.d.ts.map +0 -1
- package/dist/utils/filters.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/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/pageReadiness.d.ts.map +0 -1
- package/dist/utils/pageReadiness.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
- /package/dist/{utils → connection}/pageReadiness.d.ts +0 -0
- /package/dist/{utils → telemetry}/__tests__/filters.unit.test.d.ts +0 -0
- /package/dist/{utils → ui/logging}/logger.js +0 -0
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { startSessionViaDaemon } from '../../cli/handlers/daemonSessionController.js';
|
|
2
|
-
import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION, TIMEOUT_OPTION_DESCRIPTION, USER_DATA_DIR_OPTION_DESCRIPTION, } from '../../constants.js';
|
|
3
|
-
/**
|
|
4
|
-
* Apply shared collector options to a command
|
|
5
|
-
*
|
|
6
|
-
* @param command - Commander.js Command instance to apply options to
|
|
7
|
-
* @returns The modified Command instance with all collector options applied
|
|
8
|
-
*/
|
|
9
|
-
function applyCollectorOptions(command) {
|
|
10
|
-
return command
|
|
11
|
-
.option('-p, --port <number>', PORT_OPTION_DESCRIPTION, DEFAULT_DEBUG_PORT)
|
|
12
|
-
.option('-t, --timeout <seconds>', TIMEOUT_OPTION_DESCRIPTION)
|
|
13
|
-
.option('-u, --user-data-dir <path>', USER_DATA_DIR_OPTION_DESCRIPTION)
|
|
14
|
-
.option('-a, --all', 'Include all data (disable filtering of tracking/analytics)')
|
|
15
|
-
.option('-m, --max-body-size <megabytes>', 'Maximum response body size in MB (default: 5MB)', '5')
|
|
16
|
-
.option('--compact', 'Use compact JSON format (no indentation) for output files');
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Parse a string to integer, returning undefined if not provided
|
|
20
|
-
* @param value - Optional string value to parse
|
|
21
|
-
* @param fieldName - Name of the field being parsed (for error messages)
|
|
22
|
-
* @returns Parsed integer or undefined if value was not provided
|
|
23
|
-
* @throws Error if value is provided but not a valid integer
|
|
24
|
-
*/
|
|
25
|
-
function parseOptionalInt(value, fieldName) {
|
|
26
|
-
if (value === undefined) {
|
|
27
|
-
return undefined;
|
|
28
|
-
}
|
|
29
|
-
const parsed = parseInt(value, 10);
|
|
30
|
-
if (isNaN(parsed)) {
|
|
31
|
-
throw new Error(`Invalid ${fieldName}: "${value}" is not a valid integer`);
|
|
32
|
-
}
|
|
33
|
-
return parsed;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Transform CLI options into session options
|
|
37
|
-
*
|
|
38
|
-
* @param options - Parsed command-line options from Commander
|
|
39
|
-
* @returns Session options object with parsed and normalized values
|
|
40
|
-
*/
|
|
41
|
-
function buildSessionOptions(options) {
|
|
42
|
-
const maxBodySizeMB = parseOptionalInt(options.maxBodySize, 'max-body-size');
|
|
43
|
-
return {
|
|
44
|
-
port: parseInt(options.port, 10),
|
|
45
|
-
timeout: parseOptionalInt(options.timeout, 'timeout'),
|
|
46
|
-
userDataDir: options.userDataDir,
|
|
47
|
-
includeAll: options.all ?? false,
|
|
48
|
-
maxBodySize: maxBodySizeMB !== undefined ? maxBodySizeMB * 1024 * 1024 : undefined,
|
|
49
|
-
compact: options.compact ?? false,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Common action handler for collector commands
|
|
54
|
-
*
|
|
55
|
-
* @param url - Target URL to collect telemetry from
|
|
56
|
-
* @param options - Parsed command-line options from Commander
|
|
57
|
-
* @returns Promise that resolves when session completes or is stopped
|
|
58
|
-
*/
|
|
59
|
-
async function collectorAction(url, options) {
|
|
60
|
-
const sessionOptions = buildSessionOptions(options);
|
|
61
|
-
// Always collect all 3 types (dom, network, console)
|
|
62
|
-
const collectors = ['dom', 'network', 'console'];
|
|
63
|
-
// Dispatch to daemon via IPC instead of running in-process
|
|
64
|
-
await startSessionViaDaemon(url, sessionOptions, collectors);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Register the start command
|
|
68
|
-
*
|
|
69
|
-
* @param program - Commander.js Command instance to register command on
|
|
70
|
-
* @returns void
|
|
71
|
-
*/
|
|
72
|
-
export function registerStartCommands(program) {
|
|
73
|
-
// Default command: always collects all 3 types (dom, network, console)
|
|
74
|
-
applyCollectorOptions(program.argument('[url]', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
|
|
75
|
-
// Show friendly help if no URL provided
|
|
76
|
-
if (!url) {
|
|
77
|
-
console.error('');
|
|
78
|
-
console.error('Start a new session by providing a URL:');
|
|
79
|
-
console.error('');
|
|
80
|
-
console.error(' bdg example.com');
|
|
81
|
-
console.error(' bdg localhost:3000');
|
|
82
|
-
console.error(' bdg https://github.com');
|
|
83
|
-
console.error('');
|
|
84
|
-
console.error('Or manage existing session:');
|
|
85
|
-
console.error('');
|
|
86
|
-
console.error(' bdg status Check session state');
|
|
87
|
-
console.error(' bdg stop End session');
|
|
88
|
-
console.error(' bdg --help Show all commands');
|
|
89
|
-
console.error('');
|
|
90
|
-
process.exit(0);
|
|
91
|
-
}
|
|
92
|
-
await collectorAction(url, options);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=start.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* Register status command
|
|
4
|
-
*
|
|
5
|
-
* @param program - Commander.js Command instance to register commands on
|
|
6
|
-
* @returns void
|
|
7
|
-
*/
|
|
8
|
-
export declare function registerStatusCommand(program: Command): void;
|
|
9
|
-
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoF5D"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { getStatus } from '../../ipc/client.js';
|
|
2
|
-
import { cleanupStaleDaemonPid } from '../../session/cleanup.js';
|
|
3
|
-
import { formatSessionStatus, formatStatusAsJson, formatNoSessionMessage, } from '../../ui/formatters/status.js';
|
|
4
|
-
import { daemonNotRunningWithCleanup } from '../../ui/messages/commands.js';
|
|
5
|
-
import { getErrorMessage } from '../../utils/errors.js';
|
|
6
|
-
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
7
|
-
import { VERSION } from '../../utils/version.js';
|
|
8
|
-
/**
|
|
9
|
-
* Register status command
|
|
10
|
-
*
|
|
11
|
-
* @param program - Commander.js Command instance to register commands on
|
|
12
|
-
* @returns void
|
|
13
|
-
*/
|
|
14
|
-
export function registerStatusCommand(program) {
|
|
15
|
-
program
|
|
16
|
-
.command('status')
|
|
17
|
-
.description('Show active session status and collection statistics')
|
|
18
|
-
.option('-j, --json', 'Output as JSON')
|
|
19
|
-
.option('-v, --verbose', 'Show detailed Chrome diagnostics')
|
|
20
|
-
.action(async (options) => {
|
|
21
|
-
try {
|
|
22
|
-
// Request status from daemon via IPC
|
|
23
|
-
const response = await getStatus();
|
|
24
|
-
// Handle IPC error response
|
|
25
|
-
if (response.status === 'error') {
|
|
26
|
-
console.error(`Daemon error: ${response.error ?? 'Unknown error'}`);
|
|
27
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
28
|
-
}
|
|
29
|
-
// Extract data from response
|
|
30
|
-
const { data } = response;
|
|
31
|
-
if (!data) {
|
|
32
|
-
console.error('Invalid response from daemon: missing data');
|
|
33
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
34
|
-
}
|
|
35
|
-
// Check if there's an active session
|
|
36
|
-
if (!data.sessionPid || !data.sessionMetadata) {
|
|
37
|
-
if (options.json) {
|
|
38
|
-
console.log(JSON.stringify({ version: VERSION, active: false }, null, 2));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
console.error(formatNoSessionMessage());
|
|
42
|
-
}
|
|
43
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
44
|
-
}
|
|
45
|
-
// Convert IPC metadata to SessionMetadata format
|
|
46
|
-
const metadata = {
|
|
47
|
-
bdgPid: data.sessionMetadata.bdgPid,
|
|
48
|
-
chromePid: data.sessionMetadata.chromePid,
|
|
49
|
-
startTime: data.sessionMetadata.startTime,
|
|
50
|
-
port: data.sessionMetadata.port,
|
|
51
|
-
targetId: data.sessionMetadata.targetId,
|
|
52
|
-
webSocketDebuggerUrl: data.sessionMetadata.webSocketDebuggerUrl,
|
|
53
|
-
activeCollectors: data.sessionMetadata.activeCollectors,
|
|
54
|
-
};
|
|
55
|
-
if (options.json) {
|
|
56
|
-
// JSON output - include activity and page state
|
|
57
|
-
const jsonOutput = formatStatusAsJson(metadata, data.sessionPid);
|
|
58
|
-
// Merge in activity data if available
|
|
59
|
-
if (data.activity) {
|
|
60
|
-
jsonOutput.activity = data.activity;
|
|
61
|
-
}
|
|
62
|
-
if (data.pageState) {
|
|
63
|
-
jsonOutput.pageState = data.pageState;
|
|
64
|
-
}
|
|
65
|
-
console.log(JSON.stringify(jsonOutput, null, 2));
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
// Human-readable output - pass activity and page state
|
|
69
|
-
console.log(formatSessionStatus(metadata, data.sessionPid, data.activity, data.pageState, options.verbose ?? false));
|
|
70
|
-
}
|
|
71
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
// Handle connection errors (daemon not running)
|
|
75
|
-
const errorMessage = getErrorMessage(error);
|
|
76
|
-
if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
|
|
77
|
-
// P0 Fix #2: Auto-cleanup stale daemon PID if it exists
|
|
78
|
-
const cleaned = cleanupStaleDaemonPid();
|
|
79
|
-
console.error(daemonNotRunningWithCleanup(cleaned));
|
|
80
|
-
process.exit(EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
81
|
-
}
|
|
82
|
-
console.error(`Error checking status: ${errorMessage}`);
|
|
83
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsFzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8F1D"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { runCommand } from '../../cli/handlers/CommandRunner.js';
|
|
2
|
-
import { jsonOption } from '../../cli/handlers/commonOptions.js';
|
|
3
|
-
import { stopSession } from '../../ipc/client.js';
|
|
4
|
-
import { IPCErrorCode } from '../../ipc/types.js';
|
|
5
|
-
import { clearChromePid } from '../../session/chrome.js';
|
|
6
|
-
import { killChromeProcess } from '../../session/process.js';
|
|
7
|
-
import { sessionStoppedMessage, chromeKilledMessage, warningMessage, } from '../../ui/messages/commands.js';
|
|
8
|
-
import { getErrorMessage } from '../../utils/errors.js';
|
|
9
|
-
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
10
|
-
/**
|
|
11
|
-
* Format stop result for human-readable output.
|
|
12
|
-
*
|
|
13
|
-
* @param data - Stop result data
|
|
14
|
-
*/
|
|
15
|
-
function formatStop(data) {
|
|
16
|
-
if (data.stopped.bdg) {
|
|
17
|
-
console.error(sessionStoppedMessage());
|
|
18
|
-
}
|
|
19
|
-
if (data.stopped.chrome) {
|
|
20
|
-
console.error(chromeKilledMessage());
|
|
21
|
-
}
|
|
22
|
-
if (data.warnings && data.warnings.length > 0) {
|
|
23
|
-
data.warnings.forEach((warning) => {
|
|
24
|
-
console.error(warningMessage(warning));
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Map daemon error codes to appropriate exit codes.
|
|
30
|
-
*
|
|
31
|
-
* @param errorCode - IPC error code from daemon response
|
|
32
|
-
* @returns Semantic exit code
|
|
33
|
-
*/
|
|
34
|
-
function getExitCodeForDaemonError(errorCode) {
|
|
35
|
-
switch (errorCode) {
|
|
36
|
-
case IPCErrorCode.NO_SESSION:
|
|
37
|
-
return EXIT_CODES.RESOURCE_NOT_FOUND;
|
|
38
|
-
case IPCErrorCode.SESSION_KILL_FAILED:
|
|
39
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
40
|
-
case IPCErrorCode.DAEMON_ERROR:
|
|
41
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
42
|
-
case IPCErrorCode.SESSION_ALREADY_RUNNING:
|
|
43
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
44
|
-
case IPCErrorCode.WORKER_START_FAILED:
|
|
45
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
46
|
-
case IPCErrorCode.CHROME_LAUNCH_FAILED:
|
|
47
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
48
|
-
case IPCErrorCode.CDP_TIMEOUT:
|
|
49
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
50
|
-
case undefined:
|
|
51
|
-
return EXIT_CODES.UNHANDLED_EXCEPTION;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Register stop command
|
|
56
|
-
*
|
|
57
|
-
* @param program - Commander.js Command instance to register commands on
|
|
58
|
-
*/
|
|
59
|
-
export function registerStopCommand(program) {
|
|
60
|
-
program
|
|
61
|
-
.command('stop')
|
|
62
|
-
.description('Stop all active sessions and free ports (does not capture output)')
|
|
63
|
-
.option('--kill-chrome', 'Also kill Chrome browser')
|
|
64
|
-
.addOption(jsonOption)
|
|
65
|
-
.action(async (options) => {
|
|
66
|
-
await runCommand(async (opts) => {
|
|
67
|
-
try {
|
|
68
|
-
// Try to stop session via IPC (daemon)
|
|
69
|
-
const response = await stopSession();
|
|
70
|
-
if (response.status === 'ok') {
|
|
71
|
-
// Session stopped successfully via daemon
|
|
72
|
-
let chromeStopped = false;
|
|
73
|
-
const warnings = [];
|
|
74
|
-
// Handle Chrome if requested (daemon captured Chrome PID before cleanup)
|
|
75
|
-
if (opts.killChrome) {
|
|
76
|
-
const chromePid = response.chromePid;
|
|
77
|
-
if (chromePid) {
|
|
78
|
-
try {
|
|
79
|
-
killChromeProcess(chromePid, 'SIGTERM');
|
|
80
|
-
chromeStopped = true;
|
|
81
|
-
console.error(chromeKilledMessage(chromePid));
|
|
82
|
-
clearChromePid();
|
|
83
|
-
}
|
|
84
|
-
catch (chromeError) {
|
|
85
|
-
const errorMessage = chromeError instanceof Error ? chromeError.message : String(chromeError);
|
|
86
|
-
warnings.push(`Could not kill Chrome: ${errorMessage}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
warnings.push('Chrome PID not found (Chrome was not launched by bdg)');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
success: true,
|
|
95
|
-
data: {
|
|
96
|
-
stopped: { bdg: true, chrome: chromeStopped },
|
|
97
|
-
message: response.message ?? 'Session stopped successfully',
|
|
98
|
-
...(warnings.length > 0 && { warnings }),
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
// Daemon returned error
|
|
104
|
-
// Special case: NO_SESSION is not really an error - it's a success (desired state achieved)
|
|
105
|
-
if (response.errorCode === IPCErrorCode.NO_SESSION) {
|
|
106
|
-
return {
|
|
107
|
-
success: true,
|
|
108
|
-
data: {
|
|
109
|
-
stopped: { bdg: false, chrome: false },
|
|
110
|
-
message: response.message ?? 'No active session found',
|
|
111
|
-
},
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
// Other errors are actual failures
|
|
115
|
-
const exitCode = getExitCodeForDaemonError(response.errorCode);
|
|
116
|
-
return {
|
|
117
|
-
success: false,
|
|
118
|
-
error: response.message ?? 'Failed to stop session',
|
|
119
|
-
exitCode,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
// IPC transport failure (ENOENT, ECONNREFUSED, timeout, etc.)
|
|
125
|
-
const errorMessage = getErrorMessage(error);
|
|
126
|
-
// Check if it's a connection error (daemon not running)
|
|
127
|
-
if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
|
|
128
|
-
return {
|
|
129
|
-
success: false,
|
|
130
|
-
error: 'Daemon not running',
|
|
131
|
-
exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
|
|
132
|
-
errorContext: {
|
|
133
|
-
suggestion: 'Start a session first with: bdg <url>',
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
// Other errors (timeout, parse failures, etc.)
|
|
138
|
-
return {
|
|
139
|
-
success: false,
|
|
140
|
-
error: `Stop session failed: ${errorMessage}`,
|
|
141
|
-
exitCode: EXIT_CODES.UNHANDLED_EXCEPTION,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
}, options, formatStop);
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=stop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { NetworkRequest, ConsoleMessage } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Format network request details for human-readable output
|
|
4
|
-
*/
|
|
5
|
-
export declare function formatNetworkDetails(request: NetworkRequest): string;
|
|
6
|
-
/**
|
|
7
|
-
* Format console message details for human-readable output
|
|
8
|
-
*/
|
|
9
|
-
export declare function formatConsoleDetails(message: ConsoleMessage): string;
|
|
10
|
-
//# sourceMappingURL=detailsFormatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detailsFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/detailsFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA4CpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAmBpE"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format network request details for human-readable output
|
|
3
|
-
*/
|
|
4
|
-
export function formatNetworkDetails(request) {
|
|
5
|
-
const lines = [];
|
|
6
|
-
lines.push('Network Request Details');
|
|
7
|
-
lines.push('━'.repeat(70));
|
|
8
|
-
lines.push(`Request ID: ${request.requestId}`);
|
|
9
|
-
lines.push(`URL: ${request.url}`);
|
|
10
|
-
lines.push(`Method: ${request.method}`);
|
|
11
|
-
lines.push(`Status: ${request.status ?? 'pending'}`);
|
|
12
|
-
lines.push(`MIME Type: ${request.mimeType ?? 'N/A'}`);
|
|
13
|
-
lines.push('');
|
|
14
|
-
if (request.requestHeaders) {
|
|
15
|
-
lines.push('Request Headers:');
|
|
16
|
-
lines.push('━'.repeat(70));
|
|
17
|
-
Object.entries(request.requestHeaders).forEach(([key, value]) => {
|
|
18
|
-
lines.push(` ${key}: ${value}`);
|
|
19
|
-
});
|
|
20
|
-
lines.push('');
|
|
21
|
-
}
|
|
22
|
-
if (request.requestBody) {
|
|
23
|
-
lines.push('Request Body:');
|
|
24
|
-
lines.push('━'.repeat(70));
|
|
25
|
-
lines.push(request.requestBody);
|
|
26
|
-
lines.push('');
|
|
27
|
-
}
|
|
28
|
-
if (request.responseHeaders) {
|
|
29
|
-
lines.push('Response Headers:');
|
|
30
|
-
lines.push('━'.repeat(70));
|
|
31
|
-
Object.entries(request.responseHeaders).forEach(([key, value]) => {
|
|
32
|
-
lines.push(` ${key}: ${value}`);
|
|
33
|
-
});
|
|
34
|
-
lines.push('');
|
|
35
|
-
}
|
|
36
|
-
if (request.responseBody) {
|
|
37
|
-
lines.push('Response Body:');
|
|
38
|
-
lines.push('━'.repeat(70));
|
|
39
|
-
lines.push(request.responseBody);
|
|
40
|
-
}
|
|
41
|
-
return lines.join('\n');
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Format console message details for human-readable output
|
|
45
|
-
*/
|
|
46
|
-
export function formatConsoleDetails(message) {
|
|
47
|
-
const lines = [];
|
|
48
|
-
lines.push('Console Message Details');
|
|
49
|
-
lines.push('━'.repeat(70));
|
|
50
|
-
lines.push(`Type: ${message.type}`);
|
|
51
|
-
lines.push(`Timestamp: ${new Date(message.timestamp).toISOString()}`);
|
|
52
|
-
lines.push(`Text: ${message.text}`);
|
|
53
|
-
lines.push('');
|
|
54
|
-
if (message.args && message.args.length > 0) {
|
|
55
|
-
lines.push('Arguments:');
|
|
56
|
-
lines.push('━'.repeat(70));
|
|
57
|
-
message.args.forEach((arg, idx) => {
|
|
58
|
-
lines.push(` [${idx}]: ${JSON.stringify(arg, null, 2)}`);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return lines.join('\n');
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=detailsFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detailsFormatter.js","sourceRoot":"","sources":["../../../src/cli/formatters/detailsFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { BdgOutput } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Flags that shape how preview output is rendered for `bdg peek`.
|
|
4
|
-
*/
|
|
5
|
-
export interface PreviewOptions {
|
|
6
|
-
/** Emit raw JSON instead of formatted text. */
|
|
7
|
-
json?: boolean;
|
|
8
|
-
/** Limit output to network requests (ignores console data). */
|
|
9
|
-
network?: boolean;
|
|
10
|
-
/** Limit output to console messages (ignores network data). */
|
|
11
|
-
console?: boolean;
|
|
12
|
-
/** Number of recent entries to include (parsed as integer). */
|
|
13
|
-
last: string;
|
|
14
|
-
/** Use the expanded, human-friendly layout. */
|
|
15
|
-
verbose?: boolean;
|
|
16
|
-
/** Stream updates until interrupted (tail-like behaviour). */
|
|
17
|
-
follow?: boolean;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Format preview output (peek command)
|
|
21
|
-
*/
|
|
22
|
-
export declare function formatPreview(output: BdgOutput, options: PreviewOptions): string;
|
|
23
|
-
/**
|
|
24
|
-
* Format "no preview data" message
|
|
25
|
-
*/
|
|
26
|
-
export declare function formatNoPreviewDataMessage(): string;
|
|
27
|
-
//# sourceMappingURL=previewFormatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"previewFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/previewFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAMhF;AAgKD;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAMnD"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { truncateUrl, truncateText } from '../../ui/formatting.js';
|
|
2
|
-
/**
|
|
3
|
-
* Format preview output (peek command)
|
|
4
|
-
*/
|
|
5
|
-
export function formatPreview(output, options) {
|
|
6
|
-
if (options.json) {
|
|
7
|
-
return formatPreviewAsJson(output, options);
|
|
8
|
-
}
|
|
9
|
-
return formatPreviewHumanReadable(output, options);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Format preview as JSON
|
|
13
|
-
*
|
|
14
|
-
* Returns the output wrapped in a preview object to maintain the
|
|
15
|
-
* IPC response structure (.preview.data path for JSON consumers).
|
|
16
|
-
*/
|
|
17
|
-
function formatPreviewAsJson(output, options) {
|
|
18
|
-
const jsonOutput = {
|
|
19
|
-
...output,
|
|
20
|
-
};
|
|
21
|
-
// Apply filters
|
|
22
|
-
if (options.network) {
|
|
23
|
-
delete jsonOutput.data.console;
|
|
24
|
-
}
|
|
25
|
-
if (options.console) {
|
|
26
|
-
delete jsonOutput.data.network;
|
|
27
|
-
}
|
|
28
|
-
// Apply --last limit
|
|
29
|
-
const lastCount = parseInt(options.last);
|
|
30
|
-
if (jsonOutput.data.network && jsonOutput.data.network.length > lastCount) {
|
|
31
|
-
jsonOutput.data.network = jsonOutput.data.network.slice(-lastCount);
|
|
32
|
-
}
|
|
33
|
-
if (jsonOutput.data.console && jsonOutput.data.console.length > lastCount) {
|
|
34
|
-
jsonOutput.data.console = jsonOutput.data.console.slice(-lastCount);
|
|
35
|
-
}
|
|
36
|
-
// Wrap in preview object to maintain .preview.data path for JSON consumers
|
|
37
|
-
return JSON.stringify({ preview: jsonOutput }, null, 2);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Format preview as human-readable output
|
|
41
|
-
*/
|
|
42
|
-
function formatPreviewHumanReadable(output, options) {
|
|
43
|
-
// Use verbose format if requested, otherwise use compact
|
|
44
|
-
if (options.verbose) {
|
|
45
|
-
return formatPreviewVerbose(output, options);
|
|
46
|
-
}
|
|
47
|
-
return formatPreviewCompact(output, options);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Format preview in compact format (default)
|
|
51
|
-
* Token-efficient output optimized for AI agents
|
|
52
|
-
*/
|
|
53
|
-
function formatPreviewCompact(output, options) {
|
|
54
|
-
const lines = [];
|
|
55
|
-
// Simple header (no Unicode box drawing)
|
|
56
|
-
lines.push(`PREVIEW | Duration: ${Math.floor(output.duration / 1000)}s | Updated: ${output.timestamp}`);
|
|
57
|
-
lines.push('');
|
|
58
|
-
const lastCount = parseInt(options.last);
|
|
59
|
-
// Show network requests (compact)
|
|
60
|
-
if (!options.console && output.data.network) {
|
|
61
|
-
const requests = output.data.network.slice(-lastCount);
|
|
62
|
-
lines.push(`NETWORK (${requests.length}/${output.data.network.length}):`);
|
|
63
|
-
if (requests.length === 0) {
|
|
64
|
-
lines.push(' (none)');
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
requests.forEach((req) => {
|
|
68
|
-
const status = req.status ?? 'pending';
|
|
69
|
-
const url = truncateUrl(req.url, 50);
|
|
70
|
-
lines.push(` ${status} ${req.method} ${url} [${req.requestId}]`);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
lines.push('');
|
|
74
|
-
}
|
|
75
|
-
// Show console messages (compact)
|
|
76
|
-
if (!options.network && output.data.console) {
|
|
77
|
-
const messages = output.data.console.slice(-lastCount);
|
|
78
|
-
lines.push(`CONSOLE (${messages.length}/${output.data.console.length}):`);
|
|
79
|
-
if (messages.length === 0) {
|
|
80
|
-
lines.push(' (none)');
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
messages.forEach((msg) => {
|
|
84
|
-
const prefix = msg.type.toUpperCase().padEnd(5);
|
|
85
|
-
const text = truncateText(msg.text, 2);
|
|
86
|
-
lines.push(` ${prefix} ${text}`);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
lines.push('');
|
|
90
|
-
}
|
|
91
|
-
// Minimal suggestions
|
|
92
|
-
lines.push('Tip: bdg stop | bdg peek --last 50 | bdg peek --verbose');
|
|
93
|
-
return lines.join('\n');
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Format preview in verbose format (opt-in with --verbose)
|
|
97
|
-
* Original human-friendly output with Unicode formatting
|
|
98
|
-
*/
|
|
99
|
-
function formatPreviewVerbose(output, options) {
|
|
100
|
-
const lines = [];
|
|
101
|
-
lines.push('Live Preview (Partial Data)');
|
|
102
|
-
lines.push('━'.repeat(50));
|
|
103
|
-
lines.push(`Duration: ${Math.floor(output.duration / 1000)}s`);
|
|
104
|
-
lines.push(`Last updated: ${output.timestamp}`);
|
|
105
|
-
lines.push('');
|
|
106
|
-
const lastCount = parseInt(options.last);
|
|
107
|
-
// Show network requests
|
|
108
|
-
if (!options.console && output.data.network) {
|
|
109
|
-
const requests = output.data.network.slice(-lastCount);
|
|
110
|
-
lines.push(`Network Requests (last ${requests.length} of ${output.data.network.length})`);
|
|
111
|
-
lines.push('━'.repeat(50));
|
|
112
|
-
if (requests.length === 0) {
|
|
113
|
-
lines.push('No network requests yet');
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
requests.forEach((req) => {
|
|
117
|
-
const statusColor = req.status && req.status >= 400 ? 'ERR' : 'OK';
|
|
118
|
-
const status = req.status ?? 'pending';
|
|
119
|
-
lines.push(`${statusColor} ${status} ${req.method} ${req.url}`);
|
|
120
|
-
if (req.mimeType) {
|
|
121
|
-
lines.push(` Type: ${req.mimeType}`);
|
|
122
|
-
}
|
|
123
|
-
lines.push(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
lines.push('');
|
|
127
|
-
}
|
|
128
|
-
// Show console messages
|
|
129
|
-
if (!options.network && output.data.console) {
|
|
130
|
-
const messages = output.data.console.slice(-lastCount);
|
|
131
|
-
lines.push(`Console Messages (last ${messages.length} of ${output.data.console.length})`);
|
|
132
|
-
lines.push('━'.repeat(50));
|
|
133
|
-
if (messages.length === 0) {
|
|
134
|
-
lines.push('No console messages yet');
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
messages.forEach((msg) => {
|
|
138
|
-
const icon = msg.type === 'error' ? 'ERR' : msg.type === 'warning' ? 'WARN' : 'INFO';
|
|
139
|
-
lines.push(`${icon} [${msg.type}] ${msg.text}`);
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
lines.push('');
|
|
143
|
-
}
|
|
144
|
-
lines.push('Commands:');
|
|
145
|
-
lines.push(' Stop session: bdg stop');
|
|
146
|
-
lines.push(' Full preview: bdg peek --last 50');
|
|
147
|
-
lines.push(' Watch live: bdg peek --follow');
|
|
148
|
-
return lines.join('\n');
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Format "no preview data" message
|
|
152
|
-
*/
|
|
153
|
-
export function formatNoPreviewDataMessage() {
|
|
154
|
-
return `Error: No active session found
|
|
155
|
-
No preview data available
|
|
156
|
-
|
|
157
|
-
Start a session with: bdg <url>
|
|
158
|
-
Check session status: bdg status`;
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=previewFormatter.js.map
|