browser-debugger-cli 0.1.0 → 0.3.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/dist/__testfixtures__/cdpMessages.d.ts +1 -1
- package/dist/__testfixtures__/connectionTargets.d.ts +1 -1
- package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +47 -0
- package/dist/__tests__/schema.contract.test.d.ts +19 -0
- package/dist/__tests__/schema.contract.test.d.ts.map +1 -0
- package/dist/__tests__/schema.contract.test.js +236 -0
- package/dist/__tests__/schema.contract.test.js.map +1 -0
- package/dist/__testutils__/assertions.d.ts +1 -1
- package/dist/__testutils__/testFixtures.d.ts +1 -1
- package/dist/cli/commands/cdp.js +1 -1
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +12 -13
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/console.js +2 -2
- package/dist/cli/commands/details.js +3 -3
- package/dist/cli/commands/details.js.map +1 -1
- package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -1
- package/dist/cli/commands/dom/helpers/errorHandler.js +4 -3
- package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -1
- package/dist/cli/commands/dom/index.js +1 -1
- package/dist/cli/commands/dom.d.ts.map +1 -0
- package/dist/cli/commands/dom.js +257 -0
- package/dist/cli/commands/dom.js.map +1 -0
- package/dist/cli/commands/domErrorHandler.d.ts +45 -0
- package/dist/cli/commands/domErrorHandler.d.ts.map +1 -0
- package/dist/cli/commands/domErrorHandler.js +71 -0
- package/dist/cli/commands/domErrorHandler.js.map +1 -0
- package/dist/cli/commands/domEvalHelpers.d.ts +52 -0
- package/dist/cli/commands/domEvalHelpers.d.ts.map +1 -0
- package/dist/cli/commands/domEvalHelpers.js +76 -0
- package/dist/cli/commands/domEvalHelpers.js.map +1 -0
- package/dist/cli/commands/domOptionsBuilder.d.ts +35 -0
- package/dist/cli/commands/domOptionsBuilder.d.ts.map +1 -0
- package/dist/cli/commands/domOptionsBuilder.js +51 -0
- package/dist/cli/commands/domOptionsBuilder.js.map +1 -0
- package/dist/cli/{collectors/helpers/selectorParser.d.ts → commands/domSelectorParser.d.ts} +1 -1
- package/dist/cli/commands/domSelectorParser.d.ts.map +1 -0
- package/dist/cli/{collectors/helpers/selectorParser.js → commands/domSelectorParser.js} +1 -1
- package/dist/cli/commands/domSelectorParser.js.map +1 -0
- package/dist/cli/commands/network.d.ts.map +1 -1
- package/dist/cli/commands/network.js +8 -5
- package/dist/cli/commands/network.js.map +1 -1
- package/dist/cli/commands/peek.d.ts.map +1 -1
- package/dist/cli/commands/peek.js +7 -7
- package/dist/cli/commands/peek.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +19 -2
- 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 +13 -10
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.d.ts.map +1 -1
- package/dist/cli/commands/stop.js +7 -6
- 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 +1 -1
- package/dist/cli/formatters/previewFormatter.js +1 -1
- package/dist/cli/formatters/previewFormatter.js.map +1 -1
- package/dist/cli/formatters/statusFormatter.d.ts +6 -1
- package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
- package/dist/cli/formatters/statusFormatter.js +49 -4
- package/dist/cli/formatters/statusFormatter.js.map +1 -1
- package/dist/cli/handlers/CommandRunner.d.ts.map +1 -1
- package/dist/cli/handlers/CommandRunner.js +5 -5
- package/dist/cli/handlers/CommandRunner.js.map +1 -1
- package/dist/cli/handlers/OutputBuilder.d.ts +1 -1
- package/dist/cli/handlers/daemonSessionController.d.ts +1 -1
- package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -1
- package/dist/cli/handlers/daemonSessionController.js +16 -45
- package/dist/cli/handlers/daemonSessionController.js.map +1 -1
- package/dist/cli/handlers/landingPage.d.ts +8 -0
- package/dist/cli/handlers/landingPage.d.ts.map +1 -0
- package/dist/cli/handlers/landingPage.js +8 -0
- package/dist/cli/handlers/landingPage.js.map +1 -0
- package/dist/cli/registry.js +10 -10
- package/dist/cli/registry.js.map +1 -1
- package/dist/collectors/__tests__/network.contract.test.js +25 -10
- package/dist/collectors/__tests__/network.contract.test.js.map +1 -1
- package/dist/collectors/console.d.ts +1 -1
- package/dist/collectors/console.js.map +1 -1
- package/dist/collectors/dom.d.ts +1 -1
- package/dist/collectors/network.d.ts +1 -1
- package/dist/collectors/network.js.map +1 -1
- package/dist/commandRegistry.d.ts +11 -0
- package/dist/commandRegistry.d.ts.map +1 -0
- package/dist/commandRegistry.js +45 -0
- package/dist/commandRegistry.js.map +1 -0
- package/dist/commands/__tests__/cdp.contract.test.d.ts +24 -0
- package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/cdp.contract.test.js +466 -0
- package/dist/commands/__tests__/cdp.contract.test.js.map +1 -0
- package/dist/commands/__tests__/domEval.contract.test.d.ts +17 -0
- package/dist/commands/__tests__/domEval.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/domEval.contract.test.js +231 -0
- package/dist/commands/__tests__/domEval.contract.test.js.map +1 -0
- package/dist/commands/cdp.d.ts +8 -0
- package/dist/commands/cdp.d.ts.map +1 -0
- package/dist/commands/cdp.js +45 -0
- package/dist/commands/cdp.js.map +1 -0
- package/dist/commands/cleanup.d.ts +8 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +170 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/console.d.ts +8 -0
- package/dist/commands/console.d.ts.map +1 -0
- package/dist/commands/console.js +92 -0
- package/dist/commands/console.js.map +1 -0
- package/dist/commands/details.d.ts +8 -0
- package/dist/commands/details.d.ts.map +1 -0
- package/dist/commands/details.js +68 -0
- package/dist/commands/details.js.map +1 -0
- package/dist/commands/dom.d.ts +8 -0
- package/dist/commands/dom.d.ts.map +1 -0
- package/dist/commands/dom.js +249 -0
- package/dist/commands/dom.js.map +1 -0
- package/dist/commands/domErrorHandler.d.ts +45 -0
- package/dist/commands/domErrorHandler.d.ts.map +1 -0
- package/dist/commands/domErrorHandler.js +71 -0
- package/dist/commands/domErrorHandler.js.map +1 -0
- package/dist/commands/domEvalHelpers.d.ts +48 -0
- package/dist/commands/domEvalHelpers.d.ts.map +1 -0
- package/dist/commands/domEvalHelpers.js +72 -0
- package/dist/commands/domEvalHelpers.js.map +1 -0
- package/dist/commands/domOptionsBuilder.d.ts +35 -0
- package/dist/commands/domOptionsBuilder.d.ts.map +1 -0
- package/dist/commands/domOptionsBuilder.js +51 -0
- package/dist/commands/domOptionsBuilder.js.map +1 -0
- package/dist/commands/domSelectorParser.d.ts +20 -0
- package/dist/commands/domSelectorParser.d.ts.map +1 -0
- package/dist/commands/domSelectorParser.js +20 -0
- package/dist/commands/domSelectorParser.js.map +1 -0
- package/dist/commands/network.d.ts +8 -0
- package/dist/commands/network.d.ts.map +1 -0
- package/dist/commands/network.js +41 -0
- package/dist/commands/network.js.map +1 -0
- package/dist/commands/peek.d.ts +8 -0
- package/dist/commands/peek.d.ts.map +1 -0
- package/dist/commands/peek.js +115 -0
- package/dist/commands/peek.js.map +1 -0
- package/dist/commands/shared/CommandRunner.d.ts +62 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -0
- package/dist/commands/shared/CommandRunner.js +97 -0
- package/dist/commands/shared/CommandRunner.js.map +1 -0
- package/dist/commands/shared/OutputBuilder.d.ts +60 -0
- package/dist/commands/shared/OutputBuilder.d.ts.map +1 -0
- package/dist/commands/shared/OutputBuilder.js +138 -0
- package/dist/commands/shared/OutputBuilder.js.map +1 -0
- package/dist/commands/shared/commonOptions.d.ts +54 -0
- package/dist/commands/shared/commonOptions.d.ts.map +1 -0
- package/dist/commands/shared/commonOptions.js +65 -0
- package/dist/commands/shared/commonOptions.js.map +1 -0
- package/dist/commands/shared/daemonSessionController.d.ts +23 -0
- package/dist/commands/shared/daemonSessionController.d.ts.map +1 -0
- package/dist/commands/shared/daemonSessionController.js +79 -0
- package/dist/commands/shared/daemonSessionController.js.map +1 -0
- package/dist/commands/shared/landingPage.d.ts +8 -0
- package/dist/commands/shared/landingPage.d.ts.map +1 -0
- package/dist/commands/shared/landingPage.js +8 -0
- package/dist/commands/shared/landingPage.js.map +1 -0
- package/dist/commands/shared/sessionController.d.ts +21 -0
- package/dist/commands/shared/sessionController.d.ts.map +1 -0
- package/dist/commands/shared/sessionController.js +54 -0
- package/dist/commands/shared/sessionController.js.map +1 -0
- package/dist/commands/start.d.ts +9 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +85 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/{cli/commands/query.d.ts → commands/status.d.ts} +3 -3
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +88 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +8 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +152 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands.d.ts +11 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +45 -0
- package/dist/commands.js.map +1 -0
- package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -1
- package/dist/connection/__tests__/cdp.contract.test.js +1 -2
- package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
- package/dist/connection/__tests__/finder.contract.test.js +1 -1
- package/dist/connection/__tests__/finder.contract.test.js.map +1 -1
- package/dist/connection/cdp.d.ts +1 -1
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/domOperations.d.ts +48 -0
- package/dist/connection/domOperations.d.ts.map +1 -0
- package/dist/connection/domOperations.js +104 -0
- package/dist/connection/domOperations.js.map +1 -0
- package/dist/connection/finder.js.map +1 -1
- package/dist/connection/launcher.d.ts +7 -3
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +82 -21
- package/dist/connection/launcher.js.map +1 -1
- package/dist/constants.d.ts +17 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +28 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/__tests__/ipcServer.contract.test.js +25 -11
- package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
- package/dist/daemon/ipcServer.d.ts.map +1 -1
- package/dist/daemon/ipcServer.js +86 -6
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +8 -6
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/startSession.d.ts +2 -2
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +14 -11
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker.d.ts +1 -1
- package/dist/daemon/worker.js +179 -52
- package/dist/daemon/worker.js.map +1 -1
- package/dist/{cli/collectors/helpers/domCache.d.ts → dom/cache.d.ts} +1 -5
- package/dist/dom/cache.d.ts.map +1 -0
- package/dist/{cli/collectors/helpers/domCache.js → dom/cache.js} +5 -19
- package/dist/dom/cache.js.map +1 -0
- package/dist/dom/index.d.ts +9 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +9 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/{cli/collectors/helpers/domQuery.d.ts → dom/query.d.ts} +5 -2
- package/dist/dom/query.d.ts.map +1 -0
- package/dist/{cli/collectors/helpers/domQuery.js → dom/query.js} +11 -7
- package/dist/dom/query.js.map +1 -0
- package/dist/index.js +117 -35
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/client.contract.test.js +11 -1
- package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
- package/dist/ipc/client.d.ts +17 -4
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +26 -6
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/commands.d.ts +52 -1
- package/dist/ipc/commands.d.ts.map +1 -1
- package/dist/ipc/commands.js +8 -0
- package/dist/ipc/commands.js.map +1 -1
- package/dist/ipc/types.d.ts +34 -3
- package/dist/ipc/types.d.ts.map +1 -1
- package/dist/ipc/types.js.map +1 -1
- package/dist/session/metadata.d.ts +2 -2
- package/dist/session/metadata.d.ts.map +1 -1
- package/dist/session/output.d.ts +1 -1
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +4 -3
- package/dist/session/process.js.map +1 -1
- package/dist/session/queryCache.d.ts +36 -0
- package/dist/session/queryCache.d.ts.map +1 -0
- package/dist/session/queryCache.js +66 -0
- package/dist/session/queryCache.js.map +1 -0
- package/dist/telemetry/__tests__/network.contract.test.d.ts +28 -0
- package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/network.contract.test.js +540 -0
- package/dist/telemetry/__tests__/network.contract.test.js.map +1 -0
- package/dist/telemetry/console.d.ts +19 -0
- package/dist/telemetry/console.d.ts.map +1 -0
- package/dist/telemetry/console.js +87 -0
- package/dist/telemetry/console.js.map +1 -0
- package/dist/telemetry/dom.d.ts +21 -0
- package/dist/telemetry/dom.d.ts.map +1 -0
- package/dist/telemetry/dom.js +99 -0
- package/dist/telemetry/dom.js.map +1 -0
- package/dist/telemetry/network.d.ts +33 -0
- package/dist/telemetry/network.d.ts.map +1 -0
- package/dist/telemetry/network.js +191 -0
- package/dist/telemetry/network.js.map +1 -0
- package/dist/types.d.ts +25 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/errors.d.ts +39 -0
- package/dist/ui/errors.d.ts.map +1 -0
- package/dist/ui/errors.js +48 -0
- package/dist/ui/errors.js.map +1 -0
- package/dist/ui/formatters/cookies.d.ts +32 -0
- package/dist/ui/formatters/cookies.d.ts.map +1 -0
- package/dist/ui/formatters/cookies.js +45 -0
- package/dist/ui/formatters/cookies.js.map +1 -0
- package/dist/ui/formatters/details.d.ts +10 -0
- package/dist/ui/formatters/details.d.ts.map +1 -0
- package/dist/ui/formatters/details.js +61 -0
- package/dist/ui/formatters/details.js.map +1 -0
- package/dist/ui/formatters/dom.d.ts +135 -0
- package/dist/ui/formatters/dom.d.ts.map +1 -0
- package/dist/ui/formatters/dom.js +193 -0
- package/dist/ui/formatters/dom.js.map +1 -0
- package/dist/ui/formatters/index.d.ts +11 -0
- package/dist/ui/formatters/index.d.ts.map +1 -0
- package/dist/ui/formatters/index.js +11 -0
- package/dist/ui/formatters/index.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts +25 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -0
- package/dist/ui/formatters/preview.js +182 -0
- package/dist/ui/formatters/preview.js.map +1 -0
- package/dist/ui/formatters/status.d.ts +39 -0
- package/dist/ui/formatters/status.d.ts.map +1 -0
- package/dist/ui/formatters/status.js +153 -0
- package/dist/ui/formatters/status.js.map +1 -0
- package/dist/ui/formatting.d.ts +300 -0
- package/dist/ui/formatting.d.ts.map +1 -0
- package/dist/ui/formatting.js +454 -0
- package/dist/ui/formatting.js.map +1 -0
- package/dist/ui/messages/chrome.d.ts +172 -0
- package/dist/ui/messages/chrome.d.ts.map +1 -0
- package/dist/ui/messages/chrome.js +253 -0
- package/dist/ui/messages/chrome.js.map +1 -0
- package/dist/ui/messages/commands.d.ts +88 -0
- package/dist/ui/messages/commands.d.ts.map +1 -0
- package/dist/ui/messages/commands.js +150 -0
- package/dist/ui/messages/commands.js.map +1 -0
- package/dist/ui/messages/consoleMessages.d.ts +39 -0
- package/dist/ui/messages/consoleMessages.d.ts.map +1 -0
- package/dist/ui/messages/consoleMessages.js +48 -0
- package/dist/ui/messages/consoleMessages.js.map +1 -0
- package/dist/ui/messages/debug.d.ts +182 -0
- package/dist/ui/messages/debug.d.ts.map +1 -0
- package/dist/ui/messages/debug.js +243 -0
- package/dist/ui/messages/debug.js.map +1 -0
- package/dist/ui/messages/errors.d.ts +91 -0
- package/dist/ui/messages/errors.d.ts.map +1 -0
- package/dist/ui/messages/errors.js +135 -0
- package/dist/ui/messages/errors.js.map +1 -0
- package/dist/ui/messages/index.d.ts +12 -0
- package/dist/ui/messages/index.d.ts.map +1 -0
- package/dist/ui/messages/index.js +12 -0
- package/dist/ui/messages/index.js.map +1 -0
- package/dist/ui/messages/internal.d.ts +30 -0
- package/dist/ui/messages/internal.d.ts.map +1 -0
- package/dist/ui/messages/internal.js +42 -0
- package/dist/ui/messages/internal.js.map +1 -0
- package/dist/ui/messages/preview.d.ts +51 -0
- package/dist/ui/messages/preview.d.ts.map +1 -0
- package/dist/ui/messages/preview.js +76 -0
- package/dist/ui/messages/preview.js.map +1 -0
- package/dist/ui/messages/session.d.ts +54 -0
- package/dist/ui/messages/session.d.ts.map +1 -0
- package/dist/ui/messages/session.js +77 -0
- package/dist/ui/messages/session.js.map +1 -0
- package/dist/ui/messages/validation.d.ts +34 -0
- package/dist/ui/messages/validation.d.ts.map +1 -0
- package/dist/ui/messages/validation.js +38 -0
- package/dist/ui/messages/validation.js.map +1 -0
- package/dist/utils/__tests__/filters.unit.test.js +1 -1
- package/dist/utils/cdpHandlers.d.ts +1 -1
- package/dist/utils/cdpHandlers.js +1 -1
- package/dist/utils/chromeDiagnostics.d.ts +0 -12
- package/dist/utils/chromeDiagnostics.d.ts.map +1 -1
- package/dist/utils/chromeDiagnostics.js +0 -51
- package/dist/utils/chromeDiagnostics.js.map +1 -1
- package/dist/utils/filters.js +1 -1
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/http.d.ts +1 -1
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/logger.d.ts +68 -12
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +62 -12
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/pageReadiness.d.ts +46 -0
- package/dist/utils/pageReadiness.d.ts.map +1 -0
- package/dist/utils/pageReadiness.js +271 -0
- package/dist/utils/pageReadiness.js.map +1 -0
- package/dist/utils/ui.d.ts +36 -0
- package/dist/utils/ui.d.ts.map +1 -0
- package/dist/utils/ui.js +47 -0
- package/dist/utils/ui.js.map +1 -0
- package/dist/utils/url.d.ts +60 -26
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +130 -84
- package/dist/utils/url.js.map +1 -1
- package/package.json +2 -5
- package/dist/cli/collectors/dom.d.ts.map +0 -1
- package/dist/cli/collectors/dom.js +0 -361
- package/dist/cli/collectors/dom.js.map +0 -1
- package/dist/cli/collectors/helpers/domCache.d.ts.map +0 -1
- package/dist/cli/collectors/helpers/domCache.js.map +0 -1
- package/dist/cli/collectors/helpers/domQuery.d.ts.map +0 -1
- package/dist/cli/collectors/helpers/domQuery.js.map +0 -1
- package/dist/cli/collectors/helpers/selectorParser.d.ts.map +0 -1
- package/dist/cli/collectors/helpers/selectorParser.js.map +0 -1
- package/dist/cli/commands/__tests__/ipcTest.test.d.ts +0 -2
- package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +0 -1
- package/dist/cli/commands/__tests__/ipcTest.test.js +0 -37
- package/dist/cli/commands/__tests__/ipcTest.test.js.map +0 -1
- package/dist/cli/commands/ipcTest.d.ts +0 -23
- package/dist/cli/commands/ipcTest.d.ts.map +0 -1
- package/dist/cli/commands/ipcTest.js +0 -181
- package/dist/cli/commands/ipcTest.js.map +0 -1
- package/dist/cli/commands/query.d.ts.map +0 -1
- package/dist/cli/commands/query.js +0 -127
- package/dist/cli/commands/query.js.map +0 -1
- package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
- package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
- package/dist/cli/handlers/ChromeBootstrap.js +0 -50
- package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
- package/dist/cli/handlers/OutputWriter.d.ts +0 -15
- package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
- package/dist/cli/handlers/OutputWriter.js +0 -34
- package/dist/cli/handlers/OutputWriter.js.map +0 -1
- package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
- package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
- package/dist/cli/handlers/PreviewWriter.js +0 -119
- package/dist/cli/handlers/PreviewWriter.js.map +0 -1
- package/dist/cli/handlers/SessionLock.d.ts +0 -16
- package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
- package/dist/cli/handlers/SessionLock.js +0 -38
- package/dist/cli/handlers/SessionLock.js.map +0 -1
- package/dist/cli/handlers/SessionLoop.d.ts +0 -19
- package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
- package/dist/cli/handlers/SessionLoop.js +0 -47
- package/dist/cli/handlers/SessionLoop.js.map +0 -1
- package/dist/cli/handlers/ShutdownController.d.ts +0 -38
- package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
- package/dist/cli/handlers/ShutdownController.js +0 -83
- package/dist/cli/handlers/ShutdownController.js.map +0 -1
- package/dist/cli/handlers/SignalHandler.d.ts +0 -35
- package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
- package/dist/cli/handlers/SignalHandler.js +0 -81
- package/dist/cli/handlers/SignalHandler.js.map +0 -1
- package/dist/cli/handlers/TargetSetup.d.ts +0 -42
- package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
- package/dist/cli/handlers/TargetSetup.js +0 -87
- package/dist/cli/handlers/TargetSetup.js.map +0 -1
- package/dist/connection/__tests__/tabs.contract.test.d.ts +0 -2
- package/dist/connection/__tests__/tabs.contract.test.d.ts.map +0 -1
- package/dist/connection/__tests__/tabs.contract.test.js +0 -137
- package/dist/connection/__tests__/tabs.contract.test.js.map +0 -1
- package/dist/connection/tabs.d.ts +0 -82
- package/dist/connection/tabs.d.ts.map +0 -1
- package/dist/connection/tabs.js +0 -577
- package/dist/connection/tabs.js.map +0 -1
- package/dist/session/BdgSession.d.ts +0 -129
- package/dist/session/BdgSession.d.ts.map +0 -1
- package/dist/session/BdgSession.js +0 -270
- package/dist/session/BdgSession.js.map +0 -1
- package/dist/session/index.d.ts +0 -15
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js +0 -23
- package/dist/session/index.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -12
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -20
- package/dist/utils/validation.js.map +0 -1
- /package/dist/cli/{collectors → commands}/dom.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewWriter.js","sourceRoot":"","sources":["../../../src/cli/handlers/PreviewWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAanD;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAMd;IACA;IACA;IACA;IARF,QAAQ,GAA0B,IAAI,CAAC;IACvC,YAAY,GAAyB,IAAI,CAAC;IAC1C,SAAS,GAAG,KAAK,CAAC;IAE1B,YACU,UAA6B,EAC7B,SAAiB,EACjB,aAAqB,IAAI,EACzB,UAAmB,KAAK;QAHxB,eAAU,GAAV,UAAU,CAAmB;QAC7B,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAe;QACzB,YAAO,GAAP,OAAO,CAAiB;IAC/B,CAAC;IAEJ;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,8DAA8D;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE;aAC/B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,OAAO;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAE/D,mFAAmF;QACnF,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;QAEP,sCAAsC;QACtC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;YACxC,IAAI,EAAE,SAAS;YACf,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe;YACf,WAAW;YACX,gBAAgB;SACjB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,MAAM;YACZ,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe;YACf,WAAW;YACX,gBAAgB;SACjB,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,uBAAuB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,0BAA0B;YAChF,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,4BAA4B;SAC7E,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { CollectorType } from '../../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Handles session lock acquisition and validation
|
|
4
|
-
*/
|
|
5
|
-
export declare class SessionLock {
|
|
6
|
-
/**
|
|
7
|
-
* Acquire session lock and validate inputs
|
|
8
|
-
*
|
|
9
|
-
* @param url - Target URL to monitor
|
|
10
|
-
* @param collectors - Collector types to enable
|
|
11
|
-
* @returns Normalized URL
|
|
12
|
-
* @throws Error if session already running or validation fails
|
|
13
|
-
*/
|
|
14
|
-
static acquire(url: string, collectors: CollectorType[]): string;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=SessionLock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLock.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/SessionLock.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM;CAsBjE"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { cleanupSession } from '../../session/cleanup.js';
|
|
2
|
-
import { acquireSessionLock } from '../../session/lock.js';
|
|
3
|
-
import { readPid } from '../../session/pid.js';
|
|
4
|
-
import { isProcessAlive } from '../../session/process.js';
|
|
5
|
-
import { normalizeUrl } from '../../utils/url.js';
|
|
6
|
-
import { validateCollectorTypes } from '../../utils/validation.js';
|
|
7
|
-
/**
|
|
8
|
-
* Handles session lock acquisition and validation
|
|
9
|
-
*/
|
|
10
|
-
export class SessionLock {
|
|
11
|
-
/**
|
|
12
|
-
* Acquire session lock and validate inputs
|
|
13
|
-
*
|
|
14
|
-
* @param url - Target URL to monitor
|
|
15
|
-
* @param collectors - Collector types to enable
|
|
16
|
-
* @returns Normalized URL
|
|
17
|
-
* @throws Error if session already running or validation fails
|
|
18
|
-
*/
|
|
19
|
-
static acquire(url, collectors) {
|
|
20
|
-
const existingPid = readPid();
|
|
21
|
-
// Check for stale session before trying to acquire lock
|
|
22
|
-
if (existingPid && !isProcessAlive(existingPid)) {
|
|
23
|
-
console.error(`Found stale session (PID ${existingPid} not running)`);
|
|
24
|
-
console.error('Cleaning up stale session files...');
|
|
25
|
-
cleanupSession();
|
|
26
|
-
console.error('Stale session cleaned up');
|
|
27
|
-
}
|
|
28
|
-
if (!acquireSessionLock()) {
|
|
29
|
-
const currentPid = readPid();
|
|
30
|
-
throw new Error(`Session already running (PID ${currentPid}). Stop it with: bdg stop`);
|
|
31
|
-
}
|
|
32
|
-
// Validate collector types
|
|
33
|
-
validateCollectorTypes(collectors);
|
|
34
|
-
// Normalize URL - add http:// if no protocol specified
|
|
35
|
-
return normalizeUrl(url);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=SessionLock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLock.js","sourceRoot":"","sources":["../../../src/cli/handlers/SessionLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,UAA2B;QACrD,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;QAE9B,wDAAwD;QACxD,IAAI,WAAW,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,4BAA4B,WAAW,eAAe,CAAC,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,2BAA2B,CAAC,CAAC;QACzF,CAAC;QAED,2BAA2B;QAC3B,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAEnC,uDAAuD;QACvD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { BdgSession } from '../../session/BdgSession.js';
|
|
2
|
-
import type { CDPTarget } from '../../types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Manages the session monitoring loop
|
|
5
|
-
*/
|
|
6
|
-
export declare class SessionLoop {
|
|
7
|
-
/**
|
|
8
|
-
* Run session loop until stopped or error
|
|
9
|
-
*
|
|
10
|
-
* Monitors WebSocket connection and target lifecycle.
|
|
11
|
-
* Throws error if connection lost or tab closed.
|
|
12
|
-
*
|
|
13
|
-
* @param session - Active BDG session instance
|
|
14
|
-
* @param target - CDP target being monitored
|
|
15
|
-
* @throws Error if WebSocket connection lost or browser tab closed
|
|
16
|
-
*/
|
|
17
|
-
static run(session: BdgSession, target: CDPTarget): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=SessionLoop.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLoop.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/SessionLoop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAA4B,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;OASG;WACU,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CA2CxE"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manages the session monitoring loop
|
|
3
|
-
*/
|
|
4
|
-
export class SessionLoop {
|
|
5
|
-
/**
|
|
6
|
-
* Run session loop until stopped or error
|
|
7
|
-
*
|
|
8
|
-
* Monitors WebSocket connection and target lifecycle.
|
|
9
|
-
* Throws error if connection lost or tab closed.
|
|
10
|
-
*
|
|
11
|
-
* @param session - Active BDG session instance
|
|
12
|
-
* @param target - CDP target being monitored
|
|
13
|
-
* @throws Error if WebSocket connection lost or browser tab closed
|
|
14
|
-
*/
|
|
15
|
-
static async run(session, target) {
|
|
16
|
-
if (!session) {
|
|
17
|
-
throw new Error('Session not initialized');
|
|
18
|
-
}
|
|
19
|
-
const cdp = session.getCDP();
|
|
20
|
-
const waitForNextCheck = () => new Promise((resolve) => {
|
|
21
|
-
let timer;
|
|
22
|
-
let handlerId;
|
|
23
|
-
const handleTargetDestroyed = (params) => {
|
|
24
|
-
if (params.targetId === target.id) {
|
|
25
|
-
clearTimeout(timer);
|
|
26
|
-
cdp.off('Target.targetDestroyed', handlerId);
|
|
27
|
-
resolve('destroyed');
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
handlerId = cdp.on('Target.targetDestroyed', handleTargetDestroyed);
|
|
31
|
-
timer = setTimeout(() => {
|
|
32
|
-
cdp.off('Target.targetDestroyed', handlerId);
|
|
33
|
-
resolve('continue');
|
|
34
|
-
}, 2000);
|
|
35
|
-
});
|
|
36
|
-
for (;;) {
|
|
37
|
-
const result = await waitForNextCheck();
|
|
38
|
-
if (!session.isConnected()) {
|
|
39
|
-
throw new Error('WebSocket connection lost');
|
|
40
|
-
}
|
|
41
|
-
if (result === 'destroyed') {
|
|
42
|
-
throw new Error('Browser tab was closed');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=SessionLoop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionLoop.js","sourceRoot":"","sources":["../../../src/cli/handlers/SessionLoop.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAmB,EAAE,MAAiB;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE7B,MAAM,gBAAgB,GAAG,GAAsC,EAAE,CAC/D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,KAAoC,CAAC;YACzC,IAAI,SAAiB,CAAC;YAEtB,MAAM,qBAAqB,GAAG,CAAC,MAAgC,EAAQ,EAAE;gBACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;oBAClC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;oBAC7C,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;YAEF,SAAS,GAAG,GAAG,CAAC,EAAE,CAChB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;YAEF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAC7C,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEL,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { BdgSession } from '../../session/BdgSession.js';
|
|
2
|
-
import type { CDPTarget, LaunchedChrome } from '../../types.js';
|
|
3
|
-
import { OutputWriter } from './OutputWriter.js';
|
|
4
|
-
/**
|
|
5
|
-
* Minimal session state interface
|
|
6
|
-
*/
|
|
7
|
-
export interface SessionState {
|
|
8
|
-
session: BdgSession | null;
|
|
9
|
-
launchedChrome: LaunchedChrome | null;
|
|
10
|
-
isShuttingDown: boolean;
|
|
11
|
-
startTime: number;
|
|
12
|
-
target: CDPTarget | null;
|
|
13
|
-
compact: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Orchestrates shutdown sequence and cleanup operations
|
|
17
|
-
*/
|
|
18
|
-
export declare class ShutdownController {
|
|
19
|
-
private state;
|
|
20
|
-
private shutdownKeepalive;
|
|
21
|
-
private outputWriter;
|
|
22
|
-
constructor(state: SessionState, outputWriter?: OutputWriter);
|
|
23
|
-
/**
|
|
24
|
-
* Execute graceful shutdown sequence.
|
|
25
|
-
* Stops session, writes output, and exits process.
|
|
26
|
-
*/
|
|
27
|
-
shutdown(): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Cleanup without stopping session (error path).
|
|
30
|
-
* Clears timers, tears down Chrome if launched, and removes session files.
|
|
31
|
-
*/
|
|
32
|
-
cleanup(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Finalize shutdown: write output, cleanup, and exit (internal use only)
|
|
35
|
-
*/
|
|
36
|
-
private finalize;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=ShutdownController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShutdownController.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/ShutdownController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAa,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,KAAK;IAJf,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,YAAY,CAAe;gBAGzB,KAAK,EAAE,YAAY,EAC3B,YAAY,CAAC,EAAE,YAAY;IAK7B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB/B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;OAEG;IACH,OAAO,CAAC,QAAQ;CA8BjB"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { cleanupSession } from '../../session/cleanup.js';
|
|
2
|
-
import { OutputBuilder } from './OutputBuilder.js';
|
|
3
|
-
import { OutputWriter } from './OutputWriter.js';
|
|
4
|
-
/**
|
|
5
|
-
* Orchestrates shutdown sequence and cleanup operations
|
|
6
|
-
*/
|
|
7
|
-
export class ShutdownController {
|
|
8
|
-
state;
|
|
9
|
-
shutdownKeepalive = null;
|
|
10
|
-
outputWriter;
|
|
11
|
-
constructor(state, outputWriter) {
|
|
12
|
-
this.state = state;
|
|
13
|
-
this.outputWriter = outputWriter ?? new OutputWriter();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Execute graceful shutdown sequence.
|
|
17
|
-
* Stops session, writes output, and exits process.
|
|
18
|
-
*/
|
|
19
|
-
async shutdown() {
|
|
20
|
-
if (this.state.isShuttingDown || !this.state.session) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.state.isShuttingDown = true;
|
|
24
|
-
// Keep event loop alive IMMEDIATELY to prevent premature exit during async operations
|
|
25
|
-
// This must be set before any await points
|
|
26
|
-
this.shutdownKeepalive = setInterval(() => { }, 1000);
|
|
27
|
-
try {
|
|
28
|
-
console.error('Stopping session...');
|
|
29
|
-
const output = await this.state.session.stop();
|
|
30
|
-
this.finalize(output, 0);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error('Error during shutdown:', error);
|
|
34
|
-
const errorOutput = OutputBuilder.buildError(error, this.state.startTime);
|
|
35
|
-
this.finalize(errorOutput, 1);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Cleanup without stopping session (error path).
|
|
40
|
-
* Clears timers, tears down Chrome if launched, and removes session files.
|
|
41
|
-
*/
|
|
42
|
-
async cleanup() {
|
|
43
|
-
// Kill Chrome if we launched it
|
|
44
|
-
if (this.state.launchedChrome) {
|
|
45
|
-
try {
|
|
46
|
-
await this.state.launchedChrome.kill();
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
// Ignore errors during cleanup
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// Cleanup session files
|
|
53
|
-
cleanupSession();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Finalize shutdown: write output, cleanup, and exit (internal use only)
|
|
57
|
-
*/
|
|
58
|
-
finalize(output, exitCode) {
|
|
59
|
-
// Write output
|
|
60
|
-
this.outputWriter.writeSessionOutput(output, exitCode, this.state.compact);
|
|
61
|
-
// Leave Chrome running for future sessions
|
|
62
|
-
if (this.state.launchedChrome) {
|
|
63
|
-
const chromeMessage = exitCode === 0
|
|
64
|
-
? 'Leaving Chrome running for future sessions (use persistent profile)'
|
|
65
|
-
: 'Leaving Chrome running (use persistent profile)';
|
|
66
|
-
console.error(chromeMessage);
|
|
67
|
-
console.error(`Chrome PID: ${this.state.launchedChrome.pid}, port: ${this.state.launchedChrome.port}`);
|
|
68
|
-
}
|
|
69
|
-
// Cleanup session files
|
|
70
|
-
try {
|
|
71
|
-
cleanupSession();
|
|
72
|
-
}
|
|
73
|
-
catch (cleanupError) {
|
|
74
|
-
console.error('Error cleaning up session:', cleanupError);
|
|
75
|
-
}
|
|
76
|
-
// Clear keepalive and exit
|
|
77
|
-
if (this.shutdownKeepalive) {
|
|
78
|
-
clearInterval(this.shutdownKeepalive);
|
|
79
|
-
}
|
|
80
|
-
process.exit(exitCode);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=ShutdownController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShutdownController.js","sourceRoot":"","sources":["../../../src/cli/handlers/ShutdownController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interface for shutdown callback
|
|
3
|
-
*/
|
|
4
|
-
export interface SignalHandlerOptions {
|
|
5
|
-
onShutdown: () => Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Manages process signal handling for graceful shutdown
|
|
9
|
-
*/
|
|
10
|
-
export declare class SignalHandler {
|
|
11
|
-
private options;
|
|
12
|
-
private isHandling;
|
|
13
|
-
constructor(options: SignalHandlerOptions);
|
|
14
|
-
/**
|
|
15
|
-
* Register signal handlers for graceful shutdown.
|
|
16
|
-
*/
|
|
17
|
-
register(): void;
|
|
18
|
-
/**
|
|
19
|
-
* Unregister all signal handlers.
|
|
20
|
-
*/
|
|
21
|
-
unregister(): void;
|
|
22
|
-
/**
|
|
23
|
-
* Handle shutdown signals (SIGINT, SIGTERM)
|
|
24
|
-
*/
|
|
25
|
-
private handleSignal;
|
|
26
|
-
/**
|
|
27
|
-
* Handle unhandled promise rejections
|
|
28
|
-
*/
|
|
29
|
-
private handleUnhandledRejection;
|
|
30
|
-
/**
|
|
31
|
-
* Handle uncaught exceptions
|
|
32
|
-
*/
|
|
33
|
-
private handleUncaughtException;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=SignalHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignalHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/SignalHandler.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,UAAU,CAAS;gBAEP,OAAO,EAAE,oBAAoB;IAEjD;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,wBAAwB,CAS9B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAS7B;CACH"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { cleanupSession } from '../../session/cleanup.js';
|
|
2
|
-
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
3
|
-
/**
|
|
4
|
-
* Manages process signal handling for graceful shutdown
|
|
5
|
-
*/
|
|
6
|
-
export class SignalHandler {
|
|
7
|
-
options;
|
|
8
|
-
isHandling = false;
|
|
9
|
-
constructor(options) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Register signal handlers for graceful shutdown.
|
|
14
|
-
*/
|
|
15
|
-
register() {
|
|
16
|
-
const handler = (signal) => this.handleSignal(signal);
|
|
17
|
-
process.on('SIGINT', () => handler('SIGINT'));
|
|
18
|
-
process.on('SIGTERM', () => handler('SIGTERM'));
|
|
19
|
-
process.on('unhandledRejection', this.handleUnhandledRejection);
|
|
20
|
-
process.on('uncaughtException', this.handleUncaughtException);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Unregister all signal handlers.
|
|
24
|
-
*/
|
|
25
|
-
unregister() {
|
|
26
|
-
process.removeAllListeners('SIGINT');
|
|
27
|
-
process.removeAllListeners('SIGTERM');
|
|
28
|
-
process.removeAllListeners('unhandledRejection');
|
|
29
|
-
process.removeAllListeners('uncaughtException');
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Handle shutdown signals (SIGINT, SIGTERM)
|
|
33
|
-
*/
|
|
34
|
-
handleSignal(signal) {
|
|
35
|
-
if (this.isHandling) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
this.isHandling = true;
|
|
39
|
-
console.error(`\nReceived ${signal}, shutting down gracefully...`);
|
|
40
|
-
this.unregister();
|
|
41
|
-
void (async () => {
|
|
42
|
-
try {
|
|
43
|
-
await this.options.onShutdown();
|
|
44
|
-
// onShutdown calls process.exit(), so we should never reach here
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
console.error('Fatal error during shutdown:', error);
|
|
48
|
-
process.exit(EXIT_CODES.SIGNAL_HANDLER_ERROR);
|
|
49
|
-
}
|
|
50
|
-
})();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Handle unhandled promise rejections
|
|
54
|
-
*/
|
|
55
|
-
handleUnhandledRejection = (reason) => {
|
|
56
|
-
console.error('Unhandled rejection:', reason);
|
|
57
|
-
console.error('Cleaning up session files...');
|
|
58
|
-
try {
|
|
59
|
-
cleanupSession();
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.error('Error during cleanup:', error);
|
|
63
|
-
}
|
|
64
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Handle uncaught exceptions
|
|
68
|
-
*/
|
|
69
|
-
handleUncaughtException = (error) => {
|
|
70
|
-
console.error('Uncaught exception:', error);
|
|
71
|
-
console.error('Cleaning up session files...');
|
|
72
|
-
try {
|
|
73
|
-
cleanupSession();
|
|
74
|
-
}
|
|
75
|
-
catch (cleanupError) {
|
|
76
|
-
console.error('Error during cleanup:', cleanupError);
|
|
77
|
-
}
|
|
78
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=SignalHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignalHandler.js","sourceRoot":"","sources":["../../../src/cli/handlers/SignalHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { BdgSession } from '../../session/BdgSession.js';
|
|
2
|
-
import type { CDPTarget, SessionOptions } from '../../types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Handles CDP target setup and session creation
|
|
5
|
-
*/
|
|
6
|
-
export declare class TargetSetup {
|
|
7
|
-
/**
|
|
8
|
-
* Create CDP connection and find/create target tab
|
|
9
|
-
*
|
|
10
|
-
* @param url - Original URL from CLI (for matching)
|
|
11
|
-
* @param targetUrl - Normalized target URL
|
|
12
|
-
* @param port - Chrome debugging port
|
|
13
|
-
* @param reuseTab - Whether to reuse existing tab
|
|
14
|
-
* @param sessionOptions - Session-level collection options
|
|
15
|
-
* @returns Session and target metadata
|
|
16
|
-
*/
|
|
17
|
-
static setup(url: string, targetUrl: string, port: number, reuseTab: boolean, sessionOptions?: SessionOptions): Promise<{
|
|
18
|
-
session: BdgSession;
|
|
19
|
-
target: CDPTarget;
|
|
20
|
-
}>;
|
|
21
|
-
/**
|
|
22
|
-
* Fetch the current list of available CDP targets from Chrome.
|
|
23
|
-
* Used during session bootstrap to select a temporary connection target and to
|
|
24
|
-
* refresh metadata when the session creates or reuses tabs.
|
|
25
|
-
*
|
|
26
|
-
* @param port - Chrome debugging port
|
|
27
|
-
* @returns Array of CDP targets
|
|
28
|
-
*/
|
|
29
|
-
private static fetchTargets;
|
|
30
|
-
/**
|
|
31
|
-
* Locate a specific CDP target by ID. Falls back to a fresh fetch when cached
|
|
32
|
-
* metadata is missing or incomplete (e.g., webSocketDebuggerUrl absent).
|
|
33
|
-
*
|
|
34
|
-
* @param targetId - Target ID to find
|
|
35
|
-
* @param port - Chrome debugging port
|
|
36
|
-
* @param cachedTargets - Optional cached target list
|
|
37
|
-
* @returns CDP target with webSocketDebuggerUrl
|
|
38
|
-
* @throws Error if target not found or missing webSocketDebuggerUrl
|
|
39
|
-
*/
|
|
40
|
-
private static findTargetById;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=TargetSetup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/TargetSetup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;OASG;WACU,KAAK,CAChB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,cAAc,GAAE,cAAmB,GAClC,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAoCtD;;;;;;;OAOG;mBACkB,YAAY;IAKjC;;;;;;;;;OASG;mBACkB,cAAc;CA2BpC"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { createOrFindTarget } from '../../connection/tabs.js';
|
|
2
|
-
import { BdgSession } from '../../session/BdgSession.js';
|
|
3
|
-
/**
|
|
4
|
-
* Handles CDP target setup and session creation
|
|
5
|
-
*/
|
|
6
|
-
export class TargetSetup {
|
|
7
|
-
/**
|
|
8
|
-
* Create CDP connection and find/create target tab
|
|
9
|
-
*
|
|
10
|
-
* @param url - Original URL from CLI (for matching)
|
|
11
|
-
* @param targetUrl - Normalized target URL
|
|
12
|
-
* @param port - Chrome debugging port
|
|
13
|
-
* @param reuseTab - Whether to reuse existing tab
|
|
14
|
-
* @param sessionOptions - Session-level collection options
|
|
15
|
-
* @returns Session and target metadata
|
|
16
|
-
*/
|
|
17
|
-
static async setup(url, targetUrl, port, reuseTab, sessionOptions = {}) {
|
|
18
|
-
// Fetch targets once
|
|
19
|
-
const initialTargets = await this.fetchTargets(port);
|
|
20
|
-
if (initialTargets.length === 0) {
|
|
21
|
-
throw new Error('No targets available in Chrome');
|
|
22
|
-
}
|
|
23
|
-
// Use first available target to establish CDP connection
|
|
24
|
-
const tempTarget = initialTargets[0];
|
|
25
|
-
if (!tempTarget) {
|
|
26
|
-
throw new Error('No targets available in Chrome');
|
|
27
|
-
}
|
|
28
|
-
const tempSession = new BdgSession(tempTarget, port, sessionOptions);
|
|
29
|
-
await tempSession.connect();
|
|
30
|
-
if (!tempSession.isConnected()) {
|
|
31
|
-
throw new Error('Failed to establish CDP connection');
|
|
32
|
-
}
|
|
33
|
-
// Create or find target tab using TabManager
|
|
34
|
-
console.error(`Finding or creating tab for: ${targetUrl}`);
|
|
35
|
-
const target = await createOrFindTarget(url, tempSession.getCDP(), reuseTab);
|
|
36
|
-
console.error(`Using tab: ${target.url}`);
|
|
37
|
-
// Find full target metadata (refetches only if not in cache or new tab created)
|
|
38
|
-
const fullTarget = await this.findTargetById(target.id, port, initialTargets);
|
|
39
|
-
// Close temp session and reconnect to the correct target
|
|
40
|
-
tempSession.getCDP().close();
|
|
41
|
-
const session = new BdgSession(fullTarget, port, sessionOptions);
|
|
42
|
-
await session.connect();
|
|
43
|
-
return { session, target: fullTarget };
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Fetch the current list of available CDP targets from Chrome.
|
|
47
|
-
* Used during session bootstrap to select a temporary connection target and to
|
|
48
|
-
* refresh metadata when the session creates or reuses tabs.
|
|
49
|
-
*
|
|
50
|
-
* @param port - Chrome debugging port
|
|
51
|
-
* @returns Array of CDP targets
|
|
52
|
-
*/
|
|
53
|
-
static async fetchTargets(port) {
|
|
54
|
-
const response = await fetch(`http://127.0.0.1:${port}/json/list`);
|
|
55
|
-
return (await response.json());
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Locate a specific CDP target by ID. Falls back to a fresh fetch when cached
|
|
59
|
-
* metadata is missing or incomplete (e.g., webSocketDebuggerUrl absent).
|
|
60
|
-
*
|
|
61
|
-
* @param targetId - Target ID to find
|
|
62
|
-
* @param port - Chrome debugging port
|
|
63
|
-
* @param cachedTargets - Optional cached target list
|
|
64
|
-
* @returns CDP target with webSocketDebuggerUrl
|
|
65
|
-
* @throws Error if target not found or missing webSocketDebuggerUrl
|
|
66
|
-
*/
|
|
67
|
-
static async findTargetById(targetId, port, cachedTargets) {
|
|
68
|
-
// First check cached targets if provided
|
|
69
|
-
if (cachedTargets) {
|
|
70
|
-
const cached = cachedTargets.find((t) => t.id === targetId);
|
|
71
|
-
if (cached?.webSocketDebuggerUrl) {
|
|
72
|
-
return cached;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Not in cache or missing webSocketDebuggerUrl - refetch
|
|
76
|
-
const targets = await this.fetchTargets(port);
|
|
77
|
-
const target = targets.find((t) => t.id === targetId);
|
|
78
|
-
if (!target) {
|
|
79
|
-
throw new Error(`Could not find target ${targetId}`);
|
|
80
|
-
}
|
|
81
|
-
if (!target.webSocketDebuggerUrl) {
|
|
82
|
-
throw new Error(`Could not find webSocketDebuggerUrl for target ${targetId}`);
|
|
83
|
-
}
|
|
84
|
-
return target;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=TargetSetup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetSetup.js","sourceRoot":"","sources":["../../../src/cli/handlers/TargetSetup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.contract.test.d.ts","sourceRoot":"","sources":["../../../src/connection/__tests__/tabs.contract.test.ts"],"names":[],"mappings":""}
|