plum-e2e 2.9.17 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/backend/constants/socketEvents.js +8 -14
  2. package/backend/lib/serverBootstrap.js +4 -4
  3. package/backend/mcp/server.js +3 -3
  4. package/backend/prisma/migrations/20260829000000_add_run_queue/migration.sql +29 -0
  5. package/backend/prisma/schema.prisma +30 -0
  6. package/backend/routes/active-runs.routes.js +10 -6
  7. package/backend/routes/node.routes.js +7 -0
  8. package/backend/routes/trigger.routes.js +8 -5
  9. package/backend/server.js +5 -1
  10. package/backend/services/cronService.js +15 -443
  11. package/backend/services/nodeExecutionService.js +13 -1
  12. package/backend/services/runExecutorService.js +423 -0
  13. package/backend/services/runQueueService.js +276 -0
  14. package/backend/services/runnerService.js +22 -4
  15. package/backend/services/triggerService.js +13 -231
  16. package/backend/websockets/socketHandler.js +32 -590
  17. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +35 -35
  18. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  19. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  20. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  21. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  22. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  23. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  24. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  25. package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +1 -1
  26. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -1
  27. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -1
  28. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +1 -1
  29. package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +1 -1
  30. package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +1 -1
  31. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +6 -4
  32. package/frontend/.svelte-kit/adapter-node/chunks/format.js +3 -3
  33. package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -4
  34. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
  35. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +1 -1
  36. package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +38 -40
  37. package/frontend/.svelte-kit/adapter-node/chunks/repository.js +8 -0
  38. package/frontend/.svelte-kit/adapter-node/chunks/runner.js +10 -20
  39. package/frontend/.svelte-kit/adapter-node/entries/pages/live/_id_/_page.svelte.js +254 -0
  40. package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +1 -1
  41. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +29 -24
  42. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +23 -19
  43. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +3 -3
  44. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +173 -51
  45. package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -1
  46. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
  47. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
  48. package/frontend/.svelte-kit/adapter-node/manifest-full.js +10 -10
  49. package/frontend/.svelte-kit/adapter-node/manifest.js +10 -10
  50. package/frontend/.svelte-kit/adapter-node/nodes/0.js +2 -2
  51. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
  52. package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -1
  53. package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -1
  54. package/frontend/.svelte-kit/adapter-node/nodes/12.js +2 -2
  55. package/frontend/.svelte-kit/adapter-node/nodes/2.js +1 -1
  56. package/frontend/.svelte-kit/adapter-node/nodes/3.js +3 -3
  57. package/frontend/.svelte-kit/adapter-node/nodes/4.js +3 -3
  58. package/frontend/.svelte-kit/adapter-node/nodes/5.js +3 -3
  59. package/frontend/.svelte-kit/adapter-node/nodes/6.js +3 -3
  60. package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -1
  61. package/frontend/.svelte-kit/adapter-node/nodes/8.js +2 -2
  62. package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
  63. package/frontend/.svelte-kit/ambient.d.ts +28 -28
  64. package/frontend/.svelte-kit/generated/client/app.js +4 -4
  65. package/frontend/.svelte-kit/generated/client/nodes/13.js +6 -0
  66. package/frontend/.svelte-kit/generated/client/nodes/3.js +1 -1
  67. package/frontend/.svelte-kit/generated/client/nodes/4.js +1 -1
  68. package/frontend/.svelte-kit/generated/client/nodes/5.js +1 -1
  69. package/frontend/.svelte-kit/generated/client/nodes/6.js +1 -1
  70. package/frontend/.svelte-kit/generated/client-optimized/app.js +4 -4
  71. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +1 -1
  72. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +1 -1
  73. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +1 -1
  74. package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +1 -1
  75. package/frontend/.svelte-kit/generated/server/internal.js +1 -1
  76. package/frontend/.svelte-kit/output/client/.vite/manifest.json +413 -401
  77. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
  78. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
  79. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
  80. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
  81. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
  82. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
  83. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  84. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  85. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  86. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  87. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  88. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  89. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  90. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
  91. package/frontend/{build/client/_app/immutable/chunks/CNdcuGR0.js → .svelte-kit/output/client/_app/immutable/chunks/B00vxw57.js} +1 -1
  92. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
  93. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
  94. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
  95. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
  96. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Beula-TH.js +11 -0
  97. package/frontend/{build/client/_app/immutable/chunks/CKDtmZUQ.js → .svelte-kit/output/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
  98. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
  99. package/frontend/{build/client/_app/immutable/chunks/DCgHuuvs.js → .svelte-kit/output/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
  100. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
  101. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
  102. package/frontend/{build/client/_app/immutable/chunks/2zMvi6fR.js → .svelte-kit/output/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
  103. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
  104. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
  105. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
  106. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
  107. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
  108. package/frontend/{build/client/_app/immutable/chunks/C1Vid6wz.js → .svelte-kit/output/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
  109. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
  110. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
  111. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
  112. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
  113. package/frontend/{build/client/_app/immutable/chunks/CMEtqUfQ.js → .svelte-kit/output/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
  114. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
  115. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
  116. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
  117. package/frontend/{build/client/_app/immutable/chunks/BmZ9upwL.js → .svelte-kit/output/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
  118. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/K1h4wprj.js +6 -0
  119. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
  120. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
  121. package/frontend/{build/client/_app/immutable/entry/start.4qxHHAcl.js → .svelte-kit/output/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
  122. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
  123. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
  124. package/frontend/{build/client/_app/immutable/nodes/10.DEbnxfND.js → .svelte-kit/output/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
  125. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
  126. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
  127. package/frontend/{build/client/_app/immutable/nodes/2.BCPSg7H4.js → .svelte-kit/output/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
  128. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
  129. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
  130. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
  131. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
  132. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
  133. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
  134. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
  135. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  136. package/frontend/.svelte-kit/output/server/.vite/manifest.json +35 -35
  137. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  138. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  139. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  140. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  141. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  142. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  143. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  144. package/frontend/.svelte-kit/output/server/chunks/BackLink.js +1 -1
  145. package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -1
  146. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -1
  147. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +1 -1
  148. package/frontend/.svelte-kit/output/server/chunks/Modal.js +1 -1
  149. package/frontend/.svelte-kit/output/server/chunks/Toast.js +1 -1
  150. package/frontend/.svelte-kit/output/server/chunks/constants.js +6 -4
  151. package/frontend/.svelte-kit/output/server/chunks/format.js +3 -3
  152. package/frontend/.svelte-kit/output/server/chunks/index.js +4 -4
  153. package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
  154. package/frontend/.svelte-kit/output/server/chunks/reports.js +1 -1
  155. package/frontend/.svelte-kit/output/server/chunks/reports2.js +38 -40
  156. package/frontend/.svelte-kit/output/server/chunks/repository.js +8 -0
  157. package/frontend/.svelte-kit/output/server/chunks/runner.js +10 -20
  158. package/frontend/.svelte-kit/output/server/entries/pages/live/_id_/_page.svelte.js +254 -0
  159. package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +1 -1
  160. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +29 -24
  161. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +23 -19
  162. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +3 -3
  163. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +173 -51
  164. package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -1
  165. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
  166. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
  167. package/frontend/.svelte-kit/output/server/manifest-full.js +10 -10
  168. package/frontend/.svelte-kit/output/server/manifest.js +10 -10
  169. package/frontend/.svelte-kit/output/server/nodes/0.js +2 -2
  170. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
  171. package/frontend/.svelte-kit/output/server/nodes/10.js +1 -1
  172. package/frontend/.svelte-kit/output/server/nodes/11.js +1 -1
  173. package/frontend/.svelte-kit/output/server/nodes/12.js +2 -2
  174. package/frontend/.svelte-kit/output/server/nodes/2.js +1 -1
  175. package/frontend/.svelte-kit/output/server/nodes/3.js +3 -3
  176. package/frontend/.svelte-kit/output/server/nodes/4.js +3 -3
  177. package/frontend/.svelte-kit/output/server/nodes/5.js +3 -3
  178. package/frontend/.svelte-kit/output/server/nodes/6.js +3 -3
  179. package/frontend/.svelte-kit/output/server/nodes/7.js +1 -1
  180. package/frontend/.svelte-kit/output/server/nodes/8.js +2 -2
  181. package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
  182. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
  183. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.br +0 -0
  184. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.gz +0 -0
  185. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
  186. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.br +0 -0
  187. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.gz +0 -0
  188. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
  189. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.br +0 -0
  190. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.gz +0 -0
  191. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
  192. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.br +0 -0
  193. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.gz +0 -0
  194. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
  195. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.br +0 -0
  196. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.gz +0 -0
  197. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
  198. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.br +0 -0
  199. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.gz +0 -0
  200. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  201. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.br +0 -0
  202. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.gz +0 -0
  203. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  204. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.br +0 -0
  205. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.gz +0 -0
  206. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  207. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.br +0 -0
  208. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.gz +0 -0
  209. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  210. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.br +0 -0
  211. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.gz +0 -0
  212. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  213. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.br +0 -0
  214. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.gz +0 -0
  215. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  216. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.br +0 -0
  217. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.gz +0 -0
  218. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  219. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.br +0 -0
  220. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.gz +0 -0
  221. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
  222. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.br +0 -0
  223. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.gz +0 -0
  224. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js → build/client/_app/immutable/chunks/B00vxw57.js} +1 -1
  225. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.br +0 -0
  226. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.gz +0 -0
  227. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
  228. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.br +0 -0
  229. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.gz +0 -0
  230. package/frontend/build/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
  231. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.br +0 -0
  232. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.gz +0 -0
  233. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
  234. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.br +0 -0
  235. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.gz +0 -0
  236. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
  237. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.br +0 -0
  238. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.gz +0 -0
  239. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js +11 -0
  240. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.br +0 -0
  241. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.gz +0 -0
  242. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js → build/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
  243. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.br +0 -0
  244. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.gz +0 -0
  245. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
  246. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.br +0 -0
  247. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.gz +0 -0
  248. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js → build/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
  249. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.br +0 -0
  250. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.gz +0 -0
  251. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
  252. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.br +0 -0
  253. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.gz +0 -0
  254. package/frontend/build/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
  255. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.br +0 -0
  256. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.gz +0 -0
  257. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js → build/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
  258. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.br +6 -0
  259. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.gz +0 -0
  260. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
  261. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.br +0 -0
  262. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.gz +0 -0
  263. package/frontend/build/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
  264. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.br +0 -0
  265. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.gz +0 -0
  266. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
  267. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.br +0 -0
  268. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.gz +0 -0
  269. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
  270. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.br +0 -0
  271. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.gz +0 -0
  272. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
  273. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.br +0 -0
  274. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.gz +0 -0
  275. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js → build/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
  276. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.br +0 -0
  277. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.gz +0 -0
  278. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
  279. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.br +0 -0
  280. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.gz +0 -0
  281. package/frontend/build/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
  282. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.br +0 -0
  283. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.gz +0 -0
  284. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
  285. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.br +0 -0
  286. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.gz +0 -0
  287. package/frontend/build/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
  288. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.br +7 -0
  289. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.gz +0 -0
  290. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CMEtqUfQ.js → build/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
  291. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.br +0 -0
  292. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.gz +0 -0
  293. package/frontend/build/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
  294. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.br +0 -0
  295. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.gz +0 -0
  296. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
  297. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.br +0 -0
  298. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.gz +0 -0
  299. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
  300. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.br +0 -0
  301. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.gz +0 -0
  302. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BmZ9upwL.js → build/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
  303. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.br +0 -0
  304. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.gz +0 -0
  305. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js +6 -0
  306. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.br +0 -0
  307. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.gz +0 -0
  308. package/frontend/build/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
  309. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.br +0 -0
  310. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.gz +0 -0
  311. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
  312. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.br +0 -0
  313. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.gz +0 -0
  314. package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.4qxHHAcl.js → build/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
  315. package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.br → start.BXOLyf9R.js.br} +1 -1
  316. package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.gz → start.BXOLyf9R.js.gz} +0 -0
  317. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
  318. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.br +0 -0
  319. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.gz +0 -0
  320. package/frontend/build/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
  321. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.br +0 -0
  322. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.gz +0 -0
  323. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js → build/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
  324. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.br +0 -0
  325. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.gz +0 -0
  326. package/frontend/build/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
  327. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.br +0 -0
  328. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.gz +0 -0
  329. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
  330. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.br +0 -0
  331. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.gz +0 -0
  332. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/2.BCPSg7H4.js → build/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
  333. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.br +0 -0
  334. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.gz +0 -0
  335. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
  336. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.br +0 -0
  337. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.gz +0 -0
  338. package/frontend/build/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
  339. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.br +0 -0
  340. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.gz +0 -0
  341. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
  342. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.br +0 -0
  343. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.gz +0 -0
  344. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
  345. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.br +0 -0
  346. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.gz +0 -0
  347. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
  348. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.br +0 -0
  349. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.gz +0 -0
  350. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
  351. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.br +0 -0
  352. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.gz +0 -0
  353. package/frontend/build/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
  354. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.br +0 -0
  355. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.gz +0 -0
  356. package/frontend/build/client/_app/version.json +1 -1
  357. package/frontend/build/client/_app/version.json.br +0 -0
  358. package/frontend/build/client/_app/version.json.gz +0 -0
  359. package/frontend/build/server/chunks/0-_rljpEay.js +22 -0
  360. package/frontend/build/server/chunks/0-_rljpEay.js.map +5 -0
  361. package/frontend/build/server/chunks/{1-Kxn9d30Z.js → 1-B3HpigzL.js} +3 -3
  362. package/frontend/build/server/chunks/{1-Kxn9d30Z.js.map → 1-B3HpigzL.js.map} +1 -1
  363. package/frontend/build/server/chunks/10-BQBBYpxV.js +14 -0
  364. package/frontend/build/server/chunks/10-BQBBYpxV.js.map +5 -0
  365. package/frontend/build/server/chunks/11-10xw0TIP.js +14 -0
  366. package/frontend/build/server/chunks/11-10xw0TIP.js.map +5 -0
  367. package/frontend/build/server/chunks/12-CZ3_Uw3c.js +14 -0
  368. package/frontend/build/server/chunks/{12-De6Ol6pu.js.map → 12-CZ3_Uw3c.js.map} +1 -1
  369. package/frontend/build/server/chunks/2-DioMbKbC.js +14 -0
  370. package/frontend/build/server/chunks/{2-Dc_rKWoK.js.map → 2-DioMbKbC.js.map} +1 -1
  371. package/frontend/build/server/chunks/3-CgiZg_9v.js +14 -0
  372. package/frontend/build/server/chunks/3-CgiZg_9v.js.map +5 -0
  373. package/frontend/build/server/chunks/4-BM-49dbE.js +14 -0
  374. package/frontend/build/server/chunks/4-BM-49dbE.js.map +5 -0
  375. package/frontend/build/server/chunks/5-Brx_KOzy.js +14 -0
  376. package/frontend/build/server/chunks/5-Brx_KOzy.js.map +5 -0
  377. package/frontend/build/server/chunks/6-C5swINND.js +14 -0
  378. package/frontend/build/server/chunks/6-C5swINND.js.map +5 -0
  379. package/frontend/build/server/chunks/7-B8e4y3CB.js +14 -0
  380. package/frontend/build/server/chunks/{7-DiQJZEF_.js.map → 7-B8e4y3CB.js.map} +1 -1
  381. package/frontend/build/server/chunks/8-BZtkZMIZ.js +14 -0
  382. package/frontend/build/server/chunks/8-BZtkZMIZ.js.map +5 -0
  383. package/frontend/build/server/chunks/9-BMAKiAem.js +14 -0
  384. package/frontend/build/server/chunks/{9-DirZG_Lu.js.map → 9-BMAKiAem.js.map} +1 -1
  385. package/frontend/build/server/chunks/{BackLink-BJ8NaemM.js → BackLink-CMpNTYqE.js} +2 -2
  386. package/frontend/build/server/chunks/BackLink-CMpNTYqE.js.map +5 -0
  387. package/frontend/build/server/chunks/{Badge-44ZTDx0V.js → Badge-BTWnF9pA.js} +2 -2
  388. package/frontend/build/server/chunks/Badge-BTWnF9pA.js.map +5 -0
  389. package/frontend/build/server/chunks/{ConfirmModal-C0EAXcq_.js → ConfirmModal-CtGWHl0v.js} +3 -3
  390. package/frontend/build/server/chunks/ConfirmModal-CtGWHl0v.js.map +5 -0
  391. package/frontend/build/server/chunks/{EmptyState-BA_eXaeR.js → EmptyState-Zpm9tJe1.js} +2 -2
  392. package/frontend/build/server/chunks/EmptyState-Zpm9tJe1.js.map +5 -0
  393. package/frontend/build/server/chunks/{Modal-DChG187n.js → Modal-BJJMnfIg.js} +2 -2
  394. package/frontend/build/server/chunks/Modal-BJJMnfIg.js.map +5 -0
  395. package/frontend/build/server/chunks/{Toast-v-q4ZnYq.js → Toast-CHB87F8k.js} +2 -2
  396. package/frontend/build/server/chunks/Toast-CHB87F8k.js.map +5 -0
  397. package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js → _layout.svelte-C_6nsIpT.js} +7 -7
  398. package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js.map → _layout.svelte-C_6nsIpT.js.map} +1 -1
  399. package/frontend/build/server/chunks/{_page.svelte-1jo8MapI.js → _page.svelte-BNwU9zza.js} +11 -10
  400. package/frontend/build/server/chunks/_page.svelte-BNwU9zza.js.map +5 -0
  401. package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js → _page.svelte-Bamoq11m.js} +8 -8
  402. package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js.map → _page.svelte-Bamoq11m.js.map} +1 -1
  403. package/frontend/build/server/chunks/{_page.svelte-Kg69DDaM.js → _page.svelte-BrYksycU.js} +5 -5
  404. package/frontend/build/server/chunks/_page.svelte-BrYksycU.js.map +5 -0
  405. package/frontend/build/server/chunks/{_page.svelte-BuFusRK1.js → _page.svelte-CAlhaCzS.js} +12 -12
  406. package/frontend/build/server/chunks/_page.svelte-CAlhaCzS.js.map +5 -0
  407. package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js +62 -0
  408. package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js.map +5 -0
  409. package/frontend/build/server/chunks/{_page.svelte-1as75nPc.js → _page.svelte-CbTrCeeX.js} +32 -28
  410. package/frontend/build/server/chunks/_page.svelte-CbTrCeeX.js.map +5 -0
  411. package/frontend/build/server/chunks/{_page.svelte-D3E6Eojd.js → _page.svelte-Cf6bI1Y2.js} +5 -5
  412. package/frontend/build/server/chunks/_page.svelte-Cf6bI1Y2.js.map +5 -0
  413. package/frontend/build/server/chunks/{_page.svelte-CWWeZuid.js → _page.svelte-CmJKt3-H.js} +71 -19
  414. package/frontend/build/server/chunks/_page.svelte-CmJKt3-H.js.map +5 -0
  415. package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js → _page.svelte-DHZhNTPg.js} +11 -10
  416. package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js.map → _page.svelte-DHZhNTPg.js.map} +1 -1
  417. package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js +257 -0
  418. package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js.map +5 -0
  419. package/frontend/build/server/chunks/{_page.svelte-8gELc_B1.js → _page.svelte-ywHy9KCh.js} +182 -59
  420. package/frontend/build/server/chunks/_page.svelte-ywHy9KCh.js.map +5 -0
  421. package/frontend/build/server/chunks/{auth-Chw-wBpI.js → auth-DDPlushv.js} +2 -2
  422. package/frontend/build/server/chunks/{auth-Chw-wBpI.js.map → auth-DDPlushv.js.map} +1 -1
  423. package/frontend/build/server/chunks/{client-DEmxR_a-.js → client-CsTiGNZy.js} +2 -2
  424. package/frontend/build/server/chunks/{client-DEmxR_a-.js.map → client-CsTiGNZy.js.map} +1 -1
  425. package/frontend/build/server/chunks/{constants-CXTaQaB6.js → constants-BYVkTZ-O.js} +3 -2
  426. package/frontend/build/server/chunks/constants-BYVkTZ-O.js.map +5 -0
  427. package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js → error.svelte-BXr4lXlB.js} +3 -3
  428. package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js.map → error.svelte-BXr4lXlB.js.map} +1 -1
  429. package/frontend/build/server/chunks/{format-CiNRMfHu.js → format-2pqy61MU.js} +2 -2
  430. package/frontend/build/server/chunks/{format-CiNRMfHu.js.map → format-2pqy61MU.js.map} +1 -1
  431. package/frontend/build/server/chunks/{index-server-B3M9vyh2.js → index-server-53nOZg5X.js} +2 -2
  432. package/frontend/build/server/chunks/{index-server-B3M9vyh2.js.map → index-server-53nOZg5X.js.map} +1 -1
  433. package/frontend/build/server/chunks/{index2-5R1tbrep.js → index2-DGcbugKe.js} +2 -2
  434. package/frontend/build/server/chunks/{index2-5R1tbrep.js.map → index2-DGcbugKe.js.map} +1 -1
  435. package/frontend/build/server/chunks/{reports-D_ApeeNh.js → reports-WuXG6tj3.js} +2 -2
  436. package/frontend/build/server/chunks/{reports-D_ApeeNh.js.map → reports-WuXG6tj3.js.map} +1 -1
  437. package/frontend/build/server/chunks/{reports2-BtElN_53.js → reports2-CCpI0xkQ.js} +7 -8
  438. package/frontend/build/server/chunks/reports2-CCpI0xkQ.js.map +5 -0
  439. package/frontend/build/server/chunks/{repository-FYYV_vKE.js → repository-TYWcFuWP.js} +6 -2
  440. package/frontend/build/server/chunks/repository-TYWcFuWP.js.map +5 -0
  441. package/frontend/build/server/chunks/runner-D5yCWOsy.js +27 -0
  442. package/frontend/build/server/chunks/runner-D5yCWOsy.js.map +5 -0
  443. package/frontend/build/server/chunks/{stores-BLenR3c1.js → stores-C4ZkywTG.js} +3 -3
  444. package/frontend/build/server/chunks/{stores-BLenR3c1.js.map → stores-C4ZkywTG.js.map} +1 -1
  445. package/frontend/build/server/chunks/{theme-nAx-GvX_.js → theme-C81wSe5T.js} +2 -2
  446. package/frontend/build/server/chunks/{theme-nAx-GvX_.js.map → theme-C81wSe5T.js.map} +1 -1
  447. package/frontend/build/server/index.js +2 -2
  448. package/frontend/build/server/index.js.map +1 -1
  449. package/frontend/build/server/manifest.js +23 -23
  450. package/frontend/build/server/manifest.js.map +1 -1
  451. package/frontend/src/lib/components/layout/RunnerPanel.svelte +186 -266
  452. package/frontend/src/lib/copy/reports.js +9 -0
  453. package/frontend/src/lib/copy/runners.js +9 -6
  454. package/frontend/src/lib/socketEvents.js +3 -15
  455. package/frontend/src/lib/stores/runner.js +62 -46
  456. package/frontend/src/routes/{reports/live → live/[id]}/+page.svelte +112 -183
  457. package/frontend/src/routes/scheduled-tests/+page.svelte +2 -2
  458. package/package.json +1 -1
  459. package/backend/services/activeRunsService.js +0 -55
  460. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  461. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  462. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  463. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  464. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  465. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  466. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  467. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +0 -247
  468. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
  469. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
  470. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
  471. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
  472. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
  473. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
  474. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  475. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  476. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  477. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  478. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  479. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  480. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  481. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3InFPLvE.js +0 -6
  482. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js +0 -6
  483. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
  484. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKuh57WU.js +0 -6
  485. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
  486. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +0 -6
  487. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
  488. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
  489. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
  490. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
  491. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +0 -6
  492. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +0 -7
  493. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
  494. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
  495. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +0 -11
  496. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
  497. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
  498. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
  499. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
  500. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
  501. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
  502. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
  503. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
  504. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  505. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  506. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  507. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  508. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  509. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  510. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  511. package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +0 -247
  512. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
  513. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
  514. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
  515. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
  516. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
  517. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
  518. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
  519. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
  520. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
  521. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
  522. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
  523. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
  524. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
  525. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
  526. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
  527. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
  528. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
  529. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
  530. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  531. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.br +0 -0
  532. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.gz +0 -0
  533. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  534. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
  535. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
  536. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  537. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
  538. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
  539. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  540. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
  541. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
  542. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  543. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
  544. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
  545. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  546. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
  547. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
  548. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  549. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
  550. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
  551. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.br +0 -0
  552. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.gz +0 -0
  553. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js +0 -6
  554. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.br +0 -0
  555. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.gz +0 -0
  556. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js +0 -6
  557. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.br +0 -0
  558. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.gz +0 -0
  559. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
  560. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.br +0 -0
  561. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.gz +0 -0
  562. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js +0 -6
  563. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.br +0 -0
  564. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.gz +0 -0
  565. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
  566. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.br +0 -0
  567. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.gz +0 -0
  568. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.br +0 -0
  569. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.gz +0 -0
  570. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
  571. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
  572. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +0 -6
  573. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
  574. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
  575. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
  576. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.br +0 -0
  577. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.gz +0 -0
  578. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
  579. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
  580. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
  581. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
  582. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
  583. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.br +0 -0
  584. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.gz +0 -0
  585. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.br +0 -0
  586. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
  587. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
  588. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.br +0 -0
  589. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.gz +0 -0
  590. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
  591. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
  592. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
  593. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.br +0 -0
  594. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.gz +0 -0
  595. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +0 -6
  596. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +0 -5
  597. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
  598. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.br +0 -0
  599. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.gz +0 -0
  600. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.br +0 -0
  601. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.gz +0 -0
  602. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.br +0 -0
  603. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.gz +0 -0
  604. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js +0 -7
  605. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.br +0 -0
  606. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.gz +0 -0
  607. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.br +0 -0
  608. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.gz +0 -0
  609. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
  610. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.br +0 -0
  611. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.gz +0 -0
  612. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
  613. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.br +0 -0
  614. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.gz +0 -0
  615. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +0 -11
  616. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
  617. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
  618. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.br +0 -0
  619. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.gz +0 -0
  620. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.br +0 -0
  621. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.gz +0 -0
  622. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.br +0 -0
  623. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.gz +0 -0
  624. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
  625. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.br +0 -0
  626. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.gz +0 -0
  627. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
  628. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.br +0 -0
  629. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.gz +0 -0
  630. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.br +0 -0
  631. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.gz +0 -0
  632. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.br +0 -0
  633. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.gz +0 -0
  634. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.br +0 -0
  635. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.gz +0 -0
  636. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
  637. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.br +0 -0
  638. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.gz +0 -0
  639. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.br +0 -0
  640. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.gz +0 -0
  641. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.br +0 -0
  642. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.gz +0 -0
  643. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
  644. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.br +0 -0
  645. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.gz +0 -0
  646. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
  647. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.br +0 -0
  648. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.gz +0 -0
  649. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
  650. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.br +0 -0
  651. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.gz +0 -0
  652. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
  653. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.br +0 -0
  654. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.gz +0 -0
  655. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
  656. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.br +0 -0
  657. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.gz +0 -0
  658. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.br +0 -0
  659. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.gz +0 -0
  660. package/frontend/build/server/chunks/0-D5YWFygh.js +0 -22
  661. package/frontend/build/server/chunks/0-D5YWFygh.js.map +0 -5
  662. package/frontend/build/server/chunks/10-l6_ikL_D.js +0 -14
  663. package/frontend/build/server/chunks/10-l6_ikL_D.js.map +0 -5
  664. package/frontend/build/server/chunks/11-CNLerze_.js +0 -14
  665. package/frontend/build/server/chunks/11-CNLerze_.js.map +0 -5
  666. package/frontend/build/server/chunks/12-De6Ol6pu.js +0 -14
  667. package/frontend/build/server/chunks/2-Dc_rKWoK.js +0 -14
  668. package/frontend/build/server/chunks/3-DrRqVrcX.js +0 -14
  669. package/frontend/build/server/chunks/3-DrRqVrcX.js.map +0 -5
  670. package/frontend/build/server/chunks/4-Bo04DC5Z.js +0 -14
  671. package/frontend/build/server/chunks/4-Bo04DC5Z.js.map +0 -5
  672. package/frontend/build/server/chunks/5-CFeE5dPZ.js +0 -14
  673. package/frontend/build/server/chunks/5-CFeE5dPZ.js.map +0 -5
  674. package/frontend/build/server/chunks/6-DZk37MZH.js +0 -14
  675. package/frontend/build/server/chunks/6-DZk37MZH.js.map +0 -5
  676. package/frontend/build/server/chunks/7-DiQJZEF_.js +0 -14
  677. package/frontend/build/server/chunks/8-CKPVFOqJ.js +0 -14
  678. package/frontend/build/server/chunks/8-CKPVFOqJ.js.map +0 -5
  679. package/frontend/build/server/chunks/9-DirZG_Lu.js +0 -14
  680. package/frontend/build/server/chunks/BackLink-BJ8NaemM.js.map +0 -5
  681. package/frontend/build/server/chunks/Badge-44ZTDx0V.js.map +0 -5
  682. package/frontend/build/server/chunks/ConfirmModal-C0EAXcq_.js.map +0 -5
  683. package/frontend/build/server/chunks/EmptyState-BA_eXaeR.js.map +0 -5
  684. package/frontend/build/server/chunks/Modal-DChG187n.js.map +0 -5
  685. package/frontend/build/server/chunks/Toast-v-q4ZnYq.js.map +0 -5
  686. package/frontend/build/server/chunks/_page.svelte-1as75nPc.js.map +0 -5
  687. package/frontend/build/server/chunks/_page.svelte-1jo8MapI.js.map +0 -5
  688. package/frontend/build/server/chunks/_page.svelte-8gELc_B1.js.map +0 -5
  689. package/frontend/build/server/chunks/_page.svelte-BuFusRK1.js.map +0 -5
  690. package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js +0 -250
  691. package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js.map +0 -5
  692. package/frontend/build/server/chunks/_page.svelte-CWWeZuid.js.map +0 -5
  693. package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js.map +0 -5
  694. package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js.map +0 -5
  695. package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js +0 -57
  696. package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js.map +0 -5
  697. package/frontend/build/server/chunks/constants-CXTaQaB6.js.map +0 -5
  698. package/frontend/build/server/chunks/reports2-BtElN_53.js.map +0 -5
  699. package/frontend/build/server/chunks/repository-FYYV_vKE.js.map +0 -5
  700. package/frontend/build/server/chunks/runner-DC7hXbnY.js +0 -37
  701. package/frontend/build/server/chunks/runner-DC7hXbnY.js.map +0 -5
  702. /package/frontend/.svelte-kit/output/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
  703. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
  704. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.br → 4.BR3wgXcZ.css.br} +0 -0
  705. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.gz → 4.BR3wgXcZ.css.gz} +0 -0
