browser-debugger-cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/dist/__testfixtures__/cdpMessages.d.ts +1 -1
  2. package/dist/__testfixtures__/connectionTargets.d.ts +1 -1
  3. package/dist/__testutils__/assertions.d.ts +1 -1
  4. package/dist/__testutils__/testFixtures.d.ts +1 -1
  5. package/dist/cli/commands/cdp.js +1 -1
  6. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  7. package/dist/cli/commands/cleanup.js +12 -13
  8. package/dist/cli/commands/cleanup.js.map +1 -1
  9. package/dist/cli/commands/console.js +2 -2
  10. package/dist/cli/commands/details.js +3 -3
  11. package/dist/cli/commands/details.js.map +1 -1
  12. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -1
  13. package/dist/cli/commands/dom/helpers/errorHandler.js +4 -3
  14. package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -1
  15. package/dist/cli/commands/dom/index.js +1 -1
  16. package/dist/cli/commands/dom.d.ts.map +1 -0
  17. package/dist/cli/commands/dom.js +257 -0
  18. package/dist/cli/commands/dom.js.map +1 -0
  19. package/dist/cli/commands/domErrorHandler.d.ts +45 -0
  20. package/dist/cli/commands/domErrorHandler.d.ts.map +1 -0
  21. package/dist/cli/commands/domErrorHandler.js +71 -0
  22. package/dist/cli/commands/domErrorHandler.js.map +1 -0
  23. package/dist/cli/commands/domEvalHelpers.d.ts +52 -0
  24. package/dist/cli/commands/domEvalHelpers.d.ts.map +1 -0
  25. package/dist/cli/commands/domEvalHelpers.js +76 -0
  26. package/dist/cli/commands/domEvalHelpers.js.map +1 -0
  27. package/dist/cli/commands/domOptionsBuilder.d.ts +35 -0
  28. package/dist/cli/commands/domOptionsBuilder.d.ts.map +1 -0
  29. package/dist/cli/commands/domOptionsBuilder.js +51 -0
  30. package/dist/cli/commands/domOptionsBuilder.js.map +1 -0
  31. package/dist/cli/{collectors/helpers/selectorParser.d.ts → commands/domSelectorParser.d.ts} +1 -1
  32. package/dist/cli/commands/domSelectorParser.d.ts.map +1 -0
  33. package/dist/cli/{collectors/helpers/selectorParser.js → commands/domSelectorParser.js} +1 -1
  34. package/dist/cli/commands/domSelectorParser.js.map +1 -0
  35. package/dist/cli/commands/network.d.ts.map +1 -1
  36. package/dist/cli/commands/network.js +8 -5
  37. package/dist/cli/commands/network.js.map +1 -1
  38. package/dist/cli/commands/peek.d.ts.map +1 -1
  39. package/dist/cli/commands/peek.js +7 -7
  40. package/dist/cli/commands/peek.js.map +1 -1
  41. package/dist/cli/commands/start.d.ts.map +1 -1
  42. package/dist/cli/commands/start.js +19 -2
  43. package/dist/cli/commands/start.js.map +1 -1
  44. package/dist/cli/commands/status.d.ts.map +1 -1
  45. package/dist/cli/commands/status.js +13 -10
  46. package/dist/cli/commands/status.js.map +1 -1
  47. package/dist/cli/commands/stop.d.ts.map +1 -1
  48. package/dist/cli/commands/stop.js +7 -6
  49. package/dist/cli/commands/stop.js.map +1 -1
  50. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  51. package/dist/cli/formatters/previewFormatter.d.ts +1 -1
  52. package/dist/cli/formatters/previewFormatter.js +1 -1
  53. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  54. package/dist/cli/formatters/statusFormatter.d.ts +6 -1
  55. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  56. package/dist/cli/formatters/statusFormatter.js +49 -4
  57. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  58. package/dist/cli/handlers/CommandRunner.d.ts.map +1 -1
  59. package/dist/cli/handlers/CommandRunner.js +5 -5
  60. package/dist/cli/handlers/CommandRunner.js.map +1 -1
  61. package/dist/cli/handlers/OutputBuilder.d.ts +1 -1
  62. package/dist/cli/handlers/daemonSessionController.d.ts +1 -1
  63. package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -1
  64. package/dist/cli/handlers/daemonSessionController.js +16 -45
  65. package/dist/cli/handlers/daemonSessionController.js.map +1 -1
  66. package/dist/cli/handlers/landingPage.d.ts +8 -0
  67. package/dist/cli/handlers/landingPage.d.ts.map +1 -0
  68. package/dist/cli/handlers/landingPage.js +8 -0
  69. package/dist/cli/handlers/landingPage.js.map +1 -0
  70. package/dist/cli/registry.js +10 -10
  71. package/dist/cli/registry.js.map +1 -1
  72. package/dist/collectors/__tests__/network.contract.test.js +25 -10
  73. package/dist/collectors/__tests__/network.contract.test.js.map +1 -1
  74. package/dist/collectors/console.d.ts +1 -1
  75. package/dist/collectors/console.js.map +1 -1
  76. package/dist/collectors/dom.d.ts +1 -1
  77. package/dist/collectors/network.d.ts +1 -1
  78. package/dist/collectors/network.js.map +1 -1
  79. package/dist/commandRegistry.d.ts +11 -0
  80. package/dist/commandRegistry.d.ts.map +1 -0
  81. package/dist/commandRegistry.js +45 -0
  82. package/dist/commandRegistry.js.map +1 -0
  83. package/dist/commands/__tests__/cdp.contract.test.d.ts +24 -0
  84. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
  85. package/dist/commands/__tests__/cdp.contract.test.js +467 -0
  86. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -0
  87. package/dist/commands/cdp.d.ts +8 -0
  88. package/dist/commands/cdp.d.ts.map +1 -0
  89. package/dist/commands/cdp.js +45 -0
  90. package/dist/commands/cdp.js.map +1 -0
  91. package/dist/commands/cleanup.d.ts +8 -0
  92. package/dist/commands/cleanup.d.ts.map +1 -0
  93. package/dist/commands/cleanup.js +129 -0
  94. package/dist/commands/cleanup.js.map +1 -0
  95. package/dist/commands/console.d.ts +8 -0
  96. package/dist/commands/console.d.ts.map +1 -0
  97. package/dist/commands/console.js +92 -0
  98. package/dist/commands/console.js.map +1 -0
  99. package/dist/commands/details.d.ts +8 -0
  100. package/dist/commands/details.d.ts.map +1 -0
  101. package/dist/commands/details.js +68 -0
  102. package/dist/commands/details.js.map +1 -0
  103. package/dist/commands/dom.d.ts +8 -0
  104. package/dist/commands/dom.d.ts.map +1 -0
  105. package/dist/commands/dom.js +257 -0
  106. package/dist/commands/dom.js.map +1 -0
  107. package/dist/commands/domErrorHandler.d.ts +45 -0
  108. package/dist/commands/domErrorHandler.d.ts.map +1 -0
  109. package/dist/commands/domErrorHandler.js +71 -0
  110. package/dist/commands/domErrorHandler.js.map +1 -0
  111. package/dist/commands/domEvalHelpers.d.ts +52 -0
  112. package/dist/commands/domEvalHelpers.d.ts.map +1 -0
  113. package/dist/commands/domEvalHelpers.js +76 -0
  114. package/dist/commands/domEvalHelpers.js.map +1 -0
  115. package/dist/commands/domOptionsBuilder.d.ts +35 -0
  116. package/dist/commands/domOptionsBuilder.d.ts.map +1 -0
  117. package/dist/commands/domOptionsBuilder.js +51 -0
  118. package/dist/commands/domOptionsBuilder.js.map +1 -0
  119. package/dist/commands/domSelectorParser.d.ts +20 -0
  120. package/dist/commands/domSelectorParser.d.ts.map +1 -0
  121. package/dist/commands/domSelectorParser.js +20 -0
  122. package/dist/commands/domSelectorParser.js.map +1 -0
  123. package/dist/commands/network.d.ts +8 -0
  124. package/dist/commands/network.d.ts.map +1 -0
  125. package/dist/commands/network.js +43 -0
  126. package/dist/commands/network.js.map +1 -0
  127. package/dist/commands/peek.d.ts +8 -0
  128. package/dist/commands/peek.d.ts.map +1 -0
  129. package/dist/commands/peek.js +114 -0
  130. package/dist/commands/peek.js.map +1 -0
  131. package/dist/commands/shared/CommandRunner.d.ts +60 -0
  132. package/dist/commands/shared/CommandRunner.d.ts.map +1 -0
  133. package/dist/commands/shared/CommandRunner.js +81 -0
  134. package/dist/commands/shared/CommandRunner.js.map +1 -0
  135. package/dist/commands/shared/OutputBuilder.d.ts +60 -0
  136. package/dist/commands/shared/OutputBuilder.d.ts.map +1 -0
  137. package/dist/commands/shared/OutputBuilder.js +138 -0
  138. package/dist/commands/shared/OutputBuilder.js.map +1 -0
  139. package/dist/commands/shared/commonOptions.d.ts +54 -0
  140. package/dist/commands/shared/commonOptions.d.ts.map +1 -0
  141. package/dist/commands/shared/commonOptions.js +64 -0
  142. package/dist/commands/shared/commonOptions.js.map +1 -0
  143. package/dist/commands/shared/daemonSessionController.d.ts +23 -0
  144. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -0
  145. package/dist/commands/shared/daemonSessionController.js +79 -0
  146. package/dist/commands/shared/daemonSessionController.js.map +1 -0
  147. package/dist/commands/shared/landingPage.d.ts +8 -0
  148. package/dist/commands/shared/landingPage.d.ts.map +1 -0
  149. package/dist/commands/shared/landingPage.js +8 -0
  150. package/dist/commands/shared/landingPage.js.map +1 -0
  151. package/dist/commands/shared/sessionController.d.ts +21 -0
  152. package/dist/commands/shared/sessionController.d.ts.map +1 -0
  153. package/dist/commands/shared/sessionController.js +55 -0
  154. package/dist/commands/shared/sessionController.js.map +1 -0
  155. package/dist/commands/start.d.ts +9 -0
  156. package/dist/commands/start.d.ts.map +1 -0
  157. package/dist/commands/start.js +85 -0
  158. package/dist/commands/start.js.map +1 -0
  159. package/dist/{cli/commands/query.d.ts → commands/status.d.ts} +3 -3
  160. package/dist/commands/status.d.ts.map +1 -0
  161. package/dist/commands/status.js +87 -0
  162. package/dist/commands/status.js.map +1 -0
  163. package/dist/commands/stop.d.ts +8 -0
  164. package/dist/commands/stop.d.ts.map +1 -0
  165. package/dist/commands/stop.js +150 -0
  166. package/dist/commands/stop.js.map +1 -0
  167. package/dist/commands.d.ts +11 -0
  168. package/dist/commands.d.ts.map +1 -0
  169. package/dist/commands.js +45 -0
  170. package/dist/commands.js.map +1 -0
  171. package/dist/connection/__tests__/cdp.contract.test.js +1 -1
  172. package/dist/connection/__tests__/finder.contract.test.js +1 -1
  173. package/dist/connection/__tests__/finder.contract.test.js.map +1 -1
  174. package/dist/connection/cdp.d.ts +1 -1
  175. package/dist/connection/cdp.js.map +1 -1
  176. package/dist/connection/domOperations.d.ts +48 -0
  177. package/dist/connection/domOperations.d.ts.map +1 -0
  178. package/dist/connection/domOperations.js +104 -0
  179. package/dist/connection/domOperations.js.map +1 -0
  180. package/dist/connection/finder.js.map +1 -1
  181. package/dist/connection/launcher.d.ts +7 -3
  182. package/dist/connection/launcher.d.ts.map +1 -1
  183. package/dist/connection/launcher.js +72 -21
  184. package/dist/connection/launcher.js.map +1 -1
  185. package/dist/constants.d.ts +17 -0
  186. package/dist/constants.d.ts.map +1 -1
  187. package/dist/constants.js +28 -0
  188. package/dist/constants.js.map +1 -1
  189. package/dist/daemon/__tests__/ipcServer.contract.test.js +25 -11
  190. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  191. package/dist/daemon/ipcServer.d.ts.map +1 -1
  192. package/dist/daemon/ipcServer.js +86 -6
  193. package/dist/daemon/ipcServer.js.map +1 -1
  194. package/dist/daemon/launcher.d.ts.map +1 -1
  195. package/dist/daemon/launcher.js +8 -6
  196. package/dist/daemon/launcher.js.map +1 -1
  197. package/dist/daemon/startSession.d.ts +2 -2
  198. package/dist/daemon/startSession.d.ts.map +1 -1
  199. package/dist/daemon/startSession.js +12 -11
  200. package/dist/daemon/startSession.js.map +1 -1
  201. package/dist/daemon/worker.d.ts +1 -1
  202. package/dist/daemon/worker.js +97 -41
  203. package/dist/daemon/worker.js.map +1 -1
  204. package/dist/{cli/collectors/helpers/domCache.d.ts → dom/cache.d.ts} +1 -5
  205. package/dist/dom/cache.d.ts.map +1 -0
  206. package/dist/{cli/collectors/helpers/domCache.js → dom/cache.js} +5 -19
  207. package/dist/dom/cache.js.map +1 -0
  208. package/dist/dom/index.d.ts +9 -0
  209. package/dist/dom/index.d.ts.map +1 -0
  210. package/dist/dom/index.js +9 -0
  211. package/dist/dom/index.js.map +1 -0
  212. package/dist/{cli/collectors/helpers/domQuery.d.ts → dom/query.d.ts} +5 -2
  213. package/dist/dom/query.d.ts.map +1 -0
  214. package/dist/{cli/collectors/helpers/domQuery.js → dom/query.js} +11 -7
  215. package/dist/dom/query.js.map +1 -0
  216. package/dist/index.js +117 -35
  217. package/dist/index.js.map +1 -1
  218. package/dist/ipc/__tests__/client.contract.test.js +11 -1
  219. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  220. package/dist/ipc/client.d.ts +4 -4
  221. package/dist/ipc/client.d.ts.map +1 -1
  222. package/dist/ipc/client.js +10 -6
  223. package/dist/ipc/client.js.map +1 -1
  224. package/dist/ipc/commands.d.ts +33 -1
  225. package/dist/ipc/commands.d.ts.map +1 -1
  226. package/dist/ipc/commands.js +4 -0
  227. package/dist/ipc/commands.js.map +1 -1
  228. package/dist/ipc/types.d.ts +34 -3
  229. package/dist/ipc/types.d.ts.map +1 -1
  230. package/dist/ipc/types.js.map +1 -1
  231. package/dist/session/metadata.d.ts +2 -2
  232. package/dist/session/metadata.d.ts.map +1 -1
  233. package/dist/session/output.d.ts +1 -1
  234. package/dist/session/process.d.ts.map +1 -1
  235. package/dist/session/process.js +4 -3
  236. package/dist/session/process.js.map +1 -1
  237. package/dist/session/queryCache.d.ts +36 -0
  238. package/dist/session/queryCache.d.ts.map +1 -0
  239. package/dist/session/queryCache.js +66 -0
  240. package/dist/session/queryCache.js.map +1 -0
  241. package/dist/telemetry/__tests__/network.contract.test.d.ts +28 -0
  242. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -0
  243. package/dist/telemetry/__tests__/network.contract.test.js +540 -0
  244. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -0
  245. package/dist/telemetry/console.d.ts +19 -0
  246. package/dist/telemetry/console.d.ts.map +1 -0
  247. package/dist/telemetry/console.js +87 -0
  248. package/dist/telemetry/console.js.map +1 -0
  249. package/dist/telemetry/dom.d.ts +21 -0
  250. package/dist/telemetry/dom.d.ts.map +1 -0
  251. package/dist/telemetry/dom.js +99 -0
  252. package/dist/telemetry/dom.js.map +1 -0
  253. package/dist/telemetry/network.d.ts +33 -0
  254. package/dist/telemetry/network.d.ts.map +1 -0
  255. package/dist/telemetry/network.js +191 -0
  256. package/dist/telemetry/network.js.map +1 -0
  257. package/dist/types.d.ts +1 -1
  258. package/dist/ui/formatters/cookies.d.ts +32 -0
  259. package/dist/ui/formatters/cookies.d.ts.map +1 -0
  260. package/dist/ui/formatters/cookies.js +48 -0
  261. package/dist/ui/formatters/cookies.js.map +1 -0
  262. package/dist/ui/formatters/details.d.ts +10 -0
  263. package/dist/ui/formatters/details.d.ts.map +1 -0
  264. package/dist/ui/formatters/details.js +63 -0
  265. package/dist/ui/formatters/details.js.map +1 -0
  266. package/dist/ui/formatters/index.d.ts +10 -0
  267. package/dist/ui/formatters/index.d.ts.map +1 -0
  268. package/dist/ui/formatters/index.js +10 -0
  269. package/dist/ui/formatters/index.js.map +1 -0
  270. package/dist/ui/formatters/preview.d.ts +25 -0
  271. package/dist/ui/formatters/preview.d.ts.map +1 -0
  272. package/dist/ui/formatters/preview.js +177 -0
  273. package/dist/ui/formatters/preview.js.map +1 -0
  274. package/dist/ui/formatters/status.d.ts +39 -0
  275. package/dist/ui/formatters/status.d.ts.map +1 -0
  276. package/dist/ui/formatters/status.js +153 -0
  277. package/dist/ui/formatters/status.js.map +1 -0
  278. package/dist/ui/formatting.d.ts +197 -0
  279. package/dist/ui/formatting.d.ts.map +1 -0
  280. package/dist/ui/formatting.js +318 -0
  281. package/dist/ui/formatting.js.map +1 -0
  282. package/dist/ui/messages/chrome.d.ts +102 -0
  283. package/dist/ui/messages/chrome.d.ts.map +1 -0
  284. package/dist/ui/messages/chrome.js +162 -0
  285. package/dist/ui/messages/chrome.js.map +1 -0
  286. package/dist/ui/messages/commands.d.ts +88 -0
  287. package/dist/ui/messages/commands.d.ts.map +1 -0
  288. package/dist/ui/messages/commands.js +150 -0
  289. package/dist/ui/messages/commands.js.map +1 -0
  290. package/dist/ui/messages/consoleMessages.d.ts +39 -0
  291. package/dist/ui/messages/consoleMessages.d.ts.map +1 -0
  292. package/dist/ui/messages/consoleMessages.js +48 -0
  293. package/dist/ui/messages/consoleMessages.js.map +1 -0
  294. package/dist/ui/messages/debug.d.ts +180 -0
  295. package/dist/ui/messages/debug.d.ts.map +1 -0
  296. package/dist/ui/messages/debug.js +241 -0
  297. package/dist/ui/messages/debug.js.map +1 -0
  298. package/dist/ui/messages/errors.d.ts +80 -0
  299. package/dist/ui/messages/errors.d.ts.map +1 -0
  300. package/dist/ui/messages/errors.js +122 -0
  301. package/dist/ui/messages/errors.js.map +1 -0
  302. package/dist/ui/messages/index.d.ts +12 -0
  303. package/dist/ui/messages/index.d.ts.map +1 -0
  304. package/dist/ui/messages/index.js +12 -0
  305. package/dist/ui/messages/index.js.map +1 -0
  306. package/dist/ui/messages/internal.d.ts +30 -0
  307. package/dist/ui/messages/internal.d.ts.map +1 -0
  308. package/dist/ui/messages/internal.js +42 -0
  309. package/dist/ui/messages/internal.js.map +1 -0
  310. package/dist/ui/messages/preview.d.ts +27 -0
  311. package/dist/ui/messages/preview.d.ts.map +1 -0
  312. package/dist/ui/messages/preview.js +45 -0
  313. package/dist/ui/messages/preview.js.map +1 -0
  314. package/dist/ui/messages/session.d.ts +54 -0
  315. package/dist/ui/messages/session.d.ts.map +1 -0
  316. package/dist/ui/messages/session.js +77 -0
  317. package/dist/ui/messages/session.js.map +1 -0
  318. package/dist/ui/messages/validation.d.ts +20 -0
  319. package/dist/ui/messages/validation.d.ts.map +1 -0
  320. package/dist/ui/messages/validation.js +22 -0
  321. package/dist/ui/messages/validation.js.map +1 -0
  322. package/dist/utils/__tests__/filters.unit.test.js +1 -1
  323. package/dist/utils/cdpHandlers.d.ts +1 -1
  324. package/dist/utils/cdpHandlers.js +1 -1
  325. package/dist/utils/chromeDiagnostics.d.ts +0 -12
  326. package/dist/utils/chromeDiagnostics.d.ts.map +1 -1
  327. package/dist/utils/chromeDiagnostics.js +0 -51
  328. package/dist/utils/chromeDiagnostics.js.map +1 -1
  329. package/dist/utils/http.d.ts +1 -1
  330. package/dist/utils/http.js.map +1 -1
  331. package/dist/utils/logger.d.ts +68 -12
  332. package/dist/utils/logger.d.ts.map +1 -1
  333. package/dist/utils/logger.js +62 -12
  334. package/dist/utils/logger.js.map +1 -1
  335. package/dist/utils/pageReadiness.d.ts +51 -0
  336. package/dist/utils/pageReadiness.d.ts.map +1 -0
  337. package/dist/utils/pageReadiness.js +271 -0
  338. package/dist/utils/pageReadiness.js.map +1 -0
  339. package/dist/utils/ui.d.ts +36 -0
  340. package/dist/utils/ui.d.ts.map +1 -0
  341. package/dist/utils/ui.js +47 -0
  342. package/dist/utils/ui.js.map +1 -0
  343. package/dist/utils/url.d.ts +6 -24
  344. package/dist/utils/url.d.ts.map +1 -1
  345. package/dist/utils/url.js +6 -67
  346. package/dist/utils/url.js.map +1 -1
  347. package/package.json +1 -1
  348. package/dist/cli/collectors/dom.d.ts.map +0 -1
  349. package/dist/cli/collectors/dom.js +0 -361
  350. package/dist/cli/collectors/dom.js.map +0 -1
  351. package/dist/cli/collectors/helpers/domCache.d.ts.map +0 -1
  352. package/dist/cli/collectors/helpers/domCache.js.map +0 -1
  353. package/dist/cli/collectors/helpers/domQuery.d.ts.map +0 -1
  354. package/dist/cli/collectors/helpers/domQuery.js.map +0 -1
  355. package/dist/cli/collectors/helpers/selectorParser.d.ts.map +0 -1
  356. package/dist/cli/collectors/helpers/selectorParser.js.map +0 -1
  357. package/dist/cli/commands/__tests__/ipcTest.test.d.ts +0 -2
  358. package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +0 -1
  359. package/dist/cli/commands/__tests__/ipcTest.test.js +0 -37
  360. package/dist/cli/commands/__tests__/ipcTest.test.js.map +0 -1
  361. package/dist/cli/commands/ipcTest.d.ts +0 -23
  362. package/dist/cli/commands/ipcTest.d.ts.map +0 -1
  363. package/dist/cli/commands/ipcTest.js +0 -181
  364. package/dist/cli/commands/ipcTest.js.map +0 -1
  365. package/dist/cli/commands/query.d.ts.map +0 -1
  366. package/dist/cli/commands/query.js +0 -127
  367. package/dist/cli/commands/query.js.map +0 -1
  368. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  369. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  370. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  371. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  372. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  373. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  374. package/dist/cli/handlers/OutputWriter.js +0 -34
  375. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  376. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  377. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  378. package/dist/cli/handlers/PreviewWriter.js +0 -119
  379. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  380. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  381. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  382. package/dist/cli/handlers/SessionLock.js +0 -38
  383. package/dist/cli/handlers/SessionLock.js.map +0 -1
  384. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  385. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  386. package/dist/cli/handlers/SessionLoop.js +0 -47
  387. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  388. package/dist/cli/handlers/ShutdownController.d.ts +0 -38
  389. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  390. package/dist/cli/handlers/ShutdownController.js +0 -83
  391. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  392. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  393. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  394. package/dist/cli/handlers/SignalHandler.js +0 -81
  395. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  396. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  397. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  398. package/dist/cli/handlers/TargetSetup.js +0 -87
  399. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  400. package/dist/connection/__tests__/tabs.contract.test.d.ts +0 -2
  401. package/dist/connection/__tests__/tabs.contract.test.d.ts.map +0 -1
  402. package/dist/connection/__tests__/tabs.contract.test.js +0 -137
  403. package/dist/connection/__tests__/tabs.contract.test.js.map +0 -1
  404. package/dist/connection/tabs.d.ts +0 -82
  405. package/dist/connection/tabs.d.ts.map +0 -1
  406. package/dist/connection/tabs.js +0 -577
  407. package/dist/connection/tabs.js.map +0 -1
  408. package/dist/session/BdgSession.d.ts +0 -129
  409. package/dist/session/BdgSession.d.ts.map +0 -1
  410. package/dist/session/BdgSession.js +0 -270
  411. package/dist/session/BdgSession.js.map +0 -1
  412. package/dist/session/index.d.ts +0 -15
  413. package/dist/session/index.d.ts.map +0 -1
  414. package/dist/session/index.js +0 -23
  415. package/dist/session/index.js.map +0 -1
  416. package/dist/utils/validation.d.ts +0 -12
  417. package/dist/utils/validation.d.ts.map +0 -1
  418. package/dist/utils/validation.js +0 -20
  419. package/dist/utils/validation.js.map +0 -1
  420. /package/dist/cli/{collectors → commands}/dom.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/ui/formatters/details.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Data formatters for human-readable output.
