@withbuddi/buddi 0.1.0-pre.50 → 0.1.0-pre.52

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 (462) hide show
  1. package/extension/background.js +1604 -847
  2. package/extension/manifest.json +3 -3
  3. package/extension/popup.css +91 -3
  4. package/extension/popup.html +49 -32
  5. package/extension/popup.js +215 -123
  6. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  7. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  8. package/node_modules/@buddi/cli/dist/commands.js +11 -1
  9. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  10. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  11. package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
  12. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  13. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  14. package/node_modules/@buddi/core/dist/questions/store.d.ts +3 -1
  15. package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
  16. package/node_modules/@buddi/core/dist/questions/store.js +3 -3
  17. package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
  18. package/node_modules/@buddi/core/dist/questions/types.d.ts +46 -1
  19. package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
  20. package/node_modules/@buddi/core/dist/questions/types.js +2 -1
  21. package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
  22. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  23. package/node_modules/@buddi/core/dist/registry.js +11 -2
  24. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  25. package/node_modules/@buddi/core/dist/scheduler/index.d.ts +1 -0
  26. package/node_modules/@buddi/core/dist/scheduler/index.d.ts.map +1 -1
  27. package/node_modules/@buddi/core/dist/scheduler/index.js +1 -0
  28. package/node_modules/@buddi/core/dist/scheduler/index.js.map +1 -1
  29. package/node_modules/@buddi/core/dist/scheduler/manual.d.ts +50 -0
  30. package/node_modules/@buddi/core/dist/scheduler/manual.d.ts.map +1 -0
  31. package/node_modules/@buddi/core/dist/scheduler/manual.js +73 -0
  32. package/node_modules/@buddi/core/dist/scheduler/manual.js.map +1 -0
  33. package/node_modules/@buddi/core/dist/secrets/approval.d.ts +54 -0
  34. package/node_modules/@buddi/core/dist/secrets/approval.d.ts.map +1 -1
  35. package/node_modules/@buddi/core/dist/secrets/approval.js +58 -1
  36. package/node_modules/@buddi/core/dist/secrets/approval.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/secrets/settings.d.ts +178 -0
  38. package/node_modules/@buddi/core/dist/secrets/settings.d.ts.map +1 -1
  39. package/node_modules/@buddi/core/dist/secrets/settings.js +63 -6
  40. package/node_modules/@buddi/core/dist/secrets/settings.js.map +1 -1
  41. package/node_modules/@buddi/core/dist/secrets/store.d.ts +31 -0
  42. package/node_modules/@buddi/core/dist/secrets/store.d.ts.map +1 -1
  43. package/node_modules/@buddi/core/dist/secrets/store.js +75 -0
  44. package/node_modules/@buddi/core/dist/secrets/store.js.map +1 -1
  45. package/node_modules/@buddi/core/dist/secrets/use.d.ts.map +1 -1
  46. package/node_modules/@buddi/core/dist/secrets/use.js +68 -3
  47. package/node_modules/@buddi/core/dist/secrets/use.js.map +1 -1
  48. package/node_modules/@buddi/core/dist/tools.d.ts +22 -0
  49. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  50. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  51. package/node_modules/@buddi/core/migrations/080_secret_requests.sql +14 -0
  52. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  53. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  54. package/node_modules/@buddi/gateway/dist/chat/session.js +2 -1
  55. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  56. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  57. package/node_modules/@buddi/gateway/dist/mcp/requests.js +9 -1
  58. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  59. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  60. package/node_modules/@buddi/gateway/dist/missions/execute.js +3 -1
  61. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  62. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts +7 -2
  63. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts.map +1 -1
  64. package/node_modules/@buddi/gateway/dist/missions/reminders.js +27 -9
  65. package/node_modules/@buddi/gateway/dist/missions/reminders.js.map +1 -1
  66. package/node_modules/@buddi/gateway/dist/missions/run-now.d.ts +38 -0
  67. package/node_modules/@buddi/gateway/dist/missions/run-now.d.ts.map +1 -0
  68. package/node_modules/@buddi/gateway/dist/missions/run-now.js +62 -0
  69. package/node_modules/@buddi/gateway/dist/missions/run-now.js.map +1 -0
  70. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts +1 -1
  71. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  72. package/node_modules/@buddi/gateway/dist/missions-cli.js +21 -10
  73. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  74. package/node_modules/@buddi/gateway/dist/serve.d.ts +3 -12
  75. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  76. package/node_modules/@buddi/gateway/dist/serve.js +2 -21
  77. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  78. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +15 -3
  79. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
  80. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +34 -7
  81. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -1
  82. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  83. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +8 -2
  84. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
  85. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts +3 -1
  86. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
  87. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js.map +1 -1
  88. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts +173 -0
  89. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
  90. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js +332 -0
  91. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js.map +1 -0
  92. package/node_modules/@buddi/gateway/dist/system-context.js +1 -1
  93. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  94. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  95. package/node_modules/@buddi/gateway/dist/telegram/main.js +14 -3
  96. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  97. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  98. package/node_modules/@buddi/gateway/dist/telegram/surface.js +4 -1
  99. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  100. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  101. package/node_modules/@buddi/gateway/dist/web/api-routes.js +16 -1
  102. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  103. package/node_modules/@buddi/gateway/dist/web/approval-ask.js +2 -2
  104. package/node_modules/@buddi/gateway/dist/web/approval-ask.js.map +1 -1
  105. package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts +13 -0
  106. package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts.map +1 -0
  107. package/node_modules/@buddi/gateway/dist/web/browser-capture.js +24 -0
  108. package/node_modules/@buddi/gateway/dist/web/browser-capture.js.map +1 -0
  109. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +26 -0
  110. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  111. package/node_modules/@buddi/gateway/dist/web/chat.js +87 -2
  112. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  113. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +30 -0
  114. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  115. package/node_modules/@buddi/gateway/dist/web/extension.js +86 -6
  116. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  117. package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
  118. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  119. package/node_modules/@buddi/gateway/dist/web/read.d.ts +2 -0
  120. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  121. package/node_modules/@buddi/gateway/dist/web/read.js +2 -1
  122. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  123. package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts +26 -2
  124. package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts.map +1 -1
  125. package/node_modules/@buddi/gateway/dist/web/remote-hand.js +89 -28
  126. package/node_modules/@buddi/gateway/dist/web/remote-hand.js.map +1 -1
  127. package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts +54 -0
  128. package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts.map +1 -0
  129. package/node_modules/@buddi/gateway/dist/web/secret-request.js +264 -0
  130. package/node_modules/@buddi/gateway/dist/web/secret-request.js.map +1 -0
  131. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts +1 -0
  132. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/web/secrets.js +1 -1
  134. package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
  135. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  136. package/node_modules/@buddi/gateway/dist/web/server.js +76 -4
  137. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  138. package/node_modules/@buddi/gateway/dist/web/write.d.ts +14 -0
  139. package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
  140. package/node_modules/@buddi/gateway/dist/web/write.js +21 -0
  141. package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
  142. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  143. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  144. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +7 -0
  145. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  146. package/node_modules/@buddi/runtime/dist/anthropic.js +19 -1
  147. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  148. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +1 -1
  149. package/node_modules/@buddi/runtime/dist/codex-direct.js +1 -1
  150. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  151. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  152. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +16 -1
  153. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  154. package/node_modules/@buddi/tool-browser/dist/controller.js +59 -5
  155. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  156. package/node_modules/@buddi/tool-browser/dist/driver.d.ts +12 -0
  157. package/node_modules/@buddi/tool-browser/dist/driver.d.ts.map +1 -1
  158. package/node_modules/@buddi/tool-browser/dist/driver.js +41 -2
  159. package/node_modules/@buddi/tool-browser/dist/driver.js.map +1 -1
  160. package/node_modules/@buddi/tool-browser/dist/extension.d.ts +49 -9
  161. package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
  162. package/node_modules/@buddi/tool-browser/dist/extension.js +145 -21
  163. package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
  164. package/node_modules/@buddi/tool-browser/dist/index.d.ts +10 -6
  165. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  166. package/node_modules/@buddi/tool-browser/dist/index.js +22 -8
  167. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  168. package/node_modules/@buddi/tool-browser/dist/routes.d.ts +10 -1
  169. package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -1
  170. package/node_modules/@buddi/tool-browser/dist/routes.js +24 -0
  171. package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -1
  172. package/node_modules/@buddi/tool-browser/dist/service.d.ts +48 -1
  173. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  174. package/node_modules/@buddi/tool-browser/dist/service.js +114 -11
  175. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  176. package/node_modules/@buddi/tool-browser/dist/types.d.ts +54 -3
  177. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  178. package/node_modules/@buddi/tool-browser/dist/types.js +17 -1
  179. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  180. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  181. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  182. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  183. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  184. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  185. package/node_modules/imapflow/CHANGELOG.md +30 -0
  186. package/node_modules/imapflow/dist/cjs/commands/authenticate.js +15 -4
  187. package/node_modules/imapflow/dist/cjs/commands/enable.js +6 -0
  188. package/node_modules/imapflow/dist/cjs/commands/fetch.js +22 -5
  189. package/node_modules/imapflow/dist/cjs/commands/select.d.ts +3 -14
  190. package/node_modules/imapflow/dist/cjs/commands/select.js +1 -4
  191. package/node_modules/imapflow/dist/cjs/commands/store.js +7 -6
  192. package/node_modules/imapflow/dist/cjs/download.js +139 -5
  193. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +2 -2
  194. package/node_modules/imapflow/dist/cjs/imap-flow.js +51 -12
  195. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  196. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  197. package/node_modules/imapflow/dist/cjs/search-compiler.js +6 -3
  198. package/node_modules/imapflow/dist/cjs/tools.d.ts +14 -3
  199. package/node_modules/imapflow/dist/cjs/tools.js +68 -6
  200. package/node_modules/imapflow/dist/cjs/types.d.ts +9 -1
  201. package/node_modules/imapflow/dist/esm/commands/authenticate.js +15 -4
  202. package/node_modules/imapflow/dist/esm/commands/enable.js +6 -0
  203. package/node_modules/imapflow/dist/esm/commands/fetch.js +22 -5
  204. package/node_modules/imapflow/dist/esm/commands/select.d.ts +3 -14
  205. package/node_modules/imapflow/dist/esm/commands/select.js +1 -4
  206. package/node_modules/imapflow/dist/esm/commands/store.js +8 -7
  207. package/node_modules/imapflow/dist/esm/download.js +139 -5
  208. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +2 -2
  209. package/node_modules/imapflow/dist/esm/imap-flow.js +52 -13
  210. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  211. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  212. package/node_modules/imapflow/dist/esm/search-compiler.js +6 -3
  213. package/node_modules/imapflow/dist/esm/tools.d.ts +14 -3
  214. package/node_modules/imapflow/dist/esm/tools.js +67 -6
  215. package/node_modules/imapflow/dist/esm/types.d.ts +9 -1
  216. package/node_modules/imapflow/package.json +5 -3
  217. package/node_modules/playwright/README.md +4 -4
  218. package/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +1 -1
  219. package/node_modules/playwright/lib/cli/testActions.js +8 -5
  220. package/node_modules/playwright/lib/common/index.js +37 -23
  221. package/node_modules/playwright/lib/common/index.js.txt +8 -9
  222. package/node_modules/playwright/lib/index.js +16 -4
  223. package/node_modules/playwright/lib/matchers/expect.js +13 -7
  224. package/node_modules/playwright/lib/matchers/expect.js.txt +4 -4
  225. package/node_modules/playwright/lib/program.js +2 -1
  226. package/node_modules/playwright/lib/runner/index.js +438 -244
  227. package/node_modules/playwright/lib/runner/index.js.txt +12 -11
  228. package/node_modules/playwright/lib/transform/babelBundle.js +2612 -2396
  229. package/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +15 -15
  230. package/node_modules/playwright/lib/transform/babelBundle.js.txt +14 -11
  231. package/node_modules/playwright/lib/transform/esmLoader.js +17 -5
  232. package/node_modules/playwright/lib/transform/esmLoader.js.txt +3 -3
  233. package/node_modules/playwright/lib/worker/workerProcessEntry.js +17 -18
  234. package/node_modules/playwright/package.json +2 -7
  235. package/node_modules/playwright/types/test.d.ts +156 -39
  236. package/node_modules/playwright-core/browsers.json +9 -9
  237. package/node_modules/playwright-core/cli.js +1 -0
  238. package/node_modules/playwright-core/lib/bootstrap.js +61 -0
  239. package/node_modules/playwright-core/lib/coreBundle.js +6393 -4170
  240. package/node_modules/playwright-core/lib/server/electron/loader.js +4 -0
  241. package/node_modules/playwright-core/lib/tools/cli-client/cli.js +2 -1
  242. package/node_modules/playwright-core/lib/tools/cli-client/help.json +99 -12
  243. package/node_modules/playwright-core/lib/tools/cli-client/output.js +17 -16
  244. package/node_modules/playwright-core/lib/tools/cli-client/program.js +8 -4
  245. package/node_modules/playwright-core/lib/tools/cli-client/session.js +2 -0
  246. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md +71 -3
  247. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
  248. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/running-code.md +4 -0
  249. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/session-management.md +2 -0
  250. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/test-generation.md +1 -1
  251. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/video-recording.md +76 -3
  252. package/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md +1 -1
  253. package/node_modules/playwright-core/lib/utilsBundle.js +948 -227
  254. package/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +6 -6
  255. package/node_modules/playwright-core/lib/vite/htmlReport/report.js +1 -1
  256. package/node_modules/playwright-core/lib/vite/recorder/assets/{codeMirrorModule-CVQWJZAA.js → codeMirrorModule-DK72OMRi.js} +1 -1
  257. package/node_modules/playwright-core/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
  258. package/node_modules/playwright-core/lib/vite/recorder/index.html +1 -1
  259. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-BbkfBe3n.js → codeMirrorModule-BEB2e8M3.js} +1 -1
  260. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
  261. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{xtermModule-DywYcAf8.js → xtermModule-B794rD2Z.js} +1 -1
  262. package/node_modules/playwright-core/lib/vite/traceViewer/{defaultSettingsView.Bqk9acqE.css → defaultSettingsView.C8BeHuxd.css} +1 -1
  263. package/node_modules/playwright-core/lib/vite/traceViewer/{index.B4cLoZK3.js → index.7-c5LSTW.js} +1 -1
  264. package/node_modules/playwright-core/lib/vite/traceViewer/index.html +3 -3
  265. package/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -3
  266. package/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.CU5KtEkS.js → uiMode.CYwC_gH1.js} +4 -4
  267. package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +3 -3
  268. package/node_modules/playwright-core/package.json +1 -1
  269. package/node_modules/playwright-core/types/protocol.d.ts +468 -337
  270. package/node_modules/playwright-core/types/types.d.ts +572 -37
  271. package/package.json +2 -2
  272. package/packages/cli/dist/.tsbuildinfo +1 -1
  273. package/packages/cli/dist/commands.d.ts.map +1 -1
  274. package/packages/cli/dist/commands.js +11 -1
  275. package/packages/cli/dist/commands.js.map +1 -1
  276. package/packages/core/dist/.tsbuildinfo +1 -1
  277. package/packages/core/dist/plugin/index.d.ts +1 -1
  278. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  279. package/packages/core/dist/plugin/index.js.map +1 -1
  280. package/packages/core/dist/questions/store.d.ts +3 -1
  281. package/packages/core/dist/questions/store.d.ts.map +1 -1
  282. package/packages/core/dist/questions/store.js +3 -3
  283. package/packages/core/dist/questions/store.js.map +1 -1
  284. package/packages/core/dist/questions/types.d.ts +46 -1
  285. package/packages/core/dist/questions/types.d.ts.map +1 -1
  286. package/packages/core/dist/questions/types.js +2 -1
  287. package/packages/core/dist/questions/types.js.map +1 -1
  288. package/packages/core/dist/registry.d.ts.map +1 -1
  289. package/packages/core/dist/registry.js +11 -2
  290. package/packages/core/dist/registry.js.map +1 -1
  291. package/packages/core/dist/scheduler/index.d.ts +1 -0
  292. package/packages/core/dist/scheduler/index.d.ts.map +1 -1
  293. package/packages/core/dist/scheduler/index.js +1 -0
  294. package/packages/core/dist/scheduler/index.js.map +1 -1
  295. package/packages/core/dist/scheduler/manual.d.ts +50 -0
  296. package/packages/core/dist/scheduler/manual.d.ts.map +1 -0
  297. package/packages/core/dist/scheduler/manual.js +73 -0
  298. package/packages/core/dist/scheduler/manual.js.map +1 -0
  299. package/packages/core/dist/secrets/approval.d.ts +54 -0
  300. package/packages/core/dist/secrets/approval.d.ts.map +1 -1
  301. package/packages/core/dist/secrets/approval.js +58 -1
  302. package/packages/core/dist/secrets/approval.js.map +1 -1
  303. package/packages/core/dist/secrets/settings.d.ts +178 -0
  304. package/packages/core/dist/secrets/settings.d.ts.map +1 -1
  305. package/packages/core/dist/secrets/settings.js +63 -6
  306. package/packages/core/dist/secrets/settings.js.map +1 -1
  307. package/packages/core/dist/secrets/store.d.ts +31 -0
  308. package/packages/core/dist/secrets/store.d.ts.map +1 -1
  309. package/packages/core/dist/secrets/store.js +75 -0
  310. package/packages/core/dist/secrets/store.js.map +1 -1
  311. package/packages/core/dist/secrets/use.d.ts.map +1 -1
  312. package/packages/core/dist/secrets/use.js +68 -3
  313. package/packages/core/dist/secrets/use.js.map +1 -1
  314. package/packages/core/dist/tools.d.ts +22 -0
  315. package/packages/core/dist/tools.d.ts.map +1 -1
  316. package/packages/core/dist/tools.js.map +1 -1
  317. package/packages/core/migrations/080_secret_requests.sql +14 -0
  318. package/packages/gateway/dist/.tsbuildinfo +1 -1
  319. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  320. package/packages/gateway/dist/chat/session.js +2 -1
  321. package/packages/gateway/dist/chat/session.js.map +1 -1
  322. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  323. package/packages/gateway/dist/mcp/requests.js +9 -1
  324. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  325. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  326. package/packages/gateway/dist/missions/execute.js +3 -1
  327. package/packages/gateway/dist/missions/execute.js.map +1 -1
  328. package/packages/gateway/dist/missions/reminders.d.ts +7 -2
  329. package/packages/gateway/dist/missions/reminders.d.ts.map +1 -1
  330. package/packages/gateway/dist/missions/reminders.js +27 -9
  331. package/packages/gateway/dist/missions/reminders.js.map +1 -1
  332. package/packages/gateway/dist/missions/run-now.d.ts +38 -0
  333. package/packages/gateway/dist/missions/run-now.d.ts.map +1 -0
  334. package/packages/gateway/dist/missions/run-now.js +62 -0
  335. package/packages/gateway/dist/missions/run-now.js.map +1 -0
  336. package/packages/gateway/dist/missions-cli.d.ts +1 -1
  337. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  338. package/packages/gateway/dist/missions-cli.js +21 -10
  339. package/packages/gateway/dist/missions-cli.js.map +1 -1
  340. package/packages/gateway/dist/serve.d.ts +3 -12
  341. package/packages/gateway/dist/serve.d.ts.map +1 -1
  342. package/packages/gateway/dist/serve.js +2 -21
  343. package/packages/gateway/dist/serve.js.map +1 -1
  344. package/packages/gateway/dist/surfaces/browser-cards.d.ts +15 -3
  345. package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
  346. package/packages/gateway/dist/surfaces/browser-cards.js +34 -7
  347. package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -1
  348. package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  349. package/packages/gateway/dist/surfaces/offered-actions.js +8 -2
  350. package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
  351. package/packages/gateway/dist/surfaces/pending-question.d.ts +3 -1
  352. package/packages/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
  353. package/packages/gateway/dist/surfaces/pending-question.js.map +1 -1
  354. package/packages/gateway/dist/surfaces/secret-request.d.ts +173 -0
  355. package/packages/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
  356. package/packages/gateway/dist/surfaces/secret-request.js +332 -0
  357. package/packages/gateway/dist/surfaces/secret-request.js.map +1 -0
  358. package/packages/gateway/dist/system-context.js +1 -1
  359. package/packages/gateway/dist/system-context.js.map +1 -1
  360. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  361. package/packages/gateway/dist/telegram/main.js +14 -3
  362. package/packages/gateway/dist/telegram/main.js.map +1 -1
  363. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  364. package/packages/gateway/dist/telegram/surface.js +4 -1
  365. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  366. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  367. package/packages/gateway/dist/web/api-routes.js +16 -1
  368. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  369. package/packages/gateway/dist/web/approval-ask.js +2 -2
  370. package/packages/gateway/dist/web/approval-ask.js.map +1 -1
  371. package/packages/gateway/dist/web/browser-capture.d.ts +13 -0
  372. package/packages/gateway/dist/web/browser-capture.d.ts.map +1 -0
  373. package/packages/gateway/dist/web/browser-capture.js +24 -0
  374. package/packages/gateway/dist/web/browser-capture.js.map +1 -0
  375. package/packages/gateway/dist/web/chat.d.ts +26 -0
  376. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  377. package/packages/gateway/dist/web/chat.js +87 -2
  378. package/packages/gateway/dist/web/chat.js.map +1 -1
  379. package/packages/gateway/dist/web/extension.d.ts +30 -0
  380. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  381. package/packages/gateway/dist/web/extension.js +86 -6
  382. package/packages/gateway/dist/web/extension.js.map +1 -1
  383. package/packages/gateway/dist/web/onboarding.js +1 -1
  384. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  385. package/packages/gateway/dist/web/read.d.ts +2 -0
  386. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  387. package/packages/gateway/dist/web/read.js +2 -1
  388. package/packages/gateway/dist/web/read.js.map +1 -1
  389. package/packages/gateway/dist/web/remote-hand.d.ts +26 -2
  390. package/packages/gateway/dist/web/remote-hand.d.ts.map +1 -1
  391. package/packages/gateway/dist/web/remote-hand.js +89 -28
  392. package/packages/gateway/dist/web/remote-hand.js.map +1 -1
  393. package/packages/gateway/dist/web/secret-request.d.ts +54 -0
  394. package/packages/gateway/dist/web/secret-request.d.ts.map +1 -0
  395. package/packages/gateway/dist/web/secret-request.js +264 -0
  396. package/packages/gateway/dist/web/secret-request.js.map +1 -0
  397. package/packages/gateway/dist/web/secrets.d.ts +1 -0
  398. package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
  399. package/packages/gateway/dist/web/secrets.js +1 -1
  400. package/packages/gateway/dist/web/secrets.js.map +1 -1
  401. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  402. package/packages/gateway/dist/web/server.js +76 -4
  403. package/packages/gateway/dist/web/server.js.map +1 -1
  404. package/packages/gateway/dist/web/write.d.ts +14 -0
  405. package/packages/gateway/dist/web/write.d.ts.map +1 -1
  406. package/packages/gateway/dist/web/write.js +21 -0
  407. package/packages/gateway/dist/web/write.js.map +1 -1
  408. package/packages/install/dist/.tsbuildinfo +1 -1
  409. package/packages/runtime/dist/.tsbuildinfo +1 -1
  410. package/packages/runtime/dist/anthropic.d.ts +7 -0
  411. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  412. package/packages/runtime/dist/anthropic.js +19 -1
  413. package/packages/runtime/dist/anthropic.js.map +1 -1
  414. package/packages/runtime/dist/codex-direct.d.ts +1 -1
  415. package/packages/runtime/dist/codex-direct.js +1 -1
  416. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  417. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  418. package/packages/tools/browser/dist/controller.d.ts +16 -1
  419. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  420. package/packages/tools/browser/dist/controller.js +59 -5
  421. package/packages/tools/browser/dist/controller.js.map +1 -1
  422. package/packages/tools/browser/dist/driver.d.ts +12 -0
  423. package/packages/tools/browser/dist/driver.d.ts.map +1 -1
  424. package/packages/tools/browser/dist/driver.js +41 -2
  425. package/packages/tools/browser/dist/driver.js.map +1 -1
  426. package/packages/tools/browser/dist/extension.d.ts +49 -9
  427. package/packages/tools/browser/dist/extension.d.ts.map +1 -1
  428. package/packages/tools/browser/dist/extension.js +145 -21
  429. package/packages/tools/browser/dist/extension.js.map +1 -1
  430. package/packages/tools/browser/dist/index.d.ts +10 -6
  431. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  432. package/packages/tools/browser/dist/index.js +22 -8
  433. package/packages/tools/browser/dist/index.js.map +1 -1
  434. package/packages/tools/browser/dist/routes.d.ts +10 -1
  435. package/packages/tools/browser/dist/routes.d.ts.map +1 -1
  436. package/packages/tools/browser/dist/routes.js +24 -0
  437. package/packages/tools/browser/dist/routes.js.map +1 -1
  438. package/packages/tools/browser/dist/service.d.ts +48 -1
  439. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  440. package/packages/tools/browser/dist/service.js +114 -11
  441. package/packages/tools/browser/dist/service.js.map +1 -1
  442. package/packages/tools/browser/dist/types.d.ts +54 -3
  443. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  444. package/packages/tools/browser/dist/types.js +17 -1
  445. package/packages/tools/browser/dist/types.js.map +1 -1
  446. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  447. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  448. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  449. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  450. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  451. package/packages/web/dist/assets/index-oxmxR39o.js +155 -0
  452. package/packages/web/dist/assets/index-rMRjibNI.css +1 -0
  453. package/packages/web/dist/assets/{lottie_light-BJaxbmZQ.js → lottie_light-DROBTM6Y.js} +1 -1
  454. package/packages/web/dist/build.json +1 -1
  455. package/packages/web/dist/index.html +2 -2
  456. package/packages/web/dist/precache.json +4 -4
  457. package/node_modules/playwright/jsx-runtime.js +0 -42
  458. package/node_modules/playwright/jsx-runtime.mjs +0 -21
  459. package/node_modules/playwright-core/lib/vite/recorder/assets/index-hrlLqLtq.js +0 -129
  460. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +0 -182
  461. package/packages/web/dist/assets/index-DBVZzTau.css +0 -1
  462. package/packages/web/dist/assets/index-DqoP9iYJ.js +0 -155
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-DywYcAf8.js","./assets/defaultSettingsView-Ds6CBOo0.js","./assets/urlMatch-L3liM589.js","./defaultSettingsView.Bqk9acqE.css","./xtermModule.kHJ-D0s7.css"])))=>i.map(i=>d[i]);
2
- import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,k as m,l as h,m as g,n as _,p as v,r as y,t as b,u as x,v as S,w as C,x as w,y as T}from"./assets/defaultSettingsView-Ds6CBOo0.js";import"./assets/urlMatch-L3liM589.js";var E=m(t()),D=m(S(),1),O=class{constructor(e,t={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new k(``,`root`),this._options=t,this._reporter=e}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(e){let{method:t,params:n}=e;if(t===`onConfigure`){this._onConfigure(n.config);return}if(t===`onProject`){this._onProject(n.project);return}if(t===`onBegin`){this._onBegin();return}if(t===`onTestBegin`){this._onTestBegin(n.testId,n.result);return}if(t===`onTestPaused`){this._onTestPaused(n.testId,n.resultId,n.errors);return}if(t===`onTestEnd`){this._onTestEnd(n.test,n.result);return}if(t===`onStepBegin`){this._onStepBegin(n.testId,n.resultId,n.step);return}if(t===`onAttach`){this._onAttach(n.testId,n.resultId,n.attachments);return}if(t===`onStepEnd`){this._onStepEnd(n.testId,n.resultId,n.step);return}if(t===`onError`){this._onError(n.error,n.workerInfo);return}if(t===`onStdIO`){this._onStdIO(n.type,n.testId,n.resultId,n.data,n.isBase64);return}if(t===`onEnd`)return this._onEnd(n.result);if(t===`onExit`)return this._onExit()}_onConfigure(e){this._rootDir=e.rootDir,this._config=this._parseConfig(e),this._reporter.onConfigure?.(this._config)}_onProject(e){let t=this._options.mergeProjects?this._rootSuite.suites.find(t=>t.project().name===e.name):void 0;t||(t=new k(e.name,`project`),this._rootSuite._addSuite(t));let n=this._parseProject(e);t._project=n;let r=-1;this._options.mergeProjects&&(r=this._config.projects.findIndex(t=>t.name===e.name)),r===-1?this._config.projects.push(n):this._config.projects[r]=n;for(let n of e.suites)this._mergeSuiteInto(n,t)}_onBegin(){this._reporter.onBegin?.(this._rootSuite)}_onTestBegin(e,t){let n=this._tests.get(e);this._options.clearPreviousResultsWhenTestBegins&&(n.results=[]);let r=n._createTestResult(t.id);r.retry=t.retry,r.workerIndex=t.workerIndex,r.parallelIndex=t.parallelIndex,r.setStartTimeNumber(t.startTime),this._reporter.onTestBegin?.(n,r)}_onTestPaused(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t);i.errors.push(...n),i.error=i.errors[0],this._reporter.onTestPaused?.(r,i)}_onTestEnd(e,t){let n=this._tests.get(e.testId);n.timeout=e.timeout,n.expectedStatus=e.expectedStatus;let r=n.results.find(e=>e._id===t.id);r.duration=t.duration,r.status=t.status,r.errors.push(...t.errors??[]),r.error=r.errors[0],t.attachments&&(r.attachments=this._parseAttachments(t.attachments)),t.annotations&&(this._absoluteAnnotationLocationsInplace(t.annotations),r.annotations=t.annotations,n.annotations=t.annotations),this._reporter.onTestEnd?.(n,r),r._stepMap=new Map}_onStepBegin(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t),a=n.parentStepId?i._stepMap.get(n.parentStepId):void 0,o=new ee(n,a,this._absoluteLocation(n.location),i);a?a.steps.push(o):i.steps.push(o),i._stepMap.set(n.id,o),this._reporter.onStepBegin?.(r,i,o)}_onStepEnd(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t),a=i._stepMap.get(n.id);a._endPayload=n,a.duration=n.duration,a.error=n.error,this._reporter.onStepEnd?.(r,i,a)}_onAttach(e,t,n){this._tests.get(e).results.find(e=>e._id===t).attachments.push(...n.map(e=>({name:e.name,contentType:e.contentType,path:e.path,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,`base64`):void 0})))}_onError(e,t){let n;if(t){let e=this._config.projects.find(e=>e.name===t.projectName);e&&(n={workerIndex:t.workerIndex,parallelIndex:t.parallelIndex,config:this._config,project:e})}this._reporter.onError?.(e,n)}_onStdIO(e,t,n,r,i){let a=i?globalThis.Buffer?Buffer.from(r,`base64`):atob(r):r,o=t?this._tests.get(t):void 0,s=o&&n?o.results.find(e=>e._id===n):void 0;e===`stdout`?(s?.stdout.push(a),this._reporter.onStdOut?.(a,o,s)):(s?.stderr.push(a),this._reporter.onStdErr?.(a,o,s))}async _onEnd(e){await this._reporter.onEnd?.(F(e))}_onExit(){return this._reporter.onExit?.()}_parseConfig(e){let t=I(e);return this._options.configOverrides&&(t.configFile=this._options.configOverrides.configFile,t.reportSlowTests=this._options.configOverrides.reportSlowTests,t.quiet=this._options.configOverrides.quiet,t.reporter=[...this._options.configOverrides.reporter]),t}_parseProject(e){return{metadata:e.metadata,name:e.name,outputDir:this._absolutePath(e.outputDir),repeatEach:e.repeatEach,retries:e.retries,testDir:this._absolutePath(e.testDir),testIgnore:N(e.testIgnore),testMatch:N(e.testMatch),timeout:e.timeout,grep:N(e.grep),grepInvert:N(e.grepInvert),dependencies:e.dependencies,teardown:e.teardown,snapshotDir:this._absolutePath(e.snapshotDir),ignoreSnapshots:e.ignoreSnapshots??!1,use:e.use}}_parseAttachments(e){return e.map(e=>({...e,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,`base64`):void 0}))}_mergeSuiteInto(e,t){let n=t.suites.find(t=>t.title===e.title);n||(n=new k(e.title,t.type===`project`?`file`:`describe`),t._addSuite(n)),n.location=this._absoluteLocation(e.location),e.entries.forEach(e=>{`testId`in e?this._mergeTestInto(e,n):this._mergeSuiteInto(e,n)})}_mergeTestInto(e,t){let n=this._options.mergeTestCases?t.tests.find(t=>t.title===e.title&&t.repeatEachIndex===e.repeatEachIndex):void 0;n||(n=new A(e.testId,e.title,this._absoluteLocation(e.location),e.repeatEachIndex),t._addTest(n),this._tests.set(n.id,n)),this._updateTest(e,n)}_updateTest(e,t){return t.id=e.testId,t.location=this._absoluteLocation(e.location),t.retries=e.retries,t.tags=e.tags??[],t.annotations=e.annotations??[],this._absoluteAnnotationLocationsInplace(t.annotations),t}_absoluteAnnotationLocationsInplace(e){for(let t of e)t.location&&=this._absoluteLocation(t.location)}_absoluteLocation(e){return e&&{...e,file:this._absolutePath(e.file)}}_absolutePath(e){if(e!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,e):this._rootDir+`/`+e}},k=class{constructor(e,t){this._entries=[],this._requireFile=``,this._parallelMode=`none`,this.title=e,this._type=t}get type(){return this._type}get suites(){return this._entries.filter(e=>e.type!==`test`)}get tests(){return this._entries.filter(e=>e.type===`test`)}entries(){return this._entries}allTests(){let e=[],t=n=>{for(let r of n.entries())r.type===`test`?e.push(r):t(r)};return t(this),e}titlePath(){let e=this.parent?this.parent.titlePath():[];return(this.title||this._type!==`describe`)&&e.push(this.title),e}project(){return this._project??this.parent?.project()}_addTest(e){e.parent=this,this._entries.push(e)}_addSuite(e){e.parent=this,this._entries.push(e)}skip(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}fixme(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}fail(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}exclude(){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}},A=class{constructor(e,t,n,r){this.fn=()=>{},this.results=[],this.type=`test`,this.expectedStatus=`passed`,this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=e,this.title=t,this.location=n,this.repeatEachIndex=r}titlePath(){let e=this.parent?this.parent.titlePath():[];return e.push(this.title),e}outcome(){return P(this)}ok(){let e=this.outcome();return e===`expected`||e===`flaky`||e===`skipped`}_createTestResult(e){let t=new j(this.results.length,e);return this.results.push(t),t}skip(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}fixme(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}fail(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}exclude(){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}},ee=class{constructor(e,t,n,r){this.duration=-1,this.steps=[],this._startTime=0,this.title=e.title,this.subtitle=e.subtitle,this.category=e.category,this.params=e.params,this.location=n,this.parent=t,this._startTime=e.startTime,this._result=r}titlePath(){return[...this.parent?.titlePath()||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}get attachments(){return this._endPayload?.attachments?.map(e=>this._result.attachments[e])??[]}get annotations(){return this._endPayload?.annotations??[]}},j=class{constructor(e,t){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status=`skipped`,this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=e,this._id=t}setStartTimeNumber(e){this._startTime=e}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}},M={argv:[],failOnFlakyTests:!1,forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:`always`,projects:[],reporter:[[{}.CI?`dot`:`list`]],reportSlowTests:{max:5,threshold:3e5},configFile:``,rootDir:``,quiet:!1,shard:null,tags:[],updateSnapshots:`missing`,updateSourceMethod:`patch`,version:``,workers:0,webServer:null};function N(e){return e.map(e=>e.s===void 0?new RegExp(e.r.source,e.r.flags):e.s)}function P(e){let t=0,n=0,r=0,i=0,a=0;for(let o of e.results)o.status===`interrupted`?++i:o.status===`skipped`&&e.expectedStatus===`skipped`?++t:o.status===`skipped`?++n:o.status===e.expectedStatus?++r:++a;return r===0&&a===0?`skipped`:a===0?`expected`:r===0&&t===0?`unexpected`:`flaky`}function F(e){return{status:e.status,startTime:new Date(e.startTime),duration:e.duration}}function I(e){return{...M,...e}}var te=class{constructor(e,t,n,r,i,a){this._treeItemById=new Map,this._treeItemByTestId=new Map;let o=r&&[...r.values()].some(Boolean);this.pathSeparator=i,this.rootItem={kind:`group`,subKind:`folder`,id:e,title:``,location:{file:``,line:0,column:0},duration:0,parent:void 0,children:[],status:`none`,hasLoadErrors:!1},this._treeItemById.set(e,this.rootItem);let s=(e,t,n,r)=>{for(let i of r===`tests`?[]:t.suites){if(!i.title){s(e,i,n,`all`);continue}let r=n.children.find(e=>e.kind===`group`&&e.title===i.title);r||(r={kind:`group`,subKind:`describe`,id:`suite:`+t.titlePath().join(``)+``+i.title,title:i.title,location:i.location,duration:0,parent:n,children:[],status:`none`,hasLoadErrors:!1},this._addChild(n,r)),s(e,i,r,`all`)}for(let i of r===`suites`?[]:t.tests){let t=i.title,r=n.children.find(e=>e.kind!==`group`&&e.title===t);r||(r={kind:`case`,id:`test:`+i.titlePath().join(``),title:t,parent:n,children:[],tests:[],location:i.location,duration:0,status:`none`,project:void 0,test:void 0,tags:i.tags},this._addChild(n,r));let a=i.results[0],o=`none`;a?.[R]===`scheduled`?o=`scheduled`:a?.[R]===`running`?o=`running`:a?.status===`skipped`?o=`skipped`:a?.status===`interrupted`?o=`none`:a&&i.outcome()!==`expected`?o=`failed`:a&&i.outcome()===`expected`&&(o=`passed`),r.tests.push(i);let s={kind:`test`,id:i.id,title:e.name,location:i.location,test:i,parent:r,children:[],status:o,duration:i.results.length?Math.max(0,i.results[0].duration):0,project:e};this._addChild(r,s),this._treeItemByTestId.set(i.id,s),r.duration=r.children.reduce((e,t)=>e+t.duration,0)}};for(let e of t?.suites||[])if(!(o&&!r.get(e.title)))for(let t of e.suites)if(a){if(s(e.project(),t,this.rootItem,`suites`),t.tests.length){let n=this._defaultDescribeItem();s(e.project(),t,n,`tests`)}}else{let n=this._fileItem(t.location.file.split(i),!0);s(e.project(),t,n,`all`)}for(let e of n){if(!e.location)continue;let t=this._fileItem(e.location.file.split(i),!0);t.hasLoadErrors=!0}}_addChild(e,t){e.children.push(t),t.parent=e,this._treeItemById.set(t.id,t)}filterTree(e,t,n){let r=e.trim().toLowerCase().split(` `),i=[...t.values()].some(Boolean),a=e=>{let a=[...e.tests[0].titlePath(),...e.tests[0].tags].join(` `).toLowerCase();return!r.every(e=>a.includes(e))&&!e.tests.some(e=>n?.has(e.id))?!1:(e.children=e.children.filter(e=>!i||n?.has(e.test.id)||t.get(e.status)),e.tests=e.children.map(e=>e.test),!!e.children.length)},o=e=>{let t=[];for(let n of e.children)n.kind===`case`?a(n)&&t.push(n):(o(n),(n.children.length||n.hasLoadErrors)&&t.push(n));e.children=t};o(this.rootItem)}_fileItem(e,t){if(e.length===0)return this.rootItem;let n=e.join(this.pathSeparator),r=this._treeItemById.get(n);if(r)return r;let i=this._fileItem(e.slice(0,e.length-1),!1),a={kind:`group`,subKind:t?`file`:`folder`,id:n,title:e[e.length-1],location:{file:n,line:0,column:0},duration:0,parent:i,children:[],status:`none`,hasLoadErrors:!1};return this._addChild(i,a),a}_defaultDescribeItem(){let e=this._treeItemById.get(`<anonymous>`);return e||(e={kind:`group`,subKind:`describe`,id:`<anonymous>`,title:`<anonymous>`,location:{file:``,line:0,column:0},duration:0,parent:this.rootItem,children:[],status:`none`,hasLoadErrors:!1},this._addChild(this.rootItem,e)),e}sortAndPropagateStatus(){L(this.rootItem)}flattenForSingleProject(){let e=t=>{t.kind===`case`&&t.children.length===1?(t.project=t.children[0].project,t.test=t.children[0].test,t.children=[],this._treeItemByTestId.set(t.test.id,t)):t.children.forEach(e)};e(this.rootItem)}shortenRoot(){let e=this.rootItem;for(;e.children.length===1&&e.children[0].kind===`group`&&e.children[0].subKind===`folder`;)e=e.children[0];e.location=this.rootItem.location,this.rootItem=e}fileNames(){let e=new Set,t=n=>{n.kind===`group`&&n.subKind===`file`?e.add(n.id):n.children.forEach(t)};return t(this.rootItem),[...e]}flatTreeItems(){let e=[],t=n=>{e.push(n),n.children.forEach(t)};return t(this.rootItem),e}treeItemById(e){return this._treeItemById.get(e)}collectTestIds(e){return ne(e)}};function L(e){for(let t of e.children)L(t);e.kind===`group`&&e.children.sort((e,t)=>e.location.file.localeCompare(t.location.file)||e.location.line-t.location.line);let t=e.children.length>0,n=e.children.length>0,r=!1,i=!1,a=!1;for(let o of e.children)n&&=o.status===`skipped`,t&&=o.status===`passed`||o.status===`skipped`,r||=o.status===`failed`,i||=o.status===`running`,a||=o.status===`scheduled`;i?e.status=`running`:a?e.status=`scheduled`:r?e.status=`failed`:n?e.status=`skipped`:t&&(e.status=`passed`)}function ne(e){let t=new Set,n=new Set,r=e=>{if(e.kind!==`test`&&e.kind!==`case`){e.children.forEach(r);return}let i=e;for(;i&&i.parent&&!(i.kind===`group`&&i.subKind===`file`);)i=i.parent;n.add(i.location.file),e.kind===`case`?e.tests.forEach(e=>t.add(e.id)):t.add(e.id)};return r(e),{testIds:t,locations:n}}var R=Symbol(`statusEx`),re=class{constructor(e){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new O(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:ie(e.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=e}_createReporter(){return{version:()=>`v2`,onConfigure:e=>{this.config=e,this._lastRunReceiver=new O({version:()=>`v2`,onBegin:e=>{this._lastRunTestCount=e.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:ie(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:`onConfigure`,params:{config:e}})},onBegin:e=>{if(this.rootSuite||=e,this._testResultsSnapshot){for(let e of this.rootSuite.allTests())e.results=this._testResultsSnapshot?.get(e.id)||e.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(e,t)=>{t[R]=`running`,this._options.onUpdate()},onTestEnd:(e,t)=>{e.outcome()===`skipped`?++this.progress.skipped:e.outcome()===`unexpected`?++this.progress.failed:++this.progress.passed,t[R]=t.status,this._options.onUpdate()},onError:e=>this._handleOnError(e),printsToStdio:()=>!1}}processGlobalReport(e){let t=new O({version:()=>`v2`,onConfigure:e=>{this.config=e},onError:e=>this._handleOnError(e)});for(let n of e)t.dispatch(n)}processListReport(e){let t=this.rootSuite?.allTests()||[];this._testResultsSnapshot=new Map(t.map(e=>[e.id,e.results])),this._receiver.reset();for(let t of e)this._receiver.dispatch(t)}processTestReportEvent(e){this._lastRunReceiver?.dispatch(e)?.catch(()=>{}),this._receiver.dispatch(e)?.catch(()=>{})}_handleOnError(e){this.loadErrors.push(e),this._options.onError?.(e),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new k(``,`root`),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}};function ie(e){return(t,n)=>{let r=[];for(let i of[...t.split(e),...n.split(e)]){let t=e===`\\`&&r.length===1&&r[0].endsWith(`:`),n=!r.length;if(!(!i&&!n&&!t)&&i!==`.`){if(i===`..`){r.pop();continue}r.push(i)}}return r.join(e)}}var z=d(),ae=({source:e})=>{let[t,n]=i(),[a,o]=E.useState(w()),[s]=E.useState(x(()=>import(`./assets/xtermModule-DywYcAf8.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),c=E.useRef(null);return E.useEffect(()=>(T(o),()=>r(o)),[]),E.useEffect(()=>{let t=e.write,r=e.clear;return(async()=>{let{Terminal:t,FitAddon:r}=await s,i=n.current;if(!i)return;let o=a===`dark-mode`?se:oe;if(c.current&&c.current.terminal.options.theme===o)return;c.current&&(i.textContent=``);let l=new t({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:`monospace`,theme:o}),u=new r;l.loadAddon(u);for(let t of e.pending)l.write(t);e.write=(t=>{e.pending.push(t),l.write(t)}),e.clear=()=>{e.pending=[],l.clear()},l.open(i),u.fit(),c.current={terminal:l,fitAddon:u}})(),()=>{e.clear=r,e.write=t}},[s,c,n,e,a]),E.useEffect(()=>{setTimeout(()=>{c.current&&(c.current.fitAddon.fit(),e.resize(c.current.terminal.cols,c.current.terminal.rows))},250)},[t,e]),(0,z.jsx)(`div`,{"data-testid":`output`,className:`xterm-wrapper`,style:{flex:`auto`},ref:n})},oe={foreground:`#383a42`,background:`#fafafa`,cursor:`#383a42`,black:`#000000`,red:`#e45649`,green:`#50a14f`,yellow:`#c18401`,blue:`#4078f2`,magenta:`#a626a4`,cyan:`#0184bc`,white:`#a0a0a0`,brightBlack:`#000000`,brightRed:`#e06c75`,brightGreen:`#98c379`,brightYellow:`#d19a66`,brightBlue:`#4078f2`,brightMagenta:`#a626a4`,brightCyan:`#0184bc`,brightWhite:`#383a42`,selectionBackground:`#d7d7d7`,selectionForeground:`#383a42`},se={foreground:`#f8f8f2`,background:`#1e1e1e`,cursor:`#f8f8f0`,black:`#000000`,red:`#ff5555`,green:`#50fa7b`,yellow:`#f1fa8c`,blue:`#bd93f9`,magenta:`#ff79c6`,cyan:`#8be9fd`,white:`#bfbfbf`,brightBlack:`#4d4d4d`,brightRed:`#ff6e6e`,brightGreen:`#69ff94`,brightYellow:`#ffffa5`,brightBlue:`#d6acff`,brightMagenta:`#ff92df`,brightCyan:`#a4ffff`,brightWhite:`#e6e6e6`,selectionBackground:`#44475a`,selectionForeground:`#f8f8f2`},ce=({filterText:e,setFilterText:t,statusFilters:n,setStatusFilters:r,projectFilters:i,setProjectFilters:a,onlyChanged:o,setOnlyChanged:s,testModel:c,runTests:l})=>{let[u,d]=E.useState(!1),f=E.useRef(null);E.useEffect(()=>{f.current?.focus()},[]);let p=[...n.entries()].filter(([e,t])=>t).map(([e])=>e).join(` `)||`all`,m=[...i.entries()].filter(([e,t])=>t).map(([e])=>e).join(` `)||`all`;return(0,z.jsxs)(`div`,{className:`filters`,children:[(0,z.jsx)(h,{expanded:u,setExpanded:d,title:(0,z.jsx)(`input`,{ref:f,type:`search`,placeholder:`Filter (e.g. text, @tag)`,"aria-label":`Filter (e.g. text, @tag)`,spellCheck:!1,value:e,onChange:e=>{t(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&l()}})}),(0,z.jsxs)(`button`,{className:`filter-summary`,"aria-expanded":u,title:`Status: `+p+`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-B794rD2Z.js","./assets/defaultSettingsView-D-g2vrvf.js","./assets/urlMatch-L3liM589.js","./defaultSettingsView.C8BeHuxd.css","./xtermModule.kHJ-D0s7.css"])))=>i.map(i=>d[i]);
2
+ import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,k as m,l as h,m as g,n as _,p as v,r as y,t as b,u as x,v as S,w as C,x as w,y as T}from"./assets/defaultSettingsView-D-g2vrvf.js";import"./assets/urlMatch-L3liM589.js";var E=m(t()),D=m(S(),1),O=class{constructor(e,t={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new k(``,`root`),this._options=t,this._reporter=e}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(e){let{method:t,params:n}=e;if(t===`onConfigure`){this._onConfigure(n.config);return}if(t===`onProject`){this._onProject(n.project);return}if(t===`onBegin`){this._onBegin();return}if(t===`onTestBegin`){this._onTestBegin(n.testId,n.result);return}if(t===`onTestPaused`){this._onTestPaused(n.testId,n.resultId,n.errors);return}if(t===`onTestEnd`){this._onTestEnd(n.test,n.result);return}if(t===`onStepBegin`){this._onStepBegin(n.testId,n.resultId,n.step);return}if(t===`onAttach`){this._onAttach(n.testId,n.resultId,n.attachments);return}if(t===`onStepEnd`){this._onStepEnd(n.testId,n.resultId,n.step);return}if(t===`onError`){this._onError(n.error,n.workerInfo);return}if(t===`onStdIO`){this._onStdIO(n.type,n.testId,n.resultId,n.data,n.isBase64);return}if(t===`onEnd`)return this._onEnd(n.result);if(t===`onExit`)return this._onExit()}_onConfigure(e){this._rootDir=e.rootDir,this._config=this._parseConfig(e),this._reporter.onConfigure?.(this._config)}_onProject(e){let t=this._options.mergeProjects?this._rootSuite.suites.find(t=>t.project().name===e.name):void 0;t||(t=new k(e.name,`project`),this._rootSuite._addSuite(t));let n=this._parseProject(e);t._project=n;let r=-1;this._options.mergeProjects&&(r=this._config.projects.findIndex(t=>t.name===e.name)),r===-1?this._config.projects.push(n):this._config.projects[r]=n;for(let n of e.suites)this._mergeSuiteInto(n,t)}_onBegin(){this._reporter.onBegin?.(this._rootSuite)}_onTestBegin(e,t){let n=this._tests.get(e);this._options.clearPreviousResultsWhenTestBegins&&(n.results=[]);let r=n._createTestResult(t.id);r.retry=t.retry,r.workerIndex=t.workerIndex,r.parallelIndex=t.parallelIndex,r.setStartTimeNumber(t.startTime),this._reporter.onTestBegin?.(n,r)}_onTestPaused(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t);i.errors.push(...n),i.error=i.errors[0],this._reporter.onTestPaused?.(r,i)}_onTestEnd(e,t){let n=this._tests.get(e.testId);n.timeout=e.timeout,n.expectedStatus=e.expectedStatus;let r=n.results.find(e=>e._id===t.id);r.duration=t.duration,r.status=t.status,r.errors.push(...t.errors??[]),r.error=r.errors[0],t.attachments&&(r.attachments=this._parseAttachments(t.attachments)),t.annotations&&(this._absoluteAnnotationLocationsInplace(t.annotations),r.annotations=t.annotations,n.annotations=t.annotations),this._reporter.onTestEnd?.(n,r),r._stepMap=new Map}_onStepBegin(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t),a=n.parentStepId?i._stepMap.get(n.parentStepId):void 0,o=new ee(n,a,this._absoluteLocation(n.location),i);a?a.steps.push(o):i.steps.push(o),i._stepMap.set(n.id,o),this._reporter.onStepBegin?.(r,i,o)}_onStepEnd(e,t,n){let r=this._tests.get(e),i=r.results.find(e=>e._id===t),a=i._stepMap.get(n.id);a._endPayload=n,a.duration=n.duration,a.error=n.error,this._reporter.onStepEnd?.(r,i,a)}_onAttach(e,t,n){this._tests.get(e).results.find(e=>e._id===t).attachments.push(...n.map(e=>({name:e.name,contentType:e.contentType,path:e.path,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,`base64`):void 0})))}_onError(e,t){let n;if(t){let e=this._config.projects.find(e=>e.name===t.projectName);e&&(n={workerIndex:t.workerIndex,parallelIndex:t.parallelIndex,config:this._config,project:e})}this._reporter.onError?.(e,n)}_onStdIO(e,t,n,r,i){let a=i?globalThis.Buffer?Buffer.from(r,`base64`):atob(r):r,o=t?this._tests.get(t):void 0,s=o&&n?o.results.find(e=>e._id===n):void 0;e===`stdout`?(s?.stdout.push(a),this._reporter.onStdOut?.(a,o,s)):(s?.stderr.push(a),this._reporter.onStdErr?.(a,o,s))}async _onEnd(e){await this._reporter.onEnd?.(F(e))}_onExit(){return this._reporter.onExit?.()}_parseConfig(e){let t=I(e);return this._options.configOverrides&&(t.configFile=this._options.configOverrides.configFile,t.reportSlowTests=this._options.configOverrides.reportSlowTests,t.quiet=this._options.configOverrides.quiet,t.reporter=[...this._options.configOverrides.reporter]),t}_parseProject(e){return{metadata:e.metadata,name:e.name,outputDir:this._absolutePath(e.outputDir),repeatEach:e.repeatEach,retries:e.retries,testDir:this._absolutePath(e.testDir),testIgnore:N(e.testIgnore),testMatch:N(e.testMatch),timeout:e.timeout,grep:N(e.grep),grepInvert:N(e.grepInvert),dependencies:e.dependencies,teardown:e.teardown,snapshotDir:this._absolutePath(e.snapshotDir),ignoreSnapshots:e.ignoreSnapshots??!1,use:e.use}}_parseAttachments(e){return e.map(e=>({...e,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,`base64`):void 0}))}_mergeSuiteInto(e,t){let n=t.suites.find(t=>t.title===e.title);n||(n=new k(e.title,t.type===`project`?`file`:`describe`),t._addSuite(n)),n.location=this._absoluteLocation(e.location),e.entries.forEach(e=>{`testId`in e?this._mergeTestInto(e,n):this._mergeSuiteInto(e,n)})}_mergeTestInto(e,t){let n=this._options.mergeTestCases?t.tests.find(t=>t.title===e.title&&t.repeatEachIndex===e.repeatEachIndex):void 0;n||(n=new A(e.testId,e.title,this._absoluteLocation(e.location),e.repeatEachIndex),t._addTest(n),this._tests.set(n.id,n)),this._updateTest(e,n)}_updateTest(e,t){return t.id=e.testId,t.location=this._absoluteLocation(e.location),t.retries=e.retries,t.tags=e.tags??[],t.annotations=e.annotations??[],this._absoluteAnnotationLocationsInplace(t.annotations),t}_absoluteAnnotationLocationsInplace(e){for(let t of e)t.location&&=this._absoluteLocation(t.location)}_absoluteLocation(e){return e&&{...e,file:this._absolutePath(e.file)}}_absolutePath(e){if(e!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,e):this._rootDir+`/`+e}},k=class{constructor(e,t){this._entries=[],this._requireFile=``,this._parallelMode=`none`,this.title=e,this._type=t}get type(){return this._type}get suites(){return this._entries.filter(e=>e.type!==`test`)}get tests(){return this._entries.filter(e=>e.type===`test`)}entries(){return this._entries}allTests(){let e=[],t=n=>{for(let r of n.entries())r.type===`test`?e.push(r):t(r)};return t(this),e}titlePath(){let e=this.parent?this.parent.titlePath():[];return(this.title||this._type!==`describe`)&&e.push(this.title),e}project(){return this._project??this.parent?.project()}_addTest(e){e.parent=this,this._entries.push(e)}_addSuite(e){e.parent=this,this._entries.push(e)}skip(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}fixme(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}fail(e){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}exclude(){throw Error(`Disposition methods are not supported on a TeleSuite (read-only).`)}},A=class{constructor(e,t,n,r){this.fn=()=>{},this.results=[],this.type=`test`,this.expectedStatus=`passed`,this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=e,this.title=t,this.location=n,this.repeatEachIndex=r}titlePath(){let e=this.parent?this.parent.titlePath():[];return e.push(this.title),e}outcome(){return P(this)}ok(){let e=this.outcome();return e===`expected`||e===`flaky`||e===`skipped`}_createTestResult(e){let t=new j(this.results.length,e);return this.results.push(t),t}skip(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}fixme(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}fail(e){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}exclude(){throw Error(`Disposition methods are not supported on a TeleTestCase (read-only).`)}},ee=class{constructor(e,t,n,r){this.duration=-1,this.steps=[],this._startTime=0,this.title=e.title,this.subtitle=e.subtitle,this.category=e.category,this.params=e.params,this.location=n,this.parent=t,this._startTime=e.startTime,this._result=r}titlePath(){return[...this.parent?.titlePath()||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}get attachments(){return this._endPayload?.attachments?.map(e=>this._result.attachments[e])??[]}get annotations(){return this._endPayload?.annotations??[]}},j=class{constructor(e,t){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status=`skipped`,this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=e,this._id=t}setStartTimeNumber(e){this._startTime=e}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}},M={argv:[],failOnFlakyTests:!1,forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:`always`,projects:[],filteredProjects:[],reporter:[[{}.CI?`dot`:`list`]],reportSlowTests:{max:5,threshold:3e5},configFile:``,rootDir:``,quiet:!1,shard:null,tags:[],updateSnapshots:`default`,updateSourceMethod:`patch`,version:``,workers:0,webServer:null};function N(e){return e.map(e=>e.s===void 0?new RegExp(e.r.source,e.r.flags):e.s)}function P(e){let t=0,n=0,r=0,i=0,a=0;for(let o of e.results)o.status===`interrupted`?++i:o.status===`skipped`&&e.expectedStatus===`skipped`?++t:o.status===`skipped`?++n:o.status===e.expectedStatus?++r:++a;return r===0&&a===0?`skipped`:a===0?`expected`:r===0&&t===0?`unexpected`:`flaky`}function F(e){return{status:e.status,startTime:new Date(e.startTime),duration:e.duration}}function I(e){return{...M,...e}}var te=class{constructor(e,t,n,r,i,a){this._treeItemById=new Map,this._treeItemByTestId=new Map;let o=r&&[...r.values()].some(Boolean);this.pathSeparator=i,this.rootItem={kind:`group`,subKind:`folder`,id:e,title:``,location:{file:``,line:0,column:0},duration:0,parent:void 0,children:[],status:`none`,hasLoadErrors:!1},this._treeItemById.set(e,this.rootItem);let s=(e,t,n,r)=>{for(let i of r===`tests`?[]:t.suites){if(!i.title){s(e,i,n,`all`);continue}let r=n.children.find(e=>e.kind===`group`&&e.title===i.title);r||(r={kind:`group`,subKind:`describe`,id:`suite:`+t.titlePath().join(``)+``+i.title,title:i.title,location:i.location,duration:0,parent:n,children:[],status:`none`,hasLoadErrors:!1},this._addChild(n,r)),s(e,i,r,`all`)}for(let i of r===`suites`?[]:t.tests){let t=i.title,r=n.children.find(e=>e.kind!==`group`&&e.title===t);r||(r={kind:`case`,id:`test:`+i.titlePath().join(``),title:t,parent:n,children:[],tests:[],location:i.location,duration:0,status:`none`,project:void 0,test:void 0,tags:i.tags},this._addChild(n,r));let a=i.results[0],o=`none`;a?.[R]===`scheduled`?o=`scheduled`:a?.[R]===`running`?o=`running`:a?.status===`skipped`?o=`skipped`:a?.status===`interrupted`?o=`none`:a&&i.outcome()!==`expected`?o=`failed`:a&&i.outcome()===`expected`&&(o=`passed`),r.tests.push(i);let s={kind:`test`,id:i.id,title:e.name,location:i.location,test:i,parent:r,children:[],status:o,duration:i.results.length?Math.max(0,i.results[0].duration):0,project:e};this._addChild(r,s),this._treeItemByTestId.set(i.id,s),r.duration=r.children.reduce((e,t)=>e+t.duration,0)}};for(let e of t?.suites||[])if(!(o&&!r.get(e.title)))for(let t of e.suites)if(a){if(s(e.project(),t,this.rootItem,`suites`),t.tests.length){let n=this._defaultDescribeItem();s(e.project(),t,n,`tests`)}}else{let n=this._fileItem(t.location.file.split(i),!0);s(e.project(),t,n,`all`)}for(let e of n){if(!e.location)continue;let t=this._fileItem(e.location.file.split(i),!0);t.hasLoadErrors=!0}}_addChild(e,t){e.children.push(t),t.parent=e,this._treeItemById.set(t.id,t)}filterTree(e,t,n){let r=e.trim().toLowerCase().split(` `),i=[...t.values()].some(Boolean),a=e=>{let a=[...e.tests[0].titlePath(),...e.tests[0].tags].join(` `).toLowerCase();return!r.every(e=>a.includes(e))&&!e.tests.some(e=>n?.has(e.id))?!1:(e.children=e.children.filter(e=>!i||n?.has(e.test.id)||t.get(e.status)),e.tests=e.children.map(e=>e.test),!!e.children.length)},o=e=>{let t=[];for(let n of e.children)n.kind===`case`?a(n)&&t.push(n):(o(n),(n.children.length||n.hasLoadErrors)&&t.push(n));e.children=t};o(this.rootItem)}_fileItem(e,t){if(e.length===0)return this.rootItem;let n=e.join(this.pathSeparator),r=this._treeItemById.get(n);if(r)return r;let i=this._fileItem(e.slice(0,e.length-1),!1),a={kind:`group`,subKind:t?`file`:`folder`,id:n,title:e[e.length-1],location:{file:n,line:0,column:0},duration:0,parent:i,children:[],status:`none`,hasLoadErrors:!1};return this._addChild(i,a),a}_defaultDescribeItem(){let e=this._treeItemById.get(`<anonymous>`);return e||(e={kind:`group`,subKind:`describe`,id:`<anonymous>`,title:`<anonymous>`,location:{file:``,line:0,column:0},duration:0,parent:this.rootItem,children:[],status:`none`,hasLoadErrors:!1},this._addChild(this.rootItem,e)),e}sortAndPropagateStatus(){L(this.rootItem)}flattenForSingleProject(){let e=t=>{t.kind===`case`&&t.children.length===1?(t.project=t.children[0].project,t.test=t.children[0].test,t.children=[],this._treeItemByTestId.set(t.test.id,t)):t.children.forEach(e)};e(this.rootItem)}shortenRoot(){let e=this.rootItem;for(;e.children.length===1&&e.children[0].kind===`group`&&e.children[0].subKind===`folder`;)e=e.children[0];e.location=this.rootItem.location,this.rootItem=e}fileNames(){let e=new Set,t=n=>{n.kind===`group`&&n.subKind===`file`?e.add(n.id):n.children.forEach(t)};return t(this.rootItem),[...e]}flatTreeItems(){let e=[],t=n=>{e.push(n),n.children.forEach(t)};return t(this.rootItem),e}treeItemById(e){return this._treeItemById.get(e)}collectTestIds(e){return ne(e)}};function L(e){for(let t of e.children)L(t);e.kind===`group`&&e.children.sort((e,t)=>e.location.file.localeCompare(t.location.file)||e.location.line-t.location.line);let t=e.children.length>0,n=e.children.length>0,r=!1,i=!1,a=!1;for(let o of e.children)n&&=o.status===`skipped`,t&&=o.status===`passed`||o.status===`skipped`,r||=o.status===`failed`,i||=o.status===`running`,a||=o.status===`scheduled`;i?e.status=`running`:a?e.status=`scheduled`:r?e.status=`failed`:n?e.status=`skipped`:t&&(e.status=`passed`)}function ne(e){let t=new Set,n=new Set,r=e=>{if(e.kind!==`test`&&e.kind!==`case`){e.children.forEach(r);return}let i=e;for(;i&&i.parent&&!(i.kind===`group`&&i.subKind===`file`);)i=i.parent;n.add(i.location.file),e.kind===`case`?e.tests.forEach(e=>t.add(e.id)):t.add(e.id)};return r(e),{testIds:t,locations:n}}var R=Symbol(`statusEx`),re=class{constructor(e){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new O(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:ie(e.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=e}_createReporter(){return{version:()=>`v2`,onConfigure:e=>{this.config=e,this._lastRunReceiver=new O({version:()=>`v2`,onBegin:e=>{this._lastRunTestCount=e.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:ie(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:`onConfigure`,params:{config:e}})},onBegin:e=>{if(this.rootSuite||=e,this._testResultsSnapshot){for(let e of this.rootSuite.allTests())e.results=this._testResultsSnapshot?.get(e.id)||e.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(e,t)=>{t[R]=`running`,this._options.onUpdate()},onTestEnd:(e,t)=>{e.outcome()===`skipped`?++this.progress.skipped:e.outcome()===`unexpected`?++this.progress.failed:++this.progress.passed,t[R]=t.status,this._options.onUpdate()},onError:e=>this._handleOnError(e),printsToStdio:()=>!1}}processGlobalReport(e){let t=new O({version:()=>`v2`,onConfigure:e=>{this.config=e},onError:e=>this._handleOnError(e)});for(let n of e)t.dispatch(n)}processListReport(e){let t=this.rootSuite?.allTests()||[];this._testResultsSnapshot=new Map(t.map(e=>[e.id,e.results])),this._receiver.reset();for(let t of e)this._receiver.dispatch(t)}processTestReportEvent(e){this._lastRunReceiver?.dispatch(e)?.catch(()=>{}),this._receiver.dispatch(e)?.catch(()=>{})}_handleOnError(e){this.loadErrors.push(e),this._options.onError?.(e),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new k(``,`root`),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}};function ie(e){return(t,n)=>{let r=[];for(let i of[...t.split(e),...n.split(e)]){let t=e===`\\`&&r.length===1&&r[0].endsWith(`:`),n=!r.length;if(!(!i&&!n&&!t)&&i!==`.`){if(i===`..`){r.pop();continue}r.push(i)}}return r.join(e)}}var z=d(),ae=({source:e})=>{let[t,n]=i(),[a,o]=E.useState(w()),[s]=E.useState(x(()=>import(`./assets/xtermModule-B794rD2Z.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),c=E.useRef(null);return E.useEffect(()=>(T(o),()=>r(o)),[]),E.useEffect(()=>{let t=e.write,r=e.clear;return(async()=>{let{Terminal:t,FitAddon:r}=await s,i=n.current;if(!i)return;let o=a===`dark-mode`?se:oe;if(c.current&&c.current.terminal.options.theme===o)return;c.current&&(i.textContent=``);let l=new t({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:`monospace`,theme:o}),u=new r;l.loadAddon(u);for(let t of e.pending)l.write(t);e.write=(t=>{e.pending.push(t),l.write(t)}),e.clear=()=>{e.pending=[],l.clear()},l.open(i),u.fit(),c.current={terminal:l,fitAddon:u}})(),()=>{e.clear=r,e.write=t}},[s,c,n,e,a]),E.useEffect(()=>{setTimeout(()=>{c.current&&(c.current.fitAddon.fit(),e.resize(c.current.terminal.cols,c.current.terminal.rows))},250)},[t,e]),(0,z.jsx)(`div`,{"data-testid":`output`,className:`xterm-wrapper`,style:{flex:`auto`},ref:n})},oe={foreground:`#383a42`,background:`#fafafa`,cursor:`#383a42`,black:`#000000`,red:`#e45649`,green:`#50a14f`,yellow:`#c18401`,blue:`#4078f2`,magenta:`#a626a4`,cyan:`#0184bc`,white:`#a0a0a0`,brightBlack:`#000000`,brightRed:`#e06c75`,brightGreen:`#98c379`,brightYellow:`#d19a66`,brightBlue:`#4078f2`,brightMagenta:`#a626a4`,brightCyan:`#0184bc`,brightWhite:`#383a42`,selectionBackground:`#d7d7d7`,selectionForeground:`#383a42`},se={foreground:`#f8f8f2`,background:`#1e1e1e`,cursor:`#f8f8f0`,black:`#000000`,red:`#ff5555`,green:`#50fa7b`,yellow:`#f1fa8c`,blue:`#bd93f9`,magenta:`#ff79c6`,cyan:`#8be9fd`,white:`#bfbfbf`,brightBlack:`#4d4d4d`,brightRed:`#ff6e6e`,brightGreen:`#69ff94`,brightYellow:`#ffffa5`,brightBlue:`#d6acff`,brightMagenta:`#ff92df`,brightCyan:`#a4ffff`,brightWhite:`#e6e6e6`,selectionBackground:`#44475a`,selectionForeground:`#f8f8f2`},ce=({filterText:e,setFilterText:t,statusFilters:n,setStatusFilters:r,projectFilters:i,setProjectFilters:a,onlyChanged:o,setOnlyChanged:s,testModel:c,runTests:l})=>{let[u,d]=E.useState(!1),f=E.useRef(null);E.useEffect(()=>{f.current?.focus()},[]);let p=[...n.entries()].filter(([e,t])=>t).map(([e])=>e).join(` `)||`all`,m=[...i.entries()].filter(([e,t])=>t).map(([e])=>e).join(` `)||`all`;return(0,z.jsxs)(`div`,{className:`filters`,children:[(0,z.jsx)(h,{expanded:u,setExpanded:d,title:(0,z.jsx)(`input`,{ref:f,type:`search`,placeholder:`Filter (e.g. text, @tag)`,"aria-label":`Filter (e.g. text, @tag)`,spellCheck:!1,value:e,onChange:e=>{t(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&l()}})}),(0,z.jsxs)(`button`,{className:`filter-summary`,"aria-expanded":u,title:`Status: `+p+`
3
3
  Projects: `+m+(o?`
4
- Only changed`:``),onClick:()=>d(!u),children:[(0,z.jsx)(`span`,{className:`filter-label`,children:`Status:`}),` `,p,(0,z.jsx)(`span`,{className:`filter-label`,children:`Projects:`}),` `,m,o&&(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(`span`,{className:`filter-label`,children:`Only changed`})})]}),u&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`hbox`,style:{marginLeft:14,maxHeight:200,overflowY:`auto`},children:[(0,z.jsx)(`div`,{className:`filter-list`,role:`list`,"data-testid":`status-filters`,children:[...n.entries()].map(([e,t])=>(0,z.jsx)(`div`,{className:`filter-entry`,role:`listitem`,children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>{let t=new Map(n);t.set(e,!t.get(e)),r(t)}}),(0,z.jsx)(`div`,{children:e})]})},e))}),(0,z.jsx)(`div`,{className:`filter-list`,role:`list`,"data-testid":`project-filters`,children:[...i.entries()].map(([e,t])=>(0,z.jsx)(`div`,{className:`filter-entry`,role:`listitem`,children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>{let t=new Map(i);t.set(e,!t.get(e)),a(t);let n=c?.config?.configFile;n&&C.setObject(n+`:projects`,[...t.entries()].filter(([e,t])=>t).map(([e])=>e))}}),(0,z.jsx)(`div`,{children:e||`untitled`})]})},e))})]}),(0,z.jsx)(`div`,{className:`filter-entry`,style:{marginLeft:24},children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:o,onChange:()=>s(!o)}),(0,z.jsx)(`div`,{children:`Show only changed files`})]})})]})]})},le=({tag:t,style:n,onClick:r})=>(0,z.jsx)(`span`,{className:e(`tag`,`tag-color-${ue(t)}`),onClick:r,style:{margin:`6px 0 0 6px`,...n},title:`Click to filter by tag: ${t}`,children:t});function ue(e){let t=0;for(let n=0;n<e.length;n++)t=e.charCodeAt(n)+((t<<8)-t);return Math.abs(t%6)}var de=v,fe=({filterText:e,testModel:t,testServerConnection:n,testTree:r,runTests:i,runningState:a,watchAll:o,watchedTreeIds:s,setWatchedTreeIds:d,isLoading:f,onItemSelected:p,requestedCollapseAllCount:m,requestedExpandAllCount:h,setFilterText:_,onRevealSource:v})=>{let[y,b]=E.useState({expandedItems:new Map}),[x,S]=E.useState(),[C,w]=E.useState(m),[T,D]=E.useState(h);E.useEffect(()=>{if(C!==m){y.expandedItems.clear();for(let e of r.flatTreeItems())y.expandedItems.set(e.id,!1);w(m),S(void 0),b({...y});return}if(T!==h){y.expandedItems.clear();for(let e of r.flatTreeItems())y.expandedItems.set(e.id,!0);D(h),S(void 0),b({...y});return}if(!a||a.itemSelectedByUser)return;let e,t=n=>{n.children.forEach(t),!e&&n.status===`failed`&&(n.kind===`test`&&a.testIds.has(n.test.id)||n.kind===`case`&&a.testIds.has(n.tests[0]?.id))&&(e=n)};t(r.rootItem),e&&S(e.id)},[a,S,r,C,w,m,T,D,h,y,b]);let O=E.useMemo(()=>{if(x)return r.treeItemById(x)},[x,r]);E.useEffect(()=>{if(!t)return;let e=pe(O,t),n;O?.kind===`test`?n=O.test:O?.kind===`case`&&O.tests.length===1&&(n=O.tests[0]),p({treeItem:O,testCase:n,testFile:e})},[t,O,p]),E.useEffect(()=>{if(!f)if(o)n?.watchNoReply({fileNames:r.fileNames()});else{let e=new Set;for(let t of s.value){let n=r.treeItemById(t)?.location.file;n&&e.add(n)}n?.watchNoReply({fileNames:[...e]})}},[f,r,o,s,n]);let k=e=>{S(e.id),i(`bounce-if-busy`,r.collectTestIds(e))},A=(t,n)=>{if(t.preventDefault(),t.stopPropagation(),t.metaKey||t.ctrlKey){let t=e.split(` `);t.includes(n)?_(t.filter(e=>e!==n).join(` `).trim()):_((e+` `+n).trim())}else _((e.split(` `).filter(e=>!e.startsWith(`@`)).join(` `)+` `+n).trim())};return(0,z.jsx)(de,{name:`tests`,treeState:y,setTreeState:b,rootItem:r.rootItem,dataTestId:`test-tree`,render:e=>{let t=e.id.replace(/[^\w\d-_]/g,`-`),n=t+`-label`,r=t+`-time`;return(0,z.jsxs)(`div`,{className:`hbox ui-mode-tree-item`,"aria-labelledby":`${n} ${r}`,children:[(0,z.jsxs)(`div`,{id:n,className:`ui-mode-tree-item-title`,children:[(0,z.jsx)(`span`,{children:e.title}),e.kind===`case`?e.tags.map(e=>(0,z.jsx)(le,{tag:e.slice(1),onClick:t=>A(t,e)},e)):null]}),!!e.duration&&e.status!==`skipped`&&(0,z.jsx)(`div`,{id:r,className:`ui-mode-tree-item-time`,children:g(e.duration)}),(0,z.jsxs)(c,{noMinHeight:!0,noShadow:!0,children:[(0,z.jsx)(u,{icon:`play`,title:`Run`,onClick:()=>k(e),disabled:!!a&&!a.completed}),(0,z.jsx)(u,{icon:`go-to-file`,title:`Show source`,onClick:v,style:e.kind===`group`&&e.subKind===`folder`?{visibility:`hidden`}:{}}),!o&&(0,z.jsx)(u,{icon:`eye`,title:`Watch`,onClick:()=>{s.value.has(e.id)?s.value.delete(e.id):s.value.add(e.id),d({...s})},toggled:s.value.has(e.id)})]})]})},icon:e=>l(e.status),title:e=>e.title,selectedItem:O,onAccepted:k,onSelected:e=>{a&&(a.itemSelectedByUser=!0),S(e.id)},isError:e=>e.kind===`group`?e.hasLoadErrors:!1,autoExpandDepth:e?5:1,noItemsMessage:f?`Loading…`:`No tests`})};function pe(e,t){if(!(!e||!t))return{file:e.location.file,line:e.location.line,column:e.location.column,source:{errors:t.loadErrors.filter(t=>t.location?.file===e.location.file).map(e=>({line:e.location.line,message:e.message})),content:void 0}}}function B(e){return`.playwright-artifacts-${e}`}var me=({item:e,rootDir:t,onOpenExternally:n,revealSource:r,pathSeparator:i,onModelChange:o})=>{let[s,c]=E.useState(void 0),[l,u]=E.useState(0),d=E.useRef(null),{outputDir:f}=E.useMemo(()=>({outputDir:e.testCase?he(e.testCase):void 0}),[e]);return E.useEffect(()=>{d.current&&clearTimeout(d.current);let t=e.testCase?.results[0];if(!t||e.treeItem?.status===`scheduled`){c(void 0);return}let n=t&&t.duration>=0&&t.attachments.find(e=>e.name===`trace`);if(n&&n.path){V(n.path,t.startTime.getTime()).then(e=>c({model:e,isLive:!1}));return}if(!f){c(void 0);return}let r=[f,B(t.workerIndex),`traces`,`${e.testCase?.id}.json`].join(i);return d.current=setTimeout(async()=>{try{c({model:await V(r,Date.now()),isLive:!0})}catch{let e=new a(``,[]);e.errorDescriptors.push(...t.errors.flatMap(e=>e.message?[{message:e.message}]:[])),c({model:e,isLive:!1})}finally{u(l+1)}},500),()=>{d.current&&clearTimeout(d.current)}},[f,e,c,l,u,i]),E.useEffect(()=>{o?.(s?.model)},[s,o]),(0,z.jsx)(p,{model:s?.model,showSourcesFirst:!0,rootDir:t,fallbackLocation:e.testFile,isLive:s?.isLive,status:e.treeItem?.status,defaultAnnotations:e.testCase?.annotations??[],onOpenExternally:n,revealSource:r},`workbench`)},he=e=>{for(let t=e.parent;t;t=t.parent)if(t.project())return t.project()?.outputDir};async function V(e,t){let n=`file?path=${encodeURIComponent(e)}&timestamp=${t}`,r=new URLSearchParams;return r.set(`trace`,n),new a(n,await(await fetch(`contexts?${r.toString()}`)).json())}var ge={cols:80,rows:24},H={pending:[],clear:()=>{},write:e=>H.pending.push(e),resize:()=>{}},U=new URLSearchParams(window.location.search),W=new URL(U.get(`server`)??`../`,window.location.href),_e=new URL(U.get(`ws`),W);_e.protocol=_e.protocol===`https:`?`wss:`:`ws:`;var G={args:U.getAll(`arg`),grep:U.get(`grep`)||void 0,grepInvert:U.get(`grepInvert`)||void 0,projects:U.getAll(`project`),workers:U.get(`workers`)||void 0,headed:U.has(`headed`),updateSnapshots:U.get(`updateSnapshots`)||void 0,reporters:U.has(`reporter`)?U.getAll(`reporter`):void 0,pathSeparator:U.get(`pathSeparator`)||`/`};G.updateSnapshots&&![`all`,`changed`,`none`,`missing`].includes(G.updateSnapshots)&&(G.updateSnapshots=void 0);var ve=navigator.platform===`MacIntel`;function ye(e){return e.startsWith(`/`)&&(e=e.substring(1)),e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function be(e,t,n){let r=e.passed+e.failed+e.skipped,i=t?r/t*100|0:0,a=[];return e.passed>0&&a.push(`${e.passed} passed`),e.failed>0&&a.push((0,z.jsxs)(`span`,{className:`status-line-failed`,children:[e.failed,` failed`]},`failed`)),e.skipped>0&&a.push(`${e.skipped} skipped`),(0,z.jsx)(`div`,{"data-testid":`status-line`,className:`status-line`,children:(0,z.jsxs)(`div`,{children:[n&&`Running `,r,`/`,t,` (`,i,`%)`,a.length>0&&` — `,a.map((e,t)=>(0,z.jsxs)(E.Fragment,{children:[t>0?`, `:``,e]},t))]})})}var xe=({})=>{let[t,r]=E.useState(``),[i,a]=E.useState(!1),[s,l]=E.useState(!1),[d,p]=E.useState(new Map([[`passed`,!1],[`failed`,!1],[`skipped`,!1]])),[m,h]=E.useState(new Map),[g,v]=E.useState(),[x,S]=E.useState(),[w,T]=E.useState({}),[D,O]=E.useState(!1),[A,ee]=E.useState(),j=A&&!A.completed,[M,N]=n(`watch-all`,!1),[P,F]=E.useState({value:new Set}),I=E.useRef(Promise.resolve()),L=E.useRef({testIds:new Set,locations:new Set}),[ne,ie]=E.useState(0),[oe,se]=E.useState(0),[le,ue]=E.useState(!1),[de,pe]=E.useState(!0),[B,he]=E.useState(),[V,U]=E.useState(),[W,xe]=E.useState(!1),[K,Se]=E.useState(!1),[Ce,we]=E.useState(!1),[Te,Ee]=E.useState(),De=E.useCallback(()=>we(!0),[we]),[Oe,ke]=n(`single-worker`,!1),[q,Ae]=n(`updateSnapshots`,`missing`),[J,je]=n(`only-changed`,!1),[Me,Ne]=n(`stop-on-failure`,!1),[Y]=n(`mergeFiles`,!1),Pe=E.useRef(null),X=E.useCallback(()=>{he(e=>(e?.close(),new _(new y(_e))))},[]);E.useEffect(()=>{Pe.current?.focus(),O(!0),X()},[X]),E.useEffect(()=>{if(!B)return;let e=[B.onStdio(e=>{if(e.buffer){let t=atob(e.buffer);H.write(t)}else H.write(e.text);e.type===`stderr`&&l(!0)}),B.onClose(()=>ue(!0))];return H.resize=(e,t)=>{ge={cols:e,rows:t},B.resizeTerminalNoReply({cols:e,rows:t})},()=>{for(let t of e)t.dispose()}},[B]),E.useEffect(()=>{if(!B)return;let e,t=new re({onUpdate:n=>{clearTimeout(e),e=void 0,n?v(t.asModel()):e||=setTimeout(()=>{v(t.asModel())},250)},onError:e=>{H.write((e.stack||e.value||``)+`
5
- `),l(!0)},pathSeparator:G.pathSeparator});return U(t),v(void 0),O(!0),F({value:new Set}),(async()=>{try{await B.initialize({interceptStdio:!0,watchTestDirs:!0});let{status:e,report:n}=await B.runGlobalSetup({});if(t.processGlobalReport(n),e!==`passed`)return;let r=await B.listTests({projects:G.projects,locations:G.args,grep:G.grep,grepInvert:G.grepInvert,onlyChanged:J});t.processListReport(r.report),B.onReport(e=>{t.processTestReportEvent(e)});let{hasBrowsers:i}=await B.checkBrowsers({});pe(i)}finally{O(!1)}})(),()=>{clearTimeout(e)}},[J,B]),E.useEffect(()=>{if(!g)return;let{config:e,rootSuite:t}=g,n=e.configFile?C.getObject(e.configFile+`:projects`,void 0):void 0,r=new Map(m);for(let e of r.keys())t.suites.find(t=>t.title===e)||r.delete(e);for(let e of t.suites)r.has(e.title)||r.set(e.title,!!n?.includes(e.title));!n&&r.size&&![...r.values()].includes(!0)&&r.set(r.entries().next().value[0],!0),(m.size!==r.size||[...m].some(([e,t])=>r.get(e)!==t))&&h(r)},[m,g]),E.useEffect(()=>{j&&g?.progress?S(g.progress):g||S(void 0)},[g,j]);let{testTree:Z}=E.useMemo(()=>{if(!g)return{testTree:new te(``,new k(``,`root`),[],m,G.pathSeparator,Y)};let e=new te(``,g.rootSuite,g.loadErrors,m,G.pathSeparator,Y);return e.filterTree(t,d,j?A?.testIds:void 0),e.sortAndPropagateStatus(),e.shortenRoot(),e.flattenForSingleProject(),{testTree:e}},[t,g,d,m,A,j,Y]),Q=E.useCallback((e,t)=>{if(!(!B||!g)&&!(e===`bounce-if-busy`&&j)){for(let e of t.testIds)L.current.testIds.add(e);for(let e of t.locations)L.current.locations.add(e);I.current=I.current.then(async()=>{let{testIds:e,locations:t}=L.current;if(L.current={testIds:new Set,locations:new Set},!e.size)return;for(let t of g.rootSuite?.allTests()||[])if(e.has(t.id)){t.results=[];let e=t._createTestResult(`pending`);e[R]=`scheduled`}v({...g});let n=` [`+new Date().toLocaleTimeString()+`]`;H.write(`\x1B[2m—`.repeat(Math.max(0,ge.cols-n.length))+n+`\x1B[22m`),S({total:0,passed:0,failed:0,skipped:0}),ee({testIds:e}),await B.runTests({locations:[...t].map(ye),grep:G.grep,grepInvert:G.grepInvert,testIds:[...e],projects:[...m].filter(([e,t])=>t).map(([e])=>e),updateSnapshots:q,reporters:G.reporters,workers:Oe?1:void 0,maxFailures:Me?1:void 0,trace:`on`});for(let e of g.rootSuite?.allTests()||[])e.results[0]?.duration===-1&&(e.results=[]);v({...g}),ee(e=>e?{...e,completed:!0}:void 0)})}},[m,j,g,B,q,Oe,Me]),$=E.useCallback(()=>Q(`bounce-if-busy`,Z.collectTestIds(Z.rootItem)),[Q,Z]);E.useEffect(()=>{if(!B||!V)return;let e=B.onTestFilesChanged(async e=>{if(I.current=I.current.then(async()=>{O(!0);try{let e=await B.listTests({projects:G.projects,locations:G.args,grep:G.grep,grepInvert:G.grepInvert,onlyChanged:J});V.processListReport(e.report)}catch(e){console.log(e)}finally{O(!1)}}),await I.current,e.testFiles.length===0)return;let t=V.asModel(),n=new te(``,t.rootSuite,t.loadErrors,m,G.pathSeparator,Y),r=[],i=[],a=new Set(e.testFiles);if(M){let e=t=>{let o=t.location.file;if(o&&a.has(o)){let e=n.collectTestIds(t);r.push(...e.locations),i.push(...e.testIds)}t.kind===`group`&&t.subKind===`folder`&&t.children.forEach(e)};e(n.rootItem)}else for(let e of P.value){let t=n.treeItemById(e);if(!t)continue;let o=t;for(;!(o.kind===`group`&&(o.subKind===`file`||o.subKind===`folder`))&&o.parent;)o=o.parent;let s=o?.location.file;if(s&&a.has(s)){let e=n.collectTestIds(t);r.push(...e.locations),i.push(...e.testIds)}}Q(`queue-if-busy`,{locations:r,testIds:i})});return()=>e.dispose()},[Q,B,M,P,V,m,Y,J]),E.useEffect(()=>{if(!B)return;let e=e=>{e.code===`Backquote`&&e.ctrlKey?(e.preventDefault(),a(!i)):e.code===`F5`&&e.shiftKey?(e.preventDefault(),B?.stopTestsNoReply({})):e.code===`F5`&&(e.preventDefault(),$())};return addEventListener(`keydown`,e),()=>{removeEventListener(`keydown`,e)}},[$,X,B,i]);let Fe=E.useRef(null),Ie=E.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Fe.current?.showModal()},[]),Le=E.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Fe.current?.close()},[]),Re=E.useCallback(e=>{Le(e),a(!0),B?.installBrowsers({}).then(async()=>{a(!1);let{hasBrowsers:e}=await B?.checkBrowsers({});pe(e)})},[Le,B]);return(0,z.jsxs)(`div`,{className:`vbox ui-mode`,children:[!de&&(0,z.jsxs)(`dialog`,{ref:Fe,children:[(0,z.jsxs)(`div`,{className:`title`,children:[(0,z.jsx)(`span`,{className:`codicon codicon-lightbulb`}),`Install browsers`]}),(0,z.jsxs)(`div`,{className:`body`,children:[`Playwright did not find installed browsers.`,(0,z.jsx)(`br`,{}),"Would you like to run `playwright install`?",(0,z.jsx)(`br`,{}),(0,z.jsx)(`button`,{className:`button`,onClick:Re,children:`Install`}),(0,z.jsx)(`button`,{className:`button secondary`,onClick:Le,children:`Dismiss`})]})]}),le&&(0,z.jsxs)(`div`,{className:`disconnected`,children:[(0,z.jsx)(`div`,{className:`title`,children:`UI Mode disconnected`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`a`,{href:`#`,onClick:()=>window.location.href=`/`,children:`Reload the page`}),` to reconnect`]})]}),(0,z.jsx)(f,{sidebarSize:250,minSidebarSize:150,orientation:`horizontal`,sidebarIsFirst:!0,settingName:`testListSidebar`,main:(0,z.jsxs)(`div`,{className:`vbox`,children:[(0,z.jsxs)(`div`,{className:e(`vbox`,!i&&`hidden`),children:[(0,z.jsxs)(c,{children:[(0,z.jsx)(`div`,{className:`section-title`,style:{flex:`none`},children:`Output`}),(0,z.jsx)(u,{icon:`circle-slash`,title:`Clear output`,onClick:()=>{H.clear(),l(!1)}}),(0,z.jsx)(`div`,{className:`spacer`}),(0,z.jsx)(u,{icon:`close`,title:`Close`,onClick:()=>a(!1)})]}),(0,z.jsx)(ae,{source:H})]}),(0,z.jsx)(`div`,{className:e(`vbox`,i&&`hidden`),children:(0,z.jsx)(me,{pathSeparator:G.pathSeparator,item:w,onModelChange:Ee,rootDir:g?.config?.rootDir,revealSource:Ce,onOpenExternally:e=>B?.openNoReply({location:{file:e.file,line:e.line,column:e.column}})})})]}),sidebar:(0,z.jsxs)(`div`,{className:`vbox ui-mode-sidebar`,children:[(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,children:[(0,z.jsx)(`img`,{src:`playwright-logo.svg`,alt:`Playwright logo`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Playwright`}),(0,z.jsx)(u,{icon:`refresh`,title:`Reload`,onClick:()=>X(),disabled:j||D}),(0,z.jsx)(`div`,{style:{position:`relative`},children:(0,z.jsx)(u,{icon:`terminal`,title:`Toggle output — `+(ve?"⌃`":"Ctrl + `"),toggled:i,errorBadge:s?`Output contains error`:void 0,onClick:()=>{a(!i)}})}),!de&&(0,z.jsx)(u,{icon:`lightbulb-autofix`,style:{color:`var(--vscode-list-warningForeground)`},title:`Playwright browsers are missing`,onClick:Ie})]}),(0,z.jsx)(ce,{filterText:t,setFilterText:r,statusFilters:d,setStatusFilters:p,projectFilters:m,setProjectFilters:h,onlyChanged:J,setOnlyChanged:je,testModel:g,runTests:$}),(0,z.jsxs)(c,{className:`section-toolbar`,noMinHeight:!0,children:[!j&&!x&&(0,z.jsx)(`div`,{className:`section-title`,children:`Tests`}),x&&be(x,j?A.testIds.size:x.total,!!j),(0,z.jsx)(u,{icon:`play`,title:`Run all — F5`,onClick:$,disabled:j||D}),(0,z.jsx)(u,{icon:`debug-stop`,title:`Stop — `+(ve?`⇧F5`:`Shift + F5`),onClick:()=>B?.stopTests({}),disabled:!j||D,testId:`stop-button`}),(0,z.jsx)(u,{icon:`eye`,title:`Watch all`,toggled:M,onClick:()=>{F({value:new Set}),N(!M)}}),(0,z.jsx)(u,{icon:`collapse-all`,title:`Collapse all`,onClick:()=>{ie(ne+1)}}),(0,z.jsx)(u,{icon:`expand-all`,title:`Expand all`,onClick:()=>{se(oe+1)}})]}),(0,z.jsx)(fe,{filterText:t,testModel:g,testTree:Z,testServerConnection:B,runningState:A,runTests:Q,onItemSelected:T,watchAll:M,watchedTreeIds:P,setWatchedTreeIds:F,isLoading:D,requestedCollapseAllCount:ne,requestedExpandAllCount:oe,setFilterText:r,onRevealSource:De}),(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,className:`settings-toolbar`,onClick:()=>Se(!K),children:[(0,z.jsx)(`span`,{className:`codicon codicon-${K?`chevron-down`:`chevron-right`}`,style:{marginLeft:5},title:K?`Hide Testing Options`:`Show Testing Options`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Testing Options`})]}),K&&(0,z.jsx)(o,{settings:[{type:`check`,value:Oe,set:ke,name:`Single worker`},{type:`check`,value:Me,set:Ne,name:`Stop on first failure`},{type:`select`,options:[{label:`All`,value:`all`},{label:`Changed`,value:`changed`},{label:`Missing`,value:`missing`},{label:`None`,value:`none`}],value:q,set:Ae,name:`Update snapshots`}]}),(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,className:`settings-toolbar`,onClick:()=>xe(!W),children:[(0,z.jsx)(`span`,{className:`codicon codicon-${W?`chevron-down`:`chevron-right`}`,style:{marginLeft:5},title:W?`Hide Settings`:`Show Settings`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Settings`})]}),W&&(0,z.jsx)(b,{location:`ui-mode`,model:Te})]})})]})};(async()=>{if(s(),window.location.protocol!==`file:`){if(!navigator.serviceWorker)throw Error(`Service workers are not supported.\nMake sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register(`sw.bundle.js`),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch(`ping`)},1e4)}D.createRoot(document.querySelector(`#root`)).render((0,z.jsx)(xe,{}))})();
4
+ Only changed`:``),onClick:()=>d(!u),children:[(0,z.jsx)(`span`,{className:`filter-label`,children:`Status:`}),` `,p,(0,z.jsx)(`span`,{className:`filter-label`,children:`Projects:`}),` `,m,o&&(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(`span`,{className:`filter-label`,children:`Only changed`})})]}),u&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`hbox`,style:{marginLeft:14,maxHeight:200,overflowY:`auto`},children:[(0,z.jsx)(`div`,{className:`filter-list`,role:`list`,"data-testid":`status-filters`,children:[...n.entries()].map(([e,t])=>(0,z.jsx)(`div`,{className:`filter-entry`,role:`listitem`,children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>{let t=new Map(n);t.set(e,!t.get(e)),r(t)}}),(0,z.jsx)(`div`,{children:e})]})},e))}),(0,z.jsx)(`div`,{className:`filter-list`,role:`list`,"data-testid":`project-filters`,children:[...i.entries()].map(([e,t])=>(0,z.jsx)(`div`,{className:`filter-entry`,role:`listitem`,children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>{let t=new Map(i);t.set(e,!t.get(e)),a(t);let n=c?.config?.configFile;n&&C.setObject(n+`:projects`,[...t.entries()].filter(([e,t])=>t).map(([e])=>e))}}),(0,z.jsx)(`div`,{children:e||`untitled`})]})},e))})]}),(0,z.jsx)(`div`,{className:`filter-entry`,style:{marginLeft:24},children:(0,z.jsxs)(`label`,{children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:o,onChange:()=>s(!o)}),(0,z.jsx)(`div`,{children:`Show only changed files`})]})})]})]})},le=({tag:t,style:n,onClick:r})=>(0,z.jsx)(`span`,{className:e(`tag`,`tag-color-${ue(t)}`),onClick:r,style:{margin:`6px 0 0 6px`,...n},title:`Click to filter by tag: ${t}`,children:t});function ue(e){let t=0;for(let n=0;n<e.length;n++)t=e.charCodeAt(n)+((t<<8)-t);return Math.abs(t%6)}var de=v,fe=({filterText:e,testModel:t,testServerConnection:n,testTree:r,runTests:i,runningState:a,watchAll:o,watchedTreeIds:s,setWatchedTreeIds:d,isLoading:f,onItemSelected:p,requestedCollapseAllCount:m,requestedExpandAllCount:h,setFilterText:_,onRevealSource:v})=>{let[y,b]=E.useState({expandedItems:new Map}),[x,S]=E.useState(),[C,w]=E.useState(m),[T,D]=E.useState(h);E.useEffect(()=>{if(C!==m){y.expandedItems.clear();for(let e of r.flatTreeItems())y.expandedItems.set(e.id,!1);w(m),S(void 0),b({...y});return}if(T!==h){y.expandedItems.clear();for(let e of r.flatTreeItems())y.expandedItems.set(e.id,!0);D(h),S(void 0),b({...y});return}if(!a||a.itemSelectedByUser)return;let e,t=n=>{n.children.forEach(t),!e&&n.status===`failed`&&(n.kind===`test`&&a.testIds.has(n.test.id)||n.kind===`case`&&a.testIds.has(n.tests[0]?.id))&&(e=n)};t(r.rootItem),e&&S(e.id)},[a,S,r,C,w,m,T,D,h,y,b]);let O=E.useMemo(()=>{if(x)return r.treeItemById(x)},[x,r]);E.useEffect(()=>{if(!t)return;let e=pe(O,t),n;O?.kind===`test`?n=O.test:O?.kind===`case`&&O.tests.length===1&&(n=O.tests[0]),p({treeItem:O,testCase:n,testFile:e})},[t,O,p]),E.useEffect(()=>{if(!f)if(o)n?.watchNoReply({fileNames:r.fileNames()});else{let e=new Set;for(let t of s.value){let n=r.treeItemById(t)?.location.file;n&&e.add(n)}n?.watchNoReply({fileNames:[...e]})}},[f,r,o,s,n]);let k=e=>{S(e.id),i(`bounce-if-busy`,r.collectTestIds(e))},A=(t,n)=>{if(t.preventDefault(),t.stopPropagation(),t.metaKey||t.ctrlKey){let t=e.split(` `);t.includes(n)?_(t.filter(e=>e!==n).join(` `).trim()):_((e+` `+n).trim())}else _((e.split(` `).filter(e=>!e.startsWith(`@`)).join(` `)+` `+n).trim())};return(0,z.jsx)(de,{name:`tests`,treeState:y,setTreeState:b,rootItem:r.rootItem,dataTestId:`test-tree`,render:e=>{let t=e.id.replace(/[^\w\d-_]/g,`-`),n=t+`-label`,r=t+`-time`;return(0,z.jsxs)(`div`,{className:`hbox ui-mode-tree-item`,"aria-labelledby":`${n} ${r}`,children:[(0,z.jsxs)(`div`,{id:n,className:`ui-mode-tree-item-title`,children:[(0,z.jsx)(`span`,{children:e.title}),e.kind===`case`?e.tags.map(e=>(0,z.jsx)(le,{tag:e.slice(1),onClick:t=>A(t,e)},e)):null]}),!!e.duration&&e.status!==`skipped`&&(0,z.jsx)(`div`,{id:r,className:`ui-mode-tree-item-time`,children:g(e.duration)}),(0,z.jsxs)(c,{noMinHeight:!0,noShadow:!0,children:[(0,z.jsx)(u,{icon:`play`,title:`Run`,onClick:()=>k(e),disabled:!!a&&!a.completed}),(0,z.jsx)(u,{icon:`go-to-file`,title:`Show source`,onClick:v,style:e.kind===`group`&&e.subKind===`folder`?{visibility:`hidden`}:{}}),!o&&(0,z.jsx)(u,{icon:`eye`,title:`Watch`,onClick:()=>{s.value.has(e.id)?s.value.delete(e.id):s.value.add(e.id),d({...s})},toggled:s.value.has(e.id)})]})]})},icon:e=>l(e.status),title:e=>e.title,selectedItem:O,onAccepted:k,onSelected:e=>{a&&(a.itemSelectedByUser=!0),S(e.id)},isError:e=>e.kind===`group`?e.hasLoadErrors:!1,autoExpandDepth:e?5:1,noItemsMessage:f?`Loading…`:`No tests`})};function pe(e,t){if(!(!e||!t))return{file:e.location.file,line:e.location.line,column:e.location.column,source:{errors:t.loadErrors.filter(t=>t.location?.file===e.location.file).map(e=>({line:e.location.line,message:e.message})),content:void 0}}}function B(e){return`.playwright-artifacts-${e}`}var me=({item:e,rootDir:t,onOpenExternally:n,revealSource:r,pathSeparator:i,onModelChange:o})=>{let[s,c]=E.useState(void 0),[l,u]=E.useState(0),d=E.useRef(null),{outputDir:f}=E.useMemo(()=>({outputDir:e.testCase?he(e.testCase):void 0}),[e]);return E.useEffect(()=>{d.current&&clearTimeout(d.current);let t=e.testCase?.results[0];if(!t||e.treeItem?.status===`scheduled`){c(void 0);return}let n=t&&t.duration>=0&&t.attachments.find(e=>e.name===`trace`);if(n&&n.path){V(n.path,t.startTime.getTime()).then(e=>c({model:e,isLive:!1}));return}if(!f){c(void 0);return}let r=[f,B(t.workerIndex),`traces`,`${e.testCase?.id}.json`].join(i);return d.current=setTimeout(async()=>{try{c({model:await V(r,Date.now()),isLive:!0})}catch{let e=new a(``,[]);e.errorDescriptors.push(...t.errors.flatMap(e=>e.message?[{message:e.message}]:[])),c({model:e,isLive:!1})}finally{u(l+1)}},500),()=>{d.current&&clearTimeout(d.current)}},[f,e,c,l,u,i]),E.useEffect(()=>{o?.(s?.model)},[s,o]),(0,z.jsx)(p,{model:s?.model,showSourcesFirst:!0,rootDir:t,fallbackLocation:e.testFile,isLive:s?.isLive,status:e.treeItem?.status,defaultAnnotations:e.testCase?.annotations??[],onOpenExternally:n,revealSource:r},`workbench`)},he=e=>{for(let t=e.parent;t;t=t.parent)if(t.project())return t.project()?.outputDir};async function V(e,t){let n=`file?path=${encodeURIComponent(e)}&timestamp=${t}`,r=new URLSearchParams;return r.set(`trace`,n),new a(n,await(await fetch(`contexts?${r.toString()}`)).json())}var ge={cols:80,rows:24},H={pending:[],clear:()=>{},write:e=>H.pending.push(e),resize:()=>{}},U=new URLSearchParams(window.location.search),W=new URL(U.get(`server`)??`../`,window.location.href),_e=new URL(U.get(`ws`),W);_e.protocol=_e.protocol===`https:`?`wss:`:`ws:`;var G={args:U.getAll(`arg`),grep:U.get(`grep`)||void 0,grepInvert:U.get(`grepInvert`)||void 0,projects:U.getAll(`project`),workers:U.get(`workers`)||void 0,headed:U.has(`headed`),updateSnapshots:U.get(`updateSnapshots`)||void 0,reporters:U.has(`reporter`)?U.getAll(`reporter`):void 0,pathSeparator:U.get(`pathSeparator`)||`/`};G.updateSnapshots&&![`all`,`changed`,`none`,`missing`,`default`].includes(G.updateSnapshots)&&(G.updateSnapshots=void 0);var ve=navigator.platform===`MacIntel`;function ye(e){return e.startsWith(`/`)&&(e=e.substring(1)),e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function be(e,t,n){let r=e.passed+e.failed+e.skipped,i=t?r/t*100|0:0,a=[];return e.passed>0&&a.push(`${e.passed} passed`),e.failed>0&&a.push((0,z.jsxs)(`span`,{className:`status-line-failed`,children:[e.failed,` failed`]},`failed`)),e.skipped>0&&a.push(`${e.skipped} skipped`),(0,z.jsx)(`div`,{"data-testid":`status-line`,className:`status-line`,children:(0,z.jsxs)(`div`,{children:[n&&`Running `,r,`/`,t,` (`,i,`%)`,a.length>0&&` — `,a.map((e,t)=>(0,z.jsxs)(E.Fragment,{children:[t>0?`, `:``,e]},t))]})})}var xe=({})=>{let[t,r]=E.useState(``),[i,a]=E.useState(!1),[s,l]=E.useState(!1),[d,p]=E.useState(new Map([[`passed`,!1],[`failed`,!1],[`skipped`,!1]])),[m,h]=E.useState(new Map),[g,v]=E.useState(),[x,S]=E.useState(),[w,T]=E.useState({}),[D,O]=E.useState(!1),[A,ee]=E.useState(),j=A&&!A.completed,[M,N]=n(`watch-all`,!1),[P,F]=E.useState({value:new Set}),I=E.useRef(Promise.resolve()),L=E.useRef({testIds:new Set,locations:new Set}),[ne,ie]=E.useState(0),[oe,se]=E.useState(0),[le,ue]=E.useState(!1),[de,pe]=E.useState(!0),[B,he]=E.useState(),[V,U]=E.useState(),[W,xe]=E.useState(!1),[K,Se]=E.useState(!1),[Ce,we]=E.useState(!1),[Te,Ee]=E.useState(),De=E.useCallback(()=>we(!0),[we]),[Oe,ke]=n(`single-worker`,!1),[q,Ae]=n(`updateSnapshots`,`default`),[J,je]=n(`only-changed`,!1),[Me,Ne]=n(`stop-on-failure`,!1),[Y]=n(`mergeFiles`,!1),Pe=E.useRef(null),X=E.useCallback(()=>{he(e=>(e?.close(),new _(new y(_e))))},[]);E.useEffect(()=>{Pe.current?.focus(),O(!0),X()},[X]),E.useEffect(()=>{if(!B)return;let e=[B.onStdio(e=>{if(e.buffer){let t=atob(e.buffer);H.write(t)}else H.write(e.text);e.type===`stderr`&&l(!0)}),B.onClose(()=>ue(!0))];return H.resize=(e,t)=>{ge={cols:e,rows:t},B.resizeTerminalNoReply({cols:e,rows:t})},()=>{for(let t of e)t.dispose()}},[B]),E.useEffect(()=>{if(!B)return;let e,t=new re({onUpdate:n=>{clearTimeout(e),e=void 0,n?v(t.asModel()):e||=setTimeout(()=>{v(t.asModel())},250)},onError:e=>{H.write((e.stack||e.value||``)+`
5
+ `),l(!0)},pathSeparator:G.pathSeparator});return U(t),v(void 0),O(!0),F({value:new Set}),(async()=>{try{await B.initialize({interceptStdio:!0,watchTestDirs:!0});let{status:e,report:n}=await B.runGlobalSetup({});if(t.processGlobalReport(n),e!==`passed`)return;let r=await B.listTests({projects:G.projects,locations:G.args,grep:G.grep,grepInvert:G.grepInvert,onlyChanged:J});t.processListReport(r.report),B.onReport(e=>{t.processTestReportEvent(e)});let{hasBrowsers:i}=await B.checkBrowsers({});pe(i)}finally{O(!1)}})(),()=>{clearTimeout(e)}},[J,B]),E.useEffect(()=>{if(!g)return;let{config:e,rootSuite:t}=g,n=e.configFile?C.getObject(e.configFile+`:projects`,void 0):void 0,r=new Map(m);for(let e of r.keys())t.suites.find(t=>t.title===e)||r.delete(e);for(let e of t.suites)r.has(e.title)||r.set(e.title,!!n?.includes(e.title));!n&&r.size&&![...r.values()].includes(!0)&&r.set(r.entries().next().value[0],!0),(m.size!==r.size||[...m].some(([e,t])=>r.get(e)!==t))&&h(r)},[m,g]),E.useEffect(()=>{j&&g?.progress?S(g.progress):g||S(void 0)},[g,j]);let{testTree:Z}=E.useMemo(()=>{if(!g)return{testTree:new te(``,new k(``,`root`),[],m,G.pathSeparator,Y)};let e=new te(``,g.rootSuite,g.loadErrors,m,G.pathSeparator,Y);return e.filterTree(t,d,j?A?.testIds:void 0),e.sortAndPropagateStatus(),e.shortenRoot(),e.flattenForSingleProject(),{testTree:e}},[t,g,d,m,A,j,Y]),Q=E.useCallback((e,t)=>{if(!(!B||!g)&&!(e===`bounce-if-busy`&&j)){for(let e of t.testIds)L.current.testIds.add(e);for(let e of t.locations)L.current.locations.add(e);I.current=I.current.then(async()=>{let{testIds:e,locations:t}=L.current;if(L.current={testIds:new Set,locations:new Set},!e.size)return;for(let t of g.rootSuite?.allTests()||[])if(e.has(t.id)){t.results=[];let e=t._createTestResult(`pending`);e[R]=`scheduled`}v({...g});let n=` [`+new Date().toLocaleTimeString()+`]`;H.write(`\x1B[2m—`.repeat(Math.max(0,ge.cols-n.length))+n+`\x1B[22m`),S({total:0,passed:0,failed:0,skipped:0}),ee({testIds:e}),await B.runTests({locations:[...t].map(ye),grep:G.grep,grepInvert:G.grepInvert,testIds:[...e],projects:[...m].filter(([e,t])=>t).map(([e])=>e),updateSnapshots:q,reporters:G.reporters,workers:Oe?1:void 0,maxFailures:Me?1:void 0,trace:`on`});for(let e of g.rootSuite?.allTests()||[])e.results[0]?.duration===-1&&(e.results=[]);v({...g}),ee(e=>e?{...e,completed:!0}:void 0)})}},[m,j,g,B,q,Oe,Me]),$=E.useCallback(()=>Q(`bounce-if-busy`,Z.collectTestIds(Z.rootItem)),[Q,Z]);E.useEffect(()=>{if(!B||!V)return;let e=B.onTestFilesChanged(async e=>{if(I.current=I.current.then(async()=>{O(!0);try{let e=await B.listTests({projects:G.projects,locations:G.args,grep:G.grep,grepInvert:G.grepInvert,onlyChanged:J});V.processListReport(e.report)}catch(e){console.log(e)}finally{O(!1)}}),await I.current,e.testFiles.length===0)return;let t=V.asModel(),n=new te(``,t.rootSuite,t.loadErrors,m,G.pathSeparator,Y),r=[],i=[],a=new Set(e.testFiles);if(M){let e=t=>{let o=t.location.file;if(o&&a.has(o)){let e=n.collectTestIds(t);r.push(...e.locations),i.push(...e.testIds)}t.kind===`group`&&t.subKind===`folder`&&t.children.forEach(e)};e(n.rootItem)}else for(let e of P.value){let t=n.treeItemById(e);if(!t)continue;let o=t;for(;!(o.kind===`group`&&(o.subKind===`file`||o.subKind===`folder`))&&o.parent;)o=o.parent;let s=o?.location.file;if(s&&a.has(s)){let e=n.collectTestIds(t);r.push(...e.locations),i.push(...e.testIds)}}Q(`queue-if-busy`,{locations:r,testIds:i})});return()=>e.dispose()},[Q,B,M,P,V,m,Y,J]),E.useEffect(()=>{if(!B)return;let e=e=>{e.code===`Backquote`&&e.ctrlKey?(e.preventDefault(),a(!i)):e.code===`F5`&&e.shiftKey?(e.preventDefault(),B?.stopTestsNoReply({})):e.code===`F5`&&(e.preventDefault(),$())};return addEventListener(`keydown`,e),()=>{removeEventListener(`keydown`,e)}},[$,X,B,i]);let Fe=E.useRef(null),Ie=E.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Fe.current?.showModal()},[]),Le=E.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Fe.current?.close()},[]),Re=E.useCallback(e=>{Le(e),a(!0),B?.installBrowsers({}).then(async()=>{a(!1);let{hasBrowsers:e}=await B?.checkBrowsers({});pe(e)})},[Le,B]);return(0,z.jsxs)(`div`,{className:`vbox ui-mode`,children:[!de&&(0,z.jsxs)(`dialog`,{ref:Fe,children:[(0,z.jsxs)(`div`,{className:`title`,children:[(0,z.jsx)(`span`,{className:`codicon codicon-lightbulb`}),`Install browsers`]}),(0,z.jsxs)(`div`,{className:`body`,children:[`Playwright did not find installed browsers.`,(0,z.jsx)(`br`,{}),"Would you like to run `playwright install`?",(0,z.jsx)(`br`,{}),(0,z.jsx)(`button`,{className:`button`,onClick:Re,children:`Install`}),(0,z.jsx)(`button`,{className:`button secondary`,onClick:Le,children:`Dismiss`})]})]}),le&&(0,z.jsxs)(`div`,{className:`disconnected`,children:[(0,z.jsx)(`div`,{className:`title`,children:`UI Mode disconnected`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`a`,{href:`#`,onClick:()=>window.location.href=`/`,children:`Reload the page`}),` to reconnect`]})]}),(0,z.jsx)(f,{sidebarSize:250,minSidebarSize:150,orientation:`horizontal`,sidebarIsFirst:!0,settingName:`testListSidebar`,main:(0,z.jsxs)(`div`,{className:`vbox`,children:[(0,z.jsxs)(`div`,{className:e(`vbox`,!i&&`hidden`),children:[(0,z.jsxs)(c,{children:[(0,z.jsx)(`div`,{className:`section-title`,style:{flex:`none`},children:`Output`}),(0,z.jsx)(u,{icon:`circle-slash`,title:`Clear output`,onClick:()=>{H.clear(),l(!1)}}),(0,z.jsx)(`div`,{className:`spacer`}),(0,z.jsx)(u,{icon:`close`,title:`Close`,onClick:()=>a(!1)})]}),(0,z.jsx)(ae,{source:H})]}),(0,z.jsx)(`div`,{className:e(`vbox`,i&&`hidden`),children:(0,z.jsx)(me,{pathSeparator:G.pathSeparator,item:w,onModelChange:Ee,rootDir:g?.config?.rootDir,revealSource:Ce,onOpenExternally:e=>B?.openNoReply({location:{file:e.file,line:e.line,column:e.column}})})})]}),sidebar:(0,z.jsxs)(`div`,{className:`vbox ui-mode-sidebar`,children:[(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,children:[(0,z.jsx)(`img`,{src:`playwright-logo.svg`,alt:`Playwright logo`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Playwright`}),(0,z.jsx)(u,{icon:`refresh`,title:`Reload`,onClick:()=>X(),disabled:j||D}),(0,z.jsx)(`div`,{style:{position:`relative`},children:(0,z.jsx)(u,{icon:`terminal`,title:`Toggle output — `+(ve?"⌃`":"Ctrl + `"),toggled:i,errorBadge:s?`Output contains error`:void 0,onClick:()=>{a(!i)}})}),!de&&(0,z.jsx)(u,{icon:`lightbulb-autofix`,style:{color:`var(--vscode-list-warningForeground)`},title:`Playwright browsers are missing`,onClick:Ie})]}),(0,z.jsx)(ce,{filterText:t,setFilterText:r,statusFilters:d,setStatusFilters:p,projectFilters:m,setProjectFilters:h,onlyChanged:J,setOnlyChanged:je,testModel:g,runTests:$}),(0,z.jsxs)(c,{className:`section-toolbar`,noMinHeight:!0,children:[!j&&!x&&(0,z.jsx)(`div`,{className:`section-title`,children:`Tests`}),x&&be(x,j?A.testIds.size:x.total,!!j),(0,z.jsx)(u,{icon:`play`,title:`Run all — F5`,onClick:$,disabled:j||D}),(0,z.jsx)(u,{icon:`debug-stop`,title:`Stop — `+(ve?`⇧F5`:`Shift + F5`),onClick:()=>B?.stopTests({}),disabled:!j||D,testId:`stop-button`}),(0,z.jsx)(u,{icon:`eye`,title:`Watch all`,toggled:M,onClick:()=>{F({value:new Set}),N(!M)}}),(0,z.jsx)(u,{icon:`collapse-all`,title:`Collapse all`,onClick:()=>{ie(ne+1)}}),(0,z.jsx)(u,{icon:`expand-all`,title:`Expand all`,onClick:()=>{se(oe+1)}})]}),(0,z.jsx)(fe,{filterText:t,testModel:g,testTree:Z,testServerConnection:B,runningState:A,runTests:Q,onItemSelected:T,watchAll:M,watchedTreeIds:P,setWatchedTreeIds:F,isLoading:D,requestedCollapseAllCount:ne,requestedExpandAllCount:oe,setFilterText:r,onRevealSource:De}),(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,className:`settings-toolbar`,onClick:()=>Se(!K),children:[(0,z.jsx)(`span`,{className:`codicon codicon-${K?`chevron-down`:`chevron-right`}`,style:{marginLeft:5},title:K?`Hide Testing Options`:`Show Testing Options`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Testing Options`})]}),K&&(0,z.jsx)(o,{settings:[{type:`check`,value:Oe,set:ke,name:`Single worker`},{type:`check`,value:Me,set:Ne,name:`Stop on first failure`},{type:`select`,options:[{label:`Default`,value:`default`},{label:`All`,value:`all`},{label:`Changed`,value:`changed`},{label:`Missing`,value:`missing`},{label:`None`,value:`none`}],value:q,set:Ae,name:`Update snapshots`}]}),(0,z.jsxs)(c,{noShadow:!0,noMinHeight:!0,className:`settings-toolbar`,onClick:()=>xe(!W),children:[(0,z.jsx)(`span`,{className:`codicon codicon-${W?`chevron-down`:`chevron-right`}`,style:{marginLeft:5},title:W?`Hide Settings`:`Show Settings`}),(0,z.jsx)(`div`,{className:`section-title`,children:`Settings`})]}),W&&(0,z.jsx)(b,{location:`ui-mode`,model:Te})]})})]})};(async()=>{if(s(),window.location.protocol!==`file:`){if(!navigator.serviceWorker)throw Error(`Service workers are not supported.\nMake sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register(`sw.bundle.js`),navigator.serviceWorker.controller||await new Promise(e=>{navigator.serviceWorker.oncontrollerchange=()=>e()}),setInterval(function(){fetch(`ping`)},1e4)}D.createRoot(document.querySelector(`#root`)).render((0,z.jsx)(xe,{}))})();
@@ -6,10 +6,10 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
  <link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
8
8
  <title>Playwright Test</title>
9
- <script type="module" crossorigin src="./uiMode.CU5KtEkS.js"></script>
9
+ <script type="module" crossorigin src="./uiMode.CYwC_gH1.js"></script>
10
10
  <link rel="modulepreload" crossorigin href="./assets/urlMatch-L3liM589.js">
11
- <link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-Ds6CBOo0.js">
12
- <link rel="stylesheet" crossorigin href="./defaultSettingsView.Bqk9acqE.css">
11
+ <link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-D-g2vrvf.js">
12
+ <link rel="stylesheet" crossorigin href="./defaultSettingsView.C8BeHuxd.css">
13
13
  <link rel="stylesheet" crossorigin href="./uiMode.CyMfwkXJ.css">
14
14
  </head>
15
15
  <body>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright-core",
3
- "version": "1.63.0",
3
+ "version": "1.64.0",
4
4
  "description": "A high-level API to automate web browsers",
5
5
  "repository": {
6
6
  "type": "git",