browser-debugger-cli 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1099) hide show
  1. package/README.md +14 -6
  2. package/dist/cdp/protocol.d.ts +1 -1
  3. package/dist/cdp/protocol.js +1 -1
  4. package/dist/cdp/schema.d.ts +10 -0
  5. package/dist/cdp/schema.js +13 -0
  6. package/dist/commands/cdp.js +75 -23
  7. package/dist/commands/cleanup.js +31 -23
  8. package/dist/commands/console.d.ts +18 -1
  9. package/dist/commands/console.js +98 -53
  10. package/dist/commands/details.js +13 -3
  11. package/dist/commands/dom/DomElementResolver.d.ts +24 -69
  12. package/dist/commands/dom/DomElementResolver.js +71 -162
  13. package/dist/commands/dom/a11y.js +52 -33
  14. package/dist/commands/dom/eval.d.ts +13 -0
  15. package/dist/commands/dom/eval.js +43 -0
  16. package/dist/commands/dom/form.js +103 -147
  17. package/dist/commands/dom/formInteraction.d.ts +6 -1
  18. package/dist/commands/dom/formInteraction.js +223 -305
  19. package/dist/commands/dom/frames.d.ts +12 -0
  20. package/dist/commands/dom/frames.js +28 -0
  21. package/dist/commands/dom/get.d.ts +20 -0
  22. package/dist/commands/dom/get.js +141 -0
  23. package/dist/commands/dom/helpers/index.d.ts +11 -0
  24. package/dist/commands/dom/helpers/index.js +10 -0
  25. package/dist/commands/dom/helpers/query.d.ts +78 -0
  26. package/dist/commands/dom/helpers/query.js +457 -0
  27. package/dist/commands/dom/helpers/runElementCommand.d.ts +56 -0
  28. package/dist/commands/dom/helpers/runElementCommand.js +63 -0
  29. package/dist/commands/dom/helpers/screenshot.d.ts +30 -0
  30. package/dist/commands/dom/helpers/screenshot.js +374 -0
  31. package/dist/commands/dom/index.d.ts +15 -3
  32. package/dist/commands/dom/index.js +45 -511
  33. package/dist/commands/dom/listeners.d.ts +16 -0
  34. package/dist/commands/dom/listeners.js +54 -0
  35. package/dist/commands/dom/query.d.ts +14 -0
  36. package/dist/commands/dom/query.js +36 -0
  37. package/dist/commands/dom/screenshot.d.ts +21 -0
  38. package/dist/commands/dom/screenshot.js +248 -0
  39. package/dist/commands/dom/semanticUtils.d.ts +44 -0
  40. package/dist/commands/dom/semanticUtils.js +102 -0
  41. package/dist/commands/helpJson.d.ts +4 -2
  42. package/dist/commands/helpJson.js +12 -32
  43. package/dist/commands/helpTopic.d.ts +32 -0
  44. package/dist/commands/helpTopic.js +58 -0
  45. package/dist/commands/network/har.js +50 -24
  46. package/dist/commands/network/list.js +96 -63
  47. package/dist/commands/network/shared.d.ts +9 -15
  48. package/dist/commands/network/shared.js +30 -51
  49. package/dist/commands/optionBehaviors.d.ts +1 -9
  50. package/dist/commands/optionBehaviors.js +46 -25
  51. package/dist/commands/page.d.ts +11 -0
  52. package/dist/commands/page.js +112 -0
  53. package/dist/commands/peek.js +62 -48
  54. package/dist/commands/shared/CommandRunner.d.ts +18 -1
  55. package/dist/commands/shared/CommandRunner.js +83 -26
  56. package/dist/commands/shared/commonOptions.d.ts +10 -0
  57. package/dist/commands/shared/commonOptions.js +12 -0
  58. package/dist/commands/shared/daemonErrorHandler.d.ts +9 -0
  59. package/dist/commands/shared/daemonErrorHandler.js +31 -11
  60. package/dist/commands/shared/dataFetcher.d.ts +33 -10
  61. package/dist/commands/shared/dataFetcher.js +57 -20
  62. package/dist/commands/shared/followMode.d.ts +0 -3
  63. package/dist/commands/shared/followMode.js +6 -11
  64. package/dist/commands/shared/handleValidationError.d.ts +14 -0
  65. package/dist/commands/shared/handleValidationError.js +39 -0
  66. package/dist/commands/shared/optionTypes.d.ts +42 -22
  67. package/dist/commands/shared/outputFile.d.ts +33 -0
  68. package/dist/commands/shared/outputFile.js +78 -0
  69. package/dist/commands/shared/startHelpers.d.ts +5 -8
  70. package/dist/commands/shared/startHelpers.js +226 -37
  71. package/dist/commands/shared/validation.d.ts +42 -0
  72. package/dist/commands/shared/validation.js +101 -22
  73. package/dist/commands/start.d.ts +28 -1
  74. package/dist/commands/start.js +226 -38
  75. package/dist/commands/status.js +48 -11
  76. package/dist/commands/stop.js +16 -26
  77. package/dist/commands/tail.js +20 -35
  78. package/dist/commands.js +2 -0
  79. package/dist/connection/cdp.d.ts +12 -6
  80. package/dist/connection/cdp.js +59 -16
  81. package/dist/connection/diagnostics.d.ts +0 -9
  82. package/dist/connection/diagnostics.js +0 -13
  83. package/dist/connection/errors.d.ts +36 -1
  84. package/dist/connection/errors.js +43 -3
  85. package/dist/connection/handlers.d.ts +5 -5
  86. package/dist/connection/handlers.js +1 -1
  87. package/dist/connection/inFlightRequests.d.ts +33 -0
  88. package/dist/connection/inFlightRequests.js +52 -0
  89. package/dist/connection/launcher/binaryResolver.js +20 -7
  90. package/dist/connection/launcher/flagsBuilder.d.ts +24 -54
  91. package/dist/connection/launcher/flagsBuilder.js +65 -40
  92. package/dist/connection/launcher/preferencesLoader.js +27 -8
  93. package/dist/connection/launcher.d.ts +2 -0
  94. package/dist/connection/launcher.js +48 -29
  95. package/dist/connection/pageReadiness.d.ts +5 -6
  96. package/dist/connection/pageReadiness.js +63 -120
  97. package/dist/connection/portReservation.d.ts +10 -0
  98. package/dist/connection/portReservation.js +37 -2
  99. package/dist/connection/startupExit.d.ts +37 -0
  100. package/dist/connection/startupExit.js +107 -0
  101. package/dist/connection/typed-cdp.d.ts +8 -6
  102. package/dist/connection/typed-cdp.js +5 -3
  103. package/dist/connection/types.d.ts +3 -0
  104. package/dist/constants.d.ts +21 -22
  105. package/dist/constants.js +28 -25
  106. package/dist/daemon/SessionController.d.ts +125 -0
  107. package/dist/daemon/SessionController.js +472 -0
  108. package/dist/daemon/errors.d.ts +15 -19
  109. package/dist/daemon/errors.js +18 -21
  110. package/dist/daemon/ipcServer.d.ts +44 -30
  111. package/dist/daemon/ipcServer.js +164 -132
  112. package/dist/daemon/launcher.d.ts +13 -21
  113. package/dist/daemon/launcher.js +94 -101
  114. package/dist/daemon/messages.d.ts +29 -0
  115. package/dist/daemon/messages.js +35 -0
  116. package/dist/daemon/patternDefinitions.d.ts +1 -1
  117. package/dist/daemon/patternDefinitions.js +3 -2
  118. package/dist/daemon/patternDetector.d.ts +13 -29
  119. package/dist/daemon/patternDetector.js +26 -47
  120. package/dist/daemon/server/SocketServer.d.ts +56 -2
  121. package/dist/daemon/server/SocketServer.js +131 -30
  122. package/dist/daemon/session/Session.d.ts +137 -0
  123. package/dist/daemon/session/Session.js +288 -0
  124. package/dist/daemon/session/TelemetryStore.d.ts +30 -0
  125. package/dist/daemon/session/TelemetryStore.js +44 -0
  126. package/dist/daemon/session/cdpSetup.d.ts +47 -0
  127. package/dist/daemon/session/cdpSetup.js +94 -0
  128. package/dist/daemon/session/chromeConnection.d.ts +38 -0
  129. package/dist/daemon/session/chromeConnection.js +178 -0
  130. package/dist/daemon/{worker → session}/collectors.d.ts +3 -3
  131. package/dist/daemon/{worker → session}/collectors.js +3 -3
  132. package/dist/daemon/session/commandRegistry.js +445 -0
  133. package/dist/daemon/session/interactions.d.ts +27 -0
  134. package/dist/daemon/session/interactions.js +44 -0
  135. package/dist/daemon/{worker → session}/plugins.d.ts +3 -3
  136. package/dist/daemon/session/plugins.js +219 -0
  137. package/dist/daemon/session/targetMismatch.d.ts +34 -0
  138. package/dist/daemon/session/targetMismatch.js +83 -0
  139. package/dist/daemon/session/teardown.d.ts +27 -0
  140. package/dist/daemon/session/teardown.js +128 -0
  141. package/dist/daemon/{worker → session}/types.d.ts +2 -2
  142. package/dist/daemon.d.ts +3 -4
  143. package/dist/daemon.js +15356 -24
  144. package/dist/{ui/errors → errors}/CommandError.js +1 -1
  145. package/dist/{ui/errors → errors}/index.d.ts +2 -0
  146. package/dist/errors/issues.d.ts +16 -0
  147. package/dist/errors/issues.js +11 -0
  148. package/dist/errors/messages.d.ts +545 -0
  149. package/dist/errors/messages.js +959 -0
  150. package/dist/errors/notices.d.ts +30 -0
  151. package/dist/errors/notices.js +11 -0
  152. package/dist/{ui/errors → errors}/utils.js +1 -1
  153. package/dist/index.js +16410 -168
  154. package/dist/ipc/client.d.ts +44 -8
  155. package/dist/ipc/client.js +95 -18
  156. package/dist/ipc/index.d.ts +2 -2
  157. package/dist/ipc/index.js +2 -2
  158. package/dist/ipc/protocol/commands.d.ts +220 -59
  159. package/dist/ipc/protocol/commands.js +27 -21
  160. package/dist/ipc/protocol/domTypes.d.ts +236 -0
  161. package/dist/ipc/protocol/domTypes.js +10 -0
  162. package/dist/ipc/protocol/guards.d.ts +4 -4
  163. package/dist/ipc/protocol/guards.js +4 -4
  164. package/dist/ipc/protocol/messages.d.ts +9 -33
  165. package/dist/ipc/protocol/messages.js +1 -1
  166. package/dist/ipc/session/errors.d.ts +10 -2
  167. package/dist/ipc/session/errors.js +10 -2
  168. package/dist/ipc/session/lifecycle.d.ts +20 -22
  169. package/dist/ipc/session/queries.d.ts +21 -4
  170. package/dist/ipc/session/types.d.ts +1 -1
  171. package/dist/ipc/session/types.js +1 -1
  172. package/dist/ipc/transport/IPCError.d.ts +3 -3
  173. package/dist/ipc/transport/IPCError.js +3 -3
  174. package/dist/ipc/transport/index.d.ts +7 -1
  175. package/dist/ipc/transport/index.js +7 -2
  176. package/dist/ipc/transport/jsonl.d.ts +28 -2
  177. package/dist/ipc/transport/jsonl.js +57 -10
  178. package/dist/ipc/utils/errors.d.ts +4 -2
  179. package/dist/ipc/utils/errors.js +10 -4
  180. package/dist/ipc/utils/index.d.ts +0 -1
  181. package/dist/ipc/utils/index.js +0 -1
  182. package/dist/ipc/utils/responseValidator.d.ts +5 -1
  183. package/dist/ipc/utils/responseValidator.js +7 -3
  184. package/dist/runtime/dom/evalHelpers.d.ts +76 -0
  185. package/dist/runtime/dom/evalHelpers.js +406 -0
  186. package/dist/runtime/dom/eventListeners.d.ts +23 -0
  187. package/dist/runtime/dom/eventListeners.js +252 -0
  188. package/dist/runtime/dom/formDiscovery.d.ts +26 -0
  189. package/dist/{commands → runtime}/dom/formDiscovery.js +48 -9
  190. package/dist/runtime/dom/formFillHelpers/fill.d.ts +29 -0
  191. package/dist/runtime/dom/formFillHelpers/fill.js +299 -0
  192. package/dist/runtime/dom/formFillHelpers/index.d.ts +17 -0
  193. package/dist/runtime/dom/formFillHelpers/index.js +17 -0
  194. package/dist/runtime/dom/formFillHelpers/pressKey.d.ts +28 -0
  195. package/dist/runtime/dom/formFillHelpers/pressKey.js +195 -0
  196. package/dist/runtime/dom/formFillHelpers/scroll.d.ts +24 -0
  197. package/dist/runtime/dom/formFillHelpers/scroll.js +188 -0
  198. package/dist/runtime/dom/formFillHelpers/shared.d.ts +43 -0
  199. package/dist/runtime/dom/formFillHelpers/shared.js +100 -0
  200. package/dist/runtime/dom/formFillHelpers/stability.d.ts +14 -0
  201. package/dist/runtime/dom/formFillHelpers/stability.js +40 -0
  202. package/dist/runtime/dom/formSubmitHelpers.d.ts +29 -0
  203. package/dist/runtime/dom/formSubmitHelpers.js +252 -0
  204. package/dist/runtime/dom/formTypes.d.ts +8 -0
  205. package/dist/runtime/dom/frameSelection.d.ts +27 -0
  206. package/dist/runtime/dom/frameSelection.js +66 -0
  207. package/dist/runtime/dom/frames.d.ts +38 -0
  208. package/dist/runtime/dom/frames.js +305 -0
  209. package/dist/runtime/dom/keyMapping.d.ts +103 -0
  210. package/dist/runtime/dom/keyMapping.js +232 -0
  211. package/dist/runtime/dom/listenerSummary.d.ts +72 -0
  212. package/dist/runtime/dom/listenerSummary.js +150 -0
  213. package/dist/runtime/dom/reactEventHelpers.d.ts +61 -0
  214. package/dist/runtime/dom/reactEventHelpers.js +470 -0
  215. package/dist/runtime/dom/targetNode.d.ts +78 -0
  216. package/dist/runtime/dom/targetNode.js +154 -0
  217. package/dist/runtime/page/navigation.d.ts +34 -0
  218. package/dist/runtime/page/navigation.js +249 -0
  219. package/dist/session/QueryCacheManager.d.ts +25 -82
  220. package/dist/session/QueryCacheManager.js +41 -133
  221. package/dist/session/chrome.d.ts +21 -16
  222. package/dist/session/chrome.js +28 -44
  223. package/dist/session/cleanup/staleSession.d.ts +49 -0
  224. package/dist/session/cleanup/staleSession.js +124 -0
  225. package/dist/session/cleanup/userCommands.d.ts +36 -0
  226. package/dist/session/cleanup/userCommands.js +95 -0
  227. package/dist/session/daemonSocket.d.ts +25 -0
  228. package/dist/session/daemonSocket.js +40 -0
  229. package/dist/session/lastSession.d.ts +29 -0
  230. package/dist/session/lastSession.js +45 -0
  231. package/dist/session/metadata.d.ts +3 -1
  232. package/dist/session/paths.d.ts +2 -4
  233. package/dist/session/paths.js +2 -4
  234. package/dist/session/pid.d.ts +9 -38
  235. package/dist/session/pid.js +14 -64
  236. package/dist/session/port.d.ts +0 -5
  237. package/dist/session/port.js +9 -19
  238. package/dist/telemetry/a11y.d.ts +26 -20
  239. package/dist/telemetry/a11y.js +237 -104
  240. package/dist/telemetry/attachedTargets.d.ts +36 -0
  241. package/dist/telemetry/attachedTargets.js +163 -0
  242. package/dist/telemetry/console.d.ts +21 -4
  243. package/dist/telemetry/console.js +122 -11
  244. package/dist/telemetry/dialogs.d.ts +4 -2
  245. package/dist/telemetry/dialogs.js +3 -1
  246. package/dist/telemetry/dom.d.ts +1 -11
  247. package/dist/telemetry/dom.js +0 -102
  248. package/dist/telemetry/filterDsl.d.ts +9 -1
  249. package/dist/telemetry/filterDsl.js +101 -31
  250. package/dist/telemetry/filterPresets.js +12 -2
  251. package/dist/telemetry/filters.d.ts +1 -1
  252. package/dist/telemetry/filters.js +38 -3
  253. package/dist/telemetry/har/builder.js +190 -160
  254. package/dist/telemetry/har/types.d.ts +21 -4
  255. package/dist/telemetry/navigation.d.ts +13 -29
  256. package/dist/telemetry/navigation.js +12 -46
  257. package/dist/telemetry/network.d.ts +37 -1
  258. package/dist/telemetry/network.js +343 -130
  259. package/dist/telemetry/networkExtraInfo.d.ts +106 -0
  260. package/dist/telemetry/networkExtraInfo.js +241 -0
  261. package/dist/telemetry/objectExpander.d.ts +14 -5
  262. package/dist/telemetry/objectExpander.js +13 -6
  263. package/dist/telemetry/remoteObject.d.ts +10 -2
  264. package/dist/telemetry/remoteObject.js +59 -2
  265. package/dist/telemetry/remoteObjectUtils.js +22 -3
  266. package/dist/types.d.ts +64 -44
  267. package/dist/types.js +1 -33
  268. package/dist/ui/OutputBuilder.d.ts +17 -14
  269. package/dist/ui/OutputBuilder.js +18 -87
  270. package/dist/ui/formatters/a11y.js +72 -9
  271. package/dist/ui/formatters/console/chronological.d.ts +14 -0
  272. package/dist/ui/formatters/console/chronological.js +58 -0
  273. package/dist/ui/formatters/console/follow.d.ts +18 -0
  274. package/dist/ui/formatters/console/follow.js +36 -0
  275. package/dist/ui/formatters/console/json.d.ts +21 -0
  276. package/dist/ui/formatters/console/json.js +53 -0
  277. package/dist/ui/formatters/console/shared.d.ts +136 -0
  278. package/dist/ui/formatters/console/shared.js +158 -0
  279. package/dist/ui/formatters/console/summarize.d.ts +10 -0
  280. package/dist/ui/formatters/console/summarize.js +63 -0
  281. package/dist/ui/formatters/console.d.ts +16 -137
  282. package/dist/ui/formatters/console.js +17 -418
  283. package/dist/ui/formatters/cookies.js +3 -3
  284. package/dist/ui/formatters/details.d.ts +5 -2
  285. package/dist/ui/formatters/details.js +183 -24
  286. package/dist/ui/formatters/dom.d.ts +27 -6
  287. package/dist/ui/formatters/dom.js +80 -28
  288. package/dist/ui/formatters/form.js +35 -56
  289. package/dist/ui/formatters/helpFormatters.js +5 -4
  290. package/dist/ui/formatters/listeners.d.ts +24 -0
  291. package/dist/ui/formatters/listeners.js +96 -0
  292. package/dist/ui/formatters/networkHeaders.d.ts +3 -3
  293. package/dist/ui/formatters/networkHeaders.js +7 -4
  294. package/dist/ui/formatters/networkList.d.ts +14 -2
  295. package/dist/ui/formatters/networkList.js +80 -35
  296. package/dist/ui/formatters/preview.d.ts +21 -3
  297. package/dist/ui/formatters/preview.js +53 -72
  298. package/dist/ui/formatters/requestStatus.d.ts +34 -0
  299. package/dist/ui/formatters/requestStatus.js +55 -0
  300. package/dist/ui/formatters/semantic.d.ts +1 -1
  301. package/dist/ui/formatters/semantic.js +1 -1
  302. package/dist/ui/formatters/sessionFormatters.js +11 -8
  303. package/dist/ui/formatters/status.d.ts +23 -5
  304. package/dist/ui/formatters/status.js +48 -24
  305. package/dist/ui/formatting.d.ts +35 -0
  306. package/dist/ui/formatting.js +122 -23
  307. package/dist/ui/logging/logger.d.ts +1 -1
  308. package/dist/ui/messages/chrome.d.ts +35 -100
  309. package/dist/ui/messages/chrome.js +102 -136
  310. package/dist/ui/messages/commands.d.ts +121 -3
  311. package/dist/ui/messages/commands.js +153 -6
  312. package/dist/ui/messages/consoleMessages.d.ts +0 -6
  313. package/dist/ui/messages/consoleMessages.js +0 -8
  314. package/dist/ui/messages/hints.d.ts +9 -15
  315. package/dist/ui/messages/hints.js +17 -16
  316. package/dist/ui/messages/networkMessages.d.ts +0 -6
  317. package/dist/ui/messages/networkMessages.js +0 -8
  318. package/dist/ui/messages/preview.js +2 -2
  319. package/dist/ui/messages/session.d.ts +24 -3
  320. package/dist/ui/messages/session.js +38 -7
  321. package/dist/ui/messages/validation.d.ts +15 -26
  322. package/dist/ui/messages/validation.js +33 -38
  323. package/dist/utils/atomicFile.js +1 -1
  324. package/dist/utils/decisionTrees.js +1 -1
  325. package/dist/utils/errorMapping.js +15 -4
  326. package/dist/utils/errors.d.ts +13 -0
  327. package/dist/utils/errors.js +21 -0
  328. package/dist/utils/exitCodes.d.ts +5 -0
  329. package/dist/utils/exitCodes.js +36 -2
  330. package/dist/utils/http.d.ts +35 -4
  331. package/dist/utils/http.js +59 -6
  332. package/dist/utils/packageRoot.d.ts +12 -0
  333. package/dist/utils/packageRoot.js +33 -0
  334. package/dist/utils/process.d.ts +10 -0
  335. package/dist/utils/process.js +35 -3
  336. package/dist/utils/selectorFilters.d.ts +45 -0
  337. package/dist/utils/selectorFilters.js +224 -0
  338. package/dist/utils/suggestions.js +1 -1
  339. package/dist/utils/taskMappings.js +7 -2
  340. package/dist/utils/typeGuards.js +2 -2
  341. package/dist/utils/url.d.ts +13 -5
  342. package/dist/utils/url.js +53 -52
  343. package/dist/utils/validation.d.ts +15 -93
  344. package/dist/utils/validation.js +10 -118
  345. package/dist/utils/version.js +3 -5
  346. package/package.json +39 -30
  347. package/dist/__testfixtures__/cdpMessages.d.ts +0 -43
  348. package/dist/__testfixtures__/cdpMessages.d.ts.map +0 -1
  349. package/dist/__testfixtures__/cdpMessages.js +0 -118
  350. package/dist/__testfixtures__/cdpMessages.js.map +0 -1
  351. package/dist/__testfixtures__/connectionTargets.d.ts +0 -21
  352. package/dist/__testfixtures__/connectionTargets.d.ts.map +0 -1
  353. package/dist/__testfixtures__/connectionTargets.js +0 -59
  354. package/dist/__testfixtures__/connectionTargets.js.map +0 -1
  355. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +0 -47
  356. package/dist/__tests__/integration/session-files.integration.test.d.ts +0 -2
  357. package/dist/__tests__/integration/session-files.integration.test.d.ts.map +0 -1
  358. package/dist/__tests__/integration/session-files.integration.test.js +0 -66
  359. package/dist/__tests__/integration/session-files.integration.test.js.map +0 -1
  360. package/dist/__tests__/schema.contract.test.d.ts +0 -19
  361. package/dist/__tests__/schema.contract.test.d.ts.map +0 -1
  362. package/dist/__tests__/schema.contract.test.js +0 -236
  363. package/dist/__tests__/schema.contract.test.js.map +0 -1
  364. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +0 -8
  365. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +0 -1
  366. package/dist/__tests__/smoke/error-handling.smoke.test.js +0 -66
  367. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +0 -1
  368. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +0 -8
  369. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +0 -1
  370. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +0 -112
  371. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +0 -1
  372. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts +0 -12
  373. package/dist/__tests__/telemetry/filterDsl.unit.test.d.ts.map +0 -1
  374. package/dist/__tests__/telemetry/filterDsl.unit.test.js +0 -374
  375. package/dist/__tests__/telemetry/filterDsl.unit.test.js.map +0 -1
  376. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts +0 -10
  377. package/dist/__tests__/telemetry/filterPresets.unit.test.d.ts.map +0 -1
  378. package/dist/__tests__/telemetry/filterPresets.unit.test.js +0 -89
  379. package/dist/__tests__/telemetry/filterPresets.unit.test.js.map +0 -1
  380. package/dist/__testutils__/FakeClock.d.ts +0 -67
  381. package/dist/__testutils__/FakeClock.d.ts.map +0 -1
  382. package/dist/__testutils__/FakeClock.js +0 -132
  383. package/dist/__testutils__/FakeClock.js.map +0 -1
  384. package/dist/__testutils__/FakeWebSocket.d.ts +0 -106
  385. package/dist/__testutils__/FakeWebSocket.d.ts.map +0 -1
  386. package/dist/__testutils__/FakeWebSocket.js +0 -213
  387. package/dist/__testutils__/FakeWebSocket.js.map +0 -1
  388. package/dist/__testutils__/assertions.d.ts +0 -33
  389. package/dist/__testutils__/assertions.d.ts.map +0 -1
  390. package/dist/__testutils__/assertions.js +0 -57
  391. package/dist/__testutils__/assertions.js.map +0 -1
  392. package/dist/__testutils__/commandRunner.d.ts +0 -45
  393. package/dist/__testutils__/commandRunner.d.ts.map +0 -1
  394. package/dist/__testutils__/commandRunner.js +0 -108
  395. package/dist/__testutils__/commandRunner.js.map +0 -1
  396. package/dist/__testutils__/daemonHelpers.d.ts +0 -93
  397. package/dist/__testutils__/daemonHelpers.d.ts.map +0 -1
  398. package/dist/__testutils__/daemonHelpers.js +0 -255
  399. package/dist/__testutils__/daemonHelpers.js.map +0 -1
  400. package/dist/__testutils__/index.d.ts +0 -16
  401. package/dist/__testutils__/index.d.ts.map +0 -1
  402. package/dist/__testutils__/index.js +0 -16
  403. package/dist/__testutils__/index.js.map +0 -1
  404. package/dist/__testutils__/testCleanup.d.ts +0 -45
  405. package/dist/__testutils__/testCleanup.d.ts.map +0 -1
  406. package/dist/__testutils__/testCleanup.js +0 -87
  407. package/dist/__testutils__/testCleanup.js.map +0 -1
  408. package/dist/__testutils__/testClock.d.ts +0 -28
  409. package/dist/__testutils__/testClock.d.ts.map +0 -1
  410. package/dist/__testutils__/testClock.js +0 -81
  411. package/dist/__testutils__/testClock.js.map +0 -1
  412. package/dist/__testutils__/testFixtures.d.ts +0 -15
  413. package/dist/__testutils__/testFixtures.d.ts.map +0 -1
  414. package/dist/__testutils__/testFixtures.js +0 -23
  415. package/dist/__testutils__/testFixtures.js.map +0 -1
  416. package/dist/__testutils__/testHome.d.ts +0 -26
  417. package/dist/__testutils__/testHome.d.ts.map +0 -1
  418. package/dist/__testutils__/testHome.js +0 -57
  419. package/dist/__testutils__/testHome.js.map +0 -1
  420. package/dist/__testutils__/testProcess.d.ts +0 -46
  421. package/dist/__testutils__/testProcess.d.ts.map +0 -1
  422. package/dist/__testutils__/testProcess.js +0 -85
  423. package/dist/__testutils__/testProcess.js.map +0 -1
  424. package/dist/cdp/protocol.d.ts.map +0 -1
  425. package/dist/cdp/protocol.js.map +0 -1
  426. package/dist/cdp/schema.d.ts.map +0 -1
  427. package/dist/cdp/schema.js.map +0 -1
  428. package/dist/cdp/types.d.ts.map +0 -1
  429. package/dist/cdp/types.js.map +0 -1
  430. package/dist/commands/__tests__/cdp.contract.test.d.ts +0 -24
  431. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  432. package/dist/commands/__tests__/cdp.contract.test.js +0 -466
  433. package/dist/commands/__tests__/cdp.contract.test.js.map +0 -1
  434. package/dist/commands/__tests__/console.contract.test.d.ts +0 -9
  435. package/dist/commands/__tests__/console.contract.test.d.ts.map +0 -1
  436. package/dist/commands/__tests__/console.contract.test.js +0 -118
  437. package/dist/commands/__tests__/console.contract.test.js.map +0 -1
  438. package/dist/commands/__tests__/domEval.contract.test.d.ts +0 -17
  439. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +0 -1
  440. package/dist/commands/__tests__/domEval.contract.test.js +0 -235
  441. package/dist/commands/__tests__/domEval.contract.test.js.map +0 -1
  442. package/dist/commands/__tests__/helpJson.contract.test.d.ts +0 -12
  443. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +0 -1
  444. package/dist/commands/__tests__/helpJson.contract.test.js +0 -121
  445. package/dist/commands/__tests__/helpJson.contract.test.js.map +0 -1
  446. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +0 -12
  447. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +0 -1
  448. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +0 -121
  449. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +0 -1
  450. package/dist/commands/cdp.d.ts.map +0 -1
  451. package/dist/commands/cdp.js.map +0 -1
  452. package/dist/commands/cleanup.d.ts.map +0 -1
  453. package/dist/commands/cleanup.js.map +0 -1
  454. package/dist/commands/console.d.ts.map +0 -1
  455. package/dist/commands/console.js.map +0 -1
  456. package/dist/commands/details.d.ts.map +0 -1
  457. package/dist/commands/details.js.map +0 -1
  458. package/dist/commands/dom/DomElementResolver.d.ts.map +0 -1
  459. package/dist/commands/dom/DomElementResolver.js.map +0 -1
  460. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +0 -2
  461. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +0 -1
  462. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +0 -184
  463. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +0 -1
  464. package/dist/commands/dom/a11y.d.ts.map +0 -1
  465. package/dist/commands/dom/a11y.js.map +0 -1
  466. package/dist/commands/dom/evalHelpers.d.ts +0 -38
  467. package/dist/commands/dom/evalHelpers.d.ts.map +0 -1
  468. package/dist/commands/dom/evalHelpers.js +0 -121
  469. package/dist/commands/dom/evalHelpers.js.map +0 -1
  470. package/dist/commands/dom/form.d.ts.map +0 -1
  471. package/dist/commands/dom/form.js.map +0 -1
  472. package/dist/commands/dom/formDiscovery.d.ts +0 -26
  473. package/dist/commands/dom/formDiscovery.d.ts.map +0 -1
  474. package/dist/commands/dom/formDiscovery.js.map +0 -1
  475. package/dist/commands/dom/formFillHelpers.d.ts +0 -186
  476. package/dist/commands/dom/formFillHelpers.d.ts.map +0 -1
  477. package/dist/commands/dom/formFillHelpers.js +0 -650
  478. package/dist/commands/dom/formFillHelpers.js.map +0 -1
  479. package/dist/commands/dom/formInteraction.d.ts.map +0 -1
  480. package/dist/commands/dom/formInteraction.js.map +0 -1
  481. package/dist/commands/dom/formSubmitHelpers.d.ts +0 -59
  482. package/dist/commands/dom/formSubmitHelpers.d.ts.map +0 -1
  483. package/dist/commands/dom/formSubmitHelpers.js +0 -163
  484. package/dist/commands/dom/formSubmitHelpers.js.map +0 -1
  485. package/dist/commands/dom/formTypes.d.ts +0 -75
  486. package/dist/commands/dom/formTypes.d.ts.map +0 -1
  487. package/dist/commands/dom/formTypes.js.map +0 -1
  488. package/dist/commands/dom/helpers.d.ts +0 -86
  489. package/dist/commands/dom/helpers.d.ts.map +0 -1
  490. package/dist/commands/dom/helpers.js +0 -656
  491. package/dist/commands/dom/helpers.js.map +0 -1
  492. package/dist/commands/dom/index.d.ts.map +0 -1
  493. package/dist/commands/dom/index.js.map +0 -1
  494. package/dist/commands/dom/keyMapping.d.ts +0 -56
  495. package/dist/commands/dom/keyMapping.d.ts.map +0 -1
  496. package/dist/commands/dom/keyMapping.js +0 -110
  497. package/dist/commands/dom/keyMapping.js.map +0 -1
  498. package/dist/commands/dom/reactEventHelpers.d.ts +0 -79
  499. package/dist/commands/dom/reactEventHelpers.d.ts.map +0 -1
  500. package/dist/commands/dom/reactEventHelpers.js +0 -239
  501. package/dist/commands/dom/reactEventHelpers.js.map +0 -1
  502. package/dist/commands/dom/screenshotResize.d.ts.map +0 -1
  503. package/dist/commands/dom/screenshotResize.js.map +0 -1
  504. package/dist/commands/helpJson.d.ts.map +0 -1
  505. package/dist/commands/helpJson.js.map +0 -1
  506. package/dist/commands/machineReadableHelp.d.ts +0 -165
  507. package/dist/commands/machineReadableHelp.d.ts.map +0 -1
  508. package/dist/commands/machineReadableHelp.js +0 -252
  509. package/dist/commands/machineReadableHelp.js.map +0 -1
  510. package/dist/commands/network/har.d.ts.map +0 -1
  511. package/dist/commands/network/har.js.map +0 -1
  512. package/dist/commands/network/index.d.ts.map +0 -1
  513. package/dist/commands/network/index.js.map +0 -1
  514. package/dist/commands/network/list.d.ts.map +0 -1
  515. package/dist/commands/network/list.js.map +0 -1
  516. package/dist/commands/network/shared.d.ts.map +0 -1
  517. package/dist/commands/network/shared.js.map +0 -1
  518. package/dist/commands/network.d.ts +0 -8
  519. package/dist/commands/network.d.ts.map +0 -1
  520. package/dist/commands/network.js +0 -216
  521. package/dist/commands/network.js.map +0 -1
  522. package/dist/commands/optionBehaviors.d.ts.map +0 -1
  523. package/dist/commands/optionBehaviors.js.map +0 -1
  524. package/dist/commands/peek.d.ts.map +0 -1
  525. package/dist/commands/peek.js.map +0 -1
  526. package/dist/commands/shared/CommandRunner.d.ts.map +0 -1
  527. package/dist/commands/shared/CommandRunner.js.map +0 -1
  528. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +0 -7
  529. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +0 -1
  530. package/dist/commands/shared/__tests__/validation.unit.test.js +0 -141
  531. package/dist/commands/shared/__tests__/validation.unit.test.js.map +0 -1
  532. package/dist/commands/shared/commonOptions.d.ts.map +0 -1
  533. package/dist/commands/shared/commonOptions.js.map +0 -1
  534. package/dist/commands/shared/daemonErrorHandler.d.ts.map +0 -1
  535. package/dist/commands/shared/daemonErrorHandler.js.map +0 -1
  536. package/dist/commands/shared/dataFetcher.d.ts.map +0 -1
  537. package/dist/commands/shared/dataFetcher.js.map +0 -1
  538. package/dist/commands/shared/followMode.d.ts.map +0 -1
  539. package/dist/commands/shared/followMode.js.map +0 -1
  540. package/dist/commands/shared/landingPage.d.ts.map +0 -1
  541. package/dist/commands/shared/landingPage.js.map +0 -1
  542. package/dist/commands/shared/optionTypes.d.ts.map +0 -1
  543. package/dist/commands/shared/optionTypes.js.map +0 -1
  544. package/dist/commands/shared/startHelpers.d.ts.map +0 -1
  545. package/dist/commands/shared/startHelpers.js.map +0 -1
  546. package/dist/commands/shared/validation.d.ts.map +0 -1
  547. package/dist/commands/shared/validation.js.map +0 -1
  548. package/dist/commands/start.d.ts.map +0 -1
  549. package/dist/commands/start.js.map +0 -1
  550. package/dist/commands/status.d.ts.map +0 -1
  551. package/dist/commands/status.js.map +0 -1
  552. package/dist/commands/stop.d.ts.map +0 -1
  553. package/dist/commands/stop.js.map +0 -1
  554. package/dist/commands/tail.d.ts.map +0 -1
  555. package/dist/commands/tail.js.map +0 -1
  556. package/dist/commands/types.d.ts.map +0 -1
  557. package/dist/commands/types.js.map +0 -1
  558. package/dist/commands.d.ts.map +0 -1
  559. package/dist/commands.js.map +0 -1
  560. package/dist/connection/__tests__/cdp.contract.test.d.ts +0 -16
  561. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +0 -1
  562. package/dist/connection/__tests__/cdp.contract.test.js +0 -377
  563. package/dist/connection/__tests__/cdp.contract.test.js.map +0 -1
  564. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts +0 -9
  565. package/dist/connection/__tests__/flagsBuilder.unit.test.d.ts.map +0 -1
  566. package/dist/connection/__tests__/flagsBuilder.unit.test.js +0 -94
  567. package/dist/connection/__tests__/flagsBuilder.unit.test.js.map +0 -1
  568. package/dist/connection/__tests__/handlers.unit.test.d.ts +0 -11
  569. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +0 -1
  570. package/dist/connection/__tests__/handlers.unit.test.js +0 -220
  571. package/dist/connection/__tests__/handlers.unit.test.js.map +0 -1
  572. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +0 -14
  573. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +0 -1
  574. package/dist/connection/__tests__/pageReadiness.contract.test.js +0 -382
  575. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +0 -1
  576. package/dist/connection/__tests__/portReservation.contract.test.d.ts +0 -14
  577. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +0 -1
  578. package/dist/connection/__tests__/portReservation.contract.test.js +0 -250
  579. package/dist/connection/__tests__/portReservation.contract.test.js.map +0 -1
  580. package/dist/connection/cdp.d.ts.map +0 -1
  581. package/dist/connection/cdp.js.map +0 -1
  582. package/dist/connection/config.d.ts.map +0 -1
  583. package/dist/connection/config.js.map +0 -1
  584. package/dist/connection/diagnostics.d.ts.map +0 -1
  585. package/dist/connection/diagnostics.js.map +0 -1
  586. package/dist/connection/errors.d.ts.map +0 -1
  587. package/dist/connection/errors.js.map +0 -1
  588. package/dist/connection/events.d.ts.map +0 -1
  589. package/dist/connection/events.js.map +0 -1
  590. package/dist/connection/handlers.d.ts.map +0 -1
  591. package/dist/connection/handlers.js.map +0 -1
  592. package/dist/connection/launcher/binaryResolver.d.ts.map +0 -1
  593. package/dist/connection/launcher/binaryResolver.js.map +0 -1
  594. package/dist/connection/launcher/flagsBuilder.d.ts.map +0 -1
  595. package/dist/connection/launcher/flagsBuilder.js.map +0 -1
  596. package/dist/connection/launcher/preferencesLoader.d.ts.map +0 -1
  597. package/dist/connection/launcher/preferencesLoader.js.map +0 -1
  598. package/dist/connection/launcher.d.ts.map +0 -1
  599. package/dist/connection/launcher.js.map +0 -1
  600. package/dist/connection/pageReadiness.d.ts.map +0 -1
  601. package/dist/connection/pageReadiness.js.map +0 -1
  602. package/dist/connection/portReservation.d.ts.map +0 -1
  603. package/dist/connection/portReservation.js.map +0 -1
  604. package/dist/connection/typed-cdp.d.ts.map +0 -1
  605. package/dist/connection/typed-cdp.js.map +0 -1
  606. package/dist/connection/types.d.ts.map +0 -1
  607. package/dist/connection/types.js.map +0 -1
  608. package/dist/constants.d.ts.map +0 -1
  609. package/dist/constants.js.map +0 -1
  610. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +0 -8
  611. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +0 -1
  612. package/dist/daemon/__tests__/JsonlParser.unit.test.js +0 -140
  613. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +0 -1
  614. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +0 -8
  615. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +0 -1
  616. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +0 -276
  617. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +0 -1
  618. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +0 -8
  619. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +0 -1
  620. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +0 -290
  621. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +0 -1
  622. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +0 -8
  623. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +0 -1
  624. package/dist/daemon/__tests__/commandRegistry.contract.test.js +0 -647
  625. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +0 -1
  626. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +0 -19
  627. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +0 -1
  628. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +0 -212
  629. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +0 -1
  630. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts +0 -23
  631. package/dist/daemon/__tests__/ipcServer.contract.test.d.ts.map +0 -1
  632. package/dist/daemon/__tests__/ipcServer.contract.test.js +0 -416
  633. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +0 -1
  634. package/dist/daemon/__tests__/launcher.unit.test.d.ts +0 -8
  635. package/dist/daemon/__tests__/launcher.unit.test.d.ts.map +0 -1
  636. package/dist/daemon/__tests__/launcher.unit.test.js +0 -20
  637. package/dist/daemon/__tests__/launcher.unit.test.js.map +0 -1
  638. package/dist/daemon/errors.d.ts.map +0 -1
  639. package/dist/daemon/errors.js.map +0 -1
  640. package/dist/daemon/handlers/BaseHandler.d.ts +0 -75
  641. package/dist/daemon/handlers/BaseHandler.d.ts.map +0 -1
  642. package/dist/daemon/handlers/BaseHandler.js +0 -103
  643. package/dist/daemon/handlers/BaseHandler.js.map +0 -1
  644. package/dist/daemon/handlers/CommandHandlers.d.ts +0 -36
  645. package/dist/daemon/handlers/CommandHandlers.d.ts.map +0 -1
  646. package/dist/daemon/handlers/CommandHandlers.js +0 -60
  647. package/dist/daemon/handlers/CommandHandlers.js.map +0 -1
  648. package/dist/daemon/handlers/QueryHandlers.d.ts +0 -37
  649. package/dist/daemon/handlers/QueryHandlers.d.ts.map +0 -1
  650. package/dist/daemon/handlers/QueryHandlers.js +0 -126
  651. package/dist/daemon/handlers/QueryHandlers.js.map +0 -1
  652. package/dist/daemon/handlers/SessionHandlers.d.ts +0 -32
  653. package/dist/daemon/handlers/SessionHandlers.d.ts.map +0 -1
  654. package/dist/daemon/handlers/SessionHandlers.js +0 -213
  655. package/dist/daemon/handlers/SessionHandlers.js.map +0 -1
  656. package/dist/daemon/handlers/pendingRequests.d.ts +0 -50
  657. package/dist/daemon/handlers/pendingRequests.d.ts.map +0 -1
  658. package/dist/daemon/handlers/pendingRequests.js +0 -57
  659. package/dist/daemon/handlers/pendingRequests.js.map +0 -1
  660. package/dist/daemon/handlers/requestHandlers.d.ts +0 -55
  661. package/dist/daemon/handlers/requestHandlers.d.ts.map +0 -1
  662. package/dist/daemon/handlers/requestHandlers.js +0 -66
  663. package/dist/daemon/handlers/requestHandlers.js.map +0 -1
  664. package/dist/daemon/handlers/responseHandler.d.ts +0 -42
  665. package/dist/daemon/handlers/responseHandler.d.ts.map +0 -1
  666. package/dist/daemon/handlers/responseHandler.js +0 -217
  667. package/dist/daemon/handlers/responseHandler.js.map +0 -1
  668. package/dist/daemon/ipcServer.d.ts.map +0 -1
  669. package/dist/daemon/ipcServer.js.map +0 -1
  670. package/dist/daemon/launcher.d.ts.map +0 -1
  671. package/dist/daemon/launcher.js.map +0 -1
  672. package/dist/daemon/lifecycle/cdpSetup.d.ts +0 -24
  673. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +0 -1
  674. package/dist/daemon/lifecycle/cdpSetup.js +0 -55
  675. package/dist/daemon/lifecycle/cdpSetup.js.map +0 -1
  676. package/dist/daemon/lifecycle/chromeConnection.d.ts +0 -17
  677. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +0 -1
  678. package/dist/daemon/lifecycle/chromeConnection.js +0 -79
  679. package/dist/daemon/lifecycle/chromeConnection.js.map +0 -1
  680. package/dist/daemon/lifecycle/signalHandlers.d.ts +0 -14
  681. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +0 -1
  682. package/dist/daemon/lifecycle/signalHandlers.js +0 -48
  683. package/dist/daemon/lifecycle/signalHandlers.js.map +0 -1
  684. package/dist/daemon/lifecycle/workerCleanup.d.ts +0 -27
  685. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +0 -1
  686. package/dist/daemon/lifecycle/workerCleanup.js +0 -143
  687. package/dist/daemon/lifecycle/workerCleanup.js.map +0 -1
  688. package/dist/daemon/lifecycle/workerConfig.d.ts +0 -14
  689. package/dist/daemon/lifecycle/workerConfig.d.ts.map +0 -1
  690. package/dist/daemon/lifecycle/workerConfig.js +0 -69
  691. package/dist/daemon/lifecycle/workerConfig.js.map +0 -1
  692. package/dist/daemon/lifecycle/workerIpc.d.ts +0 -14
  693. package/dist/daemon/lifecycle/workerIpc.d.ts.map +0 -1
  694. package/dist/daemon/lifecycle/workerIpc.js +0 -86
  695. package/dist/daemon/lifecycle/workerIpc.js.map +0 -1
  696. package/dist/daemon/patternDefinitions.d.ts.map +0 -1
  697. package/dist/daemon/patternDefinitions.js.map +0 -1
  698. package/dist/daemon/patternDetector.d.ts.map +0 -1
  699. package/dist/daemon/patternDetector.js.map +0 -1
  700. package/dist/daemon/server/JsonlParser.d.ts +0 -31
  701. package/dist/daemon/server/JsonlParser.d.ts.map +0 -1
  702. package/dist/daemon/server/JsonlParser.js +0 -55
  703. package/dist/daemon/server/JsonlParser.js.map +0 -1
  704. package/dist/daemon/server/SocketServer.d.ts.map +0 -1
  705. package/dist/daemon/server/SocketServer.js.map +0 -1
  706. package/dist/daemon/server/WorkerManager.d.ts +0 -36
  707. package/dist/daemon/server/WorkerManager.d.ts.map +0 -1
  708. package/dist/daemon/server/WorkerManager.js +0 -89
  709. package/dist/daemon/server/WorkerManager.js.map +0 -1
  710. package/dist/daemon/services/SessionService.d.ts +0 -87
  711. package/dist/daemon/services/SessionService.d.ts.map +0 -1
  712. package/dist/daemon/services/SessionService.js +0 -45
  713. package/dist/daemon/services/SessionService.js.map +0 -1
  714. package/dist/daemon/startSession.d.ts +0 -55
  715. package/dist/daemon/startSession.d.ts.map +0 -1
  716. package/dist/daemon/startSession.js +0 -168
  717. package/dist/daemon/startSession.js.map +0 -1
  718. package/dist/daemon/worker/TelemetryStore.d.ts +0 -19
  719. package/dist/daemon/worker/TelemetryStore.d.ts.map +0 -1
  720. package/dist/daemon/worker/TelemetryStore.js +0 -53
  721. package/dist/daemon/worker/TelemetryStore.js.map +0 -1
  722. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +0 -11
  723. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +0 -1
  724. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +0 -136
  725. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +0 -1
  726. package/dist/daemon/worker/collectors.d.ts.map +0 -1
  727. package/dist/daemon/worker/collectors.js.map +0 -1
  728. package/dist/daemon/worker/commandRegistry.d.ts.map +0 -1
  729. package/dist/daemon/worker/commandRegistry.js +0 -236
  730. package/dist/daemon/worker/commandRegistry.js.map +0 -1
  731. package/dist/daemon/worker/plugins.d.ts.map +0 -1
  732. package/dist/daemon/worker/plugins.js +0 -75
  733. package/dist/daemon/worker/plugins.js.map +0 -1
  734. package/dist/daemon/worker/types.d.ts.map +0 -1
  735. package/dist/daemon/worker/types.js.map +0 -1
  736. package/dist/daemon/worker.d.ts +0 -9
  737. package/dist/daemon/worker.d.ts.map +0 -1
  738. package/dist/daemon/worker.js +0 -98
  739. package/dist/daemon/worker.js.map +0 -1
  740. package/dist/daemon/workerIpc.d.ts +0 -33
  741. package/dist/daemon/workerIpc.d.ts.map +0 -1
  742. package/dist/daemon/workerIpc.js +0 -8
  743. package/dist/daemon/workerIpc.js.map +0 -1
  744. package/dist/daemon.d.ts.map +0 -1
  745. package/dist/daemon.js.map +0 -1
  746. package/dist/index.d.ts.map +0 -1
  747. package/dist/index.js.map +0 -1
  748. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -8
  749. package/dist/ipc/__tests__/client.contract.test.d.ts.map +0 -1
  750. package/dist/ipc/__tests__/client.contract.test.js +0 -693
  751. package/dist/ipc/__tests__/client.contract.test.js.map +0 -1
  752. package/dist/ipc/__tests__/errors.unit.test.d.ts +0 -7
  753. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +0 -1
  754. package/dist/ipc/__tests__/errors.unit.test.js +0 -77
  755. package/dist/ipc/__tests__/errors.unit.test.js.map +0 -1
  756. package/dist/ipc/__tests__/guards.unit.test.d.ts +0 -7
  757. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +0 -1
  758. package/dist/ipc/__tests__/guards.unit.test.js +0 -73
  759. package/dist/ipc/__tests__/guards.unit.test.js.map +0 -1
  760. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +0 -7
  761. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +0 -1
  762. package/dist/ipc/__tests__/jsonl.unit.test.js +0 -103
  763. package/dist/ipc/__tests__/jsonl.unit.test.js.map +0 -1
  764. package/dist/ipc/__tests__/validation.unit.test.d.ts +0 -7
  765. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +0 -1
  766. package/dist/ipc/__tests__/validation.unit.test.js +0 -60
  767. package/dist/ipc/__tests__/validation.unit.test.js.map +0 -1
  768. package/dist/ipc/client.d.ts.map +0 -1
  769. package/dist/ipc/client.js.map +0 -1
  770. package/dist/ipc/index.d.ts.map +0 -1
  771. package/dist/ipc/index.js.map +0 -1
  772. package/dist/ipc/protocol/commands.d.ts.map +0 -1
  773. package/dist/ipc/protocol/commands.js.map +0 -1
  774. package/dist/ipc/protocol/guards.d.ts.map +0 -1
  775. package/dist/ipc/protocol/guards.js.map +0 -1
  776. package/dist/ipc/protocol/index.d.ts.map +0 -1
  777. package/dist/ipc/protocol/index.js.map +0 -1
  778. package/dist/ipc/protocol/messages.d.ts.map +0 -1
  779. package/dist/ipc/protocol/messages.js.map +0 -1
  780. package/dist/ipc/session/errors.d.ts.map +0 -1
  781. package/dist/ipc/session/errors.js.map +0 -1
  782. package/dist/ipc/session/index.d.ts.map +0 -1
  783. package/dist/ipc/session/index.js.map +0 -1
  784. package/dist/ipc/session/lifecycle.d.ts.map +0 -1
  785. package/dist/ipc/session/lifecycle.js.map +0 -1
  786. package/dist/ipc/session/queries.d.ts.map +0 -1
  787. package/dist/ipc/session/queries.js.map +0 -1
  788. package/dist/ipc/session/types.d.ts.map +0 -1
  789. package/dist/ipc/session/types.js.map +0 -1
  790. package/dist/ipc/transport/IPCError.d.ts.map +0 -1
  791. package/dist/ipc/transport/IPCError.js.map +0 -1
  792. package/dist/ipc/transport/errors.d.ts.map +0 -1
  793. package/dist/ipc/transport/errors.js.map +0 -1
  794. package/dist/ipc/transport/index.d.ts.map +0 -1
  795. package/dist/ipc/transport/index.js.map +0 -1
  796. package/dist/ipc/transport/jsonl.d.ts.map +0 -1
  797. package/dist/ipc/transport/jsonl.js.map +0 -1
  798. package/dist/ipc/transport/socket.d.ts.map +0 -1
  799. package/dist/ipc/transport/socket.js.map +0 -1
  800. package/dist/ipc/transport/validation.d.ts.map +0 -1
  801. package/dist/ipc/transport/validation.js.map +0 -1
  802. package/dist/ipc/utils/errors.d.ts.map +0 -1
  803. package/dist/ipc/utils/errors.js.map +0 -1
  804. package/dist/ipc/utils/index.d.ts.map +0 -1
  805. package/dist/ipc/utils/index.js.map +0 -1
  806. package/dist/ipc/utils/requestId.d.ts +0 -23
  807. package/dist/ipc/utils/requestId.d.ts.map +0 -1
  808. package/dist/ipc/utils/requestId.js +0 -27
  809. package/dist/ipc/utils/requestId.js.map +0 -1
  810. package/dist/ipc/utils/responseValidator.d.ts.map +0 -1
  811. package/dist/ipc/utils/responseValidator.js.map +0 -1
  812. package/dist/ipc/utils/session.d.ts.map +0 -1
  813. package/dist/ipc/utils/session.js.map +0 -1
  814. package/dist/ipc/utils/types.d.ts.map +0 -1
  815. package/dist/ipc/utils/types.js.map +0 -1
  816. package/dist/session/QueryCacheManager.d.ts.map +0 -1
  817. package/dist/session/QueryCacheManager.js.map +0 -1
  818. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +0 -7
  819. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +0 -1
  820. package/dist/session/__tests__/chrome-cache.contract.test.js +0 -77
  821. package/dist/session/__tests__/chrome-cache.contract.test.js.map +0 -1
  822. package/dist/session/__tests__/cleanup.contract.test.d.ts +0 -7
  823. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +0 -1
  824. package/dist/session/__tests__/cleanup.contract.test.js +0 -84
  825. package/dist/session/__tests__/cleanup.contract.test.js.map +0 -1
  826. package/dist/session/__tests__/lock.contract.test.d.ts +0 -7
  827. package/dist/session/__tests__/lock.contract.test.d.ts.map +0 -1
  828. package/dist/session/__tests__/lock.contract.test.js +0 -77
  829. package/dist/session/__tests__/lock.contract.test.js.map +0 -1
  830. package/dist/session/__tests__/metadata.contract.test.d.ts +0 -7
  831. package/dist/session/__tests__/metadata.contract.test.d.ts.map +0 -1
  832. package/dist/session/__tests__/metadata.contract.test.js +0 -87
  833. package/dist/session/__tests__/metadata.contract.test.js.map +0 -1
  834. package/dist/session/chrome.d.ts.map +0 -1
  835. package/dist/session/chrome.js.map +0 -1
  836. package/dist/session/cleanup.d.ts +0 -141
  837. package/dist/session/cleanup.d.ts.map +0 -1
  838. package/dist/session/cleanup.js +0 -514
  839. package/dist/session/cleanup.js.map +0 -1
  840. package/dist/session/lock.d.ts +0 -57
  841. package/dist/session/lock.d.ts.map +0 -1
  842. package/dist/session/lock.js +0 -165
  843. package/dist/session/lock.js.map +0 -1
  844. package/dist/session/metadata.d.ts.map +0 -1
  845. package/dist/session/metadata.js.map +0 -1
  846. package/dist/session/output.d.ts +0 -18
  847. package/dist/session/output.d.ts.map +0 -1
  848. package/dist/session/output.js +0 -24
  849. package/dist/session/output.js.map +0 -1
  850. package/dist/session/paths.d.ts.map +0 -1
  851. package/dist/session/paths.js.map +0 -1
  852. package/dist/session/pid.d.ts.map +0 -1
  853. package/dist/session/pid.js.map +0 -1
  854. package/dist/session/port.d.ts.map +0 -1
  855. package/dist/session/port.js.map +0 -1
  856. package/dist/session/process.d.ts +0 -8
  857. package/dist/session/process.d.ts.map +0 -1
  858. package/dist/session/process.js +0 -8
  859. package/dist/session/process.js.map +0 -1
  860. package/dist/session/queryCache.d.ts +0 -46
  861. package/dist/session/queryCache.d.ts.map +0 -1
  862. package/dist/session/queryCache.js +0 -54
  863. package/dist/session/queryCache.js.map +0 -1
  864. package/dist/session/statusData.d.ts.map +0 -1
  865. package/dist/session/statusData.js.map +0 -1
  866. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +0 -10
  867. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +0 -1
  868. package/dist/telemetry/__tests__/a11y.unit.test.js +0 -265
  869. package/dist/telemetry/__tests__/a11y.unit.test.js.map +0 -1
  870. package/dist/telemetry/__tests__/filters.unit.test.d.ts +0 -2
  871. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +0 -1
  872. package/dist/telemetry/__tests__/filters.unit.test.js +0 -357
  873. package/dist/telemetry/__tests__/filters.unit.test.js.map +0 -1
  874. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +0 -8
  875. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +0 -1
  876. package/dist/telemetry/__tests__/navigation.contract.test.js +0 -211
  877. package/dist/telemetry/__tests__/navigation.contract.test.js.map +0 -1
  878. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -8
  879. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +0 -1
  880. package/dist/telemetry/__tests__/network.contract.test.js +0 -623
  881. package/dist/telemetry/__tests__/network.contract.test.js.map +0 -1
  882. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts +0 -2
  883. package/dist/telemetry/__tests__/remoteObject.unit.test.d.ts.map +0 -1
  884. package/dist/telemetry/__tests__/remoteObject.unit.test.js +0 -261
  885. package/dist/telemetry/__tests__/remoteObject.unit.test.js.map +0 -1
  886. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +0 -9
  887. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +0 -1
  888. package/dist/telemetry/__tests__/roleInference.unit.test.js +0 -138
  889. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +0 -1
  890. package/dist/telemetry/__tests__/utils.unit.test.d.ts +0 -7
  891. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +0 -1
  892. package/dist/telemetry/__tests__/utils.unit.test.js +0 -91
  893. package/dist/telemetry/__tests__/utils.unit.test.js.map +0 -1
  894. package/dist/telemetry/a11y.d.ts.map +0 -1
  895. package/dist/telemetry/a11y.js.map +0 -1
  896. package/dist/telemetry/console.d.ts.map +0 -1
  897. package/dist/telemetry/console.js.map +0 -1
  898. package/dist/telemetry/dialogs.d.ts.map +0 -1
  899. package/dist/telemetry/dialogs.js.map +0 -1
  900. package/dist/telemetry/dom.d.ts.map +0 -1
  901. package/dist/telemetry/dom.js.map +0 -1
  902. package/dist/telemetry/filterDsl.d.ts.map +0 -1
  903. package/dist/telemetry/filterDsl.js.map +0 -1
  904. package/dist/telemetry/filterPresets.d.ts.map +0 -1
  905. package/dist/telemetry/filterPresets.js.map +0 -1
  906. package/dist/telemetry/filters.d.ts.map +0 -1
  907. package/dist/telemetry/filters.js.map +0 -1
  908. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +0 -8
  909. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +0 -1
  910. package/dist/telemetry/har/__tests__/builder.unit.test.js +0 -694
  911. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +0 -1
  912. package/dist/telemetry/har/builder.d.ts.map +0 -1
  913. package/dist/telemetry/har/builder.js.map +0 -1
  914. package/dist/telemetry/har/types.d.ts.map +0 -1
  915. package/dist/telemetry/har/types.js.map +0 -1
  916. package/dist/telemetry/navigation.d.ts.map +0 -1
  917. package/dist/telemetry/navigation.js.map +0 -1
  918. package/dist/telemetry/network.d.ts.map +0 -1
  919. package/dist/telemetry/network.js.map +0 -1
  920. package/dist/telemetry/objectExpander.d.ts.map +0 -1
  921. package/dist/telemetry/objectExpander.js.map +0 -1
  922. package/dist/telemetry/remoteObject.d.ts.map +0 -1
  923. package/dist/telemetry/remoteObject.js.map +0 -1
  924. package/dist/telemetry/remoteObjectUtils.d.ts.map +0 -1
  925. package/dist/telemetry/remoteObjectUtils.js.map +0 -1
  926. package/dist/telemetry/roleInference.d.ts.map +0 -1
  927. package/dist/telemetry/roleInference.js.map +0 -1
  928. package/dist/telemetry/utils.d.ts.map +0 -1
  929. package/dist/telemetry/utils.js.map +0 -1
  930. package/dist/types/dom.d.ts +0 -77
  931. package/dist/types/dom.d.ts.map +0 -1
  932. package/dist/types/dom.js +0 -8
  933. package/dist/types/dom.js.map +0 -1
  934. package/dist/types.d.ts.map +0 -1
  935. package/dist/types.js.map +0 -1
  936. package/dist/ui/OutputBuilder.d.ts.map +0 -1
  937. package/dist/ui/OutputBuilder.js.map +0 -1
  938. package/dist/ui/errors/CommandError.d.ts.map +0 -1
  939. package/dist/ui/errors/CommandError.js.map +0 -1
  940. package/dist/ui/errors/index.d.ts.map +0 -1
  941. package/dist/ui/errors/index.js.map +0 -1
  942. package/dist/ui/errors/utils.d.ts.map +0 -1
  943. package/dist/ui/errors/utils.js.map +0 -1
  944. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +0 -13
  945. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +0 -1
  946. package/dist/ui/formatters/__tests__/preview.unit.test.js +0 -180
  947. package/dist/ui/formatters/__tests__/preview.unit.test.js.map +0 -1
  948. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +0 -2
  949. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +0 -1
  950. package/dist/ui/formatters/__tests__/semantic.unit.test.js +0 -111
  951. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +0 -1
  952. package/dist/ui/formatters/a11y.d.ts.map +0 -1
  953. package/dist/ui/formatters/a11y.js.map +0 -1
  954. package/dist/ui/formatters/console.d.ts.map +0 -1
  955. package/dist/ui/formatters/console.js.map +0 -1
  956. package/dist/ui/formatters/cookies.d.ts.map +0 -1
  957. package/dist/ui/formatters/cookies.js.map +0 -1
  958. package/dist/ui/formatters/details.d.ts.map +0 -1
  959. package/dist/ui/formatters/details.js.map +0 -1
  960. package/dist/ui/formatters/dom.d.ts.map +0 -1
  961. package/dist/ui/formatters/dom.js.map +0 -1
  962. package/dist/ui/formatters/form.d.ts.map +0 -1
  963. package/dist/ui/formatters/form.js.map +0 -1
  964. package/dist/ui/formatters/helpFormatters.d.ts.map +0 -1
  965. package/dist/ui/formatters/helpFormatters.js.map +0 -1
  966. package/dist/ui/formatters/index.d.ts.map +0 -1
  967. package/dist/ui/formatters/index.js.map +0 -1
  968. package/dist/ui/formatters/networkHeaders.d.ts.map +0 -1
  969. package/dist/ui/formatters/networkHeaders.js.map +0 -1
  970. package/dist/ui/formatters/networkList.d.ts.map +0 -1
  971. package/dist/ui/formatters/networkList.js.map +0 -1
  972. package/dist/ui/formatters/preview.d.ts.map +0 -1
  973. package/dist/ui/formatters/preview.js.map +0 -1
  974. package/dist/ui/formatters/semantic.d.ts.map +0 -1
  975. package/dist/ui/formatters/semantic.js.map +0 -1
  976. package/dist/ui/formatters/sessionFormatters.d.ts.map +0 -1
  977. package/dist/ui/formatters/sessionFormatters.js.map +0 -1
  978. package/dist/ui/formatters/status.d.ts.map +0 -1
  979. package/dist/ui/formatters/status.js.map +0 -1
  980. package/dist/ui/formatting.d.ts.map +0 -1
  981. package/dist/ui/formatting.js.map +0 -1
  982. package/dist/ui/logging/index.d.ts.map +0 -1
  983. package/dist/ui/logging/index.js.map +0 -1
  984. package/dist/ui/logging/logger.d.ts.map +0 -1
  985. package/dist/ui/logging/logger.js.map +0 -1
  986. package/dist/ui/messages/chrome.d.ts.map +0 -1
  987. package/dist/ui/messages/chrome.js.map +0 -1
  988. package/dist/ui/messages/commands.d.ts.map +0 -1
  989. package/dist/ui/messages/commands.js.map +0 -1
  990. package/dist/ui/messages/consoleMessages.d.ts.map +0 -1
  991. package/dist/ui/messages/consoleMessages.js.map +0 -1
  992. package/dist/ui/messages/debug.d.ts +0 -168
  993. package/dist/ui/messages/debug.d.ts.map +0 -1
  994. package/dist/ui/messages/debug.js +0 -219
  995. package/dist/ui/messages/debug.js.map +0 -1
  996. package/dist/ui/messages/dom.d.ts +0 -14
  997. package/dist/ui/messages/dom.d.ts.map +0 -1
  998. package/dist/ui/messages/dom.js +0 -28
  999. package/dist/ui/messages/dom.js.map +0 -1
  1000. package/dist/ui/messages/errors.d.ts +0 -233
  1001. package/dist/ui/messages/errors.d.ts.map +0 -1
  1002. package/dist/ui/messages/errors.js +0 -395
  1003. package/dist/ui/messages/errors.js.map +0 -1
  1004. package/dist/ui/messages/hints.d.ts.map +0 -1
  1005. package/dist/ui/messages/hints.js.map +0 -1
  1006. package/dist/ui/messages/internal.d.ts +0 -23
  1007. package/dist/ui/messages/internal.d.ts.map +0 -1
  1008. package/dist/ui/messages/internal.js +0 -27
  1009. package/dist/ui/messages/internal.js.map +0 -1
  1010. package/dist/ui/messages/networkMessages.d.ts.map +0 -1
  1011. package/dist/ui/messages/networkMessages.js.map +0 -1
  1012. package/dist/ui/messages/preview.d.ts.map +0 -1
  1013. package/dist/ui/messages/preview.js.map +0 -1
  1014. package/dist/ui/messages/session.d.ts.map +0 -1
  1015. package/dist/ui/messages/session.js.map +0 -1
  1016. package/dist/ui/messages/validation.d.ts.map +0 -1
  1017. package/dist/ui/messages/validation.js.map +0 -1
  1018. package/dist/utils/__tests__/atomicFile.test.d.ts +0 -2
  1019. package/dist/utils/__tests__/atomicFile.test.d.ts.map +0 -1
  1020. package/dist/utils/__tests__/atomicFile.test.js +0 -43
  1021. package/dist/utils/__tests__/atomicFile.test.js.map +0 -1
  1022. package/dist/utils/__tests__/errors.unit.test.d.ts +0 -12
  1023. package/dist/utils/__tests__/errors.unit.test.d.ts.map +0 -1
  1024. package/dist/utils/__tests__/errors.unit.test.js +0 -255
  1025. package/dist/utils/__tests__/errors.unit.test.js.map +0 -1
  1026. package/dist/utils/__tests__/http.unit.test.d.ts +0 -12
  1027. package/dist/utils/__tests__/http.unit.test.d.ts.map +0 -1
  1028. package/dist/utils/__tests__/http.unit.test.js +0 -218
  1029. package/dist/utils/__tests__/http.unit.test.js.map +0 -1
  1030. package/dist/utils/__tests__/objects.test.d.ts +0 -2
  1031. package/dist/utils/__tests__/objects.test.d.ts.map +0 -1
  1032. package/dist/utils/__tests__/objects.test.js +0 -50
  1033. package/dist/utils/__tests__/objects.test.js.map +0 -1
  1034. package/dist/utils/__tests__/process.unit.test.d.ts +0 -14
  1035. package/dist/utils/__tests__/process.unit.test.d.ts.map +0 -1
  1036. package/dist/utils/__tests__/process.unit.test.js +0 -124
  1037. package/dist/utils/__tests__/process.unit.test.js.map +0 -1
  1038. package/dist/utils/__tests__/session.contract.test.d.ts +0 -2
  1039. package/dist/utils/__tests__/session.contract.test.d.ts.map +0 -1
  1040. package/dist/utils/__tests__/session.contract.test.js +0 -258
  1041. package/dist/utils/__tests__/session.contract.test.js.map +0 -1
  1042. package/dist/utils/__tests__/shellDetection.unit.test.d.ts +0 -12
  1043. package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +0 -1
  1044. package/dist/utils/__tests__/shellDetection.unit.test.js +0 -220
  1045. package/dist/utils/__tests__/shellDetection.unit.test.js.map +0 -1
  1046. package/dist/utils/__tests__/url.test.d.ts +0 -2
  1047. package/dist/utils/__tests__/url.test.d.ts.map +0 -1
  1048. package/dist/utils/__tests__/url.test.js +0 -42
  1049. package/dist/utils/__tests__/url.test.js.map +0 -1
  1050. package/dist/utils/async.d.ts.map +0 -1
  1051. package/dist/utils/async.js.map +0 -1
  1052. package/dist/utils/atomicFile.d.ts.map +0 -1
  1053. package/dist/utils/atomicFile.js.map +0 -1
  1054. package/dist/utils/concurrency.d.ts.map +0 -1
  1055. package/dist/utils/concurrency.js.map +0 -1
  1056. package/dist/utils/daemonErrors.d.ts +0 -60
  1057. package/dist/utils/daemonErrors.d.ts.map +0 -1
  1058. package/dist/utils/daemonErrors.js +0 -58
  1059. package/dist/utils/daemonErrors.js.map +0 -1
  1060. package/dist/utils/decisionTrees.d.ts.map +0 -1
  1061. package/dist/utils/decisionTrees.js.map +0 -1
  1062. package/dist/utils/errorMapping.d.ts.map +0 -1
  1063. package/dist/utils/errorMapping.js.map +0 -1
  1064. package/dist/utils/errors.d.ts.map +0 -1
  1065. package/dist/utils/errors.js.map +0 -1
  1066. package/dist/utils/exitCodes.d.ts.map +0 -1
  1067. package/dist/utils/exitCodes.js.map +0 -1
  1068. package/dist/utils/file.d.ts.map +0 -1
  1069. package/dist/utils/file.js.map +0 -1
  1070. package/dist/utils/http.d.ts.map +0 -1
  1071. package/dist/utils/http.js.map +0 -1
  1072. package/dist/utils/levenshtein.d.ts.map +0 -1
  1073. package/dist/utils/levenshtein.js.map +0 -1
  1074. package/dist/utils/objects.d.ts.map +0 -1
  1075. package/dist/utils/objects.js.map +0 -1
  1076. package/dist/utils/process.d.ts.map +0 -1
  1077. package/dist/utils/process.js.map +0 -1
  1078. package/dist/utils/shellDetection.d.ts.map +0 -1
  1079. package/dist/utils/shellDetection.js.map +0 -1
  1080. package/dist/utils/strings.d.ts.map +0 -1
  1081. package/dist/utils/strings.js.map +0 -1
  1082. package/dist/utils/suggestions.d.ts.map +0 -1
  1083. package/dist/utils/suggestions.js.map +0 -1
  1084. package/dist/utils/taskMappings.d.ts.map +0 -1
  1085. package/dist/utils/taskMappings.js.map +0 -1
  1086. package/dist/utils/typeGuards.d.ts.map +0 -1
  1087. package/dist/utils/typeGuards.js.map +0 -1
  1088. package/dist/utils/url.d.ts.map +0 -1
  1089. package/dist/utils/url.js.map +0 -1
  1090. package/dist/utils/validation.d.ts.map +0 -1
  1091. package/dist/utils/validation.js.map +0 -1
  1092. package/dist/utils/version.d.ts.map +0 -1
  1093. package/dist/utils/version.js.map +0 -1
  1094. /package/dist/daemon/{worker → session}/commandRegistry.d.ts +0 -0
  1095. /package/dist/daemon/{worker → session}/types.js +0 -0
  1096. /package/dist/{ui/errors → errors}/CommandError.d.ts +0 -0
  1097. /package/dist/{ui/errors → errors}/index.js +0 -0
  1098. /package/dist/{ui/errors → errors}/utils.d.ts +0 -0
  1099. /package/dist/{commands → runtime}/dom/formTypes.js +0 -0
