@browserless.io/browserless 2.37.0 → 2.38.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 (492) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/build/browsers/index.js +15 -0
  3. package/build/routes/chrome/http/content.post.query.json +3 -0
  4. package/build/routes/chrome/http/download.post.query.json +3 -0
  5. package/build/routes/chrome/http/function.post.query.json +3 -0
  6. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  7. package/build/routes/chrome/http/performance.post.query.json +3 -0
  8. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  9. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  10. package/build/routes/chrome/tests/content.spec.js +21 -0
  11. package/build/routes/chrome/tests/json.spec.js +100 -0
  12. package/build/routes/chrome/ws/browser.query.json +3 -0
  13. package/build/routes/chrome/ws/cdp.query.json +3 -0
  14. package/build/routes/chrome/ws/function-connect.query.json +3 -0
  15. package/build/routes/chrome/ws/page.query.json +3 -0
  16. package/build/routes/chromium/http/content.post.query.json +3 -0
  17. package/build/routes/chromium/http/download.post.query.json +3 -0
  18. package/build/routes/chromium/http/function.post.query.json +3 -0
  19. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  20. package/build/routes/chromium/http/performance.post.query.json +3 -0
  21. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  22. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  23. package/build/routes/chromium/tests/content.spec.js +21 -0
  24. package/build/routes/chromium/tests/function.spec.js +27 -0
  25. package/build/routes/chromium/tests/json.spec.js +100 -0
  26. package/build/routes/chromium/ws/browser.query.json +3 -0
  27. package/build/routes/chromium/ws/cdp.query.json +3 -0
  28. package/build/routes/chromium/ws/function-connect.query.json +3 -0
  29. package/build/routes/chromium/ws/page.query.json +3 -0
  30. package/build/routes/edge/http/content.post.query.json +3 -0
  31. package/build/routes/edge/http/download.post.query.json +3 -0
  32. package/build/routes/edge/http/function.post.query.json +3 -0
  33. package/build/routes/edge/http/pdf.post.query.json +3 -0
  34. package/build/routes/edge/http/performance.post.query.json +3 -0
  35. package/build/routes/edge/http/scrape.post.query.json +3 -0
  36. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  37. package/build/routes/edge/tests/content.spec.js +21 -0
  38. package/build/routes/edge/tests/json.spec.js +100 -0
  39. package/build/routes/edge/ws/browser.query.json +3 -0
  40. package/build/routes/edge/ws/cdp.query.json +3 -0
  41. package/build/routes/edge/ws/function-connect.query.json +3 -0
  42. package/build/routes/edge/ws/page.query.json +3 -0
  43. package/build/routes/management/http/kill.get.query.json +3 -0
  44. package/build/routes/management/http/sessions.get.query.json +3 -0
  45. package/build/routes/management/tests/management.spec.js +44 -0
  46. package/build/server.js +1 -1
  47. package/build/shim.js +11 -1
  48. package/build/shim.spec.js +14 -0
  49. package/build/types.d.ts +2 -0
  50. package/extensions/ublocklite/_locales/ar/messages.json +5 -5
  51. package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
  52. package/extensions/ublocklite/_locales/cs/messages.json +8 -8
  53. package/extensions/ublocklite/_locales/da/messages.json +5 -5
  54. package/extensions/ublocklite/_locales/de/messages.json +1 -1
  55. package/extensions/ublocklite/_locales/es/messages.json +4 -4
  56. package/extensions/ublocklite/_locales/fa/messages.json +8 -8
  57. package/extensions/ublocklite/_locales/gl/messages.json +5 -5
  58. package/extensions/ublocklite/_locales/hu/messages.json +5 -5
  59. package/extensions/ublocklite/_locales/ka/messages.json +5 -5
  60. package/extensions/ublocklite/_locales/nb/messages.json +7 -7
  61. package/extensions/ublocklite/_locales/pt_PT/messages.json +9 -9
  62. package/extensions/ublocklite/_locales/ro/messages.json +32 -32
  63. package/extensions/ublocklite/_locales/ru/messages.json +3 -3
  64. package/extensions/ublocklite/_locales/sq/messages.json +5 -5
  65. package/extensions/ublocklite/_locales/sv/messages.json +5 -5
  66. package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
  67. package/extensions/ublocklite/css/settings.css +6 -0
  68. package/extensions/ublocklite/dashboard.html +1 -1
  69. package/extensions/ublocklite/js/background.js +29 -8
  70. package/extensions/ublocklite/js/dashboard.js +4 -5
  71. package/extensions/ublocklite/js/jsonpath.js +25 -10
  72. package/extensions/ublocklite/js/mode-manager.js +7 -9
  73. package/extensions/ublocklite/js/report.js +2 -4
  74. package/extensions/ublocklite/js/scripting/css-api.js +33 -0
  75. package/extensions/ublocklite/js/scripting/css-generic.js +3 -13
  76. package/extensions/ublocklite/js/scripting/css-procedural-api.js +1 -9
  77. package/extensions/ublocklite/js/scripting/css-procedural.js +1 -5
  78. package/extensions/ublocklite/js/scripting/css-specific.js +1 -5
  79. package/extensions/ublocklite/js/scripting-manager.js +11 -8
  80. package/extensions/ublocklite/js/troubleshooting.js +33 -18
  81. package/extensions/ublocklite/js/utils.js +15 -13
  82. package/extensions/ublocklite/manifest.json +3 -2
  83. package/extensions/ublocklite/rulesets/generic-details.json +4 -2
  84. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +4 -5
  85. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +13 -8
  86. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +24 -18
  87. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/annoyances-others.json +3 -2
  89. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -3
  90. package/extensions/ublocklite/rulesets/main/chn-0.json +26 -16
  91. package/extensions/ublocklite/rulesets/main/deu-0.json +4 -4
  92. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -1
  93. package/extensions/ublocklite/rulesets/main/easylist.json +44 -101
  94. package/extensions/ublocklite/rulesets/main/easyprivacy.json +28 -15
  95. package/extensions/ublocklite/rulesets/main/est-0.json +2 -1
  96. package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
  97. package/extensions/ublocklite/rulesets/main/fra-0.json +6 -4
  98. package/extensions/ublocklite/rulesets/main/hrv-0.json +6 -3
  99. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -2
  100. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  101. package/extensions/ublocklite/rulesets/main/ind-0.json +36 -34
  102. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -1
  103. package/extensions/ublocklite/rulesets/main/ita-0.json +6 -3
  104. package/extensions/ublocklite/rulesets/main/jpn-1.json +31 -24
  105. package/extensions/ublocklite/rulesets/main/kor-1.json +5 -3
  106. package/extensions/ublocklite/rulesets/main/mkd-0.json +2 -1
  107. package/extensions/ublocklite/rulesets/main/nld-0.json +3 -1
  108. package/extensions/ublocklite/rulesets/main/nor-0.json +17 -3
  109. package/extensions/ublocklite/rulesets/main/pgl.json +16 -20
  110. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  111. package/extensions/ublocklite/rulesets/main/rus-0.json +14 -13
  112. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -2
  113. package/extensions/ublocklite/rulesets/main/spa-1.json +13 -3
  114. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +11287 -12041
  115. package/extensions/ublocklite/rulesets/main/swe-1.json +24 -22
  116. package/extensions/ublocklite/rulesets/main/tur-0.json +15 -6
  117. package/extensions/ublocklite/rulesets/main/ublock-badware.json +30 -3
  118. package/extensions/ublocklite/rulesets/main/ublock-filters.json +91 -88
  119. package/extensions/ublocklite/rulesets/main/ukr-0.json +3 -3
  120. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +4063 -328
  121. package/extensions/ublocklite/rulesets/main/vie-1.json +62 -51
  122. package/extensions/ublocklite/rulesets/regex/block-lan.json +16 -0
  123. package/extensions/ublocklite/rulesets/regex/chn-0.json +3 -2
  124. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  125. package/extensions/ublocklite/rulesets/regex/jpn-1.json +2 -3
  126. package/extensions/ublocklite/rulesets/regex/rus-0.json +2 -1
  127. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -5
  128. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +23 -14
  129. package/extensions/ublocklite/rulesets/ruleset-details.json +239 -239
  130. package/extensions/ublocklite/rulesets/scripting/generic/adguard-mobile.js +2 -2
  131. package/extensions/ublocklite/rulesets/scripting/generic/alb-0.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +2 -2
  134. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +2 -2
  135. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  137. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-widgets.js +1 -1
  138. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +2 -2
  139. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  140. package/extensions/ublocklite/rulesets/scripting/generic/cze-0.js +2 -2
  141. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  142. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/generic/easyprivacy.js +1 -1
  144. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +2 -2
  145. package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
  146. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  147. package/extensions/ublocklite/rulesets/scripting/generic/grc-0.js +2 -2
  148. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +2 -2
  149. package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
  150. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  151. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +1 -1
  152. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +2 -2
  153. package/extensions/ublocklite/rulesets/scripting/generic/isr-0.js +2 -2
  154. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +2 -2
  155. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +2 -2
  156. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  157. package/extensions/ublocklite/rulesets/scripting/generic/ltu-0.js +1 -1
  158. package/extensions/ublocklite/rulesets/scripting/generic/lva-0.js +1 -1
  159. package/extensions/ublocklite/rulesets/scripting/generic/mkd-0.js +2 -2
  160. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +2 -2
  161. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
  162. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +2 -2
  163. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +2 -2
  167. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/generic/svn-0.js +1 -1
  169. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/generic/tha-0.js +1 -1
  171. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
  172. package/extensions/ublocklite/rulesets/scripting/generic/ublock-badware.js +1 -1
  173. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  174. package/extensions/ublocklite/rulesets/scripting/generic/ubol-tests.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  176. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
  177. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -5
  178. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +4 -0
  179. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  180. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -1
  181. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  182. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  185. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  187. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +1 -1
  189. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  190. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  191. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  192. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  193. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  194. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  197. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  198. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  199. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  200. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-experimental.js +42 -0
  201. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +5 -2
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +2 -2
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +6 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +6 -2
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +3 -0
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +19 -8
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +7 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +6 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/{nld-0.json-prune-fetch-response.js → chn-0.set-cookie.js} +120 -266
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.addEventListener-defuser.js → fin-0.remove-node-text.js} +105 -154
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +4 -22
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +6 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setInterval.js +2 -2
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +6 -24
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +7 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +7 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-local-storage-item.js +399 -0
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +6 -24
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-local-storage-item.js +399 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.href-sanitizer.js +4 -22
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +6 -2
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +7 -3
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-node-text.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +4 -22
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +19 -8
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +5 -23
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +7 -3
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +6 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +3 -0
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +21 -10
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +5 -1
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  408. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  409. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  410. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  411. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  412. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  416. package/extensions/ublocklite/rulesets/scripting/specific/est-0.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  419. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  420. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  422. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  423. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  424. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  425. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  426. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  427. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  428. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  429. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  430. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  433. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  438. package/extensions/ublocklite/rulesets/scriptlet-details.json +205 -117
  439. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +18 -28
  440. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  441. package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
  442. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +267 -247
  443. package/extensions/ublocklite/rulesets/strictblock/deu-0.json +1 -0
  444. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -1
  445. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  446. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +47 -3
  447. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +102 -41
  448. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +208 -198
  449. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  450. package/extensions/ublocklite/rulesets/strictblock/pgl.json +16 -20
  451. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +5 -1
  452. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  453. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +11287 -12041
  454. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -1
  455. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +1 -0
  456. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +671 -653
  457. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  458. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  459. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +4063 -328
  460. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +5 -1
  461. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +59 -1
  462. package/extensions/ublocklite/ublock.zip +0 -0
  463. package/package.json +23 -22
  464. package/scripts/install-debugger.js +2 -2
  465. package/src/browsers/index.ts +20 -0
  466. package/src/routes/chrome/tests/content.spec.ts +24 -0
  467. package/src/routes/chrome/tests/json.spec.ts +134 -0
  468. package/src/routes/chromium/tests/content.spec.ts +24 -0
  469. package/src/routes/chromium/tests/function.spec.ts +33 -0
  470. package/src/routes/chromium/tests/json.spec.ts +134 -0
  471. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  472. package/src/routes/edge/tests/content.spec.ts +24 -0
  473. package/src/routes/edge/tests/json.spec.ts +134 -0
  474. package/src/routes/management/tests/management.spec.ts +66 -0
  475. package/src/server.ts +1 -1
  476. package/src/shared/screenshot.http.ts +1 -1
  477. package/src/shim.spec.ts +18 -0
  478. package/src/shim.ts +15 -1
  479. package/src/types.ts +2 -0
  480. package/static/docs/swagger.json +5 -2
  481. package/static/docs/swagger.min.json +4 -1
  482. package/static/function/client.js +143 -105
  483. package/static/function/index.html +143 -105
  484. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  485. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  486. package/build/routes/edge/tests/json-version.spec.js +0 -37
  487. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  488. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  489. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  490. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  491. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  492. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -425,6 +425,9 @@
