plum-e2e 2.6.9 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/CLAUDE.md +17 -2
  2. package/LICENSE +21 -677
  3. package/README.md +1 -1
  4. package/backend/Dockerfile +1 -13
  5. package/backend/app.js +4 -14
  6. package/backend/config/scripts/create-step.mjs +1 -13
  7. package/backend/config/scripts/create-test.mjs +1 -13
  8. package/backend/config/scripts/generate-report.js +5 -15
  9. package/backend/config/scripts/run-tests.js +5 -16
  10. package/backend/constants/defaults.js +8 -0
  11. package/backend/constants/env.js +16 -0
  12. package/backend/constants/jobStatus.js +21 -0
  13. package/backend/constants/socketEvents.js +40 -0
  14. package/backend/constants/triggers.js +6 -14
  15. package/backend/entrypoint.sh +1 -13
  16. package/backend/lib/authHeader.js +16 -0
  17. package/backend/lib/globalRegistry.js +1 -13
  18. package/backend/lib/nodeRegister.js +11 -15
  19. package/backend/lib/reportFilename.js +1 -13
  20. package/backend/lib/retryRunner.js +1 -13
  21. package/backend/lib/runnerProcess.js +5 -16
  22. package/backend/lib/screenshotPoller.js +1 -13
  23. package/backend/lib/serverBootstrap.js +189 -0
  24. package/backend/lib/serverConfig.js +1 -13
  25. package/backend/lib/testChunker.js +1 -13
  26. package/backend/lib/testEnv.js +1 -13
  27. package/backend/mcp/server.js +5 -15
  28. package/backend/middleware/auth.js +4 -14
  29. package/backend/middleware/jwtAuth.js +16 -18
  30. package/backend/middleware/requireAdmin.js +1 -13
  31. package/backend/package.json +3 -3
  32. package/backend/playwright.config.js +1 -13
  33. package/backend/routes/active-runs.routes.js +18 -0
  34. package/backend/routes/auth.routes.js +1 -13
  35. package/backend/routes/backup.routes.js +10 -21
  36. package/backend/routes/cron.routes.js +1 -13
  37. package/backend/routes/node.routes.js +11 -148
  38. package/backend/routes/reports.routes.js +1 -13
  39. package/backend/routes/runners.routes.js +11 -21
  40. package/backend/routes/settings.routes.js +6 -17
  41. package/backend/routes/test-cases.routes.js +1 -13
  42. package/backend/routes/test-runs.routes.js +1 -13
  43. package/backend/routes/test-suites.routes.js +1 -13
  44. package/backend/routes/tests.routes.js +1 -13
  45. package/backend/routes/trigger.routes.js +23 -165
  46. package/backend/routes/users.routes.js +1 -13
  47. package/backend/scripts/manage-runners.mjs +19 -17
  48. package/backend/server.js +34 -151
  49. package/backend/services/activeRunsService.js +55 -0
  50. package/backend/services/backupCronService.js +1 -13
  51. package/backend/services/backupService.js +7 -17
  52. package/backend/services/cronService.js +57 -39
  53. package/backend/services/envService.js +1 -13
  54. package/backend/services/nodeExecutionService.js +140 -0
  55. package/backend/services/notificationService.js +7 -17
  56. package/backend/services/prisma.js +1 -13
  57. package/backend/services/reportService.js +21 -17
  58. package/backend/services/runnerService.js +46 -27
  59. package/backend/services/settingsService.js +19 -19
  60. package/backend/services/testCaseService.js +1 -13
  61. package/backend/services/testRunService.js +1 -13
  62. package/backend/services/testService.js +1 -13
  63. package/backend/services/testSuiteService.js +1 -13
  64. package/backend/services/triggerService.js +246 -0
  65. package/backend/services/userService.js +1 -13
  66. package/backend/websockets/socketHandler.js +99 -48
  67. package/bin/plum.js +1 -13
  68. package/bin/postinstall.js +1 -13
  69. package/bin/scaffold-tests.js +1 -13
  70. package/docker-compose.node.yml +1 -13
  71. package/docker-compose.yml +2 -13
  72. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +3 -3
  73. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
  74. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
  75. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -17
  76. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -17
  77. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Modal.BuaCfdLj.css +0 -17
  78. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
  79. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
  80. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
  81. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -17
  82. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
  83. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
  84. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BWAH0Beh.css +0 -17
  85. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
  86. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
  87. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +0 -17
  88. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
  89. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
  90. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DvMkmYA-.css +6 -0
  91. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page._h2o67kg.css +0 -17
  92. package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +0 -17
  93. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -18
  94. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -18
  95. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +2 -19
  96. package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +0 -17
  97. package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +1 -18
  98. package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +0 -17
  99. package/frontend/.svelte-kit/adapter-node/chunks/auth.js +0 -17
  100. package/frontend/.svelte-kit/adapter-node/chunks/auth2.js +0 -17
  101. package/frontend/.svelte-kit/adapter-node/chunks/client.js +0 -17
  102. package/frontend/.svelte-kit/adapter-node/chunks/common.js +9 -24
  103. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +4 -18
  104. package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +0 -17
  105. package/frontend/.svelte-kit/adapter-node/chunks/exports.js +0 -17
  106. package/frontend/.svelte-kit/adapter-node/chunks/format.js +0 -17
  107. package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +0 -17
  108. package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -21
  109. package/frontend/.svelte-kit/adapter-node/chunks/index2.js +0 -17
  110. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -18
  111. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +0 -17
  112. package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +0 -17
  113. package/frontend/.svelte-kit/adapter-node/chunks/repository.js +10 -29
  114. package/frontend/.svelte-kit/adapter-node/chunks/runner.js +2 -20
  115. package/frontend/.svelte-kit/adapter-node/chunks/stores.js +0 -17
  116. package/frontend/.svelte-kit/adapter-node/chunks/theme.js +0 -17
  117. package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +0 -17
  118. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.js +0 -17
  119. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +0 -17
  120. package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +114 -98
  121. package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +1 -18
  122. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +1 -18
  123. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +1 -18
  124. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +1 -18
  125. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +1 -18
  126. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +2 -19
  127. package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -18
  128. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +3 -20
  129. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -20
  130. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +3 -20
  131. package/frontend/.svelte-kit/adapter-node/index.js +0 -17
  132. package/frontend/.svelte-kit/adapter-node/internal.js +0 -17
  133. package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -18
  134. package/frontend/.svelte-kit/adapter-node/manifest.js +1 -18
  135. package/frontend/.svelte-kit/adapter-node/nodes/0.js +1 -18
  136. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -18
  137. package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -18
  138. package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -18
  139. package/frontend/.svelte-kit/adapter-node/nodes/12.js +1 -18
  140. package/frontend/.svelte-kit/adapter-node/nodes/2.js +2 -19
  141. package/frontend/.svelte-kit/adapter-node/nodes/3.js +1 -18
  142. package/frontend/.svelte-kit/adapter-node/nodes/4.js +1 -18
  143. package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -18
  144. package/frontend/.svelte-kit/adapter-node/nodes/6.js +1 -18
  145. package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -18
  146. package/frontend/.svelte-kit/adapter-node/nodes/8.js +1 -18
  147. package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -18
  148. package/frontend/.svelte-kit/ambient.d.ts +2 -17
  149. package/frontend/.svelte-kit/generated/client/app.js +0 -17
  150. package/frontend/.svelte-kit/generated/client/matchers.js +0 -17
  151. package/frontend/.svelte-kit/generated/client/nodes/0.js +0 -17
  152. package/frontend/.svelte-kit/generated/client/nodes/1.js +0 -17
  153. package/frontend/.svelte-kit/generated/client/nodes/10.js +0 -17
  154. package/frontend/.svelte-kit/generated/client/nodes/11.js +0 -17
  155. package/frontend/.svelte-kit/generated/client/nodes/12.js +0 -17
  156. package/frontend/.svelte-kit/generated/client/nodes/2.js +0 -17
  157. package/frontend/.svelte-kit/generated/client/nodes/3.js +0 -17
  158. package/frontend/.svelte-kit/generated/client/nodes/4.js +0 -17
  159. package/frontend/.svelte-kit/generated/client/nodes/5.js +0 -17
  160. package/frontend/.svelte-kit/generated/client/nodes/6.js +0 -17
  161. package/frontend/.svelte-kit/generated/client/nodes/7.js +0 -17
  162. package/frontend/.svelte-kit/generated/client/nodes/8.js +0 -17
  163. package/frontend/.svelte-kit/generated/client/nodes/9.js +0 -17
  164. package/frontend/.svelte-kit/generated/client-optimized/app.js +0 -17
  165. package/frontend/.svelte-kit/generated/client-optimized/matchers.js +0 -17
  166. package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +0 -17
  167. package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +0 -17
  168. package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +0 -17
  169. package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +0 -17
  170. package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +0 -17
  171. package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +0 -17
  172. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +0 -17
  173. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +0 -17
  174. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +0 -17
  175. package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +0 -17
  176. package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +0 -17
  177. package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +0 -17
  178. package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +0 -17
  179. package/frontend/.svelte-kit/generated/root.js +0 -17
  180. package/frontend/.svelte-kit/generated/root.svelte +0 -17
  181. package/frontend/.svelte-kit/generated/server/internal.js +1 -18
  182. package/frontend/.svelte-kit/non-ambient.d.ts +0 -17
  183. package/frontend/.svelte-kit/output/client/.vite/manifest.json +225 -224
  184. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -17
  185. package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +0 -17
  186. package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BWAH0Beh.css +0 -17
  187. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -17
  188. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.DvMkmYA-.css +6 -0
  189. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BR3wgXcZ.css +0 -17
  190. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -17
  191. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -17
  192. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -17
  193. package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +0 -17
  194. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +0 -17
  195. package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +0 -17
  196. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
  197. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
  198. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -17
  199. package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -17
  200. package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -17
  201. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BZpm0HP8.css +0 -17
  202. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Modal.BuaCfdLj.css +0 -17
  203. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
  204. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
  205. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
  206. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -17
  207. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
  208. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
  209. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BWAH0Beh.css +0 -17
  210. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
  211. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
  212. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -17
  213. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
  214. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
  215. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DvMkmYA-.css +6 -0
  216. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page._h2o67kg.css +0 -17
  217. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js +0 -17
  218. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{D2cvzNT9.js → 3InFPLvE.js} +1 -18
  219. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js +0 -17
  220. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAMUGSh7.js +6 -0
  221. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKuh57WU.js +6 -0
  222. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DkNBSlo2.js → BUwxRmHf.js} +1 -18
  223. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +0 -17
  224. package/frontend/{build/client/_app/immutable/chunks/DYlaQsvN.js → .svelte-kit/output/client/_app/immutable/chunks/BmZ9upwL.js} +1 -18
  225. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js +0 -17
  226. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +0 -17
  227. package/frontend/{build/client/_app/immutable/chunks/oN0Z3NSF.js → .svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js} +1 -18
  228. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js +0 -17
  229. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -17
  230. package/frontend/{build/client/_app/immutable/chunks/BjUpWNbl.js → .svelte-kit/output/client/_app/immutable/chunks/CMEtqUfQ.js} +1 -18
  231. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js +0 -17
  232. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +6 -0
  233. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CgnwuKKO.js +0 -17
  234. package/frontend/{build/client/_app/immutable/chunks/B98sHkeB.js → .svelte-kit/output/client/_app/immutable/chunks/Co3xKhEp.js} +1 -18
  235. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +0 -17
  236. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DlNYZJ7K.js → CzlPaHY9.js} +1 -18
  237. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js +0 -17
  238. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +7 -0
  239. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{3IV-uqHa.js → DMZwI8Cj.js} +1 -18
  240. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DMyTUV-Y.js +8 -0
  241. package/frontend/{build/client/_app/immutable/chunks/D2gYTmAA.js → .svelte-kit/output/client/_app/immutable/chunks/DSLBMEpr.js} +1 -18
  242. package/frontend/{build/client/_app/immutable/chunks/DDblTLLE.js → .svelte-kit/output/client/_app/immutable/chunks/DbgD7JLa.js} +1 -18
  243. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dlnxgs49.js +0 -17
  244. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +0 -17
  245. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/nURnIknV.js +6 -0
  246. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/t-La0hgu.js +0 -17
  247. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/w0D4Uzlq.js +0 -17
  248. package/frontend/.svelte-kit/output/client/_app/immutable/entry/{app.BCWbw5zZ.js → app.BkBD0hgA.js} +2 -19
  249. package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.BxeX1Uxs.js +6 -0
  250. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.ChjDHxSJ.js +11 -0
  251. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.DBSWa36f.js +6 -0
  252. package/frontend/{build/client/_app/immutable/nodes/10.Bn4Ma-MU.js → .svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js} +1 -18
  253. package/frontend/{build/client/_app/immutable/nodes/11.BacEu7sW.js → .svelte-kit/output/client/_app/immutable/nodes/11.O4cjXCg4.js} +1 -18
  254. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BWQdeRdX.js +6 -0
  255. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BnHalSCi.js +6 -0
  256. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{3.DHx0kho3.js → 3._S1vrLVF.js} +1 -18
  257. package/frontend/{build/client/_app/immutable/nodes/4.CnaMiirx.js → .svelte-kit/output/client/_app/immutable/nodes/4.D-YT_JJe.js} +1 -18
  258. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{5.B6m-zTVe.js → 5.BiFBiWcW.js} +1 -18
  259. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{6.BPDag1zv.js → 6.BNS-W0R_.js} +1 -18
  260. package/frontend/{build/client/_app/immutable/nodes/7.D7LwxSvT.js → .svelte-kit/output/client/_app/immutable/nodes/7.C-pKvVZy.js} +1 -18
  261. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{8.CCkNX20G.js → 8.BEUdazrw.js} +1 -18
  262. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.HDerA6JV.js → 9.CrLHYPEJ.js} +1 -18
  263. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  264. package/frontend/.svelte-kit/output/server/.vite/manifest.json +3 -3
  265. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
  266. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
  267. package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -17
  268. package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -17
  269. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Modal.BuaCfdLj.css +0 -17
  270. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
  271. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
  272. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
  273. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -17
  274. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
  275. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
  276. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BWAH0Beh.css +0 -17
  277. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
  278. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
  279. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +0 -17
  280. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
  281. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
  282. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DvMkmYA-.css +6 -0
  283. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page._h2o67kg.css +0 -17
  284. package/frontend/.svelte-kit/output/server/chunks/BackLink.js +0 -17
  285. package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -18
  286. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -18
  287. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +2 -19
  288. package/frontend/.svelte-kit/output/server/chunks/Modal.js +0 -17
  289. package/frontend/.svelte-kit/output/server/chunks/Toast.js +1 -18
  290. package/frontend/.svelte-kit/output/server/chunks/attributes.js +0 -17
  291. package/frontend/.svelte-kit/output/server/chunks/auth.js +0 -17
  292. package/frontend/.svelte-kit/output/server/chunks/auth2.js +0 -17
  293. package/frontend/.svelte-kit/output/server/chunks/client.js +0 -17
  294. package/frontend/.svelte-kit/output/server/chunks/common.js +9 -24
  295. package/frontend/.svelte-kit/output/server/chunks/constants.js +4 -18
  296. package/frontend/.svelte-kit/output/server/chunks/escaping.js +0 -17
  297. package/frontend/.svelte-kit/output/server/chunks/exports.js +0 -17
  298. package/frontend/.svelte-kit/output/server/chunks/format.js +0 -17
  299. package/frontend/.svelte-kit/output/server/chunks/index-server.js +0 -17
  300. package/frontend/.svelte-kit/output/server/chunks/index.js +4 -21
  301. package/frontend/.svelte-kit/output/server/chunks/index2.js +0 -17
  302. package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -18
  303. package/frontend/.svelte-kit/output/server/chunks/reports.js +0 -17
  304. package/frontend/.svelte-kit/output/server/chunks/reports2.js +0 -17
  305. package/frontend/.svelte-kit/output/server/chunks/repository.js +10 -29
  306. package/frontend/.svelte-kit/output/server/chunks/runner.js +2 -20
  307. package/frontend/.svelte-kit/output/server/chunks/stores.js +0 -17
  308. package/frontend/.svelte-kit/output/server/chunks/theme.js +0 -17
  309. package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +0 -17
  310. package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +0 -17
  311. package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +0 -17
  312. package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +114 -98
  313. package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +1 -18
  314. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +1 -18
  315. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +1 -18
  316. package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +1 -18
  317. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +1 -18
  318. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +2 -19
  319. package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -18
  320. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +3 -20
  321. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +3 -20
  322. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +3 -20
  323. package/frontend/.svelte-kit/output/server/index.js +0 -17
  324. package/frontend/.svelte-kit/output/server/internal.js +0 -17
  325. package/frontend/.svelte-kit/output/server/manifest-full.js +1 -18
  326. package/frontend/.svelte-kit/output/server/manifest.js +1 -18
  327. package/frontend/.svelte-kit/output/server/nodes/0.js +1 -18
  328. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -18
  329. package/frontend/.svelte-kit/output/server/nodes/10.js +1 -18
  330. package/frontend/.svelte-kit/output/server/nodes/11.js +1 -18
  331. package/frontend/.svelte-kit/output/server/nodes/12.js +1 -18
  332. package/frontend/.svelte-kit/output/server/nodes/2.js +2 -19
  333. package/frontend/.svelte-kit/output/server/nodes/3.js +1 -18
  334. package/frontend/.svelte-kit/output/server/nodes/4.js +1 -18
  335. package/frontend/.svelte-kit/output/server/nodes/5.js +1 -18
  336. package/frontend/.svelte-kit/output/server/nodes/6.js +1 -18
  337. package/frontend/.svelte-kit/output/server/nodes/7.js +1 -18
  338. package/frontend/.svelte-kit/output/server/nodes/8.js +1 -18
  339. package/frontend/.svelte-kit/output/server/nodes/9.js +1 -18
  340. package/frontend/Dockerfile +1 -13
  341. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -17
  342. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
  343. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
  344. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css +0 -17
  345. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.br +0 -0
  346. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.gz +0 -0
  347. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css +0 -17
  348. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.br +0 -0
  349. package/frontend/build/client/_app/immutable/assets/11.BWAH0Beh.css.gz +0 -0
  350. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -17
  351. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
  352. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
  353. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css +6 -0
  354. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.br +0 -0
  355. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.gz +0 -0
  356. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css +0 -17
  357. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.br +0 -0
  358. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.gz +0 -0
  359. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +0 -17
  360. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
  361. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
  362. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +0 -17
  363. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
  364. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
  365. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +0 -17
  366. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
  367. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
  368. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css +0 -17
  369. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.br +0 -0
  370. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.gz +0 -0
  371. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +0 -17
  372. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
  373. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
  374. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css +0 -17
  375. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.br +0 -0
  376. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.gz +0 -0
  377. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -17
  378. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.br +0 -0
  379. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.gz +0 -0
  380. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css +0 -17
  381. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.br +0 -0
  382. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.gz +0 -0
  383. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css +0 -17
  384. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.br +0 -0
  385. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.gz +0 -0
  386. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css +0 -17
  387. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.br +0 -0
  388. package/frontend/build/client/_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css.gz +0 -0
  389. package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css +0 -17
  390. package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.br +0 -0
  391. package/frontend/build/client/_app/immutable/assets/EmptyState.DUDM4P19.css.gz +0 -0
  392. package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css +0 -17
  393. package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.br +0 -0
  394. package/frontend/build/client/_app/immutable/assets/Modal.BZpm0HP8.css.gz +0 -0
  395. package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css +0 -17
  396. package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.br +0 -0
  397. package/frontend/build/client/_app/immutable/assets/Modal.BuaCfdLj.css.gz +0 -0
  398. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css +0 -17
  399. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.br +0 -0
  400. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.gz +0 -0
  401. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css +0 -17
  402. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
  403. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.gz +0 -0
  404. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -17
  405. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
  406. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
  407. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +0 -17
  408. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
  409. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
  410. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css +0 -17
  411. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.br +0 -0
  412. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.gz +0 -0
  413. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css +0 -17
  414. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.br +0 -0
  415. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.gz +0 -0
  416. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css +0 -17
  417. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.br +0 -0
  418. package/frontend/build/client/_app/immutable/assets/_page.BWAH0Beh.css.gz +0 -0
  419. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -17
  420. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
  421. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
  422. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -17
  423. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
  424. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
  425. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -17
  426. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
  427. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
  428. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css +0 -17
  429. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.br +0 -0
  430. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.gz +0 -0
  431. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -17
  432. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
  433. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
  434. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css +6 -0
  435. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.br +0 -0
  436. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.gz +0 -0
  437. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css +0 -17
  438. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.br +0 -0
  439. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.gz +0 -0
  440. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js +0 -17
  441. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.br +0 -0
  442. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.gz +0 -0
  443. package/frontend/build/client/_app/immutable/chunks/{D2cvzNT9.js → 3InFPLvE.js} +1 -18
  444. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.br +0 -0
  445. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.gz +0 -0
  446. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js +0 -17
  447. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.br +0 -0
  448. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.gz +0 -0
  449. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js +6 -0
  450. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.br +0 -0
  451. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.gz +0 -0
  452. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js +6 -0
  453. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.br +0 -0
  454. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.gz +0 -0
  455. package/frontend/build/client/_app/immutable/chunks/{DkNBSlo2.js → BUwxRmHf.js} +1 -18
  456. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.br +0 -0
  457. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.gz +0 -0
  458. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js +0 -17
  459. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.br +0 -0
  460. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.gz +0 -0
  461. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DYlaQsvN.js → build/client/_app/immutable/chunks/BmZ9upwL.js} +1 -18
  462. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.br +0 -0
  463. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.gz +0 -0
  464. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js +0 -17
  465. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
  466. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
  467. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +0 -17
  468. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
  469. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
  470. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/oN0Z3NSF.js → build/client/_app/immutable/chunks/CGeZlCaI.js} +1 -18
  471. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.br +0 -0
  472. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.gz +0 -0
  473. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js +0 -17
  474. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
  475. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
  476. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -17
  477. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
  478. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
  479. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BjUpWNbl.js → build/client/_app/immutable/chunks/CMEtqUfQ.js} +1 -18
  480. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.br +0 -0
  481. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.gz +0 -0
  482. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js +0 -17
  483. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.br +0 -0
  484. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
  485. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js +6 -0
  486. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.br +0 -0
  487. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.gz +0 -0
  488. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js +0 -17
  489. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
  490. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
  491. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/B98sHkeB.js → build/client/_app/immutable/chunks/Co3xKhEp.js} +1 -18
  492. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.br +0 -0
  493. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.gz +0 -0
  494. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +0 -17
  495. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +0 -16
  496. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
  497. package/frontend/build/client/_app/immutable/chunks/{DlNYZJ7K.js → CzlPaHY9.js} +1 -18
  498. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.br +0 -0
  499. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.gz +0 -0
  500. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js +0 -17
  501. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.br +0 -0
  502. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.gz +0 -0
  503. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js +7 -0
  504. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.br +0 -0
  505. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.gz +0 -0
  506. package/frontend/build/client/_app/immutable/chunks/{3IV-uqHa.js → DMZwI8Cj.js} +1 -18
  507. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.br +0 -0
  508. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.gz +0 -0
  509. package/frontend/build/client/_app/immutable/chunks/DMyTUV-Y.js +8 -0
  510. package/frontend/build/client/_app/immutable/chunks/DMyTUV-Y.js.br +0 -0
  511. package/frontend/build/client/_app/immutable/chunks/DMyTUV-Y.js.gz +0 -0
  512. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/D2gYTmAA.js → build/client/_app/immutable/chunks/DSLBMEpr.js} +1 -18
  513. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.br +0 -0
  514. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.gz +0 -0
  515. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DDblTLLE.js → build/client/_app/immutable/chunks/DbgD7JLa.js} +1 -18
  516. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.br +0 -0
  517. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.gz +0 -0
  518. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js +0 -17
  519. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.br +0 -0
  520. package/frontend/build/client/_app/immutable/chunks/Dlnxgs49.js.gz +0 -0
  521. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +0 -17
  522. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
  523. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
  524. package/frontend/build/client/_app/immutable/chunks/nURnIknV.js +6 -0
  525. package/frontend/build/client/_app/immutable/chunks/nURnIknV.js.br +0 -0
  526. package/frontend/build/client/_app/immutable/chunks/nURnIknV.js.gz +0 -0
  527. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js +0 -17
  528. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.br +0 -0
  529. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.gz +0 -0
  530. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js +0 -17
  531. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.br +0 -0
  532. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.gz +0 -0
  533. package/frontend/build/client/_app/immutable/entry/{app.BCWbw5zZ.js → app.BkBD0hgA.js} +2 -19
  534. package/frontend/build/client/_app/immutable/entry/app.BkBD0hgA.js.br +0 -0
  535. package/frontend/build/client/_app/immutable/entry/app.BkBD0hgA.js.gz +0 -0
  536. package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js +6 -0
  537. package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js.br +6 -0
  538. package/frontend/build/client/_app/immutable/entry/start.BxeX1Uxs.js.gz +0 -0
  539. package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js +11 -0
  540. package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js.br +0 -0
  541. package/frontend/build/client/_app/immutable/nodes/0.ChjDHxSJ.js.gz +0 -0
  542. package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js +6 -0
  543. package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js.br +0 -0
  544. package/frontend/build/client/_app/immutable/nodes/1.DBSWa36f.js.gz +0 -0
  545. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/10.Bn4Ma-MU.js → build/client/_app/immutable/nodes/10.DEbnxfND.js} +1 -18
  546. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.br +0 -0
  547. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.gz +0 -0
  548. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/11.BacEu7sW.js → build/client/_app/immutable/nodes/11.O4cjXCg4.js} +1 -18
  549. package/frontend/build/client/_app/immutable/nodes/11.O4cjXCg4.js.br +0 -0
  550. package/frontend/build/client/_app/immutable/nodes/11.O4cjXCg4.js.gz +0 -0
  551. package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js +6 -0
  552. package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js.br +0 -0
  553. package/frontend/build/client/_app/immutable/nodes/12.BWQdeRdX.js.gz +0 -0
  554. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js +6 -0
  555. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.br +0 -0
  556. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.gz +0 -0
  557. package/frontend/build/client/_app/immutable/nodes/{3.DHx0kho3.js → 3._S1vrLVF.js} +1 -18
  558. package/frontend/build/client/_app/immutable/nodes/3._S1vrLVF.js.br +0 -0
  559. package/frontend/build/client/_app/immutable/nodes/3._S1vrLVF.js.gz +0 -0
  560. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/4.CnaMiirx.js → build/client/_app/immutable/nodes/4.D-YT_JJe.js} +1 -18
  561. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.br +0 -0
  562. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.gz +0 -0
  563. package/frontend/build/client/_app/immutable/nodes/{5.B6m-zTVe.js → 5.BiFBiWcW.js} +1 -18
  564. package/frontend/build/client/_app/immutable/nodes/5.BiFBiWcW.js.br +0 -0
  565. package/frontend/build/client/_app/immutable/nodes/5.BiFBiWcW.js.gz +0 -0
  566. package/frontend/build/client/_app/immutable/nodes/{6.BPDag1zv.js → 6.BNS-W0R_.js} +1 -18
  567. package/frontend/build/client/_app/immutable/nodes/6.BNS-W0R_.js.br +0 -0
  568. package/frontend/build/client/_app/immutable/nodes/6.BNS-W0R_.js.gz +0 -0
  569. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/7.D7LwxSvT.js → build/client/_app/immutable/nodes/7.C-pKvVZy.js} +1 -18
  570. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.br +0 -0
  571. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.gz +0 -0
  572. package/frontend/build/client/_app/immutable/nodes/{8.CCkNX20G.js → 8.BEUdazrw.js} +1 -18
  573. package/frontend/build/client/_app/immutable/nodes/8.BEUdazrw.js.br +0 -0
  574. package/frontend/build/client/_app/immutable/nodes/8.BEUdazrw.js.gz +0 -0
  575. package/frontend/build/client/_app/immutable/nodes/{9.HDerA6JV.js → 9.CrLHYPEJ.js} +1 -18
  576. package/frontend/build/client/_app/immutable/nodes/9.CrLHYPEJ.js.br +0 -0
  577. package/frontend/build/client/_app/immutable/nodes/9.CrLHYPEJ.js.gz +0 -0
  578. package/frontend/build/client/_app/version.json +1 -1
  579. package/frontend/build/client/_app/version.json.br +0 -0
  580. package/frontend/build/client/_app/version.json.gz +0 -0
  581. package/frontend/build/env.js +0 -17
  582. package/frontend/build/handler.js +0 -17
  583. package/frontend/build/index.js +0 -17
  584. package/frontend/build/server/chunks/0-Cn_2hzqk.js +22 -0
  585. package/frontend/build/server/chunks/0-Cn_2hzqk.js.map +5 -0
  586. package/frontend/build/server/chunks/1-BrRGJFSB.js +14 -0
  587. package/frontend/build/server/chunks/1-BrRGJFSB.js.map +5 -0
  588. package/frontend/build/server/chunks/10-l6_ikL_D.js +14 -0
  589. package/frontend/build/server/chunks/{10-Bhe409bL.js.map → 10-l6_ikL_D.js.map} +1 -17
  590. package/frontend/build/server/chunks/11-BLPbHJqB.js +14 -0
  591. package/frontend/build/server/chunks/{11-DqyXW7n1.js.map → 11-BLPbHJqB.js.map} +1 -17
  592. package/frontend/build/server/chunks/12-S1ujUrHy.js +14 -0
  593. package/frontend/build/server/chunks/{12-BCpjMUbs.js.map → 12-S1ujUrHy.js.map} +1 -17
  594. package/frontend/build/server/chunks/2-Cte30Dgy.js +14 -0
  595. package/frontend/build/server/chunks/2-Cte30Dgy.js.map +5 -0
  596. package/frontend/build/server/chunks/3-BHkXVoNI.js +14 -0
  597. package/frontend/build/server/chunks/{3-y2kzPO2X.js.map → 3-BHkXVoNI.js.map} +1 -17
  598. package/frontend/build/server/chunks/4-Bo04DC5Z.js +14 -0
  599. package/frontend/build/server/chunks/4-Bo04DC5Z.js.map +5 -0
  600. package/frontend/build/server/chunks/5-F1ZsXMt2.js +14 -0
  601. package/frontend/build/server/chunks/5-F1ZsXMt2.js.map +5 -0
  602. package/frontend/build/server/chunks/6-FlZLnYJ6.js +14 -0
  603. package/frontend/build/server/chunks/6-FlZLnYJ6.js.map +5 -0
  604. package/frontend/build/server/chunks/7-DiQJZEF_.js +14 -0
  605. package/frontend/build/server/chunks/{7-DekQfQHu.js.map → 7-DiQJZEF_.js.map} +1 -17
  606. package/frontend/build/server/chunks/8-DXReUGxi.js +14 -0
  607. package/frontend/build/server/chunks/8-DXReUGxi.js.map +5 -0
  608. package/frontend/build/server/chunks/9-Cy_mGmt4.js +14 -0
  609. package/frontend/build/server/chunks/{9-C5sKo9aY.js.map → 9-Cy_mGmt4.js.map} +1 -17
  610. package/frontend/build/server/chunks/{BackLink-KxZNqsaq.js → BackLink-BJ8NaemM.js} +2 -19
  611. package/frontend/build/server/chunks/{BackLink-KxZNqsaq.js.map → BackLink-BJ8NaemM.js.map} +1 -17
  612. package/frontend/build/server/chunks/Badge-44ZTDx0V.js +18 -0
  613. package/frontend/build/server/chunks/{Badge-B5V-z6pI.js.map → Badge-44ZTDx0V.js.map} +1 -17
  614. package/frontend/build/server/chunks/{ConfirmModal-Ckkt99Pn.js → ConfirmModal-C0EAXcq_.js} +4 -21
  615. package/frontend/build/server/chunks/{ConfirmModal-Ckkt99Pn.js.map → ConfirmModal-C0EAXcq_.js.map} +1 -17
  616. package/frontend/build/server/chunks/{EmptyState-BwwbShnX.js → EmptyState-BA_eXaeR.js} +3 -20
  617. package/frontend/build/server/chunks/{EmptyState-BwwbShnX.js.map → EmptyState-BA_eXaeR.js.map} +1 -17
  618. package/frontend/build/server/chunks/{Modal-DG-6c5si.js → Modal-DChG187n.js} +2 -19
  619. package/frontend/build/server/chunks/{Modal-DG-6c5si.js.map → Modal-DChG187n.js.map} +1 -17
  620. package/frontend/build/server/chunks/{Toast-CIG4edEp.js → Toast-v-q4ZnYq.js} +2 -19
  621. package/frontend/build/server/chunks/{Toast-CIG4edEp.js.map → Toast-v-q4ZnYq.js.map} +1 -17
  622. package/frontend/build/server/chunks/_layout.svelte-CHVI3Prt.js +29 -0
  623. package/frontend/build/server/chunks/{_layout.svelte-BjPrZpoG.js.map → _layout.svelte-CHVI3Prt.js.map} +1 -17
  624. package/frontend/build/server/chunks/{_page.svelte-BbZNxvCl.js → _page.svelte-1as75nPc.js} +14 -30
  625. package/frontend/build/server/chunks/{_page.svelte-BbZNxvCl.js.map → _page.svelte-1as75nPc.js.map} +1 -17
  626. package/frontend/build/server/chunks/{_page.svelte-CLFpft5D.js → _page.svelte-1jo8MapI.js} +11 -28
  627. package/frontend/build/server/chunks/{_page.svelte-CLFpft5D.js.map → _page.svelte-1jo8MapI.js.map} +1 -17
  628. package/frontend/build/server/chunks/{_page.svelte-BHw14GPR.js → _page.svelte-BuFusRK1.js} +12 -29
  629. package/frontend/build/server/chunks/{_page.svelte-BHw14GPR.js.map → _page.svelte-BuFusRK1.js.map} +1 -17
  630. package/frontend/build/server/chunks/{_page.svelte-D78qaBDN.js → _page.svelte-CAVyp70V.js} +14 -30
  631. package/frontend/build/server/chunks/{_page.svelte-D78qaBDN.js.map → _page.svelte-CAVyp70V.js.map} +1 -17
  632. package/frontend/build/server/chunks/{_page.svelte-D2oF79cT.js → _page.svelte-CB8-QBNg.js} +11 -28
  633. package/frontend/build/server/chunks/{_page.svelte-D2oF79cT.js.map → _page.svelte-CB8-QBNg.js.map} +1 -17
  634. package/frontend/build/server/chunks/{_page.svelte-DyyuZN_3.js → _page.svelte-CWWeZuid.js} +11 -28
  635. package/frontend/build/server/chunks/{_page.svelte-DyyuZN_3.js.map → _page.svelte-CWWeZuid.js.map} +1 -17
  636. package/frontend/build/server/chunks/_page.svelte-CpB-fgJl.js +224 -0
  637. package/frontend/build/server/chunks/_page.svelte-CpB-fgJl.js.map +5 -0
  638. package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js +32 -0
  639. package/frontend/build/server/chunks/{_page.svelte-B9rjnZWE.js.map → _page.svelte-D3E6Eojd.js.map} +1 -17
  640. package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js +32 -0
  641. package/frontend/build/server/chunks/{_page.svelte-D1aYn1PL.js.map → _page.svelte-Kg69DDaM.js.map} +1 -17
  642. package/frontend/build/server/chunks/{_page.svelte-ubW5EUCf.js → _page.svelte-L9fuiN_q.js} +10 -27
  643. package/frontend/build/server/chunks/{_page.svelte-ubW5EUCf.js.map → _page.svelte-L9fuiN_q.js.map} +1 -17
  644. package/frontend/build/server/chunks/{_page.svelte-Cr16HubD.js → _page.svelte-wKyUmA2e.js} +12 -29
  645. package/frontend/build/server/chunks/{_page.svelte-Cr16HubD.js.map → _page.svelte-wKyUmA2e.js.map} +1 -17
  646. package/frontend/build/server/chunks/attributes-BeaNKpgU.js +0 -17
  647. package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +0 -16
  648. package/frontend/build/server/chunks/{auth-rlH-cIzn.js → auth-Chw-wBpI.js} +2 -19
  649. package/frontend/build/server/chunks/{auth-rlH-cIzn.js.map → auth-Chw-wBpI.js.map} +1 -17
  650. package/frontend/build/server/chunks/auth2-C02yYDpz.js +0 -17
  651. package/frontend/build/server/chunks/auth2-C02yYDpz.js.map +0 -16
  652. package/frontend/build/server/chunks/{client-DyII78e0.js → client-DEmxR_a-.js} +2 -19
  653. package/frontend/build/server/chunks/{client-DyII78e0.js.map → client-DEmxR_a-.js.map} +1 -17
  654. package/frontend/build/server/chunks/common-DYYTVHPw.js +26 -0
  655. package/frontend/build/server/chunks/common-DYYTVHPw.js.map +5 -0
  656. package/frontend/build/server/chunks/constants-CXTaQaB6.js +27 -0
  657. package/frontend/build/server/chunks/constants-CXTaQaB6.js.map +5 -0
  658. package/frontend/build/server/chunks/error.svelte-BD3xNemk.js +33 -0
  659. package/frontend/build/server/chunks/{error.svelte-BDW3iP1O.js.map → error.svelte-BD3xNemk.js.map} +1 -17
  660. package/frontend/build/server/chunks/escaping-CqgfEcN3.js +0 -17
  661. package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +0 -16
  662. package/frontend/build/server/chunks/exports-D0QHgeSL.js +0 -17
  663. package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +0 -16
  664. package/frontend/build/server/chunks/{format-0SSB1oGG.js → format-CiNRMfHu.js} +2 -19
  665. package/frontend/build/server/chunks/{format-0SSB1oGG.js.map → format-CiNRMfHu.js.map} +1 -17
  666. package/frontend/build/server/chunks/index-server-B3M9vyh2.js +19 -0
  667. package/frontend/build/server/chunks/index-server-B3M9vyh2.js.map +5 -0
  668. package/frontend/build/server/chunks/{index2-DG8XHU5D.js → index2-5R1tbrep.js} +2 -19
  669. package/frontend/build/server/chunks/{index2-DG8XHU5D.js.map → index2-5R1tbrep.js.map} +1 -17
  670. package/frontend/build/server/chunks/{reports-DnYbvluH.js → reports-D_ApeeNh.js} +2 -19
  671. package/frontend/build/server/chunks/{reports-DnYbvluH.js.map → reports-D_ApeeNh.js.map} +1 -17
  672. package/frontend/build/server/chunks/{reports2-DR4XlcJg.js → reports2-BtElN_53.js} +2 -19
  673. package/frontend/build/server/chunks/{reports2-DR4XlcJg.js.map → reports2-BtElN_53.js.map} +1 -17
  674. package/frontend/build/server/chunks/{repository-D9Derhnk.js → repository-FYYV_vKE.js} +3 -21
  675. package/frontend/build/server/chunks/repository-FYYV_vKE.js.map +5 -0
  676. package/frontend/build/server/chunks/{runner-DE5sufZH.js → runner-DC7hXbnY.js} +5 -22
  677. package/frontend/build/server/chunks/runner-DC7hXbnY.js.map +5 -0
  678. package/frontend/build/server/chunks/stores-BLenR3c1.js +32 -0
  679. package/frontend/build/server/chunks/{stores-DlkXV308.js.map → stores-BLenR3c1.js.map} +1 -17
  680. package/frontend/build/server/chunks/theme-nAx-GvX_.js +15 -0
  681. package/frontend/build/server/chunks/theme-nAx-GvX_.js.map +5 -0
  682. package/frontend/build/server/index.js +2 -19
  683. package/frontend/build/server/index.js.map +1 -17
  684. package/frontend/build/server/manifest.js +14 -31
  685. package/frontend/build/server/manifest.js.map +1 -17
  686. package/frontend/build/shims.js +0 -17
  687. package/frontend/package.json +1 -0
  688. package/frontend/src/app.css +1 -13
  689. package/frontend/src/app.html +1 -13
  690. package/frontend/src/lib/api/activeRuns.js +18 -0
  691. package/frontend/src/lib/api/auth.js +1 -13
  692. package/frontend/src/lib/api/reports.js +1 -13
  693. package/frontend/src/lib/api/repository.js +1 -13
  694. package/frontend/src/lib/api/runners.js +26 -21
  695. package/frontend/src/lib/api/schedules.js +1 -13
  696. package/frontend/src/lib/api/settings.js +11 -23
  697. package/frontend/src/lib/api/tests.js +1 -13
  698. package/frontend/src/lib/api/users.js +1 -13
  699. package/frontend/src/lib/components/icons/BrowserIcon.svelte +1 -13
  700. package/frontend/src/lib/components/layout/Nav.svelte +1 -13
  701. package/frontend/src/lib/components/layout/PageShell.svelte +1 -13
  702. package/frontend/src/lib/components/layout/RunnerPanel.svelte +146 -105
  703. package/frontend/src/lib/components/ui/AutomatedBadge.svelte +2 -31
  704. package/frontend/src/lib/components/ui/BackLink.svelte +1 -30
  705. package/frontend/src/lib/components/ui/Badge.svelte +1 -13
  706. package/frontend/src/lib/components/ui/Button.svelte +1 -13
  707. package/frontend/src/lib/components/ui/CaseIdChip.svelte +1 -30
  708. package/frontend/src/lib/components/ui/ConfirmModal.svelte +8 -17
  709. package/frontend/src/lib/components/ui/EmptyState.svelte +26 -15
  710. package/frontend/src/lib/components/ui/Modal.svelte +1 -13
  711. package/frontend/src/lib/components/ui/Pagination.svelte +1 -13
  712. package/frontend/src/lib/components/ui/PriorityBadge.svelte +1 -30
  713. package/frontend/src/lib/components/ui/ResultChip.svelte +1 -30
  714. package/frontend/src/lib/components/ui/StatusDot.svelte +1 -30
  715. package/frontend/src/lib/components/ui/StepKeyword.svelte +1 -30
  716. package/frontend/src/lib/components/ui/StepStatusIcon.svelte +1 -30
  717. package/frontend/src/lib/components/ui/TagChip.svelte +1 -30
  718. package/frontend/src/lib/components/ui/Terminal.svelte +1 -13
  719. package/frontend/src/lib/components/ui/Toast.svelte +1 -13
  720. package/frontend/src/lib/constants.js +5 -17
  721. package/frontend/src/lib/copy/auth.js +29 -0
  722. package/frontend/src/lib/copy/common.js +39 -0
  723. package/frontend/src/lib/copy/dashboard.js +28 -0
  724. package/frontend/src/lib/copy/reports.js +83 -0
  725. package/frontend/src/lib/copy/repository.js +153 -0
  726. package/frontend/src/lib/copy/runners.js +59 -0
  727. package/frontend/src/lib/copy/schedules.js +96 -0
  728. package/frontend/src/lib/copy/settings.js +295 -0
  729. package/frontend/src/lib/index.js +1 -13
  730. package/frontend/src/lib/socketEvents.js +36 -0
  731. package/frontend/src/lib/stores/auth.js +1 -13
  732. package/frontend/src/lib/stores/runner.js +10 -18
  733. package/frontend/src/lib/stores/theme.js +1 -13
  734. package/frontend/src/lib/styles/global.css +1 -13
  735. package/frontend/src/lib/styles/reset.css +1 -13
  736. package/frontend/src/lib/styles/tokens.css +1 -13
  737. package/frontend/src/lib/utils/format.js +1 -13
  738. package/frontend/src/routes/+layout.js +1 -13
  739. package/frontend/src/routes/+layout.svelte +1 -13
  740. package/frontend/src/routes/+page.svelte +296 -115
  741. package/frontend/src/routes/login/+page.svelte +22 -23
  742. package/frontend/src/routes/reports/+page.svelte +37 -38
  743. package/frontend/src/routes/reports/[id]/+page.svelte +54 -43
  744. package/frontend/src/routes/reports/live/+page.svelte +57 -42
  745. package/frontend/src/routes/scheduled-tests/+page.svelte +134 -117
  746. package/frontend/src/routes/settings/+page.svelte +490 -267
  747. package/frontend/src/routes/setup/+page.svelte +30 -27
  748. package/frontend/src/routes/test-repository/+page.svelte +120 -91
  749. package/frontend/src/routes/test-repository/runs/[id]/+page.svelte +95 -60
  750. package/frontend/src/routes/test-repository/suites/[id]/+page.svelte +145 -91
  751. package/frontend/svelte.config.js +1 -13
  752. package/frontend/vite.config.js +1 -13
  753. package/package.json +2 -2
  754. package/resources/mit-license.txt +2 -0
  755. package/backend/scripts/create-test.js +0 -149
  756. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
  757. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +0 -23
  758. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
  759. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/4N1zIH8t.js +0 -23
  760. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BhvHtTRh.js +0 -23
  761. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C1sukchk.js +0 -23
  762. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW85KPAh.js +0 -24
  763. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DW_iTTZe.js +0 -23
  764. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DtGXv8RA.js +0 -25
  765. package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.2_AF42wj.js +0 -23
  766. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BAqq2UTE.js +0 -28
  767. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.D5VvLtGP.js +0 -23
  768. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.0YGtl1uj.js +0 -23
  769. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.C2jjMA-Z.js +0 -23
  770. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
  771. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css +0 -23
  772. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.br +0 -0
  773. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.gz +0 -0
  774. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css +0 -23
  775. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.br +0 -0
  776. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.gz +0 -0
  777. package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js.br +0 -0
  778. package/frontend/build/client/_app/immutable/chunks/3IV-uqHa.js.gz +0 -0
  779. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js +0 -23
  780. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.br +0 -0
  781. package/frontend/build/client/_app/immutable/chunks/4N1zIH8t.js.gz +0 -0
  782. package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.br +0 -0
  783. package/frontend/build/client/_app/immutable/chunks/B98sHkeB.js.gz +0 -0
  784. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js +0 -23
  785. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.br +0 -0
  786. package/frontend/build/client/_app/immutable/chunks/BhvHtTRh.js.gz +0 -0
  787. package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.br +0 -0
  788. package/frontend/build/client/_app/immutable/chunks/BjUpWNbl.js.gz +0 -0
  789. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js +0 -23
  790. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.br +0 -0
  791. package/frontend/build/client/_app/immutable/chunks/C1sukchk.js.gz +0 -0
  792. package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.br +0 -0
  793. package/frontend/build/client/_app/immutable/chunks/D2cvzNT9.js.gz +0 -0
  794. package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.br +0 -0
  795. package/frontend/build/client/_app/immutable/chunks/D2gYTmAA.js.gz +0 -0
  796. package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.br +0 -0
  797. package/frontend/build/client/_app/immutable/chunks/DDblTLLE.js.gz +0 -0
  798. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js +0 -24
  799. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.br +0 -0
  800. package/frontend/build/client/_app/immutable/chunks/DW85KPAh.js.gz +0 -0
  801. package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js +0 -23
  802. package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js.br +0 -0
  803. package/frontend/build/client/_app/immutable/chunks/DW_iTTZe.js.gz +0 -0
  804. package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.br +0 -0
  805. package/frontend/build/client/_app/immutable/chunks/DYlaQsvN.js.gz +0 -0
  806. package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.br +0 -0
  807. package/frontend/build/client/_app/immutable/chunks/DkNBSlo2.js.gz +0 -0
  808. package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.br +0 -0
  809. package/frontend/build/client/_app/immutable/chunks/DlNYZJ7K.js.gz +0 -0
  810. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js +0 -25
  811. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.br +0 -0
  812. package/frontend/build/client/_app/immutable/chunks/DtGXv8RA.js.gz +0 -0
  813. package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.br +0 -0
  814. package/frontend/build/client/_app/immutable/chunks/oN0Z3NSF.js.gz +0 -0
  815. package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.br +0 -0
  816. package/frontend/build/client/_app/immutable/entry/app.BCWbw5zZ.js.gz +0 -0
  817. package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js +0 -23
  818. package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js.br +0 -22
  819. package/frontend/build/client/_app/immutable/entry/start.2_AF42wj.js.gz +0 -0
  820. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js +0 -28
  821. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.br +0 -0
  822. package/frontend/build/client/_app/immutable/nodes/0.BAqq2UTE.js.gz +0 -0
  823. package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js +0 -23
  824. package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.br +0 -0
  825. package/frontend/build/client/_app/immutable/nodes/1.D5VvLtGP.js.gz +0 -0
  826. package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.br +0 -0
  827. package/frontend/build/client/_app/immutable/nodes/10.Bn4Ma-MU.js.gz +0 -0
  828. package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.br +0 -0
  829. package/frontend/build/client/_app/immutable/nodes/11.BacEu7sW.js.gz +0 -0
  830. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js +0 -23
  831. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.br +0 -0
  832. package/frontend/build/client/_app/immutable/nodes/12.0YGtl1uj.js.gz +0 -0
  833. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js +0 -23
  834. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.br +0 -0
  835. package/frontend/build/client/_app/immutable/nodes/2.C2jjMA-Z.js.gz +0 -0
  836. package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.br +0 -0
  837. package/frontend/build/client/_app/immutable/nodes/3.DHx0kho3.js.gz +0 -0
  838. package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.br +0 -0
  839. package/frontend/build/client/_app/immutable/nodes/4.CnaMiirx.js.gz +0 -0
  840. package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.br +0 -0
  841. package/frontend/build/client/_app/immutable/nodes/5.B6m-zTVe.js.gz +0 -0
  842. package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.br +0 -0
  843. package/frontend/build/client/_app/immutable/nodes/6.BPDag1zv.js.gz +0 -0
  844. package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.br +0 -0
  845. package/frontend/build/client/_app/immutable/nodes/7.D7LwxSvT.js.gz +0 -0
  846. package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.br +0 -0
  847. package/frontend/build/client/_app/immutable/nodes/8.CCkNX20G.js.gz +0 -0
  848. package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.br +0 -0
  849. package/frontend/build/client/_app/immutable/nodes/9.HDerA6JV.js.gz +0 -0
  850. package/frontend/build/server/chunks/0-Di4jNU9J.js +0 -39
  851. package/frontend/build/server/chunks/0-Di4jNU9J.js.map +0 -21
  852. package/frontend/build/server/chunks/1-DR5YRUTa.js +0 -31
  853. package/frontend/build/server/chunks/1-DR5YRUTa.js.map +0 -21
  854. package/frontend/build/server/chunks/10-Bhe409bL.js +0 -31
  855. package/frontend/build/server/chunks/11-DqyXW7n1.js +0 -31
  856. package/frontend/build/server/chunks/12-BCpjMUbs.js +0 -31
  857. package/frontend/build/server/chunks/2-D-0buH5i.js +0 -31
  858. package/frontend/build/server/chunks/2-D-0buH5i.js.map +0 -21
  859. package/frontend/build/server/chunks/3-y2kzPO2X.js +0 -31
  860. package/frontend/build/server/chunks/4-CFrK8HST.js +0 -31
  861. package/frontend/build/server/chunks/4-CFrK8HST.js.map +0 -21
  862. package/frontend/build/server/chunks/5-B0lJu5bT.js +0 -31
  863. package/frontend/build/server/chunks/5-B0lJu5bT.js.map +0 -21
  864. package/frontend/build/server/chunks/6-BD4CEJ3Z.js +0 -31
  865. package/frontend/build/server/chunks/6-BD4CEJ3Z.js.map +0 -21
  866. package/frontend/build/server/chunks/7-DekQfQHu.js +0 -31
  867. package/frontend/build/server/chunks/8-BMqmu7WF.js +0 -31
  868. package/frontend/build/server/chunks/8-BMqmu7WF.js.map +0 -21
  869. package/frontend/build/server/chunks/9-C5sKo9aY.js +0 -31
  870. package/frontend/build/server/chunks/Badge-B5V-z6pI.js +0 -35
  871. package/frontend/build/server/chunks/_layout.svelte-BjPrZpoG.js +0 -46
  872. package/frontend/build/server/chunks/_page.svelte-B9rjnZWE.js +0 -49
  873. package/frontend/build/server/chunks/_page.svelte-D1aYn1PL.js +0 -49
  874. package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js +0 -206
  875. package/frontend/build/server/chunks/_page.svelte-sbqebZYx.js.map +0 -21
  876. package/frontend/build/server/chunks/common-Db-bgKYG.js +0 -42
  877. package/frontend/build/server/chunks/common-Db-bgKYG.js.map +0 -21
  878. package/frontend/build/server/chunks/constants-cZ2kUwWa.js +0 -41
  879. package/frontend/build/server/chunks/constants-cZ2kUwWa.js.map +0 -21
  880. package/frontend/build/server/chunks/error.svelte-BDW3iP1O.js +0 -50
  881. package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +0 -36
  882. package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js.map +0 -21
  883. package/frontend/build/server/chunks/repository-D9Derhnk.js.map +0 -21
  884. package/frontend/build/server/chunks/runner-DE5sufZH.js.map +0 -21
  885. package/frontend/build/server/chunks/stores-DlkXV308.js +0 -49
  886. package/frontend/build/server/chunks/theme-D_NKm6iI.js +0 -32
  887. package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +0 -21
  888. package/resources/gpl-3.0-license.txt +0 -14
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .page-header.svelte-ll28r2{margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-ll28r2{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-ll28r2{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-ll28r2{color:var(--text-muted);font-size:.875rem}.search-row.svelte-ll28r2{display:flex;gap:.75rem}.search-wrap.svelte-ll28r2{position:relative;flex:1;max-width:480px}.search-icon.svelte-ll28r2{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input.svelte-ll28r2{width:100%;padding:.55rem .875rem .55rem 2.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text);font-family:var(--font-body);font-size:.875rem;font-weight:300;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.search-input.svelte-ll28r2:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-elevated)}.sort-bar.svelte-ll28r2{display:flex;align-items:center;gap:.375rem;margin:1.25rem 0;flex-wrap:wrap}.sort-label.svelte-ll28r2{font-size:.75rem;color:var(--text-muted);margin-right:.25rem}.sort-chip.svelte-ll28r2{display:flex;align-items:center;gap:.25rem;height:28px;padding:0 .625rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.sort-chip.svelte-ll28r2:hover{color:var(--text);border-color:var(--accent)}.sort-chip.active.svelte-ll28r2{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.sort-dir.svelte-ll28r2{font-size:.7rem;opacity:.8}.search-input.svelte-ll28r2::placeholder{color:var(--text-muted)}.search-clear.svelte-ll28r2{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:var(--border);color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.search-clear.svelte-ll28r2:hover{background:var(--text-muted);color:var(--bg)}.suites.svelte-ll28r2{display:flex;flex-direction:column;gap:1rem}.suite.svelte-ll28r2{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:visible;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.suite-header.svelte-ll28r2{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.suite-toggle.svelte-ll28r2{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.suite-toggle.svelte-ll28r2:hover{background:var(--bg-elevated);color:var(--text)}.suite-toggle.svelte-ll28r2 svg:where(.svelte-ll28r2){transition:transform var(--duration-fast) var(--ease-out)}.suite-toggle.svelte-ll28r2 svg.rotated:where(.svelte-ll28r2){transform:rotate(90deg)}.suite-meta.svelte-ll28r2{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.suite-badges.svelte-ll28r2{display:flex;gap:.25rem;flex-shrink:0}.suite-name.svelte-ll28r2{font-size:.9rem;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suite-count.svelte-ll28r2{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.run-btn.svelte-ll28r2{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.75rem;font-weight:400;padding:.3rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.run-btn.svelte-ll28r2:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tests.svelte-ll28r2{display:flex;flex-direction:column}.test-row.svelte-ll28r2{border-bottom:1px solid var(--border);animation:fadeUp .3s var(--ease-out) both}.test-row.svelte-ll28r2:last-child{border-bottom:none}.test-main.svelte-ll28r2{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem}.run-icon-btn.svelte-ll28r2{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.run-icon-btn.svelte-ll28r2:hover{background:var(--accent);color:var(--white);border-color:var(--accent)}.test-ids.svelte-ll28r2{display:flex;gap:.25rem;flex-shrink:0}.id-pill.svelte-ll28r2{position:relative;font-size:.68rem;font-weight:500;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border:none;border-radius:var(--radius-pill);padding:.15rem .55rem;cursor:pointer;font-family:JetBrains Mono,monospace;transition:background var(--duration-fast),color var(--duration-fast),filter var(--duration-fast)}.id-pill.svelte-ll28r2:hover{filter:brightness(.92)}.id-pill.copied.svelte-ll28r2{color:var(--pass);background:var(--pass-soft)}.id-pill.copied.svelte-ll28r2:after{content:"Copied";position:absolute;left:50%;bottom:calc(100% + 6px);z-index:50;transform:translate(-50%);padding:.16rem .42rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--pass);box-shadow:0 4px 14px #00000014;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:0;pointer-events:none;animation:svelte-ll28r2-copiedPop 1.4s var(--ease-out) both}.test-name.svelte-ll28r2{flex:1;font-size:.875rem;color:var(--text);min-width:0}.outline-badge.svelte-ll28r2{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn);padding:.1rem .4rem;border-radius:var(--radius-pill);margin-left:.4rem;vertical-align:middle}.steps-toggle.svelte-ll28r2{display:inline-flex;align-items:center;gap:.2rem;font-family:var(--font-body);font-size:.72rem;font-weight:400;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .5rem;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.steps-toggle.svelte-ll28r2:hover{background:var(--bg-subtle);color:var(--text)}.steps-toggle.svelte-ll28r2 svg:where(.svelte-ll28r2){transition:transform var(--duration-fast) var(--ease-out)}.steps-toggle.svelte-ll28r2 svg.rotated:where(.svelte-ll28r2){transform:rotate(90deg)}.steps.svelte-ll28r2{padding:.75rem 1.25rem .875rem 3.75rem;background:var(--bg-subtle);border-top:1px solid var(--border)}.step-list.svelte-ll28r2{list-style:none;display:flex;flex-direction:column;gap:.3rem}.step.svelte-ll28r2{font-size:.8125rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;line-height:1.5;padding-left:1rem;position:relative}.step.svelte-ll28r2:before{content:"›";position:absolute;left:0;color:var(--accent);font-family:var(--font-body)}.examples.svelte-ll28r2{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.examples-label.svelte-ll28r2{display:block;font-size:.68rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.examples-table-wrap.svelte-ll28r2{overflow-x:auto}.examples-table.svelte-ll28r2{border-collapse:collapse;font-size:.78rem;font-family:JetBrains Mono,monospace;width:auto}.examples-table.svelte-ll28r2 th:where(.svelte-ll28r2){text-align:left;padding:.3rem .75rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);font-family:var(--font-body);font-weight:500}.examples-table.svelte-ll28r2 td:where(.svelte-ll28r2){padding:.3rem .75rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.examples-table.svelte-ll28r2 tbody:where(.svelte-ll28r2) tr:where(.svelte-ll28r2):last-child td:where(.svelte-ll28r2){border-bottom:none}@keyframes svelte-ll28r2-copiedPop{0%{opacity:0;transform:translate(-50%,4px) scale(.96)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-2px) scale(.98)}}
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,26 +1,9 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
21
4
  */
22
5
 
23
- import { a0 as fallback, a5 as slot, a1 as bind_props, _ as stringify } from "./index.js";
6
+ import { a0 as fallback, a5 as slot, a1 as bind_props, Z as stringify } from "./index.js";
24
7
  /* empty css */
25
8
  import { a as attr } from "./attributes.js";
26
9
  function Badge($$payload, $$props) {
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -22,7 +5,7 @@
22
5
 
23
6
  import { a as push, a0 as fallback, a2 as copy_payload, a3 as assign_payload, a1 as bind_props, p as pop, a5 as slot } from "./index.js";
24
7
  import { M as Modal } from "./Modal.js";
25
- import { e as CONFIRM_TITLE, f as CONFIRM_LABEL, W as WORKING_LABEL, a as CANCEL_LABEL } from "./common.js";
8
+ import { f as CONFIRM_TITLE, g as CONFIRM_LABEL, W as WORKING_LABEL, b as CANCEL_LABEL } from "./common.js";
26
9
  /* empty css */
27
10
  import { a as attr } from "./attributes.js";
28
11
  import { e as escape_html } from "./escaping.js";
@@ -1,27 +1,10 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
21
4
  */
22
5
 
23
- import { a0 as fallback, a5 as slot, a1 as bind_props, _ as stringify } from "./index.js";
24
- import { d as EMPTY_STATE_MESSAGE } from "./common.js";
6
+ import { a0 as fallback, a5 as slot, a1 as bind_props, Z as stringify } from "./index.js";
7
+ import { e as EMPTY_STATE_MESSAGE } from "./common.js";
25
8
  /* empty css */
26
9
  import { a as attr } from "./attributes.js";
27
10
  import { e as escape_html } from "./escaping.js";
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,26 +1,9 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
21
4
  */
22
5
 
23
- import { a0 as fallback, _ as stringify, a5 as slot, a1 as bind_props, a as push, p as pop } from "./index.js";
6
+ import { a0 as fallback, Z as stringify, a5 as slot, a1 as bind_props, a as push, p as pop } from "./index.js";
24
7
  import { a as attr } from "./attributes.js";
25
8
  import { e as escape_html } from "./escaping.js";
26
9
  function Button($$payload, $$props) {
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -31,6 +14,7 @@ const SAVE_LABEL = "Save";
31
14
  const EDIT_LABEL = "Edit";
32
15
  const DELETE_LABEL = "Delete";
33
16
  const EMAIL_LABEL = "Email";
17
+ const SORT_BY_LABEL = "Sort by";
34
18
  const LOADING_LABEL = "Loading…";
35
19
  const SEARCHING_LABEL = "Searching…";
36
20
  const CANNOT_BE_UNDONE_SUFFIX = "? This cannot be undone.";
@@ -44,13 +28,14 @@ export {
44
28
  DELETE_LABEL as D,
45
29
  EDIT_LABEL as E,
46
30
  LOADING_LABEL as L,
47
- SAVE_LABEL as S,
31
+ SORT_BY_LABEL as S,
48
32
  WORKING_LABEL as W,
49
- CANCEL_LABEL as a,
50
- EMAIL_LABEL as b,
51
- SEARCHING_LABEL as c,
52
- EMPTY_STATE_MESSAGE as d,
53
- CONFIRM_TITLE as e,
54
- CONFIRM_LABEL as f,
33
+ SAVE_LABEL as a,
34
+ CANCEL_LABEL as b,
35
+ EMAIL_LABEL as c,
36
+ SEARCHING_LABEL as d,
37
+ EMPTY_STATE_MESSAGE as e,
38
+ CONFIRM_TITLE as f,
39
+ CONFIRM_LABEL as g,
55
40
  pluralize as p
56
41
  };
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -29,7 +12,10 @@ const TRIGGER_TYPES = Object.freeze({
29
12
  MANUAL: "manual-trigger",
30
13
  CLI: "command-line-trigger",
31
14
  MCP: "mcp-trigger",
32
- EXTERNAL: "external-trigger"
15
+ EXTERNAL: "external-trigger",
16
+ // Not a Report.triggerType value — only used as the `kind` tag on bg-run-*
17
+ // live-broadcast events, alongside the other values reused for that field.
18
+ CRON: "cron"
33
19
  });
34
20
  const REPORTS_PER_PAGE = 15;
35
21
  const SUITE_CASES_PER_PAGE = 20;
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
@@ -1120,10 +1103,10 @@ export {
1120
1103
  UNOWNED as U,
1121
1104
  render as V,
1122
1105
  setContext as W,
1123
- store_get as X,
1124
- head as Y,
1125
- ensure_array_like as Z,
1126
- stringify as _,
1106
+ head as X,
1107
+ ensure_array_like as Y,
1108
+ stringify as Z,
1109
+ store_get as _,
1127
1110
  push as a,
1128
1111
  fallback as a0,
1129
1112
  bind_props as a1,
@@ -1,20 +1,3 @@
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
1
  /*
19
2
  * This file is part of Plum.
20
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.