browser-debugger-cli 0.1.0-alpha.1 → 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 (421) hide show
  1. package/README.md +58 -68
  2. package/dist/__testfixtures__/cdpMessages.d.ts +1 -1
  3. package/dist/__testfixtures__/connectionTargets.d.ts +1 -1
  4. package/dist/__testutils__/assertions.d.ts +1 -1
  5. package/dist/__testutils__/testFixtures.d.ts +1 -1
  6. package/dist/cli/commands/cdp.js +1 -1
  7. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  8. package/dist/cli/commands/cleanup.js +12 -13
  9. package/dist/cli/commands/cleanup.js.map +1 -1
  10. package/dist/cli/commands/console.js +2 -2
  11. package/dist/cli/commands/details.js +3 -3
  12. package/dist/cli/commands/details.js.map +1 -1
  13. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -1
  14. package/dist/cli/commands/dom/helpers/errorHandler.js +4 -3
  15. package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -1
  16. package/dist/cli/commands/dom/index.js +1 -1
  17. package/dist/cli/commands/dom.d.ts.map +1 -0
  18. package/dist/cli/commands/dom.js +257 -0
  19. package/dist/cli/commands/dom.js.map +1 -0
  20. package/dist/cli/commands/domErrorHandler.d.ts +45 -0
  21. package/dist/cli/commands/domErrorHandler.d.ts.map +1 -0
  22. package/dist/cli/commands/domErrorHandler.js +71 -0
  23. package/dist/cli/commands/domErrorHandler.js.map +1 -0
  24. package/dist/cli/commands/domEvalHelpers.d.ts +52 -0
  25. package/dist/cli/commands/domEvalHelpers.d.ts.map +1 -0
  26. package/dist/cli/commands/domEvalHelpers.js +76 -0
  27. package/dist/cli/commands/domEvalHelpers.js.map +1 -0
  28. package/dist/cli/commands/domOptionsBuilder.d.ts +35 -0
  29. package/dist/cli/commands/domOptionsBuilder.d.ts.map +1 -0
  30. package/dist/cli/commands/domOptionsBuilder.js +51 -0
  31. package/dist/cli/commands/domOptionsBuilder.js.map +1 -0
  32. package/dist/cli/{collectors/helpers/selectorParser.d.ts → commands/domSelectorParser.d.ts} +1 -1
  33. package/dist/cli/commands/domSelectorParser.d.ts.map +1 -0
  34. package/dist/cli/{collectors/helpers/selectorParser.js → commands/domSelectorParser.js} +1 -1
  35. package/dist/cli/commands/domSelectorParser.js.map +1 -0
  36. package/dist/cli/commands/network.d.ts.map +1 -1
  37. package/dist/cli/commands/network.js +8 -5
  38. package/dist/cli/commands/network.js.map +1 -1
  39. package/dist/cli/commands/peek.d.ts.map +1 -1
  40. package/dist/cli/commands/peek.js +7 -7
  41. package/dist/cli/commands/peek.js.map +1 -1
  42. package/dist/cli/commands/start.d.ts.map +1 -1
  43. package/dist/cli/commands/start.js +19 -2
  44. package/dist/cli/commands/start.js.map +1 -1
  45. package/dist/cli/commands/status.d.ts.map +1 -1
  46. package/dist/cli/commands/status.js +13 -10
  47. package/dist/cli/commands/status.js.map +1 -1
  48. package/dist/cli/commands/stop.d.ts.map +1 -1
  49. package/dist/cli/commands/stop.js +7 -6
  50. package/dist/cli/commands/stop.js.map +1 -1
  51. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  52. package/dist/cli/formatters/previewFormatter.d.ts +1 -1
  53. package/dist/cli/formatters/previewFormatter.js +1 -1
  54. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  55. package/dist/cli/formatters/statusFormatter.d.ts +6 -1
  56. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  57. package/dist/cli/formatters/statusFormatter.js +49 -4
  58. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  59. package/dist/cli/handlers/CommandRunner.d.ts.map +1 -1
  60. package/dist/cli/handlers/CommandRunner.js +5 -5
  61. package/dist/cli/handlers/CommandRunner.js.map +1 -1
  62. package/dist/cli/handlers/OutputBuilder.d.ts +1 -1
  63. package/dist/cli/handlers/daemonSessionController.d.ts +1 -1
  64. package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -1
  65. package/dist/cli/handlers/daemonSessionController.js +16 -45
  66. package/dist/cli/handlers/daemonSessionController.js.map +1 -1
  67. package/dist/cli/handlers/landingPage.d.ts +8 -0
  68. package/dist/cli/handlers/landingPage.d.ts.map +1 -0
  69. package/dist/cli/handlers/landingPage.js +8 -0
  70. package/dist/cli/handlers/landingPage.js.map +1 -0
  71. package/dist/cli/registry.js +10 -10
  72. package/dist/cli/registry.js.map +1 -1
  73. package/dist/collectors/__tests__/network.contract.test.js +25 -10
  74. package/dist/collectors/__tests__/network.contract.test.js.map +1 -1
  75. package/dist/collectors/console.d.ts +1 -1
  76. package/dist/collectors/console.js.map +1 -1
  77. package/dist/collectors/dom.d.ts +1 -1
  78. package/dist/collectors/network.d.ts +1 -1
  79. package/dist/collectors/network.js.map +1 -1
  80. package/dist/commandRegistry.d.ts +11 -0
  81. package/dist/commandRegistry.d.ts.map +1 -0
  82. package/dist/commandRegistry.js +45 -0
  83. package/dist/commandRegistry.js.map +1 -0
  84. package/dist/commands/__tests__/cdp.contract.test.d.ts +24 -0
  85. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
  86. package/dist/commands/__tests__/cdp.contract.test.js +467 -0
  87. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -0
  88. package/dist/commands/cdp.d.ts +8 -0
  89. package/dist/commands/cdp.d.ts.map +1 -0
  90. package/dist/commands/cdp.js +45 -0
  91. package/dist/commands/cdp.js.map +1 -0
  92. package/dist/commands/cleanup.d.ts +8 -0
  93. package/dist/commands/cleanup.d.ts.map +1 -0
  94. package/dist/commands/cleanup.js +129 -0
  95. package/dist/commands/cleanup.js.map +1 -0
  96. package/dist/commands/console.d.ts +8 -0
  97. package/dist/commands/console.d.ts.map +1 -0
  98. package/dist/commands/console.js +92 -0
  99. package/dist/commands/console.js.map +1 -0
  100. package/dist/commands/details.d.ts +8 -0
  101. package/dist/commands/details.d.ts.map +1 -0
  102. package/dist/commands/details.js +68 -0
  103. package/dist/commands/details.js.map +1 -0
  104. package/dist/commands/dom.d.ts +8 -0
  105. package/dist/commands/dom.d.ts.map +1 -0
  106. package/dist/commands/dom.js +257 -0
  107. package/dist/commands/dom.js.map +1 -0
  108. package/dist/commands/domErrorHandler.d.ts +45 -0
  109. package/dist/commands/domErrorHandler.d.ts.map +1 -0
  110. package/dist/commands/domErrorHandler.js +71 -0
  111. package/dist/commands/domErrorHandler.js.map +1 -0
  112. package/dist/commands/domEvalHelpers.d.ts +52 -0
  113. package/dist/commands/domEvalHelpers.d.ts.map +1 -0
  114. package/dist/commands/domEvalHelpers.js +76 -0
  115. package/dist/commands/domEvalHelpers.js.map +1 -0
  116. package/dist/commands/domOptionsBuilder.d.ts +35 -0
  117. package/dist/commands/domOptionsBuilder.d.ts.map +1 -0
  118. package/dist/commands/domOptionsBuilder.js +51 -0
  119. package/dist/commands/domOptionsBuilder.js.map +1 -0
  120. package/dist/commands/domSelectorParser.d.ts +20 -0
  121. package/dist/commands/domSelectorParser.d.ts.map +1 -0
  122. package/dist/commands/domSelectorParser.js +20 -0
  123. package/dist/commands/domSelectorParser.js.map +1 -0
  124. package/dist/commands/network.d.ts +8 -0
  125. package/dist/commands/network.d.ts.map +1 -0
  126. package/dist/commands/network.js +43 -0
  127. package/dist/commands/network.js.map +1 -0
  128. package/dist/commands/peek.d.ts +8 -0
  129. package/dist/commands/peek.d.ts.map +1 -0
  130. package/dist/commands/peek.js +114 -0
  131. package/dist/commands/peek.js.map +1 -0
  132. package/dist/commands/shared/CommandRunner.d.ts +60 -0
  133. package/dist/commands/shared/CommandRunner.d.ts.map +1 -0
  134. package/dist/commands/shared/CommandRunner.js +81 -0
  135. package/dist/commands/shared/CommandRunner.js.map +1 -0
  136. package/dist/commands/shared/OutputBuilder.d.ts +60 -0
  137. package/dist/commands/shared/OutputBuilder.d.ts.map +1 -0
  138. package/dist/commands/shared/OutputBuilder.js +138 -0
  139. package/dist/commands/shared/OutputBuilder.js.map +1 -0
  140. package/dist/commands/shared/commonOptions.d.ts +54 -0
  141. package/dist/commands/shared/commonOptions.d.ts.map +1 -0
  142. package/dist/commands/shared/commonOptions.js +64 -0
  143. package/dist/commands/shared/commonOptions.js.map +1 -0
  144. package/dist/commands/shared/daemonSessionController.d.ts +23 -0
  145. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -0
  146. package/dist/commands/shared/daemonSessionController.js +79 -0
  147. package/dist/commands/shared/daemonSessionController.js.map +1 -0
  148. package/dist/commands/shared/landingPage.d.ts +8 -0
  149. package/dist/commands/shared/landingPage.d.ts.map +1 -0
  150. package/dist/commands/shared/landingPage.js +8 -0
  151. package/dist/commands/shared/landingPage.js.map +1 -0
  152. package/dist/commands/shared/sessionController.d.ts +21 -0
  153. package/dist/commands/shared/sessionController.d.ts.map +1 -0
  154. package/dist/commands/shared/sessionController.js +55 -0
  155. package/dist/commands/shared/sessionController.js.map +1 -0
  156. package/dist/commands/start.d.ts +9 -0
  157. package/dist/commands/start.d.ts.map +1 -0
  158. package/dist/commands/start.js +85 -0
  159. package/dist/commands/start.js.map +1 -0
  160. package/dist/{cli/commands/query.d.ts → commands/status.d.ts} +3 -3
  161. package/dist/commands/status.d.ts.map +1 -0
  162. package/dist/commands/status.js +87 -0
  163. package/dist/commands/status.js.map +1 -0
  164. package/dist/commands/stop.d.ts +8 -0
  165. package/dist/commands/stop.d.ts.map +1 -0
  166. package/dist/commands/stop.js +150 -0
  167. package/dist/commands/stop.js.map +1 -0
  168. package/dist/commands.d.ts +11 -0
  169. package/dist/commands.d.ts.map +1 -0
  170. package/dist/commands.js +45 -0
  171. package/dist/commands.js.map +1 -0
  172. package/dist/connection/__tests__/cdp.contract.test.js +1 -1
  173. package/dist/connection/__tests__/finder.contract.test.js +1 -1
  174. package/dist/connection/__tests__/finder.contract.test.js.map +1 -1
  175. package/dist/connection/cdp.d.ts +1 -1
  176. package/dist/connection/cdp.js.map +1 -1
  177. package/dist/connection/domOperations.d.ts +48 -0
  178. package/dist/connection/domOperations.d.ts.map +1 -0
  179. package/dist/connection/domOperations.js +104 -0
  180. package/dist/connection/domOperations.js.map +1 -0
  181. package/dist/connection/finder.js.map +1 -1
  182. package/dist/connection/launcher.d.ts +7 -3
  183. package/dist/connection/launcher.d.ts.map +1 -1
  184. package/dist/connection/launcher.js +72 -21
  185. package/dist/connection/launcher.js.map +1 -1
  186. package/dist/constants.d.ts +17 -0
  187. package/dist/constants.d.ts.map +1 -1
  188. package/dist/constants.js +28 -0
  189. package/dist/constants.js.map +1 -1
  190. package/dist/daemon/__tests__/ipcServer.contract.test.js +25 -11
  191. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  192. package/dist/daemon/ipcServer.d.ts.map +1 -1
  193. package/dist/daemon/ipcServer.js +86 -6
  194. package/dist/daemon/ipcServer.js.map +1 -1
  195. package/dist/daemon/launcher.d.ts.map +1 -1
  196. package/dist/daemon/launcher.js +8 -6
  197. package/dist/daemon/launcher.js.map +1 -1
  198. package/dist/daemon/startSession.d.ts +2 -2
  199. package/dist/daemon/startSession.d.ts.map +1 -1
  200. package/dist/daemon/startSession.js +12 -11
  201. package/dist/daemon/startSession.js.map +1 -1
  202. package/dist/daemon/worker.d.ts +1 -1
  203. package/dist/daemon/worker.js +97 -41
  204. package/dist/daemon/worker.js.map +1 -1
  205. package/dist/{cli/collectors/helpers/domCache.d.ts → dom/cache.d.ts} +1 -5
  206. package/dist/dom/cache.d.ts.map +1 -0
  207. package/dist/{cli/collectors/helpers/domCache.js → dom/cache.js} +5 -19
  208. package/dist/dom/cache.js.map +1 -0
  209. package/dist/dom/index.d.ts +9 -0
  210. package/dist/dom/index.d.ts.map +1 -0
  211. package/dist/dom/index.js +9 -0
  212. package/dist/dom/index.js.map +1 -0
  213. package/dist/{cli/collectors/helpers/domQuery.d.ts → dom/query.d.ts} +5 -2
  214. package/dist/dom/query.d.ts.map +1 -0
  215. package/dist/{cli/collectors/helpers/domQuery.js → dom/query.js} +11 -7
  216. package/dist/dom/query.js.map +1 -0
  217. package/dist/index.js +117 -35
  218. package/dist/index.js.map +1 -1
  219. package/dist/ipc/__tests__/client.contract.test.js +11 -1
  220. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  221. package/dist/ipc/client.d.ts +4 -4
  222. package/dist/ipc/client.d.ts.map +1 -1
  223. package/dist/ipc/client.js +10 -6
  224. package/dist/ipc/client.js.map +1 -1
  225. package/dist/ipc/commands.d.ts +33 -1
  226. package/dist/ipc/commands.d.ts.map +1 -1
  227. package/dist/ipc/commands.js +4 -0
  228. package/dist/ipc/commands.js.map +1 -1
  229. package/dist/ipc/types.d.ts +34 -3
  230. package/dist/ipc/types.d.ts.map +1 -1
  231. package/dist/ipc/types.js.map +1 -1
  232. package/dist/session/metadata.d.ts +2 -2
  233. package/dist/session/metadata.d.ts.map +1 -1
  234. package/dist/session/output.d.ts +1 -1
  235. package/dist/session/process.d.ts.map +1 -1
  236. package/dist/session/process.js +4 -3
  237. package/dist/session/process.js.map +1 -1
  238. package/dist/session/queryCache.d.ts +36 -0
  239. package/dist/session/queryCache.d.ts.map +1 -0
  240. package/dist/session/queryCache.js +66 -0
  241. package/dist/session/queryCache.js.map +1 -0
  242. package/dist/telemetry/__tests__/network.contract.test.d.ts +28 -0
  243. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -0
  244. package/dist/telemetry/__tests__/network.contract.test.js +540 -0
  245. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -0
  246. package/dist/telemetry/console.d.ts +19 -0
  247. package/dist/telemetry/console.d.ts.map +1 -0
  248. package/dist/telemetry/console.js +87 -0
  249. package/dist/telemetry/console.js.map +1 -0
  250. package/dist/telemetry/dom.d.ts +21 -0
  251. package/dist/telemetry/dom.d.ts.map +1 -0
  252. package/dist/telemetry/dom.js +99 -0
  253. package/dist/telemetry/dom.js.map +1 -0
  254. package/dist/telemetry/network.d.ts +33 -0
  255. package/dist/telemetry/network.d.ts.map +1 -0
  256. package/dist/telemetry/network.js +191 -0
  257. package/dist/telemetry/network.js.map +1 -0
  258. package/dist/types.d.ts +1 -1
  259. package/dist/ui/formatters/cookies.d.ts +32 -0
  260. package/dist/ui/formatters/cookies.d.ts.map +1 -0
  261. package/dist/ui/formatters/cookies.js +48 -0
  262. package/dist/ui/formatters/cookies.js.map +1 -0
  263. package/dist/ui/formatters/details.d.ts +10 -0
  264. package/dist/ui/formatters/details.d.ts.map +1 -0
  265. package/dist/ui/formatters/details.js +63 -0
  266. package/dist/ui/formatters/details.js.map +1 -0
  267. package/dist/ui/formatters/index.d.ts +10 -0
  268. package/dist/ui/formatters/index.d.ts.map +1 -0
  269. package/dist/ui/formatters/index.js +10 -0
  270. package/dist/ui/formatters/index.js.map +1 -0
  271. package/dist/ui/formatters/preview.d.ts +25 -0
  272. package/dist/ui/formatters/preview.d.ts.map +1 -0
  273. package/dist/ui/formatters/preview.js +177 -0
  274. package/dist/ui/formatters/preview.js.map +1 -0
  275. package/dist/ui/formatters/status.d.ts +39 -0
  276. package/dist/ui/formatters/status.d.ts.map +1 -0
  277. package/dist/ui/formatters/status.js +153 -0
  278. package/dist/ui/formatters/status.js.map +1 -0
  279. package/dist/ui/formatting.d.ts +197 -0
  280. package/dist/ui/formatting.d.ts.map +1 -0
  281. package/dist/ui/formatting.js +318 -0
  282. package/dist/ui/formatting.js.map +1 -0
  283. package/dist/ui/messages/chrome.d.ts +102 -0
  284. package/dist/ui/messages/chrome.d.ts.map +1 -0
  285. package/dist/ui/messages/chrome.js +162 -0
  286. package/dist/ui/messages/chrome.js.map +1 -0
  287. package/dist/ui/messages/commands.d.ts +88 -0
  288. package/dist/ui/messages/commands.d.ts.map +1 -0
  289. package/dist/ui/messages/commands.js +150 -0
  290. package/dist/ui/messages/commands.js.map +1 -0
  291. package/dist/ui/messages/consoleMessages.d.ts +39 -0
  292. package/dist/ui/messages/consoleMessages.d.ts.map +1 -0
  293. package/dist/ui/messages/consoleMessages.js +48 -0
  294. package/dist/ui/messages/consoleMessages.js.map +1 -0
  295. package/dist/ui/messages/debug.d.ts +180 -0
  296. package/dist/ui/messages/debug.d.ts.map +1 -0
  297. package/dist/ui/messages/debug.js +241 -0
  298. package/dist/ui/messages/debug.js.map +1 -0
  299. package/dist/ui/messages/errors.d.ts +80 -0
  300. package/dist/ui/messages/errors.d.ts.map +1 -0
  301. package/dist/ui/messages/errors.js +122 -0
  302. package/dist/ui/messages/errors.js.map +1 -0
  303. package/dist/ui/messages/index.d.ts +12 -0
  304. package/dist/ui/messages/index.d.ts.map +1 -0
  305. package/dist/ui/messages/index.js +12 -0
  306. package/dist/ui/messages/index.js.map +1 -0
  307. package/dist/ui/messages/internal.d.ts +30 -0
  308. package/dist/ui/messages/internal.d.ts.map +1 -0
  309. package/dist/ui/messages/internal.js +42 -0
  310. package/dist/ui/messages/internal.js.map +1 -0
  311. package/dist/ui/messages/preview.d.ts +27 -0
  312. package/dist/ui/messages/preview.d.ts.map +1 -0
  313. package/dist/ui/messages/preview.js +45 -0
  314. package/dist/ui/messages/preview.js.map +1 -0
  315. package/dist/ui/messages/session.d.ts +54 -0
  316. package/dist/ui/messages/session.d.ts.map +1 -0
  317. package/dist/ui/messages/session.js +77 -0
  318. package/dist/ui/messages/session.js.map +1 -0
  319. package/dist/ui/messages/validation.d.ts +20 -0
  320. package/dist/ui/messages/validation.d.ts.map +1 -0
  321. package/dist/ui/messages/validation.js +22 -0
  322. package/dist/ui/messages/validation.js.map +1 -0
  323. package/dist/utils/__tests__/filters.unit.test.js +1 -1
  324. package/dist/utils/cdpHandlers.d.ts +1 -1
  325. package/dist/utils/cdpHandlers.js +1 -1
  326. package/dist/utils/chromeDiagnostics.d.ts +0 -12
  327. package/dist/utils/chromeDiagnostics.d.ts.map +1 -1
  328. package/dist/utils/chromeDiagnostics.js +0 -51
  329. package/dist/utils/chromeDiagnostics.js.map +1 -1
  330. package/dist/utils/http.d.ts +1 -1
  331. package/dist/utils/http.js.map +1 -1
  332. package/dist/utils/logger.d.ts +68 -12
  333. package/dist/utils/logger.d.ts.map +1 -1
  334. package/dist/utils/logger.js +62 -12
  335. package/dist/utils/logger.js.map +1 -1
  336. package/dist/utils/pageReadiness.d.ts +51 -0
  337. package/dist/utils/pageReadiness.d.ts.map +1 -0
  338. package/dist/utils/pageReadiness.js +271 -0
  339. package/dist/utils/pageReadiness.js.map +1 -0
  340. package/dist/utils/ui.d.ts +36 -0
  341. package/dist/utils/ui.d.ts.map +1 -0
  342. package/dist/utils/ui.js +47 -0
  343. package/dist/utils/ui.js.map +1 -0
  344. package/dist/utils/url.d.ts +6 -24
  345. package/dist/utils/url.d.ts.map +1 -1
  346. package/dist/utils/url.js +6 -67
  347. package/dist/utils/url.js.map +1 -1
  348. package/package.json +2 -2
  349. package/dist/cli/collectors/dom.d.ts.map +0 -1
  350. package/dist/cli/collectors/dom.js +0 -361
  351. package/dist/cli/collectors/dom.js.map +0 -1
  352. package/dist/cli/collectors/helpers/domCache.d.ts.map +0 -1
  353. package/dist/cli/collectors/helpers/domCache.js.map +0 -1
  354. package/dist/cli/collectors/helpers/domQuery.d.ts.map +0 -1
  355. package/dist/cli/collectors/helpers/domQuery.js.map +0 -1
  356. package/dist/cli/collectors/helpers/selectorParser.d.ts.map +0 -1
  357. package/dist/cli/collectors/helpers/selectorParser.js.map +0 -1
  358. package/dist/cli/commands/__tests__/ipcTest.test.d.ts +0 -2
  359. package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +0 -1
  360. package/dist/cli/commands/__tests__/ipcTest.test.js +0 -37
  361. package/dist/cli/commands/__tests__/ipcTest.test.js.map +0 -1
  362. package/dist/cli/commands/ipcTest.d.ts +0 -23
  363. package/dist/cli/commands/ipcTest.d.ts.map +0 -1
  364. package/dist/cli/commands/ipcTest.js +0 -181
  365. package/dist/cli/commands/ipcTest.js.map +0 -1
  366. package/dist/cli/commands/query.d.ts.map +0 -1
  367. package/dist/cli/commands/query.js +0 -127
  368. package/dist/cli/commands/query.js.map +0 -1
  369. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  370. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  371. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  372. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  373. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  374. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  375. package/dist/cli/handlers/OutputWriter.js +0 -34
  376. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  377. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  378. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  379. package/dist/cli/handlers/PreviewWriter.js +0 -119
  380. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  381. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  382. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  383. package/dist/cli/handlers/SessionLock.js +0 -38
  384. package/dist/cli/handlers/SessionLock.js.map +0 -1
  385. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  386. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  387. package/dist/cli/handlers/SessionLoop.js +0 -47
  388. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  389. package/dist/cli/handlers/ShutdownController.d.ts +0 -38
  390. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  391. package/dist/cli/handlers/ShutdownController.js +0 -83
  392. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  393. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  394. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  395. package/dist/cli/handlers/SignalHandler.js +0 -81
  396. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  397. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  398. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  399. package/dist/cli/handlers/TargetSetup.js +0 -87
  400. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  401. package/dist/connection/__tests__/tabs.contract.test.d.ts +0 -2
  402. package/dist/connection/__tests__/tabs.contract.test.d.ts.map +0 -1
  403. package/dist/connection/__tests__/tabs.contract.test.js +0 -137
  404. package/dist/connection/__tests__/tabs.contract.test.js.map +0 -1
  405. package/dist/connection/tabs.d.ts +0 -82
  406. package/dist/connection/tabs.d.ts.map +0 -1
  407. package/dist/connection/tabs.js +0 -577
  408. package/dist/connection/tabs.js.map +0 -1
  409. package/dist/session/BdgSession.d.ts +0 -129
  410. package/dist/session/BdgSession.d.ts.map +0 -1
  411. package/dist/session/BdgSession.js +0 -270
  412. package/dist/session/BdgSession.js.map +0 -1
  413. package/dist/session/index.d.ts +0 -15
  414. package/dist/session/index.d.ts.map +0 -1
  415. package/dist/session/index.js +0 -23
  416. package/dist/session/index.js.map +0 -1
  417. package/dist/utils/validation.d.ts +0 -12
  418. package/dist/utils/validation.d.ts.map +0 -1
  419. package/dist/utils/validation.js +0 -20
  420. package/dist/utils/validation.js.map +0 -1
  421. /package/dist/cli/{collectors → commands}/dom.d.ts +0 -0