@@ -0,0 +1,252 @@
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. The Debugger domain is not
8
+ * enabled: that would make `debugger;` statements pause the page.
9
+ */
10
+ import { CDPProtocolError } from '../../connection/errors.js';
11
+ import { CommandError } from '../../errors/index.js';
12
+ import { eventListenersUnavailableError, indexOutOfRangeError, noNodesFoundError, operationFailedError, staleNodeError, } from '../../errors/messages.js';
13
+ import { throwIfInvalidSelector, withMultipleMatchesWarning, } from './formFillHelpers/shared.js';
14
+ import { buildListenerReport, describeChainEntry, } from './listenerSummary.js';
15
+ import { DEEP_QUERY_JS, selectorArgsJS } from './targetNode.js';
16
+ import { createLogger } from '../../ui/logging/index.js';
17
+ import { getErrorMessage } from '../../utils/errors.js';
18
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
19
+ const log = createLogger('dom');
20
+ /** JSON-RPC code Chrome returns for an unknown method */
21
+ const METHOD_NOT_FOUND = -32601;
22
+ /**
23
+ * Page function: the selector's match at `index` as `[matchCount, element]`,
24
+ * or just the match count when there is no such match.
25
+ */
26
+ const SELECT_JS = `function (selector, parts, index) {
27
+ const found = (${DEEP_QUERY_JS})(selector, parts);
28
+ return found[index] ? [found.length, found[index]] : found.length;
29
+ }`;
30
+ /**
31
+ * Page function, called on the element: `[element, ...ancestors, document,
32
+ * window]`, or null when it left the page. Shadow roots lead to their host,
33
+ * like composed events do.
34
+ */
35
+ const CHAIN_JS = `function () {
36
+ if (!this.isConnected) return null;
37
+ const chain = [];
38
+ const next = (node) => node.parentNode || (node.nodeType === 11 && node.host ? node.host : null);
39
+ for (let node = this; node; node = next(node)) chain.push(node);
40
+ const view = this.ownerDocument && this.ownerDocument.defaultView;
41
+ if (view) chain.push(view);
42
+ return chain;
43
+ }`;
44
+ /** Page function: names of the given functions (null for non-functions) */
45
+ const NAMES_JS = `function (...fns) {
46
+ return fns.map((fn) => (typeof fn === 'function' ? fn.name : null));
47
+ }`;
48
+ /** Distinguishes the object groups of concurrent calls */
49
+ let groupCounter = 0;
50
+ /**
51
+ * List the event listeners that run for an element.
52
+ *
53
+ * @param cdp - CDP connection
54
+ * @param params - Selector (and index) or backend node id, optional event types
55
+ * @returns Listener report
56
+ * @throws CommandError (83) no match, (81) index out of range or invalid
57
+ * selector, (87) the cached element left the page, (110) no DOMDebugger
58
+ */
59
+ export async function inspectEventListeners(cdp, params) {
60
+ const objectGroup = `bdg-listeners-${++groupCounter}`;
61
+ try {
62
+ const { matchCount, chain } = await findEventTargetChain(cdp, params, objectGroup);
63
+ const found = await collectListeners(cdp, chain);
64
+ const handlers = found.flatMap((entry) => entry.listeners.map((l) => l.handler));
65
+ const names = await handlerNames(cdp, chain[0]?.objectId ?? '', handlers);
66
+ const result = {
67
+ success: true,
68
+ selector: params.selector,
69
+ ...(params.index !== undefined && { index: params.index }),
70
+ element: describeChainEntry(chain[0] ?? {}),
71
+ listeners: buildListenerReport(found, names, params.types),
72
+ ...(params.backendNodeId === undefined && { matchCount }),
73
+ };
74
+ return withMultipleMatchesWarning(result, params.index, 'listing the first');
75
+ }
76
+ finally {
77
+ void cdp
78
+ .send('Runtime.releaseObjectGroup', { objectGroup })
79
+ .catch((error) => log.debug(`Object group not released: ${getErrorMessage(error)}`));
80
+ }
81
+ }
82
+ /**
83
+ * Find the element and the event targets above it.
84
+ *
85
+ * The chain is built in the element's own frame: `DOMDebugger.getEventListeners`
86
+ * only reports handlers created in the context the object belongs to, so an
87
+ * element of a same-origin iframe found from the top page would show none.
88
+ *
89
+ * @param cdp - CDP connection
90
+ * @param params - Request
91
+ * @param objectGroup - Object group for the handles
92
+ * @returns Number of selector matches and the chain (element first, window last)
93
+ */
94
+ async function findEventTargetChain(cdp, params, objectGroup) {
95
+ const match = params.backendNodeId === undefined
96
+ ? await findSelectorMatch(cdp, params, objectGroup)
97
+ : { matchCount: 1, backendNodeId: params.backendNodeId };
98
+ const chain = await nodeChain(cdp, match.backendNodeId, objectGroup);
99
+ if (!chain)
100
+ throw missingElementError(params, 0);
101
+ return { matchCount: match.matchCount, chain };
102
+ }
103
+ /**
104
+ * Find the selector's match at `--index` (searching open shadow roots and
105
+ * same-origin frames).
106
+ *
107
+ * @param cdp - CDP connection
108
+ * @param params - Request with the selector
109
+ * @param objectGroup - Object group for the handles
110
+ * @returns Number of matches and the backend node id of the match
111
+ * @throws CommandError (81) invalid selector or index out of range, (83) no match
112
+ */
113
+ async function findSelectorMatch(cdp, params, objectGroup) {
114
+ const expression = `(${SELECT_JS})(${selectorArgsJS(params.selector)}, ${params.index ?? 0})`;
115
+ const response = (await cdp.send('Runtime.evaluate', {
116
+ expression,
117
+ objectGroup,
118
+ }));
119
+ if (response.exceptionDetails) {
120
+ throwIfInvalidSelector(response.exceptionDetails, params.selector);
121
+ const err = operationFailedError('find the element', response.exceptionDetails.text);
122
+ throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.SCRIPT_ERROR);
123
+ }
124
+ if (!response.result.objectId) {
125
+ throw missingElementError(params, Number(response.result.value ?? 0));
126
+ }
127
+ const [count, element] = await arrayItems(cdp, response.result.objectId);
128
+ const { node } = (await cdp.send('DOM.describeNode', {
129
+ objectId: element?.objectId,
130
+ }));
131
+ return { matchCount: Number(count?.value ?? 1), backendNodeId: node.backendNodeId };
132
+ }
133
+ /**
134
+ * The element with `backendNodeId` and the event targets above it, resolved
135
+ * in the element's frame.
136
+ *
137
+ * @param cdp - CDP connection
138
+ * @param backendNodeId - Backend node id
139
+ * @param objectGroup - Object group for the handles
140
+ * @returns Chain (element first, window last), or null when the node is gone
141
+ */
142
+ async function nodeChain(cdp, backendNodeId, objectGroup) {
143
+ const resolved = (await cdp
144
+ .send('DOM.resolveNode', { backendNodeId, objectGroup })
145
+ .catch((error) => {
146
+ log.debug(`Node ${backendNodeId} not resolved: ${getErrorMessage(error)}`);
147
+ return {};
148
+ }));
149
+ const objectId = resolved.object?.objectId;
150
+ if (!objectId)
151
+ return null;
152
+ const response = (await cdp.send('Runtime.callFunctionOn', {
153
+ objectId,
154
+ functionDeclaration: CHAIN_JS,
155
+ objectGroup,
156
+ }));
157
+ if (!response.result.objectId)
158
+ return null;
159
+ const items = await arrayItems(cdp, response.result.objectId);
160
+ return items.flatMap((item) => item?.objectId
161
+ ? [{ objectId: item.objectId, className: item.className, description: item.description }]
162
+ : []);
163
+ }
164
+ /**
165
+ * Error for an element that could not be found.
166
+ *
167
+ * @param params - Request
168
+ * @param matchCount - Elements the selector matched
169
+ * @returns Stale (87), out of range (81) or not found (83) error
170
+ */
171
+ function missingElementError(params, matchCount) {
172
+ if (params.backendNodeId !== undefined) {
173
+ const err = staleNodeError();
174
+ return new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.STALE_CACHE);
175
+ }
176
+ if (matchCount > 0) {
177
+ const err = indexOutOfRangeError(params.index ?? 0, matchCount - 1);
178
+ return new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.INVALID_ARGUMENTS);
179
+ }
180
+ const err = noNodesFoundError(params.selector);
181
+ return new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.RESOURCE_NOT_FOUND);
182
+ }
183
+ /**
184
+ * Items of an array in the page, in order.
185
+ *
186
+ * @param cdp - CDP connection
187
+ * @param arrayId - Object id of the array
188
+ * @returns Its items
189
+ */
190
+ async function arrayItems(cdp, arrayId) {
191
+ const { result } = (await cdp.send('Runtime.getProperties', {
192
+ objectId: arrayId,
193
+ ownProperties: true,
194
+ }));
195
+ return result
196
+ .filter((property) => /^\d+$/.test(property.name))
197
+ .sort((a, b) => Number(a.name) - Number(b.name))
198
+ .map((property) => property.value);
199
+ }
200
+ /**
201
+ * Get the listeners of every event target in the chain (in parallel).
202
+ *
203
+ * @param cdp - CDP connection
204
+ * @param chain - Event targets, element first
205
+ * @returns Listeners per target
206
+ * @throws CommandError (110) when the browser has no DOMDebugger.getEventListeners
207
+ */
208
+ async function collectListeners(cdp, chain) {
209
+ try {
210
+ return await Promise.all(chain.map(async (entry, position) => {
211
+ const { listeners } = (await cdp.send('DOMDebugger.getEventListeners', {
212
+ objectId: entry.objectId,
213
+ depth: 0,
214
+ }));
215
+ return { position, entry, listeners };
216
+ }));
217
+ }
218
+ catch (error) {
219
+ if (!(error instanceof CDPProtocolError) || error.code !== METHOD_NOT_FOUND)
220
+ throw error;
221
+ const err = eventListenersUnavailableError(error.message);
222
+ throw new CommandError(err.message, { suggestion: err.suggestion }, EXIT_CODES.SOFTWARE_ERROR);
223
+ }
224
+ }
225
+ /**
226
+ * Ask the page for the handlers' names (`Function.name` also knows names of
227
+ * arrow functions assigned to variables, and `bound f` for bound functions).
228
+ *
229
+ * @param cdp - CDP connection
230
+ * @param elementId - Object id of the element (the page context to run in)
231
+ * @param handlers - Handler objects, in report order
232
+ * @returns Names in the same order; empty when the page could not tell
233
+ */
234
+ async function handlerNames(cdp, elementId, handlers) {
235
+ if (handlers.length === 0)
236
+ return [];
237
+ try {
238
+ const response = (await cdp.send('Runtime.callFunctionOn', {
239
+ objectId: elementId,
240
+ functionDeclaration: NAMES_JS,
241
+ arguments: handlers.map((handler) => handler?.objectId ? { objectId: handler.objectId } : { value: null }),
242
+ returnByValue: true,
243
+ }));
244
+ const names = response.result.value;
245
+ return (names ?? []).map((name) => name ?? undefined);
246
+ }
247
+ catch (error) {
248
+ log.debug(`Handler names not read: ${getErrorMessage(error)}`);
249
+ return [];
250
+ }
251
+ }
252
+ //# 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 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 return cleaned || text.trim();\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.isPrimary);\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 style = window.getComputedStyle(el);\n const isHidden = style.display === 'none' || style.visibility === 'hidden' || el.type === 'hidden';\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: el.required || el.getAttribute('aria-required') === 'true',\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 const style = window.getComputedStyle(el);\n if (style.display === 'none' || style.visibility === 'hidden') continue;\n const type = el.type?.toLowerCase() || 'button';\n const btnType = type === 'submit' ? 'submit' : type === 'reset' ? 'reset' : 'button';\n const isPrimary = btnType === 'submit' ||\n el.classList.contains('primary') ||\n el.classList.contains('btn-primary') ||\n el.classList.contains('submit');\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 isPrimary: isPrimary\n });\n idx++;\n }\n return buttons;\n }\n\n const forms = document.querySelectorAll('form');\n let globalIndex = 0;\n\n if (forms.length === 0) {\n const bodyFields = discoverFields(document.body, 0, 0);\n const bodyButtons = discoverButtons(document.body, 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 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 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 inIframe: inIframe,\n fields: fields,\n buttons: buttons\n });\n }\n }\n\n result.forms.sort((a, b) => b.relevanceScore - a.relevanceScore);\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 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
@@ -18,13 +18,23 @@ export const FORM_DISCOVERY_SCRIPT = `
18
18
  (function() {
19
19
  const result = { forms: [] };
20
20
 
21
+ function isUnique(selector) {
22
+ try {
23
+ return document.querySelectorAll(selector).length === 1;
24
+ } catch (e) {
25
+ return false;
26
+ }
27
+ }
28
+
21
29
  function generateSelector(element) {
22
- if (element.id) {
30
+ if (element.id && isUnique('#' + CSS.escape(element.id))) {
23
31
  return '#' + CSS.escape(element.id);
24
32
  }
25
33
  if (element.name) {
26
- const tag = element.tagName.toLowerCase();
27
- return tag + '[name="' + CSS.escape(element.name) + '"]';
34
+ const byName = element.tagName.toLowerCase() + '[name="' + CSS.escape(element.name) + '"]';
35
+ if (isUnique(byName)) return byName;
36
+ const byValue = byName + '[value="' + CSS.escape(element.getAttribute('value') || '') + '"]';
37
+ if (element.hasAttribute('value') && isUnique(byValue)) return byValue;
28
38
  }
29
39
  const tag = element.tagName.toLowerCase();
30
40
  const parent = element.parentElement;
@@ -48,7 +58,6 @@ export const FORM_DISCOVERY_SCRIPT = `
48
58
  /\\bchevron\\b/gi,