425
425
  "ignoreHTTPSErrors": {
426
426
  "type": "boolean"
427
427
  },
428
+ "acceptInsecureCerts": {
429
+ "type": "boolean"
430
+ },
428
431
  "slowMo": {
429
432
  "type": "number"
430
433
  },
@@ -981,7 +984,7 @@
981
984
  },
982
985
  "info": {
983
986
  "title": "Browserless",
984
- "version": "2.37.0",
987
+ "version": "2.38.0",
985
988
  "x-logo": {
986
989
  "altText": "browserless logo",
987
990
  "url": "./docs/browserless-logo-inline.svg"
@@ -4419,11 +4419,6 @@
4419
4419
  }
4420
4420
  };
4421
4421
 
4422
- // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4423
- init_dirname();
4424
- init_buffer2();
4425
- var packageVersion = "24.22.3";
4426
-
4427
4422
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4428
4423
  init_dirname();
4429
4424
  init_buffer2();
@@ -4474,6 +4469,11 @@
4474
4469
  return result;
4475
4470
  }
4476
4471
 
4472
+ // node_modules/puppeteer-core/lib/esm/puppeteer/util/version.js
4473
+ init_dirname();
4474
+ init_buffer2();
4475
+ var packageVersion = "24.26.1";
4476
+
4477
4477
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js
4478
4478
  init_dirname();
