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
@@ -0,0 +1,379 @@
1
+ /**
2
+ * Event listeners that run for an element (`bdg dom listeners`).
3
+ *
4
+ * Collects the listeners of the element, every ancestor (through open shadow
5
+ * roots), its document and its window with `DOMDebugger.getEventListeners`,
6
+ * so handlers that frameworks attach by delegation (React on its root
7
+ * container, jQuery on `document`) are found too, along with the handlers
8
+ * behind them (jQuery's handlers, React's `on…` props). The Debugger domain is not
9
+ * enabled: that would make `debugger;` statements pause the page.
10
+ */
11
+ import { CDPProtocolError } from '../../connection/errors.js';
12
+ import { CommandError } from '../../errors/index.js';
13
+ import { eventListenersUnavailableError, operationFailedError } from '../../errors/messages.js';
14
+ import { throwIfInvalidSelector, withMultipleMatchesWarning, } from './formFillHelpers/shared.js';
15
+ import { ELEMENT_INFO_JS } from './listenerPageScripts.js';
16
+ import { buildListenerReport, describeChainEntry, suggestEventTypes, } from './listenerSummary.js';
17
+ import { DEEP_QUERY_JS, missingElementError, selectorArgsJS } from './targetNode.js';
18
+ import { createLogger } from '../../ui/logging/index.js';
19
+ import { getErrorMessage } from '../../utils/errors.js';
20
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
21
+ const log = createLogger('dom');
22
+ /** JSON-RPC code Chrome returns for an unknown method */
23
+ const METHOD_NOT_FOUND = -32601;
24
+ /**
25
+ * Page function: the selector's match at `index` as `[matchCount, element]`,
26
+ * or just the match count when there is no such match.
27
+ */
28
+ const SELECT_JS = `function (selector, parts, index) {
29
+ const found = (${DEEP_QUERY_JS})(selector, parts);
30
+ return found[index] ? [found.length, found[index]] : found.length;
31
+ }`;
32
+ /**
33
+ * Page function, called on the element: `[element, ...ancestors, document,
34
+ * window]`, or null when it left the page. Shadow roots lead to their host,
35
+ * like composed events do.
36
+ */
37
+ const CHAIN_JS = `function () {
38
+ if (!this.isConnected) return null;
39
+ const chain = [];
40
+ const next = (node) => node.parentNode || (node.nodeType === 11 && node.host ? node.host : null);
41
+ for (let node = this; node; node = next(node)) chain.push(node);
42
+ const view = this.ownerDocument && this.ownerDocument.defaultView;
43
+ if (view) chain.push(view);
44
+ return chain;
45
+ }`;
46
+ /** Distinguishes the object groups of concurrent calls */
47
+ let groupCounter = 0;
48
+ /**
49
+ * List the event listeners that run for an element.
50
+ *
51
+ * @param cdp - CDP connection
52
+ * @param params - Selector (and index) or backend node id, optional event types
53
+ * @returns Listener report
54
+ * @throws CommandError (83) no match, (81) index out of range or invalid
55
+ * selector, (87) the cached element left the page, (110) no DOMDebugger
56
+ */
57
+ export async function inspectEventListeners(cdp, params) {
58
+ const objectGroup = `bdg-listeners-${++groupCounter}`;
59
+ try {
60
+ const { matchCount, chain } = await findEventTargetChain(cdp, params, objectGroup);
61
+ const collected = await collectListeners(cdp, chain);
62
+ const page = await pageDetails(cdp, chain, collected, objectGroup, params.types);
63
+ const found = collected.map((item) => {
64
+ const framework = page.roots[item.position];
65
+ return framework ? { ...item, entry: { ...item.entry, framework } } : item;
66
+ });
67
+ const report = buildListenerReport(found, page.details, params, page.react);
68
+ const result = {
69
+ success: true,
70
+ selector: params.selector,
71
+ ...(params.index !== undefined && { index: params.index }),
72
+ element: describeChainEntry(chain[0] ?? {}),
73
+ ...(page.frame && { frame: page.frame }),
74
+ listeners: report.listeners,
75
+ ...(report.collapsed.length > 0 && { collapsed: report.collapsed }),
76
+ ...typeSuggestions(found, report, params.types),
77
+ ...(page.jquerySkipped && { jqueryHandlersSkipped: page.jquerySkipped }),
78
+ ...(page.reactSkipped && { reactHandlersSkipped: page.reactSkipped }),
79
+ ...(params.backendNodeId === undefined && { matchCount }),
80
+ };
81
+ return withMultipleMatchesWarning(result, params.index, 'listing the first');
82
+ }
83
+ finally {
84
+ void cdp
85
+ .send('Runtime.releaseObjectGroup', { objectGroup })
86
+ .catch((error) => log.debug(`Object group not released: ${getErrorMessage(error)}`));
87
+ }
88
+ }
89
+ /**
90
+ * Find the element and the event targets above it.
91
+ *
92
+ * The chain is built in the element's own frame: `DOMDebugger.getEventListeners`
93
+ * only reports handlers created in the context the object belongs to, so an
94
+ * element of a same-origin iframe found from the top page would show none.
95
+ *
96
+ * @param cdp - CDP connection
97
+ * @param params - Request
98
+ * @param objectGroup - Object group for the handles
99
+ * @returns Number of selector matches and the chain (element first, window last)
100
+ */
101
+ async function findEventTargetChain(cdp, params, objectGroup) {
102
+ const match = params.backendNodeId === undefined
103
+ ? await findSelectorMatch(cdp, params, objectGroup)
104
+ : { matchCount: 1, backendNodeId: params.backendNodeId };
105
+ const chain = await nodeChain(cdp, match.backendNodeId, objectGroup);
106
+ if (!chain)
107
+ throw missingElementError(params, 0);
108
+ return { matchCount: match.matchCount, chain };
109
+ }
110
+ /**
111
+ * Find the selector's match at `--index` (searching open shadow roots and
112
+ * same-origin frames).
113
+ *
114
+ * @param cdp - CDP connection
115
+ * @param params - Request with the selector
116
+ * @param objectGroup - Object group for the handles
117
+ * @returns Number of matches and the backend node id of the match
118
+ * @throws CommandError (81) invalid selector or index out of range, (83) no match
119
+ */
120
+ async function findSelectorMatch(cdp, params, objectGroup) {
121
+ const expression = `(${SELECT_JS})(${selectorArgsJS(params.selector)}, ${params.index ?? 0})`;
122
+ const response = (await cdp.send('Runtime.evaluate', {
123
+ expression,
124
+ objectGroup,
125
+ }));
126
+ if (response.exceptionDetails) {
127
+ throwIfInvalidSelector(response.exceptionDetails, params.selector);
128
+ const err = operationFailedError('find the element', response.exceptionDetails.text);
129
+ throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.SCRIPT_ERROR);
130
+ }
131
+ if (!response.result.objectId) {
132
+ throw missingElementError(params, Number(response.result.value ?? 0));
133
+ }
134
+ const [count, element] = await arrayItems(cdp, response.result.objectId);
135
+ const { node } = (await cdp.send('DOM.describeNode', {
136
+ objectId: element?.objectId,
137
+ }));
138
+ return { matchCount: Number(count?.value ?? 1), backendNodeId: node.backendNodeId };
139
+ }
140
+ /**
141
+ * The element with `backendNodeId` and the event targets above it, resolved
142
+ * in the element's frame.
143
+ *
144
+ * @param cdp - CDP connection
145
+ * @param backendNodeId - Backend node id
146
+ * @param objectGroup - Object group for the handles
147
+ * @returns Chain (element first, window last), or null when the node is gone
148
+ */
149
+ async function nodeChain(cdp, backendNodeId, objectGroup) {
150
+ const resolved = (await cdp
151
+ .send('DOM.resolveNode', { backendNodeId, objectGroup })
152
+ .catch((error) => {
153
+ log.debug(`Node ${backendNodeId} not resolved: ${getErrorMessage(error)}`);
154
+ return {};
155
+ }));
156
+ const objectId = resolved.object?.objectId;
157
+ if (!objectId)
158
+ return null;
159
+ const response = (await cdp.send('Runtime.callFunctionOn', {
160
+ objectId,
161
+ functionDeclaration: CHAIN_JS,
162
+ objectGroup,
163
+ }));
164
+ if (!response.result.objectId)
165
+ return null;
166
+ const items = await arrayItems(cdp, response.result.objectId);
167
+ return items.flatMap((item) => item?.objectId
168
+ ? [{ objectId: item.objectId, className: item.className, description: item.description }]
169
+ : []);
170
+ }
171
+ /**
172
+ * Items of an array in the page, in order.
173
+ *
174
+ * @param cdp - CDP connection
175
+ * @param arrayId - Object id of the array
176
+ * @returns Its items
177
+ */
178
+ async function arrayItems(cdp, arrayId) {
179
+ const { result } = (await cdp.send('Runtime.getProperties', {
180
+ objectId: arrayId,
181
+ ownProperties: true,
182
+ }));
183
+ return result
184
+ .filter((property) => /^\d+$/.test(property.name))
185
+ .sort((a, b) => Number(a.name) - Number(b.name))
186
+ .map((property) => property.value);
187
+ }
188
+ /**
189
+ * Get the listeners of every event target in the chain (in parallel).
190
+ *
191
+ * @param cdp - CDP connection
192
+ * @param chain - Event targets, element first
193
+ * @returns Listeners per target
194
+ * @throws CommandError (110) when the browser has no DOMDebugger.getEventListeners
195
+ */
196
+ async function collectListeners(cdp, chain) {
197
+ try {
198
+ return await Promise.all(chain.map(async (entry, position) => {
199
+ const { listeners } = (await cdp.send('DOMDebugger.getEventListeners', {
200
+ objectId: entry.objectId,
201
+ depth: 0,
202
+ }));
203
+ return { position, entry, listeners };
204
+ }));
205
+ }
206
+ catch (error) {
207
+ if (!(error instanceof CDPProtocolError) || error.code !== METHOD_NOT_FOUND)
208
+ throw error;
209
+ const err = eventListenersUnavailableError(error.message);
210
+ throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.SOFTWARE_ERROR);
211
+ }
212
+ }
213
+ /**
214
+ * `--type` values the user probably meant, when none matched.
215
+ *
216
+ * @param found - All listeners found
217
+ * @param report - The filtered report
218
+ * @param types - Requested types
219
+ * @returns `{ typeSuggestions }` when there are any
220
+ */
221
+ function typeSuggestions(found, report, types) {
222
+ if (!types?.length || report.listeners.length > 0 || report.collapsed.length > 0)
223
+ return {};
224
+ const available = [...new Set(found.flatMap((entry) => entry.listeners.map((l) => l.type)))];
225
+ const suggestions = suggestEventTypes(types, available);
226
+ return suggestions.length > 0 ? { typeSuggestions: suggestions } : {};
227
+ }
228
+ /**
229
+ * Ask the page about the element and its listeners' handlers: their names
230
+ * (`Function.name` also knows names of arrow functions assigned to
231
+ * variables, and `bound f` for bound functions), which function object each
232
+ * calls, the jQuery handlers behind jQuery's dispatcher, the React `on…`
233
+ * props that run for the element's events, React root containers and the
234
+ * element's iframe.
235
+ *
236
+ * @param cdp - CDP connection
237
+ * @param chain - Event targets, element first
238
+ * @param found - Listeners per chain entry
239
+ * @param objectGroup - Object group for the handles
240
+ * @param types - Requested event types (React props of others are not read)
241
+ * @returns Details; empty when the page could not tell
242
+ */
243
+ async function pageDetails(cdp, chain, found, objectGroup, types) {
244
+ const listeners = found.flatMap((entry) => entry.listeners.map((listener) => ({ position: entry.position, listener })));
245
+ const handlers = listeners.map(({ listener }) => listener.handler);
246
+ try {
247
+ const targets = await Promise.all(handlers.map((handler) => boundTarget(cdp, handler)));
248
+ const response = (await cdp.send('Runtime.callFunctionOn', {
249
+ objectId: chain[0]?.objectId,
250
+ functionDeclaration: ELEMENT_INFO_JS,
251
+ arguments: [
252
+ { value: listeners.map(({ position, listener }) => ({ position, type: listener.type })) },
253
+ { value: types ?? null },
254
+ ...chain.map((entry) => ({ objectId: entry.objectId })),
255
+ ...handlers.map(objectArgument),
256
+ ...targets.map(objectArgument),
257
+ ],
258
+ objectGroup,
259
+ }));
260
+ const [infoObject, ...fns] = await arrayItems(cdp, response.result.objectId ?? '');
261
+ const info = await valueOf(cdp, infoObject?.objectId ?? '');
262
+ return toPageDetails(info, await Promise.all(fns.map((fn) => handlerSource(cdp, fn))));
263
+ }
264
+ catch (error) {
265
+ log.debug(`Handler details not read: ${getErrorMessage(error)}`);
266
+ return { details: [], roots: [], react: [] };
267
+ }
268
+ }
269
+ /**
270
+ * A `Runtime.callFunctionOn` argument for a remote object.
271
+ *
272
+ * @param object - The object, if any
273
+ * @returns Its handle, or null
274
+ */
275
+ function objectArgument(object) {
276
+ return object?.objectId ? { objectId: object.objectId } : { value: null };
277
+ }
278
+ /**
279
+ * An internal property (`[[TargetFunction]]`, `[[FunctionLocation]]`) of a
280
+ * page object.
281
+ *
282
+ * @param cdp - CDP connection
283
+ * @param objectId - The object
284
+ * @param name - Property name
285
+ * @returns Its value, undefined when missing or unreadable
286
+ */
287
+ async function internalProperty(cdp, objectId, name) {
288
+ try {
289
+ const { internalProperties = [] } = (await cdp.send('Runtime.getProperties', {
290
+ objectId,
291
+ ownProperties: true,
292
+ }));
293
+ return internalProperties.find((property) => property.name === name)?.value;
294
+ }
295
+ catch (error) {
296
+ log.debug(`${name} not read: ${getErrorMessage(error)}`);
297
+ return undefined;
298
+ }
299
+ }
300
+ /**
301
+ * The function a bound handler calls (React binds one dispatcher per event
302
+ * type), so dispatchers are recognised by function identity.
303
+ *
304
+ * @param cdp - CDP connection
305
+ * @param handler - Listener handler
306
+ * @returns The target function, undefined for handlers that are not bound
307
+ */
308
+ async function boundTarget(cdp, handler) {
309
+ if (!handler?.objectId || !handler.description?.includes('[native code]'))
310
+ return undefined;
311
+ return internalProperty(cdp, handler.objectId, '[[TargetFunction]]');
312
+ }
313
+ /**
314
+ * Copy a page object by value.
315
+ *
316
+ * @param cdp - CDP connection
317
+ * @param objectId - The object
318
+ * @returns Its JSON value
319
+ */
320
+ async function valueOf(cdp, objectId) {
321
+ const response = (await cdp.send('Runtime.callFunctionOn', {
322
+ objectId,
323
+ functionDeclaration: 'function () { return this; }',
324
+ returnByValue: true,
325
+ }));
326
+ return response.result.value;
327
+ }
328
+ /**
329
+ * Source and location of a framework handler function (no location when
330
+ * it cannot be read).
331
+ *
332
+ * @param cdp - CDP connection
333
+ * @param fn - The function
334
+ * @returns Its source and location
335
+ */
336
+ async function handlerSource(cdp, fn) {
337
+ const source = { source: fn?.description, scriptId: '0', lineNumber: 0, columnNumber: 0 };
338
+ if (!fn?.objectId)
339
+ return source;
340
+ const location = (await internalProperty(cdp, fn.objectId, '[[FunctionLocation]]'))?.value;
341
+ return { ...source, ...location };
342
+ }
343
+ /** Location of a handler whose source could not be read */
344
+ const UNKNOWN_SOURCE = { scriptId: '0', lineNumber: 0, columnNumber: 0 };
345
+ /**
346
+ * Combine the page's report with the framework handlers' sources.
347
+ *
348
+ * @param info - Page report
349
+ * @param sources - Source and location of each jQuery handler, then each
350
+ * React prop handler, in report order
351
+ * @returns Details per listener and the React prop handlers
352
+ */
353
+ function toPageDetails(info, sources) {
354
+ let next = 0;
355
+ const details = info.listeners.map(({ name, identity, targetName, jquery }) => ({
356
+ name: name ?? undefined,
357
+ identity: identity ?? undefined,
358
+ targetName: targetName ?? undefined,
359
+ jquery: jquery?.map((handler) => ({
360
+ type: handler.type,
361
+ selector: handler.selector ?? undefined,
362
+ name: handler.name,
363
+ ...(sources[next++] ?? UNKNOWN_SOURCE),
364
+ })),
365
+ }));
366
+ const react = info.react.map((handler) => ({
367
+ ...handler,
368
+ ...(sources[next++] ?? UNKNOWN_SOURCE),
369
+ }));
370
+ return {
371
+ details,
372
+ roots: info.roots,
373
+ react,
374
+ ...(info.frame && { frame: info.frame }),
375
+ ...(info.jquerySkipped > 0 && { jquerySkipped: info.jquerySkipped }),
376
+ ...(info.reactSkipped > 0 && { reactSkipped: info.reactSkipped }),
377
+ };
378
+ }
379
+ //# sourceMappingURL=eventListeners.js.map
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Form discovery script executed in page context.
3
+ *
4
+ * Discovers forms, extracts semantic labels, detects state and validation,
5
+ * and returns structured data for agent consumption.
6
+ */
7
+ import type { RawFormData } from './formTypes.js';
8
+ /**
9
+ * Page-context script for form discovery.
10
+ *
11
+ * This script runs in the browser via Runtime.evaluate and discovers:
12
+ * - Native form elements and inputs
13
+ * - Custom components with ARIA roles
14
+ * - Labels via priority chain (label[for], aria-label, placeholder, etc.)
15
+ * - Current values and validation state
16
+ * - Form relevance scoring for multi-form pages
17
+ */
18
+ export declare const FORM_DISCOVERY_SCRIPT = "\n(function() {\n const result = { forms: [] };\n\n // Rendered and not visibility-hidden, ancestors included (opacity is left\n // out: styled checkboxes and radios are often transparent)\n function isShown(element) {\n if (typeof element.checkVisibility === 'function') {\n return element.checkVisibility({ visibilityProperty: true });\n }\n const style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n }\n\n // Inside an open dialog: <dialog open>, aria-modal or a dialog role, or a\n // modal without them (DocSearch): an overlay ancestor below <body>\n // (position fixed or absolute) that is raised (z-index > 0) or has a\n // backdrop and whose class names a modal or dialog, or a fixed overlay over\n // half the viewport or more that is raised or lies over other page content\n // at the viewport centre. Static wrappers (Drupal's\n // dialog-off-canvas-main-canvas) and fixed app shells holding the whole\n // page are not dialogs.\n function inDialog(element) {\n if (element.closest('dialog[open], [aria-modal=\"true\"], [role=\"dialog\"], [role=\"alertdialog\"]')) return true;\n const viewportArea = window.innerWidth * window.innerHeight;\n for (let node = element.parentElement; node && node !== document.body; node = node.parentElement) {\n const style = window.getComputedStyle(node);\n if (style.position !== 'fixed' && style.position !== 'absolute') continue;\n const raised = parseInt(style.zIndex, 10) > 0;\n const className = typeof node.className === 'string' ? node.className : '';\n if (/(^|[\\s_-])(modal|dialog)($|[\\s_-])/i.test(className) && (raised || hasBackdrop(node))) return true;\n if (style.position !== 'fixed') continue;\n const box = node.getBoundingClientRect();\n if (box.width * box.height >= viewportArea / 2 && (raised || coversContent(node))) return true;\n }\n return false;\n }\n\n // A backdrop element next to or inside an overlay\n function hasBackdrop(node) {\n const backdrop = /backdrop|overlay/i;\n const near = [node.previousElementSibling, node.nextElementSibling, ...Array.from(node.children)];\n return near.some((n) => n && typeof n.className === 'string' && backdrop.test(n.className));\n }\n\n // The overlay is on top at the viewport centre with other page content\n // (not its ancestors) below it\n function coversContent(node) {\n const stack = document.elementsFromPoint(window.innerWidth / 2, window.innerHeight / 2);\n if (!stack.length || !node.contains(stack[0])) return false;\n return stack.some((n) => !n.contains(node) && !node.contains(n));\n }\n\n function isUnique(selector) {\n try {\n return document.querySelectorAll(selector).length === 1;\n } catch (e) {\n return false;\n }\n }\n\n function generateSelector(element) {\n if (element.id && isUnique('#' + CSS.escape(element.id))) {\n return '#' + CSS.escape(element.id);\n }\n if (element.name) {\n const byName = element.tagName.toLowerCase() + '[name=\"' + CSS.escape(element.name) + '\"]';\n if (isUnique(byName)) return byName;\n const byValue = byName + '[value=\"' + CSS.escape(element.getAttribute('value') || '') + '\"]';\n if (element.hasAttribute('value') && isUnique(byValue)) return byValue;\n }\n const tag = element.tagName.toLowerCase();\n const parent = element.parentElement;\n if (!parent) return tag;\n const siblings = Array.from(parent.children).filter(c => c.tagName === element.tagName);\n if (siblings.length === 1) {\n const parentSelector = generateSelector(parent);\n return parentSelector + ' > ' + tag;\n }\n const index = siblings.indexOf(element);\n const parentSelector = generateSelector(parent);\n return parentSelector + ' > ' + tag + ':nth-of-type(' + (index + 1) + ')';\n }\n\n function cleanLabelText(text) {\n if (!text) return text;\n const patterns = [\n /Previous\\s*arrow/gi,\n /Next\\s*arrow/gi,\n /\\barrow\\b/gi,\n /\\bchevron\\b/gi,\n /\u2190|\u2192|\u2191|\u2193|\u25B2|\u25BC|\u25C0|\u25B6/g,\n /\\u25C0|\\u25B6|\\u25B2|\\u25BC/g,\n /^\\s*[<>]\\s*/,\n /\\s*[<>]\\s*$/,\n ];\n let cleaned = text;\n for (const pattern of patterns) {\n cleaned = cleaned.replace(pattern, '');\n }\n cleaned = cleaned.replace(/\\s{2,}/g, ' ').trim();\n cleaned = cleaned.replace(/^\\*\\s+/, '').replace(/\\s+\\*(\\s*:?)$/, '$1');\n return cleaned || text.trim();\n }\n\n // The element labelling a field: label[for], aria-labelledby, wrapping label\n function labelElement(element) {\n const labelFor = element.id ? document.querySelector('label[for=\"' + CSS.escape(element.id) + '\"]') : null;\n const labelledBy = element.getAttribute('aria-labelledby');\n return labelFor || (labelledBy && document.getElementById(labelledBy)) || element.closest('label');\n }\n\n // A standalone required star in label text: \"* Name\", \"Name *\", \"Name *:\"\n // (not a footnote mark such as \"Terms*\")\n function labelMarksRequired(text) {\n return /^\\*\\s|\\s\\*\\s*:?$/.test(String(text).trim());\n }\n\n // Required by attribute, ARIA, or a label marked with a standalone star,\n // or with an element of its own holding just \"*\" (<span aria-hidden>*</span>)\n function isRequired(element) {\n if (element.required || element.getAttribute('aria-required') === 'true') return true;\n const label = labelElement(element);\n if (!label) return false;\n const clone = label.cloneNode(true);\n clone.querySelectorAll('input, select, textarea, button').forEach(i => i.remove());\n return labelMarksRequired(clone.textContent || '') ||\n Array.from(clone.querySelectorAll('*')).some(n => n.textContent.trim() === '*');\n }\n\n // Name of the radio or checkbox group a field belongs to: its radiogroup's\n // label, its fieldset's legend, or its name\n function groupLabel(element) {\n const type = element.type?.toLowerCase();\n if ((type !== 'radio' && type !== 'checkbox') || !element.name) return undefined;\n const group = element.closest('[role=\"radiogroup\"], fieldset');\n const named = group && (group.getAttribute('aria-label') ||\n (group.querySelector(':scope > legend') || {}).textContent);\n if (named && named.trim()) return cleanLabelText(named);\n return element.name\n .replace(/[_-]/g, ' ')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/^./, s => s.toUpperCase());\n }\n\n function extractLabel(element) {\n if (element.id) {\n const labelFor = document.querySelector('label[for=\"' + CSS.escape(element.id) + '\"]');\n if (labelFor) return cleanLabelText(labelFor.textContent);\n }\n const ariaLabel = element.getAttribute('aria-label');\n if (ariaLabel) return cleanLabelText(ariaLabel);\n const ariaLabelledBy = element.getAttribute('aria-labelledby');\n if (ariaLabelledBy) {\n const labelEl = document.getElementById(ariaLabelledBy);\n if (labelEl) return cleanLabelText(labelEl.textContent);\n }\n const wrappingLabel = element.closest('label');\n if (wrappingLabel) {\n const clone = wrappingLabel.cloneNode(true);\n const inputs = clone.querySelectorAll('input, select, textarea, button');\n inputs.forEach(i => i.remove());\n const text = clone.textContent.trim();\n if (text) return cleanLabelText(text);\n }\n if (element.placeholder) return cleanLabelText(element.placeholder);\n const title = element.getAttribute('title');\n if (title) return cleanLabelText(title);\n if (element.name) {\n return element.name\n .replace(/[_-]/g, ' ')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/^./, s => s.toUpperCase());\n }\n return 'Unlabeled field';\n }\n\n function extractButtonLabel(element) {\n const ariaLabel = element.getAttribute('aria-label');\n if (ariaLabel) return ariaLabel.trim();\n if (element.value && element.type !== 'submit') return element.value;\n const text = element.textContent.trim();\n if (text) return text;\n if (element.value) return element.value;\n const title = element.getAttribute('title');\n if (title) return title;\n return 'Button';\n }\n\n function getFieldValue(element) {\n const tag = element.tagName.toLowerCase();\n const type = element.type?.toLowerCase() || 'text';\n if (tag === 'select') {\n if (element.multiple) {\n return Array.from(element.selectedOptions).map(o => o.value);\n }\n return element.value;\n }\n if (type === 'checkbox' || type === 'radio') {\n return element.checked;\n }\n if (element.getAttribute('role') === 'checkbox' || element.getAttribute('role') === 'switch') {\n return element.getAttribute('aria-checked') === 'true';\n }\n if (element.isContentEditable) {\n return element.textContent || '';\n }\n return element.value || '';\n }\n\n function getFieldState(element, value) {\n const type = element.type?.toLowerCase() || 'text';\n if (type === 'checkbox' || element.getAttribute('role') === 'checkbox' || element.getAttribute('role') === 'switch') {\n return value ? 'checked' : 'unchecked';\n }\n if (type === 'radio') {\n return value ? 'checked' : 'unchecked';\n }\n if (Array.isArray(value)) {\n return value.length > 0 ? 'filled' : 'empty';\n }\n if (typeof value === 'string') {\n return value.length > 0 ? 'filled' : 'empty';\n }\n return 'empty';\n }\n\n function getFieldType(element) {\n const tag = element.tagName.toLowerCase();\n const role = element.getAttribute('role');\n if (role === 'textbox') return 'textbox';\n if (role === 'checkbox') return 'checkbox';\n if (role === 'radio') return 'radio';\n if (role === 'combobox') return 'combobox';\n if (role === 'listbox') return 'listbox';\n if (role === 'switch') return 'switch';\n if (element.isContentEditable) return 'contenteditable';\n if (tag === 'textarea') return 'textarea';\n if (tag === 'select') return 'select';\n if (tag === 'input') {\n const type = element.type?.toLowerCase() || 'text';\n return type;\n }\n return 'unknown';\n }\n\n function isNativeInput(element) {\n const tag = element.tagName.toLowerCase();\n return tag === 'input' || tag === 'textarea' || tag === 'select';\n }\n\n function getSelectOptions(element) {\n if (element.tagName.toLowerCase() !== 'select') return undefined;\n return Array.from(element.options).map(opt => ({\n value: opt.value,\n label: opt.textContent.trim(),\n selected: opt.selected\n }));\n }\n\n function findSiblingError(element) {\n const next = element.nextElementSibling;\n if (next) {\n const isError = next.classList.contains('error') ||\n next.classList.contains('invalid') ||\n next.classList.contains('field-error') ||\n next.classList.contains('error-message') ||\n next.getAttribute('role') === 'alert';\n if (isError) return next.textContent.trim();\n }\n // aria-errormessage always names the error; aria-describedby does when the\n // field is marked invalid or the description looks like an error\n const invalid = element.getAttribute('aria-invalid') === 'true';\n const errorIds = (element.getAttribute('aria-errormessage') || '').split(/\\s+/).filter(Boolean);\n const describedIds = (element.getAttribute('aria-describedby') || '').split(/\\s+/).filter(Boolean);\n for (const id of [...errorIds, ...describedIds]) {\n const target = document.getElementById(id);\n const looksLikeError = errorIds.includes(id) || invalid ||\n /error|invalid|alert/i.test(target ? target.className + ' ' + (target.getAttribute('role') || '') : '');\n if (target && looksLikeError && target.textContent.trim()) {\n return target.textContent.trim();\n }\n }\n const parent = element.parentElement;\n const controls = parent ? parent.querySelectorAll('input, select, textarea, [contenteditable=\"true\"]') : [];\n if (parent && controls.length === 1) {\n const errorEl = parent.querySelector('.error-message, .field-error, [role=\"alert\"]');\n if (errorEl && errorEl !== element) return errorEl.textContent.trim();\n }\n return undefined;\n }\n\n function calculateRelevance(formEl, fields, buttons) {\n let score = 0;\n const rect = formEl.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n if (centerX > viewportWidth * 0.2 && centerX < viewportWidth * 0.8) score += 10;\n if (centerY > 0 && centerY < viewportHeight) score += 5;\n const isInMain = formEl.closest('main, [role=\"main\"], article, .main-content, #main');\n if (isInMain) score += 15;\n const isInHeader = formEl.closest('header, [role=\"banner\"], nav, [role=\"navigation\"]');\n if (isInHeader) score -= 10;\n const isInAside = formEl.closest('aside, [role=\"complementary\"], footer, [role=\"contentinfo\"]');\n if (isInAside) score -= 5;\n const distinctFields = new Set(\n fields.map((f) => (f.type === 'radio' || f.type === 'checkbox') && f.name ? f.type + ':' + f.name : f.index)\n ).size;\n score += Math.min(distinctFields * 3, 30);\n const textTypes = ['text', 'search', 'email', 'password', 'textarea', 'tel', 'url', 'number', 'textbox'];\n if (fields.some((f) => textTypes.includes(f.type))) score += 10;\n const hasSubmit = buttons.some(b => b.type === 'submit' || b.primaryClass);\n if (hasSubmit) score += 10;\n const style = window.getComputedStyle(formEl);\n if (style.display === 'none' || style.visibility === 'hidden') score -= 100;\n return score;\n }\n\n function detectFormStep(formEl) {\n const stepIndicators = formEl.querySelectorAll('[aria-current=\"step\"], .step.active, .wizard-step.current');\n if (stepIndicators.length === 0) {\n const pageSteps = document.querySelectorAll('.step, .wizard-step, [role=\"tablist\"] [role=\"tab\"]');\n if (pageSteps.length > 1) {\n const activeIndex = Array.from(pageSteps).findIndex(s =>\n s.classList.contains('active') ||\n s.classList.contains('current') ||\n s.getAttribute('aria-selected') === 'true'\n );\n if (activeIndex >= 0) {\n return { current: activeIndex + 1, total: pageSteps.length };\n }\n }\n }\n const ariaStep = formEl.querySelector('[aria-current=\"step\"]');\n if (ariaStep) {\n const allSteps = formEl.querySelectorAll('[role=\"listitem\"], .step');\n const currentIdx = Array.from(allSteps).indexOf(ariaStep);\n if (currentIdx >= 0) {\n return { current: currentIdx + 1, total: allSteps.length };\n }\n }\n return null;\n }\n\n function findNearbyHeading(formEl) {\n let sibling = formEl.previousElementSibling;\n let distance = 0;\n while (sibling && distance < 3) {\n if (sibling.matches('h1, h2, h3, h4, h5, h6, [role=\"heading\"]')) {\n return sibling.textContent.trim();\n }\n const heading = sibling.querySelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n if (heading) return heading.textContent.trim();\n sibling = sibling.previousElementSibling;\n distance++;\n }\n const parent = formEl.parentElement;\n if (parent) {\n const heading = parent.querySelector(':scope > h1, :scope > h2, :scope > h3');\n if (heading && heading.compareDocumentPosition(formEl) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return heading.textContent.trim();\n }\n }\n return null;\n }\n\n function matchesWord(text, word) {\n const pattern = new RegExp('\\\\b' + word + '\\\\b', 'i');\n return pattern.test(text);\n }\n\n function inferFormType(formEl) {\n const inputs = formEl.querySelectorAll('input, textarea, select');\n const types = Array.from(inputs).map(i => i.type?.toLowerCase() || i.tagName.toLowerCase());\n const names = Array.from(inputs).map(i => (i.name || '').toLowerCase());\n const allText = (Array.from(inputs).map(i => i.name + ' ' + i.placeholder + ' ' + i.id).join(' ')).toLowerCase();\n if (types.includes('password')) {\n if (types.filter(t => t === 'password').length >= 2) return 'Change Password';\n if (matchesWord(allText, 'register') || matchesWord(allText, 'signup') || matchesWord(allText, 'create')) return 'Registration';\n return 'Login';\n }\n const hasSearchRole = formEl.closest('[role=\"search\"]') || formEl.getAttribute('role') === 'search';\n const hasSearchInput = formEl.querySelector('[type=\"search\"], [aria-label*=\"search\" i]');\n if (hasSearchRole || hasSearchInput) return 'Search';\n const interactiveTypes = types.filter(t => !['hidden', 'submit', 'button', 'reset', 'image'].includes(t));\n if (interactiveTypes.length <= 2 && matchesWord(allText, 'search')) return 'Search';\n if (matchesWord(allText, 'address') || matchesWord(allText, 'street') || matchesWord(allText, 'postcode') ||\n matchesWord(allText, 'zipcode') || matchesWord(allText, 'city') || matchesWord(allText, 'county')) {\n return 'Address';\n }\n if (matchesWord(allText, 'email') && (matchesWord(allText, 'message') || matchesWord(allText, 'subject'))) {\n return 'Contact';\n }\n if (matchesWord(allText, 'card') || matchesWord(allText, 'cvv') || matchesWord(allText, 'expiry')) {\n return 'Payment';\n }\n if (names.some(n => matchesWord(n, 'subscribe') || matchesWord(n, 'newsletter'))) {\n return 'Newsletter';\n }\n return null;\n }\n\n function extractFormName(formEl) {\n const ariaLabel = formEl.getAttribute('aria-label');\n if (ariaLabel) return ariaLabel;\n const ariaLabelledBy = formEl.getAttribute('aria-labelledby');\n if (ariaLabelledBy) {\n const labelEl = document.getElementById(ariaLabelledBy);\n if (labelEl) return labelEl.textContent.trim();\n }\n const headings = formEl.querySelectorAll('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n for (const h of headings) {\n if (!h.closest('[role=\"dialog\"], [role=\"alertdialog\"], [aria-modal=\"true\"]')) {\n return h.textContent.trim();\n }\n }\n const title = formEl.getAttribute('title');\n if (title) return title;\n const name = formEl.getAttribute('name');\n if (name) {\n return name\n .replace(/[_-]/g, ' ')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/^./, s => s.toUpperCase());\n }\n const nearbyHeading = findNearbyHeading(formEl);\n if (nearbyHeading) return nearbyHeading;\n const inferredType = inferFormType(formEl);\n if (inferredType) return inferredType;\n return null;\n }\n\n function discoverFields(container, formIndex, startIndex) {\n const fields = [];\n const nativeInputs = container.querySelectorAll(\n 'input:not([type=\"hidden\"]):not([type=\"submit\"]):not([type=\"button\"]):not([type=\"reset\"]):not([type=\"image\"]), ' +\n 'textarea, ' +\n 'select'\n );\n const customInputs = container.querySelectorAll(\n '[role=\"textbox\"], ' +\n '[role=\"checkbox\"]:not(input), ' +\n '[role=\"radio\"]:not(input), ' +\n '[role=\"combobox\"], ' +\n '[role=\"listbox\"], ' +\n '[role=\"switch\"], ' +\n '[contenteditable=\"true\"]'\n );\n const allInputs = new Set([...nativeInputs, ...customInputs]);\n let idx = startIndex;\n for (const el of allInputs) {\n const isHidden = el.type === 'hidden' || !isShown(el);\n const value = getFieldValue(el);\n fields.push({\n index: idx,\n formIndex: formIndex,\n selector: generateSelector(el),\n type: getFieldType(el),\n inputType: el.type?.toLowerCase(),\n label: extractLabel(el),\n name: el.name || null,\n placeholder: el.placeholder || undefined,\n required: isRequired(el),\n groupLabel: groupLabel(el),\n disabled: el.disabled || el.getAttribute('aria-disabled') === 'true',\n readOnly: el.readOnly || false,\n hidden: isHidden,\n native: isNativeInput(el),\n value: value,\n checked: el.checked,\n validationMessage: el.validationMessage || undefined,\n isValid: el.validity ? el.validity.valid : true,\n valueMissing: el.validity ? el.validity.valueMissing : false,\n ariaInvalid: el.getAttribute('aria-invalid') === 'true',\n hasErrorClass: el.classList.contains('error') || el.classList.contains('invalid'),\n siblingErrorText: findSiblingError(el),\n options: getSelectOptions(el)\n });\n idx++;\n }\n return fields;\n }\n\n function discoverButtons(container, startIndex) {\n const buttons = [];\n const buttonEls = container.querySelectorAll(\n 'button, ' +\n 'input[type=\"submit\"], ' +\n 'input[type=\"button\"], ' +\n 'input[type=\"reset\"], ' +\n '[role=\"button\"]'\n );\n let idx = startIndex;\n for (const el of buttonEls) {\n if (!isShown(el)) continue;\n const type = el.type?.toLowerCase() || 'button';\n const btnType = type === 'submit' ? 'submit' : type === 'reset' ? 'reset' : 'button';\n const explicitSubmit = btnType === 'submit' &&\n (el.tagName === 'INPUT' || (el.getAttribute('type') || '').toLowerCase() === 'submit');\n const formDefault = btnType === 'submit' && !explicitSubmit && Boolean(el.form);\n const primaryClass = Array.from(el.classList).some(c => /^(btn[-_])?(primary|submit)$/i.test(c));\n buttons.push({\n index: idx,\n selector: generateSelector(el),\n label: extractButtonLabel(el),\n type: btnType,\n disabled: el.disabled || el.getAttribute('aria-disabled') === 'true',\n explicitSubmit: explicitSubmit,\n formDefault: formDefault,\n primaryClass: primaryClass\n });\n idx++;\n }\n return buttons;\n }\n\n const forms = document.querySelectorAll('form');\n let globalIndex = 0;\n\n // A page still loading may not have a body yet\n const pageRoot = document.body || document.documentElement;\n if (forms.length === 0 && pageRoot) {\n const bodyFields = discoverFields(pageRoot, 0, 0);\n const bodyButtons = discoverButtons(pageRoot, bodyFields.length);\n if (bodyFields.length > 0) {\n result.forms.push({\n index: 0,\n name: document.title || 'Page',\n action: null,\n method: 'GET',\n step: null,\n relevanceScore: bodyFields.length * 3,\n hidden: false,\n inDialog: false,\n inIframe: false,\n fields: bodyFields,\n buttons: bodyButtons\n });\n }\n } else {\n for (let i = 0; i < forms.length; i++) {\n const formEl = forms[i];\n const fields = discoverFields(formEl, i, globalIndex);\n globalIndex += fields.length;\n const buttons = discoverButtons(formEl, globalIndex);\n globalIndex += buttons.length;\n const inIframe = formEl.ownerDocument !== document;\n // Shown when a field or a button is (buttons list shown ones only), or\n // it has neither (a form with only type=hidden inputs and no button)\n const shown = isShown(formEl) &&\n (fields.some((f) => !f.hidden) || buttons.length > 0 || fields.length === 0);\n result.forms.push({\n index: i,\n name: extractFormName(formEl),\n action: formEl.action || null,\n method: (formEl.method || 'GET').toUpperCase(),\n step: detectFormStep(formEl),\n relevanceScore: calculateRelevance(formEl, fields, buttons),\n hidden: !shown,\n inDialog: shown && inDialog(formEl),\n inIframe: inIframe,\n fields: fields,\n buttons: buttons\n });\n }\n }\n\n // Forms the main document does not contain may be in its same-origin iframes\n if (result.forms.length === 0) {\n result.frameForms = [];\n for (const frame of document.querySelectorAll('iframe, frame')) {\n let frameDocument = null;\n try { frameDocument = frame.contentDocument; } catch (e) { frameDocument = null; }\n if (frameDocument && frameDocument.querySelector('form, input:not([type=hidden]), select, textarea')) {\n result.frameForms.push({ url: frame.src || 'about:blank' });\n }\n }\n }\n\n result.readyState = document.readyState;\n return result;\n})()\n";
19
+ /**
20
+ * Type guard for raw form data.
21
+ *
22
+ * @param value - Unknown value to check
23
+ * @returns True if value matches RawFormData structure
24
+ */
25
+ export declare function isRawFormData(value: unknown): value is RawFormData;
26
+ //# sourceMappingURL=formDiscovery.d.ts.map