browser-debugger-cli 0.6.0 → 0.6.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 (653) hide show
  1. package/README.md +10 -6
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -48
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +1 -1
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/testCleanup.js +1 -1
  7. package/dist/__testutils__/testCleanup.js.map +1 -1
  8. package/dist/cdp/protocol.d.ts +0 -48
  9. package/dist/cdp/protocol.d.ts.map +1 -1
  10. package/dist/cdp/protocol.js +0 -94
  11. package/dist/cdp/protocol.js.map +1 -1
  12. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  13. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  14. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  15. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  16. package/dist/commands/cdp.d.ts.map +1 -1
  17. package/dist/commands/cdp.js +4 -37
  18. package/dist/commands/cdp.js.map +1 -1
  19. package/dist/commands/cleanup.d.ts.map +1 -1
  20. package/dist/commands/cleanup.js +4 -17
  21. package/dist/commands/cleanup.js.map +1 -1
  22. package/dist/commands/console.d.ts.map +1 -1
  23. package/dist/commands/console.js +3 -8
  24. package/dist/commands/console.js.map +1 -1
  25. package/dist/commands/details.d.ts.map +1 -1
  26. package/dist/commands/details.js +1 -1
  27. package/dist/commands/details.js.map +1 -1
  28. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
  29. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  30. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
  31. package/dist/commands/dom/evalHelpers.js.map +1 -0
  32. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  33. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  34. package/dist/commands/dom/formFillHelpers.js +185 -0
  35. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  36. package/dist/commands/dom/formInteraction.d.ts +17 -0
  37. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  38. package/dist/commands/dom/formInteraction.js +239 -0
  39. package/dist/commands/dom/formInteraction.js.map +1 -0
  40. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  41. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  42. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  43. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  44. package/dist/commands/dom/helpers.d.ts +34 -0
  45. package/dist/commands/dom/helpers.d.ts.map +1 -0
  46. package/dist/commands/dom/helpers.js +244 -0
  47. package/dist/commands/dom/helpers.js.map +1 -0
  48. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  49. package/dist/commands/dom/index.d.ts.map +1 -0
  50. package/dist/commands/{dom.js → dom/index.js} +33 -123
  51. package/dist/commands/dom/index.js.map +1 -0
  52. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  53. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  54. package/dist/commands/dom/reactEventHelpers.js +274 -0
  55. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  56. package/dist/commands/network.js +1 -1
  57. package/dist/commands/network.js.map +1 -1
  58. package/dist/commands/peek.d.ts.map +1 -1
  59. package/dist/commands/peek.js +47 -52
  60. package/dist/commands/peek.js.map +1 -1
  61. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  62. package/dist/commands/shared/CommandRunner.js +3 -2
  63. package/dist/commands/shared/CommandRunner.js.map +1 -1
  64. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  65. package/dist/commands/shared/commonOptions.js +3 -1
  66. package/dist/commands/shared/commonOptions.js.map +1 -1
  67. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  68. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  69. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  70. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  71. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  72. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  73. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  74. package/dist/commands/shared/startHelpers.js.map +1 -0
  75. package/dist/commands/shared/validation.d.ts +44 -0
  76. package/dist/commands/shared/validation.d.ts.map +1 -0
  77. package/dist/commands/shared/validation.js +68 -0
  78. package/dist/commands/shared/validation.js.map +1 -0
  79. package/dist/commands/start.d.ts.map +1 -1
  80. package/dist/commands/start.js +9 -25
  81. package/dist/commands/start.js.map +1 -1
  82. package/dist/commands/status.d.ts.map +1 -1
  83. package/dist/commands/status.js +6 -4
  84. package/dist/commands/status.js.map +1 -1
  85. package/dist/commands/stop.d.ts.map +1 -1
  86. package/dist/commands/stop.js +5 -16
  87. package/dist/commands/stop.js.map +1 -1
  88. package/dist/commands/tail.d.ts.map +1 -1
  89. package/dist/commands/tail.js +49 -44
  90. package/dist/commands/tail.js.map +1 -1
  91. package/dist/commands/types.d.ts +43 -0
  92. package/dist/commands/types.d.ts.map +1 -0
  93. package/dist/commands/types.js +8 -0
  94. package/dist/commands/types.js.map +1 -0
  95. package/dist/commands.d.ts.map +1 -1
  96. package/dist/commands.js +3 -1
  97. package/dist/commands.js.map +1 -1
  98. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  99. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  100. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  101. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  102. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  103. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  104. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  105. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  106. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  107. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  108. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  109. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  110. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  111. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  112. package/dist/connection/cdp.d.ts +34 -11
  113. package/dist/connection/cdp.d.ts.map +1 -1
  114. package/dist/connection/cdp.js +61 -45
  115. package/dist/connection/cdp.js.map +1 -1
  116. package/dist/connection/config.d.ts +63 -0
  117. package/dist/connection/config.d.ts.map +1 -0
  118. package/dist/connection/config.js +46 -0
  119. package/dist/connection/config.js.map +1 -0
  120. package/dist/connection/errors.d.ts +6 -21
  121. package/dist/connection/errors.d.ts.map +1 -1
  122. package/dist/connection/errors.js +7 -26
  123. package/dist/connection/errors.js.map +1 -1
  124. package/dist/connection/events.d.ts +30 -0
  125. package/dist/connection/events.d.ts.map +1 -0
  126. package/dist/connection/events.js +8 -0
  127. package/dist/connection/events.js.map +1 -0
  128. package/dist/connection/handlers.d.ts +3 -5
  129. package/dist/connection/handlers.d.ts.map +1 -1
  130. package/dist/connection/handlers.js +10 -12
  131. package/dist/connection/handlers.js.map +1 -1
  132. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  133. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  134. package/dist/connection/launcher/binaryResolver.js +78 -0
  135. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  136. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  137. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  138. package/dist/connection/launcher/flagsBuilder.js +84 -0
  139. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  140. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  141. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  142. package/dist/connection/launcher/preferencesLoader.js +89 -0
  143. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  144. package/dist/connection/launcher.d.ts +24 -1
  145. package/dist/connection/launcher.d.ts.map +1 -1
  146. package/dist/connection/launcher.js +30 -205
  147. package/dist/connection/launcher.js.map +1 -1
  148. package/dist/connection/pageReadiness.d.ts +8 -8
  149. package/dist/connection/pageReadiness.d.ts.map +1 -1
  150. package/dist/connection/pageReadiness.js +36 -52
  151. package/dist/connection/pageReadiness.js.map +1 -1
  152. package/dist/connection/portReservation.d.ts +40 -0
  153. package/dist/connection/portReservation.d.ts.map +1 -0
  154. package/dist/connection/portReservation.js +55 -0
  155. package/dist/connection/portReservation.js.map +1 -0
  156. package/dist/connection/typed-cdp.d.ts +2 -1
  157. package/dist/connection/typed-cdp.d.ts.map +1 -1
  158. package/dist/connection/typed-cdp.js.map +1 -1
  159. package/dist/connection/types.d.ts +103 -0
  160. package/dist/connection/types.d.ts.map +1 -0
  161. package/dist/connection/types.js +8 -0
  162. package/dist/connection/types.js.map +1 -0
  163. package/dist/constants.d.ts +0 -83
  164. package/dist/constants.d.ts.map +1 -1
  165. package/dist/constants.js +0 -83
  166. package/dist/constants.js.map +1 -1
  167. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  168. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  169. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  170. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  171. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  172. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  173. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  174. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  175. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  176. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  177. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  178. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  179. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  180. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  181. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  182. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  183. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  184. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  185. package/dist/daemon/errors.d.ts +65 -0
  186. package/dist/daemon/errors.d.ts.map +1 -0
  187. package/dist/daemon/errors.js +82 -0
  188. package/dist/daemon/errors.js.map +1 -0
  189. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  190. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  191. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  192. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  193. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  194. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  195. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  196. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  197. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  198. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  199. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  200. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  201. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  202. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  203. package/dist/daemon/handlers/pendingRequests.js +57 -0
  204. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  205. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  206. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  207. package/dist/daemon/handlers/requestHandlers.js +61 -0
  208. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  209. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  210. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  211. package/dist/daemon/handlers/responseHandler.js +195 -0
  212. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  213. package/dist/daemon/ipcServer.d.ts +19 -41
  214. package/dist/daemon/ipcServer.d.ts.map +1 -1
  215. package/dist/daemon/ipcServer.js +83 -655
  216. package/dist/daemon/ipcServer.js.map +1 -1
  217. package/dist/daemon/launcher.d.ts.map +1 -1
  218. package/dist/daemon/launcher.js +6 -3
  219. package/dist/daemon/launcher.js.map +1 -1
  220. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  221. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  222. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  223. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  224. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  225. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  226. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  227. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  228. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  229. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  230. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  231. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  232. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  233. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  234. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  235. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  236. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  237. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  238. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  239. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  240. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  241. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  242. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  243. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  244. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  245. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  246. package/dist/daemon/server/JsonlParser.js +57 -0
  247. package/dist/daemon/server/JsonlParser.js.map +1 -0
  248. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  249. package/dist/daemon/server/SocketServer.js +2 -2
  250. package/dist/daemon/server/SocketServer.js.map +1 -1
  251. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  252. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  253. package/dist/daemon/server/WorkerManager.js +10 -19
  254. package/dist/daemon/server/WorkerManager.js.map +1 -1
  255. package/dist/daemon/services/SessionService.d.ts +87 -0
  256. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  257. package/dist/daemon/services/SessionService.js +45 -0
  258. package/dist/daemon/services/SessionService.js.map +1 -0
  259. package/dist/daemon/startSession.d.ts.map +1 -1
  260. package/dist/daemon/startSession.js +54 -31
  261. package/dist/daemon/startSession.js.map +1 -1
  262. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  263. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  264. package/dist/daemon/worker/commandRegistry.js +20 -215
  265. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  266. package/dist/daemon/worker.d.ts +3 -12
  267. package/dist/daemon/worker.d.ts.map +1 -1
  268. package/dist/daemon/worker.js +47 -367
  269. package/dist/daemon/worker.js.map +1 -1
  270. package/dist/index.js +1 -1
  271. package/dist/index.js.map +1 -1
  272. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  273. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  274. package/dist/ipc/__tests__/client.contract.test.js +8 -23
  275. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  276. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  277. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  278. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  279. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  280. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  281. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  282. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  283. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  284. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  285. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  286. package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
  287. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  288. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  289. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  290. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  291. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  292. package/dist/ipc/client.d.ts +93 -84
  293. package/dist/ipc/client.d.ts.map +1 -1
  294. package/dist/ipc/client.js +121 -192
  295. package/dist/ipc/client.js.map +1 -1
  296. package/dist/ipc/index.d.ts +17 -0
  297. package/dist/ipc/index.d.ts.map +1 -0
  298. package/dist/ipc/index.js +23 -0
  299. package/dist/ipc/index.js.map +1 -0
  300. package/dist/ipc/protocol/commands.d.ts +144 -0
  301. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  302. package/dist/ipc/protocol/commands.js +23 -0
  303. package/dist/ipc/protocol/commands.js.map +1 -0
  304. package/dist/ipc/protocol/guards.d.ts +47 -0
  305. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  306. package/dist/ipc/protocol/guards.js +62 -0
  307. package/dist/ipc/protocol/guards.js.map +1 -0
  308. package/dist/ipc/protocol/index.d.ts +9 -0
  309. package/dist/ipc/protocol/index.d.ts.map +1 -0
  310. package/dist/ipc/protocol/index.js +8 -0
  311. package/dist/ipc/protocol/index.js.map +1 -0
  312. package/dist/ipc/protocol/messages.d.ts +64 -0
  313. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  314. package/dist/ipc/protocol/messages.js +8 -0
  315. package/dist/ipc/protocol/messages.js.map +1 -0
  316. package/dist/ipc/session/errors.d.ts +25 -0
  317. package/dist/ipc/session/errors.d.ts.map +1 -0
  318. package/dist/ipc/{types.js → session/errors.js} +11 -6
  319. package/dist/ipc/session/errors.js.map +1 -0
  320. package/dist/ipc/session/index.d.ts +16 -0
  321. package/dist/ipc/session/index.d.ts.map +1 -0
  322. package/dist/ipc/session/index.js +7 -0
  323. package/dist/ipc/session/index.js.map +1 -0
  324. package/dist/ipc/session/lifecycle.d.ts +125 -0
  325. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  326. package/dist/ipc/session/lifecycle.js +7 -0
  327. package/dist/ipc/session/lifecycle.js.map +1 -0
  328. package/dist/ipc/session/queries.d.ts +94 -0
  329. package/dist/ipc/session/queries.d.ts.map +1 -0
  330. package/dist/ipc/session/queries.js +7 -0
  331. package/dist/ipc/session/queries.js.map +1 -0
  332. package/dist/ipc/session/types.d.ts +28 -0
  333. package/dist/ipc/session/types.d.ts.map +1 -0
  334. package/dist/ipc/session/types.js +7 -0
  335. package/dist/ipc/session/types.js.map +1 -0
  336. package/dist/ipc/transport/IPCError.d.ts +82 -0
  337. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  338. package/dist/ipc/transport/IPCError.js +109 -0
  339. package/dist/ipc/transport/IPCError.js.map +1 -0
  340. package/dist/ipc/transport/errors.d.ts +11 -0
  341. package/dist/ipc/transport/errors.d.ts.map +1 -0
  342. package/dist/ipc/transport/errors.js +28 -0
  343. package/dist/ipc/transport/errors.js.map +1 -0
  344. package/dist/ipc/transport/index.d.ts +16 -0
  345. package/dist/ipc/transport/index.d.ts.map +1 -0
  346. package/dist/ipc/transport/index.js +77 -0
  347. package/dist/ipc/transport/index.js.map +1 -0
  348. package/dist/ipc/transport/jsonl.d.ts +23 -0
  349. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  350. package/dist/ipc/transport/jsonl.js +36 -0
  351. package/dist/ipc/transport/jsonl.js.map +1 -0
  352. package/dist/ipc/transport/socket.d.ts +27 -0
  353. package/dist/ipc/transport/socket.d.ts.map +1 -0
  354. package/dist/ipc/transport/socket.js +49 -0
  355. package/dist/ipc/transport/socket.js.map +1 -0
  356. package/dist/ipc/transport/validation.d.ts +21 -0
  357. package/dist/ipc/transport/validation.d.ts.map +1 -0
  358. package/dist/ipc/transport/validation.js +23 -0
  359. package/dist/ipc/transport/validation.js.map +1 -0
  360. package/dist/ipc/utils/errors.d.ts +25 -0
  361. package/dist/ipc/utils/errors.d.ts.map +1 -0
  362. package/dist/ipc/utils/errors.js +29 -0
  363. package/dist/ipc/utils/errors.js.map +1 -0
  364. package/dist/ipc/utils/index.d.ts +12 -0
  365. package/dist/ipc/utils/index.d.ts.map +1 -0
  366. package/dist/ipc/utils/index.js +11 -0
  367. package/dist/ipc/utils/index.js.map +1 -0
  368. package/dist/ipc/utils/requestId.d.ts +23 -0
  369. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  370. package/dist/ipc/utils/requestId.js +27 -0
  371. package/dist/ipc/utils/requestId.js.map +1 -0
  372. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  373. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  374. package/dist/ipc/utils/responseValidator.js.map +1 -0
  375. package/dist/ipc/utils/session.d.ts +36 -0
  376. package/dist/ipc/utils/session.d.ts.map +1 -0
  377. package/dist/ipc/utils/session.js +37 -0
  378. package/dist/ipc/utils/session.js.map +1 -0
  379. package/dist/ipc/utils/types.d.ts +17 -0
  380. package/dist/ipc/utils/types.d.ts.map +1 -0
  381. package/dist/ipc/utils/types.js +7 -0
  382. package/dist/ipc/utils/types.js.map +1 -0
  383. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  384. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  385. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  386. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  387. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  388. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  389. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  390. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  391. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  392. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  393. package/dist/session/__tests__/lock.contract.test.js +77 -0
  394. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  395. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  396. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  397. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  398. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  399. package/dist/session/chrome.d.ts +20 -0
  400. package/dist/session/chrome.d.ts.map +1 -1
  401. package/dist/session/chrome.js +80 -16
  402. package/dist/session/chrome.js.map +1 -1
  403. package/dist/session/cleanup.d.ts +15 -2
  404. package/dist/session/cleanup.d.ts.map +1 -1
  405. package/dist/session/cleanup.js +100 -72
  406. package/dist/session/cleanup.js.map +1 -1
  407. package/dist/session/lock.d.ts.map +1 -1
  408. package/dist/session/lock.js +101 -90
  409. package/dist/session/lock.js.map +1 -1
  410. package/dist/session/metadata.d.ts +10 -3
  411. package/dist/session/metadata.d.ts.map +1 -1
  412. package/dist/session/metadata.js +24 -6
  413. package/dist/session/metadata.js.map +1 -1
  414. package/dist/session/paths.d.ts +0 -9
  415. package/dist/session/paths.d.ts.map +1 -1
  416. package/dist/session/paths.js +0 -11
  417. package/dist/session/paths.js.map +1 -1
  418. package/dist/session/pid.d.ts +15 -0
  419. package/dist/session/pid.d.ts.map +1 -1
  420. package/dist/session/pid.js +39 -21
  421. package/dist/session/pid.js.map +1 -1
  422. package/dist/session/process.d.ts +4 -41
  423. package/dist/session/process.d.ts.map +1 -1
  424. package/dist/session/process.js +4 -85
  425. package/dist/session/process.js.map +1 -1
  426. package/dist/session/statusData.d.ts +50 -0
  427. package/dist/session/statusData.d.ts.map +1 -0
  428. package/dist/session/statusData.js +51 -0
  429. package/dist/session/statusData.js.map +1 -0
  430. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  431. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  432. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  433. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  434. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  435. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  436. package/dist/telemetry/__tests__/network.contract.test.js +2 -64
  437. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  438. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  439. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  440. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  441. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  442. package/dist/telemetry/console.d.ts.map +1 -1
  443. package/dist/telemetry/console.js +19 -28
  444. package/dist/telemetry/console.js.map +1 -1
  445. package/dist/telemetry/dialogs.d.ts.map +1 -1
  446. package/dist/telemetry/dialogs.js +4 -8
  447. package/dist/telemetry/dialogs.js.map +1 -1
  448. package/dist/telemetry/dom.d.ts.map +1 -1
  449. package/dist/telemetry/dom.js +51 -59
  450. package/dist/telemetry/dom.js.map +1 -1
  451. package/dist/telemetry/filters.d.ts +5 -18
  452. package/dist/telemetry/filters.d.ts.map +1 -1
  453. package/dist/telemetry/filters.js +36 -56
  454. package/dist/telemetry/filters.js.map +1 -1
  455. package/dist/telemetry/navigation.d.ts.map +1 -1
  456. package/dist/telemetry/navigation.js +5 -8
  457. package/dist/telemetry/navigation.js.map +1 -1
  458. package/dist/telemetry/network.d.ts.map +1 -1
  459. package/dist/telemetry/network.js +105 -104
  460. package/dist/telemetry/network.js.map +1 -1
  461. package/dist/telemetry/utils.d.ts +85 -0
  462. package/dist/telemetry/utils.d.ts.map +1 -0
  463. package/dist/telemetry/utils.js +138 -0
  464. package/dist/telemetry/utils.js.map +1 -0
  465. package/dist/types/dom.d.ts +66 -0
  466. package/dist/types/dom.d.ts.map +1 -0
  467. package/dist/types/dom.js +8 -0
  468. package/dist/types/dom.js.map +1 -0
  469. package/dist/types.d.ts +15 -83
  470. package/dist/types.d.ts.map +1 -1
  471. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  472. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  473. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  474. package/dist/ui/OutputBuilder.js.map +1 -0
  475. package/dist/ui/errors/CommandError.d.ts +16 -2
  476. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  477. package/dist/ui/errors/CommandError.js +2 -1
  478. package/dist/ui/errors/CommandError.js.map +1 -1
  479. package/dist/ui/errors/index.d.ts +2 -3
  480. package/dist/ui/errors/index.d.ts.map +1 -1
  481. package/dist/ui/errors/index.js +1 -3
  482. package/dist/ui/errors/index.js.map +1 -1
  483. package/dist/ui/errors/utils.d.ts +6 -0
  484. package/dist/ui/errors/utils.d.ts.map +1 -1
  485. package/dist/ui/errors/utils.js +8 -3
  486. package/dist/ui/errors/utils.js.map +1 -1
  487. package/dist/ui/formatters/dom.d.ts +3 -18
  488. package/dist/ui/formatters/dom.d.ts.map +1 -1
  489. package/dist/ui/formatters/dom.js +4 -27
  490. package/dist/ui/formatters/dom.js.map +1 -1
  491. package/dist/ui/formatters/preview.d.ts +8 -8
  492. package/dist/ui/formatters/preview.d.ts.map +1 -1
  493. package/dist/ui/formatters/preview.js +18 -13
  494. package/dist/ui/formatters/preview.js.map +1 -1
  495. package/dist/ui/formatters/status.d.ts +1 -1
  496. package/dist/ui/formatters/status.d.ts.map +1 -1
  497. package/dist/ui/formatters/status.js +8 -30
  498. package/dist/ui/formatters/status.js.map +1 -1
  499. package/dist/ui/formatting.d.ts +2 -270
  500. package/dist/ui/formatting.d.ts.map +1 -1
  501. package/dist/ui/formatting.js +8 -331
  502. package/dist/ui/formatting.js.map +1 -1
  503. package/dist/ui/logging/index.d.ts +1 -1
  504. package/dist/ui/logging/index.d.ts.map +1 -1
  505. package/dist/ui/logging/index.js +1 -1
  506. package/dist/ui/logging/index.js.map +1 -1
  507. package/dist/ui/logging/logger.d.ts +3 -23
  508. package/dist/ui/logging/logger.d.ts.map +1 -1
  509. package/dist/ui/logging/logger.js +2 -27
  510. package/dist/ui/logging/logger.js.map +1 -1
  511. package/dist/ui/messages/chrome.d.ts +15 -7
  512. package/dist/ui/messages/chrome.d.ts.map +1 -1
  513. package/dist/ui/messages/chrome.js +23 -32
  514. package/dist/ui/messages/chrome.js.map +1 -1
  515. package/dist/ui/messages/commands.d.ts +2 -19
  516. package/dist/ui/messages/commands.d.ts.map +1 -1
  517. package/dist/ui/messages/commands.js +5 -51
  518. package/dist/ui/messages/commands.js.map +1 -1
  519. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  520. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  521. package/dist/ui/messages/consoleMessages.js +3 -6
  522. package/dist/ui/messages/consoleMessages.js.map +1 -1
  523. package/dist/ui/messages/debug.d.ts +0 -14
  524. package/dist/ui/messages/debug.d.ts.map +1 -1
  525. package/dist/ui/messages/debug.js +0 -18
  526. package/dist/ui/messages/debug.js.map +1 -1
  527. package/dist/ui/messages/errors.d.ts +0 -34
  528. package/dist/ui/messages/errors.d.ts.map +1 -1
  529. package/dist/ui/messages/errors.js +3 -81
  530. package/dist/ui/messages/errors.js.map +1 -1
  531. package/dist/ui/messages/internal.d.ts +0 -7
  532. package/dist/ui/messages/internal.d.ts.map +1 -1
  533. package/dist/ui/messages/internal.js +0 -12
  534. package/dist/ui/messages/internal.js.map +1 -1
  535. package/dist/ui/messages/preview.d.ts +14 -1
  536. package/dist/ui/messages/preview.d.ts.map +1 -1
  537. package/dist/ui/messages/preview.js +24 -7
  538. package/dist/ui/messages/preview.js.map +1 -1
  539. package/dist/ui/messages/session.d.ts.map +1 -1
  540. package/dist/ui/messages/session.js +7 -23
  541. package/dist/ui/messages/session.js.map +1 -1
  542. package/dist/ui/messages/validation.d.ts.map +1 -1
  543. package/dist/ui/messages/validation.js +7 -8
  544. package/dist/ui/messages/validation.js.map +1 -1
  545. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  546. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  547. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  548. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  549. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  550. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  551. package/dist/utils/__tests__/objects.test.js +50 -0
  552. package/dist/utils/__tests__/objects.test.js.map +1 -0
  553. package/dist/utils/__tests__/session.contract.test.js +13 -3
  554. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  555. package/dist/utils/__tests__/url.test.d.ts +2 -0
  556. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  557. package/dist/utils/__tests__/url.test.js +42 -0
  558. package/dist/utils/__tests__/url.test.js.map +1 -0
  559. package/dist/utils/atomicFile.d.ts +31 -5
  560. package/dist/utils/atomicFile.d.ts.map +1 -1
  561. package/dist/utils/atomicFile.js +52 -13
  562. package/dist/utils/atomicFile.js.map +1 -1
  563. package/dist/utils/concurrency.d.ts +54 -0
  564. package/dist/utils/concurrency.d.ts.map +1 -0
  565. package/dist/utils/concurrency.js +78 -0
  566. package/dist/utils/concurrency.js.map +1 -0
  567. package/dist/utils/daemonErrors.d.ts +60 -0
  568. package/dist/utils/daemonErrors.d.ts.map +1 -0
  569. package/dist/utils/daemonErrors.js +58 -0
  570. package/dist/utils/daemonErrors.js.map +1 -0
  571. package/dist/utils/errors.d.ts +28 -0
  572. package/dist/utils/errors.d.ts.map +1 -0
  573. package/dist/utils/errors.js +33 -0
  574. package/dist/utils/errors.js.map +1 -0
  575. package/dist/utils/exitCodes.d.ts +41 -5
  576. package/dist/utils/exitCodes.d.ts.map +1 -1
  577. package/dist/utils/exitCodes.js +43 -9
  578. package/dist/utils/exitCodes.js.map +1 -1
  579. package/dist/utils/http.d.ts +9 -4
  580. package/dist/utils/http.d.ts.map +1 -1
  581. package/dist/utils/http.js +44 -10
  582. package/dist/utils/http.js.map +1 -1
  583. package/dist/utils/levenshtein.d.ts +45 -0
  584. package/dist/utils/levenshtein.d.ts.map +1 -0
  585. package/dist/utils/levenshtein.js +85 -0
  586. package/dist/utils/levenshtein.js.map +1 -0
  587. package/dist/utils/objects.d.ts +16 -1
  588. package/dist/utils/objects.d.ts.map +1 -1
  589. package/dist/utils/objects.js +16 -1
  590. package/dist/utils/objects.js.map +1 -1
  591. package/dist/utils/process.d.ts +45 -0
  592. package/dist/utils/process.d.ts.map +1 -0
  593. package/dist/utils/process.js +91 -0
  594. package/dist/utils/process.js.map +1 -0
  595. package/dist/utils/url.d.ts +10 -3
  596. package/dist/utils/url.d.ts.map +1 -1
  597. package/dist/utils/url.js +42 -29
  598. package/dist/utils/url.js.map +1 -1
  599. package/dist/utils/validation.d.ts +101 -0
  600. package/dist/utils/validation.d.ts.map +1 -0
  601. package/dist/utils/validation.js +131 -0
  602. package/dist/utils/validation.js.map +1 -0
  603. package/package.json +1 -1
  604. package/dist/commands/dom.d.ts.map +0 -1
  605. package/dist/commands/dom.js.map +0 -1
  606. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  607. package/dist/commands/domEvalHelpers.js.map +0 -1
  608. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  609. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  610. package/dist/commands/domOptionsBuilder.js +0 -86
  611. package/dist/commands/domOptionsBuilder.js.map +0 -1
  612. package/dist/commands/domSelectorParser.d.ts +0 -20
  613. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  614. package/dist/commands/domSelectorParser.js +0 -20
  615. package/dist/commands/domSelectorParser.js.map +0 -1
  616. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  617. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  618. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  619. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  620. package/dist/commands/shared/sessionController.d.ts +0 -21
  621. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  622. package/dist/commands/shared/sessionController.js +0 -54
  623. package/dist/commands/shared/sessionController.js.map +0 -1
  624. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  625. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  626. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  627. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  628. package/dist/connection/domOperations.d.ts +0 -48
  629. package/dist/connection/domOperations.d.ts.map +0 -1
  630. package/dist/connection/domOperations.js +0 -106
  631. package/dist/connection/domOperations.js.map +0 -1
  632. package/dist/connection/finder.d.ts +0 -12
  633. package/dist/connection/finder.d.ts.map +0 -1
  634. package/dist/connection/finder.js +0 -17
  635. package/dist/connection/finder.js.map +0 -1
  636. package/dist/ipc/commands.d.ts +0 -260
  637. package/dist/ipc/commands.d.ts.map +0 -1
  638. package/dist/ipc/commands.js +0 -77
  639. package/dist/ipc/commands.js.map +0 -1
  640. package/dist/ipc/responseValidator.d.ts.map +0 -1
  641. package/dist/ipc/responseValidator.js.map +0 -1
  642. package/dist/ipc/types.d.ts +0 -226
  643. package/dist/ipc/types.d.ts.map +0 -1
  644. package/dist/ipc/types.js.map +0 -1
  645. package/dist/session/fileOps.d.ts +0 -25
  646. package/dist/session/fileOps.d.ts.map +0 -1
  647. package/dist/session/fileOps.js +0 -39
  648. package/dist/session/fileOps.js.map +0 -1
  649. package/dist/session/queryCache.d.ts +0 -36
  650. package/dist/session/queryCache.d.ts.map +0 -1
  651. package/dist/session/queryCache.js +0 -66
  652. package/dist/session/queryCache.js.map +0 -1
  653. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Navigation tracking contract tests
