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,108 @@
1
+ import { startSession as sendStartSessionRequest } from '../../ipc/client.js';
2
+ import { IPCErrorCode } from '../../ipc/types.js';
3
+ import { getErrorMessage } from '../../utils/errors.js';
4
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
5
+ /**
6
+ * Start a session via the daemon using IPC.
7
+ *
8
+ * This replaces the in-process sessionController.startSession() by:
9
+ * 1. Sending a start_session_request to the daemon
10
+ * 2. Waiting for the worker to launch and report readiness
11
+ * 3. Outputting metadata about the running session
12
+ * 4. Keeping the process alive while the session runs
13
+ *
14
+ * @param url - Target URL to navigate to
15
+ * @param options - Session configuration options
16
+ * @param collectors - Array of collector types to enable
17
+ */
18
+ export async function startSessionViaDaemon(url, options, collectors) {
19
+ try {
20
+ console.error('[bdg] Connecting to daemon...');
21
+ // Send start_session_request to daemon
22
+ const requestOptions = {};
23
+ if (options.port !== undefined)
24
+ requestOptions.port = options.port;
25
+ if (options.timeout !== undefined)
26
+ requestOptions.timeout = options.timeout;
27
+ if (collectors.length > 0)
28
+ requestOptions.collectors = collectors;
29
+ if (options.includeAll !== undefined)
30
+ requestOptions.includeAll = options.includeAll;
31
+ if (options.userDataDir !== undefined)
32
+ requestOptions.userDataDir = options.userDataDir;
33
+ if (options.maxBodySize !== undefined)
34
+ requestOptions.maxBodySize = options.maxBodySize;
35
+ const response = await sendStartSessionRequest(url, requestOptions);
36
+ // Check for errors
37
+ if (response.status === 'error') {
38
+ // Special handling for SESSION_ALREADY_RUNNING with helpful context
39
+ if (response.errorCode === IPCErrorCode.SESSION_ALREADY_RUNNING && response.existingSession) {
40
+ const { pid, targetUrl, duration } = response.existingSession;
41
+ const durationStr = duration
42
+ ? duration < 60
43
+ ? `${duration}s`
44
+ : `${Math.floor(duration / 60)}m ${duration % 60}s`
45
+ : 'unknown';
46
+ console.error(`\nError: Session already running`);
47
+ console.error(` PID: ${pid}`);
48
+ if (targetUrl) {
49
+ console.error(` Target: ${targetUrl}`);
50
+ }
51
+ console.error(` Duration: ${durationStr}`);
52
+ console.error(``);
53
+ console.error(`Suggestions:`);
54
+ console.error(` View session: bdg status`);
55
+ console.error(` Stop and restart: bdg stop && bdg ${url}`);
56
+ console.error(``);
57
+ }
58
+ else {
59
+ console.error(`[bdg] Daemon error: ${response.message ?? 'Unknown error'}`);
60
+ }
61
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
62
+ }
63
+ // Extract metadata from response
64
+ const { data } = response;
65
+ if (!data) {
66
+ console.error('[bdg] Invalid response from daemon: missing data');
67
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
68
+ }
69
+ // Output session information
70
+ console.error(`[bdg] Session started via daemon`);
71
+ console.error(`[bdg] Worker PID: ${data.workerPid}`);
72
+ console.error(`[bdg] Chrome PID: ${data.chromePid}`);
73
+ console.error(`[bdg] Target: ${data.targetUrl}`);
74
+ if (data.targetTitle) {
75
+ console.error(`[bdg] Title: ${data.targetTitle}`);
76
+ }
77
+ const collectorNames = collectors.length === 3 ? 'network, console, and DOM' : collectors.join(', ');
78
+ if (options.timeout) {
79
+ console.error(`[bdg] Collecting ${collectorNames} for ${options.timeout}s... ` +
80
+ `(auto-stop on timeout, or use 'bdg stop' to stop early)`);
81
+ }
82
+ else {
83
+ console.error(`[bdg] Collecting ${collectorNames}... ` + `(use 'bdg stop' when ready to stop and output)`);
84
+ }
85
+ console.error('');
86
+ console.error('Available commands:');
87
+ console.error(' bdg status Show session status');
88
+ console.error(' bdg peek Preview collected data');
89
+ console.error(' bdg query <script> Execute JavaScript in browser');
90
+ console.error(' bdg stop Stop session and output results');
91
+ console.error('');
92
+ // Session runs in background worker - CLI exits immediately
93
+ // This allows user to run other commands in the same terminal
94
+ process.exit(0);
95
+ }
96
+ catch (error) {
97
+ // Handle connection errors
98
+ const errorMessage = getErrorMessage(error);
99
+ if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
100
+ console.error('[bdg] Daemon not running');
101
+ console.error('[bdg] Try running the command again or check daemon status with: bdg status');
102
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
103
+ }
104
+ console.error(`[bdg] Error: ${errorMessage}`);
105
+ process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
106
+ }
107
+ }
108
+ //# sourceMappingURL=daemonSessionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemonSessionController.js","sourceRoot":"","sources":["../../../src/cli/handlers/daemonSessionController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Aggressively cleanup stale Chrome processes launched by bdg.
3
+ *
4
+ * This function kills Chrome instances that were launched by bdg by:
5
+ * 1. Reading the Chrome PID from persistent cache (~/.bdg/chrome.pid)
6
+ * 2. Killing that specific Chrome process using cross-platform kill logic
7
+ *
8
+ * The cache survives session cleanup, so this works even after a normal session end.
9
+ *
10
+ * Cross-platform killing:
11
+ * - Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
12
+ * - Unix/macOS: Uses `process.kill(-pid, 'SIGKILL')` to kill process group
13
+ *
14
+ * Note: We can't use chromeLauncher.killAll() because it only tracks instances
15
+ * created via chromeLauncher.launch(), but we use new chromeLauncher.Launcher()
16
+ * which doesn't register in that tracking set.
17
+ *
18
+ * @returns Number of errors encountered during cleanup
19
+ */
20
+ export declare function cleanupStaleChrome(): Promise<number>;
21
+ //# sourceMappingURL=sessionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionController.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/sessionController.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAuC1D"}
@@ -0,0 +1,55 @@
1
+ import { getErrorMessage } from '../../utils/errors.js';
2
+ /**
3
+ * Aggressively cleanup stale Chrome processes launched by bdg.
4
+ *
5
+ * This function kills Chrome instances that were launched by bdg by:
6
+ * 1. Reading the Chrome PID from persistent cache (~/.bdg/chrome.pid)
7
+ * 2. Killing that specific Chrome process using cross-platform kill logic
8
+ *
9
+ * The cache survives session cleanup, so this works even after a normal session end.
10
+ *
11
+ * Cross-platform killing:
12
+ * - Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
13
+ * - Unix/macOS: Uses `process.kill(-pid, 'SIGKILL')` to kill process group
14
+ *
15
+ * Note: We can't use chromeLauncher.killAll() because it only tracks instances
16
+ * created via chromeLauncher.launch(), but we use new chromeLauncher.Launcher()
17
+ * which doesn't register in that tracking set.
18
+ *
19
+ * @returns Number of errors encountered during cleanup
20
+ */
21
+ export async function cleanupStaleChrome() {
22
+ console.error('\nAttempting to kill stale Chrome processes...');
23
+ try {
24
+ // Import session utilities (dynamic import for ES modules)
25
+ const { readChromePid, clearChromePid } = await import('../../session/chrome.js');
26
+ const { killChromeProcess } = await import('../../session/process.js');
27
+ // Read Chrome PID from persistent cache
28
+ const chromePid = readChromePid();
29
+ if (!chromePid) {
30
+ console.error('Warning: No Chrome PID found in cache');
31
+ console.error(' Either Chrome was already running, or no Chrome was launched by bdg\n');
32
+ return 0;
33
+ }
34
+ // Kill Chrome process (cross-platform)
35
+ console.error(`Killing Chrome process (PID: ${chromePid})...`);
36
+ try {
37
+ // Use SIGKILL for aggressive cleanup (force kill)
38
+ killChromeProcess(chromePid, 'SIGKILL');
39
+ console.error('Chrome process killed successfully');
40
+ // Clear the cache after successful kill
41
+ clearChromePid();
42
+ return 0;
43
+ }
44
+ catch (killError) {
45
+ console.error(`Error: Failed to kill Chrome process: ${getErrorMessage(killError)}`);
46
+ console.error(' Try manually killing Chrome processes if issues persist\n');
47
+ return 1;
48
+ }
49
+ }
50
+ catch (error) {
51
+ console.error(`Error: Failed to cleanup Chrome processes: ${getErrorMessage(error)}\n`);
52
+ return 1;
53
+ }
54
+ }
55
+ //# sourceMappingURL=sessionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionController.js","sourceRoot":"","sources":["../../../src/cli/handlers/sessionController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEnE,wCAAwC;QACxC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC1F,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,MAAM,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,kDAAkD;YAClD,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAExC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAEpD,wCAAwC;YACxC,cAAc,EAAE,CAAC;YAEjB,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,yCAAyC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Command registration function type
4
+ */
5
+ export type CommandRegistrar = (program: Command) => void;
6
+ /**
7
+ * Registry of all CLI commands with grouping
8
+ * Order matters: groups organize commands in help output
9
+ */
10
+ export declare const commandRegistry: CommandRegistrar[];
11
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAW1D;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EA2B7C,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { registerCdpCommand } from './commands/cdp.js';
2
+ import { registerCleanupCommand } from './commands/cleanup.js';
3
+ import { registerConsoleCommand } from './commands/console.js';
4
+ import { registerDetailsCommand } from './commands/details.js';
5
+ import { registerDomCommands } from './commands/dom/index.js';
6
+ import { registerNetworkCommands } from './commands/network.js';
7
+ import { registerPeekCommand } from './commands/peek.js';
8
+ import { registerStartCommands } from './commands/start.js';
9
+ import { registerStatusCommand } from './commands/status.js';
10
+ import { registerStopCommand } from './commands/stop.js';
11
+ /**
12
+ * Helper to add a command group
13
+ */
14
+ const addCommandGroup = (groupName) => {
15
+ return (program) => {
16
+ program.commandsGroup(groupName);
17
+ };
18
+ };
19
+ /**
20
+ * Registry of all CLI commands with grouping
21
+ * Order matters: groups organize commands in help output
22
+ */
23
+ export const commandRegistry = [
24
+ // Default command (no group)
25
+ registerStartCommands, // Default + dom/network/console
26
+ // Session Management Commands
27
+ addCommandGroup('Session Management:'),
28
+ registerStatusCommand,
29
+ registerStopCommand,
30
+ registerCleanupCommand,
31
+ // Data Inspection Commands
32
+ addCommandGroup('Data Inspection:'),
33
+ registerPeekCommand,
34
+ registerDetailsCommand,
35
+ registerDomCommands,
36
+ // CDP Commands
37
+ addCommandGroup('CDP Commands:'),
38
+ registerCdpCommand,
39
+ // Network Commands
40
+ addCommandGroup('Network Commands:'),
41
+ registerNetworkCommands,
42
+ // Console Commands
43
+ addCommandGroup('Console Commands:'),
44
+ registerConsoleCommand,
45
+ ];
46
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAO7D;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAoB,EAAE;IAC9D,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,6BAA6B;IAC7B,qBAAqB,EAAE,gCAAgC;IAEvD,8BAA8B;IAC9B,eAAe,CAAC,qBAAqB,CAAC;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IAEtB,2BAA2B;IAC3B,eAAe,CAAC,kBAAkB,CAAC;IACnC,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe;IACf,eAAe,CAAC,eAAe,CAAC;IAChC,kBAAkB;IAElB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,uBAAuB;IAEvB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,sBAAsB;CACvB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Network collector contract tests
3
+ *
4
+ * Tests the public API behavior of startNetworkCollection WITHOUT testing implementation details.
5
+ * Follows the testing philosophy: "Test the contract, not the implementation"
6
+ *
7
+ * Coverage:
8
+ * 1. Request/response pairing - Normal flow with matching IDs
9
+ * 2. Out-of-order events - Response arrives before request
10
+ * 3. Stale requests - Incomplete requests after timeout
11
+ * 4. Failed requests - Network.loadingFailed events
12
+ * 5. Request limits - MAX_NETWORK_REQUESTS enforcement
13
+ * 6. Cleanup - Handler removal and state cleanup
14
+ * 7. Domain filtering - Tracking/analytics exclusion
15
+ * 8. Body fetching - Size limits and MIME type handling
16
+ *
17
+ * What we test:
18
+ * ✅ Behavior: Given CDP events → expect NetworkRequest array contents
19
+ * ✅ Invariants: "Requests are paired with responses", "Cleanup removes all handlers"
20
+ * ✅ Edge cases: Out-of-order, stale, limits, failures
21
+ *
22
+ * What we DON'T test:
23
+ * ❌ Internal requestMap structure
24
+ * ❌ Internal function calls (tryExactMatch, normalizeUrl, etc.)
25
+ * ❌ Implementation details (Map vs Set, event handler IDs)
26
+ */
27
+ export {};
28
+ //# sourceMappingURL=network.contract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.contract.test.d.ts","sourceRoot":"","sources":["../../../src/collectors/__tests__/network.contract.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}