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
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides realistic CDP message fixtures to keep tests concise and readable.
5
5
  */
6
- import type { CDPMessage } from '@/types.js';
6
+ import type { CDPMessage } from '../types.js';
7
7
  /**
8
8
  * Sample CDP request message
9
9
  */
@@ -1,4 +1,4 @@
1
- import type { CDPTarget } from '../types.js';
1
+ import type { CDPTarget } from '../types';
2
2
  /**
3
3
  * Create a mock CDPTarget with default values and optional overrides.
4
4
  *
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides ergonomic assertions for common test patterns.
5
5
  */
6
- import type { CDPMessage } from '@/types.js';
6
+ import type { CDPMessage } from '../types.js';
7
7
  /**
8
8
  * Poll a condition until it becomes true or timeout
9
9
  * Useful for eventually-consistent assertions
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides convenient factories for creating test objects with sensible defaults.
5
5
  */
6
- import type { CDPMessage } from '@/types.js';
6
+ import type { CDPMessage } from '../types.js';
7
7
  /**
8
8
  * Create a mock CDP message with optional overrides
9
9
  */
@@ -1,4 +1,4 @@
1
- import { runCommand } from '../handlers/CommandRunner.js';
1
+ import { runCommand } from '../../cli/handlers/CommandRunner.js';
2
2
  import { callCDP } from '../../ipc/client.js';
3
3
  import { validateIPCResponse } from '../../ipc/responseValidator.js';
4
4
  import { getErrorMessage } from '../../utils/errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwG7D"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0EzC;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG7D"}
@@ -1,10 +1,11 @@
1
1
  import * as fs from 'fs';
2
- import { runCommand } from '../handlers/CommandRunner.js';
3
- import { jsonOption } from '../handlers/commonOptions.js';
2
+ import { runCommand } from '../../cli/handlers/CommandRunner.js';
3
+ import { jsonOption } from '../../cli/handlers/commonOptions.js';
4
4
  import { cleanupSession } from '../../session/cleanup.js';
5
5
  import { getSessionFilePath } from '../../session/paths.js';
6
6
  import { readPid } from '../../session/pid.js';
7
7
  import { isProcessAlive } from '../../session/process.js';
8
+ import { sessionFilesCleanedMessage, sessionOutputRemovedMessage, sessionDirectoryCleanMessage, noSessionFilesMessage, staleSessionFoundMessage, forceCleanupWarningMessage, sessionStillActiveError, warningMessage, } from '../../ui/messages/commands.js';
8
9
  import { getErrorMessage } from '../../utils/errors.js';
9
10
  import { EXIT_CODES } from '../../utils/exitCodes.js';
