browser-debugger-cli 0.1.0 → 0.3.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 (442) hide show
  1. package/dist/__testfixtures__/cdpMessages.d.ts +1 -1
  2. package/dist/__testfixtures__/connectionTargets.d.ts +1 -1
  3. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +47 -0
  4. package/dist/__tests__/schema.contract.test.d.ts +19 -0
  5. package/dist/__tests__/schema.contract.test.d.ts.map +1 -0
  6. package/dist/__tests__/schema.contract.test.js +236 -0
  7. package/dist/__tests__/schema.contract.test.js.map +1 -0
  8. package/dist/__testutils__/assertions.d.ts +1 -1
  9. package/dist/__testutils__/testFixtures.d.ts +1 -1
  10. package/dist/cli/commands/cdp.js +1 -1
  11. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  12. package/dist/cli/commands/cleanup.js +12 -13
  13. package/dist/cli/commands/cleanup.js.map +1 -1
  14. package/dist/cli/commands/console.js +2 -2
  15. package/dist/cli/commands/details.js +3 -3
  16. package/dist/cli/commands/details.js.map +1 -1
  17. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -1
  18. package/dist/cli/commands/dom/helpers/errorHandler.js +4 -3
  19. package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -1
  20. package/dist/cli/commands/dom/index.js +1 -1
  21. package/dist/cli/commands/dom.d.ts.map +1 -0
  22. package/dist/cli/commands/dom.js +257 -0
  23. package/dist/cli/commands/dom.js.map +1 -0
  24. package/dist/cli/commands/domErrorHandler.d.ts +45 -0
  25. package/dist/cli/commands/domErrorHandler.d.ts.map +1 -0
  26. package/dist/cli/commands/domErrorHandler.js +71 -0
  27. package/dist/cli/commands/domErrorHandler.js.map +1 -0
  28. package/dist/cli/commands/domEvalHelpers.d.ts +52 -0
  29. package/dist/cli/commands/domEvalHelpers.d.ts.map +1 -0
  30. package/dist/cli/commands/domEvalHelpers.js +76 -0
  31. package/dist/cli/commands/domEvalHelpers.js.map +1 -0
  32. package/dist/cli/commands/domOptionsBuilder.d.ts +35 -0
  33. package/dist/cli/commands/domOptionsBuilder.d.ts.map +1 -0
  34. package/dist/cli/commands/domOptionsBuilder.js +51 -0
  35. package/dist/cli/commands/domOptionsBuilder.js.map +1 -0
  36. package/dist/cli/{collectors/helpers/selectorParser.d.ts → commands/domSelectorParser.d.ts} +1 -1
  37. package/dist/cli/commands/domSelectorParser.d.ts.map +1 -0
  38. package/dist/cli/{collectors/helpers/selectorParser.js → commands/domSelectorParser.js} +1 -1
  39. package/dist/cli/commands/domSelectorParser.js.map +1 -0
  40. package/dist/cli/commands/network.d.ts.map +1 -1
  41. package/dist/cli/commands/network.js +8 -5
  42. package/dist/cli/commands/network.js.map +1 -1
  43. package/dist/cli/commands/peek.d.ts.map +1 -1
  44. package/dist/cli/commands/peek.js +7 -7
  45. package/dist/cli/commands/peek.js.map +1 -1
  46. package/dist/cli/commands/start.d.ts.map +1 -1
  47. package/dist/cli/commands/start.js +19 -2
  48. package/dist/cli/commands/start.js.map +1 -1
  49. package/dist/cli/commands/status.d.ts.map +1 -1
  50. package/dist/cli/commands/status.js +13 -10
  51. package/dist/cli/commands/status.js.map +1 -1
  52. package/dist/cli/commands/stop.d.ts.map +1 -1
  53. package/dist/cli/commands/stop.js +7 -6
  54. package/dist/cli/commands/stop.js.map +1 -1
  55. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  56. package/dist/cli/formatters/previewFormatter.d.ts +1 -1
  57. package/dist/cli/formatters/previewFormatter.js +1 -1
  58. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  59. package/dist/cli/formatters/statusFormatter.d.ts +6 -1
  60. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  61. package/dist/cli/formatters/statusFormatter.js +49 -4
  62. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  63. package/dist/cli/handlers/CommandRunner.d.ts.map +1 -1
  64. package/dist/cli/handlers/CommandRunner.js +5 -5
  65. package/dist/cli/handlers/CommandRunner.js.map +1 -1
  66. package/dist/cli/handlers/OutputBuilder.d.ts +1 -1
  67. package/dist/cli/handlers/daemonSessionController.d.ts +1 -1
  68. package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -1
  69. package/dist/cli/handlers/daemonSessionController.js +16 -45
  70. package/dist/cli/handlers/daemonSessionController.js.map +1 -1
  71. package/dist/cli/handlers/landingPage.d.ts +8 -0
  72. package/dist/cli/handlers/landingPage.d.ts.map +1 -0
  73. package/dist/cli/handlers/landingPage.js +8 -0
  74. package/dist/cli/handlers/landingPage.js.map +1 -0
  75. package/dist/cli/registry.js +10 -10
  76. package/dist/cli/registry.js.map +1 -1
  77. package/dist/collectors/__tests__/network.contract.test.js +25 -10
  78. package/dist/collectors/__tests__/network.contract.test.js.map +1 -1
  79. package/dist/collectors/console.d.ts +1 -1
  80. package/dist/collectors/console.js.map +1 -1
  81. package/dist/collectors/dom.d.ts +1 -1
  82. package/dist/collectors/network.d.ts +1 -1
  83. package/dist/collectors/network.js.map +1 -1
  84. package/dist/commandRegistry.d.ts +11 -0
  85. package/dist/commandRegistry.d.ts.map +1 -0
  86. package/dist/commandRegistry.js +45 -0
  87. package/dist/commandRegistry.js.map +1 -0
  88. package/dist/commands/__tests__/cdp.contract.test.d.ts +24 -0
  89. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
  90. package/dist/commands/__tests__/cdp.contract.test.js +466 -0
  91. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -0
  92. package/dist/commands/__tests__/domEval.contract.test.d.ts +17 -0
  93. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +1 -0
  94. package/dist/commands/__tests__/domEval.contract.test.js +231 -0
  95. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -0
  96. package/dist/commands/cdp.d.ts +8 -0
  97. package/dist/commands/cdp.d.ts.map +1 -0
  98. package/dist/commands/cdp.js +45 -0
  99. package/dist/commands/cdp.js.map +1 -0
  100. package/dist/commands/cleanup.d.ts +8 -0
  101. package/dist/commands/cleanup.d.ts.map +1 -0
  102. package/dist/commands/cleanup.js +170 -0
  103. package/dist/commands/cleanup.js.map +1 -0
  104. package/dist/commands/console.d.ts +8 -0
  105. package/dist/commands/console.d.ts.map +1 -0
  106. package/dist/commands/console.js +92 -0
  107. package/dist/commands/console.js.map +1 -0
  108. package/dist/commands/details.d.ts +8 -0
  109. package/dist/commands/details.d.ts.map +1 -0
  110. package/dist/commands/details.js +68 -0
  111. package/dist/commands/details.js.map +1 -0
  112. package/dist/commands/dom.d.ts +8 -0
  113. package/dist/commands/dom.d.ts.map +1 -0
  114. package/dist/commands/dom.js +249 -0
  115. package/dist/commands/dom.js.map +1 -0
  116. package/dist/commands/domErrorHandler.d.ts +45 -0
  117. package/dist/commands/domErrorHandler.d.ts.map +1 -0
  118. package/dist/commands/domErrorHandler.js +71 -0
  119. package/dist/commands/domErrorHandler.js.map +1 -0
  120. package/dist/commands/domEvalHelpers.d.ts +48 -0
  121. package/dist/commands/domEvalHelpers.d.ts.map +1 -0
  122. package/dist/commands/domEvalHelpers.js +72 -0
  123. package/dist/commands/domEvalHelpers.js.map +1 -0
  124. package/dist/commands/domOptionsBuilder.d.ts +35 -0
  125. package/dist/commands/domOptionsBuilder.d.ts.map +1 -0
  126. package/dist/commands/domOptionsBuilder.js +51 -0
  127. package/dist/commands/domOptionsBuilder.js.map +1 -0
  128. package/dist/commands/domSelectorParser.d.ts +20 -0
  129. package/dist/commands/domSelectorParser.d.ts.map +1 -0
  130. package/dist/commands/domSelectorParser.js +20 -0
  131. package/dist/commands/domSelectorParser.js.map +1 -0
  132. package/dist/commands/network.d.ts +8 -0
  133. package/dist/commands/network.d.ts.map +1 -0
  134. package/dist/commands/network.js +41 -0
  135. package/dist/commands/network.js.map +1 -0
  136. package/dist/commands/peek.d.ts +8 -0
  137. package/dist/commands/peek.d.ts.map +1 -0
  138. package/dist/commands/peek.js +115 -0
  139. package/dist/commands/peek.js.map +1 -0
  140. package/dist/commands/shared/CommandRunner.d.ts +62 -0
  141. package/dist/commands/shared/CommandRunner.d.ts.map +1 -0
  142. package/dist/commands/shared/CommandRunner.js +97 -0
  143. package/dist/commands/shared/CommandRunner.js.map +1 -0
  144. package/dist/commands/shared/OutputBuilder.d.ts +60 -0
  145. package/dist/commands/shared/OutputBuilder.d.ts.map +1 -0
  146. package/dist/commands/shared/OutputBuilder.js +138 -0
  147. package/dist/commands/shared/OutputBuilder.js.map +1 -0
  148. package/dist/commands/shared/commonOptions.d.ts +54 -0
  149. package/dist/commands/shared/commonOptions.d.ts.map +1 -0
  150. package/dist/commands/shared/commonOptions.js +65 -0
  151. package/dist/commands/shared/commonOptions.js.map +1 -0
  152. package/dist/commands/shared/daemonSessionController.d.ts +23 -0
  153. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -0
  154. package/dist/commands/shared/daemonSessionController.js +79 -0
  155. package/dist/commands/shared/daemonSessionController.js.map +1 -0
  156. package/dist/commands/shared/landingPage.d.ts +8 -0
  157. package/dist/commands/shared/landingPage.d.ts.map +1 -0
  158. package/dist/commands/shared/landingPage.js +8 -0
  159. package/dist/commands/shared/landingPage.js.map +1 -0
  160. package/dist/commands/shared/sessionController.d.ts +21 -0
  161. package/dist/commands/shared/sessionController.d.ts.map +1 -0
  162. package/dist/commands/shared/sessionController.js +54 -0
  163. package/dist/commands/shared/sessionController.js.map +1 -0
  164. package/dist/commands/start.d.ts +9 -0
  165. package/dist/commands/start.d.ts.map +1 -0
  166. package/dist/commands/start.js +85 -0
  167. package/dist/commands/start.js.map +1 -0
  168. package/dist/{cli/commands/query.d.ts → commands/status.d.ts} +3 -3
  169. package/dist/commands/status.d.ts.map +1 -0
  170. package/dist/commands/status.js +88 -0
  171. package/dist/commands/status.js.map +1 -0
  172. package/dist/commands/stop.d.ts +8 -0
  173. package/dist/commands/stop.d.ts.map +1 -0
  174. package/dist/commands/stop.js +152 -0
  175. package/dist/commands/stop.js.map +1 -0
  176. package/dist/commands.d.ts +11 -0
  177. package/dist/commands.d.ts.map +1 -0
  178. package/dist/commands.js +45 -0
  179. package/dist/commands.js.map +1 -0
  180. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -1
  181. package/dist/connection/__tests__/cdp.contract.test.js +1 -2
  182. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  183. package/dist/connection/__tests__/finder.contract.test.js +1 -1
  184. package/dist/connection/__tests__/finder.contract.test.js.map +1 -1
  185. package/dist/connection/cdp.d.ts +1 -1
  186. package/dist/connection/cdp.js.map +1 -1
  187. package/dist/connection/domOperations.d.ts +48 -0
  188. package/dist/connection/domOperations.d.ts.map +1 -0
  189. package/dist/connection/domOperations.js +104 -0
  190. package/dist/connection/domOperations.js.map +1 -0
  191. package/dist/connection/finder.js.map +1 -1
  192. package/dist/connection/launcher.d.ts +7 -3
  193. package/dist/connection/launcher.d.ts.map +1 -1
  194. package/dist/connection/launcher.js +82 -21
  195. package/dist/connection/launcher.js.map +1 -1
  196. package/dist/constants.d.ts +17 -0
  197. package/dist/constants.d.ts.map +1 -1
  198. package/dist/constants.js +28 -0
  199. package/dist/constants.js.map +1 -1
  200. package/dist/daemon/__tests__/ipcServer.contract.test.js +25 -11
  201. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  202. package/dist/daemon/ipcServer.d.ts.map +1 -1
  203. package/dist/daemon/ipcServer.js +86 -6
  204. package/dist/daemon/ipcServer.js.map +1 -1
  205. package/dist/daemon/launcher.d.ts.map +1 -1
  206. package/dist/daemon/launcher.js +8 -6
  207. package/dist/daemon/launcher.js.map +1 -1
  208. package/dist/daemon/startSession.d.ts +2 -2
  209. package/dist/daemon/startSession.d.ts.map +1 -1
  210. package/dist/daemon/startSession.js +14 -11
  211. package/dist/daemon/startSession.js.map +1 -1
  212. package/dist/daemon/worker.d.ts +1 -1
  213. package/dist/daemon/worker.js +179 -52
  214. package/dist/daemon/worker.js.map +1 -1
  215. package/dist/{cli/collectors/helpers/domCache.d.ts → dom/cache.d.ts} +1 -5
  216. package/dist/dom/cache.d.ts.map +1 -0
  217. package/dist/{cli/collectors/helpers/domCache.js → dom/cache.js} +5 -19
  218. package/dist/dom/cache.js.map +1 -0
  219. package/dist/dom/index.d.ts +9 -0
  220. package/dist/dom/index.d.ts.map +1 -0
  221. package/dist/dom/index.js +9 -0
  222. package/dist/dom/index.js.map +1 -0
  223. package/dist/{cli/collectors/helpers/domQuery.d.ts → dom/query.d.ts} +5 -2
  224. package/dist/dom/query.d.ts.map +1 -0
  225. package/dist/{cli/collectors/helpers/domQuery.js → dom/query.js} +11 -7
  226. package/dist/dom/query.js.map +1 -0
  227. package/dist/index.js +117 -35
  228. package/dist/index.js.map +1 -1
  229. package/dist/ipc/__tests__/client.contract.test.js +11 -1
  230. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  231. package/dist/ipc/client.d.ts +17 -4
  232. package/dist/ipc/client.d.ts.map +1 -1
  233. package/dist/ipc/client.js +26 -6
  234. package/dist/ipc/client.js.map +1 -1
  235. package/dist/ipc/commands.d.ts +52 -1
  236. package/dist/ipc/commands.d.ts.map +1 -1
  237. package/dist/ipc/commands.js +8 -0
  238. package/dist/ipc/commands.js.map +1 -1
  239. package/dist/ipc/types.d.ts +34 -3
  240. package/dist/ipc/types.d.ts.map +1 -1
  241. package/dist/ipc/types.js.map +1 -1
  242. package/dist/session/metadata.d.ts +2 -2
  243. package/dist/session/metadata.d.ts.map +1 -1
  244. package/dist/session/output.d.ts +1 -1
  245. package/dist/session/process.d.ts.map +1 -1
  246. package/dist/session/process.js +4 -3
  247. package/dist/session/process.js.map +1 -1
  248. package/dist/session/queryCache.d.ts +36 -0
  249. package/dist/session/queryCache.d.ts.map +1 -0
  250. package/dist/session/queryCache.js +66 -0
  251. package/dist/session/queryCache.js.map +1 -0
  252. package/dist/telemetry/__tests__/network.contract.test.d.ts +28 -0
  253. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -0
  254. package/dist/telemetry/__tests__/network.contract.test.js +540 -0
  255. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -0
  256. package/dist/telemetry/console.d.ts +19 -0
  257. package/dist/telemetry/console.d.ts.map +1 -0
  258. package/dist/telemetry/console.js +87 -0
  259. package/dist/telemetry/console.js.map +1 -0
  260. package/dist/telemetry/dom.d.ts +21 -0
  261. package/dist/telemetry/dom.d.ts.map +1 -0
  262. package/dist/telemetry/dom.js +99 -0
  263. package/dist/telemetry/dom.js.map +1 -0
  264. package/dist/telemetry/network.d.ts +33 -0
  265. package/dist/telemetry/network.d.ts.map +1 -0
  266. package/dist/telemetry/network.js +191 -0
  267. package/dist/telemetry/network.js.map +1 -0
  268. package/dist/types.d.ts +25 -1
  269. package/dist/types.d.ts.map +1 -1
  270. package/dist/ui/errors.d.ts +39 -0
  271. package/dist/ui/errors.d.ts.map +1 -0
  272. package/dist/ui/errors.js +48 -0
  273. package/dist/ui/errors.js.map +1 -0
  274. package/dist/ui/formatters/cookies.d.ts +32 -0
  275. package/dist/ui/formatters/cookies.d.ts.map +1 -0
  276. package/dist/ui/formatters/cookies.js +45 -0
  277. package/dist/ui/formatters/cookies.js.map +1 -0
  278. package/dist/ui/formatters/details.d.ts +10 -0
  279. package/dist/ui/formatters/details.d.ts.map +1 -0
  280. package/dist/ui/formatters/details.js +61 -0
  281. package/dist/ui/formatters/details.js.map +1 -0
  282. package/dist/ui/formatters/dom.d.ts +135 -0
  283. package/dist/ui/formatters/dom.d.ts.map +1 -0
  284. package/dist/ui/formatters/dom.js +193 -0
  285. package/dist/ui/formatters/dom.js.map +1 -0
  286. package/dist/ui/formatters/index.d.ts +11 -0
  287. package/dist/ui/formatters/index.d.ts.map +1 -0
  288. package/dist/ui/formatters/index.js +11 -0
  289. package/dist/ui/formatters/index.js.map +1 -0
  290. package/dist/ui/formatters/preview.d.ts +25 -0
  291. package/dist/ui/formatters/preview.d.ts.map +1 -0
  292. package/dist/ui/formatters/preview.js +182 -0
  293. package/dist/ui/formatters/preview.js.map +1 -0
  294. package/dist/ui/formatters/status.d.ts +39 -0
  295. package/dist/ui/formatters/status.d.ts.map +1 -0
  296. package/dist/ui/formatters/status.js +153 -0
  297. package/dist/ui/formatters/status.js.map +1 -0
  298. package/dist/ui/formatting.d.ts +300 -0
  299. package/dist/ui/formatting.d.ts.map +1 -0
  300. package/dist/ui/formatting.js +454 -0
  301. package/dist/ui/formatting.js.map +1 -0
  302. package/dist/ui/messages/chrome.d.ts +172 -0
  303. package/dist/ui/messages/chrome.d.ts.map +1 -0
  304. package/dist/ui/messages/chrome.js +253 -0
  305. package/dist/ui/messages/chrome.js.map +1 -0
  306. package/dist/ui/messages/commands.d.ts +88 -0
  307. package/dist/ui/messages/commands.d.ts.map +1 -0
  308. package/dist/ui/messages/commands.js +150 -0
  309. package/dist/ui/messages/commands.js.map +1 -0
  310. package/dist/ui/messages/consoleMessages.d.ts +39 -0
  311. package/dist/ui/messages/consoleMessages.d.ts.map +1 -0
  312. package/dist/ui/messages/consoleMessages.js +48 -0
  313. package/dist/ui/messages/consoleMessages.js.map +1 -0
  314. package/dist/ui/messages/debug.d.ts +182 -0
  315. package/dist/ui/messages/debug.d.ts.map +1 -0
  316. package/dist/ui/messages/debug.js +243 -0
  317. package/dist/ui/messages/debug.js.map +1 -0
  318. package/dist/ui/messages/errors.d.ts +91 -0
  319. package/dist/ui/messages/errors.d.ts.map +1 -0
  320. package/dist/ui/messages/errors.js +135 -0
  321. package/dist/ui/messages/errors.js.map +1 -0
  322. package/dist/ui/messages/index.d.ts +12 -0
  323. package/dist/ui/messages/index.d.ts.map +1 -0
  324. package/dist/ui/messages/index.js +12 -0
  325. package/dist/ui/messages/index.js.map +1 -0
  326. package/dist/ui/messages/internal.d.ts +30 -0
  327. package/dist/ui/messages/internal.d.ts.map +1 -0
  328. package/dist/ui/messages/internal.js +42 -0
  329. package/dist/ui/messages/internal.js.map +1 -0
  330. package/dist/ui/messages/preview.d.ts +51 -0
  331. package/dist/ui/messages/preview.d.ts.map +1 -0
  332. package/dist/ui/messages/preview.js +76 -0
  333. package/dist/ui/messages/preview.js.map +1 -0
  334. package/dist/ui/messages/session.d.ts +54 -0
  335. package/dist/ui/messages/session.d.ts.map +1 -0
  336. package/dist/ui/messages/session.js +77 -0
  337. package/dist/ui/messages/session.js.map +1 -0
  338. package/dist/ui/messages/validation.d.ts +34 -0
  339. package/dist/ui/messages/validation.d.ts.map +1 -0
  340. package/dist/ui/messages/validation.js +38 -0
  341. package/dist/ui/messages/validation.js.map +1 -0
  342. package/dist/utils/__tests__/filters.unit.test.js +1 -1
  343. package/dist/utils/cdpHandlers.d.ts +1 -1
  344. package/dist/utils/cdpHandlers.js +1 -1
  345. package/dist/utils/chromeDiagnostics.d.ts +0 -12
  346. package/dist/utils/chromeDiagnostics.d.ts.map +1 -1
  347. package/dist/utils/chromeDiagnostics.js +0 -51
  348. package/dist/utils/chromeDiagnostics.js.map +1 -1
  349. package/dist/utils/filters.js +1 -1
  350. package/dist/utils/filters.js.map +1 -1
  351. package/dist/utils/http.d.ts +1 -1
  352. package/dist/utils/http.js.map +1 -1
  353. package/dist/utils/logger.d.ts +68 -12
  354. package/dist/utils/logger.d.ts.map +1 -1
  355. package/dist/utils/logger.js +62 -12
  356. package/dist/utils/logger.js.map +1 -1
  357. package/dist/utils/pageReadiness.d.ts +46 -0
  358. package/dist/utils/pageReadiness.d.ts.map +1 -0
  359. package/dist/utils/pageReadiness.js +271 -0
  360. package/dist/utils/pageReadiness.js.map +1 -0
  361. package/dist/utils/ui.d.ts +36 -0
  362. package/dist/utils/ui.d.ts.map +1 -0
  363. package/dist/utils/ui.js +47 -0
  364. package/dist/utils/ui.js.map +1 -0
  365. package/dist/utils/url.d.ts +60 -26
  366. package/dist/utils/url.d.ts.map +1 -1
  367. package/dist/utils/url.js +130 -84
  368. package/dist/utils/url.js.map +1 -1
  369. package/package.json +2 -5
  370. package/dist/cli/collectors/dom.d.ts.map +0 -1
  371. package/dist/cli/collectors/dom.js +0 -361
  372. package/dist/cli/collectors/dom.js.map +0 -1
  373. package/dist/cli/collectors/helpers/domCache.d.ts.map +0 -1
  374. package/dist/cli/collectors/helpers/domCache.js.map +0 -1
  375. package/dist/cli/collectors/helpers/domQuery.d.ts.map +0 -1
  376. package/dist/cli/collectors/helpers/domQuery.js.map +0 -1
  377. package/dist/cli/collectors/helpers/selectorParser.d.ts.map +0 -1
  378. package/dist/cli/collectors/helpers/selectorParser.js.map +0 -1
  379. package/dist/cli/commands/__tests__/ipcTest.test.d.ts +0 -2
  380. package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +0 -1
  381. package/dist/cli/commands/__tests__/ipcTest.test.js +0 -37
  382. package/dist/cli/commands/__tests__/ipcTest.test.js.map +0 -1
  383. package/dist/cli/commands/ipcTest.d.ts +0 -23
  384. package/dist/cli/commands/ipcTest.d.ts.map +0 -1
  385. package/dist/cli/commands/ipcTest.js +0 -181
  386. package/dist/cli/commands/ipcTest.js.map +0 -1
  387. package/dist/cli/commands/query.d.ts.map +0 -1
  388. package/dist/cli/commands/query.js +0 -127
  389. package/dist/cli/commands/query.js.map +0 -1
  390. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  391. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  392. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  393. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  394. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  395. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  396. package/dist/cli/handlers/OutputWriter.js +0 -34
  397. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  398. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  399. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  400. package/dist/cli/handlers/PreviewWriter.js +0 -119
  401. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  402. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  403. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  404. package/dist/cli/handlers/SessionLock.js +0 -38
  405. package/dist/cli/handlers/SessionLock.js.map +0 -1
  406. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  407. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  408. package/dist/cli/handlers/SessionLoop.js +0 -47
  409. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  410. package/dist/cli/handlers/ShutdownController.d.ts +0 -38
  411. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  412. package/dist/cli/handlers/ShutdownController.js +0 -83
  413. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  414. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  415. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  416. package/dist/cli/handlers/SignalHandler.js +0 -81
  417. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  418. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  419. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  420. package/dist/cli/handlers/TargetSetup.js +0 -87
  421. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  422. package/dist/connection/__tests__/tabs.contract.test.d.ts +0 -2
  423. package/dist/connection/__tests__/tabs.contract.test.d.ts.map +0 -1
  424. package/dist/connection/__tests__/tabs.contract.test.js +0 -137
  425. package/dist/connection/__tests__/tabs.contract.test.js.map +0 -1
  426. package/dist/connection/tabs.d.ts +0 -82
  427. package/dist/connection/tabs.d.ts.map +0 -1
  428. package/dist/connection/tabs.js +0 -577
  429. package/dist/connection/tabs.js.map +0 -1
  430. package/dist/session/BdgSession.d.ts +0 -129
  431. package/dist/session/BdgSession.d.ts.map +0 -1
  432. package/dist/session/BdgSession.js +0 -270
  433. package/dist/session/BdgSession.js.map +0 -1
  434. package/dist/session/index.d.ts +0 -15
  435. package/dist/session/index.d.ts.map +0 -1
  436. package/dist/session/index.js +0 -23
  437. package/dist/session/index.js.map +0 -1
  438. package/dist/utils/validation.d.ts +0 -12
  439. package/dist/utils/validation.d.ts.map +0 -1
  440. package/dist/utils/validation.js +0 -20
  441. package/dist/utils/validation.js.map +0 -1
  442. /package/dist/cli/{collectors → commands}/dom.d.ts +0 -0
