@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,121 @@
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 wsServer_exports = {};
20
+ __export(wsServer_exports, {
21
+ WSServer: () => WSServer,
22
+ perMessageDeflate: () => perMessageDeflate
23
+ });
24
+ module.exports = __toCommonJS(wsServer_exports);
25
+ var import_network = require("./network");
26
+ var import_utilsBundle = require("../../utilsBundle");
27
+ var import_debugLogger = require("./debugLogger");
28
+ let lastConnectionId = 0;
29
+ const kConnectionSymbol = Symbol("kConnection");
30
+ const perMessageDeflate = {
31
+ serverNoContextTakeover: true,
32
+ zlibDeflateOptions: {
33
+ level: 3
34
+ },
35
+ zlibInflateOptions: {
36
+ chunkSize: 10 * 1024
37
+ },
38
+ threshold: 10 * 1024
39
+ };
40
+ class WSServer {
41
+ constructor(delegate) {
42
+ this._delegate = delegate;
43
+ }
44
+ async listen(port = 0, hostname, path) {
45
+ import_debugLogger.debugLogger.log("server", `Server started at ${/* @__PURE__ */ new Date()}`);
46
+ const server = (0, import_network.createHttpServer)(this._delegate.onRequest);
47
+ server.on("error", (error) => import_debugLogger.debugLogger.log("server", String(error)));
48
+ this.server = server;
49
+ const wsEndpoint = await new Promise((resolve, reject) => {
50
+ server.listen(port, hostname, () => {
51
+ const address = server.address();
52
+ if (!address) {
53
+ reject(new Error("Could not bind server socket"));
54
+ return;
55
+ }
56
+ const wsEndpoint2 = typeof address === "string" ? `${address}${path}` : `ws://${hostname || "localhost"}:${address.port}${path}`;
57
+ resolve(wsEndpoint2);
58
+ }).on("error", reject);
59
+ });
60
+ import_debugLogger.debugLogger.log("server", "Listening at " + wsEndpoint);
61
+ this._wsServer = new import_utilsBundle.wsServer({
62
+ noServer: true,
63
+ perMessageDeflate
64
+ });
65
+ this._wsServer.on("headers", (headers) => this._delegate.onHeaders(headers));
66
+ server.on("upgrade", (request, socket, head) => {
67
+ const pathname = new URL("http://localhost" + request.url).pathname;
68
+ if (pathname !== path) {
69
+ socket.write(`HTTP/${request.httpVersion} 400 Bad Request\r
70
+ \r
71
+ `);
72
+ socket.destroy();
73
+ return;
74
+ }
75
+ const upgradeResult = this._delegate.onUpgrade(request, socket);
76
+ if (upgradeResult) {
77
+ socket.write(upgradeResult.error);
78
+ socket.destroy();
79
+ return;
80
+ }
81
+ this._wsServer.handleUpgrade(request, socket, head, (ws) => this._wsServer.emit("connection", ws, request));
82
+ });
83
+ this._wsServer.on("connection", (ws, request) => {
84
+ import_debugLogger.debugLogger.log("server", "Connected client ws.extension=" + ws.extensions);
85
+ const url = new URL("http://localhost" + (request.url || ""));
86
+ const id = String(++lastConnectionId);
87
+ import_debugLogger.debugLogger.log("server", `[${id}] serving connection: ${request.url}`);
88
+ const connection = this._delegate.onConnection(request, url, ws, id);
89
+ ws[kConnectionSymbol] = connection;
90
+ });
91
+ return wsEndpoint;
92
+ }
93
+ async close() {
94
+ const server = this._wsServer;
95
+ if (!server)
96
+ return;
97
+ import_debugLogger.debugLogger.log("server", "closing websocket server");
98
+ const waitForClose = new Promise((f) => server.close(f));
99
+ await Promise.all(Array.from(server.clients).map(async (ws) => {
100
+ const connection = ws[kConnectionSymbol];
101
+ if (connection)
102
+ await connection.close();
103
+ try {
104
+ ws.terminate();
105
+ } catch (e) {
106
+ }
107
+ }));
108
+ await waitForClose;
109
+ import_debugLogger.debugLogger.log("server", "closing http server");
110
+ if (this.server)
111
+ await new Promise((f) => this.server.close(f));
112
+ this._wsServer = void 0;
113
+ this.server = void 0;
114
+ import_debugLogger.debugLogger.log("server", "closed server");
115
+ }
116
+ }
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ WSServer,
120
+ perMessageDeflate
121
+ });
@@ -0,0 +1,74 @@
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 zipFile_exports = {};
20
+ __export(zipFile_exports, {
21
+ ZipFile: () => ZipFile
22
+ });
23
+ module.exports = __toCommonJS(zipFile_exports);
24
+ var import_zipBundle = require("../../zipBundle");
25
+ class ZipFile {
26
+ constructor(fileName) {
27
+ this._entries = /* @__PURE__ */ new Map();
28
+ this._fileName = fileName;
29
+ this._openedPromise = this._open();
30
+ }
31
+ async _open() {
32
+ await new Promise((fulfill, reject) => {
33
+ import_zipBundle.yauzl.open(this._fileName, { autoClose: false }, (e, z) => {
34
+ if (e) {
35
+ reject(e);
36
+ return;
37
+ }
38
+ this._zipFile = z;
39
+ this._zipFile.on("entry", (entry) => {
40
+ this._entries.set(entry.fileName, entry);
41
+ });
42
+ this._zipFile.on("end", fulfill);
43
+ });
44
+ });
45
+ }
46
+ async entries() {
47
+ await this._openedPromise;
48
+ return [...this._entries.keys()];
49
+ }
50
+ async read(entryPath) {
51
+ await this._openedPromise;
52
+ const entry = this._entries.get(entryPath);
53
+ if (!entry)
54
+ throw new Error(`${entryPath} not found in file ${this._fileName}`);
55
+ return new Promise((resolve, reject) => {
56
+ this._zipFile.openReadStream(entry, (error, readStream) => {
57
+ if (error || !readStream) {
58
+ reject(error || "Entry not found");
59
+ return;
60
+ }
61
+ const buffers = [];
62
+ readStream.on("data", (data) => buffers.push(data));
63
+ readStream.on("end", () => resolve(Buffer.concat(buffers)));
64
+ });
65
+ });
66
+ }
67
+ close() {
68
+ this._zipFile?.close();
69
+ }
70
+ }
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ ZipFile
74
+ });
@@ -0,0 +1,57 @@
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 zones_exports = {};
20
+ __export(zones_exports, {
21
+ Zone: () => Zone,
22
+ currentZone: () => currentZone,
23
+ emptyZone: () => emptyZone
24
+ });
25
+ module.exports = __toCommonJS(zones_exports);
26
+ var import_async_hooks = require("async_hooks");
27
+ const asyncLocalStorage = new import_async_hooks.AsyncLocalStorage();
28
+ class Zone {
29
+ constructor(asyncLocalStorage2, store) {
30
+ this._asyncLocalStorage = asyncLocalStorage2;
31
+ this._data = store;
32
+ }
33
+ with(type, data) {
34
+ return new Zone(this._asyncLocalStorage, new Map(this._data).set(type, data));
35
+ }
36
+ without(type) {
37
+ const data = type ? new Map(this._data) : /* @__PURE__ */ new Map();
38
+ data.delete(type);
39
+ return new Zone(this._asyncLocalStorage, data);
40
+ }
41
+ run(func) {
42
+ return this._asyncLocalStorage.run(this, func);
43
+ }
44
+ data(type) {
45
+ return this._data.get(type);
46
+ }
47
+ }
48
+ const emptyZone = new Zone(asyncLocalStorage, /* @__PURE__ */ new Map());
49
+ function currentZone() {
50
+ return asyncLocalStorage.getStore() ?? emptyZone;
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ Zone,
55
+ currentZone,
56
+ emptyZone
57
+ });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var protocol_d_exports = {};
16
+ module.exports = __toCommonJS(protocol_d_exports);
@@ -0,0 +1,119 @@
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 webkit_exports = {};
30
+ __export(webkit_exports, {
31
+ WebKit: () => WebKit,
32
+ translatePathToWSL: () => translatePathToWSL
33
+ });
34
+ module.exports = __toCommonJS(webkit_exports);
35
+ var import_path = __toESM(require("path"));
36
+ var import_wkConnection = require("./wkConnection");
37
+ var import_ascii = require("../utils/ascii");
38
+ var import_browserType = require("../browserType");
39
+ var import_wkBrowser = require("../webkit/wkBrowser");
40
+ var import_spawnAsync = require("../utils/spawnAsync");
41
+ var import_registry = require("../registry");
42
+ class WebKit extends import_browserType.BrowserType {
43
+ constructor(parent) {
44
+ super(parent, "webkit");
45
+ }
46
+ connectToTransport(transport, options) {
47
+ return import_wkBrowser.WKBrowser.connect(this.attribution.playwright, transport, options);
48
+ }
49
+ amendEnvironment(env, userDataDir, isPersistent, options) {
50
+ return {
51
+ ...env,
52
+ CURL_COOKIE_JAR_PATH: process.platform === "win32" && isPersistent ? import_path.default.join(userDataDir, "cookiejar.db") : void 0,
53
+ WEBKIT_EXECUTABLE: options.channel === "webkit-wsl" ? import_registry.registry.findExecutable("webkit-wsl").wslExecutablePath : void 0
54
+ };
55
+ }
56
+ doRewriteStartupLog(error) {
57
+ if (!error.logs)
58
+ return error;
59
+ if (error.logs.includes("Failed to open display") || error.logs.includes("cannot open display"))
60
+ error.logs = "\n" + (0, import_ascii.wrapInASCIIBox)(import_browserType.kNoXServerRunningError, 1);
61
+ return error;
62
+ }
63
+ attemptToGracefullyCloseBrowser(transport) {
64
+ transport.send({ method: "Playwright.close", params: {}, id: import_wkConnection.kBrowserCloseMessageId });
65
+ }
66
+ async defaultArgs(options, isPersistent, userDataDir) {
67
+ const { args = [], headless } = options;
68
+ const userDataDirArg = args.find((arg) => arg.startsWith("--user-data-dir"));
69
+ if (userDataDirArg)
70
+ throw this._createUserDataDirArgMisuseError("--user-data-dir");
71
+ if (args.find((arg) => !arg.startsWith("-")))
72
+ throw new Error("Arguments can not specify page to be opened");
73
+ const webkitArguments = ["--inspector-pipe"];
74
+ if (options.channel === "webkit-wsl") {
75
+ if (options.executablePath)
76
+ throw new Error('Cannot specify executablePath when using the "webkit-wsl" channel.');
77
+ webkitArguments.unshift(
78
+ import_path.default.join(__dirname, "wsl/webkit-wsl-transport-server.js")
79
+ );
80
+ }
81
+ if (process.platform === "win32" && options.channel !== "webkit-wsl")
82
+ webkitArguments.push("--disable-accelerated-compositing");
83
+ if (headless)
84
+ webkitArguments.push("--headless");
85
+ if (isPersistent)
86
+ webkitArguments.push(`--user-data-dir=${options.channel === "webkit-wsl" ? await translatePathToWSL(userDataDir) : userDataDir}`);
87
+ else
88
+ webkitArguments.push(`--no-startup-window`);
89
+ const proxy = options.proxyOverride || options.proxy;
90
+ if (proxy) {
91
+ if (process.platform === "darwin") {
92
+ webkitArguments.push(`--proxy=${proxy.server}`);
93
+ if (proxy.bypass)
94
+ webkitArguments.push(`--proxy-bypass-list=${proxy.bypass}`);
95
+ } else if (process.platform === "linux" || process.platform === "win32" && options.channel === "webkit-wsl") {
96
+ webkitArguments.push(`--proxy=${proxy.server}`);
97
+ if (proxy.bypass)
98
+ webkitArguments.push(...proxy.bypass.split(",").map((t) => `--ignore-host=${t}`));
99
+ } else if (process.platform === "win32") {
100
+ webkitArguments.push(`--curl-proxy=${proxy.server.replace(/^socks5:\/\//, "socks5h://")}`);
101
+ if (proxy.bypass)
102
+ webkitArguments.push(`--curl-noproxy=${proxy.bypass}`);
103
+ }
104
+ }
105
+ webkitArguments.push(...args);
106
+ if (isPersistent)
107
+ webkitArguments.push("about:blank");
108
+ return webkitArguments;
109
+ }
110
+ }
111
+ async function translatePathToWSL(path2) {
112
+ const { stdout } = await (0, import_spawnAsync.spawnAsync)("wsl.exe", ["-d", "playwright", "--cd", "/home/pwuser", "wslpath", path2.replace(/\\/g, "\\\\")]);
113
+ return stdout.toString().trim();
114
+ }
115
+ // Annotate the CommonJS export names for ESM import in node:
116
+ 0 && (module.exports = {
117
+ WebKit,
118
+ translatePathToWSL
119
+ });
@@ -0,0 +1,237 @@
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 wkAccessibility_exports = {};
20
+ __export(wkAccessibility_exports, {
21
+ getAccessibilityTree: () => getAccessibilityTree
22
+ });
23
+ module.exports = __toCommonJS(wkAccessibility_exports);
24
+ async function getAccessibilityTree(session, needle) {
25
+ const objectId = needle ? needle._objectId : void 0;
26
+ const { axNode } = await session.send("Page.accessibilitySnapshot", { objectId });
27
+ const tree = new WKAXNode(axNode);
28
+ return {
29
+ tree,
30
+ needle: needle ? tree._findNeedle() : null
31
+ };
32
+ }
33
+ const WKRoleToARIARole = new Map(Object.entries({
34
+ "TextField": "textbox"
35
+ }));
36
+ const WKUnhelpfulRoleDescriptions = new Map(Object.entries({
37
+ "WebArea": "HTML content",
38
+ "Summary": "summary",
39
+ "DescriptionList": "description list",
40
+ "ImageMap": "image map",
41
+ "ListMarker": "list marker",
42
+ "Video": "video playback",
43
+ "Mark": "highlighted",
44
+ "contentinfo": "content information",
45
+ "Details": "details",
46
+ "DescriptionListDetail": "description",
47
+ "DescriptionListTerm": "term",
48
+ "alertdialog": "web alert dialog",
49
+ "dialog": "web dialog",
50
+ "status": "application status",
51
+ "tabpanel": "tab panel",
52
+ "application": "web application"
53
+ }));
54
+ class WKAXNode {
55
+ constructor(payload) {
56
+ this._payload = payload;
57
+ this._children = [];
58
+ for (const payload2 of this._payload.children || [])
59
+ this._children.push(new WKAXNode(payload2));
60
+ }
61
+ children() {
62
+ return this._children;
63
+ }
64
+ _findNeedle() {
65
+ if (this._payload.found)
66
+ return this;
67
+ for (const child of this._children) {
68
+ const found = child._findNeedle();
69
+ if (found)
70
+ return found;
71
+ }
72
+ return null;
73
+ }
74
+ isControl() {
75
+ switch (this._payload.role) {
76
+ case "button":
77
+ case "checkbox":
78
+ case "ColorWell":
79
+ case "combobox":
80
+ case "DisclosureTriangle":
81
+ case "listbox":
82
+ case "menu":
83
+ case "menubar":
84
+ case "menuitem":
85
+ case "menuitemcheckbox":
86
+ case "menuitemradio":
87
+ case "radio":
88
+ case "scrollbar":
89
+ case "searchbox":
90
+ case "slider":
91
+ case "spinbutton":
92
+ case "switch":
93
+ case "tab":
94
+ case "textbox":
95
+ case "TextField":
96
+ case "tree":
97
+ return true;
98
+ default:
99
+ return false;
100
+ }
101
+ }
102
+ _isTextControl() {
103
+ switch (this._payload.role) {
104
+ case "combobox":
105
+ case "searchfield":
106
+ case "textbox":
107
+ case "TextField":
108
+ return true;
109
+ }
110
+ return false;
111
+ }
112
+ _name() {
113
+ if (this._payload.role === "text")
114
+ return this._payload.value || "";
115
+ return this._payload.name || "";
116
+ }
117
+ isInteresting(insideControl) {
118
+ const { role, focusable } = this._payload;
119
+ const name = this._name();
120
+ if (role === "ScrollArea")
121
+ return false;
122
+ if (role === "WebArea")
123
+ return true;
124
+ if (focusable || role === "MenuListOption")
125
+ return true;
126
+ if (this.isControl())
127
+ return true;
128
+ if (insideControl)
129
+ return false;
130
+ return this.isLeafNode() && !!name;
131
+ }
132
+ _hasRedundantTextChild() {
133
+ if (this._children.length !== 1)
134
+ return false;
135
+ const child = this._children[0];
136
+ return child._payload.role === "text" && this._payload.name === child._payload.value;
137
+ }
138
+ isLeafNode() {
139
+ if (!this._children.length)
140
+ return true;
141
+ if (this._isTextControl())
142
+ return true;
143
+ if (this._hasRedundantTextChild())
144
+ return true;
145
+ return false;
146
+ }
147
+ serialize() {
148
+ const node = {
149
+ role: WKRoleToARIARole.get(this._payload.role) || this._payload.role,
150
+ name: this._name()
151
+ };
152
+ if ("description" in this._payload && this._payload.description !== node.name)
153
+ node.description = this._payload.description;
154
+ if ("roledescription" in this._payload) {
155
+ const roledescription = this._payload.roledescription;
156
+ if (roledescription !== this._payload.role && WKUnhelpfulRoleDescriptions.get(this._payload.role) !== roledescription)
157
+ node.roledescription = roledescription;
158
+ }
159
+ if ("value" in this._payload && this._payload.role !== "text") {
160
+ if (typeof this._payload.value === "string")
161
+ node.valueString = this._payload.value;
162
+ else if (typeof this._payload.value === "number")
163
+ node.valueNumber = this._payload.value;
164
+ }
165
+ if ("checked" in this._payload)
166
+ node.checked = this._payload.checked === "true" ? "checked" : this._payload.checked === "false" ? "unchecked" : "mixed";
167
+ if ("pressed" in this._payload)
168
+ node.pressed = this._payload.pressed === "true" ? "pressed" : this._payload.pressed === "false" ? "released" : "mixed";
169
+ const userStringProperties = [
170
+ "keyshortcuts",
171
+ "valuetext"
172
+ ];
173
+ for (const userStringProperty of userStringProperties) {
174
+ if (!(userStringProperty in this._payload))
175
+ continue;
176
+ node[userStringProperty] = this._payload[userStringProperty];
177
+ }
178
+ const booleanProperties = [
179
+ "disabled",
180
+ "expanded",
181
+ "focused",
182
+ "modal",
183
+ "multiselectable",
184
+ "readonly",
185
+ "required",
186
+ "selected"
187
+ ];
188
+ for (const booleanProperty of booleanProperties) {
189
+ if (booleanProperty === "focused" && (this._payload.role === "WebArea" || this._payload.role === "ScrollArea"))
190
+ continue;
191
+ const value = this._payload[booleanProperty];
192
+ if (!value)
193
+ continue;
194
+ node[booleanProperty] = value;
195
+ }
196
+ const numericalProperties = [
197
+ "level",
198
+ "valuemax",
199
+ "valuemin"
200
+ ];
201
+ for (const numericalProperty of numericalProperties) {
202
+ if (!(numericalProperty in this._payload))
203
+ continue;
204
+ node[numericalProperty] = this._payload[numericalProperty];
205
+ }
206
+ const tokenProperties = [
207
+ "autocomplete",
208
+ "haspopup",
209
+ "invalid"
210
+ ];
211
+ for (const tokenProperty of tokenProperties) {
212
+ const value = this._payload[tokenProperty];
213
+ if (!value || value === "false")
214
+ continue;
215
+ node[tokenProperty] = value;
216
+ }
217
+ const orientationIsApplicable = /* @__PURE__ */ new Set([
218
+ "ScrollArea",
219
+ "scrollbar",
220
+ "listbox",
221
+ "combobox",
222
+ "menu",
223
+ "tree",
224
+ "separator",
225
+ "slider",
226
+ "tablist",
227
+ "toolbar"
228
+ ]);
229
+ if (this._payload.orientation && orientationIsApplicable.has(this._payload.role))
230
+ node.orientation = this._payload.orientation;
231
+ return node;
232
+ }
233
+ }
234
+ // Annotate the CommonJS export names for ESM import in node:
235
+ 0 && (module.exports = {
236
+ getAccessibilityTree
237
+ });