antigravity-mobile-proxy 0.1.2 → 0.1.4

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 (616) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +5 -2
  5. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js +2 -2
  18. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js +2 -2
  20. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js +2 -2
  24. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/v1/artifacts/route.js +2 -2
  26. package/.next/standalone/.next/server/app/api/v1/artifacts/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js +6 -2
  28. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js +6 -2
  30. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js +6 -2
  32. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js +6 -2
  34. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js +6 -2
  36. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js +6 -2
  38. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/v1/chat/route.js +6 -2
  40. package/.next/standalone/.next/server/app/api/v1/chat/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js +6 -2
  42. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js +7 -3
  44. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js +2 -2
  46. package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/v1/conversations/route.js +7 -3
  48. package/.next/standalone/.next/server/app/api/v1/conversations/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js +6 -2
  50. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js +6 -2
  52. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js +6 -2
  54. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/v1/health/route.js +6 -2
  56. package/.next/standalone/.next/server/app/api/v1/health/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js +2 -2
  58. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js +2 -2
  60. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js +6 -2
  62. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js +6 -2
  64. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js +2 -2
  66. package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/v1/windows/route.js +6 -2
  68. package/.next/standalone/.next/server/app/api/v1/windows/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js +6 -2
  70. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/debug/page.js +1 -1
  72. package/.next/standalone/.next/server/app/debug/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/debug/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  75. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/page.js +1 -1
  77. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d31b133._.js +3 -0
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133ac672._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__151eca3a._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1535be2d._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ee7d416._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__25f5f8ec._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__26662154._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f4a0b79._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2ec5ba30._.js → [root-of-the-server]__3fe6d12c._.js} +2 -2
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b17d628._.js +3 -0
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c540a38._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8d2624da._.js → [root-of-the-server]__4d161104._.js} +2 -2
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53c4f34d._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__68965284._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f5ebbc3._.js +7 -0
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f8bd59f._.js +20 -0
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9166d84a._.js +3 -0
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__94275f7f._.js +3 -0
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c34d50c8._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8fdd2340._.js → [root-of-the-server]__c696771d._.js} +2 -2
  99. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bd52b41._.js → [root-of-the-server]__cd7ccfdd._.js} +2 -2
  100. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5818e20._.js +3 -0
  101. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__360475ac._.js → [root-of-the-server]__db7b3604._.js} +2 -2
  102. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eeb89c13._.js → [root-of-the-server]__dc1db6cb._.js} +2 -2
  103. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4effd91a._.js → [root-of-the-server]__e9181374._.js} +2 -2
  104. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9ef4db._.js +3 -0
  105. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4448d3d4._.js → [root-of-the-server]__ec32b318._.js} +2 -2
  106. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7f18ffd0._.js → [root-of-the-server]__f54bea3d._.js} +2 -2
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fabd57e0._.js +3 -0
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd0215df._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/lib_cdp_connection_ts_075c799e._.js +41 -0
  110. package/.next/standalone/.next/server/chunks/node_modules_151ca6ae._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/node_modules_1f8a2929._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/node_modules_2d9a2f12._.js +4 -0
  113. package/.next/standalone/.next/server/chunks/node_modules_3b486fee._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/node_modules_64199bef._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js +3 -0
  116. package/.next/standalone/.next/server/chunks/node_modules_f81d3958._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/node_modules_next_1402a1da._.js +2 -2
  118. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0272adf7.js +5 -0
  119. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0b1e64d7.js +3 -0
  120. package/.next/standalone/.next/server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js +56 -0
  122. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__703e5e24._.js +3 -0
  123. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__edab6069._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/ssr/components_chat-container_tsx_fcbc457f._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/node_modules_63dba3f8._.js +1 -1
  126. package/.next/standalone/.next/server/pages/500.html +2 -2
  127. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  129. package/.next/standalone/app/api/v1/chat/stream/route.ts +2 -2
  130. package/.next/standalone/app/api/v1/conversations/route.ts +6 -1
  131. package/.next/standalone/app/globals.css +6 -0
  132. package/.next/standalone/components/agent-message.tsx +4 -5
  133. package/.next/standalone/components/chat-container.tsx +0 -2
  134. package/.next/standalone/components/message-list.tsx +2 -6
  135. package/.next/standalone/diag.js +72 -0
  136. package/.next/standalone/hooks/use-chat.ts +18 -1
  137. package/.next/standalone/lib/scraper/agent-state.ts +43 -17
  138. package/.next/standalone/lib/scraper/chat-history.ts +4 -0
  139. package/.next/standalone/lib/scraper/workspace-filter.ts +209 -0
  140. package/.next/standalone/lib/sse/diff-states.ts +18 -3
  141. package/.next/standalone/next.config.js +19 -0
  142. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  143. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  144. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  145. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  146. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  147. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  148. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  149. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  150. package/.next/standalone/node_modules/next/dist/build/generate-build-id.js +5 -1
  151. package/.next/standalone/package-lock.json +140 -129
  152. package/.next/standalone/package.json +4 -3
  153. package/.next/standalone/scripts/patch-next.js +69 -0
  154. package/.next/standalone/server.js +1 -1
  155. package/.next/standalone/tsconfig.json +14 -4
  156. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  157. package/.next/static/chunks/{54866979a976deea.css → 073aeeb732614ba1.css} +1 -1
  158. package/.next/static/chunks/0b8f1079dec6b3ad.js +1 -0
  159. package/package.json +4 -3
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08f06ee9._.js +0 -3
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15c96786._.js +0 -3
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19ee93c1._.js +0 -3
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__324dc867._.js +0 -3
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__38025e07._.js +0 -3
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a837477._.js +0 -3
  166. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4f9fdc77._.js +0 -3
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__556e6cd5._.js +0 -3
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6479a312._.js +0 -3
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__693625a1._.js +0 -3
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6ec98c1f._.js +0 -3
  171. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f696ede._.js +0 -3
  172. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8aa4aa02._.js +0 -3
  173. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d217c47._.js +0 -7
  174. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e54cdc1._.js +0 -3
  175. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a73e4e4f._.js +0 -3
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cd1b9505._.js +0 -3
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d850c12e._.js +0 -3
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ef121746._.js +0 -3
  179. package/.next/standalone/.next/server/chunks/_7273dcfc._.js +0 -3
  180. package/.next/standalone/.next/server/chunks/_8dd0f398._.js +0 -5
  181. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4fe85c38._.js +0 -3
  182. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85930638._.js +0 -3
  183. package/.next/standalone/next.config.ts +0 -10
  184. package/.next/standalone/node_modules/@puppeteer/browsers/package.json +0 -125
  185. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js +0 -53
  186. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js +0 -58
  187. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context.js +0 -691
  188. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js +0 -6
  189. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js +0 -96
  190. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js +0 -58
  191. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js +0 -19
  192. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js +0 -387
  193. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js +0 -71
  194. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/index.js +0 -128
  195. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js +0 -227
  196. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js +0 -41
  197. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js +0 -97
  198. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js +0 -77
  199. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module.js +0 -302
  200. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js +0 -49
  201. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js +0 -300
  202. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js +0 -38
  203. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types.js +0 -58
  204. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js +0 -169
  205. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js +0 -12
  206. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/package.json +0 -60
  207. package/.next/standalone/node_modules/agent-base/dist/helpers.js +0 -66
  208. package/.next/standalone/node_modules/agent-base/dist/index.js +0 -178
  209. package/.next/standalone/node_modules/agent-base/package.json +0 -46
  210. package/.next/standalone/node_modules/ast-types/def/babel-core.js +0 -256
  211. package/.next/standalone/node_modules/ast-types/def/babel.js +0 -11
  212. package/.next/standalone/node_modules/ast-types/def/core.js +0 -298
  213. package/.next/standalone/node_modules/ast-types/def/es-proposals.js +0 -33
  214. package/.next/standalone/node_modules/ast-types/def/es2020.js +0 -16
  215. package/.next/standalone/node_modules/ast-types/def/es6.js +0 -210
  216. package/.next/standalone/node_modules/ast-types/def/es7.js +0 -34
  217. package/.next/standalone/node_modules/ast-types/def/esprima.js +0 -49
  218. package/.next/standalone/node_modules/ast-types/def/flow.js +0 -292
  219. package/.next/standalone/node_modules/ast-types/def/jsx.js +0 -103
  220. package/.next/standalone/node_modules/ast-types/def/type-annotations.js +0 -40
  221. package/.next/standalone/node_modules/ast-types/def/typescript.js +0 -344
  222. package/.next/standalone/node_modules/ast-types/fork.js +0 -52
  223. package/.next/standalone/node_modules/ast-types/gen/namedTypes.js +0 -6
  224. package/.next/standalone/node_modules/ast-types/lib/equiv.js +0 -154
  225. package/.next/standalone/node_modules/ast-types/lib/node-path.js +0 -411
  226. package/.next/standalone/node_modules/ast-types/lib/path-visitor.js +0 -343
  227. package/.next/standalone/node_modules/ast-types/lib/path.js +0 -331
  228. package/.next/standalone/node_modules/ast-types/lib/scope.js +0 -318
  229. package/.next/standalone/node_modules/ast-types/lib/shared.js +0 -47
  230. package/.next/standalone/node_modules/ast-types/lib/types.js +0 -780
  231. package/.next/standalone/node_modules/ast-types/main.js +0 -53
  232. package/.next/standalone/node_modules/ast-types/package.json +0 -65
  233. package/.next/standalone/node_modules/b4a/index.js +0 -188
  234. package/.next/standalone/node_modules/b4a/package.json +0 -49
  235. package/.next/standalone/node_modules/basic-ftp/dist/Client.js +0 -782
  236. package/.next/standalone/node_modules/basic-ftp/dist/FileInfo.js +0 -92
  237. package/.next/standalone/node_modules/basic-ftp/dist/FtpContext.js +0 -365
  238. package/.next/standalone/node_modules/basic-ftp/dist/ProgressTracker.js +0 -72
  239. package/.next/standalone/node_modules/basic-ftp/dist/StringEncoding.js +0 -2
  240. package/.next/standalone/node_modules/basic-ftp/dist/StringWriter.js +0 -23
  241. package/.next/standalone/node_modules/basic-ftp/dist/index.js +0 -28
  242. package/.next/standalone/node_modules/basic-ftp/dist/netUtils.js +0 -66
  243. package/.next/standalone/node_modules/basic-ftp/dist/parseControlResponse.js +0 -66
  244. package/.next/standalone/node_modules/basic-ftp/dist/parseList.js +0 -79
  245. package/.next/standalone/node_modules/basic-ftp/dist/parseListDOS.js +0 -52
  246. package/.next/standalone/node_modules/basic-ftp/dist/parseListMLSD.js +0 -187
  247. package/.next/standalone/node_modules/basic-ftp/dist/parseListUnix.js +0 -155
  248. package/.next/standalone/node_modules/basic-ftp/dist/transfer.js +0 -318
  249. package/.next/standalone/node_modules/basic-ftp/package.json +0 -52
  250. package/.next/standalone/node_modules/buffer-crc32/index.js +0 -111
  251. package/.next/standalone/node_modules/buffer-crc32/package.json +0 -39
  252. package/.next/standalone/node_modules/cliui/build/lib/index.js +0 -287
  253. package/.next/standalone/node_modules/cliui/build/lib/string-utils.js +0 -27
  254. package/.next/standalone/node_modules/cliui/index.mjs +0 -13
  255. package/.next/standalone/node_modules/cliui/package.json +0 -83
  256. package/.next/standalone/node_modules/data-uri-to-buffer/dist/common.js +0 -54
  257. package/.next/standalone/node_modules/data-uri-to-buffer/dist/node.js +0 -26
  258. package/.next/standalone/node_modules/data-uri-to-buffer/package.json +0 -48
  259. package/.next/standalone/node_modules/debug/package.json +0 -64
  260. package/.next/standalone/node_modules/debug/src/browser.js +0 -272
  261. package/.next/standalone/node_modules/debug/src/common.js +0 -292
  262. package/.next/standalone/node_modules/debug/src/index.js +0 -10
  263. package/.next/standalone/node_modules/debug/src/node.js +0 -263
  264. package/.next/standalone/node_modules/degenerator/dist/compile.js +0 -107
  265. package/.next/standalone/node_modules/degenerator/dist/degenerator.js +0 -156
  266. package/.next/standalone/node_modules/degenerator/dist/index.js +0 -19
  267. package/.next/standalone/node_modules/degenerator/package.json +0 -42
  268. package/.next/standalone/node_modules/end-of-stream/index.js +0 -96
  269. package/.next/standalone/node_modules/end-of-stream/package.json +0 -37
  270. package/.next/standalone/node_modules/escalade/package.json +0 -74
  271. package/.next/standalone/node_modules/escodegen/escodegen.js +0 -2667
  272. package/.next/standalone/node_modules/escodegen/package.json +0 -63
  273. package/.next/standalone/node_modules/esprima/dist/esprima.js +0 -6709
  274. package/.next/standalone/node_modules/esprima/package.json +0 -112
  275. package/.next/standalone/node_modules/estraverse/estraverse.js +0 -805
  276. package/.next/standalone/node_modules/estraverse/package.json +0 -40
  277. package/.next/standalone/node_modules/esutils/lib/ast.js +0 -144
  278. package/.next/standalone/node_modules/esutils/lib/code.js +0 -135
  279. package/.next/standalone/node_modules/esutils/lib/keyword.js +0 -165
  280. package/.next/standalone/node_modules/esutils/lib/utils.js +0 -33
  281. package/.next/standalone/node_modules/esutils/package.json +0 -44
  282. package/.next/standalone/node_modules/events-universal/default.js +0 -1
  283. package/.next/standalone/node_modules/events-universal/package.json +0 -39
  284. package/.next/standalone/node_modules/extract-zip/LICENSE +0 -23
  285. package/.next/standalone/node_modules/extract-zip/cli.js +0 -19
  286. package/.next/standalone/node_modules/extract-zip/index.js +0 -173
  287. package/.next/standalone/node_modules/extract-zip/package.json +0 -80
  288. package/.next/standalone/node_modules/extract-zip/readme.md +0 -57
  289. package/.next/standalone/node_modules/fast-fifo/fixed-size.js +0 -39
  290. package/.next/standalone/node_modules/fast-fifo/index.js +0 -48
  291. package/.next/standalone/node_modules/fast-fifo/package.json +0 -28
  292. package/.next/standalone/node_modules/fd-slicer/index.js +0 -296
  293. package/.next/standalone/node_modules/fd-slicer/package.json +0 -36
  294. package/.next/standalone/node_modules/get-stream/buffer-stream.js +0 -52
  295. package/.next/standalone/node_modules/get-stream/index.js +0 -60
  296. package/.next/standalone/node_modules/get-stream/package.json +0 -50
  297. package/.next/standalone/node_modules/get-uri/dist/data.js +0 -43
  298. package/.next/standalone/node_modules/get-uri/dist/file.js +0 -57
  299. package/.next/standalone/node_modules/get-uri/dist/ftp.js +0 -93
  300. package/.next/standalone/node_modules/get-uri/dist/http-error.js +0 -15
  301. package/.next/standalone/node_modules/get-uri/dist/http.js +0 -191
  302. package/.next/standalone/node_modules/get-uri/dist/https.js +0 -16
  303. package/.next/standalone/node_modules/get-uri/dist/index.js +0 -57
  304. package/.next/standalone/node_modules/get-uri/dist/notfound.js +0 -16
  305. package/.next/standalone/node_modules/get-uri/dist/notmodified.js +0 -17
  306. package/.next/standalone/node_modules/get-uri/package.json +0 -58
  307. package/.next/standalone/node_modules/has-flag/index.js +0 -8
  308. package/.next/standalone/node_modules/has-flag/package.json +0 -46
  309. package/.next/standalone/node_modules/http-proxy-agent/dist/index.js +0 -148
  310. package/.next/standalone/node_modules/http-proxy-agent/package.json +0 -47
  311. package/.next/standalone/node_modules/https-proxy-agent/dist/index.js +0 -180
  312. package/.next/standalone/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -101
  313. package/.next/standalone/node_modules/https-proxy-agent/package.json +0 -50
  314. package/.next/standalone/node_modules/ip-address/dist/address-error.js +0 -12
  315. package/.next/standalone/node_modules/ip-address/dist/common.js +0 -46
  316. package/.next/standalone/node_modules/ip-address/dist/ip-address.js +0 -35
  317. package/.next/standalone/node_modules/ip-address/dist/ipv4.js +0 -360
  318. package/.next/standalone/node_modules/ip-address/dist/ipv6.js +0 -1003
  319. package/.next/standalone/node_modules/ip-address/dist/v4/constants.js +0 -8
  320. package/.next/standalone/node_modules/ip-address/dist/v6/constants.js +0 -76
  321. package/.next/standalone/node_modules/ip-address/dist/v6/helpers.js +0 -45
  322. package/.next/standalone/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
  323. package/.next/standalone/node_modules/ip-address/package.json +0 -78
  324. package/.next/standalone/node_modules/lru-cache/index.js +0 -1227
  325. package/.next/standalone/node_modules/lru-cache/package.json +0 -96
  326. package/.next/standalone/node_modules/ms/index.js +0 -162
  327. package/.next/standalone/node_modules/ms/package.json +0 -38
  328. package/.next/standalone/node_modules/netmask/lib/netmask.js +0 -208
  329. package/.next/standalone/node_modules/netmask/package.json +0 -36
  330. package/.next/standalone/node_modules/once/once.js +0 -42
  331. package/.next/standalone/node_modules/once/package.json +0 -33
  332. package/.next/standalone/node_modules/pac-proxy-agent/dist/index.js +0 -238
  333. package/.next/standalone/node_modules/pac-proxy-agent/package.json +0 -58
  334. package/.next/standalone/node_modules/pac-resolver/dist/dateRange.js +0 -73
  335. package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainIs.js +0 -30
  336. package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainLevels.js +0 -28
  337. package/.next/standalone/node_modules/pac-resolver/dist/dnsResolve.js +0 -32
  338. package/.next/standalone/node_modules/pac-resolver/dist/index.js +0 -87
  339. package/.next/standalone/node_modules/pac-resolver/dist/ip.js +0 -50
  340. package/.next/standalone/node_modules/pac-resolver/dist/isInNet.js +0 -42
  341. package/.next/standalone/node_modules/pac-resolver/dist/isPlainHostName.js +0 -23
  342. package/.next/standalone/node_modules/pac-resolver/dist/isResolvable.js +0 -23
  343. package/.next/standalone/node_modules/pac-resolver/dist/localHostOrDomainIs.js +0 -40
  344. package/.next/standalone/node_modules/pac-resolver/dist/myIpAddress.js +0 -50
  345. package/.next/standalone/node_modules/pac-resolver/dist/shExpMatch.js +0 -41
  346. package/.next/standalone/node_modules/pac-resolver/dist/timeRange.js +0 -92
  347. package/.next/standalone/node_modules/pac-resolver/dist/util.js +0 -22
  348. package/.next/standalone/node_modules/pac-resolver/dist/weekdayRange.js +0 -91
  349. package/.next/standalone/node_modules/pac-resolver/package.json +0 -47
  350. package/.next/standalone/node_modules/pend/index.js +0 -55
  351. package/.next/standalone/node_modules/pend/package.json +0 -18
  352. package/.next/standalone/node_modules/progress/index.js +0 -1
  353. package/.next/standalone/node_modules/progress/lib/node-progress.js +0 -236
  354. package/.next/standalone/node_modules/progress/package.json +0 -26
  355. package/.next/standalone/node_modules/proxy-agent/dist/index.js +0 -138
  356. package/.next/standalone/node_modules/proxy-agent/package.json +0 -60
  357. package/.next/standalone/node_modules/proxy-from-env/index.js +0 -108
  358. package/.next/standalone/node_modules/proxy-from-env/package.json +0 -34
  359. package/.next/standalone/node_modules/pump/index.js +0 -86
  360. package/.next/standalone/node_modules/pump/package.json +0 -30
  361. package/.next/standalone/node_modules/puppeteer-core/lib/esm/package.json +0 -1
  362. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js +0 -204
  363. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.js +0 -182
  364. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/CDPSession.js +0 -68
  365. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/DeviceRequestPrompt.js +0 -34
  366. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js +0 -90
  367. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js +0 -1406
  368. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandleSymbol.js +0 -10
  369. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js +0 -904
  370. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js +0 -461
  371. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPResponse.js +0 -56
  372. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Input.js +0 -211
  373. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js +0 -227
  374. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js +0 -1511
  375. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Realm.js +0 -44
  376. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js +0 -49
  377. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/WebWorker.js +0 -106
  378. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js +0 -22
  379. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js +0 -769
  380. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/bidi/BrowserConnector.js +0 -83
  381. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Accessibility.js +0 -591
  382. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Binding.js +0 -162
  383. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BluetoothEmulation.js +0 -26
  384. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js +0 -327
  385. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js +0 -26
  386. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserContext.js +0 -192
  387. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpPreloadScript.js +0 -39
  388. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js +0 -129
  389. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js +0 -244
  390. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Coverage.js +0 -372
  391. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +0 -151
  392. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Dialog.js +0 -23
  393. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ElementHandle.js +0 -206
  394. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js +0 -458
  395. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js +0 -457
  396. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExtensionTransport.js +0 -175
  397. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Frame.js +0 -358
  398. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManager.js +0 -455
  399. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManagerEvents.js +0 -24
  400. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameTree.js +0 -91
  401. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPRequest.js +0 -195
  402. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPResponse.js +0 -126
  403. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Input.js +0 -499
  404. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js +0 -157
  405. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorlds.js +0 -20
  406. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/JSHandle.js +0 -101
  407. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/LifecycleWatcher.js +0 -174
  408. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkEventManager.js +0 -162
  409. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkManager.js +0 -601
  410. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js +0 -1011
  411. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +0 -69
  412. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js +0 -243
  413. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManageEvents.js +0 -7
  414. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManager.js +0 -320
  415. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Tracing.js +0 -110
  416. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/WebWorker.js +0 -73
  417. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/cdp.js +0 -43
  418. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/utils.js +0 -216
  419. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +0 -54
  420. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +0 -129
  421. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +0 -39
  422. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CSSQueryHandler.js +0 -18
  423. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js +0 -133
  424. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +0 -78
  425. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js +0 -114
  426. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +0 -109
  427. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Device.js +0 -1604
  428. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +0 -94
  429. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +0 -128
  430. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +0 -75
  431. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/GetQueryHandler.js +0 -70
  432. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/HandleIterator.js +0 -142
  433. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js +0 -23
  434. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManagerEvents.js +0 -21
  435. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +0 -58
  436. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js +0 -18
  437. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PSelectorParser.js +0 -100
  438. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js +0 -18
  439. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +0 -98
  440. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +0 -225
  441. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js +0 -51
  442. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +0 -69
  443. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +0 -24
  444. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js +0 -15
  445. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +0 -39
  446. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +0 -394
  447. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js +0 -197
  448. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js +0 -21
  449. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/common.js +0 -35
  450. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js +0 -375
  451. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +0 -24
  452. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js +0 -9
  453. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index-browser.js +0 -11
  454. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index.js +0 -8
  455. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/puppeteer-core.js +0 -41
  456. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +0 -14
  457. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js +0 -29
  458. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js +0 -105
  459. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/ErrorLike.js +0 -41
  460. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Function.js +0 -70
  461. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Mutex.js +0 -46
  462. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js +0 -18
  463. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/decorators.js +0 -232
  464. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/disposable.js +0 -342
  465. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/encoding.js +0 -63
  466. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/incremental-id-generator.js +0 -18
  467. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/util.js +0 -13
  468. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/version.js +0 -10
  469. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js +0 -44
  470. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/parsel-js/parsel-js.js +0 -196
  471. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js +0 -2887
  472. package/.next/standalone/node_modules/puppeteer-core/package.json +0 -169
  473. package/.next/standalone/node_modules/semver/functions/clean.js +0 -8
  474. package/.next/standalone/node_modules/semver/functions/compare-build.js +0 -9
  475. package/.next/standalone/node_modules/semver/functions/compare-loose.js +0 -5
  476. package/.next/standalone/node_modules/semver/functions/diff.js +0 -60
  477. package/.next/standalone/node_modules/semver/functions/inc.js +0 -21
  478. package/.next/standalone/node_modules/semver/functions/major.js +0 -5
  479. package/.next/standalone/node_modules/semver/functions/minor.js +0 -5
  480. package/.next/standalone/node_modules/semver/functions/patch.js +0 -5
  481. package/.next/standalone/node_modules/semver/functions/prerelease.js +0 -8
  482. package/.next/standalone/node_modules/semver/functions/rcompare.js +0 -5
  483. package/.next/standalone/node_modules/semver/functions/rsort.js +0 -5
  484. package/.next/standalone/node_modules/semver/functions/sort.js +0 -5
  485. package/.next/standalone/node_modules/semver/functions/valid.js +0 -8
  486. package/.next/standalone/node_modules/semver/index.js +0 -91
  487. package/.next/standalone/node_modules/semver/ranges/gtr.js +0 -6
  488. package/.next/standalone/node_modules/semver/ranges/intersects.js +0 -9
  489. package/.next/standalone/node_modules/semver/ranges/ltr.js +0 -6
  490. package/.next/standalone/node_modules/semver/ranges/max-satisfying.js +0 -27
  491. package/.next/standalone/node_modules/semver/ranges/min-satisfying.js +0 -26
  492. package/.next/standalone/node_modules/semver/ranges/min-version.js +0 -63
  493. package/.next/standalone/node_modules/semver/ranges/outside.js +0 -82
  494. package/.next/standalone/node_modules/semver/ranges/simplify.js +0 -49
  495. package/.next/standalone/node_modules/semver/ranges/subset.js +0 -249
  496. package/.next/standalone/node_modules/semver/ranges/to-comparators.js +0 -10
  497. package/.next/standalone/node_modules/semver/ranges/valid.js +0 -13
  498. package/.next/standalone/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
  499. package/.next/standalone/node_modules/smart-buffer/build/utils.js +0 -108
  500. package/.next/standalone/node_modules/smart-buffer/package.json +0 -79
  501. package/.next/standalone/node_modules/socks/build/client/socksclient.js +0 -793
  502. package/.next/standalone/node_modules/socks/build/common/constants.js +0 -108
  503. package/.next/standalone/node_modules/socks/build/common/helpers.js +0 -167
  504. package/.next/standalone/node_modules/socks/build/common/receivebuffer.js +0 -43
  505. package/.next/standalone/node_modules/socks/build/common/util.js +0 -25
  506. package/.next/standalone/node_modules/socks/build/index.js +0 -18
  507. package/.next/standalone/node_modules/socks/package.json +0 -58
  508. package/.next/standalone/node_modules/socks-proxy-agent/dist/index.js +0 -195
  509. package/.next/standalone/node_modules/socks-proxy-agent/package.json +0 -142
  510. package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
  511. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
  512. package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
  513. package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
  514. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
  515. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
  516. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  517. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
  518. package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
  519. package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
  520. package/.next/standalone/node_modules/source-map/package.json +0 -73
  521. package/.next/standalone/node_modules/source-map/source-map.js +0 -8
  522. package/.next/standalone/node_modules/streamx/index.js +0 -1184
  523. package/.next/standalone/node_modules/streamx/package.json +0 -34
  524. package/.next/standalone/node_modules/supports-color/index.js +0 -135
  525. package/.next/standalone/node_modules/supports-color/package.json +0 -53
  526. package/.next/standalone/node_modules/tar-stream/constants.js +0 -14
  527. package/.next/standalone/node_modules/tar-stream/extract.js +0 -406
  528. package/.next/standalone/node_modules/tar-stream/headers.js +0 -321
  529. package/.next/standalone/node_modules/tar-stream/index.js +0 -2
  530. package/.next/standalone/node_modules/tar-stream/pack.js +0 -287
  531. package/.next/standalone/node_modules/tar-stream/package.json +0 -42
  532. package/.next/standalone/node_modules/text-decoder/index.js +0 -64
  533. package/.next/standalone/node_modules/text-decoder/lib/pass-through-decoder.js +0 -19
  534. package/.next/standalone/node_modules/text-decoder/lib/utf8-decoder.js +0 -185
  535. package/.next/standalone/node_modules/text-decoder/package.json +0 -39
  536. package/.next/standalone/node_modules/tslib/package.json +0 -47
  537. package/.next/standalone/node_modules/tslib/tslib.js +0 -484
  538. package/.next/standalone/node_modules/wrappy/package.json +0 -29
  539. package/.next/standalone/node_modules/wrappy/wrappy.js +0 -33
  540. package/.next/standalone/node_modules/ws/lib/buffer-util.js +0 -131
  541. package/.next/standalone/node_modules/ws/lib/constants.js +0 -19
  542. package/.next/standalone/node_modules/ws/lib/event-target.js +0 -292
  543. package/.next/standalone/node_modules/ws/lib/extension.js +0 -203
  544. package/.next/standalone/node_modules/ws/lib/limiter.js +0 -55
  545. package/.next/standalone/node_modules/ws/lib/permessage-deflate.js +0 -528
  546. package/.next/standalone/node_modules/ws/lib/receiver.js +0 -706
  547. package/.next/standalone/node_modules/ws/lib/sender.js +0 -602
  548. package/.next/standalone/node_modules/ws/lib/stream.js +0 -161
  549. package/.next/standalone/node_modules/ws/lib/subprotocol.js +0 -62
  550. package/.next/standalone/node_modules/ws/lib/validation.js +0 -152
  551. package/.next/standalone/node_modules/ws/lib/websocket-server.js +0 -554
  552. package/.next/standalone/node_modules/ws/lib/websocket.js +0 -1393
  553. package/.next/standalone/node_modules/ws/package.json +0 -69
  554. package/.next/standalone/node_modules/ws/wrapper.mjs +0 -8
  555. package/.next/standalone/node_modules/y18n/build/lib/index.js +0 -174
  556. package/.next/standalone/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  557. package/.next/standalone/node_modules/y18n/index.mjs +0 -8
  558. package/.next/standalone/node_modules/y18n/package.json +0 -70
  559. package/.next/standalone/node_modules/yargs/build/lib/argsert.js +0 -62
  560. package/.next/standalone/node_modules/yargs/build/lib/command.js +0 -449
  561. package/.next/standalone/node_modules/yargs/build/lib/completion-templates.js +0 -48
  562. package/.next/standalone/node_modules/yargs/build/lib/completion.js +0 -243
  563. package/.next/standalone/node_modules/yargs/build/lib/middleware.js +0 -88
  564. package/.next/standalone/node_modules/yargs/build/lib/parse-command.js +0 -32
  565. package/.next/standalone/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  566. package/.next/standalone/node_modules/yargs/build/lib/usage.js +0 -584
  567. package/.next/standalone/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  568. package/.next/standalone/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  569. package/.next/standalone/node_modules/yargs/build/lib/utils/levenshtein.js +0 -34
  570. package/.next/standalone/node_modules/yargs/build/lib/utils/maybe-async-result.js +0 -17
  571. package/.next/standalone/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  572. package/.next/standalone/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  573. package/.next/standalone/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  574. package/.next/standalone/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  575. package/.next/standalone/node_modules/yargs/build/lib/validation.js +0 -305
  576. package/.next/standalone/node_modules/yargs/build/lib/yargs-factory.js +0 -1512
  577. package/.next/standalone/node_modules/yargs/build/lib/yerror.js +0 -9
  578. package/.next/standalone/node_modules/yargs/helpers/helpers.mjs +0 -10
  579. package/.next/standalone/node_modules/yargs/index.mjs +0 -8
  580. package/.next/standalone/node_modules/yargs/lib/platform-shims/esm.mjs +0 -73
  581. package/.next/standalone/node_modules/yargs/package.json +0 -123
  582. package/.next/standalone/node_modules/yargs-parser/build/lib/index.js +0 -62
  583. package/.next/standalone/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  584. package/.next/standalone/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  585. package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  586. package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1045
  587. package/.next/standalone/node_modules/yargs-parser/package.json +0 -92
  588. package/.next/standalone/node_modules/yauzl/LICENSE +0 -21
  589. package/.next/standalone/node_modules/yauzl/README.md +0 -658
  590. package/.next/standalone/node_modules/yauzl/index.js +0 -796
  591. package/.next/standalone/node_modules/yauzl/package.json +0 -40
  592. package/.next/static/chunks/75f35cd5abea89f2.js +0 -1
  593. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  594. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +0 -0
  595. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +0 -0
  596. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  597. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  598. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  599. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  600. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  601. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  602. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  603. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  604. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  605. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  606. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  607. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  608. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  609. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  610. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  611. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  612. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +0 -0
  613. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +0 -0
  614. /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_buildManifest.js +0 -0
  615. /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_clientMiddlewareManifest.json +0 -0
  616. /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_ssgManifest.js +0 -0