4479
4479
  init_buffer2();
@@ -7399,14 +7399,12 @@
7399
7399
  * import {KnownDevices} from 'puppeteer';
7400
7400
  * const iPhone = KnownDevices['iPhone 15 Pro'];
7401
7401
  *
7402
- * (async () => {
7403
- * const browser = await puppeteer.launch();
7404
- * const page = await browser.newPage();
7405
- * await page.emulate(iPhone);
7406
- * await page.goto('https://www.google.com');
7407
- * // other actions...
7408
- * await browser.close();
7409
- * })();
7402
+ * const browser = await puppeteer.launch();
7403
+ * const page = await browser.newPage();
7404
+ * await page.emulate(iPhone);
7405
+ * await page.goto('https://www.google.com');
7406
+ * // other actions...
7407
+ * await browser.close();
7410
7408
  * ```
7411
7409
  */
7412
7410
  async emulate(device) {
@@ -7947,22 +7945,21 @@
7947
7945
  *
7948
7946
  * ```ts
7949
7947
  * import puppeteer from 'puppeteer';
7950
- * (async () => {
7951
- * const browser = await puppeteer.launch();
7952
- * const page = await browser.newPage();
7953
- * let currentURL;
7954
- * page
7955
- * .waitForSelector('img')
7956
- * .then(() => console.log('First URL with image: ' + currentURL));
7957
- * for (currentURL of [
7958
- * 'https://example.com',
7959
- * 'https://google.com',
7960
- * 'https://bbc.com',
7961
- * ]) {
7962
- * await page.goto(currentURL);
7963
- * }
7964
- * await browser.close();
7965
- * })();
7948
+ *
7949
+ * const browser = await puppeteer.launch();
7950
+ * const page = await browser.newPage();
7951
+ * let currentURL;
7952
+ * page
7953
+ * .waitForSelector('img')
7954
+ * .then(() => console.log('First URL with image: ' + currentURL));
7955
+ * for (currentURL of [
7956
+ * 'https://example.com',
7957
+ * 'https://google.com',
7958
+ * 'https://bbc.com',
7959
+ * ]) {
7960
+ * await page.goto(currentURL);
7961
+ * }
7962
+ * await browser.close();
7966
7963
  * ```
7967
7964
  *
7968
7965
  * @param selector -
@@ -8012,14 +8009,13 @@
8012
8009
  *
8013
8010
  * ```ts
