plum-e2e 2.6.7 → 2.6.9

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 (829) hide show
  1. package/.env +5 -0
  2. package/backend/config/scripts/generate-report.js +8 -0
  3. package/backend/lib/runnerProcess.js +29 -15
  4. package/backend/logs/runner-cmqneqerz0000qq01i5ap2rvl.log +4 -0
  5. package/backend/logs/runner-cmqnfv7kr0000r101aeocm8eu.log +4 -0
  6. package/backend/logs/runner-cmqnfvb560001r101qoi0phau.log +4 -0
  7. package/backend/logs/runner-cmqnfvlm20002r101gsyqb837.log +4 -0
  8. package/backend/logs/runner-cmqnfvqfy0003r101fh41pzx3.log +4 -0
  9. package/backend/logs/runner-cmqnfvvwo0004r101q4dtqxd2.log +4 -0
  10. package/backend/logs/runner-cmr8o2x3n0000mg01410tpuck.log +4 -0
  11. package/backend/logs/runner-cmr90hvcx0000n2016edtmrtv.log +4 -0
  12. package/backend/logs/runner-cmr90i7h20001n201g2wg6v3n.log +4 -0
  13. package/backend/logs/runner-cmr90iilm0002n201mmisva95.log +4 -0
  14. package/backend/logs/runner-cmr90j70r0003n201xz8525dz.log +4 -0
  15. package/backend/logs/runner-cmr90yup70000qp017ianc2gp.log +4 -0
  16. package/backend/logs/runner-cmr90zbtm0001qp01u9tfdkh1.log +4 -0
  17. package/backend/logs/runner-cmr91a3mw0000tb01414rd1df.log +4 -0
  18. package/backend/logs/runner-cmr91dhla0001tb01jp7thjnl.log +4 -0
  19. package/backend/logs/runner-cmrkk6fcl0000qj012kve79f4.log +4 -0
  20. package/backend/logs/runner-cmrkl8sym0000qy01euz4270n.log +4 -0
  21. package/backend/logs/runner-cmrkl9oyx0001qy0137nzr94d.log +4 -0
  22. package/bin/plum.js +13 -0
  23. package/bin/postinstall.js +46 -0
  24. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +95 -39
  25. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
  26. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
  27. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
  28. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
  29. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/{ConfirmModal.CdhOYVBb.css → Modal.BuaCfdLj.css} +6 -1
  30. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
  31. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
  32. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
  33. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +5 -0
  34. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
  35. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
  36. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
  37. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
  38. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
  39. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
  40. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
  41. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
  42. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
  43. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page._h2o67kg.css +5 -0
  44. package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +5 -0
  45. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +5 -0
  46. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +12 -20
  47. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +29 -7
  48. package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +43 -0
  49. package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +17 -1
  50. package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +5 -0
  51. package/frontend/.svelte-kit/adapter-node/chunks/auth.js +5 -0
  52. package/frontend/.svelte-kit/adapter-node/{_app/immutable/assets/EmptyState.BdO1q9cJ.css → chunks/auth2.js} +13 -1
  53. package/frontend/.svelte-kit/adapter-node/chunks/client.js +5 -0
  54. package/frontend/.svelte-kit/adapter-node/chunks/common.js +56 -0
  55. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +9 -2
  56. package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +5 -0
  57. package/frontend/.svelte-kit/adapter-node/chunks/exports.js +5 -0
  58. package/frontend/.svelte-kit/adapter-node/chunks/format.js +5 -0
  59. package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +5 -0
  60. package/frontend/.svelte-kit/adapter-node/chunks/index.js +5 -0
  61. package/frontend/.svelte-kit/adapter-node/chunks/index2.js +5 -0
  62. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +7 -2
  63. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +5 -0
  64. package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +109 -0
  65. package/frontend/.svelte-kit/adapter-node/chunks/repository.js +111 -0
  66. package/frontend/.svelte-kit/adapter-node/chunks/runner.js +12 -0
  67. package/frontend/.svelte-kit/adapter-node/chunks/stores.js +5 -0
  68. package/frontend/.svelte-kit/adapter-node/chunks/theme.js +5 -0
  69. package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +5 -0
  70. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.js +5 -0
  71. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +7 -0
  72. package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +35 -12
  73. package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +9 -2
  74. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +9 -2
  75. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +21 -25
  76. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +31 -24
  77. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +72 -32
  78. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +276 -95
  79. package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +9 -2
  80. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +43 -36
  81. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +66 -13
  82. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +23 -17
  83. package/frontend/.svelte-kit/adapter-node/index.js +5 -0
  84. package/frontend/.svelte-kit/adapter-node/internal.js +5 -0
  85. package/frontend/.svelte-kit/adapter-node/manifest-full.js +6 -1
  86. package/frontend/.svelte-kit/adapter-node/manifest.js +6 -1
  87. package/frontend/.svelte-kit/adapter-node/nodes/0.js +7 -2
  88. package/frontend/.svelte-kit/adapter-node/nodes/1.js +6 -1
  89. package/frontend/.svelte-kit/adapter-node/nodes/10.js +7 -2
  90. package/frontend/.svelte-kit/adapter-node/nodes/11.js +7 -2
  91. package/frontend/.svelte-kit/adapter-node/nodes/12.js +7 -2
  92. package/frontend/.svelte-kit/adapter-node/nodes/2.js +7 -2
  93. package/frontend/.svelte-kit/adapter-node/nodes/3.js +6 -1
  94. package/frontend/.svelte-kit/adapter-node/nodes/4.js +7 -2
  95. package/frontend/.svelte-kit/adapter-node/nodes/5.js +6 -1
  96. package/frontend/.svelte-kit/adapter-node/nodes/6.js +6 -1
  97. package/frontend/.svelte-kit/adapter-node/nodes/7.js +7 -2
  98. package/frontend/.svelte-kit/adapter-node/nodes/8.js +7 -2
  99. package/frontend/.svelte-kit/adapter-node/nodes/9.js +6 -1
  100. package/frontend/.svelte-kit/ambient.d.ts +5 -4
  101. package/frontend/.svelte-kit/generated/client/app.js +5 -0
  102. package/frontend/.svelte-kit/generated/client/matchers.js +5 -0
  103. package/frontend/.svelte-kit/generated/client/nodes/0.js +5 -0
  104. package/frontend/.svelte-kit/generated/client/nodes/1.js +5 -0
  105. package/frontend/.svelte-kit/generated/client/nodes/10.js +5 -0
  106. package/frontend/.svelte-kit/generated/client/nodes/11.js +5 -0
  107. package/frontend/.svelte-kit/generated/client/nodes/12.js +5 -0
  108. package/frontend/.svelte-kit/generated/client/nodes/2.js +5 -0
  109. package/frontend/.svelte-kit/generated/client/nodes/3.js +5 -0
  110. package/frontend/.svelte-kit/generated/client/nodes/4.js +5 -0
  111. package/frontend/.svelte-kit/generated/client/nodes/5.js +5 -0
  112. package/frontend/.svelte-kit/generated/client/nodes/6.js +5 -0
  113. package/frontend/.svelte-kit/generated/client/nodes/7.js +5 -0
  114. package/frontend/.svelte-kit/generated/client/nodes/8.js +5 -0
  115. package/frontend/.svelte-kit/generated/client/nodes/9.js +5 -0
  116. package/frontend/.svelte-kit/generated/client-optimized/app.js +5 -0
  117. package/frontend/.svelte-kit/generated/client-optimized/matchers.js +5 -0
  118. package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +5 -0
  119. package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +5 -0
  120. package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +5 -0
  121. package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +5 -0
  122. package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +5 -0
  123. package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +5 -0
  124. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +5 -0
  125. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +5 -0
  126. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +5 -0
  127. package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +5 -0
  128. package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +5 -0
  129. package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +5 -0
  130. package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +5 -0
  131. package/frontend/.svelte-kit/generated/root.js +5 -0
  132. package/frontend/.svelte-kit/generated/root.svelte +5 -0
  133. package/frontend/.svelte-kit/generated/server/internal.js +7 -2
  134. package/frontend/.svelte-kit/non-ambient.d.ts +5 -0
  135. package/frontend/.svelte-kit/output/client/.vite/manifest.json +404 -351
  136. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +5 -0
  137. package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +5 -0
  138. package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BWAH0Beh.css +23 -0
  139. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +5 -0
  140. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +5 -0
  141. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BR3wgXcZ.css +5 -0
  142. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +5 -0
  143. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +5 -0
  144. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +5 -0
  145. package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +5 -0
  146. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +23 -0
  147. package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +5 -0
  148. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
  149. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
  150. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +5 -0
  151. package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
  152. package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
  153. package/frontend/{build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css → .svelte-kit/output/client/_app/immutable/assets/Modal.BZpm0HP8.css} +6 -1
  154. package/frontend/{build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → .svelte-kit/output/client/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
  155. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
  156. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
  157. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
  158. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +5 -0
  159. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
  160. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
  161. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
  162. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
  163. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
  164. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
  165. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
  166. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
  167. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
  168. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page._h2o67kg.css +5 -0
  169. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BLAiBE__.js → 2zMvi6fR.js} +6 -1
  170. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3IV-uqHa.js +23 -0
  171. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/4N1zIH8t.js +23 -0
  172. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B98sHkeB.js +23 -0
  173. package/frontend/{build/client/_app/immutable/chunks/C67QNx7Z.js → .svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js} +6 -1
  174. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +5 -0
  175. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BhvHtTRh.js +23 -0
  176. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BjUpWNbl.js +23 -0
  177. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DIx44H9N.js → C1Vid6wz.js} +6 -1
  178. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1sukchk.js +23 -0
  179. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +23 -0
  180. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DGryW1Vp.js → CKDtmZUQ.js} +6 -1
  181. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +23 -0
  182. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{C4eeChIU.js → CNdcuGR0.js} +6 -1
  183. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CgnwuKKO.js +23 -0
  184. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +23 -0
  185. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/D2cvzNT9.js +23 -0
  186. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{B0pefNHY.js → D2gYTmAA.js} +6 -1
  187. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{uFRI_bmR.js → DCgHuuvs.js} +6 -1
  188. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CxTX_lpP.js → DDblTLLE.js} +6 -1
  189. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW85KPAh.js +24 -0
  190. package/frontend/{build/client/_app/immutable/chunks/BFgtfHj2.js → .svelte-kit/output/client/_app/immutable/chunks/DW_iTTZe.js} +6 -1
  191. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BVMec-1T.js → DYlaQsvN.js} +6 -1
  192. package/frontend/{build/client/_app/immutable/chunks/BFEiffAL.js → .svelte-kit/output/client/_app/immutable/chunks/DkNBSlo2.js} +6 -1
  193. package/frontend/{build/client/_app/immutable/chunks/BkKmeUbA.js → .svelte-kit/output/client/_app/immutable/chunks/DlNYZJ7K.js} +6 -1
  194. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dlnxgs49.js +23 -0
  195. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DtGXv8RA.js +25 -0
  196. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +28 -0
  197. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CyQ_oBw2.js → oN0Z3NSF.js} +6 -1
  198. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{raHbXn_9.js → t-La0hgu.js} +6 -1
  199. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DP6QP4L6.js → w0D4Uzlq.js} +6 -1
  200. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.BCWbw5zZ.js +24 -0
  201. package/frontend/{build/client/_app/immutable/entry/start.MMlC62np.js → .svelte-kit/output/client/_app/immutable/entry/start.2_AF42wj.js} +6 -1
  202. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BAqq2UTE.js +28 -0
  203. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Dbck5ct8.js → 1.D5VvLtGP.js} +6 -1
  204. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.Bn4Ma-MU.js +23 -0
  205. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.BacEu7sW.js +23 -0
  206. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.0YGtl1uj.js +23 -0
  207. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.C2jjMA-Z.js +23 -0
  208. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DHx0kho3.js +23 -0
  209. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.CnaMiirx.js +23 -0
  210. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B6m-zTVe.js +23 -0
  211. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.BPDag1zv.js +23 -0
  212. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.D7LwxSvT.js +23 -0
  213. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.CCkNX20G.js +26 -0
  214. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.HDerA6JV.js +23 -0
  215. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  216. package/frontend/.svelte-kit/output/server/.vite/manifest.json +95 -39
  217. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
  218. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
  219. package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
  220. package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
  221. package/frontend/.svelte-kit/output/{client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → server/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
  222. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
  223. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
  224. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
  225. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +5 -0
  226. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
  227. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
  228. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
  229. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
  230. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
  231. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
  232. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
  233. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
  234. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
  235. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page._h2o67kg.css +5 -0
  236. package/frontend/.svelte-kit/output/server/chunks/BackLink.js +5 -0
  237. package/frontend/.svelte-kit/output/server/chunks/Badge.js +5 -0
  238. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +12 -20
  239. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +29 -7
  240. package/frontend/.svelte-kit/output/server/chunks/Modal.js +43 -0
  241. package/frontend/.svelte-kit/output/server/chunks/Toast.js +17 -1
  242. package/frontend/.svelte-kit/output/server/chunks/attributes.js +5 -0
  243. package/frontend/.svelte-kit/output/server/chunks/auth.js +5 -0
  244. package/frontend/.svelte-kit/output/{client/_app/immutable/assets/EmptyState.BdO1q9cJ.css → server/chunks/auth2.js} +13 -1
  245. package/frontend/.svelte-kit/output/server/chunks/client.js +5 -0
  246. package/frontend/.svelte-kit/output/server/chunks/common.js +56 -0
  247. package/frontend/.svelte-kit/output/server/chunks/constants.js +9 -2
  248. package/frontend/.svelte-kit/output/server/chunks/escaping.js +5 -0
  249. package/frontend/.svelte-kit/output/server/chunks/exports.js +5 -0
  250. package/frontend/.svelte-kit/output/server/chunks/format.js +5 -0
  251. package/frontend/.svelte-kit/output/server/chunks/index-server.js +5 -0
  252. package/frontend/.svelte-kit/output/server/chunks/index.js +5 -0
  253. package/frontend/.svelte-kit/output/server/chunks/index2.js +5 -0
  254. package/frontend/.svelte-kit/output/server/chunks/internal.js +7 -2
  255. package/frontend/.svelte-kit/output/server/chunks/reports.js +5 -0
  256. package/frontend/.svelte-kit/output/server/chunks/reports2.js +109 -0
  257. package/frontend/.svelte-kit/output/server/chunks/repository.js +111 -0
  258. package/frontend/.svelte-kit/output/server/chunks/runner.js +12 -0
  259. package/frontend/.svelte-kit/output/server/chunks/stores.js +5 -0
  260. package/frontend/.svelte-kit/output/server/chunks/theme.js +5 -0
  261. package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +5 -0
  262. package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +5 -0
  263. package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +7 -0
  264. package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +35 -12
  265. package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +9 -2
  266. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +9 -2
  267. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +21 -25
  268. package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +31 -24
  269. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +72 -32
  270. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +276 -95
  271. package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +9 -2
  272. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +43 -36
  273. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +66 -13
  274. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +23 -17
  275. package/frontend/.svelte-kit/output/server/index.js +5 -0
  276. package/frontend/.svelte-kit/output/server/internal.js +5 -0
  277. package/frontend/.svelte-kit/output/server/manifest-full.js +6 -1
  278. package/frontend/.svelte-kit/output/server/manifest.js +6 -1
  279. package/frontend/.svelte-kit/output/server/nodes/0.js +7 -2
  280. package/frontend/.svelte-kit/output/server/nodes/1.js +6 -1
  281. package/frontend/.svelte-kit/output/server/nodes/10.js +7 -2
  282. package/frontend/.svelte-kit/output/server/nodes/11.js +7 -2
  283. package/frontend/.svelte-kit/output/server/nodes/12.js +7 -2
  284. package/frontend/.svelte-kit/output/server/nodes/2.js +7 -2
  285. package/frontend/.svelte-kit/output/server/nodes/3.js +6 -1
  286. package/frontend/.svelte-kit/output/server/nodes/4.js +7 -2
  287. package/frontend/.svelte-kit/output/server/nodes/5.js +6 -1
  288. package/frontend/.svelte-kit/output/server/nodes/6.js +6 -1
  289. package/frontend/.svelte-kit/output/server/nodes/7.js +7 -2
  290. package/frontend/.svelte-kit/output/server/nodes/8.js +7 -2
  291. package/frontend/.svelte-kit/output/server/nodes/9.js +6 -1
  292. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +5 -0
  293. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
  294. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
  295. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css +5 -0
  296. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.br +0 -0
  297. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.gz +0 -0
  298. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css +23 -0
  299. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.br +0 -0
  300. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.gz +0 -0
  301. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +5 -0
  302. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
  303. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
  304. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css +5 -0
  305. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.br +0 -0
  306. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.gz +0 -0
  307. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css +5 -0
  308. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.br +0 -0
  309. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.gz +0 -0
  310. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +5 -0
  311. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
  312. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
  313. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +5 -0
  314. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
  315. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
  316. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +5 -0
  317. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
  318. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
  319. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css +5 -0
  320. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.br +0 -0
  321. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.gz +0 -0
  322. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +23 -0
  323. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
  324. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
  325. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css +5 -0
  326. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.br +0 -0
  327. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.gz +0 -0
  328. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +5 -0
  329. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.br +0 -0
  330. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.gz +0 -0
  331. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css +5 -0
  332. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.br +0 -0
  333. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.gz +0 -0
  334. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css +5 -0
  335. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.br +0 -0
  336. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.gz +0 -0
  337. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +23 -0
  338. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.br +0 -0
  339. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.gz +0 -0
  340. package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css +23 -0
  341. package/frontend/build/client/_app/immutable/assets/{EmptyState.BdO1q9cJ.css.gz → EmptyState.DUDM4P19.css.br} +0 -0
  342. package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.gz +0 -0
  343. package/frontend/{.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css → build/client/_app/immutable/assets/Modal.BZpm0HP8.css} +6 -1
  344. package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.br +0 -0
  345. package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.gz +0 -0
  346. package/frontend/{.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.CdhOYVBb.css → build/client/_app/immutable/assets/Modal.BuaCfdLj.css} +6 -1
  347. package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.br +0 -0
  348. package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.gz +0 -0
  349. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css +5 -0
  350. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.br +0 -0
  351. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.gz +0 -0
  352. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css +5 -0
  353. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
  354. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.gz +0 -0
  355. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +5 -0
  356. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
  357. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
  358. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +5 -0
  359. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
  360. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
  361. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css +5 -0
  362. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.br +0 -0
  363. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.gz +0 -0
  364. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css +5 -0
  365. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.br +0 -0
  366. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.gz +0 -0
  367. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css +23 -0
  368. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.br +0 -0
  369. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.gz +0 -0
  370. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +5 -0
  371. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
  372. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
  373. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +5 -0
  374. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
  375. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
  376. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +23 -0
  377. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
  378. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
  379. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css +5 -0
  380. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.br +0 -0
  381. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.gz +0 -0
  382. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +5 -0
  383. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
  384. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
  385. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css +5 -0
  386. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.br +0 -0
  387. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.gz +0 -0
  388. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css +5 -0
  389. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.br +0 -0
  390. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.gz +0 -0
  391. package/frontend/build/client/_app/immutable/chunks/{BLAiBE__.js → 2zMvi6fR.js} +6 -1
  392. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.br +0 -0
  393. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.gz +0 -0
  394. package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js +23 -0
  395. package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js.br +0 -0
  396. package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js.gz +0 -0
  397. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js +23 -0
  398. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.br +0 -0
  399. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.gz +0 -0
  400. package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js +23 -0
  401. package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.br +0 -0
  402. package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.gz +0 -0
  403. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C67QNx7Z.js → build/client/_app/immutable/chunks/BAACMRH5.js} +6 -1
  404. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.br +0 -0
  405. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.gz +0 -0
  406. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js +5 -0
  407. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.br +0 -0
  408. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.gz +0 -0
  409. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js +23 -0
  410. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.br +0 -0
  411. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.gz +0 -0
  412. package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js +23 -0
  413. package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.br +0 -0
  414. package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.gz +0 -0
  415. package/frontend/build/client/_app/immutable/chunks/{DIx44H9N.js → C1Vid6wz.js} +6 -1
  416. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
  417. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
  418. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js +23 -0
  419. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.br +0 -0
  420. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.gz +0 -0
  421. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +23 -0
  422. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
  423. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
  424. package/frontend/build/client/_app/immutable/chunks/{DGryW1Vp.js → CKDtmZUQ.js} +6 -1
  425. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
  426. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
  427. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +23 -0
  428. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
  429. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
  430. package/frontend/build/client/_app/immutable/chunks/{C4eeChIU.js → CNdcuGR0.js} +6 -1
  431. package/frontend/build/client/_app/immutable/chunks/{BFgtfHj2.js.br → CNdcuGR0.js.br} +0 -0
  432. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
  433. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js +23 -0
  434. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
  435. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
  436. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +23 -0
  437. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +21 -0
  438. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
  439. package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js +23 -0
  440. package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.br +0 -0
  441. package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.gz +0 -0
  442. package/frontend/build/client/_app/immutable/chunks/{B0pefNHY.js → D2gYTmAA.js} +6 -1
  443. package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.br +0 -0
  444. package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.gz +0 -0
  445. package/frontend/build/client/_app/immutable/chunks/{uFRI_bmR.js → DCgHuuvs.js} +6 -1
  446. package/frontend/build/client/_app/immutable/{assets/EmptyState.BdO1q9cJ.css.br → chunks/DCgHuuvs.js.br} +0 -0
  447. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.gz +0 -0
  448. package/frontend/build/client/_app/immutable/chunks/{CxTX_lpP.js → DDblTLLE.js} +6 -1
  449. package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.br +0 -0
  450. package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.gz +0 -0
  451. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js +24 -0
  452. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.br +0 -0
  453. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.gz +0 -0
  454. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BFgtfHj2.js → build/client/_app/immutable/chunks/DW_iTTZe.js} +6 -1
  455. package/frontend/build/client/_app/immutable/chunks/{BFgtfHj2.js.gz → DW_iTTZe.js.br} +0 -0
  456. package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js.gz +0 -0
  457. package/frontend/build/client/_app/immutable/chunks/{BVMec-1T.js → DYlaQsvN.js} +6 -1
  458. package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.br +0 -0
  459. package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.gz +0 -0
  460. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BFEiffAL.js → build/client/_app/immutable/chunks/DkNBSlo2.js} +6 -1
  461. package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.br +0 -0
  462. package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.gz +0 -0
  463. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BkKmeUbA.js → build/client/_app/immutable/chunks/DlNYZJ7K.js} +6 -1
  464. package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.br +0 -0
  465. package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.gz +0 -0
  466. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js +23 -0
  467. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.br +0 -0
  468. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.gz +0 -0
  469. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js +25 -0
  470. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.br +0 -0
  471. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.gz +0 -0
  472. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +28 -0
  473. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
  474. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
  475. package/frontend/build/client/_app/immutable/chunks/{CyQ_oBw2.js → oN0Z3NSF.js} +6 -1
  476. package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.br +0 -0
  477. package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.gz +0 -0
  478. package/frontend/build/client/_app/immutable/chunks/{raHbXn_9.js → t-La0hgu.js} +6 -1
  479. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.br +0 -0
  480. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.gz +0 -0
  481. package/frontend/build/client/_app/immutable/chunks/{DP6QP4L6.js → w0D4Uzlq.js} +6 -1
  482. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.br +0 -0
  483. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.gz +0 -0
  484. package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js +24 -0
  485. package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.br +0 -0
  486. package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.gz +0 -0
  487. package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.MMlC62np.js → build/client/_app/immutable/entry/start.2_AF42wj.js} +6 -1
  488. package/frontend/build/client/_app/immutable/entry/{start.MMlC62np.js.br → start.2_AF42wj.js.br} +5 -1
  489. package/frontend/build/client/_app/immutable/entry/{start.MMlC62np.js.gz → start.2_AF42wj.js.gz} +0 -0
  490. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js +28 -0
  491. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.br +0 -0
  492. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.gz +0 -0
  493. package/frontend/build/client/_app/immutable/nodes/{1.Dbck5ct8.js → 1.D5VvLtGP.js} +6 -1
  494. package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.br +0 -0
  495. package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.gz +0 -0
  496. package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js +23 -0
  497. package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.br +0 -0
  498. package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.gz +0 -0
  499. package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js +23 -0
  500. package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.br +0 -0
  501. package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.gz +0 -0
  502. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js +23 -0
  503. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.br +0 -0
  504. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.gz +0 -0
  505. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js +23 -0
  506. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.br +0 -0
  507. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.gz +0 -0
  508. package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js +23 -0
  509. package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.br +0 -0
  510. package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.gz +0 -0
  511. package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js +23 -0
  512. package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.br +0 -0
  513. package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.gz +0 -0
  514. package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js +23 -0
  515. package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.br +0 -0
  516. package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.gz +0 -0
  517. package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js +23 -0
  518. package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.br +0 -0
  519. package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.gz +0 -0
  520. package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js +23 -0
  521. package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.br +0 -0
  522. package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.gz +0 -0
  523. package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js +26 -0
  524. package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.br +0 -0
  525. package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.gz +0 -0
  526. package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js +23 -0
  527. package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.br +0 -0
  528. package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.gz +0 -0
  529. package/frontend/build/client/_app/version.json +1 -1
  530. package/frontend/build/client/_app/version.json.br +0 -0
  531. package/frontend/build/client/_app/version.json.gz +0 -0
  532. package/frontend/build/env.js +5 -0
  533. package/frontend/build/handler.js +5 -0
  534. package/frontend/build/index.js +5 -0
  535. package/frontend/build/server/chunks/{0-Dzas6zkl.js → 0-Di4jNU9J.js} +9 -4
  536. package/frontend/build/server/chunks/0-Di4jNU9J.js.map +21 -0
  537. package/frontend/build/server/chunks/{1-B4EsP8yr.js → 1-DR5YRUTa.js} +7 -2
  538. package/frontend/build/server/chunks/{1-B4EsP8yr.js.map → 1-DR5YRUTa.js.map} +5 -1
  539. package/frontend/build/server/chunks/10-Bhe409bL.js +31 -0
  540. package/frontend/build/server/chunks/10-Bhe409bL.js.map +21 -0
  541. package/frontend/build/server/chunks/11-DqyXW7n1.js +31 -0
  542. package/frontend/build/server/chunks/11-DqyXW7n1.js.map +21 -0
  543. package/frontend/build/server/chunks/12-BCpjMUbs.js +31 -0
  544. package/frontend/build/server/chunks/12-BCpjMUbs.js.map +21 -0
  545. package/frontend/build/server/chunks/{2-Bkz8H7CT.js → 2-D-0buH5i.js} +9 -4
  546. package/frontend/build/server/chunks/{2-Bkz8H7CT.js.map → 2-D-0buH5i.js.map} +5 -1
  547. package/frontend/build/server/chunks/{3-DDtaiqu7.js → 3-y2kzPO2X.js} +8 -3
  548. package/frontend/build/server/chunks/3-y2kzPO2X.js.map +21 -0
  549. package/frontend/build/server/chunks/4-CFrK8HST.js +31 -0
  550. package/frontend/build/server/chunks/4-CFrK8HST.js.map +21 -0
  551. package/frontend/build/server/chunks/{5-CK5hY2WF.js → 5-B0lJu5bT.js} +8 -3
  552. package/frontend/build/server/chunks/5-B0lJu5bT.js.map +21 -0
  553. package/frontend/build/server/chunks/{6-Cps9fL3Z.js → 6-BD4CEJ3Z.js} +8 -3
  554. package/frontend/build/server/chunks/6-BD4CEJ3Z.js.map +21 -0
  555. package/frontend/build/server/chunks/7-DekQfQHu.js +31 -0
  556. package/frontend/build/server/chunks/7-DekQfQHu.js.map +21 -0
  557. package/frontend/build/server/chunks/8-BMqmu7WF.js +31 -0
  558. package/frontend/build/server/chunks/8-BMqmu7WF.js.map +21 -0
  559. package/frontend/build/server/chunks/{9-CUJxgoIN.js → 9-C5sKo9aY.js} +8 -3
  560. package/frontend/build/server/chunks/9-C5sKo9aY.js.map +21 -0
  561. package/frontend/build/server/chunks/BackLink-KxZNqsaq.js +5 -0
  562. package/frontend/build/server/chunks/BackLink-KxZNqsaq.js.map +4 -0
  563. package/frontend/build/server/chunks/Badge-B5V-z6pI.js +5 -0
  564. package/frontend/build/server/chunks/Badge-B5V-z6pI.js.map +4 -0
  565. package/frontend/build/server/chunks/{ConfirmModal-DBtnLLsU.js → ConfirmModal-Ckkt99Pn.js} +12 -19
  566. package/frontend/build/server/chunks/ConfirmModal-Ckkt99Pn.js.map +21 -0
  567. package/frontend/build/server/chunks/EmptyState-BwwbShnX.js +56 -0
  568. package/frontend/build/server/chunks/EmptyState-BwwbShnX.js.map +21 -0
  569. package/frontend/build/server/chunks/Modal-DG-6c5si.js +43 -0
  570. package/frontend/build/server/chunks/Modal-DG-6c5si.js.map +21 -0
  571. package/frontend/build/server/chunks/{Button-CuacyA7Y.js → Toast-CIG4edEp.js} +22 -3
  572. package/frontend/build/server/chunks/Toast-CIG4edEp.js.map +21 -0
  573. package/frontend/build/server/chunks/{_layout.svelte-DoJXDbP1.js → _layout.svelte-BjPrZpoG.js} +10 -3
  574. package/frontend/build/server/chunks/_layout.svelte-BjPrZpoG.js.map +21 -0
  575. package/frontend/build/server/chunks/{_page.svelte-DNNyBx4y.js → _page.svelte-B9rjnZWE.js} +10 -4
  576. package/frontend/build/server/chunks/_page.svelte-B9rjnZWE.js.map +21 -0
  577. package/frontend/build/server/chunks/{_page.svelte-C0vstY93.js → _page.svelte-BHw14GPR.js} +76 -36
  578. package/frontend/build/server/chunks/_page.svelte-BHw14GPR.js.map +21 -0
  579. package/frontend/build/server/chunks/{_page.svelte-LcJmR5du.js → _page.svelte-BbZNxvCl.js} +29 -31
  580. package/frontend/build/server/chunks/_page.svelte-BbZNxvCl.js.map +21 -0
  581. package/frontend/build/server/chunks/_page.svelte-CLFpft5D.js +118 -0
  582. package/frontend/build/server/chunks/_page.svelte-CLFpft5D.js.map +21 -0
  583. package/frontend/build/server/chunks/_page.svelte-Cr16HubD.js +746 -0
  584. package/frontend/build/server/chunks/_page.svelte-Cr16HubD.js.map +21 -0
  585. package/frontend/build/server/chunks/{_page.svelte-DALHRFEX.js → _page.svelte-D1aYn1PL.js} +10 -4
  586. package/frontend/build/server/chunks/_page.svelte-D1aYn1PL.js.map +21 -0
  587. package/frontend/build/server/chunks/{_page.svelte-CC27sZag.js → _page.svelte-D2oF79cT.js} +45 -38
  588. package/frontend/build/server/chunks/_page.svelte-D2oF79cT.js.map +21 -0
  589. package/frontend/build/server/chunks/{_page.svelte-gnktnXKP.js → _page.svelte-D78qaBDN.js} +35 -28
  590. package/frontend/build/server/chunks/_page.svelte-D78qaBDN.js.map +21 -0
  591. package/frontend/build/server/chunks/{_page.svelte-DqWsUJRp.js → _page.svelte-DyyuZN_3.js} +25 -19
  592. package/frontend/build/server/chunks/_page.svelte-DyyuZN_3.js.map +21 -0
  593. package/frontend/build/server/chunks/{_page.svelte-CYkOPxn2.js → _page.svelte-sbqebZYx.js} +40 -17
  594. package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js.map +21 -0
  595. package/frontend/build/server/chunks/{_page.svelte-BETENC2e.js → _page.svelte-ubW5EUCf.js} +13 -6
  596. package/frontend/build/server/chunks/_page.svelte-ubW5EUCf.js.map +21 -0
  597. package/frontend/build/server/chunks/attributes-BeaNKpgU.js +5 -0
  598. package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +4 -0
  599. package/frontend/build/server/chunks/auth-rlH-cIzn.js +5 -0
  600. package/frontend/build/server/chunks/auth-rlH-cIzn.js.map +4 -0
  601. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BIRVeCLU.js → build/server/chunks/auth2-C02yYDpz.js} +11 -1
  602. package/frontend/build/server/chunks/auth2-C02yYDpz.js.map +21 -0
  603. package/frontend/build/server/chunks/client-DyII78e0.js +5 -0
  604. package/frontend/build/server/chunks/client-DyII78e0.js.map +4 -0
  605. package/frontend/build/server/chunks/common-Db-bgKYG.js +42 -0
  606. package/frontend/build/server/chunks/common-Db-bgKYG.js.map +21 -0
  607. package/frontend/build/server/chunks/{constants-Drz-Vo39.js → constants-cZ2kUwWa.js} +9 -3
  608. package/frontend/build/server/chunks/{constants-Drz-Vo39.js.map → constants-cZ2kUwWa.js.map} +5 -1
  609. package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js +5 -0
  610. package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js.map +4 -0
  611. package/frontend/build/server/chunks/escaping-CqgfEcN3.js +5 -0
  612. package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +4 -0
  613. package/frontend/build/server/chunks/exports-D0QHgeSL.js +5 -0
  614. package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +4 -0
  615. package/frontend/build/server/chunks/{format-D26ZQccb.js → format-0SSB1oGG.js} +7 -2
  616. package/frontend/build/server/chunks/{format-D26ZQccb.js.map → format-0SSB1oGG.js.map} +5 -1
  617. package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +5 -0
  618. package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js.map +4 -0
  619. package/frontend/build/server/chunks/index2-DG8XHU5D.js +5 -0
  620. package/frontend/build/server/chunks/index2-DG8XHU5D.js.map +4 -0
  621. package/frontend/build/server/chunks/{reports-Bgi7V5N7.js → reports-DnYbvluH.js} +7 -2
  622. package/frontend/build/server/chunks/{reports-Bgi7V5N7.js.map → reports-DnYbvluH.js.map} +5 -1
  623. package/frontend/build/server/chunks/reports2-DR4XlcJg.js +69 -0
  624. package/frontend/build/server/chunks/reports2-DR4XlcJg.js.map +21 -0
  625. package/frontend/build/server/chunks/repository-D9Derhnk.js +70 -0
  626. package/frontend/build/server/chunks/repository-D9Derhnk.js.map +21 -0
  627. package/frontend/build/server/chunks/{runner-D18Ml_vF.js → runner-DE5sufZH.js} +13 -1
  628. package/frontend/build/server/chunks/runner-DE5sufZH.js.map +21 -0
  629. package/frontend/build/server/chunks/stores-DlkXV308.js +5 -0
  630. package/frontend/build/server/chunks/stores-DlkXV308.js.map +4 -0
  631. package/frontend/build/server/chunks/theme-D_NKm6iI.js +5 -0
  632. package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +4 -0
  633. package/frontend/build/server/index.js +7 -2
  634. package/frontend/build/server/index.js.map +5 -1
  635. package/frontend/build/server/manifest.js +19 -14
  636. package/frontend/build/server/manifest.js.map +5 -1
  637. package/frontend/build/shims.js +5 -0
  638. package/package.json +2 -1
  639. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
  640. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
  641. package/frontend/.svelte-kit/adapter-node/chunks/Button.js +0 -33
  642. package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
  643. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
  644. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
  645. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
  646. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
  647. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BeO8veBd.js +0 -18
  648. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
  649. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
  650. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
  651. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CstKKb9b.js +0 -18
  652. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
  653. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
  654. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/KJdjlibc.js +0 -20
  655. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
  656. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
  657. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
  658. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
  659. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
  660. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
  661. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
  662. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
  663. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
  664. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
  665. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
  666. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
  667. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
  668. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
  669. package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
  670. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
  671. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
  672. package/frontend/.svelte-kit/output/server/chunks/Button.js +0 -33
  673. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css +0 -18
  674. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.br +0 -0
  675. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.gz +0 -0
  676. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css +0 -18
  677. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.br +0 -0
  678. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.gz +0 -0
  679. package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.br +0 -0
  680. package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.gz +0 -0
  681. package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.br +0 -0
  682. package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.gz +0 -0
  683. package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +0 -18
  684. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css +0 -18
  685. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.br +0 -0
  686. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.gz +0 -0
  687. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css +0 -18
  688. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.br +0 -0
  689. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.gz +0 -0
  690. package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.br +0 -0
  691. package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.gz +0 -0
  692. package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.br +0 -0
  693. package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.gz +0 -0
  694. package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js +0 -18
  695. package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.br +0 -20
  696. package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.gz +0 -0
  697. package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js +0 -18
  698. package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.br +0 -0
  699. package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.gz +0 -0
  700. package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.br +0 -18
  701. package/frontend/build/client/_app/immutable/chunks/BLAiBE__.js.gz +0 -0
  702. package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.br +0 -0
  703. package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.gz +0 -0
  704. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js +0 -18
  705. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.br +0 -0
  706. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.gz +0 -0
  707. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js +0 -18
  708. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.br +0 -0
  709. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.gz +0 -0
  710. package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.br +0 -0
  711. package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.gz +0 -0
  712. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js +0 -19
  713. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.br +0 -0
  714. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.gz +0 -0
  715. package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.br +0 -0
  716. package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.gz +0 -0
  717. package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.br +0 -0
  718. package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.gz +0 -0
  719. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js +0 -18
  720. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.br +0 -0
  721. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.gz +0 -0
  722. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js +0 -18
  723. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.br +0 -0
  724. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.gz +0 -0
  725. package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.br +0 -0
  726. package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.gz +0 -0
  727. package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.br +0 -0
  728. package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.gz +0 -0
  729. package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.br +0 -0
  730. package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.gz +0 -0
  731. package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.br +0 -0
  732. package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.gz +0 -0
  733. package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.br +0 -0
  734. package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.gz +0 -0
  735. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js +0 -23
  736. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.br +0 -0
  737. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.gz +0 -0
  738. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js +0 -18
  739. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.br +0 -0
  740. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.gz +0 -0
  741. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js +0 -20
  742. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.br +0 -0
  743. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.gz +0 -0
  744. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js +0 -18
  745. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.br +0 -0
  746. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.gz +0 -0
  747. package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.br +0 -0
  748. package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.gz +0 -0
  749. package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.br +0 -0
  750. package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.gz +0 -0
  751. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js +0 -19
  752. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.br +0 -0
  753. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.gz +0 -0
  754. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js +0 -23
  755. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.br +0 -0
  756. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.gz +0 -0
  757. package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.br +0 -0
  758. package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.gz +0 -0
  759. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js +0 -19
  760. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.br +0 -0
  761. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.gz +0 -0
  762. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js +0 -18
  763. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.br +0 -0
  764. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.gz +0 -0
  765. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js +0 -19
  766. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.br +0 -0
  767. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.gz +0 -0
  768. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js +0 -18
  769. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.br +0 -0
  770. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.gz +0 -0
  771. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js +0 -18
  772. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.br +0 -0
  773. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.gz +0 -0
  774. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js +0 -18
  775. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.br +0 -0
  776. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.gz +0 -0
  777. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js +0 -18
  778. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.br +0 -0
  779. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.gz +0 -0
  780. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js +0 -18
  781. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.br +0 -0
  782. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.gz +0 -0
  783. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js +0 -18
  784. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.br +0 -0
  785. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.gz +0 -0
  786. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js +0 -29
  787. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.br +0 -0
  788. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.gz +0 -0
  789. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js +0 -18
  790. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.br +0 -0
  791. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.gz +0 -0
  792. package/frontend/build/server/chunks/0-Dzas6zkl.js.map +0 -17
  793. package/frontend/build/server/chunks/10-UhDQZ5BY.js +0 -26
  794. package/frontend/build/server/chunks/10-UhDQZ5BY.js.map +0 -17
  795. package/frontend/build/server/chunks/11-mTH3nQlX.js +0 -26
  796. package/frontend/build/server/chunks/11-mTH3nQlX.js.map +0 -17
  797. package/frontend/build/server/chunks/12-9mg6kp53.js +0 -26
  798. package/frontend/build/server/chunks/12-9mg6kp53.js.map +0 -17
  799. package/frontend/build/server/chunks/3-DDtaiqu7.js.map +0 -17
  800. package/frontend/build/server/chunks/4-DbdkTAvS.js +0 -26
  801. package/frontend/build/server/chunks/4-DbdkTAvS.js.map +0 -17
  802. package/frontend/build/server/chunks/5-CK5hY2WF.js.map +0 -17
  803. package/frontend/build/server/chunks/6-Cps9fL3Z.js.map +0 -17
  804. package/frontend/build/server/chunks/7-CgUpbaJD.js +0 -26
  805. package/frontend/build/server/chunks/7-CgUpbaJD.js.map +0 -17
  806. package/frontend/build/server/chunks/8-dilaVKYo.js +0 -26
  807. package/frontend/build/server/chunks/8-dilaVKYo.js.map +0 -17
  808. package/frontend/build/server/chunks/9-CUJxgoIN.js.map +0 -17
  809. package/frontend/build/server/chunks/Button-CuacyA7Y.js.map +0 -17
  810. package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js.map +0 -17
  811. package/frontend/build/server/chunks/EmptyState-B74-VZ15.js +0 -34
  812. package/frontend/build/server/chunks/EmptyState-B74-VZ15.js.map +0 -17
  813. package/frontend/build/server/chunks/Toast-DDF2wi_5.js +0 -37
  814. package/frontend/build/server/chunks/Toast-DDF2wi_5.js.map +0 -17
  815. package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js.map +0 -17
  816. package/frontend/build/server/chunks/_page.svelte-BETENC2e.js.map +0 -17
  817. package/frontend/build/server/chunks/_page.svelte-C0vstY93.js.map +0 -17
  818. package/frontend/build/server/chunks/_page.svelte-CC27sZag.js.map +0 -17
  819. package/frontend/build/server/chunks/_page.svelte-CYkOPxn2.js.map +0 -17
  820. package/frontend/build/server/chunks/_page.svelte-CperUuP9.js +0 -564
  821. package/frontend/build/server/chunks/_page.svelte-CperUuP9.js.map +0 -17
  822. package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js +0 -65
  823. package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js.map +0 -17
  824. package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js.map +0 -17
  825. package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js.map +0 -17
  826. package/frontend/build/server/chunks/_page.svelte-DqWsUJRp.js.map +0 -17
  827. package/frontend/build/server/chunks/_page.svelte-LcJmR5du.js.map +0 -17
  828. package/frontend/build/server/chunks/_page.svelte-gnktnXKP.js.map +0 -17
  829. package/frontend/build/server/chunks/runner-D18Ml_vF.js.map +0 -17