49
59
  /←|→|↑|↓|▲|▼|◀|▶/g,
50
60
  /\\u25C0|\\u25B6|\\u25B2|\\u25BC/g,
51
- /Previous|Next|Back|Forward/gi,
52
61
  /^\\s*[<>]\\s*/,
53
62
  /\\s*[<>]\\s*$/,
54
63
  ];
@@ -185,8 +194,22 @@ export const FORM_DISCOVERY_SCRIPT = `
185
194
  next.getAttribute('role') === 'alert';
186
195
  if (isError) return next.textContent.trim();
187
196
  }
197
+ // aria-errormessage always names the error; aria-describedby does when the
198
+ // field is marked invalid or the description looks like an error
199
+ const invalid = element.getAttribute('aria-invalid') === 'true';
200
+ const errorIds = (element.getAttribute('aria-errormessage') || '').split(/\\s+/).filter(Boolean);
201
+ const describedIds = (element.getAttribute('aria-describedby') || '').split(/\\s+/).filter(Boolean);
202
+ for (const id of [...errorIds, ...describedIds]) {
203
+ const target = document.getElementById(id);
204
+ const looksLikeError = errorIds.includes(id) || invalid ||
205
+ /error|invalid|alert/i.test(target ? target.className + ' ' + (target.getAttribute('role') || '') : '');
206
+ if (target && looksLikeError && target.textContent.trim()) {
207
+ return target.textContent.trim();
208
+ }
209
+ }
188
210
  const parent = element.parentElement;
189
- if (parent) {
211
+ const controls = parent ? parent.querySelectorAll('input, select, textarea, [contenteditable="true"]') : [];
212
+ if (parent && controls.length === 1) {
190
213
  const errorEl = parent.querySelector('.error-message, .field-error, [role="alert"]');
191
214
  if (errorEl && errorEl !== element) return errorEl.textContent.trim();
192
215
  }
@@ -208,7 +231,12 @@ export const FORM_DISCOVERY_SCRIPT = `
208
231
  if (isInHeader) score -= 10;