@@ -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"}
@@ -0,0 +1,150 @@
1
+ import { runCommand } from '../commands/shared/CommandRunner.js';
2
+ import { jsonOption } from '../commands/shared/commonOptions.js';
3
+ import { stopSession } from '../ipc/client.js';
4
+ import { IPCErrorCode } from '../ipc/types.js';
5
+ import { clearChromePid } from '../session/chrome.js';
6
+ import { getSessionFilePath } from '../session/paths.js';
7
+ import { killChromeProcess } from '../session/process.js';
8
+ import { chromeKilledMessage, warningMessage } from '../ui/messages/commands.js';
9
+ import { sessionStopped, STOP_MESSAGES, stopFailedError } from '../ui/messages/session.js';
10
+ import { getErrorMessage } from '../utils/errors.js';
11
+ import { EXIT_CODES } from '../utils/exitCodes.js';
12
+ /**
13
+ * Format stop result for human-readable output.
14
+ *
15
+ * @param data - Stop result data
16
+ */
17
+ function formatStop(data) {
18
+ if (data.stopped.bdg) {
19
+ const outputPath = getSessionFilePath('OUTPUT');
20
+ console.error(sessionStopped(outputPath));
21
+ }
22
+ if (data.stopped.chrome) {
23
+ console.error(chromeKilledMessage());
24
+ }
25
+ if (data.warnings && data.warnings.length > 0) {
26
+ data.warnings.forEach((warning) => {
27
+ console.error(warningMessage(warning));
28
+ });
29
+ }
30
+ }
31
+ /**
32
+ * Map daemon error codes to appropriate exit codes.
33
+ *
34
+ * @param errorCode - IPC error code from daemon response
35
+ * @returns Semantic exit code
36
+ */
37
+ function getExitCodeForDaemonError(errorCode) {
38
+ switch (errorCode) {
39
+ case IPCErrorCode.NO_SESSION:
40
+ return EXIT_CODES.RESOURCE_NOT_FOUND;
41
+ case IPCErrorCode.SESSION_KILL_FAILED:
42
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
43
+ case IPCErrorCode.DAEMON_ERROR:
44
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
45
+ case IPCErrorCode.SESSION_ALREADY_RUNNING:
46
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
47
+ case IPCErrorCode.WORKER_START_FAILED:
48
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
49
+ case IPCErrorCode.CHROME_LAUNCH_FAILED:
50
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
51
+ case IPCErrorCode.CDP_TIMEOUT:
52
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
53
+ case undefined:
54
+ return EXIT_CODES.UNHANDLED_EXCEPTION;
55
+ }
56
+ }
57
+ /**
58
+ * Register stop command
59
+ *
60
+ * @param program - Commander.js Command instance to register commands on
61
+ */
62
+ export function registerStopCommand(program) {
63
+ program
64
+ .command('stop')
65
+ .description('Stop all active sessions and free ports (does not capture output)')
66
+ .option('--kill-chrome', 'Also kill Chrome browser')
67
+ .addOption(jsonOption)
68
+ .action(async (options) => {
69
+ await runCommand(async (opts) => {
70
+ try {
71
+ // Try to stop session via IPC (daemon)
72
+ const response = await stopSession();
73
+ if (response.status === 'ok') {
74
+ // Session stopped successfully via daemon
75
+ let chromeStopped = false;
76
+ const warnings = [];
77
+ // Handle Chrome if requested (daemon captured Chrome PID before cleanup)
78
+ if (opts.killChrome) {
79
+ const chromePid = response.chromePid;
80
+ if (chromePid) {
81
+ try {
82
+ killChromeProcess(chromePid, 'SIGTERM');
83
+ chromeStopped = true;
84
+ console.error(chromeKilledMessage(chromePid));
85
+ clearChromePid();
86
+ }
87
+ catch (chromeError) {
88
+ const errorMessage = chromeError instanceof Error ? chromeError.message : String(chromeError);
89
+ warnings.push(`Could not kill Chrome: ${errorMessage}`);
90
+ }
91
+ }
92
+ else {
93
+ warnings.push('Chrome PID not found (Chrome was not launched by bdg)');
94
+ }
95
+ }
96
+ return {
97
+ success: true,
98
+ data: {
99
+ stopped: { bdg: true, chrome: chromeStopped },
100
+ message: response.message ?? STOP_MESSAGES.SUCCESS,
101
+ ...(warnings.length > 0 && { warnings }),
102
+ },
103
+ };
104
+ }
105
+ else {
106
+ // Daemon returned error
107
+ // Special case: NO_SESSION is not really an error - it's a success (desired state achieved)
108
+ if (response.errorCode === IPCErrorCode.NO_SESSION) {
109
+ return {
110
+ success: true,
111
+ data: {
112
+ stopped: { bdg: false, chrome: false },
113
+ message: response.message ?? STOP_MESSAGES.NO_SESSION,
114
+ },
115
+ };
116
+ }
117
+ // Other errors are actual failures
118
+ const exitCode = getExitCodeForDaemonError(response.errorCode);
119
+ return {
120
+ success: false,
121
+ error: response.message ?? STOP_MESSAGES.FAILED,
122
+ exitCode,
123
+ };
124
+ }
125
+ }
126
+ catch (error) {
127
+ // IPC transport failure (ENOENT, ECONNREFUSED, timeout, etc.)
128
+ const errorMessage = getErrorMessage(error);
129
+ // Check if it's a connection error (daemon not running)
130
+ if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
131
+ return {
132
+ success: false,
133
+ error: STOP_MESSAGES.DAEMON_NOT_RUNNING,
134
+ exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
135
+ errorContext: {
136
+ suggestion: 'Start a session first with: bdg <url>',
137
+ },
138
+ };
139
+ }
140
+ // Other errors (timeout, parse failures, etc.)
141
+ return {
142
+ success: false,
143
+ error: stopFailedError(errorMessage),
144
+ exitCode: EXIT_CODES.UNHANDLED_EXCEPTION,
145
+ };
146
+ }
147
+ }, options, formatStop);
148
+ });
149
+ }
150
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
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
+ * Command registration function type
4
+ */
5
+ export type CommandRegistrar = (program: Command) => void;
6
+ /**
7
+ * Registry of all CLI commands with grouping
8
+ * Order matters: groups organize commands in help output
9
+ */
10
+ export declare const commandRegistry: CommandRegistrar[];
11
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAW1D;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EA0B7C,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { registerCdpCommand } from './commands/cdp.js';
2
+ import { registerCleanupCommand } from './commands/cleanup.js';
3
+ import { registerConsoleCommand } from './commands/console.js';
4
+ import { registerDetailsCommand } from './commands/details.js';
5
+ import { registerDomCommands } from './commands/dom.js';
6
+ import { registerNetworkCommands } from './commands/network.js';
7
+ import { registerPeekCommand } from './commands/peek.js';
8
+ import { registerStartCommands } from './commands/start.js';
9
+ import { registerStatusCommand } from './commands/status.js';
10
+ import { registerStopCommand } from './commands/stop.js';
11
+ /**
12
+ * Helper to add a command group
13
+ */
14
+ const addCommandGroup = (groupName) => {
15
+ return (program) => {
16
+ program.commandsGroup(groupName);
17
+ };
18
+ };
19
+ /**
20
+ * Registry of all CLI commands with grouping
21
+ * Order matters: groups organize commands in help output
22
+ */
23
+ export const commandRegistry = [
24
+ registerStartCommands,
25
+ // Session Management Commands
26
+ addCommandGroup('Session Management:'),
27
+ registerStatusCommand,
28
+ registerStopCommand,
29
+ registerCleanupCommand,
30
+ // Data Inspection Commands
31
+ addCommandGroup('Data Inspection:'),
32
+ registerPeekCommand,
33
+ registerDetailsCommand,
34
+ registerDomCommands,
35
+ // CDP Commands
36
+ addCommandGroup('CDP Commands:'),
37
+ registerCdpCommand,
38
+ // Network Commands
39
+ addCommandGroup('Network Commands:'),
40
+ registerNetworkCommands,
41
+ // Console Commands
42
+ addCommandGroup('Console Commands:'),
43
+ registerConsoleCommand,
44
+ ];
45
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAoB,EAAE;IAC9D,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,qBAAqB;IAErB,8BAA8B;IAC9B,eAAe,CAAC,qBAAqB,CAAC;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IAEtB,2BAA2B;IAC3B,eAAe,CAAC,kBAAkB,CAAC;IACnC,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe;IACf,eAAe,CAAC,eAAe,CAAC;IAChC,kBAAkB;IAElB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,uBAAuB;IAEvB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,sBAAsB;CACvB,CAAC"}
@@ -18,7 +18,7 @@ import { afterEach, beforeEach, describe, it } from 'node:test';
18
18
  import { createResponse, createErrorResponse, createEvent, } from '../../__testfixtures__/cdpMessages.js';
