browser-debugger-cli 0.0.1-alpha.0 → 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +167 -52
  3. package/dist/__testfixtures__/cdpMessages.d.ts +43 -0
  4. package/dist/__testfixtures__/cdpMessages.d.ts.map +1 -0
  5. package/dist/__testfixtures__/cdpMessages.js +118 -0
  6. package/dist/__testfixtures__/cdpMessages.js.map +1 -0
  7. package/dist/__testfixtures__/connectionTargets.d.ts +21 -0
  8. package/dist/__testfixtures__/connectionTargets.d.ts.map +1 -0
  9. package/dist/__testfixtures__/connectionTargets.js +59 -0
  10. package/dist/__testfixtures__/connectionTargets.js.map +1 -0
  11. package/dist/__tests__/integration/session-files.integration.test.d.ts +2 -0
  12. package/dist/__tests__/integration/session-files.integration.test.d.ts.map +1 -0
  13. package/dist/__tests__/integration/session-files.integration.test.js +66 -0
  14. package/dist/__tests__/integration/session-files.integration.test.js.map +1 -0
  15. package/dist/__testutils__/FakeClock.d.ts +67 -0
  16. package/dist/__testutils__/FakeClock.d.ts.map +1 -0
  17. package/dist/__testutils__/FakeClock.js +132 -0
  18. package/dist/__testutils__/FakeClock.js.map +1 -0
  19. package/dist/__testutils__/FakeWebSocket.d.ts +106 -0
  20. package/dist/__testutils__/FakeWebSocket.d.ts.map +1 -0
  21. package/dist/__testutils__/FakeWebSocket.js +213 -0
  22. package/dist/__testutils__/FakeWebSocket.js.map +1 -0
  23. package/dist/__testutils__/assertions.d.ts +33 -0
  24. package/dist/__testutils__/assertions.d.ts.map +1 -0
  25. package/dist/__testutils__/assertions.js +57 -0
  26. package/dist/__testutils__/assertions.js.map +1 -0
  27. package/dist/__testutils__/index.d.ts +15 -0
  28. package/dist/__testutils__/index.d.ts.map +1 -0
  29. package/dist/__testutils__/index.js +15 -0
  30. package/dist/__testutils__/index.js.map +1 -0
  31. package/dist/__testutils__/testClock.d.ts +28 -0
  32. package/dist/__testutils__/testClock.d.ts.map +1 -0
  33. package/dist/__testutils__/testClock.js +81 -0
  34. package/dist/__testutils__/testClock.js.map +1 -0
  35. package/dist/__testutils__/testFixtures.d.ts +15 -0
  36. package/dist/__testutils__/testFixtures.d.ts.map +1 -0
  37. package/dist/__testutils__/testFixtures.js +23 -0
  38. package/dist/__testutils__/testFixtures.js.map +1 -0
  39. package/dist/__testutils__/testProcess.d.ts +46 -0
  40. package/dist/__testutils__/testProcess.d.ts.map +1 -0
  41. package/dist/__testutils__/testProcess.js +77 -0
  42. package/dist/__testutils__/testProcess.js.map +1 -0
  43. package/dist/cli/collectors/dom.d.ts +8 -0
  44. package/dist/cli/collectors/dom.d.ts.map +1 -0
  45. package/dist/cli/collectors/dom.js +361 -0
  46. package/dist/cli/collectors/dom.js.map +1 -0
  47. package/dist/cli/collectors/helpers/domCache.d.ts +40 -0
  48. package/dist/cli/collectors/helpers/domCache.d.ts.map +1 -0
  49. package/dist/cli/collectors/helpers/domCache.js +79 -0
  50. package/dist/cli/collectors/helpers/domCache.js.map +1 -0
  51. package/dist/cli/collectors/helpers/domQuery.d.ts +45 -0
  52. package/dist/cli/collectors/helpers/domQuery.d.ts.map +1 -0
  53. package/dist/cli/collectors/helpers/domQuery.js +100 -0
  54. package/dist/cli/collectors/helpers/domQuery.js.map +1 -0
  55. package/dist/cli/collectors/helpers/selectorParser.d.ts +20 -0
  56. package/dist/cli/collectors/helpers/selectorParser.d.ts.map +1 -0
  57. package/dist/cli/collectors/helpers/selectorParser.js +20 -0
  58. package/dist/cli/collectors/helpers/selectorParser.js.map +1 -0
  59. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +24 -0
  60. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +1 -0
  61. package/dist/cli/commands/__tests__/cdp.contract.test.js +467 -0
  62. package/dist/cli/commands/__tests__/cdp.contract.test.js.map +1 -0
  63. package/dist/cli/commands/__tests__/ipcTest.test.d.ts +2 -0
  64. package/dist/cli/commands/__tests__/ipcTest.test.d.ts.map +1 -0
  65. package/dist/cli/commands/__tests__/ipcTest.test.js +37 -0
  66. package/dist/cli/commands/__tests__/ipcTest.test.js.map +1 -0
  67. package/dist/cli/commands/cdp.d.ts +8 -0
  68. package/dist/cli/commands/cdp.d.ts.map +1 -0
  69. package/dist/cli/commands/cdp.js +45 -0
  70. package/dist/cli/commands/cdp.js.map +1 -0
  71. package/dist/cli/commands/cleanup.d.ts +8 -0
  72. package/dist/cli/commands/cleanup.d.ts.map +1 -0
  73. package/dist/cli/commands/cleanup.js +130 -0
  74. package/dist/cli/commands/cleanup.js.map +1 -0
  75. package/dist/cli/commands/console.d.ts +8 -0
  76. package/dist/cli/commands/console.d.ts.map +1 -0
  77. package/dist/cli/commands/console.js +97 -0
  78. package/dist/cli/commands/console.js.map +1 -0
  79. package/dist/cli/commands/details.d.ts +8 -0
  80. package/dist/cli/commands/details.d.ts.map +1 -0
  81. package/dist/cli/commands/details.js +68 -0
  82. package/dist/cli/commands/details.js.map +1 -0
  83. package/dist/cli/commands/dom/helpers/domCache.d.ts +36 -0
  84. package/dist/cli/commands/dom/helpers/domCache.d.ts.map +1 -0
  85. package/dist/cli/commands/dom/helpers/domCache.js +65 -0
  86. package/dist/cli/commands/dom/helpers/domCache.js.map +1 -0
  87. package/dist/cli/commands/dom/helpers/domQuery.d.ts +48 -0
  88. package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +1 -0
  89. package/dist/cli/commands/dom/helpers/domQuery.js +104 -0
  90. package/dist/cli/commands/dom/helpers/domQuery.js.map +1 -0
  91. package/dist/cli/commands/dom/helpers/errorHandler.d.ts +45 -0
  92. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +1 -0
  93. package/dist/cli/commands/dom/helpers/errorHandler.js +70 -0
  94. package/dist/cli/commands/dom/helpers/errorHandler.js.map +1 -0
  95. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +52 -0
  96. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +1 -0
  97. package/dist/cli/commands/dom/helpers/evalHelpers.js +75 -0
  98. package/dist/cli/commands/dom/helpers/evalHelpers.js.map +1 -0
  99. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +35 -0
  100. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +1 -0
  101. package/dist/cli/commands/dom/helpers/optionsBuilder.js +51 -0
  102. package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +1 -0
  103. package/dist/cli/commands/dom/helpers/selectorParser.d.ts +20 -0
  104. package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +1 -0
  105. package/dist/cli/commands/dom/helpers/selectorParser.js +20 -0
  106. package/dist/cli/commands/dom/helpers/selectorParser.js.map +1 -0
  107. package/dist/cli/commands/dom/index.d.ts +8 -0
  108. package/dist/cli/commands/dom/index.d.ts.map +1 -0
  109. package/dist/cli/commands/dom/index.js +257 -0
  110. package/dist/cli/commands/dom/index.js.map +1 -0
  111. package/dist/cli/commands/ipcTest.d.ts +23 -0
  112. package/dist/cli/commands/ipcTest.d.ts.map +1 -0
  113. package/dist/cli/commands/ipcTest.js +181 -0
  114. package/dist/cli/commands/ipcTest.js.map +1 -0
  115. package/dist/cli/commands/network.d.ts +8 -0
  116. package/dist/cli/commands/network.d.ts.map +1 -0
  117. package/dist/cli/commands/network.js +40 -0
  118. package/dist/cli/commands/network.js.map +1 -0
  119. package/dist/cli/commands/peek.d.ts +8 -0
  120. package/dist/cli/commands/peek.d.ts.map +1 -0
  121. package/dist/cli/commands/peek.js +109 -0
  122. package/dist/cli/commands/peek.js.map +1 -0
  123. package/dist/cli/commands/query.d.ts +9 -0
  124. package/dist/cli/commands/query.d.ts.map +1 -0
  125. package/dist/cli/commands/query.js +127 -0
  126. package/dist/cli/commands/query.js.map +1 -0
  127. package/dist/cli/commands/start.d.ts +9 -0
  128. package/dist/cli/commands/start.d.ts.map +1 -0
  129. package/dist/cli/commands/start.js +78 -0
  130. package/dist/cli/commands/start.js.map +1 -0
  131. package/dist/cli/commands/status.d.ts +9 -0
  132. package/dist/cli/commands/status.d.ts.map +1 -0
  133. package/dist/cli/commands/status.js +84 -0
  134. package/dist/cli/commands/status.js.map +1 -0
  135. package/dist/cli/commands/stop.d.ts +8 -0
  136. package/dist/cli/commands/stop.d.ts.map +1 -0
  137. package/dist/cli/commands/stop.js +146 -0
  138. package/dist/cli/commands/stop.js.map +1 -0
  139. package/dist/cli/formatters/detailsFormatter.d.ts +10 -0
  140. package/dist/cli/formatters/detailsFormatter.d.ts.map +1 -0
  141. package/dist/cli/formatters/detailsFormatter.js +63 -0
  142. package/dist/cli/formatters/detailsFormatter.js.map +1 -0
  143. package/dist/cli/formatters/previewFormatter.d.ts +27 -0
  144. package/dist/cli/formatters/previewFormatter.d.ts.map +1 -0
  145. package/dist/cli/formatters/previewFormatter.js +160 -0
  146. package/dist/cli/formatters/previewFormatter.js.map +1 -0
  147. package/dist/cli/formatters/statusFormatter.d.ts +34 -0
  148. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -0
  149. package/dist/cli/formatters/statusFormatter.js +108 -0
  150. package/dist/cli/formatters/statusFormatter.js.map +1 -0
  151. package/dist/cli/handlers/ChromeBootstrap.d.ts +24 -0
  152. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +1 -0
  153. package/dist/cli/handlers/ChromeBootstrap.js +50 -0
  154. package/dist/cli/handlers/ChromeBootstrap.js.map +1 -0
  155. package/dist/cli/handlers/CommandRunner.d.ts +60 -0
  156. package/dist/cli/handlers/CommandRunner.d.ts.map +1 -0
  157. package/dist/cli/handlers/CommandRunner.js +81 -0
  158. package/dist/cli/handlers/CommandRunner.js.map +1 -0
  159. package/dist/cli/handlers/OutputBuilder.d.ts +60 -0
  160. package/dist/cli/handlers/OutputBuilder.d.ts.map +1 -0
  161. package/dist/cli/handlers/OutputBuilder.js +138 -0
  162. package/dist/cli/handlers/OutputBuilder.js.map +1 -0
  163. package/dist/cli/handlers/OutputWriter.d.ts +15 -0
  164. package/dist/cli/handlers/OutputWriter.d.ts.map +1 -0
  165. package/dist/cli/handlers/OutputWriter.js +34 -0
  166. package/dist/cli/handlers/OutputWriter.js.map +1 -0
  167. package/dist/cli/handlers/PreviewWriter.d.ts +52 -0
  168. package/dist/cli/handlers/PreviewWriter.d.ts.map +1 -0
  169. package/dist/cli/handlers/PreviewWriter.js +119 -0
  170. package/dist/cli/handlers/PreviewWriter.js.map +1 -0
  171. package/dist/cli/handlers/SessionLock.d.ts +16 -0
  172. package/dist/cli/handlers/SessionLock.d.ts.map +1 -0
  173. package/dist/cli/handlers/SessionLock.js +38 -0
  174. package/dist/cli/handlers/SessionLock.js.map +1 -0
  175. package/dist/cli/handlers/SessionLoop.d.ts +19 -0
  176. package/dist/cli/handlers/SessionLoop.d.ts.map +1 -0
  177. package/dist/cli/handlers/SessionLoop.js +47 -0
  178. package/dist/cli/handlers/SessionLoop.js.map +1 -0
  179. package/dist/cli/handlers/ShutdownController.d.ts +38 -0
  180. package/dist/cli/handlers/ShutdownController.d.ts.map +1 -0
  181. package/dist/cli/handlers/ShutdownController.js +83 -0
  182. package/dist/cli/handlers/ShutdownController.js.map +1 -0
  183. package/dist/cli/handlers/SignalHandler.d.ts +35 -0
  184. package/dist/cli/handlers/SignalHandler.d.ts.map +1 -0
  185. package/dist/cli/handlers/SignalHandler.js +81 -0
  186. package/dist/cli/handlers/SignalHandler.js.map +1 -0
  187. package/dist/cli/handlers/TargetSetup.d.ts +42 -0
  188. package/dist/cli/handlers/TargetSetup.d.ts.map +1 -0
  189. package/dist/cli/handlers/TargetSetup.js +87 -0
  190. package/dist/cli/handlers/TargetSetup.js.map +1 -0
  191. package/dist/cli/handlers/commonOptions.d.ts +54 -0
  192. package/dist/cli/handlers/commonOptions.d.ts.map +1 -0
  193. package/dist/cli/handlers/commonOptions.js +64 -0
  194. package/dist/cli/handlers/commonOptions.js.map +1 -0
  195. package/dist/cli/handlers/daemonSessionController.d.ts +23 -0
  196. package/dist/cli/handlers/daemonSessionController.d.ts.map +1 -0
  197. package/dist/cli/handlers/daemonSessionController.js +108 -0
  198. package/dist/cli/handlers/daemonSessionController.js.map +1 -0
  199. package/dist/cli/handlers/sessionController.d.ts +21 -0
  200. package/dist/cli/handlers/sessionController.d.ts.map +1 -0
  201. package/dist/cli/handlers/sessionController.js +55 -0
  202. package/dist/cli/handlers/sessionController.js.map +1 -0
  203. package/dist/cli/registry.d.ts +11 -0
  204. package/dist/cli/registry.d.ts.map +1 -0
  205. package/dist/cli/registry.js +46 -0
  206. package/dist/cli/registry.js.map +1 -0
  207. package/dist/collectors/__tests__/network.contract.test.d.ts +28 -0
  208. package/dist/collectors/__tests__/network.contract.test.d.ts.map +1 -0
  209. package/dist/collectors/__tests__/network.contract.test.js +525 -0
  210. package/dist/collectors/__tests__/network.contract.test.js.map +1 -0
  211. package/dist/collectors/console.d.ts +5 -3
  212. package/dist/collectors/console.d.ts.map +1 -1
  213. package/dist/collectors/console.js +48 -26
  214. package/dist/collectors/console.js.map +1 -1
  215. package/dist/collectors/dom.d.ts +2 -2
  216. package/dist/collectors/dom.d.ts.map +1 -1
  217. package/dist/collectors/dom.js +23 -12
  218. package/dist/collectors/dom.js.map +1 -1
  219. package/dist/collectors/network.d.ts +18 -4
  220. package/dist/collectors/network.d.ts.map +1 -1
  221. package/dist/collectors/network.js +111 -34
  222. package/dist/collectors/network.js.map +1 -1
  223. package/dist/connection/__tests__/cdp.contract.test.d.ts +16 -0
  224. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -0
  225. package/dist/connection/__tests__/cdp.contract.test.js +378 -0
  226. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -0
  227. package/dist/connection/__tests__/finder.contract.test.d.ts +2 -0
  228. package/dist/connection/__tests__/finder.contract.test.d.ts.map +1 -0
  229. package/dist/connection/__tests__/finder.contract.test.js +239 -0
  230. package/dist/connection/__tests__/finder.contract.test.js.map +1 -0
  231. package/dist/connection/__tests__/tabs.contract.test.d.ts +2 -0
  232. package/dist/connection/__tests__/tabs.contract.test.d.ts.map +1 -0
  233. package/dist/connection/__tests__/tabs.contract.test.js +137 -0
  234. package/dist/connection/__tests__/tabs.contract.test.js.map +1 -0
  235. package/dist/connection/cdp.d.ts +165 -16
  236. package/dist/connection/cdp.d.ts.map +1 -1
  237. package/dist/connection/cdp.js +342 -122
  238. package/dist/connection/cdp.js.map +1 -1
  239. package/dist/connection/finder.d.ts +5 -4
  240. package/dist/connection/finder.d.ts.map +1 -1
  241. package/dist/connection/finder.js +10 -16
  242. package/dist/connection/finder.js.map +1 -1
  243. package/dist/connection/launcher.d.ts +18 -11
  244. package/dist/connection/launcher.d.ts.map +1 -1
  245. package/dist/connection/launcher.js +148 -82
  246. package/dist/connection/launcher.js.map +1 -1
  247. package/dist/connection/tabs.d.ts +47 -14
  248. package/dist/connection/tabs.d.ts.map +1 -1
  249. package/dist/connection/tabs.js +493 -132
  250. package/dist/connection/tabs.js.map +1 -1
  251. package/dist/constants.d.ts +209 -0
  252. package/dist/constants.d.ts.map +1 -0
  253. package/dist/constants.js +232 -0
  254. package/dist/constants.js.map +1 -0
  255. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +23 -0
  256. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +1 -0
  257. package/dist/daemon/__tests__/ipcServer.contract.test.js +401 -0
  258. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -0
  259. package/dist/daemon/__tests__/launcher.unit.test.d.ts +8 -0
  260. package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +1 -0
  261. package/dist/daemon/__tests__/launcher.unit.test.js +20 -0
  262. package/dist/daemon/__tests__/launcher.unit.test.js.map +1 -0
  263. package/dist/daemon/ipcServer.d.ts +83 -0
  264. package/dist/daemon/ipcServer.d.ts.map +1 -0
  265. package/dist/daemon/ipcServer.js +670 -0
  266. package/dist/daemon/ipcServer.js.map +1 -0
  267. package/dist/daemon/launcher.d.ts +31 -0
  268. package/dist/daemon/launcher.d.ts.map +1 -0
  269. package/dist/daemon/launcher.js +137 -0
  270. package/dist/daemon/launcher.js.map +1 -0
  271. package/dist/daemon/startSession.d.ts +51 -0
  272. package/dist/daemon/startSession.d.ts.map +1 -0
  273. package/dist/daemon/startSession.js +149 -0
  274. package/dist/daemon/startSession.js.map +1 -0
  275. package/dist/daemon/worker.d.ts +18 -0
  276. package/dist/daemon/worker.d.ts.map +1 -0
  277. package/dist/daemon/worker.js +623 -0
  278. package/dist/daemon/worker.js.map +1 -0
  279. package/dist/daemon/workerIpc.d.ts +33 -0
  280. package/dist/daemon/workerIpc.d.ts.map +1 -0
  281. package/dist/daemon/workerIpc.js +8 -0
  282. package/dist/daemon/workerIpc.js.map +1 -0
  283. package/dist/daemon.d.ts +10 -0
  284. package/dist/daemon.d.ts.map +1 -0
  285. package/dist/daemon.js +32 -0
  286. package/dist/daemon.js.map +1 -0
  287. package/dist/index.js +41 -420
  288. package/dist/index.js.map +1 -1
  289. package/dist/ipc/__tests__/client.contract.test.d.ts +23 -0
  290. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -0
  291. package/dist/ipc/__tests__/client.contract.test.js +466 -0
  292. package/dist/ipc/__tests__/client.contract.test.js.map +1 -0
  293. package/dist/ipc/client.d.ts +109 -0
  294. package/dist/ipc/client.d.ts.map +1 -0
  295. package/dist/ipc/client.js +220 -0
  296. package/dist/ipc/client.js.map +1 -0
  297. package/dist/ipc/commands.d.ts +208 -0
  298. package/dist/ipc/commands.d.ts.map +1 -0
  299. package/dist/ipc/commands.js +69 -0
  300. package/dist/ipc/commands.js.map +1 -0
  301. package/dist/ipc/responseValidator.d.ts +40 -0
  302. package/dist/ipc/responseValidator.d.ts.map +1 -0
  303. package/dist/ipc/responseValidator.js +28 -0
  304. package/dist/ipc/responseValidator.js.map +1 -0
  305. package/dist/ipc/types.d.ts +193 -0
  306. package/dist/ipc/types.d.ts.map +1 -0
  307. package/dist/ipc/types.js +21 -0
  308. package/dist/ipc/types.js.map +1 -0
  309. package/dist/session/BdgSession.d.ts +71 -4
  310. package/dist/session/BdgSession.d.ts.map +1 -1
  311. package/dist/session/BdgSession.js +173 -75
  312. package/dist/session/BdgSession.js.map +1 -1
  313. package/dist/session/chrome.d.ts +46 -0
  314. package/dist/session/chrome.d.ts.map +1 -0
  315. package/dist/session/chrome.js +92 -0
  316. package/dist/session/chrome.js.map +1 -0
  317. package/dist/session/cleanup.d.ts +45 -0
  318. package/dist/session/cleanup.d.ts.map +1 -0
  319. package/dist/session/cleanup.js +230 -0
  320. package/dist/session/cleanup.js.map +1 -0
  321. package/dist/session/index.d.ts +15 -0
  322. package/dist/session/index.d.ts.map +1 -0
  323. package/dist/session/index.js +23 -0
  324. package/dist/session/index.js.map +1 -0
  325. package/dist/session/lock.d.ts +57 -0
  326. package/dist/session/lock.d.ts.map +1 -0
  327. package/dist/session/lock.js +154 -0
  328. package/dist/session/lock.js.map +1 -0
  329. package/dist/session/metadata.d.ts +59 -0
  330. package/dist/session/metadata.d.ts.map +1 -0
  331. package/dist/session/metadata.js +71 -0
  332. package/dist/session/metadata.js.map +1 -0
  333. package/dist/session/output.d.ts +18 -0
  334. package/dist/session/output.d.ts.map +1 -0
  335. package/dist/session/output.js +24 -0
  336. package/dist/session/output.js.map +1 -0
  337. package/dist/session/paths.d.ts +73 -0
  338. package/dist/session/paths.d.ts.map +1 -0
  339. package/dist/session/paths.js +84 -0
  340. package/dist/session/paths.js.map +1 -0
  341. package/dist/session/pid.d.ts +40 -0
  342. package/dist/session/pid.d.ts.map +1 -0
  343. package/dist/session/pid.js +73 -0
  344. package/dist/session/pid.js.map +1 -0
  345. package/dist/session/process.d.ts +45 -0
  346. package/dist/session/process.d.ts.map +1 -0
  347. package/dist/session/process.js +88 -0
  348. package/dist/session/process.js.map +1 -0
  349. package/dist/types.d.ts +114 -38
  350. package/dist/types.d.ts.map +1 -1
  351. package/dist/utils/__tests__/filters.unit.test.d.ts +2 -0
  352. package/dist/utils/__tests__/filters.unit.test.d.ts.map +1 -0
  353. package/dist/utils/__tests__/filters.unit.test.js +239 -0
  354. package/dist/utils/__tests__/filters.unit.test.js.map +1 -0
  355. package/dist/utils/__tests__/session.contract.test.d.ts +2 -0
  356. package/dist/utils/__tests__/session.contract.test.d.ts.map +1 -0
  357. package/dist/utils/__tests__/session.contract.test.js +234 -0
  358. package/dist/utils/__tests__/session.contract.test.js.map +1 -0
  359. package/dist/utils/atomicFile.d.ts +38 -0
  360. package/dist/utils/atomicFile.d.ts.map +1 -0
  361. package/dist/utils/atomicFile.js +71 -0
  362. package/dist/utils/atomicFile.js.map +1 -0
  363. package/dist/utils/cdpHandlers.d.ts +31 -0
  364. package/dist/utils/cdpHandlers.d.ts.map +1 -0
  365. package/dist/utils/cdpHandlers.js +38 -0
  366. package/dist/utils/cdpHandlers.js.map +1 -0
  367. package/dist/utils/chromeDiagnostics.d.ts +28 -0
  368. package/dist/utils/chromeDiagnostics.d.ts.map +1 -0
  369. package/dist/utils/chromeDiagnostics.js +88 -0
  370. package/dist/utils/chromeDiagnostics.js.map +1 -0
  371. package/dist/utils/errors.d.ts +82 -0
  372. package/dist/utils/errors.d.ts.map +1 -0
  373. package/dist/utils/errors.js +88 -0
  374. package/dist/utils/errors.js.map +1 -0
  375. package/dist/utils/exitCodes.d.ts +32 -0
  376. package/dist/utils/exitCodes.d.ts.map +1 -0
  377. package/dist/utils/exitCodes.js +36 -0
  378. package/dist/utils/exitCodes.js.map +1 -0
  379. package/dist/utils/filters.d.ts +108 -0
  380. package/dist/utils/filters.d.ts.map +1 -0
  381. package/dist/utils/filters.js +304 -0
  382. package/dist/utils/filters.js.map +1 -0
  383. package/dist/utils/formatters/network.d.ts +23 -0
  384. package/dist/utils/formatters/network.d.ts.map +1 -0
  385. package/dist/utils/formatters/network.js +35 -0
  386. package/dist/utils/formatters/network.js.map +1 -0
  387. package/dist/utils/http.d.ts +34 -0
  388. package/dist/utils/http.d.ts.map +1 -0
  389. package/dist/utils/http.js +48 -0
  390. package/dist/utils/http.js.map +1 -0
  391. package/dist/utils/logger.d.ts +42 -0
  392. package/dist/utils/logger.d.ts.map +1 -0
  393. package/dist/utils/logger.js +43 -0
  394. package/dist/utils/logger.js.map +1 -0
  395. package/dist/utils/objects.d.ts +23 -0
  396. package/dist/utils/objects.d.ts.map +1 -0
  397. package/dist/utils/objects.js +25 -0
  398. package/dist/utils/objects.js.map +1 -0
  399. package/dist/utils/url/safeParseUrl.d.ts +63 -0
  400. package/dist/utils/url/safeParseUrl.d.ts.map +1 -0
  401. package/dist/utils/url/safeParseUrl.js +84 -0
  402. package/dist/utils/url/safeParseUrl.js.map +1 -0
  403. package/dist/utils/url.d.ts +63 -1
  404. package/dist/utils/url.d.ts.map +1 -1
  405. package/dist/utils/url.js +152 -2
  406. package/dist/utils/url.js.map +1 -1
  407. package/dist/utils/validation.d.ts +1 -1
  408. package/dist/utils/validation.d.ts.map +1 -1
  409. package/dist/utils/version.d.ts +3 -0
  410. package/dist/utils/version.d.ts.map +1 -0
  411. package/dist/utils/version.js +27 -0
  412. package/dist/utils/version.js.map +1 -0
  413. package/package.json +57 -10
  414. package/dist/utils/pageLoad.d.ts +0 -21
  415. package/dist/utils/pageLoad.d.ts.map +0 -1
  416. package/dist/utils/pageLoad.js +0 -85
  417. package/dist/utils/pageLoad.js.map +0 -1
  418. package/dist/utils/session.d.ts +0 -104
  419. package/dist/utils/session.d.ts.map +0 -1
  420. package/dist/utils/session.js +0 -244
  421. package/dist/utils/session.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Manages the session monitoring loop