3
+ *
4
+ * Tests the public API behavior of startNavigationTracking WITHOUT testing implementation details.
5
+ * Follows the testing philosophy: "Test the contract, not the implementation"
6
+ */
7
+ import assert from 'node:assert/strict';
8
+ import { describe, it } from 'node:test';
9
+ import { startNavigationTracking } from '../../telemetry/navigation.js';
10
+ /**
11
+ * Mock CDP connection for testing navigation tracking.
12
+ * Only mocks the CDP boundary - all telemetry logic is real.
13
+ */
14
+ class MockCDPConnection {
15
+ eventHandlers = new Map();
16
+ nextHandlerId = 0;
17
+ sendCalls = [];
18
+ send(method, params) {
19
+ this.sendCalls.push({ method, params });
20
+ return Promise.resolve({});
21
+ }
22
+ on(event, handler) {
23
+ if (!this.eventHandlers.has(event)) {
24
+ this.eventHandlers.set(event, new Map());
25
+ }
26
+ const id = this.nextHandlerId++;
27
+ const handlers = this.eventHandlers.get(event);
28
+ if (handlers) {
29
+ handlers.set(id, handler);
30
+ }
31
+ return () => this.off(event, id);
32
+ }
33
+ off(event, handlerId) {
34
+ this.eventHandlers.get(event)?.delete(handlerId);
35
+ }
36
+ emit(event, params) {
37
+ const handlers = this.eventHandlers.get(event);
38
+ if (handlers) {
39
+ handlers.forEach((handler) => handler(params));
40
+ }
41
+ }
42
+ wasPageEnabled() {
43
+ return this.sendCalls.some((call) => call.method === 'Page.enable');
44
+ }
45
+ getHandlerCount(event) {
46
+ return this.eventHandlers.get(event)?.size ?? 0;
47
+ }
48
+ }
49
+ /**
50
+ * Test helper - create minimal Protocol.Page.Frame with required fields
51
+ */
52
+ function createTestFrame(partial) {
53
+ return {
54
+ id: '',
55
+ loaderId: '',
56
+ url: '',
57
+ securityOrigin: '',
58
+ mimeType: 'text/html',
59
+ domainAndRegistry: '',
60
+ secureContextType: 'Secure',
61
+ crossOriginIsolatedContextType: 'Isolated',
62
+ gatedAPIFeatures: [],
63
+ ...partial,
64
+ };
65
+ }
66
+ describe('startNavigationTracking contract', () => {
67
+ it('should enable Page domain on initialization', async () => {
68
+ const mockCdp = new MockCDPConnection();
69
+ const navigations = [];
70
+ await startNavigationTracking(mockCdp, navigations);
71
+ assert.equal(mockCdp.wasPageEnabled(), true);
72
+ });
73
+ it('should record initial navigation event with navigationId 0', async () => {
74
+ const mockCdp = new MockCDPConnection();
75
+ const navigations = [];
76
+ await startNavigationTracking(mockCdp, navigations);
77
+ assert.equal(navigations.length, 1);
78
+ const nav = navigations[0];
79
+ assert.ok(nav, 'First navigation should exist');
80
+ assert.equal(nav.navigationId, 0);
81
+ assert.equal(nav.url, '');
82
+ assert.equal(typeof nav.timestamp, 'number');
83
+ });
84
+ it('should track main frame navigations and increment navigationId', async () => {
85
+ const mockCdp = new MockCDPConnection();
86
+ const navigations = [];
87
+ await startNavigationTracking(mockCdp, navigations);
88
+ const mainFrameNav = {
89
+ frame: createTestFrame({
90
+ id: 'main-frame',
91
+ url: 'http://localhost:3000/',
92
+ loaderId: 'loader1',
93
+ securityOrigin: 'http://localhost:3000',
94
+ }),
95
+ type: 'Navigation',
96
+ };
97
+ mockCdp.emit('Page.frameNavigated', mainFrameNav);
98
+ assert.equal(navigations.length, 2);
99
+ const nav1 = navigations[1];
100
+ assert.ok(nav1, 'Second navigation should exist');
101
+ assert.equal(nav1.navigationId, 1);
102
+ assert.equal(nav1.url, 'http://localhost:3000/');
103
+ });
104
+ it('should ignore iframe navigations (only track main frame)', async () => {
105
+ const mockCdp = new MockCDPConnection();
106
+ const navigations = [];
107
+ await startNavigationTracking(mockCdp, navigations);
108
+ const iframeNav = {
109
+ frame: createTestFrame({
110
+ id: 'iframe-1',
111
+ parentId: 'main-frame',
112
+ url: 'http://localhost:3000/iframe',
113
+ loaderId: 'loader2',
114
+ securityOrigin: 'http://localhost:3000',
115
+ }),
116
+ type: 'Navigation',
117
+ };
118
+ mockCdp.emit('Page.frameNavigated', iframeNav);
119
+ assert.equal(navigations.length, 1);
120
+ });
121
+ it('should increment navigationId for each main frame navigation', async () => {
122
+ const mockCdp = new MockCDPConnection();
123
+ const navigations = [];
124
+ await startNavigationTracking(mockCdp, navigations);
125
+ const nav1 = {
126
+ frame: createTestFrame({
127
+ id: 'main',
128
+ url: 'http://localhost:3000/',
129
+ loaderId: 'loader1',
130
+ securityOrigin: 'http://localhost:3000',
131
+ }),
132
+ type: 'Navigation',
133
+ };
134
+ const nav2 = {
135
+ frame: createTestFrame({
136
+ id: 'main',
137
+ url: 'http://localhost:3000/about',
138
+ loaderId: 'loader2',
139
+ securityOrigin: 'http://localhost:3000',
140
+ }),
141
+ type: 'Navigation',
142
+ };
143
+ const nav3 = {
144
+ frame: createTestFrame({
145
+ id: 'main',
146
+ url: 'http://localhost:3000/contact',
147
+ loaderId: 'loader3',
148
+ securityOrigin: 'http://localhost:3000',
149
+ }),
150
+ type: 'Navigation',
151
+ };
152
+ mockCdp.emit('Page.frameNavigated', nav1);
153
+ mockCdp.emit('Page.frameNavigated', nav2);
154
+ mockCdp.emit('Page.frameNavigated', nav3);
155
+ assert.equal(navigations.length, 4);
156
+ assert.ok(navigations[0], 'Navigation 0 should exist');
157
+ assert.ok(navigations[1], 'Navigation 1 should exist');
158
+ assert.ok(navigations[2], 'Navigation 2 should exist');
159
+ assert.ok(navigations[3], 'Navigation 3 should exist');
160
+ assert.equal(navigations[0].navigationId, 0);
161
+ assert.equal(navigations[1].navigationId, 1);
162
+ assert.equal(navigations[1].url, 'http://localhost:3000/');
163
+ assert.equal(navigations[2].navigationId, 2);
164
+ assert.equal(navigations[2].url, 'http://localhost:3000/about');
165
+ assert.equal(navigations[3].navigationId, 3);
166
+ assert.equal(navigations[3].url, 'http://localhost:3000/contact');
167
+ });
168
+ it('should return current navigationId via getCurrentNavigationId', async () => {
169
+ const mockCdp = new MockCDPConnection();
170
+ const navigations = [];
171
+ const { getCurrentNavigationId } = await startNavigationTracking(mockCdp, navigations);
172
+ assert.equal(getCurrentNavigationId(), 0);
173
+ const nav = {
174
+ frame: createTestFrame({
175
+ id: 'main',
176
+ url: 'http://localhost:3000/',
177
+ loaderId: 'loader1',
178
+ securityOrigin: 'http://localhost:3000',
179
+ }),
180
+ type: 'Navigation',
181
+ };
182
+ mockCdp.emit('Page.frameNavigated', nav);
183
+ assert.equal(getCurrentNavigationId(), 1);
184
+ });
185
+ it('should clean up event handlers when cleanup is called', async () => {
186
+ const mockCdp = new MockCDPConnection();
187
+ const navigations = [];
188
+ const { cleanup } = await startNavigationTracking(mockCdp, navigations);
189
+ assert.equal(mockCdp.getHandlerCount('Page.frameNavigated'), 1);
190
+ cleanup();
191
+ assert.equal(mockCdp.getHandlerCount('Page.frameNavigated'), 0);
192
+ });
193
+ it('should not track navigations after cleanup is called', async () => {
194
+ const mockCdp = new MockCDPConnection();
195
+ const navigations = [];
196
+ const { cleanup } = await startNavigationTracking(mockCdp, navigations);
197
+ cleanup();
198
+ const nav = {
199
+ frame: createTestFrame({
200
+ id: 'main',
201
+ url: 'http://localhost:3000/',
202
+ loaderId: 'loader1',
203
+ securityOrigin: 'http://localhost:3000',
204
+ }),
205
+ type: 'Navigation',
206
+ };
207
+ mockCdp.emit('Page.frameNavigated', nav);
208
+ assert.equal(navigations.length, 1);
209
+ });
210
+ });
211
+ //# sourceMappingURL=navigation.contract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.contract.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/navigation.contract.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;GAGG;AACH,MAAM,iBAAiB;IACb,aAAa,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC1E,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAgD,EAAE,CAAC;IAEpE,IAAI,CAAC,MAAc,EAAE,MAAgB;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,EAAE,CAAI,KAAa,EAAE,OAA4B;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAoC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,SAAiB;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAI,KAAa,EAAE,MAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAqC;IAC5D,OAAO;QACL,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,EAAE;QACP,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,WAAW;QACrB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,QAAQ;QAC3B,8BAA8B,EAAE,UAAU;QAC1C,gBAAgB,EAAE,EAAE;QACpB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,CAAC,KAAK,CAAE,OAAwC,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAsC;YACtD,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,YAAY;gBAChB,GAAG,EAAE,wBAAwB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAED,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QAEpF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAsC;YACnD,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,YAAY;gBACtB,GAAG,EAAE,8BAA8B;gBACnC,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAED,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAEjF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAsC;YAC9C,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,wBAAwB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAEF,MAAM,IAAI,GAAsC;YAC9C,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,6BAA6B;gBAClC,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAEF,MAAM,IAAI,GAAsC;YAC9C,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,+BAA+B;gBACpC,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAED,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE5E,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEvF,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAsC;YAC7C,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,wBAAwB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAED,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAE3E,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExE,MAAM,CAAC,KAAK,CACT,OAAwC,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAChF,CAAC,CACF,CAAC;QAEF,OAAO,EAAE,CAAC;QAEV,MAAM,CAAC,KAAK,CACT,OAAwC,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAChF,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA8B,CAAC;QACpE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExE,OAAO,EAAE,CAAC;QAEV,MAAM,GAAG,GAAsC;YAC7C,KAAK,EAAE,eAAe,CAAC;gBACrB,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,wBAAwB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,uBAAuB;aACxC,CAAC;YACF,IAAI,EAAE,YAAY;SACnB,CAAC;QAED,OAAwC,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAE3E,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,26 +3,6 @@
3
3
  *