@@ -0,0 +1,182 @@
1
+ import { OutputFormatter, 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 fmt = new OutputFormatter();
56
+ // Header with data collection timestamp
57
+ fmt.text(`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
+ fmt.text(`Viewed at: ${options.viewedAt.toISOString()}`);
61
+ }
62
+ fmt.blank();
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
+ fmt.text(`NETWORK (${requests.length}/${output.data.network.length}):`);
72
+ if (requests.length === 0) {
73
+ fmt.text(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
74
+ }
75
+ else {
76
+ const networkLines = requests.map((req) => {
77
+ const status = req.status ?? 'pending';
78
+ const url = truncateUrl(req.url, 50);
79
+ return `${status} ${req.method} ${url} [${req.requestId}]`;
80
+ });
81
+ fmt.list(networkLines, 2);
82
+ }
83
+ fmt.blank();
84
+ }
85
+ }
86
+ // Show console messages only if not filtered out or has data
87
+ if (!options.network && output.data.console) {
88
+ // Hide empty section if network filter is active and there's no console data
89
+ if (options.network === undefined || hasConsoleData) {
90
+ const messages = output.data.console.slice(-lastCount);
91
+ fmt.text(`CONSOLE (${messages.length}/${output.data.console.length}):`);
92
+ if (messages.length === 0) {
93
+ fmt.text(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
94
+ }
95
+ else {
96
+ const consoleLines = messages.map((msg) => {
97
+ const prefix = msg.type.toUpperCase().padEnd(5);
98
+ const text = truncateText(msg.text, 2);
99
+ return `${prefix} ${text}`;
100
+ });
101
+ fmt.list(consoleLines, 2);
102
+ }
103
+ fmt.blank();
104
+ }
105
+ }
106
+ // Suppress tips in follow mode to reduce screen clutter during live updates
107
+ if (!options.follow) {
108
+ fmt.text(compactTipsMessage());
109
+ }
110
+ return fmt.build();
111
+ }
112
+ /**
113
+ * Format preview in verbose format (opt-in with --verbose)
114
+ * Original human-friendly output with Unicode formatting
115
+ */
116
+ function formatPreviewVerbose(output, options) {
117
+ const fmt = new OutputFormatter();
118
+ fmt.text(PREVIEW_HEADERS.LIVE_PREVIEW).separator('━', 50);
119
+ fmt.keyValueList([
120
+ ['Duration', `${Math.floor(output.duration / 1000)}s`],
121
+ ['Last updated', output.timestamp],
122
+ ], 18);
123
+ // In follow mode, add current refresh time to show live updates
124
+ if (options.follow && options.viewedAt) {
125
+ fmt.keyValue('Viewed at', options.viewedAt.toISOString(), 18);
126
+ }
127
+ fmt.blank();
128
+ const lastCount = parseInt(options.last);
129
+ const hasNetworkData = output.data.network && output.data.network.length > 0;
130
+ const hasConsoleData = output.data.console && output.data.console.length > 0;
131
+ // Show network requests only if not filtered out or has data
132
+ if (!options.console && output.data.network) {
133
+ // Hide empty section if console filter is active and there's no network data
134
+ if (options.console === undefined || hasNetworkData) {
135
+ const requests = output.data.network.slice(-lastCount);
136
+ fmt
137
+ .text(`Network Requests (last ${requests.length} of ${output.data.network.length})`)
138
+ .separator('━', 50);
139
+ if (requests.length === 0) {
140
+ fmt.text(PREVIEW_EMPTY_STATES.NO_NETWORK_REQUESTS);
141
+ }
142
+ else {
143
+ requests.forEach((req) => {
144
+ const statusColor = req.status && req.status >= 400 ? 'ERR' : 'OK';
145
+ const status = req.status ?? 'pending';
146
+ fmt.text(`${statusColor} ${status} ${req.method} ${req.url}`);
147
+ if (req.mimeType) {
148
+ fmt.text(` Type: ${req.mimeType}`);
149
+ }
150
+ fmt.text(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
151
+ });
152
+ }
153
+ fmt.blank();
154
+ }
155
+ }
156
+ // Show console messages only if not filtered out or has data
157
+ if (!options.network && output.data.console) {
158
+ // Hide empty section if network filter is active and there's no console data
159
+ if (options.network === undefined || hasConsoleData) {
160
+ const messages = output.data.console.slice(-lastCount);
161
+ fmt
162
+ .text(`Console Messages (last ${messages.length} of ${output.data.console.length})`)
163
+ .separator('━', 50);
164
+ if (messages.length === 0) {
165
+ fmt.text(PREVIEW_EMPTY_STATES.NO_CONSOLE_MESSAGES);
166
+ }
167
+ else {
168
+ messages.forEach((msg) => {
169
+ const icon = msg.type === 'error' ? 'ERR' : msg.type === 'warning' ? 'WARN' : 'INFO';
170
+ fmt.text(`${icon} [${msg.type}] ${msg.text}`);
171
+ });
172
+ }
173
+ fmt.blank();
174
+ }
175
+ }
176
+ // Suppress tips in follow mode to reduce screen clutter during live updates
177
+ if (!options.follow) {
178
+ fmt.text(verboseCommandsMessage());
179
+ }
180
+ return fmt.build();
181
+ }
182
+ //# 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;AAO7D,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,CA4FR;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,CAW/C"}
@@ -0,0 +1,153 @@
1
+ import { isProcessAlive } from '../../session/process.js';
2
+ import { OutputFormatter } from '../../ui/formatting.js';
3
+ import { formatDiagnosticsForStatus } from '../../ui/messages/chrome.js';
4
+ import { getChromeDiagnostics } from '../../utils/chromeDiagnostics.js';
5
+ import { VERSION } from '../../utils/version.js';
6
+ /**
7
+ * Format "time ago" string from timestamp
8
+ */
9
+ function formatTimeAgo(timestamp) {
10
+ const secondsAgo = Math.floor((Date.now() - timestamp) / 1000);
11
+ if (secondsAgo < 60)
12
+ return `${secondsAgo}s ago`;
13
+ const minutesAgo = Math.floor(secondsAgo / 60);
14
+ if (minutesAgo < 60)
15
+ return `${minutesAgo}m ago`;
16
+ const hoursAgo = Math.floor(minutesAgo / 60);
17
+ return `${hoursAgo}h ago`;
18
+ }
19
+ /**
20
+ * Format session status for human-readable output
21
+ * @param metadata - Session metadata
22
+ * @param pid - BDG process ID
23
+ * @param activity - Live activity metrics from worker
24
+ * @param pageState - Current page state from worker
25
+ * @param verbose - Show detailed Chrome diagnostics
26
+ */
27
+ export function formatSessionStatus(metadata, pid, activity, pageState, verbose = false) {
28
+ // Calculate duration
29
+ const now = Date.now();
30
+ const durationMs = now - metadata.startTime;
31
+ const durationSec = Math.floor(durationMs / 1000);
32
+ const minutes = Math.floor(durationSec / 60);
33
+ const seconds = durationSec % 60;
34
+ const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
35
+ // Check if Chrome is alive
36
+ const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
37
+ const fmt = new OutputFormatter();
38
+ fmt.text('Session Status').separator('━', 50);
39
+ fmt.keyValueList([
40
+ ['Status', 'ACTIVE'],
41
+ ['Duration', durationFormatted],
42
+ ], 18);
43
+ fmt.blank().text('Process Information').separator('━', 50);
44
+ fmt.keyValue('Daemon PID', pid.toString(), 18);
45
+ if (metadata.chromePid) {
46
+ fmt.keyValue('Chrome PID', `${metadata.chromePid} ${chromeAlive ? '(running)' : '(not running)'}`, 18);
47
+ }
48
+ fmt.keyValue('Port', metadata.port.toString(), 18);
49
+ // Target Information (from live worker data)
50
+ if (pageState) {
51
+ fmt.blank().text('Target Information').separator('━', 50);
52
+ fmt.keyValue('URL', pageState.url, 18);
53
+ if (pageState.title) {
54
+ fmt.keyValue('Title', pageState.title, 18);
55
+ }
56
+ }
57
+ // Activity Section (from live worker data)
58
+ if (activity) {
59
+ fmt.blank().text('Activity').separator('━', 50);
60
+ fmt.keyValue('Network Requests', `${activity.networkRequestsCaptured} captured`, 18);
61
+ if (activity.lastNetworkRequestAt) {
62
+ fmt.keyValue(' Last Request', formatTimeAgo(activity.lastNetworkRequestAt), 18);
63
+ }
64
+ fmt.keyValue('Console Messages', `${activity.consoleMessagesCaptured} captured`, 18);
65
+ if (activity.lastConsoleMessageAt) {
66
+ fmt.keyValue(' Last Message', formatTimeAgo(activity.lastConsoleMessageAt), 18);
67
+ }
68
+ }
69
+ // Telemetry Section
70
+ fmt.blank().text('Collectors').separator('━', 50);
71
+ // Use activeTelemetry from metadata, fallback to all telemetry modules for backward compatibility
72
+ const activeTelemetry = metadata.activeTelemetry ?? ['network', 'console', 'dom'];
73
+ fmt.keyValueList([
74
+ ['Network', activeTelemetry.includes('network') ? 'Active' : 'Inactive'],
75
+ ['Console', activeTelemetry.includes('console') ? 'Active' : 'Inactive'],
76
+ ['DOM', activeTelemetry.includes('dom') ? 'Active' : 'Inactive'],
77
+ ], 18);
78
+ // Add verbose Chrome diagnostics if requested
79
+ if (verbose) {
80
+ fmt.blank().text('Chrome Diagnostics').separator('━', 50);
81
+ // Get diagnostics using shared utility (cached to avoid repeated scans)
82
+ const diagnostics = getChromeDiagnostics();
83
+ const diagnosticLines = formatDiagnosticsForStatus(diagnostics);
84
+ diagnosticLines.forEach((line) => fmt.text(line));
85
+ }
86
+ fmt
87
+ .blank()
88
+ .section('Commands:', [
89
+ 'Stop session: bdg stop',
90
+ 'Peek data: bdg peek',
91
+ 'Query browser: bdg query <script>',
92
+ ]);
93
+ return fmt.build();
94
+ }
95
+ /**
96
+ * Convert status data to JSON format
97
+ */
98
+ export function formatStatusAsJson(metadata, pid) {
99
+ if (!pid) {
100
+ return { version: VERSION, active: false };
101
+ }
102
+ const isAlive = isProcessAlive(pid);
103
+ if (!isAlive) {
104
+ return { version: VERSION, active: false, stale: true, stalePid: pid };
105
+ }
106
+ if (!metadata) {
107
+ return {
108
+ version: VERSION,
109
+ active: true,
110
+ bdgPid: pid,
111
+ warning: 'Metadata not found (session may be from older version)',
112
+ };
113
+ }
114
+ // Calculate duration
115
+ const now = Date.now();
116
+ const durationMs = now - metadata.startTime;
117
+ const durationSec = Math.floor(durationMs / 1000);
118
+ const minutes = Math.floor(durationSec / 60);
119
+ const seconds = durationSec % 60;
120
+ const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
121
+ // Check if Chrome is alive
122
+ const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
123
+ return {
124
+ version: VERSION,
125
+ active: true,
126
+ bdgPid: pid,
127
+ chromePid: metadata.chromePid,
128
+ chromeAlive,
129
+ startTime: metadata.startTime,
130
+ duration: durationMs,
131
+ durationFormatted,
132
+ port: metadata.port,
133
+ targetId: metadata.targetId,
134
+ webSocketDebuggerUrl: metadata.webSocketDebuggerUrl,
135
+ // Use activeTelemetry from metadata, fallback to all telemetry types for backward compatibility
136
+ telemetry: metadata.activeTelemetry ?? ['network', 'console', 'dom'],
137
+ };
138
+ }
139
+ /**
140
+ * Format "no session" message
141
+ */
142
+ export function formatNoSessionMessage() {
143
+ const fmt = new OutputFormatter();
144
+ return fmt
145
+ .text('No active session found')
146
+ .blank()
147
+ .section('Suggestions:', [
148
+ 'Start a new session: bdg <url>',
149
+ 'List Chrome tabs: bdg tabs',
150
+ ])
151
+ .build();
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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"}