browser-debugger-cli 0.1.0 → 0.2.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 (420) hide show
  1. package/dist/__testfixtures__/cdpMessages.d.ts +1 -1
  2. package/dist/__testfixtures__/connectionTargets.d.ts +1 -1
  3. package/dist/__testutils__/assertions.d.ts +1 -1
  4. package/dist/__testutils__/testFixtures.d.ts +1 -1
  5. package/dist/cli/commands/cdp.js +1 -1
  6. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  7. package/dist/cli/commands/cleanup.js +12 -13
  8. package/dist/cli/commands/cleanup.js.map +1 -1
  9. package/dist/cli/commands/console.js +2 -2
  10. package/dist/cli/commands/details.js +3 -3
  11. package/dist/cli/commands/details.js.map +1 -1
  12. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -1
  13. package/dist/cli/commands/dom/helpers/errorHandler.js +4 -3
  14. package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -1
  15. package/dist/cli/commands/dom/index.js +1 -1
  16. package/dist/cli/commands/dom.d.ts.map +1 -0
  17. package/dist/cli/commands/dom.js +257 -0
  18. package/dist/cli/commands/dom.js.map +1 -0
  19. package/dist/cli/commands/domErrorHandler.d.ts +45 -0
  20. package/dist/cli/commands/domErrorHandler.d.ts.map +1 -0
  21. package/dist/cli/commands/domErrorHandler.js +71 -0
  22. package/dist/cli/commands/domErrorHandler.js.map +1 -0
  23. package/dist/cli/commands/domEvalHelpers.d.ts +52 -0
  24. package/dist/cli/commands/domEvalHelpers.d.ts.map +1 -0
  25. package/dist/cli/commands/domEvalHelpers.js +76 -0
  26. package/dist/cli/commands/domEvalHelpers.js.map +1 -0
  27. package/dist/cli/commands/domOptionsBuilder.d.ts +35 -0
  28. package/dist/cli/commands/domOptionsBuilder.d.ts.map +1 -0
  29. package/dist/cli/commands/domOptionsBuilder.js +51 -0
  30. package/dist/cli/commands/domOptionsBuilder.js.map +1 -0
  31. package/dist/cli/{collectors/helpers/selectorParser.d.ts → commands/domSelectorParser.d.ts} +1 -1
  32. package/dist/cli/commands/domSelectorParser.d.ts.map +1 -0
  33. package/dist/cli/{collectors/helpers/selectorParser.js → commands/domSelectorParser.js} +1 -1
  34. package/dist/cli/commands/domSelectorParser.js.map +1 -0
  35. package/dist/cli/commands/network.d.ts.map +1 -1
  36. package/dist/cli/commands/network.js +8 -5
  37. package/dist/cli/commands/network.js.map +1 -1
  38. package/dist/cli/commands/peek.d.ts.map +1 -1
  39. package/dist/cli/commands/peek.js +7 -7
  40. package/dist/cli/commands/peek.js.map +1 -1
  41. package/dist/cli/commands/start.d.ts.map +1 -1
  42. package/dist/cli/commands/start.js +19 -2
  43. package/dist/cli/commands/start.js.map +1 -1
  44. package/dist/cli/commands/status.d.ts.map +1 -1
  45. package/dist/cli/commands/status.js +13 -10
  46. package/dist/cli/commands/status.js.map +1 -1
  47. package/dist/cli/commands/stop.d.ts.map +1 -1
  48. package/dist/cli/commands/stop.js +7 -6
  49. package/dist/cli/commands/stop.js.map +1 -1
  50. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  51. package/dist/cli/formatters/previewFormatter.d.ts +1 -1
  52. package/dist/cli/formatters/previewFormatter.js +1 -1
  53. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  54. package/dist/cli/formatters/statusFormatter.d.ts +6 -1
  55. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  56. package/dist/cli/formatters/statusFormatter.js +49 -4
  57. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  58. package/dist/cli/handlers/CommandRunner.d.ts.map +1 -1
  59. package/dist/cli/handlers/CommandRunner.js +5 -5
  60. package/dist/cli/handlers/CommandRunner.js.map +1 -1
  61. package/dist/cli/handlers/OutputBuilder.d.ts +1 -1
  62. package/dist/cli/handlers/daemonSessionController.d.ts +1 -1
  63. package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -1
  64. package/dist/cli/handlers/daemonSessionController.js +16 -45
  65. package/dist/cli/handlers/daemonSessionController.js.map +1 -1
  66. package/dist/cli/handlers/landingPage.d.ts +8 -0
  67. package/dist/cli/handlers/landingPage.d.ts.map +1 -0
  68. package/dist/cli/handlers/landingPage.js +8 -0
  69. package/dist/cli/handlers/landingPage.js.map +1 -0
  70. package/dist/cli/registry.js +10 -10
  71. package/dist/cli/registry.js.map +1 -1
  72. package/dist/collectors/__tests__/network.contract.test.js +25 -10
  73. package/dist/collectors/__tests__/network.contract.test.js.map +1 -1
  74. package/dist/collectors/console.d.ts +1 -1
  75. package/dist/collectors/console.js.map +1 -1
  76. package/dist/collectors/dom.d.ts +1 -1
  77. package/dist/collectors/network.d.ts +1 -1
  78. package/dist/collectors/network.js.map +1 -1
  79. package/dist/commandRegistry.d.ts +11 -0
  80. package/dist/commandRegistry.d.ts.map +1 -0
  81. package/dist/commandRegistry.js +45 -0
  82. package/dist/commandRegistry.js.map +1 -0
  83. package/dist/commands/__tests__/cdp.contract.test.d.ts +24 -0
  84. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
  85. package/dist/commands/__tests__/cdp.contract.test.js +467 -0
  86. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -0
  87. package/dist/commands/cdp.d.ts +8 -0
  88. package/dist/commands/cdp.d.ts.map +1 -0
  89. package/dist/commands/cdp.js +45 -0
  90. package/dist/commands/cdp.js.map +1 -0
  91. package/dist/commands/cleanup.d.ts +8 -0
  92. package/dist/commands/cleanup.d.ts.map +1 -0
  93. package/dist/commands/cleanup.js +129 -0
  94. package/dist/commands/cleanup.js.map +1 -0
  95. package/dist/commands/console.d.ts +8 -0
  96. package/dist/commands/console.d.ts.map +1 -0
  97. package/dist/commands/console.js +92 -0
  98. package/dist/commands/console.js.map +1 -0
  99. package/dist/commands/details.d.ts +8 -0
  100. package/dist/commands/details.d.ts.map +1 -0
  101. package/dist/commands/details.js +68 -0
  102. package/dist/commands/details.js.map +1 -0
  103. package/dist/commands/dom.d.ts +8 -0
  104. package/dist/commands/dom.d.ts.map +1 -0
  105. package/dist/commands/dom.js +257 -0
  106. package/dist/commands/dom.js.map +1 -0
  107. package/dist/commands/domErrorHandler.d.ts +45 -0
  108. package/dist/commands/domErrorHandler.d.ts.map +1 -0
  109. package/dist/commands/domErrorHandler.js +71 -0
  110. package/dist/commands/domErrorHandler.js.map +1 -0
  111. package/dist/commands/domEvalHelpers.d.ts +52 -0
  112. package/dist/commands/domEvalHelpers.d.ts.map +1 -0
  113. package/dist/commands/domEvalHelpers.js +76 -0
  114. package/dist/commands/domEvalHelpers.js.map +1 -0
  115. package/dist/commands/domOptionsBuilder.d.ts +35 -0
  116. package/dist/commands/domOptionsBuilder.d.ts.map +1 -0
  117. package/dist/commands/domOptionsBuilder.js +51 -0
  118. package/dist/commands/domOptionsBuilder.js.map +1 -0
  119. package/dist/commands/domSelectorParser.d.ts +20 -0
  120. package/dist/commands/domSelectorParser.d.ts.map +1 -0
  121. package/dist/commands/domSelectorParser.js +20 -0
  122. package/dist/commands/domSelectorParser.js.map +1 -0
  123. package/dist/commands/network.d.ts +8 -0
  124. package/dist/commands/network.d.ts.map +1 -0
  125. package/dist/commands/network.js +43 -0
  126. package/dist/commands/network.js.map +1 -0
  127. package/dist/commands/peek.d.ts +8 -0
  128. package/dist/commands/peek.d.ts.map +1 -0
  129. package/dist/commands/peek.js +114 -0
  130. package/dist/commands/peek.js.map +1 -0
  131. package/dist/commands/shared/CommandRunner.d.ts +60 -0
  132. package/dist/commands/shared/CommandRunner.d.ts.map +1 -0
  133. package/dist/commands/shared/CommandRunner.js +81 -0
  134. package/dist/commands/shared/CommandRunner.js.map +1 -0
  135. package/dist/commands/shared/OutputBuilder.d.ts +60 -0
  136. package/dist/commands/shared/OutputBuilder.d.ts.map +1 -0
  137. package/dist/commands/shared/OutputBuilder.js +138 -0
  138. package/dist/commands/shared/OutputBuilder.js.map +1 -0
  139. package/dist/commands/shared/commonOptions.d.ts +54 -0
  140. package/dist/commands/shared/commonOptions.d.ts.map +1 -0
  141. package/dist/commands/shared/commonOptions.js +64 -0
  142. package/dist/commands/shared/commonOptions.js.map +1 -0
  143. package/dist/commands/shared/daemonSessionController.d.ts +23 -0
  144. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -0
  145. package/dist/commands/shared/daemonSessionController.js +79 -0
  146. package/dist/commands/shared/daemonSessionController.js.map +1 -0
  147. package/dist/commands/shared/landingPage.d.ts +8 -0
  148. package/dist/commands/shared/landingPage.d.ts.map +1 -0
  149. package/dist/commands/shared/landingPage.js +8 -0
  150. package/dist/commands/shared/landingPage.js.map +1 -0
  151. package/dist/commands/shared/sessionController.d.ts +21 -0
  152. package/dist/commands/shared/sessionController.d.ts.map +1 -0
  153. package/dist/commands/shared/sessionController.js +55 -0
  154. package/dist/commands/shared/sessionController.js.map +1 -0
  155. package/dist/commands/start.d.ts +9 -0
  156. package/dist/commands/start.d.ts.map +1 -0
  157. package/dist/commands/start.js +85 -0
  158. package/dist/commands/start.js.map +1 -0
  159. package/dist/{cli/commands/query.d.ts → commands/status.d.ts} +3 -3
  160. package/dist/commands/status.d.ts.map +1 -0
  161. package/dist/commands/status.js +87 -0
  162. package/dist/commands/status.js.map +1 -0
  163. package/dist/commands/stop.d.ts +8 -0
  164. package/dist/commands/stop.d.ts.map +1 -0
  165. package/dist/commands/stop.js +150 -0
  166. package/dist/commands/stop.js.map +1 -0
  167. package/dist/commands.d.ts +11 -0
  168. package/dist/commands.d.ts.map +1 -0
  169. package/dist/commands.js +45 -0
  170. package/dist/commands.js.map +1 -0
  171. package/dist/connection/__tests__/cdp.contract.test.js +1 -1
  172. package/dist/connection/__tests__/finder.contract.test.js +1 -1
  173. package/dist/connection/__tests__/finder.contract.test.js.map +1 -1
  174. package/dist/connection/cdp.d.ts +1 -1
  175. package/dist/connection/cdp.js.map +1 -1
  176. package/dist/connection/domOperations.d.ts +48 -0
  177. package/dist/connection/domOperations.d.ts.map +1 -0
  178. package/dist/connection/domOperations.js +104 -0
  179. package/dist/connection/domOperations.js.map +1 -0
  180. package/dist/connection/finder.js.map +1 -1
  181. package/dist/connection/launcher.d.ts +7 -3
  182. package/dist/connection/launcher.d.ts.map +1 -1
  183. package/dist/connection/launcher.js +72 -21
  184. package/dist/connection/launcher.js.map +1 -1
  185. package/dist/constants.d.ts +17 -0
  186. package/dist/constants.d.ts.map +1 -1
  187. package/dist/constants.js +28 -0
  188. package/dist/constants.js.map +1 -1
  189. package/dist/daemon/__tests__/ipcServer.contract.test.js +25 -11
  190. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  191. package/dist/daemon/ipcServer.d.ts.map +1 -1
  192. package/dist/daemon/ipcServer.js +86 -6
  193. package/dist/daemon/ipcServer.js.map +1 -1
  194. package/dist/daemon/launcher.d.ts.map +1 -1
  195. package/dist/daemon/launcher.js +8 -6
  196. package/dist/daemon/launcher.js.map +1 -1
  197. package/dist/daemon/startSession.d.ts +2 -2
  198. package/dist/daemon/startSession.d.ts.map +1 -1
  199. package/dist/daemon/startSession.js +12 -11
  200. package/dist/daemon/startSession.js.map +1 -1
  201. package/dist/daemon/worker.d.ts +1 -1
  202. package/dist/daemon/worker.js +97 -41
  203. package/dist/daemon/worker.js.map +1 -1
  204. package/dist/{cli/collectors/helpers/domCache.d.ts → dom/cache.d.ts} +1 -5
  205. package/dist/dom/cache.d.ts.map +1 -0
  206. package/dist/{cli/collectors/helpers/domCache.js → dom/cache.js} +5 -19
  207. package/dist/dom/cache.js.map +1 -0
  208. package/dist/dom/index.d.ts +9 -0
  209. package/dist/dom/index.d.ts.map +1 -0
  210. package/dist/dom/index.js +9 -0
  211. package/dist/dom/index.js.map +1 -0
  212. package/dist/{cli/collectors/helpers/domQuery.d.ts → dom/query.d.ts} +5 -2
  213. package/dist/dom/query.d.ts.map +1 -0
  214. package/dist/{cli/collectors/helpers/domQuery.js → dom/query.js} +11 -7
  215. package/dist/dom/query.js.map +1 -0
  216. package/dist/index.js +117 -35
  217. package/dist/index.js.map +1 -1
  218. package/dist/ipc/__tests__/client.contract.test.js +11 -1
  219. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  220. package/dist/ipc/client.d.ts +4 -4
  221. package/dist/ipc/client.d.ts.map +1 -1
  222. package/dist/ipc/client.js +10 -6
  223. package/dist/ipc/client.js.map +1 -1
  224. package/dist/ipc/commands.d.ts +33 -1
  225. package/dist/ipc/commands.d.ts.map +1 -1
  226. package/dist/ipc/commands.js +4 -0
  227. package/dist/ipc/commands.js.map +1 -1
  228. package/dist/ipc/types.d.ts +34 -3
  229. package/dist/ipc/types.d.ts.map +1 -1
  230. package/dist/ipc/types.js.map +1 -1
  231. package/dist/session/metadata.d.ts +2 -2
  232. package/dist/session/metadata.d.ts.map +1 -1
  233. package/dist/session/output.d.ts +1 -1
  234. package/dist/session/process.d.ts.map +1 -1
  235. package/dist/session/process.js +4 -3
  236. package/dist/session/process.js.map +1 -1
  237. package/dist/session/queryCache.d.ts +36 -0
  238. package/dist/session/queryCache.d.ts.map +1 -0
  239. package/dist/session/queryCache.js +66 -0
  240. package/dist/session/queryCache.js.map +1 -0
  241. package/dist/telemetry/__tests__/network.contract.test.d.ts +28 -0
  242. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -0
  243. package/dist/telemetry/__tests__/network.contract.test.js +540 -0
  244. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -0
  245. package/dist/telemetry/console.d.ts +19 -0
  246. package/dist/telemetry/console.d.ts.map +1 -0
  247. package/dist/telemetry/console.js +87 -0
  248. package/dist/telemetry/console.js.map +1 -0
  249. package/dist/telemetry/dom.d.ts +21 -0
  250. package/dist/telemetry/dom.d.ts.map +1 -0
  251. package/dist/telemetry/dom.js +99 -0
  252. package/dist/telemetry/dom.js.map +1 -0
  253. package/dist/telemetry/network.d.ts +33 -0
  254. package/dist/telemetry/network.d.ts.map +1 -0
  255. package/dist/telemetry/network.js +191 -0
  256. package/dist/telemetry/network.js.map +1 -0
  257. package/dist/types.d.ts +1 -1
  258. package/dist/ui/formatters/cookies.d.ts +32 -0
  259. package/dist/ui/formatters/cookies.d.ts.map +1 -0
  260. package/dist/ui/formatters/cookies.js +48 -0
  261. package/dist/ui/formatters/cookies.js.map +1 -0
  262. package/dist/ui/formatters/details.d.ts +10 -0
  263. package/dist/ui/formatters/details.d.ts.map +1 -0
  264. package/dist/ui/formatters/details.js +63 -0
  265. package/dist/ui/formatters/details.js.map +1 -0
  266. package/dist/ui/formatters/index.d.ts +10 -0
  267. package/dist/ui/formatters/index.d.ts.map +1 -0
  268. package/dist/ui/formatters/index.js +10 -0
  269. package/dist/ui/formatters/index.js.map +1 -0
  270. package/dist/ui/formatters/preview.d.ts +25 -0
  271. package/dist/ui/formatters/preview.d.ts.map +1 -0
  272. package/dist/ui/formatters/preview.js +177 -0
  273. package/dist/ui/formatters/preview.js.map +1 -0
  274. package/dist/ui/formatters/status.d.ts +39 -0
  275. package/dist/ui/formatters/status.d.ts.map +1 -0
  276. package/dist/ui/formatters/status.js +153 -0
  277. package/dist/ui/formatters/status.js.map +1 -0
  278. package/dist/ui/formatting.d.ts +197 -0
  279. package/dist/ui/formatting.d.ts.map +1 -0
  280. package/dist/ui/formatting.js +318 -0
  281. package/dist/ui/formatting.js.map +1 -0
  282. package/dist/ui/messages/chrome.d.ts +102 -0
  283. package/dist/ui/messages/chrome.d.ts.map +1 -0
  284. package/dist/ui/messages/chrome.js +162 -0
  285. package/dist/ui/messages/chrome.js.map +1 -0
  286. package/dist/ui/messages/commands.d.ts +88 -0
  287. package/dist/ui/messages/commands.d.ts.map +1 -0
  288. package/dist/ui/messages/commands.js +150 -0
  289. package/dist/ui/messages/commands.js.map +1 -0
  290. package/dist/ui/messages/consoleMessages.d.ts +39 -0
  291. package/dist/ui/messages/consoleMessages.d.ts.map +1 -0
  292. package/dist/ui/messages/consoleMessages.js +48 -0
  293. package/dist/ui/messages/consoleMessages.js.map +1 -0
  294. package/dist/ui/messages/debug.d.ts +180 -0
  295. package/dist/ui/messages/debug.d.ts.map +1 -0
  296. package/dist/ui/messages/debug.js +241 -0
  297. package/dist/ui/messages/debug.js.map +1 -0
  298. package/dist/ui/messages/errors.d.ts +80 -0
  299. package/dist/ui/messages/errors.d.ts.map +1 -0
  300. package/dist/ui/messages/errors.js +122 -0
  301. package/dist/ui/messages/errors.js.map +1 -0
  302. package/dist/ui/messages/index.d.ts +12 -0
  303. package/dist/ui/messages/index.d.ts.map +1 -0
  304. package/dist/ui/messages/index.js +12 -0
  305. package/dist/ui/messages/index.js.map +1 -0
  306. package/dist/ui/messages/internal.d.ts +30 -0
  307. package/dist/ui/messages/internal.d.ts.map +1 -0
  308. package/dist/ui/messages/internal.js +42 -0
  309. package/dist/ui/messages/internal.js.map +1 -0
  310. package/dist/ui/messages/preview.d.ts +27 -0
  311. package/dist/ui/messages/preview.d.ts.map +1 -0
  312. package/dist/ui/messages/preview.js +45 -0
  313. package/dist/ui/messages/preview.js.map +1 -0
  314. package/dist/ui/messages/session.d.ts +54 -0
  315. package/dist/ui/messages/session.d.ts.map +1 -0
  316. package/dist/ui/messages/session.js +77 -0
  317. package/dist/ui/messages/session.js.map +1 -0
  318. package/dist/ui/messages/validation.d.ts +20 -0
  319. package/dist/ui/messages/validation.d.ts.map +1 -0
  320. package/dist/ui/messages/validation.js +22 -0
  321. package/dist/ui/messages/validation.js.map +1 -0
  322. package/dist/utils/__tests__/filters.unit.test.js +1 -1
  323. package/dist/utils/cdpHandlers.d.ts +1 -1
  324. package/dist/utils/cdpHandlers.js +1 -1
  325. package/dist/utils/chromeDiagnostics.d.ts +0 -12
  326. package/dist/utils/chromeDiagnostics.d.ts.map +1 -1
  327. package/dist/utils/chromeDiagnostics.js +0 -51
  328. package/dist/utils/chromeDiagnostics.js.map +1 -1
  329. package/dist/utils/http.d.ts +1 -1
  330. package/dist/utils/http.js.map +1 -1
  331. package/dist/utils/logger.d.ts +68 -12
  332. package/dist/utils/logger.d.ts.map +1 -1
  333. package/dist/utils/logger.js +62 -12
  334. package/dist/utils/logger.js.map +1 -1
  335. package/dist/utils/pageReadiness.d.ts +51 -0
  336. package/dist/utils/pageReadiness.d.ts.map +1 -0
  337. package/dist/utils/pageReadiness.js +271 -0
  338. package/dist/utils/pageReadiness.js.map +1 -0
  339. package/dist/utils/ui.d.ts +36 -0
  340. package/dist/utils/ui.d.ts.map +1 -0
  341. package/dist/utils/ui.js +47 -0
  342. package/dist/utils/ui.js.map +1 -0
  343. package/dist/utils/url.d.ts +6 -24
  344. package/dist/utils/url.d.ts.map +1 -1
  345. package/dist/utils/url.js +6 -67
  346. package/dist/utils/url.js.map +1 -1
  347. package/package.json +1 -1
  348. package/dist/cli/collectors/dom.d.ts.map +0 -1
  349. package/dist/cli/collectors/dom.js +0 -361
  350. package/dist/cli/collectors/dom.js.map +0 -1
  351. package/dist/cli/collectors/helpers/domCache.d.ts.map +0 -1
  352. package/dist/cli/collectors/helpers/domCache.js.map +0 -1
  353. package/dist/cli/collectors/helpers/domQuery.d.ts.map +0 -1
  354. package/dist/cli/collectors/helpers/domQuery.js.map +0 -1
  355. package/dist/cli/collectors/helpers/selectorParser.d.ts.map +0 -1
  356. package/dist/cli/collectors/helpers/selectorParser.js.map +0 -1
  357. package/dist/cli/commands/__tests__/ipcTest.test.d.ts +0 -2
  358. package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +0 -1
  359. package/dist/cli/commands/__tests__/ipcTest.test.js +0 -37
  360. package/dist/cli/commands/__tests__/ipcTest.test.js.map +0 -1
  361. package/dist/cli/commands/ipcTest.d.ts +0 -23
  362. package/dist/cli/commands/ipcTest.d.ts.map +0 -1
  363. package/dist/cli/commands/ipcTest.js +0 -181
  364. package/dist/cli/commands/ipcTest.js.map +0 -1
  365. package/dist/cli/commands/query.d.ts.map +0 -1
  366. package/dist/cli/commands/query.js +0 -127
  367. package/dist/cli/commands/query.js.map +0 -1
  368. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  369. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  370. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  371. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  372. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  373. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  374. package/dist/cli/handlers/OutputWriter.js +0 -34
  375. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  376. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  377. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  378. package/dist/cli/handlers/PreviewWriter.js +0 -119
  379. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  380. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  381. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  382. package/dist/cli/handlers/SessionLock.js +0 -38
  383. package/dist/cli/handlers/SessionLock.js.map +0 -1
  384. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  385. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  386. package/dist/cli/handlers/SessionLoop.js +0 -47
  387. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  388. package/dist/cli/handlers/ShutdownController.d.ts +0 -38
  389. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  390. package/dist/cli/handlers/ShutdownController.js +0 -83
  391. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  392. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  393. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  394. package/dist/cli/handlers/SignalHandler.js +0 -81
  395. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  396. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  397. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  398. package/dist/cli/handlers/TargetSetup.js +0 -87
  399. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  400. package/dist/connection/__tests__/tabs.contract.test.d.ts +0 -2
  401. package/dist/connection/__tests__/tabs.contract.test.d.ts.map +0 -1
  402. package/dist/connection/__tests__/tabs.contract.test.js +0 -137
  403. package/dist/connection/__tests__/tabs.contract.test.js.map +0 -1
  404. package/dist/connection/tabs.d.ts +0 -82
  405. package/dist/connection/tabs.d.ts.map +0 -1
  406. package/dist/connection/tabs.js +0 -577
  407. package/dist/connection/tabs.js.map +0 -1
  408. package/dist/session/BdgSession.d.ts +0 -129
  409. package/dist/session/BdgSession.d.ts.map +0 -1
  410. package/dist/session/BdgSession.js +0 -270
  411. package/dist/session/BdgSession.js.map +0 -1
  412. package/dist/session/index.d.ts +0 -15
  413. package/dist/session/index.d.ts.map +0 -1
  414. package/dist/session/index.js +0 -23
  415. package/dist/session/index.js.map +0 -1
  416. package/dist/utils/validation.d.ts +0 -12
  417. package/dist/utils/validation.d.ts.map +0 -1
  418. package/dist/utils/validation.js +0 -20
  419. package/dist/utils/validation.js.map +0 -1
  420. /package/dist/cli/{collectors → commands}/dom.d.ts +0 -0
@@ -0,0 +1,64 @@
1
+ import { Option } from 'commander';
2
+ /**
3
+ * Shared --json flag for all commands that support JSON output.
4
+ * Standard option for machine-readable output.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * program
9
+ * .command('status')
10
+ * .addOption(jsonOption)
11
+ * .action((options) => {
12
+ * if (options.json) {
13
+ * console.log(JSON.stringify(data));
14
+ * }
15
+ * });
16
+ * ```
17
+ */
18
+ export const jsonOption = new Option('-j, --json', 'Output as JSON');
19
+ /**
20
+ * Shared --last <n> option for pagination.
21
+ * Includes built-in validation for sensible limits.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * program
26
+ * .command('console')
27
+ * .addOption(lastOption)
28
+ * .action((options) => {
29
+ * const logs = allLogs.slice(-options.last);
30
+ * });
31
+ * ```
32
+ */
33
+ export const lastOption = new Option('--last <n>', 'Show last N items')
34
+ .default(0)
35
+ .argParser((val) => {
36
+ const n = parseInt(val, 10);
37
+ if (isNaN(n) || n < 0 || n > 10000) {
38
+ throw new Error('--last must be between 0 and 10000');
39
+ }
40
+ return n;
41
+ });
42
+ /**
43
+ * Create a --filter option with specified valid choices.
44
+ * Includes built-in validation using Commander's .choices() method.
45
+ *
46
+ * @param validTypes - Array of valid filter values
47
+ * @returns Commander Option instance
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * program
52
+ * .command('console')
53
+ * .addOption(filterOption(['log', 'error', 'warning', 'info']))
54
+ * .action((options) => {
55
+ * if (options.filter) {
56
+ * filtered = logs.filter(log => log.type === options.filter);
57
+ * }
58
+ * });
59
+ * ```
60
+ */
61
+ export function filterOption(validTypes) {
62
+ return new Option('--filter <type>', `Filter by type (${validTypes.join(', ')})`).choices(validTypes);
63
+ }
64
+ //# sourceMappingURL=commonOptions.js.map
@@ -0,0 +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;;;;;;;;;;;;;;;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,oCAAoC,CAAC,CAAC;IACxD,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"}
@@ -0,0 +1,23 @@
1
+ import type { TelemetryType } from '../../types.js';
2
+ /**
3
+ * Start a session via the daemon using IPC.
4
+ *
5
+ * This replaces the in-process sessionController.startSession() by:
6
+ * 1. Sending a start_session_request to the daemon
7
+ * 2. Waiting for the worker to launch and report readiness
8
+ * 3. Outputting metadata about the running session
9
+ * 4. Keeping the process alive while the session runs
10
+ *
11
+ * @param url - Target URL to navigate to
12
+ * @param options - Session configuration options
13
+ * @param telemetry - Array of telemetry types to enable
14
+ */
15
+ export declare function startSessionViaDaemon(url: string, options: {
16
+ port: number;
17
+ timeout: number | undefined;
18
+ userDataDir: string | undefined;
19
+ includeAll: boolean;
20
+ maxBodySize: number | undefined;
21
+ compact: boolean;
22
+ }, telemetry: TelemetryType[]): Promise<void>;
23
+ //# sourceMappingURL=daemonSessionController.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,79 @@
1
+ import { landingPage } from '../../commands/shared/landingPage.js';
2
+ import { startSession as sendStartSessionRequest } from '../../ipc/client.js';
3
+ import { IPCErrorCode } from '../../ipc/types.js';
4
+ import { sessionAlreadyRunningError, daemonConnectionFailedError, invalidResponseError, genericError, } from '../../ui/messages/errors.js';
5
+ import { getErrorMessage } from '../../utils/errors.js';
6
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
7
+ import { createLogger } from '../../utils/logger.js';
8
+ const log = createLogger('bdg');
9
+ /**
10
+ * Start a session via the daemon using IPC.
11
+ *
12
+ * This replaces the in-process sessionController.startSession() by:
13
+ * 1. Sending a start_session_request to the daemon
14
+ * 2. Waiting for the worker to launch and report readiness
15
+ * 3. Outputting metadata about the running session
16
+ * 4. Keeping the process alive while the session runs
17
+ *
18
+ * @param url - Target URL to navigate to
19
+ * @param options - Session configuration options
20
+ * @param telemetry - Array of telemetry types to enable
21
+ */
22
+ export async function startSessionViaDaemon(url, options, telemetry) {
23
+ try {
24
+ log.debug('Connecting to daemon...');
25
+ // 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);
40
+ // Check for errors
41
+ if (response.status === 'error') {
42
+ // Special handling for SESSION_ALREADY_RUNNING with helpful context
43
+ if (response.errorCode === IPCErrorCode.SESSION_ALREADY_RUNNING && response.existingSession) {
44
+ const { pid, targetUrl, duration } = response.existingSession;
45
+ const durationMs = duration ? duration * 1000 : 0;
46
+ console.error(sessionAlreadyRunningError(pid, durationMs, targetUrl));
47
+ }
48
+ else {
49
+ console.error(genericError(`Daemon error: ${response.message ?? 'Unknown error'}`));
50
+ }
51
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
52
+ }
53
+ // Extract metadata from response
54
+ const { data } = response;
55
+ if (!data) {
56
+ console.error(invalidResponseError('missing data'));
57
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
58
+ }
59
+ // Display landing page with session information
60
+ const landing = landingPage({
61
+ url: data.targetUrl,
62
+ });
63
+ console.error(landing);
64
+ // Session runs in background worker - CLI exits immediately
65
+ // This allows user to run other commands in the same terminal
66
+ process.exit(0);
67
+ }
68
+ catch (error) {
69
+ // Handle connection errors
70
+ const errorMessage = getErrorMessage(error);
71
+ if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
72
+ console.error(daemonConnectionFailedError());
73
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
74
+ }
75
+ console.error(genericError(errorMessage));
76
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
77
+ }
78
+ }
79
+ //# sourceMappingURL=daemonSessionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemonSessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/daemonSessionController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Landing page display for session start.
3
+ *
4
+ * This handler re-exports the centralized landing page message from \@/ui/messages.
5
+ * All message formatting is now centralized in the UI layer.
6
+ */
7
+ export { landingPage, type LandingPageOptions } from '../../ui/messages/session.js';
8
+ //# sourceMappingURL=landingPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landingPage.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/landingPage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Landing page display for session start.
3
+ *
4
+ * This handler re-exports the centralized landing page message from \@/ui/messages.
5
+ * All message formatting is now centralized in the UI layer.
6
+ */
7
+ export { landingPage } from '../../ui/messages/session.js';
8
+ //# sourceMappingURL=landingPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../../src/commands/shared/landingPage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAA2B,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Aggressively cleanup stale Chrome processes launched by bdg.
3
+ *
4
+ * This function kills Chrome instances that were launched by bdg by:
5
+ * 1. Reading the Chrome PID from persistent cache (~/.bdg/chrome.pid)
6
+ * 2. Killing that specific Chrome process using cross-platform kill logic
7
+ *
8
+ * The cache survives session cleanup, so this works even after a normal session end.
9
+ *
10
+ * Cross-platform killing:
11
+ * - Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
12
+ * - Unix/macOS: Uses `process.kill(-pid, 'SIGKILL')` to kill process group
13
+ *
14
+ * Note: We can't use chromeLauncher.killAll() because it only tracks instances
15
+ * created via chromeLauncher.launch(), but we use new chromeLauncher.Launcher()
16
+ * which doesn't register in that tracking set.
17
+ *
18
+ * @returns Number of errors encountered during cleanup
19
+ */
20
+ export declare function cleanupStaleChrome(): Promise<number>;
21
+ //# sourceMappingURL=sessionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionController.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/sessionController.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAuC1D"}
@@ -0,0 +1,55 @@
1
+ import { getErrorMessage } from '../../utils/errors.js';
2
+ /**
3
+ * Aggressively cleanup stale Chrome processes launched by bdg.
4
+ *
5
+ * This function kills Chrome instances that were launched by bdg by:
6
+ * 1. Reading the Chrome PID from persistent cache (~/.bdg/chrome.pid)
7
+ * 2. Killing that specific Chrome process using cross-platform kill logic
8
+ *
9
+ * The cache survives session cleanup, so this works even after a normal session end.
10
+ *
11
+ * Cross-platform killing:
12
+ * - Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
13
+ * - Unix/macOS: Uses `process.kill(-pid, 'SIGKILL')` to kill process group
14
+ *
15
+ * Note: We can't use chromeLauncher.killAll() because it only tracks instances
16
+ * created via chromeLauncher.launch(), but we use new chromeLauncher.Launcher()
17
+ * which doesn't register in that tracking set.
18
+ *
19
+ * @returns Number of errors encountered during cleanup
20
+ */
21
+ export async function cleanupStaleChrome() {
22
+ console.error('\nAttempting to kill stale Chrome processes...');
23
+ try {
24
+ // Import session utilities (dynamic import for ES modules)
25
+ const { readChromePid, clearChromePid } = await import('../../session/chrome.js');
26
+ const { killChromeProcess } = await import('../../session/process.js');
27
+ // Read Chrome PID from persistent cache
28
+ const chromePid = readChromePid();
29
+ if (!chromePid) {
30
+ console.error('Warning: No Chrome PID found in cache');
31
+ console.error(' Either Chrome was already running, or no Chrome was launched by bdg\n');
32
+ return 0;
33
+ }
34
+ // Kill Chrome process (cross-platform)
35
+ console.error(`Killing Chrome process (PID: ${chromePid})...`);
36
+ try {
37
+ // Use SIGKILL for aggressive cleanup (force kill)
38
+ killChromeProcess(chromePid, 'SIGKILL');
39
+ console.error('Chrome process killed successfully');
40
+ // Clear the cache after successful kill
41
+ clearChromePid();
42
+ return 0;
43
+ }
44
+ catch (killError) {
45
+ console.error(`Error: Failed to kill Chrome process: ${getErrorMessage(killError)}`);
46
+ console.error(' Try manually killing Chrome processes if issues persist\n');
47
+ return 1;
48
+ }
49
+ }
50
+ catch (error) {
51
+ console.error(`Error: Failed to cleanup Chrome processes: ${getErrorMessage(error)}\n`);
52
+ return 1;
53
+ }
54
+ }
55
+ //# sourceMappingURL=sessionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionController.js","sourceRoot":"","sources":["../../../src/commands/shared/sessionController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEhE,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,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC1F,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,MAAM,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,kDAAkD;YAClD,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAExC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAEpD,wCAAwC;YACxC,cAAc,EAAE,CAAC;YAEjB,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,yCAAyC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register the start command
4
+ *
5
+ * @param program - Commander.js Command instance to register command on
6
+ * @returns void
7
+ */
8
+ export declare function registerStartCommands(program: Command): void;
9
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,85 @@
1
+ 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 { startCommandHelpMessage } from '../ui/messages/commands.js';
4
+ import { invalidIntegerError } from '../ui/messages/validation.js';
5
+ /**
6
+ * Apply shared telemetry options to a command
7
+ *
8
+ * @param command - Commander.js Command instance to apply options to
9
+ * @returns The modified Command instance with all telemetry options applied
10
+ */
11
+ function applyCollectorOptions(command) {
12
+ return command
13
+ .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');
19
+ }
20
+ /**
21
+ * Parse a string to integer, returning undefined if not provided
22
+ * @param value - Optional string value to parse
23
+ * @param fieldName - Name of the field being parsed (for error messages)
24
+ * @returns Parsed integer or undefined if value was not provided
25
+ * @throws Error if value is provided but not a valid integer
26
+ */
27
+ function parseOptionalInt(value, fieldName) {
28
+ if (value === undefined) {
29
+ return undefined;
30
+ }
31
+ const parsed = parseInt(value, 10);
32
+ if (isNaN(parsed)) {
33
+ throw new Error(invalidIntegerError(fieldName, value));
34
+ }
35
+ return parsed;
36
+ }
37
+ /**
38
+ * Transform CLI options into session options
39
+ *
40
+ * @param options - Parsed command-line options from Commander
41
+ * @returns Session options object with parsed and normalized values
42
+ */
43
+ function buildSessionOptions(options) {
44
+ const maxBodySizeMB = parseOptionalInt(options.maxBodySize, 'max-body-size');
45
+ return {
46
+ port: parseInt(options.port, 10),
47
+ timeout: parseOptionalInt(options.timeout, 'timeout'),
48
+ userDataDir: options.userDataDir,
49
+ includeAll: options.all ?? false,
50
+ maxBodySize: maxBodySizeMB !== undefined ? maxBodySizeMB * 1024 * 1024 : undefined,
51
+ compact: options.compact ?? false,
52
+ };
53
+ }
54
+ /**
55
+ * Common action handler for telemetry commands
56
+ *
57
+ * @param url - Target URL to collect telemetry from
58
+ * @param options - Parsed command-line options from Commander
59
+ * @returns Promise that resolves when session completes or is stopped
60
+ */
61
+ async function collectorAction(url, options) {
62
+ const sessionOptions = buildSessionOptions(options);
63
+ // Always collect all 3 types (dom, network, console)
64
+ const telemetry = ['dom', 'network', 'console'];
65
+ // Dispatch to daemon via IPC instead of running in-process
66
+ await startSessionViaDaemon(url, sessionOptions, telemetry);
67
+ }
68
+ /**
69
+ * Register the start command
70
+ *
71
+ * @param program - Commander.js Command instance to register command on
72
+ * @returns void
73
+ */
74
+ export function registerStartCommands(program) {
75
+ // Default command: always collects all 3 types (dom, network, console)
76
+ applyCollectorOptions(program.argument('[url]', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
77
+ // Show friendly help if no URL provided
78
+ if (!url) {
79
+ console.error(startCommandHelpMessage());
80
+ process.exit(0);
81
+ }
82
+ await collectorAction(url, options);
83
+ });
84
+ }
85
+ //# sourceMappingURL=start.js.map
@@ -0,0 +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,9 +1,9 @@
1
1
  import type { Command } from 'commander';