209
232
  const isInAside = formEl.closest('aside, [role="complementary"], footer, [role="contentinfo"]');
210
233
  if (isInAside) score -= 5;
211
- score += Math.min(fields.length * 3, 30);
234
+ const distinctFields = new Set(
235
+ fields.map((f) => (f.type === 'radio' || f.type === 'checkbox') && f.name ? f.type + ':' + f.name : f.index)
236
+ ).size;
237
+ score += Math.min(distinctFields * 3, 30);
238
+ const textTypes = ['text', 'search', 'email', 'password', 'textarea', 'tel', 'url', 'number', 'textbox'];
239
+ if (fields.some((f) => textTypes.includes(f.type))) score += 10;
212
240
  const hasSubmit = buttons.some(b => b.type === 'submit' || b.isPrimary);
213
241
  if (hasSubmit) score += 10;
214
242
  const style = window.getComputedStyle(formEl);
@@ -314,8 +342,6 @@ export const FORM_DISCOVERY_SCRIPT = `
314
342
  return h.textContent.trim();
315
343
  }
316
344
  }
317
- const legend = formEl.querySelector('legend');
318
- if (legend) return legend.textContent.trim();
319
345
  const title = formEl.getAttribute('title');
320
346
  if (title) return title;
321
347
  const name = formEl.getAttribute('name');
@@ -371,7 +397,8 @@ export const FORM_DISCOVERY_SCRIPT = `
371
397
  value: value,
