browser-debugger-cli 0.7.1 → 0.8.0

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 (1099) hide show
  1. package/README.md +14 -6
  2. package/dist/cdp/protocol.d.ts +1 -1
  3. package/dist/cdp/protocol.js +1 -1
  4. package/dist/cdp/schema.d.ts +10 -0
  5. package/dist/cdp/schema.js +13 -0
  6. package/dist/commands/cdp.js +75 -23
  7. package/dist/commands/cleanup.js +31 -23
  8. package/dist/commands/console.d.ts +18 -1
  9. package/dist/commands/console.js +98 -53
  10. package/dist/commands/details.js +13 -3
  11. package/dist/commands/dom/DomElementResolver.d.ts +24 -69
  12. package/dist/commands/dom/DomElementResolver.js +71 -162
  13. package/dist/commands/dom/a11y.js +52 -33
  14. package/dist/commands/dom/eval.d.ts +13 -0
  15. package/dist/commands/dom/eval.js +43 -0
  16. package/dist/commands/dom/form.js +103 -147
  17. package/dist/commands/dom/formInteraction.d.ts +6 -1
  18. package/dist/commands/dom/formInteraction.js +223 -305
  19. package/dist/commands/dom/frames.d.ts +12 -0
  20. package/dist/commands/dom/frames.js +28 -0
  21. package/dist/commands/dom/get.d.ts +20 -0
  22. package/dist/commands/dom/get.js +141 -0
  23. package/dist/commands/dom/helpers/index.d.ts +11 -0
  24. package/dist/commands/dom/helpers/index.js +10 -0
  25. package/dist/commands/dom/helpers/query.d.ts +78 -0
  26. package/dist/commands/dom/helpers/query.js +457 -0
  27. package/dist/commands/dom/helpers/runElementCommand.d.ts +56 -0
  28. package/dist/commands/dom/helpers/runElementCommand.js +63 -0
  29. package/dist/commands/dom/helpers/screenshot.d.ts +30 -0
  30. package/dist/commands/dom/helpers/screenshot.js +374 -0
  31. package/dist/commands/dom/index.d.ts +15 -3
  32. package/dist/commands/dom/index.js +45 -511
  33. package/dist/commands/dom/listeners.d.ts +16 -0
  34. package/dist/commands/dom/listeners.js +54 -0
  35. package/dist/commands/dom/query.d.ts +14 -0
  36. package/dist/commands/dom/query.js +36 -0
  37. package/dist/commands/dom/screenshot.d.ts +21 -0
  38. package/dist/commands/dom/screenshot.js +248 -0
  39. package/dist/commands/dom/semanticUtils.d.ts +44 -0
  40. package/dist/commands/dom/semanticUtils.js +102 -0
  41. package/dist/commands/helpJson.d.ts +4 -2
  42. package/dist/commands/helpJson.js +12 -32
  43. package/dist/commands/helpTopic.d.ts +32 -0
  44. package/dist/commands/helpTopic.js +58 -0
  45. package/dist/commands/network/har.js +50 -24
  46. package/dist/commands/network/list.js +96 -63
  47. package/dist/commands/network/shared.d.ts +9 -15
  48. package/dist/commands/network/shared.js +30 -51
  49. package/dist/commands/optionBehaviors.d.ts +1 -9
  50. package/dist/commands/optionBehaviors.js +46 -25
  51. package/dist/commands/page.d.ts +11 -0
  52. package/dist/commands/page.js +112 -0
  53. package/dist/commands/peek.js +62 -48
  54. package/dist/commands/shared/CommandRunner.d.ts +18 -1
  55. package/dist/commands/shared/CommandRunner.js +83 -26
  56. package/dist/commands/shared/commonOptions.d.ts +10 -0
  57. package/dist/commands/shared/commonOptions.js +12 -0
  58. package/dist/commands/shared/daemonErrorHandler.d.ts +9 -0
  59. package/dist/commands/shared/daemonErrorHandler.js +31 -11
  60. package/dist/commands/shared/dataFetcher.d.ts +33 -10
  61. package/dist/commands/shared/dataFetcher.js +57 -20
  62. package/dist/commands/shared/followMode.d.ts +0 -3
  63. package/dist/commands/shared/followMode.js +6 -11
  64. package/dist/commands/shared/handleValidationError.d.ts +14 -0
  65. package/dist/commands/shared/handleValidationError.js +39 -0
  66. package/dist/commands/shared/optionTypes.d.ts +42 -22
  67. package/dist/commands/shared/outputFile.d.ts +33 -0
  68. package/dist/commands/shared/outputFile.js +78 -0
  69. package/dist/commands/shared/startHelpers.d.ts +5 -8
  70. package/dist/commands/shared/startHelpers.js +226 -37
  71. package/dist/commands/shared/validation.d.ts +42 -0
  72. package/dist/commands/shared/validation.js +101 -22
  73. package/dist/commands/start.d.ts +28 -1
  74. package/dist/commands/start.js +226 -38
  75. package/dist/commands/status.js +48 -11
  76. package/dist/commands/stop.js +16 -26
  77. package/dist/commands/tail.js +20 -35
  78. package/dist/commands.js +2 -0
  79. package/dist/connection/cdp.d.ts +12 -6
  80. package/dist/connection/cdp.js +59 -16
  81. package/dist/connection/diagnostics.d.ts +0 -9
  82. package/dist/connection/diagnostics.js +0 -13
  83. package/dist/connection/errors.d.ts +36 -1
  84. package/dist/connection/errors.js +43 -3
  85. package/dist/connection/handlers.d.ts +5 -5
  86. package/dist/connection/handlers.js +1 -1
  87. package/dist/connection/inFlightRequests.d.ts +33 -0
  88. package/dist/connection/inFlightRequests.js +52 -0
  89. package/dist/connection/launcher/binaryResolver.js +20 -7
  90. package/dist/connection/launcher/flagsBuilder.d.ts +24 -54
  91. package/dist/connection/launcher/flagsBuilder.js +65 -40
  92. package/dist/connection/launcher/preferencesLoader.js +27 -8
  93. package/dist/connection/launcher.d.ts +2 -0
  94. package/dist/connection/launcher.js +48 -29
  95. package/dist/connection/pageReadiness.d.ts +5 -6
  96. package/dist/connection/pageReadiness.js +63 -120
  97. package/dist/connection/portReservation.d.ts +10 -0
  98. package/dist/connection/portReservation.js +37 -2
  99. package/dist/connection/startupExit.d.ts +37 -0
  100. package/dist/connection/startupExit.js +107 -0
  101. package/dist/connection/typed-cdp.d.ts +8 -6
  102. package/dist/connection/typed-cdp.js +5 -3
  103. package/dist/connection/types.d.ts +3 -0
  104. package/dist/constants.d.ts +21 -22
  105. package/dist/constants.js +28 -25
  106. package/dist/daemon/SessionController.d.ts +125 -0
  107. package/dist/daemon/SessionController.js +472 -0
  108. package/dist/daemon/errors.d.ts +15 -19
  109. package/dist/daemon/errors.js +18 -21
  110. package/dist/daemon/ipcServer.d.ts +44 -30
  111. package/dist/daemon/ipcServer.js +164 -132
  112. package/dist/daemon/launcher.d.ts +13 -21
  113. package/dist/daemon/launcher.js +94 -101
  114. package/dist/daemon/messages.d.ts +29 -0
  115. package/dist/daemon/messages.js +35 -0
  116. package/dist/daemon/patternDefinitions.d.ts +1 -1
  117. package/dist/daemon/patternDefinitions.js +3 -2
  118. package/dist/daemon/patternDetector.d.ts +13 -29
  119. package/dist/daemon/patternDetector.js +26 -47
  120. package/dist/daemon/server/SocketServer.d.ts +56 -2
  121. package/dist/daemon/server/SocketServer.js +131 -30
  122. package/dist/daemon/session/Session.d.ts +137 -0
  123. package/dist/daemon/session/Session.js +288 -0
  124. package/dist/daemon/session/TelemetryStore.d.ts +30 -0
  125. package/dist/daemon/session/TelemetryStore.js +44 -0
  126. package/dist/daemon/session/cdpSetup.d.ts +47 -0
  127. package/dist/daemon/session/cdpSetup.js +94 -0
  128. package/dist/daemon/session/chromeConnection.d.ts +38 -0
  129. package/dist/daemon/session/chromeConnection.js +178 -0
  130. package/dist/daemon/{worker → session}/collectors.d.ts +3 -3
  131. package/dist/daemon/{worker → session}/collectors.js +3 -3
  132. package/dist/daemon/session/commandRegistry.js +445 -0
  133. package/dist/daemon/session/interactions.d.ts +27 -0
  134. package/dist/daemon/session/interactions.js +44 -0
  135. package/dist/daemon/{worker → session}/plugins.d.ts +3 -3
  136. package/dist/daemon/session/plugins.js +219 -0
  137. package/dist/daemon/session/targetMismatch.d.ts +34 -0
  138. package/dist/daemon/session/targetMismatch.js +83 -0
  139. package/dist/daemon/session/teardown.d.ts +27 -0
  140. package/dist/daemon/session/teardown.js +128 -0
  141. package/dist/daemon/{worker → session}/types.d.ts +2 -2
  142. package/dist/daemon.d.ts +3 -4
  143. package/dist/daemon.js +15356 -24
  144. package/dist/{ui/errors → errors}/CommandError.js +1 -1
  145. package/dist/{ui/errors → errors}/index.d.ts +2 -0
  146. package/dist/errors/issues.d.ts +16 -0
  147. package/dist/errors/issues.js +11 -0
  148. package/dist/errors/messages.d.ts +545 -0
  149. package/dist/errors/messages.js +959 -0
  150. package/dist/errors/notices.d.ts +30 -0
  151. package/dist/errors/notices.js +11 -0
  152. package/dist/{ui/errors → errors}/utils.js +1 -1
  153. package/dist/index.js +16410 -168
  154. package/dist/ipc/client.d.ts +44 -8
  155. package/dist/ipc/client.js +95 -18
  156. package/dist/ipc/index.d.ts +2 -2
  157. package/dist/ipc/index.js +2 -2
  158. package/dist/ipc/protocol/commands.d.ts +220 -59
  159. package/dist/ipc/protocol/commands.js +27 -21
  160. package/dist/ipc/protocol/domTypes.d.ts +236 -0
  161. package/dist/ipc/protocol/domTypes.js +10 -0
  162. package/dist/ipc/protocol/guards.d.ts +4 -4
  163. package/dist/ipc/protocol/guards.js +4 -4
  164. package/dist/ipc/protocol/messages.d.ts +9 -33
  165. package/dist/ipc/protocol/messages.js +1 -1
  166. package/dist/ipc/session/errors.d.ts +10 -2
  167. package/dist/ipc/session/errors.js +10 -2
  168. package/dist/ipc/session/lifecycle.d.ts +20 -22
  169. package/dist/ipc/session/queries.d.ts +21 -4
  170. package/dist/ipc/session/types.d.ts +1 -1
  171. package/dist/ipc/session/types.js +1 -1
  172. package/dist/ipc/transport/IPCError.d.ts +3 -3
  173. package/dist/ipc/transport/IPCError.js +3 -3
  174. package/dist/ipc/transport/index.d.ts +7 -1
  175. package/dist/ipc/transport/index.js +7 -2
  176. package/dist/ipc/transport/jsonl.d.ts +28 -2
  177. package/dist/ipc/transport/jsonl.js +57 -10
  178. package/dist/ipc/utils/errors.d.ts +4 -2
  179. package/dist/ipc/utils/errors.js +10 -4
  180. package/dist/ipc/utils/index.d.ts +0 -1
  181. package/dist/ipc/utils/index.js +0 -1
  182. package/dist/ipc/utils/responseValidator.d.ts +5 -1
  183. package/dist/ipc/utils/responseValidator.js +7 -3
  184. package/dist/runtime/dom/evalHelpers.d.ts +76 -0
  185. package/dist/runtime/dom/evalHelpers.js +406 -0
  186. package/dist/runtime/dom/eventListeners.d.ts +23 -0
  187. package/dist/runtime/dom/eventListeners.js +252 -0
  188. package/dist/runtime/dom/formDiscovery.d.ts +26 -0
  189. package/dist/{commands → runtime}/dom/formDiscovery.js +48 -9
  190. package/dist/runtime/dom/formFillHelpers/fill.d.ts +29 -0
  191. package/dist/runtime/dom/formFillHelpers/fill.js +299 -0
  192. package/dist/runtime/dom/formFillHelpers/index.d.ts +17 -0
  193. package/dist/runtime/dom/formFillHelpers/index.js +17 -0
  194. package/dist/runtime/dom/formFillHelpers/pressKey.d.ts +28 -0
  195. package/dist/runtime/dom/formFillHelpers/pressKey.js +195 -0
  196. package/dist/runtime/dom/formFillHelpers/scroll.d.ts +24 -0
  197. package/dist/runtime/dom/formFillHelpers/scroll.js +188 -0
  198. package/dist/runtime/dom/formFillHelpers/shared.d.ts +43 -0
  199. package/dist/runtime/dom/formFillHelpers/shared.js +100 -0
  200. package/dist/runtime/dom/formFillHelpers/stability.d.ts +14 -0
  201. package/dist/runtime/dom/formFillHelpers/stability.js +40 -0
  202. package/dist/runtime/dom/formSubmitHelpers.d.ts +29 -0
  203. package/dist/runtime/dom/formSubmitHelpers.js +252 -0
  204. package/dist/runtime/dom/formTypes.d.ts +8 -0
  205. package/dist/runtime/dom/frameSelection.d.ts +27 -0
  206. package/dist/runtime/dom/frameSelection.js +66 -0
  207. package/dist/runtime/dom/frames.d.ts +38 -0
  208. package/dist/runtime/dom/frames.js +305 -0
  209. package/dist/runtime/dom/keyMapping.d.ts +103 -0
  210. package/dist/runtime/dom/keyMapping.js +232 -0
  211. package/dist/runtime/dom/listenerSummary.d.ts +72 -0
  212. package/dist/runtime/dom/listenerSummary.js +150 -0
  213. package/dist/runtime/dom/reactEventHelpers.d.ts +61 -0
  214. package/dist/runtime/dom/reactEventHelpers.js +470 -0
  215. package/dist/runtime/dom/targetNode.d.ts +78 -0
  216. package/dist/runtime/dom/targetNode.js +154 -0
  217. package/dist/runtime/page/navigation.d.ts +34 -0
  218. package/dist/runtime/page/navigation.js +249 -0
  219. package/dist/session/QueryCacheManager.d.ts +25 -82
  220. package/dist/session/QueryCacheManager.js +41 -133
  221. package/dist/session/chrome.d.ts +21 -16
  222. package/dist/session/chrome.js +28 -44
  223. package/dist/session/cleanup/staleSession.d.ts +49 -0
  224. package/dist/session/cleanup/staleSession.js +124 -0
  225. package/dist/session/cleanup/userCommands.d.ts +36 -0
  226. package/dist/session/cleanup/userCommands.js +95 -0
  227. package/dist/session/daemonSocket.d.ts +25 -0
  228. package/dist/session/daemonSocket.js +40 -0
  229. package/dist/session/lastSession.d.ts +29 -0
  230. package/dist/session/lastSession.js +45 -0
  231. package/dist/session/metadata.d.ts +3 -1
  232. package/dist/session/paths.d.ts +2 -4
  233. package/dist/session/paths.js +2 -4
  234. package/dist/session/pid.d.ts +9 -38
  235. package/dist/session/pid.js +14 -64
  236. package/dist/session/port.d.ts +0 -5
  237. package/dist/session/port.js +9 -19
  238. package/dist/telemetry/a11y.d.ts +26 -20
  239. package/dist/telemetry/a11y.js +237 -104
  240. package/dist/telemetry/attachedTargets.d.ts +36 -0
  241. package/dist/telemetry/attachedTargets.js +163 -0
  242. package/dist/telemetry/console.d.ts +21 -4
  243. package/dist/telemetry/console.js +122 -11
  244. package/dist/telemetry/dialogs.d.ts +4 -2
  245. package/dist/telemetry/dialogs.js +3 -1
  246. package/dist/telemetry/dom.d.ts +1 -11
  247. package/dist/telemetry/dom.js +0 -102
  248. package/dist/telemetry/filterDsl.d.ts +9 -1
  249. package/dist/telemetry/filterDsl.js +101 -31
  250. package/dist/telemetry/filterPresets.js +12 -2
  251. package/dist/telemetry/filters.d.ts +1 -1
  252. package/dist/telemetry/filters.js +38 -3
  253. package/dist/telemetry/har/builder.js +190 -160
  254. package/dist/telemetry/har/types.d.ts +21 -4
  255. package/dist/telemetry/navigation.d.ts +13 -29
  256. package/dist/telemetry/navigation.js +12 -46
  257. package/dist/telemetry/network.d.ts +37 -1
  258. package/dist/telemetry/network.js +343 -130
  259. package/dist/telemetry/networkExtraInfo.d.ts +106 -0
  260. package/dist/telemetry/networkExtraInfo.js +241 -0
  261. package/dist/telemetry/objectExpander.d.ts +14 -5
  262. package/dist/telemetry/objectExpander.js +13 -6
  263. package/dist/telemetry/remoteObject.d.ts +10 -2
  264. package/dist/telemetry/remoteObject.js +59 -2
  265. package/dist/telemetry/remoteObjectUtils.js +22 -3
  266. package/dist/types.d.ts +64 -44
  267. package/dist/types.js +1 -33
  268. package/dist/ui/OutputBuilder.d.ts +17 -14
  269. package/dist/ui/OutputBuilder.js +18 -87
  270. package/dist/ui/formatters/a11y.js +72 -9
  271. package/dist/ui/formatters/console/chronological.d.ts +14 -0
  272. package/dist/ui/formatters/console/chronological.js +58 -0
  273. package/dist/ui/formatters/console/follow.d.ts +18 -0
  274. package/dist/ui/formatters/console/follow.js +36 -0
  275. package/dist/ui/formatters/console/json.d.ts +21 -0
  276. package/dist/ui/formatters/console/json.js +53 -0
  277. package/dist/ui/formatters/console/shared.d.ts +136 -0
  278. package/dist/ui/formatters/console/shared.js +158 -0
  279. package/dist/ui/formatters/console/summarize.d.ts +10 -0
  280. package/dist/ui/formatters/console/summarize.js +63 -0
  281. package/dist/ui/formatters/console.d.ts +16 -137
  282. package/dist/ui/formatters/console.js +17 -418
  283. package/dist/ui/formatters/cookies.js +3 -3
  284. package/dist/ui/formatters/details.d.ts +5 -2
  285. package/dist/ui/formatters/details.js +183 -24
  286. package/dist/ui/formatters/dom.d.ts +27 -6
  287. package/dist/ui/formatters/dom.js +80 -28
  288. package/dist/ui/formatters/form.js +35 -56
  289. package/dist/ui/formatters/helpFormatters.js +5 -4
  290. package/dist/ui/formatters/listeners.d.ts +24 -0
  291. package/dist/ui/formatters/listeners.js +96 -0
  292. package/dist/ui/formatters/networkHeaders.d.ts +3 -3
  293. package/dist/ui/formatters/networkHeaders.js +7 -4
  294. package/dist/ui/formatters/networkList.d.ts +14 -2
  295. package/dist/ui/formatters/networkList.js +80 -35
  296. package/dist/ui/formatters/preview.d.ts +21 -3
  297. package/dist/ui/formatters/preview.js +53 -72
  298. package/dist/ui/formatters/requestStatus.d.ts +34 -0
  299. package/dist/ui/formatters/requestStatus.js +55 -0
  300. package/dist/ui/formatters/semantic.d.ts +1 -1
  301. package/dist/ui/formatters/semantic.js +1 -1
  302. package/dist/ui/formatters/sessionFormatters.js +11 -8
  303. package/dist/ui/formatters/status.d.ts +23 -5
  304. package/dist/ui/formatters/status.js +48 -24
  305. package/dist/ui/formatting.d.ts +35 -0
  306. package/dist/ui/formatting.js +122 -23
  307. package/dist/ui/logging/logger.d.ts +1 -1
  308. package/dist/ui/messages/chrome.d.ts +35 -100
  309. package/dist/ui/messages/chrome.js +102 -136
  310. package/dist/ui/messages/commands.d.ts +121 -3
  311. package/dist/ui/messages/commands.js +153 -6
  312. package/dist/ui/messages/consoleMessages.d.ts +0 -6
  313. package/dist/ui/messages/consoleMessages.js +0 -8
  314. package/dist/ui/messages/hints.d.ts +9 -15
  315. package/dist/ui/messages/hints.js +17 -16
  316. package/dist/ui/messages/networkMessages.d.ts +0 -6
  317. package/dist/ui/messages/networkMessages.js +0 -8
  318. package/dist/ui/messages/preview.js +2 -2
  319. package/dist/ui/messages/session.d.ts +24 -3
  320. package/dist/ui/messages/session.js +38 -7
  321. package/dist/ui/messages/validation.d.ts +15 -26
  322. package/dist/ui/messages/validation.js +33 -38
  323. package/dist/utils/atomicFile.js +1 -1
  324. package/dist/utils/decisionTrees.js +1 -1
  325. package/dist/utils/errorMapping.js +15 -4
  326. package/dist/utils/errors.d.ts +13 -0
  327. package/dist/utils/errors.js +21 -0
  328. package/dist/utils/exitCodes.d.ts +5 -0
  329. package/dist/utils/exitCodes.js +36 -2
  330. package/dist/utils/http.d.ts +35 -4
  331. package/dist/utils/http.js +59 -6
  332. package/dist/utils/packageRoot.d.ts +12 -0
  333. package/dist/utils/packageRoot.js +33 -0
  334. package/dist/utils/process.d.ts +10 -0
  335. package/dist/utils/process.js +35 -3
  336. package/dist/utils/selectorFilters.d.ts +45 -0
  337. package/dist/utils/selectorFilters.js +224 -0
  338. package/dist/utils/suggestions.js +1 -1
  339. package/dist/utils/taskMappings.js +7 -2
  340. package/dist/utils/typeGuards.js +2 -2
  341. package/dist/utils/url.d.ts +13 -5
  342. package/dist/utils/url.js +53 -52
  343. package/dist/utils/validation.d.ts +15 -93
  344. package/dist/utils/validation.js +10 -118
  345. package/dist/utils/version.js +3 -5
  346. package/package.json +39 -30
  347. package/dist/__testfixtures__/cdpMessages.d.ts +0 -43
  348. package/dist/__testfixtures__/cdpMessages.d.ts.map +0 -1
  349. package/dist/__testfixtures__/cdpMessages.js +0 -118
  350. package/dist/__testfixtures__/cdpMessages.js.map +0 -1
  351. package/dist/__testfixtures__/connectionTargets.d.ts +0 -21
  352. package/dist/__testfixtures__/connectionTargets.d.ts.map +0 -1
  353. package/dist/__testfixtures__/connectionTargets.js +0 -59
  354. package/dist/__testfixtures__/connectionTargets.js.map +0 -1
  355. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +0 -47
  356. package/dist/__tests__/integration/session-files.integration.test.d.ts +0 -2
  357. package/dist/__tests__/integration/session-files.integration.test.d.ts.map +0 -1
  358. package/dist/__tests__/integration/session-files.integration.test.js +0 -66
  359. package/dist/__tests__/integration/session-files.integration.test.js.map +0 -1
  360. package/dist/__tests__/schema.contract.test.d.ts +0 -19
  361. package/dist/__tests__/schema.contract.test.d.ts.map +0 -1
  362. package/dist/__tests__/schema.contract.test.js +0 -236
  363. package/dist/__tests__/schema.contract.test.js.map +0 -1
  364. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +0 -8
  365. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +0 -1
  366. package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -66
  367. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +0 -1
  368. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +0 -8
  369. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +0 -1
  370. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +0 -112
  371. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +0 -1
  372. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +0 -12
  373. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +0 -1
  374. package/dist/__tests__/telemetry/filterDsl.unit.test.js +0 -374
  375. package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +0 -1
  376. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +0 -10
  377. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +0 -1
  378. package/dist/__tests__/telemetry/filterPresets.unit.test.js +0 -89
  379. package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +0 -1
  380. package/dist/__testutils__/FakeClock.d.ts +0 -67
  381. package/dist/__testutils__/FakeClock.d.ts.map +0 -1
  382. package/dist/__testutils__/FakeClock.js +0 -132
  383. package/dist/__testutils__/FakeClock.js.map +0 -1
  384. package/dist/__testutils__/FakeWebSocket.d.ts +0 -106
  385. package/dist/__testutils__/FakeWebSocket.d.ts.map +0 -1
  386. package/dist/__testutils__/FakeWebSocket.js +0 -213
  387. package/dist/__testutils__/FakeWebSocket.js.map +0 -1
  388. package/dist/__testutils__/assertions.d.ts +0 -33
  389. package/dist/__testutils__/assertions.d.ts.map +0 -1
  390. package/dist/__testutils__/assertions.js +0 -57
  391. package/dist/__testutils__/assertions.js.map +0 -1
  392. package/dist/__testutils__/commandRunner.d.ts +0 -45
  393. package/dist/__testutils__/commandRunner.d.ts.map +0 -1
  394. package/dist/__testutils__/commandRunner.js +0 -108
  395. package/dist/__testutils__/commandRunner.js.map +0 -1
  396. package/dist/__testutils__/daemonHelpers.d.ts +0 -93
  397. package/dist/__testutils__/daemonHelpers.d.ts.map +0 -1
  398. package/dist/__testutils__/daemonHelpers.js +0 -255
  399. package/dist/__testutils__/daemonHelpers.js.map +0 -1
  400. package/dist/__testutils__/index.d.ts +0 -16
  401. package/dist/__testutils__/index.d.ts.map +0 -1
  402. package/dist/__testutils__/index.js +0 -16
  403. package/dist/__testutils__/index.js.map +0 -1
  404. package/dist/__testutils__/testCleanup.d.ts +0 -45
  405. package/dist/__testutils__/testCleanup.d.ts.map +0 -1
  406. package/dist/__testutils__/testCleanup.js +0 -87
  407. package/dist/__testutils__/testCleanup.js.map +0 -1
  408. package/dist/__testutils__/testClock.d.ts +0 -28
  409. package/dist/__testutils__/testClock.d.ts.map +0 -1
  410. package/dist/__testutils__/testClock.js +0 -81
  411. package/dist/__testutils__/testClock.js.map +0 -1
  412. package/dist/__testutils__/testFixtures.d.ts +0 -15
  413. package/dist/__testutils__/testFixtures.d.ts.map +0 -1
  414. package/dist/__testutils__/testFixtures.js +0 -23
  415. package/dist/__testutils__/testFixtures.js.map +0 -1
  416. package/dist/__testutils__/testHome.d.ts +0 -26
  417. package/dist/__testutils__/testHome.d.ts.map +0 -1
  418. package/dist/__testutils__/testHome.js +0 -57
  419. package/dist/__testutils__/testHome.js.map +0 -1
  420. package/dist/__testutils__/testProcess.d.ts +0 -46
  421. package/dist/__testutils__/testProcess.d.ts.map +0 -1
  422. package/dist/__testutils__/testProcess.js +0 -85
  423. package/dist/__testutils__/testProcess.js.map +0 -1
  424. package/dist/cdp/protocol.d.ts.map +0 -1
  425. package/dist/cdp/protocol.js.map +0 -1
  426. package/dist/cdp/schema.d.ts.map +0 -1
  427. package/dist/cdp/schema.js.map +0 -1
  428. package/dist/cdp/types.d.ts.map +0 -1
  429. package/dist/cdp/types.js.map +0 -1
  430. package/dist/commands/__tests__/cdp.contract.test.d.ts +0 -24
  431. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  432. package/dist/commands/__tests__/cdp.contract.test.js +0 -466
  433. package/dist/commands/__tests__/cdp.contract.test.js.map +0 -1
  434. package/dist/commands/__tests__/console.contract.test.d.ts +0 -9
  435. package/dist/commands/__tests__/console.contract.test.d.ts.map +0 -1
  436. package/dist/commands/__tests__/console.contract.test.js +0 -118
  437. package/dist/commands/__tests__/console.contract.test.js.map +0 -1
  438. package/dist/commands/__tests__/domEval.contract.test.d.ts +0 -17
  439. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +0 -1
  440. package/dist/commands/__tests__/domEval.contract.test.js +0 -235
  441. package/dist/commands/__tests__/domEval.contract.test.js.map +0 -1
  442. package/dist/commands/__tests__/helpJson.contract.test.d.ts +0 -12
  443. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +0 -1
  444. package/dist/commands/__tests__/helpJson.contract.test.js +0 -121
  445. package/dist/commands/__tests__/helpJson.contract.test.js.map +0 -1
  446. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +0 -12
  447. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +0 -1
  448. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +0 -121
  449. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +0 -1
  450. package/dist/commands/cdp.d.ts.map +0 -1
  451. package/dist/commands/cdp.js.map +0 -1
  452. package/dist/commands/cleanup.d.ts.map +0 -1
  453. package/dist/commands/cleanup.js.map +0 -1
  454. package/dist/commands/console.d.ts.map +0 -1
  455. package/dist/commands/console.js.map +0 -1
  456. package/dist/commands/details.d.ts.map +0 -1
  457. package/dist/commands/details.js.map +0 -1
  458. package/dist/commands/dom/DomElementResolver.d.ts.map +0 -1
  459. package/dist/commands/dom/DomElementResolver.js.map +0 -1
  460. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +0 -2
  461. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +0 -1
  462. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +0 -184
  463. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +0 -1
  464. package/dist/commands/dom/a11y.d.ts.map +0 -1
  465. package/dist/commands/dom/a11y.js.map +0 -1
  466. package/dist/commands/dom/evalHelpers.d.ts +0 -38
  467. package/dist/commands/dom/evalHelpers.d.ts.map +0 -1
  468. package/dist/commands/dom/evalHelpers.js +0 -121
  469. package/dist/commands/dom/evalHelpers.js.map +0 -1
  470. package/dist/commands/dom/form.d.ts.map +0 -1
  471. package/dist/commands/dom/form.js.map +0 -1
  472. package/dist/commands/dom/formDiscovery.d.ts +0 -26
  473. package/dist/commands/dom/formDiscovery.d.ts.map +0 -1
  474. package/dist/commands/dom/formDiscovery.js.map +0 -1
  475. package/dist/commands/dom/formFillHelpers.d.ts +0 -186
  476. package/dist/commands/dom/formFillHelpers.d.ts.map +0 -1
  477. package/dist/commands/dom/formFillHelpers.js +0 -650
  478. package/dist/commands/dom/formFillHelpers.js.map +0 -1
  479. package/dist/commands/dom/formInteraction.d.ts.map +0 -1
  480. package/dist/commands/dom/formInteraction.js.map +0 -1
  481. package/dist/commands/dom/formSubmitHelpers.d.ts +0 -59
  482. package/dist/commands/dom/formSubmitHelpers.d.ts.map +0 -1
  483. package/dist/commands/dom/formSubmitHelpers.js +0 -163
  484. package/dist/commands/dom/formSubmitHelpers.js.map +0 -1
  485. package/dist/commands/dom/formTypes.d.ts +0 -75
  486. package/dist/commands/dom/formTypes.d.ts.map +0 -1
  487. package/dist/commands/dom/formTypes.js.map +0 -1
  488. package/dist/commands/dom/helpers.d.ts +0 -86
  489. package/dist/commands/dom/helpers.d.ts.map +0 -1
  490. package/dist/commands/dom/helpers.js +0 -656
  491. package/dist/commands/dom/helpers.js.map +0 -1
  492. package/dist/commands/dom/index.d.ts.map +0 -1
  493. package/dist/commands/dom/index.js.map +0 -1
  494. package/dist/commands/dom/keyMapping.d.ts +0 -56
  495. package/dist/commands/dom/keyMapping.d.ts.map +0 -1
  496. package/dist/commands/dom/keyMapping.js +0 -110
  497. package/dist/commands/dom/keyMapping.js.map +0 -1
  498. package/dist/commands/dom/reactEventHelpers.d.ts +0 -79
  499. package/dist/commands/dom/reactEventHelpers.d.ts.map +0 -1
  500. package/dist/commands/dom/reactEventHelpers.js +0 -239
  501. package/dist/commands/dom/reactEventHelpers.js.map +0 -1
  502. package/dist/commands/dom/screenshotResize.d.ts.map +0 -1
  503. package/dist/commands/dom/screenshotResize.js.map +0 -1
  504. package/dist/commands/helpJson.d.ts.map +0 -1
  505. package/dist/commands/helpJson.js.map +0 -1
  506. package/dist/commands/machineReadableHelp.d.ts +0 -165
  507. package/dist/commands/machineReadableHelp.d.ts.map +0 -1
  508. package/dist/commands/machineReadableHelp.js +0 -252
  509. package/dist/commands/machineReadableHelp.js.map +0 -1
  510. package/dist/commands/network/har.d.ts.map +0 -1
  511. package/dist/commands/network/har.js.map +0 -1
  512. package/dist/commands/network/index.d.ts.map +0 -1
  513. package/dist/commands/network/index.js.map +0 -1
  514. package/dist/commands/network/list.d.ts.map +0 -1
  515. package/dist/commands/network/list.js.map +0 -1
  516. package/dist/commands/network/shared.d.ts.map +0 -1
  517. package/dist/commands/network/shared.js.map +0 -1
  518. package/dist/commands/network.d.ts +0 -8
  519. package/dist/commands/network.d.ts.map +0 -1
  520. package/dist/commands/network.js +0 -216
  521. package/dist/commands/network.js.map +0 -1
  522. package/dist/commands/optionBehaviors.d.ts.map +0 -1
  523. package/dist/commands/optionBehaviors.js.map +0 -1
  524. package/dist/commands/peek.d.ts.map +0 -1
  525. package/dist/commands/peek.js.map +0 -1
  526. package/dist/commands/shared/CommandRunner.d.ts.map +0 -1
  527. package/dist/commands/shared/CommandRunner.js.map +0 -1
  528. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +0 -7
  529. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +0 -1
  530. package/dist/commands/shared/__tests__/validation.unit.test.js +0 -141
  531. package/dist/commands/shared/__tests__/validation.unit.test.js.map +0 -1
  532. package/dist/commands/shared/commonOptions.d.ts.map +0 -1
  533. package/dist/commands/shared/commonOptions.js.map +0 -1
  534. package/dist/commands/shared/daemonErrorHandler.d.ts.map +0 -1
  535. package/dist/commands/shared/daemonErrorHandler.js.map +0 -1
  536. package/dist/commands/shared/dataFetcher.d.ts.map +0 -1
  537. package/dist/commands/shared/dataFetcher.js.map +0 -1
  538. package/dist/commands/shared/followMode.d.ts.map +0 -1
  539. package/dist/commands/shared/followMode.js.map +0 -1
  540. package/dist/commands/shared/landingPage.d.ts.map +0 -1
  541. package/dist/commands/shared/landingPage.js.map +0 -1
  542. package/dist/commands/shared/optionTypes.d.ts.map +0 -1
  543. package/dist/commands/shared/optionTypes.js.map +0 -1
  544. package/dist/commands/shared/startHelpers.d.ts.map +0 -1
  545. package/dist/commands/shared/startHelpers.js.map +0 -1
  546. package/dist/commands/shared/validation.d.ts.map +0 -1
  547. package/dist/commands/shared/validation.js.map +0 -1
  548. package/dist/commands/start.d.ts.map +0 -1
  549. package/dist/commands/start.js.map +0 -1
  550. package/dist/commands/status.d.ts.map +0 -1
  551. package/dist/commands/status.js.map +0 -1
  552. package/dist/commands/stop.d.ts.map +0 -1
  553. package/dist/commands/stop.js.map +0 -1
  554. package/dist/commands/tail.d.ts.map +0 -1
  555. package/dist/commands/tail.js.map +0 -1
  556. package/dist/commands/types.d.ts.map +0 -1
  557. package/dist/commands/types.js.map +0 -1
  558. package/dist/commands.d.ts.map +0 -1
  559. package/dist/commands.js.map +0 -1
  560. package/dist/connection/__tests__/cdp.contract.test.d.ts +0 -16
  561. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +0 -1
  562. package/dist/connection/__tests__/cdp.contract.test.js +0 -377
  563. package/dist/connection/__tests__/cdp.contract.test.js.map +0 -1
  564. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts +0 -9
  565. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts.map +0 -1
  566. package/dist/connection/__tests__/flagsBuilder.unit.test.js +0 -94
  567. package/dist/connection/__tests__/flagsBuilder.unit.test.js.map +0 -1
  568. package/dist/connection/__tests__/handlers.unit.test.d.ts +0 -11
  569. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +0 -1
  570. package/dist/connection/__tests__/handlers.unit.test.js +0 -220
  571. package/dist/connection/__tests__/handlers.unit.test.js.map +0 -1
  572. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +0 -14
  573. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +0 -1
  574. package/dist/connection/__tests__/pageReadiness.contract.test.js +0 -382
  575. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +0 -1
  576. package/dist/connection/__tests__/portReservation.contract.test.d.ts +0 -14
  577. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +0 -1
  578. package/dist/connection/__tests__/portReservation.contract.test.js +0 -250
  579. package/dist/connection/__tests__/portReservation.contract.test.js.map +0 -1
  580. package/dist/connection/cdp.d.ts.map +0 -1
  581. package/dist/connection/cdp.js.map +0 -1
  582. package/dist/connection/config.d.ts.map +0 -1
  583. package/dist/connection/config.js.map +0 -1
  584. package/dist/connection/diagnostics.d.ts.map +0 -1
  585. package/dist/connection/diagnostics.js.map +0 -1
  586. package/dist/connection/errors.d.ts.map +0 -1
  587. package/dist/connection/errors.js.map +0 -1
  588. package/dist/connection/events.d.ts.map +0 -1
  589. package/dist/connection/events.js.map +0 -1
  590. package/dist/connection/handlers.d.ts.map +0 -1
  591. package/dist/connection/handlers.js.map +0 -1
  592. package/dist/connection/launcher/binaryResolver.d.ts.map +0 -1
  593. package/dist/connection/launcher/binaryResolver.js.map +0 -1
  594. package/dist/connection/launcher/flagsBuilder.d.ts.map +0 -1
  595. package/dist/connection/launcher/flagsBuilder.js.map +0 -1
  596. package/dist/connection/launcher/preferencesLoader.d.ts.map +0 -1
  597. package/dist/connection/launcher/preferencesLoader.js.map +0 -1
  598. package/dist/connection/launcher.d.ts.map +0 -1
  599. package/dist/connection/launcher.js.map +0 -1
  600. package/dist/connection/pageReadiness.d.ts.map +0 -1
  601. package/dist/connection/pageReadiness.js.map +0 -1
  602. package/dist/connection/portReservation.d.ts.map +0 -1
  603. package/dist/connection/portReservation.js.map +0 -1
  604. package/dist/connection/typed-cdp.d.ts.map +0 -1
  605. package/dist/connection/typed-cdp.js.map +0 -1
  606. package/dist/connection/types.d.ts.map +0 -1
  607. package/dist/connection/types.js.map +0 -1
  608. package/dist/constants.d.ts.map +0 -1
  609. package/dist/constants.js.map +0 -1
  610. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +0 -8
  611. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +0 -1
  612. package/dist/daemon/__tests__/JsonlParser.unit.test.js +0 -140
  613. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +0 -1
  614. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +0 -8
  615. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +0 -1
  616. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +0 -276
  617. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +0 -1
  618. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +0 -8
  619. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +0 -1
  620. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +0 -290
  621. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +0 -1
  622. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +0 -8
  623. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +0 -1
  624. package/dist/daemon/__tests__/commandRegistry.contract.test.js +0 -647
  625. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +0 -1
  626. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +0 -19
  627. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +0 -1
  628. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +0 -212
  629. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +0 -1
  630. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +0 -23
  631. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +0 -1
  632. package/dist/daemon/__tests__/ipcServer.contract.test.js +0 -416
  633. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +0 -1
  634. package/dist/daemon/__tests__/launcher.unit.test.d.ts +0 -8
  635. package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +0 -1
  636. package/dist/daemon/__tests__/launcher.unit.test.js +0 -20
  637. package/dist/daemon/__tests__/launcher.unit.test.js.map +0 -1
  638. package/dist/daemon/errors.d.ts.map +0 -1
  639. package/dist/daemon/errors.js.map +0 -1
  640. package/dist/daemon/handlers/BaseHandler.d.ts +0 -75
  641. package/dist/daemon/handlers/BaseHandler.d.ts.map +0 -1
  642. package/dist/daemon/handlers/BaseHandler.js +0 -103
  643. package/dist/daemon/handlers/BaseHandler.js.map +0 -1
  644. package/dist/daemon/handlers/CommandHandlers.d.ts +0 -36
  645. package/dist/daemon/handlers/CommandHandlers.d.ts.map +0 -1
  646. package/dist/daemon/handlers/CommandHandlers.js +0 -60
  647. package/dist/daemon/handlers/CommandHandlers.js.map +0 -1
  648. package/dist/daemon/handlers/QueryHandlers.d.ts +0 -37
  649. package/dist/daemon/handlers/QueryHandlers.d.ts.map +0 -1
  650. package/dist/daemon/handlers/QueryHandlers.js +0 -126
  651. package/dist/daemon/handlers/QueryHandlers.js.map +0 -1
  652. package/dist/daemon/handlers/SessionHandlers.d.ts +0 -32
  653. package/dist/daemon/handlers/SessionHandlers.d.ts.map +0 -1
  654. package/dist/daemon/handlers/SessionHandlers.js +0 -213
  655. package/dist/daemon/handlers/SessionHandlers.js.map +0 -1
  656. package/dist/daemon/handlers/pendingRequests.d.ts +0 -50
  657. package/dist/daemon/handlers/pendingRequests.d.ts.map +0 -1
  658. package/dist/daemon/handlers/pendingRequests.js +0 -57
  659. package/dist/daemon/handlers/pendingRequests.js.map +0 -1
  660. package/dist/daemon/handlers/requestHandlers.d.ts +0 -55
  661. package/dist/daemon/handlers/requestHandlers.d.ts.map +0 -1
  662. package/dist/daemon/handlers/requestHandlers.js +0 -66
  663. package/dist/daemon/handlers/requestHandlers.js.map +0 -1
  664. package/dist/daemon/handlers/responseHandler.d.ts +0 -42
  665. package/dist/daemon/handlers/responseHandler.d.ts.map +0 -1
  666. package/dist/daemon/handlers/responseHandler.js +0 -217
  667. package/dist/daemon/handlers/responseHandler.js.map +0 -1
  668. package/dist/daemon/ipcServer.d.ts.map +0 -1
  669. package/dist/daemon/ipcServer.js.map +0 -1
  670. package/dist/daemon/launcher.d.ts.map +0 -1
  671. package/dist/daemon/launcher.js.map +0 -1
  672. package/dist/daemon/lifecycle/cdpSetup.d.ts +0 -24
  673. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +0 -1
  674. package/dist/daemon/lifecycle/cdpSetup.js +0 -55
  675. package/dist/daemon/lifecycle/cdpSetup.js.map +0 -1
  676. package/dist/daemon/lifecycle/chromeConnection.d.ts +0 -17
  677. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +0 -1
  678. package/dist/daemon/lifecycle/chromeConnection.js +0 -79
  679. package/dist/daemon/lifecycle/chromeConnection.js.map +0 -1
  680. package/dist/daemon/lifecycle/signalHandlers.d.ts +0 -14
  681. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +0 -1
  682. package/dist/daemon/lifecycle/signalHandlers.js +0 -48
  683. package/dist/daemon/lifecycle/signalHandlers.js.map +0 -1
  684. package/dist/daemon/lifecycle/workerCleanup.d.ts +0 -27
  685. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +0 -1
  686. package/dist/daemon/lifecycle/workerCleanup.js +0 -143
  687. package/dist/daemon/lifecycle/workerCleanup.js.map +0 -1
  688. package/dist/daemon/lifecycle/workerConfig.d.ts +0 -14
  689. package/dist/daemon/lifecycle/workerConfig.d.ts.map +0 -1
  690. package/dist/daemon/lifecycle/workerConfig.js +0 -69
  691. package/dist/daemon/lifecycle/workerConfig.js.map +0 -1
  692. package/dist/daemon/lifecycle/workerIpc.d.ts +0 -14
  693. package/dist/daemon/lifecycle/workerIpc.d.ts.map +0 -1
  694. package/dist/daemon/lifecycle/workerIpc.js +0 -86
  695. package/dist/daemon/lifecycle/workerIpc.js.map +0 -1
  696. package/dist/daemon/patternDefinitions.d.ts.map +0 -1
  697. package/dist/daemon/patternDefinitions.js.map +0 -1
  698. package/dist/daemon/patternDetector.d.ts.map +0 -1
  699. package/dist/daemon/patternDetector.js.map +0 -1
  700. package/dist/daemon/server/JsonlParser.d.ts +0 -31
  701. package/dist/daemon/server/JsonlParser.d.ts.map +0 -1
  702. package/dist/daemon/server/JsonlParser.js +0 -55
  703. package/dist/daemon/server/JsonlParser.js.map +0 -1
  704. package/dist/daemon/server/SocketServer.d.ts.map +0 -1
  705. package/dist/daemon/server/SocketServer.js.map +0 -1
  706. package/dist/daemon/server/WorkerManager.d.ts +0 -36
  707. package/dist/daemon/server/WorkerManager.d.ts.map +0 -1
  708. package/dist/daemon/server/WorkerManager.js +0 -89
  709. package/dist/daemon/server/WorkerManager.js.map +0 -1
  710. package/dist/daemon/services/SessionService.d.ts +0 -87
  711. package/dist/daemon/services/SessionService.d.ts.map +0 -1
  712. package/dist/daemon/services/SessionService.js +0 -45
  713. package/dist/daemon/services/SessionService.js.map +0 -1
  714. package/dist/daemon/startSession.d.ts +0 -55
  715. package/dist/daemon/startSession.d.ts.map +0 -1
  716. package/dist/daemon/startSession.js +0 -168
  717. package/dist/daemon/startSession.js.map +0 -1
  718. package/dist/daemon/worker/TelemetryStore.d.ts +0 -19
  719. package/dist/daemon/worker/TelemetryStore.d.ts.map +0 -1
  720. package/dist/daemon/worker/TelemetryStore.js +0 -53
  721. package/dist/daemon/worker/TelemetryStore.js.map +0 -1
  722. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +0 -11
  723. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +0 -1
  724. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +0 -136
  725. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +0 -1
  726. package/dist/daemon/worker/collectors.d.ts.map +0 -1
  727. package/dist/daemon/worker/collectors.js.map +0 -1
  728. package/dist/daemon/worker/commandRegistry.d.ts.map +0 -1
  729. package/dist/daemon/worker/commandRegistry.js +0 -236
  730. package/dist/daemon/worker/commandRegistry.js.map +0 -1
  731. package/dist/daemon/worker/plugins.d.ts.map +0 -1
  732. package/dist/daemon/worker/plugins.js +0 -75
  733. package/dist/daemon/worker/plugins.js.map +0 -1
  734. package/dist/daemon/worker/types.d.ts.map +0 -1
  735. package/dist/daemon/worker/types.js.map +0 -1
  736. package/dist/daemon/worker.d.ts +0 -9
  737. package/dist/daemon/worker.d.ts.map +0 -1
  738. package/dist/daemon/worker.js +0 -98
  739. package/dist/daemon/worker.js.map +0 -1
  740. package/dist/daemon/workerIpc.d.ts +0 -33
  741. package/dist/daemon/workerIpc.d.ts.map +0 -1
  742. package/dist/daemon/workerIpc.js +0 -8
  743. package/dist/daemon/workerIpc.js.map +0 -1
  744. package/dist/daemon.d.ts.map +0 -1
  745. package/dist/daemon.js.map +0 -1
  746. package/dist/index.d.ts.map +0 -1
  747. package/dist/index.js.map +0 -1
  748. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -8
  749. package/dist/ipc/__tests__/client.contract.test.d.ts.map +0 -1
  750. package/dist/ipc/__tests__/client.contract.test.js +0 -693
  751. package/dist/ipc/__tests__/client.contract.test.js.map +0 -1
  752. package/dist/ipc/__tests__/errors.unit.test.d.ts +0 -7
  753. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +0 -1
  754. package/dist/ipc/__tests__/errors.unit.test.js +0 -77
  755. package/dist/ipc/__tests__/errors.unit.test.js.map +0 -1
  756. package/dist/ipc/__tests__/guards.unit.test.d.ts +0 -7
  757. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +0 -1
  758. package/dist/ipc/__tests__/guards.unit.test.js +0 -73
  759. package/dist/ipc/__tests__/guards.unit.test.js.map +0 -1
  760. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +0 -7
  761. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +0 -1
  762. package/dist/ipc/__tests__/jsonl.unit.test.js +0 -103
  763. package/dist/ipc/__tests__/jsonl.unit.test.js.map +0 -1
  764. package/dist/ipc/__tests__/validation.unit.test.d.ts +0 -7
  765. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +0 -1
  766. package/dist/ipc/__tests__/validation.unit.test.js +0 -60
  767. package/dist/ipc/__tests__/validation.unit.test.js.map +0 -1
  768. package/dist/ipc/client.d.ts.map +0 -1
  769. package/dist/ipc/client.js.map +0 -1
  770. package/dist/ipc/index.d.ts.map +0 -1
  771. package/dist/ipc/index.js.map +0 -1
  772. package/dist/ipc/protocol/commands.d.ts.map +0 -1
  773. package/dist/ipc/protocol/commands.js.map +0 -1
  774. package/dist/ipc/protocol/guards.d.ts.map +0 -1
  775. package/dist/ipc/protocol/guards.js.map +0 -1
  776. package/dist/ipc/protocol/index.d.ts.map +0 -1
  777. package/dist/ipc/protocol/index.js.map +0 -1
  778. package/dist/ipc/protocol/messages.d.ts.map +0 -1
  779. package/dist/ipc/protocol/messages.js.map +0 -1
  780. package/dist/ipc/session/errors.d.ts.map +0 -1
  781. package/dist/ipc/session/errors.js.map +0 -1
  782. package/dist/ipc/session/index.d.ts.map +0 -1
  783. package/dist/ipc/session/index.js.map +0 -1
  784. package/dist/ipc/session/lifecycle.d.ts.map +0 -1
  785. package/dist/ipc/session/lifecycle.js.map +0 -1
  786. package/dist/ipc/session/queries.d.ts.map +0 -1
  787. package/dist/ipc/session/queries.js.map +0 -1
  788. package/dist/ipc/session/types.d.ts.map +0 -1
  789. package/dist/ipc/session/types.js.map +0 -1
  790. package/dist/ipc/transport/IPCError.d.ts.map +0 -1
  791. package/dist/ipc/transport/IPCError.js.map +0 -1
  792. package/dist/ipc/transport/errors.d.ts.map +0 -1
  793. package/dist/ipc/transport/errors.js.map +0 -1
  794. package/dist/ipc/transport/index.d.ts.map +0 -1
  795. package/dist/ipc/transport/index.js.map +0 -1
  796. package/dist/ipc/transport/jsonl.d.ts.map +0 -1
  797. package/dist/ipc/transport/jsonl.js.map +0 -1
  798. package/dist/ipc/transport/socket.d.ts.map +0 -1
  799. package/dist/ipc/transport/socket.js.map +0 -1
  800. package/dist/ipc/transport/validation.d.ts.map +0 -1
  801. package/dist/ipc/transport/validation.js.map +0 -1
  802. package/dist/ipc/utils/errors.d.ts.map +0 -1
  803. package/dist/ipc/utils/errors.js.map +0 -1
  804. package/dist/ipc/utils/index.d.ts.map +0 -1
  805. package/dist/ipc/utils/index.js.map +0 -1
  806. package/dist/ipc/utils/requestId.d.ts +0 -23
  807. package/dist/ipc/utils/requestId.d.ts.map +0 -1
  808. package/dist/ipc/utils/requestId.js +0 -27
  809. package/dist/ipc/utils/requestId.js.map +0 -1
  810. package/dist/ipc/utils/responseValidator.d.ts.map +0 -1
  811. package/dist/ipc/utils/responseValidator.js.map +0 -1
  812. package/dist/ipc/utils/session.d.ts.map +0 -1
  813. package/dist/ipc/utils/session.js.map +0 -1
  814. package/dist/ipc/utils/types.d.ts.map +0 -1
  815. package/dist/ipc/utils/types.js.map +0 -1
  816. package/dist/session/QueryCacheManager.d.ts.map +0 -1
  817. package/dist/session/QueryCacheManager.js.map +0 -1
  818. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +0 -7
  819. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +0 -1
  820. package/dist/session/__tests__/chrome-cache.contract.test.js +0 -77
  821. package/dist/session/__tests__/chrome-cache.contract.test.js.map +0 -1
  822. package/dist/session/__tests__/cleanup.contract.test.d.ts +0 -7
  823. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +0 -1
  824. package/dist/session/__tests__/cleanup.contract.test.js +0 -84
  825. package/dist/session/__tests__/cleanup.contract.test.js.map +0 -1
  826. package/dist/session/__tests__/lock.contract.test.d.ts +0 -7
  827. package/dist/session/__tests__/lock.contract.test.d.ts.map +0 -1
  828. package/dist/session/__tests__/lock.contract.test.js +0 -77
  829. package/dist/session/__tests__/lock.contract.test.js.map +0 -1
  830. package/dist/session/__tests__/metadata.contract.test.d.ts +0 -7
  831. package/dist/session/__tests__/metadata.contract.test.d.ts.map +0 -1
  832. package/dist/session/__tests__/metadata.contract.test.js +0 -87
  833. package/dist/session/__tests__/metadata.contract.test.js.map +0 -1
  834. package/dist/session/chrome.d.ts.map +0 -1
  835. package/dist/session/chrome.js.map +0 -1
  836. package/dist/session/cleanup.d.ts +0 -141
  837. package/dist/session/cleanup.d.ts.map +0 -1
  838. package/dist/session/cleanup.js +0 -514
  839. package/dist/session/cleanup.js.map +0 -1
  840. package/dist/session/lock.d.ts +0 -57
  841. package/dist/session/lock.d.ts.map +0 -1
  842. package/dist/session/lock.js +0 -165
  843. package/dist/session/lock.js.map +0 -1
  844. package/dist/session/metadata.d.ts.map +0 -1
  845. package/dist/session/metadata.js.map +0 -1
  846. package/dist/session/output.d.ts +0 -18
  847. package/dist/session/output.d.ts.map +0 -1
  848. package/dist/session/output.js +0 -24
  849. package/dist/session/output.js.map +0 -1
  850. package/dist/session/paths.d.ts.map +0 -1
  851. package/dist/session/paths.js.map +0 -1
  852. package/dist/session/pid.d.ts.map +0 -1
  853. package/dist/session/pid.js.map +0 -1
  854. package/dist/session/port.d.ts.map +0 -1
  855. package/dist/session/port.js.map +0 -1
  856. package/dist/session/process.d.ts +0 -8
  857. package/dist/session/process.d.ts.map +0 -1
  858. package/dist/session/process.js +0 -8
  859. package/dist/session/process.js.map +0 -1
  860. package/dist/session/queryCache.d.ts +0 -46
  861. package/dist/session/queryCache.d.ts.map +0 -1
  862. package/dist/session/queryCache.js +0 -54
  863. package/dist/session/queryCache.js.map +0 -1
  864. package/dist/session/statusData.d.ts.map +0 -1
  865. package/dist/session/statusData.js.map +0 -1
  866. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +0 -10
  867. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +0 -1
  868. package/dist/telemetry/__tests__/a11y.unit.test.js +0 -265
  869. package/dist/telemetry/__tests__/a11y.unit.test.js.map +0 -1
  870. package/dist/telemetry/__tests__/filters.unit.test.d.ts +0 -2
  871. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +0 -1
  872. package/dist/telemetry/__tests__/filters.unit.test.js +0 -357
  873. package/dist/telemetry/__tests__/filters.unit.test.js.map +0 -1
  874. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +0 -8
  875. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +0 -1
  876. package/dist/telemetry/__tests__/navigation.contract.test.js +0 -211
  877. package/dist/telemetry/__tests__/navigation.contract.test.js.map +0 -1
  878. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -8
  879. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +0 -1
  880. package/dist/telemetry/__tests__/network.contract.test.js +0 -623
  881. package/dist/telemetry/__tests__/network.contract.test.js.map +0 -1
  882. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +0 -2
  883. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +0 -1
  884. package/dist/telemetry/__tests__/remoteObject.unit.test.js +0 -261
  885. package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +0 -1
  886. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +0 -9
  887. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +0 -1
  888. package/dist/telemetry/__tests__/roleInference.unit.test.js +0 -138
  889. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +0 -1
  890. package/dist/telemetry/__tests__/utils.unit.test.d.ts +0 -7
  891. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +0 -1
  892. package/dist/telemetry/__tests__/utils.unit.test.js +0 -91
  893. package/dist/telemetry/__tests__/utils.unit.test.js.map +0 -1
  894. package/dist/telemetry/a11y.d.ts.map +0 -1
  895. package/dist/telemetry/a11y.js.map +0 -1
  896. package/dist/telemetry/console.d.ts.map +0 -1
  897. package/dist/telemetry/console.js.map +0 -1
  898. package/dist/telemetry/dialogs.d.ts.map +0 -1
  899. package/dist/telemetry/dialogs.js.map +0 -1
  900. package/dist/telemetry/dom.d.ts.map +0 -1
  901. package/dist/telemetry/dom.js.map +0 -1
  902. package/dist/telemetry/filterDsl.d.ts.map +0 -1
  903. package/dist/telemetry/filterDsl.js.map +0 -1
  904. package/dist/telemetry/filterPresets.d.ts.map +0 -1
  905. package/dist/telemetry/filterPresets.js.map +0 -1
  906. package/dist/telemetry/filters.d.ts.map +0 -1
  907. package/dist/telemetry/filters.js.map +0 -1
  908. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +0 -8
  909. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +0 -1
  910. package/dist/telemetry/har/__tests__/builder.unit.test.js +0 -694
  911. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +0 -1
  912. package/dist/telemetry/har/builder.d.ts.map +0 -1
  913. package/dist/telemetry/har/builder.js.map +0 -1
  914. package/dist/telemetry/har/types.d.ts.map +0 -1
  915. package/dist/telemetry/har/types.js.map +0 -1
  916. package/dist/telemetry/navigation.d.ts.map +0 -1
  917. package/dist/telemetry/navigation.js.map +0 -1
  918. package/dist/telemetry/network.d.ts.map +0 -1
  919. package/dist/telemetry/network.js.map +0 -1
  920. package/dist/telemetry/objectExpander.d.ts.map +0 -1
  921. package/dist/telemetry/objectExpander.js.map +0 -1
  922. package/dist/telemetry/remoteObject.d.ts.map +0 -1
  923. package/dist/telemetry/remoteObject.js.map +0 -1
  924. package/dist/telemetry/remoteObjectUtils.d.ts.map +0 -1
  925. package/dist/telemetry/remoteObjectUtils.js.map +0 -1
  926. package/dist/telemetry/roleInference.d.ts.map +0 -1
  927. package/dist/telemetry/roleInference.js.map +0 -1
  928. package/dist/telemetry/utils.d.ts.map +0 -1
  929. package/dist/telemetry/utils.js.map +0 -1
  930. package/dist/types/dom.d.ts +0 -77
  931. package/dist/types/dom.d.ts.map +0 -1
  932. package/dist/types/dom.js +0 -8
  933. package/dist/types/dom.js.map +0 -1
  934. package/dist/types.d.ts.map +0 -1
  935. package/dist/types.js.map +0 -1
  936. package/dist/ui/OutputBuilder.d.ts.map +0 -1
  937. package/dist/ui/OutputBuilder.js.map +0 -1
  938. package/dist/ui/errors/CommandError.d.ts.map +0 -1
  939. package/dist/ui/errors/CommandError.js.map +0 -1
  940. package/dist/ui/errors/index.d.ts.map +0 -1
  941. package/dist/ui/errors/index.js.map +0 -1
  942. package/dist/ui/errors/utils.d.ts.map +0 -1
  943. package/dist/ui/errors/utils.js.map +0 -1
  944. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +0 -13
  945. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +0 -1
  946. package/dist/ui/formatters/__tests__/preview.unit.test.js +0 -180
  947. package/dist/ui/formatters/__tests__/preview.unit.test.js.map +0 -1
  948. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +0 -2
  949. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +0 -1
  950. package/dist/ui/formatters/__tests__/semantic.unit.test.js +0 -111
  951. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +0 -1
  952. package/dist/ui/formatters/a11y.d.ts.map +0 -1
  953. package/dist/ui/formatters/a11y.js.map +0 -1
  954. package/dist/ui/formatters/console.d.ts.map +0 -1
  955. package/dist/ui/formatters/console.js.map +0 -1
  956. package/dist/ui/formatters/cookies.d.ts.map +0 -1
  957. package/dist/ui/formatters/cookies.js.map +0 -1
  958. package/dist/ui/formatters/details.d.ts.map +0 -1
  959. package/dist/ui/formatters/details.js.map +0 -1
  960. package/dist/ui/formatters/dom.d.ts.map +0 -1
  961. package/dist/ui/formatters/dom.js.map +0 -1
  962. package/dist/ui/formatters/form.d.ts.map +0 -1
  963. package/dist/ui/formatters/form.js.map +0 -1
  964. package/dist/ui/formatters/helpFormatters.d.ts.map +0 -1
  965. package/dist/ui/formatters/helpFormatters.js.map +0 -1
  966. package/dist/ui/formatters/index.d.ts.map +0 -1
  967. package/dist/ui/formatters/index.js.map +0 -1
  968. package/dist/ui/formatters/networkHeaders.d.ts.map +0 -1
  969. package/dist/ui/formatters/networkHeaders.js.map +0 -1
  970. package/dist/ui/formatters/networkList.d.ts.map +0 -1
  971. package/dist/ui/formatters/networkList.js.map +0 -1
  972. package/dist/ui/formatters/preview.d.ts.map +0 -1
  973. package/dist/ui/formatters/preview.js.map +0 -1
  974. package/dist/ui/formatters/semantic.d.ts.map +0 -1
  975. package/dist/ui/formatters/semantic.js.map +0 -1
  976. package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
  977. package/dist/ui/formatters/sessionFormatters.js.map +0 -1
  978. package/dist/ui/formatters/status.d.ts.map +0 -1
  979. package/dist/ui/formatters/status.js.map +0 -1
  980. package/dist/ui/formatting.d.ts.map +0 -1
  981. package/dist/ui/formatting.js.map +0 -1
  982. package/dist/ui/logging/index.d.ts.map +0 -1
  983. package/dist/ui/logging/index.js.map +0 -1
  984. package/dist/ui/logging/logger.d.ts.map +0 -1
  985. package/dist/ui/logging/logger.js.map +0 -1
  986. package/dist/ui/messages/chrome.d.ts.map +0 -1
  987. package/dist/ui/messages/chrome.js.map +0 -1
  988. package/dist/ui/messages/commands.d.ts.map +0 -1
  989. package/dist/ui/messages/commands.js.map +0 -1
  990. package/dist/ui/messages/consoleMessages.d.ts.map +0 -1
  991. package/dist/ui/messages/consoleMessages.js.map +0 -1
  992. package/dist/ui/messages/debug.d.ts +0 -168
  993. package/dist/ui/messages/debug.d.ts.map +0 -1
  994. package/dist/ui/messages/debug.js +0 -219
  995. package/dist/ui/messages/debug.js.map +0 -1
  996. package/dist/ui/messages/dom.d.ts +0 -14
  997. package/dist/ui/messages/dom.d.ts.map +0 -1
  998. package/dist/ui/messages/dom.js +0 -28
  999. package/dist/ui/messages/dom.js.map +0 -1
  1000. package/dist/ui/messages/errors.d.ts +0 -233
  1001. package/dist/ui/messages/errors.d.ts.map +0 -1
  1002. package/dist/ui/messages/errors.js +0 -395
  1003. package/dist/ui/messages/errors.js.map +0 -1
  1004. package/dist/ui/messages/hints.d.ts.map +0 -1
  1005. package/dist/ui/messages/hints.js.map +0 -1
  1006. package/dist/ui/messages/internal.d.ts +0 -23
  1007. package/dist/ui/messages/internal.d.ts.map +0 -1
  1008. package/dist/ui/messages/internal.js +0 -27
  1009. package/dist/ui/messages/internal.js.map +0 -1
  1010. package/dist/ui/messages/networkMessages.d.ts.map +0 -1
  1011. package/dist/ui/messages/networkMessages.js.map +0 -1
  1012. package/dist/ui/messages/preview.d.ts.map +0 -1
  1013. package/dist/ui/messages/preview.js.map +0 -1
  1014. package/dist/ui/messages/session.d.ts.map +0 -1
  1015. package/dist/ui/messages/session.js.map +0 -1
  1016. package/dist/ui/messages/validation.d.ts.map +0 -1
  1017. package/dist/ui/messages/validation.js.map +0 -1
  1018. package/dist/utils/__tests__/atomicFile.test.d.ts +0 -2
  1019. package/dist/utils/__tests__/atomicFile.test.d.ts.map +0 -1
  1020. package/dist/utils/__tests__/atomicFile.test.js +0 -43
  1021. package/dist/utils/__tests__/atomicFile.test.js.map +0 -1
  1022. package/dist/utils/__tests__/errors.unit.test.d.ts +0 -12
  1023. package/dist/utils/__tests__/errors.unit.test.d.ts.map +0 -1
  1024. package/dist/utils/__tests__/errors.unit.test.js +0 -255
  1025. package/dist/utils/__tests__/errors.unit.test.js.map +0 -1
  1026. package/dist/utils/__tests__/http.unit.test.d.ts +0 -12
  1027. package/dist/utils/__tests__/http.unit.test.d.ts.map +0 -1
  1028. package/dist/utils/__tests__/http.unit.test.js +0 -218
  1029. package/dist/utils/__tests__/http.unit.test.js.map +0 -1
  1030. package/dist/utils/__tests__/objects.test.d.ts +0 -2
  1031. package/dist/utils/__tests__/objects.test.d.ts.map +0 -1
  1032. package/dist/utils/__tests__/objects.test.js +0 -50
  1033. package/dist/utils/__tests__/objects.test.js.map +0 -1
  1034. package/dist/utils/__tests__/process.unit.test.d.ts +0 -14
  1035. package/dist/utils/__tests__/process.unit.test.d.ts.map +0 -1
  1036. package/dist/utils/__tests__/process.unit.test.js +0 -124
  1037. package/dist/utils/__tests__/process.unit.test.js.map +0 -1
  1038. package/dist/utils/__tests__/session.contract.test.d.ts +0 -2
  1039. package/dist/utils/__tests__/session.contract.test.d.ts.map +0 -1
  1040. package/dist/utils/__tests__/session.contract.test.js +0 -258
  1041. package/dist/utils/__tests__/session.contract.test.js.map +0 -1
  1042. package/dist/utils/__tests__/shellDetection.unit.test.d.ts +0 -12
  1043. package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +0 -1
  1044. package/dist/utils/__tests__/shellDetection.unit.test.js +0 -220
  1045. package/dist/utils/__tests__/shellDetection.unit.test.js.map +0 -1
  1046. package/dist/utils/__tests__/url.test.d.ts +0 -2
  1047. package/dist/utils/__tests__/url.test.d.ts.map +0 -1
  1048. package/dist/utils/__tests__/url.test.js +0 -42
  1049. package/dist/utils/__tests__/url.test.js.map +0 -1
  1050. package/dist/utils/async.d.ts.map +0 -1
  1051. package/dist/utils/async.js.map +0 -1
  1052. package/dist/utils/atomicFile.d.ts.map +0 -1
  1053. package/dist/utils/atomicFile.js.map +0 -1
  1054. package/dist/utils/concurrency.d.ts.map +0 -1
  1055. package/dist/utils/concurrency.js.map +0 -1
  1056. package/dist/utils/daemonErrors.d.ts +0 -60
  1057. package/dist/utils/daemonErrors.d.ts.map +0 -1
  1058. package/dist/utils/daemonErrors.js +0 -58
  1059. package/dist/utils/daemonErrors.js.map +0 -1
  1060. package/dist/utils/decisionTrees.d.ts.map +0 -1
  1061. package/dist/utils/decisionTrees.js.map +0 -1
  1062. package/dist/utils/errorMapping.d.ts.map +0 -1
  1063. package/dist/utils/errorMapping.js.map +0 -1
  1064. package/dist/utils/errors.d.ts.map +0 -1
  1065. package/dist/utils/errors.js.map +0 -1
  1066. package/dist/utils/exitCodes.d.ts.map +0 -1
  1067. package/dist/utils/exitCodes.js.map +0 -1
  1068. package/dist/utils/file.d.ts.map +0 -1
  1069. package/dist/utils/file.js.map +0 -1
  1070. package/dist/utils/http.d.ts.map +0 -1
  1071. package/dist/utils/http.js.map +0 -1
  1072. package/dist/utils/levenshtein.d.ts.map +0 -1
  1073. package/dist/utils/levenshtein.js.map +0 -1
  1074. package/dist/utils/objects.d.ts.map +0 -1
  1075. package/dist/utils/objects.js.map +0 -1
  1076. package/dist/utils/process.d.ts.map +0 -1
  1077. package/dist/utils/process.js.map +0 -1
  1078. package/dist/utils/shellDetection.d.ts.map +0 -1
  1079. package/dist/utils/shellDetection.js.map +0 -1
  1080. package/dist/utils/strings.d.ts.map +0 -1
  1081. package/dist/utils/strings.js.map +0 -1
  1082. package/dist/utils/suggestions.d.ts.map +0 -1
  1083. package/dist/utils/suggestions.js.map +0 -1
  1084. package/dist/utils/taskMappings.d.ts.map +0 -1
  1085. package/dist/utils/taskMappings.js.map +0 -1
  1086. package/dist/utils/typeGuards.d.ts.map +0 -1
  1087. package/dist/utils/typeGuards.js.map +0 -1
  1088. package/dist/utils/url.d.ts.map +0 -1
  1089. package/dist/utils/url.js.map +0 -1
  1090. package/dist/utils/validation.d.ts.map +0 -1
  1091. package/dist/utils/validation.js.map +0 -1
  1092. package/dist/utils/version.d.ts.map +0 -1
  1093. package/dist/utils/version.js.map +0 -1
  1094. /package/dist/daemon/{worker → session}/commandRegistry.d.ts +0 -0
  1095. /package/dist/daemon/{worker → session}/types.js +0 -0
  1096. /package/dist/{ui/errors → errors}/CommandError.d.ts +0 -0
  1097. /package/dist/{ui/errors → errors}/index.js +0 -0
  1098. /package/dist/{ui/errors → errors}/utils.d.ts +0 -0
  1099. /package/dist/{commands → runtime}/dom/formTypes.js +0 -0
