@stablyai/internal-playwright-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +3 -0
  4. package/ThirdPartyNotices.txt +1134 -0
  5. package/bin/install_media_pack.ps1 +5 -0
  6. package/bin/install_webkit_wsl.ps1 +35 -0
  7. package/bin/reinstall_chrome_beta_linux.sh +42 -0
  8. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  9. package/bin/reinstall_chrome_beta_win.ps1 +24 -0
  10. package/bin/reinstall_chrome_stable_linux.sh +42 -0
  11. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  12. package/bin/reinstall_chrome_stable_win.ps1 +24 -0
  13. package/bin/reinstall_msedge_beta_linux.sh +48 -0
  14. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  15. package/bin/reinstall_msedge_beta_win.ps1 +23 -0
  16. package/bin/reinstall_msedge_dev_linux.sh +48 -0
  17. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  18. package/bin/reinstall_msedge_dev_win.ps1 +23 -0
  19. package/bin/reinstall_msedge_stable_linux.sh +48 -0
  20. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  21. package/bin/reinstall_msedge_stable_win.ps1 +24 -0
  22. package/browsers.json +80 -0
  23. package/cli.js +18 -0
  24. package/index.d.ts +17 -0
  25. package/index.js +32 -0
  26. package/index.mjs +28 -0
  27. package/lib/androidServerImpl.js +65 -0
  28. package/lib/browserServerImpl.js +120 -0
  29. package/lib/cli/cli.js +58 -0
  30. package/lib/cli/driver.js +97 -0
  31. package/lib/cli/program.js +634 -0
  32. package/lib/cli/programWithTestStub.js +74 -0
  33. package/lib/client/accessibility.js +49 -0
  34. package/lib/client/android.js +361 -0
  35. package/lib/client/api.js +137 -0
  36. package/lib/client/artifact.js +79 -0
  37. package/lib/client/browser.js +163 -0
  38. package/lib/client/browserContext.js +529 -0
  39. package/lib/client/browserType.js +184 -0
  40. package/lib/client/cdpSession.js +51 -0
  41. package/lib/client/channelOwner.js +194 -0
  42. package/lib/client/clientHelper.js +64 -0
  43. package/lib/client/clientInstrumentation.js +55 -0
  44. package/lib/client/clientStackTrace.js +69 -0
  45. package/lib/client/clock.js +68 -0
  46. package/lib/client/connection.js +314 -0
  47. package/lib/client/consoleMessage.js +54 -0
  48. package/lib/client/coverage.js +44 -0
  49. package/lib/client/dialog.js +56 -0
  50. package/lib/client/download.js +62 -0
  51. package/lib/client/electron.js +138 -0
  52. package/lib/client/elementHandle.js +281 -0
  53. package/lib/client/errors.js +77 -0
  54. package/lib/client/eventEmitter.js +314 -0
  55. package/lib/client/events.js +99 -0
  56. package/lib/client/fetch.js +369 -0
  57. package/lib/client/fileChooser.js +46 -0
  58. package/lib/client/fileUtils.js +34 -0
  59. package/lib/client/frame.js +408 -0
  60. package/lib/client/harRouter.js +87 -0
  61. package/lib/client/input.js +84 -0
  62. package/lib/client/jsHandle.js +109 -0
  63. package/lib/client/jsonPipe.js +39 -0
  64. package/lib/client/localUtils.js +60 -0
  65. package/lib/client/locator.js +368 -0
  66. package/lib/client/network.js +747 -0
  67. package/lib/client/page.js +721 -0
  68. package/lib/client/platform.js +74 -0
  69. package/lib/client/playwright.js +71 -0
  70. package/lib/client/selectors.js +55 -0
  71. package/lib/client/stream.js +39 -0
  72. package/lib/client/timeoutSettings.js +79 -0
  73. package/lib/client/tracing.js +117 -0
  74. package/lib/client/types.js +28 -0
  75. package/lib/client/video.js +59 -0
  76. package/lib/client/waiter.js +142 -0
  77. package/lib/client/webError.js +39 -0
  78. package/lib/client/webSocket.js +93 -0
  79. package/lib/client/worker.js +63 -0
  80. package/lib/client/writableStream.js +39 -0
  81. package/lib/common/debugLogger.js +90 -0
  82. package/lib/common/socksProxy.js +569 -0
  83. package/lib/common/timeoutSettings.js +73 -0
  84. package/lib/common/types.js +5 -0
  85. package/lib/generated/bindingsControllerSource.js +28 -0
  86. package/lib/generated/clockSource.js +28 -0
  87. package/lib/generated/consoleApiSource.js +28 -0
  88. package/lib/generated/injectedScriptSource.js +28 -0
  89. package/lib/generated/pollingRecorderSource.js +28 -0
  90. package/lib/generated/recorderSource.js +28 -0
  91. package/lib/generated/storageScriptSource.js +28 -0
  92. package/lib/generated/utilityScriptSource.js +28 -0
  93. package/lib/generated/webSocketMockSource.js +336 -0
  94. package/lib/image_tools/colorUtils.js +98 -0
  95. package/lib/image_tools/compare.js +108 -0
  96. package/lib/image_tools/imageChannel.js +70 -0
  97. package/lib/image_tools/stats.js +102 -0
  98. package/lib/inProcessFactory.js +60 -0
  99. package/lib/index.js +19 -0
  100. package/lib/inprocess.js +3 -0
  101. package/lib/outofprocess.js +76 -0
  102. package/lib/protocol/debug.js +27 -0
  103. package/lib/protocol/serializers.js +192 -0
  104. package/lib/protocol/transport.js +82 -0
  105. package/lib/protocol/validator.js +2919 -0
  106. package/lib/protocol/validatorPrimitives.js +193 -0
  107. package/lib/remote/playwrightConnection.js +129 -0
  108. package/lib/remote/playwrightServer.js +335 -0
  109. package/lib/server/accessibility.js +69 -0
  110. package/lib/server/android/android.js +465 -0
  111. package/lib/server/android/backendAdb.js +177 -0
  112. package/lib/server/artifact.js +127 -0
  113. package/lib/server/bidi/bidiBrowser.js +490 -0
  114. package/lib/server/bidi/bidiChromium.js +153 -0
  115. package/lib/server/bidi/bidiConnection.js +212 -0
  116. package/lib/server/bidi/bidiExecutionContext.js +221 -0
  117. package/lib/server/bidi/bidiFirefox.js +130 -0
  118. package/lib/server/bidi/bidiInput.js +146 -0
  119. package/lib/server/bidi/bidiNetworkManager.js +383 -0
  120. package/lib/server/bidi/bidiOverCdp.js +102 -0
  121. package/lib/server/bidi/bidiPage.js +552 -0
  122. package/lib/server/bidi/bidiPdf.js +106 -0
  123. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  124. package/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
  125. package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  126. package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  127. package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
  128. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  129. package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  130. package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  131. package/lib/server/browser.js +149 -0
  132. package/lib/server/browserContext.js +695 -0
  133. package/lib/server/browserType.js +328 -0
  134. package/lib/server/callLog.js +82 -0
  135. package/lib/server/chromium/appIcon.png +0 -0
  136. package/lib/server/chromium/chromium.js +402 -0
  137. package/lib/server/chromium/chromiumSwitches.js +95 -0
  138. package/lib/server/chromium/crAccessibility.js +263 -0
  139. package/lib/server/chromium/crBrowser.js +501 -0
  140. package/lib/server/chromium/crConnection.js +202 -0
  141. package/lib/server/chromium/crCoverage.js +235 -0
  142. package/lib/server/chromium/crDevTools.js +113 -0
  143. package/lib/server/chromium/crDragDrop.js +131 -0
  144. package/lib/server/chromium/crExecutionContext.js +146 -0
  145. package/lib/server/chromium/crInput.js +187 -0
  146. package/lib/server/chromium/crNetworkManager.js +666 -0
  147. package/lib/server/chromium/crPage.js +1069 -0
  148. package/lib/server/chromium/crPdf.js +121 -0
  149. package/lib/server/chromium/crProtocolHelper.js +145 -0
  150. package/lib/server/chromium/crServiceWorker.js +123 -0
  151. package/lib/server/chromium/defaultFontFamilies.js +162 -0
  152. package/lib/server/chromium/protocol.d.js +16 -0
  153. package/lib/server/chromium/videoRecorder.js +113 -0
  154. package/lib/server/clock.js +149 -0
  155. package/lib/server/codegen/csharp.js +327 -0
  156. package/lib/server/codegen/java.js +274 -0
  157. package/lib/server/codegen/javascript.js +270 -0
  158. package/lib/server/codegen/jsonl.js +52 -0
  159. package/lib/server/codegen/language.js +132 -0
  160. package/lib/server/codegen/languages.js +68 -0
  161. package/lib/server/codegen/python.js +279 -0
  162. package/lib/server/codegen/types.js +16 -0
  163. package/lib/server/console.js +53 -0
  164. package/lib/server/cookieStore.js +206 -0
  165. package/lib/server/debugController.js +191 -0
  166. package/lib/server/debugger.js +119 -0
  167. package/lib/server/deviceDescriptors.js +39 -0
  168. package/lib/server/deviceDescriptorsSource.json +1779 -0
  169. package/lib/server/dialog.js +116 -0
  170. package/lib/server/dispatchers/androidDispatcher.js +325 -0
  171. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  172. package/lib/server/dispatchers/browserContextDispatcher.js +364 -0
  173. package/lib/server/dispatchers/browserDispatcher.js +118 -0
  174. package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  175. package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  176. package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  177. package/lib/server/dispatchers/dialogDispatcher.js +47 -0
  178. package/lib/server/dispatchers/dispatcher.js +371 -0
  179. package/lib/server/dispatchers/electronDispatcher.js +89 -0
  180. package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  181. package/lib/server/dispatchers/frameDispatcher.js +227 -0
  182. package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  183. package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  184. package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  185. package/lib/server/dispatchers/networkDispatchers.js +213 -0
  186. package/lib/server/dispatchers/pageDispatcher.js +401 -0
  187. package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  188. package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
  189. package/lib/server/dispatchers/streamDispatcher.js +67 -0
  190. package/lib/server/dispatchers/tracingDispatcher.js +68 -0
  191. package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  192. package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  193. package/lib/server/dom.js +806 -0
  194. package/lib/server/download.js +70 -0
  195. package/lib/server/electron/electron.js +270 -0
  196. package/lib/server/electron/loader.js +29 -0
  197. package/lib/server/errors.js +69 -0
  198. package/lib/server/fetch.js +621 -0
  199. package/lib/server/fileChooser.js +43 -0
  200. package/lib/server/fileUploadUtils.js +84 -0
  201. package/lib/server/firefox/ffAccessibility.js +238 -0
  202. package/lib/server/firefox/ffBrowser.js +428 -0
  203. package/lib/server/firefox/ffConnection.js +147 -0
  204. package/lib/server/firefox/ffExecutionContext.js +150 -0
  205. package/lib/server/firefox/ffInput.js +159 -0
  206. package/lib/server/firefox/ffNetworkManager.js +256 -0
  207. package/lib/server/firefox/ffPage.js +503 -0
  208. package/lib/server/firefox/firefox.js +116 -0
  209. package/lib/server/firefox/protocol.d.js +16 -0
  210. package/lib/server/formData.js +147 -0
  211. package/lib/server/frameSelectors.js +156 -0
  212. package/lib/server/frames.js +1502 -0
  213. package/lib/server/har/harRecorder.js +147 -0
  214. package/lib/server/har/harTracer.js +607 -0
  215. package/lib/server/harBackend.js +157 -0
  216. package/lib/server/helper.js +96 -0
  217. package/lib/server/index.js +58 -0
  218. package/lib/server/input.js +273 -0
  219. package/lib/server/instrumentation.js +69 -0
  220. package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
  221. package/lib/server/javascript.js +291 -0
  222. package/lib/server/launchApp.js +128 -0
  223. package/lib/server/localUtils.js +218 -0
  224. package/lib/server/macEditingCommands.js +143 -0
  225. package/lib/server/network.js +629 -0
  226. package/lib/server/page.js +871 -0
  227. package/lib/server/pipeTransport.js +89 -0
  228. package/lib/server/playwright.js +69 -0
  229. package/lib/server/progress.js +112 -0
  230. package/lib/server/protocolError.js +52 -0
  231. package/lib/server/recorder/chat.js +161 -0
  232. package/lib/server/recorder/codeGenerator.js +153 -0
  233. package/lib/server/recorder/csharp.js +310 -0
  234. package/lib/server/recorder/java.js +248 -0
  235. package/lib/server/recorder/javascript.js +229 -0
  236. package/lib/server/recorder/jsonl.js +47 -0
  237. package/lib/server/recorder/language.js +44 -0
  238. package/lib/server/recorder/python.js +276 -0
  239. package/lib/server/recorder/recorderActions.js +5 -0
  240. package/lib/server/recorder/recorderApp.js +387 -0
  241. package/lib/server/recorder/recorderRunner.js +138 -0
  242. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  243. package/lib/server/recorder/recorderUtils.js +157 -0
  244. package/lib/server/recorder/throttledFile.js +57 -0
  245. package/lib/server/recorder/utils.js +45 -0
  246. package/lib/server/recorder.js +499 -0
  247. package/lib/server/registry/browserFetcher.js +175 -0
  248. package/lib/server/registry/dependencies.js +371 -0
  249. package/lib/server/registry/index.js +1331 -0
  250. package/lib/server/registry/nativeDeps.js +1280 -0
  251. package/lib/server/registry/oopDownloadBrowserMain.js +120 -0
  252. package/lib/server/screenshotter.js +333 -0
  253. package/lib/server/selectors.js +112 -0
  254. package/lib/server/socksClientCertificatesInterceptor.js +383 -0
  255. package/lib/server/socksInterceptor.js +95 -0
  256. package/lib/server/stably/ai-tools/http-request.js +70 -0
  257. package/lib/server/stably/ai-tools/stablyApiCaller.js +137 -0
  258. package/lib/server/stably/autohealing/elementHandleFromCoordinates.js +64 -0
  259. package/lib/server/stably/autohealing/healingService.js +228 -0
  260. package/lib/server/stably/autohealing/screenshotFrame.js +41 -0
  261. package/lib/server/stably/constants.js +31 -0
  262. package/lib/server/trace/recorder/snapshotter.js +147 -0
  263. package/lib/server/trace/recorder/snapshotterInjected.js +541 -0
  264. package/lib/server/trace/recorder/tracing.js +602 -0
  265. package/lib/server/trace/test/inMemorySnapshotter.js +87 -0
  266. package/lib/server/trace/viewer/traceViewer.js +240 -0
  267. package/lib/server/transport.js +181 -0
  268. package/lib/server/types.js +28 -0
  269. package/lib/server/usKeyboardLayout.js +145 -0
  270. package/lib/server/utils/ascii.js +44 -0
  271. package/lib/server/utils/comparators.js +161 -0
  272. package/lib/server/utils/crypto.js +216 -0
  273. package/lib/server/utils/debug.js +42 -0
  274. package/lib/server/utils/debugLogger.js +122 -0
  275. package/lib/server/utils/env.js +73 -0
  276. package/lib/server/utils/eventsHelper.js +39 -0
  277. package/lib/server/utils/expectUtils.js +38 -0
  278. package/lib/server/utils/fileUtils.js +191 -0
  279. package/lib/server/utils/happyEyeballs.js +207 -0
  280. package/lib/server/utils/hostPlatform.js +111 -0
  281. package/lib/server/utils/httpServer.js +218 -0
  282. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  283. package/lib/server/utils/image_tools/compare.js +109 -0
  284. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  285. package/lib/server/utils/image_tools/stats.js +102 -0
  286. package/lib/server/utils/linuxUtils.js +71 -0
  287. package/lib/server/utils/network.js +233 -0
  288. package/lib/server/utils/nodePlatform.js +148 -0
  289. package/lib/server/utils/pipeTransport.js +84 -0
  290. package/lib/server/utils/processLauncher.js +241 -0
  291. package/lib/server/utils/profiler.js +65 -0
  292. package/lib/server/utils/socksProxy.js +511 -0
  293. package/lib/server/utils/spawnAsync.js +41 -0
  294. package/lib/server/utils/task.js +51 -0
  295. package/lib/server/utils/userAgent.js +98 -0
  296. package/lib/server/utils/wsServer.js +121 -0
  297. package/lib/server/utils/zipFile.js +74 -0
  298. package/lib/server/utils/zones.js +57 -0
  299. package/lib/server/webkit/protocol.d.js +16 -0
  300. package/lib/server/webkit/webkit.js +119 -0
  301. package/lib/server/webkit/wkAccessibility.js +237 -0
  302. package/lib/server/webkit/wkBrowser.js +339 -0
  303. package/lib/server/webkit/wkConnection.js +149 -0
  304. package/lib/server/webkit/wkExecutionContext.js +154 -0
  305. package/lib/server/webkit/wkInput.js +181 -0
  306. package/lib/server/webkit/wkInterceptableRequest.js +169 -0
  307. package/lib/server/webkit/wkPage.js +1134 -0
  308. package/lib/server/webkit/wkProvisionalPage.js +83 -0
  309. package/lib/server/webkit/wkWorkers.js +104 -0
  310. package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +74 -0
  311. package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +113 -0
  312. package/lib/third_party/diff_match_patch.js +2222 -0
  313. package/lib/third_party/pixelmatch.js +255 -0
  314. package/lib/utils/ascii.js +31 -0
  315. package/lib/utils/comparators.js +171 -0
  316. package/lib/utils/crypto.js +33 -0
  317. package/lib/utils/debug.js +46 -0
  318. package/lib/utils/debugLogger.js +89 -0
  319. package/lib/utils/env.js +49 -0
  320. package/lib/utils/eventsHelper.js +38 -0
  321. package/lib/utils/fileUtils.js +205 -0
  322. package/lib/utils/glob.js +83 -0
  323. package/lib/utils/happy-eyeballs.js +160 -0
  324. package/lib/utils/headers.js +52 -0
  325. package/lib/utils/hostPlatform.js +128 -0
  326. package/lib/utils/httpServer.js +236 -0
  327. package/lib/utils/index.js +346 -0
  328. package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
  329. package/lib/utils/isomorphic/assert.js +31 -0
  330. package/lib/utils/isomorphic/colors.js +72 -0
  331. package/lib/utils/isomorphic/cssParser.js +245 -0
  332. package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  333. package/lib/utils/isomorphic/headers.js +53 -0
  334. package/lib/utils/isomorphic/locatorGenerators.js +673 -0
  335. package/lib/utils/isomorphic/locatorParser.js +176 -0
  336. package/lib/utils/isomorphic/locatorUtils.js +81 -0
  337. package/lib/utils/isomorphic/manualPromise.js +114 -0
  338. package/lib/utils/isomorphic/mimeType.js +459 -0
  339. package/lib/utils/isomorphic/multimap.js +80 -0
  340. package/lib/utils/isomorphic/protocolFormatter.js +78 -0
  341. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  342. package/lib/utils/isomorphic/rtti.js +43 -0
  343. package/lib/utils/isomorphic/selectorParser.js +386 -0
  344. package/lib/utils/isomorphic/semaphore.js +54 -0
  345. package/lib/utils/isomorphic/stackTrace.js +158 -0
  346. package/lib/utils/isomorphic/stringUtils.js +155 -0
  347. package/lib/utils/isomorphic/time.js +49 -0
  348. package/lib/utils/isomorphic/timeoutRunner.js +66 -0
  349. package/lib/utils/isomorphic/traceUtils.js +58 -0
  350. package/lib/utils/isomorphic/types.js +16 -0
  351. package/lib/utils/isomorphic/urlMatch.js +176 -0
  352. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  353. package/lib/utils/linuxUtils.js +78 -0
  354. package/lib/utils/manualPromise.js +109 -0
  355. package/lib/utils/mimeType.js +29 -0
  356. package/lib/utils/multimap.js +75 -0
  357. package/lib/utils/network.js +188 -0
  358. package/lib/utils/processLauncher.js +248 -0
  359. package/lib/utils/profiler.js +53 -0
  360. package/lib/utils/rtti.js +44 -0
  361. package/lib/utils/semaphore.js +51 -0
  362. package/lib/utils/spawnAsync.js +45 -0
  363. package/lib/utils/stackTrace.js +121 -0
  364. package/lib/utils/task.js +58 -0
  365. package/lib/utils/time.js +37 -0
  366. package/lib/utils/timeoutRunner.js +66 -0
  367. package/lib/utils/traceUtils.js +44 -0
  368. package/lib/utils/userAgent.js +105 -0
  369. package/lib/utils/wsServer.js +127 -0
  370. package/lib/utils/zipFile.js +75 -0
  371. package/lib/utils/zones.js +62 -0
  372. package/lib/utils.js +107 -0
  373. package/lib/utilsBundle.js +109 -0
  374. package/lib/utilsBundleImpl/index.js +218 -0
  375. package/lib/utilsBundleImpl/xdg-open +1066 -0
  376. package/lib/vite/htmlReport/index.html +84 -0
  377. package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
  378. package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +24 -0
  379. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  380. package/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
  381. package/lib/vite/recorder/assets/index-Y-X2TGJv.js +193 -0
  382. package/lib/vite/recorder/index.html +29 -0
  383. package/lib/vite/recorder/playwright-logo.svg +9 -0
  384. package/lib/vite/traceViewer/assets/codeMirrorModule-Bhnc5o2x.js +24 -0
  385. package/lib/vite/traceViewer/assets/defaultSettingsView-ClwvkA2N.js +265 -0
  386. package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  387. package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
  388. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  389. package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +1 -0
  390. package/lib/vite/traceViewer/index.DFO9NNF5.js +2 -0
  391. package/lib/vite/traceViewer/index.I8N9v4jT.css +1 -0
  392. package/lib/vite/traceViewer/index.html +43 -0
  393. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  394. package/lib/vite/traceViewer/snapshot.html +21 -0
  395. package/lib/vite/traceViewer/sw.bundle.js +3 -0
  396. package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  397. package/lib/vite/traceViewer/uiMode.Shu3QS-1.js +5 -0
  398. package/lib/vite/traceViewer/uiMode.html +17 -0
  399. package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  400. package/lib/zipBundle.js +34 -0
  401. package/lib/zipBundleImpl.js +5 -0
  402. package/package.json +43 -0
  403. package/types/protocol.d.ts +23130 -0
  404. package/types/structs.d.ts +45 -0
  405. package/types/types.d.ts +22857 -0