@@ -15,19 +15,62 @@
15
15
  * along with Plum. If not, see https://www.gnu.org/licenses/.
16
16
  */
17
17
 
18
+ /*
19
+ * This file is part of Plum.
20
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
21
+ */
22
+
18
23
  import { N as push, a2 as copy_payload, a3 as assign_payload, P as pop, _ as head, $ as ensure_array_like, a0 as stringify, Z as store_get, a1 as unsubscribe_stores } from './index2-DG8XHU5D.js';
19
- import { B as BROWSERS } from './constants-Drz-Vo39.js';
24
+ import { b as BUILTIN_RUNNER_ID, B as BROWSERS } from './constants-cZ2kUwWa.js';
20
25
  import './auth-rlH-cIzn.js';
21
- import { b as backgroundRuns } from './runner-D18Ml_vF.js';
22
- import { s as stagger } from './format-D26ZQccb.js';
23
- import { B as Button } from './Button-CuacyA7Y.js';
26
+ import { b as backgroundRuns } from './runner-DE5sufZH.js';
27
+ import { B as BUILTIN_RUNNER_LABEL, C as CANNOT_BE_UNDONE_SUFFIX, E as EDIT_LABEL, D as DELETE_LABEL } from './common-Db-bgKYG.js';
28
+ import { s as stagger } from './format-0SSB1oGG.js';
29
+ import { T as Toast, B as Button } from './Toast-CIG4edEp.js';
24
30
  import { B as Badge } from './Badge-B5V-z6pI.js';