@@ -1,9 +1,12 @@
1
1
  import { CDPHandlerRegistry } from '../connection/handlers.js';
2
2
  import { TypedCDPConnection } from '../connection/typed-cdp.js';
3
- import { MAX_NETWORK_REQUESTS, STALE_REQUEST_TIMEOUT, STALE_REQUEST_CLEANUP_INTERVAL, MAX_RESPONSE_SIZE, CHROME_NETWORK_BUFFER_TOTAL, CHROME_NETWORK_BUFFER_PER_RESOURCE, CHROME_POST_DATA_LIMIT, } from '../constants.js';
3
+ import { MAX_NETWORK_REQUESTS, MAX_RESPONSE_SIZE, CHROME_NETWORK_BUFFER_TOTAL, CHROME_NETWORK_BUFFER_PER_RESOURCE, CHROME_POST_DATA_LIMIT, } from '../constants.js';
4
+ import { attachChildTargets } from './attachedTargets.js';
4
5
  import { createLogger } from '../ui/logging/index.js';
5
6
  import { getErrorMessage } from '../utils/errors.js';
7
+ import { filterDefined } from '../utils/objects.js';
6
8
  import { shouldExcludeDomain, shouldExcludeUrl, shouldFetchBodyWithReason } from './filters.js';
9
+ import { ExtraInfoTracker } from './networkExtraInfo.js';
7
10
  const log = createLogger('network');