8014
8011
  * import puppeteer from 'puppeteer';
8015
- * (async () => {
8016
- * const browser = await puppeteer.launch();
8017
- * const page = await browser.newPage();
8018
- * const watchDog = page.waitForFunction('window.innerWidth < 100');
8019
- * await page.setViewport({width: 50, height: 50});
8020
- * await watchDog;
8021
- * await browser.close();
8022
- * })();
8012
+ *
8013
+ * const browser = await puppeteer.launch();
8014
+ * const page = await browser.newPage();
8015
+ * const watchDog = page.waitForFunction('window.innerWidth < 100');
8016
+ * await page.setViewport({width: 50, height: 50});
8017
+ * await watchDog;
8018
+ * await browser.close();
8023
8019
  * ```
8024
8020
  *
8025
8021
  * @example
@@ -11288,24 +11284,22 @@
11288
11284
  * ```ts
11289
11285
  * import puppeteer from 'puppeteer';
11290
11286
  *
11291
- * (async () => {
11292
- * const browser = await puppeteer.launch();
11293
- * const page = await browser.newPage();
11294
- * let currentURL;
11295
- * page
11296
- * .mainFrame()
11297
- * .waitForSelector('img')
11298
- * .then(() => console.log('First URL with image: ' + currentURL));
11287
+ * const browser = await puppeteer.launch();
11288
+ * const page = await browser.newPage();
11289
+ * let currentURL;
11290
+ * page
11291
+ * .mainFrame()
11292
+ * .waitForSelector('img')
11293
+ * .then(() => console.log('First URL with image: ' + currentURL));
11299
11294
  *
11300
- * for (currentURL of [
11301
- * 'https://example.com',
11302
- * 'https://google.com',
11303
- * 'https://bbc.com',
11304
- * ]) {
11305
- * await page.goto(currentURL);
11306
- * }
11307
- * await browser.close();
11308
- * })();
11295
+ * for (currentURL of [
11296
+ * 'https://example.com',
11297
+ * 'https://google.com',
11298
+ * 'https://bbc.com',
11299
+ * ]) {
11300
+ * await page.goto(currentURL);
11301
+ * }
11302
+ * await browser.close();
11309
11303
  * ```
11310
11304
  *
11311
11305
  * @param selector - The selector to query and wait for.
@@ -11327,14 +11321,14 @@
11327
11321
  * ```ts