@@ -43,8 +43,12 @@ const TC_TITLE_PLACEHOLDER = "User can log in with valid credentials";
43
43
  const TC_DESC_PLACEHOLDER = "What this case verifies…";
44
44
  const CREATE_CASE_LABEL = "Create Case";
45
45
  const EDIT_SUITE_MODAL_TITLE = "Edit Suite";
46
+ const MOVE_TEST_CASE_MODAL_TITLE = "Move Test Case";
47
+ const MOVE_TO_SUITE_LABEL = "Move to suite";
46
48
  const suiteDetailTitle = (suite) => `${"Suite"} — Plum`;
49
+ const moveCaseLabel = (saving) => "Move";
47
50
  const EDIT_RUN_MODAL_TITLE = "Edit Run";
51
+ const NO_SUITES_AVAILABLE = "No suites available.";
48
52
  const runDetailTitle = (run) => `${"Test Run"} — Plum`;
49
53
  export {
50
54
  AUTOMATED_TAG_LABEL as A,
@@ -58,8 +62,12 @@ export {
58
62
  EDIT_SUITE_MODAL_TITLE as I,
59
63
  suiteDetailTitle as J,
60
64
  CREATE_CASE_LABEL as K,
65
+ NO_SUITES_AVAILABLE as L,
66
+ MOVE_TEST_CASE_MODAL_TITLE as M,
61
67
  NEW_SUITE_MODAL_TITLE as N,
68
+ MOVE_TO_SUITE_LABEL as O,
62
69
  PAGE_TITLE as P,
70
+ moveCaseLabel as Q,
63
71
  RUN_TITLE_PLACEHOLDER as R,
64
72
  SUITE_NAME_PLACEHOLDER as S,
65
73
  TITLE_LABEL as T,
@@ -4,24 +4,10 @@
4
4
  */
5
5
 
6
6
  import { w as writable } from "./index2.js";
7
- import { B as BROWSERS } from "./constants.js";
7
+ import { c as TRIGGER_TYPES, B as BROWSERS } from "./constants.js";
8
+ import "./format.js";
8
9
  import "./auth.js";
9
- const runnerState = writable({
10
- output: "",
11
- running: false,
12
- testCompleted: false,
13
- latestReportId: null,
14
- // number | null — set after test finishes
15
- status: "idle",
16
- // 'idle' | 'running' | 'pass' | 'fail'
17
- lastRunId: "",
18
- lanes: [],
19
- // [{ id, name, testCount, status, logs, latestScreenshot }] multi-runner only
20
- currentRun: null,
21
- // { tag, workers, browser, runners } — set while running
22
- latestScreenshot: null
23
- // { stepName, data: base64 } for single built-in runner
24
- });
10
+ const backgroundRuns = writable({});
25
11
  writable({
26
12
  workers: 1,
27
13
  testID: "",
@@ -30,10 +16,14 @@ writable({
30
16
  });
31
17
  const builtInEnabled = writable(true);
32
18
  const reportsVersion = writable(0);
33
- const backgroundRuns = writable({});
19
+ function findActiveCronRun(runs, taskName) {
20
+ return Object.values(runs).find(
21
+ (r) => r.kind === TRIGGER_TYPES.CRON && r.label === taskName && r.status !== "done"
22
+ );
23
+ }
34
24
  export {
35
- runnerState as a,
25
+ builtInEnabled as a,
36
26
  backgroundRuns as b,
37
- builtInEnabled as c,
27
+ findActiveCronRun as f,
38
28
  reportsVersion as r
39
29
  };
@@ -0,0 +1,254 @@
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 { _ as fallback, $ as bind_props, p as pop, a as push, a0 as store_get, X as head, Z as stringify, Y as ensure_array_like, a1 as unsubscribe_stores } from "../../../../chunks/index.js";
7
+ import { o as onDestroy } from "../../../../chunks/index-server.js";
8
+ import { g as goto } from "../../../../chunks/client.js";
9
+ import { p as page } from "../../../../chunks/stores.js";
10
+ import { b as backgroundRuns } from "../../../../chunks/runner.js";
11
+ import { R as REDIRECT_DELAY_MS } from "../../../../chunks/constants.js";
12
+ import "../../../../chunks/auth.js";
13
+ import { r as reportUrl } from "../../../../chunks/reports.js";
14
+ import "rrweb-player";
15
+ import { B as BackLink } from "../../../../chunks/BackLink.js";
16
+ import { A as ALL_TESTS_LABEL } from "../../../../chunks/common.js";
17
+ import { C as CANCEL_RUN_LABEL, R as RUN_SKIPPED_HEADING, w as workersCountLabel, r as runnersBadge, a as RUNNER_LABEL, W as WAITING_FOR_OUTPUT, L as LIVE_PAGE_TITLE, b as REPORTS_BACK_LABEL, Q as QUEUED_HEADING, c as QUEUED_BODY, q as queuePositionLine, V as VIEW_PAST_REPORTS_LINK, d as LIVE_BADGE_LABEL, P as PASSED_LABEL, F as FAILED_LABEL, A as ALL_TESTS_PASSED, S as SOME_TESTS_FAILED, e as redirectingIn, f as VIEW_REPORT_NOW_LABEL, g as workerLabel, h as AWAITING_STREAM_LABEL, N as NO_STREAM_LABEL, i as RUNNING_LABEL, j as FINISHED_LABEL } from "../../../../chunks/reports2.js";
18
+ import { B as Badge } from "../../../../chunks/Badge.js";
19
+ import { e as escape_html } from "../../../../chunks/escaping.js";
20
+ import { a as attr } from "../../../../chunks/attributes.js";
21
+ function LiveReplayer($$payload, $$props) {
22
+ push();
23
+ let events = fallback($$props["events"], () => [], true);
24
+ let player = null;
25
+ onDestroy(() => {
26
+ try {
27
+ player?.getReplayer()?.destroy();
28
+ } catch {
29
+ }
30
+ });
31
+ $$payload.out += `<div class="live-viewport svelte-1wgcx8r"><div class="live-stage svelte-1wgcx8r"><div class="live-mount svelte-1wgcx8r"></div></div></div>`;
32
+ bind_props($$props, { events });
33
+ pop();
34
+ }
35
+ function _page($$payload, $$props) {
36
+ push();
37
+ var $$store_subs;
38
+ let runId, run, status, lanes, isMulti, activeLane, activeLaneId, laneWorkers, workerIds, activeWorkerEvents;
39
+ let redirectTimer = null;
40
+ let redirectCountdown = REDIRECT_DELAY_MS / 1e3;
41
+ let countdownInterval = null;
42
+ let activeTab = null;
43
+ let activeWorkerId = null;
44
+ onDestroy(() => {
45
+ if (redirectTimer) clearTimeout(redirectTimer);
46
+ if (countdownInterval) clearInterval(countdownInterval);
47
+ });
48
+ runId = store_get($$store_subs ??= {}, "$page", page).params.id;
49
+ run = store_get($$store_subs ??= {}, "$backgroundRuns", backgroundRuns)[runId] ?? null;
50
+ status = run?.status ?? null;
51
+ lanes = run?.lanes ?? [];
52
+ isMulti = lanes.length > 1;
53
+ {
54
+ if (lanes.length === 0) activeTab = null;
55
+ else if (!lanes.find((l) => l.id === activeTab)) activeTab = lanes[0].id;
56
+ }
57
+ activeLane = lanes.find((l) => l.id === activeTab) ?? null;
58
+ activeLaneId = isMulti ? activeTab : lanes[0]?.id;
59
+ laneWorkers = activeLaneId && run?.rrwebByLane[activeLaneId] || {};
60
+ workerIds = Object.keys(laneWorkers).sort((a, b) => Number(a) - Number(b));
61
+ {
62
+ if (workerIds.length === 0) activeWorkerId = null;
63
+ else if (!workerIds.includes(activeWorkerId)) activeWorkerId = workerIds[0];
64
+ }
65
+ activeWorkerEvents = activeWorkerId ? laneWorkers[activeWorkerId]?.events ?? [] : [];
66
+ if (status === "done" && run?.testCompleted && run?.latestReportId && !redirectTimer) {
67
+ redirectCountdown = REDIRECT_DELAY_MS / 1e3;
68
+ countdownInterval = setInterval(
69
+ () => {
70
+ redirectCountdown--;
71
+ if (redirectCountdown <= 0) clearInterval(countdownInterval);
72
+ },
73
+ 1e3
74
+ );
75
+ redirectTimer = setTimeout(() => goto(reportUrl(run.latestReportId)), REDIRECT_DELAY_MS);
76
+ }
77
+ head($$payload, ($$payload2) => {
78
+ $$payload2.title = `<title>${escape_html(LIVE_PAGE_TITLE)}</title>`;
79
+ });
80
+ if (!run) {
81
+ $$payload.out += "<!--[-->";
82
+ BackLink($$payload, { href: "/reports", label: REPORTS_BACK_LABEL });
83
+ $$payload.out += `<!----> <div class="notice-state svelte-13l3gen">`;
84
+ {
85
+ $$payload.out += "<!--[!-->";
86
+ $$payload.out += `<div class="pulse-dot svelte-13l3gen"></div>`;
87
+ }
88
+ $$payload.out += `<!--]--></div>`;
89
+ } else {
90
+ $$payload.out += "<!--[!-->";
91
+ if (status === "queued") {
92
+ $$payload.out += "<!--[-->";
93
+ BackLink($$payload, { href: "/reports", label: REPORTS_BACK_LABEL });
94
+ $$payload.out += `<!----> <div class="notice-state svelte-13l3gen"><div class="pulse-dot warn svelte-13l3gen"></div> <h2 class="svelte-13l3gen">${escape_html(QUEUED_HEADING)}</h2> <p class="svelte-13l3gen">${escape_html(QUEUED_BODY)}</p> <p class="queue-pos svelte-13l3gen">${escape_html(queuePositionLine())}</p> <button class="cancel-btn svelte-13l3gen">${escape_html(CANCEL_RUN_LABEL)}</button></div>`;
95
+ } else {
96
+ $$payload.out += "<!--[!-->";
97
+ if (status === "done" && !run.latestReportId) {
98
+ $$payload.out += "<!--[-->";
99
+ BackLink($$payload, { href: "/reports", label: REPORTS_BACK_LABEL });
100
+ $$payload.out += `<!----> <div class="notice-state svelte-13l3gen"><h2 class="svelte-13l3gen">${escape_html(run.verdict === "cancelled" ? CANCEL_RUN_LABEL : RUN_SKIPPED_HEADING)}</h2> <a href="/reports" class="notice-link svelte-13l3gen">${escape_html(VIEW_PAST_REPORTS_LINK)}</a></div>`;
101
+ } else {
102
+ $$payload.out += "<!--[!-->";
103
+ $$payload.out += `<div class="live-fullscreen svelte-13l3gen"><div${attr("class", `run-header svelte-13l3gen ${stringify([
104
+ run.verdict === "pass" ? "header-pass" : "",
105
+ run.verdict === "fail" ? "header-fail" : ""
106
+ ].filter(Boolean).join(" "))}`)}><div class="header-left svelte-13l3gen"><div class="header-back svelte-13l3gen">`;
107
+ BackLink($$payload, { href: "/reports", label: REPORTS_BACK_LABEL });
108
+ $$payload.out += `<!----></div> `;
109
+ if (status === "running") {
110
+ $$payload.out += "<!--[-->";
111
+ $$payload.out += `<span class="live-badge svelte-13l3gen"><span class="live-dot svelte-13l3gen"></span>${escape_html(LIVE_BADGE_LABEL)}</span>`;
112
+ } else {
113
+ $$payload.out += "<!--[!-->";
114
+ if (run.verdict === "pass") {
115
+ $$payload.out += "<!--[-->";
116
+ Badge($$payload, {
117
+ variant: "pass",
118
+ children: ($$payload2) => {
119
+ $$payload2.out += `<!---->${escape_html(PASSED_LABEL)}`;
120
+ },
121
+ $$slots: { default: true }
122
+ });
123
+ } else {
124
+ $$payload.out += "<!--[!-->";
125
+ Badge($$payload, {
126
+ variant: "fail",
127
+ children: ($$payload2) => {
128
+ $$payload2.out += `<!---->${escape_html(FAILED_LABEL)}`;
129
+ },
130
+ $$slots: { default: true }
131
+ });
132
+ }
133
+ $$payload.out += `<!--]-->`;
134
+ }
135
+ $$payload.out += `<!--]--> `;
136
+ if (run.currentRun) {
137
+ $$payload.out += "<!--[-->";
138
+ $$payload.out += `<div class="run-info svelte-13l3gen">`;
139
+ if (run.currentRun.runTitle) {
140
+ $$payload.out += "<!--[-->";
141
+ $$payload.out += `<span class="run-title-label svelte-13l3gen">${escape_html(run.currentRun.runTitle)}</span> <span class="run-sep svelte-13l3gen">·</span>`;
142
+ } else {
143
+ $$payload.out += "<!--[!-->";
144
+ }
145
+ $$payload.out += `<!--]--> <span class="run-tag-label svelte-13l3gen">${escape_html(run.currentRun.tag || ALL_TESTS_LABEL)}</span> <span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen">${escape_html(workersCountLabel(run.currentRun.workers))}</span> <span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen">${escape_html(run.currentRun.browser)}</span> `;
146
+ if (lanes.length > 1) {
147
+ $$payload.out += "<!--[-->";
148
+ $$payload.out += `<span class="run-sep svelte-13l3gen">·</span> <span class="run-detail svelte-13l3gen">${escape_html(runnersBadge(lanes.length))}</span>`;
149
+ } else {
150
+ $$payload.out += "<!--[!-->";
151
+ }
152
+ $$payload.out += `<!--]--></div>`;
153
+ } else {
154
+ $$payload.out += "<!--[!-->";
155
+ }
156
+ $$payload.out += `<!--]--></div> `;
157
+ if (status === "running") {
158
+ $$payload.out += "<!--[-->";
159
+ $$payload.out += `<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> ${escape_html(CANCEL_RUN_LABEL)}</button>`;
160
+ } else {
161
+ $$payload.out += "<!--[!-->";
162
+ }
163
+ $$payload.out += `<!--]--></div> `;
164
+ if (status === "done" && run.testCompleted && run.latestReportId) {
165
+ $$payload.out += "<!--[-->";
166
+ $$payload.out += `<div${attr("class", `completion-bar svelte-13l3gen ${stringify([
167
+ run.verdict === "pass" ? "pass-bar" : "",
168
+ run.verdict === "fail" ? "fail-bar" : ""
169
+ ].filter(Boolean).join(" "))}`)}><div class="completion-left svelte-13l3gen">`;
170
+ if (run.verdict === "pass") {
171
+ $$payload.out += "<!--[-->";
172
+ $$payload.out += `<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>${escape_html(ALL_TESTS_PASSED)}`;
173
+ } else {
174
+ $$payload.out += "<!--[!-->";
175
+ $$payload.out += `<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>${escape_html(SOME_TESTS_FAILED)}`;
176
+ }
177
+ $$payload.out += `<!--]--></div> <div class="completion-right svelte-13l3gen"><span class="redirect-hint svelte-13l3gen">${escape_html(redirectingIn(redirectCountdown))}</span> <button class="view-now-btn svelte-13l3gen">${escape_html(VIEW_REPORT_NOW_LABEL)} <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>`;
178
+ } else {
179
+ $$payload.out += "<!--[!-->";
180
+ }
181
+ $$payload.out += `<!--]--> `;
182
+ if (isMulti) {
183
+ $$payload.out += "<!--[-->";
184
+ const each_array = ensure_array_like(lanes);
185
+ $$payload.out += `<div class="lane-tabs svelte-13l3gen"><!--[-->`;
186
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
187
+ let lane = each_array[$$index];
188
+ $$payload.out += `<button${attr("class", `lane-tab svelte-13l3gen ${stringify([activeTab === lane.id ? "active" : ""].filter(Boolean).join(" "))}`)}><span${attr("class", `tab-dot svelte-13l3gen ${stringify([
189
+ lane.status === "running" ? "tab-dot-running" : "",
190
+ lane.status === "done" ? "tab-dot-done" : "",
191
+ lane.status === "error" ? "tab-dot-error" : ""
192
+ ].filter(Boolean).join(" "))}`)}></span> ${escape_html(lane.name)} `;
193
+ if (lane.testCount) {
194
+ $$payload.out += "<!--[-->";
195
+ $$payload.out += `<span class="tab-count svelte-13l3gen">${escape_html(lane.testCount)}</span>`;
196
+ } else {
197
+ $$payload.out += "<!--[!-->";
198
+ }
199
+ $$payload.out += `<!--]--></button>`;
200
+ }
201
+ $$payload.out += `<!--]--></div>`;
202
+ } else {
203
+ $$payload.out += "<!--[!-->";
204
+ }
205
+ $$payload.out += `<!--]--> `;
206
+ if (workerIds.length > 1) {
207
+ $$payload.out += "<!--[-->";
208
+ const each_array_1 = ensure_array_like(workerIds);
209
+ $$payload.out += `<div class="lane-tabs worker-tabs svelte-13l3gen"><!--[-->`;
210
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
211
+ let workerId = each_array_1[$$index_1];
212
+ $$payload.out += `<button${attr("class", `lane-tab svelte-13l3gen ${stringify([activeWorkerId === workerId ? "active" : ""].filter(Boolean).join(" "))}`)}>${escape_html(workerLabel(workerId))}</button>`;
213
+ }
214
+ $$payload.out += `<!--]--></div>`;
215
+ } else {
216
+ $$payload.out += "<!--[!-->";
217
+ }
218
+ $$payload.out += `<!--]--> <div class="run-view svelte-13l3gen"><div class="stream-panel svelte-13l3gen">`;
219
+ if (activeWorkerEvents.length > 0) {
220
+ $$payload.out += "<!--[-->";
221
+ LiveReplayer($$payload, { events: activeWorkerEvents });
222
+ } else {
223
+ $$payload.out += "<!--[!-->";
224
+ $$payload.out += `<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">${escape_html(status === "running" ? AWAITING_STREAM_LABEL : NO_STREAM_LABEL)}</span></div>`;
225
+ }
226
+ $$payload.out += `<!--]--></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">`;
227
+ if (isMulti) {
228
+ $$payload.out += "<!--[-->";
229
+ $$payload.out += `${escape_html(activeLane?.name ?? RUNNER_LABEL)}`;
230
+ } else {
231
+ $$payload.out += "<!--[!-->";
232
+ $$payload.out += `${escape_html(status === "running" ? RUNNING_LABEL : FINISHED_LABEL)}`;
233
+ }
234
+ $$payload.out += `<!--]--></span></div> `;
235
+ if (isMulti) {
236
+ $$payload.out += "<!--[-->";
237
+ $$payload.out += `<pre class="terminal svelte-13l3gen">${escape_html(activeLane?.logs || WAITING_FOR_OUTPUT)}</pre>`;
238
+ } else {
239
+ $$payload.out += "<!--[!-->";
240
+ $$payload.out += `<pre class="terminal svelte-13l3gen">${escape_html(lanes[0]?.logs || run.output || WAITING_FOR_OUTPUT)}</pre>`;
241
+ }
242
+ $$payload.out += `<!--]--></div></div></div>`;
243
+ }
244
+ $$payload.out += `<!--]-->`;
245
+ }
246
+ $$payload.out += `<!--]-->`;
247
+ }
248
+ $$payload.out += `<!--]-->`;
249
+ if ($$store_subs) unsubscribe_stores($$store_subs);
250
+ pop();
251
+ }
252
+ export {
253
+ _page as default
254
+ };
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import { X as head, _ as store_get, $ as unsubscribe_stores, p as pop, a as push } from "../../../chunks/index.js";
6
+ import { X as head, a0 as store_get, a1 as unsubscribe_stores, p as pop, a as push } from "../../../chunks/index.js";
7
7
  import "../../../chunks/client.js";
8
8
  import "../../../chunks/auth.js";
9
9
  import { t as theme } from "../../../chunks/theme.js";
@@ -3,47 +3,52 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import { _ as store_get, X as head, $ as unsubscribe_stores, p as pop, a as push } from "../../../../chunks/index.js";
6
+ import { a0 as store_get, a2 as copy_payload, a3 as assign_payload, a1 as unsubscribe_stores, p as pop, a as push, X as head } from "../../../../chunks/index.js";
7
7
  import { p as page } from "../../../../chunks/stores.js";
8
- import { o as onDestroy } from "../../../../chunks/index-server.js";
9
8
  import "../../../../chunks/format.js";
10
- import { e as DETAIL_PAGE_TITLE, g as REPORTS_BACK_LABEL } from "../../../../chunks/reports2.js";
9
+ import { b as REPORTS_BACK_LABEL, B as DETAIL_PAGE_TITLE } from "../../../../chunks/reports2.js";
11
10
  /* empty css */
12
11
  import { B as BackLink } from "../../../../chunks/BackLink.js";
12
+ import "rrweb-player";
13
13
  import { e as escape_html } from "../../../../chunks/escaping.js";
14
14
  function _page($$payload, $$props) {
15
15
  push();
16
16
  var $$store_subs;
17
- let replaySteps, allScenarios;
17
+ let allScenarios;
18
18
  parseInt(store_get($$store_subs ??= {}, "$page", page).params.id, 10);
19
- let replayIdx = 0;
20
- onDestroy(() => {
21
- });
22
- replaySteps = [];
23
- replaySteps[replayIdx] ?? null;
24
19
  allScenarios = [];
25
20
  allScenarios.filter((s) => s.status === "passed").length;
26
21
  allScenarios.filter((s) => s.status === "failed").length;
27
22
  allScenarios.filter((s) => s.status === "skipped" || s.status === "pending").length;
28
23
  allScenarios.reduce((s, sc) => s + sc.duration, 0);
29
- head($$payload, ($$payload2) => {
30
- $$payload2.title = `<title>${escape_html(DETAIL_PAGE_TITLE)}</title>`;
31
- });
32
- BackLink($$payload, { href: "/reports", label: REPORTS_BACK_LABEL });
33
- $$payload.out += `<!----> `;
34
- {
35
- $$payload.out += "<!--[!-->";
24
+ let $$settled = true;
25
+ let $$inner_payload;
26
+ function $$render_inner($$payload2) {
27
+ head($$payload2, ($$payload3) => {
28
+ $$payload3.title = `<title>${escape_html(DETAIL_PAGE_TITLE)}</title>`;
29
+ });
30
+ BackLink($$payload2, { href: "/reports", label: REPORTS_BACK_LABEL });
31
+ $$payload2.out += `<!----> `;
36
32
  {
37
- $$payload.out += "<!--[-->";
38
- $$payload.out += `<div class="loading-state svelte-1cdcqpr"><div class="loading-dots svelte-1cdcqpr"><span class="svelte-1cdcqpr"></span><span class="svelte-1cdcqpr"></span><span class="svelte-1cdcqpr"></span></div></div>`;
33
+ $$payload2.out += "<!--[!-->";
34
+ {
35
+ $$payload2.out += "<!--[-->";
36
+ $$payload2.out += `<div class="loading-state svelte-ggy6pw"><div class="loading-dots svelte-ggy6pw"><span class="svelte-ggy6pw"></span><span class="svelte-ggy6pw"></span><span class="svelte-ggy6pw"></span></div></div>`;
37
+ }
38
+ $$payload2.out += `<!--]-->`;
39
39
  }
40
- $$payload.out += `<!--]-->`;
41
- }
42
- $$payload.out += `<!--]--> `;
43
- {
44
- $$payload.out += "<!--[!-->";
40
+ $$payload2.out += `<!--]--> `;
41
+ {
42
+ $$payload2.out += "<!--[!-->";
43
+ }
44
+ $$payload2.out += `<!--]-->`;
45
45
  }
46
- $$payload.out += `<!--]-->`;
46
+ do {
47
+ $$settled = true;
48
+ $$inner_payload = copy_payload($$payload);
49
+ $$render_inner($$inner_payload);
50
+ } while (!$$settled);
51
+ assign_payload($$payload, $$inner_payload);
47
52
  if ($$store_subs) unsubscribe_stores($$store_subs);
48
53
  pop();
49
54
  }
@@ -3,19 +3,19 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import { a as push, a0 as fallback, Y as ensure_array_like, Z as stringify, a1 as bind_props, p as pop, _ as store_get, a2 as copy_payload, a3 as assign_payload, $ as unsubscribe_stores, X as head } from "../../../chunks/index.js";
6
+ import { a as push, _ as fallback, Y as ensure_array_like, Z as stringify, $ as bind_props, p as pop, a0 as store_get, a2 as copy_payload, a3 as assign_payload, a1 as unsubscribe_stores, X as head } from "../../../chunks/index.js";
7
7
  import { t as tick } from "../../../chunks/index-server.js";
8
8
  import { f as fetchReports, r as reportUrl } from "../../../chunks/reports.js";
9
9
  import { r as reportsVersion } from "../../../chunks/runner.js";
10
- import { R as REPORTS_PER_PAGE, B as BROWSERS } from "../../../chunks/constants.js";
11
- import { s as stagger, i as isScheduled, t as triggerVariant, a as triggerLabel } from "../../../chunks/format.js";
10
+ import { a as REPORTS_PER_PAGE, B as BROWSERS } from "../../../chunks/constants.js";
11
+ import { s as stagger, i as isScheduled, t as triggerLabel, a as triggerVariant } from "../../../chunks/format.js";
12
12
  import { B as Badge } from "../../../chunks/Badge.js";
13
13
  /* empty css */
14
14
  import { a as attr } from "../../../chunks/attributes.js";
15
15
  import { e as escape_html } from "../../../chunks/escaping.js";
16
16
  import { C as ConfirmModal } from "../../../chunks/ConfirmModal.js";
17
17
  import { E as EmptyState } from "../../../chunks/EmptyState.js";
18
- import { d as deleteReportsTitle, t as trendDotTitle, S as SELECT_ALL_TITLE, a as deleteSelectedLabel, b as SELECT_ROW_TITLE, D as DELETE_REPORT_TITLE, L as LIST_PAGE_TITLE, c as deleteReportsBody, H as HEADING, r as runsRecorded, P as PASSING_LABEL, p as passedCountLabel, f as failedCountLabel, R as RECENT_LABEL, T as TREND_HINT, N as NO_REPORTS_MESSAGE } from "../../../chunks/reports2.js";
18
+ import { k as deleteReportsTitle, t as trendDotTitle, l as SELECT_ALL_TITLE, m as deleteSelectedLabel, n as SELECT_ROW_TITLE, D as DELETE_REPORT_TITLE, o as LIST_PAGE_TITLE, p as deleteReportsBody, H as HEADING, s as runsRecorded, u as PASSING_LABEL, v as passedCountLabel, x as failedCountLabel, y as RECENT_LABEL, T as TREND_HINT, z as NO_REPORTS_MESSAGE } from "../../../chunks/reports2.js";
19
19
  function Pagination($$payload, $$props) {
20
20
  push();
21
21
  let current = fallback($$props["current"], 1);
@@ -96,14 +96,18 @@ function _page($$payload, $$props) {
96
96
  },
97
97
  $$slots: { default: true }
98
98
  });
99
- $$payload2.out += `<!----> <div class="page-header svelte-wkly2m"><div class="header-top svelte-wkly2m"><div><h1 class="svelte-wkly2m">${escape_html(HEADING)}</h1> <p class="subtitle svelte-wkly2m">${escape_html(runsRecorded(total))}</p></div> `;
99
+ $$payload2.out += `<!----> `;
100
+ {
101
+ $$payload2.out += "<!--[!-->";
102
+ }
103
+ $$payload2.out += `<!--]--> <div class="page-header svelte-1xtj9lg"><div class="header-top svelte-1xtj9lg"><div><h1 class="svelte-1xtj9lg">${escape_html(HEADING)}</h1> <p class="subtitle svelte-1xtj9lg">${escape_html(runsRecorded(total))}</p></div> `;
100
104
  if (total > 0) {
101
105
  $$payload2.out += "<!--[-->";
102
- $$payload2.out += `<div class="rate-display svelte-wkly2m"><span${attr("class", `rate-number svelte-wkly2m ${stringify([
106
+ $$payload2.out += `<div class="rate-display svelte-1xtj9lg"><span${attr("class", `rate-number svelte-1xtj9lg ${stringify([
103
107
  passRate >= 80 ? "pass" : "",
104
108
  passRate < 80 && passRate >= 50 ? "warn" : "",
105
109
  passRate < 50 ? "fail" : ""
106
- ].filter(Boolean).join(" "))}`)}>${escape_html(passRate)}%</span> <span class="rate-label svelte-wkly2m">${escape_html(PASSING_LABEL)}</span></div>`;
110
+ ].filter(Boolean).join(" "))}`)}>${escape_html(passRate)}%</span> <span class="rate-label svelte-1xtj9lg">${escape_html(PASSING_LABEL)}</span></div>`;
107
111
  } else {
108
112
  $$payload2.out += "<!--[!-->";
109
113
  }
@@ -111,15 +115,15 @@ function _page($$payload, $$props) {
111
115
  if (total > 0) {
112
116
  $$payload2.out += "<!--[-->";
113
117
  const each_array = ensure_array_like(trendDots);
114
- $$payload2.out += `<div class="stats-bar svelte-wkly2m"><div class="pass-bar-track svelte-wkly2m"><div class="pass-bar-fill svelte-wkly2m"${attr("style", `width: ${stringify(animateBar ? passRate + "%" : "0")}`)}></div></div> <div class="bar-legend svelte-wkly2m"><span class="legend-pass svelte-wkly2m">${escape_html(passedCountLabel(passCount))}</span> <span class="legend-fail svelte-wkly2m">${escape_html(failedCountLabel(failCount))}</span></div></div> <div class="trend-row svelte-wkly2m"><span class="trend-label svelte-wkly2m">${escape_html(RECENT_LABEL)}</span> <div class="trend-dots svelte-wkly2m"><!--[-->`;
118
+ $$payload2.out += `<div class="stats-bar svelte-1xtj9lg"><div class="pass-bar-track svelte-1xtj9lg"><div class="pass-bar-fill svelte-1xtj9lg"${attr("style", `width: ${stringify(animateBar ? passRate + "%" : "0")}`)}></div></div> <div class="bar-legend svelte-1xtj9lg"><span class="legend-pass svelte-1xtj9lg">${escape_html(passedCountLabel(passCount))}</span> <span class="legend-fail svelte-1xtj9lg">${escape_html(failedCountLabel(failCount))}</span></div></div> <div class="trend-row svelte-1xtj9lg"><span class="trend-label svelte-1xtj9lg">${escape_html(RECENT_LABEL)}</span> <div class="trend-dots svelte-1xtj9lg"><!--[-->`;
115
119
  for (let i = 0, $$length = each_array.length; i < $$length; i++) {
116
120
  let r = each_array[i];
117
- $$payload2.out += `<span${attr("class", `trend-dot svelte-wkly2m ${stringify([
121
+ $$payload2.out += `<span${attr("class", `trend-dot svelte-1xtj9lg ${stringify([
118
122
  r.status === "PASS" ? "pass" : "",
119
123
  r.status !== "PASS" ? "fail" : ""
120
124
  ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i, 35))}${attr("title", trendDotTitle(r.status, r.tags, r.date))}></span>`;
121
125
  }
122
- $$payload2.out += `<!--]--></div> <span class="trend-hint svelte-wkly2m">${escape_html(TREND_HINT)}</span></div>`;
126
+ $$payload2.out += `<!--]--></div> <span class="trend-hint svelte-1xtj9lg">${escape_html(TREND_HINT)}</span></div>`;
123
127
  } else {
124
128
  $$payload2.out += "<!--[!-->";
125
129
  }
@@ -130,25 +134,25 @@ function _page($$payload, $$props) {
130
134
  } else {
131
135
  $$payload2.out += "<!--[!-->";
132
136
  const each_array_1 = ensure_array_like(reports);
133
- $$payload2.out += `<div class="list-header svelte-wkly2m"><label class="select-all-wrap svelte-wkly2m"${attr("title", SELECT_ALL_TITLE)}><input type="checkbox" class="checkbox svelte-wkly2m"${attr("checked", allOnPageSelected, true)}${attr("indeterminate", someSelected && !allOnPageSelected, true)}></label> `;
137
+ $$payload2.out += `<div class="list-header svelte-1xtj9lg"><label class="select-all-wrap svelte-1xtj9lg"${attr("title", SELECT_ALL_TITLE)}><input type="checkbox" class="checkbox svelte-1xtj9lg"${attr("checked", allOnPageSelected, true)}${attr("indeterminate", someSelected && !allOnPageSelected, true)}></label> `;
134
138
  if (someSelected) {
135
139
  $$payload2.out += "<!--[-->";
136
- $$payload2.out += `<button class="btn-delete-selected svelte-wkly2m">${escape_html(deleteSelectedLabel(selected.size))}</button>`;
140
+ $$payload2.out += `<button class="btn-delete-selected svelte-1xtj9lg">${escape_html(deleteSelectedLabel(selected.size))}</button>`;
137
141
  } else {
138
142
  $$payload2.out += "<!--[!-->";
139
143
  }
140
- $$payload2.out += `<!--]--></div> <div class="report-list svelte-wkly2m"><!--[-->`;
144
+ $$payload2.out += `<!--]--></div> <div class="report-list svelte-1xtj9lg"><!--[-->`;
141
145
  for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
142
146
  let report = each_array_1[i];
143
- $$payload2.out += `<div${attr("class", `report-row svelte-wkly2m ${stringify([
147
+ $$payload2.out += `<div${attr("class", `report-row svelte-1xtj9lg ${stringify([
144
148
  selected.has(report.id) ? "is-selected" : ""
145
- ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i))}><label class="row-check-wrap svelte-wkly2m"${attr("title", SELECT_ROW_TITLE)}><input type="checkbox" class="checkbox svelte-wkly2m"${attr("checked", selected.has(report.id), true)}></label> <a${attr("class", `report-item svelte-wkly2m ${stringify([
149
+ ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i))}><label class="row-check-wrap svelte-1xtj9lg"${attr("title", SELECT_ROW_TITLE)}><input type="checkbox" class="checkbox svelte-1xtj9lg"${attr("checked", selected.has(report.id), true)}></label> <a${attr("class", `report-item svelte-1xtj9lg ${stringify([
146
150
  report.status === "PASS" ? "is-pass" : "",
147
151
  report.status !== "PASS" ? "is-fail" : ""
148
- ].filter(Boolean).join(" "))}`)}${attr("href", reportUrl(report.id))}><div class="item-left svelte-wkly2m"><span${attr("class", `status-mark svelte-wkly2m ${stringify([
152
+ ].filter(Boolean).join(" "))}`)}${attr("href", reportUrl(report.id))}><div class="item-left svelte-1xtj9lg"><span${attr("class", `status-mark svelte-1xtj9lg ${stringify([
149
153
  report.status === "PASS" ? "pass" : "",
150
154
  report.status !== "PASS" ? "fail" : ""
151
- ].filter(Boolean).join(" "))}`)}>${escape_html(report.status === "PASS" ? "✓" : "✗")}</span> <div class="item-meta svelte-wkly2m"><span class="item-tags svelte-wkly2m">${escape_html(report.testRun?.title ?? (isScheduled(report.triggerType) ? report.triggerType : report.tags))}</span> <div class="item-badges svelte-wkly2m">`;
155
+ ].filter(Boolean).join(" "))}`)}>${escape_html(report.status === "PASS" ? "✓" : "✗")}</span> <div class="item-meta svelte-1xtj9lg"><span class="item-tags svelte-1xtj9lg">${escape_html(report.testRun?.title ?? (isScheduled(report.triggerType) ? report.triggerType : report.tags))}</span> <div class="item-badges svelte-1xtj9lg">`;
152
156
  Badge($$payload2, {
153
157
  variant: triggerVariant(report.triggerType),
154
158
  children: ($$payload3) => {
@@ -169,12 +173,12 @@ function _page($$payload, $$props) {
169
173
  } else {
170
174
  $$payload2.out += "<!--[!-->";
171
175
  }
172
- $$payload2.out += `<!--]--></div></div></div> <div class="item-right svelte-wkly2m"><span class="item-date svelte-wkly2m">${escape_html(report.date)}</span> <svg class="item-arrow svelte-wkly2m" 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-wkly2m"${attr("title", DELETE_REPORT_TITLE)}><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>`;
176
+ $$payload2.out += `<!--]--></div></div></div> <div class="item-right svelte-1xtj9lg"><span class="item-date svelte-1xtj9lg">${escape_html(report.date)}</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"${attr("title", DELETE_REPORT_TITLE)}><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>`;
173
177
  }
174
178
  $$payload2.out += `<!--]--></div> `;
175
179
  if (totalPages > 1) {
176
180
  $$payload2.out += "<!--[-->";
177
- $$payload2.out += `<div class="pagination-wrap svelte-wkly2m">`;
181
+ $$payload2.out += `<div class="pagination-wrap svelte-1xtj9lg">`;
178
182
  Pagination($$payload2, { current: currentPage, total: totalPages });
179
183
  $$payload2.out += `<!----></div>`;
180
184
  } else {
@@ -3,10 +3,10 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import { a2 as copy_payload, a3 as assign_payload, p as pop, a as push, X as head, Y as ensure_array_like, Z as stringify, _ as store_get, $ as unsubscribe_stores } from "../../../chunks/index.js";
6
+ import { a2 as copy_payload, a3 as assign_payload, p as pop, a as push, X as head, Y as ensure_array_like, Z as stringify, a0 as store_get, a1 as unsubscribe_stores } from "../../../chunks/index.js";
7
7
  import { B as BROWSERS, b as BUILTIN_RUNNER_ID } from "../../../chunks/constants.js";
8
8
  import "../../../chunks/auth.js";
9
- import { b as backgroundRuns } from "../../../chunks/runner.js";
9
+ import { f as findActiveCronRun, b as backgroundRuns } from "../../../chunks/runner.js";
10
10
  import { B as BUILTIN_RUNNER_LABEL, C as CANNOT_BE_UNDONE_SUFFIX, E as EDIT_LABEL, D as DELETE_LABEL } from "../../../chunks/common.js";
11
11
  import { s as stagger } from "../../../chunks/format.js";
12
12
  import { B as Button, T as Toast } from "../../../chunks/Toast.js";
@@ -174,7 +174,7 @@ function _page($$payload, $$props) {
174
174
  let job = each_array_3[i];
175
175
  const ids = job.runnerIds ? job.runnerIds.split(",").map((s) => s.trim()) : [BUILTIN_RUNNER_ID];
176
176
  $$payload2.out += `<tr${attr("style", stagger(i))}${attr("class", `job-row svelte-13v7bmf ${stringify([!job.enabled ? "disabled" : ""].filter(Boolean).join(" "))}`)}><td class="td-toggle svelte-13v7bmf"><button${attr("class", `toggle-btn svelte-13v7bmf ${stringify([job.enabled ? "on" : ""].filter(Boolean).join(" "))}`)}${attr("title", toggleTitle(job.enabled))}${attr("aria-label", toggleTitle(job.enabled))}${attr("aria-pressed", job.enabled)}><span class="toggle-knob svelte-13v7bmf"></span></button></td><td class="td-run svelte-13v7bmf"><button class="run-icon-btn svelte-13v7bmf"${attr("title", runNowTitle(job.taskName))}><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">`;
177
- if (store_get($$store_subs ??= {}, "$backgroundRuns", backgroundRuns)[job.taskName]?.running) {
177
+ if (findActiveCronRun(store_get($$store_subs ??= {}, "$backgroundRuns", backgroundRuns), job.taskName)) {
178
178
  $$payload2.out += "<!--[-->";
179
179
  $$payload2.out += `<span class="running-dot svelte-13v7bmf"${attr("title", RUNNING_NOW_TITLE)}></span>`;
180
180
  } else {