10
11
  /**
@@ -15,14 +16,14 @@ import { EXIT_CODES } from '../../utils/exitCodes.js';
15
16
  function formatCleanup(data) {
16
17
  const { cleaned } = data;
17
18
  if (cleaned.session) {
18
- console.error('Session files cleaned up');
19
+ console.error(sessionFilesCleanedMessage());
19
20
  }
20
21
  if (cleaned.output) {
21
- console.error('Session output file removed');
22
+ console.error(sessionOutputRemovedMessage());
22
23
  }
23
24
  if (data.warnings && data.warnings.length > 0) {
24
25
  data.warnings.forEach((warning) => {
25
- console.error(`Warning: ${warning}`);
26
+ console.error(warningMessage(warning));
26
27
  });
27
28
  }
28
29
  console.error('');
@@ -44,7 +45,7 @@ export function registerCleanupCommand(program) {
44
45
  .action(async (options) => {
45
46
  await runCommand(async (opts) => {
46
47
  // Import cleanupStaleChrome dynamically
47
- const { cleanupStaleChrome } = await import('../handlers/sessionController.js');
48
+ const { cleanupStaleChrome } = await import('../../cli/handlers/sessionController.js');
48
49
  const pid = readPid();
49
50
  let didCleanup = false;
50
51
  let cleanedSession = false;
@@ -70,7 +71,7 @@ export function registerCleanupCommand(program) {
70
71
  if (isAlive && !opts.force) {
71
72
  return {
72
73
  success: false,
73
- error: `Session is still active (PID ${pid})`,
74
+ error: sessionStillActiveError(pid),
74
75
  exitCode: EXIT_CODES.RESOURCE_BUSY,
75
76
  errorContext: {
76
77
  suggestions: ['Stop gracefully: bdg stop', 'Force cleanup: bdg cleanup --force'],
@@ -80,12 +81,10 @@ export function registerCleanupCommand(program) {
80
81
  }
81
82
  if (isAlive && opts.force) {
82
83
  warnings.push(`Process ${pid} is still running but forcing cleanup anyway`);
83
- console.error(`Warning: Process ${pid} is still running!`);
84
- console.error('Forcing cleanup anyway...');
85
- console.error('(The process will continue running but lose session tracking)');
84
+ console.error(forceCleanupWarningMessage(pid));
86
85
  }
87
86
  else {
88
- console.error(`Found stale session (PID ${pid} not running)`);
87
+ console.error(staleSessionFoundMessage(pid));
89
88
  }
90
89
  cleanupSession();
91
90
  cleanedSession = true;
@@ -112,7 +111,7 @@ export function registerCleanupCommand(program) {
112
111
  success: true,
113
112
  data: {
114
113
  cleaned: { session: false, output: false, chrome: false },
115
- message: 'No session files found. Session directory is already clean',
114
+ message: noSessionFilesMessage(),
116
115
  },
117
116
  };
118
117
  }
@@ -120,7 +119,7 @@ export function registerCleanupCommand(program) {
120
119
  success: true,
121
120
  data: {
122
121
  cleaned: { session: cleanedSession, output: cleanedOutput, chrome: cleanedChrome },
123
- message: 'Session directory is now clean',
122
+ message: sessionDirectoryCleanMessage(),
124
123
  ...(warnings.length > 0 && { warnings }),
125
124
  },
126
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { runCommand } from '../handlers/CommandRunner.js';
2
- import { filterOption, jsonOption, lastOption } from '../handlers/commonOptions.js';
1
+ import { runCommand } from '../../cli/handlers/CommandRunner.js';
2
+ import { filterOption, jsonOption, lastOption } from '../../cli/handlers/commonOptions.js';
3
3
  import { getPeek } from '../../ipc/client.js';
4
4
  import { validateIPCResponse } from '../../ipc/responseValidator.js';
5
5
  import { EXIT_CODES } from '../../utils/exitCodes.js';
@@ -1,8 +1,8 @@
1
- import { formatNetworkDetails, formatConsoleDetails } from '../formatters/detailsFormatter.js';
2
- import { runCommand } from '../handlers/CommandRunner.js';
3
- import { jsonOption } from '../handlers/commonOptions.js';
1
+ import { runCommand } from '../../cli/handlers/CommandRunner.js';
2
+ import { jsonOption } from '../../cli/handlers/commonOptions.js';
4
3
  import { getDetails } from '../../ipc/client.js';
5
4
  import { validateIPCResponse } from '../../ipc/responseValidator.js';
5
+ import { formatNetworkDetails, formatConsoleDetails } from '../../ui/formatters/details.js';
6
6
  import { EXIT_CODES } from '../../utils/exitCodes.js';
7
7
  /**
8
8
  * Format details for human-readable output.
@@ -1 +1 @@
1
- {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/cli/commands/details.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAsBlD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,iDAAiD,CAAC;SACnE,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,OAAuB,EAAE,EAAE;QAClE,uFAAuF;QACvF,OAAO,CAAC,IAAI,GAAG,IAA6B,CAAC;QAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAEhB,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,yBAAyB;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;oBAC1E,QAAQ,EAAE,UAAU,CAAC,iBAAiB;iBACvC,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtD,0CAA0C;YAC1C,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAE9B,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,qBAAqB;oBAC5B,QAAQ,EAAE,UAAU,CAAC,kBAAkB;iBACxC,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAkD;oBACtE,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CAAC;QACJ,CAAC,EACD,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/cli/commands/details.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAsBlD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAsB,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,iDAAiD,CAAC;SACnE,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,OAAuB,EAAE,EAAE;QAClE,uFAAuF;QACvF,OAAO,CAAC,IAAI,GAAG,IAA6B,CAAC;QAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAEhB,MAAM,UAAU,CACd,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,yBAAyB;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;oBAC1E,QAAQ,EAAE,UAAU,CAAC,iBAAiB;iBACvC,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtD,0CAA0C;YAC1C,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAE9B,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,qBAAqB;oBAC5B,QAAQ,EAAE,UAAU,CAAC,kBAAkB;iBACxC,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAkD;oBACtE,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CAAC;QACJ,CAAC,EACD,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/dom/helpers/errorHandler.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAQP;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAYP"}
1
+ {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/dom/helpers/errorHandler.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAQP;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAYP"}
@@ -1,4 +1,5 @@
1
- import { OutputBuilder } from '../../../handlers/OutputBuilder.js';
1
+ import { OutputBuilder } from '../../../../cli/handlers/OutputBuilder.js';
2
+ import { genericError } from '../../../../ui/messages/errors.js';
2
3
  import { getErrorMessage } from '../../../../utils/errors.js';
3
4
  import { EXIT_CODES } from '../../../../utils/exitCodes.js';
4
5
  /**
@@ -27,7 +28,7 @@ export function handleCommandError(error, json, exitCode = EXIT_CODES.UNHANDLED_
27
28
  console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
28
29
  }
29
30
  else {
30
- console.error(`Error: ${errorMsg}`);
31
+ console.error(genericError(errorMsg));
31
32
  }
32
33
  process.exit(exitCode);
33
34
  }
@@ -59,7 +60,7 @@ export function handleCommandErrorWithContext(error, json, metadata, exitCode =
59
60
  console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, metadata), null, 2));
60
61
  }
61
62
  else {
62
- console.error(`Error: ${errorMsg}`);
63
+ console.error(genericError(errorMsg));
63
64
  // Output metadata as additional help text
64
65
  for (const value of Object.values(metadata)) {
65
66
  console.error(`${value}`);
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dom/helpers/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,IAAa,EACb,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,IAAa,EACb,QAAgC,EAChC,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;QACpC,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../../src/cli/commands/dom/helpers/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,IAAa,EACb,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,IAAa,EACb,QAAgC,EAChC,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { OutputBuilder } from '../../handlers/OutputBuilder.js';
1
+ import { OutputBuilder } from '../../../cli/handlers/OutputBuilder.js';
2
2
  import { queryDOM, highlightDOM, getDOM } from '../../../ipc/client.js';
3
3
  import { EXIT_CODES } from '../../../utils/exitCodes.js';
4
4
  import { handleCommandError } from './helpers/errorHandler.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqSzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmD1D"}
@@ -0,0 +1,257 @@
1
+ import { OutputBuilder } from '../../cli/handlers/OutputBuilder.js';
2
+ import { queryDOM, highlightDOM, getDOM } from '../../ipc/client.js';
3
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
4
+ import { handleCommandError } from './domErrorHandler.js';
5
+ import { buildSelectorOptions } from './domOptionsBuilder.js';
6
+ /**
7
+ * Handle bdg dom query <selector> command
8
+ *
9
+ * Queries the DOM using a CSS selector and displays matching elements.
10
+ * Results are cached for 5 minutes to enable index-based references in other commands.
11
+ *
12
+ * @param selector - CSS selector to query (e.g., ".error", "#app", "button")
13
+ * @param options - Command options
14
+ * @throws Error When IPC request fails or returns error response
15
+ * @throws Error When response data is missing
16
+ */
17
+ async function handleDomQuery(selector, options) {
18
+ try {
19
+ // Send query request via IPC to daemon/worker
20
+ const response = await queryDOM(selector);
21
+ if (response.status === 'error') {
22
+ throw new Error(response.error ?? 'Unknown error');
23
+ }
24
+ if (!response.data) {
25
+ throw new Error('No data in response');
26
+ }
27
+ const { count, nodes } = response.data;
28
+ if (count === 0) {
29
+ if (options.json) {
30
+ console.log(JSON.stringify({
31
+ selector,
32
+ count: 0,
33
+ nodes: [],
34
+ }, null, 2));
35
+ }
36
+ else {
37
+ console.log(`No elements found matching "${selector}"`);
38
+ }
39
+ process.exit(EXIT_CODES.SUCCESS);
40
+ }
41
+ // Output results
42
+ if (options.json) {
43
+ console.log(JSON.stringify(response.data, null, 2));
44
+ }
45
+ else {
46
+ console.log(`Found ${count} element${count === 1 ? '' : 's'} matching "${selector}":`);
47
+ for (const node of nodes) {
48
+ const classInfo = node.classes && node.classes.length > 0 ? ` class="${node.classes.join(' ')}"` : '';
49
+ console.log(` [${node.index}] <${node.tag}${classInfo}> ${node.preview}`);
50
+ }
51
+ }
52
+ process.exit(EXIT_CODES.SUCCESS);
53
+ }
54
+ catch (error) {
55
+ handleCommandError(error, options.json ?? false);
56
+ }
57
+ }
58
+ /**
59
+ * Handle bdg dom highlight command
60
+ *
61
+ * Highlights elements in the browser with visual overlay. Accepts CSS selector,
62
+ * cached index from previous query, or direct nodeId.
63
+ *
64
+ * @param selectorOrIndex - CSS selector (e.g., ".error") or index from cached query (e.g., "2")
65
+ * @param options - Command options including color, opacity, targeting flags, and nodeId
66
+ * @throws Error When cached index not found (user must run 'bdg dom query' first)
67
+ * @throws Error When IPC request fails or returns error response
68
+ * @throws Error When response data is missing
69
+ */
70
+ async function handleDomHighlight(selectorOrIndex, options) {
71
+ try {
72
+ // Build base IPC request options (color, opacity, targeting)
73
+ const ipcOptions = {
74
+ ...(options.color !== undefined && { color: options.color }),
75
+ ...(options.opacity !== undefined && { opacity: options.opacity }),
76
+ ...(options.first !== undefined && { first: options.first }),
77
+ ...(options.nth !== undefined && { nth: options.nth }),
78
+ };
79
+ // Add selector/index/nodeId using shared helper
80
+ const selectorOptions = buildSelectorOptions(selectorOrIndex, options.nodeId);
81
+ Object.assign(ipcOptions, selectorOptions);
82
+ // Send highlight request via IPC to daemon/worker
83
+ const response = await highlightDOM(ipcOptions);
84
+ if (response.status === 'error') {
85
+ throw new Error(response.error ?? 'Unknown error');
86
+ }
87
+ if (!response.data) {
88
+ throw new Error('No data in response');
89
+ }
90
+ // Output result
91
+ if (options.json) {
92
+ console.log(JSON.stringify(response.data, null, 2));
93
+ }
94
+ else {
95
+ console.log(`✓ Highlighted ${response.data.highlighted} element${response.data.highlighted === 1 ? '' : 's'}`);
96
+ }
97
+ process.exit(EXIT_CODES.SUCCESS);
98
+ }
99
+ catch (error) {
100
+ handleCommandError(error, options.json ?? false);
101
+ }
102
+ }
103
+ /**
104
+ * Handle bdg dom get command
105
+ *
106
+ * Retrieves full HTML and attributes for DOM elements. Accepts CSS selector,
107
+ * cached index from previous query, or direct nodeId.
108
+ *
109
+ * @param selectorOrIndex - CSS selector (e.g., ".error") or index from cached query (e.g., "2")
110
+ * @param options - Command options including --all, --nth, and nodeId
111
+ * @throws Error When cached index not found (user must run 'bdg dom query' first)
112
+ * @throws Error When IPC request fails or returns error response
113
+ * @throws Error When response data is missing
114
+ */
115
+ async function handleDomGet(selectorOrIndex, options) {
116
+ try {
117
+ // Build base IPC request options (targeting flags)
118
+ const ipcOptions = {
119
+ ...(options.all !== undefined && { all: options.all }),
120
+ ...(options.nth !== undefined && { nth: options.nth }),
121
+ };
122
+ // Add selector/index/nodeId using shared helper
123
+ const selectorOptions = buildSelectorOptions(selectorOrIndex, options.nodeId);
124
+ Object.assign(ipcOptions, selectorOptions);
125
+ // Send get request via IPC to daemon/worker
126
+ const response = await getDOM(ipcOptions);
127
+ if (response.status === 'error') {
128
+ throw new Error(response.error ?? 'Unknown error');
129
+ }
130
+ if (!response.data) {
131
+ throw new Error('No data in response');
132
+ }
133
+ const { nodes } = response.data;
134
+ // Output results
135
+ if (options.json) {
136
+ console.log(JSON.stringify(nodes.length === 1 ? nodes[0] : nodes, null, 2));
137
+ }
138
+ else {
139
+ if (nodes.length === 1) {
140
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
141
+ console.log(nodes[0].outerHTML);
142
+ }
143
+ else {
144
+ for (const [i, node] of nodes.entries()) {
145
+ console.log(`[${i + 1}] ${node.outerHTML}`);
146
+ }
147
+ }
148
+ }
149
+ process.exit(EXIT_CODES.SUCCESS);
150
+ }
151
+ catch (error) {
152
+ handleCommandError(error, options.json ?? false);
153
+ }
154
+ }
155
+ /**
156
+ * Handle bdg dom eval <script> command
157
+ *
158
+ * Evaluates arbitrary JavaScript in the browser context and returns the result.
159
+ * Requires an active session. Uses CDP Runtime.evaluate with async support.
160
+ *
161
+ * @param script - JavaScript expression to evaluate (e.g., "document.title", "window.location.href")
162
+ * @param options - Command options including port and json formatting
163
+ * @throws Error When no active session is running
164
+ * @throws Error When session metadata is invalid
165
+ * @throws Error When target no longer exists (tab closed)
166
+ * @throws Error When CDP connection fails
167
+ * @throws Error When script execution throws exception
168
+ */
169
+ async function handleDomEval(script, options) {
170
+ try {
171
+ // Lazy load CDP connection (only needed for eval command)
172
+ const { CDPConnection } = await import('../../connection/cdp.js');
173
+ const { validateActiveSession, getValidatedSessionMetadata, verifyTargetExists, executeScript, } = await import('./domEvalHelpers.js');
174
+ // Validate session is running
175
+ const jsonOutput = options.json ?? false;
176
+ validateActiveSession(jsonOutput);
177
+ // Get and validate session metadata
178
+ const metadata = getValidatedSessionMetadata(jsonOutput);
179
+ // Verify target still exists
180
+ const port = parseInt(options.port ?? '9222', 10);
181
+ await verifyTargetExists(metadata, port, jsonOutput);
182
+ // Create temporary CDP connection and execute script
183
+ const cdp = new CDPConnection();
184
+ // getValidatedSessionMetadata ensures webSocketDebuggerUrl is defined
185
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
186
+ await cdp.connect(metadata.webSocketDebuggerUrl);
187
+ const result = await executeScript(cdp, script);
188
+ cdp.close();
189
+ // Output result (wrapped if --json, raw otherwise)
190
+ if (options.json) {
191
+ console.log(JSON.stringify(OutputBuilder.buildJsonSuccess({
192
+ result: result.result?.value,
193
+ }), null, 2));
194
+ }
195
+ else {
196
+ console.log(JSON.stringify(result.result?.value, null, 2));
197
+ }
198
+ process.exit(EXIT_CODES.SUCCESS);
199
+ }
200
+ catch (error) {
201
+ handleCommandError(error, options.json ?? false);
202
+ }
203
+ }
204
+ /**
205
+ * Register DOM collector commands
206
+ *
207
+ * @param program - Commander.js Command instance
208
+ */
209
+ export function registerDomCommands(program) {
210
+ const dom = program.command('dom').description('DOM inspection and manipulation');
211
+ // bdg dom query <selector>
212
+ dom
213
+ .command('query')
214
+ .description('Find elements by CSS selector')
215
+ .argument('<selector>', 'CSS selector (e.g., ".error", "#app", "button")')
216
+ .option('-j, --json', 'Output as JSON')
217
+ .action(async (selector, options) => {
218
+ await handleDomQuery(selector, options);
219
+ });
220
+ // bdg dom eval <script>
221
+ dom
222
+ .command('eval')
223
+ .description('Evaluate JavaScript expression in the page context')
224
+ .argument('<script>', 'JavaScript to execute (e.g., "document.title", "window.location.href")')
225
+ .option('-p, --port <number>', 'Chrome debugging port (default: 9222)')
226
+ .option('-j, --json', 'Wrap result in version/success format')
227
+ .action(async (script, options) => {
228
+ await handleDomEval(script, options);
229
+ });
230
+ // bdg dom highlight <selector|index>
231
+ dom
232
+ .command('highlight')
233
+ .description('Highlight elements in browser')
234
+ .argument('<selector|index>', 'CSS selector or index from last query')
235
+ .option('--first', 'Target first match only')
236
+ .option('--nth <n>', 'Target nth match', parseInt)
237
+ .option('--node-id <id>', 'Use nodeId directly (advanced)', parseInt)
238
+ .option('--color <color>', 'Highlight color (red, blue, green, yellow, orange, purple)')
239
+ .option('--opacity <value>', 'Highlight opacity (0.0 - 1.0)', parseFloat)
240
+ .option('-j, --json', 'Output as JSON')
241
+ .action(async (selectorOrIndex, options) => {
242
+ await handleDomHighlight(selectorOrIndex, options);
243
+ });
244
+ // bdg dom get <selector|index>
245
+ dom
246
+ .command('get')
247
+ .description('Get full HTML and attributes for elements')
248
+ .argument('<selector|index>', 'CSS selector or index from last query')
249
+ .option('--all', 'Target all matches')
250
+ .option('--nth <n>', 'Target nth match', parseInt)
251
+ .option('--node-id <id>', 'Use nodeId directly (advanced)', parseInt)
252
+ .option('-j, --json', 'Output as JSON')
253
+ .action(async (selectorOrIndex, options) => {
254
+ await handleDomGet(selectorOrIndex, options);
255
+ });
256
+ }
257
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/cli/commands/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Handle command errors with consistent formatting
3
+ *
4
+ * Outputs error message in JSON or human-readable format and exits with error code.
5
+ * This function never returns - it always calls process.exit().
6
+ *
7
+ * @param error - Error object or message
8
+ * @param json - Whether to output JSON format
9
+ * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
10
+ * @throws never This function always exits the process
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * try {
15
+ * await someOperation();
16
+ * } catch (error) {
17
+ * handleCommandError(error, options.json);
18
+ * }
19
+ * ```
20
+ */
21
+ export declare function handleCommandError(error: unknown, json: boolean, exitCode?: number): never;
22
+ /**
23
+ * Handle command errors with additional context
24
+ *
25
+ * Similar to handleCommandError but allows adding suggestion or note metadata
26
+ * to JSON error output for better user guidance.
27
+ *
28
+ * @param error - Error object or message
29
+ * @param json - Whether to output JSON format
30
+ * @param metadata - Additional context (suggestion, note, etc.)
31
+ * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
32
+ * @throws never This function always exits the process
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * handleCommandErrorWithContext(
37
+ * 'Session not found',
38
+ * options.json,
39
+ * { suggestion: 'Start a session with: bdg <url>' },
40
+ * EXIT_CODES.RESOURCE_NOT_FOUND
41
+ * );
42
+ * ```
43
+ */
44
+ export declare function handleCommandErrorWithContext(error: unknown, json: boolean, metadata: Record<string, string>, exitCode?: number): never;
45
+ //# sourceMappingURL=domErrorHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/domErrorHandler.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAQP;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAYP"}
@@ -0,0 +1,71 @@
1
+ import { OutputBuilder } from '../../cli/handlers/OutputBuilder.js';
2
+ import { genericError } from '../../ui/messages/errors.js';
3
+ import { getErrorMessage } from '../../utils/errors.js';
4
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
5
+ /**
6
+ * Handle command errors with consistent formatting
7
+ *
8
+ * Outputs error message in JSON or human-readable format and exits with error code.
9
+ * This function never returns - it always calls process.exit().
10
+ *
11
+ * @param error - Error object or message
12
+ * @param json - Whether to output JSON format
13
+ * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
14
+ * @throws never This function always exits the process
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * try {
19
+ * await someOperation();
20
+ * } catch (error) {
21
+ * handleCommandError(error, options.json);
22
+ * }
23
+ * ```
24
+ */
25
+ export function handleCommandError(error, json, exitCode = EXIT_CODES.UNHANDLED_EXCEPTION) {
26
+ const errorMsg = getErrorMessage(error);
27
+ if (json) {
28
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
29
+ }
30
+ else {
31
+ console.error(genericError(errorMsg));
32
+ }
33
+ process.exit(exitCode);
34
+ }
35
+ /**
36
+ * Handle command errors with additional context
37
+ *
38
+ * Similar to handleCommandError but allows adding suggestion or note metadata
39
+ * to JSON error output for better user guidance.
40
+ *
41
+ * @param error - Error object or message
42
+ * @param json - Whether to output JSON format
43
+ * @param metadata - Additional context (suggestion, note, etc.)
44
+ * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
45
+ * @throws never This function always exits the process
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * handleCommandErrorWithContext(
50
+ * 'Session not found',
51
+ * options.json,
52
+ * { suggestion: 'Start a session with: bdg <url>' },
53
+ * EXIT_CODES.RESOURCE_NOT_FOUND
54
+ * );
55
+ * ```
56
+ */
57
+ export function handleCommandErrorWithContext(error, json, metadata, exitCode = EXIT_CODES.UNHANDLED_EXCEPTION) {
58
+ const errorMsg = getErrorMessage(error);
59
+ if (json) {
60
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, metadata), null, 2));
61
+ }
62
+ else {
63
+ console.error(genericError(errorMsg));
64
+ // Output metadata as additional help text
65
+ for (const value of Object.values(metadata)) {
66
+ console.error(`${value}`);
67
+ }
68
+ }
69
+ process.exit(exitCode);
70
+ }
71
+ //# sourceMappingURL=domErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domErrorHandler.js","sourceRoot":"","sources":["../../../src/cli/commands/domErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,IAAa,EACb,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,IAAa,EACb,QAAgC,EAChC,WAAmB,UAAU,CAAC,mBAAmB;IAEjD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}