11328
11322
  * import puppeteer from 'puppeteer';
11329
11323
  *
11330
- * (async () => {
11331
- * . const browser = await puppeteer.launch();
11332
- * . const page = await browser.newPage();
11333
- * . const watchDog = page.mainFrame().waitForFunction('window.innerWidth < 100');
11334
- * . page.setViewport({width: 50, height: 50});
11335
- * . await watchDog;
11336
- * . await browser.close();
11337
- * })();
11324
+ * const browser = await puppeteer.launch();
11325
+ * const page = await browser.newPage();
11326
+ * const watchDog = page
11327
+ * .mainFrame()
11328
+ * .waitForFunction('window.innerWidth < 100');
11329
+ * page.setViewport({width: 50, height: 50});
11330
+ * await watchDog;
11331
+ * await browser.close();
11338
11332
  * ```
11339
11333
  *
11340
11334
  * To pass arguments from Node.js to the predicate of `page.waitForFunction` function:
@@ -12364,9 +12358,10 @@
12364
12358
  *
12365
12359
  * ```ts
12366
12360
  * const feedHandle = await page.$('.feed');
12367
- * expect(
12368
- * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
12369
- * ).toEqual(['Hello!', 'Hi!']);
12361
+ *
12362
+ * const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
12363
+ * nodes.map(n => n.innerText),
12364
+ * );
12370
12365
  * ```
12371
12366
  *
12372
12367
  * @param selector -
@@ -12424,24 +12419,22 @@
12424
12419
  * ```ts
12425
12420
  * import puppeteer from 'puppeteer';
12426
12421
  *
