@browsermation/browser-engine 0.0.12 → 0.0.16

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 (513) hide show
  1. package/dist/node_modules/playwright/LICENSE +202 -0
  2. package/dist/node_modules/playwright/NOTICE +5 -0
  3. package/dist/node_modules/playwright/README.md +168 -0
  4. package/dist/node_modules/playwright/ThirdPartyNotices.txt +6197 -0
  5. package/dist/node_modules/playwright/cli.js +19 -0
  6. package/dist/node_modules/playwright/index.d.ts +17 -0
  7. package/dist/node_modules/playwright/index.js +17 -0
  8. package/dist/node_modules/playwright/index.mjs +18 -0
  9. package/dist/node_modules/playwright/jsx-runtime.js +42 -0
  10. package/dist/node_modules/playwright/jsx-runtime.mjs +21 -0
  11. package/dist/node_modules/playwright/lib/agents/copilot-setup-steps.yml +34 -0
  12. package/dist/node_modules/playwright/lib/agents/generateAgents.js +395 -0
  13. package/dist/node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md +31 -0
  14. package/dist/node_modules/playwright/lib/agents/playwright-test-generate.prompt.md +8 -0
  15. package/dist/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +88 -0
  16. package/dist/node_modules/playwright/lib/agents/playwright-test-heal.prompt.md +6 -0
  17. package/dist/node_modules/playwright/lib/agents/playwright-test-healer.agent.md +55 -0
  18. package/dist/node_modules/playwright/lib/agents/playwright-test-plan.prompt.md +9 -0
  19. package/dist/node_modules/playwright/lib/agents/playwright-test-planner.agent.md +72 -0
  20. package/dist/node_modules/playwright/lib/common/config.js +280 -0
  21. package/dist/node_modules/playwright/lib/common/configLoader.js +344 -0
  22. package/dist/node_modules/playwright/lib/common/esmLoaderHost.js +102 -0
  23. package/dist/node_modules/playwright/lib/common/expectBundle.js +43 -0
  24. package/dist/node_modules/playwright/lib/common/expectBundleImpl.js +407 -0
  25. package/dist/node_modules/playwright/lib/common/fixtures.js +302 -0
  26. package/dist/node_modules/playwright/lib/common/globals.js +58 -0
  27. package/dist/node_modules/playwright/lib/common/ipc.js +60 -0
  28. package/dist/node_modules/playwright/lib/common/poolBuilder.js +85 -0
  29. package/dist/node_modules/playwright/lib/common/process.js +104 -0
  30. package/dist/node_modules/playwright/lib/common/suiteUtils.js +140 -0
  31. package/dist/node_modules/playwright/lib/common/test.js +321 -0
  32. package/dist/node_modules/playwright/lib/common/testLoader.js +101 -0
  33. package/dist/node_modules/playwright/lib/common/testType.js +298 -0
  34. package/dist/node_modules/playwright/lib/common/validators.js +68 -0
  35. package/dist/node_modules/playwright/lib/fsWatcher.js +67 -0
  36. package/dist/node_modules/playwright/lib/index.js +682 -0
  37. package/dist/node_modules/playwright/lib/internalsForTest.js +42 -0
  38. package/dist/node_modules/playwright/lib/isomorphic/events.js +77 -0
  39. package/dist/node_modules/playwright/lib/isomorphic/folders.js +30 -0
  40. package/dist/node_modules/playwright/lib/isomorphic/stringInternPool.js +69 -0
  41. package/dist/node_modules/playwright/lib/isomorphic/teleReceiver.js +508 -0
  42. package/dist/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +137 -0
  43. package/dist/node_modules/playwright/lib/isomorphic/testServerConnection.js +225 -0
  44. package/dist/node_modules/playwright/lib/isomorphic/testServerInterface.js +16 -0
  45. package/dist/node_modules/playwright/lib/isomorphic/testTree.js +334 -0
  46. package/dist/node_modules/playwright/lib/isomorphic/types.d.js +16 -0
  47. package/dist/node_modules/playwright/lib/loader/loaderMain.js +59 -0
  48. package/dist/node_modules/playwright/lib/matchers/expect.js +324 -0
  49. package/dist/node_modules/playwright/lib/matchers/matcherHint.js +87 -0
  50. package/dist/node_modules/playwright/lib/matchers/matchers.js +382 -0
  51. package/dist/node_modules/playwright/lib/matchers/toBeTruthy.js +73 -0
  52. package/dist/node_modules/playwright/lib/matchers/toEqual.js +99 -0
  53. package/dist/node_modules/playwright/lib/matchers/toHaveURL.js +102 -0
  54. package/dist/node_modules/playwright/lib/matchers/toMatchAriaSnapshot.js +159 -0
  55. package/dist/node_modules/playwright/lib/matchers/toMatchSnapshot.js +341 -0
  56. package/dist/node_modules/playwright/lib/matchers/toMatchText.js +99 -0
  57. package/dist/node_modules/playwright/lib/mcp/browser/actions.d.js +16 -0
  58. package/dist/node_modules/playwright/lib/mcp/browser/browserContextFactory.js +296 -0
  59. package/dist/node_modules/playwright/lib/mcp/browser/browserServerBackend.js +76 -0
  60. package/dist/node_modules/playwright/lib/mcp/browser/codegen.js +66 -0
  61. package/dist/node_modules/playwright/lib/mcp/browser/config.js +368 -0
  62. package/dist/node_modules/playwright/lib/mcp/browser/context.js +267 -0
  63. package/dist/node_modules/playwright/lib/mcp/browser/response.js +237 -0
  64. package/dist/node_modules/playwright/lib/mcp/browser/sessionLog.js +160 -0
  65. package/dist/node_modules/playwright/lib/mcp/browser/tab.js +292 -0
  66. package/dist/node_modules/playwright/lib/mcp/browser/tools/common.js +63 -0
  67. package/dist/node_modules/playwright/lib/mcp/browser/tools/console.js +44 -0
  68. package/dist/node_modules/playwright/lib/mcp/browser/tools/dialogs.js +60 -0
  69. package/dist/node_modules/playwright/lib/mcp/browser/tools/evaluate.js +69 -0
  70. package/dist/node_modules/playwright/lib/mcp/browser/tools/files.js +58 -0
  71. package/dist/node_modules/playwright/lib/mcp/browser/tools/form.js +73 -0
  72. package/dist/node_modules/playwright/lib/mcp/browser/tools/install.js +69 -0
  73. package/dist/node_modules/playwright/lib/mcp/browser/tools/keyboard.js +84 -0
  74. package/dist/node_modules/playwright/lib/mcp/browser/tools/mouse.js +107 -0
  75. package/dist/node_modules/playwright/lib/mcp/browser/tools/navigate.js +62 -0
  76. package/dist/node_modules/playwright/lib/mcp/browser/tools/network.js +54 -0
  77. package/dist/node_modules/playwright/lib/mcp/browser/tools/pdf.js +59 -0
  78. package/dist/node_modules/playwright/lib/mcp/browser/tools/runCode.js +75 -0
  79. package/dist/node_modules/playwright/lib/mcp/browser/tools/screenshot.js +106 -0
  80. package/dist/node_modules/playwright/lib/mcp/browser/tools/snapshot.js +181 -0
  81. package/dist/node_modules/playwright/lib/mcp/browser/tools/tabs.js +67 -0
  82. package/dist/node_modules/playwright/lib/mcp/browser/tools/tool.js +49 -0
  83. package/dist/node_modules/playwright/lib/mcp/browser/tools/tracing.js +74 -0
  84. package/dist/node_modules/playwright/lib/mcp/browser/tools/utils.js +89 -0
  85. package/dist/node_modules/playwright/lib/mcp/browser/tools/verify.js +153 -0
  86. package/dist/node_modules/playwright/lib/mcp/browser/tools/wait.js +63 -0
  87. package/dist/node_modules/playwright/lib/mcp/browser/tools.js +82 -0
  88. package/dist/node_modules/playwright/lib/mcp/browser/watchdog.js +44 -0
  89. package/dist/node_modules/playwright/lib/mcp/config.d.js +16 -0
  90. package/dist/node_modules/playwright/lib/mcp/extension/cdpRelay.js +351 -0
  91. package/dist/node_modules/playwright/lib/mcp/extension/extensionContextFactory.js +75 -0
  92. package/dist/node_modules/playwright/lib/mcp/extension/protocol.js +28 -0
  93. package/dist/node_modules/playwright/lib/mcp/index.js +61 -0
  94. package/dist/node_modules/playwright/lib/mcp/log.js +35 -0
  95. package/dist/node_modules/playwright/lib/mcp/program.js +116 -0
  96. package/dist/node_modules/playwright/lib/mcp/sdk/bundle.js +81 -0
  97. package/dist/node_modules/playwright/lib/mcp/sdk/exports.js +30 -0
  98. package/dist/node_modules/playwright/lib/mcp/sdk/http.js +187 -0
  99. package/dist/node_modules/playwright/lib/mcp/sdk/inProcessTransport.js +71 -0
  100. package/dist/node_modules/playwright/lib/mcp/sdk/proxyBackend.js +128 -0
  101. package/dist/node_modules/playwright/lib/mcp/sdk/server.js +198 -0
  102. package/dist/node_modules/playwright/lib/mcp/sdk/tool.js +47 -0
  103. package/dist/node_modules/playwright/lib/mcp/test/browserBackend.js +108 -0
  104. package/dist/node_modules/playwright/lib/mcp/test/generatorTools.js +122 -0
  105. package/dist/node_modules/playwright/lib/mcp/test/plannerTools.js +144 -0
  106. package/dist/node_modules/playwright/lib/mcp/test/seed.js +82 -0
  107. package/dist/node_modules/playwright/lib/mcp/test/streams.js +44 -0
  108. package/dist/node_modules/playwright/lib/mcp/test/testBackend.js +99 -0
  109. package/dist/node_modules/playwright/lib/mcp/test/testContext.js +279 -0
  110. package/dist/node_modules/playwright/lib/mcp/test/testTool.js +30 -0
  111. package/dist/node_modules/playwright/lib/mcp/test/testTools.js +106 -0
  112. package/dist/node_modules/playwright/lib/mcpBundleImpl.js +41 -0
  113. package/dist/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +198 -0
  114. package/dist/node_modules/playwright/lib/plugins/index.js +28 -0
  115. package/dist/node_modules/playwright/lib/plugins/webServerPlugin.js +237 -0
  116. package/dist/node_modules/playwright/lib/program.js +403 -0
  117. package/dist/node_modules/playwright/lib/reporters/base.js +609 -0
  118. package/dist/node_modules/playwright/lib/reporters/blob.js +135 -0
  119. package/dist/node_modules/playwright/lib/reporters/dot.js +82 -0
  120. package/dist/node_modules/playwright/lib/reporters/empty.js +32 -0
  121. package/dist/node_modules/playwright/lib/reporters/github.js +128 -0
  122. package/dist/node_modules/playwright/lib/reporters/html.js +623 -0
  123. package/dist/node_modules/playwright/lib/reporters/internalReporter.js +132 -0
  124. package/dist/node_modules/playwright/lib/reporters/json.js +254 -0
  125. package/dist/node_modules/playwright/lib/reporters/junit.js +232 -0
  126. package/dist/node_modules/playwright/lib/reporters/line.js +113 -0
  127. package/dist/node_modules/playwright/lib/reporters/list.js +231 -0
  128. package/dist/node_modules/playwright/lib/reporters/listModeReporter.js +69 -0
  129. package/dist/node_modules/playwright/lib/reporters/markdown.js +144 -0
  130. package/dist/node_modules/playwright/lib/reporters/merge.js +541 -0
  131. package/dist/node_modules/playwright/lib/reporters/multiplexer.js +104 -0
  132. package/dist/node_modules/playwright/lib/reporters/reporterV2.js +102 -0
  133. package/dist/node_modules/playwright/lib/reporters/teleEmitter.js +299 -0
  134. package/dist/node_modules/playwright/lib/reporters/versions/blobV1.js +16 -0
  135. package/dist/node_modules/playwright/lib/runner/dispatcher.js +515 -0
  136. package/dist/node_modules/playwright/lib/runner/failureTracker.js +72 -0
  137. package/dist/node_modules/playwright/lib/runner/lastRun.js +77 -0
  138. package/dist/node_modules/playwright/lib/runner/loadUtils.js +334 -0
  139. package/dist/node_modules/playwright/lib/runner/loaderHost.js +89 -0
  140. package/dist/node_modules/playwright/lib/runner/processHost.js +161 -0
  141. package/dist/node_modules/playwright/lib/runner/projectUtils.js +241 -0
  142. package/dist/node_modules/playwright/lib/runner/rebase.js +189 -0
  143. package/dist/node_modules/playwright/lib/runner/reporters.js +138 -0
  144. package/dist/node_modules/playwright/lib/runner/sigIntWatcher.js +96 -0
  145. package/dist/node_modules/playwright/lib/runner/taskRunner.js +127 -0
  146. package/dist/node_modules/playwright/lib/runner/tasks.js +410 -0
  147. package/dist/node_modules/playwright/lib/runner/testGroups.js +117 -0
  148. package/dist/node_modules/playwright/lib/runner/testRunner.js +389 -0
  149. package/dist/node_modules/playwright/lib/runner/testServer.js +269 -0
  150. package/dist/node_modules/playwright/lib/runner/uiModeReporter.js +30 -0
  151. package/dist/node_modules/playwright/lib/runner/vcs.js +72 -0
  152. package/dist/node_modules/playwright/lib/runner/watchMode.js +395 -0
  153. package/dist/node_modules/playwright/lib/runner/workerHost.js +98 -0
  154. package/dist/node_modules/playwright/lib/third_party/pirates.js +62 -0
  155. package/dist/node_modules/playwright/lib/third_party/tsconfig-loader.js +103 -0
  156. package/dist/node_modules/playwright/lib/transform/babelBundle.js +43 -0
  157. package/dist/node_modules/playwright/lib/transform/babelBundleImpl.js +461 -0
  158. package/dist/node_modules/playwright/lib/transform/compilationCache.js +272 -0
  159. package/dist/node_modules/playwright/lib/transform/esmLoader.js +104 -0
  160. package/dist/node_modules/playwright/lib/transform/portTransport.js +67 -0
  161. package/dist/node_modules/playwright/lib/transform/transform.js +293 -0
  162. package/dist/node_modules/playwright/lib/util.js +403 -0
  163. package/dist/node_modules/playwright/lib/utilsBundle.js +43 -0
  164. package/dist/node_modules/playwright/lib/utilsBundleImpl.js +100 -0
  165. package/dist/node_modules/playwright/lib/worker/fixtureRunner.js +258 -0
  166. package/dist/node_modules/playwright/lib/worker/testInfo.js +516 -0
  167. package/dist/node_modules/playwright/lib/worker/testTracing.js +345 -0
  168. package/dist/node_modules/playwright/lib/worker/timeoutManager.js +174 -0
  169. package/dist/node_modules/playwright/lib/worker/util.js +31 -0
  170. package/dist/node_modules/playwright/lib/worker/workerMain.js +529 -0
  171. package/dist/node_modules/playwright/package.json +72 -0
  172. package/dist/node_modules/playwright/test.d.ts +18 -0
  173. package/dist/node_modules/playwright/test.js +24 -0
  174. package/dist/node_modules/playwright/test.mjs +33 -0
  175. package/dist/node_modules/playwright/types/test.d.ts +10253 -0
  176. package/dist/node_modules/playwright/types/testReporter.d.ts +821 -0
  177. package/dist/node_modules/playwright-core/LICENSE +202 -0
  178. package/dist/node_modules/playwright-core/NOTICE +5 -0
  179. package/dist/node_modules/playwright-core/README.md +3 -0
  180. package/dist/node_modules/playwright-core/ThirdPartyNotices.txt +1161 -0
  181. package/dist/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
  182. package/dist/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +33 -0
  183. package/dist/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
  184. package/dist/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
  185. package/dist/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
  186. package/dist/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
  187. package/dist/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
  188. package/dist/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
  189. package/dist/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
  190. package/dist/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
  191. package/dist/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
  192. package/dist/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
  193. package/dist/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
  194. package/dist/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
  195. package/dist/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
  196. package/dist/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
  197. package/dist/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
  198. package/dist/node_modules/playwright-core/browsers.json +80 -0
  199. package/dist/node_modules/playwright-core/cli.js +18 -0
  200. package/dist/node_modules/playwright-core/index.d.ts +17 -0
  201. package/dist/node_modules/playwright-core/index.js +32 -0
  202. package/dist/node_modules/playwright-core/index.mjs +28 -0
  203. package/dist/node_modules/playwright-core/lib/androidServerImpl.js +65 -0
  204. package/dist/node_modules/playwright-core/lib/browserServerImpl.js +120 -0
  205. package/dist/node_modules/playwright-core/lib/cli/driver.js +97 -0
  206. package/dist/node_modules/playwright-core/lib/cli/program.js +590 -0
  207. package/dist/node_modules/playwright-core/lib/cli/programWithTestStub.js +74 -0
  208. package/dist/node_modules/playwright-core/lib/client/android.js +361 -0
  209. package/dist/node_modules/playwright-core/lib/client/api.js +134 -0
  210. package/dist/node_modules/playwright-core/lib/client/artifact.js +79 -0
  211. package/dist/node_modules/playwright-core/lib/client/browser.js +163 -0
  212. package/dist/node_modules/playwright-core/lib/client/browserContext.js +547 -0
  213. package/dist/node_modules/playwright-core/lib/client/browserType.js +184 -0
  214. package/dist/node_modules/playwright-core/lib/client/cdpSession.js +51 -0
  215. package/dist/node_modules/playwright-core/lib/client/channelOwner.js +194 -0
  216. package/dist/node_modules/playwright-core/lib/client/clientHelper.js +64 -0
  217. package/dist/node_modules/playwright-core/lib/client/clientInstrumentation.js +55 -0
  218. package/dist/node_modules/playwright-core/lib/client/clientStackTrace.js +69 -0
  219. package/dist/node_modules/playwright-core/lib/client/clock.js +68 -0
  220. package/dist/node_modules/playwright-core/lib/client/connection.js +314 -0
  221. package/dist/node_modules/playwright-core/lib/client/consoleMessage.js +58 -0
  222. package/dist/node_modules/playwright-core/lib/client/coverage.js +44 -0
  223. package/dist/node_modules/playwright-core/lib/client/dialog.js +56 -0
  224. package/dist/node_modules/playwright-core/lib/client/download.js +62 -0
  225. package/dist/node_modules/playwright-core/lib/client/electron.js +138 -0
  226. package/dist/node_modules/playwright-core/lib/client/elementHandle.js +281 -0
  227. package/dist/node_modules/playwright-core/lib/client/errors.js +77 -0
  228. package/dist/node_modules/playwright-core/lib/client/eventEmitter.js +314 -0
  229. package/dist/node_modules/playwright-core/lib/client/events.js +100 -0
  230. package/dist/node_modules/playwright-core/lib/client/fetch.js +369 -0
  231. package/dist/node_modules/playwright-core/lib/client/fileChooser.js +46 -0
  232. package/dist/node_modules/playwright-core/lib/client/fileUtils.js +34 -0
  233. package/dist/node_modules/playwright-core/lib/client/frame.js +408 -0
  234. package/dist/node_modules/playwright-core/lib/client/harRouter.js +87 -0
  235. package/dist/node_modules/playwright-core/lib/client/input.js +84 -0
  236. package/dist/node_modules/playwright-core/lib/client/jsHandle.js +109 -0
  237. package/dist/node_modules/playwright-core/lib/client/jsonPipe.js +39 -0
  238. package/dist/node_modules/playwright-core/lib/client/localUtils.js +60 -0
  239. package/dist/node_modules/playwright-core/lib/client/locator.js +369 -0
  240. package/dist/node_modules/playwright-core/lib/client/network.js +747 -0
  241. package/dist/node_modules/playwright-core/lib/client/page.js +718 -0
  242. package/dist/node_modules/playwright-core/lib/client/platform.js +74 -0
  243. package/dist/node_modules/playwright-core/lib/client/playwright.js +71 -0
  244. package/dist/node_modules/playwright-core/lib/client/selectors.js +55 -0
  245. package/dist/node_modules/playwright-core/lib/client/stream.js +39 -0
  246. package/dist/node_modules/playwright-core/lib/client/timeoutSettings.js +79 -0
  247. package/dist/node_modules/playwright-core/lib/client/tracing.js +119 -0
  248. package/dist/node_modules/playwright-core/lib/client/types.js +28 -0
  249. package/dist/node_modules/playwright-core/lib/client/video.js +59 -0
  250. package/dist/node_modules/playwright-core/lib/client/waiter.js +142 -0
  251. package/dist/node_modules/playwright-core/lib/client/webError.js +39 -0
  252. package/dist/node_modules/playwright-core/lib/client/webSocket.js +93 -0
  253. package/dist/node_modules/playwright-core/lib/client/worker.js +85 -0
  254. package/dist/node_modules/playwright-core/lib/client/writableStream.js +39 -0
  255. package/dist/node_modules/playwright-core/lib/generated/bindingsControllerSource.js +28 -0
  256. package/dist/node_modules/playwright-core/lib/generated/clockSource.js +28 -0
  257. package/dist/node_modules/playwright-core/lib/generated/injectedScriptSource.js +28 -0
  258. package/dist/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +28 -0
  259. package/dist/node_modules/playwright-core/lib/generated/storageScriptSource.js +28 -0
  260. package/dist/node_modules/playwright-core/lib/generated/utilityScriptSource.js +28 -0
  261. package/dist/node_modules/playwright-core/lib/generated/webSocketMockSource.js +336 -0
  262. package/dist/node_modules/playwright-core/lib/inProcessFactory.js +60 -0
  263. package/dist/node_modules/playwright-core/lib/inprocess.js +3 -0
  264. package/dist/node_modules/playwright-core/lib/outofprocess.js +76 -0
  265. package/dist/node_modules/playwright-core/lib/protocol/serializers.js +192 -0
  266. package/dist/node_modules/playwright-core/lib/protocol/validator.js +2890 -0
  267. package/dist/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +193 -0
  268. package/dist/node_modules/playwright-core/lib/remote/playwrightConnection.js +129 -0
  269. package/dist/node_modules/playwright-core/lib/remote/playwrightServer.js +335 -0
  270. package/dist/node_modules/playwright-core/lib/server/android/android.js +465 -0
  271. package/dist/node_modules/playwright-core/lib/server/android/backendAdb.js +177 -0
  272. package/dist/node_modules/playwright-core/lib/server/artifact.js +127 -0
  273. package/dist/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +505 -0
  274. package/dist/node_modules/playwright-core/lib/server/bidi/bidiChromium.js +153 -0
  275. package/dist/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +212 -0
  276. package/dist/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +221 -0
  277. package/dist/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +130 -0
  278. package/dist/node_modules/playwright-core/lib/server/bidi/bidiInput.js +146 -0
  279. package/dist/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +383 -0
  280. package/dist/node_modules/playwright-core/lib/server/bidi/bidiOverCdp.js +102 -0
  281. package/dist/node_modules/playwright-core/lib/server/bidi/bidiPage.js +572 -0
  282. package/dist/node_modules/playwright-core/lib/server/bidi/bidiPdf.js +106 -0
  283. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  284. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
  285. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  286. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  287. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
  288. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  289. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  290. package/dist/node_modules/playwright-core/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  291. package/dist/node_modules/playwright-core/lib/server/browser.js +149 -0
  292. package/dist/node_modules/playwright-core/lib/server/browserContext.js +695 -0
  293. package/dist/node_modules/playwright-core/lib/server/browserType.js +328 -0
  294. package/dist/node_modules/playwright-core/lib/server/callLog.js +82 -0
  295. package/dist/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  296. package/dist/node_modules/playwright-core/lib/server/chromium/chromium.js +402 -0
  297. package/dist/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +104 -0
  298. package/dist/node_modules/playwright-core/lib/server/chromium/crBrowser.js +510 -0
  299. package/dist/node_modules/playwright-core/lib/server/chromium/crConnection.js +202 -0
  300. package/dist/node_modules/playwright-core/lib/server/chromium/crCoverage.js +235 -0
  301. package/dist/node_modules/playwright-core/lib/server/chromium/crDevTools.js +113 -0
  302. package/dist/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +131 -0
  303. package/dist/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +146 -0
  304. package/dist/node_modules/playwright-core/lib/server/chromium/crInput.js +187 -0
  305. package/dist/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +666 -0
  306. package/dist/node_modules/playwright-core/lib/server/chromium/crPage.js +1069 -0
  307. package/dist/node_modules/playwright-core/lib/server/chromium/crPdf.js +121 -0
  308. package/dist/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +145 -0
  309. package/dist/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +136 -0
  310. package/dist/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +162 -0
  311. package/dist/node_modules/playwright-core/lib/server/chromium/protocol.d.js +16 -0
  312. package/dist/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +115 -0
  313. package/dist/node_modules/playwright-core/lib/server/clock.js +149 -0
  314. package/dist/node_modules/playwright-core/lib/server/codegen/csharp.js +327 -0
  315. package/dist/node_modules/playwright-core/lib/server/codegen/java.js +274 -0
  316. package/dist/node_modules/playwright-core/lib/server/codegen/javascript.js +270 -0
  317. package/dist/node_modules/playwright-core/lib/server/codegen/jsonl.js +52 -0
  318. package/dist/node_modules/playwright-core/lib/server/codegen/language.js +132 -0
  319. package/dist/node_modules/playwright-core/lib/server/codegen/languages.js +68 -0
  320. package/dist/node_modules/playwright-core/lib/server/codegen/python.js +279 -0
  321. package/dist/node_modules/playwright-core/lib/server/codegen/types.js +16 -0
  322. package/dist/node_modules/playwright-core/lib/server/console.js +57 -0
  323. package/dist/node_modules/playwright-core/lib/server/cookieStore.js +206 -0
  324. package/dist/node_modules/playwright-core/lib/server/debugController.js +191 -0
  325. package/dist/node_modules/playwright-core/lib/server/debugger.js +119 -0
  326. package/dist/node_modules/playwright-core/lib/server/deviceDescriptors.js +39 -0
  327. package/dist/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +1779 -0
  328. package/dist/node_modules/playwright-core/lib/server/dialog.js +116 -0
  329. package/dist/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +325 -0
  330. package/dist/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +118 -0
  331. package/dist/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +381 -0
  332. package/dist/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +118 -0
  333. package/dist/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  334. package/dist/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  335. package/dist/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  336. package/dist/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +47 -0
  337. package/dist/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +371 -0
  338. package/dist/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +89 -0
  339. package/dist/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  340. package/dist/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +227 -0
  341. package/dist/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  342. package/dist/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  343. package/dist/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  344. package/dist/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +213 -0
  345. package/dist/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +389 -0
  346. package/dist/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  347. package/dist/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +67 -0
  348. package/dist/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +68 -0
  349. package/dist/node_modules/playwright-core/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  350. package/dist/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  351. package/dist/node_modules/playwright-core/lib/server/dom.js +806 -0
  352. package/dist/node_modules/playwright-core/lib/server/download.js +70 -0
  353. package/dist/node_modules/playwright-core/lib/server/electron/electron.js +270 -0
  354. package/dist/node_modules/playwright-core/lib/server/electron/loader.js +29 -0
  355. package/dist/node_modules/playwright-core/lib/server/errors.js +69 -0
  356. package/dist/node_modules/playwright-core/lib/server/fetch.js +621 -0
  357. package/dist/node_modules/playwright-core/lib/server/fileChooser.js +43 -0
  358. package/dist/node_modules/playwright-core/lib/server/fileUploadUtils.js +84 -0
  359. package/dist/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +428 -0
  360. package/dist/node_modules/playwright-core/lib/server/firefox/ffConnection.js +147 -0
  361. package/dist/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +150 -0
  362. package/dist/node_modules/playwright-core/lib/server/firefox/ffInput.js +159 -0
  363. package/dist/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +256 -0
  364. package/dist/node_modules/playwright-core/lib/server/firefox/ffPage.js +500 -0
  365. package/dist/node_modules/playwright-core/lib/server/firefox/firefox.js +116 -0
  366. package/dist/node_modules/playwright-core/lib/server/firefox/protocol.d.js +16 -0
  367. package/dist/node_modules/playwright-core/lib/server/formData.js +147 -0
  368. package/dist/node_modules/playwright-core/lib/server/frameSelectors.js +154 -0
  369. package/dist/node_modules/playwright-core/lib/server/frames.js +1455 -0
  370. package/dist/node_modules/playwright-core/lib/server/har/harRecorder.js +147 -0
  371. package/dist/node_modules/playwright-core/lib/server/har/harTracer.js +607 -0
  372. package/dist/node_modules/playwright-core/lib/server/harBackend.js +157 -0
  373. package/dist/node_modules/playwright-core/lib/server/helper.js +96 -0
  374. package/dist/node_modules/playwright-core/lib/server/index.js +58 -0
  375. package/dist/node_modules/playwright-core/lib/server/input.js +277 -0
  376. package/dist/node_modules/playwright-core/lib/server/instrumentation.js +69 -0
  377. package/dist/node_modules/playwright-core/lib/server/javascript.js +291 -0
  378. package/dist/node_modules/playwright-core/lib/server/launchApp.js +128 -0
  379. package/dist/node_modules/playwright-core/lib/server/localUtils.js +214 -0
  380. package/dist/node_modules/playwright-core/lib/server/macEditingCommands.js +143 -0
  381. package/dist/node_modules/playwright-core/lib/server/network.js +629 -0
  382. package/dist/node_modules/playwright-core/lib/server/page.js +886 -0
  383. package/dist/node_modules/playwright-core/lib/server/pipeTransport.js +89 -0
  384. package/dist/node_modules/playwright-core/lib/server/playwright.js +69 -0
  385. package/dist/node_modules/playwright-core/lib/server/progress.js +112 -0
  386. package/dist/node_modules/playwright-core/lib/server/protocolError.js +52 -0
  387. package/dist/node_modules/playwright-core/lib/server/recorder/chat.js +161 -0
  388. package/dist/node_modules/playwright-core/lib/server/recorder/recorderApp.js +387 -0
  389. package/dist/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +138 -0
  390. package/dist/node_modules/playwright-core/lib/server/recorder/recorderSignalProcessor.js +83 -0
  391. package/dist/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +157 -0
  392. package/dist/node_modules/playwright-core/lib/server/recorder/throttledFile.js +57 -0
  393. package/dist/node_modules/playwright-core/lib/server/recorder.js +499 -0
  394. package/dist/node_modules/playwright-core/lib/server/registry/browserFetcher.js +175 -0
  395. package/dist/node_modules/playwright-core/lib/server/registry/dependencies.js +371 -0
  396. package/dist/node_modules/playwright-core/lib/server/registry/index.js +1399 -0
  397. package/dist/node_modules/playwright-core/lib/server/registry/nativeDeps.js +1280 -0
  398. package/dist/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +124 -0
  399. package/dist/node_modules/playwright-core/lib/server/screenshotter.js +333 -0
  400. package/dist/node_modules/playwright-core/lib/server/selectors.js +112 -0
  401. package/dist/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +383 -0
  402. package/dist/node_modules/playwright-core/lib/server/socksInterceptor.js +95 -0
  403. package/dist/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +147 -0
  404. package/dist/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +541 -0
  405. package/dist/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +604 -0
  406. package/dist/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +87 -0
  407. package/dist/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +241 -0
  408. package/dist/node_modules/playwright-core/lib/server/transport.js +181 -0
  409. package/dist/node_modules/playwright-core/lib/server/types.js +28 -0
  410. package/dist/node_modules/playwright-core/lib/server/usKeyboardLayout.js +145 -0
  411. package/dist/node_modules/playwright-core/lib/server/utils/ascii.js +44 -0
  412. package/dist/node_modules/playwright-core/lib/server/utils/comparators.js +139 -0
  413. package/dist/node_modules/playwright-core/lib/server/utils/crypto.js +216 -0
  414. package/dist/node_modules/playwright-core/lib/server/utils/debug.js +42 -0
  415. package/dist/node_modules/playwright-core/lib/server/utils/debugLogger.js +122 -0
  416. package/dist/node_modules/playwright-core/lib/server/utils/env.js +73 -0
  417. package/dist/node_modules/playwright-core/lib/server/utils/eventsHelper.js +39 -0
  418. package/dist/node_modules/playwright-core/lib/server/utils/expectUtils.js +38 -0
  419. package/dist/node_modules/playwright-core/lib/server/utils/fileUtils.js +191 -0
  420. package/dist/node_modules/playwright-core/lib/server/utils/happyEyeballs.js +207 -0
  421. package/dist/node_modules/playwright-core/lib/server/utils/hostPlatform.js +123 -0
  422. package/dist/node_modules/playwright-core/lib/server/utils/httpServer.js +218 -0
  423. package/dist/node_modules/playwright-core/lib/server/utils/imageUtils.js +141 -0
  424. package/dist/node_modules/playwright-core/lib/server/utils/image_tools/colorUtils.js +89 -0
  425. package/dist/node_modules/playwright-core/lib/server/utils/image_tools/compare.js +109 -0
  426. package/dist/node_modules/playwright-core/lib/server/utils/image_tools/imageChannel.js +78 -0
  427. package/dist/node_modules/playwright-core/lib/server/utils/image_tools/stats.js +102 -0
  428. package/dist/node_modules/playwright-core/lib/server/utils/linuxUtils.js +71 -0
  429. package/dist/node_modules/playwright-core/lib/server/utils/network.js +233 -0
  430. package/dist/node_modules/playwright-core/lib/server/utils/nodePlatform.js +148 -0
  431. package/dist/node_modules/playwright-core/lib/server/utils/pipeTransport.js +84 -0
  432. package/dist/node_modules/playwright-core/lib/server/utils/processLauncher.js +241 -0
  433. package/dist/node_modules/playwright-core/lib/server/utils/profiler.js +65 -0
  434. package/dist/node_modules/playwright-core/lib/server/utils/socksProxy.js +511 -0
  435. package/dist/node_modules/playwright-core/lib/server/utils/spawnAsync.js +41 -0
  436. package/dist/node_modules/playwright-core/lib/server/utils/task.js +51 -0
  437. package/dist/node_modules/playwright-core/lib/server/utils/userAgent.js +98 -0
  438. package/dist/node_modules/playwright-core/lib/server/utils/wsServer.js +121 -0
  439. package/dist/node_modules/playwright-core/lib/server/utils/zipFile.js +74 -0
  440. package/dist/node_modules/playwright-core/lib/server/utils/zones.js +57 -0
  441. package/dist/node_modules/playwright-core/lib/server/webkit/protocol.d.js +16 -0
  442. package/dist/node_modules/playwright-core/lib/server/webkit/webkit.js +110 -0
  443. package/dist/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +339 -0
  444. package/dist/node_modules/playwright-core/lib/server/webkit/wkConnection.js +149 -0
  445. package/dist/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +154 -0
  446. package/dist/node_modules/playwright-core/lib/server/webkit/wkInput.js +181 -0
  447. package/dist/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +169 -0
  448. package/dist/node_modules/playwright-core/lib/server/webkit/wkPage.js +1130 -0
  449. package/dist/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +83 -0
  450. package/dist/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +105 -0
  451. package/dist/node_modules/playwright-core/lib/third_party/pixelmatch.js +255 -0
  452. package/dist/node_modules/playwright-core/lib/utils/isomorphic/ariaSnapshot.js +397 -0
  453. package/dist/node_modules/playwright-core/lib/utils/isomorphic/assert.js +31 -0
  454. package/dist/node_modules/playwright-core/lib/utils/isomorphic/colors.js +72 -0
  455. package/dist/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +245 -0
  456. package/dist/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  457. package/dist/node_modules/playwright-core/lib/utils/isomorphic/headers.js +53 -0
  458. package/dist/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +689 -0
  459. package/dist/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +176 -0
  460. package/dist/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +81 -0
  461. package/dist/node_modules/playwright-core/lib/utils/isomorphic/manualPromise.js +114 -0
  462. package/dist/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +459 -0
  463. package/dist/node_modules/playwright-core/lib/utils/isomorphic/multimap.js +80 -0
  464. package/dist/node_modules/playwright-core/lib/utils/isomorphic/protocolFormatter.js +81 -0
  465. package/dist/node_modules/playwright-core/lib/utils/isomorphic/protocolMetainfo.js +322 -0
  466. package/dist/node_modules/playwright-core/lib/utils/isomorphic/rtti.js +43 -0
  467. package/dist/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +386 -0
  468. package/dist/node_modules/playwright-core/lib/utils/isomorphic/semaphore.js +54 -0
  469. package/dist/node_modules/playwright-core/lib/utils/isomorphic/stackTrace.js +158 -0
  470. package/dist/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +155 -0
  471. package/dist/node_modules/playwright-core/lib/utils/isomorphic/time.js +49 -0
  472. package/dist/node_modules/playwright-core/lib/utils/isomorphic/timeoutRunner.js +66 -0
  473. package/dist/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +58 -0
  474. package/dist/node_modules/playwright-core/lib/utils/isomorphic/types.js +16 -0
  475. package/dist/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +190 -0
  476. package/dist/node_modules/playwright-core/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  477. package/dist/node_modules/playwright-core/lib/utils.js +109 -0
  478. package/dist/node_modules/playwright-core/lib/utilsBundle.js +112 -0
  479. package/dist/node_modules/playwright-core/lib/utilsBundleImpl/index.js +218 -0
  480. package/dist/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +1066 -0
  481. package/dist/node_modules/playwright-core/lib/vite/htmlReport/index.html +84 -0
  482. package/dist/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-BoWUGj0J.js +25 -0
  483. package/dist/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
  484. package/dist/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  485. package/dist/node_modules/playwright-core/lib/vite/recorder/assets/index-DJqDAOZp.js +193 -0
  486. package/dist/node_modules/playwright-core/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
  487. package/dist/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
  488. package/dist/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
  489. package/dist/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-Bucv2d7q.js +25 -0
  490. package/dist/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BEpdCv1S.js +266 -0
  491. package/dist/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  492. package/dist/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
  493. package/dist/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  494. package/dist/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.ConWv5KN.css +1 -0
  495. package/dist/node_modules/playwright-core/lib/vite/traceViewer/index.BxQ34UMZ.js +2 -0
  496. package/dist/node_modules/playwright-core/lib/vite/traceViewer/index.C4Y3Aw8n.css +1 -0
  497. package/dist/node_modules/playwright-core/lib/vite/traceViewer/index.html +43 -0
  498. package/dist/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +16 -0
  499. package/dist/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
  500. package/dist/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +21 -0
  501. package/dist/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -0
  502. package/dist/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BWTwXl41.js +5 -0
  503. package/dist/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  504. package/dist/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +17 -0
  505. package/dist/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  506. package/dist/node_modules/playwright-core/lib/zipBundle.js +34 -0
  507. package/dist/node_modules/playwright-core/lib/zipBundleImpl.js +5 -0
  508. package/dist/node_modules/playwright-core/package.json +42 -0
  509. package/dist/node_modules/playwright-core/types/protocol.d.ts +23245 -0
  510. package/dist/node_modules/playwright-core/types/structs.d.ts +45 -0
  511. package/dist/node_modules/playwright-core/types/types.d.ts +22856 -0
  512. package/dist/server.obf.js +1 -1
  513. package/package.json +11 -12