25
- import { M as Modal, C as ConfirmModal } from './ConfirmModal-DBtnLLsU.js';
26
- import { T as Toast } from './Toast-DDF2wi_5.js';
27
- import { E as EmptyState } from './EmptyState-B74-VZ15.js';
28
- import { a as attr } from './attributes-BeaNKpgU.js';
31
+ import { M as Modal } from './Modal-DG-6c5si.js';
32
+ import { C as ConfirmModal } from './ConfirmModal-Ckkt99Pn.js';
33
+ import { E as EmptyState } from './EmptyState-BwwbShnX.js';
29
34
  import { e as escape_html } from './escaping-CqgfEcN3.js';
35
+ import { a as attr } from './attributes-BeaNKpgU.js';
30
36
 
37
+ const PAGE_TITLE = "Scheduled Tests — Plum";
38
+ const HEADING = "Scheduled Tests";
39
+ const SUBTITLE = "Manage recurring test runs via cron jobs";
40
+ const NEW_JOB_LABEL = "+ New Job";
41
+ const NO_JOBS_MESSAGE = "No scheduled tests yet. Create one to get started.";
42
+ const TASK_NAME_LABEL = "Task Name";
43
+ const TASK_NAME_HINT = "Use a unique, meaningful name";
44
+ const TASK_NAME_PLACEHOLDER = "nightly-login-suite";
45
+ const SCHEDULE_LABEL = "Schedule";
46
+ const SELECT_SCHEDULE_PLACEHOLDER = "Select a schedule";
47
+ const CUSTOM_OPTION_LABEL = "Custom…";
48
+ const TAGS_LABEL = "Tags";
49
+ const TAGS_HINT = "Multiple: @test-1 or @test-2. Leave blank to run all tests";
50
+ const TAGS_PLACEHOLDER = "@suite-login (optional)";
51
+ const WORKERS_LABEL = "Workers";
52
+ const WORKERS_HINT = "Parallel workers for this job";
53
+ const BROWSER_LABEL = "Browser";
54
+ const RUNNERS_LABEL = "Runners";
55
+ const RUNNERS_HINT = "Select one or more nodes";
56
+ const THIS_SERVER_HINT = "this server";
57
+ const DELETE_CRON_JOB_TITLE = "Delete Cron Job";
58
+ const DELETE_CONFIRM_PREFIX = "Are you sure you want to delete";
59
+ const DISABLE_SCHEDULE_LABEL = "Disable schedule";
60
+ const ENABLE_SCHEDULE_LABEL = "Enable schedule";
61
+ const RUNNING_NOW_TITLE = "Running now";
62
+ const TH_NAME = "Name";
63
+ const TH_SCHEDULE = "Schedule";
64
+ const TH_TAGS = "Tags";
65
+ const TH_WORKERS = "Workers";
66
+ const TH_BROWSER = "Browser";
67
+ const TH_RUNNER = "Runner";
68
+ const TH_ACTIONS = "Actions";
69
+ const modalTitle = (isEditing) => "New Cron Job";
70
+ const saveChangesLabel = (isEditing) => "Add Cron Job";
71
+ const toggleTitle = (enabled) => enabled ? DISABLE_SCHEDULE_LABEL : ENABLE_SCHEDULE_LABEL;
72
+ const runNowTitle = (taskName) => `Run ${taskName} now`;
73
+ const multiNodeLabel = (count) => `${count} nodes`;
31
74
  function _page($$payload, $$props) {
32
75
  push();
33
76
  var $$store_subs;
@@ -48,8 +91,8 @@ function _page($$payload, $$props) {
48
91
  taskName: "",
49
92
  tags: "",
50
93
  workers: 1,
51
- browser: "chromium",
52
- runnerIds: ["built-in"]
94
+ browser: BROWSERS[0].id,
95
+ runnerIds: [BUILTIN_RUNNER_ID]
53
96
  };
54
97
  function cronLabel(expression) {
55
98
  return scheduleOptions.find((s) => s.value === expression)?.label ?? expression;
@@ -58,10 +101,10 @@ function _page($$payload, $$props) {
58
101
  let $$inner_payload;
59
102
  function $$render_inner($$payload2) {
60
103
  head($$payload2, ($$payload3) => {
61
- $$payload3.title = `<title>Scheduled Tests — Plum</title>`;
104
+ $$payload3.title = `<title>${escape_html(PAGE_TITLE)}</title>`;
62
105
  });
63
106
  Modal($$payload2, {
64
- title: "New Cron Job",
107
+ title: modalTitle(),
65
108
  get open() {
66
109
  return modalOpen;
67
110
  },
@@ -73,21 +116,21 @@ function _page($$payload, $$props) {
73
116
  const each_array = ensure_array_like(scheduleOptions);
74
117
  const each_array_1 = ensure_array_like(BROWSERS);
75
118
  const each_array_2 = ensure_array_like(availableRunners);
76
- $$payload3.out += `<form class="modal-form svelte-13v7bmf"><div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Task Name</span> <span class="field-hint svelte-13v7bmf">Use a unique, meaningful name</span></div> <input type="text" class="field-input svelte-13v7bmf"${attr("value", form.taskName)} placeholder="nightly-login-suite" required></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Schedule</span></div> <select class="field-input svelte-13v7bmf" required><option value="" disabled class="svelte-13v7bmf">Select a schedule</option><!--[-->`;
119
+ $$payload3.out += `<form class="modal-form svelte-13v7bmf"><div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(TASK_NAME_LABEL)}</span> <span class="field-hint svelte-13v7bmf">${escape_html(TASK_NAME_HINT)}</span></div> <input type="text" class="field-input svelte-13v7bmf"${attr("value", form.taskName)}${attr("placeholder", TASK_NAME_PLACEHOLDER)} required></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(SCHEDULE_LABEL)}</span></div> <select class="field-input svelte-13v7bmf" required><option value="" disabled class="svelte-13v7bmf">${escape_html(SELECT_SCHEDULE_PLACEHOLDER)}</option><!--[-->`;
77
120
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
78
121
  let opt = each_array[$$index];
79
122
  $$payload3.out += `<option${attr("value", opt.value)} class="svelte-13v7bmf">${escape_html(opt.label)}</option>`;
80
123
  }
81
- $$payload3.out += `<!--]--><option${attr("value", CUSTOM_SENTINEL)} class="svelte-13v7bmf">Custom…</option></select> `;
124
+ $$payload3.out += `<!--]--><option${attr("value", CUSTOM_SENTINEL)} class="svelte-13v7bmf">${escape_html(CUSTOM_OPTION_LABEL)}</option></select> `;
82
125
  {
83
126
  $$payload3.out += "<!--[!-->";
84
127
  }
85
- $$payload3.out += `<!--]--></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Tags</span> <span class="field-hint svelte-13v7bmf">Multiple: @test-1 or @test-2. Leave blank to run all tests</span></div> <input type="text" class="field-input svelte-13v7bmf"${attr("value", form.tags)} placeholder="@suite-login (optional)"></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Workers</span> <span class="field-hint svelte-13v7bmf">Parallel workers for this job</span></div> <div class="stepper svelte-13v7bmf"><button type="button" class="step-btn svelte-13v7bmf"${attr("disabled", form.workers <= 1, true)}>−</button> <span class="step-val svelte-13v7bmf">${escape_html(form.workers)}</span> <button type="button" class="step-btn svelte-13v7bmf"${attr("disabled", form.workers >= 10, true)}>+</button></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Browser</span></div> <div class="seg-control svelte-13v7bmf"><!--[-->`;
128
+ $$payload3.out += `<!--]--></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(TAGS_LABEL)}</span> <span class="field-hint svelte-13v7bmf">${escape_html(TAGS_HINT)}</span></div> <input type="text" class="field-input svelte-13v7bmf"${attr("value", form.tags)}${attr("placeholder", TAGS_PLACEHOLDER)}></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(WORKERS_LABEL)}</span> <span class="field-hint svelte-13v7bmf">${escape_html(WORKERS_HINT)}</span></div> <div class="stepper svelte-13v7bmf"><button type="button" class="step-btn svelte-13v7bmf"${attr("disabled", form.workers <= 1, true)}>−</button> <span class="step-val svelte-13v7bmf">${escape_html(form.workers)}</span> <button type="button" class="step-btn svelte-13v7bmf"${attr("disabled", form.workers >= 10, true)}>+</button></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(BROWSER_LABEL)}</span></div> <div class="seg-control svelte-13v7bmf"><!--[-->`;
86
129
  for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
87
130
  let b = each_array_1[$$index_1];
88
131
  $$payload3.out += `<button type="button"${attr("class", `seg-btn svelte-13v7bmf ${stringify([form.browser === b.id ? "active" : ""].filter(Boolean).join(" "))}`)}><span class="seg-num svelte-13v7bmf">${escape_html(b.label)}</span></button>`;
89
132
  }
90
- $$payload3.out += `<!--]--></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">Runners</span> <span class="field-hint svelte-13v7bmf">Select one or more nodes</span></div> <div class="runner-checks svelte-13v7bmf"><label class="runner-check-option svelte-13v7bmf"><input type="checkbox"${attr("checked", form.runnerIds.includes("built-in"), true)} class="svelte-13v7bmf"> <span class="runner-check-dot built-in svelte-13v7bmf"></span> <span class="svelte-13v7bmf">Built-in</span> <span class="runner-check-hint svelte-13v7bmf">this server</span></label> <!--[-->`;
133
+ $$payload3.out += `<!--]--></div></div> <div class="field svelte-13v7bmf"><div class="field-label svelte-13v7bmf"><span class="svelte-13v7bmf">${escape_html(RUNNERS_LABEL)}</span> <span class="field-hint svelte-13v7bmf">${escape_html(RUNNERS_HINT)}</span></div> <div class="runner-checks svelte-13v7bmf"><label class="runner-check-option svelte-13v7bmf"><input type="checkbox"${attr("checked", form.runnerIds.includes(BUILTIN_RUNNER_ID), true)} class="svelte-13v7bmf"> <span class="runner-check-dot built-in svelte-13v7bmf"></span> <span class="svelte-13v7bmf">${escape_html(BUILTIN_RUNNER_LABEL)}</span> <span class="runner-check-hint svelte-13v7bmf">${escape_html(THIS_SERVER_HINT)}</span></label> <!--[-->`;
91
134
  for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
92
135
  let r = each_array_2[$$index_2];
93
136
  $$payload3.out += `<label class="runner-check-option svelte-13v7bmf"><input type="checkbox"${attr("checked", form.runnerIds.includes(r.id), true)} class="svelte-13v7bmf"> <span class="runner-check-dot remote svelte-13v7bmf"></span> <span class="svelte-13v7bmf">${escape_html(r.name)}</span> <span class="runner-check-hint svelte-13v7bmf">${escape_html(r.url)}</span></label>`;
@@ -105,7 +148,7 @@ function _page($$payload, $$props) {
105
148
  type: "submit",
106
149
  size: "md",
107
150
  children: ($$payload4) => {
108
- $$payload4.out += `<!---->${escape_html("Add Cron Job")}`;
151
+ $$payload4.out += `<!---->${escape_html(saveChangesLabel())}`;
109
152
  },
110
153
  $$slots: { default: true }
111
154
  });
@@ -115,7 +158,7 @@ function _page($$payload, $$props) {
115
158
  });
116
159
  $$payload2.out += `<!----> `;
117
160
  ConfirmModal($$payload2, {
118
- title: "Delete Cron Job",
161
+ title: DELETE_CRON_JOB_TITLE,
119
162
  get open() {
120
163
  return deleteModalOpen;
121
164
  },
@@ -124,37 +167,34 @@ function _page($$payload, $$props) {
124
167
  $$settled = false;
125
168
  },
126
169
  children: ($$payload3) => {
127
- $$payload3.out += `<!---->Are you sure you want to delete <strong class="svelte-13v7bmf">${escape_html(taskToDelete)}</strong>? This cannot be undone.`;
170
+ $$payload3.out += `<!---->${escape_html(DELETE_CONFIRM_PREFIX)} <strong class="svelte-13v7bmf">${escape_html(taskToDelete)}</strong>${escape_html(CANNOT_BE_UNDONE_SUFFIX)}`;
128
171
  },
129
172
  $$slots: { default: true }
130
173
  });
131
174
  $$payload2.out += `<!----> `;
132
175
  Toast($$payload2, { toast });
133
- $$payload2.out += `<!----> <div class="page-header svelte-13v7bmf"><div class="header-row svelte-13v7bmf"><div class="svelte-13v7bmf"><h1 class="svelte-13v7bmf">Scheduled Tests</h1> <p class="subtitle svelte-13v7bmf">Manage recurring test runs via cron jobs</p></div> `;
176
+ $$payload2.out += `<!----> <div class="page-header svelte-13v7bmf"><div class="header-row svelte-13v7bmf"><div class="svelte-13v7bmf"><h1 class="svelte-13v7bmf">${escape_html(HEADING)}</h1> <p class="subtitle svelte-13v7bmf">${escape_html(SUBTITLE)}</p></div> `;
134
177
  Button($$payload2, {
135
178
  children: ($$payload3) => {
136
- $$payload3.out += `<!---->+ New Job`;
179
+ $$payload3.out += `<!---->${escape_html(NEW_JOB_LABEL)}`;
137
180
  },
138
181
  $$slots: { default: true }
139
182
  });
140
183
  $$payload2.out += `<!----></div></div> <div class="card svelte-13v7bmf" style="padding: 0; overflow: hidden;">`;
141
184
  if (cronJobs.length === 0) {
142
185
  $$payload2.out += "<!--[-->";
143
- EmptyState($$payload2, {
144
- message: "No scheduled tests yet. Create one to get started.",
145
- size: "sm"
146
- });
186
+ EmptyState($$payload2, { message: NO_JOBS_MESSAGE, size: "sm" });
147
187
  } else {
148
188
  $$payload2.out += "<!--[!-->";
149
189
  const each_array_3 = ensure_array_like(cronJobs);
150
- $$payload2.out += `<div class="table-wrap svelte-13v7bmf"><table class="data-table svelte-13v7bmf"><thead class="svelte-13v7bmf"><tr class="svelte-13v7bmf"><th class="th-toggle svelte-13v7bmf"></th><th class="th-run svelte-13v7bmf"></th><th class="svelte-13v7bmf">Name</th><th class="svelte-13v7bmf">Schedule</th><th class="svelte-13v7bmf">Tags</th><th class="svelte-13v7bmf">Workers</th><th class="svelte-13v7bmf">Browser</th><th class="svelte-13v7bmf">Runner</th><th class="svelte-13v7bmf">Actions</th></tr></thead><tbody class="svelte-13v7bmf"><!--[-->`;
190
+ $$payload2.out += `<div class="table-wrap svelte-13v7bmf"><table class="data-table svelte-13v7bmf"><thead class="svelte-13v7bmf"><tr class="svelte-13v7bmf"><th class="th-toggle svelte-13v7bmf"></th><th class="th-run svelte-13v7bmf"></th><th class="svelte-13v7bmf">${escape_html(TH_NAME)}</th><th class="svelte-13v7bmf">${escape_html(TH_SCHEDULE)}</th><th class="svelte-13v7bmf">${escape_html(TH_TAGS)}</th><th class="svelte-13v7bmf">${escape_html(TH_WORKERS)}</th><th class="svelte-13v7bmf">${escape_html(TH_BROWSER)}</th><th class="svelte-13v7bmf">${escape_html(TH_RUNNER)}</th><th class="svelte-13v7bmf">${escape_html(TH_ACTIONS)}</th></tr></thead><tbody class="svelte-13v7bmf"><!--[-->`;
151
191
  for (let i = 0, $$length = each_array_3.length; i < $$length; i++) {
152
192
  let job = each_array_3[i];
153
- const ids = job.runnerIds ? job.runnerIds.split(",").map((s) => s.trim()) : ["built-in"];
154
- $$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", job.enabled ? "Disable schedule" : "Enable schedule")}${attr("aria-label", job.enabled ? "Disable schedule" : "Enable schedule")}${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", `Run ${stringify(job.taskName)} now`)}><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">`;
193
+ const ids = job.runnerIds ? job.runnerIds.split(",").map((s) => s.trim()) : [BUILTIN_RUNNER_ID];
194
+ $$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">`;
155
195
  if (store_get($$store_subs ??= {}, "$backgroundRuns", backgroundRuns)[job.taskName]?.running) {
156
196
  $$payload2.out += "<!--[-->";
157
- $$payload2.out += `<span class="running-dot svelte-13v7bmf" title="Running now"></span>`;
197
+ $$payload2.out += `<span class="running-dot svelte-13v7bmf"${attr("title", RUNNING_NOW_TITLE)}></span>`;
158
198
  } else {
159
199
  $$payload2.out += "<!--[!-->";
160
200
  }
@@ -166,10 +206,10 @@ function _page($$payload, $$props) {
166
206
  },
167
207
  $$slots: { default: true }
168
208
  });
169
- $$payload2.out += `<!----></td><td class="svelte-13v7bmf"><span class="tag-text svelte-13v7bmf">${escape_html(job.tags)}</span></td><td class="svelte-13v7bmf"><span${attr("class", `workers-badge svelte-13v7bmf ${stringify([job.workers > 1 ? "multi" : ""].filter(Boolean).join(" "))}`)}>×${escape_html(job.workers)}</span></td><td class="svelte-13v7bmf"><span class="browser-badge svelte-13v7bmf">${escape_html(job.browser ?? "chromium")}</span></td><td class="svelte-13v7bmf"><span${attr("class", `runner-badge svelte-13v7bmf ${stringify([ids.length > 1 ? "multi-node" : ""].filter(Boolean).join(" "))}`)}>`;
170
- if (ids.length === 1 && ids[0] === "built-in") {
209
+ $$payload2.out += `<!----></td><td class="svelte-13v7bmf"><span class="tag-text svelte-13v7bmf">${escape_html(job.tags)}</span></td><td class="svelte-13v7bmf"><span${attr("class", `workers-badge svelte-13v7bmf ${stringify([job.workers > 1 ? "multi" : ""].filter(Boolean).join(" "))}`)}>×${escape_html(job.workers)}</span></td><td class="svelte-13v7bmf"><span class="browser-badge svelte-13v7bmf">${escape_html(job.browser ?? BROWSERS[0].id)}</span></td><td class="svelte-13v7bmf"><span${attr("class", `runner-badge svelte-13v7bmf ${stringify([ids.length > 1 ? "multi-node" : ""].filter(Boolean).join(" "))}`)}>`;
210
+ if (ids.length === 1 && ids[0] === BUILTIN_RUNNER_ID) {
171
211
  $$payload2.out += "<!--[-->";
172
- $$payload2.out += `built-in`;
212
+ $$payload2.out += `${escape_html(BUILTIN_RUNNER_LABEL)}`;
173
213
  } else {
174
214
  $$payload2.out += "<!--[!-->";
175
215
  if (ids.length === 1) {
@@ -177,7 +217,7 @@ function _page($$payload, $$props) {
177
217
  $$payload2.out += `${escape_html(availableRunners.find((r) => r.id === ids[0])?.name ?? ids[0])}`;
178
218
  } else {
179
219
  $$payload2.out += "<!--[!-->";
180
- $$payload2.out += `${escape_html(ids.length)} nodes`;
220
+ $$payload2.out += `${escape_html(multiNodeLabel(ids.length))}`;
181
221
  }
182
222
  $$payload2.out += `<!--]-->`;
183
223
  }
@@ -186,7 +226,7 @@ function _page($$payload, $$props) {
186
226
  variant: "ghost",
187
227
  size: "sm",
188
228
  children: ($$payload3) => {
189
- $$payload3.out += `<!---->Edit`;
229
+ $$payload3.out += `<!---->${escape_html(EDIT_LABEL)}`;
190
230
  },
191
231
  $$slots: { default: true }
192
232
  });
@@ -195,7 +235,7 @@ function _page($$payload, $$props) {
195
235
  variant: "danger",
196
236
  size: "sm",
197
237
  children: ($$payload3) => {
198
- $$payload3.out += `<!---->Delete`;
238
+ $$payload3.out += `<!---->${escape_html(DELETE_LABEL)}`;
199
239
  },
200
240
  $$slots: { default: true }
201
241
  });
@@ -216,4 +256,4 @@ function _page($$payload, $$props) {
216
256
  }
217
257
 
218
258
  export { _page as default };
219
- //# sourceMappingURL=_page.svelte-C0vstY93.js.map
259
+ //# sourceMappingURL=_page.svelte-BHw14GPR.js.map
@@ -0,0 +1,21 @@
1
+ /*
2
+ This file is part of Plum.
3
+
4
+ Plum is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation, either version 3 of the License, or
7
+ (at your option) any later version.
8
+
9
+ Plum is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License
15
+ along with Plum. If not, see https://www.gnu.org/licenses/.
16
+ */
17
+ /*
18
+ This file is part of Plum.
19
+ Licensed under the MIT License. See LICENSE file in the project root for details.
20
+ */
21
+ {"version":3,"file":"_page.svelte-BHw14GPR.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js"],"sourcesContent":["import { a2 as copy_payload, a3 as assign_payload, p as pop, a as push, Y as head, Z as ensure_array_like, _ as stringify, X as store_get, $ as unsubscribe_stores } from \"../../../chunks/index.js\";\nimport { B as BROWSERS, b as BUILTIN_RUNNER_ID } from \"../../../chunks/constants.js\";\nimport \"../../../chunks/auth.js\";\nimport { b as backgroundRuns } from \"../../../chunks/runner.js\";\nimport { B as BUILTIN_RUNNER_LABEL, C as CANNOT_BE_UNDONE_SUFFIX, E as EDIT_LABEL, D as DELETE_LABEL } from \"../../../chunks/common.js\";\nimport { s as stagger } from \"../../../chunks/format.js\";\nimport { B as Button, T as Toast } from \"../../../chunks/Toast.js\";\nimport { B as Badge } from \"../../../chunks/Badge.js\";\nimport { M as Modal } from \"../../../chunks/Modal.js\";\nimport { C as ConfirmModal } from \"../../../chunks/ConfirmModal.js\";\nimport { E as EmptyState } from \"../../../chunks/EmptyState.js\";\nimport { e as escape_html } from \"../../../chunks/escaping.js\";\nimport { a as attr } from \"../../../chunks/attributes.js\";\nconst PAGE_TITLE = \"Scheduled Tests — Plum\";\nconst HEADING = \"Scheduled Tests\";\nconst SUBTITLE = \"Manage recurring test runs via cron jobs\";\nconst NEW_JOB_LABEL = \"+ New Job\";\nconst NO_JOBS_MESSAGE = \"No scheduled tests yet. Create one to get started.\";\nconst TASK_NAME_LABEL = \"Task Name\";\nconst TASK_NAME_HINT = \"Use a unique, meaningful name\";\nconst TASK_NAME_PLACEHOLDER = \"nightly-login-suite\";\nconst SCHEDULE_LABEL = \"Schedule\";\nconst SELECT_SCHEDULE_PLACEHOLDER = \"Select a schedule\";\nconst CUSTOM_OPTION_LABEL = \"Custom…\";\nconst TAGS_LABEL = \"Tags\";\nconst TAGS_HINT = \"Multiple: @test-1 or @test-2. Leave blank to run all tests\";\nconst TAGS_PLACEHOLDER = \"@suite-login (optional)\";\nconst WORKERS_LABEL = \"Workers\";\nconst WORKERS_HINT = \"Parallel workers for this job\";\nconst BROWSER_LABEL = \"Browser\";\nconst RUNNERS_LABEL = \"Runners\";\nconst RUNNERS_HINT = \"Select one or more nodes\";\nconst THIS_SERVER_HINT = \"this server\";\nconst DELETE_CRON_JOB_TITLE = \"Delete Cron Job\";\nconst DELETE_CONFIRM_PREFIX = \"Are you sure you want to delete\";\nconst DISABLE_SCHEDULE_LABEL = \"Disable schedule\";\nconst ENABLE_SCHEDULE_LABEL = \"Enable schedule\";\nconst RUNNING_NOW_TITLE = \"Running now\";\nconst TH_NAME = \"Name\";\nconst TH_SCHEDULE = \"Schedule\";\nconst TH_TAGS = \"Tags\";\nconst TH_WORKERS = \"Workers\";\nconst TH_BROWSER = \"Browser\";\nconst TH_RUNNER = \"Runner\";\nconst TH_ACTIONS = \"Actions\";\nconst modalTitle = (isEditing) => \"New Cron Job\";\nconst saveChangesLabel = (isEditing) => \"Add Cron Job\";\nconst toggleTitle = (enabled) => enabled ? DISABLE_SCHEDULE_LABEL : ENABLE_SCHEDULE_LABEL;\nconst runNowTitle = (taskName) => `Run ${taskName} now`;\nconst multiNodeLabel = (count) => `${count} nodes`;\nfunction _page($$payload, $$props) {\n push();\n var $$store_subs;\n const CUSTOM_SENTINEL = \"__custom__\";\n const scheduleOptions = [\n { label: \"Every minute\", value: \"* * * * *\" },\n { label: \"Every hour\", value: \"0 * * * *\" },\n { label: \"Every midnight\", value: \"0 0 * * *\" },\n { label: \"Every Sunday\", value: \"0 0 * * 0\" }\n ];\n let cronJobs = [];\n let availableRunners = [];\n let toast = null;\n let modalOpen = false;\n let deleteModalOpen = false;\n let taskToDelete = \"\";\n let form = {\n taskName: \"\",\n tags: \"\",\n workers: 1,\n browser: BROWSERS[0].id,\n runnerIds: [BUILTIN_RUNNER_ID]\n };\n function cronLabel(expression) {\n return scheduleOptions.find((s) => s.value === expression)?.label ?? expression;\n }\n let $$settled = true;\n let $$inner_payload;\n function $$render_inner($$payload2) {\n head($$payload2, ($$payload3) => {\n $$payload3.title = `<title>${escape_html(PAGE_TITLE)}</title>`;\n });\n Modal($$payload2, {\n title: modalTitle(),\n get open() {\n return modalOpen;\n },\n set open($$value) {\n modalOpen = $$value;\n $$settled = false;\n },\n children: ($$payload3) => {\n const each_array = ensure_array_like(scheduleOptions);\n const each_array_1 = ensure_array_like(BROWSERS);\n const each_array_2 = ensure_array_like(availableRunners);\n $$payload3.out += `<form class=\"modal-form svelte-13v7bmf\"><div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(TASK_NAME_LABEL)}</span> <span class=\"field-hint svelte-13v7bmf\">${escape_html(TASK_NAME_HINT)}</span></div> <input type=\"text\" class=\"field-input svelte-13v7bmf\"${attr(\"value\", form.taskName)}${attr(\"placeholder\", TASK_NAME_PLACEHOLDER)} required></div> <div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(SCHEDULE_LABEL)}</span></div> <select class=\"field-input svelte-13v7bmf\" required><option value=\"\" disabled class=\"svelte-13v7bmf\">${escape_html(SELECT_SCHEDULE_PLACEHOLDER)}</option><!--[-->`;\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let opt = each_array[$$index];\n $$payload3.out += `<option${attr(\"value\", opt.value)} class=\"svelte-13v7bmf\">${escape_html(opt.label)}</option>`;\n }\n $$payload3.out += `<!--]--><option${attr(\"value\", CUSTOM_SENTINEL)} class=\"svelte-13v7bmf\">${escape_html(CUSTOM_OPTION_LABEL)}</option></select> `;\n {\n $$payload3.out += \"<!--[!-->\";\n }\n $$payload3.out += `<!--]--></div> <div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(TAGS_LABEL)}</span> <span class=\"field-hint svelte-13v7bmf\">${escape_html(TAGS_HINT)}</span></div> <input type=\"text\" class=\"field-input svelte-13v7bmf\"${attr(\"value\", form.tags)}${attr(\"placeholder\", TAGS_PLACEHOLDER)}></div> <div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(WORKERS_LABEL)}</span> <span class=\"field-hint svelte-13v7bmf\">${escape_html(WORKERS_HINT)}</span></div> <div class=\"stepper svelte-13v7bmf\"><button type=\"button\" class=\"step-btn svelte-13v7bmf\"${attr(\"disabled\", form.workers <= 1, true)}>−</button> <span class=\"step-val svelte-13v7bmf\">${escape_html(form.workers)}</span> <button type=\"button\" class=\"step-btn svelte-13v7bmf\"${attr(\"disabled\", form.workers >= 10, true)}>+</button></div></div> <div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(BROWSER_LABEL)}</span></div> <div class=\"seg-control svelte-13v7bmf\"><!--[-->`;\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let b = each_array_1[$$index_1];\n $$payload3.out += `<button type=\"button\"${attr(\"class\", `seg-btn svelte-13v7bmf ${stringify([form.browser === b.id ? \"active\" : \"\"].filter(Boolean).join(\" \"))}`)}><span class=\"seg-num svelte-13v7bmf\">${escape_html(b.label)}</span></button>`;\n }\n $$payload3.out += `<!--]--></div></div> <div class=\"field svelte-13v7bmf\"><div class=\"field-label svelte-13v7bmf\"><span class=\"svelte-13v7bmf\">${escape_html(RUNNERS_LABEL)}</span> <span class=\"field-hint svelte-13v7bmf\">${escape_html(RUNNERS_HINT)}</span></div> <div class=\"runner-checks svelte-13v7bmf\"><label class=\"runner-check-option svelte-13v7bmf\"><input type=\"checkbox\"${attr(\"checked\", form.runnerIds.includes(BUILTIN_RUNNER_ID), true)} class=\"svelte-13v7bmf\"> <span class=\"runner-check-dot built-in svelte-13v7bmf\"></span> <span class=\"svelte-13v7bmf\">${escape_html(BUILTIN_RUNNER_LABEL)}</span> <span class=\"runner-check-hint svelte-13v7bmf\">${escape_html(THIS_SERVER_HINT)}</span></label> <!--[-->`;\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let r = each_array_2[$$index_2];\n $$payload3.out += `<label class=\"runner-check-option svelte-13v7bmf\"><input type=\"checkbox\"${attr(\"checked\", form.runnerIds.includes(r.id), true)} class=\"svelte-13v7bmf\"> <span class=\"runner-check-dot remote svelte-13v7bmf\"></span> <span class=\"svelte-13v7bmf\">${escape_html(r.name)}</span> <span class=\"runner-check-hint svelte-13v7bmf\">${escape_html(r.url)}</span></label>`;\n }\n $$payload3.out += `<!--]--></div></div> `;\n {\n $$payload3.out += \"<!--[!-->\";\n }\n $$payload3.out += `<!--]--> `;\n {\n $$payload3.out += \"<!--[!-->\";\n }\n $$payload3.out += `<!--]--> `;\n Button($$payload3, {\n type: \"submit\",\n size: \"md\",\n children: ($$payload4) => {\n $$payload4.out += `<!---->${escape_html(saveChangesLabel())}`;\n },\n $$slots: { default: true }\n });\n $$payload3.out += `<!----></form>`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----> `;\n ConfirmModal($$payload2, {\n title: DELETE_CRON_JOB_TITLE,\n get open() {\n return deleteModalOpen;\n },\n set open($$value) {\n deleteModalOpen = $$value;\n $$settled = false;\n },\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(DELETE_CONFIRM_PREFIX)} <strong class=\"svelte-13v7bmf\">${escape_html(taskToDelete)}</strong>${escape_html(CANNOT_BE_UNDONE_SUFFIX)}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----> `;\n Toast($$payload2, { toast });\n $$payload2.out += `<!----> <div class=\"page-header svelte-13v7bmf\"><div class=\"header-row svelte-13v7bmf\"><div class=\"svelte-13v7bmf\"><h1 class=\"svelte-13v7bmf\">${escape_html(HEADING)}</h1> <p class=\"subtitle svelte-13v7bmf\">${escape_html(SUBTITLE)}</p></div> `;\n Button($$payload2, {\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(NEW_JOB_LABEL)}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----></div></div> <div class=\"card svelte-13v7bmf\" style=\"padding: 0; overflow: hidden;\">`;\n if (cronJobs.length === 0) {\n $$payload2.out += \"<!--[-->\";\n EmptyState($$payload2, { message: NO_JOBS_MESSAGE, size: \"sm\" });\n } else {\n $$payload2.out += \"<!--[!-->\";\n const each_array_3 = ensure_array_like(cronJobs);\n $$payload2.out += `<div class=\"table-wrap svelte-13v7bmf\"><table class=\"data-table svelte-13v7bmf\"><thead class=\"svelte-13v7bmf\"><tr class=\"svelte-13v7bmf\"><th class=\"th-toggle svelte-13v7bmf\"></th><th class=\"th-run svelte-13v7bmf\"></th><th class=\"svelte-13v7bmf\">${escape_html(TH_NAME)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_SCHEDULE)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_TAGS)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_WORKERS)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_BROWSER)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_RUNNER)}</th><th class=\"svelte-13v7bmf\">${escape_html(TH_ACTIONS)}</th></tr></thead><tbody class=\"svelte-13v7bmf\"><!--[-->`;\n for (let i = 0, $$length = each_array_3.length; i < $$length; i++) {\n let job = each_array_3[i];\n const ids = job.runnerIds ? job.runnerIds.split(\",\").map((s) => s.trim()) : [BUILTIN_RUNNER_ID];\n $$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\">`;\n if (store_get($$store_subs ??= {}, \"$backgroundRuns\", backgroundRuns)[job.taskName]?.running) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `<span class=\"running-dot svelte-13v7bmf\"${attr(\"title\", RUNNING_NOW_TITLE)}></span>`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$payload2.out += `<!--]--> ${escape_html(job.taskName)}</td><td class=\"svelte-13v7bmf\">`;\n Badge($$payload2, {\n variant: \"schedule\",\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(cronLabel(job.cronExpression))}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----></td><td class=\"svelte-13v7bmf\"><span class=\"tag-text svelte-13v7bmf\">${escape_html(job.tags)}</span></td><td class=\"svelte-13v7bmf\"><span${attr(\"class\", `workers-badge svelte-13v7bmf ${stringify([job.workers > 1 ? \"multi\" : \"\"].filter(Boolean).join(\" \"))}`)}>×${escape_html(job.workers)}</span></td><td class=\"svelte-13v7bmf\"><span class=\"browser-badge svelte-13v7bmf\">${escape_html(job.browser ?? BROWSERS[0].id)}</span></td><td class=\"svelte-13v7bmf\"><span${attr(\"class\", `runner-badge svelte-13v7bmf ${stringify([ids.length > 1 ? \"multi-node\" : \"\"].filter(Boolean).join(\" \"))}`)}>`;\n if (ids.length === 1 && ids[0] === BUILTIN_RUNNER_ID) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `${escape_html(BUILTIN_RUNNER_LABEL)}`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n if (ids.length === 1) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `${escape_html(availableRunners.find((r) => r.id === ids[0])?.name ?? ids[0])}`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n $$payload2.out += `${escape_html(multiNodeLabel(ids.length))}`;\n }\n $$payload2.out += `<!--]-->`;\n }\n $$payload2.out += `<!--]--></span></td><td class=\"actions-cell svelte-13v7bmf\">`;\n Button($$payload2, {\n variant: \"ghost\",\n size: \"sm\",\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(EDIT_LABEL)}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----> `;\n Button($$payload2, {\n variant: \"danger\",\n size: \"sm\",\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(DELETE_LABEL)}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----></td></tr>`;\n }\n $$payload2.out += `<!--]--></tbody></table></div>`;\n }\n $$payload2.out += `<!--]--></div>`;\n }\n do {\n $$settled = true;\n $$inner_payload = copy_payload($$payload);\n $$render_inner($$inner_payload);\n } while (!$$settled);\n assign_payload($$payload, $$inner_payload);\n if ($$store_subs) unsubscribe_stores($$store_subs);\n pop();\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -15,17 +15,25 @@
15
15
  * along with Plum. If not, see https://www.gnu.org/licenses/.
16
16
  */
17
17
 
18
+ /*
19
+ * This file is part of Plum.
20
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
21
+ */
22
+
18
23
  import { N as push, Z as store_get, a2 as copy_payload, a3 as assign_payload, a1 as unsubscribe_stores, P as pop, _ as head, a0 as stringify, $ as ensure_array_like, a4 as fallback, a5 as bind_props } from './index2-DG8XHU5D.js';
19
24
  import { t as tick } from './index-server-Dr2Nvcmu.js';
20
- import { f as fetchReports, r as reportUrl } from './reports-Bgi7V5N7.js';
21
- import { r as reportsVersion } from './runner-D18Ml_vF.js';
22
- import { R as REPORTS_PER_PAGE } from './constants-Drz-Vo39.js';
23
- import { s as stagger, i as isScheduled, t as triggerVariant, a as triggerLabel } from './format-D26ZQccb.js';
25
+ import { f as fetchReports, r as reportUrl } from './reports-DnYbvluH.js';
26
+ import { r as reportsVersion } from './runner-DE5sufZH.js';
27
+ import { R as REPORTS_PER_PAGE, B as BROWSERS } from './constants-cZ2kUwWa.js';
28
+ import { s as stagger, i as isScheduled, t as triggerVariant, a as triggerLabel } from './format-0SSB1oGG.js';
24
29
  import { B as Badge } from './Badge-B5V-z6pI.js';
25
30
  import { a as attr } from './attributes-BeaNKpgU.js';
26
31
  import { e as escape_html } from './escaping-CqgfEcN3.js';
27
- import { C as ConfirmModal } from './ConfirmModal-DBtnLLsU.js';
28
- import { E as EmptyState } from './EmptyState-B74-VZ15.js';
32
+ import { C as ConfirmModal } from './ConfirmModal-Ckkt99Pn.js';
33
+ import { E as EmptyState } from './EmptyState-BwwbShnX.js';
34
+ import { t as trendDotTitle, S as SELECT_ALL_TITLE, d as deleteSelectedLabel, a as SELECT_ROW_TITLE, D as DELETE_REPORT_TITLE, L as LIST_PAGE_TITLE, b as deleteReportsBody, c as deleteReportsTitle, 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 './reports2-DR4XlcJg.js';
35
+ import './Modal-DG-6c5si.js';
36
+ import './common-Db-bgKYG.js';
29
37
 
30
38
  function Pagination($$payload, $$props) {
31
39
  push();
@@ -90,11 +98,10 @@ function _page($$payload, $$props) {
90
98
  let $$inner_payload;
91
99
  function $$render_inner($$payload2) {
92
100
  head($$payload2, ($$payload3) => {
93
- $$payload3.title = `<title>Reports — Plum</title>`;
101
+ $$payload3.title = `<title>${escape_html(LIST_PAGE_TITLE)}</title>`;
94
102
  });
95
103
  ConfirmModal($$payload2, {
96
- title: deleteModal.targets.length === 1 ? "Delete report?" : `Delete ${deleteModal.targets.length} reports?`,
97
- confirmLabel: "Delete",
104
+ title: deleteReportsTitle(deleteModal.targets.length),
98
105
  loading: deleting,
99
106
  get open() {
100
107
  return deleteModal.open;
@@ -104,25 +111,18 @@ function _page($$payload, $$props) {
104
111
  $$settled = false;
105
112
  },
106
113
  children: ($$payload3) => {
107
- if (deleteModal.targets.length === 1) {
108
- $$payload3.out += "<!--[-->";
109
- $$payload3.out += `This will permanently remove the report and its data file.`;
110
- } else {
111
- $$payload3.out += "<!--[!-->";
112
- $$payload3.out += `This will permanently remove ${escape_html(deleteModal.targets.length)} reports and their data files.`;
113
- }
114
- $$payload3.out += `<!--]-->`;
114
+ $$payload3.out += `<!---->${escape_html(deleteReportsBody(deleteModal.targets.length))}`;
115
115
  },
116
116
  $$slots: { default: true }
117
117
  });
118
- $$payload2.out += `<!----> <div class="page-header svelte-wkly2m"><div class="header-top svelte-wkly2m"><div><h1 class="svelte-wkly2m">Reports</h1> <p class="subtitle svelte-wkly2m">${escape_html(total)} run${escape_html(total !== 1 ? "s" : "")} recorded</p></div> `;
118
+ $$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> `;
119
119
  if (total > 0) {
120
120
  $$payload2.out += "<!--[-->";
121
121
  $$payload2.out += `<div class="rate-display svelte-wkly2m"><span${attr("class", `rate-number svelte-wkly2m ${stringify([
122
122
  passRate >= 80 ? "pass" : "",
123
123
  passRate < 80 && passRate >= 50 ? "warn" : "",
124
124
  passRate < 50 ? "fail" : ""
125
- ].filter(Boolean).join(" "))}`)}>${escape_html(passRate)}%</span> <span class="rate-label svelte-wkly2m">passing</span></div>`;
125
+ ].filter(Boolean).join(" "))}`)}>${escape_html(passRate)}%</span> <span class="rate-label svelte-wkly2m">${escape_html(PASSING_LABEL)}</span></div>`;
126
126
  } else {
127
127
  $$payload2.out += "<!--[!-->";
128
128
  }
@@ -130,31 +130,29 @@ function _page($$payload, $$props) {
130
130
  if (total > 0) {
131
131
  $$payload2.out += "<!--[-->";
132
132
  const each_array = ensure_array_like(trendDots);
133
- $$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(passCount)} passed</span> <span class="legend-fail svelte-wkly2m">${escape_html(failCount)} failed</span></div></div> <div class="trend-row svelte-wkly2m"><span class="trend-label svelte-wkly2m">Recent</span> <div class="trend-dots svelte-wkly2m"><!--[-->`;
133
+ $$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"><!--[-->`;
134
134
  for (let i = 0, $$length = each_array.length; i < $$length; i++) {
135
135
  let r = each_array[i];
136
136
  $$payload2.out += `<span${attr("class", `trend-dot svelte-wkly2m ${stringify([
137
137
  r.status === "PASS" ? "pass" : "",
138
138
  r.status !== "PASS" ? "fail" : ""
139
- ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i, 35))}${attr("title", `${stringify(r.status)} · ${stringify(r.tags)} · ${stringify(r.date)}`)}></span>`;
139
+ ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i, 35))}${attr("title", trendDotTitle(r.status, r.tags, r.date))}></span>`;
140
140
  }
141
- $$payload2.out += `<!--]--></div> <span class="trend-hint svelte-wkly2m">← older · newer →</span></div>`;
141
+ $$payload2.out += `<!--]--></div> <span class="trend-hint svelte-wkly2m">${escape_html(TREND_HINT)}</span></div>`;
142
142
  } else {
143
143
  $$payload2.out += "<!--[!-->";
144
144
  }
145
145
  $$payload2.out += `<!--]--></div> `;
146
146
  if (total === 0) {
147
147
  $$payload2.out += "<!--[-->";
148
- EmptyState($$payload2, {
149
- message: "No reports yet. Run a test to generate one."
150
- });
148
+ EmptyState($$payload2, { message: NO_REPORTS_MESSAGE });
151
149
  } else {
152
150
  $$payload2.out += "<!--[!-->";
153
151
  const each_array_1 = ensure_array_like(reports);
154
- $$payload2.out += `<div class="list-header svelte-wkly2m"><label class="select-all-wrap svelte-wkly2m" title="Select all on this page"><input type="checkbox" class="checkbox svelte-wkly2m"${attr("checked", allOnPageSelected, true)}${attr("indeterminate", someSelected && !allOnPageSelected, true)}></label> `;
152
+ $$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> `;
155
153
  if (someSelected) {
156
154
  $$payload2.out += "<!--[-->";
157
- $$payload2.out += `<button class="btn-delete-selected svelte-wkly2m">Delete (${escape_html(selected.size)})</button>`;
155
+ $$payload2.out += `<button class="btn-delete-selected svelte-wkly2m">${escape_html(deleteSelectedLabel(selected.size))}</button>`;
158
156
  } else {
159
157
  $$payload2.out += "<!--[!-->";
160
158
  }
@@ -163,7 +161,7 @@ function _page($$payload, $$props) {
163
161
  let report = each_array_1[i];
164
162
  $$payload2.out += `<div${attr("class", `report-row svelte-wkly2m ${stringify([
165
163
  selected.has(report.id) ? "is-selected" : ""
166
- ].filter(Boolean).join(" "))}`)}${attr("style", stagger(i))}><label class="row-check-wrap svelte-wkly2m" title="Select"><input type="checkbox" class="checkbox svelte-wkly2m"${attr("checked", selected.has(report.id), true)}></label> <a${attr("class", `report-item svelte-wkly2m ${stringify([
164
+ ].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([
167
165
  report.status === "PASS" ? "is-pass" : "",
168
166
  report.status !== "PASS" ? "is-fail" : ""
169
167
  ].filter(Boolean).join(" "))}`)}${attr("href", reportUrl(report.id))}><div class="item-left svelte-wkly2m"><span${attr("class", `status-mark svelte-wkly2m ${stringify([
@@ -178,7 +176,7 @@ function _page($$payload, $$props) {
178
176
  $$slots: { default: true }
179
177
  });
180
178
  $$payload2.out += `<!----> `;
181
- if (report.browser && report.browser !== "chromium") {
179
+ if (report.browser && report.browser !== BROWSERS[0].id) {
182
180
  $$payload2.out += "<!--[-->";
183
181
  Badge($$payload2, {
184
182
  variant: "neutral",
@@ -190,7 +188,7 @@ function _page($$payload, $$props) {
190
188
  } else {
191
189
  $$payload2.out += "<!--[!-->";
192
190
  }
193
- $$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" title="Delete report"><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>`;
191
+ $$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>`;
194
192
  }
195
193
  $$payload2.out += `<!--]--></div> `;
196
194
  if (totalPages > 1) {
@@ -216,4 +214,4 @@ function _page($$payload, $$props) {
216
214
  }
217
215
 
218
216
  export { _page as default };
219
- //# sourceMappingURL=_page.svelte-LcJmR5du.js.map
217
+ //# sourceMappingURL=_page.svelte-BbZNxvCl.js.map
@@ -0,0 +1,21 @@
1
+ /*
2
+ This file is part of Plum.
3
+
4
+ Plum is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation, either version 3 of the License, or
7
+ (at your option) any later version.
8
+
9
+ Plum is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License
15
+ along with Plum. If not, see https://www.gnu.org/licenses/.
16
+ */
17
+ /*
18
+ This file is part of Plum.
19
+ Licensed under the MIT License. See LICENSE file in the project root for details.
20
+ */
21
+ {"version":3,"file":"_page.svelte-BbZNxvCl.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js"],"sourcesContent":["import { a as push, a0 as fallback, Z as ensure_array_like, _ as stringify, a1 as bind_props, p as pop, X as store_get, a2 as copy_payload, a3 as assign_payload, $ as unsubscribe_stores, Y as head } from \"../../../chunks/index.js\";\nimport { t as tick } from \"../../../chunks/index-server.js\";\nimport { f as fetchReports, r as reportUrl } from \"../../../chunks/reports.js\";\nimport { r as reportsVersion } from \"../../../chunks/runner.js\";\nimport { R as REPORTS_PER_PAGE, B as BROWSERS } from \"../../../chunks/constants.js\";\nimport { s as stagger, i as isScheduled, t as triggerVariant, a as triggerLabel } from \"../../../chunks/format.js\";\nimport { B as Badge } from \"../../../chunks/Badge.js\";\n/* empty css */\nimport { a as attr } from \"../../../chunks/attributes.js\";\nimport { e as escape_html } from \"../../../chunks/escaping.js\";\nimport { C as ConfirmModal } from \"../../../chunks/ConfirmModal.js\";\nimport { E as EmptyState } from \"../../../chunks/EmptyState.js\";\nimport { 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\";\nfunction Pagination($$payload, $$props) {\n push();\n let current = fallback($$props[\"current\"], 1);\n let total = fallback($$props[\"total\"], 1);\n if (total > 1) {\n $$payload.out += \"<!--[-->\";\n const each_array = ensure_array_like(Array(total));\n $$payload.out += `<div class=\"pagination svelte-1a7b06a\"><button class=\"arrow svelte-1a7b06a\"${attr(\"disabled\", current === 1, true)} aria-label=\"Previous\">←</button> <!--[-->`;\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n each_array[i];\n $$payload.out += `<button${attr(\"class\", `page svelte-1a7b06a ${stringify([current === i + 1 ? \"active\" : \"\"].filter(Boolean).join(\" \"))}`)}>${escape_html(i + 1)}</button>`;\n }\n $$payload.out += `<!--]--> <button class=\"arrow svelte-1a7b06a\"${attr(\"disabled\", current === total, true)} aria-label=\"Next\">→</button></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]-->`;\n bind_props($$props, { current, total });\n pop();\n}\nfunction _page($$payload, $$props) {\n push();\n var $$store_subs;\n let totalPages, passRate, trendDots, allOnPageSelected, someSelected;\n let reports = [];\n let total = 0;\n let passCount = 0;\n let failCount = 0;\n let trend = [];\n let currentPage = 1;\n let animateBar = false;\n let selected = /* @__PURE__ */ new Set();\n let deleteModal = { open: false, targets: [] };\n let deleting = false;\n async function loadReports() {\n try {\n let data = await fetchReports({ page: currentPage, limit: REPORTS_PER_PAGE });\n if (data.reports.length === 0 && currentPage > 1) {\n currentPage = Math.max(1, Math.ceil(data.total / REPORTS_PER_PAGE));\n data = await fetchReports({ page: currentPage, limit: REPORTS_PER_PAGE });\n }\n reports = data.reports;\n total = data.total;\n passCount = data.passCount;\n failCount = data.failCount;\n trend = data.trend;\n selected = /* @__PURE__ */ new Set();\n await tick();\n animateBar = true;\n } catch (e) {\n console.error(\"Failed to fetch reports\", e);\n }\n }\n totalPages = Math.ceil(total / REPORTS_PER_PAGE);\n passRate = total ? Math.round(passCount / total * 100) : 0;\n trendDots = [...trend].reverse();\n allOnPageSelected = reports.length > 0 && reports.every((r) => selected.has(r.id));\n someSelected = selected.size > 0;\n if (store_get($$store_subs ??= {}, \"$reportsVersion\", reportsVersion)) loadReports();\n let $$settled = true;\n let $$inner_payload;\n function $$render_inner($$payload2) {\n head($$payload2, ($$payload3) => {\n $$payload3.title = `<title>${escape_html(LIST_PAGE_TITLE)}</title>`;\n });\n ConfirmModal($$payload2, {\n title: deleteReportsTitle(deleteModal.targets.length),\n loading: deleting,\n get open() {\n return deleteModal.open;\n },\n set open($$value) {\n deleteModal.open = $$value;\n $$settled = false;\n },\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(deleteReportsBody(deleteModal.targets.length))}`;\n },\n $$slots: { default: true }\n });\n $$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> `;\n if (total > 0) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `<div class=\"rate-display svelte-wkly2m\"><span${attr(\"class\", `rate-number svelte-wkly2m ${stringify([\n passRate >= 80 ? \"pass\" : \"\",\n passRate < 80 && passRate >= 50 ? \"warn\" : \"\",\n passRate < 50 ? \"fail\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}>${escape_html(passRate)}%</span> <span class=\"rate-label svelte-wkly2m\">${escape_html(PASSING_LABEL)}</span></div>`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$payload2.out += `<!--]--></div> `;\n if (total > 0) {\n $$payload2.out += \"<!--[-->\";\n const each_array = ensure_array_like(trendDots);\n $$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\"><!--[-->`;\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let r = each_array[i];\n $$payload2.out += `<span${attr(\"class\", `trend-dot svelte-wkly2m ${stringify([\n r.status === \"PASS\" ? \"pass\" : \"\",\n r.status !== \"PASS\" ? \"fail\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}${attr(\"style\", stagger(i, 35))}${attr(\"title\", trendDotTitle(r.status, r.tags, r.date))}></span>`;\n }\n $$payload2.out += `<!--]--></div> <span class=\"trend-hint svelte-wkly2m\">${escape_html(TREND_HINT)}</span></div>`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$payload2.out += `<!--]--></div> `;\n if (total === 0) {\n $$payload2.out += \"<!--[-->\";\n EmptyState($$payload2, { message: NO_REPORTS_MESSAGE });\n } else {\n $$payload2.out += \"<!--[!-->\";\n const each_array_1 = ensure_array_like(reports);\n $$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> `;\n if (someSelected) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `<button class=\"btn-delete-selected svelte-wkly2m\">${escape_html(deleteSelectedLabel(selected.size))}</button>`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$payload2.out += `<!--]--></div> <div class=\"report-list svelte-wkly2m\"><!--[-->`;\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let report = each_array_1[i];\n $$payload2.out += `<div${attr(\"class\", `report-row svelte-wkly2m ${stringify([\n selected.has(report.id) ? \"is-selected\" : \"\"\n ].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([\n report.status === \"PASS\" ? \"is-pass\" : \"\",\n report.status !== \"PASS\" ? \"is-fail\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}${attr(\"href\", reportUrl(report.id))}><div class=\"item-left svelte-wkly2m\"><span${attr(\"class\", `status-mark svelte-wkly2m ${stringify([\n report.status === \"PASS\" ? \"pass\" : \"\",\n report.status !== \"PASS\" ? \"fail\" : \"\"\n ].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\">`;\n Badge($$payload2, {\n variant: triggerVariant(report.triggerType),\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(triggerLabel(report.triggerType))}`;\n },\n $$slots: { default: true }\n });\n $$payload2.out += `<!----> `;\n if (report.browser && report.browser !== BROWSERS[0].id) {\n $$payload2.out += \"<!--[-->\";\n Badge($$payload2, {\n variant: \"neutral\",\n children: ($$payload3) => {\n $$payload3.out += `<!---->${escape_html(report.browser)}`;\n },\n $$slots: { default: true }\n });\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$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>`;\n }\n $$payload2.out += `<!--]--></div> `;\n if (totalPages > 1) {\n $$payload2.out += \"<!--[-->\";\n $$payload2.out += `<div class=\"pagination-wrap svelte-wkly2m\">`;\n Pagination($$payload2, { current: currentPage, total: totalPages });\n $$payload2.out += `<!----></div>`;\n } else {\n $$payload2.out += \"<!--[!-->\";\n }\n $$payload2.out += `<!--]-->`;\n }\n $$payload2.out += `<!--]-->`;\n }\n do {\n $$settled = true;\n $$inner_payload = copy_payload($$payload);\n $$render_inner($$inner_payload);\n } while (!$$settled);\n assign_payload($$payload, $$inner_payload);\n if ($$store_subs) unsubscribe_stores($$store_subs);\n pop();\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}