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.
Files changed (266) hide show
  1. package/README.md +50 -4
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -11
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/cdp/protocol.d.ts +121 -0
  5. package/dist/cdp/protocol.d.ts.map +1 -0
  6. package/dist/cdp/protocol.js +215 -0
  7. package/dist/cdp/protocol.js.map +1 -0
  8. package/dist/cdp/schema.d.ts +159 -0
  9. package/dist/cdp/schema.d.ts.map +1 -0
  10. package/dist/cdp/schema.js +256 -0
  11. package/dist/cdp/schema.js.map +1 -0
  12. package/dist/cdp/types.d.ts +139 -0
  13. package/dist/cdp/types.d.ts.map +1 -0
  14. package/dist/cdp/types.js +7 -0
  15. package/dist/cdp/types.js.map +1 -0
  16. package/dist/commands/cdp.d.ts +10 -1
  17. package/dist/commands/cdp.d.ts.map +1 -1
  18. package/dist/commands/cdp.js +363 -26
  19. package/dist/commands/cdp.js.map +1 -1
  20. package/dist/commands/cleanup.js +3 -3
  21. package/dist/commands/cleanup.js.map +1 -1
  22. package/dist/commands/dom.d.ts.map +1 -1
  23. package/dist/commands/dom.js +1 -0
  24. package/dist/commands/dom.js.map +1 -1
  25. package/dist/commands/domEvalHelpers.d.ts +2 -15
  26. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  27. package/dist/commands/domEvalHelpers.js +1 -1
  28. package/dist/commands/domEvalHelpers.js.map +1 -1
  29. package/dist/commands/peek.d.ts.map +1 -1
  30. package/dist/commands/peek.js +12 -6
  31. package/dist/commands/peek.js.map +1 -1
  32. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  33. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  34. package/dist/commands/shared/CommandRunner.js +13 -1
  35. package/dist/commands/shared/CommandRunner.js.map +1 -1
  36. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  37. package/dist/commands/shared/commonOptions.js +2 -2
  38. package/dist/commands/shared/commonOptions.js.map +1 -1
  39. package/dist/commands/start.d.ts.map +1 -1
  40. package/dist/commands/start.js +21 -12
  41. package/dist/commands/start.js.map +1 -1
  42. package/dist/commands/status.js +2 -2
  43. package/dist/commands/status.js.map +1 -1
  44. package/dist/commands/stop.js +2 -2
  45. package/dist/commands/stop.js.map +1 -1
  46. package/dist/commands/tail.d.ts.map +1 -1
  47. package/dist/commands/tail.js +9 -6
  48. package/dist/commands/tail.js.map +1 -1
  49. package/dist/connection/cdp.d.ts.map +1 -1
  50. package/dist/connection/cdp.js +15 -2
  51. package/dist/connection/cdp.js.map +1 -1
  52. package/dist/connection/domOperations.d.ts.map +1 -1
  53. package/dist/connection/domOperations.js +3 -1
  54. package/dist/connection/domOperations.js.map +1 -1
  55. package/dist/connection/handlers.d.ts +34 -2
  56. package/dist/connection/handlers.d.ts.map +1 -1
  57. package/dist/connection/handlers.js +28 -2
  58. package/dist/connection/handlers.js.map +1 -1
  59. package/dist/connection/launcher.d.ts.map +1 -1
  60. package/dist/connection/launcher.js +14 -2
  61. package/dist/connection/launcher.js.map +1 -1
  62. package/dist/connection/pageReadiness.d.ts.map +1 -1
  63. package/dist/connection/pageReadiness.js +6 -6
  64. package/dist/connection/pageReadiness.js.map +1 -1
  65. package/dist/connection/typed-cdp.d.ts +144 -0
  66. package/dist/connection/typed-cdp.d.ts.map +1 -0
  67. package/dist/connection/typed-cdp.js +120 -0
  68. package/dist/connection/typed-cdp.js.map +1 -0
  69. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  70. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  71. package/dist/telemetry/__tests__/network.contract.test.js +124 -93
  72. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  73. package/dist/telemetry/console.d.ts.map +1 -1
  74. package/dist/telemetry/console.js +3 -2
  75. package/dist/telemetry/console.js.map +1 -1
  76. package/dist/telemetry/dialogs.d.ts.map +1 -1
  77. package/dist/telemetry/dialogs.js.map +1 -1
  78. package/dist/telemetry/dom.d.ts.map +1 -1
  79. package/dist/telemetry/dom.js +3 -1
  80. package/dist/telemetry/dom.js.map +1 -1
  81. package/dist/telemetry/navigation.d.ts.map +1 -1
  82. package/dist/telemetry/navigation.js.map +1 -1
  83. package/dist/telemetry/network.d.ts.map +1 -1
  84. package/dist/telemetry/network.js.map +1 -1
  85. package/dist/types.d.ts +0 -141
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/ui/messages/commands.d.ts +1 -0
  88. package/dist/ui/messages/commands.d.ts.map +1 -1
  89. package/dist/ui/messages/commands.js +1 -0
  90. package/dist/ui/messages/commands.js.map +1 -1
  91. package/dist/ui/messages/errors.d.ts +30 -3
  92. package/dist/ui/messages/errors.d.ts.map +1 -1
  93. package/dist/ui/messages/errors.js +36 -8
  94. package/dist/ui/messages/errors.js.map +1 -1
  95. package/dist/ui/messages/session.d.ts.map +1 -1
  96. package/dist/ui/messages/session.js +5 -4
  97. package/dist/ui/messages/session.js.map +1 -1
  98. package/dist/ui/messages/validation.d.ts +22 -4
  99. package/dist/ui/messages/validation.d.ts.map +1 -1
  100. package/dist/ui/messages/validation.js +26 -5
  101. package/dist/ui/messages/validation.js.map +1 -1
  102. package/package.json +2 -1
  103. package/dist/cli/commands/__tests__/start.unit.test.d.ts +0 -2
  104. package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +0 -1
  105. package/dist/cli/commands/__tests__/start.unit.test.js +0 -131
  106. package/dist/cli/commands/__tests__/start.unit.test.js.map +0 -1
  107. package/dist/cli/commands/cleanup.d.ts +0 -9
  108. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  109. package/dist/cli/commands/cleanup.js +0 -148
  110. package/dist/cli/commands/cleanup.js.map +0 -1
  111. package/dist/cli/commands/details.d.ts +0 -9
  112. package/dist/cli/commands/details.d.ts.map +0 -1
  113. package/dist/cli/commands/details.js +0 -120
  114. package/dist/cli/commands/details.js.map +0 -1
  115. package/dist/cli/commands/peek.d.ts +0 -9
  116. package/dist/cli/commands/peek.d.ts.map +0 -1
  117. package/dist/cli/commands/peek.js +0 -64
  118. package/dist/cli/commands/peek.js.map +0 -1
  119. package/dist/cli/commands/query.d.ts +0 -9
  120. package/dist/cli/commands/query.d.ts.map +0 -1
  121. package/dist/cli/commands/query.js +0 -125
  122. package/dist/cli/commands/query.js.map +0 -1
  123. package/dist/cli/commands/start.d.ts +0 -83
  124. package/dist/cli/commands/start.d.ts.map +0 -1
  125. package/dist/cli/commands/start.js +0 -204
  126. package/dist/cli/commands/start.js.map +0 -1
  127. package/dist/cli/commands/status.d.ts +0 -9
  128. package/dist/cli/commands/status.d.ts.map +0 -1
  129. package/dist/cli/commands/status.js +0 -75
  130. package/dist/cli/commands/status.js.map +0 -1
  131. package/dist/cli/commands/stop.d.ts +0 -9
  132. package/dist/cli/commands/stop.d.ts.map +0 -1
  133. package/dist/cli/commands/stop.js +0 -133
  134. package/dist/cli/commands/stop.js.map +0 -1
  135. package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
  136. package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
  137. package/dist/cli/formatters/detailsFormatter.js +0 -63
  138. package/dist/cli/formatters/detailsFormatter.js.map +0 -1
  139. package/dist/cli/formatters/previewFormatter.d.ts +0 -27
  140. package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
  141. package/dist/cli/formatters/previewFormatter.js +0 -155
  142. package/dist/cli/formatters/previewFormatter.js.map +0 -1
  143. package/dist/cli/formatters/statusFormatter.d.ts +0 -42
  144. package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
  145. package/dist/cli/formatters/statusFormatter.js +0 -126
  146. package/dist/cli/formatters/statusFormatter.js.map +0 -1
  147. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  148. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  149. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  150. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  151. package/dist/cli/handlers/OutputBuilder.d.ts +0 -59
  152. package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
  153. package/dist/cli/handlers/OutputBuilder.js +0 -136
  154. package/dist/cli/handlers/OutputBuilder.js.map +0 -1
  155. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  156. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  157. package/dist/cli/handlers/OutputWriter.js +0 -34
  158. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  159. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  160. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  161. package/dist/cli/handlers/PreviewWriter.js +0 -118
  162. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  163. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  164. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  165. package/dist/cli/handlers/SessionLock.js +0 -35
  166. package/dist/cli/handlers/SessionLock.js.map +0 -1
  167. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  168. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  169. package/dist/cli/handlers/SessionLoop.js +0 -47
  170. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  171. package/dist/cli/handlers/ShutdownController.d.ts +0 -41
  172. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  173. package/dist/cli/handlers/ShutdownController.js +0 -94
  174. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  175. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  176. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  177. package/dist/cli/handlers/SignalHandler.js +0 -81
  178. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  179. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  180. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  181. package/dist/cli/handlers/TargetSetup.js +0 -87
  182. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  183. package/dist/cli/handlers/sessionController.d.ts +0 -62
  184. package/dist/cli/handlers/sessionController.d.ts.map +0 -1
  185. package/dist/cli/handlers/sessionController.js +0 -316
  186. package/dist/cli/handlers/sessionController.js.map +0 -1
  187. package/dist/cli/registry.d.ts +0 -11
  188. package/dist/cli/registry.d.ts.map +0 -1
  189. package/dist/cli/registry.js +0 -21
  190. package/dist/cli/registry.js.map +0 -1
  191. package/dist/collectors/console.d.ts +0 -19
  192. package/dist/collectors/console.d.ts.map +0 -1
  193. package/dist/collectors/console.js +0 -87
  194. package/dist/collectors/console.js.map +0 -1
  195. package/dist/collectors/dom.d.ts +0 -21
  196. package/dist/collectors/dom.d.ts.map +0 -1
  197. package/dist/collectors/dom.js +0 -99
  198. package/dist/collectors/dom.js.map +0 -1
  199. package/dist/collectors/network.d.ts +0 -32
  200. package/dist/collectors/network.d.ts.map +0 -1
  201. package/dist/collectors/network.js +0 -191
  202. package/dist/collectors/network.js.map +0 -1
  203. package/dist/connection/tabs.d.ts +0 -52
  204. package/dist/connection/tabs.d.ts.map +0 -1
  205. package/dist/connection/tabs.js +0 -227
  206. package/dist/connection/tabs.js.map +0 -1
  207. package/dist/help/machineReadableHelp.d.ts +0 -100
  208. package/dist/help/machineReadableHelp.d.ts.map +0 -1
  209. package/dist/help/machineReadableHelp.js +0 -139
  210. package/dist/help/machineReadableHelp.js.map +0 -1
  211. package/dist/session/BdgSession.d.ts +0 -91
  212. package/dist/session/BdgSession.d.ts.map +0 -1
  213. package/dist/session/BdgSession.js +0 -230
  214. package/dist/session/BdgSession.js.map +0 -1
  215. package/dist/ui/errors/SystemErrors.d.ts +0 -22
  216. package/dist/ui/errors/SystemErrors.d.ts.map +0 -1
  217. package/dist/ui/errors/SystemErrors.js +0 -23
  218. package/dist/ui/errors/SystemErrors.js.map +0 -1
  219. package/dist/ui/errors.d.ts +0 -39
  220. package/dist/ui/errors.d.ts.map +0 -1
  221. package/dist/ui/errors.js +0 -48
  222. package/dist/ui/errors.js.map +0 -1
  223. package/dist/ui/messages/deprecation.d.ts +0 -30
  224. package/dist/ui/messages/deprecation.d.ts.map +0 -1
  225. package/dist/ui/messages/deprecation.js +0 -49
  226. package/dist/ui/messages/deprecation.js.map +0 -1
  227. package/dist/ui/messages/index.d.ts +0 -12
  228. package/dist/ui/messages/index.d.ts.map +0 -1
  229. package/dist/ui/messages/index.js +0 -12
  230. package/dist/ui/messages/index.js.map +0 -1
  231. package/dist/utils/__tests__/filters.unit.test.d.ts +0 -2
  232. package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
  233. package/dist/utils/__tests__/filters.unit.test.js +0 -239
  234. package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
  235. package/dist/utils/cdpHandlers.d.ts +0 -31
  236. package/dist/utils/cdpHandlers.d.ts.map +0 -1
  237. package/dist/utils/cdpHandlers.js +0 -38
  238. package/dist/utils/cdpHandlers.js.map +0 -1
  239. package/dist/utils/chromeDiagnostics.d.ts +0 -16
  240. package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
  241. package/dist/utils/chromeDiagnostics.js +0 -37
  242. package/dist/utils/chromeDiagnostics.js.map +0 -1
  243. package/dist/utils/errors.d.ts +0 -82
  244. package/dist/utils/errors.d.ts.map +0 -1
  245. package/dist/utils/errors.js +0 -88
  246. package/dist/utils/errors.js.map +0 -1
  247. package/dist/utils/filters.d.ts +0 -148
  248. package/dist/utils/filters.d.ts.map +0 -1
  249. package/dist/utils/filters.js +0 -358
  250. package/dist/utils/filters.js.map +0 -1
  251. package/dist/utils/logger.d.ts +0 -98
  252. package/dist/utils/logger.d.ts.map +0 -1
  253. package/dist/utils/logger.js +0 -93
  254. package/dist/utils/logger.js.map +0 -1
  255. package/dist/utils/pageReadiness.d.ts +0 -46
  256. package/dist/utils/pageReadiness.d.ts.map +0 -1
  257. package/dist/utils/pageReadiness.js +0 -270
  258. package/dist/utils/pageReadiness.js.map +0 -1
  259. package/dist/utils/session.d.ts +0 -200
  260. package/dist/utils/session.d.ts.map +0 -1
  261. package/dist/utils/session.js +0 -498
  262. package/dist/utils/session.js.map +0 -1
  263. package/dist/utils/validation.d.ts +0 -12
  264. package/dist/utils/validation.d.ts.map +0 -1
  265. package/dist/utils/validation.js +0 -20
  266. 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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"}