plum-e2e 2.10.0 → 2.12.1

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 (661) hide show
  1. package/.env +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +28 -27
  4. package/backend/app.js +1 -1
  5. package/backend/lib/csv.js +21 -0
  6. package/backend/lib/exportResponse.js +37 -0
  7. package/backend/lib/serverBootstrap.js +2 -2
  8. package/backend/lib/serverConfig.js +5 -3
  9. package/backend/mcp/server.js +44 -0
  10. package/backend/middleware/runnerOrAdmin.js +1 -1
  11. package/backend/package.json +1 -1
  12. package/backend/routes/reports.routes.js +19 -0
  13. package/backend/routes/runners.routes.js +1 -1
  14. package/backend/routes/test-cases.routes.js +12 -0
  15. package/backend/routes/test-runs.routes.js +17 -0
  16. package/backend/routes/test-suites.routes.js +34 -0
  17. package/backend/scripts/{manage-runners.mjs → manage-nodes.mjs} +67 -52
  18. package/backend/services/exportService.js +339 -0
  19. package/backend/services/testImportService.js +87 -0
  20. package/bin/plum.js +201 -75
  21. package/docker-compose.yml +1 -1
  22. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +49 -41
  23. package/frontend/.svelte-kit/{output/server/_app/immutable/assets/Toast.DENwYn3g.css → adapter-node/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
  24. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
  25. package/frontend/.svelte-kit/{output/client/_app/immutable/assets/_layout.HkPnpRl9.css → adapter-node/_app/immutable/assets/_layout.DWCC-fI9.css} +1 -1
  26. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.B3djLY18.css +6 -0
  27. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BNh9zY8Y.css +6 -0
  28. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.D1jbMcpb.css +6 -0
  29. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DOC8fPSI.css +6 -0
  30. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
  31. package/frontend/.svelte-kit/adapter-node/chunks/{Toast.js → Button.js} +2 -17
  32. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -1
  33. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +1 -1
  34. package/frontend/.svelte-kit/adapter-node/chunks/common.js +11 -4
  35. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +1 -1
  36. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
  37. package/frontend/.svelte-kit/adapter-node/chunks/repository.js +21 -17
  38. package/frontend/.svelte-kit/adapter-node/entries/pages/live/_id_/_page.svelte.js +1 -1
  39. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +9 -2
  40. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +2 -5
  41. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +300 -253
  42. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +63 -36
  43. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -6
  44. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +15 -17
  45. package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -1
  46. package/frontend/.svelte-kit/adapter-node/manifest.js +1 -1
  47. package/frontend/.svelte-kit/adapter-node/nodes/0.js +2 -2
  48. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
  49. package/frontend/.svelte-kit/adapter-node/nodes/10.js +2 -2
  50. package/frontend/.svelte-kit/adapter-node/nodes/11.js +2 -2
  51. package/frontend/.svelte-kit/adapter-node/nodes/12.js +2 -2
  52. package/frontend/.svelte-kit/adapter-node/nodes/2.js +1 -1
  53. package/frontend/.svelte-kit/adapter-node/nodes/3.js +2 -2
  54. package/frontend/.svelte-kit/adapter-node/nodes/4.js +1 -1
  55. package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -1
  56. package/frontend/.svelte-kit/adapter-node/nodes/6.js +2 -2
  57. package/frontend/.svelte-kit/adapter-node/nodes/7.js +2 -2
  58. package/frontend/.svelte-kit/adapter-node/nodes/8.js +2 -2
  59. package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
  60. package/frontend/.svelte-kit/generated/server/internal.js +1 -1
  61. package/frontend/.svelte-kit/output/client/.vite/manifest.json +451 -414
  62. package/frontend/.svelte-kit/output/client/_app/immutable/assets/{0.CmJTG5mP.css → 0.DbhNvxzA.css} +1 -1
  63. package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.D2ehp3UL.css +6 -0
  64. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Dm1nSEgE.css +6 -0
  65. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.B3djLY18.css +6 -0
  66. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.BofiCOMr.css +6 -0
  67. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.DOC8fPSI.css +6 -0
  68. package/frontend/.svelte-kit/{adapter-node/_app/immutable/assets/Toast.DENwYn3g.css → output/client/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
  69. package/frontend/.svelte-kit/output/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
  70. package/frontend/{build/client/_app/immutable/assets/_layout.HkPnpRl9.css → .svelte-kit/output/client/_app/immutable/assets/_layout.DWCC-fI9.css} +1 -1
  71. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.B3djLY18.css +6 -0
  72. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BNh9zY8Y.css +6 -0
  73. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.D1jbMcpb.css +6 -0
  74. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DOC8fPSI.css +6 -0
  75. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
  76. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{C2_rQ4aY.js → 3MBVX4Yb.js} +1 -1
  77. package/frontend/{build/client/_app/immutable/chunks/CfkUW1vA.js → .svelte-kit/output/client/_app/immutable/chunks/6VDMVB5U.js} +1 -1
  78. package/frontend/{build/client/_app/immutable/chunks/B0_HKFXV.js → .svelte-kit/output/client/_app/immutable/chunks/B2lVGNml.js} +1 -1
  79. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B74j8LrV.js +6 -0
  80. package/frontend/{build/client/_app/immutable/chunks/CboYYxrf.js → .svelte-kit/output/client/_app/immutable/chunks/BCh31ecr.js} +1 -1
  81. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BDb8hZHu.js +6 -0
  82. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BIDsfWFz.js +6 -0
  83. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CeH-RgMb.js → BIf7lHIm.js} +1 -1
  84. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BTV7EXZb.js +11 -0
  85. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DAmOMhaf.js → BWGoOYU0.js} +1 -1
  86. package/frontend/{build/client/_app/immutable/chunks/DiVmSEJa.js → .svelte-kit/output/client/_app/immutable/chunks/BX-5iVGy.js} +2 -2
  87. package/frontend/{build/client/_app/immutable/chunks/BAvTKHxT.js → .svelte-kit/output/client/_app/immutable/chunks/BnXsGCy3.js} +1 -1
  88. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C4Z3p6jE.js +6 -0
  89. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CNpD-yNH.js +6 -0
  90. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUPWZLIN.js +6 -0
  91. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{Ck6C3Fl0.js → CXQhSK1T.js} +1 -1
  92. package/frontend/{build/client/_app/immutable/chunks/C00jnSU2.js → .svelte-kit/output/client/_app/immutable/chunks/CtgCYzu5.js} +1 -1
  93. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/D72giPTu.js +6 -0
  94. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{GDjpV3r7.js → DDx3no2z.js} +1 -1
  95. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DFZtPGTY.js +6 -0
  96. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/D_thT6pZ.js +6 -0
  97. package/frontend/{build/client/_app/immutable/chunks/C8S7qQjQ.js → .svelte-kit/output/client/_app/immutable/chunks/DeiVAbyn.js} +1 -1
  98. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dn1b1Jgc.js +6 -0
  99. package/frontend/{build/client/_app/immutable/chunks/d2K3c8Kx.js → .svelte-kit/output/client/_app/immutable/chunks/QwDXcLXz.js} +1 -1
  100. package/frontend/{build/client/_app/immutable/chunks/Cgw8TOOy.js → .svelte-kit/output/client/_app/immutable/chunks/gCgJ3Cwu.js} +1 -1
  101. package/frontend/{build/client/_app/immutable/chunks/BJ_ypKl3.js → .svelte-kit/output/client/_app/immutable/chunks/htkwR9b-.js} +1 -1
  102. package/frontend/{build/client/_app/immutable/chunks/C7uEQ-LH.js → .svelte-kit/output/client/_app/immutable/chunks/iL4SCrvY.js} +1 -1
  103. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CoTEzvLa.js → kFFd6Oo5.js} +1 -1
  104. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DWzEJYIF.js → prk8PJfA.js} +1 -1
  105. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/qvxlSGpD.js +6 -0
  106. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{B00vxw57.js → tsOANt55.js} +1 -1
  107. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/zXSLr47H.js +6 -0
  108. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.oEEXlUWx.js +7 -0
  109. package/frontend/{build/client/_app/immutable/entry/start.BXOLyf9R.js → .svelte-kit/output/client/_app/immutable/entry/start.BtJ124rC.js} +1 -1
  110. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.coxCxRRE.js +6 -0
  111. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.BI97il3r.js → 1.C-Zryp-y.js} +1 -1
  112. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.CXqf0Rbs.js +6 -0
  113. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.PLIMGzrY.js +6 -0
  114. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BGCTaTPG.js +6 -0
  115. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{2.Dr6yugXz.js → 2.Bno00fr8.js} +1 -1
  116. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.HmZmGlze.js +6 -0
  117. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{4.DDADylfF.js → 4.ahxFrDUH.js} +1 -1
  118. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.BXasF8ka.js +6 -0
  119. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DYiAtU_m.js +10 -0
  120. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.B_XntBZ1.js +6 -0
  121. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.iy5VcxjU.js +9 -0
  122. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.BOK0GNF_.js → 9.Bcqk4p04.js} +1 -1
  123. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  124. package/frontend/.svelte-kit/output/server/.vite/manifest.json +49 -41
  125. package/frontend/{build/client/_app/immutable/assets/Toast.DENwYn3g.css → .svelte-kit/output/server/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
  126. package/frontend/.svelte-kit/output/server/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
  127. package/frontend/.svelte-kit/{adapter-node/_app/immutable/assets/_layout.HkPnpRl9.css → output/server/_app/immutable/assets/_layout.DWCC-fI9.css} +1 -1
  128. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.B3djLY18.css +6 -0
  129. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BNh9zY8Y.css +6 -0
  130. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.D1jbMcpb.css +6 -0
  131. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DOC8fPSI.css +6 -0
  132. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
  133. package/frontend/.svelte-kit/output/server/chunks/{Toast.js → Button.js} +2 -17
  134. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -1
  135. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +1 -1
  136. package/frontend/.svelte-kit/output/server/chunks/common.js +11 -4
  137. package/frontend/.svelte-kit/output/server/chunks/constants.js +1 -1
  138. package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
  139. package/frontend/.svelte-kit/output/server/chunks/repository.js +21 -17
  140. package/frontend/.svelte-kit/output/server/entries/pages/live/_id_/_page.svelte.js +1 -1
  141. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +9 -2
  142. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +2 -5
  143. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +300 -253
  144. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +63 -36
  145. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -6
  146. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +15 -17
  147. package/frontend/.svelte-kit/output/server/manifest-full.js +1 -1
  148. package/frontend/.svelte-kit/output/server/manifest.js +1 -1
  149. package/frontend/.svelte-kit/output/server/nodes/0.js +2 -2
  150. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
  151. package/frontend/.svelte-kit/output/server/nodes/10.js +2 -2
  152. package/frontend/.svelte-kit/output/server/nodes/11.js +2 -2
  153. package/frontend/.svelte-kit/output/server/nodes/12.js +2 -2
  154. package/frontend/.svelte-kit/output/server/nodes/2.js +1 -1
  155. package/frontend/.svelte-kit/output/server/nodes/3.js +2 -2
  156. package/frontend/.svelte-kit/output/server/nodes/4.js +1 -1
  157. package/frontend/.svelte-kit/output/server/nodes/5.js +1 -1
  158. package/frontend/.svelte-kit/output/server/nodes/6.js +2 -2
  159. package/frontend/.svelte-kit/output/server/nodes/7.js +2 -2
  160. package/frontend/.svelte-kit/output/server/nodes/8.js +2 -2
  161. package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
  162. package/frontend/build/client/_app/immutable/assets/{0.CmJTG5mP.css → 0.DbhNvxzA.css} +1 -1
  163. package/frontend/build/client/_app/immutable/assets/0.DbhNvxzA.css.br +0 -0
  164. package/frontend/build/client/_app/immutable/assets/0.DbhNvxzA.css.gz +0 -0
  165. package/frontend/build/client/_app/immutable/assets/10.D2ehp3UL.css +6 -0
  166. package/frontend/build/client/_app/immutable/assets/10.D2ehp3UL.css.br +0 -0
  167. package/frontend/build/client/_app/immutable/assets/10.D2ehp3UL.css.gz +0 -0
  168. package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.css +6 -0
  169. package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.css.br +0 -0
  170. package/frontend/build/client/_app/immutable/assets/12.Dm1nSEgE.css.gz +0 -0
  171. package/frontend/build/client/_app/immutable/assets/3.B3djLY18.css +6 -0
  172. package/frontend/build/client/_app/immutable/assets/3.B3djLY18.css.br +0 -0
  173. package/frontend/build/client/_app/immutable/assets/3.B3djLY18.css.gz +0 -0
  174. package/frontend/build/client/_app/immutable/assets/6.BofiCOMr.css +6 -0
  175. package/frontend/build/client/_app/immutable/assets/6.BofiCOMr.css.br +0 -0
  176. package/frontend/build/client/_app/immutable/assets/6.BofiCOMr.css.gz +0 -0
  177. package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.css +6 -0
  178. package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.css.br +0 -0
  179. package/frontend/build/client/_app/immutable/assets/8.DOC8fPSI.css.gz +0 -0
  180. package/frontend/{.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css → build/client/_app/immutable/assets/Button.C1zsJAUG.css} +1 -1
  181. package/frontend/build/client/_app/immutable/assets/Button.C1zsJAUG.css.br +0 -0
  182. package/frontend/build/client/_app/immutable/assets/Button.C1zsJAUG.css.gz +0 -0
  183. package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css +6 -0
  184. package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css.br +0 -0
  185. package/frontend/build/client/_app/immutable/assets/ExportMenu.DsJQ1Qua.css.gz +0 -0
  186. package/frontend/{.svelte-kit/output/server/_app/immutable/assets/_layout.HkPnpRl9.css → build/client/_app/immutable/assets/_layout.DWCC-fI9.css} +1 -1
  187. package/frontend/build/client/_app/immutable/assets/_layout.DWCC-fI9.css.br +0 -0
  188. package/frontend/build/client/_app/immutable/assets/_layout.DWCC-fI9.css.gz +0 -0
  189. package/frontend/build/client/_app/immutable/assets/_page.B3djLY18.css +6 -0
  190. package/frontend/build/client/_app/immutable/assets/_page.B3djLY18.css.br +0 -0
  191. package/frontend/build/client/_app/immutable/assets/_page.B3djLY18.css.gz +0 -0
  192. package/frontend/build/client/_app/immutable/assets/_page.BNh9zY8Y.css +6 -0
  193. package/frontend/build/client/_app/immutable/assets/_page.BNh9zY8Y.css.br +0 -0
  194. package/frontend/build/client/_app/immutable/assets/_page.BNh9zY8Y.css.gz +0 -0
  195. package/frontend/build/client/_app/immutable/assets/_page.D1jbMcpb.css +6 -0
  196. package/frontend/build/client/_app/immutable/assets/_page.D1jbMcpb.css.br +0 -0
  197. package/frontend/build/client/_app/immutable/assets/_page.D1jbMcpb.css.gz +0 -0
  198. package/frontend/build/client/_app/immutable/assets/_page.DOC8fPSI.css +6 -0
  199. package/frontend/build/client/_app/immutable/assets/_page.DOC8fPSI.css.br +0 -0
  200. package/frontend/build/client/_app/immutable/assets/_page.DOC8fPSI.css.gz +0 -0
  201. package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css +6 -0
  202. package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css.br +0 -0
  203. package/frontend/build/client/_app/immutable/assets/_page.Dm1nSEgE.css.gz +0 -0
  204. package/frontend/build/client/_app/immutable/chunks/{C2_rQ4aY.js → 3MBVX4Yb.js} +1 -1
  205. package/frontend/build/client/_app/immutable/chunks/3MBVX4Yb.js.br +0 -0
  206. package/frontend/build/client/_app/immutable/chunks/3MBVX4Yb.js.gz +0 -0
  207. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CfkUW1vA.js → build/client/_app/immutable/chunks/6VDMVB5U.js} +1 -1
  208. package/frontend/build/client/_app/immutable/chunks/6VDMVB5U.js.br +0 -0
  209. package/frontend/build/client/_app/immutable/chunks/6VDMVB5U.js.gz +0 -0
  210. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/B0_HKFXV.js → build/client/_app/immutable/chunks/B2lVGNml.js} +1 -1
  211. package/frontend/build/client/_app/immutable/chunks/B2lVGNml.js.br +0 -0
  212. package/frontend/build/client/_app/immutable/chunks/B2lVGNml.js.gz +0 -0
  213. package/frontend/build/client/_app/immutable/chunks/B74j8LrV.js +6 -0
  214. package/frontend/build/client/_app/immutable/chunks/B74j8LrV.js.br +0 -0
  215. package/frontend/build/client/_app/immutable/chunks/B74j8LrV.js.gz +0 -0
  216. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CboYYxrf.js → build/client/_app/immutable/chunks/BCh31ecr.js} +1 -1
  217. package/frontend/build/client/_app/immutable/chunks/BCh31ecr.js.br +6 -0
  218. package/frontend/build/client/_app/immutable/chunks/BCh31ecr.js.gz +0 -0
  219. package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js +6 -0
  220. package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js.br +0 -0
  221. package/frontend/build/client/_app/immutable/chunks/BDb8hZHu.js.gz +0 -0
  222. package/frontend/build/client/_app/immutable/chunks/BIDsfWFz.js +6 -0
  223. package/frontend/build/client/_app/immutable/chunks/BIDsfWFz.js.br +0 -0
  224. package/frontend/build/client/_app/immutable/chunks/BIDsfWFz.js.gz +0 -0
  225. package/frontend/build/client/_app/immutable/chunks/{CeH-RgMb.js → BIf7lHIm.js} +1 -1
  226. package/frontend/build/client/_app/immutable/chunks/BIf7lHIm.js.br +0 -0
  227. package/frontend/build/client/_app/immutable/chunks/{CeH-RgMb.js.gz → BIf7lHIm.js.gz} +0 -0
  228. package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js +11 -0
  229. package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js.br +0 -0
  230. package/frontend/build/client/_app/immutable/chunks/BTV7EXZb.js.gz +0 -0
  231. package/frontend/build/client/_app/immutable/chunks/{DAmOMhaf.js → BWGoOYU0.js} +1 -1
  232. package/frontend/build/client/_app/immutable/chunks/BWGoOYU0.js.br +0 -0
  233. package/frontend/build/client/_app/immutable/chunks/BWGoOYU0.js.gz +0 -0
  234. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DiVmSEJa.js → build/client/_app/immutable/chunks/BX-5iVGy.js} +2 -2
  235. package/frontend/build/client/_app/immutable/chunks/BX-5iVGy.js.br +0 -0
  236. package/frontend/build/client/_app/immutable/chunks/BX-5iVGy.js.gz +0 -0
  237. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BAvTKHxT.js → build/client/_app/immutable/chunks/BnXsGCy3.js} +1 -1
  238. package/frontend/build/client/_app/immutable/chunks/BnXsGCy3.js.br +0 -0
  239. package/frontend/build/client/_app/immutable/chunks/BnXsGCy3.js.gz +0 -0
  240. package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js +6 -0
  241. package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js.br +0 -0
  242. package/frontend/build/client/_app/immutable/chunks/C4Z3p6jE.js.gz +0 -0
  243. package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js +6 -0
  244. package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js.br +0 -0
  245. package/frontend/build/client/_app/immutable/chunks/CNpD-yNH.js.gz +0 -0
  246. package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js +6 -0
  247. package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js.br +0 -0
  248. package/frontend/build/client/_app/immutable/chunks/CUPWZLIN.js.gz +0 -0
  249. package/frontend/build/client/_app/immutable/chunks/{Ck6C3Fl0.js → CXQhSK1T.js} +1 -1
  250. package/frontend/build/client/_app/immutable/chunks/CXQhSK1T.js.br +0 -0
  251. package/frontend/build/client/_app/immutable/chunks/CXQhSK1T.js.gz +0 -0
  252. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C00jnSU2.js → build/client/_app/immutable/chunks/CtgCYzu5.js} +1 -1
  253. package/frontend/build/client/_app/immutable/chunks/CtgCYzu5.js.br +0 -0
  254. package/frontend/build/client/_app/immutable/chunks/CtgCYzu5.js.gz +0 -0
  255. package/frontend/build/client/_app/immutable/chunks/D72giPTu.js +6 -0
  256. package/frontend/build/client/_app/immutable/chunks/D72giPTu.js.br +0 -0
  257. package/frontend/build/client/_app/immutable/chunks/D72giPTu.js.gz +0 -0
  258. package/frontend/build/client/_app/immutable/chunks/{GDjpV3r7.js → DDx3no2z.js} +1 -1
  259. package/frontend/build/client/_app/immutable/chunks/DDx3no2z.js.br +0 -0
  260. package/frontend/build/client/_app/immutable/chunks/DDx3no2z.js.gz +0 -0
  261. package/frontend/build/client/_app/immutable/chunks/DFZtPGTY.js +6 -0
  262. package/frontend/build/client/_app/immutable/chunks/DFZtPGTY.js.br +0 -0
  263. package/frontend/build/client/_app/immutable/chunks/DFZtPGTY.js.gz +0 -0
  264. package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js +6 -0
  265. package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js.br +0 -0
  266. package/frontend/build/client/_app/immutable/chunks/D_thT6pZ.js.gz +0 -0
  267. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C8S7qQjQ.js → build/client/_app/immutable/chunks/DeiVAbyn.js} +1 -1
  268. package/frontend/build/client/_app/immutable/chunks/DeiVAbyn.js.br +6 -0
  269. package/frontend/build/client/_app/immutable/chunks/DeiVAbyn.js.gz +0 -0
  270. package/frontend/build/client/_app/immutable/chunks/Dn1b1Jgc.js +6 -0
  271. package/frontend/build/client/_app/immutable/chunks/Dn1b1Jgc.js.br +0 -0
  272. package/frontend/build/client/_app/immutable/chunks/Dn1b1Jgc.js.gz +0 -0
  273. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/d2K3c8Kx.js → build/client/_app/immutable/chunks/QwDXcLXz.js} +1 -1
  274. package/frontend/build/client/_app/immutable/chunks/QwDXcLXz.js.br +0 -0
  275. package/frontend/build/client/_app/immutable/chunks/QwDXcLXz.js.gz +0 -0
  276. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/Cgw8TOOy.js → build/client/_app/immutable/chunks/gCgJ3Cwu.js} +1 -1
  277. package/frontend/build/client/_app/immutable/chunks/gCgJ3Cwu.js.br +0 -0
  278. package/frontend/build/client/_app/immutable/chunks/gCgJ3Cwu.js.gz +0 -0
  279. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BJ_ypKl3.js → build/client/_app/immutable/chunks/htkwR9b-.js} +1 -1
  280. package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.br +0 -0
  281. package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.gz +0 -0
  282. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C7uEQ-LH.js → build/client/_app/immutable/chunks/iL4SCrvY.js} +1 -1
  283. package/frontend/build/client/_app/immutable/chunks/iL4SCrvY.js.br +0 -0
  284. package/frontend/build/client/_app/immutable/chunks/iL4SCrvY.js.gz +0 -0
  285. package/frontend/build/client/_app/immutable/chunks/{CoTEzvLa.js → kFFd6Oo5.js} +1 -1
  286. package/frontend/build/client/_app/immutable/chunks/kFFd6Oo5.js.br +0 -0
  287. package/frontend/build/client/_app/immutable/chunks/kFFd6Oo5.js.gz +0 -0
  288. package/frontend/build/client/_app/immutable/chunks/{DWzEJYIF.js → prk8PJfA.js} +1 -1
  289. package/frontend/build/client/_app/immutable/chunks/prk8PJfA.js.br +0 -0
  290. package/frontend/build/client/_app/immutable/chunks/prk8PJfA.js.gz +0 -0
  291. package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js +6 -0
  292. package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js.br +0 -0
  293. package/frontend/build/client/_app/immutable/chunks/qvxlSGpD.js.gz +0 -0
  294. package/frontend/build/client/_app/immutable/chunks/{B00vxw57.js → tsOANt55.js} +1 -1
  295. package/frontend/build/client/_app/immutable/chunks/tsOANt55.js.br +0 -0
  296. package/frontend/build/client/_app/immutable/chunks/tsOANt55.js.gz +0 -0
  297. package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js +6 -0
  298. package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js.br +0 -0
  299. package/frontend/build/client/_app/immutable/chunks/zXSLr47H.js.gz +0 -0
  300. package/frontend/build/client/_app/immutable/entry/app.oEEXlUWx.js +7 -0
  301. package/frontend/build/client/_app/immutable/entry/app.oEEXlUWx.js.br +0 -0
  302. package/frontend/build/client/_app/immutable/entry/app.oEEXlUWx.js.gz +0 -0
  303. package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.BXOLyf9R.js → build/client/_app/immutable/entry/start.BtJ124rC.js} +1 -1
  304. package/frontend/build/client/_app/immutable/entry/{start.BXOLyf9R.js.br → start.BtJ124rC.js.br} +1 -1
  305. package/frontend/build/client/_app/immutable/entry/{start.BXOLyf9R.js.gz → start.BtJ124rC.js.gz} +0 -0
  306. package/frontend/build/client/_app/immutable/nodes/0.coxCxRRE.js +6 -0
  307. package/frontend/build/client/_app/immutable/nodes/0.coxCxRRE.js.br +0 -0
  308. package/frontend/build/client/_app/immutable/nodes/0.coxCxRRE.js.gz +0 -0
  309. package/frontend/build/client/_app/immutable/nodes/{1.BI97il3r.js → 1.C-Zryp-y.js} +1 -1
  310. package/frontend/build/client/_app/immutable/nodes/1.C-Zryp-y.js.br +0 -0
  311. package/frontend/build/client/_app/immutable/nodes/1.C-Zryp-y.js.gz +0 -0
  312. package/frontend/build/client/_app/immutable/nodes/10.CXqf0Rbs.js +6 -0
  313. package/frontend/build/client/_app/immutable/nodes/10.CXqf0Rbs.js.br +0 -0
  314. package/frontend/build/client/_app/immutable/nodes/10.CXqf0Rbs.js.gz +0 -0
  315. package/frontend/build/client/_app/immutable/nodes/11.PLIMGzrY.js +6 -0
  316. package/frontend/build/client/_app/immutable/nodes/11.PLIMGzrY.js.br +0 -0
  317. package/frontend/build/client/_app/immutable/nodes/11.PLIMGzrY.js.gz +0 -0
  318. package/frontend/build/client/_app/immutable/nodes/12.BGCTaTPG.js +6 -0
  319. package/frontend/build/client/_app/immutable/nodes/12.BGCTaTPG.js.br +0 -0
  320. package/frontend/build/client/_app/immutable/nodes/12.BGCTaTPG.js.gz +0 -0
  321. package/frontend/build/client/_app/immutable/nodes/{2.Dr6yugXz.js → 2.Bno00fr8.js} +1 -1
  322. package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.br +0 -0
  323. package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.gz +0 -0
  324. package/frontend/build/client/_app/immutable/nodes/3.HmZmGlze.js +6 -0
  325. package/frontend/build/client/_app/immutable/nodes/3.HmZmGlze.js.br +0 -0
  326. package/frontend/build/client/_app/immutable/nodes/3.HmZmGlze.js.gz +0 -0
  327. package/frontend/build/client/_app/immutable/nodes/{4.DDADylfF.js → 4.ahxFrDUH.js} +1 -1
  328. package/frontend/build/client/_app/immutable/nodes/4.ahxFrDUH.js.br +0 -0
  329. package/frontend/build/client/_app/immutable/nodes/4.ahxFrDUH.js.gz +0 -0
  330. package/frontend/build/client/_app/immutable/nodes/5.BXasF8ka.js +6 -0
  331. package/frontend/build/client/_app/immutable/nodes/5.BXasF8ka.js.br +0 -0
  332. package/frontend/build/client/_app/immutable/nodes/5.BXasF8ka.js.gz +0 -0
  333. package/frontend/build/client/_app/immutable/nodes/6.DYiAtU_m.js +10 -0
  334. package/frontend/build/client/_app/immutable/nodes/6.DYiAtU_m.js.br +0 -0
  335. package/frontend/build/client/_app/immutable/nodes/6.DYiAtU_m.js.gz +0 -0
  336. package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js +6 -0
  337. package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.br +0 -0
  338. package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.gz +0 -0
  339. package/frontend/build/client/_app/immutable/nodes/8.iy5VcxjU.js +9 -0
  340. package/frontend/build/client/_app/immutable/nodes/8.iy5VcxjU.js.br +0 -0
  341. package/frontend/build/client/_app/immutable/nodes/8.iy5VcxjU.js.gz +0 -0
  342. package/frontend/build/client/_app/immutable/nodes/{9.BOK0GNF_.js → 9.Bcqk4p04.js} +1 -1
  343. package/frontend/build/client/_app/immutable/nodes/9.Bcqk4p04.js.br +0 -0
  344. package/frontend/build/client/_app/immutable/nodes/9.Bcqk4p04.js.gz +0 -0
  345. package/frontend/build/client/_app/version.json +1 -1
  346. package/frontend/build/client/_app/version.json.br +0 -0
  347. package/frontend/build/client/_app/version.json.gz +0 -0
  348. package/frontend/build/server/chunks/0-C9vi7MPa.js +22 -0
  349. package/frontend/build/server/chunks/0-C9vi7MPa.js.map +5 -0
  350. package/frontend/build/server/chunks/{1-B3HpigzL.js → 1-DzLSP_fj.js} +2 -2
  351. package/frontend/build/server/chunks/{1-B3HpigzL.js.map → 1-DzLSP_fj.js.map} +1 -1
  352. package/frontend/build/server/chunks/10-C2C3V4ib.js +14 -0
  353. package/frontend/build/server/chunks/10-C2C3V4ib.js.map +5 -0
  354. package/frontend/build/server/chunks/11-TJq4Q43D.js +14 -0
  355. package/frontend/build/server/chunks/11-TJq4Q43D.js.map +5 -0
  356. package/frontend/build/server/chunks/12-B1JDiNwh.js +14 -0
  357. package/frontend/build/server/chunks/12-B1JDiNwh.js.map +5 -0
  358. package/frontend/build/server/chunks/2-Dalgd2D4.js +14 -0
  359. package/frontend/build/server/chunks/{2-DioMbKbC.js.map → 2-Dalgd2D4.js.map} +1 -1
  360. package/frontend/build/server/chunks/3-DZ2GSPqb.js +14 -0
  361. package/frontend/build/server/chunks/3-DZ2GSPqb.js.map +5 -0
  362. package/frontend/build/server/chunks/4-C-1FSKpN.js +14 -0
  363. package/frontend/build/server/chunks/{4-BM-49dbE.js.map → 4-C-1FSKpN.js.map} +1 -1
  364. package/frontend/build/server/chunks/5-ZN8cEN5r.js +14 -0
  365. package/frontend/build/server/chunks/{5-Brx_KOzy.js.map → 5-ZN8cEN5r.js.map} +1 -1
  366. package/frontend/build/server/chunks/6-CInDe8Ui.js +14 -0
  367. package/frontend/build/server/chunks/6-CInDe8Ui.js.map +5 -0
  368. package/frontend/build/server/chunks/7-DTNbErSe.js +14 -0
  369. package/frontend/build/server/chunks/7-DTNbErSe.js.map +5 -0
  370. package/frontend/build/server/chunks/8-DTzm-G0z.js +14 -0
  371. package/frontend/build/server/chunks/8-DTzm-G0z.js.map +5 -0
  372. package/frontend/build/server/chunks/9-CjMorbDi.js +14 -0
  373. package/frontend/build/server/chunks/{9-BMAKiAem.js.map → 9-CjMorbDi.js.map} +1 -1
  374. package/frontend/build/server/chunks/{Toast-CHB87F8k.js → Button-B9h9viZX.js} +3 -17
  375. package/frontend/build/server/chunks/Button-B9h9viZX.js.map +5 -0
  376. package/frontend/build/server/chunks/{ConfirmModal-CtGWHl0v.js → ConfirmModal-C6Cz898n.js} +2 -2
  377. package/frontend/build/server/chunks/{ConfirmModal-CtGWHl0v.js.map → ConfirmModal-C6Cz898n.js.map} +1 -1
  378. package/frontend/build/server/chunks/{EmptyState-Zpm9tJe1.js → EmptyState-CRtsJIv6.js} +2 -2
  379. package/frontend/build/server/chunks/{EmptyState-Zpm9tJe1.js.map → EmptyState-CRtsJIv6.js.map} +1 -1
  380. package/frontend/build/server/chunks/{_layout.svelte-C_6nsIpT.js → _layout.svelte-CiX-oQp_.js} +4 -4
  381. package/frontend/build/server/chunks/{_layout.svelte-C_6nsIpT.js.map → _layout.svelte-CiX-oQp_.js.map} +1 -1
  382. package/frontend/build/server/chunks/{_page.svelte-CTebwzwy.js → _page.svelte-BYYUOBOB.js} +12 -7
  383. package/frontend/build/server/chunks/_page.svelte-BYYUOBOB.js.map +5 -0
  384. package/frontend/build/server/chunks/{_page.svelte-DHZhNTPg.js → _page.svelte-BaxqeEYc.js} +68 -42
  385. package/frontend/build/server/chunks/_page.svelte-BaxqeEYc.js.map +5 -0
  386. package/frontend/build/server/chunks/_page.svelte-C2WqvInJ.js +898 -0
  387. package/frontend/build/server/chunks/_page.svelte-C2WqvInJ.js.map +5 -0
  388. package/frontend/build/server/chunks/{_page.svelte-Bamoq11m.js → _page.svelte-CP6jA1ex.js} +6 -6
  389. package/frontend/build/server/chunks/{_page.svelte-Bamoq11m.js.map → _page.svelte-CP6jA1ex.js.map} +1 -1
  390. package/frontend/build/server/chunks/{_page.svelte-CbTrCeeX.js → _page.svelte-D6b-klLK.js} +9 -9
  391. package/frontend/build/server/chunks/{_page.svelte-CbTrCeeX.js.map → _page.svelte-D6b-klLK.js.map} +1 -1
  392. package/frontend/build/server/chunks/{_page.svelte-DObTHQe2.js → _page.svelte-DAIQT067.js} +8 -8
  393. package/frontend/build/server/chunks/_page.svelte-DAIQT067.js.map +5 -0
  394. package/frontend/build/server/chunks/{_page.svelte-CmJKt3-H.js → _page.svelte-DBjTpquQ.js} +18 -21
  395. package/frontend/build/server/chunks/_page.svelte-DBjTpquQ.js.map +5 -0
  396. package/frontend/build/server/chunks/{_page.svelte-CAlhaCzS.js → _page.svelte-mZF4NrfU.js} +9 -12
  397. package/frontend/build/server/chunks/_page.svelte-mZF4NrfU.js.map +5 -0
  398. package/frontend/build/server/chunks/{_page.svelte-BNwU9zza.js → _page.svelte-nrlgIFaU.js} +8 -11
  399. package/frontend/build/server/chunks/_page.svelte-nrlgIFaU.js.map +5 -0
  400. package/frontend/build/server/chunks/{common-DYYTVHPw.js → common-DS-Z0UFe.js} +7 -2
  401. package/frontend/build/server/chunks/common-DS-Z0UFe.js.map +5 -0
  402. package/frontend/build/server/chunks/{constants-BYVkTZ-O.js → constants-OmHysD51.js} +2 -2
  403. package/frontend/build/server/chunks/{constants-BYVkTZ-O.js.map → constants-OmHysD51.js.map} +1 -1
  404. package/frontend/build/server/chunks/{format-2pqy61MU.js → format-Bqb0as15.js} +2 -2
  405. package/frontend/build/server/chunks/{format-2pqy61MU.js.map → format-Bqb0as15.js.map} +1 -1
  406. package/frontend/build/server/chunks/{reports-WuXG6tj3.js → reports-chCHCDzB.js} +2 -2
  407. package/frontend/build/server/chunks/{reports-WuXG6tj3.js.map → reports-chCHCDzB.js.map} +1 -1
  408. package/frontend/build/server/chunks/{reports2-CCpI0xkQ.js → reports2-Dr3zu9CD.js} +2 -2
  409. package/frontend/build/server/chunks/{reports2-CCpI0xkQ.js.map → reports2-Dr3zu9CD.js.map} +1 -1
  410. package/frontend/build/server/chunks/{repository-TYWcFuWP.js → repository-DSsWVKEb.js} +5 -3
  411. package/frontend/build/server/chunks/repository-DSsWVKEb.js.map +5 -0
  412. package/frontend/build/server/chunks/{runner-D5yCWOsy.js → runner-aaUtOqck.js} +3 -3
  413. package/frontend/build/server/chunks/{runner-D5yCWOsy.js.map → runner-aaUtOqck.js.map} +1 -1
  414. package/frontend/build/server/index.js +1 -1
  415. package/frontend/build/server/index.js.map +1 -1
  416. package/frontend/build/server/manifest.js +14 -14
  417. package/frontend/build/server/manifest.js.map +1 -1
  418. package/frontend/src/lib/api/reports.js +7 -0
  419. package/frontend/src/lib/api/repository.js +28 -0
  420. package/frontend/src/lib/components/layout/RunnerPanel.svelte +2 -1
  421. package/frontend/src/lib/components/reports/LiveReplayer.svelte +0 -6
  422. package/frontend/src/lib/components/reports/RecordingPlayer.svelte +29 -6
  423. package/frontend/src/lib/components/ui/ExportMenu.svelte +154 -0
  424. package/frontend/src/lib/components/ui/NotificationStack.svelte +99 -0
  425. package/frontend/src/lib/constants.js +1 -1
  426. package/frontend/src/lib/copy/common.js +9 -0
  427. package/frontend/src/lib/copy/reports.js +7 -0
  428. package/frontend/src/lib/copy/repository.js +4 -0
  429. package/frontend/src/lib/copy/settings.js +15 -0
  430. package/frontend/src/lib/stores/notifications.js +23 -0
  431. package/frontend/src/lib/utils/download.js +28 -0
  432. package/frontend/src/routes/+layout.svelte +2 -0
  433. package/frontend/src/routes/reports/[id]/+page.svelte +37 -3
  434. package/frontend/src/routes/scheduled-tests/+page.svelte +9 -17
  435. package/frontend/src/routes/settings/+page.svelte +140 -56
  436. package/frontend/src/routes/test-repository/+page.svelte +47 -16
  437. package/frontend/src/routes/test-repository/runs/[id]/+page.svelte +14 -23
  438. package/frontend/src/routes/test-repository/suites/[id]/+page.svelte +38 -22
  439. package/package.json +1 -1
  440. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +0 -6
  441. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.B9H_IpSU.css +0 -6
  442. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Be5c3USL.css +0 -6
  443. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.COwSGmmy.css +0 -6
  444. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dp6vaGRc.css +0 -6
  445. package/frontend/.svelte-kit/generated/client/nodes/13.js +0 -6
  446. package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +0 -6
  447. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.B9H_IpSU.css +0 -6
  448. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.Be5c3USL.css +0 -6
  449. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.BN5XbLUX.css +0 -6
  450. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.COwSGmmy.css +0 -6
  451. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -6
  452. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -6
  453. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.B9H_IpSU.css +0 -6
  454. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Be5c3USL.css +0 -6
  455. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.COwSGmmy.css +0 -6
  456. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dp6vaGRc.css +0 -6
  457. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2-KCkWZO.js +0 -6
  458. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BbYY_TzB.js +0 -6
  459. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Beula-TH.js +0 -11
  460. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CZWchtW8.js +0 -6
  461. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CegSvdD-.js +0 -6
  462. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cfmt4_tJ.js +0 -6
  463. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DB3YXVFP.js +0 -6
  464. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DgQy0SB2.js +0 -6
  465. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dl-F6VCo.js +0 -6
  466. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DuAVKaL3.js +0 -6
  467. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/K1h4wprj.js +0 -6
  468. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.DRjRA71t.js +0 -7
  469. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CRb8Nyce.js +0 -6
  470. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.kyazROhw.js +0 -6
  471. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.B3vMgT2v.js +0 -6
  472. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.DkPcIrgW.js +0 -6
  473. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DUiL7fb5.js +0 -6
  474. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.N4CeDeoD.js +0 -6
  475. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DWd93Bv5.js +0 -10
  476. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.c8d1cQQM.js +0 -6
  477. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.Cvd3MauU.js +0 -9
  478. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +0 -6
  479. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.B9H_IpSU.css +0 -6
  480. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Be5c3USL.css +0 -6
  481. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.COwSGmmy.css +0 -6
  482. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dp6vaGRc.css +0 -6
  483. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.br +0 -0
  484. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.gz +0 -0
  485. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css +0 -6
  486. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.br +0 -0
  487. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.gz +0 -0
  488. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css +0 -6
  489. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.br +0 -0
  490. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.gz +0 -0
  491. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css +0 -6
  492. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.br +0 -0
  493. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.gz +0 -0
  494. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css +0 -6
  495. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.br +0 -0
  496. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.gz +0 -0
  497. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css +0 -6
  498. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.br +0 -0
  499. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.gz +0 -0
  500. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -6
  501. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.br +0 -0
  502. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.gz +0 -0
  503. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
  504. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.gz +0 -0
  505. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.br +0 -0
  506. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.gz +0 -0
  507. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -6
  508. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.br +0 -0
  509. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.gz +0 -0
  510. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css +0 -6
  511. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.br +0 -0
  512. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.gz +0 -0
  513. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css +0 -6
  514. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.br +0 -0
  515. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.gz +0 -0
  516. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css +0 -6
  517. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.br +0 -0
  518. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.gz +0 -0
  519. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css +0 -6
  520. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.br +0 -0
  521. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.gz +0 -0
  522. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js +0 -6
  523. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.br +0 -0
  524. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.gz +0 -0
  525. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.br +0 -0
  526. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.gz +0 -0
  527. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.br +0 -0
  528. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.gz +0 -0
  529. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.br +0 -0
  530. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.gz +0 -0
  531. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.br +0 -0
  532. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.gz +0 -0
  533. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js +0 -6
  534. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.br +0 -0
  535. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.gz +0 -0
  536. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js +0 -11
  537. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.br +0 -0
  538. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.gz +0 -0
  539. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.br +0 -0
  540. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.gz +0 -0
  541. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.br +0 -0
  542. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.gz +0 -0
  543. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.br +0 -0
  544. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.gz +0 -0
  545. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.br +0 -0
  546. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.gz +0 -0
  547. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js +0 -6
  548. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.br +0 -0
  549. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.gz +0 -0
  550. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.br +0 -6
  551. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.gz +0 -0
  552. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.br +0 -0
  553. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js +0 -6
  554. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.br +0 -0
  555. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.gz +0 -0
  556. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.br +0 -0
  557. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.gz +0 -0
  558. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js +0 -6
  559. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.br +0 -0
  560. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.gz +0 -0
  561. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.br +0 -0
  562. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.gz +0 -0
  563. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.br +0 -0
  564. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.gz +0 -0
  565. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.br +0 -0
  566. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.gz +0 -0
  567. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.br +0 -0
  568. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.gz +0 -0
  569. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js +0 -6
  570. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.br +0 -0
  571. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.gz +0 -0
  572. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.br +0 -7
  573. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.gz +0 -0
  574. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js +0 -6
  575. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.br +0 -0
  576. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.gz +0 -0
  577. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.br +0 -0
  578. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.gz +0 -0
  579. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js +0 -6
  580. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.br +0 -0
  581. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.gz +0 -0
  582. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js +0 -6
  583. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.br +0 -0
  584. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.gz +0 -0
  585. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.br +0 -0
  586. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.gz +0 -0
  587. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js +0 -6
  588. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.br +0 -0
  589. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.gz +0 -0
  590. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.br +0 -0
  591. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.gz +0 -0
  592. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js +0 -7
  593. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.br +0 -0
  594. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.gz +0 -0
  595. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js +0 -6
  596. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.br +0 -0
  597. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.gz +0 -0
  598. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.br +0 -0
  599. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.gz +0 -0
  600. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js +0 -6
  601. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.br +0 -0
  602. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.gz +0 -0
  603. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js +0 -6
  604. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.br +0 -0
  605. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.gz +0 -0
  606. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js +0 -6
  607. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.br +0 -0
  608. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.gz +0 -0
  609. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.br +0 -0
  610. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.gz +0 -0
  611. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js +0 -6
  612. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.br +0 -0
  613. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.gz +0 -0
  614. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.br +0 -0
  615. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.gz +0 -0
  616. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js +0 -6
  617. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.br +0 -0
  618. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.gz +0 -0
  619. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js +0 -10
  620. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.br +0 -0
  621. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.gz +0 -0
  622. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js +0 -6
  623. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.br +0 -0
  624. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.gz +0 -0
  625. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js +0 -9
  626. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.br +0 -0
  627. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.gz +0 -0
  628. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.br +0 -0
  629. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.gz +0 -0
  630. package/frontend/build/server/chunks/0-_rljpEay.js +0 -22
  631. package/frontend/build/server/chunks/0-_rljpEay.js.map +0 -5
  632. package/frontend/build/server/chunks/10-BQBBYpxV.js +0 -14
  633. package/frontend/build/server/chunks/10-BQBBYpxV.js.map +0 -5
  634. package/frontend/build/server/chunks/11-10xw0TIP.js +0 -14
  635. package/frontend/build/server/chunks/11-10xw0TIP.js.map +0 -5
  636. package/frontend/build/server/chunks/12-CZ3_Uw3c.js +0 -14
  637. package/frontend/build/server/chunks/12-CZ3_Uw3c.js.map +0 -5
  638. package/frontend/build/server/chunks/2-DioMbKbC.js +0 -14
  639. package/frontend/build/server/chunks/3-CgiZg_9v.js +0 -14
  640. package/frontend/build/server/chunks/3-CgiZg_9v.js.map +0 -5
  641. package/frontend/build/server/chunks/4-BM-49dbE.js +0 -14
  642. package/frontend/build/server/chunks/5-Brx_KOzy.js +0 -14
  643. package/frontend/build/server/chunks/6-C5swINND.js +0 -14
  644. package/frontend/build/server/chunks/6-C5swINND.js.map +0 -5
  645. package/frontend/build/server/chunks/7-B8e4y3CB.js +0 -14
  646. package/frontend/build/server/chunks/7-B8e4y3CB.js.map +0 -5
  647. package/frontend/build/server/chunks/8-BZtkZMIZ.js +0 -14
  648. package/frontend/build/server/chunks/8-BZtkZMIZ.js.map +0 -5
  649. package/frontend/build/server/chunks/9-BMAKiAem.js +0 -14
  650. package/frontend/build/server/chunks/Toast-CHB87F8k.js.map +0 -5
  651. package/frontend/build/server/chunks/_page.svelte-BNwU9zza.js.map +0 -5
  652. package/frontend/build/server/chunks/_page.svelte-CAlhaCzS.js.map +0 -5
  653. package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js.map +0 -5
  654. package/frontend/build/server/chunks/_page.svelte-CmJKt3-H.js.map +0 -5
  655. package/frontend/build/server/chunks/_page.svelte-DHZhNTPg.js.map +0 -5
  656. package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js.map +0 -5
  657. package/frontend/build/server/chunks/_page.svelte-ywHy9KCh.js +0 -852
  658. package/frontend/build/server/chunks/_page.svelte-ywHy9KCh.js.map +0 -5
  659. package/frontend/build/server/chunks/common-DYYTVHPw.js.map +0 -5
  660. package/frontend/build/server/chunks/repository-TYWcFuWP.js.map +0 -5
  661. package/frontend/src/lib/components/ui/Toast.svelte +0 -24
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{h as gt,a as n,t as c,b as Ue,s as f,e as $}from"../chunks/CfkUW1vA.js";import{i as qt}from"../chunks/C00jnSU2.js";import{p as xt,m as E,o as wt,ao as St,l as ve,b as Ct,f as Et,g as e,c as Lt,s as m,$ as kt,d as o,j as l,k as a,t as g,x}from"../chunks/CeH-RgMb.js";import{i as L}from"../chunks/CegSvdD-.js";import{e as A,t as V,i as T,a as Ge,b as je}from"../chunks/Beula-TH.js";import{A as At,p as Se,s as b,r as Tt,c as It,S as $t,w as Bt}from"../chunks/DuAVKaL3.js";import{b as Nt}from"../chunks/BAvTKHxT.js";import{b as Ot,t as Mt}from"../chunks/BJ_ypKl3.js";import{s as Je}from"../chunks/B0_HKFXV.js";import{E as Rt}from"../chunks/Cfmt4_tJ.js";async function Dt(){const i=await fetch(`${At}/tests`),{suites:I}=await i.json();return I.suites??[]}const Pt="Automated Tests — Plum",Ht="Tests",Ut="Search suites or tests…",Gt="No test suites found.",Ye="Run suite",jt="outline",Jt="Hide",Yt="Steps",zt="Examples",Ft=i=>`No tests matching "${i}"`,Kt=i=>`Copied ${i}`,Vt=i=>`Copy ${i}`,Xt=i=>`Run ${i}`,Qt=i=>`Run ${i}`,Wt=i=>i?"Collapse suite":"Expand suite",Zt=(i,I)=>`${i} of ${I} tests`,es=i=>`${i} ${Se(i,"test")}`,ts=(i,I)=>`${i} ${Se(i,"suite")} · ${I} ${Se(I,"test")}`;var ss=c('<button class="search-clear svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 14 14" fill="none" class="svelte-b4oiqy"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-b4oiqy"></path></svg></button>'),as=c('<span class="sort-dir svelte-b4oiqy"> </span>'),os=c('<button class="sort-chip svelte-b4oiqy"> <!></button>'),rs=c('<div class="sort-bar svelte-b4oiqy"><span class="sort-label svelte-b4oiqy"></span> <!></div>'),is=c('<button class="id-pill svelte-b4oiqy"> </button>'),ls=c('<button class="id-pill svelte-b4oiqy"> </button>'),ns=c('<span class="outline-badge svelte-b4oiqy"></span>'),vs=c('<button class="steps-toggle svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-b4oiqy"><polyline points="9 18 15 12 9 6" class="svelte-b4oiqy"></polyline></svg> </button>'),cs=c('<li class="step svelte-b4oiqy"> </li>'),ds=c('<th class="svelte-b4oiqy"> </th>'),us=c('<td class="svelte-b4oiqy"> </td>'),ps=c('<tr class="svelte-b4oiqy"></tr>'),bs=c('<div class="examples svelte-b4oiqy"><span class="examples-label svelte-b4oiqy"></span> <div class="examples-table-wrap svelte-b4oiqy"><table class="examples-table svelte-b4oiqy"><thead class="svelte-b4oiqy"><tr class="svelte-b4oiqy"></tr></thead><tbody class="svelte-b4oiqy"></tbody></table></div></div>'),_s=c('<div class="steps svelte-b4oiqy"><ol class="step-list svelte-b4oiqy"></ol> <!></div>'),ys=c('<div class="test-row svelte-b4oiqy"><div class="test-main svelte-b4oiqy"><button class="run-icon-btn svelte-b4oiqy"><svg width="10" height="10" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-b4oiqy"><polygon points="5,3 19,12 5,21" class="svelte-b4oiqy"></polygon></svg></button> <div class="test-ids svelte-b4oiqy"></div> <span class="test-name svelte-b4oiqy"> <!></span> <!></div> <!></div>'),hs=c('<div class="tests svelte-b4oiqy"></div>'),fs=c('<div class="suite svelte-b4oiqy"><div class="suite-header svelte-b4oiqy"><button class="suite-toggle svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-b4oiqy"><polyline points="9 18 15 12 9 6" class="svelte-b4oiqy"></polyline></svg></button> <div class="suite-meta svelte-b4oiqy"><div class="suite-badges svelte-b4oiqy"></div> <span class="suite-name svelte-b4oiqy"> </span> <span class="suite-count svelte-b4oiqy"> </span></div> <button class="run-btn suite-run svelte-b4oiqy"><svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-b4oiqy"><polygon points="5,3 19,12 5,21" class="svelte-b4oiqy"></polygon></svg> </button></div> <!></div>'),ms=c('<div class="suites svelte-b4oiqy"></div>'),gs=c('<div class="page-header svelte-b4oiqy"><div class="header-top svelte-b4oiqy"><div class="svelte-b4oiqy"><h1 class="svelte-b4oiqy"></h1> <p class="subtitle svelte-b4oiqy"><!></p></div></div> <div class="search-row svelte-b4oiqy"><div class="search-wrap svelte-b4oiqy"><svg class="search-icon svelte-b4oiqy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8" class="svelte-b4oiqy"></circle><line x1="21" y1="21" x2="16.65" y2="16.65" class="svelte-b4oiqy"></line></svg> <input type="text" class="search-input svelte-b4oiqy"> <!></div></div></div> <!> <!>',1);function Is(i,I){xt(I,!1);const w=E(),X=E(),ce=E(),Ce=E();let U=E([]),B=E(""),G=E(new Set),j=E(new Set),S=E(new Set);const Q=new Map;function ze(t,s){try{const v=sessionStorage.getItem(t);if(v)return JSON.parse(v)}catch{}return s}function Fe(t,s){try{sessionStorage.setItem(t,JSON.stringify(s))}catch{}}let _=E(ze("plum:automated-tests:sort",{by:"id",order:"desc"}));function Ke(t){m(_,e(_).by===t?{...e(_),order:e(_).order==="asc"?"desc":"asc"}:{by:t,order:t==="id"?"desc":"asc"}),Fe("plum:automated-tests:sort",e(_))}async function Ve(){try{m(U,await Dt())}catch(t){console.error("Failed to fetch suites",t)}}wt(Ve);function J(t){return Array.isArray(t.suiteId)?t.suiteId:[t.suiteId]}function Ee(t){return Array.isArray(t.id)?t.id:[t.id]}function de(t){return Array.isArray(t.id)?t.id[0]:t.id}function Xe(t){e(G).has(t)?e(G).delete(t):e(G).add(t),m(G,e(G))}function Qe(t){e(j).has(t)?e(j).delete(t):e(j).add(t),m(j,e(j))}function Le(t){Ot.update(s=>({...s,testID:t})),Mt(t)}function We(t){Le(J(t)[0])}async function ke(t){await navigator.clipboard.writeText(t),e(S).add(t),m(S,e(S)),Q.has(t)&&clearTimeout(Q.get(t)),Q.set(t,setTimeout(()=>{e(S).delete(t),m(S,e(S)),Q.delete(t)},Bt))}St(()=>{for(const t of Q.values())clearTimeout(t)}),ve(()=>e(B),()=>{m(w,e(B).trim().toLowerCase())}),ve(()=>(e(U),e(w),e(_)),()=>{m(X,e(U).map(t=>{if(!e(w))return t;const s=t.suiteName.toLowerCase().includes(e(w))||J(t).some(d=>d.toLowerCase().includes(e(w))),v=t.tests.filter(d=>d.testCase.toLowerCase().includes(e(w))||Ee(d).some(Y=>Y.toLowerCase().includes(e(w))));return!s&&v.length===0?null:{...t,tests:s?t.tests:v}}).filter(Boolean).map(t=>({...t,tests:[...t.tests].sort((s,v)=>{const d=e(_).by==="name"?s.testCase.localeCompare(v.testCase):(de(s)??"").localeCompare(de(v)??"");return e(_).order==="asc"?d:-d})})).sort((t,s)=>{const v=e(_).by==="name"?t.suiteName.localeCompare(s.suiteName):(J(t)[0]??"").localeCompare(J(s)[0]??"");return e(_).order==="asc"?v:-v}))}),ve(()=>e(U),()=>{m(ce,e(U).reduce((t,s)=>t+s.tests.length,0))}),ve(()=>e(X),()=>{m(Ce,e(X).reduce((t,s)=>t+s.tests.length,0))}),Ct(),qt();var Ae=gs();gt(t=>{kt.title=Pt});var ue=Et(Ae),pe=o(ue),Te=o(pe),Ie=o(Te);Ie.textContent=Ht;var $e=l(Ie,2),Ze=o($e);{var et=t=>{var s=Ue();g(v=>f(s,v),[()=>Zt(e(Ce),e(ce))],x),n(t,s)},tt=t=>{var s=Ue();g(v=>f(s,v),[()=>ts(e(U).length,e(ce))],x),n(t,s)};L(Ze,t=>{e(w)?t(et):t(tt,!1)})}a($e),a(Te),a(pe);var Be=l(pe,2),Ne=o(Be),te=l(o(Ne),2);Tt(te),b(te,"placeholder",Ut);var st=l(te,2);{var at=t=>{var s=ss();b(s,"aria-label",It),$("click",s,()=>m(B,"")),n(t,s)};L(st,t=>{e(B)&&t(at)})}a(Ne),a(Be),a(ue);var Oe=l(ue,2);{var ot=t=>{var s=rs(),v=o(s);v.textContent=$t;var d=l(v,2);A(d,0,()=>[["id","ID"],["name","Name"]],T,(Y,N)=>{let z=()=>N[0],O=()=>N[1];var C=os(),k=o(C),be=l(k);{var W=M=>{var R=as(),_e=o(R,!0);a(R),g(()=>f(_e,e(_).order==="asc"?"↑":"↓")),n(M,R)};L(be,M=>{e(_).by===z()&&M(W)})}a(C),g(()=>{V(C,"active",e(_).by===z()),f(k,`${O()??""} `)}),$("click",C,()=>Ke(z())),n(Y,C)}),a(s),n(t,s)};L(Oe,t=>{e(w)||t(ot)})}var rt=l(Oe,2);{var it=t=>{const s=x(()=>e(w)?Ft(e(B)):Gt);Rt(t,{get message(){return e(s)}})},lt=t=>{var s=ms();A(s,5,()=>e(X),T,(v,d,Y)=>{var N=fs();const z=x(()=>J(e(d))[0]??e(d).suiteName),O=x(()=>!e(j).has(e(z)));var C=o(N),k=o(C),be=o(k);a(k);var W=l(k,2),M=o(W);A(M,5,()=>J(e(d)),T,(D,y)=>{var q=is(),h=o(q,!0);a(q),g((ae,F)=>{b(q,"title",ae),b(q,"aria-label",ae),V(q,"copied",F),f(h,e(y))},[()=>e(S).has(e(y))?Kt(e(y)):Vt(e(y)),()=>e(S).has(e(y))],x),$("click",q,()=>ke(e(y))),n(D,q)}),a(M);var R=l(M,2),_e=o(R,!0);a(R);var Me=l(R,2),nt=o(Me,!0);a(Me),a(W);var se=l(W,2);b(se,"title",Ye);var vt=l(o(se));vt.nodeValue=` ${Ye}`,a(se),a(C);var ct=l(C,2);{var dt=D=>{var y=hs();A(y,5,()=>e(d).tests,T,(q,h,ae)=>{var F=ys();const oe=x(()=>de(e(h))),re=x(()=>e(G).has(e(oe)));var ye=o(F),ie=o(ye),he=l(ie,2);A(he,5,()=>Ee(e(h)),T,(p,r)=>{var u=ls(),Z=o(u,!0);a(u),g((le,P)=>{b(u,"title",le),b(u,"aria-label",le),V(u,"copied",P),f(Z,e(r))},[()=>e(S).has(e(r))?`Copied ${e(r)}`:`Copy ${e(r)}`,()=>e(S).has(e(r))],x),$("click",u,()=>ke(e(r))),n(p,u)}),a(he);var fe=l(he,2),Re=o(fe),ut=l(Re);{var pt=p=>{var r=ns();r.textContent=jt,n(p,r)};L(ut,p=>{e(h).type==="outline"&&p(pt)})}a(fe);var bt=l(fe,2);{var _t=p=>{var r=vs(),u=o(r),Z=l(u);a(r),g(()=>{b(r,"aria-expanded",e(re)),V(u,"rotated",e(re)),f(Z,` ${(e(re)?Jt:Yt)??""}`)}),$("click",r,()=>Xe(e(oe))),n(p,r)};L(bt,p=>{var r;((r=e(h).steps)==null?void 0:r.length)>0&&p(_t)})}a(ye);var yt=l(ye,2);{var ht=p=>{var r=_s(),u=o(r);A(u,5,()=>e(h).steps,T,(P,ee)=>{var K=cs(),ne=o(K,!0);a(K),g(()=>f(ne,e(ee))),n(P,K)}),a(u);var Z=l(u,2);{var le=P=>{var ee=bs(),K=o(ee);K.textContent=zt;var ne=l(K,2),De=o(ne),me=o(De),Pe=o(me);A(Pe,5,()=>e(h).examples.headers,T,(ge,qe)=>{var H=ds(),xe=o(H,!0);a(H),g(()=>f(xe,e(qe))),n(ge,H)}),a(Pe),a(me);var He=l(me);A(He,5,()=>e(h).examples.rows,T,(ge,qe)=>{var H=ps();A(H,5,()=>e(qe),T,(xe,ft)=>{var we=us(),mt=o(we,!0);a(we),g(()=>f(mt,e(ft))),n(xe,we)}),a(H),n(ge,H)}),a(He),a(De),a(ne),a(ee),n(P,ee)};L(Z,P=>{e(h).examples&&P(le)})}a(r),Ge(3,r,()=>je,()=>({duration:180})),n(p,r)};L(yt,p=>{var r;e(re)&&((r=e(h).steps)==null?void 0:r.length)>0&&p(ht)})}a(F),g((p,r,u)=>{b(F,"style",p),b(ie,"title",r),b(ie,"aria-label",u),f(Re,`${e(h).testCase??""} `)},[()=>Je(Y*4+ae,30),()=>Xt(e(oe)),()=>Qt(e(h).testCase)],x),$("click",ie,()=>Le(e(oe))),n(q,F)}),a(y),Ge(3,y,()=>je,()=>({duration:180})),n(D,y)};L(ct,D=>{e(O)&&D(dt)})}a(N),g((D,y,q)=>{b(N,"style",D),V(C,"collapsed",!e(O)),b(k,"aria-expanded",e(O)),b(k,"aria-label",y),V(be,"rotated",e(O)),f(_e,e(d).suiteName),f(nt,q)},[()=>Je(Y,55),()=>Wt(e(O)),()=>es(e(d).tests.length)],x),$("click",k,()=>Qe(e(z))),$("click",se,()=>We(e(d))),n(v,N)}),a(s),n(t,s)};L(rt,t=>{e(X).length===0?t(it):t(lt,!1)})}Nt(te,()=>e(B),t=>m(B,t)),n(i,Ae),Lt()}export{Is as component};
6
+ import{h as gt,a as n,t as c,b as Ue,s as f,e as $}from"../chunks/6VDMVB5U.js";import{i as qt}from"../chunks/CtgCYzu5.js";import{p as xt,m as E,o as wt,ao as St,l as ve,b as Ct,f as Et,g as e,c as Lt,s as m,$ as kt,d as o,j as l,k as a,t as g,x}from"../chunks/BIf7lHIm.js";import{i as L}from"../chunks/D_thT6pZ.js";import{e as A,t as V,i as T,a as Ge,b as je}from"../chunks/BTV7EXZb.js";import{A as At,p as Se,s as b,r as Tt,b as It,S as $t,F as Bt}from"../chunks/C4Z3p6jE.js";import{b as Nt}from"../chunks/BnXsGCy3.js";import{b as Ot,t as Mt}from"../chunks/htkwR9b-.js";import{s as Fe}from"../chunks/B2lVGNml.js";import{E as Rt}from"../chunks/CNpD-yNH.js";async function Dt(){const i=await fetch(`${At}/tests`),{suites:I}=await i.json();return I.suites??[]}const Pt="Automated Tests — Plum",Ht="Tests",Ut="Search suites or tests…",Gt="No test suites found.",Je="Run suite",jt="outline",Ft="Hide",Jt="Steps",Yt="Examples",zt=i=>`No tests matching "${i}"`,Kt=i=>`Copied ${i}`,Vt=i=>`Copy ${i}`,Xt=i=>`Run ${i}`,Qt=i=>`Run ${i}`,Wt=i=>i?"Collapse suite":"Expand suite",Zt=(i,I)=>`${i} of ${I} tests`,es=i=>`${i} ${Se(i,"test")}`,ts=(i,I)=>`${i} ${Se(i,"suite")} · ${I} ${Se(I,"test")}`;var ss=c('<button class="search-clear svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 14 14" fill="none" class="svelte-b4oiqy"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-b4oiqy"></path></svg></button>'),as=c('<span class="sort-dir svelte-b4oiqy"> </span>'),os=c('<button class="sort-chip svelte-b4oiqy"> <!></button>'),rs=c('<div class="sort-bar svelte-b4oiqy"><span class="sort-label svelte-b4oiqy"></span> <!></div>'),is=c('<button class="id-pill svelte-b4oiqy"> </button>'),ls=c('<button class="id-pill svelte-b4oiqy"> </button>'),ns=c('<span class="outline-badge svelte-b4oiqy"></span>'),vs=c('<button class="steps-toggle svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-b4oiqy"><polyline points="9 18 15 12 9 6" class="svelte-b4oiqy"></polyline></svg> </button>'),cs=c('<li class="step svelte-b4oiqy"> </li>'),ds=c('<th class="svelte-b4oiqy"> </th>'),us=c('<td class="svelte-b4oiqy"> </td>'),ps=c('<tr class="svelte-b4oiqy"></tr>'),bs=c('<div class="examples svelte-b4oiqy"><span class="examples-label svelte-b4oiqy"></span> <div class="examples-table-wrap svelte-b4oiqy"><table class="examples-table svelte-b4oiqy"><thead class="svelte-b4oiqy"><tr class="svelte-b4oiqy"></tr></thead><tbody class="svelte-b4oiqy"></tbody></table></div></div>'),_s=c('<div class="steps svelte-b4oiqy"><ol class="step-list svelte-b4oiqy"></ol> <!></div>'),ys=c('<div class="test-row svelte-b4oiqy"><div class="test-main svelte-b4oiqy"><button class="run-icon-btn svelte-b4oiqy"><svg width="10" height="10" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-b4oiqy"><polygon points="5,3 19,12 5,21" class="svelte-b4oiqy"></polygon></svg></button> <div class="test-ids svelte-b4oiqy"></div> <span class="test-name svelte-b4oiqy"> <!></span> <!></div> <!></div>'),hs=c('<div class="tests svelte-b4oiqy"></div>'),fs=c('<div class="suite svelte-b4oiqy"><div class="suite-header svelte-b4oiqy"><button class="suite-toggle svelte-b4oiqy"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-b4oiqy"><polyline points="9 18 15 12 9 6" class="svelte-b4oiqy"></polyline></svg></button> <div class="suite-meta svelte-b4oiqy"><div class="suite-badges svelte-b4oiqy"></div> <span class="suite-name svelte-b4oiqy"> </span> <span class="suite-count svelte-b4oiqy"> </span></div> <button class="run-btn suite-run svelte-b4oiqy"><svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-b4oiqy"><polygon points="5,3 19,12 5,21" class="svelte-b4oiqy"></polygon></svg> </button></div> <!></div>'),ms=c('<div class="suites svelte-b4oiqy"></div>'),gs=c('<div class="page-header svelte-b4oiqy"><div class="header-top svelte-b4oiqy"><div class="svelte-b4oiqy"><h1 class="svelte-b4oiqy"></h1> <p class="subtitle svelte-b4oiqy"><!></p></div></div> <div class="search-row svelte-b4oiqy"><div class="search-wrap svelte-b4oiqy"><svg class="search-icon svelte-b4oiqy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8" class="svelte-b4oiqy"></circle><line x1="21" y1="21" x2="16.65" y2="16.65" class="svelte-b4oiqy"></line></svg> <input type="text" class="search-input svelte-b4oiqy"> <!></div></div></div> <!> <!>',1);function Is(i,I){xt(I,!1);const w=E(),X=E(),ce=E(),Ce=E();let U=E([]),B=E(""),G=E(new Set),j=E(new Set),S=E(new Set);const Q=new Map;function Ye(t,s){try{const v=sessionStorage.getItem(t);if(v)return JSON.parse(v)}catch{}return s}function ze(t,s){try{sessionStorage.setItem(t,JSON.stringify(s))}catch{}}let _=E(Ye("plum:automated-tests:sort",{by:"id",order:"desc"}));function Ke(t){m(_,e(_).by===t?{...e(_),order:e(_).order==="asc"?"desc":"asc"}:{by:t,order:t==="id"?"desc":"asc"}),ze("plum:automated-tests:sort",e(_))}async function Ve(){try{m(U,await Dt())}catch(t){console.error("Failed to fetch suites",t)}}wt(Ve);function F(t){return Array.isArray(t.suiteId)?t.suiteId:[t.suiteId]}function Ee(t){return Array.isArray(t.id)?t.id:[t.id]}function de(t){return Array.isArray(t.id)?t.id[0]:t.id}function Xe(t){e(G).has(t)?e(G).delete(t):e(G).add(t),m(G,e(G))}function Qe(t){e(j).has(t)?e(j).delete(t):e(j).add(t),m(j,e(j))}function Le(t){Ot.update(s=>({...s,testID:t})),Mt(t)}function We(t){Le(F(t)[0])}async function ke(t){await navigator.clipboard.writeText(t),e(S).add(t),m(S,e(S)),Q.has(t)&&clearTimeout(Q.get(t)),Q.set(t,setTimeout(()=>{e(S).delete(t),m(S,e(S)),Q.delete(t)},Bt))}St(()=>{for(const t of Q.values())clearTimeout(t)}),ve(()=>e(B),()=>{m(w,e(B).trim().toLowerCase())}),ve(()=>(e(U),e(w),e(_)),()=>{m(X,e(U).map(t=>{if(!e(w))return t;const s=t.suiteName.toLowerCase().includes(e(w))||F(t).some(d=>d.toLowerCase().includes(e(w))),v=t.tests.filter(d=>d.testCase.toLowerCase().includes(e(w))||Ee(d).some(J=>J.toLowerCase().includes(e(w))));return!s&&v.length===0?null:{...t,tests:s?t.tests:v}}).filter(Boolean).map(t=>({...t,tests:[...t.tests].sort((s,v)=>{const d=e(_).by==="name"?s.testCase.localeCompare(v.testCase):(de(s)??"").localeCompare(de(v)??"");return e(_).order==="asc"?d:-d})})).sort((t,s)=>{const v=e(_).by==="name"?t.suiteName.localeCompare(s.suiteName):(F(t)[0]??"").localeCompare(F(s)[0]??"");return e(_).order==="asc"?v:-v}))}),ve(()=>e(U),()=>{m(ce,e(U).reduce((t,s)=>t+s.tests.length,0))}),ve(()=>e(X),()=>{m(Ce,e(X).reduce((t,s)=>t+s.tests.length,0))}),Ct(),qt();var Ae=gs();gt(t=>{kt.title=Pt});var ue=Et(Ae),pe=o(ue),Te=o(pe),Ie=o(Te);Ie.textContent=Ht;var $e=l(Ie,2),Ze=o($e);{var et=t=>{var s=Ue();g(v=>f(s,v),[()=>Zt(e(Ce),e(ce))],x),n(t,s)},tt=t=>{var s=Ue();g(v=>f(s,v),[()=>ts(e(U).length,e(ce))],x),n(t,s)};L(Ze,t=>{e(w)?t(et):t(tt,!1)})}a($e),a(Te),a(pe);var Be=l(pe,2),Ne=o(Be),te=l(o(Ne),2);Tt(te),b(te,"placeholder",Ut);var st=l(te,2);{var at=t=>{var s=ss();b(s,"aria-label",It),$("click",s,()=>m(B,"")),n(t,s)};L(st,t=>{e(B)&&t(at)})}a(Ne),a(Be),a(ue);var Oe=l(ue,2);{var ot=t=>{var s=rs(),v=o(s);v.textContent=$t;var d=l(v,2);A(d,0,()=>[["id","ID"],["name","Name"]],T,(J,N)=>{let Y=()=>N[0],O=()=>N[1];var C=os(),k=o(C),be=l(k);{var W=M=>{var R=as(),_e=o(R,!0);a(R),g(()=>f(_e,e(_).order==="asc"?"↑":"↓")),n(M,R)};L(be,M=>{e(_).by===Y()&&M(W)})}a(C),g(()=>{V(C,"active",e(_).by===Y()),f(k,`${O()??""} `)}),$("click",C,()=>Ke(Y())),n(J,C)}),a(s),n(t,s)};L(Oe,t=>{e(w)||t(ot)})}var rt=l(Oe,2);{var it=t=>{const s=x(()=>e(w)?zt(e(B)):Gt);Rt(t,{get message(){return e(s)}})},lt=t=>{var s=ms();A(s,5,()=>e(X),T,(v,d,J)=>{var N=fs();const Y=x(()=>F(e(d))[0]??e(d).suiteName),O=x(()=>!e(j).has(e(Y)));var C=o(N),k=o(C),be=o(k);a(k);var W=l(k,2),M=o(W);A(M,5,()=>F(e(d)),T,(D,y)=>{var q=is(),h=o(q,!0);a(q),g((ae,z)=>{b(q,"title",ae),b(q,"aria-label",ae),V(q,"copied",z),f(h,e(y))},[()=>e(S).has(e(y))?Kt(e(y)):Vt(e(y)),()=>e(S).has(e(y))],x),$("click",q,()=>ke(e(y))),n(D,q)}),a(M);var R=l(M,2),_e=o(R,!0);a(R);var Me=l(R,2),nt=o(Me,!0);a(Me),a(W);var se=l(W,2);b(se,"title",Je);var vt=l(o(se));vt.nodeValue=` ${Je}`,a(se),a(C);var ct=l(C,2);{var dt=D=>{var y=hs();A(y,5,()=>e(d).tests,T,(q,h,ae)=>{var z=ys();const oe=x(()=>de(e(h))),re=x(()=>e(G).has(e(oe)));var ye=o(z),ie=o(ye),he=l(ie,2);A(he,5,()=>Ee(e(h)),T,(p,r)=>{var u=ls(),Z=o(u,!0);a(u),g((le,P)=>{b(u,"title",le),b(u,"aria-label",le),V(u,"copied",P),f(Z,e(r))},[()=>e(S).has(e(r))?`Copied ${e(r)}`:`Copy ${e(r)}`,()=>e(S).has(e(r))],x),$("click",u,()=>ke(e(r))),n(p,u)}),a(he);var fe=l(he,2),Re=o(fe),ut=l(Re);{var pt=p=>{var r=ns();r.textContent=jt,n(p,r)};L(ut,p=>{e(h).type==="outline"&&p(pt)})}a(fe);var bt=l(fe,2);{var _t=p=>{var r=vs(),u=o(r),Z=l(u);a(r),g(()=>{b(r,"aria-expanded",e(re)),V(u,"rotated",e(re)),f(Z,` ${(e(re)?Ft:Jt)??""}`)}),$("click",r,()=>Xe(e(oe))),n(p,r)};L(bt,p=>{var r;((r=e(h).steps)==null?void 0:r.length)>0&&p(_t)})}a(ye);var yt=l(ye,2);{var ht=p=>{var r=_s(),u=o(r);A(u,5,()=>e(h).steps,T,(P,ee)=>{var K=cs(),ne=o(K,!0);a(K),g(()=>f(ne,e(ee))),n(P,K)}),a(u);var Z=l(u,2);{var le=P=>{var ee=bs(),K=o(ee);K.textContent=Yt;var ne=l(K,2),De=o(ne),me=o(De),Pe=o(me);A(Pe,5,()=>e(h).examples.headers,T,(ge,qe)=>{var H=ds(),xe=o(H,!0);a(H),g(()=>f(xe,e(qe))),n(ge,H)}),a(Pe),a(me);var He=l(me);A(He,5,()=>e(h).examples.rows,T,(ge,qe)=>{var H=ps();A(H,5,()=>e(qe),T,(xe,ft)=>{var we=us(),mt=o(we,!0);a(we),g(()=>f(mt,e(ft))),n(xe,we)}),a(H),n(ge,H)}),a(He),a(De),a(ne),a(ee),n(P,ee)};L(Z,P=>{e(h).examples&&P(le)})}a(r),Ge(3,r,()=>je,()=>({duration:180})),n(p,r)};L(yt,p=>{var r;e(re)&&((r=e(h).steps)==null?void 0:r.length)>0&&p(ht)})}a(z),g((p,r,u)=>{b(z,"style",p),b(ie,"title",r),b(ie,"aria-label",u),f(Re,`${e(h).testCase??""} `)},[()=>Fe(J*4+ae,30),()=>Xt(e(oe)),()=>Qt(e(h).testCase)],x),$("click",ie,()=>Le(e(oe))),n(q,z)}),a(y),Ge(3,y,()=>je,()=>({duration:180})),n(D,y)};L(ct,D=>{e(O)&&D(dt)})}a(N),g((D,y,q)=>{b(N,"style",D),V(C,"collapsed",!e(O)),b(k,"aria-expanded",e(O)),b(k,"aria-label",y),V(be,"rotated",e(O)),f(_e,e(d).suiteName),f(nt,q)},[()=>Fe(J,55),()=>Wt(e(O)),()=>es(e(d).tests.length)],x),$("click",k,()=>Qe(e(Y))),$("click",se,()=>We(e(d))),n(v,N)}),a(s),n(t,s)};L(rt,t=>{e(X).length===0?t(it):t(lt,!1)})}Nt(te,()=>e(B),t=>m(B,t)),n(i,Ae),Lt()}export{Is as component};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{a as o,t as g,c as ge,h as kt,s as E,e as ie,b as fe,n as $e}from"../chunks/6VDMVB5U.js";import{i as ze}from"../chunks/CtgCYzu5.js";import{p as Je,o as Xe,g as e,ao as Ze,l as A,s as c,aj as Rt,b as et,d as r,k as s,c as tt,m as _,y as ve,ap as It,f as S,$ as At,aq as Tt,j as n,t as L,x as ce,n as he}from"../chunks/BIf7lHIm.js";import{i as m,s as Bt,a as je}from"../chunks/D_thT6pZ.js";import{t as z,a as Ct,f as Nt,e as Me,i as qe}from"../chunks/BTV7EXZb.js";import{b as de}from"../chunks/BCh31ecr.js";import{g as He}from"../chunks/BX-5iVGy.js";import{p as Pt}from"../chunks/QwDXcLXz.js";import{c as St,d as Fe}from"../chunks/htkwR9b-.js";import{f as Dt}from"../chunks/gCgJ3Cwu.js";import{l as Ot,j as Te,m as me,n as Ut,o as Vt,V as Ke,Q as Gt,q as Wt,C as Be,s as jt,u as Mt,v as qt,w as Ht,x as Ft,y as Kt,z as Qt,A as Yt,B as $t,E as zt,F as Jt,G as Xt,W as Qe,I as Zt,J as ea,K as ta,M as aa,O as sa}from"../chunks/Dn1b1Jgc.js";import{G as Ce,H as la}from"../chunks/C4Z3p6jE.js";import{p as ra}from"../chunks/D72giPTu.js";import{P as na,B as be}from"../chunks/3MBVX4Yb.js";import{B as Ye}from"../chunks/DeiVAbyn.js";var va=g('<div class="live-viewport svelte-9tul2m"><div class="live-stage svelte-9tul2m"><div class="live-mount svelte-9tul2m"></div></div></div>');function oa(xe,ue){Je(ue,!1);let D=ra(ue,"events",24,()=>[]);const Ee=4;let W=_(),j=_(),k=_(),l=_(null),b=_(0),f=0,O=0,M;function ee(){if(!f||!O||!e(W))return;const u=e(W).getBoundingClientRect(),p=u.width/f||0;ve(j,e(j).style.width=`${u.width}px`),ve(j,e(j).style.height=`${O*p}px`),ve(k,e(k).style.transformOrigin="top left"),ve(k,e(k).style.transform=`scale(${p})`)}function te(){var X,V;const u=e(W).getBoundingClientRect(),p=((X=D().find(R=>(R==null?void 0:R.type)===Ee))==null?void 0:X.data)??null;f=(p==null?void 0:p.width)>0?p.width:u.width,O=(p==null?void 0:p.height)>0?p.height:u.height,c(l,new na({target:e(k),props:{events:D(),liveMode:!0,autoPlay:!1,showController:!1,width:f,height:O}})),c(b,D().length),(V=e(l).getReplayer())==null||V.startLive(),ee()}Xe(()=>{te(),M=new ResizeObserver(ee),M.observe(e(W))}),Ze(()=>{var u,p;M==null||M.disconnect();try{(p=(u=e(l))==null?void 0:u.getReplayer())==null||p.destroy()}catch{}}),A(()=>(e(l),Rt(D()),e(b)),()=>{if(e(l)&&D().length>e(b)){for(let u=e(b);u<D().length;u++)e(l).addEvent(D()[u]);c(b,D().length)}}),et(),ze();var B=va(),ae=r(B),J=r(ae);de(J,u=>c(k,u),()=>e(k)),s(ae),de(ae,u=>c(j,u),()=>e(j)),s(B),de(B,u=>c(W,u),()=>e(W)),o(xe,B),tt()}var ia=g('<h2 class="svelte-13l3gen"></h2> <p class="svelte-13l3gen"></p> <a href="/reports" class="notice-link svelte-13l3gen"></a>',1),ca=g('<div class="pulse-dot svelte-13l3gen"></div>'),da=g('<!> <div class="notice-state svelte-13l3gen"><!></div>',1),ua=g('<!> <div class="notice-state svelte-13l3gen"><div class="pulse-dot warn svelte-13l3gen"></div> <h2 class="svelte-13l3gen"></h2> <p class="svelte-13l3gen"></p> <p class="queue-pos svelte-13l3gen"> </p> <button class="cancel-btn svelte-13l3gen"></button></div>',1),_a=g('<!> <div class="notice-state svelte-13l3gen"><h2 class="svelte-13l3gen"> </h2> <a href="/reports" class="notice-link svelte-13l3gen"></a></div>',1),pa=g('<span class="live-badge svelte-13l3gen"><span class="live-dot svelte-13l3gen"></span> </span>'),ga=g('<span class="run-title-label svelte-13l3gen"> </span> <span class="run-sep svelte-13l3gen">·</span>',1),fa=g('<span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen"> </span>',1),ha=g('<div class="run-info svelte-13l3gen"><!> <span class="run-tag-label svelte-13l3gen"> </span> <span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen"> </span> <span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen"> </span> <!></div>'),ma=g('<button class="cancel-btn svelte-13l3gen"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-13l3gen"><rect x="3" y="3" width="18" height="18" rx="2" class="svelte-13l3gen"></rect><line x1="9" y1="9" x2="15" y2="15" class="svelte-13l3gen"></line><line x1="15" y1="9" x2="9" y2="15" class="svelte-13l3gen"></line></svg> </button>'),ba=$e('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-13l3gen"><polyline points="20 6 9 17 4 12" class="svelte-13l3gen"></polyline></svg> ',1),xa=$e('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-13l3gen"><line x1="18" y1="6" x2="6" y2="18" class="svelte-13l3gen"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-13l3gen"></line></svg> ',1),Ea=g('<div class="completion-bar svelte-13l3gen"><div class="completion-left svelte-13l3gen"><!></div> <div class="completion-right svelte-13l3gen"><span class="redirect-hint svelte-13l3gen"> </span> <button class="view-now-btn svelte-13l3gen"> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-13l3gen"><line x1="5" y1="12" x2="19" y2="12" class="svelte-13l3gen"></line><polyline points="12 5 19 12 12 19" class="svelte-13l3gen"></polyline></svg></button></div></div>'),wa=g('<span class="tab-count svelte-13l3gen"> </span>'),ya=g('<button class="lane-tab svelte-13l3gen"><span class="tab-dot svelte-13l3gen"></span> <!></button>'),La=g('<div class="lane-tabs svelte-13l3gen"></div>'),ka=g('<button class="lane-tab svelte-13l3gen"> </button>'),Ra=g('<div class="lane-tabs worker-tabs svelte-13l3gen"></div>'),Ia=g('<div class="awaiting-state svelte-13l3gen"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" opacity="0.25" class="svelte-13l3gen"><rect x="2" y="5" width="20" height="14" rx="2" class="svelte-13l3gen"></rect><circle cx="12" cy="12" r="3" class="svelte-13l3gen"></circle></svg> <span class="svelte-13l3gen"> </span></div>'),Aa=g('<pre class="terminal svelte-13l3gen"> </pre>'),Ta=g('<pre class="terminal svelte-13l3gen"> </pre>'),Ba=g('<div class="live-fullscreen svelte-13l3gen"><div class="run-header svelte-13l3gen"><div class="header-left svelte-13l3gen"><div class="header-back svelte-13l3gen"><!></div> <!> <!></div> <!></div> <!> <!> <!> <div class="run-view svelte-13l3gen"><div class="stream-panel svelte-13l3gen"><!></div> <div class="terminal-panel svelte-13l3gen"><div class="terminal-bar svelte-13l3gen"><span class="dot red svelte-13l3gen"></span> <span class="dot yellow svelte-13l3gen"></span> <span class="dot green svelte-13l3gen"></span> <span class="terminal-label svelte-13l3gen"><!></span></div> <!></div></div></div>');function Ka(xe,ue){Je(ue,!1);const[D,Ee]=Bt(),W=()=>je(Pt,"$page",D),j=()=>je(St,"$backgroundRuns",D),k=_(),l=_(),b=_(),f=_(),O=_(),M=_(),ee=_(),te=_(),B=_(),ae=_();let J=_(),u=_(),p=_(null),X=_(Ce/1e3),V=_(null),R=_(null),q=_(null),we=_(!1),Ne=_(0),ye=null;async function Pe(){try{const v=await Dt();c(we,!0);const I=v.find(ne=>ne.runId===e(k));c(Ne,(I==null?void 0:I.position)??0)}catch{c(we,!0)}}Xe(()=>{Pe(),ye=setInterval(()=>{e(b)==="queued"&&Pe()},4e3)}),It(()=>{e(J)&&ve(J,e(J).scrollTop=e(J).scrollHeight),e(u)&&ve(u,e(u).scrollTop=e(u).scrollHeight)}),Ze(()=>{e(p)&&clearTimeout(e(p)),e(V)&&clearInterval(e(V)),ye&&clearInterval(ye)});function at(){e(p)&&clearTimeout(e(p)),e(V)&&clearInterval(e(V)),He(Te(e(l).latestReportId))}A(()=>W(),()=>{c(k,W().params.id)}),A(()=>(j(),e(k)),()=>{c(l,j()[e(k)]??null)}),A(()=>e(l),()=>{var v;c(b,((v=e(l))==null?void 0:v.status)??null)}),A(()=>e(l),()=>{var v;c(f,((v=e(l))==null?void 0:v.lanes)??[])}),A(()=>e(f),()=>{c(O,e(f).length>1)}),A(()=>(e(f),e(R)),()=>{e(f).length===0?c(R,null):e(f).find(v=>v.id===e(R))||c(R,e(f)[0].id)}),A(()=>(e(f),e(R)),()=>{c(M,e(f).find(v=>v.id===e(R))??null)}),A(()=>(e(O),e(R),e(f)),()=>{var v;c(ee,e(O)?e(R):(v=e(f)[0])==null?void 0:v.id)}),A(()=>(e(ee),e(l)),()=>{var v;c(te,e(ee)&&((v=e(l))==null?void 0:v.rrwebByLane[e(ee)])||{})}),A(()=>e(te),()=>{c(B,Object.keys(e(te)).sort((v,I)=>Number(v)-Number(I)))}),A(()=>(e(B),e(q)),()=>{e(B).length===0?c(q,null):e(B).includes(e(q))||c(q,e(B)[0])}),A(()=>(e(q),e(te)),()=>{var v;c(ae,e(q)?((v=e(te)[e(q)])==null?void 0:v.events)??[]:[])}),A(()=>(e(b),e(l),e(p),e(X),e(V),Te),()=>{var v,I;e(b)==="done"&&((v=e(l))!=null&&v.testCompleted)&&((I=e(l))!=null&&I.latestReportId)&&!e(p)&&(c(X,Ce/1e3),c(V,setInterval(()=>{Tt(X,-1),e(X)<=0&&clearInterval(e(V))},1e3)),c(p,setTimeout(()=>He(Te(e(l).latestReportId)),Ce)))}),et(),ze();var Se=ge();kt(v=>{At.title=Ot});var st=S(Se);{var lt=v=>{var I=da(),ne=S(I);be(ne,{href:"/reports",label:me});var _e=n(ne,2),Le=r(_e);{var Z=U=>{var H=ia(),le=S(H);le.textContent=Ut;var C=n(le,2);C.textContent=Vt;var N=n(C,2);N.textContent=Ke,o(U,H)},se=U=>{var H=ca();o(U,H)};m(Le,U=>{e(we)?U(Z):U(se,!1)})}s(_e),o(v,I)},rt=v=>{var I=ge(),ne=S(I);{var _e=Z=>{var se=ua(),U=S(se);be(U,{href:"/reports",label:me});var H=n(U,2),le=n(r(H),2);le.textContent=Gt;var C=n(le,2);C.textContent=Wt;var N=n(C,2),G=r(N,!0);s(N);var F=n(N,2);F.textContent=Be,s(H),L(K=>E(G,K),[()=>jt(e(Ne))],ce),ie("click",F,()=>Fe(e(k))),o(Z,se)},Le=Z=>{var se=ge(),U=S(se);{var H=C=>{var N=_a(),G=S(N);be(G,{href:"/reports",label:me});var F=n(G,2),K=r(F),ke=r(K,!0);s(K);var pe=n(K,2);pe.textContent=Ke,s(F),L(()=>E(ke,e(l).verdict==="cancelled"?Be:Mt)),o(C,N)},le=C=>{var N=Ba(),G=r(N),F=r(G),K=r(F),ke=r(K);be(ke,{href:"/reports",label:me}),s(K);var pe=n(K,2);{var nt=a=>{var t=pa(),d=n(r(t),1,!0);d.nodeValue=qt,s(t),o(a,t)},vt=a=>{var t=ge(),d=S(t);{var i=x=>{Ye(x,{variant:"pass",children:(w,Q)=>{he();var T=fe();T.nodeValue=Zt,o(w,T)},$$slots:{default:!0}})},h=x=>{Ye(x,{variant:"fail",children:(w,Q)=>{he();var T=fe();T.nodeValue=ea,o(w,T)},$$slots:{default:!0}})};m(d,x=>{e(l).verdict==="pass"?x(i):x(h,!1)},!0)}o(a,t)};m(pe,a=>{e(b)==="running"?a(nt):a(vt,!1)})}var ot=n(pe,2);{var it=a=>{var t=ha(),d=r(t);{var i=y=>{var $=ga(),oe=S($),Ae=r(oe,!0);s(oe),he(2),L(()=>E(Ae,e(l).currentRun.runTitle)),o(y,$)};m(d,y=>{e(l).currentRun.runTitle&&y(i)})}var h=n(d,2),x=r(h,!0);s(h);var w=n(h,4),Q=r(w,!0);s(w);var T=n(w,4),Y=r(T,!0);s(T);var re=n(T,2);{var P=y=>{var $=fa(),oe=n(S($),2),Ae=r(oe,!0);s(oe),L(Lt=>E(Ae,Lt),[()=>ta(e(f).length)],ce),o(y,$)};m(re,y=>{e(f).length>1&&y(P)})}s(t),L(y=>{E(x,e(l).currentRun.tag||la),E(Q,y),E(Y,e(l).currentRun.browser)},[()=>Ht(e(l).currentRun.workers)],ce),o(a,t)};m(ot,a=>{e(l).currentRun&&a(it)})}s(F);var ct=n(F,2);{var dt=a=>{var t=ma(),d=n(r(t));d.nodeValue=` ${Be}`,s(t),ie("click",t,()=>Fe(e(k))),o(a,t)};m(ct,a=>{e(b)==="running"&&a(dt)})}s(G);var De=n(G,2);{var ut=a=>{var t=Ea(),d=r(t),i=r(d);{var h=P=>{var y=ba(),$=n(S(y),1,!0);$.nodeValue=aa,o(P,y)},x=P=>{var y=xa(),$=n(S(y),1,!0);$.nodeValue=sa,o(P,y)};m(i,P=>{e(l).verdict==="pass"?P(h):P(x,!1)})}s(d);var w=n(d,2),Q=r(w),T=r(Q,!0);s(Q);var Y=n(Q,2),re=r(Y);re.nodeValue=`${Ft} `,he(),s(Y),s(w),s(t),L(P=>{z(t,"pass-bar",e(l).verdict==="pass"),z(t,"fail-bar",e(l).verdict==="fail"),E(T,P)},[()=>Kt(e(X))],ce),ie("click",Y,at),Ct(3,t,()=>Nt,()=>({y:-8,duration:250})),o(a,t)};m(De,a=>{e(b)==="done"&&e(l).testCompleted&&e(l).latestReportId&&a(ut)})}var Oe=n(De,2);{var _t=a=>{var t=La();Me(t,5,()=>e(f),qe,(d,i)=>{var h=ya(),x=r(h),w=n(x),Q=n(w);{var T=Y=>{var re=wa(),P=r(re,!0);s(re),L(()=>E(P,e(i).testCount)),o(Y,re)};m(Q,Y=>{e(i).testCount&&Y(T)})}s(h),L(()=>{z(h,"active",e(R)===e(i).id),z(x,"tab-dot-running",e(i).status==="running"),z(x,"tab-dot-done",e(i).status==="done"),z(x,"tab-dot-error",e(i).status==="error"),E(w,` ${e(i).name??""} `)}),ie("click",h,()=>c(R,e(i).id)),o(d,h)}),s(t),o(a,t)};m(Oe,a=>{e(O)&&a(_t)})}var Ue=n(Oe,2);{var pt=a=>{var t=Ra();Me(t,5,()=>e(B),qe,(d,i)=>{var h=ka(),x=r(h,!0);s(h),L(w=>{z(h,"active",e(q)===e(i)),E(x,w)},[()=>Qt(e(i))],ce),ie("click",h,()=>c(q,e(i))),o(d,h)}),s(t),o(a,t)};m(Ue,a=>{e(B).length>1&&a(pt)})}var Ve=n(Ue,2),Re=r(Ve),gt=r(Re);{var ft=a=>{oa(a,{get events(){return e(ae)}})},ht=a=>{var t=Ia(),d=n(r(t),2),i=r(d,!0);s(d),s(t),L(()=>E(i,e(b)==="running"?Yt:$t)),o(a,t)};m(gt,a=>{e(ae).length>0?a(ft):a(ht,!1)})}s(Re);var Ge=n(Re,2),Ie=r(Ge),We=n(r(Ie),6),mt=r(We);{var bt=a=>{var t=fe();L(()=>{var d;return E(t,((d=e(M))==null?void 0:d.name)??zt)}),o(a,t)},xt=a=>{var t=fe();L(()=>E(t,e(b)==="running"?Jt:Xt)),o(a,t)};m(mt,a=>{e(O)?a(bt):a(xt,!1)})}s(We),s(Ie);var Et=n(Ie,2);{var wt=a=>{var t=Aa(),d=r(t,!0);s(t),de(t,i=>c(u,i),()=>e(u)),L(()=>{var i;return E(d,((i=e(M))==null?void 0:i.logs)||Qe)}),o(a,t)},yt=a=>{var t=Ta(),d=r(t,!0);s(t),de(t,i=>c(J,i),()=>e(J)),L(()=>{var i;return E(d,((i=e(f)[0])==null?void 0:i.logs)||e(l).output||Qe)}),o(a,t)};m(Et,a=>{e(O)?a(wt):a(yt,!1)})}s(Ge),s(Ve),s(N),L(()=>{z(G,"header-pass",e(l).verdict==="pass"),z(G,"header-fail",e(l).verdict==="fail")}),o(C,N)};m(U,C=>{e(b)==="done"&&!e(l).latestReportId?C(H):C(le,!1)},!0)}o(Z,se)};m(ne,Z=>{e(b)==="queued"?Z(_e):Z(Le,!1)},!0)}o(v,I)};m(st,v=>{e(l)?v(rt,!1):v(lt)})}o(xe,Se),tt(),Ee()}export{Ka as component};
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{h as J,a as b,t as h,s as O,e as I}from"../chunks/CfkUW1vA.js";import{i as Q}from"../chunks/C00jnSU2.js";import{p as X,o as Y,s as i,t as w,c as Z,$ as aa,m as n,d as r,g as e,k as o,j as l,x as ea}from"../chunks/CeH-RgMb.js";import{i as R,s as ta,a as sa}from"../chunks/CegSvdD-.js";import{s as A,E as la,r as T,P as ia}from"../chunks/DuAVKaL3.js";import{b as D}from"../chunks/BAvTKHxT.js";import{g as ra}from"../chunks/DiVmSEJa.js";import{a as oa}from"../chunks/Ck6C3Fl0.js";import{c as na,l as ca}from"../chunks/GDjpV3r7.js";import{t as va}from"../chunks/C7uEQ-LH.js";import{L as pa,C as ua,S as da,a as ma,E as _a,P as fa,s as ba,b as ha}from"../chunks/Dlnxgs49.js";var La=h('<p class="checking svelte-cliau1"></p>'),Ea=h('<p class="error svelte-cliau1"> </p>'),ga=h('<div class="card svelte-cliau1"><div class="brand svelte-cliau1"><span class="brand-serif svelte-cliau1">Pl</span><span class="brand-sans svelte-cliau1">um</span></div> <h1 class="title svelte-cliau1"></h1> <p class="subtitle svelte-cliau1"></p> <div class="fields svelte-cliau1"><div class="field svelte-cliau1"><label class="label svelte-cliau1" for="email"></label> <input id="email" type="email" class="input svelte-cliau1" autocomplete="email"></div> <div class="field svelte-cliau1"><label class="label svelte-cliau1" for="password"></label> <input id="password" type="password" class="input svelte-cliau1" autocomplete="current-password"></div></div> <!> <button class="submit-btn svelte-cliau1"> </button></div>'),Ia=h('<div class="page svelte-cliau1"><!></div>');function Oa(B,H){X(H,!1);const[K,M]=ta(),F=()=>sa(va,"$theme",K);let c=n(""),v=n(""),p=n(""),u=n(!1),y=n(!0);Y(async()=>{try{if(await na()){ra("/setup");return}}catch{}i(y,!1)});async function C(){i(p,""),i(u,!0);try{const{token:a,user:s}=await ca({email:e(c),password:e(v)});oa.login(a,s),window.location.href="/"}catch(a){i(p,a.message||ha)}finally{i(u,!1)}}function S(a){a.key==="Enter"&&C()}Q();var d=Ia();J(a=>{aa.title=pa});var W=r(d);{var j=a=>{var s=La();s.textContent=ua,b(a,s)},q=a=>{var s=ga(),k=l(r(s),2);k.textContent=da;var x=l(k,2);x.textContent=ma;var L=l(x,2),E=r(L),N=r(E);N.textContent=la;var m=l(N,2);T(m),A(m,"placeholder",_a),o(E);var P=l(E,2),$=r(P);$.textContent=ia;var _=l($,2);T(_),A(_,"placeholder",fa),o(P),o(L);var G=l(L,2);{var U=t=>{var g=Ea(),z=r(g,!0);o(g),w(()=>O(z,e(p))),b(t,g)};R(G,t=>{e(p)&&t(U)})}var f=l(G,2),V=r(f,!0);o(f),o(s),w(t=>{f.disabled=e(u)||!e(c)||!e(v),O(V,t)},[()=>ba(e(u))],ea),D(m,()=>e(c),t=>i(c,t)),I("keydown",m,S),D(_,()=>e(v),t=>i(v,t)),I("keydown",_,S),I("click",f,C),b(a,s)};R(W,a=>{e(y)?a(j):a(q,!1)})}o(d),w(()=>A(d,"data-theme",F())),b(B,d),Z(),M()}export{Oa as component};
6
+ import{h as J,a as b,t as h,s as O,e as I}from"../chunks/6VDMVB5U.js";import{i as Q}from"../chunks/CtgCYzu5.js";import{p as X,o as Y,s as i,t as w,c as Z,$ as aa,m as n,d as r,g as e,k as o,j as l,x as ea}from"../chunks/BIf7lHIm.js";import{i as R,s as ta,a as sa}from"../chunks/D_thT6pZ.js";import{s as A,E as la,r as T,P as ia}from"../chunks/C4Z3p6jE.js";import{b as D}from"../chunks/BnXsGCy3.js";import{g as ra}from"../chunks/BX-5iVGy.js";import{a as oa}from"../chunks/CXQhSK1T.js";import{c as na,l as ca}from"../chunks/DDx3no2z.js";import{t as va}from"../chunks/iL4SCrvY.js";import{L as pa,C as ua,S as da,a as ma,E as _a,P as fa,s as ba,b as ha}from"../chunks/Dlnxgs49.js";var La=h('<p class="checking svelte-cliau1"></p>'),Ea=h('<p class="error svelte-cliau1"> </p>'),ga=h('<div class="card svelte-cliau1"><div class="brand svelte-cliau1"><span class="brand-serif svelte-cliau1">Pl</span><span class="brand-sans svelte-cliau1">um</span></div> <h1 class="title svelte-cliau1"></h1> <p class="subtitle svelte-cliau1"></p> <div class="fields svelte-cliau1"><div class="field svelte-cliau1"><label class="label svelte-cliau1" for="email"></label> <input id="email" type="email" class="input svelte-cliau1" autocomplete="email"></div> <div class="field svelte-cliau1"><label class="label svelte-cliau1" for="password"></label> <input id="password" type="password" class="input svelte-cliau1" autocomplete="current-password"></div></div> <!> <button class="submit-btn svelte-cliau1"> </button></div>'),Ia=h('<div class="page svelte-cliau1"><!></div>');function Oa(B,H){X(H,!1);const[K,M]=ta(),F=()=>sa(va,"$theme",K);let c=n(""),v=n(""),p=n(""),u=n(!1),y=n(!0);Y(async()=>{try{if(await na()){ra("/setup");return}}catch{}i(y,!1)});async function C(){i(p,""),i(u,!0);try{const{token:a,user:s}=await ca({email:e(c),password:e(v)});oa.login(a,s),window.location.href="/"}catch(a){i(p,a.message||ha)}finally{i(u,!1)}}function S(a){a.key==="Enter"&&C()}Q();var d=Ia();J(a=>{aa.title=pa});var W=r(d);{var j=a=>{var s=La();s.textContent=ua,b(a,s)},q=a=>{var s=ga(),k=l(r(s),2);k.textContent=da;var x=l(k,2);x.textContent=ma;var L=l(x,2),E=r(L),N=r(E);N.textContent=la;var m=l(N,2);T(m),A(m,"placeholder",_a),o(E);var P=l(E,2),$=r(P);$.textContent=ia;var _=l($,2);T(_),A(_,"placeholder",fa),o(P),o(L);var G=l(L,2);{var U=t=>{var g=Ea(),z=r(g,!0);o(g),w(()=>O(z,e(p))),b(t,g)};R(G,t=>{e(p)&&t(U)})}var f=l(G,2),V=r(f,!0);o(f),o(s),w(t=>{f.disabled=e(u)||!e(c)||!e(v),O(V,t)},[()=>ba(e(u))],ea),D(m,()=>e(c),t=>i(c,t)),I("keydown",m,S),D(_,()=>e(v),t=>i(v,t)),I("keydown",_,S),I("click",f,C),b(a,s)};R(W,a=>{e(y)?a(j):a(q,!1)})}o(d),w(()=>A(d,"data-theme",F())),b(B,d),Z(),M()}export{Oa as component};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{h as st,a as _,b as ie,s as x,t as T,e as H}from"../chunks/6VDMVB5U.js";import{i as lt}from"../chunks/CtgCYzu5.js";import{p as rt,o as it,s as n,l as M,b as nt,f as ne,t as S,c as ot,m as d,g as e,z as vt,$ as dt,x as w,y as ct,d as i,n as J,j as o,k as l}from"../chunks/BIf7lHIm.js";import{i as A,s as gt,a as pt}from"../chunks/D_thT6pZ.js";import{a as _t,b as ut,t as b,e as Ee,i as we}from"../chunks/BTV7EXZb.js";import{o as V,s as j,r as Te,B as ft,q as $e}from"../chunks/C4Z3p6jE.js";import{H as xt,f as Pe,L as ht,d as mt,r as St,a as bt,b as jt,c as yt,e as Et,D as ke,P as wt,R as Tt,t as $t,T as Pt,p as kt,g as Lt,N as Ct,S as Rt,h as At,i as Dt,j as It,k as Mt}from"../chunks/Dn1b1Jgc.js";import{a as Nt}from"../chunks/htkwR9b-.js";import{s as Le,t as Bt,i as Ot,a as Gt}from"../chunks/B2lVGNml.js";import{B as Ce}from"../chunks/DeiVAbyn.js";import{P as Ht}from"../chunks/prk8PJfA.js";import{C as Vt}from"../chunks/BWGoOYU0.js";import{E as zt}from"../chunks/CNpD-yNH.js";var qt=T('<div class="legacy-notice svelte-1xtj9lg"><p class="svelte-1xtj9lg"></p> <button class="legacy-notice-dismiss svelte-1xtj9lg"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div>'),Wt=T('<div class="rate-display svelte-1xtj9lg"><span class="rate-number svelte-1xtj9lg"> </span> <span class="rate-label svelte-1xtj9lg"></span></div>'),Ft=T('<span class="trend-dot svelte-1xtj9lg"></span>'),Ut=T('<div class="stats-bar svelte-1xtj9lg"><div class="pass-bar-track svelte-1xtj9lg"><div class="pass-bar-fill svelte-1xtj9lg"></div></div> <div class="bar-legend svelte-1xtj9lg"><span class="legend-pass svelte-1xtj9lg"> </span> <span class="legend-fail svelte-1xtj9lg"> </span></div></div> <div class="trend-row svelte-1xtj9lg"><span class="trend-label svelte-1xtj9lg"></span> <div class="trend-dots svelte-1xtj9lg"></div> <span class="trend-hint svelte-1xtj9lg"></span></div>',1),Yt=T('<button class="btn-delete-selected svelte-1xtj9lg"> </button>'),Jt=T('<div class="report-row svelte-1xtj9lg"><label class="row-check-wrap svelte-1xtj9lg"><input type="checkbox" class="checkbox svelte-1xtj9lg"></label> <a class="report-item svelte-1xtj9lg"><div class="item-left svelte-1xtj9lg"><span class="status-mark svelte-1xtj9lg"> </span> <div class="item-meta svelte-1xtj9lg"><span class="item-tags svelte-1xtj9lg"> </span> <div class="item-badges svelte-1xtj9lg"><!> <!></div></div></div> <div class="item-right svelte-1xtj9lg"><span class="item-date svelte-1xtj9lg"> </span> <svg class="item-arrow svelte-1xtj9lg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></div></a> <button class="row-delete-btn svelte-1xtj9lg"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-1 14H6L5 6"></path><path d="M10 11v6M14 11v6"></path><path d="M9 6V4h6v2"></path></svg></button></div>'),Kt=T('<div class="pagination-wrap svelte-1xtj9lg"><!></div>'),Qt=T('<div class="list-header svelte-1xtj9lg"><label class="select-all-wrap svelte-1xtj9lg"><input type="checkbox" class="checkbox svelte-1xtj9lg"></label> <!></div> <div class="report-list svelte-1xtj9lg"></div> <!>',1),Xt=T('<!> <!> <div class="page-header svelte-1xtj9lg"><div class="header-top svelte-1xtj9lg"><div><h1 class="svelte-1xtj9lg"></h1> <p class="subtitle svelte-1xtj9lg"> </p></div> <!></div> <!></div> <!>',1);function ga(Re,Ae){rt(Ae,!1);const[De,Ie]=gt(),oe=()=>pt(Nt,"$reportsVersion",De),K=d(),L=d(),ve=d(),z=d(),Q=d();let C=d([]),h=d(0),q=d(0),de=d(0),X=d([]),D=d(1),ce=d(!1),c=d(new Set),m=d({open:!1,targets:[]}),Z=d(!1),W=d(!1);async function F(){try{let t=await Pe({page:e(D),limit:V});t.reports.length===0&&e(D)>1&&(n(D,Math.max(1,Math.ceil(t.total/V))),t=await Pe({page:e(D),limit:V})),n(C,t.reports),n(h,t.total),n(q,t.passCount),n(de,t.failCount),n(X,t.trend),n(c,new Set),await vt(),n(ce,!0)}catch(t){console.error("Failed to fetch reports",t)}}function Me(t){n(D,t),F()}it(()=>{F();try{n(W,localStorage.getItem("plum:legacyScreenshotsNoticeDismissed")!=="true")}catch{n(W,!0)}});function Ne(){n(W,!1);try{localStorage.setItem("plum:legacyScreenshotsNoticeDismissed","true")}catch{}}function Be(t,r){r.preventDefault(),r.stopPropagation();const s=new Set(e(c));s.has(t)?s.delete(t):s.add(t),n(c,s)}function Oe(t){if(t.stopPropagation(),e(z)){const r=new Set(e(c));e(C).forEach(s=>r.delete(s.id)),n(c,r)}else{const r=new Set(e(c));e(C).forEach(s=>r.add(s.id)),n(c,r)}}function ge(t){n(m,{open:!0,targets:t})}function Ge(t,r){r.preventDefault(),r.stopPropagation(),ge([t])}async function He(){n(Z,!0);try{e(m).targets.length===1?await bt(e(m).targets[0]):await jt([...e(m).targets]),n(m,{open:!1,targets:[]}),await F()}catch(t){console.error("Delete failed",t)}finally{n(Z,!1)}}M(()=>(e(h),V),()=>{n(K,Math.ceil(e(h)/V))}),M(()=>(e(h),e(q)),()=>{n(L,e(h)?Math.round(e(q)/e(h)*100):0)}),M(()=>e(X),()=>{n(ve,[...e(X)].reverse())}),M(()=>(e(C),e(c)),()=>{n(z,e(C).length>0&&e(C).every(t=>e(c).has(t.id)))}),M(()=>e(c),()=>{n(Q,e(c).size>0)}),M(()=>oe(),()=>{oe()&&F()}),nt(),lt();var pe=Xt();st(t=>{dt.title=ht});var _e=ne(pe);const Ve=w(()=>yt(e(m).targets.length));Vt(_e,{get title(){return e(Ve)},get loading(){return e(Z)},get open(){return e(m).open},set open(t){ct(m,e(m).open=t)},$$events:{confirm:He},children:(t,r)=>{J();var s=ie();S(v=>x(s,v),[()=>mt(e(m).targets.length)],w),_(t,s)},$$slots:{default:!0},$$legacy:!0});var ue=o(_e,2);{var ze=t=>{var r=qt(),s=i(r);s.textContent=Et;var v=o(s,2);j(v,"title",ke),j(v,"aria-label",ke),l(r),H("click",v,Ne),_t(3,r,()=>ut,()=>({duration:200})),_(t,r)};A(ue,t=>{e(W)&&t(ze)})}var ee=o(ue,2),te=i(ee),ae=i(te),fe=i(ae);fe.textContent=xt;var xe=o(fe,2),qe=i(xe,!0);l(xe),l(ae);var We=o(ae,2);{var Fe=t=>{var r=Wt(),s=i(r),v=i(s);l(s);var $=o(s,2);$.textContent=wt,l(r),S(()=>{b(s,"pass",e(L)>=80),b(s,"warn",e(L)<80&&e(L)>=50),b(s,"fail",e(L)<50),x(v,`${e(L)??""}%`)}),_(t,r)};A(We,t=>{e(h)>0&&t(Fe)})}l(te);var Ue=o(te,2);{var Ye=t=>{var r=Ut(),s=ne(r),v=i(s),$=i(v);l(v);var U=o(v,2),N=i(U),B=i(N,!0);l(N);var Y=o(N,2),se=i(Y,!0);l(Y),l(U),l(s);var p=o(s,2),a=i(p);a.textContent=Tt;var y=o(a,2);Ee(y,5,()=>e(ve),we,(P,f,k)=>{var E=Ft();S((R,le)=>{j(E,"style",R),j(E,"title",le),b(E,"pass",e(f).status==="PASS"),b(E,"fail",e(f).status!=="PASS")},[()=>Le(k,35),()=>$t(e(f).status,e(f).tags,e(f).date)],w),_(P,E)}),l(y);var u=o(y,2);u.textContent=Pt,l(p),S((P,f)=>{j($,"style",`width: ${(e(ce)?e(L)+"%":"0")??""}`),x(B,P),x(se,f)},[()=>kt(e(q)),()=>Lt(e(de))],w),_(t,r)};A(Ue,t=>{e(h)>0&&t(Ye)})}l(ee);var Je=o(ee,2);{var Ke=t=>{zt(t,{message:Ct})},Qe=t=>{var r=Qt(),s=ne(r),v=i(s);j(v,"title",Rt);var $=i(v);Te($),l(v);var U=o(v,2);{var N=p=>{var a=Yt(),y=i(a,!0);l(a),S(u=>x(y,u),[()=>Mt(e(c).size)],w),H("click",a,()=>ge([...e(c)])),_(p,a)};A(U,p=>{e(Q)&&p(N)})}l(s);var B=o(s,2);Ee(B,5,()=>e(C),we,(p,a,y)=>{var u=Jt(),P=i(u);j(P,"title",At);var f=i(P);Te(f),l(P);var k=o(P,2),E=i(k),R=i(E),le=i(R,!0);l(R);var he=o(R,2),re=i(he),Xe=i(re,!0);l(re);var me=o(re,2),Se=i(me);const Ze=w(()=>Gt(e(a).triggerType));Ce(Se,{get variant(){return e(Ze)},children:(g,O)=>{J();var G=ie();S(I=>x(G,I),[()=>Bt(e(a).triggerType)],w),_(g,G)},$$slots:{default:!0}});var et=o(Se,2);{var tt=g=>{Ce(g,{variant:"neutral",children:(O,G)=>{J();var I=ie();S(()=>x(I,e(a).browser)),_(O,I)},$$slots:{default:!0}})};A(et,g=>{e(a).browser&&e(a).browser!==ft[0].id&&g(tt)})}l(me),l(he),l(E);var be=o(E,2),je=i(be),at=i(je,!0);l(je),J(2),l(be),l(k);var ye=o(k,2);j(ye,"title",Dt),l(u),S((g,O,G,I)=>{j(u,"style",g),b(u,"is-selected",O),$e(f,O),j(k,"href",G),b(k,"is-pass",e(a).status==="PASS"),b(k,"is-fail",e(a).status!=="PASS"),b(R,"pass",e(a).status==="PASS"),b(R,"fail",e(a).status!=="PASS"),x(le,e(a).status==="PASS"?"✓":"✗"),x(Xe,I),x(at,e(a).date)},[()=>Le(y),()=>e(c).has(e(a).id),()=>It(e(a).id),()=>{var g;return((g=e(a).testRun)==null?void 0:g.title)??(Ot(e(a).triggerType)?e(a).triggerType:e(a).tags)}],w),H("change",f,g=>Be(e(a).id,g)),H("click",ye,g=>Ge(e(a).id,g)),_(p,u)}),l(B);var Y=o(B,2);{var se=p=>{var a=Kt(),y=i(a);Ht(y,{get current(){return e(D)},get total(){return e(K)},$$events:{change:u=>Me(u.detail)}}),l(a),_(p,a)};A(Y,p=>{e(K)>1&&p(se)})}S(()=>{$e($,e(z)),$.indeterminate=e(Q)&&!e(z)}),H("change",$,Oe),_(t,r)};A(Je,t=>{e(h)===0?t(Ke):t(Qe,!1)})}S(t=>x(qe,t),[()=>St(e(h))],w),_(Re,pe),ot(),Ie()}export{ga as component};
@@ -0,0 +1,10 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{i as Ea,j as gs,a as i,t as o,s as _,b as Zt,c as mt,n as At,e as ge,h as _s}from"../chunks/6VDMVB5U.js";import{i as nt}from"../chunks/CtgCYzu5.js";import{Z as ws,h as Ra,_ as La,a6 as ms,a8 as Ia,aI as xs,aX as ys,aW as ks,a3 as qs,av as bs,aG as Es,t as q,d as s,k as a,p as it,l as ie,s as l,aj as Xt,b as Bt,g as e,c as lt,m as b,f as _e,A as za,j as r,x as te,o as Oa,ao as Rs,B as Na,z as Ls,$ as Is,n as Ts}from"../chunks/BIf7lHIm.js";import{i as k,s as Cs,a as As}from"../chunks/D_thT6pZ.js";import{t as D,e as fe,i as he,a as Bs,b as Ms}from"../chunks/BTV7EXZb.js";import{s as re,e as $s,c as Ss,p as Ta,B as Ca}from"../chunks/C4Z3p6jE.js";import{s as Aa}from"../chunks/Bfc47y5P.js";import{b as Ps}from"../chunks/tsOANt55.js";import{p as js}from"../chunks/QwDXcLXz.js";import{U as Ds,X as zs,Y as Os,Z as Ns,_ as Fs,$ as Hs,a0 as Ws,a1 as Gs,a2 as Vs,a3 as Us,a4 as Ys,a5 as Ks,a6 as Zs,a7 as Xs,m as Js,a8 as Qs,a9 as er,aa as tr,ab as ar,ac as sr,z as rr,ad as nr,ae as ir,af as lr,ag as or,ah as Ba,I as vr,J as cr,ai as dr,aj as pr,ak as ur,al as fr,K as hr}from"../chunks/Dn1b1Jgc.js";import{k as gr,c as _r,p as wr,g as Ma,f as $a,s as Sa,b as Kt,d as mr,t as xr,i as yr}from"../chunks/B2lVGNml.js";import{n as Pa}from"../chunks/BDb8hZHu.js";import{B as kr}from"../chunks/DeiVAbyn.js";import{P as qr,B as br}from"../chunks/3MBVX4Yb.js";import{E as Er}from"../chunks/zXSLr47H.js";import{p as J}from"../chunks/D72giPTu.js";import{b as ja}from"../chunks/BCh31ecr.js";function Rr(T,f,v,p,x){var C=T,w="",R;ws(()=>{if(w===(w=f()??"")){Ra&&La();return}R!==void 0&&(Es(R),R=void 0),w!==""&&(R=ms(()=>{if(Ra){Ia.data;for(var h=La(),A=h;h!==null&&(h.nodeType!==8||h.data!=="");)A=h,h=xs(h);if(h===null)throw ys(),ks;Ea(Ia,A),C=qs(h);return}var S=w+"",N=gs(S);Ea(bs(N),N.lastChild),C.before(N)}))})}var Lr=o('<span class="status-dot svelte-eg9xrn"></span>');function Da(T,f){let v=J(f,"status",8,"passed");var p=Lr();q(()=>{D(p,"pass",v()==="passed"),D(p,"fail",v()==="failed"),D(p,"skip",v()!=="passed"&&v()!=="failed")}),i(T,p)}var Ir=o('<span class="tag-chip svelte-foe7v9"> </span>');function Tr(T,f){let v=J(f,"tag",8,"");var p=Ir(),x=s(p,!0);a(p),q(()=>_(x,v())),i(T,p)}var Cr=o('<span class="kw svelte-3mvi7i"> </span>');function Fa(T,f){it(f,!1);const v=b();let p=J(f,"keyword",8,"");ie(()=>Xt(p()),()=>{l(v,gr(p()))}),Bt(),nt();var x=Cr(),C=s(x,!0);a(x),q(()=>{D(x,"kw-given",e(v)==="kw-given"),D(x,"kw-when",e(v)==="kw-when"),D(x,"kw-then",e(v)==="kw-then"),D(x,"kw-and",e(v)==="kw-and"),_(C,p())}),i(T,x),lt()}var Ar=o('<span class="step-status-icon svelte-9zpq1y"><!></span>');function Ha(T,f){let v=J(f,"status",8,"passed");var p=Ar(),x=s(p);{var C=R=>{var h=Zt("✓");i(R,h)},w=R=>{var h=mt(),A=_e(h);{var S=M=>{var B=Zt("✗");i(M,B)},N=M=>{var B=Zt("−");i(M,B)};k(A,M=>{v()==="failed"?M(S):M(N,!1)},!0)}i(R,h)};k(x,R=>{v()==="passed"?R(C):R(w,!1)})}a(p),q(()=>{D(p,"icon-pass",v()==="passed"),D(p,"icon-fail",v()==="failed"),D(p,"icon-skip",v()!=="passed"&&v()!=="failed")}),i(T,p)}var Br=At('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2c0 4.5-5 7-5 12a5 5 0 0 0 10 0c0-5-5-7.5-5-12z"></path><path d="M12 9c0 2.5-2.5 4-2.5 7a2.5 2.5 0 0 0 5 0c0-3-2.5-4.5-2.5-7z"></path></svg>'),Mr=At('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polygon points="12,5.5 14.5,12 12,10.5 9.5,12" fill="currentColor" stroke="none"></polygon><polygon points="12,18.5 9.5,12 12,13.5 14.5,12" fill="currentColor" stroke="none" opacity="0.35"></polygon></svg>'),$r=At('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>');function Sr(T,f){let v=J(f,"browser",8,"chromium"),p=J(f,"size",8,11);var x=mt(),C=_e(x);{var w=h=>{var A=Br();q(()=>{re(A,"width",p()),re(A,"height",p())}),i(h,A)},R=h=>{var A=mt(),S=_e(A);{var N=B=>{var c=Mr();q(()=>{re(c,"width",p()),re(c,"height",p())}),i(B,c)},M=B=>{var c=$r();q(()=>{re(c,"width",p()),re(c,"height",p())}),i(B,c)};k(S,B=>{v()==="webkit"?B(N):B(M,!1)},!0)}i(h,A)};k(C,h=>{v()==="firefox"?h(w):h(R,!1)})}i(T,x)}function Pr(T){return T.replace(/"/g,"&quot;")}function jr(T){const f=T.tagName.toLowerCase(),v=Array.from(T.attributes??[]).map(w=>` ${w.name}="${Pr(w.value)}"`).join(""),p=T.children.length,x=p===0?(T.textContent??"").trim():"",C=p>0?`
7
+ <!-- ${p} child element${p===1?"":"s"} -->
8
+ `:x?`
9
+ ${x.slice(0,200)}
10
+ `:"";return`<${f}${v}>${C}</${f}>`}function Dr(T){const f=T.getBoundingClientRect();return{markup:jr(T),attributes:Array.from(T.attributes??[]).map(v=>({name:v.name,value:v.value})),box:{width:Math.round(f.width),height:Math.round(f.height)}}}var zr=o('<li><button class="rail-step svelte-q7af2t"><!> <span class="rail-step-text svelte-q7af2t"><!> <span> </span></span></button></li>'),Or=o('<aside class="steps-rail svelte-q7af2t"><div class="steps-rail-header svelte-q7af2t"></div> <ol class="steps-list svelte-q7af2t"></ol></aside>');function Nr(T,f){it(f,!1);let v=J(f,"steps",24,()=>[]),p=J(f,"stepTimestamps",24,()=>[]),x=J(f,"currentStepIndex",24,()=>-1);const C=za();nt();var w=Or(),R=s(w);R.textContent=Ds;var h=r(R,2);fe(h,5,v,he,(A,S,N)=>{var M=zr(),B=s(M),c=s(B);Ha(c,{get status(){return e(S).status}});var F=r(c,2),m=s(F);Fa(m,{get keyword(){return e(S).keyword}});var K=r(m,2),ae=s(K,!0);a(K),a(F),a(B),a(M),q(()=>{B.disabled=p()[N]===void 0,D(B,"rail-step-active",N===x()),_(ae,e(S).name)}),ge("click",B,()=>C("jump",N)),i(A,M)}),a(h),a(w),i(T,w),lt()}var Fr=o('<div class="combined-timeline-tick svelte-5daecg"></div>'),Hr=o('<div class="combined-timeline svelte-5daecg"><span class="combined-timeline-time svelte-5daecg"> </span> <div class="combined-timeline-track svelte-5daecg"><div class="combined-timeline-fill svelte-5daecg"></div> <!> <div class="combined-timeline-handle svelte-5daecg"></div></div> <span class="combined-timeline-time svelte-5daecg"> </span></div>');function Wr(T,f){it(f,!1);const v=b(),p=b();let x=J(f,"from",8,0),C=J(f,"to",8,0),w=J(f,"position",8,0),R=J(f,"stepTimestamps",24,()=>[]);const h=za();function A(z){return C()>x()?Math.min(100,Math.max(0,(z-x())/(C()-x())*100)):0}function S(z){if(z<=0)return"00:00";const G=Math.floor(z/1e3),Q=Math.floor(G/60),ne=G%60;return`${String(Q).padStart(2,"0")}:${String(ne).padStart(2,"0")}`}function N(z){const G=z.currentTarget.getBoundingClientRect(),Q=Math.min(1,Math.max(0,(z.clientX-G.left)/G.width));h("seek",x()+Q*(C()-x()))}ie(()=>Xt(w()),()=>{l(v,A(w()))}),ie(()=>Xt(R()),()=>{l(p,R().map(A))}),Bt(),nt();var M=Hr(),B=s(M),c=s(B,!0);a(B);var F=r(B,2),m=s(F),K=r(m,2);fe(K,1,()=>e(p),he,(z,G)=>{var Q=Fr();q(()=>re(Q,"style",`left: ${e(G)??""}%`)),i(z,Q)});var ae=r(K,2);a(F);var ve=r(F,2),W=s(ve,!0);a(ve),a(M),q((z,G)=>{_(c,z),re(m,"style",`width: ${e(v)??""}%`),re(ae,"style",`left: ${e(v)??""}%`),_(W,G)},[()=>S(w()-x()),()=>S(C()-x())],te),ge("click",F,N),i(T,M),lt()}var Gr=o('<pre class="code-viewer svelte-mer6ic"><code><!></code></pre>');function Vr(T,f){it(f,!1);const v=b();let p=J(f,"code",8,"");function x(A){return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function C(A){return x(A).replace(/(&lt;!--[\s\S]*?--&gt;)/g,'<span class="tok-comment">$1</span>').replace(/(&lt;\/?)([a-zA-Z][a-zA-Z0-9-]*)/g,'$1<span class="tok-tag">$2</span>').replace(/([a-zA-Z_:][a-zA-Z0-9_:.-]*)(=)(&quot;[^&]*&quot;)/g,'<span class="tok-attr">$1</span>$2<span class="tok-value">$3</span>')}ie(()=>Xt(p()),()=>{l(v,C(p()))}),Bt(),nt();var w=Gr(),R=s(w),h=s(R);Rr(h,()=>e(v)),a(R),a(w),i(T,w),lt()}var Ur=o('<div class="inspector-attr-row svelte-mmh4st"><dt class="svelte-mmh4st"> </dt> <dd class="svelte-mmh4st"> </dd></div>'),Yr=o('<div class="inspector-section svelte-mmh4st"><span class="inspector-section-label svelte-mmh4st"></span></div> <dl class="inspector-attrs svelte-mmh4st"></dl>',1),Kr=o('<!> <div class="inspector-section svelte-mmh4st"><span class="inspector-section-label svelte-mmh4st"></span> <span class="inspector-size svelte-mmh4st"> </span></div> <!>',1),Zr=o('<div class="inspector-empty svelte-mmh4st"></div>'),Xr=o('<aside class="inspector-panel svelte-mmh4st"><div class="inspector-header svelte-mmh4st"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path></svg> </div> <!></aside>');function Jr(T,f){it(f,!1);let v=J(f,"selectedElement",8,null);nt();var p=Xr(),x=s(p),C=r(s(x));C.nodeValue=` ${zs}`,a(x);var w=r(x,2);{var R=A=>{var S=Kr(),N=_e(S);Vr(N,{get code(){return v().markup}});var M=r(N,2),B=s(M);B.textContent=Os;var c=r(B,2),F=s(c);a(c),a(M);var m=r(M,2);{var K=ae=>{var ve=Yr(),W=_e(ve),z=s(W);z.textContent=Fs,a(W);var G=r(W,2);fe(G,5,()=>v().attributes,he,(Q,ne)=>{var ce=Ur(),me=s(ce),Re=s(me,!0);a(me);var P=r(me,2),Z=s(P,!0);a(P),a(ce),q(()=>{_(Re,e(ne).name),_(Z,e(ne).value)}),i(Q,ce)}),a(G),i(ae,ve)};k(m,ae=>{v().attributes.length>0&&ae(K)})}q(()=>_(F,`${v().box.width??""} × ${v().box.height??""}`)),i(A,S)},h=A=>{var S=Zr();S.textContent=Ns,i(A,S)};k(w,A=>{v()?A(R):A(h,!1)})}a(p),i(T,p),lt()}var Qr=o('<div class="active-tab-badge svelte-1jro3gz"> </div>'),en=o('<div class="player-status svelte-1jro3gz"><div class="loading-dots svelte-1jro3gz"><span class="svelte-1jro3gz"></span><span class="svelte-1jro3gz"></span><span class="svelte-1jro3gz"></span></div></div>'),tn=o('<div class="player-status svelte-1jro3gz"></div>'),an=o('<div class="inspect-highlight svelte-1jro3gz"></div>'),sn=o('<button class="restart-overlay-btn svelte-1jro3gz"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path></svg></button>'),rn=o('<div class="recording-player svelte-1jro3gz"><!> <div class="player-stage svelte-1jro3gz"><div class="player-column svelte-1jro3gz"><div class="player-mount svelte-1jro3gz"></div> <!></div> <!> <!> <!> <!> <button class="inspect-fab svelte-1jro3gz"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path></svg> <span class="inspect-fab-label svelte-1jro3gz"></span></button></div> <!></div>');function nn(T,f){it(f,!1);const v=b(),p=b(),x=b();let C=J(f,"reportId",8),w=J(f,"recordings",24,()=>[]),R=J(f,"steps",24,()=>[]),h=J(f,"inspecting",12,!1);const A=480,S=320,N=80,M=150,B=24;let c=b(),F=b(),m=null,K=b(!0),ae=b(!1),ve=b(null),W=b(null),z=null,G=null,Q=null,ne=b(-1),ce=b([]),me=b(new Map),Re=new Map,P=b([]),Z=b(0),$e=0,Se=b(0),He=null;function Mt(){Jt();const t=xe();t&&!e(V)&&l(Se,$e+t.getCurrentTime()),He=requestAnimationFrame(Mt)}let We=null;function Ge(t){t.preventDefault()}function Jt(){var n,u;const t=(u=(n=xe())==null?void 0:n.iframe)==null?void 0:u.contentDocument;!t||t===We||(We=t,t.addEventListener("click",Ge,!0),t.addEventListener("submit",Ge,!0))}function xe(){var t;return(t=m==null?void 0:m.getReplayer)==null?void 0:t.call(m)}function ot(t){const n=Re.get(t==null?void 0:t.recordingId)??[];if(n.length===0)return{first:0,span:0};const u=n[0].timestamp,y=(t==null?void 0:t.to)??1/0;let L=u;for(const H of n){if(H.timestamp>y)break;L=H.timestamp}return{first:u,span:Math.max(0,L-u)}}function Qt(t){let n=-1;for(let u=0;u<e(ce).length&&!(e(ce)[u]>t);u++)n=u;return n}function d(t,n,u){var be;let y=e(P).findIndex(de=>t>=de.from&&t<=de.to);if(y===-1&&(y=e(P).length-1),y<0)return;const{first:L,span:H}=ot(e(P)[y]),qe=Math.min(Math.max(0,t-L),H),ee=((be=xe())==null?void 0:be.config.speed)??1;y===e(Z)&&t>=$e?(pt=Date.now()+M,m==null||m.goto(t-$e,n),u!==void 0&&l(ne,u),h()&&(ye(),le(),Le())):(l(Z,y),je({finished:!1,timeOffset:qe,paused:!n,speed:ee,stepIndexOverride:u}))}function j(t){if(e(ce)[t]===void 0||!m)return;l(ne,t);let n=e(ce)[t+1];if(n===void 0){const{first:u,span:y}=ot(e(P)[e(P).length-1]);n=u+Math.max(0,y-1)}n!==void 0&&d(n,!1,t)}function le(){const t=xe(),n=t==null?void 0:t.iframe,u=n==null?void 0:n.contentDocument;if(!n||!u)return;G=u;const y=ee=>{const be=ee.target;if(!be||be===u.documentElement){l(W,null);return}const de=be.getBoundingClientRect(),Ie=n.getBoundingClientRect(),De=e(c).getBoundingClientRect(),Ze=Ie.width/(n.clientWidth||1),Xe=Ie.height/(n.clientHeight||1);l(W,{top:Ie.top+de.top*Xe-De.top,left:Ie.left+de.left*Ze-De.left,width:de.width*Ze,height:de.height*Xe})},L=ee=>{ee.preventDefault(),ee.stopPropagation(),l(ve,Dr(ee.target))},H=()=>{l(W,null)},qe=ee=>{ee.key==="Escape"&&we()};u.addEventListener("mousemove",y),u.addEventListener("click",L,!0),u.addEventListener("mouseleave",H),u.addEventListener("keydown",qe);try{u.documentElement.dataset.plumInspectWired="1"}catch{}z=()=>{u.removeEventListener("mousemove",y),u.removeEventListener("click",L,!0),u.removeEventListener("mouseleave",H),u.removeEventListener("keydown",qe),l(W,null)}}function ye(){G=null,z&&(z(),z=null)}function Pe(){Q!==null&&(cancelAnimationFrame(Q),Q=null)}function ke(){var u,y,L;if(!h()){Q=null;return}const t=(y=(u=xe())==null?void 0:u.iframe)==null?void 0:y.contentDocument,n=((L=t==null?void 0:t.documentElement)==null?void 0:L.dataset.plumInspectWired)==="1";t&&(t!==G||!n)&&(ye(),le()),Q=requestAnimationFrame(ke)}function Le(){Q===null&&(Q=requestAnimationFrame(ke))}async function we(){h(!h());const t=aa();t&&h()&&(t.paused=!0),t&&(t.stepIndexOverride=e(ne)),h()||(ye(),Pe()),await Ls(),je(t)}function vt(){const t=xe();t&&(t.service.state.matches("paused")?m.play():m.pause())}function Ve(t){if(t.key==="Escape"&&h()){we();return}t.key===" "&&!h()&&(t.preventDefault(),vt())}let V=b(!1),ct=b(""),dt=!1,pt=0,ut=0;function ft(){var t;return(t=e(F))==null?void 0:t.querySelector(".rr-controller__btns button")}function ht(t){if(!t)return;const n=t.getBoundingClientRect(),u=e(c).getBoundingClientRect();l(ct,`top: ${n.top-u.top}px; left: ${n.left-u.left}px; width: ${n.width}px; height: ${n.height}px;`)}function ea(){const t=xe(),n=ft();if(!t||!n)return;const u=ut;t.on("finish",()=>{if(ut===u&&!(Date.now()<pt)&&dt){if(e(Z)<e(P).length-1){const y=t.config.speed;l(Z,e(Z)+1);const L=e(P)[e(Z)],{first:H}=ot(L),qe=Math.max(0,L.from-H);je({finished:!1,timeOffset:qe,paused:!1,speed:y});return}ht(n),l(V,!0),l(Se,e(x))}}),t.on("start",()=>{l(V,!1),dt=!0}),t.on("resume",()=>{l(V,!1),dt=!0}),t.on("pause",()=>{dt=!1})}function ta(){var t;if(l(V,!1),e(Z)!==0){const n=((t=xe())==null?void 0:t.config.speed)??1;l(Z,0),je({finished:!1,timeOffset:0,paused:!1,speed:n})}else m==null||m.goto(0,!0)}function aa(){const t=xe();if(!t)return null;if(e(V))return{finished:!0,speed:t.config.speed};const{first:n}=ot(e(P)[e(Z)]);return{finished:!1,timeOffset:$e+t.getCurrentTime()-n,paused:t.service.state.matches("paused"),speed:t.config.speed}}function sa(){if(ye(),m){try{m.$destroy()}catch{}m=null}}function je(t=null){var I,E;ut+=1;const n=e(c).getBoundingClientRect(),u=Math.max(A,Math.floor(n.width)),y=Math.max(S,Math.floor(n.height)-N-B);if(m){try{m.$destroy()}catch{}m=null}e(F).replaceChildren();const L=e(P)[e(Z)],H=Re.get(L==null?void 0:L.recordingId)??[],qe=(L==null?void 0:L.to)??1/0,ee=H.filter(g=>g.timestamp<=qe),be=((I=H[0])==null?void 0:I.timestamp)??0,de=t!=null&&t.finished?qe:be+((t==null?void 0:t.timeOffset)??0);let Ie=0;for(let g=0;g<ee.length&&!(ee[g].timestamp>de);g++)ee[g].type===2&&(Ie=g>0&&ee[g-1].type===4?g-1:g);const De=ee.slice(Ie).filter(g=>g.type!==5||g.timestamp>=L.from),Ze=((E=De[0])==null?void 0:E.timestamp)??be;$e=Ze;const Xe=Math.max(0,de-Ze);m=new qr({target:e(F),props:{events:De,autoPlay:!1,showController:!0,speedOption:[.5,1,2],speed:1,width:u,height:y}}),(t==null?void 0:t.stepIndexOverride)!==void 0?l(ne,t.stepIndexOverride):l(ne,Qt(de)),m.addEventListener("custom-event",g=>{var U;((U=g==null?void 0:g.data)==null?void 0:U.tag)==="step"&&l(ne,e(ne)+1)}),ea(),t?t.finished?(m.setSpeed(t.speed),pt=Date.now()+M,m.goto(Xe,!1),l(V,!0),l(Se,e(x)),requestAnimationFrame(()=>ht(ft()))):(m.setSpeed(t.speed),t.paused&&(pt=Date.now()+M),m.goto(Xe,!t.paused)):(requestAnimationFrame(()=>{if(!e(F))return;const g=Array.from(e(F).querySelectorAll(".rr-controller__btns button")).find(U=>U.textContent.trim()==="1x");g==null||g.click()}),m.play()),h()&&(ye(),le(),Le())}Oa(async()=>{l(me,new Map(w().map(y=>[y.id,y])));try{const y=await Promise.all(w().map(L=>Hs(C(),L.id)));w().forEach((L,H)=>Re.set(L.id,y[H]??[]))}catch{l(ae,!0),l(K,!1);return}if([...Re.values()].every(y=>y.length===0)){l(ae,!0),l(K,!1);return}const t=_r(w());l(P,t.length>0?t:w()[0]?[{recordingId:w()[0].id,from:0,to:0}]:[]);const n=w().find(y=>y.tabIndex===0)??w()[0],u=Re.get(n==null?void 0:n.id)??[];l(ce,u.filter(y=>{var L;return y.type===5&&((L=y.data)==null?void 0:L.tag)==="step"}).map(y=>y.timestamp)),je(),l(K,!1),He=requestAnimationFrame(Mt)}),Rs(()=>{He!==null&&cancelAnimationFrame(He),We&&(We.removeEventListener("click",Ge,!0),We.removeEventListener("submit",Ge,!0)),Pe(),sa()}),ie(()=>(e(me),e(P),e(Z)),()=>{var t;l(v,e(me).get((t=e(P)[e(Z)])==null?void 0:t.recordingId))}),ie(()=>e(P),()=>{var t;l(p,((t=e(P)[0])==null?void 0:t.from)??0)}),ie(()=>e(P),()=>{var t;l(x,((t=e(P)[e(P).length-1])==null?void 0:t.to)??0)}),Bt(),nt();var Ue=rn();ge("keydown",Na,Ve);var $t=s(Ue);{var xt=t=>{Nr(t,{get steps(){return R()},get stepTimestamps(){return e(ce)},get currentStepIndex(){return e(ne)},$$events:{jump:n=>j(n.detail)}})};k($t,t=>{R().length>0&&t(xt)})}var gt=r($t,2),Ye=s(gt),yt=s(Ye);ja(yt,t=>l(F,t),()=>e(F));var St=r(yt,2);{var Pt=t=>{Wr(t,{get from(){return e(p)},get to(){return e(x)},get position(){return e(Se)},get stepTimestamps(){return e(ce)},$$events:{seek:n=>d(n.detail,!1)}})};k(St,t=>{e(P).length>1&&t(Pt)})}a(Ye);var jt=r(Ye,2);{var ra=t=>{var n=Qr(),u=s(n,!0);a(n),q(y=>_(u,y),[()=>Gs(e(v).tabIndex)],te),i(t,n)};k(jt,t=>{e(P).length>1&&e(v)&&t(ra)})}var kt=r(jt,2);{var qt=t=>{var n=en();i(t,n)},bt=t=>{var n=mt(),u=_e(n);{var y=L=>{var H=tn();H.textContent=Us,i(L,H)};k(u,L=>{e(ae)&&L(y)},!0)}i(t,n)};k(kt,t=>{e(K)?t(qt):t(bt,!1)})}var Dt=r(kt,2);{var zt=t=>{var n=an();q(()=>re(n,"style",`top: ${e(W).top??""}px; left: ${e(W).left??""}px; width: ${e(W).width??""}px; height: ${e(W).height??""}px;`)),i(t,n)};k(Dt,t=>{e(W)&&t(zt)})}var Ot=r(Dt,2);{var Nt=t=>{var n=sn();re(n,"aria-label",Vs),q(()=>re(n,"style",e(ct))),ge("click",n,ta),i(t,n)};k(Ot,t=>{e(V)&&t(Nt)})}var Ke=r(Ot,2),Ft=r(s(Ke),2);Ft.textContent=Ws,a(Ke),a(gt),ja(gt,t=>l(c,t),()=>e(c));var na=r(gt,2);{var Et=t=>{Jr(t,{get selectedElement(){return e(ve)}})};k(na,t=>{h()&&t(Et)})}a(Ue),q(()=>{D(yt,"player-mount-multi",e(P).length>1),Ke.disabled=e(K)||e(ae),D(Ke,"inspect-fab-active",h())}),ge("click",Ke,we),i(T,Ue),lt()}var ln=o('<div class="error-state svelte-1wrqiav"> </div>'),on=o('<div class="loading-state svelte-1wrqiav"><div class="loading-dots svelte-1wrqiav"><span class="svelte-1wrqiav"></span><span class="svelte-1wrqiav"></span><span class="svelte-1wrqiav"></span></div></div>'),vn=At('<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="20 6 9 17 4 12" class="svelte-1wrqiav"></polyline></svg>'),cn=At('<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg>'),dn=o('<span class="run-name-badge svelte-1wrqiav"> </span>'),pn=o('<span class="run-name-badge svelte-1wrqiav"> </span>'),un=o('<div class="stat svelte-1wrqiav"><span class="stat-num fail-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg> </span></div>'),fn=o('<div class="stat svelte-1wrqiav"><span class="stat-num muted-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="svelte-1wrqiav"><line x1="5" y1="12" x2="19" y2="12" class="svelte-1wrqiav"></line></svg> </span></div>'),hn=o('<div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><rect x="3" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="3" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect></svg> </span></div>'),gn=o('<span class="log-runner-count svelte-1wrqiav"> </span>'),_n=o('<button class="log-tab svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><rect x="2" y="3" width="20" height="14" rx="2" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </button>'),wn=o('<div class="log-tabs svelte-1wrqiav"></div>'),mn=o('<details class="logs-section svelte-1wrqiav"><summary class="logs-summary svelte-1wrqiav"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="4 17 10 11 4 5" class="svelte-1wrqiav"></polyline><line x1="12" y1="19" x2="20" y2="19" class="svelte-1wrqiav"></line></svg> <!></summary> <!> <pre class="logs-body svelte-1wrqiav"> </pre></details>'),xn=o('<div class="group-header runner-group-header svelte-1wrqiav"><svg class="group-icon svelte-1wrqiav" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="2" y="3" width="20" height="14" rx="2" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </div>'),yn=o('<div class="group-header worker-group-header svelte-1wrqiav"><svg class="group-icon svelte-1wrqiav" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="3" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="3" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect><rect x="14" y="14" width="7" height="7" rx="1" class="svelte-1wrqiav"></rect></svg> </div>'),kn=o('<span class="suite-tag svelte-1wrqiav"> </span>'),qn=o('<span class="scenario-count svelte-1wrqiav"> </span>'),bn=o('<span class="scenario-count svelte-1wrqiav"> </span>'),En=o('<button class="replay-btn svelte-1wrqiav"><svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-1wrqiav"><polygon points="5,3 19,12 5,21" class="svelte-1wrqiav"></polygon></svg> </button>'),Rn=o('<button class="replay-btn replay-btn-sm svelte-1wrqiav"><svg width="9" height="9" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-1wrqiav"><polygon points="5,3 19,12 5,21" class="svelte-1wrqiav"></polygon></svg> </button>'),Ln=o('<div class="example-header svelte-1wrqiav"><!> <span class="svelte-1wrqiav"> </span> <span class="scenario-duration svelte-1wrqiav"> </span> <!></div>'),In=o('<pre class="step-error svelte-1wrqiav"> </pre>'),Tn=o('<td class="svelte-1wrqiav"> </td>'),Cn=o('<tr class="svelte-1wrqiav"></tr>'),An=o('<table class="step-datatable svelte-1wrqiav"><tbody class="svelte-1wrqiav"></tbody></table>'),Bn=o('<div class="step svelte-1wrqiav"><div class="step-row svelte-1wrqiav"><!> <!> <span class="step-name svelte-1wrqiav"> </span> <span class="step-duration svelte-1wrqiav"> </span></div> <!> <!></div>'),Mn=o("<!> <!>",1),$n=o('<div class="steps svelte-1wrqiav"></div>'),Sn=o('<div class="scenario svelte-1wrqiav"><div class="scenario-row svelte-1wrqiav"><button class="scenario-header svelte-1wrqiav"><!> <span class="scenario-name svelte-1wrqiav"> <!> <!></span> <div class="scenario-tags svelte-1wrqiav"></div> <span class="scenario-duration svelte-1wrqiav"> </span> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="chevron svelte-1wrqiav"><polyline points="9 18 15 12 9 6" class="svelte-1wrqiav"></polyline></svg></button> <!></div> <!></div>'),Pn=o('<div class="feature svelte-1wrqiav"><div class="feature-header svelte-1wrqiav"><h2 class="feature-name svelte-1wrqiav"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feature-icon svelte-1wrqiav"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" class="svelte-1wrqiav"></path><polyline points="14 2 14 8 20 8" class="svelte-1wrqiav"></polyline></svg> <!></h2> <div class="feature-right svelte-1wrqiav"><span class="feature-file svelte-1wrqiav"> </span> <!></div></div> <div class="scenarios svelte-1wrqiav"></div></div>'),jn=o("<!> <!>",1),Dn=o("<!> <!>",1),zn=o('<div class="report-header svelte-1wrqiav"><div class="header-main svelte-1wrqiav"><div class="header-status svelte-1wrqiav"><div class="status-icon-wrap svelte-1wrqiav"><!></div> <div class="svelte-1wrqiav"><div class="h1-row svelte-1wrqiav"><h1 class="svelte-1wrqiav"> </h1> <!></div> <div class="header-meta svelte-1wrqiav"><span class="mono svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="svelte-1wrqiav"> </span> <span class="meta-sep svelte-1wrqiav">·</span> <span class="browser-pill svelte-1wrqiav"><!> </span></div></div></div> <div class="header-stats svelte-1wrqiav"><div class="stat svelte-1wrqiav"><span class="stat-num pass-color svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><polyline points="20 6 9 17 4 12" class="svelte-1wrqiav"></polyline></svg> </span></div> <!> <!> <div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wrqiav"><circle cx="12" cy="12" r="10" class="svelte-1wrqiav"></circle><polyline points="12 6 12 12 16 14" class="svelte-1wrqiav"></polyline></svg> </span></div> <div class="stat svelte-1wrqiav"><span class="stat-num svelte-1wrqiav"> </span> <span class="stat-label svelte-1wrqiav"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><rect x="2" y="3" width="20" height="14" rx="2" class="svelte-1wrqiav"></rect><path d="M8 21h8M12 17v4" class="svelte-1wrqiav"></path></svg> </span></div> <!></div></div></div> <!> <!>',1),On=o('<div class="replay-overlay svelte-1wrqiav"><div class="replay-modal svelte-1wrqiav"><div class="replay-modal-header svelte-1wrqiav"><span class="replay-modal-title svelte-1wrqiav"> </span> <button class="replay-close svelte-1wrqiav"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1wrqiav"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1wrqiav"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1wrqiav"></line></svg></button></div> <div class="replay-body svelte-1wrqiav"><!></div></div></div>'),Nn=o('<div class="detail-top svelte-1wrqiav"><!> <!></div> <!> <!>',1);function ii(T,f){it(f,!1);const[v,p]=Cs(),x=()=>As(js,"$page",v),C=b(),w=b(),R=b(),h=b(),A=b(),S=b(),N=b(),M=b(),B=parseInt(x().params.id,10);let c=b(null),F=b(null),m=b(new Set),K=b([]),ae=b(!1),ve=b(null),W=b([]),z=b(!1),G=b(!1);async function Q(d){l(G,!0);try{await er(B,d),Pa("success",$s("Report"))}catch{Pa("error",Ss("this report"))}finally{l(G,!1)}}function ne(d){return e(K).some(j=>j.scenarioId===d.id)}function ce(d){l(ve,d),l(W,e(K).filter(j=>j.scenarioId===d.id).sort((j,le)=>j.tabIndex-le.tabIndex)),l(ae,!0)}function me(){l(ae,!1),l(ve,null),l(W,[])}function Re(d){e(ae)&&d.key==="Escape"&&!e(z)&&me()}Oa(async()=>{try{l(c,await Ys(B)),l(K,await Ks(B))}catch{l(F,Xs)}});function P(d){e(m).has(d)?e(m).delete(d):e(m).add(d),l(m,e(m))}let Z=b(0);ie(()=>e(c),()=>{var d;l(C,wr(((d=e(c))==null?void 0:d.logs)??null))}),ie(()=>e(C),()=>{e(C)&&l(Z,0)}),ie(()=>e(c),()=>{var d;l(w,((d=e(c))==null?void 0:d.status)==="PASS")}),ie(()=>e(c),()=>{var d;l(R,((d=e(c))==null?void 0:d.features.flatMap(j=>j.scenarios))??[])}),ie(()=>e(R),()=>{l(h,e(R).filter(d=>d.status==="passed").length)}),ie(()=>e(R),()=>{l(A,e(R).filter(d=>d.status==="failed").length)}),ie(()=>e(R),()=>{l(S,e(R).filter(d=>d.status==="skipped"||d.status==="pending").length)}),ie(()=>(e(c),e(R)),()=>{var d;l(N,((d=e(c))==null?void 0:d.duration)??e(R).reduce((j,le)=>j+le.duration,0))}),ie(()=>(e(c),e(K),Ma),()=>{l(M,e(c)&&e(K)?Ma(e(c).features):[])}),Bt(),nt();var $e=Nn();ge("keydown",Na,Re),_s(d=>{Is.title=Zs});var Se=_e($e),He=s(Se);br(He,{href:"/reports",label:Js});var Mt=r(He,2);{var We=d=>{Er(d,{items:Qs,get busy(){return e(G)},$$events:{select:j=>Q(j.detail)}})};k(Mt,d=>{e(c)&&d(We)})}a(Se);var Ge=r(Se,2);{var Jt=d=>{var j=ln(),le=s(j,!0);a(j),q(()=>_(le,e(F))),i(d,j)},xe=d=>{var j=mt(),le=_e(j);{var ye=ke=>{var Le=on();i(ke,Le)},Pe=ke=>{var Le=zn(),we=_e(Le),vt=s(we),Ve=s(vt),V=s(Ve),ct=s(V);{var dt=I=>{var E=vn();i(I,E)},pt=I=>{var E=cn();i(I,E)};k(ct,I=>{e(w)?I(dt):I(pt,!1)})}a(V);var ut=r(V,2),ft=s(ut),ht=s(ft),ea=s(ht,!0);a(ht);var ta=r(ht,2);{var aa=I=>{var E=dn(),g=s(E,!0);a(E),q(()=>_(g,e(c).testRun.title)),i(I,E)},sa=I=>{var E=mt(),g=_e(E);{var U=se=>{var pe=pn(),ze=s(pe,!0);a(pe),q(()=>_(ze,e(c).triggerType)),i(se,pe)};k(g,se=>{yr(e(c).triggerType)&&se(U)},!0)}i(I,E)};k(ta,I=>{var E;(E=e(c).testRun)!=null&&E.title?I(aa):I(sa,!1)})}a(ft);var je=r(ft,2),Ue=s(je),$t=s(Ue,!0);a(Ue);var xt=r(Ue,4),gt=s(xt,!0);a(xt);var Ye=r(xt,4),yt=s(Ye,!0);a(Ye);var St=r(Ye,4),Pt=s(St);const jt=te(()=>e(c).browser??Ca[0].id);Sr(Pt,{get browser(){return e(jt)}});var ra=r(Pt);a(St),a(je),a(ut),a(Ve);var kt=r(Ve,2),qt=s(kt),bt=s(qt),Dt=s(bt,!0);a(bt);var zt=r(bt,2),Ot=r(s(zt));Ot.nodeValue=` ${tr}`,a(zt),a(qt);var Nt=r(qt,2);{var Ke=I=>{var E=un(),g=s(E),U=s(g,!0);a(g);var se=r(g,2),pe=r(s(se));pe.nodeValue=` ${dr}`,a(se),a(E),q(()=>_(U,e(A))),i(I,E)};k(Nt,I=>{e(A)>0&&I(Ke)})}var Ft=r(Nt,2);{var na=I=>{var E=fn(),g=s(E),U=s(g,!0);a(g);var se=r(g,2),pe=r(s(se));pe.nodeValue=` ${pr}`,a(se),a(E),q(()=>_(U,e(S))),i(I,E)};k(Ft,I=>{e(S)>0&&I(na)})}var Et=r(Ft,2),t=s(Et),n=s(t,!0);a(t);var u=r(t,2),y=r(s(u));y.nodeValue=` ${ar}`,a(u),a(Et);var L=r(Et,2),H=s(L),qe=s(H,!0);a(H);var ee=r(H,2),be=r(s(ee));a(ee),a(L);var de=r(L,2);{var Ie=I=>{var E=hn(),g=s(E),U=s(g,!0);a(g);var se=r(g,2),pe=r(s(se));a(se),a(E),q(ze=>{_(U,e(c).workerCount),_(pe,` ${ze??""}`)},[()=>Ta(e(c).workerCount,"worker")],te),i(I,E)};k(de,I=>{e(c).workerCount>1&&I(Ie)})}a(kt),a(vt),a(we);var De=r(we,2);{var Ze=I=>{var E=mn(),g=s(E),U=r(s(g));U.nodeValue=` ${ur} `;var se=r(U);{var pe=ue=>{var Ee=gn(),Lt=s(Ee,!0);a(Ee),q(It=>_(Lt,It),[()=>hr(e(C).length)],te),i(ue,Ee)};k(se,ue=>{e(C).length>1&&ue(pe)})}a(g);var ze=r(g,2);{var Je=ue=>{var Ee=wn();fe(Ee,5,()=>e(C),he,(Lt,It,Oe)=>{var Y=_n(),Qe=r(s(Y));a(Y),q(()=>{D(Y,"log-tab-active",e(Z)===Oe),_(Qe,` ${e(It).name??""}`)}),ge("click",Y,Aa(()=>l(Z,Oe))),i(Lt,Y)}),a(Ee),i(ue,Ee)};k(ze,ue=>{e(C).length>1&&ue(Je)})}var Te=r(ze,2),Rt=s(Te,!0);a(Te),a(E),q(()=>{var ue;return _(Rt,((ue=e(C)[e(Z)])==null?void 0:ue.content)??"")}),i(I,E)};k(De,I=>{e(C).length>0&&I(Ze)})}var Xe=r(De,2);fe(Xe,1,()=>e(M),he,(I,E,g)=>{var U=Dn(),se=_e(U);{var pe=Je=>{var Te=xn(),Rt=r(s(Te));a(Te),q(()=>_(Rt,` ${e(E).runnerName??sr??""}`)),i(Je,Te)};k(se,Je=>{e(M).length>1&&Je(pe)})}var ze=r(se,2);fe(ze,1,()=>e(E).workers,he,(Je,Te,Rt)=>{var ue=jn(),Ee=_e(ue);{var Lt=Oe=>{var Y=yn(),Qe=r(s(Y));a(Y),q(Ne=>_(Qe,` ${Ne??""}`),[()=>rr(e(Te).workerId)],te),i(Oe,Y)};k(Ee,Oe=>{e(E).workers.length>1&&Oe(Lt)})}var It=r(Ee,2);fe(It,1,()=>e(Te).features,he,(Oe,Y,Qe)=>{var Ne=Pn(),ia=s(Ne),la=s(ia),ha=r(s(la)),Wa=r(ha);{var Ga=Ce=>{var O=kn(),_t=s(O,!0);a(O),q(et=>_(_t,et),[()=>$a(e(Y))],te),i(Ce,O)};k(Wa,Ce=>{$a(e(Y))&&Ce(Ga)})}a(la);var ga=r(la,2),Ht=s(ga),Va=s(Ht,!0);a(Ht);var Ua=r(Ht,2);const Ya=te(()=>e(Y).status==="passed"?"pass":"fail");kr(Ua,{get variant(){return e(Ya)},children:(Ce,O)=>{Ts();var _t=Zt();q(()=>_(_t,e(Y).status)),i(Ce,_t)},$$slots:{default:!0}}),a(ga),a(ia);var _a=r(ia,2);fe(_a,5,()=>e(Y).scenarioGroups,he,(Ce,O,_t)=>{var et=Sn();const wa=te(()=>`${g}-${Rt}-${Qe}-${e(O).key}`),ma=te(()=>e(m).has(e(wa))),Ka=te(()=>e(O).scenarios.some(ne));var oa=s(et),Wt=s(oa),xa=s(Wt);Da(xa,{get status(){return e(O).status}});var va=r(xa,2),ya=s(va),ka=r(ya);{var Za=X=>{var $=qn(),tt=s($,!0);a($),q(Ae=>_(tt,Ae),[()=>nr(e(O).scenarios.length)],te),i(X,$)};k(ka,X=>{e(O).scenarios.length>1&&X(Za)})}var Xa=r(ka,2);{var Ja=X=>{var $=bn();re($,"title",ir);var tt=s($,!0);a($),q(Ae=>_(tt,Ae),[()=>lr(e(O).scenarios[0].attempts)],te),i(X,$)};k(Xa,X=>{var $;(($=e(O).scenarios[0])==null?void 0:$.attempts)>1&&X(Ja)})}a(va);var ca=r(va,2);fe(ca,5,()=>e(O).tags,he,(X,$)=>{Tr(X,{get tag(){return e($)}})}),a(ca);var da=r(ca,2),Qa=s(da,!0);a(da);var es=r(da,2);a(Wt);var ts=r(Wt,2);{var as=X=>{var $=En();re($,"title",or);var tt=r(s($));tt.nodeValue=` ${Ba}`,a($),ge("click",$,()=>ce(e(O).scenarios[0])),i(X,$)};k(ts,X=>{e(Ka)&&e(O).scenarios.length===1&&X(as)})}a(oa);var ss=r(oa,2);{var rs=X=>{var $=$n();fe($,5,()=>e(O).scenarios,he,(tt,Ae,ns)=>{var qa=Mn(),ba=_e(qa);{var is=Tt=>{var oe=Ln(),Fe=s(oe);Da(Fe,{get status(){return e(Ae).status}});var at=r(Fe,2),Gt=s(at,!0);a(at);var wt=r(at,2),Ct=s(wt,!0);a(wt);var pa=r(wt,2);{var Vt=st=>{var Be=Rn(),ua=r(s(Be));ua.nodeValue=` ${Ba}`,a(Be),ge("click",Be,()=>ce(e(Ae))),i(st,Be)};k(pa,st=>{ne(e(Ae))&&st(Vt)})}a(oe),q((st,Be)=>{_(Gt,st),_(Ct,Be)},[()=>fr(ns+1),()=>Kt(e(Ae).duration)],te),i(Tt,oe)};k(ba,Tt=>{e(O).scenarios.length>1&&Tt(is)})}var ls=r(ba,2);fe(ls,1,()=>e(Ae).steps,he,(Tt,oe)=>{var Fe=Bn(),at=s(Fe),Gt=s(at);Ha(Gt,{get status(){return e(oe).status}});var wt=r(Gt,2);Fa(wt,{get keyword(){return e(oe).keyword}});var Ct=r(wt,2),pa=s(Ct,!0);a(Ct);var Vt=r(Ct,2),st=s(Vt,!0);a(Vt),a(at);var Be=r(at,2);{var ua=Me=>{var rt=In(),Ut=s(rt,!0);a(rt),q(()=>_(Ut,e(oe).error)),i(Me,rt)};k(Be,Me=>{e(oe).error&&Me(ua)})}var os=r(Be,2);{var vs=Me=>{var rt=An(),Ut=s(rt);fe(Ut,5,()=>e(oe).dataTable,he,(cs,ds,ps,Fn)=>{var Yt=Cn();D(Yt,"step-datatable-header",ps===0),fe(Yt,5,()=>e(ds),he,(us,fs)=>{var fa=Tn(),hs=s(fa,!0);a(fa),q(()=>_(hs,e(fs))),i(us,fa)}),a(Yt),i(cs,Yt)}),a(Ut),a(rt),i(Me,rt)};k(os,Me=>{e(oe).dataTable&&Me(vs)})}a(Fe),q(Me=>{D(Fe,"step-fail",e(oe).status==="failed"),D(Fe,"step-skip",e(oe).status==="skipped"||e(oe).status==="pending"),_(pa,e(oe).name),_(st,Me)},[()=>Kt(e(oe).duration)],te),i(Tt,Fe)}),i(tt,qa)}),a($),Bs(3,$,()=>Ms,()=>({duration:200})),i(X,$)};k(ss,X=>{e(ma)&&X(rs)})}a(et),q((X,$)=>{re(et,"style",X),D(et,"scenario-fail",e(O).status==="failed"),_(ya,`${e(O).name??""} `),_(Qa,$),D(es,"rotated",e(ma))},[()=>Sa(Qe*5+_t,40),()=>Kt(e(O).duration)],te),ge("click",Wt,()=>P(e(wa))),i(Ce,et)}),a(_a),a(Ne),q((Ce,O)=>{re(Ne,"style",Ce),D(Ne,"feature-pass",e(Y).status==="passed"),D(Ne,"feature-fail",e(Y).status!=="passed"),_(ha,` ${e(Y).name??""} `),re(Ht,"title",e(Y).uri),_(Va,O)},[()=>Sa(Qe,60),()=>mr(e(Y).uri)],te),i(Oe,Ne)}),i(Je,ue)}),i(I,U)}),q((I,E,g,U)=>{D(we,"pass",e(w)),D(we,"fail",!e(w)),D(V,"pass-bg",e(w)),D(V,"fail-bg",!e(w)),_(ea,e(w)?vr:cr),_($t,e(c).tags),_(gt,I),_(yt,E),_(ra,` ${e(c).browser??Ca[0].id??""}`),_(Dt,e(h)),_(n,g),_(qe,e(c).runnerCount),_(be,` ${U??""}`)},[()=>xr(e(c).triggerType),()=>new Date(e(c).createdAt).toLocaleString(),()=>Kt(e(N)),()=>Ta(e(c).runnerCount,"runner")],te),i(ke,Le)};k(le,ke=>{e(c)?ke(Pe,!1):ke(ye)},!0)}i(d,j)};k(Ge,d=>{e(F)?d(Jt):d(xe,!1)})}var ot=r(Ge,2);{var Qt=d=>{var j=On(),le=s(j),ye=s(le),Pe=s(ye),ke=s(Pe,!0);a(Pe);var Le=r(Pe,2);a(ye);var we=r(ye,2),vt=s(we);{var Ve=V=>{nn(V,{reportId:B,get recordings(){return e(W)},get steps(){return e(ve).steps},get inspecting(){return e(z)},set inspecting(ct){l(z,ct)},$$legacy:!0})};k(vt,V=>{e(W).length>0&&V(Ve)})}a(we),a(le),a(j),q(()=>_(ke,e(ve).name)),ge("click",Le,me),ge("click",le,Aa(function(V){Ps.call(this,f,V)})),ge("click",j,me),i(d,j)};k(ot,d=>{e(ae)&&e(ve)&&d(Qt)})}i(T,$e),lt(),p()}export{ii as component};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{h as wt,a as f,s as g,e as K,t as x,b as Z,c as Ot}from"../chunks/6VDMVB5U.js";import{i as Dt}from"../chunks/CtgCYzu5.js";import{p as Ut,o as Bt,s as v,f as Ke,c as Pt,m as U,$ as Ht,t as R,x as M,g as e,y as W,d as n,j as t,k as a,v as Mt,n as xe}from"../chunks/BIf7lHIm.js";import{i as J,s as Wt,a as Jt}from"../chunks/D_thT6pZ.js";import{e as qe,i as ze,t as Ce}from"../chunks/BTV7EXZb.js";import{A as Se,s as q,z as mt,y as z,q as pt,g as Gt,B as Pe,r as de,I as Ft,J as Vt,K as Kt,D as qt}from"../chunks/C4Z3p6jE.js";import{b as rt,a as bt}from"../chunks/BnXsGCy3.js";import{B as Xe,b as zt}from"../chunks/qvxlSGpD.js";import{p as Xt}from"../chunks/Bfc47y5P.js";import{f as Qt,a as Yt}from"../chunks/kFFd6Oo5.js";import{f as Zt,c as jt}from"../chunks/htkwR9b-.js";import{s as es}from"../chunks/B2lVGNml.js";import{B as ts}from"../chunks/DeiVAbyn.js";import{M as ss}from"../chunks/CUPWZLIN.js";import{C as as}from"../chunks/BWGoOYU0.js";import{n as fe}from"../chunks/BDb8hZHu.js";import{E as ns}from"../chunks/CNpD-yNH.js";async function lt(){const c=await fetch(`${Se}/cron-jobs`),{cronJobs:C}=await c.json();return C??[]}async function rs({taskName:c,cronExpression:C,tags:X,workers:Q,browser:w,runnerIds:I,notifyDiscord:S,notifySlack:B,isEditing:h,editTaskName:k}){const p=X.replace(/\sOR\s/gi,j=>j.toLowerCase()),P=h?`${Se}/cron-jobs/${encodeURIComponent(k)}`:`${Se}/cron-jobs`;return(await fetch(P,{method:h?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cronExpression:C,taskName:c,tags:p,workers:Q,browser:w,runnerIds:I,notifyDiscord:S??!1,notifySlack:B??!1})})).json()}async function ls(c,C){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}/toggle`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:C})})).json()}async function os(c){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}/run`,{method:"POST"})).json()}async function vs(c){return(await fetch(`${Se}/cron-jobs/${encodeURIComponent(c)}`,{method:"DELETE"})).json()}const cs="Scheduled Tests — Plum",is="Scheduled Tests",ds="Manage recurring test runs via cron jobs",fs="+ New Job",us="No scheduled tests yet. Create one to get started.",_s="Task Name",ms="Use a unique, meaningful name",ps="nightly-login-suite",bs="Schedule",hs="Select a schedule",Es="Custom…",gs="0 9 * * 1-5",ks="Invalid cron expression",ys="Tags",Ns="Multiple: @test-1 or @test-2. Leave blank to run all tests",xs="@suite-login (optional)",Cs="Workers",Ss="Parallel workers for this job",Ls="Browser",Ts="Runners",$s="Select one or more nodes",Rs="this server",Is="Notifications",As="All fields are required.",ws="Invalid cron expression.",Os="Failed to save. Please try again.",ht="Network error.",Ds="Could not update schedule.",Us="Could not trigger run.",Bs="Could not delete cron job.",Ps="Delete Cron Job",Hs="Are you sure you want to delete",Ms="Disable schedule",Ws="Enable schedule",Js="Running now",Gs="Name",Fs="Schedule",Vs="Tags",Ks="Workers",qs="Browser",zs="Runner",Xs="Actions",Qs=c=>c?"Edit Cron Job":"New Cron Job",Ys=c=>c?"Save Changes":"Add Cron Job",Zs=c=>c?Ms:Ws,js=c=>`Run ${c} now`,ea=c=>`${c} nodes`,ta=(c,C)=>`${c?"Updated":"Added"}: ${C}`,sa=c=>`Started: ${c}`,aa=c=>`Deleted: ${c}`,na=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function ra(c){if(!c)return"";const C=c.trim().split(/\s+/);if(C.length!==5)return"";const[X,Q,w,I,S]=C,B=(L,j)=>{const ee=L>=12?"PM":"AM";return`${L%12||12}:${String(j).padStart(2,"0")} ${ee}`},h=L=>/^\d+$/.test(L),k=h(Q)?+Q:null,p=h(X)?+X:null;if(c==="* * * * *")return"Every minute";const P=X.match(/^\*\/(\d+)$/);if(P&&Q==="*"&&w==="*"&&I==="*"&&S==="*")return`Every ${P[1]} minutes`;if(p!==null&&Q==="*"&&w==="*"&&I==="*"&&S==="*")return`Every hour at :${String(p).padStart(2,"0")}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&S==="1-5")return`Weekdays at ${B(k,p)}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&S==="*")return`Daily at ${B(k,p)}`;if(p!==null&&k!==null&&w==="*"&&I==="*"&&/^\d$/.test(S))return`Every ${na[+S]} at ${B(k,p)}`;const O=h(w)?+w:null;return p!==null&&k!==null&&O!==null&&I==="*"&&S==="*"?`Monthly on the ${O}${O===1?"st":O===2?"nd":O===3?"rd":"th"} at ${B(k,p)}`:""}var la=x('<option class="svelte-13v7bmf"> </option>'),oa=x('<p class="cron-desc svelte-13v7bmf"> </p>'),va=x('<input type="text" class="field-input cron-input svelte-13v7bmf" spellcheck="false"> <!>',1),ca=x('<button type="button" class="seg-btn svelte-13v7bmf"><span class="seg-num svelte-13v7bmf"> </span></button>'),ia=x('<label class="runner-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="runner-check-dot remote svelte-13v7bmf"></span> <span class="svelte-13v7bmf"> </span> <span class="runner-check-hint svelte-13v7bmf"> </span></label>'),da=x('<label class="notify-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="svelte-13v7bmf"></span></label>'),fa=x('<label class="notify-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="svelte-13v7bmf"></span></label>'),ua=x('<div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <div class="notify-checks svelte-13v7bmf"><!> <!></div></div>'),_a=x('<p class="form-error svelte-13v7bmf"> </p>'),ma=x('<form class="modal-form svelte-13v7bmf"><div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <input type="text" class="field-input svelte-13v7bmf" required></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <select class="field-input svelte-13v7bmf" required><option disabled class="svelte-13v7bmf"></option><!><option class="svelte-13v7bmf"></option></select> <!></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <input type="text" class="field-input svelte-13v7bmf"></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <div class="stepper svelte-13v7bmf"><button type="button" class="step-btn svelte-13v7bmf">−</button> <span class="step-val svelte-13v7bmf"> </span> <button type="button" class="step-btn svelte-13v7bmf">+</button></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span></div> <div class="seg-control svelte-13v7bmf"></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf"></span> <span class="field-hint svelte-13v7bmf"></span></div> <div class="runner-checks svelte-13v7bmf"><label class="runner-check-option svelte-13v7bmf"><input type="checkbox" class="svelte-13v7bmf"> <span class="runner-check-dot built-in svelte-13v7bmf"></span> <span class="svelte-13v7bmf"></span> <span class="runner-check-hint svelte-13v7bmf"></span></label> <!></div></div> <!> <!> <!></form>'),pa=x(' <strong class="svelte-13v7bmf"> </strong> ',1),ba=x('<span class="running-dot svelte-13v7bmf"></span>'),ha=x('<tr class="job-row svelte-13v7bmf"><td class="td-toggle svelte-13v7bmf"><button class="toggle-btn svelte-13v7bmf"><span class="toggle-knob svelte-13v7bmf"></span></button></td><td class="td-run svelte-13v7bmf"><button class="run-icon-btn svelte-13v7bmf"><svg width="10" height="10" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="svelte-13v7bmf"><polygon points="5,3 19,12 5,21" class="svelte-13v7bmf"></polygon></svg></button></td><td class="job-name svelte-13v7bmf"><!> </td><td class="svelte-13v7bmf"><!></td><td class="svelte-13v7bmf"><span class="tag-text svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="workers-badge svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="browser-badge svelte-13v7bmf"> </span></td><td class="svelte-13v7bmf"><span class="runner-badge svelte-13v7bmf"><!></span></td><td class="actions-cell svelte-13v7bmf"><!> <!></td></tr>'),Ea=x('<div class="table-wrap svelte-13v7bmf"><table class="data-table svelte-13v7bmf"><thead class="svelte-13v7bmf"><tr class="svelte-13v7bmf"><th class="th-toggle svelte-13v7bmf"></th><th class="th-run svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th><th class="svelte-13v7bmf"></th></tr></thead><tbody class="svelte-13v7bmf"></tbody></table></div>'),ga=x('<!> <!> <div class="page-header svelte-13v7bmf"><div class="header-row svelte-13v7bmf"><div class="svelte-13v7bmf"><h1 class="svelte-13v7bmf"></h1> <p class="subtitle svelte-13v7bmf"></p></div> <!></div></div> <div class="card svelte-13v7bmf" style="padding: 0; overflow: hidden;"><!></div>',1);function Pa(c,C){Ut(C,!1);const[X,Q]=Wt(),w=()=>Jt(jt,"$backgroundRuns",X),I=/^(\*|([0-5]?[0-9])|\*\/[0-9]+) (\*|([01]?[0-9]|2[0-3])) (\*|([01]?[0-9]|3[01])) (\*|([1-9]|1[0-2])) (\*|[0-6](-[0-6])?)$/,S="__custom__",B=[{label:"Every minute",value:"* * * * *"},{label:"Every hour",value:"0 * * * *"},{label:"Every midnight",value:"0 0 * * *"},{label:"Every Sunday",value:"0 0 * * 0"}];let h=U([]),k=U([]),p=U({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),P=U(!1),O=U(!1),L=U(!1),j="",ee=U(""),r=U({taskName:"",cronExpression:"",tags:"",workers:1,browser:Pe[0].id,runnerIds:[z],notifyDiscord:!1,notifySlack:!1}),Le=U(""),Te=U(!1),G=U("");function Et(s){s.target.value===S?(v(Te,!0),W(r,e(r).cronExpression="")):(v(Te,!1),W(r,e(r).cronExpression=s.target.value))}function ot(s){const m=e(r).runnerIds;m.includes(s)&&m.length===1||W(r,e(r).runnerIds=m.includes(s)?m.filter(d=>d!==s):[...m,s])}function vt(s){W(r,e(r).workers=Math.max(1,Math.min(10,(e(r).workers||1)+s)))}function gt(){v(L,!1),j="",v(r,{taskName:"",cronExpression:"",tags:"",workers:1,browser:Pe[0].id,runnerIds:[z],notifyDiscord:!1,notifySlack:!1}),v(Le,""),v(Te,!1),v(G,""),v(P,!0)}function kt(s){v(L,!0),j=s.taskName;const m=new Set([z,...e(k).map(y=>y.id)]),T=(s.runnerIds?s.runnerIds.split(",").map(y=>y.trim()):[z]).filter(y=>m.has(y));v(r,{taskName:s.taskName,cronExpression:s.cronExpression,tags:s.tags,workers:s.workers??1,browser:s.browser??Pe[0].id,runnerIds:T.length>0?T:[z],notifyDiscord:s.notifyDiscord??!1,notifySlack:s.notifySlack??!1});const $=B.some(y=>y.value===s.cronExpression);v(Te,!$),v(Le,$?s.cronExpression:S),v(G,""),v(P,!0)}async function yt(){if(!e(r).taskName||!e(r).cronExpression){v(G,As);return}if(!I.test(e(r).cronExpression)){v(G,ws);return}v(G,"");try{(await rs({...e(r),isEditing:e(L),editTaskName:j})).message?(fe("success",ta(e(L),e(r).taskName)),v(P,!1),v(h,await lt())):v(G,Os)}catch{v(G,ht)}}async function Nt(s){const m=!s.enabled;v(h,e(h).map(d=>d.taskName===s.taskName?{...d,enabled:m}:d));try{await ls(s.taskName,m)}catch{v(h,e(h).map(d=>d.taskName===s.taskName?{...d,enabled:!m}:d)),fe("error",Ds)}}async function xt(s){try{await os(s),fe("success",sa(s))}catch{fe("error",Us)}}async function Ct(){try{(await vs(e(ee))).message?(fe("success",aa(e(ee))),v(h,await lt())):fe("error",Bs)}catch{fe("error",ht)}v(O,!1),v(ee,"")}function St(s){var m;return((m=B.find(d=>d.value===s))==null?void 0:m.label)??s}Bt(async()=>{await(async s=>(v(h,s[0]),v(k,s[1]),v(p,s[2])))(await Promise.all([lt(),Qt().catch(()=>[]),Yt().catch(()=>({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}))]))}),Dt();var ct=ga();wt(s=>{Ht.title=cs});var it=Ke(ct);const Lt=M(()=>Qs(e(L)));ss(it,{get title(){return e(Lt)},get open(){return e(P)},set open(s){v(P,s)},children:(s,m)=>{var d=ma(),T=n(d),$=n(T),y=n($);y.textContent=_s;var ue=t(y,2);ue.textContent=ms,a($);var _e=t($,2);de(_e),q(_e,"placeholder",ps),a(T);var me=t(T,2),pe=n(me),He=n(pe);He.textContent=bs,a(pe);var te=t(pe,2);R(()=>{e(Le),Mt(()=>{})});var se=n(te);se.value=((se.__value="")==null,""),se.textContent=hs;var Me=t(se);qe(Me,1,()=>B,ze,(o,i)=>{var l=la(),b={},A=n(l,!0);a(l),R(()=>{b!==(b=e(i).value)&&(l.value=(l.__value=e(i).value)==null?"":e(i).value),g(A,e(i).label)}),f(o,l)});var _=t(Me);_.value=(_.__value=S)==null?"":S,_.textContent=Es,a(te);var Ze=t(te,2);{var ae=o=>{var i=va(),l=Ke(i);de(l),q(l,"placeholder",gs);var b=t(l,2);{var A=H=>{var F=oa(),Ue=n(F,!0);a(F),R((Be,V)=>{Ce(F,"cron-invalid",Be),g(Ue,V)},[()=>!I.test(e(r).cronExpression),()=>I.test(e(r).cronExpression)?ra(e(r).cronExpression)||e(r).cronExpression:ks],M),f(H,F)};J(b,H=>{e(r).cronExpression&&H(A)})}rt(l,()=>e(r).cronExpression,H=>W(r,e(r).cronExpression=H)),f(o,i)};J(Ze,o=>{e(Te)&&o(ae)})}a(me);var D=t(me,2),ne=n(D),Y=n(ne);Y.textContent=ys;var $e=t(Y,2);$e.textContent=Ns,a(ne);var be=t(ne,2);de(be),q(be,"placeholder",xs),a(D);var re=t(D,2),he=n(re),We=n(he);We.textContent=Cs;var je=t(We,2);je.textContent=Ss,a(he);var Ee=t(he,2),Re=n(Ee),le=t(Re,2),Je=n(le,!0);a(le);var Ge=t(le,2);a(Ee),a(re);var oe=t(re,2),ve=n(oe),et=n(ve);et.textContent=Ls,a(ve);var ge=t(ve,2);qe(ge,5,()=>Pe,ze,(o,i)=>{var l=ca(),b=n(l),A=n(b,!0);a(b),a(l),R(()=>{Ce(l,"active",e(r).browser===e(i).id),g(A,e(i).label)}),K("click",l,()=>W(r,e(r).browser=e(i).id)),f(o,l)}),a(ge),a(oe);var ke=t(oe,2),Ie=n(ke),ye=n(Ie);ye.textContent=Ts;var Ae=t(ye,2);Ae.textContent=$s,a(Ie);var Fe=t(Ie,2),we=n(Fe),Ne=n(we);de(Ne);var Oe=t(Ne,4);Oe.textContent=mt;var Ve=t(Oe,2);Ve.textContent=Rs,a(we);var tt=t(we,2);qe(tt,1,()=>e(k),ze,(o,i)=>{var l=ia(),b=n(l);de(b);var A=t(b,4),H=n(A,!0);a(A);var F=t(A,2),Ue=n(F,!0);a(F),a(l),R(Be=>{pt(b,Be),g(H,e(i).name),g(Ue,e(i).url)},[()=>e(r).runnerIds.includes(e(i).id)],M),K("change",b,()=>ot(e(i).id)),f(o,l)}),a(Fe),a(ke);var u=t(ke,2);{var E=o=>{var i=ua(),l=n(i),b=n(l);b.textContent=Is,a(l);var A=t(l,2),H=n(A);{var F=V=>{var ce=da(),ie=n(ce);de(ie);var at=t(ie,2);at.textContent=Ft,a(ce),bt(ie,()=>e(r).notifyDiscord,nt=>W(r,e(r).notifyDiscord=nt)),f(V,ce)};J(H,V=>{e(p).discordWebhookUrl&&V(F)})}var Ue=t(H,2);{var Be=V=>{var ce=fa(),ie=n(ce);de(ie);var at=t(ie,2);at.textContent=Vt,a(ce),bt(ie,()=>e(r).notifySlack,nt=>W(r,e(r).notifySlack=nt)),f(V,ce)};J(Ue,V=>{e(p).slackWebhookUrl&&V(Be)})}a(A),a(i),f(o,i)};J(u,o=>{(e(p).discordWebhookUrl||e(p).slackWebhookUrl)&&o(E)})}var N=t(u,2);{var De=o=>{var i=_a(),l=n(i,!0);a(i),R(()=>g(l,e(G))),f(o,i)};J(N,o=>{e(G)&&o(De)})}var st=t(N,2);Xe(st,{type:"submit",size:"md",children:(o,i)=>{xe();var l=Z();R(b=>g(l,b),[()=>Ys(e(L))],M),f(o,l)},$$slots:{default:!0}}),a(d),R(o=>{Re.disabled=e(r).workers<=1,g(Je,e(r).workers),Ge.disabled=e(r).workers>=10,pt(Ne,o)},[()=>e(r).runnerIds.includes(z)],M),rt(_e,()=>e(r).taskName,o=>W(r,e(r).taskName=o)),zt(te,()=>e(Le),o=>v(Le,o)),K("change",te,Et),rt(be,()=>e(r).tags,o=>W(r,e(r).tags=o)),K("click",Re,()=>vt(-1)),K("click",Ge,()=>vt(1)),K("change",Ne,()=>ot(z)),K("submit",d,Xt(yt)),f(s,d)},$$slots:{default:!0},$$legacy:!0});var dt=t(it,2);as(dt,{title:Ps,get open(){return e(O)},set open(s){v(O,s)},$$events:{confirm:Ct},children:(s,m)=>{xe();var d=pa(),T=Ke(d);T.nodeValue=`${Hs} `;var $=t(T),y=n($,!0);a($);var ue=t($,1,!0);ue.nodeValue=Gt,R(()=>g(y,e(ee))),f(s,d)},$$slots:{default:!0},$$legacy:!0});var Qe=t(dt,2),ft=n(Qe),Ye=n(ft),ut=n(Ye);ut.textContent=is;var Tt=t(ut,2);Tt.textContent=ds,a(Ye);var $t=t(Ye,2);Xe($t,{$$events:{click:gt},children:(s,m)=>{xe();var d=Z();d.nodeValue=fs,f(s,d)},$$slots:{default:!0}}),a(ft),a(Qe);var _t=t(Qe,2),Rt=n(_t);{var It=s=>{ns(s,{message:us,size:"sm"})},At=s=>{var m=Ea(),d=n(m),T=n(d),$=n(T),y=t(n($),2);y.textContent=Gs;var ue=t(y);ue.textContent=Fs;var _e=t(ue);_e.textContent=Vs;var me=t(_e);me.textContent=Ks;var pe=t(me);pe.textContent=qs;var He=t(pe);He.textContent=zs;var te=t(He);te.textContent=Xs,a($),a(T);var se=t(T);qe(se,5,()=>e(h),ze,(Me,_,Ze)=>{var ae=ha();const D=M(()=>e(_).runnerIds?e(_).runnerIds.split(",").map(u=>u.trim()):[z]);var ne=n(ae),Y=n(ne);a(ne);var $e=t(ne),be=n($e);a($e);var re=t($e),he=n(re);{var We=u=>{var E=ba();q(E,"title",Js),f(u,E)};J(he,u=>{Zt(w(),e(_).taskName)&&u(We)})}var je=t(he);a(re);var Ee=t(re),Re=n(Ee);ts(Re,{variant:"schedule",children:(u,E)=>{xe();var N=Z();R(De=>g(N,De),[()=>St(e(_).cronExpression)],M),f(u,N)},$$slots:{default:!0}}),a(Ee);var le=t(Ee),Je=n(le),Ge=n(Je,!0);a(Je),a(le);var oe=t(le),ve=n(oe),et=n(ve);a(ve),a(oe);var ge=t(oe),ke=n(ge),Ie=n(ke,!0);a(ke),a(ge);var ye=t(ge),Ae=n(ye),Fe=n(Ae);{var we=u=>{var E=Z();E.nodeValue=mt,f(u,E)},Ne=u=>{var E=Ot(),N=Ke(E);{var De=o=>{var i=Z();R(l=>g(i,l),[()=>{var l;return((l=e(k).find(b=>b.id===e(D)[0]))==null?void 0:l.name)??e(D)[0]}],M),f(o,i)},st=o=>{var i=Z();R(l=>g(i,l),[()=>ea(e(D).length)],M),f(o,i)};J(N,o=>{e(D).length===1?o(De):o(st,!1)},!0)}f(u,E)};J(Fe,u=>{e(D).length===1&&e(D)[0]===z?u(we):u(Ne,!1)})}a(Ae),a(ye);var Oe=t(ye),Ve=n(Oe);Xe(Ve,{variant:"ghost",size:"sm",$$events:{click:()=>kt(e(_))},children:(u,E)=>{xe();var N=Z();N.nodeValue=Kt,f(u,N)},$$slots:{default:!0}});var tt=t(Ve,2);Xe(tt,{variant:"danger",size:"sm",$$events:{click:()=>{v(ee,e(_).taskName),v(O,!0)}},children:(u,E)=>{xe();var N=Z();N.nodeValue=qt,f(u,N)},$$slots:{default:!0}}),a(Oe),a(ae),R((u,E,N)=>{q(ae,"style",u),Ce(ae,"disabled",!e(_).enabled),q(Y,"title",E),q(Y,"aria-label",E),q(Y,"aria-pressed",e(_).enabled),Ce(Y,"on",e(_).enabled),q(be,"title",N),g(je,` ${e(_).taskName??""}`),g(Ge,e(_).tags),Ce(ve,"multi",e(_).workers>1),g(et,`×${e(_).workers??""}`),g(Ie,e(_).browser??Pe[0].id),Ce(Ae,"multi-node",e(D).length>1)},[()=>es(Ze),()=>Zs(e(_).enabled),()=>js(e(_).taskName)],M),K("click",Y,()=>Nt(e(_))),K("click",be,()=>xt(e(_).taskName)),f(Me,ae)}),a(se),a(d),a(m),f(s,m)};J(Rt,s=>{e(h).length===0?s(It):s(At,!1)})}a(_t),f(c,ct),Pt(),Q()}export{Pa as component};