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":"formatting.d.ts","sourceRoot":"","sources":["../../src/ui/formatting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAY,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAExE;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAGpF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CAG5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAuCvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAwBjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAoBzD"}
@@ -0,0 +1,318 @@
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
+ import { safeParseUrl } from '../utils/url/safeParseUrl.js';
8
+ // ============================================================================
9
+ // Visual Elements
10
+ // ============================================================================
11
+ /**
12
+ * Create a horizontal separator line.
13
+ *
14
+ * @param char - Character to use for separator (default: '━')
15
+ * @param width - Width of separator in characters (default: 50)
16
+ * @returns Separator string
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * separator() // → '━━━━━━...' (50 chars)
21
+ * separator('-', 20) // → '--------------------'
22
+ * ```
23
+ */
24
+ export function separator(char = '━', width = 50) {
25
+ return char.repeat(width);
26
+ }
27
+ // ============================================================================
28
+ // Section Builders
29
+ // ============================================================================
30
+ /**
31
+ * Create a titled section with content lines.
32
+ *
33
+ * @param title - Section title
34
+ * @param content - Array of content lines (will be indented)
35
+ * @param indent - Number of spaces to indent content (default: 2)
36
+ * @returns Formatted section string
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * section('Process Info:', [
41
+ * 'Daemon PID: 12345',
42
+ * 'Chrome PID: 67890'
43
+ * ])
44
+ * // →
45
+ * // Process Info:
46
+ * // Daemon PID: 12345
47
+ * // Chrome PID: 67890
48
+ * ```
49
+ */
50
+ export function section(title, content, indent = 2) {
51
+ const lines = [title, ...content.map((line) => ' '.repeat(indent) + line)];
52
+ return lines.join('\n');
53
+ }
54
+ /**
55
+ * Create a bullet list with optional indentation.
56
+ *
57
+ * @param items - Array of list items
58
+ * @param indent - Number of spaces to indent (default: 2)
59
+ * @param bullet - Bullet character (default: '-')
60
+ * @returns Formatted bullet list
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * bulletList(['Item 1', 'Item 2'], 2, '•')
65
+ * // →
66
+ * // • Item 1
67
+ * // • Item 2
68
+ * ```
69
+ */
70
+ export function bulletList(items, indent = 2, bullet = '-') {
71
+ const prefix = ' '.repeat(indent) + bullet + ' ';
72
+ return items.map((item) => prefix + item).join('\n');
73
+ }
74
+ /**
75
+ * Create a key-value pair with alignment.
76
+ *
77
+ * @param key - Key string
78
+ * @param value - Value string
79
+ * @param keyWidth - Width to pad key to (default: auto)
80
+ * @returns Formatted key-value pair
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * keyValue('Status', 'Active', 15)
85
+ * // → 'Status: Active'
86
+ * ```
87
+ */
88
+ export function keyValue(key, value, keyWidth) {
89
+ if (keyWidth) {
90
+ return `${key}:`.padEnd(keyWidth) + value;
91
+ }
92
+ return `${key}: ${value}`;
93
+ }
94
+ // ============================================================================
95
+ // Text Utilities
96
+ // ============================================================================
97
+ /**
98
+ * Indent text by a number of spaces.
99
+ *
100
+ * @param text - Text to indent (can be multiline)
101
+ * @param spaces - Number of spaces to indent
102
+ * @returns Indented text
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * indent('Line 1\nLine 2', 4)
107
+ * // →
108
+ * // Line 1
109
+ * // Line 2
110
+ * ```
111
+ */
112
+ export function indent(text, spaces) {
113
+ const prefix = ' '.repeat(spaces);
114
+ return text
115
+ .split('\n')
116
+ .map((line) => prefix + line)
117
+ .join('\n');
118
+ }
119
+ /**
120
+ * Truncate text to maximum length with ellipsis.
121
+ *
122
+ * @param text - Text to truncate
123
+ * @param maxLength - Maximum length
124
+ * @returns Truncated text
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * truncate('Very long text here', 10)
129
+ * // → 'Very lo...'
130
+ * ```
131
+ */
132
+ export function truncate(text, maxLength) {
133
+ if (text.length <= maxLength) {
134
+ return text;
135
+ }
136
+ return text.substring(0, maxLength - 3) + '...';
137
+ }
138
+ /**
139
+ * Truncate console message text (especially stack traces).
140
+ *
141
+ * @param text - The console message text
142
+ * @param maxLines - Maximum number of lines to show (default: 3)
143
+ * @returns Truncated text with line count
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * truncateText('Line 1\nLine 2\nLine 3\nLine 4\nLine 5', 3)
148
+ * // →
149
+ * // Line 1
150
+ * // Line 2
151
+ * // Line 3
152
+ * // ... (2 more lines)
153
+ * ```
154
+ */
155
+ export function truncateText(text, maxLines = 3) {
156
+ const lines = text.split('\n');
157
+ if (lines.length <= maxLines) {
158
+ return text;
159
+ }
160
+ const truncated = lines.slice(0, maxLines).join('\n');
161
+ const hiddenCount = lines.length - maxLines;
162
+ return `${truncated}\n ... (${hiddenCount} more lines)`;
163
+ }
164
+ /**
165
+ * Truncate a URL for compact display.
166
+ *
167
+ * Removes www. prefix, shortens long paths with ellipsis, and truncates to maxLength.
168
+ *
169
+ * @param url - URL string to truncate
170
+ * @param maxLength - Maximum length of output (default: 60)
171
+ * @returns Truncated URL for display
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * truncateUrl('https://i.clarity.ms/collect')
176
+ * // → 'clarity.ms/collect'
177
+ * truncateUrl('https://aswpapius.com/api/web-channels/47d7def8-d602-49ec-bfdb-c959b1346774')
178
+ * // → 'aswpapius.com/.../47d7def8'
179
+ * ```
180
+ */
181
+ export function truncateUrl(url, maxLength = 60) {
182
+ const parsed = safeParseUrl(url);
183
+ if (!parsed) {
184
+ // Fallback: simple string truncation if URL parsing fails
185
+ return url.length > maxLength ? url.substring(0, maxLength - 3) + '...' : url;
186
+ }
187
+ // Remove www. prefix
188
+ const domain = parsed.hostname.replace(/^www\./, '');
189
+ // Get path without leading slash
190
+ const path = parsed.pathname.substring(1);
191
+ // Start with domain + path
192
+ let result = domain + (path ? `/${path}` : '');
193
+ // If still too long, truncate the path
194
+ if (result.length > maxLength) {
195
+ const pathParts = path.split('/');
196
+ if (pathParts.length > 2) {
197
+ // Show first part, ellipsis, and last part
198
+ const first = pathParts[0];
199
+ const last = pathParts[pathParts.length - 1];
200
+ if (first && last) {
201
+ result = `${domain}/${first}/.../${last}`;
202
+ // If still too long, truncate the last part
203
+ if (result.length > maxLength) {
204
+ const truncatedLast = last.substring(0, 8);
205
+ result = `${domain}/${first}/.../${truncatedLast}`;
206
+ }
207
+ }
208
+ }
209
+ else {
210
+ // Simple truncation
211
+ result = result.substring(0, maxLength - 3) + '...';
212
+ }
213
+ }
214
+ return result;
215
+ }
216
+ /**
217
+ * Pluralize a word based on count.
218
+ *
219
+ * @param count - Number of items
220
+ * @param singular - Singular form of word
221
+ * @param plural - Plural form of word (optional, defaults to singular + 's')
222
+ * @returns Formatted count with correct word form
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * pluralize(1, 'request') // → '1 request'
227
+ * pluralize(5, 'request') // → '5 requests'
228
+ * pluralize(0, 'entry', 'entries') // → '0 entries'
229
+ * ```
230
+ */
231
+ export function pluralize(count, singular, plural) {
232
+ const word = count === 1 ? singular : (plural ?? singular + 's');
233
+ return `${count} ${word}`;
234
+ }
235
+ // ============================================================================
236
+ // Time Formatting
237
+ // ============================================================================
238
+ /**
239
+ * Format duration in milliseconds to human-readable string.
240
+ *
241
+ * @param ms - Duration in milliseconds
242
+ * @returns Formatted duration string
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * formatDuration(1500) // → '1.5s'
247
+ * formatDuration(65000) // → '1m 5s'
248
+ * formatDuration(3661000) // → '1h 1m'
249
+ * ```
250
+ */
251
+ export function formatDuration(ms) {
252
+ const seconds = Math.floor(ms / 1000);
253
+ const minutes = Math.floor(seconds / 60);
254
+ const hours = Math.floor(minutes / 60);
255
+ if (hours > 0) {
256
+ const remainingMinutes = minutes % 60;
257
+ return remainingMinutes > 0 ? `${hours}h ${remainingMinutes}m` : `${hours}h`;
258
+ }
259
+ if (minutes > 0) {
260
+ const remainingSeconds = seconds % 60;
261
+ return remainingSeconds > 0 ? `${minutes}m ${remainingSeconds}s` : `${minutes}m`;
262
+ }
263
+ if (seconds > 0) {
264
+ const remainingMs = ms % 1000;
265
+ if (remainingMs >= 100) {
266
+ return `${(ms / 1000).toFixed(1)}s`;
267
+ }
268
+ return `${seconds}s`;
269
+ }
270
+ return `${ms}ms`;
271
+ }
272
+ /**
273
+ * Format timestamp to ISO string.
274
+ *
275
+ * @param date - Date object or timestamp
276
+ * @returns ISO 8601 formatted string
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * formatTimestamp(new Date())
281
+ * // → '2025-11-05T12:34:56.789Z'
282
+ * ```
283
+ */
284
+ export function formatTimestamp(date) {
285
+ const d = typeof date === 'number' ? new Date(date) : date;
286
+ return d.toISOString();
287
+ }
288
+ /**
289
+ * Format relative time ("time ago").
290
+ *
291
+ * @param date - Date object or timestamp
292
+ * @returns Human-readable relative time
293
+ *
294
+ * @example
295
+ * ```typescript
296
+ * formatTimeAgo(Date.now() - 5000) // → '5 seconds ago'
297
+ * formatTimeAgo(Date.now() - 65000) // → '1 minute ago'
298
+ * formatTimeAgo(Date.now() - 3661000) // → '1 hour ago'
299
+ * ```
300
+ */
301
+ export function formatTimeAgo(date) {
302
+ const d = typeof date === 'number' ? new Date(date) : date;
303
+ const seconds = Math.floor((Date.now() - d.getTime()) / 1000);
304
+ if (seconds < 60) {
305
+ return seconds === 1 ? '1 second ago' : `${seconds} seconds ago`;
306
+ }
307
+ const minutes = Math.floor(seconds / 60);
308
+ if (minutes < 60) {
309
+ return minutes === 1 ? '1 minute ago' : `${minutes} minutes ago`;
310
+ }
311
+ const hours = Math.floor(minutes / 60);
312
+ if (hours < 24) {
313
+ return hours === 1 ? '1 hour ago' : `${hours} hours ago`;
314
+ }
315
+ const days = Math.floor(hours / 24);
316
+ return days === 1 ? '1 day ago' : `${days} days ago`;
317
+ }
318
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/ui/formatting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Chrome-related user-facing messages.
3
+ *
4
+ * Centralized location for Chrome diagnostics, launch errors, and troubleshooting messages.
5
+ */
6
+ import type { ChromeDiagnostics } from '../../utils/chromeDiagnostics.js';
7
+ /**
8
+ * Format Chrome diagnostics for error reporting when Chrome launch fails.
9
+ *
10
+ * @param diagnostics - Chrome diagnostics information
11
+ * @returns Formatted error message lines with troubleshooting steps
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const diagnostics = getChromeDiagnostics();
16
+ * const errorLines = formatDiagnosticsForError(diagnostics);
17
+ * console.error(errorLines.join('\n'));
18
+ * ```
19
+ */
20
+ export declare function formatDiagnosticsForError(diagnostics: ChromeDiagnostics): string[];
21
+ /**
22
+ * Format Chrome diagnostics for verbose status output (bdg status --verbose).
23
+ *
24
+ * @param diagnostics - Chrome diagnostics information
25
+ * @returns Array of formatted status lines
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const diagnostics = getChromeDiagnostics();
30
+ * const statusLines = formatDiagnosticsForStatus(diagnostics);
31
+ * console.log(statusLines.join('\n'));
32
+ * ```
33
+ */
34
+ export declare function formatDiagnosticsForStatus(diagnostics: ChromeDiagnostics): string[];
35
+ /**
36
+ * Generate invalid port error message.
37
+ *
38
+ * @param port - Invalid port number
39
+ * @returns Formatted error message
40
+ */
41
+ export declare function invalidPortError(port: number): string;
42
+ /**
43
+ * Generate user data directory creation error.
44
+ *
45
+ * @param dir - Directory path that failed
46
+ * @param error - Error message
47
+ * @returns Formatted error message
48
+ */
49
+ export declare function userDataDirError(dir: string, error: string): string;
50
+ /**
51
+ * Generate Chrome launch start message.
52
+ *
53
+ * @param port - CDP port number
54
+ * @returns Formatted message
55
+ */
56
+ export declare function chromeLaunchStartMessage(port: number): string;
57
+ /**
58
+ * Generate Chrome launch success message.
59
+ *
60
+ * @param pid - Chrome process ID
61
+ * @param duration - Launch duration in milliseconds
62
+ * @returns Formatted message
63
+ */
64
+ export declare function chromeLaunchSuccessMessage(pid: number, duration: number): string;
65
+ /**
66
+ * Generate user data directory info message.
67
+ *
68
+ * @param dir - User data directory path
69
+ * @returns Formatted message
70
+ */
71
+ export declare function chromeUserDataDirMessage(dir: string): string;
72
+ /**
73
+ * Generate preferences file not found error.
74
+ *
75
+ * @param file - Preferences file path
76
+ * @returns Formatted error message
77
+ */
78
+ export declare function prefsFileNotFoundError(file: string): string;
79
+ /**
80
+ * Generate invalid preferences format error.
81
+ *
82
+ * @param file - Preferences file path
83
+ * @param type - Actual type found
84
+ * @returns Formatted error message
85
+ */
86
+ export declare function invalidPrefsFormatError(file: string, type: string): string;
87
+ /**
88
+ * Generate preferences load error.
89
+ *
90
+ * @param file - Preferences file path
91
+ * @param error - Error message
92
+ * @returns Formatted error message
93
+ */
94
+ export declare function prefsLoadError(file: string, error: string): string;
95
+ /**
96
+ * Generate generic Chrome launch error.
97
+ *
98
+ * @param error - Error message
99
+ * @returns Formatted error message
100
+ */
101
+ export declare function chromeLaunchFailedError(error: string): string;
102
+ //# sourceMappingURL=chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/chrome.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAsBlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAmBnF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Chrome-related user-facing messages.
3
+ *
4
+ * Centralized location for Chrome diagnostics, launch errors, and troubleshooting messages.
5
+ */
6
+ import { pluralize } from '../../ui/formatting.js';
7
+ /**
8
+ * Format Chrome diagnostics for error reporting when Chrome launch fails.
9
+ *
10
+ * @param diagnostics - Chrome diagnostics information
11
+ * @returns Formatted error message lines with troubleshooting steps
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const diagnostics = getChromeDiagnostics();
16
+ * const errorLines = formatDiagnosticsForError(diagnostics);
17
+ * console.error(errorLines.join('\n'));
18
+ * ```
19
+ */
20
+ export function formatDiagnosticsForError(diagnostics) {
21
+ const lines = [];
22
+ if (diagnostics.installationCount === 0) {
23
+ lines.push('Error: No Chrome installations detected\n');
24
+ lines.push('Install Chrome from:');
25
+ lines.push(' https://www.google.com/chrome/\n');
26
+ }
27
+ else {
28
+ lines.push(`Found ${pluralize(diagnostics.installationCount, 'Chrome installation')}:\n`);
29
+ diagnostics.installations.forEach((path, index) => {
30
+ lines.push(` ${index + 1}. ${path}`);
31
+ });
32
+ lines.push('');
33
+ if (diagnostics.defaultPath) {
34
+ lines.push(`Default binary: ${diagnostics.defaultPath}\n`);
35
+ }
36
+ else {
37
+ lines.push('Default binary: Could not determine\n');
38
+ }
39
+ }
40
+ return lines;
41
+ }
42
+ /**
43
+ * Format Chrome diagnostics for verbose status output (bdg status --verbose).
44
+ *
45
+ * @param diagnostics - Chrome diagnostics information
46
+ * @returns Array of formatted status lines
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const diagnostics = getChromeDiagnostics();
51
+ * const statusLines = formatDiagnosticsForStatus(diagnostics);
52
+ * console.log(statusLines.join('\n'));
53
+ * ```
54
+ */
55
+ export function formatDiagnosticsForStatus(diagnostics) {
56
+ const lines = [];
57
+ if (diagnostics.defaultPath) {
58
+ lines.push(`Binary: ${diagnostics.defaultPath}`);
59
+ }
60
+ else {
61
+ lines.push('Binary: Could not determine');
62
+ }
63
+ lines.push(`Installations: ${diagnostics.installationCount} found`);
64
+ if (diagnostics.installationCount > 0 && diagnostics.installationCount <= 3) {
65
+ diagnostics.installations.forEach((path, index) => {
66
+ lines.push(` ${index + 1}. ${path}`);
67
+ });
68
+ }
69
+ else if (diagnostics.installationCount > 3) {
70
+ lines.push(` (Use 'bdg cleanup --aggressive' to see all)`);
71
+ }
72
+ return lines;
73
+ }
74
+ /**
75
+ * Generate invalid port error message.
76
+ *
77
+ * @param port - Invalid port number
78
+ * @returns Formatted error message
79
+ */
80
+ export function invalidPortError(port) {
81
+ return `Invalid port number: ${port}. Port must be between 1 and 65535.`;
82
+ }
83
+ /**
84
+ * Generate user data directory creation error.
85
+ *
86
+ * @param dir - Directory path that failed
87
+ * @param error - Error message
88
+ * @returns Formatted error message
89
+ */
90
+ export function userDataDirError(dir, error) {
91
+ return `Failed to create user data directory at ${dir}: ${error}`;
92
+ }
93
+ // ============================================================================
94
+ // Chrome Launcher Messages
95
+ // ============================================================================
96
+ /**
97
+ * Generate Chrome launch start message.
98
+ *
99
+ * @param port - CDP port number
100
+ * @returns Formatted message
101
+ */
102
+ export function chromeLaunchStartMessage(port) {
103
+ return `Launching Chrome with CDP on port ${port}...`;
104
+ }
105
+ /**
106
+ * Generate Chrome launch success message.
107
+ *
108
+ * @param pid - Chrome process ID
109
+ * @param duration - Launch duration in milliseconds
110
+ * @returns Formatted message
111
+ */
112
+ export function chromeLaunchSuccessMessage(pid, duration) {
113
+ return `Chrome launched successfully (PID: ${pid}, ${duration}ms)`;
114
+ }
115
+ /**
116
+ * Generate user data directory info message.
117
+ *
118
+ * @param dir - User data directory path
119
+ * @returns Formatted message
120
+ */
121
+ export function chromeUserDataDirMessage(dir) {
122
+ return `User data directory: ${dir}`;
123
+ }
124
+ /**
125
+ * Generate preferences file not found error.
126
+ *
127
+ * @param file - Preferences file path
128
+ * @returns Formatted error message
129
+ */
130
+ export function prefsFileNotFoundError(file) {
131
+ return `Chrome preferences file not found: ${file}`;
132
+ }
133
+ /**
134
+ * Generate invalid preferences format error.
135
+ *
136
+ * @param file - Preferences file path
137
+ * @param type - Actual type found
138
+ * @returns Formatted error message
139
+ */
140
+ export function invalidPrefsFormatError(file, type) {
141
+ return `Invalid Chrome preferences format in ${file}: expected object, got ${type}`;
142
+ }
143
+ /**
144
+ * Generate preferences load error.
145
+ *
146
+ * @param file - Preferences file path
147
+ * @param error - Error message
148
+ * @returns Formatted error message
149
+ */
150
+ export function prefsLoadError(file, error) {
151
+ return `Failed to load Chrome preferences from ${file}: ${error}`;
152
+ }
153
+ /**
154
+ * Generate generic Chrome launch error.
155
+ *
156
+ * @param error - Error message
157
+ * @returns Formatted error message
158
+ */
159
+ export function chromeLaunchFailedError(error) {
160
+ return `Failed to launch Chrome: ${error}`;
161
+ }
162
+ //# sourceMappingURL=chrome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../../src/ui/messages/chrome.ts"],"names":[],"mappings":"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"}