12427
- * (async () => {
12428
- * const browser = await puppeteer.launch();
12429
- * const page = await browser.newPage();
12430
- * let currentURL;
12431
- * page
12432
- * .mainFrame()
12433
- * .waitForSelector('img')
12434
- * .then(() => console.log('First URL with image: ' + currentURL));
12422
+ * const browser = await puppeteer.launch();
12423
+ * const page = await browser.newPage();
12424
+ * let currentURL;
12425
+ * page
12426
+ * .mainFrame()
12427
+ * .waitForSelector('img')
12428
+ * .then(() => console.log('First URL with image: ' + currentURL));
12435
12429
  *
12436
- * for (currentURL of [
12437
- * 'https://example.com',
12438
- * 'https://google.com',
12439
- * 'https://bbc.com',
12440
- * ]) {
12441
- * await page.goto(currentURL);
12442
- * }
12443
- * await browser.close();
12444
- * })();
12430
+ * for (currentURL of [
12431
+ * 'https://example.com',
12432
+ * 'https://google.com',
12433
+ * 'https://bbc.com',
12434
+ * ]) {
12435
+ * await page.goto(currentURL);
12436
+ * }
12437
+ * await browser.close();
12445
12438
  * ```
12446
12439
  *
12447
12440
  * @param selector - The selector to query and wait for.
@@ -14247,6 +14240,7 @@ ${sourceUrlComment}
14247
14240
  #name;
14248
14241
  #role;
14249
14242
  #ignored;
14243
+ #cachedHasFocusableChild;
14250
14244
  #realm;
14251
14245
  constructor(realm, payload) {
14252
14246
  this.payload = payload;
@@ -14280,6 +14274,18 @@ ${sourceUrlComment}
14280
14274
  const role = this.#role;
14281
14275
  return role === "LineBreak" || role === "text" || role === "InlineTextBox" || role === "StaticText";
14282
14276
  }
14277
+ #hasFocusableChild() {
14278
+ if (this.#cachedHasFocusableChild === void 0) {
14279
+ this.#cachedHasFocusableChild = false;
14280
+ for (const child of this.children) {
14281
+ if (child.#focusable || child.#hasFocusableChild()) {
14282
+ this.#cachedHasFocusableChild = true;
14283
+ break;
14284
+ }
14285
+ }
14286
+ }
14287
+ return this.#cachedHasFocusableChild;
14288
+ }
14283
14289
  find(predicate) {
14284
14290
  if (predicate(this)) {
14285
14291
  return this;
@@ -14313,6 +14319,9 @@ ${sourceUrlComment}
14313
14319
  default:
14314
14320
  break;
14315
14321
  }
14322
+ if (this.#hasFocusableChild()) {
14323
+ return false;
14324
+ }
14316
14325
  if (this.#role === "heading" && this.#name) {
14317
14326
  return true;
14318
14327
  }
@@ -14346,11 +14355,29 @@ ${sourceUrlComment}
14346
14355
  return false;
14347
14356
  }
14348
14357
  }
14358
+ isLandmark() {
14359
+ switch (this.#role) {
14360
+ case "banner":
14361
+ case "complementary":
14362
+ case "contentinfo":
14363
+ case "form":
14364
+ case "main":
14365
+ case "navigation":
14366
+ case "region":
14367
+ case "search":
14368
+ return true;
14369
+ default:
14370
+ return false;
14371
+ }
14372
+ }
14349
14373
  isInteresting(insideControl) {
14350
14374
  const role = this.#role;
14351
14375
  if (role === "Ignored" || this.#hidden || this.#ignored) {
14352
14376
  return false;
14353
14377
  }
14378
+ if (this.isLandmark()) {
14379
+ return true;
14380
+ }
14354
14381
  if (this.#focusable || this.#richlyEditable) {
14355
14382
  return true;
14356
14383
  }
@@ -14402,7 +14429,8 @@ ${sourceUrlComment}
14402
14429
  "description",
14403
14430
  "keyshortcuts",
14404
14431
  "roledescription",
14405
- "valuetext"
14432
+ "valuetext",
14433
+ "url"
14406
14434
  ];
14407
14435
  const getUserStringPropertyValue = (key) => {
14408
14436
  return properties.get(key);
@@ -15466,7 +15494,6 @@ ${sourceUrlComment}
15466
15494
  * `respond()` aren't called).
15467
15495
  */
15468
15496
  continueRequestOverrides() {
15469
- assert(this.interception.enabled, "Request Interception is not enabled!");
15470
15497
  return this.interception.requestOverrides;
15471
15498
  }
15472
15499
  /**
@@ -15474,14 +15501,12 @@ ${sourceUrlComment}
15474
15501
  * interception is allowed to respond (ie, `abort()` is not called).
15475
15502
  */
15476
15503
  responseForRequest() {
15477
- assert(this.interception.enabled, "Request Interception is not enabled!");
15478
15504
  return this.interception.response;
15479
15505
  }
15480
15506
  /**
15481
15507
  * The most recent reason for aborting the request
15482
15508
  */
15483
15509
  abortErrorReason() {
15484
- assert(this.interception.enabled, "Request Interception is not enabled!");
15485
15510
  return this.interception.abortReason;
15486
15511
  }
15487
15512
  /**
@@ -15542,8 +15567,12 @@ ${sourceUrlComment}
15542
15567
  return await this._continue(this.interception.requestOverrides);
15543
15568
  }
15544
15569
  }
15545
- #canBeIntercepted() {
15546
- return !this.url().startsWith("data:") && !this._fromMemoryCache;
15570
+ /**
15571
+ * @internal
15572
+ */
15573
+ verifyInterception() {
15574
+ assert(this.interception.enabled, "Request Interception is not enabled!");
15575
+ assert(!this.interception.handled, "Request is already handled!");
15547
15576
  }
15548
15577
  /**
15549
15578
  * Continues request with optional request overrides.
@@ -15574,11 +15603,10 @@ ${sourceUrlComment}
15574
15603
  * Exception is immediately thrown if the request interception is not enabled.
15575
15604
  */
15576
15605
  async continue(overrides = {}, priority) {
15577
- if (!this.#canBeIntercepted()) {
15606
+ this.verifyInterception();
15607
+ if (!this.canBeIntercepted()) {
15578
15608
  return;
15579
15609
  }
15580
- assert(this.interception.enabled, "Request Interception is not enabled!");
15581
- assert(!this.interception.handled, "Request is already handled!");
15582
15610
  if (priority === void 0) {
15583
15611
  return await this._continue(overrides);
15584
15612
  }
@@ -15631,11 +15659,10 @@ ${sourceUrlComment}
15631
15659
  * Exception is immediately thrown if the request interception is not enabled.
15632
15660
  */
15633
15661
  async respond(response, priority) {
15634
- if (!this.#canBeIntercepted()) {
15662
+ this.verifyInterception();
15663
+ if (!this.canBeIntercepted()) {
15635
15664
  return;
15636
15665
  }
15637
- assert(this.interception.enabled, "Request Interception is not enabled!");
15638
- assert(!this.interception.handled, "Request is already handled!");
15639
15666
  if (priority === void 0) {
15640
15667
  return await this._respond(response);
15641
15668
  }
@@ -15669,13 +15696,12 @@ ${sourceUrlComment}
15669
15696
  * throw an exception immediately.
15670
15697
  */
15671
15698
  async abort(errorCode = "failed", priority) {
15672
- if (!this.#canBeIntercepted()) {
15699
+ this.verifyInterception();
15700
+ if (!this.canBeIntercepted()) {
15673
15701
  return;
15674
15702
  }
15675
15703
  const errorReason = errorReasons[errorCode];
15676
15704
  assert(errorReason, "Unknown error code: " + errorCode);
15677
- assert(this.interception.enabled, "Request Interception is not enabled!");
15678
- assert(!this.interception.handled, "Request is already handled!");
15679
15705
  if (priority === void 0) {
15680
15706
  return await this._abort(errorReason);
15681
15707
  }
@@ -15875,7 +15901,7 @@ ${sourceUrlComment}
15875
15901
  }
15876
15902
  }
15877
15903
  headers() {
15878
- return this.#headers;
15904
+ return structuredClone(this.#headers);
15879
15905
  }
15880
15906
  response() {
15881
15907
  return this._response;
@@ -15900,6 +15926,9 @@ ${sourceUrlComment}
15900
15926
  errorText: this._failureText
15901
15927
  };
15902
15928
  }
15929
+ canBeIntercepted() {
15930
+ return !this.url().startsWith("data:") && !this._fromMemoryCache;
15931
+ }
15903
15932
  /**
15904
15933
  * @internal
15905
15934
  */
@@ -16164,7 +16193,7 @@ ${sourceUrlComment}
16164
16193
  return stringToTypedArray(response.body, response.base64Encoded);
16165
16194
  } catch (error) {
16166
16195
  if (error instanceof ProtocolError && error.originalMessage === "No resource with given identifier found") {
16167
- throw new ProtocolError("Could not load body for this request. This might happen if the request is a preflight request.");
16196
+ throw new ProtocolError("Could not load response body for this request. This might happen if the request is a preflight request.");
16168
16197
  }
16169
16198
  throw error;
16170
16199
  }
@@ -19931,8 +19960,8 @@ ${sourceUrlComment}
19931
19960
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js
19932
19961
  var CdpBrowser = class _CdpBrowser extends Browser {
19933
19962
  protocol = "cdp";
19934
- static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true) {
19935
- const browser = new _CdpBrowser(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled);
19963
+ static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, handleDevToolsAsPage = false) {
19964
+ const browser = new _CdpBrowser(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled, handleDevToolsAsPage);
19936
19965
  if (acceptInsecureCerts) {
19937
19966
  await connection.send("Security.setIgnoreCertificateErrors", {
19938
19967
  ignore: true
@@ -19951,7 +19980,8 @@ ${sourceUrlComment}
19951
19980
  #contexts = /* @__PURE__ */ new Map();
19952
19981
  #networkEnabled = true;
19953
19982
  #targetManager;
19954
- constructor(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true) {
19983
+ #handleDevToolsAsPage = false;
19984
+ constructor(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, handleDevToolsAsPage = false) {
19955
19985
  super();
19956
19986
  this.#networkEnabled = networkEnabled;
19957
19987
  this.#defaultViewport = defaultViewport;
@@ -19962,6 +19992,7 @@ ${sourceUrlComment}
19962
19992
  this.#targetFilterCallback = targetFilterCallback || (() => {
19963
19993
  return true;
19964
19994
  });
19995
+ this.#handleDevToolsAsPage = handleDevToolsAsPage;
19965
19996
  this.#setIsPageTargetCallback(isPageTargetCallback);
19966
19997
  this.#targetManager = new TargetManager(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets);
19967
19998
  this.#defaultContext = new CdpBrowserContext(this.#connection, this);
@@ -19998,7 +20029,7 @@ ${sourceUrlComment}
19998
20029
  }
19999
20030
  #setIsPageTargetCallback(isPageTargetCallback) {
20000
20031
  this.#isPageTargetCallback = isPageTargetCallback || ((target) => {
20001
- return target.type() === "page" || target.type() === "background_page" || target.type() === "webview";
20032
+ return target.type() === "page" || target.type() === "background_page" || target.type() === "webview" || this.#handleDevToolsAsPage && target.type() === "other" && target.url().startsWith("devtools://");
20002
20033
  });
20003
20034
  }
20004
20035
  _getIsPageTargetCallback() {
@@ -20158,12 +20189,12 @@ ${sourceUrlComment}
20158
20189
 
20159
20190
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js
20160
20191
  async function _connectToCdpBrowser(connectionTransport, url, options) {
20161
- const { acceptInsecureCerts = false, networkEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout } = options;
20192
+ const { acceptInsecureCerts = false, networkEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout, handleDevToolsAsPage } = options;
20162
20193
  const connection = new Connection(url, connectionTransport, slowMo, protocolTimeout);
20163
20194
  const { browserContextIds } = await connection.send("Target.getBrowserContexts");
20164
20195
  const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, void 0, () => {
20165
20196
  return connection.send("Browser.close").catch(debugError);
20166
- }, targetFilter, isPageTarget, void 0, networkEnabled);
20197
+ }, targetFilter, isPageTarget, void 0, networkEnabled, handleDevToolsAsPage);
20167
20198
  return browser;
20168
20199
  }
20169
20200
 
@@ -20277,6 +20308,13 @@ puppeteer-core/lib/esm/puppeteer/cdp/BrowserContext.js:
20277
20308
  * SPDX-License-Identifier: Apache-2.0
20278
20309
  *)
20279
20310
 
20311
+ puppeteer-core/lib/esm/puppeteer/util/version.js:
20312
+ (**
20313
+ * @license
20314
+ * Copyright 2025 Google Inc.
20315
+ * SPDX-License-Identifier: Apache-2.0
20316
+ *)
20317
+
20280
20318
  puppeteer-core/lib/esm/puppeteer/common/Errors.js:
20281
20319
  puppeteer-core/lib/esm/puppeteer/cdp/Accessibility.js:
20282
20320
  puppeteer-core/lib/esm/puppeteer/api/WebWorker.js: