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,193 @@
1
+ /**
2
+ * IPC Protocol Types - Minimal JSONL handshake MVP
3
+ *
4
+ * This module defines the bare minimum message types needed to establish
5
+ * a handshake between the CLI client and the daemon over JSONL protocol.
6
+ */
7
+ import type { CollectorType } from '@/types.js';
8
+ /**
9
+ * Base envelope for all IPC messages.
10
+ * JSONL format: Each message is a single line of JSON.
11
+ */
12
+ export interface IPCMessage {
13
+ type: string;
14
+ sessionId: string;
15
+ }
16
+ /**
17
+ * Handshake request sent from CLI client to daemon.
18
+ * First message in the IPC protocol - establishes connection.
19
+ */
20
+ export interface HandshakeRequest extends IPCMessage {
21
+ type: 'handshake_request';
22
+ sessionId: string;
23
+ }
24
+ /**
25
+ * Handshake response sent from daemon to CLI client.
26
+ * Confirms successful connection establishment.
27
+ */
28
+ export interface HandshakeResponse extends IPCMessage {
29
+ type: 'handshake_response';
30
+ sessionId: string;
31
+ status: 'ok' | 'error';
32
+ message?: string;
33
+ }
34
+ /**
35
+ * Status request sent from CLI client to daemon.
36
+ * Requests current daemon and session state information.
37
+ */
38
+ export interface StatusRequest extends IPCMessage {
39
+ type: 'status_request';
40
+ sessionId: string;
41
+ }
42
+ /**
43
+ * Status response payload containing daemon and session metadata.
44
+ */
45
+ export interface StatusResponseData {
46
+ daemonPid: number;
47
+ daemonStartTime: number;
48
+ socketPath: string;
49
+ sessionPid?: number;
50
+ sessionMetadata?: {
51
+ bdgPid: number;
52
+ chromePid?: number;
53
+ startTime: number;
54
+ port: number;
55
+ targetId?: string;
56
+ webSocketDebuggerUrl?: string;
57
+ activeCollectors?: CollectorType[];
58
+ };
59
+ }
60
+ /**
61
+ * Status response sent from daemon to CLI client.
62
+ */
63
+ export interface StatusResponse extends IPCMessage {
64
+ type: 'status_response';
65
+ sessionId: string;
66
+ status: 'ok' | 'error';
67
+ data?: StatusResponseData;
68
+ error?: string;
69
+ }
70
+ /**
71
+ * Peek request sent from CLI client to daemon.
72
+ * Requests current session preview data (lightweight snapshot).
73
+ */
74
+ export interface PeekRequest extends IPCMessage {
75
+ type: 'peek_request';
76
+ sessionId: string;
77
+ }
78
+ /**
79
+ * Peek response payload containing session preview data.
80
+ * Live data fetched from worker via IPC (no file reads).
81
+ */
82
+ export interface PeekResponseData {
83
+ sessionPid: number;
84
+ preview: {
85
+ version: string;
86
+ success: boolean;
87
+ timestamp: string;
88
+ duration: number;
89
+ target: {
90
+ url: string;
91
+ title: string;
92
+ };
93
+ data: {
94
+ dom?: unknown;
95
+ network?: unknown[];
96
+ console?: unknown[];
97
+ };
98
+ partial?: boolean;
99
+ };
100
+ }
101
+ /**
102
+ * Peek response sent from daemon to CLI client.
103
+ */
104
+ export interface PeekResponse extends IPCMessage {
105
+ type: 'peek_response';
106
+ sessionId: string;
107
+ status: 'ok' | 'error';
108
+ data?: PeekResponseData;
109
+ error?: string;
110
+ }
111
+ /**
112
+ * Error codes for IPC responses.
113
+ * Provides structured error handling across daemon and CLI.
114
+ */
115
+ export declare enum IPCErrorCode {
116
+ NO_SESSION = "NO_SESSION",
117
+ SESSION_KILL_FAILED = "SESSION_KILL_FAILED",
118
+ SESSION_ALREADY_RUNNING = "SESSION_ALREADY_RUNNING",
119
+ WORKER_START_FAILED = "WORKER_START_FAILED",
120
+ CHROME_LAUNCH_FAILED = "CHROME_LAUNCH_FAILED",
121
+ CDP_TIMEOUT = "CDP_TIMEOUT",
122
+ DAEMON_ERROR = "DAEMON_ERROR"
123
+ }
124
+ /**
125
+ * Start session request sent from CLI client to daemon.
126
+ * Requests launching a new browser session for the given URL.
127
+ */
128
+ export interface StartSessionRequest extends IPCMessage {
129
+ type: 'start_session_request';
130
+ sessionId: string;
131
+ url: string;
132
+ port?: number;
133
+ timeout?: number;
134
+ collectors?: CollectorType[];
135
+ includeAll?: boolean;
136
+ userDataDir?: string;
137
+ maxBodySize?: number;
138
+ }
139
+ /**
140
+ * Start session response payload containing worker metadata.
141
+ */
142
+ export interface StartSessionResponseData {
143
+ workerPid: number;
144
+ chromePid: number;
145
+ port: number;
146
+ targetUrl: string;
147
+ targetTitle?: string;
148
+ }
149
+ /**
150
+ * Start session response sent from daemon to CLI client.
151
+ */
152
+ export interface StartSessionResponse extends IPCMessage {
153
+ type: 'start_session_response';
154
+ sessionId: string;
155
+ status: 'ok' | 'error';
156
+ data?: StartSessionResponseData;
157
+ message?: string;
158
+ errorCode?: IPCErrorCode;
159
+ existingSession?: {
160
+ pid: number;
161
+ targetUrl?: string;
162
+ startTime?: number;
163
+ duration?: number;
164
+ };
165
+ }
166
+ /**
167
+ * Stop session request sent from CLI client to daemon.
168
+ * Requests termination of the currently running session.
169
+ */
170
+ export interface StopSessionRequest extends IPCMessage {
171
+ type: 'stop_session_request';
172
+ sessionId: string;
173
+ }
174
+ /**
175
+ * Stop session response sent from daemon to CLI client.
176
+ */
177
+ export interface StopSessionResponse extends IPCMessage {
178
+ type: 'stop_session_response';
179
+ sessionId: string;
180
+ status: 'ok' | 'error';
181
+ message?: string;
182
+ errorCode?: IPCErrorCode;
183
+ chromePid?: number;
184
+ }
185
+ /**
186
+ * NOTE: DOM command types (DomQueryCommand, DomHighlightCommand, DomGetCommand, etc.)
187
+ * are now defined in \@/ipc/commands.ts
188
+ */
189
+ /**
190
+ * Union type of all IPC messages (for future extension).
191
+ */
192
+ export type IPCMessageType = HandshakeRequest | HandshakeResponse | StatusRequest | StatusResponse | PeekRequest | PeekResponse | StartSessionRequest | StartSessionResponse | StopSessionRequest | StopSessionResponse;
193
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ipc/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * IPC Protocol Types - Minimal JSONL handshake MVP
3
+ *
4
+ * This module defines the bare minimum message types needed to establish
5
+ * a handshake between the CLI client and the daemon over JSONL protocol.
6
+ */
7
+ /**
8
+ * Error codes for IPC responses.
9
+ * Provides structured error handling across daemon and CLI.
10
+ */
11
+ export var IPCErrorCode;
12
+ (function (IPCErrorCode) {
13
+ IPCErrorCode["NO_SESSION"] = "NO_SESSION";
14
+ IPCErrorCode["SESSION_KILL_FAILED"] = "SESSION_KILL_FAILED";
15
+ IPCErrorCode["SESSION_ALREADY_RUNNING"] = "SESSION_ALREADY_RUNNING";
16
+ IPCErrorCode["WORKER_START_FAILED"] = "WORKER_START_FAILED";
17
+ IPCErrorCode["CHROME_LAUNCH_FAILED"] = "CHROME_LAUNCH_FAILED";
18
+ IPCErrorCode["CDP_TIMEOUT"] = "CDP_TIMEOUT";
19
+ IPCErrorCode["DAEMON_ERROR"] = "DAEMON_ERROR";
20
+ })(IPCErrorCode || (IPCErrorCode = {}));
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ipc/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoHH;;;GAGG;AACH,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,2DAA2C,CAAA;IAC3C,mEAAmD,CAAA;IACnD,2DAA2C,CAAA;IAC3C,6DAA6C,CAAA;IAC7C,2CAA2B,CAAA;IAC3B,6CAA6B,CAAA;AAC/B,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
@@ -1,5 +1,5 @@
1
1
  import { CDPConnection } from '../connection/cdp.js';
2
- import { CDPTarget, CollectorType, BdgOutput } from '../types.js';
2
+ import type { CDPTarget, CollectorType, NetworkRequest, ConsoleMessage, BdgOutput, SessionOptions } from '../types.js';
3
3
  /**
4
4
  * Manages a browser debugging session.
5
5
  *
@@ -19,7 +19,15 @@ export declare class BdgSession {
19
19
  private networkRequests;
20
20
  private consoleLogs;
21
21
  private activeCollectors;
22
- constructor(target: CDPTarget, port: number);
22
+ private sessionOptions;
23
+ constructor(target: CDPTarget, port: number, options?: SessionOptions);
24
+ /**
25
+ * Connect to the CDP target and initialize session.
26
+ *
27
+ * We disable auto-reconnect because CLI sessions are short-lived and should
28
+ * fail fast when the target becomes unavailable. Target validation prevents
29
+ * race conditions where tabs close during connection setup.
30
+ */
23
31
  connect(): Promise<void>;
24
32
  /**
25
33
  * Start a specific data collector.
@@ -31,8 +39,9 @@ export declare class BdgSession {
31
39
  /**
32
40
  * Stop the session and return collected telemetry.
33
41
  *
34
- * Captures final DOM snapshot, aggregates all collected data,
35
- * and performs cleanup of CDP connection and collectors.
42
+ * DOM capture errors are ignored because Chrome may be shutting down during
43
+ * SIGINT handling. CDP domain disabling is skipped during cleanup to prevent
44
+ * hanging when Chrome is already terminating.
36
45
  *
37
46
  * @returns Complete telemetry output with success/error status
38
47
  * @throws Error if session is not active
@@ -58,5 +67,63 @@ export declare class BdgSession {
58
67
  * @returns CDP connection instance
59
68
  */
60
69
  getCDP(): CDPConnection;
70
+ /**
71
+ * Get collected network requests.
72
+ *
73
+ * Useful for live preview of collected data without stopping the session.
74
+ *
75
+ * @returns Array of network requests collected so far
76
+ */
77
+ getNetworkRequests(): NetworkRequest[];
78
+ /**
79
+ * Get collected console messages.
80
+ *
81
+ * Useful for live preview of collected data without stopping the session.
82
+ *
83
+ * @returns Array of console messages collected so far
84
+ */
85
+ getConsoleLogs(): ConsoleMessage[];
86
+ /**
87
+ * Get session start time.
88
+ *
89
+ * @returns Timestamp when session was created
90
+ */
91
+ getStartTime(): number;
92
+ /**
93
+ * Get list of active collectors.
94
+ *
95
+ * @returns Array of collector types that are currently active
96
+ */
97
+ getActiveCollectors(): CollectorType[];
98
+ /**
99
+ * Build network collection options from session options.
100
+ *
101
+ * Maps session-level configuration to network collector specific options.
102
+ * This centralized mapping makes it easier to maintain option compatibility
103
+ * and reduces repetitive conditional assignments.
104
+ */
105
+ private buildNetworkCollectionOptions;
106
+ /**
107
+ * Attempt to capture final DOM snapshot.
108
+ *
109
+ * DOM capture failures are expected and ignored during shutdown because
110
+ * Chrome may already be terminating when SIGINT is received. We prioritize
111
+ * returning partial data over failing completely.
112
+ */
113
+ private captureDomsnapshot;
114
+ /**
115
+ * Build the final session output with collected data.
116
+ */
117
+ private buildSessionOutput;
118
+ /**
119
+ * Perform session cleanup with error tolerance.
120
+ *
121
+ * We skip CDP domain disabling and tolerate connection errors because
122
+ * Chrome may already be dead during SIGINT shutdown. Priority is on
123
+ * cleaning up our internal state rather than graceful CDP teardown.
124
+ *
125
+ * Note: Marked async for consistency with cleanup interface pattern.
126
+ */
127
+ private performSessionCleanup;
61
128
  }
62
129
  //# sourceMappingURL=BdgSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BdgSession.d.ts","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EACL,SAAS,EACT,aAAa,EAIb,SAAS,EAEV,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAUnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAVd,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;gBAGrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM;IAMhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAsEhC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;;OAMG;IACH,MAAM,IAAI,aAAa;CAGxB"}
1
+ {"version":3,"file":"BdgSession.d.ts","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EAEd,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAC;AAajB;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAWnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAXd,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAAiB;gBAG7B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACpB,OAAO,GAAE,cAAmB;IAO9B;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxD;;;;;;;;;OASG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAchC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;;OAMG;IACH,MAAM,IAAI,aAAa;IAIvB;;;;;;OAMG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAItC;;;;;;OAMG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,mBAAmB,IAAI,aAAa,EAAE;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B;IAYrC;;;;;;OAMG;YACW,kBAAkB;IAmBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;;;;;OAQG;YAEW,qBAAqB;CAsBpC"}
@@ -1,8 +1,20 @@
1
- import { CDPConnection } from '../connection/cdp.js';
2
- import { validateTarget } from '../connection/finder.js';
3
- import { startNetworkCollection } from '../collectors/network.js';
4
1
  import { startConsoleCollection } from '../collectors/console.js';
5
2
  import { prepareDOMCollection, collectDOM } from '../collectors/dom.js';
3
+ import { startNetworkCollection } from '../collectors/network.js';
4
+ import { CDPConnection } from '../connection/cdp.js';
5
+ import { validateTarget } from '../connection/finder.js';
6
+ import { CDP_MAX_CONNECTION_RETRIES, CDP_KEEPALIVE_INTERVAL, CDP_DISCOVER_TARGETS, } from '../constants.js';
7
+ import { filterDefined } from '../utils/objects.js';
8
+ import { VERSION } from '../utils/version.js';
9
+ const CAPTURING_FINAL_STATE_MESSAGE = 'Capturing final state...';
10
+ const CAPTURING_DOM_SNAPSHOT_MESSAGE = 'Capturing DOM snapshot...';
11
+ const DOM_SNAPSHOT_SUCCESS_MESSAGE = 'DOM snapshot captured successfully';
12
+ const CLEANING_UP_SESSION_MESSAGE = 'Cleaning up session...';
13
+ const SESSION_CLEANUP_COMPLETE_MESSAGE = 'Session cleanup complete';
14
+ const SESSION_NOT_ACTIVE_ERROR = 'Session not active';
15
+ const TARGET_CLOSED_ERROR = 'Target tab closed during connection';
16
+ const DOM_CAPTURE_FAILED_WARNING = 'Warning: DOM capture failed (Chrome may be closing):';
17
+ const CLEANUP_ERROR_WARNING = 'Warning: Cleanup error:';
6
18
  /**
7
19
  * Manages a browser debugging session.
8
20
  *
@@ -22,27 +34,33 @@ export class BdgSession {
22
34
  networkRequests = [];
23
35
  consoleLogs = [];
24
36
  activeCollectors = [];
25
- constructor(target, port) {
37
+ sessionOptions;
38
+ constructor(target, port, options = {}) {
26
39
  this.target = target;
27
40
  this.port = port;
28
41
  this.cdp = new CDPConnection();
29
42
  this.startTime = Date.now();
43
+ this.sessionOptions = options;
30
44
  }
45
+ /**
46
+ * Connect to the CDP target and initialize session.
47
+ *
48
+ * We disable auto-reconnect because CLI sessions are short-lived and should
49
+ * fail fast when the target becomes unavailable. Target validation prevents
50
+ * race conditions where tabs close during connection setup.
51
+ */
31
52
  async connect() {
32
- // Connect with retry and keepalive (no auto-reconnect for CLI use)
33
53
  await this.cdp.connect(this.target.webSocketDebuggerUrl, {
34
- maxRetries: 3,
54
+ maxRetries: CDP_MAX_CONNECTION_RETRIES,
35
55
  autoReconnect: false,
36
- keepaliveInterval: 30000
56
+ keepaliveInterval: CDP_KEEPALIVE_INTERVAL,
37
57
  });
38
- // Validate target still exists
39
58
  const targetExists = await validateTarget(this.target.id, this.port);
40
59
  if (!targetExists) {
41
60
  this.cdp.close();
42
- throw new Error('Target tab closed during connection');
61
+ throw new Error(TARGET_CLOSED_ERROR);
43
62
  }
44
- // Enable Target domain to receive targetDestroyed events
45
- await this.cdp.send('Target.setDiscoverTargets', { discover: true });
63
+ await this.cdp.send('Target.setDiscoverTargets', { discover: CDP_DISCOVER_TARGETS });
46
64
  this.isActive = true;
47
65
  }
48
66
  /**
@@ -53,93 +71,43 @@ export class BdgSession {
53
71
  */
54
72
  async startCollector(type) {
55
73
  if (!this.isActive) {
56
- throw new Error('Session not active');
74
+ throw new Error(SESSION_NOT_ACTIVE_ERROR);
57
75
  }
58
76
  this.activeCollectors.push(type);
59
77
  let cleanup;
60
78
  switch (type) {
61
- case 'network':
62
- cleanup = await startNetworkCollection(this.cdp, this.networkRequests);
79
+ case 'network': {
80
+ const networkOptions = this.buildNetworkCollectionOptions();
81
+ cleanup = await startNetworkCollection(this.cdp, this.networkRequests, networkOptions);
63
82
  break;
83
+ }
64
84
  case 'console':
65
- cleanup = await startConsoleCollection(this.cdp, this.consoleLogs);
85
+ cleanup = await startConsoleCollection(this.cdp, this.consoleLogs, this.sessionOptions.includeAll ?? false);
66
86
  break;
67
87
  case 'dom':
68
88
  cleanup = await prepareDOMCollection(this.cdp);
69
89
  break;
70
- default:
71
- throw new Error(`Unknown collector type: ${type}`);
72
90
  }
73
91
  this.collectors.set(type, cleanup);
74
92
  }
75
93
  /**
76
94
  * Stop the session and return collected telemetry.
77
95
  *
78
- * Captures final DOM snapshot, aggregates all collected data,
79
- * and performs cleanup of CDP connection and collectors.
96
+ * DOM capture errors are ignored because Chrome may be shutting down during
97
+ * SIGINT handling. CDP domain disabling is skipped during cleanup to prevent
98
+ * hanging when Chrome is already terminating.
80
99
  *
81
100
  * @returns Complete telemetry output with success/error status
82
101
  * @throws Error if session is not active
83
102
  */
84
103
  async stop() {
85
104
  if (!this.isActive) {
86
- throw new Error('Session not active');
87
- }
88
- console.error('Capturing final state...');
89
- // Attempt to capture DOM if it's an active collector
90
- let domData;
91
- if (this.activeCollectors.includes('dom')) {
92
- try {
93
- console.error('Capturing DOM snapshot...');
94
- domData = await collectDOM(this.cdp);
95
- console.error('DOM snapshot captured successfully');
96
- }
97
- catch (domError) {
98
- // Chrome may be closing during shutdown, ignore DOM capture failures
99
- console.error('Warning: DOM capture failed (Chrome may be closing):', domError instanceof Error ? domError.message : String(domError));
100
- }
101
- }
102
- // Build output (even if DOM capture failed)
103
- const output = {
104
- success: true,
105
- timestamp: new Date().toISOString(),
106
- duration: Date.now() - this.startTime,
107
- target: {
108
- url: domData?.url || this.target.url,
109
- title: domData?.title || this.target.title
110
- },
111
- data: {}
112
- };
113
- // Add collected data
114
- if (this.activeCollectors.includes('dom') && domData) {
115
- output.data.dom = domData;
116
- }
117
- if (this.activeCollectors.includes('network')) {
118
- output.data.network = this.networkRequests;
119
- }
120
- if (this.activeCollectors.includes('console')) {
121
- output.data.console = this.consoleLogs;
122
- }
123
- // Clean up collectors (skip CDP domain disabling during shutdown to avoid hanging)
124
- try {
125
- console.error('Cleaning up session...');
126
- // Call cleanup functions for all collectors
127
- this.collectors.forEach(cleanup => cleanup());
128
- this.collectors.clear();
129
- // Skip disabling CDP domains - Chrome may be dead during SIGINT shutdown
130
- // Just close the connection and mark as inactive
131
- try {
132
- this.cdp.close();
133
- }
134
- catch (closeError) {
135
- // Ignore close errors
136
- }
137
- this.isActive = false;
138
- console.error('Session cleanup complete');
139
- }
140
- catch (cleanupError) {
141
- console.error('Warning: Cleanup error:', cleanupError instanceof Error ? cleanupError.message : String(cleanupError));
105
+ throw new Error(SESSION_NOT_ACTIVE_ERROR);
142
106
  }
107
+ console.error(CAPTURING_FINAL_STATE_MESSAGE);
108
+ const domData = await this.captureDomsnapshot();
109
+ const output = this.buildSessionOutput(domData);
110
+ await this.performSessionCleanup();
143
111
  return output;
144
112
  }
145
113
  /**
@@ -168,5 +136,135 @@ export class BdgSession {
168
136
  getCDP() {
169
137
  return this.cdp;
170
138
  }
139
+ /**
140
+ * Get collected network requests.
141
+ *
142
+ * Useful for live preview of collected data without stopping the session.
143
+ *
144
+ * @returns Array of network requests collected so far
145
+ */
146
+ getNetworkRequests() {
147
+ return this.networkRequests;
148
+ }
149
+ /**
150
+ * Get collected console messages.
151
+ *
152
+ * Useful for live preview of collected data without stopping the session.
153
+ *
154
+ * @returns Array of console messages collected so far
155
+ */
156
+ getConsoleLogs() {
157
+ return this.consoleLogs;
158
+ }
159
+ /**
160
+ * Get session start time.
161
+ *
162
+ * @returns Timestamp when session was created
163
+ */
164
+ getStartTime() {
165
+ return this.startTime;
166
+ }
167
+ /**
168
+ * Get list of active collectors.
169
+ *
170
+ * @returns Array of collector types that are currently active
171
+ */
172
+ getActiveCollectors() {
173
+ return this.activeCollectors;
174
+ }
175
+ /**
176
+ * Build network collection options from session options.
177
+ *
178
+ * Maps session-level configuration to network collector specific options.
179
+ * This centralized mapping makes it easier to maintain option compatibility
180
+ * and reduces repetitive conditional assignments.
181
+ */
182
+ buildNetworkCollectionOptions() {
183
+ return filterDefined({
184
+ includeAll: this.sessionOptions.includeAll,
185
+ fetchAllBodies: this.sessionOptions.fetchAllBodies,
186
+ fetchBodiesInclude: this.sessionOptions.fetchBodiesInclude,
187
+ fetchBodiesExclude: this.sessionOptions.fetchBodiesExclude,
188
+ networkInclude: this.sessionOptions.networkInclude,
189
+ networkExclude: this.sessionOptions.networkExclude,
190
+ maxBodySize: this.sessionOptions.maxBodySize,
191
+ });
192
+ }
193
+ /**
194
+ * Attempt to capture final DOM snapshot.
195
+ *
196
+ * DOM capture failures are expected and ignored during shutdown because
197
+ * Chrome may already be terminating when SIGINT is received. We prioritize
198
+ * returning partial data over failing completely.
199
+ */
200
+ async captureDomsnapshot() {
201
+ if (!this.activeCollectors.includes('dom')) {
202
+ return undefined;
203
+ }
204
+ try {
205
+ console.error(CAPTURING_DOM_SNAPSHOT_MESSAGE);
206
+ const domData = await collectDOM(this.cdp);
207
+ console.error(DOM_SNAPSHOT_SUCCESS_MESSAGE);
208
+ return domData;
209
+ }
210
+ catch (domError) {
211
+ console.error(DOM_CAPTURE_FAILED_WARNING, domError instanceof Error ? domError.message : String(domError));
212
+ return undefined;
213
+ }
214
+ }
215
+ /**
216
+ * Build the final session output with collected data.
217
+ */
218
+ buildSessionOutput(domData) {
219
+ const output = {
220
+ version: VERSION,
221
+ success: true,
222
+ timestamp: new Date().toISOString(),
223
+ duration: Date.now() - this.startTime,
224
+ target: {
225
+ url: domData?.url ?? this.target.url,
226
+ title: domData?.title ?? this.target.title,
227
+ },
228
+ data: {},
229
+ };
230
+ if (this.activeCollectors.includes('dom') && domData) {
231
+ output.data.dom = domData;
232
+ }
233
+ if (this.activeCollectors.includes('network')) {
234
+ output.data.network = this.networkRequests;
235
+ }
236
+ if (this.activeCollectors.includes('console')) {
237
+ output.data.console = this.consoleLogs;
238
+ }
239
+ return output;
240
+ }
241
+ /**
242
+ * Perform session cleanup with error tolerance.
243
+ *
244
+ * We skip CDP domain disabling and tolerate connection errors because
245
+ * Chrome may already be dead during SIGINT shutdown. Priority is on
246
+ * cleaning up our internal state rather than graceful CDP teardown.
247
+ *
248
+ * Note: Marked async for consistency with cleanup interface pattern.
249
+ */
250
+ // eslint-disable-next-line @typescript-eslint/require-await
251
+ async performSessionCleanup() {
252
+ try {
253
+ console.error(CLEANING_UP_SESSION_MESSAGE);
254
+ this.collectors.forEach((cleanup) => cleanup());
255
+ this.collectors.clear();
256
+ try {
257
+ this.cdp.close();
258
+ }
259
+ catch {
260
+ // Connection close errors are expected during shutdown
261
+ }
262
+ this.isActive = false;
263
+ console.error(SESSION_CLEANUP_COMPLETE_MESSAGE);
264
+ }
265
+ catch (cleanupError) {
266
+ console.error(CLEANUP_ERROR_WARNING, cleanupError instanceof Error ? cleanupError.message : String(cleanupError));
267
+ }
268
+ }
171
269
  }
172
270
  //# sourceMappingURL=BdgSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BdgSession.js","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BdgSession.js","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"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"}