@@ -0,0 +1,886 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var page_exports = {};
30
+ __export(page_exports, {
31
+ InitScript: () => InitScript,
32
+ Page: () => Page,
33
+ PageBinding: () => PageBinding,
34
+ Worker: () => Worker
35
+ });
36
+ module.exports = __toCommonJS(page_exports);
37
+ var import_browserContext = require("./browserContext");
38
+ var import_console = require("./console");
39
+ var import_errors = require("./errors");
40
+ var import_fileChooser = require("./fileChooser");
41
+ var frames = __toESM(require("./frames"));
42
+ var import_helper = require("./helper");
43
+ var input = __toESM(require("./input"));
44
+ var import_instrumentation = require("./instrumentation");
45
+ var js = __toESM(require("./javascript"));
46
+ var import_screenshotter = require("./screenshotter");
47
+ var import_utils = require("../utils");
48
+ var import_utils2 = require("../utils");
49
+ var import_comparators = require("./utils/comparators");
50
+ var import_debugLogger = require("./utils/debugLogger");
51
+ var import_selectorParser = require("../utils/isomorphic/selectorParser");
52
+ var import_manualPromise = require("../utils/isomorphic/manualPromise");
53
+ var import_utilityScriptSerializers = require("../utils/isomorphic/utilityScriptSerializers");
54
+ var import_callLog = require("./callLog");
55
+ var rawBindingsControllerSource = __toESM(require("../generated/bindingsControllerSource"));
56
+ class Page extends import_instrumentation.SdkObject {
57
+ constructor(delegate, browserContext) {
58
+ super(browserContext, "page");
59
+ this._closedState = "open";
60
+ this._closedPromise = new import_manualPromise.ManualPromise();
61
+ this._initializedPromise = new import_manualPromise.ManualPromise();
62
+ this._consoleMessages = [];
63
+ this._pageErrors = [];
64
+ this._crashed = false;
65
+ this.openScope = new import_utils.LongStandingScope();
66
+ this._emulatedMedia = {};
67
+ this._fileChooserInterceptedBy = /* @__PURE__ */ new Set();
68
+ this._pageBindings = /* @__PURE__ */ new Map();
69
+ this.initScripts = [];
70
+ this._workers = /* @__PURE__ */ new Map();
71
+ this.requestInterceptors = [];
72
+ this.video = null;
73
+ this._locatorHandlers = /* @__PURE__ */ new Map();
74
+ this._lastLocatorHandlerUid = 0;
75
+ this._locatorHandlerRunningCounter = 0;
76
+ this._networkRequests = [];
77
+ // Aiming at 25 fps by default - each frame is 40ms, but we give some slack with 35ms.
78
+ // When throttling for tracing, 200ms between frames, except for 10 frames around the action.
79
+ this._frameThrottler = new FrameThrottler(10, 35, 200);
80
+ this.attribution.page = this;
81
+ this.delegate = delegate;
82
+ this.browserContext = browserContext;
83
+ this.keyboard = new input.Keyboard(delegate.rawKeyboard, this);
84
+ this.mouse = new input.Mouse(delegate.rawMouse, this);
85
+ this.touchscreen = new input.Touchscreen(delegate.rawTouchscreen, this);
86
+ this.screenshotter = new import_screenshotter.Screenshotter(this);
87
+ this.frameManager = new frames.FrameManager(this);
88
+ if (delegate.pdf)
89
+ this.pdf = delegate.pdf.bind(delegate);
90
+ this.coverage = delegate.coverage ? delegate.coverage() : null;
91
+ this.isStorageStatePage = browserContext.isCreatingStorageStatePage();
92
+ }
93
+ static {
94
+ this.Events = {
95
+ Close: "close",
96
+ Crash: "crash",
97
+ Download: "download",
98
+ EmulatedSizeChanged: "emulatedsizechanged",
99
+ FileChooser: "filechooser",
100
+ FrameAttached: "frameattached",
101
+ FrameDetached: "framedetached",
102
+ InternalFrameNavigatedToNewDocument: "internalframenavigatedtonewdocument",
103
+ LocatorHandlerTriggered: "locatorhandlertriggered",
104
+ ScreencastFrame: "screencastframe",
105
+ Video: "video",
106
+ WebSocket: "websocket",
107
+ Worker: "worker"
108
+ };
109
+ }
110
+ async reportAsNew(opener, error) {
111
+ if (opener) {
112
+ const openerPageOrError = await opener.waitForInitializedOrError();
113
+ if (openerPageOrError instanceof Page && !openerPageOrError.isClosed())
114
+ this._opener = openerPageOrError;
115
+ }
116
+ this._markInitialized(error);
117
+ }
118
+ _markInitialized(error = void 0) {
119
+ if (error) {
120
+ if (this.browserContext.isClosingOrClosed())
121
+ return;
122
+ this.frameManager.createDummyMainFrameIfNeeded();
123
+ }
124
+ this._initialized = error || this;
125
+ this.emitOnContext(import_browserContext.BrowserContext.Events.Page, this);
126
+ for (const pageError of this._pageErrors)
127
+ this.emitOnContext(import_browserContext.BrowserContext.Events.PageError, pageError, this);
128
+ for (const message of this._consoleMessages)
129
+ this.emitOnContext(import_browserContext.BrowserContext.Events.Console, message);
130
+ if (this.isClosed())
131
+ this.emit(Page.Events.Close);
132
+ else
133
+ this.instrumentation.onPageOpen(this);
134
+ this._initializedPromise.resolve(this._initialized);
135
+ }
136
+ initializedOrUndefined() {
137
+ return this._initialized ? this : void 0;
138
+ }
139
+ waitForInitializedOrError() {
140
+ return this._initializedPromise;
141
+ }
142
+ emitOnContext(event, ...args) {
143
+ if (this.isStorageStatePage)
144
+ return;
145
+ this.browserContext.emit(event, ...args);
146
+ }
147
+ async resetForReuse(progress) {
148
+ await this.mainFrame().gotoImpl(progress, "about:blank", {});
149
+ this._emulatedSize = void 0;
150
+ this._emulatedMedia = {};
151
+ this._extraHTTPHeaders = void 0;
152
+ await Promise.all([
153
+ this.delegate.updateEmulatedViewportSize(),
154
+ this.delegate.updateEmulateMedia(),
155
+ this.delegate.updateExtraHTTPHeaders()
156
+ ]);
157
+ await this.delegate.resetForReuse(progress);
158
+ }
159
+ _didClose() {
160
+ this.frameManager.dispose();
161
+ this._frameThrottler.dispose();
162
+ (0, import_utils.assert)(this._closedState !== "closed", "Page closed twice");
163
+ this._closedState = "closed";
164
+ this.emit(Page.Events.Close);
165
+ this._closedPromise.resolve();
166
+ this.instrumentation.onPageClose(this);
167
+ this.openScope.close(new import_errors.TargetClosedError());
168
+ }
169
+ _didCrash() {
170
+ this.frameManager.dispose();
171
+ this._frameThrottler.dispose();
172
+ this.emit(Page.Events.Crash);
173
+ this._crashed = true;
174
+ this.instrumentation.onPageClose(this);
175
+ this.openScope.close(new Error("Page crashed"));
176
+ }
177
+ async _onFileChooserOpened(handle) {
178
+ let multiple;
179
+ try {
180
+ multiple = await handle.evaluate((element) => !!element.multiple);
181
+ } catch (e) {
182
+ return;
183
+ }
184
+ if (!this.listenerCount(Page.Events.FileChooser)) {
185
+ handle.dispose();
186
+ return;
187
+ }
188
+ const fileChooser = new import_fileChooser.FileChooser(this, handle, multiple);
189
+ this.emit(Page.Events.FileChooser, fileChooser);
190
+ }
191
+ opener() {
192
+ return this._opener;
193
+ }
194
+ mainFrame() {
195
+ return this.frameManager.mainFrame();
196
+ }
197
+ frames() {
198
+ return this.frameManager.frames();
199
+ }
200
+ async exposeBinding(progress, name, needsHandle, playwrightBinding) {
201
+ if (this._pageBindings.has(name))
202
+ throw new Error(`Function "${name}" has been already registered`);
203
+ if (this.browserContext._pageBindings.has(name))
204
+ throw new Error(`Function "${name}" has been already registered in the browser context`);
205
+ await progress.race(this.browserContext.exposePlaywrightBindingIfNeeded());
206
+ const binding = new PageBinding(name, playwrightBinding, needsHandle);
207
+ this._pageBindings.set(name, binding);
208
+ try {
209
+ await progress.race(this.delegate.addInitScript(binding.initScript));
210
+ await progress.race(this.safeNonStallingEvaluateInAllFrames(binding.initScript.source, "main"));
211
+ return binding;
212
+ } catch (error) {
213
+ this._pageBindings.delete(name);
214
+ throw error;
215
+ }
216
+ }
217
+ async removeExposedBindings(bindings) {
218
+ bindings = bindings.filter((binding) => this._pageBindings.get(binding.name) === binding);
219
+ for (const binding of bindings)
220
+ this._pageBindings.delete(binding.name);
221
+ await this.delegate.removeInitScripts(bindings.map((binding) => binding.initScript));
222
+ const cleanup = bindings.map((binding) => `{ ${binding.cleanupScript} };
223
+ `).join("");
224
+ await this.safeNonStallingEvaluateInAllFrames(cleanup, "main");
225
+ }
226
+ async setExtraHTTPHeaders(progress, headers) {
227
+ const oldHeaders = this._extraHTTPHeaders;
228
+ try {
229
+ this._extraHTTPHeaders = headers;
230
+ await progress.race(this.delegate.updateExtraHTTPHeaders());
231
+ } catch (error) {
232
+ this._extraHTTPHeaders = oldHeaders;
233
+ this.delegate.updateExtraHTTPHeaders().catch(() => {
234
+ });
235
+ throw error;
236
+ }
237
+ }
238
+ extraHTTPHeaders() {
239
+ return this._extraHTTPHeaders;
240
+ }
241
+ addNetworkRequest(request) {
242
+ this._networkRequests.push(request);
243
+ ensureArrayLimit(this._networkRequests, 100);
244
+ }
245
+ networkRequests() {
246
+ return this._networkRequests;
247
+ }
248
+ async onBindingCalled(payload, context) {
249
+ if (this._closedState === "closed")
250
+ return;
251
+ await PageBinding.dispatch(this, payload, context);
252
+ }
253
+ addConsoleMessage(worker, type, args, location, text) {
254
+ const message = new import_console.ConsoleMessage(this, worker, type, text, args, location);
255
+ const intercepted = this.frameManager.interceptConsoleMessage(message);
256
+ if (intercepted) {
257
+ args.forEach((arg) => arg.dispose());
258
+ return;
259
+ }
260
+ this._consoleMessages.push(message);
261
+ ensureArrayLimit(this._consoleMessages, 200);
262
+ if (this._initialized)
263
+ this.emitOnContext(import_browserContext.BrowserContext.Events.Console, message);
264
+ }
265
+ consoleMessages() {
266
+ return this._consoleMessages;
267
+ }
268
+ addPageError(pageError) {
269
+ this._pageErrors.push(pageError);
270
+ ensureArrayLimit(this._pageErrors, 200);
271
+ if (this._initialized)
272
+ this.emitOnContext(import_browserContext.BrowserContext.Events.PageError, pageError, this);
273
+ }
274
+ pageErrors() {
275
+ return this._pageErrors;
276
+ }
277
+ async reload(progress, options) {
278
+ return this.mainFrame().raceNavigationAction(progress, async () => {
279
+ const [response] = await Promise.all([
280
+ // Reload must be a new document, and should not be confused with a stray pushState.
281
+ this.mainFrame()._waitForNavigation(progress, true, options),
282
+ progress.race(this.delegate.reload())
283
+ ]);
284
+ return response;
285
+ });
286
+ }
287
+ async goBack(progress, options) {
288
+ return this.mainFrame().raceNavigationAction(progress, async () => {
289
+ let error;
290
+ const waitPromise = this.mainFrame()._waitForNavigation(progress, false, options).catch((e) => {
291
+ error = e;
292
+ return null;
293
+ });
294
+ const result = await progress.race(this.delegate.goBack());
295
+ if (!result) {
296
+ waitPromise.catch(() => {
297
+ });
298
+ return null;
299
+ }
300
+ const response = await waitPromise;
301
+ if (error)
302
+ throw error;
303
+ return response;
304
+ });
305
+ }
306
+ async goForward(progress, options) {
307
+ return this.mainFrame().raceNavigationAction(progress, async () => {
308
+ let error;
309
+ const waitPromise = this.mainFrame()._waitForNavigation(progress, false, options).catch((e) => {
310
+ error = e;
311
+ return null;
312
+ });
313
+ const result = await progress.race(this.delegate.goForward());
314
+ if (!result) {
315
+ waitPromise.catch(() => {
316
+ });
317
+ return null;
318
+ }
319
+ const response = await waitPromise;
320
+ if (error)
321
+ throw error;
322
+ return response;
323
+ });
324
+ }
325
+ requestGC() {
326
+ return this.delegate.requestGC();
327
+ }
328
+ registerLocatorHandler(selector, noWaitAfter) {
329
+ const uid = ++this._lastLocatorHandlerUid;
330
+ this._locatorHandlers.set(uid, { selector, noWaitAfter });
331
+ return uid;
332
+ }
333
+ resolveLocatorHandler(uid, remove) {
334
+ const handler = this._locatorHandlers.get(uid);
335
+ if (remove)
336
+ this._locatorHandlers.delete(uid);
337
+ if (handler) {
338
+ handler.resolved?.resolve();
339
+ handler.resolved = void 0;
340
+ }
341
+ }
342
+ unregisterLocatorHandler(uid) {
343
+ this._locatorHandlers.delete(uid);
344
+ }
345
+ async performActionPreChecks(progress) {
346
+ await this._performWaitForNavigationCheck(progress);
347
+ await this._performLocatorHandlersCheckpoint(progress);
348
+ await this._performWaitForNavigationCheck(progress);
349
+ }
350
+ async _performWaitForNavigationCheck(progress) {
351
+ if (process.env.PLAYWRIGHT_SKIP_NAVIGATION_CHECK)
352
+ return;
353
+ const mainFrame = this.frameManager.mainFrame();
354
+ if (!mainFrame || !mainFrame.pendingDocument())
355
+ return;
356
+ const url = mainFrame.pendingDocument()?.request?.url();
357
+ const toUrl = url ? `" ${(0, import_utils.trimStringWithEllipsis)(url, 200)}"` : "";
358
+ progress.log(` waiting for${toUrl} navigation to finish...`);
359
+ await import_helper.helper.waitForEvent(progress, mainFrame, frames.Frame.Events.InternalNavigation, (e) => {
360
+ if (!e.isPublic)
361
+ return false;
362
+ if (!e.error)
363
+ progress.log(` navigated to "${(0, import_utils.trimStringWithEllipsis)(mainFrame.url(), 200)}"`);
364
+ return true;
365
+ }).promise;
366
+ }
367
+ async _performLocatorHandlersCheckpoint(progress) {
368
+ if (this._locatorHandlerRunningCounter)
369
+ return;
370
+ for (const [uid, handler] of this._locatorHandlers) {
371
+ if (!handler.resolved) {
372
+ if (await this.mainFrame().isVisibleInternal(progress, handler.selector, { strict: true })) {
373
+ handler.resolved = new import_manualPromise.ManualPromise();
374
+ this.emit(Page.Events.LocatorHandlerTriggered, uid);
375
+ }
376
+ }
377
+ if (handler.resolved) {
378
+ ++this._locatorHandlerRunningCounter;
379
+ progress.log(` found ${(0, import_utils2.asLocator)(this.browserContext._browser.sdkLanguage(), handler.selector)}, intercepting action to run the handler`);
380
+ const promise = handler.resolved.then(async () => {
381
+ if (!handler.noWaitAfter) {
382
+ progress.log(` locator handler has finished, waiting for ${(0, import_utils2.asLocator)(this.browserContext._browser.sdkLanguage(), handler.selector)} to be hidden`);
383
+ await this.mainFrame().waitForSelector(progress, handler.selector, false, { state: "hidden" });
384
+ } else {
385
+ progress.log(` locator handler has finished`);
386
+ }
387
+ });
388
+ await progress.race(this.openScope.race(promise)).finally(() => --this._locatorHandlerRunningCounter);
389
+ progress.log(` interception handler has finished, continuing`);
390
+ }
391
+ }
392
+ }
393
+ async emulateMedia(progress, options) {
394
+ const oldEmulatedMedia = { ...this._emulatedMedia };
395
+ if (options.media !== void 0)
396
+ this._emulatedMedia.media = options.media;
397
+ if (options.colorScheme !== void 0)
398
+ this._emulatedMedia.colorScheme = options.colorScheme;
399
+ if (options.reducedMotion !== void 0)
400
+ this._emulatedMedia.reducedMotion = options.reducedMotion;
401
+ if (options.forcedColors !== void 0)
402
+ this._emulatedMedia.forcedColors = options.forcedColors;
403
+ if (options.contrast !== void 0)
404
+ this._emulatedMedia.contrast = options.contrast;
405
+ try {
406
+ await progress.race(this.delegate.updateEmulateMedia());
407
+ } catch (error) {
408
+ this._emulatedMedia = oldEmulatedMedia;
409
+ this.delegate.updateEmulateMedia().catch(() => {
410
+ });
411
+ throw error;
412
+ }
413
+ }
414
+ emulatedMedia() {
415
+ const contextOptions = this.browserContext._options;
416
+ return {
417
+ media: this._emulatedMedia.media || "no-override",
418
+ colorScheme: this._emulatedMedia.colorScheme !== void 0 ? this._emulatedMedia.colorScheme : contextOptions.colorScheme ?? "light",
419
+ reducedMotion: this._emulatedMedia.reducedMotion !== void 0 ? this._emulatedMedia.reducedMotion : contextOptions.reducedMotion ?? "no-preference",
420
+ forcedColors: this._emulatedMedia.forcedColors !== void 0 ? this._emulatedMedia.forcedColors : contextOptions.forcedColors ?? "none",
421
+ contrast: this._emulatedMedia.contrast !== void 0 ? this._emulatedMedia.contrast : contextOptions.contrast ?? "no-preference"
422
+ };
423
+ }
424
+ async setViewportSize(progress, viewportSize) {
425
+ const oldEmulatedSize = this._emulatedSize;
426
+ try {
427
+ this._setEmulatedSize({ viewport: { ...viewportSize }, screen: { ...viewportSize } });
428
+ await progress.race(this.delegate.updateEmulatedViewportSize());
429
+ } catch (error) {
430
+ this._emulatedSize = oldEmulatedSize;
431
+ this.delegate.updateEmulatedViewportSize().catch(() => {
432
+ });
433
+ throw error;
434
+ }
435
+ }
436
+ setEmulatedSizeFromWindowOpen(emulatedSize) {
437
+ this._setEmulatedSize(emulatedSize);
438
+ }
439
+ _setEmulatedSize(emulatedSize) {
440
+ this._emulatedSize = emulatedSize;
441
+ this.emit(Page.Events.EmulatedSizeChanged);
442
+ }
443
+ emulatedSize() {
444
+ if (this._emulatedSize)
445
+ return this._emulatedSize;
446
+ const contextOptions = this.browserContext._options;
447
+ return contextOptions.viewport ? { viewport: contextOptions.viewport, screen: contextOptions.screen || contextOptions.viewport } : void 0;
448
+ }
449
+ async bringToFront() {
450
+ await this.delegate.bringToFront();
451
+ }
452
+ async addInitScript(progress, source) {
453
+ const initScript = new InitScript(source);
454
+ this.initScripts.push(initScript);
455
+ try {
456
+ await progress.race(this.delegate.addInitScript(initScript));
457
+ } catch (error) {
458
+ this.removeInitScripts([initScript]).catch(() => {
459
+ });
460
+ throw error;
461
+ }
462
+ return initScript;
463
+ }
464
+ async removeInitScripts(initScripts) {
465
+ const set = new Set(initScripts);
466
+ this.initScripts = this.initScripts.filter((script) => !set.has(script));
467
+ await this.delegate.removeInitScripts(initScripts);
468
+ }
469
+ needsRequestInterception() {
470
+ return this.requestInterceptors.length > 0 || this.browserContext.requestInterceptors.length > 0;
471
+ }
472
+ async addRequestInterceptor(progress, handler, prepend) {
473
+ if (prepend)
474
+ this.requestInterceptors.unshift(handler);
475
+ else
476
+ this.requestInterceptors.push(handler);
477
+ await this.delegate.updateRequestInterception();
478
+ }
479
+ async removeRequestInterceptor(handler) {
480
+ const index = this.requestInterceptors.indexOf(handler);
481
+ if (index === -1)
482
+ return;
483
+ this.requestInterceptors.splice(index, 1);
484
+ await this.browserContext.notifyRoutesInFlightAboutRemovedHandler(handler);
485
+ await this.delegate.updateRequestInterception();
486
+ }
487
+ async expectScreenshot(progress, options) {
488
+ const locator = options.locator;
489
+ const rafrafScreenshot = locator ? async (timeout) => {
490
+ return await locator.frame.rafrafTimeoutScreenshotElementWithProgress(progress, locator.selector, timeout, options || {});
491
+ } : async (timeout) => {
492
+ await this.performActionPreChecks(progress);
493
+ await this.mainFrame().rafrafTimeout(progress, timeout);
494
+ return await this.screenshotter.screenshotPage(progress, options || {});
495
+ };
496
+ const comparator = (0, import_comparators.getComparator)("image/png");
497
+ if (!options.expected && options.isNot)
498
+ return { errorMessage: '"not" matcher requires expected result' };
499
+ try {
500
+ const format = (0, import_screenshotter.validateScreenshotOptions)(options || {});
501
+ if (format !== "png")
502
+ throw new Error("Only PNG screenshots are supported");
503
+ } catch (error) {
504
+ return { errorMessage: error.message };
505
+ }
506
+ let intermediateResult;
507
+ const areEqualScreenshots = (actual, expected, previous) => {
508
+ const comparatorResult = actual && expected ? comparator(actual, expected, options) : void 0;
509
+ if (comparatorResult !== void 0 && !!comparatorResult === !!options.isNot)
510
+ return true;
511
+ if (comparatorResult)
512
+ intermediateResult = { errorMessage: comparatorResult.errorMessage, diff: comparatorResult.diff, actual, previous };
513
+ return false;
514
+ };
515
+ try {
516
+ let actual;
517
+ let previous;
518
+ const pollIntervals = [0, 100, 250, 500];
519
+ progress.log(`${(0, import_utils.renderTitleForCall)(progress.metadata)}${options.timeout ? ` with timeout ${options.timeout}ms` : ""}`);
520
+ if (options.expected)
521
+ progress.log(` verifying given screenshot expectation`);
522
+ else
523
+ progress.log(` generating new stable screenshot expectation`);
524
+ let isFirstIteration = true;
525
+ while (true) {
526
+ if (this.isClosed())
527
+ throw new Error("The page has closed");
528
+ const screenshotTimeout = pollIntervals.shift() ?? 1e3;
529
+ if (screenshotTimeout)
530
+ progress.log(`waiting ${screenshotTimeout}ms before taking screenshot`);
531
+ previous = actual;
532
+ actual = await rafrafScreenshot(screenshotTimeout).catch((e) => {
533
+ if (this.mainFrame().isNonRetriableError(e))
534
+ throw e;
535
+ progress.log(`failed to take screenshot - ` + e.message);
536
+ return void 0;
537
+ });
538
+ if (!actual)
539
+ continue;
540
+ const expectation = options.expected && isFirstIteration ? options.expected : previous;
541
+ if (areEqualScreenshots(actual, expectation, previous))
542
+ break;
543
+ if (intermediateResult)
544
+ progress.log(intermediateResult.errorMessage);
545
+ isFirstIteration = false;
546
+ }
547
+ if (!isFirstIteration)
548
+ progress.log(`captured a stable screenshot`);
549
+ if (!options.expected)
550
+ return { actual };
551
+ if (isFirstIteration) {
552
+ progress.log(`screenshot matched expectation`);
553
+ return {};
554
+ }
555
+ if (areEqualScreenshots(actual, options.expected, void 0)) {
556
+ progress.log(`screenshot matched expectation`);
557
+ return {};
558
+ }
559
+ throw new Error(intermediateResult.errorMessage);
560
+ } catch (e) {
561
+ if (js.isJavaScriptErrorInEvaluate(e) || (0, import_selectorParser.isInvalidSelectorError)(e))
562
+ throw e;
563
+ let errorMessage = e.message;
564
+ if (e instanceof import_errors.TimeoutError && intermediateResult?.previous)
565
+ errorMessage = `Failed to take two consecutive stable screenshots.`;
566
+ return {
567
+ log: (0, import_callLog.compressCallLog)(e.message ? [...progress.metadata.log, e.message] : progress.metadata.log),
568
+ ...intermediateResult,
569
+ errorMessage,
570
+ timedOut: e instanceof import_errors.TimeoutError
571
+ };
572
+ }
573
+ }
574
+ async screenshot(progress, options) {
575
+ return await this.screenshotter.screenshotPage(progress, options);
576
+ }
577
+ async close(options = {}) {
578
+ if (this._closedState === "closed")
579
+ return;
580
+ if (options.reason)
581
+ this.closeReason = options.reason;
582
+ const runBeforeUnload = !!options.runBeforeUnload;
583
+ if (this._closedState !== "closing") {
584
+ if (!runBeforeUnload)
585
+ this._closedState = "closing";
586
+ await this.delegate.closePage(runBeforeUnload).catch((e) => import_debugLogger.debugLogger.log("error", e));
587
+ }
588
+ if (!runBeforeUnload)
589
+ await this._closedPromise;
590
+ }
591
+ isClosed() {
592
+ return this._closedState === "closed";
593
+ }
594
+ hasCrashed() {
595
+ return this._crashed;
596
+ }
597
+ isClosedOrClosingOrCrashed() {
598
+ return this._closedState !== "open" || this._crashed;
599
+ }
600
+ addWorker(workerId, worker) {
601
+ this._workers.set(workerId, worker);
602
+ this.emit(Page.Events.Worker, worker);
603
+ }
604
+ removeWorker(workerId) {
605
+ const worker = this._workers.get(workerId);
606
+ if (!worker)
607
+ return;
608
+ worker.didClose();
609
+ this._workers.delete(workerId);
610
+ }
611
+ clearWorkers() {
612
+ for (const [workerId, worker] of this._workers) {
613
+ worker.didClose();
614
+ this._workers.delete(workerId);
615
+ }
616
+ }
617
+ async setFileChooserInterceptedBy(enabled, by) {
618
+ const wasIntercepted = this.fileChooserIntercepted();
619
+ if (enabled)
620
+ this._fileChooserInterceptedBy.add(by);
621
+ else
622
+ this._fileChooserInterceptedBy.delete(by);
623
+ if (wasIntercepted !== this.fileChooserIntercepted())
624
+ await this.delegate.updateFileChooserInterception();
625
+ }
626
+ fileChooserIntercepted() {
627
+ return this._fileChooserInterceptedBy.size > 0;
628
+ }
629
+ frameNavigatedToNewDocument(frame) {
630
+ this.emit(Page.Events.InternalFrameNavigatedToNewDocument, frame);
631
+ const origin = frame.origin();
632
+ if (origin)
633
+ this.browserContext.addVisitedOrigin(origin);
634
+ }
635
+ allInitScripts() {
636
+ const bindings = [...this.browserContext._pageBindings.values(), ...this._pageBindings.values()].map((binding) => binding.initScript);
637
+ if (this.browserContext.bindingsInitScript)
638
+ bindings.unshift(this.browserContext.bindingsInitScript);
639
+ return [...bindings, ...this.browserContext.initScripts, ...this.initScripts];
640
+ }
641
+ getBinding(name) {
642
+ return this._pageBindings.get(name) || this.browserContext._pageBindings.get(name);
643
+ }
644
+ setScreencastOptions(options) {
645
+ this.delegate.setScreencastOptions(options).catch((e) => import_debugLogger.debugLogger.log("error", e));
646
+ this._frameThrottler.setThrottlingEnabled(!!options);
647
+ }
648
+ throttleScreencastFrameAck(ack) {
649
+ this._frameThrottler.ack(ack);
650
+ }
651
+ temporarilyDisableTracingScreencastThrottling() {
652
+ this._frameThrottler.recharge();
653
+ }
654
+ async safeNonStallingEvaluateInAllFrames(expression, world, options = {}) {
655
+ await Promise.all(this.frames().map(async (frame) => {
656
+ try {
657
+ await frame.nonStallingEvaluateInExistingContext(expression, world);
658
+ } catch (e) {
659
+ if (options.throwOnJSErrors && js.isJavaScriptErrorInEvaluate(e))
660
+ throw e;
661
+ }
662
+ }));
663
+ }
664
+ async hideHighlight() {
665
+ await Promise.all(this.frames().map((frame) => frame.hideHighlight().catch(() => {
666
+ })));
667
+ }
668
+ async snapshotForAI(progress, options) {
669
+ const snapshot = await snapshotFrameForAI(progress, this.mainFrame(), options);
670
+ return { full: snapshot.full.join("\n"), incremental: snapshot.incremental?.join("\n") };
671
+ }
672
+ }
673
+ class Worker extends import_instrumentation.SdkObject {
674
+ constructor(parent, url) {
675
+ super(parent, "worker");
676
+ this._executionContextPromise = new import_manualPromise.ManualPromise();
677
+ this._workerScriptLoaded = false;
678
+ this.existingExecutionContext = null;
679
+ this.openScope = new import_utils.LongStandingScope();
680
+ this.url = url;
681
+ }
682
+ static {
683
+ this.Events = {
684
+ Close: "close"
685
+ };
686
+ }
687
+ createExecutionContext(delegate) {
688
+ this.existingExecutionContext = new js.ExecutionContext(this, delegate, "worker");
689
+ if (this._workerScriptLoaded)
690
+ this._executionContextPromise.resolve(this.existingExecutionContext);
691
+ return this.existingExecutionContext;
692
+ }
693
+ workerScriptLoaded() {
694
+ this._workerScriptLoaded = true;
695
+ if (this.existingExecutionContext)
696
+ this._executionContextPromise.resolve(this.existingExecutionContext);
697
+ }
698
+ didClose() {
699
+ if (this.existingExecutionContext)
700
+ this.existingExecutionContext.contextDestroyed("Worker was closed");
701
+ this.emit(Worker.Events.Close, this);
702
+ this.openScope.close(new Error("Worker closed"));
703
+ }
704
+ async evaluateExpression(expression, isFunction, arg) {
705
+ return js.evaluateExpression(await this._executionContextPromise, expression, { returnByValue: true, isFunction }, arg);
706
+ }
707
+ async evaluateExpressionHandle(expression, isFunction, arg) {
708
+ return js.evaluateExpression(await this._executionContextPromise, expression, { returnByValue: false, isFunction }, arg);
709
+ }
710
+ }
711
+ class PageBinding {
712
+ static {
713
+ this.kController = "__playwright__binding__controller__";
714
+ }
715
+ static {
716
+ this.kBindingName = "__playwright__binding__";
717
+ }
718
+ static createInitScript() {
719
+ return new InitScript(`
720
+ (() => {
721
+ const module = {};
722
+ ${rawBindingsControllerSource.source}
723
+ const property = '${PageBinding.kController}';
724
+ if (!globalThis[property])
725
+ globalThis[property] = new (module.exports.BindingsController())(globalThis, '${PageBinding.kBindingName}');
726
+ })();
727
+ `);
728
+ }
729
+ constructor(name, playwrightFunction, needsHandle) {
730
+ this.name = name;
731
+ this.playwrightFunction = playwrightFunction;
732
+ this.initScript = new InitScript(`globalThis['${PageBinding.kController}'].addBinding(${JSON.stringify(name)}, ${needsHandle})`);
733
+ this.needsHandle = needsHandle;
734
+ this.cleanupScript = `globalThis['${PageBinding.kController}'].removeBinding(${JSON.stringify(name)})`;
735
+ }
736
+ static async dispatch(page, payload, context) {
737
+ const { name, seq, serializedArgs } = JSON.parse(payload);
738
+ try {
739
+ (0, import_utils.assert)(context.world);
740
+ const binding = page.getBinding(name);
741
+ if (!binding)
742
+ throw new Error(`Function "${name}" is not exposed`);
743
+ let result;
744
+ if (binding.needsHandle) {
745
+ const handle = await context.evaluateExpressionHandle(`arg => globalThis['${PageBinding.kController}'].takeBindingHandle(arg)`, { isFunction: true }, { name, seq }).catch((e) => null);
746
+ result = await binding.playwrightFunction({ frame: context.frame, page, context: page.browserContext }, handle);
747
+ } else {
748
+ if (!Array.isArray(serializedArgs))
749
+ throw new Error(`serializedArgs is not an array. This can happen when Array.prototype.toJSON is defined incorrectly`);
750
+ const args = serializedArgs.map((a) => (0, import_utilityScriptSerializers.parseEvaluationResultValue)(a));
751
+ result = await binding.playwrightFunction({ frame: context.frame, page, context: page.browserContext }, ...args);
752
+ }
753
+ context.evaluateExpressionHandle(`arg => globalThis['${PageBinding.kController}'].deliverBindingResult(arg)`, { isFunction: true }, { name, seq, result }).catch((e) => import_debugLogger.debugLogger.log("error", e));
754
+ } catch (error) {
755
+ context.evaluateExpressionHandle(`arg => globalThis['${PageBinding.kController}'].deliverBindingResult(arg)`, { isFunction: true }, { name, seq, error }).catch((e) => import_debugLogger.debugLogger.log("error", e));
756
+ }
757
+ }
758
+ }
759
+ class InitScript {
760
+ constructor(source) {
761
+ this.source = `(() => {
762
+ ${source}
763
+ })();`;
764
+ }
765
+ }
766
+ class FrameThrottler {
767
+ constructor(nonThrottledFrames, defaultInterval, throttlingInterval) {
768
+ this._acks = [];
769
+ this._throttlingEnabled = false;
770
+ this._nonThrottledFrames = nonThrottledFrames;
771
+ this._budget = nonThrottledFrames;
772
+ this._defaultInterval = defaultInterval;
773
+ this._throttlingInterval = throttlingInterval;
774
+ this._tick();
775
+ }
776
+ dispose() {
777
+ if (this._timeoutId) {
778
+ clearTimeout(this._timeoutId);
779
+ this._timeoutId = void 0;
780
+ }
781
+ }
782
+ setThrottlingEnabled(enabled) {
783
+ this._throttlingEnabled = enabled;
784
+ }
785
+ recharge() {
786
+ for (const ack of this._acks)
787
+ ack();
788
+ this._acks = [];
789
+ this._budget = this._nonThrottledFrames;
790
+ if (this._timeoutId) {
791
+ clearTimeout(this._timeoutId);
792
+ this._tick();
793
+ }
794
+ }
795
+ ack(ack) {
796
+ if (!this._timeoutId) {
797
+ ack();
798
+ return;
799
+ }
800
+ this._acks.push(ack);
801
+ }
802
+ _tick() {
803
+ const ack = this._acks.shift();
804
+ if (ack) {
805
+ --this._budget;
806
+ ack();
807
+ }
808
+ if (this._throttlingEnabled && this._budget <= 0) {
809
+ this._timeoutId = setTimeout(() => this._tick(), this._throttlingInterval);
810
+ } else {
811
+ this._timeoutId = setTimeout(() => this._tick(), this._defaultInterval);
812
+ }
813
+ }
814
+ }
815
+ async function snapshotFrameForAI(progress, frame, options) {
816
+ const snapshot = await frame.retryWithProgressAndTimeouts(progress, [1e3, 2e3, 4e3, 8e3], async (continuePolling) => {
817
+ try {
818
+ const context = await progress.race(frame._utilityContext());
819
+ const injectedScript = await progress.race(context.injectedScript());
820
+ const snapshotOrRetry = await progress.race(injectedScript.evaluate((injected, options2) => {
821
+ const node = injected.document.body;
822
+ if (!node)
823
+ return true;
824
+ return injected.incrementalAriaSnapshot(node, { mode: "ai", ...options2 });
825
+ }, { refPrefix: frame.seq ? "f" + frame.seq : "", track: options.track }));
826
+ if (snapshotOrRetry === true)
827
+ return continuePolling;
828
+ return snapshotOrRetry;
829
+ } catch (e) {
830
+ if (frame.isNonRetriableError(e))
831
+ throw e;
832
+ return continuePolling;
833
+ }
834
+ });
835
+ const childSnapshotPromises = snapshot.iframeRefs.map((ref) => snapshotFrameRefForAI(progress, frame, ref, options));
836
+ const childSnapshots = await Promise.all(childSnapshotPromises);
837
+ const full = [];
838
+ let incremental;
839
+ if (snapshot.incremental !== void 0) {
840
+ incremental = snapshot.incremental.split("\n");
841
+ for (let i = 0; i < snapshot.iframeRefs.length; i++) {
842
+ const childSnapshot = childSnapshots[i];
843
+ if (childSnapshot.incremental)
844
+ incremental.push(...childSnapshot.incremental);
845
+ else if (childSnapshot.full.length)
846
+ incremental.push("- <changed> iframe [ref=" + snapshot.iframeRefs[i] + "]:", ...childSnapshot.full.map((l) => " " + l));
847
+ }
848
+ }
849
+ for (const line of snapshot.full.split("\n")) {
850
+ const match = line.match(/^(\s*)- iframe (?:\[active\] )?\[ref=([^\]]*)\]/);
851
+ if (!match) {
852
+ full.push(line);
853
+ continue;
854
+ }
855
+ const leadingSpace = match[1];
856
+ const ref = match[2];
857
+ const childSnapshot = childSnapshots[snapshot.iframeRefs.indexOf(ref)] ?? { full: [] };
858
+ full.push(childSnapshot.full.length ? line + ":" : line);
859
+ full.push(...childSnapshot.full.map((l) => leadingSpace + " " + l));
860
+ }
861
+ return { full, incremental };
862
+ }
863
+ async function snapshotFrameRefForAI(progress, parentFrame, frameRef, options) {
864
+ const frameSelector = `aria-ref=${frameRef} >> internal:control=enter-frame`;
865
+ const frameBodySelector = `${frameSelector} >> body`;
866
+ const child = await progress.race(parentFrame.selectors.resolveFrameForSelector(frameBodySelector, { strict: true }));
867
+ if (!child)
868
+ return { full: [] };
869
+ try {
870
+ return await snapshotFrameForAI(progress, child.frame, options);
871
+ } catch {
872
+ return { full: [] };
873
+ }
874
+ }
875
+ function ensureArrayLimit(array, limit) {
876
+ if (array.length > limit)
877
+ return array.splice(0, limit / 10);
878
+ return [];
879
+ }
880
+ // Annotate the CommonJS export names for ESM import in node:
881
+ 0 && (module.exports = {
882
+ InitScript,
883
+ Page,
884
+ PageBinding,
885
+ Worker
886
+ });