4
4
  * Tests the public API behavior of startNetworkCollection WITHOUT testing implementation details.
5
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
6
  */
27
7
  export {};
28
8
  //# sourceMappingURL=network.contract.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.contract.test.d.ts","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
1
+ {"version":3,"file":"network.contract.test.d.ts","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -3,26 +3,6 @@
3
3
  *
4
4
  * Tests the public API behavior of startNetworkCollection WITHOUT testing implementation details.
5
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
6
  */
27
7
  import assert from 'node:assert/strict';
28
8
  import { afterEach, beforeEach, describe, it } from 'node:test';
@@ -55,7 +35,7 @@ class MockCDPConnection {
55
35
  if (handlers) {
56
36
  handlers.set(id, handler);
57
37
  }
58
- return id;
38
+ return () => this.off(event, id);
59
39
  }
60
40
  /**
61
41
  * Mock CDP event unsubscription
@@ -169,9 +149,7 @@ void describe('Network telemetry contract', () => {
169
149
  });
170
150
  void describe('Basic request/response pairing', () => {
171
151
  void it('should pair request with response by requestId', async () => {
172
- // Arrange: Start collection
173
152
  const cleanup = await startNetworkCollection(mockCDP, requests);
174
- // Act: Simulate CDP events for a complete request/response cycle
175
153
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
176
154
  requestId: 'req-1',
177
155
  request: createTestRequest({
@@ -203,7 +181,6 @@ void describe('Network telemetry contract', () => {
203
181
  timestamp: 1100,
204
182
  encodedDataLength: 1234,
205
183
  });
206
- // Assert: Request is paired with response
207
184
  assert.equal(requests.length, 1, 'Should have one network request');
208
185
  const request = requests[0];
209
186
  assert.ok(request, 'Request should exist');
@@ -214,13 +191,10 @@ void describe('Network telemetry contract', () => {
214
191
  assert.equal(request.mimeType, 'application/json');
215
192
  assert.ok(request.requestHeaders, 'Should have request headers');
216
193
  assert.ok(request.responseHeaders, 'Should have response headers');
217
- // Cleanup
218
194
  void cleanup();
219
195
  });
220
196
  void it('should handle multiple concurrent requests', async () => {
221
- // Arrange
222
197
  const cleanup = await startNetworkCollection(mockCDP, requests);
223
- // Act: Simulate 3 concurrent requests
224
198
  for (let i = 1; i <= 3; i++) {
225
199
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
226
200
  requestId: `req-${i}`,
@@ -231,7 +205,6 @@ void describe('Network telemetry contract', () => {
231
205
  loaderId: 'loader-1',
232
206
  }));
233
207
  }
234
- // Responses arrive in different order (3, 1, 2)
235
208
  for (const i of [3, 1, 2]) {
236
209
  mockCDP.emit('Network.responseReceived', createResponseEvent({
237
210
  requestId: `req-${i}`,
@@ -250,7 +223,6 @@ void describe('Network telemetry contract', () => {
250
223
  encodedDataLength: 100,
251
224
  });
252
225
  }
253
- // Assert: All requests paired correctly despite out-of-order responses
254
226
  assert.equal(requests.length, 3);
255
227
  assert.ok(requests[0], 'First request should exist');
256
228
  assert.ok(requests[1], 'Second request should exist');
@@ -263,11 +235,7 @@ void describe('Network telemetry contract', () => {
263
235
  });
264
236
  void describe('Edge case: Out-of-order events', () => {
265
237
  void it('should handle response arriving before request', async () => {
266
- // This is a real race condition that can happen in CDP
267
- // Current behavior: Response event is ignored if request doesn't exist yet
268
- // The second responseReceived event (after request) sets the status correctly
269
238
  const cleanup = await startNetworkCollection(mockCDP, requests);
270
- // Act: Response arrives BEFORE request (early response is ignored)
271
239
  mockCDP.emit('Network.responseReceived', createResponseEvent({
272
240
  requestId: 'req-1',
273
241
  response: createTestResponse({
@@ -279,7 +247,6 @@ void describe('Network telemetry contract', () => {
279
247
  frameId: 'frame-1',
280
248
  loaderId: 'loader-1',
281
249
  }));
282
- // Request arrives later
283
250
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
284
251
  requestId: 'req-1',
285
252
  request: createTestRequest({
@@ -290,7 +257,6 @@ void describe('Network telemetry contract', () => {
290
257
  frameId: 'frame-1',
291
258
  loaderId: 'loader-1',
292
259
  }));
293
- // Response arrives again (normal order) - this one actually sets status
294
260
  mockCDP.emit('Network.responseReceived', createResponseEvent({
295
261
  requestId: 'req-1',
296
262
  response: createTestResponse({
@@ -307,7 +273,6 @@ void describe('Network telemetry contract', () => {
307
273
  timestamp: 1100,
308
274
  encodedDataLength: 100,
309
275
  });
310
- // Assert: Request is tracked correctly with response data from second response event
311
276
  assert.equal(requests.length, 1, 'Should have one request');
312
277
  const request = requests[0];
313
278
  assert.ok(request, 'Request should exist');
@@ -320,7 +285,6 @@ void describe('Network telemetry contract', () => {
320
285
  void describe('Edge case: Failed requests', () => {
321
286
  void it('should handle Network.loadingFailed events', async () => {
322
287
  const cleanup = await startNetworkCollection(mockCDP, requests);
323
- // Act: Request fails instead of succeeding
324
288
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
325
289
  requestId: 'req-1',
326
290
  request: createTestRequest({
@@ -337,7 +301,6 @@ void describe('Network telemetry contract', () => {
337
301
  type: 'XHR',
338
302
  errorText: 'net::ERR_CONNECTION_REFUSED',
339
303
  });
340
- // Assert: Failed request is recorded with status 0
341
304
  assert.equal(requests.length, 1);
342
305
  const request = requests[0];
343
306
  assert.ok(request, 'Request should exist');
@@ -348,10 +311,8 @@ void describe('Network telemetry contract', () => {
348
311
  });
349
312
  void describe('Edge case: Stale request cleanup', () => {
350
313
  void it('should clean up stale requests after timeout', async () => {
351
- // Use fake clock to control time
352
314
  const clockHelper = useFakeClock();
353
315
  const cleanup = await startNetworkCollection(mockCDP, requests);
354
- // Act: Create request but never finish it
355
316
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
356
317
  requestId: 'stale-req',
357
318
  request: createTestRequest({
@@ -362,9 +323,7 @@ void describe('Network telemetry contract', () => {
362
323
  frameId: 'frame-1',
363
324
  loaderId: 'loader-1',
364
325
  }));
365
- // Fast-forward past stale timeout (60s) + cleanup interval (30s)
366
326
  await clockHelper.tickAndFlush(91_000);
367
- // Assert: Stale request is NOT in final output (removed from tracking)
368
327
  assert.equal(requests.length, 0, 'Stale requests should not appear in output (removed from tracking)');
369
328
  void cleanup();
370
329
  clockHelper.restore();
@@ -375,7 +334,6 @@ void describe('Network telemetry contract', () => {
375
334
  const cleanup = await startNetworkCollection(mockCDP, requests, { includeAll: true } // Disable domain filtering for this test
376
335
  );
377
336
  const MAX_REQUESTS = 10_000;
378
- // Act: Try to collect more than the limit
379
337
  for (let i = 1; i <= MAX_REQUESTS + 100; i++) {
380
338
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
381
339
  requestId: `req-${i}`,
@@ -393,23 +351,18 @@ void describe('Network telemetry contract', () => {
393
351
  encodedDataLength: 100,
394
352
  });
395
353
  }
396
- // Assert: Should never exceed MAX_NETWORK_REQUESTS
397
354
  assert.ok(requests.length <= MAX_REQUESTS, `Should not exceed ${MAX_REQUESTS} requests, got ${requests.length}`);
398
355
  void cleanup();
399
356
  });
400
357
  });
401
358
  void describe('Cleanup behavior', () => {
402
359
  void it('should remove all event handlers on cleanup', async () => {
403
- // Arrange
404
360
  const cleanup = await startNetworkCollection(mockCDP, requests);
405
- // Assert: Handlers registered during start
406
361
  assert.ok(mockCDP.getHandlerCount('Network.requestWillBeSent') > 0, 'Should have requestWillBeSent handler');
407
362
  assert.ok(mockCDP.getHandlerCount('Network.responseReceived') > 0, 'Should have responseReceived handler');
408
363
  assert.ok(mockCDP.getHandlerCount('Network.loadingFinished') > 0, 'Should have loadingFinished handler');
409
364
  assert.ok(mockCDP.getHandlerCount('Network.loadingFailed') > 0, 'Should have loadingFailed handler');
410
- // Act: Call cleanup
411
365
  void cleanup();
412
- // Assert: All handlers removed
413
366
  assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0, 'Should remove requestWillBeSent handler');
414
367
  assert.equal(mockCDP.getHandlerCount('Network.responseReceived'), 0, 'Should remove responseReceived handler');
415
368
  assert.equal(mockCDP.getHandlerCount('Network.loadingFinished'), 0, 'Should remove loadingFinished handler');
@@ -417,20 +370,15 @@ void describe('Network telemetry contract', () => {
417
370
  });
418
371
  void it('should be idempotent (safe to call multiple times)', async () => {
419
372
  const cleanup = await startNetworkCollection(mockCDP, requests);
420
- // Act: Call cleanup multiple times
421
373
  void cleanup();
422
374
  void cleanup();
423
375
  void cleanup();
424
- // Assert: No errors thrown, handlers remain removed
425
376
  assert.equal(mockCDP.getHandlerCount('Network.requestWillBeSent'), 0);
426
377
  });
427
378
  });
428
379
  void describe('Domain filtering', () => {
429
380
  void it('should exclude default tracking domains by default', async () => {
430
- const cleanup = await startNetworkCollection(mockCDP, requests
431
- // includeAll defaults to false
432
- );
433
- // Act: Send requests to tracking domains
381
+ const cleanup = await startNetworkCollection(mockCDP, requests);
434
382
  const trackingDomains = [
435
383
  'https://www.google-analytics.com/collect',
436
384
  'https://connect.facebook.net/en_US/fbevents.js',
@@ -451,7 +399,6 @@ void describe('Network telemetry contract', () => {
451
399
  encodedDataLength: 100,
452
400
  });
453
401
  }
454
- // Assert: Tracking requests are filtered out
455
402
  assert.equal(requests.length, 0, 'Tracking domains should be filtered by default');
456
403
  void cleanup();
457
404
  });
@@ -459,7 +406,6 @@ void describe('Network telemetry contract', () => {
459
406
  const cleanup = await startNetworkCollection(mockCDP, requests, {
460
407
  includeAll: true,
461
408
  });
462
- // Act: Send request to tracking domain
463
409
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
464
410
  requestId: 'req-1',
465
411
  request: createTestRequest({
@@ -475,7 +421,6 @@ void describe('Network telemetry contract', () => {
475
421
  timestamp: 2000,
476
422
  encodedDataLength: 100,
477
423
  });
478
- // Assert: Request included when includeAll=true
479
424
  assert.equal(requests.length, 1);
480
425
  const request = requests[0];
481
426
  assert.ok(request, 'Request should exist');
@@ -487,7 +432,6 @@ void describe('Network telemetry contract', () => {
487
432
  void it('should fetch body for JSON responses under size limit', async () => {
488
433
  const cleanup = await startNetworkCollection(mockCDP, requests, { fetchAllBodies: true } // Force fetch all bodies for this test
489
434
  );
490
- // Act: JSON response under 5MB
491
435
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
492
436
  requestId: 'req-1',
493
437
  request: createTestRequest({
@@ -514,16 +458,13 @@ void describe('Network telemetry contract', () => {
514
458
  timestamp: 1100,
515
459
  encodedDataLength: 1024, // 1KB - under limit
516
460
  });
517
- // Wait for async body fetch
518
461
  await new Promise((resolve) => setTimeout(resolve, 10));
519
- // Assert: Should attempt to fetch body (mock doesn't actually fetch, but real code would)
520
462
  assert.equal(requests.length, 1);
521
463
  void cleanup();
522
464
  });
523
465
  void it('should skip body for large responses', async () => {
524
466
  const cleanup = await startNetworkCollection(mockCDP, requests, { maxBodySize: 1024 } // 1KB limit for testing
525
467
  );
526
- // Act: JSON response over size limit
527
468
  mockCDP.emit('Network.requestWillBeSent', createRequestEvent({
528
469
  requestId: 'req-1',
529
470
  request: createTestRequest({
@@ -550,7 +491,6 @@ void describe('Network telemetry contract', () => {
550
491
  timestamp: 1100,
551
492
  encodedDataLength: 10 * 1024 * 1024, // 10MB - over 1KB limit
552
493
  });
553
- // Assert: Body should be marked as skipped
554
494
  assert.equal(requests.length, 1);
555
495
  const request = requests[0];
556
496
  assert.ok(request, 'Request should exist');
@@ -560,9 +500,7 @@ void describe('Network telemetry contract', () => {
560
500
  });
561
501
  void describe('Initialization', () => {
562
502
  void it('should enable Network domain on start', async () => {
563
- // Act
564
503
  const cleanup = await startNetworkCollection(mockCDP, requests);
565
- // Assert: Network.enable was called
566
504
  assert.ok(mockCDP.wasNetworkEnabled(), 'Should call Network.enable');
567
505
  void cleanup();
568
506
  });
@@ -1 +1 @@
1
- {"version":3,"file":"network.contract.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.contract.test.js","sourceRoot":"","sources":["../../../src/telemetry/__tests__/network.contract.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Unit tests for telemetry utility functions
3
+ *
4
+ * Tests the public contract of shared utilities used across telemetry collectors.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=utils.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../../../src/telemetry/__tests__/utils.unit.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}