@@ -1,1511 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google Inc.
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
7
- var useValue = arguments.length > 2;
8
- for (var i = 0; i < initializers.length; i++) {
9
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
10
- }
11
- return useValue ? value : void 0;
12
- };
13
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
14
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
15
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
16
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
17
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
18
- var _, done = false;
19
- for (var i = decorators.length - 1; i >= 0; i--) {
20
- var context = {};
21
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
22
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
23
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
24
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
25
- if (kind === "accessor") {
26
- if (result === void 0) continue;
27
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
28
- if (_ = accept(result.get)) descriptor.get = _;
29
- if (_ = accept(result.set)) descriptor.set = _;
30
- if (_ = accept(result.init)) initializers.unshift(_);
31
- }
32
- else if (_ = accept(result)) {
33
- if (kind === "field") initializers.unshift(_);
34
- else descriptor[key] = _;
35
- }
36
- }
37
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
38
- done = true;
39
- };
40
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
41
- if (value !== null && value !== void 0) {
42
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
43
- var dispose, inner;
44
- if (async) {
45
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
46
- dispose = value[Symbol.asyncDispose];
47
- }
48
- if (dispose === void 0) {
49
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
50
- dispose = value[Symbol.dispose];
51
- if (async) inner = dispose;
52
- }
53
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
54
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
55
- env.stack.push({ value: value, dispose: dispose, async: async });
56
- }
57
- else if (async) {
58
- env.stack.push({ async: true });
59
- }
60
- return value;
61
- };
62
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
63
- return function (env) {
64
- function fail(e) {
65
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
66
- env.hasError = true;
67
- }
68
- var r, s = 0;
69
- function next() {
70
- while (r = env.stack.pop()) {
71
- try {
72
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
73
- if (r.dispose) {
74
- var result = r.dispose.call(r.value);
75
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
76
- }
77
- else s |= 1;
78
- }
79
- catch (e) {
80
- fail(e);
81
- }
82
- }
83
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
84
- if (env.hasError) throw env.error;
85
- }
86
- return next();
87
- };
88
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
89
- var e = new Error(message);
90
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
91
- });
92
- import { concat, distinctUntilChanged, EMPTY, filter, first, firstValueFrom, from, map, merge, mergeMap, mergeScan, of, raceWith, ReplaySubject, startWith, switchMap, take, takeUntil, timer, } from '../../third_party/rxjs/rxjs.js';
93
- import { TargetCloseError } from '../common/Errors.js';
94
- import { EventEmitter, } from '../common/EventEmitter.js';
95
- import { TimeoutSettings } from '../common/TimeoutSettings.js';
96
- import { debugError, fromEmitterEvent, filterAsync, isString, NETWORK_IDLE_TIME, timeout, withSourcePuppeteerURLIfNone, fromAbortSignal, } from '../common/util.js';
97
- import { environment } from '../environment.js';
98
- import { guarded } from '../util/decorators.js';
99
- import { AsyncDisposableStack, asyncDisposeSymbol, DisposableStack, disposeSymbol, } from '../util/disposable.js';
100
- import { stringToTypedArray } from '../util/encoding.js';
101
- import { FunctionLocator, Locator, NodeLocator, } from './locators/locators.js';
102
- /**
103
- * @internal
104
- */
105
- export function setDefaultScreenshotOptions(options) {
106
- options.optimizeForSpeed ??= false;
107
- options.type ??= 'png';
108
- options.fromSurface ??= true;
109
- options.fullPage ??= false;
110
- options.omitBackground ??= false;
111
- options.encoding ??= 'binary';
112
- options.captureBeyondViewport ??= true;
113
- }
114
- /**
115
- * Page provides methods to interact with a single tab or
116
- * {@link https://developer.chrome.com/extensions/background_pages | extension background page}
117
- * in the browser.
118
- *
119
- * :::note
120
- *
121
- * One Browser instance might have multiple Page instances.
122
- *
123
- * :::
124
- *
125
- * @example
126
- * This example creates a page, navigates it to a URL, and then saves a screenshot:
127
- *
128
- * ```ts
129
- * import puppeteer from 'puppeteer';
130
- *
131
- * const browser = await puppeteer.launch();
132
- * const page = await browser.newPage();
133
- * await page.goto('https://example.com');
134
- * await page.screenshot({path: 'screenshot.png'});
135
- * await browser.close();
136
- * ```
137
- *
138
- * The Page class extends from Puppeteer's {@link EventEmitter} class and will
139
- * emit various events which are documented in the {@link PageEvent} enum.
140
- *
141
- * @example
142
- * This example logs a message for a single page `load` event:
143
- *
144
- * ```ts
145
- * page.once('load', () => console.log('Page loaded!'));
146
- * ```
147
- *
148
- * To unsubscribe from events use the {@link EventEmitter.off} method:
149
- *
150
- * ```ts
151
- * function logRequest(interceptedRequest) {
152
- * console.log('A request was made:', interceptedRequest.url());
153
- * }
154
- * page.on('request', logRequest);
155
- * // Sometime later...
156
- * page.off('request', logRequest);
157
- * ```
158
- *
159
- * @public
160
- */
161
- let Page = (() => {
162
- let _classSuper = EventEmitter;
163
- let _instanceExtraInitializers = [];
164
- let _screenshot_decorators;
165
- return class Page extends _classSuper {
166
- static {
167
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
168
- __esDecorate(this, null, _screenshot_decorators, { kind: "method", name: "screenshot", static: false, private: false, access: { has: obj => "screenshot" in obj, get: obj => obj.screenshot }, metadata: _metadata }, null, _instanceExtraInitializers);
169
- if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
170
- }
171
- /**
172
- * @internal
173
- */
174
- _isDragging = (__runInitializers(this, _instanceExtraInitializers), false);
175
- /**
176
- * @internal
177
- */
178
- _timeoutSettings = new TimeoutSettings();
179
- /**
180
- * Internal API to get an implementation-specific identifier
181
- * for the tab. In Chrome, it is a tab target id. If unknown,
182
- * returns an empty string.
183
- *
184
- * @internal
185
- */
186
- _tabId = '';
187
- #requestHandlers = new WeakMap();
188
- #inflight$ = new ReplaySubject(1);
189
- /**
190
- * @internal
191
- */
192
- constructor() {
193
- super();
194
- fromEmitterEvent(this, "request" /* PageEvent.Request */)
195
- .pipe(mergeMap(originalRequest => {
196
- return concat(of(1), merge(fromEmitterEvent(this, "requestfailed" /* PageEvent.RequestFailed */), fromEmitterEvent(this, "requestfinished" /* PageEvent.RequestFinished */), fromEmitterEvent(this, "response" /* PageEvent.Response */).pipe(map(response => {
197
- return response.request();
198
- }))).pipe(filter(request => {
199
- return request.id === originalRequest.id;
200
- }), take(1), map(() => {
201
- return -1;
202
- })));
203
- }), mergeScan((acc, addend) => {
204
- return of(acc + addend);
205
- }, 0), takeUntil(fromEmitterEvent(this, "close" /* PageEvent.Close */)), startWith(0))
206
- .subscribe(this.#inflight$);
207
- }
208
- /**
209
- * Listen to page events.
210
- *
211
- * @remarks
212
- * This method exists to define event typings and handle proper wireup of
213
- * cooperative request interception. Actual event listening and dispatching is
214
- * delegated to {@link EventEmitter}.
215
- *
216
- * @internal
217
- */
218
- on(type, handler) {
219
- if (type !== "request" /* PageEvent.Request */) {
220
- return super.on(type, handler);
221
- }
222
- let wrapper = this.#requestHandlers.get(handler);
223
- if (wrapper === undefined) {
224
- wrapper = (event) => {
225
- event.enqueueInterceptAction(() => {
226
- return handler(event);
227
- });
228
- };
229
- this.#requestHandlers.set(handler, wrapper);
230
- }
231
- return super.on(type, wrapper);
232
- }
233
- /**
234
- * @internal
235
- */
236
- off(type, handler) {
237
- if (type === "request" /* PageEvent.Request */) {
238
- handler =
239
- this.#requestHandlers.get(handler) || handler;
240
- }
241
- return super.off(type, handler);
242
- }
243
- /**
244
- * {@inheritDoc Accessibility}
245
- */
246
- get accessibility() {
247
- return this.mainFrame().accessibility;
248
- }
249
- locator(input) {
250
- if (typeof input === 'string') {
251
- return NodeLocator.create(this, input);
252
- }
253
- else {
254
- return FunctionLocator.create(this, input);
255
- }
256
- }
257
- /**
258
- * A shortcut for {@link Locator.race} that does not require static imports.
259
- *
260
- * @internal
261
- */
262
- locatorRace(locators) {
263
- return Locator.race(locators);
264
- }
265
- /**
266
- * Finds the first element that matches the selector. If no element matches
267
- * the selector, the return value resolves to `null`.
268
- *
269
- * @param selector -
270
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
271
- * to query the page for.
272
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
273
- * can be passed as-is and a
274
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
275
- * allows querying by
276
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
277
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
278
- * and
279
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
280
- * and
281
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
282
- * Alternatively, you can specify the selector type using a
283
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
284
- *
285
- * @remarks
286
- *
287
- * Shortcut for {@link Frame.$ | Page.mainFrame().$(selector) }.
288
- */
289
- async $(selector) {
290
- return await this.mainFrame().$(selector);
291
- }
292
- /**
293
- * Finds elements on the page that match the selector. If no elements
294
- * match the selector, the return value resolves to `[]`.
295
- *
296
- * @param selector -
297
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
298
- * to query the page for.
299
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
300
- * can be passed as-is and a
301
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
302
- * allows querying by
303
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
304
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
305
- * and
306
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
307
- * and
308
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
309
- * Alternatively, you can specify the selector type using a
310
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
311
- *
312
- * @remarks
313
- *
314
- * Shortcut for {@link Frame.$$ | Page.mainFrame().$$(selector) }.
315
- */
316
- async $$(selector, options) {
317
- return await this.mainFrame().$$(selector, options);
318
- }
319
- /**
320
- * @remarks
321
- *
322
- * The only difference between {@link Page.evaluate | page.evaluate} and
323
- * `page.evaluateHandle` is that `evaluateHandle` will return the value
324
- * wrapped in an in-page object.
325
- *
326
- * If the function passed to `page.evaluateHandle` returns a Promise, the
327
- * function will wait for the promise to resolve and return its value.
328
- *
329
- * You can pass a string instead of a function (although functions are
330
- * recommended as they are easier to debug and use with TypeScript):
331
- *
332
- * @example
333
- *
334
- * ```ts
335
- * const aHandle = await page.evaluateHandle('document');
336
- * ```
337
- *
338
- * @example
339
- * {@link JSHandle} instances can be passed as arguments to the `pageFunction`:
340
- *
341
- * ```ts
342
- * const aHandle = await page.evaluateHandle(() => document.body);
343
- * const resultHandle = await page.evaluateHandle(
344
- * body => body.innerHTML,
345
- * aHandle,
346
- * );
347
- * console.log(await resultHandle.jsonValue());
348
- * await resultHandle.dispose();
349
- * ```
350
- *
351
- * Most of the time this function returns a {@link JSHandle},
352
- * but if `pageFunction` returns a reference to an element,
353
- * you instead get an {@link ElementHandle} back:
354
- *
355
- * @example
356
- *
357
- * ```ts
358
- * const button = await page.evaluateHandle(() =>
359
- * document.querySelector('button'),
360
- * );
361
- * // can call `click` because `button` is an `ElementHandle`
362
- * await button.click();
363
- * ```
364
- *
365
- * The TypeScript definitions assume that `evaluateHandle` returns
366
- * a `JSHandle`, but if you know it's going to return an
367
- * `ElementHandle`, pass it as the generic argument:
368
- *
369
- * ```ts
370
- * const button = await page.evaluateHandle<ElementHandle>(...);
371
- * ```
372
- *
373
- * @param pageFunction - a function that is run within the page
374
- * @param args - arguments to be passed to the pageFunction
375
- */
376
- async evaluateHandle(pageFunction, ...args) {
377
- pageFunction = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, pageFunction);
378
- return await this.mainFrame().evaluateHandle(pageFunction, ...args);
379
- }
380
- /**
381
- * This method finds the first element within the page that matches the selector
382
- * and passes the result as the first argument to the `pageFunction`.
383
- *
384
- * @remarks
385
- *
386
- * If no element is found matching `selector`, the method will throw an error.
387
- *
388
- * If `pageFunction` returns a promise `$eval` will wait for the promise to
389
- * resolve and then return its value.
390
- *
391
- * @example
392
- *
393
- * ```ts
394
- * const searchValue = await page.$eval('#search', el => el.value);
395
- * const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
396
- * const html = await page.$eval('.main-container', el => el.outerHTML);
397
- * ```
398
- *
399
- * If you are using TypeScript, you may have to provide an explicit type to the
400
- * first argument of the `pageFunction`.
401
- * By default it is typed as `Element`, but you may need to provide a more
402
- * specific sub-type:
403
- *
404
- * @example
405
- *
406
- * ```ts
407
- * // if you don't provide HTMLInputElement here, TS will error
408
- * // as `value` is not on `Element`
409
- * const searchValue = await page.$eval(
410
- * '#search',
411
- * (el: HTMLInputElement) => el.value,
412
- * );
413
- * ```
414
- *
415
- * The compiler should be able to infer the return type
416
- * from the `pageFunction` you provide. If it is unable to, you can use the generic
417
- * type to tell the compiler what return type you expect from `$eval`:
418
- *
419
- * @example
420
- *
421
- * ```ts
422
- * // The compiler can infer the return type in this case, but if it can't
423
- * // or if you want to be more explicit, provide it as the generic type.
424
- * const searchValue = await page.$eval<string>(
425
- * '#search',
426
- * (el: HTMLInputElement) => el.value,
427
- * );
428
- * ```
429
- *
430
- * @param selector -
431
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
432
- * to query the page for.
433
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
434
- * can be passed as-is and a
435
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
436
- * allows querying by
437
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
438
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
439
- * and
440
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
441
- * and
442
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
443
- * Alternatively, you can specify the selector type using a
444
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
445
- * @param pageFunction - the function to be evaluated in the page context.
446
- * Will be passed the result of the element matching the selector as its
447
- * first argument.
448
- * @param args - any additional arguments to pass through to `pageFunction`.
449
- *
450
- * @returns The result of calling `pageFunction`. If it returns an element it
451
- * is wrapped in an {@link ElementHandle}, else the raw value itself is
452
- * returned.
453
- */
454
- async $eval(selector, pageFunction, ...args) {
455
- pageFunction = withSourcePuppeteerURLIfNone(this.$eval.name, pageFunction);
456
- return await this.mainFrame().$eval(selector, pageFunction, ...args);
457
- }
458
- /**
459
- * This method returns all elements matching the selector and passes the
460
- * resulting array as the first argument to the `pageFunction`.
461
- *
462
- * @remarks
463
- * If `pageFunction` returns a promise `$$eval` will wait for the promise to
464
- * resolve and then return its value.
465
- *
466
- * @example
467
- *
468
- * ```ts
469
- * // get the amount of divs on the page
470
- * const divCount = await page.$$eval('div', divs => divs.length);
471
- *
472
- * // get the text content of all the `.options` elements:
473
- * const options = await page.$$eval('div > span.options', options => {
474
- * return options.map(option => option.textContent);
475
- * });
476
- * ```
477
- *
478
- * If you are using TypeScript, you may have to provide an explicit type to the
479
- * first argument of the `pageFunction`.
480
- * By default it is typed as `Element[]`, but you may need to provide a more
481
- * specific sub-type:
482
- *
483
- * @example
484
- *
485
- * ```ts
486
- * await page.$$eval('input', elements => {
487
- * return elements.map(e => e.value);
488
- * });
489
- * ```
490
- *
491
- * The compiler should be able to infer the return type
492
- * from the `pageFunction` you provide. If it is unable to, you can use the generic
493
- * type to tell the compiler what return type you expect from `$$eval`:
494
- *
495
- * @example
496
- *
497
- * ```ts
498
- * const allInputValues = await page.$$eval('input', elements =>
499
- * elements.map(e => e.textContent),
500
- * );
501
- * ```
502
- *
503
- * @param selector -
504
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
505
- * to query the page for.
506
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
507
- * can be passed as-is and a
508
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
509
- * allows querying by
510
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
511
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
512
- * and
513
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
514
- * and
515
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
516
- * Alternatively, you can specify the selector type using a
517
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
518
- * @param pageFunction - the function to be evaluated in the page context.
519
- * Will be passed an array of matching elements as its first argument.
520
- * @param args - any additional arguments to pass through to `pageFunction`.
521
- *
522
- * @returns The result of calling `pageFunction`. If it returns an element it
523
- * is wrapped in an {@link ElementHandle}, else the raw value itself is
524
- * returned.
525
- */
526
- async $$eval(selector, pageFunction, ...args) {
527
- pageFunction = withSourcePuppeteerURLIfNone(this.$$eval.name, pageFunction);
528
- return await this.mainFrame().$$eval(selector, pageFunction, ...args);
529
- }
530
- /**
531
- * Adds a `<script>` tag into the page with the desired URL or content.
532
- *
533
- * @remarks
534
- * Shortcut for
535
- * {@link Frame.addScriptTag | page.mainFrame().addScriptTag(options)}.
536
- *
537
- * @param options - Options for the script.
538
- * @returns An {@link ElementHandle | element handle} to the injected
539
- * `<script>` element.
540
- */
541
- async addScriptTag(options) {
542
- return await this.mainFrame().addScriptTag(options);
543
- }
544
- async addStyleTag(options) {
545
- return await this.mainFrame().addStyleTag(options);
546
- }
547
- /**
548
- * The page's URL.
549
- *
550
- * @remarks
551
- *
552
- * Shortcut for {@link Frame.url | page.mainFrame().url()}.
553
- */
554
- url() {
555
- return this.mainFrame().url();
556
- }
557
- /**
558
- * The full HTML contents of the page, including the DOCTYPE.
559
- */
560
- async content() {
561
- return await this.mainFrame().content();
562
- }
563
- /**
564
- * Set the content of the page.
565
- *
566
- * @param html - HTML markup to assign to the page.
567
- * @param options - Parameters that has some properties.
568
- */
569
- async setContent(html, options) {
570
- await this.mainFrame().setContent(html, options);
571
- }
572
- /**
573
- * {@inheritDoc Frame.goto}
574
- */
575
- async goto(url, options) {
576
- return await this.mainFrame().goto(url, options);
577
- }
578
- /**
579
- * Waits for the page to navigate to a new URL or to reload. It is useful when
580
- * you run code that will indirectly cause the page to navigate.
581
- *
582
- * @example
583
- *
584
- * ```ts
585
- * const [response] = await Promise.all([
586
- * page.waitForNavigation(), // The promise resolves after navigation has finished
587
- * page.click('a.my-link'), // Clicking the link will indirectly cause a navigation
588
- * ]);
589
- * ```
590
- *
591
- * @remarks
592
- *
593
- * Usage of the
594
- * {@link https://developer.mozilla.org/en-US/docs/Web/API/History_API | History API}
595
- * to change the URL is considered a navigation.
596
- *
597
- * @param options - Navigation parameters which might have the following
598
- * properties:
599
- * @returns A `Promise` which resolves to the main resource response.
600
- *
601
- * - In case of multiple redirects, the navigation will resolve with the
602
- * response of the last redirect.
603
- * - In case of navigation to a different anchor or navigation due to History
604
- * API usage, the navigation will resolve with `null`.
605
- */
606
- async waitForNavigation(options = {}) {
607
- return await this.mainFrame().waitForNavigation(options);
608
- }
609
- /**
610
- * @param urlOrPredicate - A URL or predicate to wait for
611
- * @param options - Optional waiting parameters
612
- * @returns Promise which resolves to the matched request
613
- * @example
614
- *
615
- * ```ts
616
- * const firstRequest = await page.waitForRequest(
617
- * 'https://example.com/resource',
618
- * );
619
- * const finalRequest = await page.waitForRequest(
620
- * request => request.url() === 'https://example.com',
621
- * );
622
- * return finalRequest.response()?.ok();
623
- * ```
624
- *
625
- * @remarks
626
- * Optional Waiting Parameters have:
627
- *
628
- * - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds, pass
629
- * `0` to disable the timeout. The default value can be changed by using the
630
- * {@link Page.setDefaultTimeout} method.
631
- *
632
- * - `signal`: A signal object that allows you to cancel a waitForRequest call.
633
- */
634
- waitForRequest(urlOrPredicate, options = {}) {
635
- const { timeout: ms = this._timeoutSettings.timeout(), signal } = options;
636
- if (typeof urlOrPredicate === 'string') {
637
- const url = urlOrPredicate;
638
- urlOrPredicate = (request) => {
639
- return request.url() === url;
640
- };
641
- }
642
- const observable$ = fromEmitterEvent(this, "request" /* PageEvent.Request */).pipe(filterAsync(urlOrPredicate), raceWith(timeout(ms), fromAbortSignal(signal), fromEmitterEvent(this, "close" /* PageEvent.Close */).pipe(map(() => {
643
- throw new TargetCloseError('Page closed!');
644
- }))));
645
- return firstValueFrom(observable$);
646
- }
647
- /**
648
- * @param urlOrPredicate - A URL or predicate to wait for.
649
- * @param options - Optional waiting parameters
650
- * @returns Promise which resolves to the matched response.
651
- * @example
652
- *
653
- * ```ts
654
- * const firstResponse = await page.waitForResponse(
655
- * 'https://example.com/resource',
656
- * );
657
- * const finalResponse = await page.waitForResponse(
658
- * response =>
659
- * response.url() === 'https://example.com' && response.status() === 200,
660
- * );
661
- * const finalResponse = await page.waitForResponse(async response => {
662
- * return (await response.text()).includes('<html>');
663
- * });
664
- * return finalResponse.ok();
665
- * ```
666
- *
667
- * @remarks
668
- * Optional Parameter have:
669
- *
670
- * - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds,
671
- * pass `0` to disable the timeout. The default value can be changed by using
672
- * the {@link Page.setDefaultTimeout} method.
673
- *
674
- * - `signal`: A signal object that allows you to cancel a waitForResponse call.
675
- */
676
- waitForResponse(urlOrPredicate, options = {}) {
677
- const { timeout: ms = this._timeoutSettings.timeout(), signal } = options;
678
- if (typeof urlOrPredicate === 'string') {
679
- const url = urlOrPredicate;
680
- urlOrPredicate = (response) => {
681
- return response.url() === url;
682
- };
683
- }
684
- const observable$ = fromEmitterEvent(this, "response" /* PageEvent.Response */).pipe(filterAsync(urlOrPredicate), raceWith(timeout(ms), fromAbortSignal(signal), fromEmitterEvent(this, "close" /* PageEvent.Close */).pipe(map(() => {
685
- throw new TargetCloseError('Page closed!');
686
- }))));
687
- return firstValueFrom(observable$);
688
- }
689
- /**
690
- * Waits for the network to be idle.
691
- *
692
- * @remarks The function will always wait at least the
693
- * set {@link WaitForNetworkIdleOptions.idleTime | IdleTime}.
694
- *
695
- * @param options - Options to configure waiting behavior.
696
- * @returns A promise which resolves once the network is idle.
697
- */
698
- waitForNetworkIdle(options = {}) {
699
- return firstValueFrom(this.waitForNetworkIdle$(options));
700
- }
701
- /**
702
- * @internal
703
- */
704
- waitForNetworkIdle$(options = {}) {
705
- const { timeout: ms = this._timeoutSettings.timeout(), idleTime = NETWORK_IDLE_TIME, concurrency = 0, signal, } = options;
706
- return this.#inflight$.pipe(map(inflight => {
707
- return inflight > concurrency;
708
- }), distinctUntilChanged(), switchMap(isInflightOverConcurrency => {
709
- if (isInflightOverConcurrency) {
710
- return EMPTY;
711
- }
712
- return timer(idleTime);
713
- }), map(() => { }), raceWith(timeout(ms), fromAbortSignal(signal), fromEmitterEvent(this, "close" /* PageEvent.Close */).pipe(map(() => {
714
- throw new TargetCloseError('Page closed!');
715
- }))));
716
- }
717
- /**
718
- * Waits for a frame matching the given conditions to appear.
719
- *
720
- * @example
721
- *
722
- * ```ts
723
- * const frame = await page.waitForFrame(async frame => {
724
- * const frameElement = await frame.frameElement();
725
- * if (!frameElement) {
726
- * return false;
727
- * }
728
- * const name = await frameElement.evaluate(el => el.getAttribute('name'));
729
- * return name === 'test';
730
- * });
731
- * ```
732
- */
733
- async waitForFrame(urlOrPredicate, options = {}) {
734
- const { timeout: ms = this.getDefaultTimeout(), signal } = options;
735
- const predicate = isString(urlOrPredicate)
736
- ? (frame) => {
737
- return urlOrPredicate === frame.url();
738
- }
739
- : urlOrPredicate;
740
- return await firstValueFrom(merge(fromEmitterEvent(this, "frameattached" /* PageEvent.FrameAttached */), fromEmitterEvent(this, "framenavigated" /* PageEvent.FrameNavigated */), from(this.frames())).pipe(filterAsync(predicate), first(), raceWith(timeout(ms), fromAbortSignal(signal), fromEmitterEvent(this, "close" /* PageEvent.Close */).pipe(map(() => {
741
- throw new TargetCloseError('Page closed.');
742
- })))));
743
- }
744
- /**
745
- * Emulates a given device's metrics and user agent.
746
- *
747
- * To aid emulation, Puppeteer provides a list of known devices that can be
748
- * via {@link KnownDevices}.
749
- *
750
- * @remarks
751
- * This method is a shortcut for calling two methods:
752
- * {@link Page.(setUserAgent:2) } and {@link Page.setViewport}.
753
- *
754
- * This method will resize the page. A lot of websites don't expect phones to
755
- * change size, so you should emulate before navigating to the page.
756
- *
757
- * @example
758
- *
759
- * ```ts
760
- * import {KnownDevices} from 'puppeteer';
761
- * const iPhone = KnownDevices['iPhone 15 Pro'];
762
- *
763
- * const browser = await puppeteer.launch();
764
- * const page = await browser.newPage();
765
- * await page.emulate(iPhone);
766
- * await page.goto('https://www.google.com');
767
- * // other actions...
768
- * await browser.close();
769
- * ```
770
- */
771
- async emulate(device) {
772
- await Promise.all([
773
- this.setUserAgent({ userAgent: device.userAgent }),
774
- this.setViewport(device.viewport),
775
- ]);
776
- }
777
- /**
778
- * Evaluates a function in the page's context and returns the result.
779
- *
780
- * If the function passed to `page.evaluate` returns a Promise, the
781
- * function will wait for the promise to resolve and return its value.
782
- *
783
- * @example
784
- *
785
- * ```ts
786
- * const result = await frame.evaluate(() => {
787
- * return Promise.resolve(8 * 7);
788
- * });
789
- * console.log(result); // prints "56"
790
- * ```
791
- *
792
- * You can pass a string instead of a function (although functions are
793
- * recommended as they are easier to debug and use with TypeScript):
794
- *
795
- * @example
796
- *
797
- * ```ts
798
- * const aHandle = await page.evaluate('1 + 2');
799
- * ```
800
- *
801
- * To get the best TypeScript experience, you should pass in as the
802
- * generic the type of `pageFunction`:
803
- *
804
- * ```ts
805
- * const aHandle = await page.evaluate(() => 2);
806
- * ```
807
- *
808
- * @example
809
- *
810
- * {@link ElementHandle} instances (including {@link JSHandle}s) can be passed
811
- * as arguments to the `pageFunction`:
812
- *
813
- * ```ts
814
- * const bodyHandle = await page.$('body');
815
- * const html = await page.evaluate(body => body.innerHTML, bodyHandle);
816
- * await bodyHandle.dispose();
817
- * ```
818
- *
819
- * @param pageFunction - a function that is run within the page
820
- * @param args - arguments to be passed to the pageFunction
821
- *
822
- * @returns the return value of `pageFunction`.
823
- */
824
- async evaluate(pageFunction, ...args) {
825
- pageFunction = withSourcePuppeteerURLIfNone(this.evaluate.name, pageFunction);
826
- return await this.mainFrame().evaluate(pageFunction, ...args);
827
- }
828
- /**
829
- * @internal
830
- */
831
- async _maybeWriteTypedArrayToFile(path, typedArray) {
832
- if (!path) {
833
- return;
834
- }
835
- await environment.value.fs.promises.writeFile(path, typedArray);
836
- }
837
- /**
838
- * Captures a screencast of this {@link Page | page}.
839
- *
840
- * @example
841
- * Recording a {@link Page | page}:
842
- *
843
- * ```
844
- * import puppeteer from 'puppeteer';
845
- *
846
- * // Launch a browser
847
- * const browser = await puppeteer.launch();
848
- *
849
- * // Create a new page
850
- * const page = await browser.newPage();
851
- *
852
- * // Go to your site.
853
- * await page.goto("https://www.example.com");
854
- *
855
- * // Start recording.
856
- * const recorder = await page.screencast({path: 'recording.webm'});
857
- *
858
- * // Do something.
859
- *
860
- * // Stop recording.
861
- * await recorder.stop();
862
- *
863
- * browser.close();
864
- * ```
865
- *
866
- * @param options - Configures screencast behavior.
867
- *
868
- * @experimental
869
- *
870
- * @remarks
871
- *
872
- * By default, all recordings will be {@link https://www.webmproject.org/ | WebM} format using
873
- * the {@link https://www.webmproject.org/vp9/ | VP9} video codec, with a frame rate of 30 FPS.
874
- *
875
- * You must have {@link https://ffmpeg.org/ | ffmpeg} installed on your system.
876
- */
877
- async screencast(options = {}) {
878
- const ScreenRecorder = environment.value.ScreenRecorder;
879
- const [width, height, devicePixelRatio] = await this.#getNativePixelDimensions();
880
- let crop;
881
- if (options.crop) {
882
- const { x, y, width: cropWidth, height: cropHeight, } = roundRectangle(normalizeRectangle(options.crop));
883
- if (x < 0 || y < 0) {
884
- throw new Error(`\`crop.x\` and \`crop.y\` must be greater than or equal to 0.`);
885
- }
886
- if (cropWidth <= 0 || cropHeight <= 0) {
887
- throw new Error(`\`crop.height\` and \`crop.width\` must be greater than or equal to 0.`);
888
- }
889
- const viewportWidth = width / devicePixelRatio;
890
- const viewportHeight = height / devicePixelRatio;
891
- if (x + cropWidth > viewportWidth) {
892
- throw new Error(`\`crop.width\` cannot be larger than the viewport width (${viewportWidth}).`);
893
- }
894
- if (y + cropHeight > viewportHeight) {
895
- throw new Error(`\`crop.height\` cannot be larger than the viewport height (${viewportHeight}).`);
896
- }
897
- crop = {
898
- x: x * devicePixelRatio,
899
- y: y * devicePixelRatio,
900
- width: cropWidth * devicePixelRatio,
901
- height: cropHeight * devicePixelRatio,
902
- };
903
- }
904
- if (options.speed !== undefined && options.speed <= 0) {
905
- throw new Error(`\`speed\` must be greater than 0.`);
906
- }
907
- if (options.scale !== undefined && options.scale <= 0) {
908
- throw new Error(`\`scale\` must be greater than 0.`);
909
- }
910
- const recorder = new ScreenRecorder(this, width, height, {
911
- ...options,
912
- crop,
913
- });
914
- try {
915
- await this._startScreencast();
916
- }
917
- catch (error) {
918
- void recorder.stop();
919
- throw error;
920
- }
921
- if (options.path) {
922
- const { createWriteStream } = environment.value.fs;
923
- const stream = createWriteStream(options.path, 'binary');
924
- recorder.pipe(stream);
925
- }
926
- return recorder;
927
- }
928
- #screencastSessionCount = 0;
929
- #startScreencastPromise;
930
- /**
931
- * @internal
932
- */
933
- async _startScreencast() {
934
- ++this.#screencastSessionCount;
935
- if (!this.#startScreencastPromise) {
936
- this.#startScreencastPromise = this.mainFrame()
937
- .client.send('Page.startScreencast', { format: 'png' })
938
- .then(() => {
939
- // Wait for the first frame.
940
- return new Promise(resolve => {
941
- return this.mainFrame().client.once('Page.screencastFrame', () => {
942
- return resolve();
943
- });
944
- });
945
- });
946
- }
947
- await this.#startScreencastPromise;
948
- }
949
- /**
950
- * @internal
951
- */
952
- async _stopScreencast() {
953
- --this.#screencastSessionCount;
954
- if (!this.#startScreencastPromise) {
955
- return;
956
- }
957
- this.#startScreencastPromise = undefined;
958
- if (this.#screencastSessionCount === 0) {
959
- await this.mainFrame().client.send('Page.stopScreencast');
960
- }
961
- }
962
- /**
963
- * Gets the native, non-emulated dimensions of the viewport.
964
- */
965
- async #getNativePixelDimensions() {
966
- const env_1 = { stack: [], error: void 0, hasError: false };
967
- try {
968
- const viewport = this.viewport();
969
- const stack = __addDisposableResource(env_1, new DisposableStack(), false);
970
- if (viewport && viewport.deviceScaleFactor !== 0) {
971
- await this.setViewport({ ...viewport, deviceScaleFactor: 0 });
972
- stack.defer(() => {
973
- void this.setViewport(viewport).catch(debugError);
974
- });
975
- }
976
- return await this.mainFrame()
977
- .isolatedRealm()
978
- .evaluate(() => {
979
- return [
980
- window.visualViewport.width * window.devicePixelRatio,
981
- window.visualViewport.height * window.devicePixelRatio,
982
- window.devicePixelRatio,
983
- ];
984
- });
985
- }
986
- catch (e_1) {
987
- env_1.error = e_1;
988
- env_1.hasError = true;
989
- }
990
- finally {
991
- __disposeResources(env_1);
992
- }
993
- }
994
- async screenshot(userOptions = {}) {
995
- const env_2 = { stack: [], error: void 0, hasError: false };
996
- try {
997
- const _guard = __addDisposableResource(env_2, await this.browserContext().startScreenshot(), false);
998
- const options = {
999
- ...userOptions,
1000
- clip: userOptions.clip
1001
- ? {
1002
- ...userOptions.clip,
1003
- }
1004
- : undefined,
1005
- };
1006
- if (options.type === undefined && options.path !== undefined) {
1007
- const filePath = options.path;
1008
- // Note we cannot use Node.js here due to browser compatibility.
1009
- const extension = filePath
1010
- .slice(filePath.lastIndexOf('.') + 1)
1011
- .toLowerCase();
1012
- switch (extension) {
1013
- case 'png':
1014
- options.type = 'png';
1015
- break;
1016
- case 'jpeg':
1017
- case 'jpg':
1018
- options.type = 'jpeg';
1019
- break;
1020
- case 'webp':
1021
- options.type = 'webp';
1022
- break;
1023
- }
1024
- }
1025
- if (options.quality !== undefined) {
1026
- if (options.quality < 0 || options.quality > 100) {
1027
- throw new Error(`Expected 'quality' (${options.quality}) to be between 0 and 100, inclusive.`);
1028
- }
1029
- if (options.type === undefined ||
1030
- !['jpeg', 'webp'].includes(options.type)) {
1031
- throw new Error(`${options.type ?? 'png'} screenshots do not support 'quality'.`);
1032
- }
1033
- }
1034
- if (options.clip) {
1035
- if (options.clip.width <= 0) {
1036
- throw new Error("'width' in 'clip' must be positive.");
1037
- }
1038
- if (options.clip.height <= 0) {
1039
- throw new Error("'height' in 'clip' must be positive.");
1040
- }
1041
- }
1042
- setDefaultScreenshotOptions(options);
1043
- const stack = __addDisposableResource(env_2, new AsyncDisposableStack(), true);
1044
- if (options.clip) {
1045
- if (options.fullPage) {
1046
- throw new Error("'clip' and 'fullPage' are mutually exclusive");
1047
- }
1048
- options.clip = roundRectangle(normalizeRectangle(options.clip));
1049
- }
1050
- else {
1051
- if (options.fullPage) {
1052
- // If `captureBeyondViewport` is `false`, then we set the viewport to
1053
- // capture the full page. Note this may be affected by on-page CSS and
1054
- // JavaScript.
1055
- if (!options.captureBeyondViewport) {
1056
- const scrollDimensions = await this.mainFrame()
1057
- .isolatedRealm()
1058
- .evaluate(() => {
1059
- const element = document.documentElement;
1060
- return {
1061
- width: element.scrollWidth,
1062
- height: element.scrollHeight,
1063
- };
1064
- });
1065
- const viewport = this.viewport();
1066
- await this.setViewport({
1067
- ...viewport,
1068
- ...scrollDimensions,
1069
- });
1070
- stack.defer(async () => {
1071
- await this.setViewport(viewport).catch(debugError);
1072
- });
1073
- }
1074
- }
1075
- else {
1076
- options.captureBeyondViewport = false;
1077
- }
1078
- }
1079
- const data = await this._screenshot(options);
1080
- if (options.encoding === 'base64') {
1081
- return data;
1082
- }
1083
- const typedArray = stringToTypedArray(data, true);
1084
- await this._maybeWriteTypedArrayToFile(options.path, typedArray);
1085
- return typedArray;
1086
- }
1087
- catch (e_2) {
1088
- env_2.error = e_2;
1089
- env_2.hasError = true;
1090
- }
1091
- finally {
1092
- const result_1 = __disposeResources(env_2);
1093
- if (result_1)
1094
- await result_1;
1095
- }
1096
- }
1097
- /**
1098
- * The page's title
1099
- *
1100
- * @remarks
1101
- *
1102
- * Shortcut for {@link Frame.title | page.mainFrame().title()}.
1103
- */
1104
- async title() {
1105
- return await this.mainFrame().title();
1106
- }
1107
- /**
1108
- * This method fetches an element with `selector`, scrolls it into view if
1109
- * needed, and then uses {@link Page.mouse} to click in the center of the
1110
- * element. If there's no element matching `selector`, the method throws an
1111
- * error.
1112
- *
1113
- * @remarks
1114
- *
1115
- * Bear in mind that if `click()` triggers a navigation event and
1116
- * there's a separate `page.waitForNavigation()` promise to be resolved, you
1117
- * may end up with a race condition that yields unexpected results. The
1118
- * correct pattern for click and wait for navigation is the following:
1119
- *
1120
- * ```ts
1121
- * const [response] = await Promise.all([
1122
- * page.waitForNavigation(waitOptions),
1123
- * page.click(selector, clickOptions),
1124
- * ]);
1125
- * ```
1126
- *
1127
- * Shortcut for {@link Frame.click | page.mainFrame().click(selector[, options]) }.
1128
- * @param selector -
1129
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1130
- * to query the page for.
1131
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1132
- * can be passed as-is and a
1133
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1134
- * allows querying by
1135
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1136
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1137
- * and
1138
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1139
- * and
1140
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1141
- * Alternatively, you can specify the selector type using a
1142
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}. If there are
1143
- * multiple elements satisfying the `selector`, the first will be clicked
1144
- * @param options - `Object`
1145
- * @returns Promise which resolves when the element matching `selector` is
1146
- * successfully clicked. The Promise will be rejected if there is no element
1147
- * matching `selector`.
1148
- */
1149
- click(selector, options) {
1150
- return this.mainFrame().click(selector, options);
1151
- }
1152
- /**
1153
- * This method fetches an element with `selector` and focuses it. If
1154
- * there's no element matching `selector`, the method throws an error.
1155
- * @param selector -
1156
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1157
- * to query the page for.
1158
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1159
- * can be passed as-is and a
1160
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1161
- * allows querying by
1162
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1163
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1164
- * and
1165
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1166
- * and
1167
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1168
- * Alternatively, you can specify the selector type using a
1169
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
1170
- * If there are multiple elements satisfying the selector, the first
1171
- * will be focused.
1172
- * @returns Promise which resolves when the element matching selector
1173
- * is successfully focused. The promise will be rejected if there is
1174
- * no element matching selector.
1175
- *
1176
- * @remarks
1177
- *
1178
- * Shortcut for
1179
- * {@link Frame.focus | page.mainFrame().focus(selector)}.
1180
- */
1181
- focus(selector) {
1182
- return this.mainFrame().focus(selector);
1183
- }
1184
- /**
1185
- * This method fetches an element with `selector`, scrolls it into view if
1186
- * needed, and then uses {@link Page.mouse}
1187
- * to hover over the center of the element.
1188
- * If there's no element matching `selector`, the method throws an error.
1189
- * @param selector -
1190
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1191
- * to query the page for.
1192
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1193
- * can be passed as-is and a
1194
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1195
- * allows querying by
1196
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1197
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1198
- * and
1199
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1200
- * and
1201
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1202
- * Alternatively, you can specify the selector type using a
1203
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}. If there are
1204
- * multiple elements satisfying the `selector`, the first will be hovered.
1205
- * @returns Promise which resolves when the element matching `selector` is
1206
- * successfully hovered. Promise gets rejected if there's no element matching
1207
- * `selector`.
1208
- *
1209
- * @remarks
1210
- *
1211
- * Shortcut for {@link Page.hover | page.mainFrame().hover(selector)}.
1212
- */
1213
- hover(selector) {
1214
- return this.mainFrame().hover(selector);
1215
- }
1216
- /**
1217
- * Triggers a `change` and `input` event once all the provided options have been
1218
- * selected. If there's no `<select>` element matching `selector`, the method
1219
- * throws an error.
1220
- *
1221
- * @example
1222
- *
1223
- * ```ts
1224
- * page.select('select#colors', 'blue'); // single selection
1225
- * page.select('select#colors', 'red', 'green', 'blue'); // multiple selections
1226
- * ```
1227
- *
1228
- * @param selector -
1229
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1230
- * to query the page for.
1231
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1232
- * can be passed as-is and a
1233
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1234
- * allows querying by
1235
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1236
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1237
- * and
1238
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1239
- * and
1240
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1241
- * Alternatively, you can specify the selector type using a
1242
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
1243
- * @param values - Values of options to select. If the `<select>` has the
1244
- * `multiple` attribute, all values are considered, otherwise only the first one
1245
- * is taken into account.
1246
- * @returns
1247
- *
1248
- * @remarks
1249
- *
1250
- * Shortcut for {@link Frame.select | page.mainFrame().select()}
1251
- */
1252
- select(selector, ...values) {
1253
- return this.mainFrame().select(selector, ...values);
1254
- }
1255
- /**
1256
- * This method fetches an element with `selector`, scrolls it into view if
1257
- * needed, and then uses {@link Page.touchscreen}
1258
- * to tap in the center of the element.
1259
- * If there's no element matching `selector`, the method throws an error.
1260
- * @param selector -
1261
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1262
- * to query the page for.
1263
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1264
- * can be passed as-is and a
1265
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1266
- * allows querying by
1267
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1268
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1269
- * and
1270
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1271
- * and
1272
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1273
- * Alternatively, you can specify the selector type using a
1274
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}. If there are multiple elements satisfying the
1275
- * selector, the first will be tapped.
1276
- *
1277
- * @remarks
1278
- *
1279
- * Shortcut for {@link Frame.tap | page.mainFrame().tap(selector)}.
1280
- */
1281
- tap(selector) {
1282
- return this.mainFrame().tap(selector);
1283
- }
1284
- /**
1285
- * Sends a `keydown`, `keypress/input`, and `keyup` event for each character
1286
- * in the text.
1287
- *
1288
- * To press a special key, like `Control` or `ArrowDown`, use {@link Keyboard.press}.
1289
- * @example
1290
- *
1291
- * ```ts
1292
- * await page.type('#mytextarea', 'Hello');
1293
- * // Types instantly
1294
- * await page.type('#mytextarea', 'World', {delay: 100});
1295
- * // Types slower, like a user
1296
- * ```
1297
- *
1298
- * @param selector -
1299
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1300
- * to query the page for.
1301
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1302
- * can be passed as-is and a
1303
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1304
- * allows querying by
1305
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1306
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1307
- * and
1308
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1309
- * and
1310
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1311
- * Alternatively, you can specify the selector type using a
1312
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
1313
- * @param text - A text to type into a focused element.
1314
- * @param options - have property `delay` which is the Time to wait between
1315
- * key presses in milliseconds. Defaults to `0`.
1316
- * @returns
1317
- */
1318
- type(selector, text, options) {
1319
- return this.mainFrame().type(selector, text, options);
1320
- }
1321
- /**
1322
- * Wait for the `selector` to appear in page. If at the moment of calling the
1323
- * method the `selector` already exists, the method will return immediately. If
1324
- * the `selector` doesn't appear after the `timeout` milliseconds of waiting, the
1325
- * function will throw.
1326
- *
1327
- * @example
1328
- * This method works across navigations:
1329
- *
1330
- * ```ts
1331
- * import puppeteer from 'puppeteer';
1332
- *
1333
- * const browser = await puppeteer.launch();
1334
- * const page = await browser.newPage();
1335
- * let currentURL;
1336
- * page
1337
- * .waitForSelector('img')
1338
- * .then(() => console.log('First URL with image: ' + currentURL));
1339
- * for (currentURL of [
1340
- * 'https://example.com',
1341
- * 'https://google.com',
1342
- * 'https://bbc.com',
1343
- * ]) {
1344
- * await page.goto(currentURL);
1345
- * }
1346
- * await browser.close();
1347
- * ```
1348
- *
1349
- * @param selector -
1350
- * {@link https://pptr.dev/guides/page-interactions#selectors | selector}
1351
- * to query the page for.
1352
- * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
1353
- * can be passed as-is and a
1354
- * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
1355
- * allows querying by
1356
- * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
1357
- * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
1358
- * and
1359
- * {@link https://pptr.dev/guides/page-interactions#xpath-selectors--p-xpath | xpath}
1360
- * and
1361
- * {@link https://pptr.dev/guides/page-interactions#querying-elements-in-shadow-dom | combining these queries across shadow roots}.
1362
- * Alternatively, you can specify the selector type using a
1363
- * {@link https://pptr.dev/guides/page-interactions#prefixed-selector-syntax | prefix}.
1364
- * @param options - Optional waiting parameters
1365
- * @returns Promise which resolves when element specified by selector string
1366
- * is added to DOM. Resolves to `null` if waiting for hidden: `true` and
1367
- * selector is not found in DOM.
1368
- *
1369
- * @remarks
1370
- * The optional Parameter in Arguments `options` are:
1371
- *
1372
- * - `visible`: A boolean wait for element to be present in DOM and to be
1373
- * visible, i.e. to not have `display: none` or `visibility: hidden` CSS
1374
- * properties. Defaults to `false`.
1375
- *
1376
- * - `hidden`: Wait for element to not be found in the DOM or to be hidden,
1377
- * i.e. have `display: none` or `visibility: hidden` CSS properties. Defaults to
1378
- * `false`.
1379
- *
1380
- * - `timeout`: maximum time to wait for in milliseconds. Defaults to `30000`
1381
- * (30 seconds). Pass `0` to disable timeout. The default value can be changed
1382
- * by using the {@link Page.setDefaultTimeout} method.
1383
- *
1384
- * - `signal`: A signal object that allows you to cancel a waitForSelector call.
1385
- */
1386
- async waitForSelector(selector, options = {}) {
1387
- return await this.mainFrame().waitForSelector(selector, options);
1388
- }
1389
- /**
1390
- * Waits for the provided function, `pageFunction`, to return a truthy value when
1391
- * evaluated in the page's context.
1392
- *
1393
- * @example
1394
- * {@link Page.waitForFunction} can be used to observe a viewport size change:
1395
- *
1396
- * ```ts
1397
- * import puppeteer from 'puppeteer';
1398
- *
1399
- * const browser = await puppeteer.launch();
1400
- * const page = await browser.newPage();
1401
- * const watchDog = page.waitForFunction('window.innerWidth < 100');
1402
- * await page.setViewport({width: 50, height: 50});
1403
- * await watchDog;
1404
- * await browser.close();
1405
- * ```
1406
- *
1407
- * @example
1408
- * Arguments can be passed from Node.js to `pageFunction`:
1409
- *
1410
- * ```ts
1411
- * const selector = '.foo';
1412
- * await page.waitForFunction(
1413
- * selector => !!document.querySelector(selector),
1414
- * {},
1415
- * selector,
1416
- * );
1417
- * ```
1418
- *
1419
- * @example
1420
- * The provided `pageFunction` can be asynchronous:
1421
- *
1422
- * ```ts
1423
- * const username = 'github-username';
1424
- * await page.waitForFunction(
1425
- * async username => {
1426
- * const githubResponse = await fetch(
1427
- * `https://api.github.com/users/${username}`,
1428
- * );
1429
- * const githubUser = await githubResponse.json();
1430
- * // show the avatar
1431
- * const img = document.createElement('img');
1432
- * img.src = githubUser.avatar_url;
1433
- * // wait 3 seconds
1434
- * await new Promise((resolve, reject) => setTimeout(resolve, 3000));
1435
- * img.remove();
1436
- * },
1437
- * {},
1438
- * username,
1439
- * );
1440
- * ```
1441
- *
1442
- * @param pageFunction - Function to be evaluated in browser context until it returns a
1443
- * truthy value.
1444
- * @param options - Options for configuring waiting behavior.
1445
- */
1446
- waitForFunction(pageFunction, options, ...args) {
1447
- return this.mainFrame().waitForFunction(pageFunction, options, ...args);
1448
- }
1449
- /** @internal */
1450
- [(_screenshot_decorators = [guarded(function () {
1451
- return this.browser();
1452
- })], disposeSymbol)]() {
1453
- return void this.close().catch(debugError);
1454
- }
1455
- /** @internal */
1456
- [asyncDisposeSymbol]() {
1457
- return this.close();
1458
- }
1459
- };
1460
- })();
1461
- export { Page };
1462
- /**
1463
- * @internal
1464
- */
1465
- export const supportedMetrics = new Set([
1466
- 'Timestamp',
1467
- 'Documents',
1468
- 'Frames',
1469
- 'JSEventListeners',
1470
- 'Nodes',
1471
- 'LayoutCount',
1472
- 'RecalcStyleCount',
1473
- 'LayoutDuration',
1474
- 'RecalcStyleDuration',
1475
- 'ScriptDuration',
1476
- 'TaskDuration',
1477
- 'JSHeapUsedSize',
1478
- 'JSHeapTotalSize',
1479
- ]);
1480
- /** @see https://w3c.github.io/webdriver-bidi/#normalize-rect */
1481
- function normalizeRectangle(clip) {
1482
- return {
1483
- ...clip,
1484
- ...(clip.width < 0
1485
- ? {
1486
- x: clip.x + clip.width,
1487
- width: -clip.width,
1488
- }
1489
- : {
1490
- x: clip.x,
1491
- width: clip.width,
1492
- }),
1493
- ...(clip.height < 0
1494
- ? {
1495
- y: clip.y + clip.height,
1496
- height: -clip.height,
1497
- }
1498
- : {
1499
- y: clip.y,
1500
- height: clip.height,
1501
- }),
1502
- };
1503
- }
1504
- function roundRectangle(clip) {
1505
- const x = Math.round(clip.x);
1506
- const y = Math.round(clip.y);
1507
- const width = Math.round(clip.width + clip.x - x);
1508
- const height = Math.round(clip.height + clip.y - y);
1509
- return { ...clip, x, y, width, height };
1510
- }
1511
- //# sourceMappingURL=Page.js.map