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,27 +0,0 @@
1
- import type { BdgOutput } from '../../types.js';
2
- /**
3
- * Flags that shape how preview output is rendered for `bdg peek`.
4
- * @property json Emit raw JSON instead of formatted text.
5
- * @property network Limit output to network requests (ignores console data).
6
- * @property console Limit output to console messages (ignores network data).
7
- * @property last Number of recent entries to include (parsed as integer).
8
- * @property verbose Use the expanded, human-friendly layout.
9
- * @property follow Stream updates until interrupted (tail-like behaviour).
10
- */
11
- export interface PreviewOptions {
12
- json?: boolean;
13
- network?: boolean;
14
- console?: boolean;
15
- last: string;
16
- verbose?: boolean;
17
- follow?: boolean;
18
- }
19
- /**
20
- * Format preview output (peek command)
21
- */
22
- export declare function formatPreview(output: BdgOutput, options: PreviewOptions): string;
23
- /**
24
- * Format "no preview data" message
25
- */
26
- export declare function formatNoPreviewDataMessage(): string;
27
- //# sourceMappingURL=previewFormatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"previewFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/previewFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAMhF;AA4JD;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAKnD"}
@@ -1,155 +0,0 @@
1
- import { truncateUrl, truncateText } from '../../utils/url.js';
2
- /**
3
- * Format preview output (peek command)
4
- */
5
- export function formatPreview(output, options) {
6
- if (options.json) {
7
- return formatPreviewAsJson(output, options);
8
- }
9
- return formatPreviewHumanReadable(output, options);
10
- }
11
- /**
12
- * Format preview as JSON
13
- */
14
- function formatPreviewAsJson(output, options) {
15
- const jsonOutput = {
16
- ...output,
17
- };
18
- // Apply filters
19
- if (options.network) {
20
- delete jsonOutput.data.console;
21
- }
22
- if (options.console) {
23
- delete jsonOutput.data.network;
24
- }
25
- // Apply --last limit
26
- const lastCount = parseInt(options.last);
27
- if (jsonOutput.data.network && jsonOutput.data.network.length > lastCount) {
28
- jsonOutput.data.network = jsonOutput.data.network.slice(-lastCount);
29
- }
30
- if (jsonOutput.data.console && jsonOutput.data.console.length > lastCount) {
31
- jsonOutput.data.console = jsonOutput.data.console.slice(-lastCount);
32
- }
33
- return JSON.stringify(jsonOutput, null, 2);
34
- }
35
- /**
36
- * Format preview as human-readable output
37
- */
38
- function formatPreviewHumanReadable(output, options) {
39
- // Use verbose format if requested, otherwise use compact
40
- if (options.verbose) {
41
- return formatPreviewVerbose(output, options);
42
- }
43
- return formatPreviewCompact(output, options);
44
- }
45
- /**
46
- * Format preview in compact format (default)
47
- * Token-efficient output optimized for AI agents
48
- */
49
- function formatPreviewCompact(output, options) {
50
- const lines = [];
51
- // Simple header (no Unicode box drawing)
52
- lines.push(`PREVIEW | Duration: ${Math.floor(output.duration / 1000)}s | Updated: ${output.timestamp}`);
53
- lines.push('');
54
- const lastCount = parseInt(options.last);
55
- // Show network requests (compact)
56
- if (!options.console && output.data.network) {
57
- const requests = output.data.network.slice(-lastCount);
58
- lines.push(`NETWORK (${requests.length}/${output.data.network.length}):`);
59
- if (requests.length === 0) {
60
- lines.push(' (none)');
61
- }
62
- else {
63
- requests.forEach((req) => {
64
- const status = req.status ?? 'pending';
65
- const url = truncateUrl(req.url, 50);
66
- lines.push(` ${status} ${req.method} ${url} [${req.requestId}]`);
67
- });
68
- }
69
- lines.push('');
70
- }
71
- // Show console messages (compact)
72
- if (!options.network && output.data.console) {
73
- const messages = output.data.console.slice(-lastCount);
74
- lines.push(`CONSOLE (${messages.length}/${output.data.console.length}):`);
75
- if (messages.length === 0) {
76
- lines.push(' (none)');
77
- }
78
- else {
79
- messages.forEach((msg) => {
80
- const prefix = msg.type.toUpperCase().padEnd(5);
81
- const text = truncateText(msg.text, 2);
82
- lines.push(` ${prefix} ${text}`);
83
- });
84
- }
85
- lines.push('');
86
- }
87
- // Minimal suggestions
88
- lines.push('Tip: bdg stop | bdg peek --last 50 | bdg peek --verbose');
89
- return lines.join('\n');
90
- }
91
- /**
92
- * Format preview in verbose format (opt-in with --verbose)
93
- * Original human-friendly output with Unicode formatting
94
- */
95
- function formatPreviewVerbose(output, options) {
96
- const lines = [];
97
- lines.push('Live Preview (Partial Data)');
98
- lines.push('━'.repeat(50));
99
- lines.push(`Duration: ${Math.floor(output.duration / 1000)}s`);
100
- lines.push(`Last updated: ${output.timestamp}`);
101
- lines.push('');
102
- const lastCount = parseInt(options.last);
103
- // Show network requests
104
- if (!options.console && output.data.network) {
105
- const requests = output.data.network.slice(-lastCount);
106
- lines.push(`Network Requests (last ${requests.length} of ${output.data.network.length})`);
107
- lines.push('━'.repeat(50));
108
- if (requests.length === 0) {
109
- lines.push('No network requests yet');
110
- }
111
- else {
112
- requests.forEach((req) => {
113
- const statusColor = req.status && req.status >= 400 ? 'ERR' : 'OK';
114
- const status = req.status ?? 'pending';
115
- lines.push(`${statusColor} ${status} ${req.method} ${req.url}`);
116
- if (req.mimeType) {
117
- lines.push(` Type: ${req.mimeType}`);
118
- }
119
- lines.push(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
120
- });
121
- }
122
- lines.push('');
123
- }
124
- // Show console messages
125
- if (!options.network && output.data.console) {
126
- const messages = output.data.console.slice(-lastCount);
127
- lines.push(`Console Messages (last ${messages.length} of ${output.data.console.length})`);
128
- lines.push('━'.repeat(50));
129
- if (messages.length === 0) {
130
- lines.push('No console messages yet');
131
- }
132
- else {
133
- messages.forEach((msg) => {
134
- const icon = msg.type === 'error' ? 'ERR' : msg.type === 'warning' ? 'WARN' : 'INFO';
135
- lines.push(`${icon} [${msg.type}] ${msg.text}`);
136
- });
137
- }
138
- lines.push('');
139
- }
140
- lines.push('Commands:');
141
- lines.push(' Stop session: bdg stop');
142
- lines.push(' Full preview: bdg peek --last 50');
143
- lines.push(' Watch live: bdg peek --follow');
144
- return lines.join('\n');
145
- }
146
- /**
147
- * Format "no preview data" message
148
- */
149
- export function formatNoPreviewDataMessage() {
150
- return `No preview data available
151
- Session may not be running or preview not yet written
152
-
153
- Tip: bdg status | bdg <url>`;
154
- }
155
- //# sourceMappingURL=previewFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"previewFormatter.js","sourceRoot":"","sources":["../../../src/cli/formatters/previewFormatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAoB3D;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,OAAuB;IACtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAiB,EAAE,OAAuB;IACrE,MAAM,UAAU,GAAc;QAC5B,GAAG,MAAM;KACV,CAAC;IAEF,gBAAgB;IAChB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,MAAiB,EAAE,OAAuB;IAC5E,yDAAyD;IACzD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAiB,EAAE,OAAuB;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yCAAyC;IACzC,KAAK,CAAC,IAAI,CACR,uBAAuB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAC5F,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,kCAAkC;IAClC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC;gBACvC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAEtE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAiB,EAAE,OAAuB;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,wBAAwB;IACxB,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,KAAK,CAAC,IAAI,CACR,SAAS,GAAG,CAAC,SAAS,8BAA8B,GAAG,CAAC,SAAS,qBAAqB,CACvF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAEnD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;;;4BAGmB,CAAC;AAC7B,CAAC"}
@@ -1,42 +0,0 @@
1
- import type { SessionMetadata } from '../../utils/session.js';
2
- export interface StatusData {
3
- version: string;
4
- active: boolean;
5
- bdgPid?: number;
6
- chromePid?: number | undefined;
7
- chromeAlive?: boolean;
8
- startTime?: number;
9
- duration?: number;
10
- durationFormatted?: string;
11
- port?: number;
12
- targetId?: string | undefined;
13
- webSocketDebuggerUrl?: string | undefined;
14
- collectors?: string[];
15
- stale?: boolean;
16
- stalePid?: number;
17
- warning?: string;
18
- }
19
- /**
20
- * Format session status for human-readable output
21
- * @param metadata Session metadata
22
- * @param pid BDG process ID
23
- * @param verbose Show detailed Chrome diagnostics
24
- */
25
- export declare function formatSessionStatus(metadata: SessionMetadata, pid: number, verbose?: boolean): string;
26
- /**
27
- * Convert status data to JSON format
28
- */
29
- export declare function formatStatusAsJson(metadata: SessionMetadata | null, pid: number | null): StatusData;
30
- /**
31
- * Format "no session" message
32
- */
33
- export declare function formatNoSessionMessage(): string;
34
- /**
35
- * Format "stale session" message
36
- */
37
- export declare function formatStaleSessionMessage(pid: number): string;
38
- /**
39
- * Format "no metadata" message
40
- */
41
- export declare function formatNoMetadataMessage(pid: number): string;
42
- //# sourceMappingURL=statusFormatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statusFormatter.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/statusFormatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,UAAQ,GACd,MAAM,CAuDR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3D"}
@@ -1,126 +0,0 @@
1
- import { getChromeDiagnostics, formatDiagnosticsForStatus } from '../../utils/chromeDiagnostics.js';
2
- import { isProcessAlive } from '../../utils/session.js';
3
- import { VERSION } from '../../utils/version.js';
4
- /**
5
- * Format session status for human-readable output
6
- * @param metadata Session metadata
7
- * @param pid BDG process ID
8
- * @param verbose Show detailed Chrome diagnostics
9
- */
10
- export function formatSessionStatus(metadata, pid, verbose = false) {
11
- // Calculate duration
12
- const now = Date.now();
13
- const durationMs = now - metadata.startTime;
14
- const durationSec = Math.floor(durationMs / 1000);
15
- const minutes = Math.floor(durationSec / 60);
16
- const seconds = durationSec % 60;
17
- const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
18
- // Check if Chrome is alive
19
- const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
20
- const lines = [];
21
- lines.push('Session Status');
22
- lines.push('━'.repeat(50));
23
- lines.push(`Status: ACTIVE`);
24
- lines.push(`BDG PID: ${pid}`);
25
- if (metadata.chromePid) {
26
- lines.push(`Chrome PID: ${metadata.chromePid} ${chromeAlive ? '(running)' : '(not running)'}`);
27
- }
28
- lines.push(`Duration: ${durationFormatted}`);
29
- lines.push(`Port: ${metadata.port}`);
30
- lines.push('');
31
- lines.push('Collectors');
32
- lines.push('━'.repeat(50));
33
- // Use activeCollectors from metadata, fallback to all collectors for backward compatibility
34
- const activeCollectors = metadata.activeCollectors ?? ['network', 'console', 'dom'];
35
- lines.push(`Network: ${activeCollectors.includes('network') ? 'Active' : 'Inactive'}`);
36
- lines.push(`Console: ${activeCollectors.includes('console') ? 'Active' : 'Inactive'}`);
37
- lines.push(`DOM: ${activeCollectors.includes('dom') ? 'Active' : 'Inactive'}`);
38
- // Add verbose Chrome diagnostics if requested
39
- if (verbose) {
40
- lines.push('');
41
- lines.push('Chrome Diagnostics');
42
- lines.push('━'.repeat(50));
43
- // Get diagnostics using shared utility (cached to avoid repeated scans)
44
- const diagnostics = getChromeDiagnostics();
45
- const diagnosticLines = formatDiagnosticsForStatus(diagnostics);
46
- lines.push(...diagnosticLines);
47
- }
48
- lines.push('');
49
- lines.push('Commands:');
50
- lines.push(' Stop session: bdg stop');
51
- lines.push(' Query browser: bdg query <script>');
52
- return lines.join('\n');
53
- }
54
- /**
55
- * Convert status data to JSON format
56
- */
57
- export function formatStatusAsJson(metadata, pid) {
58
- if (!pid) {
59
- return { version: VERSION, active: false };
60
- }
61
- const isAlive = isProcessAlive(pid);
62
- if (!isAlive) {
63
- return { version: VERSION, active: false, stale: true, stalePid: pid };
64
- }
65
- if (!metadata) {
66
- return {
67
- version: VERSION,
68
- active: true,
69
- bdgPid: pid,
70
- warning: 'Metadata not found (session may be from older version)',
71
- };
72
- }
73
- // Calculate duration
74
- const now = Date.now();
75
- const durationMs = now - metadata.startTime;
76
- const durationSec = Math.floor(durationMs / 1000);
77
- const minutes = Math.floor(durationSec / 60);
78
- const seconds = durationSec % 60;
79
- const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
80
- // Check if Chrome is alive
81
- const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
82
- return {
83
- version: VERSION,
84
- active: true,
85
- bdgPid: pid,
86
- chromePid: metadata.chromePid,
87
- chromeAlive,
88
- startTime: metadata.startTime,
89
- duration: durationMs,
90
- durationFormatted,
91
- port: metadata.port,
92
- targetId: metadata.targetId,
93
- webSocketDebuggerUrl: metadata.webSocketDebuggerUrl,
94
- // Use activeCollectors from metadata, fallback to all collectors for backward compatibility
95
- collectors: metadata.activeCollectors ?? ['network', 'console', 'dom'],
96
- };
97
- }
98
- /**
99
- * Format "no session" message
100
- */
101
- export function formatNoSessionMessage() {
102
- return `No active session found
103
-
104
- Suggestions:
105
- Start a new session: bdg <url>
106
- List Chrome tabs: bdg tabs`;
107
- }
108
- /**
109
- * Format "stale session" message
110
- */
111
- export function formatStaleSessionMessage(pid) {
112
- return `Found stale session (PID ${pid} not running)
113
-
114
- Suggestions:
115
- Clean up: bdg cleanup
116
- Start new session: bdg <url>`;
117
- }
118
- /**
119
- * Format "no metadata" message
120
- */
121
- export function formatNoMetadataMessage(pid) {
122
- return `Active session found (PID ${pid})
123
- Warning: No metadata available
124
- Session may have been started with an older version`;
125
- }
126
- //# sourceMappingURL=statusFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statusFormatter.js","sourceRoot":"","sources":["../../../src/cli/formatters/statusFormatter.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { type LaunchOptions } from '../../connection/launcher.js';
2
- import type { LaunchedChrome } from '../../types.js';
3
- /**
4
- * Handles Chrome browser launch and connection
5
- */
6
- export declare class ChromeBootstrap {
7
- /**
8
- * Launch Chrome if not already running, or connect to existing instance.
9
- *
10
- * Delegates to chrome-launcher which handles:
11
- * - Port availability checking
12
- * - Strict mode enforcement (via portStrictMode option)
13
- * - Chrome readiness polling
14
- * - Reusing existing Chrome instances when port is occupied
15
- *
16
- * @param port - Chrome debugging port
17
- * @param targetUrl - Initial URL to navigate to
18
- * @param launchOptions - Chrome launcher options (userDataDir, logLevel, etc.)
19
- * @returns LaunchedChrome instance if Chrome was launched, null if already running
20
- * @throws Error if chrome-launcher fails to launch or connect
21
- */
22
- static launch(port: number, targetUrl: string, launchOptions?: Partial<LaunchOptions>): Promise<LaunchedChrome | null>;
23
- }
24
- //# sourceMappingURL=ChromeBootstrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChromeBootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/ChromeBootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;;;;;;;OAcG;WACU,MAAM,CACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GACrC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CA8BlC"}
@@ -1,50 +0,0 @@
1
- import { launchChrome } from '../../connection/launcher.js';
2
- /**
3
- * Handles Chrome browser launch and connection
4
- */
5
- export class ChromeBootstrap {
6
- /**
7
- * Launch Chrome if not already running, or connect to existing instance.
8
- *
9
- * Delegates to chrome-launcher which handles:
10
- * - Port availability checking
11
- * - Strict mode enforcement (via portStrictMode option)
12
- * - Chrome readiness polling
13
- * - Reusing existing Chrome instances when port is occupied
14
- *
15
- * @param port - Chrome debugging port
16
- * @param targetUrl - Initial URL to navigate to
17
- * @param launchOptions - Chrome launcher options (userDataDir, logLevel, etc.)
18
- * @returns LaunchedChrome instance if Chrome was launched, null if already running
19
- * @throws Error if chrome-launcher fails to launch or connect
20
- */
21
- static async launch(port, targetUrl, launchOptions) {
22
- // Attempt launch - chrome-launcher handles everything:
23
- // - Port availability checking
24
- // - Launching new Chrome or reusing existing instance
25
- // - Strict mode enforcement (throws if portStrictMode=true and can't connect)
26
- // - Chrome readiness polling with retries
27
- // Default to headless in CI environments (no display available)
28
- // User can override via launchOptions.headless if needed
29
- const isCI = process.env['CI'] === 'true' || process.env['CI'] === '1';
30
- const headless = launchOptions?.headless ?? (isCI ? true : false);
31
- const chrome = await launchChrome({
32
- port,
33
- headless,
34
- url: targetUrl,
35
- ...launchOptions,
36
- });
37
- // chrome-launcher returns a valid LaunchedChrome when successful
38
- // PID will be 0 or undefined if reusing an existing Chrome instance
39
- const isNewLaunch = chrome.pid && chrome.pid > 0;
40
- if (isNewLaunch) {
41
- console.error(`Chrome launched (PID: ${chrome.pid})`);
42
- return chrome; // Return handle so we can kill it on cleanup
43
- }
44
- else {
45
- console.error(`Chrome already running on port ${port}`);
46
- return null; // Don't return handle - we don't own this Chrome instance
47
- }
48
- }
49
- }
50
- //# sourceMappingURL=ChromeBootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChromeBootstrap.js","sourceRoot":"","sources":["../../../src/cli/handlers/ChromeBootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,0BAA0B,CAAC;AAG5E;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAY,EACZ,SAAiB,EACjB,aAAsC;QAEtC,uDAAuD;QACvD,+BAA+B;QAC/B,sDAAsD;QACtD,8EAA8E;QAC9E,0CAA0C;QAE1C,gEAAgE;QAChE,yDAAyD;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;QACvE,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,IAAI;YACJ,QAAQ;YACR,GAAG,EAAE,SAAS;YACd,GAAG,aAAa;SACjB,CAAC,CAAC;QAEH,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC,CAAC,6CAA6C;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,CAAC,0DAA0D;QACzE,CAAC;IACH,CAAC;CACF"}
@@ -1,59 +0,0 @@
1
- import type { BdgOutput, CDPTarget, NetworkRequest, ConsoleMessage, DOMData, CollectorType } from '../../types.js';
2
- /**
3
- * Output mode determines what data is included and how partial flag is set
4
- */
5
- export type OutputMode = 'preview' | 'full' | 'final';
6
- /**
7
- * Options for building output payloads
8
- */
9
- export interface OutputBuilderOptions {
10
- mode: OutputMode;
11
- target: CDPTarget;
12
- startTime: number;
13
- networkRequests: NetworkRequest[];
14
- consoleLogs: ConsoleMessage[];
15
- domData?: DOMData;
16
- activeCollectors: CollectorType[];
17
- }
18
- /**
19
- * Helper: build output payloads for preview/full/final modes with consistent metadata.
20
- */
21
- export declare class OutputBuilder {
22
- /**
23
- * Build session output with consistent metadata.
24
- *
25
- * @param options - Configuration for output construction
26
- * @returns BdgOutput payload
27
- */
28
- static build(options: OutputBuilderOptions): BdgOutput;
29
- /**
30
- * Build error output with consistent structure.
31
- *
32
- * @param error - Error object or string
33
- * @param startTime - Session start timestamp
34
- * @param target - Optional target information
35
- * @returns BdgOutput payload with error
36
- */
37
- static buildError(error: unknown, startTime: number, target?: CDPTarget): BdgOutput;
38
- /**
39
- * Build a simple JSON error response for commands.
40
- * Used by commands that don't follow the full BdgOutput structure (stop, cleanup, query).
41
- *
42
- * @param error - Error message or Error object
43
- * @param options - Optional fields (exitCode, additional data)
44
- * @returns JSON-serializable error object
45
- */
46
- static buildJsonError(error: string | Error, options?: {
47
- exitCode?: number;
48
- [key: string]: unknown;
49
- }): Record<string, unknown>;
50
- /**
51
- * Build a simple JSON success response for commands.
52
- * Used by commands that don't follow the full BdgOutput structure (stop, cleanup, query).
53
- *
54
- * @param data - Response data
55
- * @returns JSON-serializable success object
56
- */
57
- static buildJsonSuccess(data: Record<string, unknown>): Record<string, unknown>;
58
- }
59
- //# sourceMappingURL=OutputBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OutputBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/OutputBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,OAAO,EACP,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,aAAa,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS;IA4FtD;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS;IAYnF;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CACnB,KAAK,EAAE,MAAM,GAAG,KAAK,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAS1B;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOhF"}