@vforsh/argus-watcher 0.3.0 → 0.4.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 (489) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/artifacts.d.ts +9 -5
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +22 -6
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/buffer/LogBuffer.d.ts +14 -10
  7. package/dist/buffer/LogBuffer.d.ts.map +1 -1
  8. package/dist/buffer/LogBuffer.js +15 -40
  9. package/dist/buffer/LogBuffer.js.map +1 -1
  10. package/dist/buffer/NetBuffer.d.ts +0 -6
  11. package/dist/buffer/NetBuffer.d.ts.map +1 -1
  12. package/dist/buffer/NetBuffer.js +0 -12
  13. package/dist/buffer/NetBuffer.js.map +1 -1
  14. package/dist/cdp/accessibility.d.ts.map +1 -1
  15. package/dist/cdp/accessibility.js +4 -4
  16. package/dist/cdp/accessibility.js.map +1 -1
  17. package/dist/cdp/authCookieShapes.d.ts +26 -0
  18. package/dist/cdp/authCookieShapes.d.ts.map +1 -0
  19. package/dist/cdp/authCookieShapes.js +41 -0
  20. package/dist/cdp/authCookieShapes.js.map +1 -0
  21. package/dist/cdp/{auth.d.ts → authCookies.d.ts} +11 -15
  22. package/dist/cdp/authCookies.d.ts.map +1 -0
  23. package/dist/cdp/authCookies.js +186 -0
  24. package/dist/cdp/authCookies.js.map +1 -0
  25. package/dist/cdp/authPageState.d.ts +28 -0
  26. package/dist/cdp/authPageState.d.ts.map +1 -0
  27. package/dist/cdp/authPageState.js +62 -0
  28. package/dist/cdp/authPageState.js.map +1 -0
  29. package/dist/cdp/authSnapshot.d.ts +16 -0
  30. package/dist/cdp/authSnapshot.d.ts.map +1 -0
  31. package/dist/cdp/authSnapshot.js +47 -0
  32. package/dist/cdp/authSnapshot.js.map +1 -0
  33. package/dist/cdp/browserCookies.d.ts.map +1 -1
  34. package/dist/cdp/browserCookies.js +18 -111
  35. package/dist/cdp/browserCookies.js.map +1 -1
  36. package/dist/cdp/cdpValues.d.ts +12 -0
  37. package/dist/cdp/cdpValues.d.ts.map +1 -0
  38. package/dist/cdp/cdpValues.js +18 -0
  39. package/dist/cdp/cdpValues.js.map +1 -0
  40. package/dist/cdp/connection.d.ts +42 -6
  41. package/dist/cdp/connection.d.ts.map +1 -1
  42. package/dist/cdp/connection.js +57 -5
  43. package/dist/cdp/connection.js.map +1 -1
  44. package/dist/cdp/dom/info.d.ts.map +1 -1
  45. package/dist/cdp/dom/info.js +3 -3
  46. package/dist/cdp/dom/info.js.map +1 -1
  47. package/dist/cdp/dom/mutate.d.ts +109 -0
  48. package/dist/cdp/dom/mutate.d.ts.map +1 -0
  49. package/dist/cdp/dom/mutate.js +174 -0
  50. package/dist/cdp/dom/mutate.js.map +1 -0
  51. package/dist/cdp/dom/selector.d.ts +1 -1
  52. package/dist/cdp/dom/selector.d.ts.map +1 -1
  53. package/dist/cdp/dom/selector.js +10 -10
  54. package/dist/cdp/dom/selector.js.map +1 -1
  55. package/dist/cdp/dom/tree.js +2 -2
  56. package/dist/cdp/dom/tree.js.map +1 -1
  57. package/dist/cdp/dom.d.ts +2 -10
  58. package/dist/cdp/dom.d.ts.map +1 -1
  59. package/dist/cdp/dom.js +1 -5
  60. package/dist/cdp/dom.js.map +1 -1
  61. package/dist/cdp/editor.d.ts +36 -0
  62. package/dist/cdp/editor.d.ts.map +1 -1
  63. package/dist/cdp/editor.js +32 -5
  64. package/dist/cdp/editor.js.map +1 -1
  65. package/dist/cdp/eval.d.ts.map +1 -1
  66. package/dist/cdp/eval.js +18 -56
  67. package/dist/cdp/eval.js.map +1 -1
  68. package/dist/cdp/ffmpeg.d.ts +37 -0
  69. package/dist/cdp/ffmpeg.d.ts.map +1 -0
  70. package/dist/cdp/ffmpeg.js +98 -0
  71. package/dist/cdp/ffmpeg.js.map +1 -0
  72. package/dist/cdp/ignoreList.d.ts.map +1 -1
  73. package/dist/cdp/ignoreList.js +2 -1
  74. package/dist/cdp/ignoreList.js.map +1 -1
  75. package/dist/cdp/keyboard.d.ts.map +1 -1
  76. package/dist/cdp/keyboard.js +2 -3
  77. package/dist/cdp/keyboard.js.map +1 -1
  78. package/dist/cdp/locate.js +37 -2
  79. package/dist/cdp/locate.js.map +1 -1
  80. package/dist/cdp/mouse.d.ts.map +1 -1
  81. package/dist/cdp/mouse.js +15 -50
  82. package/dist/cdp/mouse.js.map +1 -1
  83. package/dist/cdp/networkBody.d.ts.map +1 -1
  84. package/dist/cdp/networkBody.js +8 -11
  85. package/dist/cdp/networkBody.js.map +1 -1
  86. package/dist/cdp/networkCapture.d.ts.map +1 -1
  87. package/dist/cdp/networkCapture.js +9 -18
  88. package/dist/cdp/networkCapture.js.map +1 -1
  89. package/dist/cdp/networkRealtimeCapture.d.ts.map +1 -1
  90. package/dist/cdp/networkRealtimeCapture.js +8 -17
  91. package/dist/cdp/networkRealtimeCapture.js.map +1 -1
  92. package/dist/cdp/pageIndicator.d.ts.map +1 -1
  93. package/dist/cdp/pageIndicator.js +4 -27
  94. package/dist/cdp/pageIndicator.js.map +1 -1
  95. package/dist/cdp/pageState.d.ts +66 -0
  96. package/dist/cdp/pageState.d.ts.map +1 -0
  97. package/dist/cdp/pageState.js +75 -0
  98. package/dist/cdp/pageState.js.map +1 -0
  99. package/dist/cdp/protocol.d.ts +630 -0
  100. package/dist/cdp/protocol.d.ts.map +1 -0
  101. package/dist/cdp/protocol.js +15 -0
  102. package/dist/cdp/protocol.js.map +1 -0
  103. package/dist/cdp/recording.d.ts.map +1 -1
  104. package/dist/cdp/recording.js +13 -127
  105. package/dist/cdp/recording.js.map +1 -1
  106. package/dist/cdp/redaction.d.ts +4 -1
  107. package/dist/cdp/redaction.d.ts.map +1 -1
  108. package/dist/cdp/redaction.js +4 -10
  109. package/dist/cdp/redaction.js.map +1 -1
  110. package/dist/cdp/remoteObject.d.ts +9 -3
  111. package/dist/cdp/remoteObject.d.ts.map +1 -1
  112. package/dist/cdp/remoteObject.js.map +1 -1
  113. package/dist/cdp/scenarioBridge.d.ts.map +1 -1
  114. package/dist/cdp/scenarioBridge.js +2 -2
  115. package/dist/cdp/scenarioBridge.js.map +1 -1
  116. package/dist/cdp/screenshot.js +2 -2
  117. package/dist/cdp/screenshot.js.map +1 -1
  118. package/dist/cdp/selectBestFrame.d.ts +8 -1
  119. package/dist/cdp/selectBestFrame.d.ts.map +1 -1
  120. package/dist/cdp/selectBestFrame.js +8 -3
  121. package/dist/cdp/selectBestFrame.js.map +1 -1
  122. package/dist/cdp/storage.d.ts.map +1 -1
  123. package/dist/cdp/storage.js +2 -11
  124. package/dist/cdp/storage.js.map +1 -1
  125. package/dist/cdp/text-filter.d.ts.map +1 -1
  126. package/dist/cdp/text-filter.js +2 -11
  127. package/dist/cdp/text-filter.js.map +1 -1
  128. package/dist/cdp/tracing.d.ts.map +1 -1
  129. package/dist/cdp/tracing.js +16 -39
  130. package/dist/cdp/tracing.js.map +1 -1
  131. package/dist/cdp/visualCapture.d.ts.map +1 -1
  132. package/dist/cdp/visualCapture.js +7 -9
  133. package/dist/cdp/visualCapture.js.map +1 -1
  134. package/dist/cdp/watcher.d.ts +2 -0
  135. package/dist/cdp/watcher.d.ts.map +1 -1
  136. package/dist/cdp/watcher.js +2 -10
  137. package/dist/cdp/watcher.js.map +1 -1
  138. package/dist/cdp/watcherEvents.d.ts +27 -3
  139. package/dist/cdp/watcherEvents.d.ts.map +1 -1
  140. package/dist/cdp/watcherEvents.js +46 -29
  141. package/dist/cdp/watcherEvents.js.map +1 -1
  142. package/dist/deferred.d.ts +14 -0
  143. package/dist/deferred.d.ts.map +1 -0
  144. package/dist/deferred.js +16 -0
  145. package/dist/deferred.js.map +1 -0
  146. package/dist/emulation/EmulationController.d.ts +7 -0
  147. package/dist/emulation/EmulationController.d.ts.map +1 -1
  148. package/dist/emulation/EmulationController.js +31 -75
  149. package/dist/emulation/EmulationController.js.map +1 -1
  150. package/dist/errors.d.ts +29 -0
  151. package/dist/errors.d.ts.map +1 -0
  152. package/dist/errors.js +31 -0
  153. package/dist/errors.js.map +1 -0
  154. package/dist/events.d.ts +3 -52
  155. package/dist/events.d.ts.map +1 -1
  156. package/dist/http/endpoints.d.ts +54 -0
  157. package/dist/http/endpoints.d.ts.map +1 -0
  158. package/dist/http/endpoints.js +75 -0
  159. package/dist/http/endpoints.js.map +1 -0
  160. package/dist/http/httpUtils.d.ts +47 -3
  161. package/dist/http/httpUtils.d.ts.map +1 -1
  162. package/dist/http/httpUtils.js +75 -29
  163. package/dist/http/httpUtils.js.map +1 -1
  164. package/dist/http/router.js +2 -2
  165. package/dist/http/router.js.map +1 -1
  166. package/dist/http/routes/authCookies.d.ts.map +1 -1
  167. package/dist/http/routes/authCookies.js +7 -93
  168. package/dist/http/routes/authCookies.js.map +1 -1
  169. package/dist/http/routes/defineDomTargetRoute.d.ts +3 -5
  170. package/dist/http/routes/defineDomTargetRoute.d.ts.map +1 -1
  171. package/dist/http/routes/defineDomTargetRoute.js +2 -3
  172. package/dist/http/routes/defineDomTargetRoute.js.map +1 -1
  173. package/dist/http/routes/defineExtensionRoute.d.ts +30 -0
  174. package/dist/http/routes/defineExtensionRoute.d.ts.map +1 -0
  175. package/dist/http/routes/defineExtensionRoute.js +33 -0
  176. package/dist/http/routes/defineExtensionRoute.js.map +1 -0
  177. package/dist/http/routes/defineRoute.d.ts +8 -8
  178. package/dist/http/routes/defineRoute.d.ts.map +1 -1
  179. package/dist/http/routes/defineRoute.js +11 -13
  180. package/dist/http/routes/defineRoute.js.map +1 -1
  181. package/dist/http/routes/domSelectorRoute.d.ts.map +1 -1
  182. package/dist/http/routes/domSelectorRoute.js +4 -7
  183. package/dist/http/routes/domSelectorRoute.js.map +1 -1
  184. package/dist/http/routes/extensionTarget.d.ts +11 -0
  185. package/dist/http/routes/extensionTarget.d.ts.map +1 -0
  186. package/dist/http/routes/extensionTarget.js +8 -0
  187. package/dist/http/routes/extensionTarget.js.map +1 -0
  188. package/dist/http/routes/getAuthCookies.js +1 -1
  189. package/dist/http/routes/getAuthCookies.js.map +1 -1
  190. package/dist/http/routes/getAuthState.js +1 -1
  191. package/dist/http/routes/getAuthState.js.map +1 -1
  192. package/dist/http/routes/getExtensionDiagnostics.d.ts.map +1 -1
  193. package/dist/http/routes/getExtensionDiagnostics.js +5 -9
  194. package/dist/http/routes/getExtensionDiagnostics.js.map +1 -1
  195. package/dist/http/routes/getExtensionTabs.d.ts.map +1 -1
  196. package/dist/http/routes/getExtensionTabs.js +10 -16
  197. package/dist/http/routes/getExtensionTabs.js.map +1 -1
  198. package/dist/http/routes/getLogCursor.js +1 -1
  199. package/dist/http/routes/getLogCursor.js.map +1 -1
  200. package/dist/http/routes/getLogs.d.ts.map +1 -1
  201. package/dist/http/routes/getLogs.js +8 -8
  202. package/dist/http/routes/getLogs.js.map +1 -1
  203. package/dist/http/routes/getNet.js +2 -2
  204. package/dist/http/routes/getNet.js.map +1 -1
  205. package/dist/http/routes/getNetRequest.js +3 -3
  206. package/dist/http/routes/getNetRequest.js.map +1 -1
  207. package/dist/http/routes/getNetRequestBody.d.ts.map +1 -1
  208. package/dist/http/routes/getNetRequestBody.js +8 -7
  209. package/dist/http/routes/getNetRequestBody.js.map +1 -1
  210. package/dist/http/routes/getNetRequests.js +2 -2
  211. package/dist/http/routes/getNetRequests.js.map +1 -1
  212. package/dist/http/routes/getNetSse.js +2 -2
  213. package/dist/http/routes/getNetSse.js.map +1 -1
  214. package/dist/http/routes/getNetTail.d.ts.map +1 -1
  215. package/dist/http/routes/getNetTail.js +3 -3
  216. package/dist/http/routes/getNetTail.js.map +1 -1
  217. package/dist/http/routes/getNetWebSocketConnection.d.ts.map +1 -1
  218. package/dist/http/routes/getNetWebSocketConnection.js +8 -8
  219. package/dist/http/routes/getNetWebSocketConnection.js.map +1 -1
  220. package/dist/http/routes/getNetWebSockets.js +2 -2
  221. package/dist/http/routes/getNetWebSockets.js.map +1 -1
  222. package/dist/http/routes/getStatus.d.ts.map +1 -1
  223. package/dist/http/routes/getStatus.js +3 -0
  224. package/dist/http/routes/getStatus.js.map +1 -1
  225. package/dist/http/routes/getTail.js +7 -7
  226. package/dist/http/routes/getTail.js.map +1 -1
  227. package/dist/http/routes/getTargets.d.ts.map +1 -1
  228. package/dist/http/routes/getTargets.js +5 -10
  229. package/dist/http/routes/getTargets.js.map +1 -1
  230. package/dist/http/routes/logEpochQuery.d.ts +8 -1
  231. package/dist/http/routes/logEpochQuery.d.ts.map +1 -1
  232. package/dist/http/routes/logEpochQuery.js +18 -28
  233. package/dist/http/routes/logEpochQuery.js.map +1 -1
  234. package/dist/http/routes/netFilters.d.ts +10 -0
  235. package/dist/http/routes/netFilters.d.ts.map +1 -1
  236. package/dist/http/routes/netFilters.js +41 -28
  237. package/dist/http/routes/netFilters.js.map +1 -1
  238. package/dist/http/routes/netMock.d.ts.map +1 -1
  239. package/dist/http/routes/netMock.js +3 -116
  240. package/dist/http/routes/netMock.js.map +1 -1
  241. package/dist/http/routes/netRequestLookup.js +3 -13
  242. package/dist/http/routes/netRequestLookup.js.map +1 -1
  243. package/dist/http/routes/postAttach.d.ts.map +1 -1
  244. package/dist/http/routes/postAttach.js +8 -18
  245. package/dist/http/routes/postAttach.js.map +1 -1
  246. package/dist/http/routes/postAuthStateLoad.d.ts.map +1 -1
  247. package/dist/http/routes/postAuthStateLoad.js +2 -17
  248. package/dist/http/routes/postAuthStateLoad.js.map +1 -1
  249. package/dist/http/routes/postCodeEdit.d.ts.map +1 -1
  250. package/dist/http/routes/postCodeEdit.js +2 -10
  251. package/dist/http/routes/postCodeEdit.js.map +1 -1
  252. package/dist/http/routes/postCodeGrep.d.ts.map +1 -1
  253. package/dist/http/routes/postCodeGrep.js +2 -10
  254. package/dist/http/routes/postCodeGrep.js.map +1 -1
  255. package/dist/http/routes/postCodeList.d.ts.map +1 -1
  256. package/dist/http/routes/postCodeList.js +2 -7
  257. package/dist/http/routes/postCodeList.js.map +1 -1
  258. package/dist/http/routes/postCodeRead.d.ts.map +1 -1
  259. package/dist/http/routes/postCodeRead.js +2 -13
  260. package/dist/http/routes/postCodeRead.js.map +1 -1
  261. package/dist/http/routes/postDetach.d.ts.map +1 -1
  262. package/dist/http/routes/postDetach.js +8 -18
  263. package/dist/http/routes/postDetach.js.map +1 -1
  264. package/dist/http/routes/postDialog.d.ts.map +1 -1
  265. package/dist/http/routes/postDialog.js +5 -13
  266. package/dist/http/routes/postDialog.js.map +1 -1
  267. package/dist/http/routes/postDomAdd.d.ts.map +1 -1
  268. package/dist/http/routes/postDomAdd.js +3 -31
  269. package/dist/http/routes/postDomAdd.js.map +1 -1
  270. package/dist/http/routes/postDomFill.d.ts.map +1 -1
  271. package/dist/http/routes/postDomFill.js +2 -10
  272. package/dist/http/routes/postDomFill.js.map +1 -1
  273. package/dist/http/routes/postDomFocus.d.ts.map +1 -1
  274. package/dist/http/routes/postDomFocus.js +2 -0
  275. package/dist/http/routes/postDomFocus.js.map +1 -1
  276. package/dist/http/routes/postDomHover.d.ts.map +1 -1
  277. package/dist/http/routes/postDomHover.js +2 -0
  278. package/dist/http/routes/postDomHover.js.map +1 -1
  279. package/dist/http/routes/postDomInfo.d.ts.map +1 -1
  280. package/dist/http/routes/postDomInfo.js +3 -3
  281. package/dist/http/routes/postDomInfo.js.map +1 -1
  282. package/dist/http/routes/postDomKeydown.d.ts.map +1 -1
  283. package/dist/http/routes/postDomKeydown.js +2 -27
  284. package/dist/http/routes/postDomKeydown.js.map +1 -1
  285. package/dist/http/routes/postDomModify.d.ts.map +1 -1
  286. package/dist/http/routes/postDomModify.js +4 -19
  287. package/dist/http/routes/postDomModify.js.map +1 -1
  288. package/dist/http/routes/postDomRemove.d.ts.map +1 -1
  289. package/dist/http/routes/postDomRemove.js +5 -5
  290. package/dist/http/routes/postDomRemove.js.map +1 -1
  291. package/dist/http/routes/postDomScroll.d.ts.map +1 -1
  292. package/dist/http/routes/postDomScroll.js +5 -27
  293. package/dist/http/routes/postDomScroll.js.map +1 -1
  294. package/dist/http/routes/postDomScrollTo.d.ts.map +1 -1
  295. package/dist/http/routes/postDomScrollTo.js +2 -30
  296. package/dist/http/routes/postDomScrollTo.js.map +1 -1
  297. package/dist/http/routes/postDomSetFile.d.ts.map +1 -1
  298. package/dist/http/routes/postDomSetFile.js +2 -17
  299. package/dist/http/routes/postDomSetFile.js.map +1 -1
  300. package/dist/http/routes/postDomTree.d.ts.map +1 -1
  301. package/dist/http/routes/postDomTree.js +3 -3
  302. package/dist/http/routes/postDomTree.js.map +1 -1
  303. package/dist/http/routes/postEmulation.d.ts.map +1 -1
  304. package/dist/http/routes/postEmulation.js +3 -47
  305. package/dist/http/routes/postEmulation.js.map +1 -1
  306. package/dist/http/routes/postEval.d.ts.map +1 -1
  307. package/dist/http/routes/postEval.js +2 -7
  308. package/dist/http/routes/postEval.js.map +1 -1
  309. package/dist/http/routes/postLocate.d.ts.map +1 -1
  310. package/dist/http/routes/postLocate.js +5 -17
  311. package/dist/http/routes/postLocate.js.map +1 -1
  312. package/dist/http/routes/postRecord.d.ts.map +1 -1
  313. package/dist/http/routes/postRecord.js +4 -66
  314. package/dist/http/routes/postRecord.js.map +1 -1
  315. package/dist/http/routes/postReload.d.ts.map +1 -1
  316. package/dist/http/routes/postReload.js +2 -1
  317. package/dist/http/routes/postReload.js.map +1 -1
  318. package/dist/http/routes/postScreenshot.d.ts.map +1 -1
  319. package/dist/http/routes/postScreenshot.js +2 -32
  320. package/dist/http/routes/postScreenshot.js.map +1 -1
  321. package/dist/http/routes/postSnapshot.d.ts.map +1 -1
  322. package/dist/http/routes/postSnapshot.js +2 -10
  323. package/dist/http/routes/postSnapshot.js.map +1 -1
  324. package/dist/http/routes/postThrottle.d.ts.map +1 -1
  325. package/dist/http/routes/postThrottle.js +2 -15
  326. package/dist/http/routes/postThrottle.js.map +1 -1
  327. package/dist/http/routes/postTraceStart.d.ts.map +1 -1
  328. package/dist/http/routes/postTraceStart.js +2 -1
  329. package/dist/http/routes/postTraceStart.js.map +1 -1
  330. package/dist/http/routes/postTraceStop.d.ts.map +1 -1
  331. package/dist/http/routes/postTraceStop.js +2 -1
  332. package/dist/http/routes/postTraceStop.js.map +1 -1
  333. package/dist/http/routes/postVisibility.d.ts.map +1 -1
  334. package/dist/http/routes/postVisibility.js +2 -7
  335. package/dist/http/routes/postVisibility.js.map +1 -1
  336. package/dist/http/routes/storage.d.ts.map +1 -1
  337. package/dist/http/routes/storage.js +2 -16
  338. package/dist/http/routes/storage.js.map +1 -1
  339. package/dist/http/server.d.ts +9 -36
  340. package/dist/http/server.d.ts.map +1 -1
  341. package/dist/http/server.js.map +1 -1
  342. package/dist/index.d.ts +3 -1
  343. package/dist/index.d.ts.map +1 -1
  344. package/dist/index.js +1 -0
  345. package/dist/index.js.map +1 -1
  346. package/dist/internal.d.ts +18 -0
  347. package/dist/internal.d.ts.map +1 -0
  348. package/dist/internal.js +16 -0
  349. package/dist/internal.js.map +1 -0
  350. package/dist/native-messaging/control-session-manager.d.ts +3 -12
  351. package/dist/native-messaging/control-session-manager.d.ts.map +1 -1
  352. package/dist/native-messaging/control-session-manager.js +13 -32
  353. package/dist/native-messaging/control-session-manager.js.map +1 -1
  354. package/dist/native-messaging/pendingRequests.d.ts +31 -0
  355. package/dist/native-messaging/pendingRequests.d.ts.map +1 -0
  356. package/dist/native-messaging/pendingRequests.js +47 -0
  357. package/dist/native-messaging/pendingRequests.js.map +1 -0
  358. package/dist/native-messaging/session-manager.d.ts +35 -31
  359. package/dist/native-messaging/session-manager.d.ts.map +1 -1
  360. package/dist/native-messaging/session-manager.js +54 -86
  361. package/dist/native-messaging/session-manager.js.map +1 -1
  362. package/dist/native-messaging/types.d.ts +6 -211
  363. package/dist/native-messaging/types.d.ts.map +1 -1
  364. package/dist/native-messaging/types.js +5 -3
  365. package/dist/native-messaging/types.js.map +1 -1
  366. package/dist/net/NetMockController.d.ts.map +1 -1
  367. package/dist/net/NetMockController.js +7 -5
  368. package/dist/net/NetMockController.js.map +1 -1
  369. package/dist/net/NetMockInterception.d.ts +2 -1
  370. package/dist/net/NetMockInterception.d.ts.map +1 -1
  371. package/dist/net/NetMockInterception.js +4 -3
  372. package/dist/net/NetMockInterception.js.map +1 -1
  373. package/dist/net/filtering.d.ts +2 -2
  374. package/dist/net/filtering.d.ts.map +1 -1
  375. package/dist/net/filtering.js.map +1 -1
  376. package/dist/runtime/shutdownLatch.d.ts +16 -0
  377. package/dist/runtime/shutdownLatch.d.ts.map +1 -0
  378. package/dist/runtime/shutdownLatch.js +17 -0
  379. package/dist/runtime/shutdownLatch.js.map +1 -0
  380. package/dist/runtime/watcherIndicator.d.ts +45 -0
  381. package/dist/runtime/watcherIndicator.d.ts.map +1 -0
  382. package/dist/runtime/watcherIndicator.js +62 -0
  383. package/dist/runtime/watcherIndicator.js.map +1 -0
  384. package/dist/runtime/watcherInject.d.ts +25 -1
  385. package/dist/runtime/watcherInject.d.ts.map +1 -1
  386. package/dist/runtime/watcherInject.js +48 -6
  387. package/dist/runtime/watcherInject.js.map +1 -1
  388. package/dist/runtime/watcherServices.d.ts.map +1 -1
  389. package/dist/runtime/watcherServices.js +44 -57
  390. package/dist/runtime/watcherServices.js.map +1 -1
  391. package/dist/runtime/watcherSetup.d.ts +3 -0
  392. package/dist/runtime/watcherSetup.d.ts.map +1 -1
  393. package/dist/runtime/watcherSetup.js +2 -0
  394. package/dist/runtime/watcherSetup.js.map +1 -1
  395. package/dist/sourcemaps/resolveLocation.d.ts +14 -5
  396. package/dist/sourcemaps/resolveLocation.d.ts.map +1 -1
  397. package/dist/sourcemaps/resolveLocation.js +10 -68
  398. package/dist/sourcemaps/resolveLocation.js.map +1 -1
  399. package/dist/sourcemaps/sourceMappingUrl.d.ts +27 -0
  400. package/dist/sourcemaps/sourceMappingUrl.d.ts.map +1 -0
  401. package/dist/sourcemaps/sourceMappingUrl.js +57 -0
  402. package/dist/sourcemaps/sourceMappingUrl.js.map +1 -0
  403. package/dist/sourcemaps/sourcemapResolver.d.ts +30 -0
  404. package/dist/sourcemaps/sourcemapResolver.d.ts.map +1 -0
  405. package/dist/sourcemaps/sourcemapResolver.js +152 -0
  406. package/dist/sourcemaps/sourcemapResolver.js.map +1 -0
  407. package/dist/sources/cdp-source.d.ts.map +1 -1
  408. package/dist/sources/cdp-source.js +3 -2
  409. package/dist/sources/cdp-source.js.map +1 -1
  410. package/dist/sources/extension-control-source.d.ts.map +1 -1
  411. package/dist/sources/extension-control-source.js +9 -3
  412. package/dist/sources/extension-control-source.js.map +1 -1
  413. package/dist/sources/extension-delegating-session.d.ts +19 -8
  414. package/dist/sources/extension-delegating-session.d.ts.map +1 -1
  415. package/dist/sources/extension-delegating-session.js +4 -0
  416. package/dist/sources/extension-delegating-session.js.map +1 -1
  417. package/dist/sources/extension-frame-runtime.d.ts +2 -1
  418. package/dist/sources/extension-frame-runtime.d.ts.map +1 -1
  419. package/dist/sources/extension-frame-runtime.js +37 -17
  420. package/dist/sources/extension-frame-runtime.js.map +1 -1
  421. package/dist/sources/extension-frame-snapshot.d.ts +31 -0
  422. package/dist/sources/extension-frame-snapshot.d.ts.map +1 -0
  423. package/dist/sources/extension-frame-snapshot.js +73 -0
  424. package/dist/sources/extension-frame-snapshot.js.map +1 -0
  425. package/dist/sources/extension-frame-state.d.ts +3 -17
  426. package/dist/sources/extension-frame-state.d.ts.map +1 -1
  427. package/dist/sources/extension-frame-state.js +5 -30
  428. package/dist/sources/extension-frame-state.js.map +1 -1
  429. package/dist/sources/extension-session-events.d.ts +5 -2
  430. package/dist/sources/extension-session-events.d.ts.map +1 -1
  431. package/dist/sources/extension-session-events.js +7 -4
  432. package/dist/sources/extension-session-events.js.map +1 -1
  433. package/dist/sources/extension-source.d.ts.map +1 -1
  434. package/dist/sources/extension-source.js +49 -23
  435. package/dist/sources/extension-source.js.map +1 -1
  436. package/dist/sources/extension-target-recovery.d.ts.map +1 -1
  437. package/dist/sources/extension-target-recovery.js +3 -6
  438. package/dist/sources/extension-target-recovery.js.map +1 -1
  439. package/dist/sources/types.d.ts +5 -0
  440. package/dist/sources/types.d.ts.map +1 -1
  441. package/dist/sources/types.js +0 -5
  442. package/dist/sources/types.js.map +1 -1
  443. package/dist/startWatcherRuntime.d.ts.map +1 -1
  444. package/dist/startWatcherRuntime.js +31 -134
  445. package/dist/startWatcherRuntime.js.map +1 -1
  446. package/dist/stickyController.d.ts +51 -0
  447. package/dist/stickyController.d.ts.map +1 -0
  448. package/dist/stickyController.js +64 -0
  449. package/dist/stickyController.js.map +1 -0
  450. package/dist/throttle/ThrottleController.d.ts +1 -0
  451. package/dist/throttle/ThrottleController.d.ts.map +1 -1
  452. package/dist/throttle/ThrottleController.js +20 -61
  453. package/dist/throttle/ThrottleController.js.map +1 -1
  454. package/dist/visibility/VisibilityController.d.ts +9 -12
  455. package/dist/visibility/VisibilityController.d.ts.map +1 -1
  456. package/dist/visibility/VisibilityController.js +28 -36
  457. package/dist/visibility/VisibilityController.js.map +1 -1
  458. package/package.json +6 -2
  459. package/dist/cdp/auth.d.ts.map +0 -1
  460. package/dist/cdp/auth.js +0 -349
  461. package/dist/cdp/auth.js.map +0 -1
  462. package/dist/cdp/dom/fill.d.ts +0 -23
  463. package/dist/cdp/dom/fill.d.ts.map +0 -1
  464. package/dist/cdp/dom/fill.js +0 -59
  465. package/dist/cdp/dom/fill.js.map +0 -1
  466. package/dist/cdp/dom/insert.d.ts +0 -19
  467. package/dist/cdp/dom/insert.d.ts.map +0 -1
  468. package/dist/cdp/dom/insert.js +0 -30
  469. package/dist/cdp/dom/insert.js.map +0 -1
  470. package/dist/cdp/dom/modify.d.ts +0 -50
  471. package/dist/cdp/dom/modify.d.ts.map +0 -1
  472. package/dist/cdp/dom/modify.js +0 -100
  473. package/dist/cdp/dom/modify.js.map +0 -1
  474. package/dist/cdp/dom/remove.d.ts +0 -17
  475. package/dist/cdp/dom/remove.d.ts.map +0 -1
  476. package/dist/cdp/dom/remove.js +0 -27
  477. package/dist/cdp/dom/remove.js.map +0 -1
  478. package/dist/cdp/dom/setFile.d.ts +0 -21
  479. package/dist/cdp/dom/setFile.d.ts.map +0 -1
  480. package/dist/cdp/dom/setFile.js +0 -25
  481. package/dist/cdp/dom/setFile.js.map +0 -1
  482. package/dist/cdp/dom/types.d.ts +0 -16
  483. package/dist/cdp/dom/types.d.ts.map +0 -1
  484. package/dist/cdp/dom/types.js +0 -2
  485. package/dist/cdp/dom/types.js.map +0 -1
  486. package/dist/sources/extension-log-events.d.ts +0 -15
  487. package/dist/sources/extension-log-events.d.ts.map +0 -1
  488. package/dist/sources/extension-log-events.js +0 -101
  489. package/dist/sources/extension-log-events.js.map +0 -1
