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,525 @@
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
+ import assert from 'node:assert/strict';
28
+ import { afterEach, beforeEach, describe, it } from 'node:test';
29
+ import { useFakeClock } from '../../__testutils__/testClock.js';
30
+ import { startNetworkCollection } from '../network.js';
31
+ /**
32
+ * Mock CDP connection for testing network collector.
33
+ * Only mocks the CDP boundary - all collector logic is real.
34
+ */
35
+ class MockCDPConnection {
36
+ eventHandlers = new Map();
37
+ nextHandlerId = 0;
38
+ sendCalls = [];
39
+ /**
40
+ * Mock CDP send - records calls for verification
41
+ */
42
+ send(method, params) {
43
+ this.sendCalls.push({ method, params });
44
+ return Promise.resolve({});
45
+ }
46
+ /**
47
+ * Mock CDP event subscription
48
+ */
49
+ on(event, handler) {
50
+ if (!this.eventHandlers.has(event)) {
51
+ this.eventHandlers.set(event, new Map());
52
+ }
53
+ const id = this.nextHandlerId++;
54
+ this.eventHandlers.get(event).set(id, handler);
55
+ return id;
56
+ }
57
+ /**
58
+ * Mock CDP event unsubscription
59
+ */
60
+ off(event, handlerId) {
61
+ this.eventHandlers.get(event)?.delete(handlerId);
62
+ }
63
+ /**
64
+ * Test helper: Emit CDP event to registered handlers
65
+ */
66
+ emit(event, params) {
67
+ const handlers = this.eventHandlers.get(event);
68
+ if (handlers) {
69
+ handlers.forEach((handler) => handler(params));
70
+ }
71
+ }
72
+ /**
73
+ * Test helper: Verify Network.enable was called
74
+ */
75
+ wasNetworkEnabled() {
76
+ return this.sendCalls.some((call) => call.method === 'Network.enable');
77
+ }
78
+ /**
79
+ * Test helper: Get event handler count for verification
80
+ */
81
+ getHandlerCount(event) {
82
+ return this.eventHandlers.get(event)?.size ?? 0;
83
+ }
84
+ /**
85
+ * Test helper: Clear all state
86
+ */
87
+ reset() {
88
+ this.eventHandlers.clear();
89
+ this.sendCalls = [];
90
+ this.nextHandlerId = 0;
91
+ }
92
+ }
93
+ void describe('Network collector contract', () => {
94
+ let mockCDP;
95
+ let requests;
96
+ beforeEach(() => {
97
+ mockCDP = new MockCDPConnection();
98
+ requests = [];
99
+ });
100
+ afterEach(() => {
101
+ void mockCDP.reset();
102
+ });
103
+ void describe('Basic request/response pairing', () => {
104
+ void it('should pair request with response by requestId', async () => {
105
+ // Arrange: Start collection
106
+ const cleanup = await startNetworkCollection(mockCDP, requests);
107
+ // Act: Simulate CDP events for a complete request/response cycle
108
+ mockCDP.emit('Network.requestWillBeSent', {
109
+ requestId: 'req-1',
110
+ request: {
111
+ url: 'https://api.example.com/users',
112
+ method: 'GET',
113
+ headers: { 'User-Agent': 'Test' },
114
+ },
115
+ timestamp: 1000,
116
+ type: 'XHR',
117
+ frameId: 'frame-1',
118
+ loaderId: 'loader-1',
119
+ });
120
+ mockCDP.emit('Network.responseReceived', {
121
+ requestId: 'req-1',
122
+ response: {
123
+ url: 'https://api.example.com/users',
124
+ status: 200,
125
+ statusText: 'OK',
126
+ headers: { 'Content-Type': 'application/json' },
127
+ mimeType: 'application/json',
128
+ },
129
+ timestamp: 1050,
130
+ type: 'XHR',
131
+ frameId: 'frame-1',
132
+ loaderId: 'loader-1',
133
+ });
134
+ mockCDP.emit('Network.loadingFinished', {
135
+ requestId: 'req-1',
136
+ timestamp: 1100,
137
+ encodedDataLength: 1234,
138
+ });
139
+ // Assert: Request is paired with response
140
+ assert.equal(requests.length, 1, 'Should have one network request');
141
+ const [request] = requests;
142
+ assert.equal(request.requestId, 'req-1');
143
+ assert.equal(request.url, 'https://api.example.com/users');
144
+ assert.equal(request.method, 'GET');
145
+ assert.equal(request.status, 200);
146
+ assert.equal(request.mimeType, 'application/json');
147
+ assert.ok(request.requestHeaders, 'Should have request headers');
148
+ assert.ok(request.responseHeaders, 'Should have response headers');
149
+ // Cleanup
150
+ void cleanup();
151
+ });
152
+ void it('should handle multiple concurrent requests', async () => {
153
+ // Arrange
154
+ const cleanup = await startNetworkCollection(mockCDP, requests);
155
+ // Act: Simulate 3 concurrent requests
156
+ for (let i = 1; i <= 3; i++) {
157
+ mockCDP.emit('Network.requestWillBeSent', {
158
+ requestId: `req-${i}`,
159
+ request: {
160
+ url: `https://api.example.com/resource-${i}`,
161
+ method: 'GET',
162
+ headers: {},
163
+ },
164
+ timestamp: 1000 + i,
165
+ type: 'XHR',
166
+ frameId: 'frame-1',
167
+ loaderId: 'loader-1',
168
+ });
169
+ }
170
+ // Responses arrive in different order (3, 1, 2)
171
+ for (const i of [3, 1, 2]) {
172
+ mockCDP.emit('Network.responseReceived', {
173
+ requestId: `req-${i}`,
174
+ response: {
175
+ url: `https://api.example.com/resource-${i}`,
176
+ status: 200,
177
+ statusText: 'OK',
178
+ headers: {},
179
+ mimeType: 'application/json',
180
+ },
181
+ timestamp: 2000 + i,
182
+ type: 'XHR',
183
+ frameId: 'frame-1',
184
+ loaderId: 'loader-1',
185
+ });
186
+ mockCDP.emit('Network.loadingFinished', {
187
+ requestId: `req-${i}`,
188
+ timestamp: 3000 + i,
189
+ encodedDataLength: 100,
190
+ });
191
+ }
192
+ // Assert: All requests paired correctly despite out-of-order responses
193
+ assert.equal(requests.length, 3);
194
+ assert.equal(requests[0].requestId, 'req-3');
195
+ assert.equal(requests[1].requestId, 'req-1');
196
+ assert.equal(requests[2].requestId, 'req-2');
197
+ void cleanup();
198
+ });
199
+ });
200
+ void describe('Edge case: Out-of-order events', () => {
201
+ void it('should handle response arriving before request', async () => {
202
+ // This is a real race condition that can happen in CDP
203
+ // Current behavior: Response event is ignored if request doesn't exist yet
204
+ // The second responseReceived event (after request) sets the status correctly
205
+ const cleanup = await startNetworkCollection(mockCDP, requests);
206
+ // Act: Response arrives BEFORE request (early response is ignored)
207
+ mockCDP.emit('Network.responseReceived', {
208
+ requestId: 'req-1',
209
+ response: {
210
+ url: 'https://api.example.com/users',
211
+ status: 200,
212
+ statusText: 'OK',
213
+ headers: {},
214
+ mimeType: 'application/json',
215
+ },
216
+ timestamp: 1000,
217
+ type: 'XHR',
218
+ frameId: 'frame-1',
219
+ loaderId: 'loader-1',
220
+ });
221
+ // Request arrives later
222
+ mockCDP.emit('Network.requestWillBeSent', {
223
+ requestId: 'req-1',
224
+ request: {
225
+ url: 'https://api.example.com/users',
226
+ method: 'GET',
227
+ headers: {},
228
+ },
229
+ timestamp: 1050,
230
+ type: 'XHR',
231
+ frameId: 'frame-1',
232
+ loaderId: 'loader-1',
233
+ });
234
+ // Response arrives again (normal order) - this one actually sets status
235
+ mockCDP.emit('Network.responseReceived', {
236
+ requestId: 'req-1',
237
+ response: {
238
+ url: 'https://api.example.com/users',
239
+ status: 200,
240
+ statusText: 'OK',
241
+ headers: {},
242
+ mimeType: 'application/json',
243
+ },
244
+ timestamp: 1075,
245
+ type: 'XHR',
246
+ frameId: 'frame-1',
247
+ loaderId: 'loader-1',
248
+ });
249
+ mockCDP.emit('Network.loadingFinished', {
250
+ requestId: 'req-1',
251
+ timestamp: 1100,
252
+ encodedDataLength: 100,
253
+ });
254
+ // Assert: Request is tracked correctly with response data from second response event
255
+ assert.equal(requests.length, 1, 'Should have one request');
256
+ assert.equal(requests[0].status, 200, 'Status should be set from second response event');
257
+ assert.equal(requests[0].url, 'https://api.example.com/users');
258
+ assert.equal(requests[0].mimeType, 'application/json', 'MIME type should be set');
259
+ void cleanup();
260
+ });
261
+ });
262
+ void describe('Edge case: Failed requests', () => {
263
+ void it('should handle Network.loadingFailed events', async () => {
264
+ const cleanup = await startNetworkCollection(mockCDP, requests);
265
+ // Act: Request fails instead of succeeding
266
+ mockCDP.emit('Network.requestWillBeSent', {
267
+ requestId: 'req-1',
268
+ request: {
269
+ url: 'https://api.example.com/fail',
270
+ method: 'GET',
271
+ headers: {},
272
+ },
273
+ timestamp: 1000,
274
+ type: 'XHR',
275
+ frameId: 'frame-1',
276
+ loaderId: 'loader-1',
277
+ });
278
+ mockCDP.emit('Network.loadingFailed', {
279
+ requestId: 'req-1',
280
+ timestamp: 1100,
281
+ type: 'XHR',
282
+ errorText: 'net::ERR_CONNECTION_REFUSED',
283
+ });
284
+ // Assert: Failed request is recorded with status 0
285
+ assert.equal(requests.length, 1);
286
+ assert.equal(requests[0].status, 0, 'Failed requests should have status 0');
287
+ assert.equal(requests[0].url, 'https://api.example.com/fail');
288
+ void cleanup();
289
+ });
290
+ });
291
+ void describe('Edge case: Stale request cleanup', () => {
292
+ void it('should clean up stale requests after timeout', async () => {
293
+ // Use fake clock to control time
294
+ const clockHelper = useFakeClock();
295
+ const cleanup = await startNetworkCollection(mockCDP, requests);
296
+ // Act: Create request but never finish it
297
+ mockCDP.emit('Network.requestWillBeSent', {
298
+ requestId: 'stale-req',
299
+ request: {
300
+ url: 'https://api.example.com/hanging',
301
+ method: 'GET',
302
+ headers: {},
303
+ },
304
+ timestamp: 1000,
305
+ type: 'XHR',
306
+ frameId: 'frame-1',
307
+ loaderId: 'loader-1',
308
+ });
309
+ // Fast-forward past stale timeout (60s) + cleanup interval (30s)
310
+ await clockHelper.tickAndFlush(91_000);
311
+ // Assert: Stale request is NOT in final output (removed from tracking)
312
+ assert.equal(requests.length, 0, 'Stale requests should not appear in output (removed from tracking)');
313
+ void cleanup();
314
+ clockHelper.restore();
315
+ });
316
+ });
317
+ void describe('Request limit enforcement', () => {
318
+ void it('should enforce MAX_NETWORK_REQUESTS limit', async () => {
319
+ const cleanup = await startNetworkCollection(mockCDP, requests, { includeAll: true } // Disable domain filtering for this test
320
+ );
321
+ const MAX_REQUESTS = 10_000;
322
+ // Act: Try to collect more than the limit
323
+ for (let i = 1; i <= MAX_REQUESTS + 100; i++) {
324
+ mockCDP.emit('Network.requestWillBeSent', {
325
+ requestId: `req-${i}`,
326
+ request: {
327
+ url: `https://api.example.com/item-${i}`,
328
+ method: 'GET',
329
+ headers: {},
330
+ },
331
+ timestamp: 1000 + i,
332
+ type: 'XHR',
333
+ frameId: 'frame-1',
334
+ loaderId: 'loader-1',
335
+ });
336
+ mockCDP.emit('Network.loadingFinished', {
337
+ requestId: `req-${i}`,
338
+ timestamp: 2000 + i,
339
+ encodedDataLength: 100,
340
+ });
341
+ }
342
+ // Assert: Should never exceed MAX_NETWORK_REQUESTS
343
+ assert.ok(requests.length <= MAX_REQUESTS, `Should not exceed ${MAX_REQUESTS} requests, got ${requests.length}`);
344
+ void cleanup();
345
+ });
346
+ });
347
+ void describe('Cleanup behavior', () => {
348
+ void it('should remove all event handlers on cleanup', async () => {
349
+ // Arrange
350
+ const cleanup = await startNetworkCollection(mockCDP, requests);
351
+ // Assert: Handlers registered during start
352
+ assert.ok(mockCDP.getHandlerCount('Network.requestWillBeSent') > 0, 'Should have requestWillBeSent handler');
353
+ assert.ok(mockCDP.getHandlerCount('Network.responseReceived') > 0, 'Should have responseReceived handler');
354
+ assert.ok(mockCDP.getHandlerCount('Network.loadingFinished') > 0, 'Should have loadingFinished handler');
355
+ assert.ok(mockCDP.getHandlerCount('Network.loadingFailed') > 0, 'Should have loadingFailed handler');
356
+ // Act: Call cleanup
357
+ void cleanup();
358
+ // Assert: All handlers removed
359
+ assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0, 'Should remove requestWillBeSent handler');
360
+ assert.equal(mockCDP.getHandlerCount('Network.responseReceived'), 0, 'Should remove responseReceived handler');
361
+ assert.equal(mockCDP.getHandlerCount('Network.loadingFinished'), 0, 'Should remove loadingFinished handler');
362
+ assert.equal(mockCDP.getHandlerCount('Network.loadingFailed'), 0, 'Should remove loadingFailed handler');
363
+ });
364
+ void it('should be idempotent (safe to call multiple times)', async () => {
365
+ const cleanup = await startNetworkCollection(mockCDP, requests);
366
+ // Act: Call cleanup multiple times
367
+ void cleanup();
368
+ void cleanup();
369
+ void cleanup();
370
+ // Assert: No errors thrown, handlers remain removed
371
+ assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0);
372
+ });
373
+ });
374
+ void describe('Domain filtering', () => {
375
+ void it('should exclude default tracking domains by default', async () => {
376
+ const cleanup = await startNetworkCollection(mockCDP, requests
377
+ // includeAll defaults to false
378
+ );
379
+ // Act: Send requests to tracking domains
380
+ const trackingDomains = [
381
+ 'https://www.google-analytics.com/collect',
382
+ 'https://connect.facebook.net/en_US/fbevents.js',
383
+ 'https://www.googletagmanager.com/gtag/js',
384
+ ];
385
+ for (const url of trackingDomains) {
386
+ mockCDP.emit('Network.requestWillBeSent', {
387
+ requestId: `req-${url}`,
388
+ request: { url, method: 'GET', headers: {} },
389
+ timestamp: 1000,
390
+ type: 'Script',
391
+ frameId: 'frame-1',
392
+ loaderId: 'loader-1',
393
+ });
394
+ mockCDP.emit('Network.loadingFinished', {
395
+ requestId: `req-${url}`,
396
+ timestamp: 2000,
397
+ encodedDataLength: 100,
398
+ });
399
+ }
400
+ // Assert: Tracking requests are filtered out
401
+ assert.equal(requests.length, 0, 'Tracking domains should be filtered by default');
402
+ void cleanup();
403
+ });
404
+ void it('should include tracking domains when includeAll=true', async () => {
405
+ const cleanup = await startNetworkCollection(mockCDP, requests, {
406
+ includeAll: true,
407
+ });
408
+ // Act: Send request to tracking domain
409
+ mockCDP.emit('Network.requestWillBeSent', {
410
+ requestId: 'req-1',
411
+ request: {
412
+ url: 'https://www.google-analytics.com/collect',
413
+ method: 'GET',
414
+ headers: {},
415
+ },
416
+ timestamp: 1000,
417
+ type: 'Script',
418
+ frameId: 'frame-1',
419
+ loaderId: 'loader-1',
420
+ });
421
+ mockCDP.emit('Network.loadingFinished', {
422
+ requestId: 'req-1',
423
+ timestamp: 2000,
424
+ encodedDataLength: 100,
425
+ });
426
+ // Assert: Request included when includeAll=true
427
+ assert.equal(requests.length, 1);
428
+ assert.ok(requests[0].url.includes('google-analytics.com'));
429
+ void cleanup();
430
+ });
431
+ });
432
+ void describe('Response body fetching', () => {
433
+ void it('should fetch body for JSON responses under size limit', async () => {
434
+ const cleanup = await startNetworkCollection(mockCDP, requests, { fetchAllBodies: true } // Force fetch all bodies for this test
435
+ );
436
+ // Act: JSON response under 5MB
437
+ mockCDP.emit('Network.requestWillBeSent', {
438
+ requestId: 'req-1',
439
+ request: {
440
+ url: 'https://api.example.com/data.json',
441
+ method: 'GET',
442
+ headers: {},
443
+ },
444
+ timestamp: 1000,
445
+ type: 'XHR',
446
+ frameId: 'frame-1',
447
+ loaderId: 'loader-1',
448
+ });
449
+ mockCDP.emit('Network.responseReceived', {
450
+ requestId: 'req-1',
451
+ response: {
452
+ url: 'https://api.example.com/data.json',
453
+ status: 200,
454
+ statusText: 'OK',
455
+ headers: {},
456
+ mimeType: 'application/json',
457
+ },
458
+ timestamp: 1050,
459
+ type: 'XHR',
460
+ frameId: 'frame-1',
461
+ loaderId: 'loader-1',
462
+ });
463
+ mockCDP.emit('Network.loadingFinished', {
464
+ requestId: 'req-1',
465
+ timestamp: 1100,
466
+ encodedDataLength: 1024, // 1KB - under limit
467
+ });
468
+ // Wait for async body fetch
469
+ await new Promise((resolve) => setTimeout(resolve, 10));
470
+ // Assert: Should attempt to fetch body (mock doesn't actually fetch, but real code would)
471
+ assert.equal(requests.length, 1);
472
+ void cleanup();
473
+ });
474
+ void it('should skip body for large responses', async () => {
475
+ const cleanup = await startNetworkCollection(mockCDP, requests, { maxBodySize: 1024 } // 1KB limit for testing
476
+ );
477
+ // Act: JSON response over size limit
478
+ mockCDP.emit('Network.requestWillBeSent', {
479
+ requestId: 'req-1',
480
+ request: {
481
+ url: 'https://api.example.com/large.json',
482
+ method: 'GET',
483
+ headers: {},
484
+ },
485
+ timestamp: 1000,
486
+ type: 'XHR',
487
+ frameId: 'frame-1',
488
+ loaderId: 'loader-1',
489
+ });
490
+ mockCDP.emit('Network.responseReceived', {
491
+ requestId: 'req-1',
492
+ response: {
493
+ url: 'https://api.example.com/large.json',
494
+ status: 200,
495
+ statusText: 'OK',
496
+ headers: {},
497
+ mimeType: 'application/json',
498
+ },
499
+ timestamp: 1050,
500
+ type: 'XHR',
501
+ frameId: 'frame-1',
502
+ loaderId: 'loader-1',
503
+ });
504
+ mockCDP.emit('Network.loadingFinished', {
505
+ requestId: 'req-1',
506
+ timestamp: 1100,
507
+ encodedDataLength: 10 * 1024 * 1024, // 10MB - over 1KB limit
508
+ });
509
+ // Assert: Body should be marked as skipped
510
+ assert.equal(requests.length, 1);
511
+ assert.ok(requests[0].responseBody?.includes('[SKIPPED: Response too large'), 'Large response should have skip marker');
512
+ void cleanup();
513
+ });
514
+ });
515
+ void describe('Initialization', () => {
516
+ void it('should enable Network domain on start', async () => {
517
+ // Act
518
+ const cleanup = await startNetworkCollection(mockCDP, requests);
519
+ // Assert: Network.enable was called
520
+ assert.ok(mockCDP.wasNetworkEnabled(), 'Should call Network.enable');
521
+ void cleanup();
522
+ });
523
+ });
524
+ });
525
+ //# sourceMappingURL=network.contract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.contract.test.js","sourceRoot":"","sources":["../../../src/collectors/__tests__/network.contract.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { CDPConnection } from '../connection/cdp.js';
2
- import { ConsoleMessage, CleanupFunction } from '../types.js';
1
+ import type { CDPConnection } from '../connection/cdp.js';
2
+ import type { ConsoleMessage, CleanupFunction } from '../types.js';
3
3
  /**
4
4
  * Start collecting console messages and exceptions via CDP Runtime domain.
5
5
  *
@@ -7,11 +7,13 @@ import { ConsoleMessage, CleanupFunction } from '../types.js';
7
7
  *
8
8
  * @param cdp - CDP connection instance
9
9
  * @param messages - Array to populate with console messages
10
+ * @param includeAll - If true, disable default pattern filtering (default: false)
10
11
  * @returns Cleanup function to remove event handlers
11
12
  *
12
13
  * @remarks
13
14
  * - Message limit of 10,000 prevents memory issues in long-running sessions
14
15
  * - After limit is reached, new messages are silently dropped (warning logged once)
16
+ * - By default, common dev server noise patterns are filtered out (use includeAll to disable)
15
17
  */
16
- export declare function startConsoleCollection(cdp: CDPConnection, messages: ConsoleMessage[]): Promise<CleanupFunction>;
18
+ export declare function startConsoleCollection(cdp: CDPConnection, messages: ConsoleMessage[], includeAll?: boolean): Promise<CleanupFunction>;
17
19
  //# sourceMappingURL=console.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/collectors/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,eAAe,EAGhB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,eAAe,CAAC,CAoD1B"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/collectors/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,eAAe,CAAC,CAoF1B"}