browser-debugger-cli 0.2.0 → 0.5.1

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 (554) hide show
  1. package/README.md +137 -126
  2. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +47 -0
  3. package/dist/__tests__/schema.contract.test.d.ts +19 -0
  4. package/dist/__tests__/schema.contract.test.d.ts.map +1 -0
  5. package/dist/__tests__/schema.contract.test.js +236 -0
  6. package/dist/__tests__/schema.contract.test.js.map +1 -0
  7. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +8 -0
  8. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +1 -0
  9. package/dist/__tests__/smoke/error-handling.smoke.test.js +106 -0
  10. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -0
  11. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +8 -0
  12. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +1 -0
  13. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +109 -0
  14. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -0
  15. package/dist/__testutils__/commandRunner.d.ts +45 -0
  16. package/dist/__testutils__/commandRunner.d.ts.map +1 -0
  17. package/dist/__testutils__/commandRunner.js +108 -0
  18. package/dist/__testutils__/commandRunner.js.map +1 -0
  19. package/dist/__testutils__/daemonHelpers.d.ts +81 -0
  20. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -0
  21. package/dist/__testutils__/daemonHelpers.js +206 -0
  22. package/dist/__testutils__/daemonHelpers.js.map +1 -0
  23. package/dist/__testutils__/index.d.ts +1 -0
  24. package/dist/__testutils__/index.d.ts.map +1 -1
  25. package/dist/__testutils__/index.js +1 -0
  26. package/dist/__testutils__/index.js.map +1 -1
  27. package/dist/__testutils__/testCleanup.d.ts +45 -0
  28. package/dist/__testutils__/testCleanup.d.ts.map +1 -0
  29. package/dist/__testutils__/testCleanup.js +87 -0
  30. package/dist/__testutils__/testCleanup.js.map +1 -0
  31. package/dist/__testutils__/testHome.d.ts +26 -0
  32. package/dist/__testutils__/testHome.d.ts.map +1 -0
  33. package/dist/__testutils__/testHome.js +57 -0
  34. package/dist/__testutils__/testHome.js.map +1 -0
  35. package/dist/__testutils__/testProcess.d.ts.map +1 -1
  36. package/dist/__testutils__/testProcess.js +11 -3
  37. package/dist/__testutils__/testProcess.js.map +1 -1
  38. package/dist/cli/commands/__tests__/start.unit.test.d.ts +2 -0
  39. package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +1 -0
  40. package/dist/cli/commands/__tests__/start.unit.test.js +131 -0
  41. package/dist/cli/commands/__tests__/start.unit.test.js.map +1 -0
  42. package/dist/cli/commands/cleanup.d.ts +1 -0
  43. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  44. package/dist/cli/commands/cleanup.js +80 -61
  45. package/dist/cli/commands/cleanup.js.map +1 -1
  46. package/dist/cli/commands/details.d.ts +2 -1
  47. package/dist/cli/commands/details.d.ts.map +1 -1
  48. package/dist/cli/commands/details.js +104 -52
  49. package/dist/cli/commands/details.js.map +1 -1
  50. package/dist/cli/commands/peek.d.ts +2 -1
  51. package/dist/cli/commands/peek.d.ts.map +1 -1
  52. package/dist/cli/commands/peek.js +22 -67
  53. package/dist/cli/commands/peek.js.map +1 -1
  54. package/dist/cli/commands/query.d.ts +9 -0
  55. package/dist/cli/commands/query.d.ts.map +1 -0
  56. package/dist/cli/commands/query.js +125 -0
  57. package/dist/cli/commands/query.js.map +1 -0
  58. package/dist/cli/commands/start.d.ts +74 -0
  59. package/dist/cli/commands/start.d.ts.map +1 -1
  60. package/dist/cli/commands/start.js +147 -38
  61. package/dist/cli/commands/start.js.map +1 -1
  62. package/dist/cli/commands/status.d.ts.map +1 -1
  63. package/dist/cli/commands/status.js +37 -49
  64. package/dist/cli/commands/status.js.map +1 -1
  65. package/dist/cli/commands/stop.d.ts +1 -0
  66. package/dist/cli/commands/stop.d.ts.map +1 -1
  67. package/dist/cli/commands/stop.js +106 -120
  68. package/dist/cli/commands/stop.js.map +1 -1
  69. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  70. package/dist/cli/formatters/previewFormatter.d.ts +7 -7
  71. package/dist/cli/formatters/previewFormatter.d.ts.map +1 -1
  72. package/dist/cli/formatters/previewFormatter.js +5 -10
  73. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  74. package/dist/cli/formatters/statusFormatter.d.ts +13 -10
  75. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  76. package/dist/cli/formatters/statusFormatter.js +26 -53
  77. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  78. package/dist/cli/handlers/ChromeBootstrap.d.ts +24 -0
  79. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +1 -0
  80. package/dist/cli/handlers/ChromeBootstrap.js +50 -0
  81. package/dist/cli/handlers/ChromeBootstrap.js.map +1 -0
  82. package/dist/cli/handlers/OutputBuilder.d.ts +2 -3
  83. package/dist/cli/handlers/OutputBuilder.d.ts.map +1 -1
  84. package/dist/cli/handlers/OutputBuilder.js +2 -4
  85. package/dist/cli/handlers/OutputBuilder.js.map +1 -1
  86. package/dist/cli/handlers/OutputWriter.d.ts +15 -0
  87. package/dist/cli/handlers/OutputWriter.d.ts.map +1 -0
  88. package/dist/cli/handlers/OutputWriter.js +34 -0
  89. package/dist/cli/handlers/OutputWriter.js.map +1 -0
  90. package/dist/cli/handlers/PreviewWriter.d.ts +52 -0
  91. package/dist/cli/handlers/PreviewWriter.d.ts.map +1 -0
  92. package/dist/cli/handlers/PreviewWriter.js +118 -0
  93. package/dist/cli/handlers/PreviewWriter.js.map +1 -0
  94. package/dist/cli/handlers/SessionLock.d.ts +16 -0
  95. package/dist/cli/handlers/SessionLock.d.ts.map +1 -0
  96. package/dist/cli/handlers/SessionLock.js +35 -0
  97. package/dist/cli/handlers/SessionLock.js.map +1 -0
  98. package/dist/cli/handlers/SessionLoop.d.ts +19 -0
  99. package/dist/cli/handlers/SessionLoop.d.ts.map +1 -0
  100. package/dist/cli/handlers/SessionLoop.js +47 -0
  101. package/dist/cli/handlers/SessionLoop.js.map +1 -0
  102. package/dist/cli/handlers/ShutdownController.d.ts +41 -0
  103. package/dist/cli/handlers/ShutdownController.d.ts.map +1 -0
  104. package/dist/cli/handlers/ShutdownController.js +94 -0
  105. package/dist/cli/handlers/ShutdownController.js.map +1 -0
  106. package/dist/cli/handlers/SignalHandler.d.ts +35 -0
  107. package/dist/cli/handlers/SignalHandler.d.ts.map +1 -0
  108. package/dist/cli/handlers/SignalHandler.js +81 -0
  109. package/dist/cli/handlers/SignalHandler.js.map +1 -0
  110. package/dist/cli/handlers/TargetSetup.d.ts +42 -0
  111. package/dist/cli/handlers/TargetSetup.d.ts.map +1 -0
  112. package/dist/cli/handlers/TargetSetup.js +87 -0
  113. package/dist/cli/handlers/TargetSetup.js.map +1 -0
  114. package/dist/cli/handlers/sessionController.d.ts +41 -0
  115. package/dist/cli/handlers/sessionController.d.ts.map +1 -1
  116. package/dist/cli/handlers/sessionController.js +266 -5
  117. package/dist/cli/handlers/sessionController.js.map +1 -1
  118. package/dist/cli/registry.d.ts +2 -2
  119. package/dist/cli/registry.d.ts.map +1 -1
  120. package/dist/cli/registry.js +12 -37
  121. package/dist/cli/registry.js.map +1 -1
  122. package/dist/collectors/console.d.ts +1 -1
  123. package/dist/collectors/console.js +2 -2
  124. package/dist/collectors/console.js.map +1 -1
  125. package/dist/collectors/dom.d.ts +1 -1
  126. package/dist/collectors/network.d.ts +1 -2
  127. package/dist/collectors/network.d.ts.map +1 -1
  128. package/dist/collectors/network.js +3 -3
  129. package/dist/collectors/network.js.map +1 -1
  130. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -1
  131. package/dist/commands/__tests__/cdp.contract.test.js +0 -1
  132. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  133. package/dist/commands/__tests__/domEval.contract.test.d.ts +17 -0
  134. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +1 -0
  135. package/dist/commands/__tests__/domEval.contract.test.js +231 -0
  136. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -0
  137. package/dist/commands/cdp.js +1 -1
  138. package/dist/commands/cdp.js.map +1 -1
  139. package/dist/commands/cleanup.d.ts.map +1 -1
  140. package/dist/commands/cleanup.js +51 -13
  141. package/dist/commands/cleanup.js.map +1 -1
  142. package/dist/commands/console.d.ts.map +1 -1
  143. package/dist/commands/console.js +8 -8
  144. package/dist/commands/console.js.map +1 -1
  145. package/dist/commands/details.js +2 -2
  146. package/dist/commands/details.js.map +1 -1
  147. package/dist/commands/dom.d.ts.map +1 -1
  148. package/dist/commands/dom.js +114 -128
  149. package/dist/commands/dom.js.map +1 -1
  150. package/dist/commands/domEvalHelpers.d.ts +7 -11
  151. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  152. package/dist/commands/domEvalHelpers.js +67 -22
  153. package/dist/commands/domEvalHelpers.js.map +1 -1
  154. package/dist/commands/domOptionsBuilder.d.ts +32 -0
  155. package/dist/commands/domOptionsBuilder.d.ts.map +1 -1
  156. package/dist/commands/domOptionsBuilder.js +35 -0
  157. package/dist/commands/domOptionsBuilder.js.map +1 -1
  158. package/dist/commands/machineReadableHelp.d.ts +98 -0
  159. package/dist/commands/machineReadableHelp.d.ts.map +1 -0
  160. package/dist/commands/machineReadableHelp.js +137 -0
  161. package/dist/commands/machineReadableHelp.js.map +1 -0
  162. package/dist/commands/network.d.ts.map +1 -1
  163. package/dist/commands/network.js +2 -4
  164. package/dist/commands/network.js.map +1 -1
  165. package/dist/commands/peek.d.ts.map +1 -1
  166. package/dist/commands/peek.js +3 -2
  167. package/dist/commands/peek.js.map +1 -1
  168. package/dist/commands/shared/CommandRunner.d.ts +4 -2
  169. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  170. package/dist/commands/shared/CommandRunner.js +18 -3
  171. package/dist/commands/shared/CommandRunner.js.map +1 -1
  172. package/dist/commands/shared/OutputBuilder.js +1 -1
  173. package/dist/commands/shared/OutputBuilder.js.map +1 -1
  174. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  175. package/dist/commands/shared/commonOptions.js +10 -3
  176. package/dist/commands/shared/commonOptions.js.map +1 -1
  177. package/dist/commands/shared/daemonSessionController.d.ts +2 -0
  178. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -1
  179. package/dist/commands/shared/daemonSessionController.js +13 -16
  180. package/dist/commands/shared/daemonSessionController.js.map +1 -1
  181. package/dist/commands/shared/sessionController.d.ts.map +1 -1
  182. package/dist/commands/shared/sessionController.js +8 -9
  183. package/dist/commands/shared/sessionController.js.map +1 -1
  184. package/dist/commands/start.d.ts.map +1 -1
  185. package/dist/commands/start.js +16 -1
  186. package/dist/commands/start.js.map +1 -1
  187. package/dist/commands/status.d.ts.map +1 -1
  188. package/dist/commands/status.js +72 -54
  189. package/dist/commands/status.js.map +1 -1
  190. package/dist/commands/stop.d.ts.map +1 -1
  191. package/dist/commands/stop.js +16 -28
  192. package/dist/commands/stop.js.map +1 -1
  193. package/dist/commands/tail.d.ts +11 -0
  194. package/dist/commands/tail.d.ts.map +1 -0
  195. package/dist/commands/tail.js +114 -0
  196. package/dist/commands/tail.js.map +1 -0
  197. package/dist/commands.d.ts.map +1 -1
  198. package/dist/commands.js +2 -0
  199. package/dist/commands.js.map +1 -1
  200. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -1
  201. package/dist/connection/__tests__/cdp.contract.test.js +0 -1
  202. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  203. package/dist/connection/cdp.d.ts +46 -2
  204. package/dist/connection/cdp.d.ts.map +1 -1
  205. package/dist/connection/cdp.js +71 -5
  206. package/dist/connection/cdp.js.map +1 -1
  207. package/dist/connection/diagnostics.d.ts +16 -0
  208. package/dist/connection/diagnostics.d.ts.map +1 -0
  209. package/dist/connection/diagnostics.js +37 -0
  210. package/dist/connection/diagnostics.js.map +1 -0
  211. package/dist/connection/errors.d.ts +74 -0
  212. package/dist/connection/errors.d.ts.map +1 -0
  213. package/dist/connection/errors.js +83 -0
  214. package/dist/connection/errors.js.map +1 -0
  215. package/dist/connection/handlers.d.ts +31 -0
  216. package/dist/connection/handlers.d.ts.map +1 -0
  217. package/dist/connection/handlers.js +38 -0
  218. package/dist/connection/handlers.js.map +1 -0
  219. package/dist/connection/launcher.d.ts +3 -20
  220. package/dist/connection/launcher.d.ts.map +1 -1
  221. package/dist/connection/launcher.js +140 -32
  222. package/dist/connection/launcher.js.map +1 -1
  223. package/dist/connection/pageReadiness.d.ts +46 -0
  224. package/dist/connection/pageReadiness.d.ts.map +1 -0
  225. package/dist/connection/pageReadiness.js +270 -0
  226. package/dist/connection/pageReadiness.js.map +1 -0
  227. package/dist/connection/tabs.d.ts +52 -0
  228. package/dist/connection/tabs.d.ts.map +1 -0
  229. package/dist/connection/tabs.js +227 -0
  230. package/dist/connection/tabs.js.map +1 -0
  231. package/dist/constants.d.ts +20 -40
  232. package/dist/constants.d.ts.map +1 -1
  233. package/dist/constants.js +26 -40
  234. package/dist/constants.js.map +1 -1
  235. package/dist/daemon/ipcServer.d.ts +5 -7
  236. package/dist/daemon/ipcServer.d.ts.map +1 -1
  237. package/dist/daemon/ipcServer.js +178 -143
  238. package/dist/daemon/ipcServer.js.map +1 -1
  239. package/dist/daemon/launcher.js +1 -1
  240. package/dist/daemon/launcher.js.map +1 -1
  241. package/dist/daemon/server/SocketServer.d.ts +22 -0
  242. package/dist/daemon/server/SocketServer.d.ts.map +1 -0
  243. package/dist/daemon/server/SocketServer.js +67 -0
  244. package/dist/daemon/server/SocketServer.js.map +1 -0
  245. package/dist/daemon/server/WorkerManager.d.ts +36 -0
  246. package/dist/daemon/server/WorkerManager.d.ts.map +1 -0
  247. package/dist/daemon/server/WorkerManager.js +98 -0
  248. package/dist/daemon/server/WorkerManager.js.map +1 -0
  249. package/dist/daemon/startSession.d.ts +2 -0
  250. package/dist/daemon/startSession.d.ts.map +1 -1
  251. package/dist/daemon/startSession.js +9 -5
  252. package/dist/daemon/startSession.js.map +1 -1
  253. package/dist/daemon/worker/TelemetryStore.d.ts +18 -0
  254. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -0
  255. package/dist/daemon/worker/TelemetryStore.js +49 -0
  256. package/dist/daemon/worker/TelemetryStore.js.map +1 -0
  257. package/dist/daemon/worker/collectors.d.ts +8 -0
  258. package/dist/daemon/worker/collectors.d.ts.map +1 -0
  259. package/dist/daemon/worker/collectors.js +19 -0
  260. package/dist/daemon/worker/collectors.js.map +1 -0
  261. package/dist/daemon/worker/commandRegistry.d.ts +10 -0
  262. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -0
  263. package/dist/daemon/worker/commandRegistry.js +289 -0
  264. package/dist/daemon/worker/commandRegistry.js.map +1 -0
  265. package/dist/daemon/worker/plugins.d.ts +21 -0
  266. package/dist/daemon/worker/plugins.d.ts.map +1 -0
  267. package/dist/daemon/worker/plugins.js +71 -0
  268. package/dist/daemon/worker/plugins.js.map +1 -0
  269. package/dist/daemon/worker/types.d.ts +13 -0
  270. package/dist/daemon/worker/types.d.ts.map +1 -0
  271. package/dist/daemon/worker/types.js +2 -0
  272. package/dist/daemon/worker/types.js.map +1 -0
  273. package/dist/daemon/worker.js +232 -484
  274. package/dist/daemon/worker.js.map +1 -1
  275. package/dist/help/machineReadableHelp.d.ts +100 -0
  276. package/dist/help/machineReadableHelp.d.ts.map +1 -0
  277. package/dist/help/machineReadableHelp.js +139 -0
  278. package/dist/help/machineReadableHelp.js.map +1 -0
  279. package/dist/index.js +18 -9
  280. package/dist/index.js.map +1 -1
  281. package/dist/ipc/__tests__/client.contract.test.js +2 -2
  282. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  283. package/dist/ipc/client.d.ts +16 -1
  284. package/dist/ipc/client.d.ts.map +1 -1
  285. package/dist/ipc/client.js +40 -11
  286. package/dist/ipc/client.js.map +1 -1
  287. package/dist/ipc/commands.d.ts +20 -0
  288. package/dist/ipc/commands.d.ts.map +1 -1
  289. package/dist/ipc/commands.js +4 -0
  290. package/dist/ipc/commands.js.map +1 -1
  291. package/dist/ipc/types.d.ts +2 -0
  292. package/dist/ipc/types.d.ts.map +1 -1
  293. package/dist/session/BdgSession.d.ts +91 -0
  294. package/dist/session/BdgSession.d.ts.map +1 -0
  295. package/dist/session/BdgSession.js +230 -0
  296. package/dist/session/BdgSession.js.map +1 -0
  297. package/dist/session/cleanup.d.ts.map +1 -1
  298. package/dist/session/cleanup.js +67 -65
  299. package/dist/session/cleanup.js.map +1 -1
  300. package/dist/session/fileOps.d.ts +25 -0
  301. package/dist/session/fileOps.d.ts.map +1 -0
  302. package/dist/session/fileOps.js +39 -0
  303. package/dist/session/fileOps.js.map +1 -0
  304. package/dist/session/metadata.js +2 -2
  305. package/dist/session/metadata.js.map +1 -1
  306. package/dist/session/paths.d.ts +2 -7
  307. package/dist/session/paths.d.ts.map +1 -1
  308. package/dist/session/paths.js +8 -8
  309. package/dist/session/paths.js.map +1 -1
  310. package/dist/session/queryCache.js +1 -1
  311. package/dist/session/queryCache.js.map +1 -1
  312. package/dist/telemetry/__tests__/filters.unit.test.d.ts +2 -0
  313. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +1 -0
  314. package/dist/telemetry/__tests__/filters.unit.test.js +239 -0
  315. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
  316. package/dist/telemetry/console.d.ts +1 -1
  317. package/dist/telemetry/console.d.ts.map +1 -1
  318. package/dist/telemetry/console.js +5 -3
  319. package/dist/telemetry/console.js.map +1 -1
  320. package/dist/telemetry/dialogs.d.ts +27 -0
  321. package/dist/telemetry/dialogs.d.ts.map +1 -0
  322. package/dist/telemetry/dialogs.js +51 -0
  323. package/dist/telemetry/dialogs.js.map +1 -0
  324. package/dist/telemetry/filters.d.ts +148 -0
  325. package/dist/telemetry/filters.d.ts.map +1 -0
  326. package/dist/telemetry/filters.js +358 -0
  327. package/dist/telemetry/filters.js.map +1 -0
  328. package/dist/telemetry/navigation.d.ts +49 -0
  329. package/dist/telemetry/navigation.d.ts.map +1 -0
  330. package/dist/telemetry/navigation.js +69 -0
  331. package/dist/telemetry/navigation.js.map +1 -0
  332. package/dist/telemetry/network.d.ts +1 -0
  333. package/dist/telemetry/network.d.ts.map +1 -1
  334. package/dist/telemetry/network.js +23 -34
  335. package/dist/telemetry/network.js.map +1 -1
  336. package/dist/types.d.ts +26 -0
  337. package/dist/types.d.ts.map +1 -1
  338. package/dist/ui/errors/CommandError.d.ts +39 -0
  339. package/dist/ui/errors/CommandError.d.ts.map +1 -0
  340. package/dist/ui/errors/CommandError.js +48 -0
  341. package/dist/ui/errors/CommandError.js.map +1 -0
  342. package/dist/ui/errors/SystemErrors.d.ts +22 -0
  343. package/dist/ui/errors/SystemErrors.d.ts.map +1 -0
  344. package/dist/ui/errors/SystemErrors.js +23 -0
  345. package/dist/ui/errors/SystemErrors.js.map +1 -0
  346. package/dist/ui/errors/index.d.ts +9 -0
  347. package/dist/ui/errors/index.d.ts.map +1 -0
  348. package/dist/ui/errors/index.js +12 -0
  349. package/dist/ui/errors/index.js.map +1 -0
  350. package/dist/ui/errors/utils.d.ts +24 -0
  351. package/dist/ui/errors/utils.d.ts.map +1 -0
  352. package/dist/ui/errors/utils.js +28 -0
  353. package/dist/ui/errors/utils.js.map +1 -0
  354. package/dist/ui/errors.d.ts +39 -0
  355. package/dist/ui/errors.d.ts.map +1 -0
  356. package/dist/ui/errors.js +48 -0
  357. package/dist/ui/errors.js.map +1 -0
  358. package/dist/ui/formatters/cookies.d.ts.map +1 -1
  359. package/dist/ui/formatters/cookies.js +18 -21
  360. package/dist/ui/formatters/cookies.js.map +1 -1
  361. package/dist/ui/formatters/details.d.ts.map +1 -1
  362. package/dist/ui/formatters/details.js +34 -36
  363. package/dist/ui/formatters/details.js.map +1 -1
  364. package/dist/ui/formatters/dom.d.ts +135 -0
  365. package/dist/ui/formatters/dom.d.ts.map +1 -0
  366. package/dist/ui/formatters/dom.js +193 -0
  367. package/dist/ui/formatters/dom.js.map +1 -0
  368. package/dist/ui/formatters/index.d.ts +1 -0
  369. package/dist/ui/formatters/index.d.ts.map +1 -1
  370. package/dist/ui/formatters/index.js +1 -0
  371. package/dist/ui/formatters/index.js.map +1 -1
  372. package/dist/ui/formatters/preview.js +43 -38
  373. package/dist/ui/formatters/preview.js.map +1 -1
  374. package/dist/ui/formatters/status.d.ts.map +1 -1
  375. package/dist/ui/formatters/status.js +45 -45
  376. package/dist/ui/formatters/status.js.map +1 -1
  377. package/dist/ui/formatting.d.ts +104 -1
  378. package/dist/ui/formatting.d.ts.map +1 -1
  379. package/dist/ui/formatting.js +138 -2
  380. package/dist/ui/formatting.js.map +1 -1
  381. package/dist/ui/logging/index.d.ts +7 -0
  382. package/dist/ui/logging/index.d.ts.map +1 -0
  383. package/dist/ui/logging/index.js +7 -0
  384. package/dist/ui/logging/index.js.map +1 -0
  385. package/dist/ui/logging/logger.d.ts +98 -0
  386. package/dist/ui/logging/logger.d.ts.map +1 -0
  387. package/dist/ui/logging/logger.js +93 -0
  388. package/dist/ui/logging/logger.js.map +1 -0
  389. package/dist/ui/messages/chrome.d.ts +120 -1
  390. package/dist/ui/messages/chrome.d.ts.map +1 -1
  391. package/dist/ui/messages/chrome.js +168 -0
  392. package/dist/ui/messages/chrome.js.map +1 -1
  393. package/dist/ui/messages/debug.d.ts +4 -2
  394. package/dist/ui/messages/debug.d.ts.map +1 -1
  395. package/dist/ui/messages/debug.js +31 -29
  396. package/dist/ui/messages/debug.js.map +1 -1
  397. package/dist/ui/messages/deprecation.d.ts +30 -0
  398. package/dist/ui/messages/deprecation.d.ts.map +1 -0
  399. package/dist/ui/messages/deprecation.js +49 -0
  400. package/dist/ui/messages/deprecation.js.map +1 -0
  401. package/dist/ui/messages/errors.d.ts +11 -0
  402. package/dist/ui/messages/errors.d.ts.map +1 -1
  403. package/dist/ui/messages/errors.js +13 -0
  404. package/dist/ui/messages/errors.js.map +1 -1
  405. package/dist/ui/messages/preview.d.ts +24 -0
  406. package/dist/ui/messages/preview.d.ts.map +1 -1
  407. package/dist/ui/messages/preview.js +32 -1
  408. package/dist/ui/messages/preview.js.map +1 -1
  409. package/dist/ui/messages/session.d.ts.map +1 -1
  410. package/dist/ui/messages/session.js +21 -7
  411. package/dist/ui/messages/session.js.map +1 -1
  412. package/dist/ui/messages/validation.d.ts +14 -0
  413. package/dist/ui/messages/validation.d.ts.map +1 -1
  414. package/dist/ui/messages/validation.js +16 -0
  415. package/dist/ui/messages/validation.js.map +1 -1
  416. package/dist/utils/__tests__/session.contract.test.js +15 -1
  417. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  418. package/dist/utils/filters.d.ts +40 -0
  419. package/dist/utils/filters.d.ts.map +1 -1
  420. package/dist/utils/filters.js +55 -1
  421. package/dist/utils/filters.js.map +1 -1
  422. package/dist/utils/pageReadiness.d.ts +9 -14
  423. package/dist/utils/pageReadiness.d.ts.map +1 -1
  424. package/dist/utils/pageReadiness.js +40 -41
  425. package/dist/utils/pageReadiness.js.map +1 -1
  426. package/dist/utils/session.d.ts +200 -0
  427. package/dist/utils/session.d.ts.map +1 -0
  428. package/dist/utils/session.js +498 -0
  429. package/dist/utils/session.js.map +1 -0
  430. package/dist/utils/url.d.ts +58 -6
  431. package/dist/utils/url.d.ts.map +1 -1
  432. package/dist/utils/url.js +137 -20
  433. package/dist/utils/url.js.map +1 -1
  434. package/dist/utils/validation.d.ts +12 -0
  435. package/dist/utils/validation.d.ts.map +1 -0
  436. package/dist/utils/validation.js +20 -0
  437. package/dist/utils/validation.js.map +1 -0
  438. package/package.json +3 -5
  439. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +0 -24
  440. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  441. package/dist/cli/commands/__tests__/cdp.contract.test.js +0 -467
  442. package/dist/cli/commands/__tests__/cdp.contract.test.js.map +0 -1
  443. package/dist/cli/commands/cdp.d.ts +0 -8
  444. package/dist/cli/commands/cdp.d.ts.map +0 -1
  445. package/dist/cli/commands/cdp.js +0 -45
  446. package/dist/cli/commands/cdp.js.map +0 -1
  447. package/dist/cli/commands/console.d.ts +0 -8
  448. package/dist/cli/commands/console.d.ts.map +0 -1
  449. package/dist/cli/commands/console.js +0 -97
  450. package/dist/cli/commands/console.js.map +0 -1
  451. package/dist/cli/commands/dom/helpers/domCache.d.ts +0 -36
  452. package/dist/cli/commands/dom/helpers/domCache.d.ts.map +0 -1
  453. package/dist/cli/commands/dom/helpers/domCache.js +0 -65
  454. package/dist/cli/commands/dom/helpers/domCache.js.map +0 -1
  455. package/dist/cli/commands/dom/helpers/domQuery.d.ts +0 -48
  456. package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +0 -1
  457. package/dist/cli/commands/dom/helpers/domQuery.js +0 -104
  458. package/dist/cli/commands/dom/helpers/domQuery.js.map +0 -1
  459. package/dist/cli/commands/dom/helpers/errorHandler.d.ts +0 -45
  460. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +0 -1
  461. package/dist/cli/commands/dom/helpers/errorHandler.js +0 -71
  462. package/dist/cli/commands/dom/helpers/errorHandler.js.map +0 -1
  463. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +0 -52
  464. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +0 -1
  465. package/dist/cli/commands/dom/helpers/evalHelpers.js +0 -75
  466. package/dist/cli/commands/dom/helpers/evalHelpers.js.map +0 -1
  467. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +0 -35
  468. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +0 -1
  469. package/dist/cli/commands/dom/helpers/optionsBuilder.js +0 -51
  470. package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +0 -1
  471. package/dist/cli/commands/dom/helpers/selectorParser.d.ts +0 -20
  472. package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +0 -1
  473. package/dist/cli/commands/dom/helpers/selectorParser.js +0 -20
  474. package/dist/cli/commands/dom/helpers/selectorParser.js.map +0 -1
  475. package/dist/cli/commands/dom/index.d.ts +0 -8
  476. package/dist/cli/commands/dom/index.d.ts.map +0 -1
  477. package/dist/cli/commands/dom/index.js +0 -257
  478. package/dist/cli/commands/dom/index.js.map +0 -1
  479. package/dist/cli/commands/dom.d.ts +0 -8
  480. package/dist/cli/commands/dom.d.ts.map +0 -1
  481. package/dist/cli/commands/dom.js +0 -257
  482. package/dist/cli/commands/dom.js.map +0 -1
  483. package/dist/cli/commands/domErrorHandler.d.ts +0 -45
  484. package/dist/cli/commands/domErrorHandler.d.ts.map +0 -1
  485. package/dist/cli/commands/domErrorHandler.js +0 -71
  486. package/dist/cli/commands/domErrorHandler.js.map +0 -1
  487. package/dist/cli/commands/domEvalHelpers.d.ts +0 -52
  488. package/dist/cli/commands/domEvalHelpers.d.ts.map +0 -1
  489. package/dist/cli/commands/domEvalHelpers.js +0 -76
  490. package/dist/cli/commands/domEvalHelpers.js.map +0 -1
  491. package/dist/cli/commands/domOptionsBuilder.d.ts +0 -35
  492. package/dist/cli/commands/domOptionsBuilder.d.ts.map +0 -1
  493. package/dist/cli/commands/domOptionsBuilder.js +0 -51
  494. package/dist/cli/commands/domOptionsBuilder.js.map +0 -1
  495. package/dist/cli/commands/domSelectorParser.d.ts +0 -20
  496. package/dist/cli/commands/domSelectorParser.d.ts.map +0 -1
  497. package/dist/cli/commands/domSelectorParser.js +0 -20
  498. package/dist/cli/commands/domSelectorParser.js.map +0 -1
  499. package/dist/cli/commands/network.d.ts +0 -8
  500. package/dist/cli/commands/network.d.ts.map +0 -1
  501. package/dist/cli/commands/network.js +0 -43
  502. package/dist/cli/commands/network.js.map +0 -1
  503. package/dist/cli/handlers/CommandRunner.d.ts +0 -60
  504. package/dist/cli/handlers/CommandRunner.d.ts.map +0 -1
  505. package/dist/cli/handlers/CommandRunner.js +0 -81
  506. package/dist/cli/handlers/CommandRunner.js.map +0 -1
  507. package/dist/cli/handlers/commonOptions.d.ts +0 -54
  508. package/dist/cli/handlers/commonOptions.d.ts.map +0 -1
  509. package/dist/cli/handlers/commonOptions.js +0 -64
  510. package/dist/cli/handlers/commonOptions.js.map +0 -1
  511. package/dist/cli/handlers/daemonSessionController.d.ts +0 -23
  512. package/dist/cli/handlers/daemonSessionController.d.ts.map +0 -1
  513. package/dist/cli/handlers/daemonSessionController.js +0 -79
  514. package/dist/cli/handlers/daemonSessionController.js.map +0 -1
  515. package/dist/cli/handlers/landingPage.d.ts +0 -8
  516. package/dist/cli/handlers/landingPage.d.ts.map +0 -1
  517. package/dist/cli/handlers/landingPage.js +0 -8
  518. package/dist/cli/handlers/landingPage.js.map +0 -1
  519. package/dist/collectors/__tests__/network.contract.test.d.ts +0 -28
  520. package/dist/collectors/__tests__/network.contract.test.d.ts.map +0 -1
  521. package/dist/collectors/__tests__/network.contract.test.js +0 -540
  522. package/dist/collectors/__tests__/network.contract.test.js.map +0 -1
  523. package/dist/commandRegistry.d.ts +0 -11
  524. package/dist/commandRegistry.d.ts.map +0 -1
  525. package/dist/commandRegistry.js +0 -45
  526. package/dist/commandRegistry.js.map +0 -1
  527. package/dist/commands/domErrorHandler.d.ts +0 -45
  528. package/dist/commands/domErrorHandler.d.ts.map +0 -1
  529. package/dist/commands/domErrorHandler.js +0 -71
  530. package/dist/commands/domErrorHandler.js.map +0 -1
  531. package/dist/dom/cache.d.ts +0 -36
  532. package/dist/dom/cache.d.ts.map +0 -1
  533. package/dist/dom/cache.js +0 -65
  534. package/dist/dom/cache.js.map +0 -1
  535. package/dist/dom/index.d.ts +0 -9
  536. package/dist/dom/index.d.ts.map +0 -1
  537. package/dist/dom/index.js +0 -9
  538. package/dist/dom/index.js.map +0 -1
  539. package/dist/dom/query.d.ts +0 -48
  540. package/dist/dom/query.d.ts.map +0 -1
  541. package/dist/dom/query.js +0 -104
  542. package/dist/dom/query.js.map +0 -1
  543. package/dist/utils/formatters/network.d.ts +0 -23
  544. package/dist/utils/formatters/network.d.ts.map +0 -1
  545. package/dist/utils/formatters/network.js +0 -35
  546. package/dist/utils/formatters/network.js.map +0 -1
  547. package/dist/utils/ui.d.ts +0 -36
  548. package/dist/utils/ui.d.ts.map +0 -1
  549. package/dist/utils/ui.js +0 -47
  550. package/dist/utils/ui.js.map +0 -1
  551. package/dist/utils/url/safeParseUrl.d.ts +0 -63
  552. package/dist/utils/url/safeParseUrl.d.ts.map +0 -1
  553. package/dist/utils/url/safeParseUrl.js +0 -84
  554. package/dist/utils/url/safeParseUrl.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register query command
