browser-debugger-cli 0.5.1 → 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 +50 -4
- package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -11
- package/dist/__tests__/smoke/error-handling.smoke.test.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.js +3 -3
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/dom.d.ts.map +1 -1
- package/dist/commands/dom.js +1 -0
- package/dist/commands/dom.js.map +1 -1
- package/dist/commands/domEvalHelpers.d.ts +2 -15
- package/dist/commands/domEvalHelpers.d.ts.map +1 -1
- package/dist/commands/domEvalHelpers.js +1 -1
- package/dist/commands/domEvalHelpers.js.map +1 -1
- 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 +13 -1
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +2 -2
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +21 -12
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +2 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.js +2 -2
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +9 -6
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +15 -2
- package/dist/connection/cdp.js.map +1 -1
- 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/connection/handlers.d.ts +34 -2
- package/dist/connection/handlers.d.ts.map +1 -1
- package/dist/connection/handlers.js +28 -2
- package/dist/connection/handlers.js.map +1 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +14 -2
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +6 -6
- package/dist/connection/pageReadiness.js.map +1 -1
- 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/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- 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.map +1 -1
- package/dist/telemetry/console.js +3 -2
- package/dist/telemetry/console.js.map +1 -1
- package/dist/telemetry/dialogs.d.ts.map +1 -1
- package/dist/telemetry/dialogs.js.map +1 -1
- 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/telemetry/navigation.d.ts.map +1 -1
- package/dist/telemetry/navigation.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +0 -141
- package/dist/types.d.ts.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/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +5 -4
- 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/package.json +2 -1
- package/dist/cli/commands/__tests__/start.unit.test.d.ts +0 -2
- package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +0 -1
- package/dist/cli/commands/__tests__/start.unit.test.js +0 -131
- package/dist/cli/commands/__tests__/start.unit.test.js.map +0 -1
- package/dist/cli/commands/cleanup.d.ts +0 -9
- package/dist/cli/commands/cleanup.d.ts.map +0 -1
- package/dist/cli/commands/cleanup.js +0 -148
- package/dist/cli/commands/cleanup.js.map +0 -1
- package/dist/cli/commands/details.d.ts +0 -9
- package/dist/cli/commands/details.d.ts.map +0 -1
- package/dist/cli/commands/details.js +0 -120
- package/dist/cli/commands/details.js.map +0 -1
- package/dist/cli/commands/peek.d.ts +0 -9
- package/dist/cli/commands/peek.d.ts.map +0 -1
- package/dist/cli/commands/peek.js +0 -64
- package/dist/cli/commands/peek.js.map +0 -1
- package/dist/cli/commands/query.d.ts +0 -9
- package/dist/cli/commands/query.d.ts.map +0 -1
- package/dist/cli/commands/query.js +0 -125
- package/dist/cli/commands/query.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -83
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -204
- 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 -75
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/stop.d.ts +0 -9
- package/dist/cli/commands/stop.d.ts.map +0 -1
- package/dist/cli/commands/stop.js +0 -133
- 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 -155
- package/dist/cli/formatters/previewFormatter.js.map +0 -1
- package/dist/cli/formatters/statusFormatter.d.ts +0 -42
- package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
- package/dist/cli/formatters/statusFormatter.js +0 -126
- package/dist/cli/formatters/statusFormatter.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/OutputBuilder.d.ts +0 -59
- package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
- package/dist/cli/handlers/OutputBuilder.js +0 -136
- package/dist/cli/handlers/OutputBuilder.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 -118
- 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 -35
- 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 -41
- package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
- package/dist/cli/handlers/ShutdownController.js +0 -94
- 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/cli/handlers/sessionController.d.ts +0 -62
- package/dist/cli/handlers/sessionController.d.ts.map +0 -1
- package/dist/cli/handlers/sessionController.js +0 -316
- 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 -21
- package/dist/cli/registry.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 -32
- 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/connection/tabs.d.ts +0 -52
- package/dist/connection/tabs.d.ts.map +0 -1
- package/dist/connection/tabs.js +0 -227
- package/dist/connection/tabs.js.map +0 -1
- package/dist/help/machineReadableHelp.d.ts +0 -100
- package/dist/help/machineReadableHelp.d.ts.map +0 -1
- package/dist/help/machineReadableHelp.js +0 -139
- package/dist/help/machineReadableHelp.js.map +0 -1
- package/dist/session/BdgSession.d.ts +0 -91
- package/dist/session/BdgSession.d.ts.map +0 -1
- package/dist/session/BdgSession.js +0 -230
- package/dist/session/BdgSession.js.map +0 -1
- package/dist/ui/errors/SystemErrors.d.ts +0 -22
- package/dist/ui/errors/SystemErrors.d.ts.map +0 -1
- package/dist/ui/errors/SystemErrors.js +0 -23
- package/dist/ui/errors/SystemErrors.js.map +0 -1
- package/dist/ui/errors.d.ts +0 -39
- package/dist/ui/errors.d.ts.map +0 -1
- package/dist/ui/errors.js +0 -48
- package/dist/ui/errors.js.map +0 -1
- package/dist/ui/messages/deprecation.d.ts +0 -30
- package/dist/ui/messages/deprecation.d.ts.map +0 -1
- package/dist/ui/messages/deprecation.js +0 -49
- package/dist/ui/messages/deprecation.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 +0 -2
- package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
- package/dist/utils/__tests__/filters.unit.test.js +0 -239
- 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 +0 -16
- package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
- package/dist/utils/chromeDiagnostics.js +0 -37
- package/dist/utils/chromeDiagnostics.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -82
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -88
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/filters.d.ts +0 -148
- package/dist/utils/filters.d.ts.map +0 -1
- package/dist/utils/filters.js +0 -358
- package/dist/utils/filters.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -98
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -93
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/pageReadiness.d.ts +0 -46
- package/dist/utils/pageReadiness.d.ts.map +0 -1
- package/dist/utils/pageReadiness.js +0 -270
- package/dist/utils/pageReadiness.js.map +0 -1
- package/dist/utils/session.d.ts +0 -200
- package/dist/utils/session.d.ts.map +0 -1
- package/dist/utils/session.js +0 -498
- package/dist/utils/session.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
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
import type { CollectorType } from '../../types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Parsed command-line flags shared by the start subcommands.
|
|
5
|
-
* @property port Chrome debugging port as provided by the user.
|
|
6
|
-
* @property timeout Optional auto-stop timeout (seconds, string form).
|
|
7
|
-
* @property reuseTab Whether to reuse an existing tab instead of creating one.
|
|
8
|
-
* @property userDataDir Custom Chrome profile directory path.
|
|
9
|
-
* @property all When true, disables default filtering of noisy data.
|
|
10
|
-
* @property logLevel Chrome launcher log level (verbose|info|error|silent).
|
|
11
|
-
* @property chromePrefs Inline JSON string with Chrome preferences.
|
|
12
|
-
* @property chromePrefsFile Path to JSON file with Chrome preferences.
|
|
13
|
-
* @property chromeFlags Additional Chrome command-line flags.
|
|
14
|
-
* @property connectionPollInterval Milliseconds between CDP readiness checks.
|
|
15
|
-
* @property maxConnectionRetries Maximum retry attempts before failing.
|
|
16
|
-
* @property portStrict Fail if port is already in use.
|
|
17
|
-
* @property dom Enable only DOM collector (additive).
|
|
18
|
-
* @property network Enable only network collector (additive).
|
|
19
|
-
* @property console Enable only console collector (additive).
|
|
20
|
-
* @property skipDom Disable DOM collector (subtractive).
|
|
21
|
-
* @property skipNetwork Disable network collector (subtractive).
|
|
22
|
-
* @property skipConsole Disable console collector (subtractive).
|
|
23
|
-
* @property fetchAllBodies Fetch all response bodies (override auto-optimization).
|
|
24
|
-
* @property fetchBodiesInclude Comma-separated patterns for bodies to include (trumps exclude).
|
|
25
|
-
* @property fetchBodiesExclude Comma-separated patterns for bodies to exclude.
|
|
26
|
-
* @property networkInclude Comma-separated URL patterns to capture (trumps exclude).
|
|
27
|
-
* @property networkExclude Comma-separated URL patterns to exclude.
|
|
28
|
-
* @property compact Use compact JSON format (no indentation) for output files.
|
|
29
|
-
*/
|
|
30
|
-
interface CollectorOptions {
|
|
31
|
-
port: string;
|
|
32
|
-
timeout?: string;
|
|
33
|
-
reuseTab?: boolean;
|
|
34
|
-
userDataDir?: string;
|
|
35
|
-
all?: boolean;
|
|
36
|
-
logLevel?: string;
|
|
37
|
-
chromePrefs?: string;
|
|
38
|
-
chromePrefsFile?: string;
|
|
39
|
-
chromeFlags?: string[];
|
|
40
|
-
connectionPollInterval?: string;
|
|
41
|
-
maxConnectionRetries?: string;
|
|
42
|
-
portStrict?: boolean;
|
|
43
|
-
dom?: boolean;
|
|
44
|
-
network?: boolean;
|
|
45
|
-
console?: boolean;
|
|
46
|
-
skipDom?: boolean;
|
|
47
|
-
skipNetwork?: boolean;
|
|
48
|
-
skipConsole?: boolean;
|
|
49
|
-
fetchAllBodies?: boolean;
|
|
50
|
-
fetchBodiesInclude?: string;
|
|
51
|
-
fetchBodiesExclude?: string;
|
|
52
|
-
networkInclude?: string;
|
|
53
|
-
networkExclude?: string;
|
|
54
|
-
compact?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Validate collector flags for conflicts
|
|
58
|
-
*
|
|
59
|
-
* @param options - Parsed command-line options from Commander
|
|
60
|
-
* @throws Error if conflicting flags are detected (e.g., --dom and --no-dom)
|
|
61
|
-
*/
|
|
62
|
-
export declare function validateCollectorFlags(options: CollectorOptions): void;
|
|
63
|
-
/**
|
|
64
|
-
* Resolve which collectors to activate based on CLI flags
|
|
65
|
-
*
|
|
66
|
-
* @param options - Parsed command-line options from Commander
|
|
67
|
-
* @returns Array of collector types to activate
|
|
68
|
-
*
|
|
69
|
-
* Logic:
|
|
70
|
-
* - If any additive flags (--dom, --network, --console) are present, return only those collectors
|
|
71
|
-
* - If subtractive flags (--skip-dom, --skip-network, --skip-console) are present, return all collectors minus excluded ones
|
|
72
|
-
* - If no collector flags are present, return all collectors (default)
|
|
73
|
-
*/
|
|
74
|
-
export declare function resolveCollectors(options: CollectorOptions): CollectorType[];
|
|
75
|
-
/**
|
|
76
|
-
* Register the start command
|
|
77
|
-
*
|
|
78
|
-
* @param program - Commander.js Command instance to register command on
|
|
79
|
-
* @returns void
|
|
80
|
-
*/
|
|
81
|
-
export declare function registerStartCommands(program: Command): void;
|
|
82
|
-
export {};
|
|
83
|
-
//# sourceMappingURL=start.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2FD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAmBtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa,EAAE,CAkC5E;AAoED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS5D"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { startSession } from '../handlers/sessionController.js';
|
|
2
|
-
import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION, TIMEOUT_OPTION_DESCRIPTION, REUSE_TAB_OPTION_DESCRIPTION, USER_DATA_DIR_OPTION_DESCRIPTION, LOG_LEVEL_OPTION_DESCRIPTION, CHROME_PREFS_OPTION_DESCRIPTION, CHROME_PREFS_FILE_OPTION_DESCRIPTION, CHROME_FLAGS_OPTION_DESCRIPTION, CONNECTION_POLL_INTERVAL_OPTION_DESCRIPTION, MAX_CONNECTION_RETRIES_OPTION_DESCRIPTION, PORT_STRICT_OPTION_DESCRIPTION, } from '../../constants.js';
|
|
3
|
-
/**
|
|
4
|
-
* Apply shared collector options to a command
|
|
5
|
-
*
|
|
6
|
-
* @param command - Commander.js Command instance to apply options to
|
|
7
|
-
* @returns The modified Command instance with all collector options applied
|
|
8
|
-
*/
|
|
9
|
-
function applyCollectorOptions(command) {
|
|
10
|
-
return command
|
|
11
|
-
.option('-p, --port <number>', PORT_OPTION_DESCRIPTION, DEFAULT_DEBUG_PORT)
|
|
12
|
-
.option('-t, --timeout <seconds>', TIMEOUT_OPTION_DESCRIPTION)
|
|
13
|
-
.option('-r, --reuse-tab', REUSE_TAB_OPTION_DESCRIPTION)
|
|
14
|
-
.option('-u, --user-data-dir <path>', USER_DATA_DIR_OPTION_DESCRIPTION)
|
|
15
|
-
.option('-a, --all', 'Include all data (disable filtering of tracking/analytics)')
|
|
16
|
-
.option('-c, --compact', 'Use compact JSON format (no indentation) for output files')
|
|
17
|
-
.option('--log-level <level>', LOG_LEVEL_OPTION_DESCRIPTION)
|
|
18
|
-
.option('--chrome-prefs <json>', CHROME_PREFS_OPTION_DESCRIPTION)
|
|
19
|
-
.option('--chrome-prefs-file <path>', CHROME_PREFS_FILE_OPTION_DESCRIPTION)
|
|
20
|
-
.option('--chrome-flags <flags...>', CHROME_FLAGS_OPTION_DESCRIPTION)
|
|
21
|
-
.option('--connection-poll-interval <ms>', CONNECTION_POLL_INTERVAL_OPTION_DESCRIPTION)
|
|
22
|
-
.option('--max-connection-retries <count>', MAX_CONNECTION_RETRIES_OPTION_DESCRIPTION)
|
|
23
|
-
.option('--port-strict', PORT_STRICT_OPTION_DESCRIPTION)
|
|
24
|
-
.option('--dom', 'Enable only DOM collector (additive)')
|
|
25
|
-
.option('--network', 'Enable only network collector (additive)')
|
|
26
|
-
.option('--console', 'Enable only console collector (additive)')
|
|
27
|
-
.option('--skip-dom', 'Disable DOM collector (subtractive)')
|
|
28
|
-
.option('--skip-network', 'Disable network collector (subtractive)')
|
|
29
|
-
.option('--skip-console', 'Disable console collector (subtractive)')
|
|
30
|
-
.option('--fetch-all-bodies', 'Fetch all response bodies (override auto-optimization)')
|
|
31
|
-
.option('--fetch-bodies-include <patterns>', 'Only fetch bodies matching patterns (comma-separated wildcards, trumps exclude)')
|
|
32
|
-
.option('--fetch-bodies-exclude <patterns>', 'Additional patterns to exclude from body fetching (comma-separated wildcards)')
|
|
33
|
-
.option('--network-include <patterns>', 'Only capture URLs matching patterns (comma-separated wildcards, trumps exclude)')
|
|
34
|
-
.option('--network-exclude <patterns>', 'Additional URL patterns to exclude (comma-separated wildcards)');
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Parse a string to integer, returning undefined if not provided
|
|
38
|
-
*
|
|
39
|
-
* @param value - Optional string value to parse
|
|
40
|
-
* @returns Parsed integer or undefined if value was not provided
|
|
41
|
-
*/
|
|
42
|
-
function parseOptionalInt(value) {
|
|
43
|
-
return value !== undefined ? parseInt(value, 10) : undefined;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Parse comma-separated patterns into array
|
|
47
|
-
*
|
|
48
|
-
* @param value - Optional comma-separated patterns string
|
|
49
|
-
* @returns Array of patterns or undefined if value was not provided
|
|
50
|
-
*/
|
|
51
|
-
function parsePatterns(value) {
|
|
52
|
-
if (!value)
|
|
53
|
-
return undefined;
|
|
54
|
-
return value
|
|
55
|
-
.split(',')
|
|
56
|
-
.map((p) => p.trim())
|
|
57
|
-
.filter((p) => p.length > 0);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Parse JSON string with error handling
|
|
61
|
-
*
|
|
62
|
-
* @param value - Optional JSON string to parse
|
|
63
|
-
* @returns Parsed JSON object or undefined if value was not provided
|
|
64
|
-
* @throws Error if JSON parsing fails
|
|
65
|
-
*/
|
|
66
|
-
function parseOptionalJson(value) {
|
|
67
|
-
if (!value)
|
|
68
|
-
return undefined;
|
|
69
|
-
try {
|
|
70
|
-
return JSON.parse(value);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
throw new Error(`Invalid JSON in --chrome-prefs: ${error instanceof Error ? error.message : String(error)}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Validate collector flags for conflicts
|
|
78
|
-
*
|
|
79
|
-
* @param options - Parsed command-line options from Commander
|
|
80
|
-
* @throws Error if conflicting flags are detected (e.g., --dom and --no-dom)
|
|
81
|
-
*/
|
|
82
|
-
export function validateCollectorFlags(options) {
|
|
83
|
-
const conflicts = [];
|
|
84
|
-
if (options.dom && options.skipDom) {
|
|
85
|
-
conflicts.push('--dom and --skip-dom');
|
|
86
|
-
}
|
|
87
|
-
if (options.network && options.skipNetwork) {
|
|
88
|
-
conflicts.push('--network and --skip-network');
|
|
89
|
-
}
|
|
90
|
-
if (options.console && options.skipConsole) {
|
|
91
|
-
conflicts.push('--console and --skip-console');
|
|
92
|
-
}
|
|
93
|
-
if (conflicts.length > 0) {
|
|
94
|
-
throw new Error(`Conflicting collector flags detected: ${conflicts.join(', ')}. ` +
|
|
95
|
-
'Use either additive flags (--dom, --network, --console) or subtractive flags (--skip-dom, --skip-network, --skip-console), not both for the same collector.');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Resolve which collectors to activate based on CLI flags
|
|
100
|
-
*
|
|
101
|
-
* @param options - Parsed command-line options from Commander
|
|
102
|
-
* @returns Array of collector types to activate
|
|
103
|
-
*
|
|
104
|
-
* Logic:
|
|
105
|
-
* - If any additive flags (--dom, --network, --console) are present, return only those collectors
|
|
106
|
-
* - If subtractive flags (--skip-dom, --skip-network, --skip-console) are present, return all collectors minus excluded ones
|
|
107
|
-
* - If no collector flags are present, return all collectors (default)
|
|
108
|
-
*/
|
|
109
|
-
export function resolveCollectors(options) {
|
|
110
|
-
const allCollectors = ['dom', 'network', 'console'];
|
|
111
|
-
// Check for additive flags
|
|
112
|
-
const hasAdditive = options.dom ?? options.network ?? options.console;
|
|
113
|
-
if (hasAdditive) {
|
|
114
|
-
const collectors = [];
|
|
115
|
-
if (options.dom)
|
|
116
|
-
collectors.push('dom');
|
|
117
|
-
if (options.network)
|
|
118
|
-
collectors.push('network');
|
|
119
|
-
if (options.console)
|
|
120
|
-
collectors.push('console');
|
|
121
|
-
return collectors;
|
|
122
|
-
}
|
|
123
|
-
// Check for subtractive flags
|
|
124
|
-
const hasSubtractive = options.skipDom ?? options.skipNetwork ?? options.skipConsole;
|
|
125
|
-
if (hasSubtractive) {
|
|
126
|
-
const collectors = [...allCollectors];
|
|
127
|
-
if (options.skipDom) {
|
|
128
|
-
const index = collectors.indexOf('dom');
|
|
129
|
-
if (index > -1)
|
|
130
|
-
collectors.splice(index, 1);
|
|
131
|
-
}
|
|
132
|
-
if (options.skipNetwork) {
|
|
133
|
-
const index = collectors.indexOf('network');
|
|
134
|
-
if (index > -1)
|
|
135
|
-
collectors.splice(index, 1);
|
|
136
|
-
}
|
|
137
|
-
if (options.skipConsole) {
|
|
138
|
-
const index = collectors.indexOf('console');
|
|
139
|
-
if (index > -1)
|
|
140
|
-
collectors.splice(index, 1);
|
|
141
|
-
}
|
|
142
|
-
return collectors;
|
|
143
|
-
}
|
|
144
|
-
// Default: return all collectors
|
|
145
|
-
return allCollectors;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Transform CLI options into session options
|
|
149
|
-
*
|
|
150
|
-
* @param options - Parsed command-line options from Commander
|
|
151
|
-
* @returns Session options object with parsed and normalized values
|
|
152
|
-
*/
|
|
153
|
-
function buildSessionOptions(options) {
|
|
154
|
-
return {
|
|
155
|
-
port: parseInt(options.port, 10),
|
|
156
|
-
timeout: parseOptionalInt(options.timeout),
|
|
157
|
-
reuseTab: options.reuseTab ?? false,
|
|
158
|
-
userDataDir: options.userDataDir,
|
|
159
|
-
includeAll: options.all ?? false,
|
|
160
|
-
logLevel: options.logLevel,
|
|
161
|
-
prefs: parseOptionalJson(options.chromePrefs),
|
|
162
|
-
prefsFile: options.chromePrefsFile,
|
|
163
|
-
chromeFlags: options.chromeFlags,
|
|
164
|
-
connectionPollInterval: parseOptionalInt(options.connectionPollInterval),
|
|
165
|
-
maxConnectionRetries: parseOptionalInt(options.maxConnectionRetries),
|
|
166
|
-
portStrictMode: options.portStrict ?? false,
|
|
167
|
-
fetchAllBodies: options.fetchAllBodies ?? false,
|
|
168
|
-
fetchBodiesInclude: parsePatterns(options.fetchBodiesInclude),
|
|
169
|
-
fetchBodiesExclude: parsePatterns(options.fetchBodiesExclude),
|
|
170
|
-
networkInclude: parsePatterns(options.networkInclude),
|
|
171
|
-
networkExclude: parsePatterns(options.networkExclude),
|
|
172
|
-
compact: options.compact ?? false,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Common action handler for collector commands
|
|
177
|
-
*
|
|
178
|
-
* @param url - Target URL to collect telemetry from
|
|
179
|
-
* @param options - Parsed command-line options from Commander
|
|
180
|
-
* @returns Promise that resolves when session completes or is stopped
|
|
181
|
-
*/
|
|
182
|
-
async function collectorAction(url, options) {
|
|
183
|
-
// Validate collector flags for conflicts
|
|
184
|
-
validateCollectorFlags(options);
|
|
185
|
-
// Resolve which collectors to activate based on flags
|
|
186
|
-
const collectors = resolveCollectors(options);
|
|
187
|
-
const sessionOptions = buildSessionOptions(options);
|
|
188
|
-
await startSession(url, sessionOptions, collectors);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Register the start command
|
|
192
|
-
*
|
|
193
|
-
* @param program - Commander.js Command instance to register command on
|
|
194
|
-
* @returns void
|
|
195
|
-
*/
|
|
196
|
-
export function registerStartCommands(program) {
|
|
197
|
-
// Default command: collectors determined by flags
|
|
198
|
-
// Use --dom, --network, --console (additive) or --no-dom, --no-network, --no-console (subtractive)
|
|
199
|
-
// If no collector flags provided, all collectors are activated
|
|
200
|
-
applyCollectorOptions(program.argument('<url>', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
|
|
201
|
-
await collectorAction(url, options);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=start.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* Register status command
|
|
4
|
-
*
|
|
5
|
-
* @param program - Commander.js Command instance to register commands on
|
|
6
|
-
* @returns void
|
|
7
|
-
*/
|
|
8
|
-
export declare function registerStatusCommand(program: Command): void;
|
|
9
|
-
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgF5D"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { formatSessionStatus, formatStatusAsJson, formatNoSessionMessage, formatStaleSessionMessage, formatNoMetadataMessage, } from '../formatters/statusFormatter.js';
|
|
2
|
-
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
3
|
-
import { readPid, isProcessAlive } from '../../utils/session.js';
|
|
4
|
-
import { VERSION } from '../../utils/version.js';
|
|
5
|
-
/**
|
|
6
|
-
* Register status command
|
|
7
|
-
*
|
|
8
|
-
* @param program - Commander.js Command instance to register commands on
|
|
9
|
-
* @returns void
|
|
10
|
-
*/
|
|
11
|
-
export function registerStatusCommand(program) {
|
|
12
|
-
program
|
|
13
|
-
.command('status')
|
|
14
|
-
.description('Show active session status and collection statistics')
|
|
15
|
-
.option('-j, --json', 'Output as JSON')
|
|
16
|
-
.option('-v, --verbose', 'Show detailed Chrome diagnostics')
|
|
17
|
-
.action(async (options) => {
|
|
18
|
-
try {
|
|
19
|
-
const { readSessionMetadata } = await import('../../utils/session.js');
|
|
20
|
-
// Read PID
|
|
21
|
-
const pid = readPid();
|
|
22
|
-
if (!pid) {
|
|
23
|
-
if (options.json) {
|
|
24
|
-
console.log(JSON.stringify({ version: VERSION, active: false }, null, 2));
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
console.error(formatNoSessionMessage());
|
|
28
|
-
}
|
|
29
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
30
|
-
}
|
|
31
|
-
// Check if process is alive
|
|
32
|
-
const isAlive = isProcessAlive(pid);
|
|
33
|
-
if (!isAlive) {
|
|
34
|
-
if (options.json) {
|
|
35
|
-
console.log(JSON.stringify({ version: VERSION, active: false, stale: true, stalePid: pid }, null, 2));
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
console.error(formatStaleSessionMessage(pid));
|
|
39
|
-
}
|
|
40
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
41
|
-
}
|
|
42
|
-
// Read metadata
|
|
43
|
-
const metadata = readSessionMetadata();
|
|
44
|
-
if (!metadata) {
|
|
45
|
-
if (options.json) {
|
|
46
|
-
console.log(JSON.stringify({
|
|
47
|
-
version: VERSION,
|
|
48
|
-
active: true,
|
|
49
|
-
bdgPid: pid,
|
|
50
|
-
warning: 'Metadata not found (session may be from older version)',
|
|
51
|
-
}, null, 2));
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
console.error(formatNoMetadataMessage(pid));
|
|
55
|
-
}
|
|
56
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
57
|
-
}
|
|
58
|
-
if (options.json) {
|
|
59
|
-
// JSON output
|
|
60
|
-
const jsonOutput = formatStatusAsJson(metadata, pid);
|
|
61
|
-
console.log(JSON.stringify(jsonOutput, null, 2));
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
// Human-readable output
|
|
65
|
-
console.log(formatSessionStatus(metadata, pid, options.verbose ?? false));
|
|
66
|
-
}
|
|
67
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
console.error(`Error checking status: ${error instanceof Error ? error.message : String(error)}`);
|
|
71
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* Register stop command
|
|
4
|
-
*
|
|
5
|
-
* @param program - Commander.js Command instance to register commands on
|
|
6
|
-
* @returns void
|
|
7
|
-
*/
|
|
8
|
-
export declare function registerStopCommand(program: Command): void;
|
|
9
|
-
//# sourceMappingURL=stop.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgJ1D"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { OutputBuilder } from '../handlers/OutputBuilder.js';
|
|
2
|
-
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
3
|
-
import { readPid, isProcessAlive, cleanupSession, clearChromePid, killChromeProcess, } from '../../utils/session.js';
|
|
4
|
-
/**
|
|
5
|
-
* Register stop command
|
|
6
|
-
*
|
|
7
|
-
* @param program - Commander.js Command instance to register commands on
|
|
8
|
-
* @returns void
|
|
9
|
-
*/
|
|
10
|
-
export function registerStopCommand(program) {
|
|
11
|
-
program
|
|
12
|
-
.command('stop')
|
|
13
|
-
.description('Stop all active sessions and free ports (does not capture output)')
|
|
14
|
-
.option('--kill-chrome', 'Also kill Chrome browser')
|
|
15
|
-
.option('-j, --json', 'Output as JSON')
|
|
16
|
-
.action(async (options) => {
|
|
17
|
-
try {
|
|
18
|
-
const { readSessionMetadata } = await import('../../utils/session.js');
|
|
19
|
-
// Read PID
|
|
20
|
-
const pid = readPid();
|
|
21
|
-
if (!pid) {
|
|
22
|
-
if (options.json) {
|
|
23
|
-
console.log(JSON.stringify(OutputBuilder.buildJsonSuccess({
|
|
24
|
-
stopped: { bdg: false, chrome: false },
|
|
25
|
-
message: 'No active session found. All ports should be free',
|
|
26
|
-
}), null, 2));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
console.error('No active session found');
|
|
30
|
-
console.error('All ports should be free');
|
|
31
|
-
}
|
|
32
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
33
|
-
}
|
|
34
|
-
if (!options.json) {
|
|
35
|
-
console.error(`Stopping session (PID ${pid})...`);
|
|
36
|
-
}
|
|
37
|
-
// Read metadata BEFORE killing the process (so we can get Chrome PID)
|
|
38
|
-
const metadata = readSessionMetadata();
|
|
39
|
-
let bdgStopped = false;
|
|
40
|
-
let chromeStopped = false;
|
|
41
|
-
const warnings = [];
|
|
42
|
-
// Kill the bdg process (use SIGKILL for immediate termination)
|
|
43
|
-
if (isProcessAlive(pid)) {
|
|
44
|
-
try {
|
|
45
|
-
process.kill(pid, 'SIGKILL');
|
|
46
|
-
bdgStopped = true;
|
|
47
|
-
if (!options.json) {
|
|
48
|
-
console.error(`Killed bdg session (PID ${pid})`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (killError) {
|
|
52
|
-
const errorMessage = killError instanceof Error ? killError.message : String(killError);
|
|
53
|
-
warnings.push(`Could not kill process ${pid}: ${errorMessage}`);
|
|
54
|
-
if (!options.json) {
|
|
55
|
-
console.error(`Warning: Could not kill process ${pid}:`, errorMessage);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
if (!options.json) {
|
|
61
|
-
console.error(`Process ${pid} already stopped`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Kill Chrome if requested
|
|
65
|
-
if (options.killChrome) {
|
|
66
|
-
if (metadata?.chromePid) {
|
|
67
|
-
try {
|
|
68
|
-
if (isProcessAlive(metadata.chromePid)) {
|
|
69
|
-
// Use SIGTERM for graceful shutdown (cross-platform via killChromeProcess)
|
|
70
|
-
killChromeProcess(metadata.chromePid, 'SIGTERM');
|
|
71
|
-
chromeStopped = true;
|
|
72
|
-
if (!options.json) {
|
|
73
|
-
console.error(`Killed Chrome (PID ${metadata.chromePid})`);
|
|
74
|
-
}
|
|
75
|
-
// Clear Chrome PID cache after successful kill
|
|
76
|
-
clearChromePid();
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
if (!options.json) {
|
|
80
|
-
console.error(`Chrome process (PID ${metadata.chromePid}) already stopped`);
|
|
81
|
-
}
|
|
82
|
-
// Clear stale cache
|
|
83
|
-
clearChromePid();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
catch (chromeError) {
|
|
87
|
-
const errorMessage = chromeError instanceof Error ? chromeError.message : String(chromeError);
|
|
88
|
-
warnings.push(`Could not kill Chrome: ${errorMessage}`);
|
|
89
|
-
if (!options.json) {
|
|
90
|
-
console.error(`Warning: Could not kill Chrome:`, errorMessage);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
warnings.push('Chrome PID not found in session metadata');
|
|
96
|
-
if (!options.json) {
|
|
97
|
-
console.error('Warning: Chrome PID not found in session metadata');
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
if (!options.json) {
|
|
103
|
-
console.error('Leaving Chrome running (use --kill-chrome to close it)');
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Clean up session files
|
|
107
|
-
cleanupSession();
|
|
108
|
-
if (!options.json) {
|
|
109
|
-
console.error('Cleaned up session files');
|
|
110
|
-
console.error('\nAll sessions stopped and ports freed');
|
|
111
|
-
}
|
|
112
|
-
// Output JSON if requested
|
|
113
|
-
if (options.json) {
|
|
114
|
-
console.log(JSON.stringify(OutputBuilder.buildJsonSuccess({
|
|
115
|
-
stopped: { bdg: bdgStopped, chrome: chromeStopped },
|
|
116
|
-
message: 'Session stopped successfully',
|
|
117
|
-
...(warnings.length > 0 && { warnings }),
|
|
118
|
-
}), null, 2));
|
|
119
|
-
}
|
|
120
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
if (options.json) {
|
|
124
|
-
console.log(JSON.stringify(OutputBuilder.buildJsonError(error instanceof Error ? error.message : String(error)), null, 2));
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
console.error(`Error stopping session: ${error instanceof Error ? error.message : String(error)}`);
|
|
128
|
-
}
|
|
129
|
-
process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=stop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { NetworkRequest, ConsoleMessage } from '../../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Format network request details for human-readable output
|
|
4
|
-
*/
|
|
5
|
-
export declare function formatNetworkDetails(request: NetworkRequest): string;
|
|
6
|
-
/**
|
|
7
|
-
* Format console message details for human-readable output
|
|
8
|
-
*/
|
|
9
|
-
export declare function formatConsoleDetails(message: ConsoleMessage): string;
|
|
10
|
-
//# sourceMappingURL=detailsFormatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detailsFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/detailsFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA4CpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAmBpE"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format network request details for human-readable output
|
|
3
|
-
*/
|
|
4
|
-
export function formatNetworkDetails(request) {
|
|
5
|
-
const lines = [];
|
|
6
|
-
lines.push('Network Request Details');
|
|
7
|
-
lines.push('━'.repeat(70));
|
|
8
|
-
lines.push(`Request ID: ${request.requestId}`);
|
|
9
|
-
lines.push(`URL: ${request.url}`);
|
|
10
|
-
lines.push(`Method: ${request.method}`);
|
|
11
|
-
lines.push(`Status: ${request.status ?? 'pending'}`);
|
|
12
|
-
lines.push(`MIME Type: ${request.mimeType ?? 'N/A'}`);
|
|
13
|
-
lines.push('');
|
|
14
|
-
if (request.requestHeaders) {
|
|
15
|
-
lines.push('Request Headers:');
|
|
16
|
-
lines.push('━'.repeat(70));
|
|
17
|
-
Object.entries(request.requestHeaders).forEach(([key, value]) => {
|
|
18
|
-
lines.push(` ${key}: ${value}`);
|
|
19
|
-
});
|
|
20
|
-
lines.push('');
|
|
21
|
-
}
|
|
22
|
-
if (request.requestBody) {
|
|
23
|
-
lines.push('Request Body:');
|
|
24
|
-
lines.push('━'.repeat(70));
|
|
25
|
-
lines.push(request.requestBody);
|
|
26
|
-
lines.push('');
|
|
27
|
-
}
|
|
28
|
-
if (request.responseHeaders) {
|
|
29
|
-
lines.push('Response Headers:');
|
|
30
|
-
lines.push('━'.repeat(70));
|
|
31
|
-
Object.entries(request.responseHeaders).forEach(([key, value]) => {
|
|
32
|
-
lines.push(` ${key}: ${value}`);
|
|
33
|
-
});
|
|
34
|
-
lines.push('');
|
|
35
|
-
}
|
|
36
|
-
if (request.responseBody) {
|
|
37
|
-
lines.push('Response Body:');
|
|
38
|
-
lines.push('━'.repeat(70));
|
|
39
|
-
lines.push(request.responseBody);
|
|
40
|
-
}
|
|
41
|
-
return lines.join('\n');
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Format console message details for human-readable output
|
|
45
|
-
*/
|
|
46
|
-
export function formatConsoleDetails(message) {
|
|
47
|
-
const lines = [];
|
|
48
|
-
lines.push('Console Message Details');
|
|
49
|
-
lines.push('━'.repeat(70));
|
|
50
|
-
lines.push(`Type: ${message.type}`);
|
|
51
|
-
lines.push(`Timestamp: ${new Date(message.timestamp).toISOString()}`);
|
|
52
|
-
lines.push(`Text: ${message.text}`);
|
|
53
|
-
lines.push('');
|
|
54
|
-
if (message.args && message.args.length > 0) {
|
|
55
|
-
lines.push('Arguments:');
|
|
56
|
-
lines.push('━'.repeat(70));
|
|
57
|
-
message.args.forEach((arg, idx) => {
|
|
58
|
-
lines.push(` [${idx}]: ${JSON.stringify(arg, null, 2)}`);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return lines.join('\n');
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=detailsFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detailsFormatter.js","sourceRoot":"","sources":["../../../src/cli/formatters/detailsFormatter.ts"],"names":[],"mappings":"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"}
|