19
19
  import { FakeWebSocket } from '../../__testutils__/FakeWebSocket.js';
20
20
  import { useFakeClock } from '../../__testutils__/testClock.js';
21
- import { CDPConnection } from '../cdp.js';
21
+ import { CDPConnection } from '../../connection/cdp.js';
22
22
  // Mock the 'ws' module to return our FakeWebSocket
23
23
  let mockWebSocket;
24
24
  describe('CDPConnection contract', () => {
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import { describe, it, beforeEach, afterEach } from 'node:test';
3
3
  import { createMockTarget, mockTargetList } from '../../__testfixtures__/connectionTargets.js';
4
- import { validateTarget } from '../finder.js';
4
+ import { validateTarget } from '../../connection/finder.js';
5
5
  import { DEFAULT_CDP_PORT } from '../../constants.js';
6
6
  // Mock fetch globally for HTTP endpoints
7
7
  let originalFetch;
@@ -1 +1 @@
1
- {"version":3,"file":"finder.contract.test.js","sourceRoot":"","sources":["../../../src/connection/__tests__/finder.contract.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finder.contract.test.js","sourceRoot":"","sources":["../../../src/connection/__tests__/finder.contract.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import WebSocket from 'ws';
2
- import type { ConnectionOptions } from '../types.js';
2
+ import type { ConnectionOptions } from '../types';
3
3
  /**
4
4
  * Chrome DevTools Protocol WebSocket connection manager.
5
5
  *