@@ -0,0 +1,364 @@
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 browserContextDispatcher_exports = {};
30
+ __export(browserContextDispatcher_exports, {
31
+ BrowserContextDispatcher: () => BrowserContextDispatcher
32
+ });
33
+ module.exports = __toCommonJS(browserContextDispatcher_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
+ var import_browserContext = require("../browserContext");
37
+ var import_artifactDispatcher = require("./artifactDispatcher");
38
+ var import_cdpSessionDispatcher = require("./cdpSessionDispatcher");
39
+ var import_dialogDispatcher = require("./dialogDispatcher");
40
+ var import_dispatcher = require("./dispatcher");
41
+ var import_networkDispatchers = require("./networkDispatchers");
42
+ var import_pageDispatcher = require("./pageDispatcher");
43
+ var import_crBrowser = require("../chromium/crBrowser");
44
+ var import_errors = require("../errors");
45
+ var import_tracingDispatcher = require("./tracingDispatcher");
46
+ var import_webSocketRouteDispatcher = require("./webSocketRouteDispatcher");
47
+ var import_writableStreamDispatcher = require("./writableStreamDispatcher");
48
+ var import_crypto = require("../utils/crypto");
49
+ var import_urlMatch = require("../../utils/isomorphic/urlMatch");
50
+ var import_recorder = require("../recorder");
51
+ var import_recorderApp = require("../recorder/recorderApp");
52
+ class BrowserContextDispatcher extends import_dispatcher.Dispatcher {
53
+ constructor(parentScope, context) {
54
+ const requestContext = import_networkDispatchers.APIRequestContextDispatcher.from(parentScope, context.fetchRequest);
55
+ const tracing = import_tracingDispatcher.TracingDispatcher.from(parentScope, context.tracing);
56
+ super(parentScope, context, "BrowserContext", {
57
+ isChromium: context._browser.options.isChromium,
58
+ requestContext,
59
+ tracing,
60
+ options: context._options
61
+ });
62
+ this._type_EventTarget = true;
63
+ this._type_BrowserContext = true;
64
+ this._subscriptions = /* @__PURE__ */ new Set();
65
+ this._webSocketInterceptionPatterns = [];
66
+ this._bindings = [];
67
+ this._initScripts = [];
68
+ this._clockPaused = false;
69
+ this._interceptionUrlMatchers = [];
70
+ this.adopt(requestContext);
71
+ this.adopt(tracing);
72
+ this._requestInterceptor = (route, request) => {
73
+ const matchesSome = this._interceptionUrlMatchers.some((urlMatch) => (0, import_urlMatch.urlMatches)(this._context._options.baseURL, request.url(), urlMatch));
74
+ const routeDispatcher = this.connection.existingDispatcher(route);
75
+ if (!matchesSome || routeDispatcher) {
76
+ route.continue({ isFallback: true }).catch(() => {
77
+ });
78
+ return;
79
+ }
80
+ this._dispatchEvent("route", { route: new import_networkDispatchers.RouteDispatcher(import_networkDispatchers.RequestDispatcher.from(this, request), route) });
81
+ };
82
+ this._context = context;
83
+ const onVideo = (artifact) => {
84
+ const artifactDispatcher = import_artifactDispatcher.ArtifactDispatcher.from(parentScope, artifact);
85
+ this._dispatchEvent("video", { artifact: artifactDispatcher });
86
+ };
87
+ this.addObjectListener(import_browserContext.BrowserContext.Events.VideoStarted, onVideo);
88
+ for (const video of context._browser._idToVideo.values()) {
89
+ if (video.context === context)
90
+ onVideo(video.artifact);
91
+ }
92
+ for (const page of context.pages())
93
+ this._dispatchEvent("page", { page: import_pageDispatcher.PageDispatcher.from(this, page) });
94
+ this.addObjectListener(import_browserContext.BrowserContext.Events.Page, (page) => {
95
+ this._dispatchEvent("page", { page: import_pageDispatcher.PageDispatcher.from(this, page) });
96
+ });
97
+ this.addObjectListener(import_browserContext.BrowserContext.Events.Close, () => {
98
+ this._dispatchEvent("close");
99
+ this._dispose();
100
+ });
101
+ this.addObjectListener(import_browserContext.BrowserContext.Events.PageError, (error, page) => {
102
+ this._dispatchEvent("pageError", { error: (0, import_errors.serializeError)(error), page: import_pageDispatcher.PageDispatcher.from(this, page) });
103
+ });
104
+ this.addObjectListener(import_browserContext.BrowserContext.Events.Console, (message) => {
105
+ const page = message.page();
106
+ if (this._shouldDispatchEvent(page, "console")) {
107
+ const pageDispatcher = import_pageDispatcher.PageDispatcher.from(this, page);
108
+ this._dispatchEvent("console", {
109
+ page: pageDispatcher,
110
+ ...pageDispatcher.serializeConsoleMessage(message)
111
+ });
112
+ }
113
+ });
114
+ this._dialogHandler = (dialog) => {
115
+ if (!this._shouldDispatchEvent(dialog.page(), "dialog"))
116
+ return false;
117
+ this._dispatchEvent("dialog", { dialog: new import_dialogDispatcher.DialogDispatcher(this, dialog) });
118
+ return true;
119
+ };
120
+ context.dialogManager.addDialogHandler(this._dialogHandler);
121
+ if (context._browser.options.name === "chromium" && this._object._browser instanceof import_crBrowser.CRBrowser) {
122
+ for (const serviceWorker of context.serviceWorkers())
123
+ this._dispatchEvent("serviceWorker", { worker: new import_pageDispatcher.WorkerDispatcher(this, serviceWorker) });
124
+ this.addObjectListener(import_crBrowser.CRBrowserContext.CREvents.ServiceWorker, (serviceWorker) => this._dispatchEvent("serviceWorker", { worker: new import_pageDispatcher.WorkerDispatcher(this, serviceWorker) }));
125
+ }
126
+ this.addObjectListener(import_browserContext.BrowserContext.Events.Request, (request) => {
127
+ const redirectFromDispatcher = request.redirectedFrom() && this.connection.existingDispatcher(request.redirectedFrom());
128
+ if (!redirectFromDispatcher && !this._shouldDispatchNetworkEvent(request, "request") && !request.isNavigationRequest())
129
+ return;
130
+ const requestDispatcher = import_networkDispatchers.RequestDispatcher.from(this, request);
131
+ this._dispatchEvent("request", {
132
+ request: requestDispatcher,
133
+ page: import_pageDispatcher.PageDispatcher.fromNullable(this, request.frame()?._page.initializedOrUndefined())
134
+ });
135
+ });
136
+ this.addObjectListener(import_browserContext.BrowserContext.Events.Response, (response) => {
137
+ const requestDispatcher = this.connection.existingDispatcher(response.request());
138
+ if (!requestDispatcher && !this._shouldDispatchNetworkEvent(response.request(), "response"))
139
+ return;
140
+ this._dispatchEvent("response", {
141
+ response: import_networkDispatchers.ResponseDispatcher.from(this, response),
142
+ page: import_pageDispatcher.PageDispatcher.fromNullable(this, response.frame()?._page.initializedOrUndefined())
143
+ });
144
+ });
145
+ this.addObjectListener(import_browserContext.BrowserContext.Events.RequestFailed, (request) => {
146
+ const requestDispatcher = this.connection.existingDispatcher(request);
147
+ if (!requestDispatcher && !this._shouldDispatchNetworkEvent(request, "requestFailed"))
148
+ return;
149
+ this._dispatchEvent("requestFailed", {
150
+ request: import_networkDispatchers.RequestDispatcher.from(this, request),
151
+ failureText: request._failureText || void 0,
152
+ responseEndTiming: request._responseEndTiming,
153
+ page: import_pageDispatcher.PageDispatcher.fromNullable(this, request.frame()?._page.initializedOrUndefined())
154
+ });
155
+ });
156
+ this.addObjectListener(import_browserContext.BrowserContext.Events.RequestFinished, ({ request, response }) => {
157
+ const requestDispatcher = this.connection.existingDispatcher(request);
158
+ if (!requestDispatcher && !this._shouldDispatchNetworkEvent(request, "requestFinished"))
159
+ return;
160
+ this._dispatchEvent("requestFinished", {
161
+ request: import_networkDispatchers.RequestDispatcher.from(this, request),
162
+ response: import_networkDispatchers.ResponseDispatcher.fromNullable(this, response),
163
+ responseEndTiming: request._responseEndTiming,
164
+ page: import_pageDispatcher.PageDispatcher.fromNullable(this, request.frame()?._page.initializedOrUndefined())
165
+ });
166
+ });
167
+ this.addObjectListener(import_browserContext.BrowserContext.Events.RecorderEvent, ({ event, data, page, code }) => {
168
+ this._dispatchEvent("recorderEvent", { event, data, code, page: import_pageDispatcher.PageDispatcher.from(this, page) });
169
+ });
170
+ }
171
+ static from(parentScope, context) {
172
+ const result = parentScope.connection.existingDispatcher(context);
173
+ return result || new BrowserContextDispatcher(parentScope, context);
174
+ }
175
+ _shouldDispatchNetworkEvent(request, event) {
176
+ return this._shouldDispatchEvent(request.frame()?._page?.initializedOrUndefined(), event);
177
+ }
178
+ _shouldDispatchEvent(page, event) {
179
+ if (this._subscriptions.has(event))
180
+ return true;
181
+ const pageDispatcher = page ? this.connection.existingDispatcher(page) : void 0;
182
+ if (pageDispatcher?._subscriptions.has(event))
183
+ return true;
184
+ return false;
185
+ }
186
+ async createTempFiles(params, progress) {
187
+ const dir = this._context._browser.options.artifactsDir;
188
+ const tmpDir = import_path.default.join(dir, "upload-" + (0, import_crypto.createGuid)());
189
+ const tempDirWithRootName = params.rootDirName ? import_path.default.join(tmpDir, import_path.default.basename(params.rootDirName)) : tmpDir;
190
+ await progress.race(import_fs.default.promises.mkdir(tempDirWithRootName, { recursive: true }));
191
+ this._context._tempDirs.push(tmpDir);
192
+ return {
193
+ rootDir: params.rootDirName ? new import_writableStreamDispatcher.WritableStreamDispatcher(this, tempDirWithRootName) : void 0,
194
+ writableStreams: await Promise.all(params.items.map(async (item) => {
195
+ await progress.race(import_fs.default.promises.mkdir(import_path.default.dirname(import_path.default.join(tempDirWithRootName, item.name)), { recursive: true }));
196
+ const file = import_fs.default.createWriteStream(import_path.default.join(tempDirWithRootName, item.name));
197
+ return new import_writableStreamDispatcher.WritableStreamDispatcher(this, file, item.lastModifiedMs);
198
+ }))
199
+ };
200
+ }
201
+ async exposeBinding(params, progress) {
202
+ const binding = await this._context.exposeBinding(progress, params.name, !!params.needsHandle, (source, ...args) => {
203
+ if (this._disposed)
204
+ return;
205
+ const pageDispatcher = import_pageDispatcher.PageDispatcher.from(this, source.page);
206
+ const binding2 = new import_pageDispatcher.BindingCallDispatcher(pageDispatcher, params.name, !!params.needsHandle, source, args);
207
+ this._dispatchEvent("bindingCall", { binding: binding2 });
208
+ return binding2.promise();
209
+ });
210
+ this._bindings.push(binding);
211
+ }
212
+ async newPage(params, progress) {
213
+ return { page: import_pageDispatcher.PageDispatcher.from(this, await this._context.newPage(progress)) };
214
+ }
215
+ async cookies(params, progress) {
216
+ return { cookies: await progress.race(this._context.cookies(params.urls)) };
217
+ }
218
+ async addCookies(params, progress) {
219
+ await this._context.addCookies(params.cookies);
220
+ }
221
+ async clearCookies(params, progress) {
222
+ const nameRe = params.nameRegexSource !== void 0 && params.nameRegexFlags !== void 0 ? new RegExp(params.nameRegexSource, params.nameRegexFlags) : void 0;
223
+ const domainRe = params.domainRegexSource !== void 0 && params.domainRegexFlags !== void 0 ? new RegExp(params.domainRegexSource, params.domainRegexFlags) : void 0;
224
+ const pathRe = params.pathRegexSource !== void 0 && params.pathRegexFlags !== void 0 ? new RegExp(params.pathRegexSource, params.pathRegexFlags) : void 0;
225
+ await this._context.clearCookies({
226
+ name: nameRe || params.name,
227
+ domain: domainRe || params.domain,
228
+ path: pathRe || params.path
229
+ });
230
+ }
231
+ async grantPermissions(params, progress) {
232
+ await this._context.grantPermissions(params.permissions, params.origin);
233
+ }
234
+ async clearPermissions(params, progress) {
235
+ await this._context.clearPermissions();
236
+ }
237
+ async setGeolocation(params, progress) {
238
+ await this._context.setGeolocation(params.geolocation);
239
+ }
240
+ async setExtraHTTPHeaders(params, progress) {
241
+ await this._context.setExtraHTTPHeaders(progress, params.headers);
242
+ }
243
+ async setOffline(params, progress) {
244
+ await this._context.setOffline(progress, params.offline);
245
+ }
246
+ async setHTTPCredentials(params, progress) {
247
+ await progress.race(this._context.setHTTPCredentials(params.httpCredentials));
248
+ }
249
+ async addInitScript(params, progress) {
250
+ this._initScripts.push(await this._context.addInitScript(progress, params.source));
251
+ }
252
+ async setNetworkInterceptionPatterns(params, progress) {
253
+ const hadMatchers = this._interceptionUrlMatchers.length > 0;
254
+ if (!params.patterns.length) {
255
+ if (hadMatchers)
256
+ await this._context.removeRequestInterceptor(this._requestInterceptor);
257
+ this._interceptionUrlMatchers = [];
258
+ } else {
259
+ this._interceptionUrlMatchers = params.patterns.map((pattern) => pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob);
260
+ if (!hadMatchers)
261
+ await this._context.addRequestInterceptor(progress, this._requestInterceptor);
262
+ }
263
+ }
264
+ async setWebSocketInterceptionPatterns(params, progress) {
265
+ this._webSocketInterceptionPatterns = params.patterns;
266
+ if (params.patterns.length && !this._routeWebSocketInitScript)
267
+ this._routeWebSocketInitScript = await import_webSocketRouteDispatcher.WebSocketRouteDispatcher.install(progress, this.connection, this._context);
268
+ }
269
+ async storageState(params, progress) {
270
+ return await progress.race(this._context.storageState(progress, params.indexedDB));
271
+ }
272
+ async close(params, progress) {
273
+ progress.metadata.potentiallyClosesScope = true;
274
+ await this._context.close(params);
275
+ }
276
+ async enableRecorder(params, progress) {
277
+ await import_recorderApp.RecorderApp.show(this._context, params);
278
+ }
279
+ async disableRecorder(params, progress) {
280
+ const recorder = await import_recorder.Recorder.existingForContext(this._context);
281
+ if (recorder)
282
+ recorder.setMode("none");
283
+ }
284
+ async pause(params, progress) {
285
+ }
286
+ async newCDPSession(params, progress) {
287
+ if (!this._object._browser.options.isChromium)
288
+ throw new Error(`CDP session is only available in Chromium`);
289
+ if (!params.page && !params.frame || params.page && params.frame)
290
+ throw new Error(`CDP session must be initiated with either Page or Frame, not none or both`);
291
+ const crBrowserContext = this._object;
292
+ return { session: new import_cdpSessionDispatcher.CDPSessionDispatcher(this, await progress.race(crBrowserContext.newCDPSession((params.page ? params.page : params.frame)._object))) };
293
+ }
294
+ async harStart(params, progress) {
295
+ const harId = this._context.harStart(params.page ? params.page._object : null, params.options);
296
+ return { harId };
297
+ }
298
+ async harExport(params, progress) {
299
+ const artifact = await progress.race(this._context.harExport(params.harId));
300
+ if (!artifact)
301
+ throw new Error("No HAR artifact. Ensure record.harPath is set.");
302
+ return { artifact: import_artifactDispatcher.ArtifactDispatcher.from(this, artifact) };
303
+ }
304
+ async clockFastForward(params, progress) {
305
+ await this._context.clock.fastForward(progress, params.ticksString ?? params.ticksNumber ?? 0);
306
+ }
307
+ async clockInstall(params, progress) {
308
+ await this._context.clock.install(progress, params.timeString ?? params.timeNumber ?? void 0);
309
+ }
310
+ async clockPauseAt(params, progress) {
311
+ await this._context.clock.pauseAt(progress, params.timeString ?? params.timeNumber ?? 0);
312
+ this._clockPaused = true;
313
+ }
314
+ async clockResume(params, progress) {
315
+ await this._context.clock.resume(progress);
316
+ this._clockPaused = false;
317
+ }
318
+ async clockRunFor(params, progress) {
319
+ await this._context.clock.runFor(progress, params.ticksString ?? params.ticksNumber ?? 0);
320
+ }
321
+ async clockSetFixedTime(params, progress) {
322
+ await this._context.clock.setFixedTime(progress, params.timeString ?? params.timeNumber ?? 0);
323
+ }
324
+ async clockSetSystemTime(params, progress) {
325
+ await this._context.clock.setSystemTime(progress, params.timeString ?? params.timeNumber ?? 0);
326
+ }
327
+ async updateSubscription(params, progress) {
328
+ if (params.enabled)
329
+ this._subscriptions.add(params.event);
330
+ else
331
+ this._subscriptions.delete(params.event);
332
+ }
333
+ async registerSelectorEngine(params, progress) {
334
+ this._object.selectors().register(params.selectorEngine);
335
+ }
336
+ async setTestIdAttributeName(params, progress) {
337
+ this._object.selectors().setTestIdAttributeName(params.testIdAttributeName);
338
+ }
339
+ _onDispose() {
340
+ if (this._context.isClosingOrClosed())
341
+ return;
342
+ this._context.dialogManager.removeDialogHandler(this._dialogHandler);
343
+ this._interceptionUrlMatchers = [];
344
+ this._context.removeRequestInterceptor(this._requestInterceptor).catch(() => {
345
+ });
346
+ this._context.removeExposedBindings(this._bindings).catch(() => {
347
+ });
348
+ this._bindings = [];
349
+ this._context.removeInitScripts(this._initScripts).catch(() => {
350
+ });
351
+ this._initScripts = [];
352
+ if (this._routeWebSocketInitScript)
353
+ import_webSocketRouteDispatcher.WebSocketRouteDispatcher.uninstall(this.connection, this._context, this._routeWebSocketInitScript).catch(() => {
354
+ });
355
+ this._routeWebSocketInitScript = void 0;
356
+ if (this._clockPaused)
357
+ this._context.clock.resumeNoReply();
358
+ this._clockPaused = false;
359
+ }
360
+ }
361
+ // Annotate the CommonJS export names for ESM import in node:
362
+ 0 && (module.exports = {
363
+ BrowserContextDispatcher
364
+ });
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var browserDispatcher_exports = {};
20
+ __export(browserDispatcher_exports, {
21
+ BrowserDispatcher: () => BrowserDispatcher
22
+ });
23
+ module.exports = __toCommonJS(browserDispatcher_exports);
24
+ var import_browser = require("../browser");
25
+ var import_browserContextDispatcher = require("./browserContextDispatcher");
26
+ var import_cdpSessionDispatcher = require("./cdpSessionDispatcher");
27
+ var import_dispatcher = require("./dispatcher");
28
+ var import_browserContext = require("../browserContext");
29
+ var import_artifactDispatcher = require("./artifactDispatcher");
30
+ class BrowserDispatcher extends import_dispatcher.Dispatcher {
31
+ constructor(scope, browser, options = {}) {
32
+ super(scope, browser, "Browser", { version: browser.version(), name: browser.options.name });
33
+ this._type_Browser = true;
34
+ this._isolatedContexts = /* @__PURE__ */ new Set();
35
+ this._options = options;
36
+ if (!options.isolateContexts) {
37
+ this.addObjectListener(import_browser.Browser.Events.Context, (context) => this._dispatchEvent("context", { context: import_browserContextDispatcher.BrowserContextDispatcher.from(this, context) }));
38
+ this.addObjectListener(import_browser.Browser.Events.Disconnected, () => this._didClose());
39
+ if (browser._defaultContext)
40
+ this._dispatchEvent("context", { context: import_browserContextDispatcher.BrowserContextDispatcher.from(this, browser._defaultContext) });
41
+ for (const context of browser.contexts())
42
+ this._dispatchEvent("context", { context: import_browserContextDispatcher.BrowserContextDispatcher.from(this, context) });
43
+ }
44
+ }
45
+ _didClose() {
46
+ this._dispatchEvent("close");
47
+ this._dispose();
48
+ }
49
+ async newContext(params, progress) {
50
+ if (params.recordVideo && this._object.attribution.playwright.options.isServer)
51
+ params.recordVideo.dir = this._object.options.artifactsDir;
52
+ if (!this._options.isolateContexts) {
53
+ const context2 = await this._object.newContext(progress, params);
54
+ const contextDispatcher2 = import_browserContextDispatcher.BrowserContextDispatcher.from(this, context2);
55
+ return { context: contextDispatcher2 };
56
+ }
57
+ const context = await this._object.newContext(progress, params);
58
+ this._isolatedContexts.add(context);
59
+ context.on(import_browserContext.BrowserContext.Events.Close, () => this._isolatedContexts.delete(context));
60
+ const contextDispatcher = import_browserContextDispatcher.BrowserContextDispatcher.from(this, context);
61
+ this._dispatchEvent("context", { context: contextDispatcher });
62
+ return { context: contextDispatcher };
63
+ }
64
+ async newContextForReuse(params, progress) {
65
+ const context = await this._object.newContextForReuse(progress, params);
66
+ const contextDispatcher = import_browserContextDispatcher.BrowserContextDispatcher.from(this, context);
67
+ this._dispatchEvent("context", { context: contextDispatcher });
68
+ return { context: contextDispatcher };
69
+ }
70
+ async disconnectFromReusedContext(params, progress) {
71
+ const context = this._object.contextForReuse();
72
+ const contextDispatcher = context ? this.connection.existingDispatcher(context) : void 0;
73
+ if (contextDispatcher) {
74
+ await contextDispatcher.stopPendingOperations(new Error(params.reason));
75
+ contextDispatcher._dispose();
76
+ }
77
+ }
78
+ async close(params, progress) {
79
+ if (this._options.ignoreStopAndKill)
80
+ return;
81
+ progress.metadata.potentiallyClosesScope = true;
82
+ await this._object.close(params);
83
+ }
84
+ async killForTests(params, progress) {
85
+ if (this._options.ignoreStopAndKill)
86
+ return;
87
+ progress.metadata.potentiallyClosesScope = true;
88
+ await this._object.killForTests();
89
+ }
90
+ async defaultUserAgentForTest() {
91
+ return { userAgent: this._object.userAgent() };
92
+ }
93
+ async newBrowserCDPSession(params, progress) {
94
+ if (!this._object.options.isChromium)
95
+ throw new Error(`CDP session is only available in Chromium`);
96
+ const crBrowser = this._object;
97
+ return { session: new import_cdpSessionDispatcher.CDPSessionDispatcher(this, await crBrowser.newBrowserCDPSession()) };
98
+ }
99
+ async startTracing(params, progress) {
100
+ if (!this._object.options.isChromium)
101
+ throw new Error(`Tracing is only available in Chromium`);
102
+ const crBrowser = this._object;
103
+ await crBrowser.startTracing(params.page ? params.page._object : void 0, params);
104
+ }
105
+ async stopTracing(params, progress) {
106
+ if (!this._object.options.isChromium)
107
+ throw new Error(`Tracing is only available in Chromium`);
108
+ const crBrowser = this._object;
109
+ return { artifact: import_artifactDispatcher.ArtifactDispatcher.from(this, await crBrowser.stopTracing()) };
110
+ }
111
+ async cleanupContexts() {
112
+ await Promise.all(Array.from(this._isolatedContexts).map((context) => context.close({ reason: "Global context cleanup (connection terminated)" })));
113
+ }
114
+ }
115
+ // Annotate the CommonJS export names for ESM import in node:
116
+ 0 && (module.exports = {
117
+ BrowserDispatcher
118
+ });
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var browserTypeDispatcher_exports = {};
20
+ __export(browserTypeDispatcher_exports, {
21
+ BrowserTypeDispatcher: () => BrowserTypeDispatcher
22
+ });
23
+ module.exports = __toCommonJS(browserTypeDispatcher_exports);
24
+ var import_browserContextDispatcher = require("./browserContextDispatcher");
25
+ var import_browserDispatcher = require("./browserDispatcher");
26
+ var import_dispatcher = require("./dispatcher");
27
+ class BrowserTypeDispatcher extends import_dispatcher.Dispatcher {
28
+ constructor(scope, browserType, denyLaunch) {
29
+ super(scope, browserType, "BrowserType", {
30
+ executablePath: browserType.executablePath(),
31
+ name: browserType.name()
32
+ });
33
+ this._type_BrowserType = true;
34
+ this._denyLaunch = denyLaunch;
35
+ }
36
+ async launch(params, progress) {
37
+ if (this._denyLaunch)
38
+ throw new Error(`Launching more browsers is not allowed.`);
39
+ const browser = await this._object.launch(progress, params);
40
+ return { browser: new import_browserDispatcher.BrowserDispatcher(this, browser) };
41
+ }
42
+ async launchPersistentContext(params, progress) {
43
+ if (this._denyLaunch)
44
+ throw new Error(`Launching more browsers is not allowed.`);
45
+ const browserContext = await this._object.launchPersistentContext(progress, params.userDataDir, params);
46
+ const browserDispatcher = new import_browserDispatcher.BrowserDispatcher(this, browserContext._browser);
47
+ const contextDispatcher = import_browserContextDispatcher.BrowserContextDispatcher.from(browserDispatcher, browserContext);
48
+ return { browser: browserDispatcher, context: contextDispatcher };
49
+ }
50
+ async connectOverCDP(params, progress) {
51
+ if (this._denyLaunch)
52
+ throw new Error(`Launching more browsers is not allowed.`);
53
+ const browser = await this._object.connectOverCDP(progress, params.endpointURL, params);
54
+ const browserDispatcher = new import_browserDispatcher.BrowserDispatcher(this, browser);
55
+ return {
56
+ browser: browserDispatcher,
57
+ defaultContext: browser._defaultContext ? import_browserContextDispatcher.BrowserContextDispatcher.from(browserDispatcher, browser._defaultContext) : void 0
58
+ };
59
+ }
60
+ }
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ BrowserTypeDispatcher
64
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var cdpSessionDispatcher_exports = {};
20
+ __export(cdpSessionDispatcher_exports, {
21
+ CDPSessionDispatcher: () => CDPSessionDispatcher
22
+ });
23
+ module.exports = __toCommonJS(cdpSessionDispatcher_exports);
24
+ var import_dispatcher = require("./dispatcher");
25
+ var import_crConnection = require("../chromium/crConnection");
26
+ class CDPSessionDispatcher extends import_dispatcher.Dispatcher {
27
+ constructor(scope, cdpSession) {
28
+ super(scope, cdpSession, "CDPSession", {});
29
+ this._type_CDPSession = true;
30
+ this.addObjectListener(import_crConnection.CDPSession.Events.Event, ({ method, params }) => this._dispatchEvent("event", { method, params }));
31
+ this.addObjectListener(import_crConnection.CDPSession.Events.Closed, () => this._dispose());
32
+ }
33
+ async send(params, progress) {
34
+ return { result: await progress.race(this._object.send(params.method, params.params)) };
35
+ }
36
+ async detach(_, progress) {
37
+ progress.metadata.potentiallyClosesScope = true;
38
+ await this._object.detach();
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ CDPSessionDispatcher
44
+ });
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var debugControllerDispatcher_exports = {};
20
+ __export(debugControllerDispatcher_exports, {
21
+ DebugControllerDispatcher: () => DebugControllerDispatcher
22
+ });
23
+ module.exports = __toCommonJS(debugControllerDispatcher_exports);
24
+ var import_utils = require("../../utils");
25
+ var import_debugController = require("../debugController");
26
+ var import_dispatcher = require("./dispatcher");
27
+ class DebugControllerDispatcher extends import_dispatcher.Dispatcher {
28
+ constructor(connection, debugController) {
29
+ super(connection, debugController, "DebugController", {});
30
+ this._type_DebugController = true;
31
+ this._listeners = [
32
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.StateChanged, (params) => {
33
+ this._dispatchEvent("stateChanged", params);
34
+ }),
35
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.InspectRequested, ({ selector, locator, ariaSnapshot }) => {
36
+ this._dispatchEvent("inspectRequested", { selector, locator, ariaSnapshot });
37
+ }),
38
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.SourceChanged, ({ text, header, footer, actions }) => {
39
+ this._dispatchEvent("sourceChanged", { text, header, footer, actions });
40
+ }),
41
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.Paused, ({ paused }) => {
42
+ this._dispatchEvent("paused", { paused });
43
+ }),
44
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.SetModeRequested, ({ mode }) => {
45
+ this._dispatchEvent("setModeRequested", { mode });
46
+ })
47
+ ];
48
+ }
49
+ async initialize(params, progress) {
50
+ this._object.initialize(params.codegenId, params.sdkLanguage);
51
+ }
52
+ async setReportStateChanged(params, progress) {
53
+ this._object.setReportStateChanged(params.enabled);
54
+ }
55
+ async setRecorderMode(params, progress) {
56
+ await this._object.setRecorderMode(progress, params);
57
+ }
58
+ async highlight(params, progress) {
59
+ await this._object.highlight(progress, params);
60
+ }
61
+ async hideHighlight(params, progress) {
62
+ await this._object.hideHighlight(progress);
63
+ }
64
+ async resume(params, progress) {
65
+ await this._object.resume(progress);
66
+ }
67
+ async kill(params, progress) {
68
+ this._object.kill();
69
+ }
70
+ _onDispose() {
71
+ import_utils.eventsHelper.removeEventListeners(this._listeners);
72
+ this._object.dispose();
73
+ }
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ DebugControllerDispatcher
78
+ });