8
11
  /**
9
12
  * Check if a request should be filtered out based on domain and URL patterns.
@@ -25,17 +28,19 @@ function shouldFilterRequest(url, includeAll, networkInclude, networkExclude) {
25
28
  * @param request - Network request object to populate with body
26
29
  * @param pendingFetches - Set to track pending fetch operations for cleanup
27
30
  */
28
- function fetchResponseBody(cdp, requestId, request, pendingFetches) {
31
+ function fetchResponseBody(cdp, requestId, request, pendingFetches, sessionId) {
29
32
  pendingFetches.add(requestId);
30
33
  void cdp
31
- .send('Network.getResponseBody', { requestId })
34
+ .send('Network.getResponseBody', { requestId }, sessionId)
32
35
  .then((response) => {
33
36
  if (!pendingFetches.has(requestId))
34
37
  return;
35
38
  const typedResponse = response;
36
39
  request.responseBody = typedResponse.body;
40
+ if (typedResponse.base64Encoded)
41
+ request.responseBodyBase64 = true;
37
42
  if (typedResponse.body) {
38
- request.decodedBodyLength = typedResponse.body.length;
43
+ request.decodedBodyLength = Buffer.byteLength(typedResponse.body, typedResponse.base64Encoded ? 'base64' : 'utf-8');
39
44
  }
40
45
  })
41
46
  .catch((error) => {
@@ -45,6 +50,22 @@ function fetchResponseBody(cdp, requestId, request, pendingFetches) {
45
50
  pendingFetches.delete(requestId);
46
51
  });
47
52
  }
53
+ /**
54
+ * How long a request took. Chrome's own timestamps are used when both ends
55
+ * have one: measuring when bdg received the events added the event delivery
56
+ * delay (about 50 ms) to fast requests.
57
+ *
58
+ * @param request - The request (its `sentTime` is Chrome's start time)
59
+ * @param endTime - Chrome's monotonic time of the end (seconds)
60
+ * @param endedAt - Wall-clock end (epoch ms) when Chrome reported none
61
+ * @returns Duration in milliseconds
62
+ */
63
+ function elapsedMs(request, endTime, endedAt = Date.now()) {
64
+ if (request.sentTime !== undefined && endTime !== undefined) {
65
+ return Math.max(0, Math.round((endTime - request.sentTime) * 1000));
66
+ }
67
+ return Math.max(0, endedAt - request.timestamp);
68
+ }
48
69
  /**
49
70
  * Create a network request from CDP event parameters.
50
71
  */
@@ -55,34 +76,185 @@ function createNetworkRequest(params, getCurrentNavigationId) {
55
76
  url: params.request.url,
56
77
  method: params.request.method,
57
78
  timestamp: Date.now(),
79
+ sentTime: params.timestamp,
58
80
  requestHeaders: params.request.headers,
59
81
  ...(params.request.postData !== undefined && { requestBody: params.request.postData }),
60
82
  ...(navigationId !== undefined && { navigationId }),
61
83
  ...(params.type !== undefined && { resourceType: params.type }),
62
84
  };
63
85
  }
86
+ const SKIPPED_BODY_PATTERN = /^\[SKIPPED: (.*)\]$/s;
64
87
  /**
65
- * Clean up stale requests from the request map.
88
+ * Placeholder stored instead of a response body that was not fetched.
66
89
  *
67
- * Leverages Map insertion order to iterate from oldest entries first,
68
- * exiting early once a non-stale request is found (O(k) where k = stale count).
90
+ * @param reason - Why the body was skipped
91
+ * @returns Placeholder text shown by `bdg details`
69
92
  */
70
- function cleanupStaleRequests(requestMap) {
71
- const now = Date.now();
72
- const staleRequests = [];
73
- for (const [requestId, value] of requestMap) {
74
- if (now - value.timestamp > STALE_REQUEST_TIMEOUT) {
75
- staleRequests.push(requestId);
76
- }
77
- else {
78
- break;
79
- }
93
+ export function skippedBodyPlaceholder(reason) {
94
+ return `[SKIPPED: ${reason}]`;
95
+ }
96
+ /**
97
+ * Extract the reason from a skipped-body placeholder.
98
+ *
99
+ * @param body - Stored response body
100
+ * @returns Reason if `body` is a placeholder, otherwise undefined
101
+ */
102
+ export function skippedBodyReason(body) {
103
+ return body === undefined ? undefined : SKIPPED_BODY_PATTERN.exec(body)?.[1];
104
+ }
105
+ /**
106
+ * Copy response fields (status, headers, timing, connection) onto a request.
107
+ *
108
+ * @param request - Request to update
109
+ * @param response - CDP response
110
+ * @param resourceType - Resource type reported with the response
111
+ */
112
+ function applyResponse(request, response, resourceType) {
113
+ const { status, mimeType, headers, timing, remoteIPAddress, connectionId } = response;
114
+ request.status = status;
115
+ if (response.statusText)
116
+ request.statusText = response.statusText;
117
+ request.mimeType = mimeType;
118
+ request.responseHeaders = headers;
119
+ if (response.fromDiskCache || response.fromPrefetchCache)
120
+ request.fromCache = true;
121
+ if (resourceType)
122
+ request.resourceType = resourceType;
123
+ if (timing) {
124
+ request.timing = {
125
+ requestTime: timing.requestTime,
126
+ proxyStart: timing.proxyStart,
127
+ proxyEnd: timing.proxyEnd,
128
+ dnsStart: timing.dnsStart,
129
+ dnsEnd: timing.dnsEnd,
130
+ connectStart: timing.connectStart,
131
+ connectEnd: timing.connectEnd,
132
+ sslStart: timing.sslStart,
133
+ sslEnd: timing.sslEnd,
134
+ sendStart: timing.sendStart,
135
+ sendEnd: timing.sendEnd,
136
+ receiveHeadersEnd: timing.receiveHeadersEnd,
137
+ };
80
138
  }
81
- if (staleRequests.length > 0) {
82
- log.debug(`Cleaning up ${staleRequests.length} stale network requests`);
83
- for (const requestId of staleRequests) {
84
- requestMap.delete(requestId);
85
- }
139
+ if (remoteIPAddress)
140
+ request.serverIPAddress = remoteIPAddress;
141
+ if (connectionId !== undefined)
142
+ request.connection = String(connectionId);
143
+ }
144
+ /**
145
+ * Turn the in-flight request into a completed redirect hop.
146
+ *
147
+ * Chrome reuses the requestId for every hop of a redirect chain and reports
148
+ * the previous hop's 3xx response on the next `requestWillBeSent`. Each hop
149
+ * gets its own id (`<requestId>:redirect:<n>`) so it can be looked up and
150
+ * exported to HAR; the final request keeps the original id.
151
+ *
152
+ * @param request - The request that was redirected
153
+ * @param params - The `requestWillBeSent` event for the next hop
154
+ * @param redirectHops - Per-requestId hop counter
155
+ * @returns The completed hop
156
+ */
157
+ function completeRedirectHop(request, params, redirectHops) {
158
+ const hop = (redirectHops.get(params.requestId) ?? 0) + 1;
159
+ redirectHops.set(params.requestId, hop);
160
+ if (params.redirectResponse) {
161
+ applyResponse(request, params.redirectResponse, request.resourceType);
162
+ }
163
+ request.requestId = `${params.requestId}:redirect:${hop}`;
164
+ request.redirectURL = params.request.url;
165
+ request.loadingFinishedTime = params.timestamp;
166
+ request.duration = elapsedMs(request, params.timestamp);
167
+ return request;
168
+ }
169
+ /**
170
+ * In-flight requests kept at most; beyond it the oldest is recorded as not
171
+ * finished. Requests are never dropped for taking long (long polls, SSE).
172
+ */
173
+ const MAX_PENDING_REQUESTS = 2000;
174
+ /** Error of a request whose document was replaced before it finished */
175
+ const NAVIGATED_AWAY_ERROR = 'net::ERR_ABORTED (the page navigated away)';
176
+ /** Error of a request evicted from tracking by {@link MAX_PENDING_REQUESTS} */
177
+ const TOO_MANY_PENDING_ERROR = 'not finished (too many requests in flight to track)';
178
+ /** Error of a request whose iframe or worker went away before it finished */
179
+ const TARGET_GONE_ERROR = 'net::ERR_ABORTED (its frame or worker went away)';
180
+ /**
181
+ * How long a request of a page that navigated away (or of a closed frame or
182
+ * worker) may still finish before it is recorded as cancelled: Chrome usually
183
+ * reports the cancellation itself, and keepalive requests may still complete.
184
+ */
185
+ const ABANDONED_REQUEST_GRACE_MS = 5000;
186
+ /**
187
+ * Error text of a failed request, with the CORS reason when CORS blocked it
188
+ * (Chrome only says `net::ERR_FAILED` otherwise).
189
+ *
190
+ * @param params - `Network.loadingFailed` event
191
+ * @returns Error text
192
+ */
193
+ function describeLoadingError(params) {
194
+ const cors = params.corsErrorStatus;
195
+ if (!cors)
196
+ return params.errorText;
197
+ const detail = cors.failedParameter ? `: ${cors.failedParameter}` : '';
198
+ return `${params.errorText} (CORS ${cors.corsError}${detail})`;
199
+ }
200
+ /**
201
+ * Record a failure on a request. A request that already got a response keeps
202
+ * its HTTP status; one without becomes status 0.
203
+ *
204
+ * @param request - Request to update
205
+ * @param failure - How it failed
206
+ */
207
+ function applyFailure(request, failure) {
208
+ request.status ??= 0;
209
+ request.duration = elapsedMs(request, failure.timestamp, failure.endedAt);
210
+ if (failure.errorText)
211
+ request.errorText = failure.errorText;
212
+ if (failure.canceled)
213
+ request.canceled = true;
214
+ if (failure.blockedReason) {
215
+ request.blocked = true;
216
+ request.blockedReason = failure.blockedReason;
217
+ request.errorText = `${request.errorText ?? 'net::ERR_BLOCKED'} (blocked:${failure.blockedReason})`;
218
+ }
219
+ if (failure.resourceType)
220
+ request.resourceType = failure.resourceType;
221
+ }
222
+ /**
223
+ * Give the main document request the navigation id of the page it loads.
224
+ *
225
+ * The request is sent before the navigation commits, so it was tagged with
226
+ * the previous page's id; the id is assigned once the navigation tracker has
227
+ * counted the new page (after the current event).
228
+ *
229
+ * @param documentsByLoader - Document requests by loader id
230
+ * @param loaderId - Loader of the committed main-frame navigation
231
+ * @param getCurrentNavigationId - Navigation counter
232
+ */
233
+ function assignDocumentNavigation(documentsByLoader, loaderId, getCurrentNavigationId) {
234
+ const document = documentsByLoader.get(loaderId);
235
+ documentsByLoader.clear();
236
+ if (!document || !getCurrentNavigationId)
237
+ return;
238
+ setImmediate(() => {
239
+ document.navigationId = getCurrentNavigationId();
240
+ });
241
+ }
242
+ /**
243
+ * Collect network events of the page's out-of-process iframes and workers
244
+ * too: their requests are reported on their own sessions.
245
+ *
246
+ * @param cdp - CDP connection
247
+ * @returns Cleanup that stops attaching to new targets
248
+ */
249
+ async function collectChildTargetNetwork(cdp) {
250
+ try {
251
+ return await attachChildTargets(cdp, async (sessionId) => {
252
+ await cdp.send('Network.enable', {}, sessionId);
253
+ });
254
+ }
255
+ catch (error) {
256
+ log.debug(`Iframe/worker network unavailable: ${getErrorMessage(error)}`);
257
+ return () => undefined;
86
258
  }
87
259
  }
88
260
  /**
@@ -107,8 +279,10 @@ function cleanupStaleRequests(requestMap) {
107
279
  */
108
280
  export async function startNetworkCollection(cdp, requests, options = {}) {
109
281
  const { includeAll = false, fetchAllBodies = false, fetchBodiesInclude = [], fetchBodiesExclude = [], networkInclude = [], networkExclude = [], maxBodySize = MAX_RESPONSE_SIZE, getCurrentNavigationId, } = options;
110
- const requestMap = new Map();
282
+ const requestMap = options.pendingRequests ?? new Map();
111
283
  const pendingFetches = new Set();
284
+ const redirectHops = new Map();
285
+ const extraInfo = new ExtraInfoTracker((requestId) => requestMap.get(requestId)?.request);
112
286
  const registry = new CDPHandlerRegistry();
113
287
  const typed = new TypedCDPConnection(cdp);
114
288
  let bodiesFetched = 0;
@@ -124,50 +298,100 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
124
298
  log.debug('Network buffer limits not supported, using default settings');
125
299
  await cdp.send('Network.enable');
126
300
  }
127
- const cleanupInterval = setInterval(() => cleanupStaleRequests(requestMap), STALE_REQUEST_CLEANUP_INTERVAL);
128
- registry.registerTyped(typed, 'Network.requestWillBeSent', (params) => {
301
+ const detachChildren = await collectChildTargetNetwork(cdp);
302
+ const failRequest = (requestId, failure) => {
303
+ const entry = requestMap.get(requestId);
304
+ if (!entry)
305
+ return;
306
+ if (requests.length < MAX_NETWORK_REQUESTS) {
307
+ applyFailure(entry.request, failure);
308
+ requests.push(entry.request);
309
+ extraInfo.complete(requestId, entry.request);
310
+ }
311
+ requestMap.delete(requestId);
312
+ redirectHops.delete(requestId);
313
+ };
314
+ const documentsByLoader = new Map();
315
+ const abandonTimers = new Set();
316
+ const failLater = (requestIds, errorText) => {
317
+ if (requestIds.length === 0)
318
+ return;
319
+ const endedAt = Date.now();
320
+ const timer = setTimeout(() => {
321
+ abandonTimers.delete(timer);
322
+ for (const requestId of requestIds) {
323
+ failRequest(requestId, { errorText, canceled: true, endedAt });
324
+ }
325
+ }, ABANDONED_REQUEST_GRACE_MS);
326
+ abandonTimers.add(timer);
327
+ };
328
+ registry.registerTyped(typed, 'Page.frameNavigated', ({ frame }) => {
329
+ const superseded = [...requestMap]
330
+ .filter(([, e]) => e.frameId === frame.id && e.loaderId && e.loaderId !== frame.loaderId)
331
+ .map(([requestId]) => requestId);
332
+ failLater(superseded, NAVIGATED_AWAY_ERROR);
333
+ if (frame.parentId === undefined) {
334
+ assignDocumentNavigation(documentsByLoader, frame.loaderId, getCurrentNavigationId);
335
+ }
336
+ });
337
+ registry.registerTyped(typed, 'Target.detachedFromTarget', ({ sessionId }) => {
338
+ const orphaned = [...requestMap]
339
+ .filter(([, entry]) => entry.sessionId === sessionId)
340
+ .map(([requestId]) => requestId);
341
+ failLater(orphaned, TARGET_GONE_ERROR);
342
+ });
343
+ registry.registerTyped(typed, 'Network.requestWillBeSent', (params, sessionId) => {
344
+ const previous = requestMap.get(params.requestId);
345
+ if (previous && params.redirectResponse) {
346
+ requestMap.delete(params.requestId);
347
+ const hop = completeRedirectHop(previous.request, params, redirectHops);
348
+ extraInfo.applyResponse(params.requestId, hop);
349
+ extraInfo.recordRedirectHop(params.requestId, hop);
350
+ if (requests.length < MAX_NETWORK_REQUESTS)
351
+ requests.push(hop);
352
+ }
353
+ if (shouldFilterRequest(params.request.url, includeAll, networkInclude, networkExclude)) {
354
+ return;
355
+ }
129
356
  if (requestMap.size >= MAX_NETWORK_REQUESTS) {
130
357
  log.debug(`Warning: Network request limit reached (${MAX_NETWORK_REQUESTS}), dropping new requests`);
131
358
  return;
132
359
  }
133
360
  const request = createNetworkRequest(params, getCurrentNavigationId);
361
+ extraInfo.applyRequest(params.requestId, request);
362
+ if (params.type === 'Document' && params.loaderId) {
363
+ documentsByLoader.set(params.loaderId, request);
364
+ }
134
365
  requestMap.set(params.requestId, {
135
366
  request,
136
367
  timestamp: Date.now(),
368
+ loaderId: params.loaderId,
369
+ ...(params.frameId && { frameId: params.frameId }),
370
+ ...(sessionId && { sessionId }),
137
371
  });
372
+ if (requestMap.size > MAX_PENDING_REQUESTS) {
373
+ const oldest = requestMap.keys().next().value;
374
+ if (oldest !== undefined)
375
+ failRequest(oldest, { errorText: TOO_MANY_PENDING_ERROR });
376
+ }
138
377
  });
139
378
  registry.registerTyped(typed, 'Network.responseReceived', (params) => {
140
379
  const entry = requestMap.get(params.requestId);
141
380
  if (!entry)
142
381
  return;
143
- const { status, mimeType, headers, timing, remoteIPAddress, connectionId } = params.response;
144
- entry.request.status = status;
145
- entry.request.mimeType = mimeType;
146
- entry.request.responseHeaders = headers;
147
- entry.request.resourceType = params.type;
148
- if (timing) {
149
- const { requestTime, proxyStart, proxyEnd, dnsStart, dnsEnd, connectStart, connectEnd, sslStart, sslEnd, sendStart, sendEnd, receiveHeadersEnd, } = timing;
150
- entry.request.timing = {
151
- requestTime,
152
- proxyStart,
153
- proxyEnd,
154
- dnsStart,
155
- dnsEnd,
156
- connectStart,
157
- connectEnd,
158
- sslStart,
159
- sslEnd,
160
- sendStart,
161
- sendEnd,
162
- receiveHeadersEnd,
163
- };
164
- }
165
- if (remoteIPAddress) {
166
- entry.request.serverIPAddress = remoteIPAddress;
167
- }
168
- if (connectionId !== undefined) {
169
- entry.request.connection = String(connectionId);
170
- }
382
+ applyResponse(entry.request, params.response, params.type);
383
+ extraInfo.applyResponse(params.requestId, entry.request);
384
+ });
385
+ registry.registerTyped(typed, 'Network.requestWillBeSentExtraInfo', (params) => {
386
+ extraInfo.onRequestExtraInfo(params.requestId, params.headers);
387
+ });
388
+ registry.registerTyped(typed, 'Network.responseReceivedExtraInfo', (params) => {
389
+ extraInfo.onResponseExtraInfo(params.requestId, params.headers, params.statusCode);
390
+ });
391
+ registry.registerTyped(typed, 'Network.requestServedFromCache', (params) => {
392
+ const entry = requestMap.get(params.requestId);
393
+ if (entry)
394
+ entry.request.fromCache = true;
171
395
  });
172
396
  registry.registerTyped(typed, 'Network.loadingFinished', (params) => {
173
397
  const entry = requestMap.get(params.requestId);
@@ -176,6 +400,7 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
176
400
  if (requests.length >= MAX_NETWORK_REQUESTS) {
177
401
  log.debug(`Warning: Network request limit reached (${MAX_NETWORK_REQUESTS})`);
178
402
  requestMap.delete(params.requestId);
403
+ redirectHops.delete(params.requestId);
179
404
  return;
180
405
  }
181
406
  const request = entry.request;
@@ -183,10 +408,7 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
183
408
  request.encodedDataLength = params.encodedDataLength;
184
409
  }
185
410
  request.loadingFinishedTime = params.timestamp;
186
- if (shouldFilterRequest(request.url, includeAll, networkInclude, networkExclude)) {
187
- requestMap.delete(params.requestId);
188
- return;
189
- }
411
+ request.duration = elapsedMs(request, params.timestamp);
190
412
  const decision = shouldFetchBodyWithReason(request.url, request.mimeType, params.encodedDataLength, {
191
413
  fetchAllBodies,
192
414
  includePatterns: fetchBodiesInclude,
@@ -195,43 +417,25 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
195
417
  });
196
418
  if (decision.should) {
197
419
  bodiesFetched++;
198
- fetchResponseBody(cdp, params.requestId, request, pendingFetches);
420
+ fetchResponseBody(cdp, params.requestId, request, pendingFetches, entry.sessionId);
199
421
  }
200
422
  else {
201
423
  bodiesSkipped++;
202
- request.responseBody = `[SKIPPED: ${decision.reason}]`;
424
+ request.responseBody = skippedBodyPlaceholder(decision.reason ?? 'not captured');
203
425
  }
204
426
  requests.push(request);
427
+ extraInfo.complete(params.requestId, request);
205
428
  requestMap.delete(params.requestId);
429
+ redirectHops.delete(params.requestId);
206
430
  });
207
431
  registry.registerTyped(typed, 'Network.loadingFailed', (params) => {
208
- const entry = requestMap.get(params.requestId);
209
- if (!entry)
210
- return;
211
- if (requests.length >= MAX_NETWORK_REQUESTS) {
212
- requestMap.delete(params.requestId);
213
- return;
214
- }
215
- if (shouldFilterRequest(entry.request.url, includeAll, networkInclude, networkExclude)) {
216
- requestMap.delete(params.requestId);
217
- return;
218
- }
219
- entry.request.status = 0;
220
- if (params.errorText) {
221
- entry.request.errorText = params.errorText;
222
- }
223
- if (params.canceled) {
224
- entry.request.canceled = true;
225
- }
226
- if (params.blockedReason) {
227
- entry.request.blocked = true;
228
- entry.request.blockedReason = params.blockedReason;
229
- }
230
- if (params.type) {
231
- entry.request.resourceType = params.type;
232
- }
233
- requests.push(entry.request);
234
- requestMap.delete(params.requestId);
432
+ failRequest(params.requestId, filterDefined({
433
+ timestamp: params.timestamp,
434
+ errorText: describeLoadingError(params),
435
+ canceled: params.canceled,
436
+ blockedReason: params.blockedReason,
437
+ resourceType: params.type,
438
+ }));
235
439
  });
236
440
  return () => {
237
441
  const totalBodyDecisions = bodiesFetched + bodiesSkipped;
@@ -242,8 +446,9 @@ export async function startNetworkCollection(cdp, requests, options = {}) {
242
446
  if (pendingFetches.size > 0) {
243
447
  log.debug(`[PERF] Cancelling ${pendingFetches.size} pending body fetches`);
244
448
  }
245
- clearInterval(cleanupInterval);
246
449
  registry.cleanup();
450
+ void detachChildren();
451
+ abandonTimers.forEach((timer) => clearTimeout(timer));
247
452
  requestMap.clear();
248
453
  pendingFetches.clear();
249
454
  };
@@ -254,10 +459,39 @@ const MAX_WEBSOCKET_CONNECTIONS = 100;
254
459
  const MAX_FRAMES_PER_CONNECTION = 1000;
255
460
  /** Maximum payload size to capture per frame (100KB) */
256
461
  const MAX_FRAME_PAYLOAD_SIZE = 100 * 1024;
462
+ /** WebSocket opcode of binary frames (payload is base64) */
463
+ const BINARY_OPCODE = 2;
464
+ /**
465
+ * Append a frame to a tracked connection, truncating oversized payloads.
466
+ *
467
+ * Binary payloads are cut at a multiple of 4 characters so they stay valid base64.
468
+ *
469
+ * @param connection - Connection the frame belongs to (untracked frames are ignored)
470
+ * @param direction - Whether the page sent or received the frame
471
+ * @param frame - CDP frame data
472
+ */
473
+ function recordFrame(connection, direction, frame) {
474
+ if (!connection || connection.frames.length >= MAX_FRAMES_PER_CONNECTION)
475
+ return;
476
+ const { payloadData, opcode } = frame;
477
+ const limit = opcode === BINARY_OPCODE
478
+ ? MAX_FRAME_PAYLOAD_SIZE - (MAX_FRAME_PAYLOAD_SIZE % 4)
479
+ : MAX_FRAME_PAYLOAD_SIZE;
480
+ connection.frames.push({
481
+ timestamp: Date.now(),
482
+ direction,
483
+ opcode,
484
+ payloadData: payloadData.substring(0, limit),
485
+ ...(payloadData.length > limit && { truncatedFrom: payloadData.length }),
486
+ });
487
+ }
257
488
  /**
258
489
  * Start collecting WebSocket connections and frames via CDP Network domain.
259
490
  *
260
491
  * Tracks WebSocket lifecycle (creation, handshake, frames, close) separately from HTTP requests.
492
+ * Connections are added when created and updated in place, so open connections
493
+ * are visible while they run. A main-frame navigation ends the page and so
494
+ * every connection it held (Chrome sends no close event for them).
261
495
  * Network.enable must be called before this (typically by startNetworkCollection).
262
496
  *
263
497
  * @param cdp - CDP connection instance
@@ -269,7 +503,7 @@ export function startWebSocketCollection(cdp, connections) {
269
503
  const registry = new CDPHandlerRegistry();
270
504
  const typed = new TypedCDPConnection(cdp);
271
505
  registry.registerTyped(typed, 'Network.webSocketCreated', (params) => {
272
- if (connectionMap.size >= MAX_WEBSOCKET_CONNECTIONS) {
506
+ if (connections.length >= MAX_WEBSOCKET_CONNECTIONS) {
273
507
  log.debug(`WebSocket connection limit reached (${MAX_WEBSOCKET_CONNECTIONS}), skipping new connection`);
274
508
  return;
275
509
  }
@@ -283,58 +517,32 @@ export function startWebSocketCollection(cdp, connections) {
283
517
  connection.initiatorUrl = params.initiator.url;
284
518
  }
285
519
  connectionMap.set(params.requestId, connection);
520
+ connections.push(connection);
286
521
  log.debug(`WebSocket created: ${params.url}`);
287
522
  });
523
+ registry.registerTyped(typed, 'Network.webSocketWillSendHandshakeRequest', (params) => {
524
+ const connection = connectionMap.get(params.requestId);
525
+ if (!connection)
526
+ return;
527
+ connection.requestHeaders = params.request.headers;
528
+ });
288
529
  registry.registerTyped(typed, 'Network.webSocketHandshakeResponseReceived', (params) => {
289
530
  const connection = connectionMap.get(params.requestId);
290
531
  if (!connection)
291
532
  return;
292
533
  connection.status = params.response.status;
534
+ if (params.response.statusText) {
535
+ connection.statusText = params.response.statusText;
536
+ }
293
537
  if (params.response.headers) {
294
538
  connection.responseHeaders = params.response.headers;
295
539
  }
296
540
  });
297
541
  registry.registerTyped(typed, 'Network.webSocketFrameSent', (params) => {
298
- const connection = connectionMap.get(params.requestId);
299
- if (!connection)
300
- return;
301
- if (connection.frames.length >= MAX_FRAMES_PER_CONNECTION) {
302
- return;
303
- }
304
- let payloadData = params.response.payloadData;
305
- if (payloadData.length > MAX_FRAME_PAYLOAD_SIZE) {
306
- payloadData =
307
- payloadData.substring(0, MAX_FRAME_PAYLOAD_SIZE) +
308
- `... [truncated, ${payloadData.length} bytes total]`;
309
- }
310
- const frame = {
311
- timestamp: Date.now(),
312
- direction: 'sent',
313
- opcode: params.response.opcode,
314
- payloadData,
315
- };
316
- connection.frames.push(frame);
542
+ recordFrame(connectionMap.get(params.requestId), 'sent', params.response);
317
543
  });
318
544
  registry.registerTyped(typed, 'Network.webSocketFrameReceived', (params) => {
319
- const connection = connectionMap.get(params.requestId);
320
- if (!connection)
321
- return;
322
- if (connection.frames.length >= MAX_FRAMES_PER_CONNECTION) {
323
- return;
324
- }
325
- let payloadData = params.response.payloadData;
326
- if (payloadData.length > MAX_FRAME_PAYLOAD_SIZE) {
327
- payloadData =
328
- payloadData.substring(0, MAX_FRAME_PAYLOAD_SIZE) +
329
- `... [truncated, ${payloadData.length} bytes total]`;
330
- }
331
- const frame = {
332
- timestamp: Date.now(),
333
- direction: 'received',
334
- opcode: params.response.opcode,
335
- payloadData,
336
- };
337
- connection.frames.push(frame);
545
+ recordFrame(connectionMap.get(params.requestId), 'received', params.response);
338
546
  });
339
547
  registry.registerTyped(typed, 'Network.webSocketFrameError', (params) => {
340
548
  const connection = connectionMap.get(params.requestId);
@@ -343,19 +551,24 @@ export function startWebSocketCollection(cdp, connections) {
343
551
  connection.errorMessage = params.errorMessage;
344
552
  log.debug(`WebSocket frame error for ${connection.url}: ${params.errorMessage}`);
345
553
  });
554
+ registry.registerTyped(typed, 'Page.frameNavigated', ({ frame }) => {
555
+ if (frame.parentId !== undefined)
556
+ return;
557
+ const now = Date.now();
558
+ for (const connection of connectionMap.values()) {
559
+ connection.closedTime ??= now;
560
+ }
561
+ connectionMap.clear();
562
+ });
346
563
  registry.registerTyped(typed, 'Network.webSocketClosed', (params) => {
347
564
  const connection = connectionMap.get(params.requestId);
348
565
  if (!connection)
349
566
  return;
350
567
  connection.closedTime = Date.now();
351
- connections.push(connection);
352
568
  connectionMap.delete(params.requestId);
353
569
  log.debug(`WebSocket closed: ${connection.url} (${connection.frames.length} frames captured)`);
354
570
  });
355
571
  return () => {
356
- for (const connection of connectionMap.values()) {
357
- connections.push(connection);
358
- }
359
572
  const totalFrames = connections.reduce((sum, c) => sum + c.frames.length, 0);
360
573
  if (connections.length > 0) {
361
574
  log.debug(`[PERF] WebSockets: ${connections.length} connections, ${totalFrames} frames captured`);