2
2
  /**
3
- * Register query command
3
+ * Register status command
4
4
  *
5
5
  * @param program - Commander.js Command instance to register commands on
6
6
  * @returns void
7
7
  */
8
- export declare function registerQueryCommand(program: Command): void;
9
- //# sourceMappingURL=query.d.ts.map
8
+ export declare function registerStatusCommand(program: Command): void;
9
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +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;AAyBzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoF5D"}
@@ -0,0 +1,87 @@
1
+ import { getStatus } from '../ipc/client.js';
2
+ import { cleanupStaleDaemonPid } from '../session/cleanup.js';
3
+ import { formatSessionStatus, formatStatusAsJson, formatNoSessionMessage, } from '../ui/formatters/status.js';
4
+ import { daemonNotRunningWithCleanup } from '../ui/messages/commands.js';
5
+ import { getErrorMessage } from '../utils/errors.js';
6
+ import { EXIT_CODES } from '../utils/exitCodes.js';
7
+ import { VERSION } from '../utils/version.js';
8
+ /**
9
+ * Register status command
10
+ *
11
+ * @param program - Commander.js Command instance to register commands on
12
+ * @returns void
13
+ */
14
+ export function registerStatusCommand(program) {
15
+ program
16
+ .command('status')
17
+ .description('Show active session status and collection statistics')
18
+ .option('-j, --json', 'Output as JSON')
19
+ .option('-v, --verbose', 'Show detailed Chrome diagnostics')
20
+ .action(async (options) => {
21
+ try {
22
+ // Request status from daemon via IPC
23
+ const response = await getStatus();
24
+ // Handle IPC error response
25
+ if (response.status === 'error') {
26
+ console.error(`Daemon error: ${response.error ?? 'Unknown error'}`);
27
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
28
+ }
29
+ // Extract data from response
30
+ const { data } = response;
31
+ if (!data) {
32
+ console.error('Invalid response from daemon: missing data');
33
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
34
+ }
35
+ // Check if there's an active session
36
+ if (!data.sessionPid || !data.sessionMetadata) {
37
+ if (options.json) {
38
+ console.log(JSON.stringify({ version: VERSION, active: false }, null, 2));
39
+ }
40
+ else {
41
+ console.error(formatNoSessionMessage());
42
+ }
43
+ process.exit(EXIT_CODES.SUCCESS);
44
+ }
45
+ // Convert IPC metadata to SessionMetadata format
46
+ const metadata = {
47
+ bdgPid: data.sessionMetadata.bdgPid,
48
+ chromePid: data.sessionMetadata.chromePid,
49
+ startTime: data.sessionMetadata.startTime,
50
+ port: data.sessionMetadata.port,
51
+ targetId: data.sessionMetadata.targetId,
52
+ webSocketDebuggerUrl: data.sessionMetadata.webSocketDebuggerUrl,
53
+ activeTelemetry: data.sessionMetadata.activeTelemetry,
54
+ };
55
+ if (options.json) {
56
+ // JSON output - include activity and page state
57
+ const jsonOutput = formatStatusAsJson(metadata, data.sessionPid);
58
+ // Merge in activity data if available
59
+ if (data.activity) {
60
+ jsonOutput.activity = data.activity;
61
+ }
62
+ if (data.pageState) {
63
+ jsonOutput.pageState = data.pageState;
64
+ }
65
+ console.log(JSON.stringify(jsonOutput, null, 2));
66
+ }
67
+ else {
68
+ // Human-readable output - pass activity and page state
69
+ console.log(formatSessionStatus(metadata, data.sessionPid, data.activity, data.pageState, options.verbose ?? false));
70
+ }
71
+ process.exit(EXIT_CODES.SUCCESS);
72
+ }
73
+ catch (error) {
74
+ // Handle connection errors (daemon not running)
75
+ const errorMessage = getErrorMessage(error);
76
+ if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
77
+ // P0 Fix #2: Auto-cleanup stale daemon PID if it exists
78
+ const cleaned = cleanupStaleDaemonPid();
79
+ console.error(daemonNotRunningWithCleanup(cleaned));
80
+ process.exit(EXIT_CODES.RESOURCE_NOT_FOUND);
81
+ }
82
+ console.error(`Error checking status: ${errorMessage}`);
83
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
84
+ }
85
+ });
86
+ }
87
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register stop command
4
+ *
5
+ * @param program - Commander.js Command instance to register commands on
6
+ */
7
+ export declare function registerStopCommand(program: Command): void;
8
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +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;AAqFzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8F1D"}