4
+ *
5
+ * @param program - Commander.js Command instance to register commands on
6
+ * @returns void
7
+ */
8
+ export declare function registerQueryCommand(program: Command): void;
9
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkJ3D"}
@@ -0,0 +1,125 @@
1
+ import { OutputBuilder } from '../handlers/OutputBuilder.js';
2
+ import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION } from '../../constants.js';
3
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
4
+ import { readPid, isProcessAlive } from '../../utils/session.js';
5
+ /**
6
+ * Register query command
7
+ *
8
+ * @param program - Commander.js Command instance to register commands on
9
+ * @returns void
10
+ */
11
+ export function registerQueryCommand(program) {
12
+ program
13
+ .command('query')
14
+ .description('Execute JavaScript in the active session for live debugging')
15
+ .argument('<script>', 'JavaScript to execute (e.g., "document.querySelector(\'input[type=email]\').value")')
16
+ .option('-p, --port <number>', PORT_OPTION_DESCRIPTION, DEFAULT_DEBUG_PORT)
17
+ .option('-j, --json', 'Wrap result in version/success format')
18
+ .action(async (script, options) => {
19
+ try {
20
+ const port = parseInt(options.port, 10);
21
+ // Check if session is running
22
+ const pid = readPid();
23
+ if (!pid || !isProcessAlive(pid)) {
24
+ const errorMsg = 'No active session running';
25
+ if (options.json) {
26
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, {
27
+ suggestion: 'Start a session with: bdg <url>',
28
+ }), null, 2));
29
+ }
30
+ else {
31
+ console.error(`Error: ${errorMsg}`);
32
+ console.error('Start a session with: bdg <url>');
33
+ }
34
+ process.exit(EXIT_CODES.RESOURCE_NOT_FOUND);
35
+ }
36
+ // Read session metadata to get the target ID
37
+ const { readSessionMetadata } = await import('../../utils/session.js');
38
+ const metadata = readSessionMetadata();
39
+ if (!metadata?.targetId || !metadata.webSocketDebuggerUrl) {
40
+ const errorMsg = 'No target information in session metadata';
41
+ if (options.json) {
42
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, {
43
+ note: 'Session may have been started with an older version',
44
+ }), null, 2));
45
+ }
46
+ else {
47
+ console.error(`Error: ${errorMsg}`);
48
+ console.error('Session may have been started with an older version');
49
+ }
50
+ process.exit(EXIT_CODES.SESSION_FILE_ERROR);
51
+ }
52
+ // Verify the target still exists
53
+ const response = await fetch(`http://127.0.0.1:${port}/json/list`);
54
+ const targetsData = await response.json();
55
+ if (!Array.isArray(targetsData)) {
56
+ const errorMsg = 'Invalid response from CDP';
57
+ if (options.json) {
58
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
59
+ }
60
+ else {
61
+ console.error(`Error: ${errorMsg}`);
62
+ }
63
+ process.exit(EXIT_CODES.CDP_CONNECTION_FAILURE);
64
+ }
65
+ const target = targetsData.find((t) => t.id === metadata.targetId);
66
+ if (!target) {
67
+ const errorMsg = 'Session target not found (tab may have been closed)';
68
+ if (options.json) {
69
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, {
70
+ suggestion: 'Start a new session with: bdg <url>',
71
+ }), null, 2));
72
+ }
73
+ else {
74
+ console.error(`Error: ${errorMsg}`);
75
+ console.error('Start a new session with: bdg <url>');
76
+ }
77
+ process.exit(EXIT_CODES.RESOURCE_NOT_FOUND);
78
+ }
79
+ // Create temporary CDP connection using stored webSocketDebuggerUrl
80
+ const { CDPConnection } = await import('../../connection/cdp.js');
81
+ const cdp = new CDPConnection();
82
+ await cdp.connect(metadata.webSocketDebuggerUrl);
83
+ // Execute JavaScript
84
+ const result = (await cdp.send('Runtime.evaluate', {
85
+ expression: script,
86
+ returnByValue: true,
87
+ awaitPromise: true,
88
+ }));
89
+ cdp.close();
90
+ // Output result
91
+ if (result.exceptionDetails) {
92
+ const errorMsg = result.exceptionDetails.exception?.description ?? 'Unknown error executing script';
93
+ if (options.json) {
94
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
95
+ }
96
+ else {
97
+ console.error('Error executing script:');
98
+ console.error(errorMsg);
99
+ }
100
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
101
+ }
102
+ // Output result (wrapped if --json, raw otherwise)
103
+ if (options.json) {
104
+ console.log(JSON.stringify(OutputBuilder.buildJsonSuccess({
105
+ result: result.result?.value,
106
+ }), null, 2));
107
+ }
108
+ else {
109
+ console.log(JSON.stringify(result.result?.value, null, 2));
110
+ }
111
+ process.exit(EXIT_CODES.SUCCESS);
112
+ }
113
+ catch (error) {
114
+ const errorMsg = error instanceof Error ? error.message : String(error);
115
+ if (options.json) {
116
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
117
+ }
118
+ else {
119
+ console.error(`Error: ${errorMsg}`);
120
+ }
121
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
122
+ }
123
+ });
124
+ }
125
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,77 @@
1
1
  import type { Command } from 'commander';