@@ -1,7 +1,10 @@
1
+ import type { CdpEvent, CdpEventPayload, CdpMethod, CdpParams, CdpResult } from './protocol.js';
1
2
  export type CdpEventMeta = {
2
- sessionId?: string | null;
3
+ /** Child protocol session the event arrived on, or `null` for the root target. */
4
+ sessionId: string | null;
3
5
  };
4
- export type CdpEventHandler = (params: unknown, meta: CdpEventMeta) => void;
6
+ /** Handler for one CDP event, typed by the event it is registered for. */
7
+ export type CdpEventHandler<E extends CdpEvent = CdpEvent> = (params: CdpEventPayload<E>, meta: CdpEventMeta) => void;
5
8
  export type CdpSendOptions = {
6
9
  /** Optional timeout for this CDP command (ms). */
7
10
  timeoutMs?: number;
@@ -18,10 +21,26 @@ export type CdpTargetContext = {
18
21
  };
19
22
  export type CdpSessionHandle = {
20
23
  isAttached: () => boolean;
21
- sendAndWait: (method: string, params?: Record<string, unknown>, options?: CdpSendOptions) => Promise<unknown>;
22
- onEvent: (method: string, handler: CdpEventHandler) => () => void;
23
- /** Active target context for commands that need frame-aware behavior. */
24
- getTargetContext?: () => CdpTargetContext;
24
+ /**
25
+ * Send one CDP command and await its result.
26
+ *
27
+ * Parameters and result are looked up from {@link CdpCommandMap} by method name, so an
28
+ * unknown method or a mistyped payload fails to compile. Use {@link sendUntypedCommand}
29
+ * for the rare call whose method is genuinely computed at runtime.
30
+ */
31
+ sendAndWait: <M extends CdpMethod>(method: M, params?: CdpParams<M>, options?: CdpSendOptions) => Promise<CdpResult<M>>;
32
+ /** Subscribe to one CDP event. The handler receives that event's payload, not `unknown`. */
33
+ onEvent: <E extends CdpEvent>(method: E, handler: CdpEventHandler<E>) => () => void;
34
+ /**
35
+ * Active target context for commands that need frame-aware behavior.
36
+ *
37
+ * Required, not optional-by-capability: a direct-CDP session is always page-scoped and says so,
38
+ * which is what lets every frame-aware consumer just call it instead of writing the same
39
+ * ternary-plus-optional-chain dance.
40
+ */
41
+ getTargetContext: () => CdpTargetContext;
42
+ /** Resolve the selected target after recovery; rejects if a requested iframe is still not executable. */
43
+ getReadyTargetContext: () => Promise<CdpTargetContext>;
25
44
  };
26
45
  type CdpConnection = {
27
46
  sendAndWait: (method: string, params?: Record<string, unknown>, options?: CdpSendOptions) => Promise<unknown>;
@@ -35,5 +54,22 @@ export type CdpSessionController = {
35
54
  };
36
55
  export declare const createCdpSessionHandle: () => CdpSessionController;
37
56
  export declare const createCdpNotAttachedError: () => Error;
57
+ /** A short-lived connection to one CDP endpoint, for commands that need no session. */
58
+ export type OneShotCdpConnection = {
59
+ sendAndWait: <M extends CdpMethod>(method: M, params?: CdpParams<M>, options?: CdpSendOptions) => Promise<CdpResult<M>>;
60
+ close: () => void;
61
+ };
62
+ /**
63
+ * Open a CDP WebSocket and return a connection for issuing a few commands.
64
+ *
65
+ * `browserCookies.ts` used to carry a second, bespoke CDP-over-WebSocket transport
66
+ * alongside this one — its own duck-typed WebSocket types, its own pending/timeout/cleanup
67
+ * machinery, its own message parsing, and hardcoded per-call request ids that existed only
68
+ * because it had no id allocator. Two transports in one directory meant every transport
69
+ * fix had to be made twice.
70
+ *
71
+ * Callers must `close()`; nothing reconnects a one-shot connection.
72
+ */
73
+ export declare const openCdpConnection: (wsUrl: string, connectTimeoutMs?: number) => Promise<OneShotCdpConnection>;
38
74
  export {};
39
75
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;AAE3E,MAAM,MAAM,cAAc,GAAG;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACA,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAA;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;IACjE,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAA;CACzC,CAAA;AAQD,KAAK,aAAa,GAAG;IACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,CAAA;AAID,MAAM,MAAM,oBAAoB,GAAG;IAClC,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,aAAa,CAAA;IAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAAO,oBA6HzC,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,KAI5C,CAAA"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { createNotAttachedError } from '../errors.js';
1
2
  let nextId = 1;
2
3
  export const createCdpSessionHandle = () => {
3
4
  let connection = null;
@@ -21,6 +22,9 @@ export const createCdpSessionHandle = () => {
21
22
  bucket?.delete(handler);
22
23
  };
23
24
  },
25
+ // A direct CDP connection targets one page; frame scoping only exists on the extension transport.
26
+ getTargetContext: () => ({ kind: 'page' }),
27
+ getReadyTargetContext: async () => ({ kind: 'page' }),
24
28
  };
25
29
  const attach = (socket) => {
26
30
  const pendingRequests = new Map();
@@ -76,6 +80,9 @@ export const createCdpSessionHandle = () => {
76
80
  }
77
81
  for (const handler of bucket) {
78
82
  try {
83
+ // Dispatch is untyped by construction: the wire carries an arbitrary method
84
+ // string, and the handler's payload type was checked at registration.
85
+ ;
79
86
  handler(payload.params, { sessionId: null });
80
87
  }
81
88
  catch {
@@ -109,11 +116,7 @@ export const createCdpSessionHandle = () => {
109
116
  };
110
117
  return { session, attach, detach };
111
118
  };
112
- export const createCdpNotAttachedError = () => {
113
- const error = new Error('Watcher not attached to a CDP target');
114
- error.code = 'cdp_not_attached';
115
- return error;
116
- };
119
+ export const createCdpNotAttachedError = () => createNotAttachedError('Watcher not attached to a CDP target');
117
120
  const parseMessage = (data) => {
118
121
  if (typeof data === 'string') {
119
122
  try {
@@ -128,4 +131,53 @@ const parseMessage = (data) => {
128
131
  }
129
132
  return null;
130
133
  };
134
+ /**
135
+ * Open a CDP WebSocket and return a connection for issuing a few commands.
136
+ *
137
+ * `browserCookies.ts` used to carry a second, bespoke CDP-over-WebSocket transport
138
+ * alongside this one — its own duck-typed WebSocket types, its own pending/timeout/cleanup
139
+ * machinery, its own message parsing, and hardcoded per-call request ids that existed only
140
+ * because it had no id allocator. Two transports in one directory meant every transport
141
+ * fix had to be made twice.
142
+ *
143
+ * Callers must `close()`; nothing reconnects a one-shot connection.
144
+ */
145
+ export const openCdpConnection = async (wsUrl, connectTimeoutMs = 5_000) => {
146
+ const WebSocketConstructor = globalThis.WebSocket;
147
+ if (!WebSocketConstructor) {
148
+ throw new Error('WebSocket unavailable. Node 18+ required.');
149
+ }
150
+ const socket = new WebSocketConstructor(wsUrl);
151
+ const controller = createCdpSessionHandle();
152
+ const connection = controller.attach(socket);
153
+ socket.addEventListener('message', (event) => {
154
+ connection.handleMessage(event.data);
155
+ });
156
+ socket.addEventListener('close', () => {
157
+ connection.close('socket_closed');
158
+ });
159
+ await new Promise((resolve, reject) => {
160
+ const timer = setTimeout(() => reject(new Error(`CDP connection timed out after ${connectTimeoutMs}ms`)), connectTimeoutMs);
161
+ socket.addEventListener('open', () => {
162
+ clearTimeout(timer);
163
+ resolve();
164
+ });
165
+ socket.addEventListener('error', () => {
166
+ clearTimeout(timer);
167
+ reject(new Error('WebSocket error'));
168
+ });
169
+ });
170
+ return {
171
+ sendAndWait: controller.session.sendAndWait,
172
+ close: () => {
173
+ controller.detach('closed');
174
+ try {
175
+ socket.close();
176
+ }
177
+ catch {
178
+ // Already closed; nothing to unwind.
179
+ }
180
+ },
181
+ };
182
+ };
131
183
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cdp/dom/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAW3D,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAClC,SAAS,gBAAgB,EACzB,aAAa,kBAAkB,EAC/B,SAAS,mBAAmB,KAC1B,OAAO,CAAC,eAAe,CA+DzB,CAAA"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cdp/dom/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAClC,SAAS,gBAAgB,EACzB,aAAa,kBAAkB,EAC/B,SAAS,mBAAmB,KAC1B,OAAO,CAAC,eAAe,CA+DzB,CAAA"}
@@ -23,10 +23,10 @@ export const fetchDomInfoBySelector = async (session, elementRefs, options) => {
23
23
  const elements = [];
24
24
  for (const handle of handles) {
25
25
  const descriptor = toDomNodeDescriptor(handle);
26
- const describeResult = (await session.sendAndWait('DOM.describeNode', {
26
+ const describeResult = await session.sendAndWait('DOM.describeNode', {
27
27
  ...descriptor,
28
28
  depth: 1, // Just enough to get child count
29
- }));
29
+ });
30
30
  if (!describeResult.node) {
31
31
  continue;
32
32
  }
@@ -36,7 +36,7 @@ export const fetchDomInfoBySelector = async (session, elementRefs, options) => {
36
36
  let outerHTML = null;
37
37
  let outerHTMLTruncated = false;
38
38
  try {
39
- const htmlResult = (await session.sendAndWait('DOM.getOuterHTML', descriptor));
39
+ const htmlResult = await session.sendAndWait('DOM.getOuterHTML', descriptor);
40
40
  outerHTML = htmlResult.outerHTML ?? null;
41
41
  if (outerHTML && outerHTML.length > maxChars) {
42
42
  outerHTML = outerHTML.slice(0, maxChars);
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cdp/dom/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cdp/dom/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import type { DomInsertPosition } from '@vforsh/argus-core';
2
+ import type { CdpSessionHandle } from '../connection.js';
3
+ import { type DomNodeHandle } from './selector.js';
4
+ /**
5
+ * DOM mutations driven by a CSS selector.
6
+ *
7
+ * modify/remove/insert/fill/setFile were five files running the same program —
8
+ * `DOM.enable` → resolve the document root → resolve selector matches → apply one action
9
+ * per node → report `{ allNodeIds, count }` — differing only in the page-side function.
10
+ * They share {@link mutateMatchedElements} here, with the per-action code as the only
11
+ * thing each one still owns.
12
+ */
13
+ /** The selector target every mutation accepts. */
14
+ export type MutationTarget = {
15
+ selector: string;
16
+ all?: boolean;
17
+ text?: string;
18
+ };
19
+ /** Outcome of a selector-driven mutation. */
20
+ export type MutationResult = {
21
+ /** Every node the selector matched, before the `all` filter. */
22
+ allNodeIds: number[];
23
+ /** How many nodes the action was applied to. */
24
+ mutatedCount: number;
25
+ };
26
+ /**
27
+ * Resolve a selector and apply an action to each matched node.
28
+ *
29
+ * @param apply Runs once per matched node. Nodes that detach between resolution and use
30
+ * are still counted — matching the behavior every caller had before this was shared.
31
+ */
32
+ export declare const mutateMatchedElements: (session: CdpSessionHandle, target: MutationTarget, apply: (nodeId: number) => Promise<unknown>) => Promise<MutationResult>;
33
+ /** Remove element(s) matching a CSS selector from the DOM. */
34
+ export declare const removeElements: (session: CdpSessionHandle, options: MutationTarget) => Promise<MutationResult>;
35
+ /** Base options for modifying matched elements. */
36
+ type ModifyElementsBaseOptions = {
37
+ selector: string;
38
+ all?: boolean;
39
+ text?: string;
40
+ };
41
+ /** Attribute modification options. */
42
+ type ModifyAttrOptions = ModifyElementsBaseOptions & {
43
+ type: 'attr';
44
+ set?: Record<string, string | true>;
45
+ remove?: string[];
46
+ };
47
+ /** Class modification options. */
48
+ type ModifyClassOptions = ModifyElementsBaseOptions & {
49
+ type: 'class';
50
+ add?: string[];
51
+ remove?: string[];
52
+ toggle?: string[];
53
+ };
54
+ /** Style modification options. */
55
+ type ModifyStyleOptions = ModifyElementsBaseOptions & {
56
+ type: 'style';
57
+ set?: Record<string, string>;
58
+ remove?: string[];
59
+ };
60
+ /** Text content modification options. */
61
+ type ModifyTextOptions = ModifyElementsBaseOptions & {
62
+ type: 'text';
63
+ value: string;
64
+ };
65
+ /** HTML content modification options. */
66
+ type ModifyHtmlOptions = ModifyElementsBaseOptions & {
67
+ type: 'html';
68
+ value: string;
69
+ };
70
+ /** Options for modifying matched elements. */
71
+ export type ModifyElementsOptions = ModifyAttrOptions | ModifyClassOptions | ModifyStyleOptions | ModifyTextOptions | ModifyHtmlOptions;
72
+ /**
73
+ * Modify element(s) matching a CSS selector.
74
+ * Supports attribute, class, style, text, and HTML modifications.
75
+ */
76
+ export declare const modifyElements: (session: CdpSessionHandle, options: ModifyElementsOptions) => Promise<MutationResult>;
77
+ /** Fill pre-resolved nodes with a value. Skips selector resolution. */
78
+ export declare const fillResolvedNodes: (session: CdpSessionHandle, handles: DomNodeHandle[], value: string) => Promise<number>;
79
+ /** Fill input/textarea/contenteditable element(s) matching a CSS selector. */
80
+ export declare const fillElements: (session: CdpSessionHandle, options: MutationTarget & {
81
+ value: string;
82
+ }) => Promise<MutationResult>;
83
+ /** Options for inserting HTML adjacent to already-resolved elements. */
84
+ export type InsertAdjacentHtmlOptions = {
85
+ nodeIds: number[];
86
+ html: string;
87
+ position?: DomInsertPosition;
88
+ text?: boolean;
89
+ };
90
+ /**
91
+ * Insert HTML (or text) adjacent to already-resolved elements.
92
+ *
93
+ * Takes node ids rather than a selector because `/dom/add` resolves matches itself to
94
+ * honor its `nth` and `expect` guards before mutating anything.
95
+ */
96
+ export declare const insertAdjacentHtml: (session: CdpSessionHandle, options: InsertAdjacentHtmlOptions) => Promise<number>;
97
+ /**
98
+ * Set files on already-resolved `<input type="file">` nodes.
99
+ *
100
+ * Uses CDP's `DOM.setFileInputFiles`, which reads from disk on the watcher host — there
101
+ * is no page function for this one.
102
+ */
103
+ export declare const setFileOnResolvedNodes: (session: CdpSessionHandle, nodeIds: number[], files: string[]) => Promise<number>;
104
+ /** Set files on `<input type="file">` element(s) matching a CSS selector. */
105
+ export declare const setFileInputFiles: (session: CdpSessionHandle, options: MutationTarget & {
106
+ files: string[];
107
+ }) => Promise<MutationResult>;
108
+ export {};
109
+ //# sourceMappingURL=mutate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../../../src/cdp/dom/mutate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { callFunctionOnNode } from '../pageState.js';
2
+ import { getDomRootId, resolveSelectorMatches, toDomNodeDescriptor } from './selector.js';
3
+ /**
4
+ * Resolve a selector and apply an action to each matched node.
5
+ *
6
+ * @param apply Runs once per matched node. Nodes that detach between resolution and use
7
+ * are still counted — matching the behavior every caller had before this was shared.
8
+ */
9
+ export const mutateMatchedElements = async (session, target, apply) => {
10
+ await session.sendAndWait('DOM.enable');
11
+ const rootId = await getDomRootId(session);
12
+ const { allNodeIds, nodeIds } = await resolveSelectorMatches(session, rootId, target.selector, target.all ?? false, target.text);
13
+ for (const nodeId of nodeIds) {
14
+ await apply(nodeId);
15
+ }
16
+ return { allNodeIds, mutatedCount: nodeIds.length };
17
+ };
18
+ /** Apply a page function to each node matched by a selector. */
19
+ const mutateWithPageFunction = (session, target, fn) => mutateMatchedElements(session, target, (nodeId) => callFunctionOnNode(session, { nodeId }, fn));
20
+ // ─────────────────────────────────────────────────────────────────────────────
21
+ // Remove
22
+ // ─────────────────────────────────────────────────────────────────────────────
23
+ /** Remove element(s) matching a CSS selector from the DOM. */
24
+ export const removeElements = (session, options) => mutateWithPageFunction(session, options, { code: 'function() { this.remove(); }' });
25
+ /**
26
+ * Modify element(s) matching a CSS selector.
27
+ * Supports attribute, class, style, text, and HTML modifications.
28
+ */
29
+ export const modifyElements = (session, options) => mutateWithPageFunction(session, options, buildModifyFunction(options));
30
+ // ─────────────────────────────────────────────────────────────────────────────
31
+ // Fill
32
+ // ─────────────────────────────────────────────────────────────────────────────
33
+ /**
34
+ * Browser-context function that sets the element value using the native
35
+ * prototype setter (to bypass React/Vue/Angular property wrappers) and
36
+ * dispatches input + change events so framework change detection fires.
37
+ */
38
+ const FILL_FUNCTION = `function(value) {
39
+ var el = this;
40
+ el.focus();
41
+ if (el.isContentEditable) {
42
+ el.textContent = value;
43
+ el.dispatchEvent(new Event('input', { bubbles: true }));
44
+ el.dispatchEvent(new Event('change', { bubbles: true }));
45
+ return;
46
+ }
47
+ var proto = el.tagName === 'TEXTAREA' ? HTMLTextAreaElement.prototype
48
+ : el.tagName === 'SELECT' ? HTMLSelectElement.prototype
49
+ : HTMLInputElement.prototype;
50
+ var nativeSetter = Object.getOwnPropertyDescriptor(proto, 'value');
51
+ if (nativeSetter && nativeSetter.set) {
52
+ nativeSetter.set.call(el, value);
53
+ } else {
54
+ el.value = value;
55
+ }
56
+ el.dispatchEvent(new Event('input', { bubbles: true }));
57
+ el.dispatchEvent(new Event('change', { bubbles: true }));
58
+ }`;
59
+ /** Fill pre-resolved nodes with a value. Skips selector resolution. */
60
+ export const fillResolvedNodes = async (session, handles, value) => {
61
+ for (const handle of handles) {
62
+ await callFunctionOnNode(session, toDomNodeDescriptor(handle), { code: FILL_FUNCTION, args: [{ value }] });
63
+ }
64
+ return handles.length;
65
+ };
66
+ /** Fill input/textarea/contenteditable element(s) matching a CSS selector. */
67
+ export const fillElements = (session, options) => mutateWithPageFunction(session, options, { code: FILL_FUNCTION, args: [{ value: options.value }] });
68
+ /**
69
+ * Insert HTML (or text) adjacent to already-resolved elements.
70
+ *
71
+ * Takes node ids rather than a selector because `/dom/add` resolves matches itself to
72
+ * honor its `nth` and `expect` guards before mutating anything.
73
+ */
74
+ export const insertAdjacentHtml = async (session, options) => {
75
+ if (options.nodeIds.length === 0) {
76
+ return 0;
77
+ }
78
+ await session.sendAndWait('DOM.enable');
79
+ const fn = {
80
+ code: options.text
81
+ ? 'function(pos, value) { this.insertAdjacentText(pos, value); }'
82
+ : 'function(pos, html) { this.insertAdjacentHTML(pos, html); }',
83
+ args: [{ value: options.position ?? 'beforeend' }, { value: options.html }],
84
+ };
85
+ for (const nodeId of options.nodeIds) {
86
+ await callFunctionOnNode(session, { nodeId }, fn);
87
+ }
88
+ return options.nodeIds.length;
89
+ };
90
+ // ─────────────────────────────────────────────────────────────────────────────
91
+ // Set file
92
+ // ─────────────────────────────────────────────────────────────────────────────
93
+ /**
94
+ * Set files on already-resolved `<input type="file">` nodes.
95
+ *
96
+ * Uses CDP's `DOM.setFileInputFiles`, which reads from disk on the watcher host — there
97
+ * is no page function for this one.
98
+ */
99
+ export const setFileOnResolvedNodes = async (session, nodeIds, files) => {
100
+ for (const nodeId of nodeIds) {
101
+ await session.sendAndWait('DOM.setFileInputFiles', { files, nodeId });
102
+ }
103
+ return nodeIds.length;
104
+ };
105
+ /** Set files on `<input type="file">` element(s) matching a CSS selector. */
106
+ export const setFileInputFiles = (session, options) => mutateMatchedElements(session, options, (nodeId) => session.sendAndWait('DOM.setFileInputFiles', { files: options.files, nodeId }));
107
+ const buildModifyFunction = (options) => {
108
+ switch (options.type) {
109
+ case 'attr':
110
+ return {
111
+ code: `function(toSet, toRemove) {
112
+ if (toSet) {
113
+ for (const [name, value] of Object.entries(toSet)) {
114
+ if (value === true) {
115
+ this.setAttribute(name, '');
116
+ } else {
117
+ this.setAttribute(name, value);
118
+ }
119
+ }
120
+ }
121
+ if (toRemove) {
122
+ for (const name of toRemove) {
123
+ this.removeAttribute(name);
124
+ }
125
+ }
126
+ }`,
127
+ args: [{ value: options.set ?? null }, { value: options.remove ?? null }],
128
+ };
129
+ case 'class':
130
+ return {
131
+ code: `function(toAdd, toRemove, toToggle) {
132
+ if (toAdd) {
133
+ this.classList.add(...toAdd);
134
+ }
135
+ if (toRemove) {
136
+ this.classList.remove(...toRemove);
137
+ }
138
+ if (toToggle) {
139
+ for (const cls of toToggle) {
140
+ this.classList.toggle(cls);
141
+ }
142
+ }
143
+ }`,
144
+ args: [{ value: options.add ?? null }, { value: options.remove ?? null }, { value: options.toggle ?? null }],
145
+ };
146
+ case 'style':
147
+ return {
148
+ code: `function(toSet, toRemove) {
149
+ if (toSet) {
150
+ for (const [prop, value] of Object.entries(toSet)) {
151
+ this.style.setProperty(prop, value);
152
+ }
153
+ }
154
+ if (toRemove) {
155
+ for (const prop of toRemove) {
156
+ this.style.removeProperty(prop);
157
+ }
158
+ }
159
+ }`,
160
+ args: [{ value: options.set ?? null }, { value: options.remove ?? null }],
161
+ };
162
+ case 'text':
163
+ return {
164
+ code: `function(value) { this.textContent = value; }`,
165
+ args: [{ value: options.value }],
166
+ };
167
+ case 'html':
168
+ return {
169
+ code: `function(value) { this.innerHTML = value; }`,
170
+ args: [{ value: options.value }],
171
+ };
172
+ }
173
+ };
174
+ //# sourceMappingURL=mutate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../../src/cdp/dom/mutate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CdpNode } from './types.js';
1
+ import type { CdpNode } from '../protocol.js';
2
2
  import type { CdpSessionHandle } from '../connection.js';
3
3
  import type { ElementRefRegistry } from '../elementRefs.js';
4
4
  export type SelectorMatchResult = {
@@ -1 +1 @@
1
- {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../../src/cdp/dom/selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,kBAAkB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAmB3D,MAAM,MAAM,mBAAmB,GAAG;IACjC,4BAA4B;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IACzD,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,MAAM,CAO5E,CAAA;AAED,eAAO,MAAM,sBAAsB,GAClC,SAAS,gBAAgB,EACzB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,KAAK,OAAO,EACZ,OAAO,MAAM,KACX,OAAO,CAAC,mBAAmB,CAa7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAClC,SAAS,gBAAgB,EACzB,UAAU,MAAM,EAChB,KAAK,OAAO,EACZ,MAAM,MAAM,GAAG,SAAS,EACxB,QAAQ,MAAM,EACd,mBAAgB,KACd,OAAO,CAAC,mBAAmB,CAU7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAU,SAAS,gBAAgB,EAAE,SAAS,4BAA4B,KAAG,OAAO,CAAC,mBAAmB,CAU1I,CAAA;AAED,eAAO,MAAM,qBAAqB,GACjC,SAAS,gBAAgB,EACzB,aAAa,kBAAkB,EAC/B,SAAS,2BAA2B,KAClC,OAAO,CAAC,qBAAqB,CAuC/B,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,GAAU,SAAS,gBAAgB,EAAE,UAAU,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAQlI,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,SAAS,gBAAgB,EAAE,eAAe,MAAM,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAMtH,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,SAAS,gBAAgB,EAAE,eAAe,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CActH,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,SAAS,gBAAgB,EAAE,aAAa,kBAAkB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAMxI,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,KAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAQvG,CAAA;AAiDD,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAc/E,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,WAAW,OAAO,EAAE,KAAG,MAK3D,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAA"}
1
+ {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../../src/cdp/dom/selector.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { filterNodesByText } from '../text-filter.js';
2
2
  export const getDomRootId = async (session) => {
3
- const targetContext = session.getTargetContext?.();
3
+ const targetContext = await session.getReadyTargetContext();
4
4
  if (targetContext?.kind === 'frame') {
5
5
  return getFrameDomRootId(session, targetContext);
6
6
  }
@@ -8,7 +8,7 @@ export const getDomRootId = async (session) => {
8
8
  };
9
9
  export const resolveSelectorMatches = async (session, rootId, selector, all, text) => {
10
10
  // Always use querySelectorAll to get the true match count
11
- const result = (await session.sendAndWait('DOM.querySelectorAll', { nodeId: rootId, selector }));
11
+ const result = await session.sendAndWait('DOM.querySelectorAll', { nodeId: rootId, selector });
12
12
  let allNodeIds = result.nodeIds ?? [];
13
13
  if (text != null) {
14
14
  allNodeIds = await filterNodesByText(session, allNodeIds, text);
@@ -91,10 +91,10 @@ export const resolveFirstSelectorNodeId = async (session, selector, text) => {
91
91
  return nodeIds[0] ?? null;
92
92
  };
93
93
  export const describeNodeByBackendId = async (session, backendNodeId) => {
94
- const described = (await session.sendAndWait('DOM.describeNode', {
94
+ const described = await session.sendAndWait('DOM.describeNode', {
95
95
  backendNodeId,
96
96
  depth: 0,
97
- }));
97
+ });
98
98
  return described.node ?? null;
99
99
  };
100
100
  export const resolveNodeIdByBackendId = async (session, backendNodeId) => {
@@ -104,9 +104,9 @@ export const resolveNodeIdByBackendId = async (session, backendNodeId) => {
104
104
  }
105
105
  // Prime the document tree first so CDP can map backend ids back into frontend node ids.
106
106
  await getDomRootId(session);
107
- const pushed = (await session.sendAndWait('DOM.pushNodesByBackendIdsToFrontend', {
107
+ const pushed = await session.sendAndWait('DOM.pushNodesByBackendIdsToFrontend', {
108
108
  backendNodeIds: [backendNodeId],
109
- }));
109
+ });
110
110
  const nodeId = pushed.nodeIds?.[0];
111
111
  return typeof nodeId === 'number' && nodeId > 0 ? nodeId : null;
112
112
  };
@@ -139,23 +139,23 @@ const getFrameDomRootId = async (session, targetContext) => {
139
139
  if (targetContext.executionContextId == null) {
140
140
  throw new Error(`Selected frame is not ready yet: ${targetContext.frameId}`);
141
141
  }
142
- const evaluated = (await session.sendAndWait('Runtime.evaluate', {
142
+ const evaluated = await session.sendAndWait('Runtime.evaluate', {
143
143
  expression: 'document',
144
144
  contextId: targetContext.executionContextId,
145
145
  returnByValue: false,
146
- }));
146
+ });
147
147
  const objectId = evaluated.result?.objectId;
148
148
  if (!objectId) {
149
149
  throw new Error(`Unable to resolve DOM root for frame: ${targetContext.frameId}`);
150
150
  }
151
- const requested = (await session.sendAndWait('DOM.requestNode', { objectId }));
151
+ const requested = await session.sendAndWait('DOM.requestNode', { objectId });
152
152
  if (!requested.nodeId) {
153
153
  throw new Error(`Unable to resolve DOM root for frame: ${targetContext.frameId}`);
154
154
  }
155
155
  return requested.nodeId;
156
156
  };
157
157
  const getDocumentRootId = async (session) => {
158
- const result = (await session.sendAndWait('DOM.getDocument', { depth: 1 }));
158
+ const result = await session.sendAndWait('DOM.getDocument', { depth: 1 });
159
159
  const rootId = result.root?.nodeId;
160
160
  if (!rootId) {
161
161
  throw new Error('Unable to resolve DOM root');