browser-debugger-cli 0.3.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +182 -125
  2. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +8 -0
  3. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +1 -0
  4. package/dist/__tests__/smoke/error-handling.smoke.test.js +95 -0
  5. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -0
  6. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +8 -0
  7. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +1 -0
  8. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +109 -0
  9. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -0
  10. package/dist/__testutils__/commandRunner.d.ts +45 -0
  11. package/dist/__testutils__/commandRunner.d.ts.map +1 -0
  12. package/dist/__testutils__/commandRunner.js +108 -0
  13. package/dist/__testutils__/commandRunner.js.map +1 -0
  14. package/dist/__testutils__/daemonHelpers.d.ts +81 -0
  15. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -0
  16. package/dist/__testutils__/daemonHelpers.js +206 -0
  17. package/dist/__testutils__/daemonHelpers.js.map +1 -0
  18. package/dist/__testutils__/index.d.ts +1 -0
  19. package/dist/__testutils__/index.d.ts.map +1 -1
  20. package/dist/__testutils__/index.js +1 -0
  21. package/dist/__testutils__/index.js.map +1 -1
  22. package/dist/__testutils__/testCleanup.d.ts +45 -0
  23. package/dist/__testutils__/testCleanup.d.ts.map +1 -0
  24. package/dist/__testutils__/testCleanup.js +87 -0
  25. package/dist/__testutils__/testCleanup.js.map +1 -0
  26. package/dist/__testutils__/testHome.d.ts +26 -0
  27. package/dist/__testutils__/testHome.d.ts.map +1 -0
  28. package/dist/__testutils__/testHome.js +57 -0
  29. package/dist/__testutils__/testHome.js.map +1 -0
  30. package/dist/__testutils__/testProcess.d.ts.map +1 -1
  31. package/dist/__testutils__/testProcess.js +11 -3
  32. package/dist/__testutils__/testProcess.js.map +1 -1
  33. package/dist/cdp/protocol.d.ts +121 -0
  34. package/dist/cdp/protocol.d.ts.map +1 -0
  35. package/dist/cdp/protocol.js +215 -0
  36. package/dist/cdp/protocol.js.map +1 -0
  37. package/dist/cdp/schema.d.ts +159 -0
  38. package/dist/cdp/schema.d.ts.map +1 -0
  39. package/dist/cdp/schema.js +256 -0
  40. package/dist/cdp/schema.js.map +1 -0
  41. package/dist/cdp/types.d.ts +139 -0
  42. package/dist/cdp/types.d.ts.map +1 -0
  43. package/dist/cdp/types.js +7 -0
  44. package/dist/cdp/types.js.map +1 -0
  45. package/dist/commands/cdp.d.ts +10 -1
  46. package/dist/commands/cdp.d.ts.map +1 -1
  47. package/dist/commands/cdp.js +363 -26
  48. package/dist/commands/cdp.js.map +1 -1
  49. package/dist/commands/cleanup.d.ts.map +1 -1
  50. package/dist/commands/cleanup.js +15 -18
  51. package/dist/commands/cleanup.js.map +1 -1
  52. package/dist/commands/dom.d.ts.map +1 -1
  53. package/dist/commands/dom.js +14 -19
  54. package/dist/commands/dom.js.map +1 -1
  55. package/dist/commands/domEvalHelpers.d.ts +3 -16
  56. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  57. package/dist/commands/domEvalHelpers.js +56 -7
  58. package/dist/commands/domEvalHelpers.js.map +1 -1
  59. package/dist/commands/domOptionsBuilder.d.ts +32 -0
  60. package/dist/commands/domOptionsBuilder.d.ts.map +1 -1
  61. package/dist/commands/domOptionsBuilder.js +35 -0
  62. package/dist/commands/domOptionsBuilder.js.map +1 -1
  63. package/dist/commands/machineReadableHelp.d.ts +98 -0
  64. package/dist/commands/machineReadableHelp.d.ts.map +1 -0
  65. package/dist/commands/machineReadableHelp.js +137 -0
  66. package/dist/commands/machineReadableHelp.js.map +1 -0
  67. package/dist/commands/peek.d.ts.map +1 -1
  68. package/dist/commands/peek.js +12 -6
  69. package/dist/commands/peek.js.map +1 -1
  70. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  71. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  72. package/dist/commands/shared/CommandRunner.js +15 -4
  73. package/dist/commands/shared/CommandRunner.js.map +1 -1
  74. package/dist/commands/shared/OutputBuilder.js +1 -1
  75. package/dist/commands/shared/OutputBuilder.js.map +1 -1
  76. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  77. package/dist/commands/shared/commonOptions.js +11 -5
  78. package/dist/commands/shared/commonOptions.js.map +1 -1
  79. package/dist/commands/shared/daemonSessionController.d.ts +2 -0
  80. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -1
  81. package/dist/commands/shared/daemonSessionController.js +13 -16
  82. package/dist/commands/shared/daemonSessionController.js.map +1 -1
  83. package/dist/commands/shared/sessionController.js +1 -1
  84. package/dist/commands/shared/sessionController.js.map +1 -1
  85. package/dist/commands/start.d.ts.map +1 -1
  86. package/dist/commands/start.js +35 -11
  87. package/dist/commands/start.js.map +1 -1
  88. package/dist/commands/status.d.ts.map +1 -1
  89. package/dist/commands/status.js +74 -57
  90. package/dist/commands/status.js.map +1 -1
  91. package/dist/commands/stop.d.ts.map +1 -1
  92. package/dist/commands/stop.js +13 -27
  93. package/dist/commands/stop.js.map +1 -1
  94. package/dist/commands/tail.d.ts +11 -0
  95. package/dist/commands/tail.d.ts.map +1 -0
  96. package/dist/commands/tail.js +117 -0
  97. package/dist/commands/tail.js.map +1 -0
  98. package/dist/commands.d.ts.map +1 -1
  99. package/dist/commands.js +2 -0
  100. package/dist/commands.js.map +1 -1
  101. package/dist/connection/cdp.d.ts +46 -2
  102. package/dist/connection/cdp.d.ts.map +1 -1
  103. package/dist/connection/cdp.js +86 -7
  104. package/dist/connection/cdp.js.map +1 -1
  105. package/dist/{utils/chromeDiagnostics.d.ts → connection/diagnostics.d.ts} +1 -1
  106. package/dist/connection/diagnostics.d.ts.map +1 -0
  107. package/dist/{utils/chromeDiagnostics.js → connection/diagnostics.js} +1 -1
  108. package/dist/connection/diagnostics.js.map +1 -0
  109. package/dist/connection/domOperations.d.ts.map +1 -1
  110. package/dist/connection/domOperations.js +3 -1
  111. package/dist/connection/domOperations.js.map +1 -1
  112. package/dist/{utils → connection}/errors.d.ts +9 -17
  113. package/dist/connection/errors.d.ts.map +1 -0
  114. package/dist/{utils → connection}/errors.js +12 -17
  115. package/dist/connection/errors.js.map +1 -0
  116. package/dist/connection/handlers.d.ts +63 -0
  117. package/dist/connection/handlers.d.ts.map +1 -0
  118. package/dist/connection/handlers.js +64 -0
  119. package/dist/connection/handlers.js.map +1 -0
  120. package/dist/connection/launcher.d.ts +3 -20
  121. package/dist/connection/launcher.d.ts.map +1 -1
  122. package/dist/connection/launcher.js +141 -31
  123. package/dist/connection/launcher.js.map +1 -1
  124. package/dist/connection/pageReadiness.d.ts.map +1 -0
  125. package/dist/{utils → connection}/pageReadiness.js +30 -31
  126. package/dist/connection/pageReadiness.js.map +1 -0
  127. package/dist/connection/typed-cdp.d.ts +144 -0
  128. package/dist/connection/typed-cdp.d.ts.map +1 -0
  129. package/dist/connection/typed-cdp.js +120 -0
  130. package/dist/connection/typed-cdp.js.map +1 -0
  131. package/dist/constants.d.ts +20 -40
  132. package/dist/constants.d.ts.map +1 -1
  133. package/dist/constants.js +26 -40
  134. package/dist/constants.js.map +1 -1
  135. package/dist/daemon/ipcServer.d.ts +5 -7
  136. package/dist/daemon/ipcServer.d.ts.map +1 -1
  137. package/dist/daemon/ipcServer.js +178 -143
  138. package/dist/daemon/ipcServer.js.map +1 -1
  139. package/dist/daemon/launcher.js +1 -1
  140. package/dist/daemon/launcher.js.map +1 -1
  141. package/dist/daemon/server/SocketServer.d.ts +22 -0
  142. package/dist/daemon/server/SocketServer.d.ts.map +1 -0
  143. package/dist/daemon/server/SocketServer.js +67 -0
  144. package/dist/daemon/server/SocketServer.js.map +1 -0
  145. package/dist/daemon/server/WorkerManager.d.ts +36 -0
  146. package/dist/daemon/server/WorkerManager.d.ts.map +1 -0
  147. package/dist/daemon/server/WorkerManager.js +98 -0
  148. package/dist/daemon/server/WorkerManager.js.map +1 -0
  149. package/dist/daemon/startSession.d.ts +2 -0
  150. package/dist/daemon/startSession.d.ts.map +1 -1
  151. package/dist/daemon/startSession.js +4 -2
  152. package/dist/daemon/startSession.js.map +1 -1
  153. package/dist/daemon/worker/TelemetryStore.d.ts +18 -0
  154. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -0
  155. package/dist/daemon/worker/TelemetryStore.js +49 -0
  156. package/dist/daemon/worker/TelemetryStore.js.map +1 -0
  157. package/dist/daemon/worker/collectors.d.ts +8 -0
  158. package/dist/daemon/worker/collectors.d.ts.map +1 -0
  159. package/dist/daemon/worker/collectors.js +19 -0
  160. package/dist/daemon/worker/collectors.js.map +1 -0
  161. package/dist/daemon/worker/commandRegistry.d.ts +10 -0
  162. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -0
  163. package/dist/daemon/worker/commandRegistry.js +289 -0
  164. package/dist/daemon/worker/commandRegistry.js.map +1 -0
  165. package/dist/daemon/worker/plugins.d.ts +21 -0
  166. package/dist/daemon/worker/plugins.d.ts.map +1 -0
  167. package/dist/daemon/worker/plugins.js +71 -0
  168. package/dist/daemon/worker/plugins.js.map +1 -0
  169. package/dist/daemon/worker/types.d.ts +13 -0
  170. package/dist/daemon/worker/types.d.ts.map +1 -0
  171. package/dist/daemon/worker/types.js +2 -0
  172. package/dist/daemon/worker/types.js.map +1 -0
  173. package/dist/daemon/worker.js +206 -529
  174. package/dist/daemon/worker.js.map +1 -1
  175. package/dist/index.js +18 -9
  176. package/dist/index.js.map +1 -1
  177. package/dist/ipc/__tests__/client.contract.test.js +2 -2
  178. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  179. package/dist/ipc/client.d.ts +3 -1
  180. package/dist/ipc/client.d.ts.map +1 -1
  181. package/dist/ipc/client.js +27 -14
  182. package/dist/ipc/client.js.map +1 -1
  183. package/dist/ipc/commands.d.ts +1 -0
  184. package/dist/ipc/commands.d.ts.map +1 -1
  185. package/dist/ipc/commands.js.map +1 -1
  186. package/dist/ipc/types.d.ts +2 -0
  187. package/dist/ipc/types.d.ts.map +1 -1
  188. package/dist/session/cleanup.d.ts.map +1 -1
  189. package/dist/session/cleanup.js +67 -65
  190. package/dist/session/cleanup.js.map +1 -1
  191. package/dist/session/fileOps.d.ts +25 -0
  192. package/dist/session/fileOps.d.ts.map +1 -0
  193. package/dist/session/fileOps.js +39 -0
  194. package/dist/session/fileOps.js.map +1 -0
  195. package/dist/session/metadata.js +2 -2
  196. package/dist/session/metadata.js.map +1 -1
  197. package/dist/session/paths.d.ts +2 -7
  198. package/dist/session/paths.d.ts.map +1 -1
  199. package/dist/session/paths.js +8 -8
  200. package/dist/session/paths.js.map +1 -1
  201. package/dist/session/queryCache.js +1 -1
  202. package/dist/session/queryCache.js.map +1 -1
  203. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +1 -0
  204. package/dist/{utils → telemetry}/__tests__/filters.unit.test.js +1 -1
  205. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
  206. package/dist/telemetry/__tests__/network.contract.test.js +124 -93
  207. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  208. package/dist/telemetry/console.d.ts +1 -1
  209. package/dist/telemetry/console.d.ts.map +1 -1
  210. package/dist/telemetry/console.js +8 -5
  211. package/dist/telemetry/console.js.map +1 -1
  212. package/dist/telemetry/dialogs.d.ts +27 -0
  213. package/dist/telemetry/dialogs.d.ts.map +1 -0
  214. package/dist/telemetry/dialogs.js +51 -0
  215. package/dist/telemetry/dialogs.js.map +1 -0
  216. package/dist/telemetry/dom.d.ts.map +1 -1
  217. package/dist/telemetry/dom.js +3 -1
  218. package/dist/telemetry/dom.js.map +1 -1
  219. package/dist/{utils → telemetry}/filters.d.ts +40 -0
  220. package/dist/telemetry/filters.d.ts.map +1 -0
  221. package/dist/{utils → telemetry}/filters.js +55 -1
  222. package/dist/telemetry/filters.js.map +1 -0
  223. package/dist/telemetry/navigation.d.ts +49 -0
  224. package/dist/telemetry/navigation.d.ts.map +1 -0
  225. package/dist/telemetry/navigation.js +69 -0
  226. package/dist/telemetry/navigation.js.map +1 -0
  227. package/dist/telemetry/network.d.ts +1 -0
  228. package/dist/telemetry/network.d.ts.map +1 -1
  229. package/dist/telemetry/network.js +23 -34
  230. package/dist/telemetry/network.js.map +1 -1
  231. package/dist/types.d.ts +2 -141
  232. package/dist/types.d.ts.map +1 -1
  233. package/dist/ui/{errors.d.ts → errors/CommandError.d.ts} +1 -1
  234. package/dist/ui/errors/CommandError.d.ts.map +1 -0
  235. package/dist/ui/{errors.js → errors/CommandError.js} +1 -1
  236. package/dist/ui/errors/CommandError.js.map +1 -0
  237. package/dist/ui/errors/index.d.ts +9 -0
  238. package/dist/ui/errors/index.d.ts.map +1 -0
  239. package/dist/ui/errors/index.js +12 -0
  240. package/dist/ui/errors/index.js.map +1 -0
  241. package/dist/ui/errors/utils.d.ts +24 -0
  242. package/dist/ui/errors/utils.d.ts.map +1 -0
  243. package/dist/ui/errors/utils.js +28 -0
  244. package/dist/ui/errors/utils.js.map +1 -0
  245. package/dist/ui/formatters/status.d.ts.map +1 -1
  246. package/dist/ui/formatters/status.js +1 -1
  247. package/dist/ui/formatters/status.js.map +1 -1
  248. package/dist/ui/logging/index.d.ts +7 -0
  249. package/dist/ui/logging/index.d.ts.map +1 -0
  250. package/dist/ui/logging/index.js +7 -0
  251. package/dist/ui/logging/index.js.map +1 -0
  252. package/dist/{utils → ui/logging}/logger.d.ts +1 -1
  253. package/dist/ui/logging/logger.d.ts.map +1 -0
  254. package/dist/ui/logging/logger.js.map +1 -0
  255. package/dist/ui/messages/chrome.d.ts +50 -1
  256. package/dist/ui/messages/chrome.d.ts.map +1 -1
  257. package/dist/ui/messages/chrome.js +77 -0
  258. package/dist/ui/messages/chrome.js.map +1 -1
  259. package/dist/ui/messages/commands.d.ts +1 -0
  260. package/dist/ui/messages/commands.d.ts.map +1 -1
  261. package/dist/ui/messages/commands.js +1 -0
  262. package/dist/ui/messages/commands.js.map +1 -1
  263. package/dist/ui/messages/errors.d.ts +30 -3
  264. package/dist/ui/messages/errors.d.ts.map +1 -1
  265. package/dist/ui/messages/errors.js +36 -8
  266. package/dist/ui/messages/errors.js.map +1 -1
  267. package/dist/ui/messages/preview.js +1 -1
  268. package/dist/ui/messages/preview.js.map +1 -1
  269. package/dist/ui/messages/session.d.ts.map +1 -1
  270. package/dist/ui/messages/session.js +22 -7
  271. package/dist/ui/messages/session.js.map +1 -1
  272. package/dist/ui/messages/validation.d.ts +22 -4
  273. package/dist/ui/messages/validation.d.ts.map +1 -1
  274. package/dist/ui/messages/validation.js +26 -5
  275. package/dist/ui/messages/validation.js.map +1 -1
  276. package/dist/utils/__tests__/session.contract.test.js +15 -1
  277. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  278. package/dist/utils/url.d.ts.map +1 -1
  279. package/dist/utils/url.js +10 -0
  280. package/dist/utils/url.js.map +1 -1
  281. package/package.json +3 -1
  282. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +0 -24
  283. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  284. package/dist/cli/commands/__tests__/cdp.contract.test.js +0 -467
  285. package/dist/cli/commands/__tests__/cdp.contract.test.js.map +0 -1
  286. package/dist/cli/commands/cdp.d.ts +0 -8
  287. package/dist/cli/commands/cdp.d.ts.map +0 -1
  288. package/dist/cli/commands/cdp.js +0 -45
  289. package/dist/cli/commands/cdp.js.map +0 -1
  290. package/dist/cli/commands/cleanup.d.ts +0 -8
  291. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  292. package/dist/cli/commands/cleanup.js +0 -129
  293. package/dist/cli/commands/cleanup.js.map +0 -1
  294. package/dist/cli/commands/console.d.ts +0 -8
  295. package/dist/cli/commands/console.d.ts.map +0 -1
  296. package/dist/cli/commands/console.js +0 -97
  297. package/dist/cli/commands/console.js.map +0 -1
  298. package/dist/cli/commands/details.d.ts +0 -8
  299. package/dist/cli/commands/details.d.ts.map +0 -1
  300. package/dist/cli/commands/details.js +0 -68
  301. package/dist/cli/commands/details.js.map +0 -1
  302. package/dist/cli/commands/dom/helpers/domCache.d.ts +0 -36
  303. package/dist/cli/commands/dom/helpers/domCache.d.ts.map +0 -1
  304. package/dist/cli/commands/dom/helpers/domCache.js +0 -65
  305. package/dist/cli/commands/dom/helpers/domCache.js.map +0 -1
  306. package/dist/cli/commands/dom/helpers/domQuery.d.ts +0 -48
  307. package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +0 -1
  308. package/dist/cli/commands/dom/helpers/domQuery.js +0 -104
  309. package/dist/cli/commands/dom/helpers/domQuery.js.map +0 -1
  310. package/dist/cli/commands/dom/helpers/errorHandler.d.ts +0 -45
  311. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +0 -1
  312. package/dist/cli/commands/dom/helpers/errorHandler.js +0 -71
  313. package/dist/cli/commands/dom/helpers/errorHandler.js.map +0 -1
  314. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +0 -52
  315. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +0 -1
  316. package/dist/cli/commands/dom/helpers/evalHelpers.js +0 -75
  317. package/dist/cli/commands/dom/helpers/evalHelpers.js.map +0 -1
  318. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +0 -35
  319. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +0 -1
  320. package/dist/cli/commands/dom/helpers/optionsBuilder.js +0 -51
  321. package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +0 -1
  322. package/dist/cli/commands/dom/helpers/selectorParser.d.ts +0 -20
  323. package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +0 -1
  324. package/dist/cli/commands/dom/helpers/selectorParser.js +0 -20
  325. package/dist/cli/commands/dom/helpers/selectorParser.js.map +0 -1
  326. package/dist/cli/commands/dom/index.d.ts +0 -8
  327. package/dist/cli/commands/dom/index.d.ts.map +0 -1
  328. package/dist/cli/commands/dom/index.js +0 -257
  329. package/dist/cli/commands/dom/index.js.map +0 -1
  330. package/dist/cli/commands/dom.d.ts +0 -8
  331. package/dist/cli/commands/dom.d.ts.map +0 -1
  332. package/dist/cli/commands/dom.js +0 -257
  333. package/dist/cli/commands/dom.js.map +0 -1
  334. package/dist/cli/commands/domErrorHandler.d.ts +0 -45
  335. package/dist/cli/commands/domErrorHandler.d.ts.map +0 -1
  336. package/dist/cli/commands/domErrorHandler.js +0 -71
  337. package/dist/cli/commands/domErrorHandler.js.map +0 -1
  338. package/dist/cli/commands/domEvalHelpers.d.ts +0 -52
  339. package/dist/cli/commands/domEvalHelpers.d.ts.map +0 -1
  340. package/dist/cli/commands/domEvalHelpers.js +0 -76
  341. package/dist/cli/commands/domEvalHelpers.js.map +0 -1
  342. package/dist/cli/commands/domOptionsBuilder.d.ts +0 -35
  343. package/dist/cli/commands/domOptionsBuilder.d.ts.map +0 -1
  344. package/dist/cli/commands/domOptionsBuilder.js +0 -51
  345. package/dist/cli/commands/domOptionsBuilder.js.map +0 -1
  346. package/dist/cli/commands/domSelectorParser.d.ts +0 -20
  347. package/dist/cli/commands/domSelectorParser.d.ts.map +0 -1
  348. package/dist/cli/commands/domSelectorParser.js +0 -20
  349. package/dist/cli/commands/domSelectorParser.js.map +0 -1
  350. package/dist/cli/commands/network.d.ts +0 -8
  351. package/dist/cli/commands/network.d.ts.map +0 -1
  352. package/dist/cli/commands/network.js +0 -43
  353. package/dist/cli/commands/network.js.map +0 -1
  354. package/dist/cli/commands/peek.d.ts +0 -8
  355. package/dist/cli/commands/peek.d.ts.map +0 -1
  356. package/dist/cli/commands/peek.js +0 -109
  357. package/dist/cli/commands/peek.js.map +0 -1
  358. package/dist/cli/commands/start.d.ts +0 -9
  359. package/dist/cli/commands/start.d.ts.map +0 -1
  360. package/dist/cli/commands/start.js +0 -95
  361. package/dist/cli/commands/start.js.map +0 -1
  362. package/dist/cli/commands/status.d.ts +0 -9
  363. package/dist/cli/commands/status.d.ts.map +0 -1
  364. package/dist/cli/commands/status.js +0 -87
  365. package/dist/cli/commands/status.js.map +0 -1
  366. package/dist/cli/commands/stop.d.ts +0 -8
  367. package/dist/cli/commands/stop.d.ts.map +0 -1
  368. package/dist/cli/commands/stop.js +0 -147
  369. package/dist/cli/commands/stop.js.map +0 -1
  370. package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
  371. package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
  372. package/dist/cli/formatters/detailsFormatter.js +0 -63
  373. package/dist/cli/formatters/detailsFormatter.js.map +0 -1
  374. package/dist/cli/formatters/previewFormatter.d.ts +0 -27
  375. package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
  376. package/dist/cli/formatters/previewFormatter.js +0 -160
  377. package/dist/cli/formatters/previewFormatter.js.map +0 -1
  378. package/dist/cli/formatters/statusFormatter.d.ts +0 -39
  379. package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
  380. package/dist/cli/formatters/statusFormatter.js +0 -153
  381. package/dist/cli/formatters/statusFormatter.js.map +0 -1
  382. package/dist/cli/handlers/CommandRunner.d.ts +0 -60
  383. package/dist/cli/handlers/CommandRunner.d.ts.map +0 -1
  384. package/dist/cli/handlers/CommandRunner.js +0 -81
  385. package/dist/cli/handlers/CommandRunner.js.map +0 -1
  386. package/dist/cli/handlers/OutputBuilder.d.ts +0 -60
  387. package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
  388. package/dist/cli/handlers/OutputBuilder.js +0 -138
  389. package/dist/cli/handlers/OutputBuilder.js.map +0 -1
  390. package/dist/cli/handlers/commonOptions.d.ts +0 -54
  391. package/dist/cli/handlers/commonOptions.d.ts.map +0 -1
  392. package/dist/cli/handlers/commonOptions.js +0 -64
  393. package/dist/cli/handlers/commonOptions.js.map +0 -1
  394. package/dist/cli/handlers/daemonSessionController.d.ts +0 -23
  395. package/dist/cli/handlers/daemonSessionController.d.ts.map +0 -1
  396. package/dist/cli/handlers/daemonSessionController.js +0 -79
  397. package/dist/cli/handlers/daemonSessionController.js.map +0 -1
  398. package/dist/cli/handlers/landingPage.d.ts +0 -8
  399. package/dist/cli/handlers/landingPage.d.ts.map +0 -1
  400. package/dist/cli/handlers/landingPage.js +0 -8
  401. package/dist/cli/handlers/landingPage.js.map +0 -1
  402. package/dist/cli/handlers/sessionController.d.ts +0 -21
  403. package/dist/cli/handlers/sessionController.d.ts.map +0 -1
  404. package/dist/cli/handlers/sessionController.js +0 -55
  405. package/dist/cli/handlers/sessionController.js.map +0 -1
  406. package/dist/cli/registry.d.ts +0 -11
  407. package/dist/cli/registry.d.ts.map +0 -1
  408. package/dist/cli/registry.js +0 -46
  409. package/dist/cli/registry.js.map +0 -1
  410. package/dist/collectors/__tests__/network.contract.test.d.ts +0 -28
  411. package/dist/collectors/__tests__/network.contract.test.d.ts.map +0 -1
  412. package/dist/collectors/__tests__/network.contract.test.js +0 -540
  413. package/dist/collectors/__tests__/network.contract.test.js.map +0 -1
  414. package/dist/collectors/console.d.ts +0 -19
  415. package/dist/collectors/console.d.ts.map +0 -1
  416. package/dist/collectors/console.js +0 -87
  417. package/dist/collectors/console.js.map +0 -1
  418. package/dist/collectors/dom.d.ts +0 -21
  419. package/dist/collectors/dom.d.ts.map +0 -1
  420. package/dist/collectors/dom.js +0 -99
  421. package/dist/collectors/dom.js.map +0 -1
  422. package/dist/collectors/network.d.ts +0 -33
  423. package/dist/collectors/network.d.ts.map +0 -1
  424. package/dist/collectors/network.js +0 -191
  425. package/dist/collectors/network.js.map +0 -1
  426. package/dist/commandRegistry.d.ts +0 -11
  427. package/dist/commandRegistry.d.ts.map +0 -1
  428. package/dist/commandRegistry.js +0 -45
  429. package/dist/commandRegistry.js.map +0 -1
  430. package/dist/commands/domErrorHandler.d.ts +0 -45
  431. package/dist/commands/domErrorHandler.d.ts.map +0 -1
  432. package/dist/commands/domErrorHandler.js +0 -71
  433. package/dist/commands/domErrorHandler.js.map +0 -1
  434. package/dist/dom/cache.d.ts +0 -36
  435. package/dist/dom/cache.d.ts.map +0 -1
  436. package/dist/dom/cache.js +0 -65
  437. package/dist/dom/cache.js.map +0 -1
  438. package/dist/dom/index.d.ts +0 -9
  439. package/dist/dom/index.d.ts.map +0 -1
  440. package/dist/dom/index.js +0 -9
  441. package/dist/dom/index.js.map +0 -1
  442. package/dist/dom/query.d.ts +0 -48
  443. package/dist/dom/query.d.ts.map +0 -1
  444. package/dist/dom/query.js +0 -104
  445. package/dist/dom/query.js.map +0 -1
  446. package/dist/ui/errors.d.ts.map +0 -1
  447. package/dist/ui/errors.js.map +0 -1
  448. package/dist/ui/messages/index.d.ts +0 -12
  449. package/dist/ui/messages/index.d.ts.map +0 -1
  450. package/dist/ui/messages/index.js +0 -12
  451. package/dist/ui/messages/index.js.map +0 -1
  452. package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
  453. package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
  454. package/dist/utils/cdpHandlers.d.ts +0 -31
  455. package/dist/utils/cdpHandlers.d.ts.map +0 -1
  456. package/dist/utils/cdpHandlers.js +0 -38
  457. package/dist/utils/cdpHandlers.js.map +0 -1
  458. package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
  459. package/dist/utils/chromeDiagnostics.js.map +0 -1
  460. package/dist/utils/errors.d.ts.map +0 -1
  461. package/dist/utils/errors.js.map +0 -1
  462. package/dist/utils/filters.d.ts.map +0 -1
  463. package/dist/utils/filters.js.map +0 -1
  464. package/dist/utils/formatters/network.d.ts +0 -23
  465. package/dist/utils/formatters/network.d.ts.map +0 -1
  466. package/dist/utils/formatters/network.js +0 -35
  467. package/dist/utils/formatters/network.js.map +0 -1
  468. package/dist/utils/logger.d.ts.map +0 -1
  469. package/dist/utils/logger.js.map +0 -1
  470. package/dist/utils/pageReadiness.d.ts.map +0 -1
  471. package/dist/utils/pageReadiness.js.map +0 -1
  472. package/dist/utils/ui.d.ts +0 -36
  473. package/dist/utils/ui.d.ts.map +0 -1
  474. package/dist/utils/ui.js +0 -47
  475. package/dist/utils/ui.js.map +0 -1
  476. package/dist/utils/url/safeParseUrl.d.ts +0 -63
  477. package/dist/utils/url/safeParseUrl.d.ts.map +0 -1
  478. package/dist/utils/url/safeParseUrl.js +0 -84
  479. package/dist/utils/url/safeParseUrl.js.map +0 -1
  480. /package/dist/{utils → connection}/pageReadiness.d.ts +0 -0
  481. /package/dist/{utils → telemetry}/__tests__/filters.unit.test.d.ts +0 -0
  482. /package/dist/{utils → ui/logging}/logger.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"commonOptions.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,QAA6C,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,QAQnB,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"commonOptions.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAWnC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,QAA4D,CAAC;AAEpF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,QAWnB,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAIzD"}