2
+ import type { CollectorType } from '../../types.js';
3
+ /**
4
+ * Parsed command-line flags shared by the start subcommands.
5
+ * @property port Chrome debugging port as provided by the user.
6
+ * @property timeout Optional auto-stop timeout (seconds, string form).
7
+ * @property reuseTab Whether to reuse an existing tab instead of creating one.
8
+ * @property userDataDir Custom Chrome profile directory path.
9
+ * @property all When true, disables default filtering of noisy data.
10
+ * @property logLevel Chrome launcher log level (verbose|info|error|silent).
11
+ * @property chromePrefs Inline JSON string with Chrome preferences.
12
+ * @property chromePrefsFile Path to JSON file with Chrome preferences.
13
+ * @property chromeFlags Additional Chrome command-line flags.
14
+ * @property connectionPollInterval Milliseconds between CDP readiness checks.
15
+ * @property maxConnectionRetries Maximum retry attempts before failing.
16
+ * @property portStrict Fail if port is already in use.
17
+ * @property dom Enable only DOM collector (additive).
18
+ * @property network Enable only network collector (additive).
19
+ * @property console Enable only console collector (additive).
20
+ * @property skipDom Disable DOM collector (subtractive).
21
+ * @property skipNetwork Disable network collector (subtractive).
22
+ * @property skipConsole Disable console collector (subtractive).
23
+ * @property fetchAllBodies Fetch all response bodies (override auto-optimization).
24
+ * @property fetchBodiesInclude Comma-separated patterns for bodies to include (trumps exclude).
25
+ * @property fetchBodiesExclude Comma-separated patterns for bodies to exclude.
26
+ * @property networkInclude Comma-separated URL patterns to capture (trumps exclude).
27
+ * @property networkExclude Comma-separated URL patterns to exclude.
28
+ * @property compact Use compact JSON format (no indentation) for output files.
29
+ */
30
+ interface CollectorOptions {
31
+ port: string;
32
+ timeout?: string;
33
+ reuseTab?: boolean;
34
+ userDataDir?: string;
35
+ all?: boolean;
36
+ logLevel?: string;
37
+ chromePrefs?: string;
38
+ chromePrefsFile?: string;
39
+ chromeFlags?: string[];
40
+ connectionPollInterval?: string;
41
+ maxConnectionRetries?: string;
42
+ portStrict?: boolean;
43
+ dom?: boolean;
44
+ network?: boolean;
45
+ console?: boolean;
46
+ skipDom?: boolean;
47
+ skipNetwork?: boolean;
48
+ skipConsole?: boolean;
49
+ fetchAllBodies?: boolean;
50
+ fetchBodiesInclude?: string;
51
+ fetchBodiesExclude?: string;
52
+ networkInclude?: string;
53
+ networkExclude?: string;
54
+ compact?: boolean;
55
+ }
56
+ /**
57
+ * Validate collector flags for conflicts
58
+ *
59
+ * @param options - Parsed command-line options from Commander
60
+ * @throws Error if conflicting flags are detected (e.g., --dom and --no-dom)
61
+ */
62
+ export declare function validateCollectorFlags(options: CollectorOptions): void;
63
+ /**
64
+ * Resolve which collectors to activate based on CLI flags
65
+ *
66
+ * @param options - Parsed command-line options from Commander
67
+ * @returns Array of collector types to activate
68
+ *
69
+ * Logic:
70
+ * - If any additive flags (--dom, --network, --console) are present, return only those collectors
71
+ * - If subtractive flags (--skip-dom, --skip-network, --skip-console) are present, return all collectors minus excluded ones
72
+ * - If no collector flags are present, return all collectors (default)
73
+ */
74
+ export declare function resolveCollectors(options: CollectorOptions): CollectorType[];
2
75
  /**
3
76
  * Register the start command
4
77
  *
@@ -6,4 +79,5 @@ import type { Command } from 'commander';
6
79
  * @returns void
7
80
  */