372
398
  checked: el.checked,
373
399
  validationMessage: el.validationMessage || undefined,
374
- isValid: el.checkValidity ? el.checkValidity() : true,
400
+ isValid: el.validity ? el.validity.valid : true,
401
+ valueMissing: el.validity ? el.validity.valueMissing : false,
375
402
  ariaInvalid: el.getAttribute('aria-invalid') === 'true',
376
403
  hasErrorClass: el.classList.contains('error') || el.classList.contains('invalid'),
377
404
  siblingErrorText: findSiblingError(el),
@@ -457,6 +484,18 @@ export const FORM_DISCOVERY_SCRIPT = `
457
484
 
458
485
  result.forms.sort((a, b) => b.relevanceScore - a.relevanceScore);
459
486
 
487
+ // Forms the main document does not contain may be in its same-origin iframes
488
+ if (result.forms.length === 0) {
489
+ result.frameForms = [];
490
+ for (const frame of document.querySelectorAll('iframe, frame')) {
491
+ let frameDocument = null;
492
+ try { frameDocument = frame.contentDocument; } catch (e) { frameDocument = null; }
493
+ if (frameDocument && frameDocument.querySelector('form, input:not([type=hidden]), select, textarea')) {
494
+ result.frameForms.push({ url: frame.src || 'about:blank' });
495
+ }
496
+ }
497
+ }
498
+
460
499
  return result;
461
500
  })()
462
501
  `;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Fill and click operations — inject React-compatible page-context scripts
3
+ * and unpack structured results.
4
+ */
5
+ import type { CDPConnection } from '../../../connection/cdp.js';
6
+ import { type FillOptions, type FillResult, type ClickResult } from '../reactEventHelpers.js';
7
+ /**
8
+ * Fill a form element with a value in a React-compatible way.
9
+ */
10
+ export declare function fillElement(cdp: CDPConnection, selector: string, value: string, options?: FillOptions): Promise<FillResult>;
11
+ /** How a located element is pointed at */
12
+ export type PointerAction = 'click' | 'double' | 'right' | 'hover';
13
+ /**
14
+ * Real mouse events for an action at a point.
15
+ *
16
+ * @param action - What to do
17
+ * @param x - Page x
18
+ * @param y - Page y
19
+ * @returns `Input.dispatchMouseEvent` parameters, in order
20
+ */
21
+ export declare function mouseEvents(action: PointerAction, x: number, y: number): Array<Record<string, unknown>>;
22
+ /**
23
+ * Click an element.
24
+ */
25
+ export declare function clickElement(cdp: CDPConnection, selector: string, options?: {
26
+ index?: number;
27
+ action?: PointerAction;
28
+ }): Promise<ClickResult>;
29
+ //# sourceMappingURL=fill.d.ts.map