browser-debugger-cli 0.7.2 → 0.9.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 (1172) hide show
  1. package/README.md +17 -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 +14 -1
  5. package/dist/cdp/schema.js +61 -7
  6. package/dist/commands/cdp.js +76 -23
  7. package/dist/commands/cleanup.d.ts +11 -0
  8. package/dist/commands/cleanup.js +167 -55
  9. package/dist/commands/console.d.ts +38 -2
  10. package/dist/commands/console.js +147 -62
  11. package/dist/commands/details.js +15 -4
  12. package/dist/commands/dom/DomElementResolver.d.ts +34 -72
  13. package/dist/commands/dom/DomElementResolver.js +93 -166
  14. package/dist/commands/dom/a11y.d.ts +10 -0
  15. package/dist/commands/dom/a11y.js +75 -34
  16. package/dist/commands/dom/eval.d.ts +15 -0
  17. package/dist/commands/dom/eval.js +68 -0
  18. package/dist/commands/dom/form.js +109 -199
  19. package/dist/commands/dom/formInteraction.d.ts +6 -1
  20. package/dist/commands/dom/formInteraction.js +319 -362
  21. package/dist/commands/dom/formSummary.d.ts +49 -0
  22. package/dist/commands/dom/formSummary.js +180 -0
  23. package/dist/commands/dom/frames.d.ts +13 -0
  24. package/dist/commands/dom/frames.js +43 -0
  25. package/dist/commands/dom/get.d.ts +21 -0
  26. package/dist/commands/dom/get.js +151 -0
  27. package/dist/commands/dom/helpers/index.d.ts +11 -0
  28. package/dist/commands/dom/helpers/index.js +10 -0
  29. package/dist/commands/dom/helpers/query.d.ts +105 -0
  30. package/dist/commands/dom/helpers/query.js +604 -0
  31. package/dist/commands/dom/helpers/runElementCommand.d.ts +64 -0
  32. package/dist/commands/dom/helpers/runElementCommand.js +130 -0
  33. package/dist/commands/dom/helpers/screenshot.d.ts +33 -0
  34. package/dist/commands/dom/helpers/screenshot.js +489 -0
  35. package/dist/commands/dom/index.d.ts +17 -3
  36. package/dist/commands/dom/index.js +61 -517
  37. package/dist/commands/dom/layout.d.ts +14 -0
  38. package/dist/commands/dom/layout.js +54 -0
  39. package/dist/commands/dom/listeners.d.ts +20 -0
  40. package/dist/commands/dom/listeners.js +64 -0
  41. package/dist/commands/dom/query.d.ts +14 -0
  42. package/dist/commands/dom/query.js +35 -0
  43. package/dist/commands/dom/screenshot.d.ts +31 -0
  44. package/dist/commands/dom/screenshot.js +272 -0
  45. package/dist/commands/dom/semanticUtils.d.ts +37 -0
  46. package/dist/commands/dom/semanticUtils.js +98 -0
  47. package/dist/commands/dom/wait.d.ts +13 -0
  48. package/dist/commands/dom/wait.js +83 -0
  49. package/dist/commands/helpJson.d.ts +4 -2
  50. package/dist/commands/helpJson.js +12 -32
  51. package/dist/commands/helpTopic.d.ts +32 -0
  52. package/dist/commands/helpTopic.js +58 -0
  53. package/dist/commands/network/har.js +50 -24
  54. package/dist/commands/network/list.js +97 -71
  55. package/dist/commands/network/shared.d.ts +9 -15
  56. package/dist/commands/network/shared.js +30 -51
  57. package/dist/commands/optionBehaviors.d.ts +1 -9
  58. package/dist/commands/optionBehaviors.js +148 -36
  59. package/dist/commands/page.d.ts +12 -0
  60. package/dist/commands/page.js +148 -0
  61. package/dist/commands/peek.js +64 -57
  62. package/dist/commands/sessions.d.ts +8 -0
  63. package/dist/commands/sessions.js +19 -0
  64. package/dist/commands/shared/CommandRunner.d.ts +18 -1
  65. package/dist/commands/shared/CommandRunner.js +83 -26
  66. package/dist/commands/shared/commonOptions.d.ts +10 -0
  67. package/dist/commands/shared/commonOptions.js +12 -0
  68. package/dist/commands/shared/daemonErrorHandler.d.ts +9 -0
  69. package/dist/commands/shared/daemonErrorHandler.js +31 -11
  70. package/dist/commands/shared/dataFetcher.d.ts +33 -10
  71. package/dist/commands/shared/dataFetcher.js +57 -20
  72. package/dist/commands/shared/followMode.d.ts +21 -4
  73. package/dist/commands/shared/followMode.js +34 -12
  74. package/dist/commands/shared/handleValidationError.d.ts +14 -0
  75. package/dist/commands/shared/handleValidationError.js +48 -0
  76. package/dist/commands/shared/optionTypes.d.ts +80 -25
  77. package/dist/commands/shared/outputFile.d.ts +33 -0
  78. package/dist/commands/shared/outputFile.js +78 -0
  79. package/dist/commands/shared/startHelpers.d.ts +5 -8
  80. package/dist/commands/shared/startHelpers.js +235 -37
  81. package/dist/commands/shared/validation.d.ts +43 -0
  82. package/dist/commands/shared/validation.js +102 -22
  83. package/dist/commands/start.d.ts +91 -1
  84. package/dist/commands/start.js +328 -40
  85. package/dist/commands/status.js +76 -17
  86. package/dist/commands/stop.js +21 -30
  87. package/dist/commands/tail.js +22 -44
  88. package/dist/commands/types.d.ts +2 -0
  89. package/dist/commands.js +4 -0
  90. package/dist/connection/cdp.d.ts +12 -6
  91. package/dist/connection/cdp.js +59 -16
  92. package/dist/connection/chromeIdentity.d.ts +65 -0
  93. package/dist/connection/chromeIdentity.js +143 -0
  94. package/dist/connection/diagnostics.d.ts +0 -9
  95. package/dist/connection/diagnostics.js +0 -13
  96. package/dist/connection/errors.d.ts +36 -1
  97. package/dist/connection/errors.js +43 -3
  98. package/dist/connection/handlers.d.ts +5 -5
  99. package/dist/connection/handlers.js +1 -1
  100. package/dist/connection/inFlightRequests.d.ts +33 -0
  101. package/dist/connection/inFlightRequests.js +52 -0
  102. package/dist/connection/launcher/binaryResolver.js +20 -7
  103. package/dist/connection/launcher/flagsBuilder.d.ts +24 -54
  104. package/dist/connection/launcher/flagsBuilder.js +65 -40
  105. package/dist/connection/launcher/preferencesLoader.js +27 -8
  106. package/dist/connection/launcher/profilePreferences.d.ts +47 -0
  107. package/dist/connection/launcher/profilePreferences.js +151 -0
  108. package/dist/connection/launcher.d.ts +22 -1
  109. package/dist/connection/launcher.js +89 -44
  110. package/dist/connection/pageReadiness.d.ts +5 -6
  111. package/dist/connection/pageReadiness.js +63 -120
  112. package/dist/connection/portReservation.d.ts +20 -0
  113. package/dist/connection/portReservation.js +52 -2
  114. package/dist/connection/startupExit.d.ts +45 -0
  115. package/dist/connection/startupExit.js +116 -0
  116. package/dist/connection/typed-cdp.d.ts +8 -6
  117. package/dist/connection/typed-cdp.js +5 -3
  118. package/dist/connection/types.d.ts +3 -0
  119. package/dist/constants.d.ts +27 -24
  120. package/dist/constants.js +37 -27
  121. package/dist/daemon/SessionController.d.ts +125 -0
  122. package/dist/daemon/SessionController.js +488 -0
  123. package/dist/daemon/errors.d.ts +15 -19
  124. package/dist/daemon/errors.js +18 -21
  125. package/dist/daemon/ipcServer.d.ts +44 -30
  126. package/dist/daemon/ipcServer.js +164 -132
  127. package/dist/daemon/launcher.d.ts +14 -21
  128. package/dist/daemon/launcher.js +94 -102
  129. package/dist/daemon/messages.d.ts +29 -0
  130. package/dist/daemon/messages.js +35 -0
  131. package/dist/daemon/patternDefinitions.d.ts +1 -1
  132. package/dist/daemon/patternDefinitions.js +3 -2
  133. package/dist/daemon/patternDetector.d.ts +13 -29
  134. package/dist/daemon/patternDetector.js +26 -47
  135. package/dist/daemon/server/SocketServer.d.ts +56 -2
  136. package/dist/daemon/server/SocketServer.js +130 -30
  137. package/dist/daemon/session/Session.d.ts +150 -0
  138. package/dist/daemon/session/Session.js +337 -0
  139. package/dist/daemon/session/TelemetryStore.d.ts +30 -0
  140. package/dist/daemon/session/TelemetryStore.js +44 -0
  141. package/dist/daemon/session/cdpSetup.d.ts +47 -0
  142. package/dist/daemon/session/cdpSetup.js +94 -0
  143. package/dist/daemon/session/chromeConnection.d.ts +47 -0
  144. package/dist/daemon/session/chromeConnection.js +215 -0
  145. package/dist/daemon/{worker → session}/collectors.d.ts +3 -3
  146. package/dist/daemon/{worker → session}/collectors.js +3 -3
  147. package/dist/daemon/session/commandRegistry.js +435 -0
  148. package/dist/daemon/session/interactions.d.ts +53 -0
  149. package/dist/daemon/session/interactions.js +71 -0
  150. package/dist/daemon/{worker → session}/plugins.d.ts +3 -3
  151. package/dist/daemon/session/plugins.js +219 -0
  152. package/dist/daemon/session/targetMismatch.d.ts +34 -0
  153. package/dist/daemon/session/targetMismatch.js +83 -0
  154. package/dist/daemon/session/teardown.d.ts +27 -0
  155. package/dist/daemon/session/teardown.js +128 -0
  156. package/dist/daemon/session/triggeredRequests.d.ts +67 -0
  157. package/dist/daemon/session/triggeredRequests.js +157 -0
  158. package/dist/daemon/session/types.d.ts +19 -0
  159. package/dist/daemon.d.ts +3 -4
  160. package/dist/daemon.js +19149 -24
  161. package/dist/{ui/errors → errors}/CommandError.js +1 -1
  162. package/dist/{ui/errors → errors}/index.d.ts +2 -0
  163. package/dist/errors/issues.d.ts +16 -0
  164. package/dist/errors/issues.js +11 -0
  165. package/dist/errors/messages.d.ts +908 -0
  166. package/dist/errors/messages.js +1653 -0
  167. package/dist/errors/notices.d.ts +30 -0
  168. package/dist/errors/notices.js +11 -0
  169. package/dist/{ui/errors → errors}/utils.js +1 -1
  170. package/dist/index.js +18828 -168
  171. package/dist/ipc/client.d.ts +56 -9
  172. package/dist/ipc/client.js +115 -19
  173. package/dist/ipc/index.d.ts +2 -2
  174. package/dist/ipc/index.js +2 -2
  175. package/dist/ipc/protocol/commands.d.ts +305 -59
  176. package/dist/ipc/protocol/commands.js +29 -21
  177. package/dist/ipc/protocol/domTypes.d.ts +487 -0
  178. package/dist/ipc/protocol/domTypes.js +10 -0
  179. package/dist/ipc/protocol/guards.d.ts +4 -4
  180. package/dist/ipc/protocol/guards.js +4 -4
  181. package/dist/ipc/protocol/messages.d.ts +9 -33
  182. package/dist/ipc/protocol/messages.js +1 -1
  183. package/dist/ipc/session/errors.d.ts +10 -2
  184. package/dist/ipc/session/errors.js +10 -2
  185. package/dist/ipc/session/lifecycle.d.ts +28 -23
  186. package/dist/ipc/session/queries.d.ts +26 -5
  187. package/dist/ipc/session/types.d.ts +6 -1
  188. package/dist/ipc/session/types.js +1 -1
  189. package/dist/ipc/transport/IPCError.d.ts +3 -3
  190. package/dist/ipc/transport/IPCError.js +3 -3
  191. package/dist/ipc/transport/index.d.ts +8 -1
  192. package/dist/ipc/transport/index.js +8 -3
  193. package/dist/ipc/transport/jsonl.d.ts +28 -2
  194. package/dist/ipc/transport/jsonl.js +57 -10
  195. package/dist/ipc/utils/errors.d.ts +4 -2
  196. package/dist/ipc/utils/errors.js +10 -4
  197. package/dist/ipc/utils/index.d.ts +0 -1
  198. package/dist/ipc/utils/index.js +0 -1
  199. package/dist/ipc/utils/responseValidator.d.ts +5 -1
  200. package/dist/ipc/utils/responseValidator.js +7 -3
  201. package/dist/runtime/dom/actionEffects.d.ts +106 -0
  202. package/dist/runtime/dom/actionEffects.js +256 -0
  203. package/dist/runtime/dom/actionEffectsScripts.d.ts +52 -0
  204. package/dist/runtime/dom/actionEffectsScripts.js +234 -0
  205. package/dist/runtime/dom/elementGeometry.d.ts +170 -0
  206. package/dist/runtime/dom/elementGeometry.js +553 -0
  207. package/dist/runtime/dom/elementInfo.d.ts +77 -0
  208. package/dist/runtime/dom/elementInfo.js +191 -0
  209. package/dist/runtime/dom/evalHelpers.d.ts +121 -0
  210. package/dist/runtime/dom/evalHelpers.js +516 -0
  211. package/dist/runtime/dom/eventListeners.d.ts +24 -0
  212. package/dist/runtime/dom/eventListeners.js +379 -0
  213. package/dist/runtime/dom/formDiscovery.d.ts +26 -0
  214. package/dist/{commands → runtime}/dom/formDiscovery.js +163 -24
  215. package/dist/runtime/dom/formFillHelpers/fill.d.ts +39 -0
  216. package/dist/runtime/dom/formFillHelpers/fill.js +414 -0
  217. package/dist/runtime/dom/formFillHelpers/index.d.ts +17 -0
  218. package/dist/runtime/dom/formFillHelpers/index.js +17 -0
  219. package/dist/runtime/dom/formFillHelpers/pressKey.d.ts +28 -0
  220. package/dist/runtime/dom/formFillHelpers/pressKey.js +206 -0
  221. package/dist/runtime/dom/formFillHelpers/scroll.d.ts +27 -0
  222. package/dist/runtime/dom/formFillHelpers/scroll.js +230 -0
  223. package/dist/runtime/dom/formFillHelpers/shared.d.ts +60 -0
  224. package/dist/runtime/dom/formFillHelpers/shared.js +124 -0
  225. package/dist/runtime/dom/formFillHelpers/stability.d.ts +28 -0
  226. package/dist/runtime/dom/formFillHelpers/stability.js +71 -0
  227. package/dist/runtime/dom/formSubmitHelpers.d.ts +32 -0
  228. package/dist/runtime/dom/formSubmitHelpers.js +326 -0
  229. package/dist/runtime/dom/formTypes.d.ts +8 -0
  230. package/dist/runtime/dom/frameLayout.d.ts +60 -0
  231. package/dist/runtime/dom/frameLayout.js +140 -0
  232. package/dist/runtime/dom/frameOrigin.d.ts +50 -0
  233. package/dist/runtime/dom/frameOrigin.js +62 -0
  234. package/dist/runtime/dom/frameScopedConnection.d.ts +92 -0
  235. package/dist/runtime/dom/frameScopedConnection.js +252 -0
  236. package/dist/runtime/dom/frameSelection.d.ts +27 -0
  237. package/dist/runtime/dom/frameSelection.js +66 -0
  238. package/dist/runtime/dom/frames.d.ts +61 -0
  239. package/dist/runtime/dom/frames.js +444 -0
  240. package/dist/runtime/dom/keyMapping.d.ts +103 -0
  241. package/dist/runtime/dom/keyMapping.js +232 -0
  242. package/dist/runtime/dom/layout.d.ts +67 -0
  243. package/dist/runtime/dom/layout.js +333 -0
  244. package/dist/runtime/dom/listenerPageScripts.d.ts +66 -0
  245. package/dist/runtime/dom/listenerPageScripts.js +279 -0
  246. package/dist/runtime/dom/listenerSummary.d.ts +193 -0
  247. package/dist/runtime/dom/listenerSummary.js +472 -0
  248. package/dist/runtime/dom/pageActivity.d.ts +41 -0
  249. package/dist/runtime/dom/pageActivity.js +123 -0
  250. package/dist/runtime/dom/reactEventHelpers.d.ts +117 -0
  251. package/dist/runtime/dom/reactEventHelpers.js +641 -0
  252. package/dist/runtime/dom/targetNode.d.ts +131 -0
  253. package/dist/runtime/dom/targetNode.js +370 -0
  254. package/dist/runtime/dom/wait.d.ts +25 -0
  255. package/dist/runtime/dom/wait.js +199 -0
  256. package/dist/runtime/dom/waitCondition.d.ts +71 -0
  257. package/dist/runtime/dom/waitCondition.js +75 -0
  258. package/dist/runtime/page/emulation.d.ts +51 -0
  259. package/dist/runtime/page/emulation.js +80 -0
  260. package/dist/runtime/page/loadingState.d.ts +36 -0
  261. package/dist/runtime/page/loadingState.js +86 -0
  262. package/dist/runtime/page/navigation.d.ts +78 -0
  263. package/dist/runtime/page/navigation.js +285 -0
  264. package/dist/session/QueryCacheManager.d.ts +36 -83
  265. package/dist/session/QueryCacheManager.js +63 -133
  266. package/dist/session/chrome.d.ts +21 -16
  267. package/dist/session/chrome.js +28 -44
  268. package/dist/session/chromeOwners.d.ts +34 -0
  269. package/dist/session/chromeOwners.js +51 -0
  270. package/dist/session/cleanup/staleSession.d.ts +59 -0
  271. package/dist/session/cleanup/staleSession.js +135 -0
  272. package/dist/session/cleanup/userCommands.d.ts +36 -0
  273. package/dist/session/cleanup/userCommands.js +93 -0
  274. package/dist/session/daemonSocket.d.ts +25 -0
  275. package/dist/session/daemonSocket.js +40 -0
  276. package/dist/session/lastSession.d.ts +29 -0
  277. package/dist/session/lastSession.js +45 -0
  278. package/dist/session/metadata.d.ts +7 -1
  279. package/dist/session/metadata.js +2 -1
  280. package/dist/session/paths.d.ts +79 -7
  281. package/dist/session/paths.js +113 -9
  282. package/dist/session/pid.d.ts +9 -38
  283. package/dist/session/pid.js +14 -64
  284. package/dist/session/port.d.ts +31 -12
  285. package/dist/session/port.js +56 -59
  286. package/dist/session/portClaims.d.ts +66 -0
  287. package/dist/session/portClaims.js +284 -0
  288. package/dist/session/sessionList.d.ts +58 -0
  289. package/dist/session/sessionList.js +199 -0
  290. package/dist/session/sessionName.d.ts +46 -0
  291. package/dist/session/sessionName.js +97 -0
  292. package/dist/telemetry/a11y.d.ts +31 -20
  293. package/dist/telemetry/a11y.js +304 -107
  294. package/dist/telemetry/attachedTargets.d.ts +36 -0
  295. package/dist/telemetry/attachedTargets.js +163 -0
  296. package/dist/telemetry/console.d.ts +21 -4
  297. package/dist/telemetry/console.js +122 -11
  298. package/dist/telemetry/dialogs.d.ts +4 -2
  299. package/dist/telemetry/dialogs.js +3 -1
  300. package/dist/telemetry/dom.d.ts +1 -11
  301. package/dist/telemetry/dom.js +0 -102
  302. package/dist/telemetry/filterDsl.d.ts +9 -1
  303. package/dist/telemetry/filterDsl.js +101 -31
  304. package/dist/telemetry/filterPresets.js +12 -2
  305. package/dist/telemetry/filters.d.ts +1 -1
  306. package/dist/telemetry/filters.js +38 -3
  307. package/dist/telemetry/har/builder.js +190 -160
  308. package/dist/telemetry/har/types.d.ts +21 -4
  309. package/dist/telemetry/navigation.d.ts +13 -29
  310. package/dist/telemetry/navigation.js +12 -46
  311. package/dist/telemetry/network.d.ts +37 -1
  312. package/dist/telemetry/network.js +343 -130
  313. package/dist/telemetry/networkExtraInfo.d.ts +106 -0
  314. package/dist/telemetry/networkExtraInfo.js +241 -0
  315. package/dist/telemetry/objectExpander.d.ts +14 -5
  316. package/dist/telemetry/objectExpander.js +13 -6
  317. package/dist/telemetry/remoteObject.d.ts +10 -2
  318. package/dist/telemetry/remoteObject.js +59 -2
  319. package/dist/telemetry/remoteObjectUtils.js +22 -3
  320. package/dist/telemetry/requestKinds.d.ts +32 -0
  321. package/dist/telemetry/requestKinds.js +61 -0
  322. package/dist/telemetry/requestState.d.ts +31 -0
  323. package/dist/telemetry/requestState.js +38 -0
  324. package/dist/types.d.ts +143 -46
  325. package/dist/types.js +1 -33
  326. package/dist/ui/OutputBuilder.d.ts +17 -14
  327. package/dist/ui/OutputBuilder.js +18 -87
  328. package/dist/ui/formatters/a11y.js +75 -9
  329. package/dist/ui/formatters/console/chronological.d.ts +22 -0
  330. package/dist/ui/formatters/console/chronological.js +71 -0
  331. package/dist/ui/formatters/console/follow.d.ts +18 -0
  332. package/dist/ui/formatters/console/follow.js +36 -0
  333. package/dist/ui/formatters/console/json.d.ts +21 -0
  334. package/dist/ui/formatters/console/json.js +52 -0
  335. package/dist/ui/formatters/console/shared.d.ts +148 -0
  336. package/dist/ui/formatters/console/shared.js +158 -0
  337. package/dist/ui/formatters/console/summarize.d.ts +10 -0
  338. package/dist/ui/formatters/console/summarize.js +63 -0
  339. package/dist/ui/formatters/console.d.ts +16 -137
  340. package/dist/ui/formatters/console.js +17 -418
  341. package/dist/ui/formatters/cookies.js +3 -3
  342. package/dist/ui/formatters/details.d.ts +5 -2
  343. package/dist/ui/formatters/details.js +184 -24
  344. package/dist/ui/formatters/dom.d.ts +42 -9
  345. package/dist/ui/formatters/dom.js +99 -34
  346. package/dist/ui/formatters/form.js +62 -72
  347. package/dist/ui/formatters/helpFormatters.js +5 -4
  348. package/dist/ui/formatters/layout.d.ts +31 -0
  349. package/dist/ui/formatters/layout.js +53 -0
  350. package/dist/ui/formatters/listeners.d.ts +25 -0
  351. package/dist/ui/formatters/listeners.js +160 -0
  352. package/dist/ui/formatters/networkHeaders.d.ts +3 -3
  353. package/dist/ui/formatters/networkHeaders.js +20 -4
  354. package/dist/ui/formatters/networkList.d.ts +14 -2
  355. package/dist/ui/formatters/networkList.js +80 -35
  356. package/dist/ui/formatters/preview.d.ts +21 -3
  357. package/dist/ui/formatters/preview.js +55 -73
  358. package/dist/ui/formatters/requestStatus.d.ts +18 -0
  359. package/dist/ui/formatters/requestStatus.js +27 -0
  360. package/dist/ui/formatters/semantic.d.ts +1 -1
  361. package/dist/ui/formatters/semantic.js +1 -1
  362. package/dist/ui/formatters/sessions.d.ts +12 -0
  363. package/dist/ui/formatters/sessions.js +40 -0
  364. package/dist/ui/formatters/status.d.ts +44 -7
  365. package/dist/ui/formatters/status.js +89 -28
  366. package/dist/ui/formatters/triggeredRequests.d.ts +36 -0
  367. package/dist/ui/formatters/triggeredRequests.js +65 -0
  368. package/dist/ui/formatting.d.ts +45 -0
  369. package/dist/ui/formatting.js +115 -24
  370. package/dist/ui/logging/logger.d.ts +1 -1
  371. package/dist/ui/messages/chrome.d.ts +41 -97
  372. package/dist/ui/messages/chrome.js +110 -132
  373. package/dist/ui/messages/commands.d.ts +495 -3
  374. package/dist/ui/messages/commands.js +796 -6
  375. package/dist/ui/messages/consoleMessages.d.ts +7 -3
  376. package/dist/ui/messages/consoleMessages.js +13 -4
  377. package/dist/ui/messages/hints.d.ts +9 -15
  378. package/dist/ui/messages/hints.js +18 -16
  379. package/dist/ui/messages/networkMessages.d.ts +0 -6
  380. package/dist/ui/messages/networkMessages.js +0 -8
  381. package/dist/ui/messages/preview.js +5 -4
  382. package/dist/ui/messages/session.d.ts +37 -21
  383. package/dist/ui/messages/session.js +59 -26
  384. package/dist/ui/messages/sessionCommand.d.ts +43 -0
  385. package/dist/ui/messages/sessionCommand.js +52 -0
  386. package/dist/ui/messages/validation.d.ts +15 -26
  387. package/dist/ui/messages/validation.js +33 -38
  388. package/dist/utils/async.d.ts +8 -0
  389. package/dist/utils/async.js +19 -0
  390. package/dist/utils/atomicFile.js +1 -1
  391. package/dist/utils/decisionTrees.js +1 -1
  392. package/dist/utils/errorMapping.js +15 -4
  393. package/dist/utils/errors.d.ts +13 -0
  394. package/dist/utils/errors.js +21 -0
  395. package/dist/utils/exitCodes.d.ts +5 -0
  396. package/dist/utils/exitCodes.js +36 -2
  397. package/dist/utils/http.d.ts +56 -4
  398. package/dist/utils/http.js +78 -6
  399. package/dist/utils/packageRoot.d.ts +12 -0
  400. package/dist/utils/packageRoot.js +33 -0
  401. package/dist/utils/process.d.ts +10 -0
  402. package/dist/utils/process.js +35 -3
  403. package/dist/utils/selectorFilters.d.ts +73 -0
  404. package/dist/utils/selectorFilters.js +438 -0
  405. package/dist/utils/shellDetection.d.ts +8 -2
  406. package/dist/utils/shellDetection.js +120 -33
  407. package/dist/utils/suggestions.d.ts +26 -0
  408. package/dist/utils/suggestions.js +74 -1
  409. package/dist/utils/taskMappings.js +17 -2
  410. package/dist/utils/typeGuards.js +2 -2
  411. package/dist/utils/url.d.ts +23 -5
  412. package/dist/utils/url.js +115 -52
  413. package/dist/utils/validation.d.ts +15 -93
  414. package/dist/utils/validation.js +10 -118
  415. package/dist/utils/version.js +3 -5
  416. package/package.json +39 -30
  417. package/dist/__testfixtures__/cdpMessages.d.ts +0 -43
  418. package/dist/__testfixtures__/cdpMessages.d.ts.map +0 -1
  419. package/dist/__testfixtures__/cdpMessages.js +0 -118
  420. package/dist/__testfixtures__/cdpMessages.js.map +0 -1
  421. package/dist/__testfixtures__/connectionTargets.d.ts +0 -21
  422. package/dist/__testfixtures__/connectionTargets.d.ts.map +0 -1
  423. package/dist/__testfixtures__/connectionTargets.js +0 -59
  424. package/dist/__testfixtures__/connectionTargets.js.map +0 -1
  425. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +0 -47
  426. package/dist/__tests__/integration/session-files.integration.test.d.ts +0 -2
  427. package/dist/__tests__/integration/session-files.integration.test.d.ts.map +0 -1
  428. package/dist/__tests__/integration/session-files.integration.test.js +0 -66
  429. package/dist/__tests__/integration/session-files.integration.test.js.map +0 -1
  430. package/dist/__tests__/schema.contract.test.d.ts +0 -19
  431. package/dist/__tests__/schema.contract.test.d.ts.map +0 -1
  432. package/dist/__tests__/schema.contract.test.js +0 -236
  433. package/dist/__tests__/schema.contract.test.js.map +0 -1
  434. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +0 -8
  435. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +0 -1
  436. package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -66
  437. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +0 -1
  438. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +0 -8
  439. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +0 -1
  440. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +0 -112
  441. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +0 -1
  442. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +0 -12
  443. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +0 -1
  444. package/dist/__tests__/telemetry/filterDsl.unit.test.js +0 -374
  445. package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +0 -1
  446. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +0 -10
  447. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +0 -1
  448. package/dist/__tests__/telemetry/filterPresets.unit.test.js +0 -89
  449. package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +0 -1
  450. package/dist/__testutils__/FakeClock.d.ts +0 -67
  451. package/dist/__testutils__/FakeClock.d.ts.map +0 -1
  452. package/dist/__testutils__/FakeClock.js +0 -132
  453. package/dist/__testutils__/FakeClock.js.map +0 -1
  454. package/dist/__testutils__/FakeWebSocket.d.ts +0 -106
  455. package/dist/__testutils__/FakeWebSocket.d.ts.map +0 -1
  456. package/dist/__testutils__/FakeWebSocket.js +0 -213
  457. package/dist/__testutils__/FakeWebSocket.js.map +0 -1
  458. package/dist/__testutils__/assertions.d.ts +0 -33
  459. package/dist/__testutils__/assertions.d.ts.map +0 -1
  460. package/dist/__testutils__/assertions.js +0 -57
  461. package/dist/__testutils__/assertions.js.map +0 -1
  462. package/dist/__testutils__/commandRunner.d.ts +0 -45
  463. package/dist/__testutils__/commandRunner.d.ts.map +0 -1
  464. package/dist/__testutils__/commandRunner.js +0 -108
  465. package/dist/__testutils__/commandRunner.js.map +0 -1
  466. package/dist/__testutils__/daemonHelpers.d.ts +0 -93
  467. package/dist/__testutils__/daemonHelpers.d.ts.map +0 -1
  468. package/dist/__testutils__/daemonHelpers.js +0 -255
  469. package/dist/__testutils__/daemonHelpers.js.map +0 -1
  470. package/dist/__testutils__/index.d.ts +0 -16
  471. package/dist/__testutils__/index.d.ts.map +0 -1
  472. package/dist/__testutils__/index.js +0 -16
  473. package/dist/__testutils__/index.js.map +0 -1
  474. package/dist/__testutils__/testCleanup.d.ts +0 -45
  475. package/dist/__testutils__/testCleanup.d.ts.map +0 -1
  476. package/dist/__testutils__/testCleanup.js +0 -87
  477. package/dist/__testutils__/testCleanup.js.map +0 -1
  478. package/dist/__testutils__/testClock.d.ts +0 -28
  479. package/dist/__testutils__/testClock.d.ts.map +0 -1
  480. package/dist/__testutils__/testClock.js +0 -81
  481. package/dist/__testutils__/testClock.js.map +0 -1
  482. package/dist/__testutils__/testFixtures.d.ts +0 -15
  483. package/dist/__testutils__/testFixtures.d.ts.map +0 -1
  484. package/dist/__testutils__/testFixtures.js +0 -23
  485. package/dist/__testutils__/testFixtures.js.map +0 -1
  486. package/dist/__testutils__/testHome.d.ts +0 -26
  487. package/dist/__testutils__/testHome.d.ts.map +0 -1
  488. package/dist/__testutils__/testHome.js +0 -57
  489. package/dist/__testutils__/testHome.js.map +0 -1
  490. package/dist/__testutils__/testProcess.d.ts +0 -46
  491. package/dist/__testutils__/testProcess.d.ts.map +0 -1
  492. package/dist/__testutils__/testProcess.js +0 -85
  493. package/dist/__testutils__/testProcess.js.map +0 -1
  494. package/dist/cdp/protocol.d.ts.map +0 -1
  495. package/dist/cdp/protocol.js.map +0 -1
  496. package/dist/cdp/schema.d.ts.map +0 -1
  497. package/dist/cdp/schema.js.map +0 -1
  498. package/dist/cdp/types.d.ts.map +0 -1
  499. package/dist/cdp/types.js.map +0 -1
  500. package/dist/commands/__tests__/cdp.contract.test.d.ts +0 -24
  501. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  502. package/dist/commands/__tests__/cdp.contract.test.js +0 -466
  503. package/dist/commands/__tests__/cdp.contract.test.js.map +0 -1
  504. package/dist/commands/__tests__/console.contract.test.d.ts +0 -9
  505. package/dist/commands/__tests__/console.contract.test.d.ts.map +0 -1
  506. package/dist/commands/__tests__/console.contract.test.js +0 -118
  507. package/dist/commands/__tests__/console.contract.test.js.map +0 -1
  508. package/dist/commands/__tests__/domEval.contract.test.d.ts +0 -17
  509. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +0 -1
  510. package/dist/commands/__tests__/domEval.contract.test.js +0 -235
  511. package/dist/commands/__tests__/domEval.contract.test.js.map +0 -1
  512. package/dist/commands/__tests__/helpJson.contract.test.d.ts +0 -12
  513. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +0 -1
  514. package/dist/commands/__tests__/helpJson.contract.test.js +0 -121
  515. package/dist/commands/__tests__/helpJson.contract.test.js.map +0 -1
  516. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +0 -12
  517. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +0 -1
  518. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +0 -121
  519. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +0 -1
  520. package/dist/commands/cdp.d.ts.map +0 -1
  521. package/dist/commands/cdp.js.map +0 -1
  522. package/dist/commands/cleanup.d.ts.map +0 -1
  523. package/dist/commands/cleanup.js.map +0 -1
  524. package/dist/commands/console.d.ts.map +0 -1
  525. package/dist/commands/console.js.map +0 -1
  526. package/dist/commands/details.d.ts.map +0 -1
  527. package/dist/commands/details.js.map +0 -1
  528. package/dist/commands/dom/DomElementResolver.d.ts.map +0 -1
  529. package/dist/commands/dom/DomElementResolver.js.map +0 -1
  530. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +0 -2
  531. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +0 -1
  532. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +0 -184
  533. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +0 -1
  534. package/dist/commands/dom/a11y.d.ts.map +0 -1
  535. package/dist/commands/dom/a11y.js.map +0 -1
  536. package/dist/commands/dom/evalHelpers.d.ts +0 -38
  537. package/dist/commands/dom/evalHelpers.d.ts.map +0 -1
  538. package/dist/commands/dom/evalHelpers.js +0 -121
  539. package/dist/commands/dom/evalHelpers.js.map +0 -1
  540. package/dist/commands/dom/form.d.ts.map +0 -1
  541. package/dist/commands/dom/form.js.map +0 -1
  542. package/dist/commands/dom/formDiscovery.d.ts +0 -26
  543. package/dist/commands/dom/formDiscovery.d.ts.map +0 -1
  544. package/dist/commands/dom/formDiscovery.js.map +0 -1
  545. package/dist/commands/dom/formFillHelpers.d.ts +0 -186
  546. package/dist/commands/dom/formFillHelpers.d.ts.map +0 -1
  547. package/dist/commands/dom/formFillHelpers.js +0 -650
  548. package/dist/commands/dom/formFillHelpers.js.map +0 -1
  549. package/dist/commands/dom/formInteraction.d.ts.map +0 -1
  550. package/dist/commands/dom/formInteraction.js.map +0 -1
  551. package/dist/commands/dom/formSubmitHelpers.d.ts +0 -59
  552. package/dist/commands/dom/formSubmitHelpers.d.ts.map +0 -1
  553. package/dist/commands/dom/formSubmitHelpers.js +0 -163
  554. package/dist/commands/dom/formSubmitHelpers.js.map +0 -1
  555. package/dist/commands/dom/formTypes.d.ts +0 -75
  556. package/dist/commands/dom/formTypes.d.ts.map +0 -1
  557. package/dist/commands/dom/formTypes.js.map +0 -1
  558. package/dist/commands/dom/helpers.d.ts +0 -86
  559. package/dist/commands/dom/helpers.d.ts.map +0 -1
  560. package/dist/commands/dom/helpers.js +0 -656
  561. package/dist/commands/dom/helpers.js.map +0 -1
  562. package/dist/commands/dom/index.d.ts.map +0 -1
  563. package/dist/commands/dom/index.js.map +0 -1
  564. package/dist/commands/dom/keyMapping.d.ts +0 -56
  565. package/dist/commands/dom/keyMapping.d.ts.map +0 -1
  566. package/dist/commands/dom/keyMapping.js +0 -110
  567. package/dist/commands/dom/keyMapping.js.map +0 -1
  568. package/dist/commands/dom/reactEventHelpers.d.ts +0 -79
  569. package/dist/commands/dom/reactEventHelpers.d.ts.map +0 -1
  570. package/dist/commands/dom/reactEventHelpers.js +0 -239
  571. package/dist/commands/dom/reactEventHelpers.js.map +0 -1
  572. package/dist/commands/dom/screenshotResize.d.ts.map +0 -1
  573. package/dist/commands/dom/screenshotResize.js.map +0 -1
  574. package/dist/commands/helpJson.d.ts.map +0 -1
  575. package/dist/commands/helpJson.js.map +0 -1
  576. package/dist/commands/machineReadableHelp.d.ts +0 -165
  577. package/dist/commands/machineReadableHelp.d.ts.map +0 -1
  578. package/dist/commands/machineReadableHelp.js +0 -252
  579. package/dist/commands/machineReadableHelp.js.map +0 -1
  580. package/dist/commands/network/har.d.ts.map +0 -1
  581. package/dist/commands/network/har.js.map +0 -1
  582. package/dist/commands/network/index.d.ts.map +0 -1
  583. package/dist/commands/network/index.js.map +0 -1
  584. package/dist/commands/network/list.d.ts.map +0 -1
  585. package/dist/commands/network/list.js.map +0 -1
  586. package/dist/commands/network/shared.d.ts.map +0 -1
  587. package/dist/commands/network/shared.js.map +0 -1
  588. package/dist/commands/network.d.ts +0 -8
  589. package/dist/commands/network.d.ts.map +0 -1
  590. package/dist/commands/network.js +0 -216
  591. package/dist/commands/network.js.map +0 -1
  592. package/dist/commands/optionBehaviors.d.ts.map +0 -1
  593. package/dist/commands/optionBehaviors.js.map +0 -1
  594. package/dist/commands/peek.d.ts.map +0 -1
  595. package/dist/commands/peek.js.map +0 -1
  596. package/dist/commands/shared/CommandRunner.d.ts.map +0 -1
  597. package/dist/commands/shared/CommandRunner.js.map +0 -1
  598. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +0 -7
  599. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +0 -1
  600. package/dist/commands/shared/__tests__/validation.unit.test.js +0 -141
  601. package/dist/commands/shared/__tests__/validation.unit.test.js.map +0 -1
  602. package/dist/commands/shared/commonOptions.d.ts.map +0 -1
  603. package/dist/commands/shared/commonOptions.js.map +0 -1
  604. package/dist/commands/shared/daemonErrorHandler.d.ts.map +0 -1
  605. package/dist/commands/shared/daemonErrorHandler.js.map +0 -1
  606. package/dist/commands/shared/dataFetcher.d.ts.map +0 -1
  607. package/dist/commands/shared/dataFetcher.js.map +0 -1
  608. package/dist/commands/shared/followMode.d.ts.map +0 -1
  609. package/dist/commands/shared/followMode.js.map +0 -1
  610. package/dist/commands/shared/landingPage.d.ts.map +0 -1
  611. package/dist/commands/shared/landingPage.js.map +0 -1
  612. package/dist/commands/shared/optionTypes.d.ts.map +0 -1
  613. package/dist/commands/shared/optionTypes.js.map +0 -1
  614. package/dist/commands/shared/startHelpers.d.ts.map +0 -1
  615. package/dist/commands/shared/startHelpers.js.map +0 -1
  616. package/dist/commands/shared/validation.d.ts.map +0 -1
  617. package/dist/commands/shared/validation.js.map +0 -1
  618. package/dist/commands/start.d.ts.map +0 -1
  619. package/dist/commands/start.js.map +0 -1
  620. package/dist/commands/status.d.ts.map +0 -1
  621. package/dist/commands/status.js.map +0 -1
  622. package/dist/commands/stop.d.ts.map +0 -1
  623. package/dist/commands/stop.js.map +0 -1
  624. package/dist/commands/tail.d.ts.map +0 -1
  625. package/dist/commands/tail.js.map +0 -1
  626. package/dist/commands/types.d.ts.map +0 -1
  627. package/dist/commands/types.js.map +0 -1
  628. package/dist/commands.d.ts.map +0 -1
  629. package/dist/commands.js.map +0 -1
  630. package/dist/connection/__tests__/cdp.contract.test.d.ts +0 -16
  631. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +0 -1
  632. package/dist/connection/__tests__/cdp.contract.test.js +0 -377
  633. package/dist/connection/__tests__/cdp.contract.test.js.map +0 -1
  634. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts +0 -9
  635. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts.map +0 -1
  636. package/dist/connection/__tests__/flagsBuilder.unit.test.js +0 -94
  637. package/dist/connection/__tests__/flagsBuilder.unit.test.js.map +0 -1
  638. package/dist/connection/__tests__/handlers.unit.test.d.ts +0 -11
  639. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +0 -1
  640. package/dist/connection/__tests__/handlers.unit.test.js +0 -220
  641. package/dist/connection/__tests__/handlers.unit.test.js.map +0 -1
  642. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +0 -14
  643. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +0 -1
  644. package/dist/connection/__tests__/pageReadiness.contract.test.js +0 -382
  645. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +0 -1
  646. package/dist/connection/__tests__/portReservation.contract.test.d.ts +0 -14
  647. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +0 -1
  648. package/dist/connection/__tests__/portReservation.contract.test.js +0 -250
  649. package/dist/connection/__tests__/portReservation.contract.test.js.map +0 -1
  650. package/dist/connection/cdp.d.ts.map +0 -1
  651. package/dist/connection/cdp.js.map +0 -1
  652. package/dist/connection/config.d.ts.map +0 -1
  653. package/dist/connection/config.js.map +0 -1
  654. package/dist/connection/diagnostics.d.ts.map +0 -1
  655. package/dist/connection/diagnostics.js.map +0 -1
  656. package/dist/connection/errors.d.ts.map +0 -1
  657. package/dist/connection/errors.js.map +0 -1
  658. package/dist/connection/events.d.ts.map +0 -1
  659. package/dist/connection/events.js.map +0 -1
  660. package/dist/connection/handlers.d.ts.map +0 -1
  661. package/dist/connection/handlers.js.map +0 -1
  662. package/dist/connection/launcher/binaryResolver.d.ts.map +0 -1
  663. package/dist/connection/launcher/binaryResolver.js.map +0 -1
  664. package/dist/connection/launcher/flagsBuilder.d.ts.map +0 -1
  665. package/dist/connection/launcher/flagsBuilder.js.map +0 -1
  666. package/dist/connection/launcher/preferencesLoader.d.ts.map +0 -1
  667. package/dist/connection/launcher/preferencesLoader.js.map +0 -1
  668. package/dist/connection/launcher.d.ts.map +0 -1
  669. package/dist/connection/launcher.js.map +0 -1
  670. package/dist/connection/pageReadiness.d.ts.map +0 -1
  671. package/dist/connection/pageReadiness.js.map +0 -1
  672. package/dist/connection/portReservation.d.ts.map +0 -1
  673. package/dist/connection/portReservation.js.map +0 -1
  674. package/dist/connection/typed-cdp.d.ts.map +0 -1
  675. package/dist/connection/typed-cdp.js.map +0 -1
  676. package/dist/connection/types.d.ts.map +0 -1
  677. package/dist/connection/types.js.map +0 -1
  678. package/dist/constants.d.ts.map +0 -1
  679. package/dist/constants.js.map +0 -1
  680. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +0 -8
  681. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +0 -1
  682. package/dist/daemon/__tests__/JsonlParser.unit.test.js +0 -140
  683. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +0 -1
  684. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +0 -8
  685. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +0 -1
  686. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +0 -276
  687. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +0 -1
  688. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +0 -8
  689. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +0 -1
  690. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +0 -290
  691. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +0 -1
  692. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +0 -8
  693. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +0 -1
  694. package/dist/daemon/__tests__/commandRegistry.contract.test.js +0 -647
  695. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +0 -1
  696. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +0 -19
  697. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +0 -1
  698. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +0 -212
  699. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +0 -1
  700. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +0 -23
  701. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +0 -1
  702. package/dist/daemon/__tests__/ipcServer.contract.test.js +0 -416
  703. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +0 -1
  704. package/dist/daemon/__tests__/launcher.unit.test.d.ts +0 -8
  705. package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +0 -1
  706. package/dist/daemon/__tests__/launcher.unit.test.js +0 -20
  707. package/dist/daemon/__tests__/launcher.unit.test.js.map +0 -1
  708. package/dist/daemon/errors.d.ts.map +0 -1
  709. package/dist/daemon/errors.js.map +0 -1
  710. package/dist/daemon/handlers/BaseHandler.d.ts +0 -75
  711. package/dist/daemon/handlers/BaseHandler.d.ts.map +0 -1
  712. package/dist/daemon/handlers/BaseHandler.js +0 -103
  713. package/dist/daemon/handlers/BaseHandler.js.map +0 -1
  714. package/dist/daemon/handlers/CommandHandlers.d.ts +0 -36
  715. package/dist/daemon/handlers/CommandHandlers.d.ts.map +0 -1
  716. package/dist/daemon/handlers/CommandHandlers.js +0 -60
  717. package/dist/daemon/handlers/CommandHandlers.js.map +0 -1
  718. package/dist/daemon/handlers/QueryHandlers.d.ts +0 -37
  719. package/dist/daemon/handlers/QueryHandlers.d.ts.map +0 -1
  720. package/dist/daemon/handlers/QueryHandlers.js +0 -126
  721. package/dist/daemon/handlers/QueryHandlers.js.map +0 -1
  722. package/dist/daemon/handlers/SessionHandlers.d.ts +0 -32
  723. package/dist/daemon/handlers/SessionHandlers.d.ts.map +0 -1
  724. package/dist/daemon/handlers/SessionHandlers.js +0 -213
  725. package/dist/daemon/handlers/SessionHandlers.js.map +0 -1
  726. package/dist/daemon/handlers/pendingRequests.d.ts +0 -50
  727. package/dist/daemon/handlers/pendingRequests.d.ts.map +0 -1
  728. package/dist/daemon/handlers/pendingRequests.js +0 -57
  729. package/dist/daemon/handlers/pendingRequests.js.map +0 -1
  730. package/dist/daemon/handlers/requestHandlers.d.ts +0 -55
  731. package/dist/daemon/handlers/requestHandlers.d.ts.map +0 -1
  732. package/dist/daemon/handlers/requestHandlers.js +0 -66
  733. package/dist/daemon/handlers/requestHandlers.js.map +0 -1
  734. package/dist/daemon/handlers/responseHandler.d.ts +0 -42
  735. package/dist/daemon/handlers/responseHandler.d.ts.map +0 -1
  736. package/dist/daemon/handlers/responseHandler.js +0 -217
  737. package/dist/daemon/handlers/responseHandler.js.map +0 -1
  738. package/dist/daemon/ipcServer.d.ts.map +0 -1
  739. package/dist/daemon/ipcServer.js.map +0 -1
  740. package/dist/daemon/launcher.d.ts.map +0 -1
  741. package/dist/daemon/launcher.js.map +0 -1
  742. package/dist/daemon/lifecycle/cdpSetup.d.ts +0 -24
  743. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +0 -1
  744. package/dist/daemon/lifecycle/cdpSetup.js +0 -55
  745. package/dist/daemon/lifecycle/cdpSetup.js.map +0 -1
  746. package/dist/daemon/lifecycle/chromeConnection.d.ts +0 -17
  747. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +0 -1
  748. package/dist/daemon/lifecycle/chromeConnection.js +0 -79
  749. package/dist/daemon/lifecycle/chromeConnection.js.map +0 -1
  750. package/dist/daemon/lifecycle/signalHandlers.d.ts +0 -14
  751. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +0 -1
  752. package/dist/daemon/lifecycle/signalHandlers.js +0 -48
  753. package/dist/daemon/lifecycle/signalHandlers.js.map +0 -1
  754. package/dist/daemon/lifecycle/workerCleanup.d.ts +0 -27
  755. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +0 -1
  756. package/dist/daemon/lifecycle/workerCleanup.js +0 -143
  757. package/dist/daemon/lifecycle/workerCleanup.js.map +0 -1
  758. package/dist/daemon/lifecycle/workerConfig.d.ts +0 -14
  759. package/dist/daemon/lifecycle/workerConfig.d.ts.map +0 -1
  760. package/dist/daemon/lifecycle/workerConfig.js +0 -69
  761. package/dist/daemon/lifecycle/workerConfig.js.map +0 -1
  762. package/dist/daemon/lifecycle/workerIpc.d.ts +0 -14
  763. package/dist/daemon/lifecycle/workerIpc.d.ts.map +0 -1
  764. package/dist/daemon/lifecycle/workerIpc.js +0 -86
  765. package/dist/daemon/lifecycle/workerIpc.js.map +0 -1
  766. package/dist/daemon/patternDefinitions.d.ts.map +0 -1
  767. package/dist/daemon/patternDefinitions.js.map +0 -1
  768. package/dist/daemon/patternDetector.d.ts.map +0 -1
  769. package/dist/daemon/patternDetector.js.map +0 -1
  770. package/dist/daemon/server/JsonlParser.d.ts +0 -31
  771. package/dist/daemon/server/JsonlParser.d.ts.map +0 -1
  772. package/dist/daemon/server/JsonlParser.js +0 -55
  773. package/dist/daemon/server/JsonlParser.js.map +0 -1
  774. package/dist/daemon/server/SocketServer.d.ts.map +0 -1
  775. package/dist/daemon/server/SocketServer.js.map +0 -1
  776. package/dist/daemon/server/WorkerManager.d.ts +0 -36
  777. package/dist/daemon/server/WorkerManager.d.ts.map +0 -1
  778. package/dist/daemon/server/WorkerManager.js +0 -89
  779. package/dist/daemon/server/WorkerManager.js.map +0 -1
  780. package/dist/daemon/services/SessionService.d.ts +0 -87
  781. package/dist/daemon/services/SessionService.d.ts.map +0 -1
  782. package/dist/daemon/services/SessionService.js +0 -45
  783. package/dist/daemon/services/SessionService.js.map +0 -1
  784. package/dist/daemon/startSession.d.ts +0 -55
  785. package/dist/daemon/startSession.d.ts.map +0 -1
  786. package/dist/daemon/startSession.js +0 -168
  787. package/dist/daemon/startSession.js.map +0 -1
  788. package/dist/daemon/worker/TelemetryStore.d.ts +0 -19
  789. package/dist/daemon/worker/TelemetryStore.d.ts.map +0 -1
  790. package/dist/daemon/worker/TelemetryStore.js +0 -53
  791. package/dist/daemon/worker/TelemetryStore.js.map +0 -1
  792. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +0 -11
  793. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +0 -1
  794. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +0 -136
  795. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +0 -1
  796. package/dist/daemon/worker/collectors.d.ts.map +0 -1
  797. package/dist/daemon/worker/collectors.js.map +0 -1
  798. package/dist/daemon/worker/commandRegistry.d.ts.map +0 -1
  799. package/dist/daemon/worker/commandRegistry.js +0 -236
  800. package/dist/daemon/worker/commandRegistry.js.map +0 -1
  801. package/dist/daemon/worker/plugins.d.ts.map +0 -1
  802. package/dist/daemon/worker/plugins.js +0 -75
  803. package/dist/daemon/worker/plugins.js.map +0 -1
  804. package/dist/daemon/worker/types.d.ts +0 -15
  805. package/dist/daemon/worker/types.d.ts.map +0 -1
  806. package/dist/daemon/worker/types.js.map +0 -1
  807. package/dist/daemon/worker.d.ts +0 -9
  808. package/dist/daemon/worker.d.ts.map +0 -1
  809. package/dist/daemon/worker.js +0 -98
  810. package/dist/daemon/worker.js.map +0 -1
  811. package/dist/daemon/workerIpc.d.ts +0 -33
  812. package/dist/daemon/workerIpc.d.ts.map +0 -1
  813. package/dist/daemon/workerIpc.js +0 -8
  814. package/dist/daemon/workerIpc.js.map +0 -1
  815. package/dist/daemon.d.ts.map +0 -1
  816. package/dist/daemon.js.map +0 -1
  817. package/dist/index.d.ts.map +0 -1
  818. package/dist/index.js.map +0 -1
  819. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -8
  820. package/dist/ipc/__tests__/client.contract.test.d.ts.map +0 -1
  821. package/dist/ipc/__tests__/client.contract.test.js +0 -693
  822. package/dist/ipc/__tests__/client.contract.test.js.map +0 -1
  823. package/dist/ipc/__tests__/errors.unit.test.d.ts +0 -7
  824. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +0 -1
  825. package/dist/ipc/__tests__/errors.unit.test.js +0 -77
  826. package/dist/ipc/__tests__/errors.unit.test.js.map +0 -1
  827. package/dist/ipc/__tests__/guards.unit.test.d.ts +0 -7
  828. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +0 -1
  829. package/dist/ipc/__tests__/guards.unit.test.js +0 -73
  830. package/dist/ipc/__tests__/guards.unit.test.js.map +0 -1
  831. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +0 -7
  832. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +0 -1
  833. package/dist/ipc/__tests__/jsonl.unit.test.js +0 -103
  834. package/dist/ipc/__tests__/jsonl.unit.test.js.map +0 -1
  835. package/dist/ipc/__tests__/validation.unit.test.d.ts +0 -7
  836. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +0 -1
  837. package/dist/ipc/__tests__/validation.unit.test.js +0 -60
  838. package/dist/ipc/__tests__/validation.unit.test.js.map +0 -1
  839. package/dist/ipc/client.d.ts.map +0 -1
  840. package/dist/ipc/client.js.map +0 -1
  841. package/dist/ipc/index.d.ts.map +0 -1
  842. package/dist/ipc/index.js.map +0 -1
  843. package/dist/ipc/protocol/commands.d.ts.map +0 -1
  844. package/dist/ipc/protocol/commands.js.map +0 -1
  845. package/dist/ipc/protocol/guards.d.ts.map +0 -1
  846. package/dist/ipc/protocol/guards.js.map +0 -1
  847. package/dist/ipc/protocol/index.d.ts.map +0 -1
  848. package/dist/ipc/protocol/index.js.map +0 -1
  849. package/dist/ipc/protocol/messages.d.ts.map +0 -1
  850. package/dist/ipc/protocol/messages.js.map +0 -1
  851. package/dist/ipc/session/errors.d.ts.map +0 -1
  852. package/dist/ipc/session/errors.js.map +0 -1
  853. package/dist/ipc/session/index.d.ts.map +0 -1
  854. package/dist/ipc/session/index.js.map +0 -1
  855. package/dist/ipc/session/lifecycle.d.ts.map +0 -1
  856. package/dist/ipc/session/lifecycle.js.map +0 -1
  857. package/dist/ipc/session/queries.d.ts.map +0 -1
  858. package/dist/ipc/session/queries.js.map +0 -1
  859. package/dist/ipc/session/types.d.ts.map +0 -1
  860. package/dist/ipc/session/types.js.map +0 -1
  861. package/dist/ipc/transport/IPCError.d.ts.map +0 -1
  862. package/dist/ipc/transport/IPCError.js.map +0 -1
  863. package/dist/ipc/transport/errors.d.ts.map +0 -1
  864. package/dist/ipc/transport/errors.js.map +0 -1
  865. package/dist/ipc/transport/index.d.ts.map +0 -1
  866. package/dist/ipc/transport/index.js.map +0 -1
  867. package/dist/ipc/transport/jsonl.d.ts.map +0 -1
  868. package/dist/ipc/transport/jsonl.js.map +0 -1
  869. package/dist/ipc/transport/socket.d.ts.map +0 -1
  870. package/dist/ipc/transport/socket.js.map +0 -1
  871. package/dist/ipc/transport/validation.d.ts.map +0 -1
  872. package/dist/ipc/transport/validation.js.map +0 -1
  873. package/dist/ipc/utils/errors.d.ts.map +0 -1
  874. package/dist/ipc/utils/errors.js.map +0 -1
  875. package/dist/ipc/utils/index.d.ts.map +0 -1
  876. package/dist/ipc/utils/index.js.map +0 -1
  877. package/dist/ipc/utils/requestId.d.ts +0 -23
  878. package/dist/ipc/utils/requestId.d.ts.map +0 -1
  879. package/dist/ipc/utils/requestId.js +0 -27
  880. package/dist/ipc/utils/requestId.js.map +0 -1
  881. package/dist/ipc/utils/responseValidator.d.ts.map +0 -1
  882. package/dist/ipc/utils/responseValidator.js.map +0 -1
  883. package/dist/ipc/utils/session.d.ts.map +0 -1
  884. package/dist/ipc/utils/session.js.map +0 -1
  885. package/dist/ipc/utils/types.d.ts.map +0 -1
  886. package/dist/ipc/utils/types.js.map +0 -1
  887. package/dist/session/QueryCacheManager.d.ts.map +0 -1
  888. package/dist/session/QueryCacheManager.js.map +0 -1
  889. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +0 -7
  890. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +0 -1
  891. package/dist/session/__tests__/chrome-cache.contract.test.js +0 -77
  892. package/dist/session/__tests__/chrome-cache.contract.test.js.map +0 -1
  893. package/dist/session/__tests__/cleanup.contract.test.d.ts +0 -7
  894. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +0 -1
  895. package/dist/session/__tests__/cleanup.contract.test.js +0 -84
  896. package/dist/session/__tests__/cleanup.contract.test.js.map +0 -1
  897. package/dist/session/__tests__/lock.contract.test.d.ts +0 -7
  898. package/dist/session/__tests__/lock.contract.test.d.ts.map +0 -1
  899. package/dist/session/__tests__/lock.contract.test.js +0 -77
  900. package/dist/session/__tests__/lock.contract.test.js.map +0 -1
  901. package/dist/session/__tests__/metadata.contract.test.d.ts +0 -7
  902. package/dist/session/__tests__/metadata.contract.test.d.ts.map +0 -1
  903. package/dist/session/__tests__/metadata.contract.test.js +0 -87
  904. package/dist/session/__tests__/metadata.contract.test.js.map +0 -1
  905. package/dist/session/chrome.d.ts.map +0 -1
  906. package/dist/session/chrome.js.map +0 -1
  907. package/dist/session/cleanup.d.ts +0 -141
  908. package/dist/session/cleanup.d.ts.map +0 -1
  909. package/dist/session/cleanup.js +0 -514
  910. package/dist/session/cleanup.js.map +0 -1
  911. package/dist/session/lock.d.ts +0 -57
  912. package/dist/session/lock.d.ts.map +0 -1
  913. package/dist/session/lock.js +0 -165
  914. package/dist/session/lock.js.map +0 -1
  915. package/dist/session/metadata.d.ts.map +0 -1
  916. package/dist/session/metadata.js.map +0 -1
  917. package/dist/session/output.d.ts +0 -18
  918. package/dist/session/output.d.ts.map +0 -1
  919. package/dist/session/output.js +0 -24
  920. package/dist/session/output.js.map +0 -1
  921. package/dist/session/paths.d.ts.map +0 -1
  922. package/dist/session/paths.js.map +0 -1
  923. package/dist/session/pid.d.ts.map +0 -1
  924. package/dist/session/pid.js.map +0 -1
  925. package/dist/session/port.d.ts.map +0 -1
  926. package/dist/session/port.js.map +0 -1
  927. package/dist/session/process.d.ts +0 -8
  928. package/dist/session/process.d.ts.map +0 -1
  929. package/dist/session/process.js +0 -8
  930. package/dist/session/process.js.map +0 -1
  931. package/dist/session/queryCache.d.ts +0 -46
  932. package/dist/session/queryCache.d.ts.map +0 -1
  933. package/dist/session/queryCache.js +0 -54
  934. package/dist/session/queryCache.js.map +0 -1
  935. package/dist/session/statusData.d.ts.map +0 -1
  936. package/dist/session/statusData.js.map +0 -1
  937. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +0 -10
  938. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +0 -1
  939. package/dist/telemetry/__tests__/a11y.unit.test.js +0 -265
  940. package/dist/telemetry/__tests__/a11y.unit.test.js.map +0 -1
  941. package/dist/telemetry/__tests__/filters.unit.test.d.ts +0 -2
  942. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +0 -1
  943. package/dist/telemetry/__tests__/filters.unit.test.js +0 -357
  944. package/dist/telemetry/__tests__/filters.unit.test.js.map +0 -1
  945. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +0 -8
  946. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +0 -1
  947. package/dist/telemetry/__tests__/navigation.contract.test.js +0 -211
  948. package/dist/telemetry/__tests__/navigation.contract.test.js.map +0 -1
  949. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -8
  950. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +0 -1
  951. package/dist/telemetry/__tests__/network.contract.test.js +0 -623
  952. package/dist/telemetry/__tests__/network.contract.test.js.map +0 -1
  953. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +0 -2
  954. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +0 -1
  955. package/dist/telemetry/__tests__/remoteObject.unit.test.js +0 -261
  956. package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +0 -1
  957. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +0 -9
  958. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +0 -1
  959. package/dist/telemetry/__tests__/roleInference.unit.test.js +0 -138
  960. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +0 -1
  961. package/dist/telemetry/__tests__/utils.unit.test.d.ts +0 -7
  962. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +0 -1
  963. package/dist/telemetry/__tests__/utils.unit.test.js +0 -91
  964. package/dist/telemetry/__tests__/utils.unit.test.js.map +0 -1
  965. package/dist/telemetry/a11y.d.ts.map +0 -1
  966. package/dist/telemetry/a11y.js.map +0 -1
  967. package/dist/telemetry/console.d.ts.map +0 -1
  968. package/dist/telemetry/console.js.map +0 -1
  969. package/dist/telemetry/dialogs.d.ts.map +0 -1
  970. package/dist/telemetry/dialogs.js.map +0 -1
  971. package/dist/telemetry/dom.d.ts.map +0 -1
  972. package/dist/telemetry/dom.js.map +0 -1
  973. package/dist/telemetry/filterDsl.d.ts.map +0 -1
  974. package/dist/telemetry/filterDsl.js.map +0 -1
  975. package/dist/telemetry/filterPresets.d.ts.map +0 -1
  976. package/dist/telemetry/filterPresets.js.map +0 -1
  977. package/dist/telemetry/filters.d.ts.map +0 -1
  978. package/dist/telemetry/filters.js.map +0 -1
  979. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +0 -8
  980. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +0 -1
  981. package/dist/telemetry/har/__tests__/builder.unit.test.js +0 -694
  982. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +0 -1
  983. package/dist/telemetry/har/builder.d.ts.map +0 -1
  984. package/dist/telemetry/har/builder.js.map +0 -1
  985. package/dist/telemetry/har/types.d.ts.map +0 -1
  986. package/dist/telemetry/har/types.js.map +0 -1
  987. package/dist/telemetry/navigation.d.ts.map +0 -1
  988. package/dist/telemetry/navigation.js.map +0 -1
  989. package/dist/telemetry/network.d.ts.map +0 -1
  990. package/dist/telemetry/network.js.map +0 -1
  991. package/dist/telemetry/objectExpander.d.ts.map +0 -1
  992. package/dist/telemetry/objectExpander.js.map +0 -1
  993. package/dist/telemetry/remoteObject.d.ts.map +0 -1
  994. package/dist/telemetry/remoteObject.js.map +0 -1
  995. package/dist/telemetry/remoteObjectUtils.d.ts.map +0 -1
  996. package/dist/telemetry/remoteObjectUtils.js.map +0 -1
  997. package/dist/telemetry/roleInference.d.ts.map +0 -1
  998. package/dist/telemetry/roleInference.js.map +0 -1
  999. package/dist/telemetry/utils.d.ts.map +0 -1
  1000. package/dist/telemetry/utils.js.map +0 -1
  1001. package/dist/types/dom.d.ts +0 -77
  1002. package/dist/types/dom.d.ts.map +0 -1
  1003. package/dist/types/dom.js +0 -8
  1004. package/dist/types/dom.js.map +0 -1
  1005. package/dist/types.d.ts.map +0 -1
  1006. package/dist/types.js.map +0 -1
  1007. package/dist/ui/OutputBuilder.d.ts.map +0 -1
  1008. package/dist/ui/OutputBuilder.js.map +0 -1
  1009. package/dist/ui/errors/CommandError.d.ts.map +0 -1
  1010. package/dist/ui/errors/CommandError.js.map +0 -1
  1011. package/dist/ui/errors/index.d.ts.map +0 -1
  1012. package/dist/ui/errors/index.js.map +0 -1
  1013. package/dist/ui/errors/utils.d.ts.map +0 -1
  1014. package/dist/ui/errors/utils.js.map +0 -1
  1015. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +0 -13
  1016. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +0 -1
  1017. package/dist/ui/formatters/__tests__/preview.unit.test.js +0 -180
  1018. package/dist/ui/formatters/__tests__/preview.unit.test.js.map +0 -1
  1019. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +0 -2
  1020. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +0 -1
  1021. package/dist/ui/formatters/__tests__/semantic.unit.test.js +0 -111
  1022. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +0 -1
  1023. package/dist/ui/formatters/a11y.d.ts.map +0 -1
  1024. package/dist/ui/formatters/a11y.js.map +0 -1
  1025. package/dist/ui/formatters/console.d.ts.map +0 -1
  1026. package/dist/ui/formatters/console.js.map +0 -1
  1027. package/dist/ui/formatters/cookies.d.ts.map +0 -1
  1028. package/dist/ui/formatters/cookies.js.map +0 -1
  1029. package/dist/ui/formatters/details.d.ts.map +0 -1
  1030. package/dist/ui/formatters/details.js.map +0 -1
  1031. package/dist/ui/formatters/dom.d.ts.map +0 -1
  1032. package/dist/ui/formatters/dom.js.map +0 -1
  1033. package/dist/ui/formatters/form.d.ts.map +0 -1
  1034. package/dist/ui/formatters/form.js.map +0 -1
  1035. package/dist/ui/formatters/helpFormatters.d.ts.map +0 -1
  1036. package/dist/ui/formatters/helpFormatters.js.map +0 -1
  1037. package/dist/ui/formatters/index.d.ts.map +0 -1
  1038. package/dist/ui/formatters/index.js.map +0 -1
  1039. package/dist/ui/formatters/networkHeaders.d.ts.map +0 -1
  1040. package/dist/ui/formatters/networkHeaders.js.map +0 -1
  1041. package/dist/ui/formatters/networkList.d.ts.map +0 -1
  1042. package/dist/ui/formatters/networkList.js.map +0 -1
  1043. package/dist/ui/formatters/preview.d.ts.map +0 -1
  1044. package/dist/ui/formatters/preview.js.map +0 -1
  1045. package/dist/ui/formatters/semantic.d.ts.map +0 -1
  1046. package/dist/ui/formatters/semantic.js.map +0 -1
  1047. package/dist/ui/formatters/sessionFormatters.d.ts +0 -58
  1048. package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
  1049. package/dist/ui/formatters/sessionFormatters.js +0 -118
  1050. package/dist/ui/formatters/sessionFormatters.js.map +0 -1
  1051. package/dist/ui/formatters/status.d.ts.map +0 -1
  1052. package/dist/ui/formatters/status.js.map +0 -1
  1053. package/dist/ui/formatting.d.ts.map +0 -1
  1054. package/dist/ui/formatting.js.map +0 -1
  1055. package/dist/ui/logging/index.d.ts.map +0 -1
  1056. package/dist/ui/logging/index.js.map +0 -1
  1057. package/dist/ui/logging/logger.d.ts.map +0 -1
  1058. package/dist/ui/logging/logger.js.map +0 -1
  1059. package/dist/ui/messages/chrome.d.ts.map +0 -1
  1060. package/dist/ui/messages/chrome.js.map +0 -1
  1061. package/dist/ui/messages/commands.d.ts.map +0 -1
  1062. package/dist/ui/messages/commands.js.map +0 -1
  1063. package/dist/ui/messages/consoleMessages.d.ts.map +0 -1
  1064. package/dist/ui/messages/consoleMessages.js.map +0 -1
  1065. package/dist/ui/messages/debug.d.ts +0 -168
  1066. package/dist/ui/messages/debug.d.ts.map +0 -1
  1067. package/dist/ui/messages/debug.js +0 -219
  1068. package/dist/ui/messages/debug.js.map +0 -1
  1069. package/dist/ui/messages/dom.d.ts +0 -14
  1070. package/dist/ui/messages/dom.d.ts.map +0 -1
  1071. package/dist/ui/messages/dom.js +0 -28
  1072. package/dist/ui/messages/dom.js.map +0 -1
  1073. package/dist/ui/messages/errors.d.ts +0 -233
  1074. package/dist/ui/messages/errors.d.ts.map +0 -1
  1075. package/dist/ui/messages/errors.js +0 -395
  1076. package/dist/ui/messages/errors.js.map +0 -1
  1077. package/dist/ui/messages/hints.d.ts.map +0 -1
  1078. package/dist/ui/messages/hints.js.map +0 -1
  1079. package/dist/ui/messages/internal.d.ts +0 -23
  1080. package/dist/ui/messages/internal.d.ts.map +0 -1
  1081. package/dist/ui/messages/internal.js +0 -27
  1082. package/dist/ui/messages/internal.js.map +0 -1
  1083. package/dist/ui/messages/networkMessages.d.ts.map +0 -1
  1084. package/dist/ui/messages/networkMessages.js.map +0 -1
  1085. package/dist/ui/messages/preview.d.ts.map +0 -1
  1086. package/dist/ui/messages/preview.js.map +0 -1
  1087. package/dist/ui/messages/session.d.ts.map +0 -1
  1088. package/dist/ui/messages/session.js.map +0 -1
  1089. package/dist/ui/messages/validation.d.ts.map +0 -1
  1090. package/dist/ui/messages/validation.js.map +0 -1
  1091. package/dist/utils/__tests__/atomicFile.test.d.ts +0 -2
  1092. package/dist/utils/__tests__/atomicFile.test.d.ts.map +0 -1
  1093. package/dist/utils/__tests__/atomicFile.test.js +0 -43
  1094. package/dist/utils/__tests__/atomicFile.test.js.map +0 -1
  1095. package/dist/utils/__tests__/errors.unit.test.d.ts +0 -12
  1096. package/dist/utils/__tests__/errors.unit.test.d.ts.map +0 -1
  1097. package/dist/utils/__tests__/errors.unit.test.js +0 -255
  1098. package/dist/utils/__tests__/errors.unit.test.js.map +0 -1
  1099. package/dist/utils/__tests__/http.unit.test.d.ts +0 -12
  1100. package/dist/utils/__tests__/http.unit.test.d.ts.map +0 -1
  1101. package/dist/utils/__tests__/http.unit.test.js +0 -218
  1102. package/dist/utils/__tests__/http.unit.test.js.map +0 -1
  1103. package/dist/utils/__tests__/objects.test.d.ts +0 -2
  1104. package/dist/utils/__tests__/objects.test.d.ts.map +0 -1
  1105. package/dist/utils/__tests__/objects.test.js +0 -50
  1106. package/dist/utils/__tests__/objects.test.js.map +0 -1
  1107. package/dist/utils/__tests__/process.unit.test.d.ts +0 -14
  1108. package/dist/utils/__tests__/process.unit.test.d.ts.map +0 -1
  1109. package/dist/utils/__tests__/process.unit.test.js +0 -124
  1110. package/dist/utils/__tests__/process.unit.test.js.map +0 -1
  1111. package/dist/utils/__tests__/session.contract.test.d.ts +0 -2
  1112. package/dist/utils/__tests__/session.contract.test.d.ts.map +0 -1
  1113. package/dist/utils/__tests__/session.contract.test.js +0 -258
  1114. package/dist/utils/__tests__/session.contract.test.js.map +0 -1
  1115. package/dist/utils/__tests__/shellDetection.unit.test.d.ts +0 -12
  1116. package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +0 -1
  1117. package/dist/utils/__tests__/shellDetection.unit.test.js +0 -220
  1118. package/dist/utils/__tests__/shellDetection.unit.test.js.map +0 -1
  1119. package/dist/utils/__tests__/url.test.d.ts +0 -2
  1120. package/dist/utils/__tests__/url.test.d.ts.map +0 -1
  1121. package/dist/utils/__tests__/url.test.js +0 -42
  1122. package/dist/utils/__tests__/url.test.js.map +0 -1
  1123. package/dist/utils/async.d.ts.map +0 -1
  1124. package/dist/utils/async.js.map +0 -1
  1125. package/dist/utils/atomicFile.d.ts.map +0 -1
  1126. package/dist/utils/atomicFile.js.map +0 -1
  1127. package/dist/utils/concurrency.d.ts.map +0 -1
  1128. package/dist/utils/concurrency.js.map +0 -1
  1129. package/dist/utils/daemonErrors.d.ts +0 -60
  1130. package/dist/utils/daemonErrors.d.ts.map +0 -1
  1131. package/dist/utils/daemonErrors.js +0 -58
  1132. package/dist/utils/daemonErrors.js.map +0 -1
  1133. package/dist/utils/decisionTrees.d.ts.map +0 -1
  1134. package/dist/utils/decisionTrees.js.map +0 -1
  1135. package/dist/utils/errorMapping.d.ts.map +0 -1
  1136. package/dist/utils/errorMapping.js.map +0 -1
  1137. package/dist/utils/errors.d.ts.map +0 -1
  1138. package/dist/utils/errors.js.map +0 -1
  1139. package/dist/utils/exitCodes.d.ts.map +0 -1
  1140. package/dist/utils/exitCodes.js.map +0 -1
  1141. package/dist/utils/file.d.ts.map +0 -1
  1142. package/dist/utils/file.js.map +0 -1
  1143. package/dist/utils/http.d.ts.map +0 -1
  1144. package/dist/utils/http.js.map +0 -1
  1145. package/dist/utils/levenshtein.d.ts.map +0 -1
  1146. package/dist/utils/levenshtein.js.map +0 -1
  1147. package/dist/utils/objects.d.ts.map +0 -1
  1148. package/dist/utils/objects.js.map +0 -1
  1149. package/dist/utils/process.d.ts.map +0 -1
  1150. package/dist/utils/process.js.map +0 -1
  1151. package/dist/utils/shellDetection.d.ts.map +0 -1
  1152. package/dist/utils/shellDetection.js.map +0 -1
  1153. package/dist/utils/strings.d.ts.map +0 -1
  1154. package/dist/utils/strings.js.map +0 -1
  1155. package/dist/utils/suggestions.d.ts.map +0 -1
  1156. package/dist/utils/suggestions.js.map +0 -1
  1157. package/dist/utils/taskMappings.d.ts.map +0 -1
  1158. package/dist/utils/taskMappings.js.map +0 -1
  1159. package/dist/utils/typeGuards.d.ts.map +0 -1
  1160. package/dist/utils/typeGuards.js.map +0 -1
  1161. package/dist/utils/url.d.ts.map +0 -1
  1162. package/dist/utils/url.js.map +0 -1
  1163. package/dist/utils/validation.d.ts.map +0 -1
  1164. package/dist/utils/validation.js.map +0 -1
  1165. package/dist/utils/version.d.ts.map +0 -1
  1166. package/dist/utils/version.js.map +0 -1
  1167. /package/dist/daemon/{worker → session}/commandRegistry.d.ts +0 -0
  1168. /package/dist/daemon/{worker → session}/types.js +0 -0
  1169. /package/dist/{ui/errors → errors}/CommandError.d.ts +0 -0
  1170. /package/dist/{ui/errors → errors}/index.js +0 -0
  1171. /package/dist/{ui/errors → errors}/utils.d.ts +0 -0
  1172. /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`);