8
81
  export declare function registerStartCommands(program: Command): void;
82
+ export {};
9
83
  //# sourceMappingURL=start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6GzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB5D"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2FD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAmBtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa,EAAE,CAkC5E;AAoED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS5D"}
@@ -1,5 +1,5 @@
1
- import { startSessionViaDaemon } from '../../cli/handlers/daemonSessionController.js';
2
- import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION, TIMEOUT_OPTION_DESCRIPTION, USER_DATA_DIR_OPTION_DESCRIPTION, } from '../../constants.js';
1
+ import { startSession } from '../handlers/sessionController.js';
2
+ import { DEFAULT_DEBUG_PORT, PORT_OPTION_DESCRIPTION, TIMEOUT_OPTION_DESCRIPTION, REUSE_TAB_OPTION_DESCRIPTION, USER_DATA_DIR_OPTION_DESCRIPTION, LOG_LEVEL_OPTION_DESCRIPTION, CHROME_PREFS_OPTION_DESCRIPTION, CHROME_PREFS_FILE_OPTION_DESCRIPTION, CHROME_FLAGS_OPTION_DESCRIPTION, CONNECTION_POLL_INTERVAL_OPTION_DESCRIPTION, MAX_CONNECTION_RETRIES_OPTION_DESCRIPTION, PORT_STRICT_OPTION_DESCRIPTION, } from '../../constants.js';
3
3
  /**
4
4
  * Apply shared collector options to a command
5
5
  *
@@ -10,27 +10,139 @@ function applyCollectorOptions(command) {
10
10
  return command
11
11
  .option('-p, --port <number>', PORT_OPTION_DESCRIPTION, DEFAULT_DEBUG_PORT)
12
12
  .option('-t, --timeout <seconds>', TIMEOUT_OPTION_DESCRIPTION)
13
+ .option('-r, --reuse-tab', REUSE_TAB_OPTION_DESCRIPTION)
13
14
  .option('-u, --user-data-dir <path>', USER_DATA_DIR_OPTION_DESCRIPTION)
14
15
  .option('-a, --all', 'Include all data (disable filtering of tracking/analytics)')
15
- .option('-m, --max-body-size <megabytes>', 'Maximum response body size in MB (default: 5MB)', '5')
16
- .option('--compact', 'Use compact JSON format (no indentation) for output files');
16
+ .option('-c, --compact', 'Use compact JSON format (no indentation) for output files')
17
+ .option('--log-level <level>', LOG_LEVEL_OPTION_DESCRIPTION)
18
+ .option('--chrome-prefs <json>', CHROME_PREFS_OPTION_DESCRIPTION)
19
+ .option('--chrome-prefs-file <path>', CHROME_PREFS_FILE_OPTION_DESCRIPTION)
20
+ .option('--chrome-flags <flags...>', CHROME_FLAGS_OPTION_DESCRIPTION)
21
+ .option('--connection-poll-interval <ms>', CONNECTION_POLL_INTERVAL_OPTION_DESCRIPTION)
22
+ .option('--max-connection-retries <count>', MAX_CONNECTION_RETRIES_OPTION_DESCRIPTION)
23
+ .option('--port-strict', PORT_STRICT_OPTION_DESCRIPTION)
24
+ .option('--dom', 'Enable only DOM collector (additive)')
25
+ .option('--network', 'Enable only network collector (additive)')
26
+ .option('--console', 'Enable only console collector (additive)')
27
+ .option('--skip-dom', 'Disable DOM collector (subtractive)')
28
+ .option('--skip-network', 'Disable network collector (subtractive)')
29
+ .option('--skip-console', 'Disable console collector (subtractive)')
30
+ .option('--fetch-all-bodies', 'Fetch all response bodies (override auto-optimization)')
31
+ .option('--fetch-bodies-include <patterns>', 'Only fetch bodies matching patterns (comma-separated wildcards, trumps exclude)')
32
+ .option('--fetch-bodies-exclude <patterns>', 'Additional patterns to exclude from body fetching (comma-separated wildcards)')
33
+ .option('--network-include <patterns>', 'Only capture URLs matching patterns (comma-separated wildcards, trumps exclude)')
34
+ .option('--network-exclude <patterns>', 'Additional URL patterns to exclude (comma-separated wildcards)');
17
35
  }
18
36
  /**
19
37
  * Parse a string to integer, returning undefined if not provided
38
+ *
20
39
  * @param value - Optional string value to parse
21
- * @param fieldName - Name of the field being parsed (for error messages)
22
40
  * @returns Parsed integer or undefined if value was not provided
23
- * @throws Error if value is provided but not a valid integer
24
41
  */