3
+ *
4
+ * Re-exports all formatter modules for easy importing.
5
+ */
6
+ export * from './cookies.js';
7
+ export * from './status.js';
8
+ export * from './preview.js';
9
+ export * from './details.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Data formatters for human-readable output.
3
+ *
4
+ * Re-exports all formatter modules for easy importing.
5
+ */
6
+ export * from './cookies.js';
7
+ export * from './status.js';
8
+ export * from './preview.js';
9
+ export * from './details.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { BdgOutput } from '../../types';
2
+ /**
3
+ * Flags that shape how preview output is rendered for `bdg peek`.
4
+ */
5
+ export interface PreviewOptions {
6
+ /** Emit raw JSON instead of formatted text. */
7
+ json?: boolean;
8
+ /** Limit output to network requests (ignores console data). */
9
+ network?: boolean;
10
+ /** Limit output to console messages (ignores network data). */
11
+ console?: boolean;
12
+ /** Number of recent entries to include (parsed as integer). */
13
+ last: string;
14
+ /** Use the expanded, human-friendly layout. */
15
+ verbose?: boolean;
16
+ /** Stream updates until interrupted (tail-like behaviour). */
17
+ follow?: boolean;
18
+ /** Current view timestamp (for follow mode to show refresh time). */
19
+ viewedAt?: Date;
20
+ }
21
+ /**
22
+ * Format preview output (peek command)
23
+ */
24
+ export declare function formatPreview(output: BdgOutput, options: PreviewOptions): string;
25
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AASzC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAMhF"}
@@ -0,0 +1,177 @@
1
+ import { truncateUrl, truncateText } from '../../ui/formatting.js';
2
+ import { PREVIEW_EMPTY_STATES, PREVIEW_HEADERS, compactTipsMessage, verboseCommandsMessage, } from '../../ui/messages/preview.js';
3
+ /**
4
+ * Format preview output (peek command)
5
+ */
6
+ export function formatPreview(output, options) {
7
+ if (options.json) {
8
+ return formatPreviewAsJson(output, options);
9
+ }
10
+ return formatPreviewHumanReadable(output, options);
11
+ }
12
+ /**
13
+ * Format preview as JSON
14
+ *
15
+ * Returns the output wrapped in a preview object to maintain the
16
+ * IPC response structure (.preview.data path for JSON consumers).
17
+ */
18
+ function formatPreviewAsJson(output, options) {
19
+ const jsonOutput = {
20
+ ...output,
21
+ };
22
+ // Apply filters
23
+ if (options.network) {
24
+ delete jsonOutput.data.console;
25
+ }
26
+ if (options.console) {
27
+ delete jsonOutput.data.network;
28
+ }
29
+ // Apply --last limit
30
+ const lastCount = parseInt(options.last);
31
+ if (jsonOutput.data.network && jsonOutput.data.network.length > lastCount) {
32
+ jsonOutput.data.network = jsonOutput.data.network.slice(-lastCount);
33
+ }
34
+ if (jsonOutput.data.console && jsonOutput.data.console.length > lastCount) {
35
+ jsonOutput.data.console = jsonOutput.data.console.slice(-lastCount);
36
+ }
37
+ // Wrap in preview object to maintain .preview.data path for JSON consumers
38
+ return JSON.stringify({ preview: jsonOutput }, null, 2);
39
+ }
40
+ /**
41
+ * Format preview as human-readable output
42
+ */
43
+ function formatPreviewHumanReadable(output, options) {
44
+ // Use verbose format if requested, otherwise use compact
45
+ if (options.verbose) {
46
+ return formatPreviewVerbose(output, options);
47
+ }
48
+ return formatPreviewCompact(output, options);
49
+ }
50
+ /**
51
+ * Format preview in compact format (default)
52
+ * Token-efficient output optimized for AI agents
53
+ */
54
+ function formatPreviewCompact(output, options) {
55
+ const lines = [];
56
+ // Header with data collection timestamp
57
+ lines.push(`PREVIEW | Duration: ${Math.floor(output.duration / 1000)}s | Updated: ${output.timestamp}`);
58
+ // In follow mode, add current refresh time to show live updates
59
+ if (options.follow && options.viewedAt) {
60
+ lines.push(`Viewed at: ${options.viewedAt.toISOString()}`);
61
+ }
62
+ lines.push('');
63
+ const lastCount = parseInt(options.last);
64
+ const hasNetworkData = output.data.network && output.data.network.length > 0;
65
+ const hasConsoleData = output.data.console && output.data.console.length > 0;
66
+ // Show network requests only if not filtered out or has data
67
+ if (!options.console && output.data.network) {
68
+ // Hide empty section if console filter is active and there's no network data
69
+ if (options.console === undefined || hasNetworkData) {
70
+ const requests = output.data.network.slice(-lastCount);
71
+ lines.push(`NETWORK (${requests.length}/${output.data.network.length}):`);
72
+ if (requests.length === 0) {
73
+ lines.push(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
74
+ }
75
+ else {
76
+ requests.forEach((req) => {
77
+ const status = req.status ?? 'pending';
78
+ const url = truncateUrl(req.url, 50);
79
+ lines.push(` ${status} ${req.method} ${url} [${req.requestId}]`);
80
+ });
81
+ }
82
+ lines.push('');
83
+ }
84
+ }
85
+ // Show console messages only if not filtered out or has data
86
+ if (!options.network && output.data.console) {
87
+ // Hide empty section if network filter is active and there's no console data
88
+ if (options.network === undefined || hasConsoleData) {
89
+ const messages = output.data.console.slice(-lastCount);
90
+ lines.push(`CONSOLE (${messages.length}/${output.data.console.length}):`);
91
+ if (messages.length === 0) {
92
+ lines.push(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
93
+ }
94
+ else {
95
+ messages.forEach((msg) => {
96
+ const prefix = msg.type.toUpperCase().padEnd(5);
97
+ const text = truncateText(msg.text, 2);
98
+ lines.push(` ${prefix} ${text}`);
99
+ });
100
+ }
101
+ lines.push('');
102
+ }
103
+ }
104
+ // Suppress tips in follow mode to reduce screen clutter during live updates
105
+ if (!options.follow) {
106
+ lines.push(compactTipsMessage());
107
+ }
108
+ return lines.join('\n');
109
+ }
110
+ /**
111
+ * Format preview in verbose format (opt-in with --verbose)
112
+ * Original human-friendly output with Unicode formatting
113
+ */
114
+ function formatPreviewVerbose(output, options) {
115
+ const lines = [];
116
+ lines.push(PREVIEW_HEADERS.LIVE_PREVIEW);
117
+ lines.push('━'.repeat(50));
118
+ lines.push(`Duration: ${Math.floor(output.duration / 1000)}s`);
119
+ lines.push(`Last updated: ${output.timestamp}`);
120
+ // In follow mode, add current refresh time to show live updates
121
+ if (options.follow && options.viewedAt) {
122
+ lines.push(`Viewed at: ${options.viewedAt.toISOString()}`);
123
+ }
124
+ lines.push('');
125
+ const lastCount = parseInt(options.last);
126
+ const hasNetworkData = output.data.network && output.data.network.length > 0;
127
+ const hasConsoleData = output.data.console && output.data.console.length > 0;
128
+ // Show network requests only if not filtered out or has data
129
+ if (!options.console && output.data.network) {
130
+ // Hide empty section if console filter is active and there's no network data
131
+ if (options.console === undefined || hasNetworkData) {
132
+ const requests = output.data.network.slice(-lastCount);
133
+ lines.push(`Network Requests (last ${requests.length} of ${output.data.network.length})`);
134
+ lines.push('━'.repeat(50));
135
+ if (requests.length === 0) {
136
+ lines.push(PREVIEW_EMPTY_STATES.NO_NETWORK_REQUESTS);
137
+ }
138
+ else {
139
+ requests.forEach((req) => {
140
+ const statusColor = req.status && req.status >= 400 ? 'ERR' : 'OK';
141
+ const status = req.status ?? 'pending';
142
+ lines.push(`${statusColor} ${status} ${req.method} ${req.url}`);
143
+ if (req.mimeType) {
144
+ lines.push(` Type: ${req.mimeType}`);
145
+ }
146
+ lines.push(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
147
+ });
148
+ }
149
+ lines.push('');
150
+ }
151
+ }
152
+ // Show console messages only if not filtered out or has data
153
+ if (!options.network && output.data.console) {
154
+ // Hide empty section if network filter is active and there's no console data
155
+ if (options.network === undefined || hasConsoleData) {
156
+ const messages = output.data.console.slice(-lastCount);
157
+ lines.push(`Console Messages (last ${messages.length} of ${output.data.console.length})`);
158
+ lines.push('━'.repeat(50));
159
+ if (messages.length === 0) {
160
+ lines.push(PREVIEW_EMPTY_STATES.NO_CONSOLE_MESSAGES);
161
+ }
162
+ else {
163
+ messages.forEach((msg) => {
164
+ const icon = msg.type === 'error' ? 'ERR' : msg.type === 'warning' ? 'WARN' : 'INFO';
165
+ lines.push(`${icon} [${msg.type}] ${msg.text}`);
166
+ });
167
+ }
168
+ lines.push('');
169
+ }
170
+ }
171
+ // Suppress tips in follow mode to reduce screen clutter during live updates
172
+ if (!options.follow) {
173
+ lines.push(verboseCommandsMessage());
174
+ }
175
+ return lines.join('\n');
176
+ }
177
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { SessionActivity, PageState } from '../../ipc/types.js';
2
+ import type { SessionMetadata } from '../../session/metadata.js';
3
+ export interface StatusData {
4
+ version: string;
5
+ active: boolean;
6
+ bdgPid?: number;
7
+ chromePid?: number | undefined;
8
+ chromeAlive?: boolean;
9
+ startTime?: number;
10
+ duration?: number;
11
+ durationFormatted?: string;
12
+ port?: number;
13
+ targetId?: string | undefined;
14
+ webSocketDebuggerUrl?: string | undefined;
15
+ telemetry?: string[];
16
+ stale?: boolean;
17
+ stalePid?: number;
18
+ warning?: string;
19
+ activity?: SessionActivity;
20
+ pageState?: PageState;
21
+ }
22
+ /**
23
+ * Format session status for human-readable output
24
+ * @param metadata - Session metadata
25
+ * @param pid - BDG process ID
26
+ * @param activity - Live activity metrics from worker
27
+ * @param pageState - Current page state from worker
28
+ * @param verbose - Show detailed Chrome diagnostics
29
+ */
30
+ export declare function formatSessionStatus(metadata: SessionMetadata, pid: number, activity?: SessionActivity, pageState?: PageState, verbose?: boolean): string;
31
+ /**
32
+ * Convert status data to JSON format
33
+ */
34
+ export declare function formatStatusAsJson(metadata: SessionMetadata | null, pid: number | null): StatusData;
35
+ /**
36
+ * Format "no session" message
37
+ */
38
+ export declare function formatNoSessionMessage(): string;
39
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAcD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,UAAQ,GACd,MAAM,CAuFR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C"}
@@ -0,0 +1,153 @@
1
+ import { isProcessAlive } from '../../session/process.js';
2
+ import { formatDiagnosticsForStatus } from '../../ui/messages/chrome.js';
3
+ import { getChromeDiagnostics } from '../../utils/chromeDiagnostics.js';
4
+ import { VERSION } from '../../utils/version.js';
5
+ /**
6
+ * Format "time ago" string from timestamp
7
+ */
8
+ function formatTimeAgo(timestamp) {
9
+ const secondsAgo = Math.floor((Date.now() - timestamp) / 1000);
10
+ if (secondsAgo < 60)
11
+ return `${secondsAgo}s ago`;
12
+ const minutesAgo = Math.floor(secondsAgo / 60);
13
+ if (minutesAgo < 60)
14
+ return `${minutesAgo}m ago`;
15
+ const hoursAgo = Math.floor(minutesAgo / 60);
16
+ return `${hoursAgo}h ago`;
17
+ }
18
+ /**
19
+ * Format session status for human-readable output
20
+ * @param metadata - Session metadata
21
+ * @param pid - BDG process ID
22
+ * @param activity - Live activity metrics from worker
23
+ * @param pageState - Current page state from worker
24
+ * @param verbose - Show detailed Chrome diagnostics
25
+ */
26
+ export function formatSessionStatus(metadata, pid, activity, pageState, verbose = false) {
27
+ // Calculate duration
28
+ const now = Date.now();
29
+ const durationMs = now - metadata.startTime;
30
+ const durationSec = Math.floor(durationMs / 1000);
31
+ const minutes = Math.floor(durationSec / 60);
32
+ const seconds = durationSec % 60;
33
+ const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
34
+ // Check if Chrome is alive
35
+ const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
36
+ const lines = [];
37
+ lines.push('Session Status');
38
+ lines.push('━'.repeat(50));
39
+ lines.push(`Status: ACTIVE`);
40
+ lines.push(`Duration: ${durationFormatted}`);
41
+ lines.push('');
42
+ lines.push('Process Information');
43
+ lines.push('━'.repeat(50));
44
+ lines.push(`Daemon PID: ${pid}`);
45
+ if (metadata.chromePid) {
46
+ lines.push(`Chrome PID: ${metadata.chromePid} ${chromeAlive ? '(running)' : '(not running)'}`);
47
+ }
48
+ lines.push(`Port: ${metadata.port}`);
49
+ // Target Information (from live worker data)
50
+ if (pageState) {
51
+ lines.push('');
52
+ lines.push('Target Information');
53
+ lines.push('━'.repeat(50));
54
+ lines.push(`URL: ${pageState.url}`);
55
+ if (pageState.title) {
56
+ lines.push(`Title: ${pageState.title}`);
57
+ }
58
+ }
59
+ // Activity Section (from live worker data)
60
+ if (activity) {
61
+ lines.push('');
62
+ lines.push('Activity');
63
+ lines.push('━'.repeat(50));
64
+ lines.push(`Network Requests: ${activity.networkRequestsCaptured} captured`);
65
+ if (activity.lastNetworkRequestAt) {
66
+ lines.push(` Last Request: ${formatTimeAgo(activity.lastNetworkRequestAt)}`);
67
+ }
68
+ lines.push(`Console Messages: ${activity.consoleMessagesCaptured} captured`);
69
+ if (activity.lastConsoleMessageAt) {
70
+ lines.push(` Last Message: ${formatTimeAgo(activity.lastConsoleMessageAt)}`);
71
+ }
72
+ }
73
+ // Telemetry Section
74
+ lines.push('');
75
+ lines.push('Collectors');
76
+ lines.push('━'.repeat(50));
77
+ // Use activeTelemetry from metadata, fallback to all telemetry modules for backward compatibility
78
+ const activeTelemetry = metadata.activeTelemetry ?? ['network', 'console', 'dom'];
79
+ lines.push(`Network: ${activeTelemetry.includes('network') ? 'Active' : 'Inactive'}`);
80
+ lines.push(`Console: ${activeTelemetry.includes('console') ? 'Active' : 'Inactive'}`);
81
+ lines.push(`DOM: ${activeTelemetry.includes('dom') ? 'Active' : 'Inactive'}`);
82
+ // Add verbose Chrome diagnostics if requested
83
+ if (verbose) {
84
+ lines.push('');
85
+ lines.push('Chrome Diagnostics');
86
+ lines.push('━'.repeat(50));
87
+ // Get diagnostics using shared utility (cached to avoid repeated scans)
88
+ const diagnostics = getChromeDiagnostics();
89
+ const diagnosticLines = formatDiagnosticsForStatus(diagnostics);
90
+ lines.push(...diagnosticLines);
91
+ }
92
+ lines.push('');
93
+ lines.push('Commands:');
94
+ lines.push(' Stop session: bdg stop');
95
+ lines.push(' Peek data: bdg peek');
96
+ lines.push(' Query browser: bdg query <script>');
97
+ return lines.join('\n');
98
+ }
99
+ /**
100
+ * Convert status data to JSON format
101
+ */
102
+ export function formatStatusAsJson(metadata, pid) {
103
+ if (!pid) {
104
+ return { version: VERSION, active: false };
105
+ }
106
+ const isAlive = isProcessAlive(pid);
107
+ if (!isAlive) {
108
+ return { version: VERSION, active: false, stale: true, stalePid: pid };
109
+ }
110
+ if (!metadata) {
111
+ return {
112
+ version: VERSION,
113
+ active: true,
114
+ bdgPid: pid,
115
+ warning: 'Metadata not found (session may be from older version)',
116
+ };
117
+ }
118
+ // Calculate duration
119
+ const now = Date.now();
120
+ const durationMs = now - metadata.startTime;
121
+ const durationSec = Math.floor(durationMs / 1000);
122
+ const minutes = Math.floor(durationSec / 60);
123
+ const seconds = durationSec % 60;
124
+ const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
125
+ // Check if Chrome is alive
126
+ const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
127
+ return {
128
+ version: VERSION,
129
+ active: true,
130
+ bdgPid: pid,
131
+ chromePid: metadata.chromePid,
132
+ chromeAlive,
133
+ startTime: metadata.startTime,
134
+ duration: durationMs,
135
+ durationFormatted,
136
+ port: metadata.port,
137
+ targetId: metadata.targetId,
138
+ webSocketDebuggerUrl: metadata.webSocketDebuggerUrl,
139
+ // Use activeTelemetry from metadata, fallback to all telemetry types for backward compatibility
140
+ telemetry: metadata.activeTelemetry ?? ['network', 'console', 'dom'],
141
+ };
142
+ }
143
+ /**
144
+ * Format "no session" message
145
+ */
146
+ export function formatNoSessionMessage() {
147
+ return `No active session found
148
+
149
+ Suggestions:
150
+ Start a new session: bdg <url>
151
+ List Chrome tabs: bdg tabs`;
152
+ }
153
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Shared formatting utilities for UI output.
3
+ *
4
+ * This module provides low-level formatting helpers used across all UI components.
5
+ * Includes: separators, sections, lists, key-value pairs, text utilities, and time formatting.
6
+ */
7
+ /**
8
+ * Create a horizontal separator line.
9
+ *
10
+ * @param char - Character to use for separator (default: '━')
11
+ * @param width - Width of separator in characters (default: 50)
12
+ * @returns Separator string
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * separator() // → '━━━━━━...' (50 chars)
17
+ * separator('-', 20) // → '--------------------'
18
+ * ```
19
+ */
20
+ export declare function separator(char?: string, width?: number): string;
21
+ /**
22
+ * Create a titled section with content lines.
23
+ *
24
+ * @param title - Section title
25
+ * @param content - Array of content lines (will be indented)
26
+ * @param indent - Number of spaces to indent content (default: 2)
27
+ * @returns Formatted section string
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * section('Process Info:', [
32
+ * 'Daemon PID: 12345',
33
+ * 'Chrome PID: 67890'
34
+ * ])
35
+ * // →
36
+ * // Process Info:
37
+ * // Daemon PID: 12345
38
+ * // Chrome PID: 67890
39
+ * ```
40
+ */
41
+ export declare function section(title: string, content: string[], indent?: number): string;
42
+ /**
43
+ * Create a bullet list with optional indentation.
44
+ *
45
+ * @param items - Array of list items
46
+ * @param indent - Number of spaces to indent (default: 2)
47
+ * @param bullet - Bullet character (default: '-')
48
+ * @returns Formatted bullet list
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * bulletList(['Item 1', 'Item 2'], 2, '•')
53
+ * // →
54
+ * // • Item 1
55
+ * // • Item 2
56
+ * ```
57
+ */
58
+ export declare function bulletList(items: string[], indent?: number, bullet?: string): string;
59
+ /**
60
+ * Create a key-value pair with alignment.
61
+ *
62
+ * @param key - Key string
63
+ * @param value - Value string
64
+ * @param keyWidth - Width to pad key to (default: auto)
65
+ * @returns Formatted key-value pair
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * keyValue('Status', 'Active', 15)
70
+ * // → 'Status: Active'
71
+ * ```
72
+ */
73
+ export declare function keyValue(key: string, value: string, keyWidth?: number): string;
74
+ /**
75
+ * Indent text by a number of spaces.
76
+ *
77
+ * @param text - Text to indent (can be multiline)
78
+ * @param spaces - Number of spaces to indent
79
+ * @returns Indented text
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * indent('Line 1\nLine 2', 4)
84
+ * // →
85
+ * // Line 1
86
+ * // Line 2
87
+ * ```
88
+ */
89
+ export declare function indent(text: string, spaces: number): string;
90
+ /**
91
+ * Truncate text to maximum length with ellipsis.
92
+ *
93
+ * @param text - Text to truncate
94
+ * @param maxLength - Maximum length
95
+ * @returns Truncated text
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * truncate('Very long text here', 10)
100
+ * // → 'Very lo...'
101
+ * ```
102
+ */
103
+ export declare function truncate(text: string, maxLength: number): string;
104
+ /**
105
+ * Truncate console message text (especially stack traces).
106
+ *
107
+ * @param text - The console message text
108
+ * @param maxLines - Maximum number of lines to show (default: 3)
109
+ * @returns Truncated text with line count
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * truncateText('Line 1\nLine 2\nLine 3\nLine 4\nLine 5', 3)
114
+ * // →
115
+ * // Line 1
116
+ * // Line 2
117
+ * // Line 3
118
+ * // ... (2 more lines)
119
+ * ```
120
+ */
121
+ export declare function truncateText(text: string, maxLines?: number): string;
122
+ /**
123
+ * Truncate a URL for compact display.
124
+ *
125
+ * Removes www. prefix, shortens long paths with ellipsis, and truncates to maxLength.
126
+ *
127
+ * @param url - URL string to truncate
128
+ * @param maxLength - Maximum length of output (default: 60)
129
+ * @returns Truncated URL for display
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * truncateUrl('https://i.clarity.ms/collect')
134
+ * // → 'clarity.ms/collect'
135
+ * truncateUrl('https://aswpapius.com/api/web-channels/47d7def8-d602-49ec-bfdb-c959b1346774')
136
+ * // → 'aswpapius.com/.../47d7def8'
137
+ * ```
138
+ */
139
+ export declare function truncateUrl(url: string, maxLength?: number): string;
140
+ /**
141
+ * Pluralize a word based on count.
142
+ *
143
+ * @param count - Number of items
144
+ * @param singular - Singular form of word
145
+ * @param plural - Plural form of word (optional, defaults to singular + 's')
146
+ * @returns Formatted count with correct word form
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * pluralize(1, 'request') // → '1 request'
151
+ * pluralize(5, 'request') // → '5 requests'
152
+ * pluralize(0, 'entry', 'entries') // → '0 entries'
153
+ * ```
154
+ */
155
+ export declare function pluralize(count: number, singular: string, plural?: string): string;
156
+ /**
157
+ * Format duration in milliseconds to human-readable string.
158
+ *
159
+ * @param ms - Duration in milliseconds
160
+ * @returns Formatted duration string
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * formatDuration(1500) // → '1.5s'
165
+ * formatDuration(65000) // → '1m 5s'
166
+ * formatDuration(3661000) // → '1h 1m'
167
+ * ```
168
+ */
169
+ export declare function formatDuration(ms: number): string;
170
+ /**
171
+ * Format timestamp to ISO string.
172
+ *
173
+ * @param date - Date object or timestamp
174
+ * @returns ISO 8601 formatted string
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * formatTimestamp(new Date())
179
+ * // → '2025-11-05T12:34:56.789Z'
180
+ * ```
181
+ */
182
+ export declare function formatTimestamp(date: Date | number): string;
183
+ /**
184
+ * Format relative time ("time ago").
185
+ *
186
+ * @param date - Date object or timestamp
187
+ * @returns Human-readable relative time
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * formatTimeAgo(Date.now() - 5000) // → '5 seconds ago'
192
+ * formatTimeAgo(Date.now() - 65000) // → '1 minute ago'
193
+ * formatTimeAgo(Date.now() - 3661000) // → '1 hour ago'
194
+ * ```
195
+ */
196
+ export declare function formatTimeAgo(date: Date | number): string;
197
+ //# sourceMappingURL=formatting.d.ts.map