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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensure smoke/integration tests use a writable BDG session directory and HOME.
|
|
3
|
+
*
|
|
4
|
+
* Some CI/macOS environments block writing to ~/.bdg and ~/Library directly.
|
|
5
|
+
* We point bdg to a repo-local session directory via BDG_SESSION_DIR and also
|
|
6
|
+
* override HOME so Chrome's Crashpad can write to ~/Library/Application Support/...
|
|
7
|
+
* without hitting sandbox restrictions.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import { fileURLToPath } from 'url';
|
|
12
|
+
let cachedSessionDir = null;
|
|
13
|
+
let cachedHomeDir = null;
|
|
14
|
+
/**
|
|
15
|
+
* Set BDG_SESSION_DIR to a deterministic path under the repo and make sure it
|
|
16
|
+
* exists on disk. Subsequent calls are cheap and return the same path.
|
|
17
|
+
*
|
|
18
|
+
* @returns Absolute path used as BDG session directory for tests
|
|
19
|
+
*/
|
|
20
|
+
export function ensureTestSessionDir() {
|
|
21
|
+
if (cachedSessionDir) {
|
|
22
|
+
return cachedSessionDir;
|
|
23
|
+
}
|
|
24
|
+
const currentDir = path.dirname(fileURLToPath(import.meta.url));
|
|
25
|
+
const repoRoot = path.resolve(currentDir, '..', '..');
|
|
26
|
+
const fallbackDir = path.join(repoRoot, '.tmp', 'bdg-smoke-session');
|
|
27
|
+
const desiredDir = process.env['BDG_TEST_SESSION_DIR'] ?? fallbackDir;
|
|
28
|
+
fs.mkdirSync(desiredDir, { recursive: true });
|
|
29
|
+
process.env['BDG_SESSION_DIR'] = desiredDir;
|
|
30
|
+
cachedSessionDir = desiredDir;
|
|
31
|
+
return cachedSessionDir;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get a writable HOME directory for tests that shields Chrome from sandbox restrictions.
|
|
35
|
+
*
|
|
36
|
+
* macOS workspace sandboxes block writes to ~/Library, causing Chrome's Crashpad to fail
|
|
37
|
+
* with EPERM errors. By overriding HOME to a repo-local directory, Chrome can safely
|
|
38
|
+
* write its crash handler settings without hitting the sandbox wall.
|
|
39
|
+
*
|
|
40
|
+
* @returns Absolute path to use as HOME for test processes
|
|
41
|
+
*/
|
|
42
|
+
export function getTestHomeDir() {
|
|
43
|
+
if (cachedHomeDir) {
|
|
44
|
+
return cachedHomeDir;
|
|
45
|
+
}
|
|
46
|
+
const currentDir = path.dirname(fileURLToPath(import.meta.url));
|
|
47
|
+
const repoRoot = path.resolve(currentDir, '..', '..');
|
|
48
|
+
const fallbackDir = path.join(repoRoot, '.tmp', 'bdg-smoke-home');
|
|
49
|
+
const desiredDir = process.env['BDG_TEST_HOME_DIR'] ?? fallbackDir;
|
|
50
|
+
fs.mkdirSync(desiredDir, { recursive: true });
|
|
51
|
+
// Create Library/Application Support structure for Chrome's Crashpad
|
|
52
|
+
const libraryDir = path.join(desiredDir, 'Library', 'Application Support', 'Google', 'Chrome');
|
|
53
|
+
fs.mkdirSync(libraryDir, { recursive: true });
|
|
54
|
+
cachedHomeDir = desiredDir;
|
|
55
|
+
return cachedHomeDir;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=testHome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testHome.js","sourceRoot":"","sources":["../../src/__testutils__/testHome.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,WAAW,CAAC;IACtE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC;IAE5C,gBAAgB,GAAG,UAAU,CAAC;IAC9B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,WAAW,CAAC;IACnE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/F,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,aAAa,GAAG,UAAU,CAAC;IAC3B,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testProcess.d.ts","sourceRoot":"","sources":["../../src/__testutils__/testProcess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"testProcess.d.ts","sourceRoot":"","sources":["../../src/__testutils__/testProcess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAkC1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -37,9 +37,10 @@ export function mockProcessAlive(alivePids) {
|
|
|
37
37
|
originalKill ??= process.kill.bind(process);
|
|
38
38
|
const alivePidSet = new Set(alivePids);
|
|
39
39
|
process.kill = ((pid, signal) => {
|
|
40
|
+
const normalizedPid = Math.abs(pid);
|
|
40
41
|
// Signal 0 is used to check if process exists (doesn't actually send signal)
|
|
41
42
|
if (signal === 0 || signal === undefined) {
|
|
42
|
-
if (alivePidSet.has(
|
|
43
|
+
if (alivePidSet.has(normalizedPid)) {
|
|
43
44
|
// Process is alive - return true
|
|
44
45
|
return true;
|
|
45
46
|
}
|
|
@@ -52,8 +53,15 @@ export function mockProcessAlive(alivePids) {
|
|
|
52
53
|
throw err;
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
if (!alivePidSet.has(normalizedPid)) {
|
|
57
|
+
const err = new Error(`kill ESRCH`);
|
|
58
|
+
err.code = 'ESRCH';
|
|
59
|
+
err.errno = -3;
|
|
60
|
+
err.syscall = 'kill';
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
alivePidSet.delete(normalizedPid);
|
|
64
|
+
return true;
|
|
57
65
|
});
|
|
58
66
|
}
|
|
59
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testProcess.js","sourceRoot":"","sources":["../../src/__testutils__/testProcess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,IAAI,YAAY,GAA+B,IAAI,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAmB;IAClD,oFAAoF;IACpF,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,MAAgC,EAAE,EAAE;QAChE,6EAA6E;QAC7E,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"testProcess.js","sourceRoot":"","sources":["../../src/__testutils__/testProcess.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,IAAI,YAAY,GAA+B,IAAI,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAmB;IAClD,oFAAoF;IACpF,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,MAAgC,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,6EAA6E;QAC7E,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,iCAAiC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,YAAY,CAA0B,CAAC;gBAC7D,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;gBACnB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACf,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,YAAY,CAA0B,CAAC;YAC7D,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;YACnB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;YACrB,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC,CAAwB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;QAC5B,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP Protocol Schema Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads and parses the Chrome DevTools Protocol schema from the bundled
|
|
5
|
+
* devtools-protocol package. Provides utilities for domain/method lookup
|
|
6
|
+
* and introspection.
|
|
7
|
+
*/
|
|
8
|
+
import type { ProtocolSchema, Domain, Command } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Load the CDP protocol schema.
|
|
11
|
+
*
|
|
12
|
+
* Merges browser_protocol.json and js_protocol.json from devtools-protocol package.
|
|
13
|
+
* The browser protocol contains domains like Network, Page, DOM, etc.
|
|
14
|
+
* The JS protocol contains Runtime, Debugger, Console, Profiler, etc.
|
|
15
|
+
* The merged protocol is cached after first load for performance.
|
|
16
|
+
*
|
|
17
|
+
* @returns CDP protocol schema with all domains, commands, and types
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const protocol = loadProtocol();
|
|
22
|
+
* console.log(`Protocol version: ${protocol.version.major}.${protocol.version.minor}`);
|
|
23
|
+
* console.log(`Domains: ${protocol.domains.length}`); // ~53 domains (47 browser + 6 JS)
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadProtocol(): ProtocolSchema;
|
|
27
|
+
/**
|
|
28
|
+
* Get all domain names from the protocol.
|
|
29
|
+
*
|
|
30
|
+
* @returns Array of domain names (e.g., ['Accessibility', 'Network', 'Runtime'])
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const domains = getDomains();
|
|
35
|
+
* console.log(domains); // ['Accessibility', 'Animation', 'Network', ...]
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function getDomains(): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Find a domain by name (case-insensitive).
|
|
41
|
+
*
|
|
42
|
+
* @param domainName - Domain name to find (e.g., 'network', 'Network', 'NETWORK')
|
|
43
|
+
* @returns Domain object or undefined if not found
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const domain = findDomain('network'); // Case-insensitive
|
|
48
|
+
* console.log(domain?.domain); // 'Network'
|
|
49
|
+
* console.log(domain?.commands.length); // 39
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function findDomain(domainName: string): Domain | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Find a command within a domain (case-insensitive).
|
|
55
|
+
*
|
|
56
|
+
* @param domainName - Domain name (e.g., 'Network')
|
|
57
|
+
* @param commandName - Command name (e.g., 'getCookies', 'GETCOOKIES')
|
|
58
|
+
* @returns Command object or undefined if not found
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const cmd = findCommand('Network', 'getcookies'); // Case-insensitive
|
|
63
|
+
* console.log(cmd?.name); // 'getCookies'
|
|
64
|
+
* console.log(cmd?.parameters); // [...]
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function findCommand(domainName: string, commandName: string): Command | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Normalize a CDP method name to proper casing.
|
|
70
|
+
*
|
|
71
|
+
* Converts user input (any case) to CDP's actual method name.
|
|
72
|
+
*
|
|
73
|
+
* @param input - Method name in any format (e.g., 'network.getcookies', 'Runtime.Evaluate')
|
|
74
|
+
* @returns Normalized method name (e.g., 'Network.getCookies') or undefined if not found
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* normalizeMethod('network.getcookies') // 'Network.getCookies'
|
|
79
|
+
* normalizeMethod('runtime.evaluate') // 'Runtime.evaluate'
|
|
80
|
+
* normalizeMethod('NETWORK.GETCOOKIES') // 'Network.getCookies'
|
|
81
|
+
* normalizeMethod('invalid.method') // undefined
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function normalizeMethod(input: string): string | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Get all commands for a domain.
|
|
87
|
+
*
|
|
88
|
+
* @param domainName - Domain name (case-insensitive)
|
|
89
|
+
* @returns Array of command names or empty array if domain not found
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const commands = getCommandsForDomain('Network');
|
|
94
|
+
* console.log(commands); // ['getCookies', 'setCookie', 'enable', ...]
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function getCommandsForDomain(domainName: string): string[];
|
|
98
|
+
/**
|
|
99
|
+
* Format command signature for help text.
|
|
100
|
+
*
|
|
101
|
+
* @param domainName - Domain name
|
|
102
|
+
* @param commandName - Command name
|
|
103
|
+
* @returns Formatted signature string or undefined if not found
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const sig = formatCommandSignature('Network', 'getCookies');
|
|
108
|
+
* console.log(sig);
|
|
109
|
+
* // Network.getCookies
|
|
110
|
+
* //
|
|
111
|
+
* // Returns all browser cookies for the current URL.
|
|
112
|
+
* //
|
|
113
|
+
* // Parameters:
|
|
114
|
+
* // --urls <array> (optional) - The list of URLs for which to fetch cookies
|
|
115
|
+
* //
|
|
116
|
+
* // Returns:
|
|
117
|
+
* // cookies: Array of Cookie objects
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function formatCommandSignature(domainName: string, commandName: string): string | undefined;
|
|
121
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/cdp/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAa,MAAM,YAAY,CAAC;AAQ7E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,IAAI,cAAc,CA2B7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAGrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAQxF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAMjE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CA4CpB"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP Protocol Schema Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads and parses the Chrome DevTools Protocol schema from the bundled
|
|
5
|
+
* devtools-protocol package. Provides utilities for domain/method lookup
|
|
6
|
+
* and introspection.
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync } from 'fs';
|
|
9
|
+
import { dirname, join } from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
// Cache the protocol to avoid re-reading the file
|
|
14
|
+
let cachedProtocol = null;
|
|
15
|
+
/**
|
|
16
|
+
* Load the CDP protocol schema.
|
|
17
|
+
*
|
|
18
|
+
* Merges browser_protocol.json and js_protocol.json from devtools-protocol package.
|
|
19
|
+
* The browser protocol contains domains like Network, Page, DOM, etc.
|
|
20
|
+
* The JS protocol contains Runtime, Debugger, Console, Profiler, etc.
|
|
21
|
+
* The merged protocol is cached after first load for performance.
|
|
22
|
+
*
|
|
23
|
+
* @returns CDP protocol schema with all domains, commands, and types
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const protocol = loadProtocol();
|
|
28
|
+
* console.log(`Protocol version: ${protocol.version.major}.${protocol.version.minor}`);
|
|
29
|
+
* console.log(`Domains: ${protocol.domains.length}`); // ~53 domains (47 browser + 6 JS)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function loadProtocol() {
|
|
33
|
+
if (cachedProtocol) {
|
|
34
|
+
return cachedProtocol;
|
|
35
|
+
}
|
|
36
|
+
// Find the protocol files in node_modules
|
|
37
|
+
// When compiled, __dirname is dist/cdp, so go up to project root
|
|
38
|
+
const browserProtocolPath = join(__dirname, '../../node_modules/devtools-protocol/json/browser_protocol.json');
|
|
39
|
+
const jsProtocolPath = join(__dirname, '../../node_modules/devtools-protocol/json/js_protocol.json');
|
|
40
|
+
const browserProtocol = JSON.parse(readFileSync(browserProtocolPath, 'utf-8'));
|
|
41
|
+
const jsProtocol = JSON.parse(readFileSync(jsProtocolPath, 'utf-8'));
|
|
42
|
+
// Merge the two protocols
|
|
43
|
+
// Use browser protocol as base, add JS protocol domains
|
|
44
|
+
cachedProtocol = {
|
|
45
|
+
version: browserProtocol.version,
|
|
46
|
+
domains: [...browserProtocol.domains, ...jsProtocol.domains],
|
|
47
|
+
};
|
|
48
|
+
return cachedProtocol;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get all domain names from the protocol.
|
|
52
|
+
*
|
|
53
|
+
* @returns Array of domain names (e.g., ['Accessibility', 'Network', 'Runtime'])
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const domains = getDomains();
|
|
58
|
+
* console.log(domains); // ['Accessibility', 'Animation', 'Network', ...]
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export function getDomains() {
|
|
62
|
+
const protocol = loadProtocol();
|
|
63
|
+
return protocol.domains.map((d) => d.domain);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Find a domain by name (case-insensitive).
|
|
67
|
+
*
|
|
68
|
+
* @param domainName - Domain name to find (e.g., 'network', 'Network', 'NETWORK')
|
|
69
|
+
* @returns Domain object or undefined if not found
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const domain = findDomain('network'); // Case-insensitive
|
|
74
|
+
* console.log(domain?.domain); // 'Network'
|
|
75
|
+
* console.log(domain?.commands.length); // 39
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export function findDomain(domainName) {
|
|
79
|
+
const protocol = loadProtocol();
|
|
80
|
+
const normalized = domainName.toLowerCase();
|
|
81
|
+
return protocol.domains.find((d) => d.domain.toLowerCase() === normalized);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Find a command within a domain (case-insensitive).
|
|
85
|
+
*
|
|
86
|
+
* @param domainName - Domain name (e.g., 'Network')
|
|
87
|
+
* @param commandName - Command name (e.g., 'getCookies', 'GETCOOKIES')
|
|
88
|
+
* @returns Command object or undefined if not found
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const cmd = findCommand('Network', 'getcookies'); // Case-insensitive
|
|
93
|
+
* console.log(cmd?.name); // 'getCookies'
|
|
94
|
+
* console.log(cmd?.parameters); // [...]
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export function findCommand(domainName, commandName) {
|
|
98
|
+
const domain = findDomain(domainName);
|
|
99
|
+
if (!domain?.commands) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
const normalized = commandName.toLowerCase();
|
|
103
|
+
return domain.commands.find((c) => c.name.toLowerCase() === normalized);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Normalize a CDP method name to proper casing.
|
|
107
|
+
*
|
|
108
|
+
* Converts user input (any case) to CDP's actual method name.
|
|
109
|
+
*
|
|
110
|
+
* @param input - Method name in any format (e.g., 'network.getcookies', 'Runtime.Evaluate')
|
|
111
|
+
* @returns Normalized method name (e.g., 'Network.getCookies') or undefined if not found
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* normalizeMethod('network.getcookies') // 'Network.getCookies'
|
|
116
|
+
* normalizeMethod('runtime.evaluate') // 'Runtime.evaluate'
|
|
117
|
+
* normalizeMethod('NETWORK.GETCOOKIES') // 'Network.getCookies'
|
|
118
|
+
* normalizeMethod('invalid.method') // undefined
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export function normalizeMethod(input) {
|
|
122
|
+
const [domainName, commandName] = input.split('.');
|
|
123
|
+
if (!domainName || !commandName) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
const domain = findDomain(domainName);
|
|
127
|
+
if (!domain) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
const command = findCommand(domain.domain, commandName);
|
|
131
|
+
if (!command) {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return `${domain.domain}.${command.name}`;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get all commands for a domain.
|
|
138
|
+
*
|
|
139
|
+
* @param domainName - Domain name (case-insensitive)
|
|
140
|
+
* @returns Array of command names or empty array if domain not found
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const commands = getCommandsForDomain('Network');
|
|
145
|
+
* console.log(commands); // ['getCookies', 'setCookie', 'enable', ...]
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export function getCommandsForDomain(domainName) {
|
|
149
|
+
const domain = findDomain(domainName);
|
|
150
|
+
if (!domain?.commands) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
return domain.commands.map((c) => c.name);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Format command signature for help text.
|
|
157
|
+
*
|
|
158
|
+
* @param domainName - Domain name
|
|
159
|
+
* @param commandName - Command name
|
|
160
|
+
* @returns Formatted signature string or undefined if not found
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const sig = formatCommandSignature('Network', 'getCookies');
|
|
165
|
+
* console.log(sig);
|
|
166
|
+
* // Network.getCookies
|
|
167
|
+
* //
|
|
168
|
+
* // Returns all browser cookies for the current URL.
|
|
169
|
+
* //
|
|
170
|
+
* // Parameters:
|
|
171
|
+
* // --urls <array> (optional) - The list of URLs for which to fetch cookies
|
|
172
|
+
* //
|
|
173
|
+
* // Returns:
|
|
174
|
+
* // cookies: Array of Cookie objects
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
export function formatCommandSignature(domainName, commandName) {
|
|
178
|
+
const domain = findDomain(domainName);
|
|
179
|
+
if (!domain) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
const command = findCommand(domain.domain, commandName);
|
|
183
|
+
if (!command) {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
const lines = [];
|
|
187
|
+
// Method name
|
|
188
|
+
lines.push(`${domain.domain}.${command.name}`);
|
|
189
|
+
lines.push('');
|
|
190
|
+
// Description
|
|
191
|
+
if (command.description) {
|
|
192
|
+
lines.push(command.description);
|
|
193
|
+
lines.push('');
|
|
194
|
+
}
|
|
195
|
+
// Parameters
|
|
196
|
+
if (command.parameters && command.parameters.length > 0) {
|
|
197
|
+
lines.push('Parameters:');
|
|
198
|
+
command.parameters.forEach((param) => {
|
|
199
|
+
const optional = param.optional ? ' (optional)' : '';
|
|
200
|
+
const desc = param.description ? ` - ${param.description}` : '';
|
|
201
|
+
lines.push(` --${param.name} <${param.type}>${optional}${desc}`);
|
|
202
|
+
});
|
|
203
|
+
lines.push('');
|
|
204
|
+
}
|
|
205
|
+
// Returns
|
|
206
|
+
if (command.returns && command.returns.length > 0) {
|
|
207
|
+
lines.push('Returns:');
|
|
208
|
+
command.returns.forEach((ret) => {
|
|
209
|
+
const desc = ret.description ? ` - ${ret.description}` : '';
|
|
210
|
+
lines.push(` ${ret.name}: ${ret.type ?? ret.$ref}${desc}`);
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
return lines.join('\n');
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/cdp/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP Schema Introspection
|
|
3
|
+
*
|
|
4
|
+
* Provides structured, agent-friendly schema information for all CDP domains and methods.
|
|
5
|
+
* Follows principles from docs/AGENT_FRIENDLY_TOOLS.md:
|
|
6
|
+
* - Machine-readable output (JSON schema)
|
|
7
|
+
* - Self-describing tools
|
|
8
|
+
* - Structured context without verbosity
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Structured method schema for agent consumption.
|
|
12
|
+
*/
|
|
13
|
+
export interface MethodSchema {
|
|
14
|
+
/** Full method name (Domain.method) */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Domain name */
|
|
17
|
+
domain: string;
|
|
18
|
+
/** Method name */
|
|
19
|
+
method: string;
|
|
20
|
+
/** Human-readable description */
|
|
21
|
+
description?: string;
|
|
22
|
+
/** Whether method is experimental */
|
|
23
|
+
experimental?: boolean;
|
|
24
|
+
/** Whether method is deprecated */
|
|
25
|
+
deprecated?: boolean;
|
|
26
|
+
/** Parameter schema */
|
|
27
|
+
parameters: ParameterSchema[];
|
|
28
|
+
/** Return value schema */
|
|
29
|
+
returns: ReturnSchema[];
|
|
30
|
+
/** Usage example (JSON) */
|
|
31
|
+
example?: {
|
|
32
|
+
command: string;
|
|
33
|
+
params?: Record<string, unknown>;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parameter schema for agent consumption.
|
|
38
|
+
*/
|
|
39
|
+
export interface ParameterSchema {
|
|
40
|
+
/** Parameter name */
|
|
41
|
+
name: string;
|
|
42
|
+
/** Type (string, integer, boolean, array, object, or custom type reference) */
|
|
43
|
+
type: string;
|
|
44
|
+
/** Whether parameter is required */
|
|
45
|
+
required: boolean;
|
|
46
|
+
/** Human-readable description */
|
|
47
|
+
description?: string;
|
|
48
|
+
/** Enum values (if type is enum) */
|
|
49
|
+
enum?: string[];
|
|
50
|
+
/** Array item type (if type is array) */
|
|
51
|
+
items?: string;
|
|
52
|
+
/** Deprecated flag */
|
|
53
|
+
deprecated?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Return value schema for agent consumption.
|
|
57
|
+
*/
|
|
58
|
+
export interface ReturnSchema {
|
|
59
|
+
/** Return value name */
|
|
60
|
+
name: string;
|
|
61
|
+
/** Type (string, integer, boolean, array, object, or custom type reference) */
|
|
62
|
+
type: string;
|
|
63
|
+
/** Whether return value is optional */
|
|
64
|
+
optional: boolean;
|
|
65
|
+
/** Human-readable description */
|
|
66
|
+
description?: string;
|
|
67
|
+
/** Array item type (if type is array) */
|
|
68
|
+
items?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Domain summary for agent consumption.
|
|
72
|
+
*/
|
|
73
|
+
export interface DomainSummary {
|
|
74
|
+
/** Domain name */
|
|
75
|
+
name: string;
|
|
76
|
+
/** Human-readable description */
|
|
77
|
+
description?: string;
|
|
78
|
+
/** Number of commands in this domain */
|
|
79
|
+
commandCount: number;
|
|
80
|
+
/** Number of events in this domain */
|
|
81
|
+
eventCount: number;
|
|
82
|
+
/** Whether domain is experimental */
|
|
83
|
+
experimental?: boolean;
|
|
84
|
+
/** Whether domain is deprecated */
|
|
85
|
+
deprecated?: boolean;
|
|
86
|
+
/** Domain dependencies */
|
|
87
|
+
dependencies?: string[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get structured schema for a specific method.
|
|
91
|
+
*
|
|
92
|
+
* @param domainName - Domain name (case-insensitive)
|
|
93
|
+
* @param methodName - Method name (case-insensitive)
|
|
94
|
+
* @returns Method schema or undefined if not found
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const schema = getMethodSchema('Network', 'getCookies');
|
|
99
|
+
* console.log(schema.parameters); // [{ name: 'urls', type: 'array', required: false, ... }]
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare function getMethodSchema(domainName: string, methodName: string): MethodSchema | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Get all methods in a domain.
|
|
105
|
+
*
|
|
106
|
+
* @param domainName - Domain name (case-insensitive)
|
|
107
|
+
* @returns Array of method schemas
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const methods = getDomainMethods('Network');
|
|
112
|
+
* console.log(methods.length); // 39
|
|
113
|
+
* console.log(methods[0].name); // 'Network.getIPProtectionProxyStatus'
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export declare function getDomainMethods(domainName: string): MethodSchema[];
|
|
117
|
+
/**
|
|
118
|
+
* Get summary information for a domain.
|
|
119
|
+
*
|
|
120
|
+
* @param domainName - Domain name (case-insensitive)
|
|
121
|
+
* @returns Domain summary or undefined if not found
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const summary = getDomainSummary('Network');
|
|
126
|
+
* console.log(summary.commandCount); // 39
|
|
127
|
+
* console.log(summary.eventCount); // 12
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
export declare function getDomainSummary(domainName: string): DomainSummary | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* Get summaries for all domains.
|
|
133
|
+
*
|
|
134
|
+
* @returns Array of domain summaries
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* const summaries = getAllDomainSummaries();
|
|
139
|
+
* console.log(summaries.length); // 53
|
|
140
|
+
* console.log(summaries.find(d => d.name === 'Network').commandCount); // 39
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export declare function getAllDomainSummaries(): DomainSummary[];
|
|
144
|
+
/**
|
|
145
|
+
* Search methods by keyword (case-insensitive).
|
|
146
|
+
*
|
|
147
|
+
* Searches in method names and descriptions.
|
|
148
|
+
*
|
|
149
|
+
* @param query - Search query
|
|
150
|
+
* @returns Array of matching method schemas
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const cookies = searchMethods('cookie');
|
|
155
|
+
* // Returns: Network.getCookies, Network.setCookie, Network.deleteCookies, etc.
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export declare function searchMethods(query: string): MethodSchema[];
|
|
159
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/cdp/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,0BAA0B;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2BAA2B;IAC3B,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAYhG;AA0HD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAOnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAO9E;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CAGvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAmB3D"}
|