25
- function parseOptionalInt(value, fieldName) {
26
- if (value === undefined) {
42
+ function parseOptionalInt(value) {
43
+ return value !== undefined ? parseInt(value, 10) : undefined;
44
+ }
45
+ /**
46
+ * Parse comma-separated patterns into array
47
+ *
48
+ * @param value - Optional comma-separated patterns string
49
+ * @returns Array of patterns or undefined if value was not provided
50
+ */
51
+ function parsePatterns(value) {
52
+ if (!value)
53
+ return undefined;
54
+ return value
55
+ .split(',')
56
+ .map((p) => p.trim())
57
+ .filter((p) => p.length > 0);
58
+ }
59
+ /**
60
+ * Parse JSON string with error handling
61
+ *
62
+ * @param value - Optional JSON string to parse
63
+ * @returns Parsed JSON object or undefined if value was not provided
64
+ * @throws Error if JSON parsing fails
65
+ */
66
+ function parseOptionalJson(value) {
67
+ if (!value)
27
68
  return undefined;
69
+ try {
70
+ return JSON.parse(value);
28
71
  }
29
- const parsed = parseInt(value, 10);
30
- if (isNaN(parsed)) {
31
- throw new Error(`Invalid ${fieldName}: "${value}" is not a valid integer`);
72
+ catch (error) {
73
+ throw new Error(`Invalid JSON in --chrome-prefs: ${error instanceof Error ? error.message : String(error)}`);
32
74
  }
33
- return parsed;
75
+ }
76
+ /**
77
+ * Validate collector flags for conflicts
78
+ *
79
+ * @param options - Parsed command-line options from Commander
80
+ * @throws Error if conflicting flags are detected (e.g., --dom and --no-dom)
81
+ */
82
+ export function validateCollectorFlags(options) {
83
+ const conflicts = [];
84
+ if (options.dom && options.skipDom) {
85
+ conflicts.push('--dom and --skip-dom');
86
+ }
87
+ if (options.network && options.skipNetwork) {
88
+ conflicts.push('--network and --skip-network');
89
+ }
90
+ if (options.console && options.skipConsole) {
91
+ conflicts.push('--console and --skip-console');
92
+ }
93
+ if (conflicts.length > 0) {
94
+ throw new Error(`Conflicting collector flags detected: ${conflicts.join(', ')}. ` +
95
+ 'Use either additive flags (--dom, --network, --console) or subtractive flags (--skip-dom, --skip-network, --skip-console), not both for the same collector.');
96
+ }
97
+ }
98
+ /**
99
+ * Resolve which collectors to activate based on CLI flags
100
+ *
101
+ * @param options - Parsed command-line options from Commander
102
+ * @returns Array of collector types to activate
103
+ *
104
+ * Logic:
105
+ * - If any additive flags (--dom, --network, --console) are present, return only those collectors
106
+ * - If subtractive flags (--skip-dom, --skip-network, --skip-console) are present, return all collectors minus excluded ones
107
+ * - If no collector flags are present, return all collectors (default)
108
+ */
109
+ export function resolveCollectors(options) {
110
+ const allCollectors = ['dom', 'network', 'console'];
111
+ // Check for additive flags
112
+ const hasAdditive = options.dom ?? options.network ?? options.console;
113
+ if (hasAdditive) {
114
+ const collectors = [];
115
+ if (options.dom)
116
+ collectors.push('dom');
117
+ if (options.network)
118
+ collectors.push('network');
119
+ if (options.console)
120
+ collectors.push('console');
121
+ return collectors;
122
+ }
123
+ // Check for subtractive flags
124
+ const hasSubtractive = options.skipDom ?? options.skipNetwork ?? options.skipConsole;
125
+ if (hasSubtractive) {
126
+ const collectors = [...allCollectors];
127
+ if (options.skipDom) {
128
+ const index = collectors.indexOf('dom');
129
+ if (index > -1)
130
+ collectors.splice(index, 1);
131
+ }
132
+ if (options.skipNetwork) {
133
+ const index = collectors.indexOf('network');
134
+ if (index > -1)
135
+ collectors.splice(index, 1);
136
+ }
137
+ if (options.skipConsole) {
138
+ const index = collectors.indexOf('console');
139
+ if (index > -1)
140
+ collectors.splice(index, 1);
141
+ }
142
+ return collectors;
143
+ }
144
+ // Default: return all collectors
145
+ return allCollectors;
34
146
  }
35
147
  /**
36
148
  * Transform CLI options into session options
@@ -39,13 +151,24 @@ function parseOptionalInt(value, fieldName) {
39
151
  * @returns Session options object with parsed and normalized values
40
152
  */
41
153
  function buildSessionOptions(options) {
42
- const maxBodySizeMB = parseOptionalInt(options.maxBodySize, 'max-body-size');
43
154
  return {
44
155
  port: parseInt(options.port, 10),
45
- timeout: parseOptionalInt(options.timeout, 'timeout'),
156
+ timeout: parseOptionalInt(options.timeout),
157
+ reuseTab: options.reuseTab ?? false,
46
158
  userDataDir: options.userDataDir,
47
159
  includeAll: options.all ?? false,
48
- maxBodySize: maxBodySizeMB !== undefined ? maxBodySizeMB * 1024 * 1024 : undefined,
160
+ logLevel: options.logLevel,
161
+ prefs: parseOptionalJson(options.chromePrefs),
162
+ prefsFile: options.chromePrefsFile,
163
+ chromeFlags: options.chromeFlags,
164
+ connectionPollInterval: parseOptionalInt(options.connectionPollInterval),
165
+ maxConnectionRetries: parseOptionalInt(options.maxConnectionRetries),
166
+ portStrictMode: options.portStrict ?? false,
167
+ fetchAllBodies: options.fetchAllBodies ?? false,
168
+ fetchBodiesInclude: parsePatterns(options.fetchBodiesInclude),
169
+ fetchBodiesExclude: parsePatterns(options.fetchBodiesExclude),
170
+ networkInclude: parsePatterns(options.networkInclude),
171
+ networkExclude: parsePatterns(options.networkExclude),
49
172
  compact: options.compact ?? false,
50
173
  };
51
174
  }
@@ -57,11 +180,12 @@ function buildSessionOptions(options) {
57
180
  * @returns Promise that resolves when session completes or is stopped
58
181
  */
59
182
  async function collectorAction(url, options) {
183
+ // Validate collector flags for conflicts
184
+ validateCollectorFlags(options);
185
+ // Resolve which collectors to activate based on flags
186
+ const collectors = resolveCollectors(options);
60
187
  const sessionOptions = buildSessionOptions(options);
61
- // Always collect all 3 types (dom, network, console)
62
- const collectors = ['dom', 'network', 'console'];
63
- // Dispatch to daemon via IPC instead of running in-process
64
- await startSessionViaDaemon(url, sessionOptions, collectors);
188
+ await startSession(url, sessionOptions, collectors);
65
189
  }
66
190
  /**
67
191
  * Register the start command
@@ -70,25 +194,10 @@ async function collectorAction(url, options) {
70
194
  * @returns void
71
195
  */
72
196
  export function registerStartCommands(program) {
73
- // Default command: always collects all 3 types (dom, network, console)
74
- applyCollectorOptions(program.argument('[url]', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
75
- // Show friendly help if no URL provided
76
- if (!url) {
77
- console.error('');
78
- console.error('Start a new session by providing a URL:');
79
- console.error('');
80
- console.error(' bdg example.com');
81
- console.error(' bdg localhost:3000');
82
- console.error(' bdg https://github.com');
83
- console.error('');
84
- console.error('Or manage existing session:');
85
- console.error('');
86
- console.error(' bdg status Check session state');
87
- console.error(' bdg stop End session');
88
- console.error(' bdg --help Show all commands');
89
- console.error('');
90
- process.exit(0);
91
- }
197
+ // Default command: collectors determined by flags
198
+ // Use --dom, --network, --console (additive) or --no-dom, --no-network, --no-console (subtractive)
199
+ // If no collector flags provided, all collectors are activated
200
+ applyCollectorOptions(program.argument('<url>', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
92
201
  await collectorAction(url, options);
93
202
  });
94
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoF5D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgF5D"}
@@ -1,9 +1,6 @@
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';
1
+ import { formatSessionStatus, formatStatusAsJson, formatNoSessionMessage, formatStaleSessionMessage, formatNoMetadataMessage, } from '../formatters/statusFormatter.js';
6
2
  import { EXIT_CODES } from '../../utils/exitCodes.js';
3
+ import { readPid, isProcessAlive } from '../../utils/session.js';
7
4
  import { VERSION } from '../../utils/version.js';
8
5
  /**
9
6
  * Register status command
@@ -19,21 +16,10 @@ export function registerStatusCommand(program) {
19
16
  .option('-v, --verbose', 'Show detailed Chrome diagnostics')
20
17
  .action(async (options) => {
21
18
  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) {
19
+ const { readSessionMetadata } = await import('../../utils/session.js');
20
+ // Read PID
21
+ const pid = readPid();
22
+ if (!pid) {
37
23
  if (options.json) {
38
24
  console.log(JSON.stringify({ version: VERSION, active: false }, null, 2));
39
25
  }
@@ -42,44 +28,46 @@ export function registerStatusCommand(program) {
42
28
  }
43
29
  process.exit(EXIT_CODES.SUCCESS);
44
30
  }
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
- activeCollectors: data.sessionMetadata.activeCollectors,
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;
31
+ // Check if process is alive
32
+ const isAlive = isProcessAlive(pid);
33
+ if (!isAlive) {
34
+ if (options.json) {
35
+ console.log(JSON.stringify({ version: VERSION, active: false, stale: true, stalePid: pid }, null, 2));
61
36
  }
62
- if (data.pageState) {
63
- jsonOutput.pageState = data.pageState;
37
+ else {
38
+ console.error(formatStaleSessionMessage(pid));
64
39
  }
40
+ process.exit(EXIT_CODES.SUCCESS);
41
+ }
42
+ // Read metadata
43
+ const metadata = readSessionMetadata();
44
+ if (!metadata) {
45
+ if (options.json) {
46
+ console.log(JSON.stringify({
47
+ version: VERSION,
48
+ active: true,
49
+ bdgPid: pid,
50
+ warning: 'Metadata not found (session may be from older version)',
51
+ }, null, 2));
52
+ }
53
+ else {
54
+ console.error(formatNoMetadataMessage(pid));
55
+ }
56
+ process.exit(EXIT_CODES.SUCCESS);
57
+ }
58
+ if (options.json) {
59
+ // JSON output
60
+ const jsonOutput = formatStatusAsJson(metadata, pid);
65
61
  console.log(JSON.stringify(jsonOutput, null, 2));
66
62
  }
67
63
  else {
68
- // Human-readable output - pass activity and page state
69
- console.log(formatSessionStatus(metadata, data.sessionPid, data.activity, data.pageState, options.verbose ?? false));
64
+ // Human-readable output
65
+ console.log(formatSessionStatus(metadata, pid, options.verbose ?? false));
70
66
  }
71
67
  process.exit(EXIT_CODES.SUCCESS);
72
68
  }
73
69
  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}`);
70
+ console.error(`Error checking status: ${error instanceof Error ? error.message : String(error)}`);
83
71
  process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
84
72
  }
85
73
  });