@@ -1,5 +1,11 @@
1
1
  import { Option } from 'commander';
2
2
  import { invalidLastRangeError } from '../../ui/messages/validation.js';
3
+ /**
4
+ * Validation limits for --last option.
5
+ * These constants define the acceptable range for pagination.
6
+ */
7
+ const MIN_LAST_ITEMS = 0;
8
+ const MAX_LAST_ITEMS = 10000;
3
9
  /**
4
10
  * Shared --json flag for all commands that support JSON output.
5
11
  * Standard option for machine-readable output.
@@ -16,7 +22,7 @@ import { invalidLastRangeError } from '../../ui/messages/validation.js';
16
22
  * });
17
23
  * ```
18
24
  */
19
- export const jsonOption = new Option('-j, --json', 'Output as JSON');
25
+ export const jsonOption = new Option('-j, --json', 'Output as JSON').default(false);
20
26
  /**
21
27
  * Shared --last <n> option for pagination.
22
28
  * Includes built-in validation for sensible limits.
@@ -31,12 +37,12 @@ export const jsonOption = new Option('-j, --json', 'Output as JSON');
31
37
  * });
32
38
  * ```
33
39
  */
34
- export const lastOption = new Option('--last <n>', 'Show last N items')
35
- .default(0)
40
+ export const lastOption = new Option('--last <n>', 'Show last N items (network requests and console messages combined, 0 = all)')
41
+ .default(MIN_LAST_ITEMS)
36
42
  .argParser((val) => {
37
43
  const n = parseInt(val, 10);
38
- if (isNaN(n) || n < 0 || n > 10000) {
39
- throw new Error(invalidLastRangeError(0, 10000));
44
+ if (isNaN(n) || n < MIN_LAST_ITEMS || n > MAX_LAST_ITEMS) {
45
+ throw new Error(invalidLastRangeError(MIN_LAST_ITEMS, MAX_LAST_ITEMS));
40
46
  }
41
47
  return n;
42
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"commonOptions.js","sourceRoot":"","sources":["../../../src/commands/shared/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC;KACpE,OAAO,CAAC,CAAC,CAAC;KACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,UAAoB;IAC/C,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CACvF,UAAU,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"commonOptions.js","sourceRoot":"","sources":["../../../src/commands/shared/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEpF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAClC,YAAY,EACZ,6EAA6E,CAC9E;KACE,OAAO,CAAC,cAAc,CAAC;KACvB,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,UAAoB;IAC/C,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CACvF,UAAU,CACX,CAAC;AACJ,CAAC"}
@@ -19,5 +19,7 @@ export declare function startSessionViaDaemon(url: string, options: {
19
19
  includeAll: boolean;
20
20
  maxBodySize: number | undefined;
21
21
  compact: boolean;
22
+ headless: boolean;
23
+ chromeWsUrl: string | undefined;
22
24
  }, telemetry: TelemetryType[]): Promise<void>;
23
25
  //# sourceMappingURL=daemonSessionController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"daemonSessionController.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/daemonSessionController.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAahD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,EACD,SAAS,EAAE,aAAa,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAiEf"}
1
+ {"version":3,"file":"daemonSessionController.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/daemonSessionController.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAchD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,EACD,SAAS,EAAE,aAAa,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Df"}
@@ -1,10 +1,11 @@
1
1
  import { landingPage } from '../../commands/shared/landingPage.js';
2
2
  import { startSession as sendStartSessionRequest } from '../../ipc/client.js';
3
3
  import { IPCErrorCode } from '../../ipc/types.js';
4
+ import { getErrorMessage } from '../../ui/errors/index.js';
5
+ import { createLogger } from '../../ui/logging/index.js';
4
6
  import { sessionAlreadyRunningError, daemonConnectionFailedError, invalidResponseError, genericError, } from '../../ui/messages/errors.js';
5
- import { getErrorMessage } from '../../utils/errors.js';
6
7
  import { EXIT_CODES } from '../../utils/exitCodes.js';
7
- import { createLogger } from '../../utils/logger.js';
8
+ import { filterDefined } from '../../utils/objects.js';
8
9
  const log = createLogger('bdg');
9
10
  /**
10
11
  * Start a session via the daemon using IPC.
@@ -23,20 +24,16 @@ export async function startSessionViaDaemon(url, options, telemetry) {
23
24
  try {
24
25
  log.debug('Connecting to daemon...');
25
26
  // Send start_session_request to daemon
26
- const requestOptions = {};
27
- if (options.port !== undefined)
28
- requestOptions.port = options.port;
29
- if (options.timeout !== undefined)
30
- requestOptions.timeout = options.timeout;
31
- if (telemetry.length > 0)
32
- requestOptions.telemetry = telemetry;
33
- if (options.includeAll !== undefined)
34
- requestOptions.includeAll = options.includeAll;
35
- if (options.userDataDir !== undefined)
36
- requestOptions.userDataDir = options.userDataDir;
37
- if (options.maxBodySize !== undefined)
38
- requestOptions.maxBodySize = options.maxBodySize;
39
- const response = await sendStartSessionRequest(url, requestOptions);
27
+ const response = await sendStartSessionRequest(url, filterDefined({
28
+ port: options.port,
29
+ timeout: options.timeout,
30
+ telemetry: telemetry.length > 0 ? telemetry : undefined,
31
+ includeAll: options.includeAll,
32
+ userDataDir: options.userDataDir,
33
+ maxBodySize: options.maxBodySize,
34
+ headless: options.headless,
35
+ chromeWsUrl: options.chromeWsUrl,
36
+ }));
40
37
  // Check for errors
41
38
  if (response.status === 'error') {
42
39
  // Special handling for SESSION_ALREADY_RUNNING with helpful context
@@ -1 +1 @@
1
- {"version":3,"file":"daemonSessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/daemonSessionController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemonSessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/daemonSessionController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { getErrorMessage } from '../../ui/errors/index.js';
1
2
  import { cleanupChromeAttemptingMessage, cleanupChromePidNotFoundMessage, cleanupChromeKillingMessage, cleanupChromeSuccessMessage, cleanupChromeFailedMessage, cleanupChromeProcessFailedMessage, } from '../../ui/messages/chrome.js';
2
- import { getErrorMessage } from '../../utils/errors.js';
3
3
  /**
4
4
  * Aggressively cleanup stale Chrome processes launched by bdg.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/sessionController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEnE,wCAAwC;QACxC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,kDAAkD;YAClD,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAExC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC;YAE7C,wCAAwC;YACxC,cAAc,EAAE,CAAC;YAEjB,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/sessionController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEnE,wCAAwC;QACxC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,kDAAkD;YAClD,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAExC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC;YAE7C,wCAAwC;YACxC,cAAc,EAAE,CAAC;YAEjB,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa5D"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsIzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwB5D"}
@@ -1,7 +1,9 @@
1
+ import os from 'node:os';
1
2
  import { startSessionViaDaemon } from '../commands/shared/daemonSessionController.js';
2
- import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION, TIMEOUT_OPTION_DESCRIPTION, USER_DATA_DIR_OPTION_DESCRIPTION, } from '../constants.js';
3
+ import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION } from '../constants.js';
3
4
  import { startCommandHelpMessage } from '../ui/messages/commands.js';
4
5
  import { invalidIntegerError } from '../ui/messages/validation.js';
6
+ import { EXIT_CODES } from '../utils/exitCodes.js';
5
7
  /**
6
8
  * Apply shared telemetry options to a command
7
9
  *
@@ -11,26 +13,31 @@ import { invalidIntegerError } from '../ui/messages/validation.js';
11
13
  function applyCollectorOptions(command) {
12
14
  return command
13
15
  .option('-p, --port <number>', PORT_OPTION_DESCRIPTION, DEFAULT_DEBUG_PORT)
14
- .option('-t, --timeout <seconds>', TIMEOUT_OPTION_DESCRIPTION)
15
- .option('-u, --user-data-dir <path>', USER_DATA_DIR_OPTION_DESCRIPTION)
16
- .option('-a, --all', 'Include all data (disable filtering of tracking/analytics)')
17
- .option('-m, --max-body-size <megabytes>', 'Maximum response body size in MB (default: 5MB)', '5')
18
- .option('--compact', 'Use compact JSON format (no indentation) for output files');
16
+ .option('-t, --timeout <seconds>', 'Auto-stop after timeout in seconds (unlimited if not specified)')
17
+ .option('-u, --user-data-dir <path>', 'Chrome user data directory', '~/.bdg/chrome-profile')
18
+ .option('-a, --all', 'Include all data (disable filtering of tracking/analytics)', false)
19
+ .option('-m, --max-body-size <megabytes>', 'Maximum response body size in MB', '5')
20
+ .option('--compact', 'Use compact JSON format (no indentation) for output files', false)
21
+ .option('--headless', 'Launch Chrome in headless mode (no visible browser window)', false)
22
+ .option('--chrome-ws-url <url>', 'Connect to existing Chrome via WebSocket URL (e.g., ws://localhost:9222/devtools/page/...)');
19
23
  }
20
24
  /**
21
25
  * Parse a string to integer, returning undefined if not provided
22
26
  * @param value - Optional string value to parse
23
27
  * @param fieldName - Name of the field being parsed (for error messages)
28
+ * @param min - Optional minimum allowed value
29
+ * @param max - Optional maximum allowed value
24
30
  * @returns Parsed integer or undefined if value was not provided
25
31
  * @throws Error if value is provided but not a valid integer
26
32
  */
27
- function parseOptionalInt(value, fieldName) {
33
+ function parseOptionalInt(value, fieldName, min, max) {
28
34
  if (value === undefined) {
29
35
  return undefined;
30
36
  }
31
37
  const parsed = parseInt(value, 10);
32
38
  if (isNaN(parsed)) {
33
- throw new Error(invalidIntegerError(fieldName, value));
39
+ const options = min !== undefined && max !== undefined ? { min, max } : undefined;
40
+ throw new Error(invalidIntegerError(fieldName, value, options));
34
41
  }
35
42
  return parsed;
36
43
  }
@@ -41,14 +48,21 @@ function parseOptionalInt(value, fieldName) {
41
48
  * @returns Session options object with parsed and normalized values
42
49
  */
43
50
  function buildSessionOptions(options) {
44
- const maxBodySizeMB = parseOptionalInt(options.maxBodySize, 'max-body-size');
51
+ const maxBodySizeMB = parseOptionalInt(options.maxBodySize, 'max-body-size', 1, 100);
52
+ // Expand tilde in userDataDir path
53
+ let userDataDir = options.userDataDir;
54
+ if (userDataDir?.startsWith('~/')) {
55
+ userDataDir = userDataDir.replace(/^~/, os.homedir());
56
+ }
45
57
  return {
46
58
  port: parseInt(options.port, 10),
47
- timeout: parseOptionalInt(options.timeout, 'timeout'),
48
- userDataDir: options.userDataDir,
59
+ timeout: parseOptionalInt(options.timeout, 'timeout', 1, 3600),
60
+ userDataDir,
49
61
  includeAll: options.all ?? false,
50
62
  maxBodySize: maxBodySizeMB !== undefined ? maxBodySizeMB * 1024 * 1024 : undefined,
51
63
  compact: options.compact ?? false,
64
+ headless: options.headless ?? false,
65
+ chromeWsUrl: options.chromeWsUrl,
52
66
  };
53
67
  }
54
68
  /**
@@ -79,6 +93,16 @@ export function registerStartCommands(program) {
79
93
  console.error(startCommandHelpMessage());
80
94
  process.exit(0);
81
95
  }
96
+ // Validate URL before starting session
97
+ const { validateUrl } = await import('../utils/url.js');
98
+ const validation = validateUrl(url);
99
+ if (!validation.valid) {
100
+ console.error(`Error: ${validation.error}`);
101
+ if (validation.suggestion) {
102
+ console.error(`Suggestion: ${validation.suggestion}`);
103
+ }
104
+ process.exit(EXIT_CODES.INVALID_URL);
105
+ }
82
106
  await collectorAction(url, options);
83
107
  });
84
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAoBlE;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,OAAO;SACX,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;SAC1E,MAAM,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;SAC7D,MAAM,CAAC,4BAA4B,EAAE,gCAAgC,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACjF,MAAM,CACL,iCAAiC,EACjC,iDAAiD,EACjD,GAAG,CACJ;SACA,MAAM,CAAC,WAAW,EAAE,2DAA2D,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAyB,EAAE,SAAiB;IACpE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAyB;IAQpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC7E,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;QACrD,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;QAChC,WAAW,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAClF,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAyB;IACnE,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEpD,qDAAqD;IACrD,MAAM,SAAS,GAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjE,2DAA2D;IAC3D,MAAM,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,uEAAuE;IACvE,qBAAqB,CACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,4CAA4C,CAAC,CACxE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAuB,EAAE,OAAyB,EAAE,EAAE;QACpE,wCAAwC;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoF5D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G5D"}
@@ -1,11 +1,11 @@
1
+ import { runCommand } from '../commands/shared/CommandRunner.js';
1
2
  import { getStatus } from '../ipc/client.js';
2
3
  import { cleanupStaleDaemonPid } from '../session/cleanup.js';
4
+ import { getErrorMessage, isDaemonConnectionError } from '../ui/errors/index.js';
3
5
  import { formatSessionStatus, formatStatusAsJson, formatNoSessionMessage, } from '../ui/formatters/status.js';
4
6
  import { daemonNotRunningWithCleanup } from '../ui/messages/commands.js';
5
- import { genericError, invalidResponseError } from '../ui/messages/errors.js';
6
- import { getErrorMessage } from '../utils/errors.js';
7
+ import { invalidResponseError } from '../ui/messages/errors.js';
7
8
  import { EXIT_CODES } from '../utils/exitCodes.js';
8
- import { VERSION } from '../utils/version.js';
9
9
  /**
10
10
  * Register status command
11
11
  *
@@ -16,73 +16,90 @@ export function registerStatusCommand(program) {
16
16
  program
17
17
  .command('status')
18
18
  .description('Show active session status and collection statistics')
19
- .option('-j, --json', 'Output as JSON')
20
- .option('-v, --verbose', 'Show detailed Chrome diagnostics')
19
+ .option('-j, --json', 'Output as JSON', false)
20
+ .option('-v, --verbose', 'Show detailed Chrome diagnostics', false)
21
21
  .action(async (options) => {
22
- try {
23
- // Request status from daemon via IPC
24
- const response = await getStatus();
25
- // Handle IPC error response
26
- if (response.status === 'error') {
27
- console.error(genericError(`Daemon error: ${response.error ?? 'Unknown error'}`));
28
- process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
29
- }
30
- // Extract data from response
31
- const { data } = response;
32
- if (!data) {
33
- console.error(invalidResponseError('missing data'));
34
- process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
35
- }
36
- // Check if there's an active session
37
- if (!data.sessionPid || !data.sessionMetadata) {
38
- if (options.json) {
39
- console.log(JSON.stringify({ version: VERSION, active: false }, null, 2));
22
+ let latestMetadata = null;
23
+ let latestSessionPid = null;
24
+ let latestActivity;
25
+ let latestPageState;
26
+ await runCommand(async () => {
27
+ try {
28
+ const response = await getStatus();
29
+ if (response.status === 'error') {
30
+ return {
31
+ success: false,
32
+ error: `Daemon error: ${response.error ?? 'Unknown error'}`,
33
+ exitCode: EXIT_CODES.UNHANDLED_EXCEPTION,
34
+ };
40
35
  }
41
- else {
42
- console.error(formatNoSessionMessage());
36
+ const data = response.data;
37
+ if (!data) {
38
+ return {
39
+ success: false,
40
+ error: invalidResponseError('missing data'),
41
+ exitCode: EXIT_CODES.UNHANDLED_EXCEPTION,
42
+ };
43
43
  }
44
- process.exit(EXIT_CODES.SUCCESS);
45
- }
46
- // Convert IPC metadata to SessionMetadata format
47
- const metadata = {
48
- bdgPid: data.sessionMetadata.bdgPid,
49
- chromePid: data.sessionMetadata.chromePid,
50
- startTime: data.sessionMetadata.startTime,
51
- port: data.sessionMetadata.port,
52
- targetId: data.sessionMetadata.targetId,
53
- webSocketDebuggerUrl: data.sessionMetadata.webSocketDebuggerUrl,
54
- activeTelemetry: data.sessionMetadata.activeTelemetry,
55
- };
56
- if (options.json) {
57
- // JSON output - include activity and page state
44
+ latestActivity = data.activity;
45
+ latestPageState = data.pageState;
46
+ if (!data.sessionPid || !data.sessionMetadata) {
47
+ latestMetadata = null;
48
+ latestSessionPid = null;
49
+ const jsonOutput = formatStatusAsJson(null, null);
50
+ if (data.activity) {
51
+ jsonOutput.activity = data.activity;
52
+ }
53
+ if (data.pageState) {
54
+ jsonOutput.pageState = data.pageState;
55
+ }
56
+ return { success: true, data: jsonOutput };
57
+ }
58
+ const metadata = {
59
+ bdgPid: data.sessionMetadata.bdgPid,
60
+ chromePid: data.sessionMetadata.chromePid,
61
+ startTime: data.sessionMetadata.startTime,
62
+ port: data.sessionMetadata.port,
63
+ targetId: data.sessionMetadata.targetId,
64
+ webSocketDebuggerUrl: data.sessionMetadata.webSocketDebuggerUrl,
65
+ activeTelemetry: data.sessionMetadata.activeTelemetry,
66
+ };
67
+ latestMetadata = metadata;
68
+ latestSessionPid = data.sessionPid;
58
69
  const jsonOutput = formatStatusAsJson(metadata, data.sessionPid);
59
- // Merge in activity data if available
60
70
  if (data.activity) {
61
71
  jsonOutput.activity = data.activity;
62
72
  }
63
73
  if (data.pageState) {
64
74
  jsonOutput.pageState = data.pageState;
65
75
  }
66
- console.log(JSON.stringify(jsonOutput, null, 2));
76
+ return { success: true, data: jsonOutput };
77
+ }
78
+ catch (error) {
79
+ const errorMessage = getErrorMessage(error);
80
+ if (isDaemonConnectionError(error)) {
81
+ const cleaned = cleanupStaleDaemonPid();
82
+ return {
83
+ success: false,
84
+ error: daemonNotRunningWithCleanup(cleaned),
85
+ exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
86
+ };
87
+ }
88
+ return {
89
+ success: false,
90
+ error: `Error checking status: ${errorMessage}`,
91
+ exitCode: EXIT_CODES.UNHANDLED_EXCEPTION,
92
+ };
67
93
  }
68
- else {
69
- // Human-readable output - pass activity and page state
70
- console.log(formatSessionStatus(metadata, data.sessionPid, data.activity, data.pageState, options.verbose ?? false));
94
+ }, options, (data) => {
95
+ if (!data.active) {
96
+ return formatNoSessionMessage();
71
97
  }
72
- process.exit(EXIT_CODES.SUCCESS);
73
- }
74
- catch (error) {
75
- // Handle connection errors (daemon not running)
76
- const errorMessage = getErrorMessage(error);
77
- if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
78
- // P0 Fix #2: Auto-cleanup stale daemon PID if it exists
79
- const cleaned = cleanupStaleDaemonPid();
80
- console.error(daemonNotRunningWithCleanup(cleaned));
81
- process.exit(EXIT_CODES.RESOURCE_NOT_FOUND);
98
+ if (!latestMetadata || latestSessionPid === null) {
99
+ return formatNoSessionMessage();
82
100
  }
83
- console.error(genericError(`Error checking status: ${errorMessage}`));
84
- process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
85
- }
101
+ return formatSessionStatus(latestMetadata, latestSessionPid, latestActivity, latestPageState, options.verbose ?? false);
102
+ });
86
103
  });
87
104
  }
88
105
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8F1D"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6EzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4F1D"}
@@ -5,9 +5,9 @@ import { IPCErrorCode } from '../ipc/types.js';
5
5
  import { clearChromePid } from '../session/chrome.js';
6
6
  import { getSessionFilePath } from '../session/paths.js';
7
7
  import { killChromeProcess } from '../session/process.js';
8
+ import { getErrorMessage } from '../ui/errors/index.js';
8
9
  import { chromeKilledMessage, warningMessage } from '../ui/messages/commands.js';
9
10
  import { sessionStopped, STOP_MESSAGES, stopFailedError } from '../ui/messages/session.js';
10
- import { getErrorMessage } from '../utils/errors.js';
11
11
  import { EXIT_CODES } from '../utils/exitCodes.js';
12
12
  /**
13
13
  * Format stop result for human-readable output.
@@ -33,28 +33,16 @@ function formatStop(data) {
33
33
  /**
34
34
  * Map daemon error codes to appropriate exit codes.
35
35
  *
36
+ * Only NO_SESSION has special handling (RESOURCE_NOT_FOUND).
37
+ * All other error codes map to UNHANDLED_EXCEPTION.
38
+ *
36
39
  * @param errorCode - IPC error code from daemon response
37
40
  * @returns Semantic exit code
38
41
  */
39
42
  function getExitCodeForDaemonError(errorCode) {
40
- switch (errorCode) {
41
- case IPCErrorCode.NO_SESSION:
42
- return EXIT_CODES.RESOURCE_NOT_FOUND;
43
- case IPCErrorCode.SESSION_KILL_FAILED:
44
- return EXIT_CODES.UNHANDLED_EXCEPTION;
45
- case IPCErrorCode.DAEMON_ERROR:
46
- return EXIT_CODES.UNHANDLED_EXCEPTION;
47
- case IPCErrorCode.SESSION_ALREADY_RUNNING:
48
- return EXIT_CODES.UNHANDLED_EXCEPTION;
49
- case IPCErrorCode.WORKER_START_FAILED:
50
- return EXIT_CODES.UNHANDLED_EXCEPTION;
51
- case IPCErrorCode.CHROME_LAUNCH_FAILED:
52
- return EXIT_CODES.UNHANDLED_EXCEPTION;
53
- case IPCErrorCode.CDP_TIMEOUT:
54
- return EXIT_CODES.UNHANDLED_EXCEPTION;
55
- case undefined:
56
- return EXIT_CODES.UNHANDLED_EXCEPTION;
57
- }
43
+ return errorCode === IPCErrorCode.NO_SESSION
44
+ ? EXIT_CODES.RESOURCE_NOT_FOUND
45
+ : EXIT_CODES.UNHANDLED_EXCEPTION;
58
46
  }
59
47
  /**
60
48
  * Register stop command
@@ -64,8 +52,8 @@ function getExitCodeForDaemonError(errorCode) {
64
52
  export function registerStopCommand(program) {
65
53
  program
66
54
  .command('stop')
67
- .description('Stop all active sessions and free ports (does not capture output)')
68
- .option('--kill-chrome', 'Also kill Chrome browser')
55
+ .description('Stop daemon and write collected telemetry to session.json')
56
+ .option('--kill-chrome', 'Also kill Chrome browser process', false)
69
57
  .addOption(jsonOption)
70
58
  .action(async (options) => {
71
59
  await runCommand(async (opts) => {
@@ -106,14 +94,12 @@ export function registerStopCommand(program) {
106
94
  }
107
95
  else {
108
96
  // Daemon returned error
109
- // Special case: NO_SESSION is not really an error - it's a success (desired state achieved)
97
+ // Special case: NO_SESSION should fail with helpful error message
110
98
  if (response.errorCode === IPCErrorCode.NO_SESSION) {
111
99
  return {
112
- success: true,
113
- data: {
114
- stopped: { bdg: false, chrome: false },
115
- message: response.message ?? STOP_MESSAGES.NO_SESSION,
116
- },
100
+ success: false,
101
+ error: response.message ?? STOP_MESSAGES.NO_SESSION,
102
+ exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
117
103
  };
118
104
  }
119
105
  // Other errors are actual failures
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAyBlD;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,SAAwB;IACzD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,YAAY,CAAC,UAAU;YAC1B,OAAO,UAAU,CAAC,kBAAkB,CAAC;QACvC,KAAK,YAAY,CAAC,mBAAmB;YACnC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,YAAY,CAAC,YAAY;YAC5B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,YAAY,CAAC,uBAAuB;YACvC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,YAAY,CAAC,mBAAmB;YACnC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,YAAY,CAAC,oBAAoB;YACpC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,YAAY,CAAC,WAAW;YAC3B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,mBAAmB,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mEAAmE,CAAC;SAChF,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;SACnD,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACrC,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;gBAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC7B,0CAA0C;oBAC1C,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAE9B,yEAAyE;oBACzE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;wBACrC,IAAI,SAAS,EAAE,CAAC;4BACd,IAAI,CAAC;gCACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gCACxC,aAAa,GAAG,IAAI,CAAC;gCACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC9C,cAAc,EAAE,CAAC;4BACnB,CAAC;4BAAC,OAAO,WAAoB,EAAE,CAAC;gCAC9B,MAAM,YAAY,GAChB,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gCAC3E,QAAQ,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;4BAC1D,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;wBACzE,CAAC;oBACH,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE;4BAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO;4BAClD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;yBACzC;qBACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,wBAAwB;oBACxB,4FAA4F;oBAC5F,IAAI,QAAQ,CAAC,SAAS,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;wBACnD,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE;gCACJ,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gCACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,UAAU;6BACtD;yBACF,CAAC;oBACJ,CAAC;oBAED,mCAAmC;oBACnC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC/D,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM;wBAC/C,QAAQ;qBACT,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,8DAA8D;gBAC9D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE5C,wDAAwD;gBACxD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC7E,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,aAAa,CAAC,kBAAkB;wBACvC,QAAQ,EAAE,UAAU,CAAC,kBAAkB;wBACvC,YAAY,EAAE;4BACZ,UAAU,EAAE,uCAAuC;yBACpD;qBACF,CAAC;gBACJ,CAAC;gBAED,+CAA+C;gBAC/C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC;oBACpC,QAAQ,EAAE,UAAU,CAAC,mBAAmB;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC,EACD,OAAO,EACP,UAAU,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register tail command for continuous monitoring.
4
+ *
5
+ * Tail command is like `tail -f` for bdg session data.
6
+ * It continuously polls and displays updates from the running session.
7
+ *
8
+ * @param program - Commander.js Command instance to register commands on
9
+ */
10
+ export declare function registerTailCommand(program: Command): void;
11
+ //# sourceMappingURL=tail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F1D"}