3
+ */
4
+ export class SessionLoop {
5
+ /**
6
+ * Run session loop until stopped or error
7
+ *
8
+ * Monitors WebSocket connection and target lifecycle.
9
+ * Throws error if connection lost or tab closed.
10
+ *
11
+ * @param session - Active BDG session instance
12
+ * @param target - CDP target being monitored
13
+ * @throws Error if WebSocket connection lost or browser tab closed
14
+ */
15
+ static async run(session, target) {
16
+ if (!session) {
17
+ throw new Error('Session not initialized');
18
+ }
19
+ const cdp = session.getCDP();
20
+ const waitForNextCheck = () => new Promise((resolve) => {
21
+ let timer;
22
+ let handlerId;
23
+ const handleTargetDestroyed = (params) => {
24
+ if (params.targetId === target.id) {
25
+ clearTimeout(timer);
26
+ cdp.off('Target.targetDestroyed', handlerId);
27
+ resolve('destroyed');
28
+ }
29
+ };
30
+ handlerId = cdp.on('Target.targetDestroyed', handleTargetDestroyed);
31
+ timer = setTimeout(() => {
32
+ cdp.off('Target.targetDestroyed', handlerId);
33
+ resolve('continue');
34
+ }, 2000);
35
+ });
36
+ for (;;) {
37
+ const result = await waitForNextCheck();
38
+ if (!session.isConnected()) {
39
+ throw new Error('WebSocket connection lost');
40
+ }
41
+ if (result === 'destroyed') {
42
+ throw new Error('Browser tab was closed');
43
+ }
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=SessionLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionLoop.js","sourceRoot":"","sources":["../../../src/cli/handlers/SessionLoop.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAmB,EAAE,MAAiB;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE7B,MAAM,gBAAgB,GAAG,GAAsC,EAAE,CAC/D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,KAAoC,CAAC;YACzC,IAAI,SAAiB,CAAC;YAEtB,MAAM,qBAAqB,GAAG,CAAC,MAAgC,EAAQ,EAAE;gBACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;oBAClC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;oBAC7C,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;YAEF,SAAS,GAAG,GAAG,CAAC,EAAE,CAChB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;YAEF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAC7C,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEL,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import type { BdgSession } from '../../session/BdgSession.js';
2
+ import type { CDPTarget, LaunchedChrome } from '../../types.js';
3
+ import { OutputWriter } from './OutputWriter.js';
4
+ /**
5
+ * Minimal session state interface
6
+ */
7
+ export interface SessionState {
8
+ session: BdgSession | null;
9
+ launchedChrome: LaunchedChrome | null;
10
+ isShuttingDown: boolean;
11
+ startTime: number;
12
+ target: CDPTarget | null;
13
+ compact: boolean;
14
+ }
15
+ /**
16
+ * Orchestrates shutdown sequence and cleanup operations
17
+ */
18
+ export declare class ShutdownController {
19
+ private state;
20
+ private shutdownKeepalive;
21
+ private outputWriter;
22
+ constructor(state: SessionState, outputWriter?: OutputWriter);
23
+ /**
24
+ * Execute graceful shutdown sequence.
25
+ * Stops session, writes output, and exits process.
26
+ */
27
+ shutdown(): Promise<void>;
28
+ /**
29
+ * Cleanup without stopping session (error path).
30
+ * Clears timers, tears down Chrome if launched, and removes session files.
31
+ */
32
+ cleanup(): Promise<void>;
33
+ /**
34
+ * Finalize shutdown: write output, cleanup, and exit (internal use only)
35
+ */
36
+ private finalize;
37
+ }
38
+ //# sourceMappingURL=ShutdownController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShutdownController.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/ShutdownController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAa,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,KAAK;IAJf,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,YAAY,CAAe;gBAGzB,KAAK,EAAE,YAAY,EAC3B,YAAY,CAAC,EAAE,YAAY;IAK7B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB/B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;OAEG;IACH,OAAO,CAAC,QAAQ;CA8BjB"}
@@ -0,0 +1,83 @@
1
+ import { cleanupSession } from '../../session/cleanup.js';
2
+ import { OutputBuilder } from './OutputBuilder.js';
3
+ import { OutputWriter } from './OutputWriter.js';
4
+ /**
5
+ * Orchestrates shutdown sequence and cleanup operations
6
+ */
7
+ export class ShutdownController {
8
+ state;
9
+ shutdownKeepalive = null;
10
+ outputWriter;
11
+ constructor(state, outputWriter) {
12
+ this.state = state;
13
+ this.outputWriter = outputWriter ?? new OutputWriter();
14
+ }
15
+ /**
16
+ * Execute graceful shutdown sequence.
17
+ * Stops session, writes output, and exits process.
18
+ */
19
+ async shutdown() {
20
+ if (this.state.isShuttingDown || !this.state.session) {
21
+ return;
22
+ }
23
+ this.state.isShuttingDown = true;
24
+ // Keep event loop alive IMMEDIATELY to prevent premature exit during async operations
25
+ // This must be set before any await points
26
+ this.shutdownKeepalive = setInterval(() => { }, 1000);
27
+ try {
28
+ console.error('Stopping session...');
29
+ const output = await this.state.session.stop();
30
+ this.finalize(output, 0);
31
+ }
32
+ catch (error) {
33
+ console.error('Error during shutdown:', error);
34
+ const errorOutput = OutputBuilder.buildError(error, this.state.startTime);
35
+ this.finalize(errorOutput, 1);
36
+ }
37
+ }
38
+ /**
39
+ * Cleanup without stopping session (error path).
40
+ * Clears timers, tears down Chrome if launched, and removes session files.
41
+ */
42
+ async cleanup() {
43
+ // Kill Chrome if we launched it
44
+ if (this.state.launchedChrome) {
45
+ try {
46
+ await this.state.launchedChrome.kill();
47
+ }
48
+ catch {
49
+ // Ignore errors during cleanup
50
+ }
51
+ }
52
+ // Cleanup session files
53
+ cleanupSession();
54
+ }
55
+ /**
56
+ * Finalize shutdown: write output, cleanup, and exit (internal use only)
57
+ */
58
+ finalize(output, exitCode) {
59
+ // Write output
60
+ this.outputWriter.writeSessionOutput(output, exitCode, this.state.compact);
61
+ // Leave Chrome running for future sessions
62
+ if (this.state.launchedChrome) {
63
+ const chromeMessage = exitCode === 0
64
+ ? 'Leaving Chrome running for future sessions (use persistent profile)'
65
+ : 'Leaving Chrome running (use persistent profile)';
66
+ console.error(chromeMessage);
67
+ console.error(`Chrome PID: ${this.state.launchedChrome.pid}, port: ${this.state.launchedChrome.port}`);
68
+ }
69
+ // Cleanup session files
70
+ try {
71
+ cleanupSession();
72
+ }
73
+ catch (cleanupError) {
74
+ console.error('Error cleaning up session:', cleanupError);
75
+ }
76
+ // Clear keepalive and exit
77
+ if (this.shutdownKeepalive) {
78
+ clearInterval(this.shutdownKeepalive);
79
+ }
80
+ process.exit(exitCode);
81
+ }
82
+ }
83
+ //# sourceMappingURL=ShutdownController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShutdownController.js","sourceRoot":"","sources":["../../../src/cli/handlers/ShutdownController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Interface for shutdown callback
3
+ */
4
+ export interface SignalHandlerOptions {
5
+ onShutdown: () => Promise<void>;
6
+ }
7
+ /**
8
+ * Manages process signal handling for graceful shutdown
9
+ */
10
+ export declare class SignalHandler {
11
+ private options;
12
+ private isHandling;
13
+ constructor(options: SignalHandlerOptions);
14
+ /**
15
+ * Register signal handlers for graceful shutdown.
16
+ */
17
+ register(): void;
18
+ /**
19
+ * Unregister all signal handlers.
20
+ */
21
+ unregister(): void;
22
+ /**
23
+ * Handle shutdown signals (SIGINT, SIGTERM)
24
+ */
25
+ private handleSignal;
26
+ /**
27
+ * Handle unhandled promise rejections
28
+ */
29
+ private handleUnhandledRejection;
30
+ /**
31
+ * Handle uncaught exceptions
32
+ */
33
+ private handleUncaughtException;
34
+ }
35
+ //# sourceMappingURL=SignalHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/SignalHandler.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,UAAU,CAAS;gBAEP,OAAO,EAAE,oBAAoB;IAEjD;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,wBAAwB,CAS9B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAS7B;CACH"}
@@ -0,0 +1,81 @@
1
+ import { cleanupSession } from '../../session/cleanup.js';
2
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
3
+ /**
4
+ * Manages process signal handling for graceful shutdown
5
+ */
6
+ export class SignalHandler {
7
+ options;
8
+ isHandling = false;
9
+ constructor(options) {
10
+ this.options = options;
11
+ }
12
+ /**
13
+ * Register signal handlers for graceful shutdown.
14
+ */
15
+ register() {
16
+ const handler = (signal) => this.handleSignal(signal);
17
+ process.on('SIGINT', () => handler('SIGINT'));
18
+ process.on('SIGTERM', () => handler('SIGTERM'));
19
+ process.on('unhandledRejection', this.handleUnhandledRejection);
20
+ process.on('uncaughtException', this.handleUncaughtException);
21
+ }
22
+ /**
23
+ * Unregister all signal handlers.
24
+ */
25
+ unregister() {
26
+ process.removeAllListeners('SIGINT');
27
+ process.removeAllListeners('SIGTERM');
28
+ process.removeAllListeners('unhandledRejection');
29
+ process.removeAllListeners('uncaughtException');
30
+ }
31
+ /**
32
+ * Handle shutdown signals (SIGINT, SIGTERM)
33
+ */
34
+ handleSignal(signal) {
35
+ if (this.isHandling) {
36
+ return;
37
+ }
38
+ this.isHandling = true;
39
+ console.error(`\nReceived ${signal}, shutting down gracefully...`);
40
+ this.unregister();
41
+ void (async () => {
42
+ try {
43
+ await this.options.onShutdown();
44
+ // onShutdown calls process.exit(), so we should never reach here
45
+ }
46
+ catch (error) {
47
+ console.error('Fatal error during shutdown:', error);
48
+ process.exit(EXIT_CODES.SIGNAL_HANDLER_ERROR);
49
+ }
50
+ })();
51
+ }
52
+ /**
53
+ * Handle unhandled promise rejections
54
+ */
55
+ handleUnhandledRejection = (reason) => {
56
+ console.error('Unhandled rejection:', reason);
57
+ console.error('Cleaning up session files...');
58
+ try {
59
+ cleanupSession();
60
+ }
61
+ catch (error) {
62
+ console.error('Error during cleanup:', error);
63
+ }
64
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
65
+ };
66
+ /**
67
+ * Handle uncaught exceptions
68
+ */
69
+ handleUncaughtException = (error) => {
70
+ console.error('Uncaught exception:', error);
71
+ console.error('Cleaning up session files...');
72
+ try {
73
+ cleanupSession();
74
+ }
75
+ catch (cleanupError) {
76
+ console.error('Error during cleanup:', cleanupError);
77
+ }
78
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
79
+ };
80
+ }
81
+ //# sourceMappingURL=SignalHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalHandler.js","sourceRoot":"","sources":["../../../src/cli/handlers/SignalHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASlD;;GAEG;AACH,MAAM,OAAO,aAAa;IAGJ;IAFZ,UAAU,GAAG,KAAK,CAAC;IAE3B,YAAoB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAErD;;OAEG;IACH,QAAQ;QACN,MAAM,OAAO,GAAG,CAAC,MAAc,EAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEpE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACjD,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,cAAc,MAAM,+BAA+B,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAChC,iEAAiE;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED;;OAEG;IACK,wBAAwB,GAAG,CAAC,MAAe,EAAQ,EAAE;QAC3D,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,cAAc,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF;;OAEG;IACK,uBAAuB,GAAG,CAAC,KAAY,EAAQ,EAAE;QACvD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,cAAc,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC,CAAC;CACH"}
@@ -0,0 +1,42 @@
1
+ import { BdgSession } from '../../session/BdgSession.js';
2
+ import type { CDPTarget, SessionOptions } from '../../types.js';
3
+ /**
4
+ * Handles CDP target setup and session creation
5
+ */
6
+ export declare class TargetSetup {
7
+ /**
8
+ * Create CDP connection and find/create target tab
9
+ *
10
+ * @param url - Original URL from CLI (for matching)
11
+ * @param targetUrl - Normalized target URL
12
+ * @param port - Chrome debugging port
13
+ * @param reuseTab - Whether to reuse existing tab
14
+ * @param sessionOptions - Session-level collection options
15
+ * @returns Session and target metadata
16
+ */
17
+ static setup(url: string, targetUrl: string, port: number, reuseTab: boolean, sessionOptions?: SessionOptions): Promise<{
18
+ session: BdgSession;
19
+ target: CDPTarget;
20
+ }>;
21
+ /**
22
+ * Fetch the current list of available CDP targets from Chrome.
23
+ * Used during session bootstrap to select a temporary connection target and to
24
+ * refresh metadata when the session creates or reuses tabs.
25
+ *
26
+ * @param port - Chrome debugging port
27
+ * @returns Array of CDP targets
28
+ */
29
+ private static fetchTargets;
30
+ /**
31
+ * Locate a specific CDP target by ID. Falls back to a fresh fetch when cached
32
+ * metadata is missing or incomplete (e.g., webSocketDebuggerUrl absent).
33
+ *
34
+ * @param targetId - Target ID to find
35
+ * @param port - Chrome debugging port
36
+ * @param cachedTargets - Optional cached target list
37
+ * @returns CDP target with webSocketDebuggerUrl
38
+ * @throws Error if target not found or missing webSocketDebuggerUrl
39
+ */
40
+ private static findTargetById;
41
+ }
42
+ //# sourceMappingURL=TargetSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/TargetSetup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;OASG;WACU,KAAK,CAChB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,cAAc,GAAE,cAAmB,GAClC,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAoCtD;;;;;;;OAOG;mBACkB,YAAY;IAKjC;;;;;;;;;OASG;mBACkB,cAAc;CA2BpC"}
@@ -0,0 +1,87 @@
1
+ import { createOrFindTarget } from '../../connection/tabs.js';
2
+ import { BdgSession } from '../../session/BdgSession.js';
3
+ /**
4
+ * Handles CDP target setup and session creation
5
+ */
6
+ export class TargetSetup {
7
+ /**
8
+ * Create CDP connection and find/create target tab
9
+ *
10
+ * @param url - Original URL from CLI (for matching)
11
+ * @param targetUrl - Normalized target URL
12
+ * @param port - Chrome debugging port
13
+ * @param reuseTab - Whether to reuse existing tab
14
+ * @param sessionOptions - Session-level collection options
15
+ * @returns Session and target metadata
16
+ */
17
+ static async setup(url, targetUrl, port, reuseTab, sessionOptions = {}) {
18
+ // Fetch targets once
19
+ const initialTargets = await this.fetchTargets(port);
20
+ if (initialTargets.length === 0) {
21
+ throw new Error('No targets available in Chrome');
22
+ }
23
+ // Use first available target to establish CDP connection
24
+ const tempTarget = initialTargets[0];
25
+ if (!tempTarget) {
26
+ throw new Error('No targets available in Chrome');
27
+ }
28
+ const tempSession = new BdgSession(tempTarget, port, sessionOptions);
29
+ await tempSession.connect();
30
+ if (!tempSession.isConnected()) {
31
+ throw new Error('Failed to establish CDP connection');
32
+ }
33
+ // Create or find target tab using TabManager
34
+ console.error(`Finding or creating tab for: ${targetUrl}`);
35
+ const target = await createOrFindTarget(url, tempSession.getCDP(), reuseTab);
36
+ console.error(`Using tab: ${target.url}`);
37
+ // Find full target metadata (refetches only if not in cache or new tab created)
38
+ const fullTarget = await this.findTargetById(target.id, port, initialTargets);
39
+ // Close temp session and reconnect to the correct target
40
+ tempSession.getCDP().close();
41
+ const session = new BdgSession(fullTarget, port, sessionOptions);
42
+ await session.connect();
43
+ return { session, target: fullTarget };
44
+ }
45
+ /**
46
+ * Fetch the current list of available CDP targets from Chrome.
47
+ * Used during session bootstrap to select a temporary connection target and to
48
+ * refresh metadata when the session creates or reuses tabs.
49
+ *
50
+ * @param port - Chrome debugging port
51
+ * @returns Array of CDP targets
52
+ */
53
+ static async fetchTargets(port) {
54
+ const response = await fetch(`http://127.0.0.1:${port}/json/list`);
55
+ return (await response.json());
56
+ }
57
+ /**
58
+ * Locate a specific CDP target by ID. Falls back to a fresh fetch when cached
59
+ * metadata is missing or incomplete (e.g., webSocketDebuggerUrl absent).
60
+ *
61
+ * @param targetId - Target ID to find
62
+ * @param port - Chrome debugging port
63
+ * @param cachedTargets - Optional cached target list
64
+ * @returns CDP target with webSocketDebuggerUrl
65
+ * @throws Error if target not found or missing webSocketDebuggerUrl
66
+ */
67
+ static async findTargetById(targetId, port, cachedTargets) {
68
+ // First check cached targets if provided
69
+ if (cachedTargets) {
70
+ const cached = cachedTargets.find((t) => t.id === targetId);
71
+ if (cached?.webSocketDebuggerUrl) {
72
+ return cached;
73
+ }
74
+ }
75
+ // Not in cache or missing webSocketDebuggerUrl - refetch
76
+ const targets = await this.fetchTargets(port);
77
+ const target = targets.find((t) => t.id === targetId);
78
+ if (!target) {
79
+ throw new Error(`Could not find target ${targetId}`);
80
+ }
81
+ if (!target.webSocketDebuggerUrl) {
82
+ throw new Error(`Could not find webSocketDebuggerUrl for target ${targetId}`);
83
+ }
84
+ return target;
85
+ }
86
+ }
87
+ //# sourceMappingURL=TargetSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetSetup.js","sourceRoot":"","sources":["../../../src/cli/handlers/TargetSetup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { Option } from 'commander';
2
+ /**
3
+ * Shared --json flag for all commands that support JSON output.
4
+ * Standard option for machine-readable output.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * program
9
+ * .command('status')
10
+ * .addOption(jsonOption)
11
+ * .action((options) => {
12
+ * if (options.json) {
13
+ * console.log(JSON.stringify(data));
14
+ * }
15
+ * });
16
+ * ```
17
+ */
18
+ export declare const jsonOption: Option;
19
+ /**
20
+ * Shared --last <n> option for pagination.
21
+ * Includes built-in validation for sensible limits.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * program
26
+ * .command('console')
27
+ * .addOption(lastOption)
28
+ * .action((options) => {
29
+ * const logs = allLogs.slice(-options.last);
30
+ * });
31
+ * ```
32
+ */
33
+ export declare const lastOption: Option;
34
+ /**
35
+ * Create a --filter option with specified valid choices.
36
+ * Includes built-in validation using Commander's .choices() method.
37
+ *
38
+ * @param validTypes - Array of valid filter values
39
+ * @returns Commander Option instance
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * program
44
+ * .command('console')
45
+ * .addOption(filterOption(['log', 'error', 'warning', 'info']))
46
+ * .action((options) => {
47
+ * if (options.filter) {
48
+ * filtered = logs.filter(log => log.type === options.filter);
49
+ * }
50
+ * });
51
+ * ```
52
+ */
53
+ export declare function filterOption(validTypes: string[]): Option;
54
+ //# sourceMappingURL=commonOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonOptions.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,QAA6C,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,QAQnB,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAIzD"}
@@ -0,0 +1,64 @@
1
+ import { Option } from 'commander';
2
+ /**
3
+ * Shared --json flag for all commands that support JSON output.
4
+ * Standard option for machine-readable output.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * program
9
+ * .command('status')
10
+ * .addOption(jsonOption)
11
+ * .action((options) => {
12
+ * if (options.json) {
13
+ * console.log(JSON.stringify(data));
14
+ * }
15
+ * });
16
+ * ```
17
+ */
18
+ export const jsonOption = new Option('-j, --json', 'Output as JSON');
19
+ /**
20
+ * Shared --last <n> option for pagination.
21
+ * Includes built-in validation for sensible limits.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * program
26
+ * .command('console')
27
+ * .addOption(lastOption)
28
+ * .action((options) => {
29
+ * const logs = allLogs.slice(-options.last);
30
+ * });
31
+ * ```
32
+ */
33
+ export const lastOption = new Option('--last <n>', 'Show last N items')
34
+ .default(0)
35
+ .argParser((val) => {
36
+ const n = parseInt(val, 10);
37
+ if (isNaN(n) || n < 0 || n > 10000) {
38
+ throw new Error('--last must be between 0 and 10000');
39
+ }
40
+ return n;
41
+ });
42
+ /**
43
+ * Create a --filter option with specified valid choices.
44
+ * Includes built-in validation using Commander's .choices() method.
45
+ *
46
+ * @param validTypes - Array of valid filter values
47
+ * @returns Commander Option instance
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * program
52
+ * .command('console')
53
+ * .addOption(filterOption(['log', 'error', 'warning', 'info']))
54
+ * .action((options) => {
55
+ * if (options.filter) {
56
+ * filtered = logs.filter(log => log.type === options.filter);
57
+ * }
58
+ * });
59
+ * ```
60
+ */
61
+ export function filterOption(validTypes) {
62
+ return new Option('--filter <type>', `Filter by type (${validTypes.join(', ')})`).choices(validTypes);
63
+ }
64
+ //# sourceMappingURL=commonOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonOptions.js","sourceRoot":"","sources":["../../../src/cli/handlers/commonOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC;KACpE,OAAO,CAAC,CAAC,CAAC;KACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,UAAoB;IAC/C,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CACvF,UAAU,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CollectorType } from '@/types.js';
2
+ /**
3
+ * Start a session via the daemon using IPC.
4
+ *
5
+ * This replaces the in-process sessionController.startSession() by:
6
+ * 1. Sending a start_session_request to the daemon
7
+ * 2. Waiting for the worker to launch and report readiness
8
+ * 3. Outputting metadata about the running session
9
+ * 4. Keeping the process alive while the session runs
10
+ *
11
+ * @param url - Target URL to navigate to
12
+ * @param options - Session configuration options
13
+ * @param collectors - Array of collector types to enable
14
+ */
15
+ export declare function startSessionViaDaemon(url: string, options: {
16
+ port: number;
17
+ timeout: number | undefined;
18
+ userDataDir: string | undefined;
19
+ includeAll: boolean;
20
+ maxBodySize: number | undefined;
21
+ compact: boolean;
22
+ }, collectors: CollectorType[]): Promise<void>;
23
+ //# sourceMappingURL=daemonSessionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemonSessionController.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/daemonSessionController.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,EACD,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyGf"}