plum-e2e 2.5.14 → 2.6.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 (724) hide show
  1. package/README.md +1 -1
  2. package/backend/constants/triggers.js +3 -1
  3. package/backend/lib/screenshotPoller.js +43 -0
  4. package/backend/mcp/server.js +8 -1
  5. package/backend/prisma/migrations/20260713090000_add_report_duration/migration.sql +2 -0
  6. package/backend/prisma/schema.prisma +1 -0
  7. package/backend/routes/trigger.routes.js +51 -4
  8. package/backend/server.js +1 -0
  9. package/backend/services/cronService.js +119 -29
  10. package/backend/services/reportService.js +10 -4
  11. package/backend/websockets/socketHandler.js +6 -24
  12. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +312 -37
  13. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +18 -0
  14. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.D1SV0Gv7.css +18 -0
  15. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +18 -0
  16. package/frontend/.svelte-kit/{output/client/_app/immutable/chunks/rVEKg0Ak.js → adapter-node/_app/immutable/assets/EmptyState.BdO1q9cJ.css} +1 -1
  17. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Pagination.DZmi2Po-.css +18 -0
  18. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Toast.DENwYn3g.css +18 -0
  19. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +18 -0
  20. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +18 -0
  21. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.5IJAEAjc.css +18 -0
  22. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BJ-I1gHO.css +18 -0
  23. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BR3wgXcZ.css +18 -0
  24. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +18 -0
  25. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bhof07Eg.css +18 -0
  26. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +18 -0
  27. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CBHi6pzT.css +18 -0
  28. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +18 -0
  29. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CrXpMrqh.css +18 -0
  30. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page._h2o67kg.css +18 -0
  31. package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +29 -0
  32. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +3 -3
  33. package/frontend/.svelte-kit/adapter-node/chunks/Button.js +4 -3
  34. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +74 -0
  35. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +34 -0
  36. package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +36 -0
  37. package/frontend/.svelte-kit/adapter-node/chunks/auth.js +61 -0
  38. package/frontend/.svelte-kit/adapter-node/chunks/client.js +9 -2
  39. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +41 -0
  40. package/frontend/.svelte-kit/adapter-node/chunks/exports.js +7 -65
  41. package/frontend/.svelte-kit/adapter-node/chunks/format.js +51 -0
  42. package/frontend/.svelte-kit/adapter-node/chunks/index-server.js +31 -0
  43. package/frontend/.svelte-kit/adapter-node/chunks/index.js +71 -50
  44. package/frontend/.svelte-kit/adapter-node/chunks/index2.js +76 -0
  45. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +3 -4
  46. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +16 -33
  47. package/frontend/.svelte-kit/adapter-node/chunks/runner.js +45 -0
  48. package/frontend/.svelte-kit/adapter-node/chunks/stores.js +43 -0
  49. package/frontend/{build/client/_app/immutable/chunks/rVEKg0Ak.js → .svelte-kit/adapter-node/chunks/theme.js} +9 -1
  50. package/frontend/.svelte-kit/{output/client/_app/immutable/entry/start.GiBry-lw.js → adapter-node/entries/pages/_layout.js} +4 -1
  51. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +10 -154
  52. package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +46 -28
  53. package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +40 -0
  54. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +62 -0
  55. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +167 -89
  56. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +257 -0
  57. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +91 -52
  58. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +562 -0
  59. package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +40 -0
  60. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/_page.svelte.js +421 -0
  61. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +62 -0
  62. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +198 -0
  63. package/frontend/.svelte-kit/adapter-node/index.js +2 -1
  64. package/frontend/.svelte-kit/adapter-node/manifest-full.js +64 -8
  65. package/frontend/.svelte-kit/adapter-node/manifest.js +64 -8
  66. package/frontend/.svelte-kit/adapter-node/nodes/0.js +5 -3
  67. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
  68. package/frontend/.svelte-kit/adapter-node/nodes/10.js +25 -0
  69. package/frontend/.svelte-kit/adapter-node/nodes/11.js +25 -0
  70. package/frontend/.svelte-kit/adapter-node/nodes/12.js +25 -0
  71. package/frontend/.svelte-kit/adapter-node/nodes/2.js +2 -2
  72. package/frontend/.svelte-kit/adapter-node/nodes/3.js +3 -3
  73. package/frontend/.svelte-kit/adapter-node/nodes/4.js +3 -3
  74. package/frontend/.svelte-kit/adapter-node/nodes/5.js +3 -3
  75. package/frontend/.svelte-kit/adapter-node/nodes/6.js +25 -0
  76. package/frontend/.svelte-kit/adapter-node/nodes/7.js +25 -0
  77. package/frontend/.svelte-kit/adapter-node/nodes/8.js +25 -0
  78. package/frontend/.svelte-kit/adapter-node/nodes/9.js +25 -0
  79. package/frontend/.svelte-kit/ambient.d.ts +4 -0
  80. package/frontend/.svelte-kit/generated/client-optimized/app.js +18 -4
  81. package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +2 -0
  82. package/frontend/.svelte-kit/generated/client-optimized/nodes/10.js +18 -0
  83. package/frontend/.svelte-kit/generated/client-optimized/nodes/11.js +18 -0
  84. package/frontend/.svelte-kit/generated/client-optimized/nodes/12.js +18 -0
  85. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +1 -1
  86. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +1 -1
  87. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +1 -1
  88. package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +18 -0
  89. package/frontend/.svelte-kit/generated/client-optimized/nodes/7.js +18 -0
  90. package/frontend/.svelte-kit/generated/client-optimized/nodes/8.js +18 -0
  91. package/frontend/.svelte-kit/generated/client-optimized/nodes/9.js +18 -0
  92. package/frontend/.svelte-kit/generated/server/internal.js +1 -1
  93. package/frontend/.svelte-kit/output/client/.vite/manifest.json +486 -155
  94. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +18 -0
  95. package/frontend/.svelte-kit/output/client/_app/immutable/assets/10.CdaQUS6U.css +18 -0
  96. package/frontend/.svelte-kit/output/client/_app/immutable/assets/11.BJ-I1gHO.css +18 -0
  97. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +18 -0
  98. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CrXpMrqh.css +18 -0
  99. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BR3wgXcZ.css +18 -0
  100. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +18 -0
  101. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +18 -0
  102. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +18 -0
  103. package/frontend/.svelte-kit/output/client/_app/immutable/assets/7.CBHi6pzT.css +18 -0
  104. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.Bhof07Eg.css +18 -0
  105. package/frontend/.svelte-kit/output/client/_app/immutable/assets/9._h2o67kg.css +18 -0
  106. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +18 -0
  107. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.D1SV0Gv7.css +18 -0
  108. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.FOWXxvc7.css +18 -0
  109. package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +18 -0
  110. package/frontend/.svelte-kit/output/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css +18 -0
  111. package/frontend/.svelte-kit/output/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +18 -0
  112. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Pagination.DZmi2Po-.css +18 -0
  113. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Toast.DENwYn3g.css +18 -0
  114. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +18 -0
  115. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +18 -0
  116. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.5IJAEAjc.css +18 -0
  117. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BJ-I1gHO.css +18 -0
  118. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BR3wgXcZ.css +18 -0
  119. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +18 -0
  120. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bhof07Eg.css +18 -0
  121. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +18 -0
  122. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CBHi6pzT.css +18 -0
  123. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +18 -0
  124. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CrXpMrqh.css +18 -0
  125. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page._h2o67kg.css +18 -0
  126. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0pefNHY.js +18 -0
  127. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BFEiffAL.js +18 -0
  128. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CJ8q7g9Y.js → BFgtfHj2.js} +1 -1
  129. package/frontend/.svelte-kit/{adapter-node/chunks/equality.js → output/client/_app/immutable/chunks/BIRVeCLU.js} +1 -14
  130. package/frontend/.svelte-kit/output/{server/chunks/equality.js → client/_app/immutable/chunks/BKCNyxZ2.js} +1 -14
  131. package/frontend/{build/client/_app/immutable/chunks/CHV2KnPr.js → .svelte-kit/output/client/_app/immutable/chunks/BLAiBE__.js} +1 -1
  132. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BVMec-1T.js +18 -0
  133. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BeO8veBd.js +18 -0
  134. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bfc47y5P.js +18 -0
  135. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BgNaeXAp.js +18 -0
  136. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BkKmeUbA.js +18 -0
  137. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C3SY6-sX.js +19 -0
  138. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C4eeChIU.js +18 -0
  139. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C67QNx7Z.js +18 -0
  140. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CVV6HrFb.js +18 -0
  141. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CstKKb9b.js +18 -0
  142. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CxTX_lpP.js +18 -0
  143. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CyQ_oBw2.js +18 -0
  144. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CwBTqcbj.js → DGryW1Vp.js} +1 -1
  145. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{BKz6FZdB.js → DIx44H9N.js} +1 -1
  146. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DP6QP4L6.js +18 -0
  147. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DmRbbcS3.js +23 -0
  148. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IFIFk6zi.js +18 -0
  149. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/KJdjlibc.js +20 -0
  150. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/ll-VsEGv.js +18 -0
  151. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/raHbXn_9.js +18 -0
  152. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/uFRI_bmR.js +18 -0
  153. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.Dz_CBZcR.js +19 -0
  154. package/frontend/{build/client/_app/immutable/entry/start.GiBry-lw.js → .svelte-kit/output/client/_app/immutable/entry/start.MMlC62np.js} +1 -1
  155. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CKD9Qja6.js +23 -0
  156. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.N4gjrCnX.js → 1.Dbck5ct8.js} +1 -1
  157. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/10.BfmGpmC1.js +19 -0
  158. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/11.C7l9HPom.js +18 -0
  159. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.Iu9bcGdC.js +19 -0
  160. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BqQhRvYh.js +18 -0
  161. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.BZRTKadS.js +18 -0
  162. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BfKoPKdM.js +18 -0
  163. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.B4a2uCWn.js +18 -0
  164. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.CI508CMS.js +18 -0
  165. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.3x_eiof1.js +18 -0
  166. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BfUuob4H.js +29 -0
  167. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/9.BZhCKRJe.js +18 -0
  168. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  169. package/frontend/.svelte-kit/output/client/favicon-32x32.png +0 -0
  170. package/frontend/.svelte-kit/output/client/favicon.ico +0 -0
  171. package/frontend/.svelte-kit/output/server/.vite/manifest.json +312 -37
  172. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +18 -0
  173. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.D1SV0Gv7.css +18 -0
  174. package/frontend/.svelte-kit/output/server/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +18 -0
  175. package/frontend/.svelte-kit/output/server/_app/immutable/assets/EmptyState.BdO1q9cJ.css +18 -0
  176. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Pagination.DZmi2Po-.css +18 -0
  177. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Toast.DENwYn3g.css +18 -0
  178. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +18 -0
  179. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +18 -0
  180. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.5IJAEAjc.css +18 -0
  181. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BJ-I1gHO.css +18 -0
  182. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BR3wgXcZ.css +18 -0
  183. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +18 -0
  184. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bhof07Eg.css +18 -0
  185. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +18 -0
  186. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CBHi6pzT.css +18 -0
  187. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +18 -0
  188. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CrXpMrqh.css +18 -0
  189. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page._h2o67kg.css +18 -0
  190. package/frontend/.svelte-kit/output/server/chunks/BackLink.js +29 -0
  191. package/frontend/.svelte-kit/output/server/chunks/Badge.js +3 -3
  192. package/frontend/.svelte-kit/output/server/chunks/Button.js +4 -3
  193. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +74 -0
  194. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +34 -0
  195. package/frontend/.svelte-kit/output/server/chunks/Toast.js +36 -0
  196. package/frontend/.svelte-kit/output/server/chunks/auth.js +61 -0
  197. package/frontend/.svelte-kit/output/server/chunks/client.js +9 -2
  198. package/frontend/.svelte-kit/output/server/chunks/constants.js +41 -0
  199. package/frontend/.svelte-kit/output/server/chunks/exports.js +7 -65
  200. package/frontend/.svelte-kit/output/server/chunks/format.js +51 -0
  201. package/frontend/.svelte-kit/output/server/chunks/index-server.js +31 -0
  202. package/frontend/.svelte-kit/output/server/chunks/index.js +71 -50
  203. package/frontend/.svelte-kit/output/server/chunks/index2.js +76 -0
  204. package/frontend/.svelte-kit/output/server/chunks/internal.js +3 -4
  205. package/frontend/.svelte-kit/output/server/chunks/reports.js +16 -33
  206. package/frontend/.svelte-kit/output/server/chunks/runner.js +45 -0
  207. package/frontend/.svelte-kit/output/server/chunks/stores.js +43 -0
  208. package/frontend/.svelte-kit/output/server/chunks/theme.js +26 -0
  209. package/frontend/.svelte-kit/output/server/entries/pages/_layout.js +21 -0
  210. package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +10 -154
  211. package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +46 -28
  212. package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +40 -0
  213. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +62 -0
  214. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +167 -89
  215. package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +257 -0
  216. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +91 -52
  217. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +562 -0
  218. package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +40 -0
  219. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/_page.svelte.js +421 -0
  220. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +62 -0
  221. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +198 -0
  222. package/frontend/.svelte-kit/output/server/index.js +2 -1
  223. package/frontend/.svelte-kit/output/server/manifest-full.js +64 -8
  224. package/frontend/.svelte-kit/output/server/manifest.js +64 -8
  225. package/frontend/.svelte-kit/output/server/nodes/0.js +5 -3
  226. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
  227. package/frontend/.svelte-kit/output/server/nodes/10.js +25 -0
  228. package/frontend/.svelte-kit/output/server/nodes/11.js +25 -0
  229. package/frontend/.svelte-kit/output/server/nodes/12.js +25 -0
  230. package/frontend/.svelte-kit/output/server/nodes/2.js +2 -2
  231. package/frontend/.svelte-kit/output/server/nodes/3.js +3 -3
  232. package/frontend/.svelte-kit/output/server/nodes/4.js +3 -3
  233. package/frontend/.svelte-kit/output/server/nodes/5.js +3 -3
  234. package/frontend/.svelte-kit/output/server/nodes/6.js +25 -0
  235. package/frontend/.svelte-kit/output/server/nodes/7.js +25 -0
  236. package/frontend/.svelte-kit/output/server/nodes/8.js +25 -0
  237. package/frontend/.svelte-kit/output/server/nodes/9.js +25 -0
  238. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +18 -0
  239. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
  240. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
  241. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css +18 -0
  242. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.br +0 -0
  243. package/frontend/build/client/_app/immutable/assets/10.CdaQUS6U.css.gz +0 -0
  244. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css +18 -0
  245. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.br +0 -0
  246. package/frontend/build/client/_app/immutable/assets/11.BJ-I1gHO.css.gz +0 -0
  247. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +18 -0
  248. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
  249. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
  250. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css +18 -0
  251. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.br +0 -0
  252. package/frontend/build/client/_app/immutable/assets/2.CrXpMrqh.css.gz +0 -0
  253. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css +18 -0
  254. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.br +0 -0
  255. package/frontend/build/client/_app/immutable/assets/3.BR3wgXcZ.css.gz +0 -0
  256. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +18 -0
  257. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
  258. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
  259. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +18 -0
  260. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
  261. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
  262. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +18 -0
  263. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
  264. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
  265. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css +18 -0
  266. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.br +0 -0
  267. package/frontend/build/client/_app/immutable/assets/7.CBHi6pzT.css.gz +0 -0
  268. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css +18 -0
  269. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.br +0 -0
  270. package/frontend/build/client/_app/immutable/assets/8.Bhof07Eg.css.gz +0 -0
  271. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css +18 -0
  272. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.br +0 -0
  273. package/frontend/build/client/_app/immutable/assets/9._h2o67kg.css.gz +0 -0
  274. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +18 -0
  275. package/frontend/build/client/_app/immutable/{chunks/rVEKg0Ak.js.br → assets/BackLink.CvWWuO3h.css.br} +0 -0
  276. package/frontend/build/client/_app/immutable/{chunks/rVEKg0Ak.js.gz → assets/BackLink.CvWWuO3h.css.gz} +0 -0
  277. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css +18 -0
  278. package/frontend/build/client/_app/immutable/assets/Badge.D1SV0Gv7.css.br +0 -0
  279. package/frontend/build/client/_app/immutable/assets/{Badge.DLLowvEA.css.gz → Badge.D1SV0Gv7.css.gz} +0 -0
  280. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css +18 -0
  281. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.br +0 -0
  282. package/frontend/build/client/_app/immutable/assets/Button.FOWXxvc7.css.gz +0 -0
  283. package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css +18 -0
  284. package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.br +0 -0
  285. package/frontend/build/client/_app/immutable/assets/ConfirmModal.CdhOYVBb.css.gz +0 -0
  286. package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css +18 -0
  287. package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.br +0 -0
  288. package/frontend/build/client/_app/immutable/assets/ConfirmModal.DmxkcwXv.css.gz +0 -0
  289. package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css +18 -0
  290. package/frontend/build/client/_app/immutable/{chunks/CJ8q7g9Y.js.br → assets/EmptyState.BdO1q9cJ.css.br} +0 -0
  291. package/frontend/build/client/_app/immutable/assets/EmptyState.BdO1q9cJ.css.gz +0 -0
  292. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css +18 -0
  293. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.br +0 -0
  294. package/frontend/build/client/_app/immutable/assets/Pagination.DZmi2Po-.css.gz +0 -0
  295. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css +18 -0
  296. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.br +0 -0
  297. package/frontend/build/client/_app/immutable/assets/Toast.DENwYn3g.css.gz +0 -0
  298. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +18 -0
  299. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
  300. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
  301. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +18 -0
  302. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
  303. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
  304. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css +18 -0
  305. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.br +0 -0
  306. package/frontend/build/client/_app/immutable/assets/_page.5IJAEAjc.css.gz +0 -0
  307. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css +18 -0
  308. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.br +0 -0
  309. package/frontend/build/client/_app/immutable/assets/_page.BJ-I1gHO.css.gz +0 -0
  310. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css +18 -0
  311. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.br +0 -0
  312. package/frontend/build/client/_app/immutable/assets/_page.BR3wgXcZ.css.gz +0 -0
  313. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +18 -0
  314. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
  315. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
  316. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css +18 -0
  317. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.br +0 -0
  318. package/frontend/build/client/_app/immutable/assets/_page.Bhof07Eg.css.gz +0 -0
  319. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +18 -0
  320. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
  321. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
  322. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css +18 -0
  323. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.br +0 -0
  324. package/frontend/build/client/_app/immutable/assets/_page.CBHi6pzT.css.gz +0 -0
  325. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +18 -0
  326. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
  327. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
  328. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css +18 -0
  329. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.br +0 -0
  330. package/frontend/build/client/_app/immutable/assets/_page.CrXpMrqh.css.gz +0 -0
  331. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css +18 -0
  332. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.br +0 -0
  333. package/frontend/build/client/_app/immutable/assets/_page._h2o67kg.css.gz +0 -0
  334. package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js +18 -0
  335. package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.br +0 -0
  336. package/frontend/build/client/_app/immutable/chunks/B0pefNHY.js.gz +0 -0
  337. package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js +18 -0
  338. package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.br +0 -0
  339. package/frontend/build/client/_app/immutable/chunks/BFEiffAL.js.gz +0 -0
  340. package/frontend/build/client/_app/immutable/chunks/{CJ8q7g9Y.js → BFgtfHj2.js} +1 -1
  341. package/frontend/build/client/_app/immutable/chunks/BFgtfHj2.js.br +0 -0
  342. package/frontend/build/client/_app/immutable/chunks/{CJ8q7g9Y.js.gz → BFgtfHj2.js.gz} +0 -0
  343. package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js +18 -0
  344. package/frontend/build/client/_app/immutable/chunks/{CHV2KnPr.js.gz → BIRVeCLU.js.br} +0 -0
  345. package/frontend/build/client/_app/immutable/chunks/BIRVeCLU.js.gz +0 -0
  346. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/oc0we5Us.js → build/client/_app/immutable/chunks/BKCNyxZ2.js} +1 -1
  347. package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.br +0 -0
  348. package/frontend/build/client/_app/immutable/chunks/BKCNyxZ2.js.gz +0 -0
  349. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CHV2KnPr.js → build/client/_app/immutable/chunks/BLAiBE__.js} +1 -1
  350. package/frontend/build/client/_app/immutable/chunks/{CHV2KnPr.js.br → BLAiBE__.js.br} +2 -2
  351. package/frontend/build/client/_app/immutable/{assets/Badge.DLLowvEA.css.br → chunks/BLAiBE__.js.gz} +0 -0
  352. package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js +18 -0
  353. package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.br +0 -0
  354. package/frontend/build/client/_app/immutable/chunks/BVMec-1T.js.gz +0 -0
  355. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js +18 -0
  356. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.br +0 -0
  357. package/frontend/build/client/_app/immutable/chunks/BeO8veBd.js.gz +0 -0
  358. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js +18 -0
  359. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.br +0 -0
  360. package/frontend/build/client/_app/immutable/chunks/Bfc47y5P.js.gz +0 -0
  361. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js +18 -0
  362. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.br +0 -0
  363. package/frontend/build/client/_app/immutable/chunks/BgNaeXAp.js.gz +0 -0
  364. package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js +18 -0
  365. package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.br +0 -0
  366. package/frontend/build/client/_app/immutable/chunks/BkKmeUbA.js.gz +0 -0
  367. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js +19 -0
  368. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.br +0 -0
  369. package/frontend/build/client/_app/immutable/chunks/C3SY6-sX.js.gz +0 -0
  370. package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js +18 -0
  371. package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.br +0 -0
  372. package/frontend/build/client/_app/immutable/chunks/C4eeChIU.js.gz +0 -0
  373. package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js +18 -0
  374. package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.br +0 -0
  375. package/frontend/build/client/_app/immutable/chunks/C67QNx7Z.js.gz +0 -0
  376. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js +18 -0
  377. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.br +0 -0
  378. package/frontend/build/client/_app/immutable/chunks/CVV6HrFb.js.gz +0 -0
  379. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js +18 -0
  380. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.br +0 -0
  381. package/frontend/build/client/_app/immutable/chunks/CstKKb9b.js.gz +0 -0
  382. package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js +18 -0
  383. package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.br +0 -0
  384. package/frontend/build/client/_app/immutable/chunks/CxTX_lpP.js.gz +0 -0
  385. package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js +18 -0
  386. package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.br +0 -0
  387. package/frontend/build/client/_app/immutable/chunks/CyQ_oBw2.js.gz +0 -0
  388. package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js +18 -0
  389. package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.br +0 -0
  390. package/frontend/build/client/_app/immutable/chunks/DGryW1Vp.js.gz +0 -0
  391. package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js +18 -0
  392. package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.br +0 -0
  393. package/frontend/build/client/_app/immutable/chunks/DIx44H9N.js.gz +0 -0
  394. package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js +18 -0
  395. package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.br +0 -0
  396. package/frontend/build/client/_app/immutable/chunks/DP6QP4L6.js.gz +0 -0
  397. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js +23 -0
  398. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.br +0 -0
  399. package/frontend/build/client/_app/immutable/chunks/DmRbbcS3.js.gz +0 -0
  400. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js +18 -0
  401. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.br +0 -0
  402. package/frontend/build/client/_app/immutable/chunks/IFIFk6zi.js.gz +0 -0
  403. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js +20 -0
  404. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.br +0 -0
  405. package/frontend/build/client/_app/immutable/chunks/KJdjlibc.js.gz +0 -0
  406. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js +18 -0
  407. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.br +0 -0
  408. package/frontend/build/client/_app/immutable/chunks/ll-VsEGv.js.gz +0 -0
  409. package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js +18 -0
  410. package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.br +0 -0
  411. package/frontend/build/client/_app/immutable/chunks/raHbXn_9.js.gz +0 -0
  412. package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js +18 -0
  413. package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.br +0 -0
  414. package/frontend/build/client/_app/immutable/chunks/uFRI_bmR.js.gz +0 -0
  415. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js +19 -0
  416. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.br +0 -0
  417. package/frontend/build/client/_app/immutable/entry/app.Dz_CBZcR.js.gz +0 -0
  418. package/frontend/build/client/_app/immutable/entry/start.MMlC62np.js +18 -0
  419. package/frontend/build/client/_app/immutable/entry/{start.GiBry-lw.js.br → start.MMlC62np.js.br} +1 -1
  420. package/frontend/build/client/_app/immutable/entry/{start.GiBry-lw.js.gz → start.MMlC62np.js.gz} +0 -0
  421. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js +23 -0
  422. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.br +0 -0
  423. package/frontend/build/client/_app/immutable/nodes/0.CKD9Qja6.js.gz +0 -0
  424. package/frontend/build/client/_app/immutable/nodes/{1.N4gjrCnX.js → 1.Dbck5ct8.js} +1 -1
  425. package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.br +0 -0
  426. package/frontend/build/client/_app/immutable/nodes/1.Dbck5ct8.js.gz +0 -0
  427. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js +19 -0
  428. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.br +0 -0
  429. package/frontend/build/client/_app/immutable/nodes/10.BfmGpmC1.js.gz +0 -0
  430. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js +18 -0
  431. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.br +0 -0
  432. package/frontend/build/client/_app/immutable/nodes/11.C7l9HPom.js.gz +0 -0
  433. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js +19 -0
  434. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.br +0 -0
  435. package/frontend/build/client/_app/immutable/nodes/12.Iu9bcGdC.js.gz +0 -0
  436. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js +18 -0
  437. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.br +0 -0
  438. package/frontend/build/client/_app/immutable/nodes/2.BqQhRvYh.js.gz +0 -0
  439. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js +18 -0
  440. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.br +0 -0
  441. package/frontend/build/client/_app/immutable/nodes/3.BZRTKadS.js.gz +0 -0
  442. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js +18 -0
  443. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.br +0 -0
  444. package/frontend/build/client/_app/immutable/nodes/4.BfKoPKdM.js.gz +0 -0
  445. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js +18 -0
  446. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.br +0 -0
  447. package/frontend/build/client/_app/immutable/nodes/5.B4a2uCWn.js.gz +0 -0
  448. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js +18 -0
  449. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.br +0 -0
  450. package/frontend/build/client/_app/immutable/nodes/6.CI508CMS.js.gz +0 -0
  451. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js +18 -0
  452. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.br +0 -0
  453. package/frontend/build/client/_app/immutable/nodes/7.3x_eiof1.js.gz +0 -0
  454. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js +29 -0
  455. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.br +0 -0
  456. package/frontend/build/client/_app/immutable/nodes/8.BfUuob4H.js.gz +0 -0
  457. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js +18 -0
  458. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.br +0 -0
  459. package/frontend/build/client/_app/immutable/nodes/9.BZhCKRJe.js.gz +0 -0
  460. package/frontend/build/client/_app/version.json +1 -1
  461. package/frontend/build/client/_app/version.json.br +0 -0
  462. package/frontend/build/client/_app/version.json.gz +0 -0
  463. package/frontend/build/client/favicon-32x32.png +0 -0
  464. package/frontend/build/client/favicon.ico +0 -0
  465. package/frontend/build/server/chunks/0-Dzas6zkl.js +34 -0
  466. package/frontend/build/server/chunks/0-Dzas6zkl.js.map +17 -0
  467. package/frontend/build/server/chunks/{1-hso3H4Ax.js → 1-B4EsP8yr.js} +3 -3
  468. package/frontend/build/server/chunks/{1-hso3H4Ax.js.map → 1-B4EsP8yr.js.map} +1 -1
  469. package/frontend/build/server/chunks/10-UhDQZ5BY.js +26 -0
  470. package/frontend/build/server/chunks/10-UhDQZ5BY.js.map +17 -0
  471. package/frontend/build/server/chunks/11-mTH3nQlX.js +26 -0
  472. package/frontend/build/server/chunks/11-mTH3nQlX.js.map +17 -0
  473. package/frontend/build/server/chunks/12-9mg6kp53.js +26 -0
  474. package/frontend/build/server/chunks/12-9mg6kp53.js.map +17 -0
  475. package/frontend/build/server/chunks/{4-2UUrCVtM.js → 2-Bkz8H7CT.js} +5 -5
  476. package/frontend/build/server/chunks/2-Bkz8H7CT.js.map +17 -0
  477. package/frontend/build/server/chunks/{3-BYumY9dv.js → 3-DDtaiqu7.js} +4 -4
  478. package/frontend/build/server/chunks/3-DDtaiqu7.js.map +17 -0
  479. package/frontend/build/server/chunks/4-DbdkTAvS.js +26 -0
  480. package/frontend/build/server/chunks/4-DbdkTAvS.js.map +17 -0
  481. package/frontend/build/server/chunks/{5-C2_y_fwT.js → 5-CK5hY2WF.js} +4 -4
  482. package/frontend/build/server/chunks/5-CK5hY2WF.js.map +17 -0
  483. package/frontend/build/server/chunks/6-Cps9fL3Z.js +26 -0
  484. package/frontend/build/server/chunks/6-Cps9fL3Z.js.map +17 -0
  485. package/frontend/build/server/chunks/7-CgUpbaJD.js +26 -0
  486. package/frontend/build/server/chunks/7-CgUpbaJD.js.map +17 -0
  487. package/frontend/build/server/chunks/8-dilaVKYo.js +26 -0
  488. package/frontend/build/server/chunks/8-dilaVKYo.js.map +17 -0
  489. package/frontend/build/server/chunks/{2-BSZWXCWp.js → 9-CUJxgoIN.js} +5 -5
  490. package/frontend/build/server/chunks/9-CUJxgoIN.js.map +17 -0
  491. package/frontend/build/server/chunks/BackLink-KxZNqsaq.js +30 -0
  492. package/frontend/build/server/chunks/BackLink-KxZNqsaq.js.map +17 -0
  493. package/frontend/build/server/chunks/{Badge-CC4U7C0c.js → Badge-B5V-z6pI.js} +4 -4
  494. package/frontend/build/server/chunks/Badge-B5V-z6pI.js.map +17 -0
  495. package/frontend/build/server/chunks/{Button-BLkPicwS.js → Button-CuacyA7Y.js} +4 -4
  496. package/frontend/build/server/chunks/Button-CuacyA7Y.js.map +17 -0
  497. package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js +73 -0
  498. package/frontend/build/server/chunks/ConfirmModal-DBtnLLsU.js.map +17 -0
  499. package/frontend/build/server/chunks/EmptyState-B74-VZ15.js +34 -0
  500. package/frontend/build/server/chunks/EmptyState-B74-VZ15.js.map +17 -0
  501. package/frontend/build/server/chunks/Toast-DDF2wi_5.js +37 -0
  502. package/frontend/build/server/chunks/Toast-DDF2wi_5.js.map +17 -0
  503. package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js +39 -0
  504. package/frontend/build/server/chunks/_layout.svelte-DoJXDbP1.js.map +17 -0
  505. package/frontend/build/server/chunks/_page.svelte-BETENC2e.js +67 -0
  506. package/frontend/build/server/chunks/_page.svelte-BETENC2e.js.map +17 -0
  507. package/frontend/build/server/chunks/_page.svelte-C0vstY93.js +219 -0
  508. package/frontend/build/server/chunks/_page.svelte-C0vstY93.js.map +17 -0
  509. package/frontend/build/server/chunks/_page.svelte-CC27sZag.js +421 -0
  510. package/frontend/build/server/chunks/_page.svelte-CC27sZag.js.map +17 -0
  511. package/frontend/build/server/chunks/{_page.svelte-s6ZIOitT.js → _page.svelte-CYkOPxn2.js} +47 -29
  512. package/frontend/build/server/chunks/_page.svelte-CYkOPxn2.js.map +17 -0
  513. package/frontend/build/server/chunks/_page.svelte-CperUuP9.js +564 -0
  514. package/frontend/build/server/chunks/_page.svelte-CperUuP9.js.map +17 -0
  515. package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js +65 -0
  516. package/frontend/build/server/chunks/_page.svelte-CwrCf0C8.js.map +17 -0
  517. package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js +43 -0
  518. package/frontend/build/server/chunks/_page.svelte-DALHRFEX.js.map +17 -0
  519. package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js +43 -0
  520. package/frontend/build/server/chunks/_page.svelte-DNNyBx4y.js.map +17 -0
  521. package/frontend/build/server/chunks/_page.svelte-DqWsUJRp.js +199 -0
  522. package/frontend/build/server/chunks/_page.svelte-DqWsUJRp.js.map +17 -0
  523. package/frontend/build/server/chunks/_page.svelte-LcJmR5du.js +219 -0
  524. package/frontend/build/server/chunks/_page.svelte-LcJmR5du.js.map +17 -0
  525. package/frontend/build/server/chunks/_page.svelte-gnktnXKP.js +259 -0
  526. package/frontend/build/server/chunks/_page.svelte-gnktnXKP.js.map +17 -0
  527. package/frontend/build/server/chunks/auth-rlH-cIzn.js +62 -0
  528. package/frontend/build/server/chunks/auth-rlH-cIzn.js.map +17 -0
  529. package/frontend/build/server/chunks/{client-C9IaEwNo.js → client-DyII78e0.js} +9 -4
  530. package/frontend/build/server/chunks/client-DyII78e0.js.map +17 -0
  531. package/frontend/build/server/chunks/constants-Drz-Vo39.js +35 -0
  532. package/frontend/build/server/chunks/constants-Drz-Vo39.js.map +17 -0
  533. package/frontend/build/server/chunks/{error.svelte-HKBv5sQT.js → error.svelte-BDW3iP1O.js} +4 -4
  534. package/frontend/build/server/chunks/{error.svelte-HKBv5sQT.js.map → error.svelte-BDW3iP1O.js.map} +1 -1
  535. package/frontend/build/server/chunks/{exports-OxlCJ8yE.js → exports-D0QHgeSL.js} +2 -67
  536. package/frontend/build/server/chunks/exports-D0QHgeSL.js.map +17 -0
  537. package/frontend/build/server/chunks/format-D26ZQccb.js +49 -0
  538. package/frontend/build/server/chunks/format-D26ZQccb.js.map +17 -0
  539. package/frontend/build/server/chunks/index-server-Dr2Nvcmu.js +31 -0
  540. package/frontend/build/{client/_app/immutable/chunks/BKz6FZdB.js.br → server/chunks/index-server-Dr2Nvcmu.js.map} +0 -0
  541. package/frontend/build/server/chunks/{index-CjHlq1kt.js → index2-DG8XHU5D.js} +81 -10
  542. package/frontend/build/server/chunks/index2-DG8XHU5D.js.map +17 -0
  543. package/frontend/build/server/chunks/reports-Bgi7V5N7.js +40 -0
  544. package/frontend/build/server/chunks/reports-Bgi7V5N7.js.map +17 -0
  545. package/frontend/build/server/chunks/runner-D18Ml_vF.js +42 -0
  546. package/frontend/build/server/chunks/runner-D18Ml_vF.js.map +17 -0
  547. package/frontend/build/server/chunks/{reports-D3ZeYSmi.js → stores-DlkXV308.js} +4 -16
  548. package/frontend/build/server/chunks/stores-DlkXV308.js.map +17 -0
  549. package/frontend/build/server/chunks/theme-D_NKm6iI.js +27 -0
  550. package/frontend/build/server/chunks/theme-D_NKm6iI.js.map +17 -0
  551. package/frontend/build/server/index.js +4 -4
  552. package/frontend/build/server/index.js.map +1 -1
  553. package/frontend/build/server/manifest.js +69 -13
  554. package/frontend/build/server/manifest.js.map +1 -1
  555. package/frontend/src/lib/components/layout/RunnerPanel.svelte +108 -21
  556. package/frontend/src/lib/components/ui/Badge.svelte +6 -1
  557. package/frontend/src/lib/constants.js +2 -1
  558. package/frontend/src/lib/stores/runner.js +5 -2
  559. package/frontend/src/lib/styles/tokens.css +4 -0
  560. package/frontend/src/lib/utils/format.js +3 -0
  561. package/frontend/src/routes/reports/[id]/+page.svelte +5 -1
  562. package/frontend/src/routes/reports/live/+page.svelte +38 -17
  563. package/frontend/src/routes/scheduled-tests/+page.svelte +2 -2
  564. package/frontend/src/routes/settings/+page.svelte +50 -1
  565. package/package.json +1 -1
  566. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.DLLowvEA.css +0 -34
  567. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Button.cBruH0aD.css +0 -34
  568. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.D7eM-6MV.css +0 -34
  569. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BVnUajEa.css +0 -34
  570. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CGnCsn5q.css +0 -34
  571. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DBhBrHFz.css +0 -34
  572. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DOqo0UR4.css +0 -34
  573. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_slug_/_page.svelte.js +0 -42
  574. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CnXRuPt4.css +0 -34
  575. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CGnCsn5q.css +0 -34
  576. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BVnUajEa.css +0 -34
  577. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.DBhBrHFz.css +0 -34
  578. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.D93VAB-w.css +0 -34
  579. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.DLLowvEA.css +0 -34
  580. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.cBruH0aD.css +0 -34
  581. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.D7eM-6MV.css +0 -34
  582. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BVnUajEa.css +0 -34
  583. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CGnCsn5q.css +0 -34
  584. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DBhBrHFz.css +0 -34
  585. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DOqo0UR4.css +0 -34
  586. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0bn91RF.js +0 -18
  587. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B1kE5jmt.js +0 -23
  588. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Be4iUAB0.js +0 -18
  589. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BpaMqo9O.js +0 -18
  590. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bt3-Z7H1.js +0 -18
  591. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cit9MuSg.js +0 -20
  592. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DBk3zeq4.js +0 -18
  593. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DFJLQFic.js +0 -18
  594. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DTUE7kkY.js +0 -18
  595. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IYPwzKs_.js +0 -20
  596. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.C2MbX06K.js +0 -19
  597. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BsCYK-Tn.js +0 -21
  598. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.D9yQNzK8.js +0 -18
  599. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.CBC5WvNb.js +0 -18
  600. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BU6UZHSE.js +0 -19
  601. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.Dzzfrntl.js +0 -18
  602. package/frontend/.svelte-kit/output/client/favicon.png +0 -0
  603. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.DLLowvEA.css +0 -34
  604. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Button.cBruH0aD.css +0 -34
  605. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.D7eM-6MV.css +0 -34
  606. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BVnUajEa.css +0 -34
  607. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CGnCsn5q.css +0 -34
  608. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DBhBrHFz.css +0 -34
  609. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DOqo0UR4.css +0 -34
  610. package/frontend/.svelte-kit/output/server/entries/pages/reports/_slug_/_page.svelte.js +0 -42
  611. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css +0 -34
  612. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.br +0 -0
  613. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.gz +0 -0
  614. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css +0 -34
  615. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.br +0 -0
  616. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.gz +0 -0
  617. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css +0 -34
  618. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.br +0 -0
  619. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.gz +0 -0
  620. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css +0 -34
  621. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.br +0 -0
  622. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.gz +0 -0
  623. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css +0 -34
  624. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.br +0 -0
  625. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.gz +0 -0
  626. package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css +0 -34
  627. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css +0 -34
  628. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.br +0 -0
  629. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.gz +0 -0
  630. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css +0 -34
  631. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.br +0 -0
  632. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.gz +0 -0
  633. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css +0 -34
  634. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.br +0 -0
  635. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.gz +0 -0
  636. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css +0 -34
  637. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.br +0 -0
  638. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.gz +0 -0
  639. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css +0 -34
  640. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.br +0 -0
  641. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.gz +0 -0
  642. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css +0 -34
  643. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.br +0 -0
  644. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.gz +0 -0
  645. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js +0 -18
  646. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.br +0 -0
  647. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.gz +0 -0
  648. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js +0 -23
  649. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.br +0 -0
  650. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.gz +0 -0
  651. package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js +0 -18
  652. package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js.gz +0 -0
  653. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js +0 -18
  654. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.br +0 -0
  655. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.gz +0 -0
  656. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js +0 -18
  657. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.br +0 -0
  658. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.gz +0 -0
  659. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js +0 -18
  660. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.br +0 -0
  661. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.gz +0 -0
  662. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js +0 -20
  663. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.br +0 -0
  664. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.gz +0 -0
  665. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js +0 -18
  666. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.br +0 -0
  667. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.gz +0 -0
  668. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js +0 -18
  669. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.br +0 -0
  670. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.gz +0 -0
  671. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js +0 -18
  672. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.br +0 -0
  673. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.gz +0 -0
  674. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js +0 -18
  675. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.br +0 -0
  676. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.gz +0 -0
  677. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js +0 -20
  678. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.br +0 -0
  679. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.gz +0 -0
  680. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js +0 -18
  681. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.br +0 -0
  682. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.gz +0 -0
  683. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js +0 -19
  684. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.br +0 -0
  685. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.gz +0 -0
  686. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js +0 -21
  687. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.br +0 -0
  688. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.gz +0 -0
  689. package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.br +0 -0
  690. package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.gz +0 -0
  691. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js +0 -18
  692. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.br +0 -0
  693. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.gz +0 -0
  694. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js +0 -18
  695. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.br +0 -0
  696. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.gz +0 -0
  697. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js +0 -19
  698. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.br +0 -0
  699. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.gz +0 -0
  700. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js +0 -18
  701. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.br +0 -0
  702. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.gz +0 -0
  703. package/frontend/build/client/favicon.png +0 -0
  704. package/frontend/build/server/chunks/0-BFfqmlsS.js +0 -26
  705. package/frontend/build/server/chunks/0-BFfqmlsS.js.map +0 -17
  706. package/frontend/build/server/chunks/2-BSZWXCWp.js.map +0 -17
  707. package/frontend/build/server/chunks/3-BYumY9dv.js.map +0 -17
  708. package/frontend/build/server/chunks/4-2UUrCVtM.js.map +0 -17
  709. package/frontend/build/server/chunks/5-C2_y_fwT.js.map +0 -17
  710. package/frontend/build/server/chunks/Badge-CC4U7C0c.js.map +0 -17
  711. package/frontend/build/server/chunks/Button-BLkPicwS.js.map +0 -17
  712. package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js +0 -183
  713. package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js.map +0 -17
  714. package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js +0 -45
  715. package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js.map +0 -17
  716. package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js +0 -142
  717. package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js.map +0 -17
  718. package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js +0 -180
  719. package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js.map +0 -17
  720. package/frontend/build/server/chunks/_page.svelte-s6ZIOitT.js.map +0 -17
  721. package/frontend/build/server/chunks/client-C9IaEwNo.js.map +0 -17
  722. package/frontend/build/server/chunks/exports-OxlCJ8yE.js.map +0 -17
  723. package/frontend/build/server/chunks/index-CjHlq1kt.js.map +0 -17
  724. package/frontend/build/server/chunks/reports-D3ZeYSmi.js.map +0 -17
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"_page.svelte-gnktnXKP.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js"],"sourcesContent":["import { X as store_get, Y as head, Z as ensure_array_like, _ as stringify, $ as unsubscribe_stores, p as pop, a as push } from \"../../../../chunks/index.js\";\nimport { o as onDestroy } from \"../../../../chunks/index-server.js\";\nimport { g as goto } from \"../../../../chunks/client.js\";\nimport { p as page } from \"../../../../chunks/stores.js\";\nimport { b as backgroundRuns, a as runnerState } from \"../../../../chunks/runner.js\";\nimport { r as reportUrl } from \"../../../../chunks/reports.js\";\nimport { a as REDIRECT_DELAY_MS, b as ALL_TESTS_LABEL } from \"../../../../chunks/constants.js\";\nimport { a as triggerLabel } from \"../../../../chunks/format.js\";\nimport { B as BackLink } from \"../../../../chunks/BackLink.js\";\nimport { B as Badge } from \"../../../../chunks/Badge.js\";\nimport { e as escape_html } from \"../../../../chunks/escaping.js\";\nimport { a as attr } from \"../../../../chunks/attributes.js\";\nfunction _page($$payload, $$props) {\n push();\n var $$store_subs;\n let bgRunId, state, isMulti, runningBgList, showPicker, showIdle, activeLane;\n const EMPTY_BG_STATE = {\n output: \"\",\n running: false,\n testCompleted: false,\n latestReportId: null,\n status: \"idle\",\n lanes: [],\n currentRun: null,\n latestScreenshot: null\n };\n let redirectTimer = null;\n let redirectCountdown = REDIRECT_DELAY_MS / 1e3;\n let countdownInterval = null;\n let activeTab = null;\n onDestroy(() => {\n if (redirectTimer) clearTimeout(redirectTimer);\n if (countdownInterval) clearInterval(countdownInterval);\n });\n bgRunId = store_get($$store_subs ??= {}, \"$page\", page).url.searchParams.get(\"run\");\n state = bgRunId ? store_get($$store_subs ??= {}, \"$backgroundRuns\", backgroundRuns)[bgRunId] ?? EMPTY_BG_STATE : store_get($$store_subs ??= {}, \"$runnerState\", runnerState);\n isMulti = state.lanes.length > 0;\n runningBgList = Object.entries(store_get($$store_subs ??= {}, \"$backgroundRuns\", backgroundRuns)).filter(([, r]) => r.running);\n showPicker = !bgRunId && !state.running && !state.testCompleted && runningBgList.length > 0;\n showIdle = !state.running && !state.testCompleted && !showPicker;\n if (showPicker && runningBgList.length === 1) {\n goto(`/reports/live?run=${runningBgList[0][0]}`);\n }\n {\n if (state.lanes.length === 0) {\n activeTab = null;\n } else if (!state.lanes.find((l) => l.id === activeTab)) {\n activeTab = state.lanes[0].id;\n }\n }\n activeLane = state.lanes.find((l) => l.id === activeTab) ?? null;\n if (state.testCompleted && state.latestReportId && !redirectTimer) {\n redirectCountdown = REDIRECT_DELAY_MS / 1e3;\n countdownInterval = setInterval(\n () => {\n redirectCountdown--;\n if (redirectCountdown <= 0) clearInterval(countdownInterval);\n },\n 1e3\n );\n redirectTimer = setTimeout(() => goto(reportUrl(state.latestReportId)), REDIRECT_DELAY_MS);\n }\n head($$payload, ($$payload2) => {\n $$payload2.title = `<title>Live Run — Plum</title>`;\n });\n BackLink($$payload, { href: \"/reports\", label: \"Reports\" });\n $$payload.out += `<!----> `;\n if (showIdle) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<div class=\"idle-state svelte-4v9t4g\"><div class=\"idle-icon svelte-4v9t4g\"><svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-4v9t4g\"><circle cx=\"12\" cy=\"12\" r=\"10\" class=\"svelte-4v9t4g\"></circle><polyline points=\"12 6 12 12 16 14\" class=\"svelte-4v9t4g\"></polyline></svg></div> <h2 class=\"svelte-4v9t4g\">No tests currently running</h2> <p class=\"svelte-4v9t4g\">Start a test from the panel below, then come back here to watch it live.</p> <a href=\"/reports\" class=\"idle-link svelte-4v9t4g\">View past reports →</a></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n if (showPicker) {\n $$payload.out += \"<!--[-->\";\n const each_array = ensure_array_like(runningBgList);\n $$payload.out += `<div class=\"cron-running-state svelte-4v9t4g\"><div class=\"cron-running-icon svelte-4v9t4g\"><span class=\"cron-pulse-dot svelte-4v9t4g\"></span></div> <h2 class=\"svelte-4v9t4g\">${escape_html(runningBgList.length === 1 ? \"A run\" : `${runningBgList.length} runs`)} in progress</h2> <div class=\"cron-task-list svelte-4v9t4g\"><!--[-->`;\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [runId, run] = each_array[$$index];\n $$payload.out += `<a${attr(\"href\", `/reports/live?run=${stringify(runId)}`)} class=\"cron-task-chip svelte-4v9t4g\">${escape_html(run.label)} · ${escape_html(triggerLabel(run.kind))}</a>`;\n }\n $$payload.out += `<!--]--></div> <p class=\"svelte-4v9t4g\">Select a run above, or wait — the report opens automatically when it finishes.</p></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `<div${attr(\"class\", `run-header svelte-4v9t4g ${stringify([\n state.status === \"pass\" ? \"header-pass\" : \"\",\n state.status === \"fail\" ? \"header-fail\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}><div class=\"header-left svelte-4v9t4g\">`;\n if (state.running) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<span class=\"live-badge svelte-4v9t4g\"><span class=\"live-dot svelte-4v9t4g\"></span>Live</span>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n if (state.status === \"pass\") {\n $$payload.out += \"<!--[-->\";\n Badge($$payload, {\n variant: \"pass\",\n children: ($$payload2) => {\n $$payload2.out += `<!---->Passed`;\n },\n $$slots: { default: true }\n });\n } else {\n $$payload.out += \"<!--[!-->\";\n Badge($$payload, {\n variant: \"fail\",\n children: ($$payload2) => {\n $$payload2.out += `<!---->Failed`;\n },\n $$slots: { default: true }\n });\n }\n $$payload.out += `<!--]-->`;\n }\n $$payload.out += `<!--]--> `;\n if (state.currentRun) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<div class=\"run-info svelte-4v9t4g\">`;\n if (state.currentRun.runTitle) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<span class=\"run-title-label svelte-4v9t4g\">${escape_html(state.currentRun.runTitle)}</span> <span class=\"run-sep svelte-4v9t4g\">·</span>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--> <span class=\"run-tag-label svelte-4v9t4g\">${escape_html(state.currentRun.tag || ALL_TESTS_LABEL)}</span> <span class=\"run-sep svelte-4v9t4g\">·</span> <span class=\"run-detail svelte-4v9t4g\">${escape_html(state.currentRun.workers)} worker${escape_html(state.currentRun.workers !== 1 ? \"s\" : \"\")}</span> <span class=\"run-sep svelte-4v9t4g\">·</span> <span class=\"run-detail svelte-4v9t4g\">${escape_html(state.currentRun.browser)}</span> `;\n if (state.lanes.length > 1) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<span class=\"run-sep svelte-4v9t4g\">·</span> <span class=\"run-detail svelte-4v9t4g\">${escape_html(state.lanes.length)} runners</span>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--></div> `;\n if (state.running && !bgRunId) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<button class=\"cancel-btn svelte-4v9t4g\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-4v9t4g\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" class=\"svelte-4v9t4g\"></rect><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" class=\"svelte-4v9t4g\"></line><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" class=\"svelte-4v9t4g\"></line></svg> Cancel run</button>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--></div> `;\n if (state.testCompleted && state.latestReportId) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<div${attr(\"class\", `completion-bar svelte-4v9t4g ${stringify([\n state.status === \"pass\" ? \"pass-bar\" : \"\",\n state.status === \"fail\" ? \"fail-bar\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}><div class=\"completion-left svelte-4v9t4g\">`;\n if (state.status === \"pass\") {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-4v9t4g\"><polyline points=\"20 6 9 17 4 12\" class=\"svelte-4v9t4g\"></polyline></svg> All tests passed`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-4v9t4g\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" class=\"svelte-4v9t4g\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" class=\"svelte-4v9t4g\"></line></svg> Some tests failed`;\n }\n $$payload.out += `<!--]--></div> <div class=\"completion-right svelte-4v9t4g\"><span class=\"redirect-hint svelte-4v9t4g\">Redirecting in ${escape_html(redirectCountdown)}s…</span> <button class=\"view-now-btn svelte-4v9t4g\">View Report Now <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-4v9t4g\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" class=\"svelte-4v9t4g\"></line><polyline points=\"12 5 19 12 12 19\" class=\"svelte-4v9t4g\"></polyline></svg></button></div></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--> `;\n if (isMulti) {\n $$payload.out += \"<!--[-->\";\n const each_array_1 = ensure_array_like(state.lanes);\n $$payload.out += `<div class=\"lane-tabs svelte-4v9t4g\"><!--[-->`;\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let lane = each_array_1[$$index_1];\n $$payload.out += `<button${attr(\"class\", `lane-tab svelte-4v9t4g ${stringify([activeTab === lane.id ? \"active\" : \"\"].filter(Boolean).join(\" \"))}`)}><span${attr(\"class\", `tab-dot svelte-4v9t4g ${stringify([\n lane.status === \"running\" ? \"tab-dot-running\" : \"\",\n lane.status === \"done\" ? \"tab-dot-done\" : \"\",\n lane.status === \"error\" ? \"tab-dot-error\" : \"\"\n ].filter(Boolean).join(\" \"))}`)}></span> ${escape_html(lane.name)} `;\n if (lane.testCount) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<span class=\"tab-count svelte-4v9t4g\">${escape_html(lane.testCount)}</span>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--></button>`;\n }\n $$payload.out += `<!--]--></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n }\n $$payload.out += `<!--]--> <div${attr(\"class\", `run-view svelte-4v9t4g ${stringify([isMulti ? \"no-top-radius\" : \"\"].filter(Boolean).join(\" \"))}`)}><div class=\"screenshot-panel svelte-4v9t4g\">`;\n if (isMulti) {\n $$payload.out += \"<!--[-->\";\n if (activeLane?.latestScreenshot) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<!---->`;\n {\n $$payload.out += `<img${attr(\"src\", `data:image/jpeg;base64,${stringify(activeLane.latestScreenshot.data)}`)} class=\"live-shot svelte-4v9t4g\" alt=\"Live browser view\">`;\n }\n $$payload.out += `<!----> <div class=\"step-overlay svelte-4v9t4g\"><span class=\"step-keyword svelte-4v9t4g\">Step</span> <span class=\"step-name svelte-4v9t4g\">${escape_html(activeLane.latestScreenshot.stepName)}</span></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `<div class=\"awaiting-state svelte-4v9t4g\"><svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.25\" class=\"svelte-4v9t4g\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\" class=\"svelte-4v9t4g\"></rect><circle cx=\"12\" cy=\"12\" r=\"3\" class=\"svelte-4v9t4g\"></circle></svg> <span class=\"svelte-4v9t4g\">${escape_html(activeLane?.status === \"running\" ? \"Awaiting stream...\" : \"No stream...\")}</span></div>`;\n }\n $$payload.out += `<!--]-->`;\n } else {\n $$payload.out += \"<!--[!-->\";\n if (state.latestScreenshot) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<!---->`;\n {\n $$payload.out += `<img${attr(\"src\", `data:image/jpeg;base64,${stringify(state.latestScreenshot.data)}`)} class=\"live-shot svelte-4v9t4g\" alt=\"Live browser view\">`;\n }\n $$payload.out += `<!----> <div class=\"step-overlay svelte-4v9t4g\"><span class=\"step-keyword svelte-4v9t4g\">Step</span> <span class=\"step-name svelte-4v9t4g\">${escape_html(state.latestScreenshot.stepName)}</span></div>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `<div class=\"awaiting-state svelte-4v9t4g\"><svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.25\" class=\"svelte-4v9t4g\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\" class=\"svelte-4v9t4g\"></rect><circle cx=\"12\" cy=\"12\" r=\"3\" class=\"svelte-4v9t4g\"></circle></svg> <span class=\"svelte-4v9t4g\">${escape_html(state.running ? \"Awaiting stream...\" : \"No stream\")}</span></div>`;\n }\n $$payload.out += `<!--]-->`;\n }\n $$payload.out += `<!--]--></div> <div class=\"terminal-panel svelte-4v9t4g\"><div class=\"terminal-bar svelte-4v9t4g\"><span class=\"dot red svelte-4v9t4g\"></span> <span class=\"dot yellow svelte-4v9t4g\"></span> <span class=\"dot green svelte-4v9t4g\"></span> <span class=\"terminal-label svelte-4v9t4g\">`;\n if (isMulti) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `${escape_html(activeLane?.name ?? \"Runner\")}`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `${escape_html(state.running ? \"Running…\" : \"Finished\")}`;\n }\n $$payload.out += `<!--]--></span></div> `;\n if (isMulti) {\n $$payload.out += \"<!--[-->\";\n $$payload.out += `<pre class=\"terminal svelte-4v9t4g\">${escape_html(activeLane?.logs || \"(waiting for output…)\")}</pre>`;\n } else {\n $$payload.out += \"<!--[!-->\";\n $$payload.out += `<pre class=\"terminal svelte-4v9t4g\">${escape_html(state.output)}</pre>`;\n }\n $$payload.out += `<!--]--></div></div>`;\n }\n $$payload.out += `<!--]-->`;\n }\n $$payload.out += `<!--]-->`;\n if ($$store_subs) unsubscribe_stores($$store_subs);\n pop();\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
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
+ import { W as writable } from './index2-DG8XHU5D.js';
19
+
20
+ const TOKEN_KEY = "plum:token";
21
+ const USER_KEY = "plum:user";
22
+ function createAuthStore() {
23
+ let initialToken = null;
24
+ let initialUser = null;
25
+ try {
26
+ initialToken = typeof localStorage !== "undefined" ? localStorage.getItem(TOKEN_KEY) : null;
27
+ const raw = typeof localStorage !== "undefined" ? localStorage.getItem(USER_KEY) : null;
28
+ initialUser = raw ? JSON.parse(raw) : null;
29
+ } catch {
30
+ }
31
+ const { subscribe, set, update } = writable({ token: initialToken, user: initialUser });
32
+ return {
33
+ subscribe,
34
+ login(token, user) {
35
+ try {
36
+ localStorage.setItem(TOKEN_KEY, token);
37
+ localStorage.setItem(USER_KEY, JSON.stringify(user));
38
+ } catch {
39
+ }
40
+ set({ token, user });
41
+ },
42
+ logout() {
43
+ try {
44
+ localStorage.removeItem(TOKEN_KEY);
45
+ localStorage.removeItem(USER_KEY);
46
+ } catch {
47
+ }
48
+ set({ token: null, user: null });
49
+ },
50
+ getToken() {
51
+ try {
52
+ return localStorage.getItem(TOKEN_KEY);
53
+ } catch {
54
+ return null;
55
+ }
56
+ }
57
+ };
58
+ }
59
+ const auth = createAuthStore();
60
+
61
+ export { auth as a };
62
+ //# sourceMappingURL=auth-rlH-cIzn.js.map
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"auth-rlH-cIzn.js","sources":["../../../.svelte-kit/adapter-node/chunks/auth.js"],"sourcesContent":["import { w as writable } from \"./index2.js\";\nconst TOKEN_KEY = \"plum:token\";\nconst USER_KEY = \"plum:user\";\nfunction createAuthStore() {\n let initialToken = null;\n let initialUser = null;\n try {\n initialToken = typeof localStorage !== \"undefined\" ? localStorage.getItem(TOKEN_KEY) : null;\n const raw = typeof localStorage !== \"undefined\" ? localStorage.getItem(USER_KEY) : null;\n initialUser = raw ? JSON.parse(raw) : null;\n } catch {\n }\n const { subscribe, set, update } = writable({ token: initialToken, user: initialUser });\n return {\n subscribe,\n login(token, user) {\n try {\n localStorage.setItem(TOKEN_KEY, token);\n localStorage.setItem(USER_KEY, JSON.stringify(user));\n } catch {\n }\n set({ token, user });\n },\n logout() {\n try {\n localStorage.removeItem(TOKEN_KEY);\n localStorage.removeItem(USER_KEY);\n } catch {\n }\n set({ token: null, user: null });\n },\n getToken() {\n try {\n return localStorage.getItem(TOKEN_KEY);\n } catch {\n return null;\n }\n }\n };\n}\nconst auth = createAuthStore();\nexport {\n auth as a\n};\n"],"names":[],"mappings":";;AACA,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,QAAQ,GAAG,WAAW;AAC5B,SAAS,eAAe,GAAG;AAC3B,EAAE,IAAI,YAAY,GAAG,IAAI;AACzB,EAAE,IAAI,WAAW,GAAG,IAAI;AACxB,EAAE,IAAI;AACN,IAAI,YAAY,GAAG,OAAO,YAAY,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;AAC/F,IAAI,MAAM,GAAG,GAAG,OAAO,YAAY,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;AAC3F,IAAI,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;AAC9C,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACzF,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;AACvB,MAAM,IAAI;AACV,QAAQ,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;AAC9C,QAAQ,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM,CAAC,CAAC,MAAM;AACd,MAAM;AACN,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC1B,IAAI,CAAC;AACL,IAAI,MAAM,GAAG;AACb,MAAM,IAAI;AACV,QAAQ,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1C,QAAQ,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzC,MAAM,CAAC,CAAC,MAAM;AACd,MAAM;AACN,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,IAAI,CAAC;AACL,IAAI,QAAQ,GAAG;AACf,MAAM,IAAI;AACV,QAAQ,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;AAC9C,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,IAAI;AACJ,GAAG;AACH;AACK,MAAC,IAAI,GAAG,eAAe;;;;"}
@@ -15,8 +15,8 @@
15
15
  * along with Plum. If not, see https://www.gnu.org/licenses/.
16
16
  */
17
17
 
18
- import { w as writable } from './exports-OxlCJ8yE.js';
19
- import { a1 as noop } from './index-CjHlq1kt.js';
18
+ import './exports-D0QHgeSL.js';
19
+ import { a8 as noop, W as writable } from './index2-DG8XHU5D.js';
20
20
 
21
21
  const SNAPSHOT_KEY = "sveltekit:snapshot";
22
22
  const SCROLL_KEY = "sveltekit:scroll";
@@ -47,6 +47,11 @@ get(SNAPSHOT_KEY) ?? {};
47
47
  const stores = {
48
48
  updated: /* @__PURE__ */ create_updated_store()
49
49
  };
50
+ function goto(url, opts = {}) {
51
+ {
52
+ throw new Error("Cannot call goto(...) on the server");
53
+ }
54
+ }
50
55
 
51
- export { stores as s };
52
- //# sourceMappingURL=client-C9IaEwNo.js.map
56
+ export { goto as g, stores as s };
57
+ //# sourceMappingURL=client-DyII78e0.js.map
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"client-DyII78e0.js","sources":["../../../.svelte-kit/adapter-node/chunks/client.js"],"sourcesContent":["import \"clsx\";\nimport \"./exports.js\";\nimport { w as writable } from \"./index2.js\";\nimport { a6 as noop } from \"./index.js\";\nconst SNAPSHOT_KEY = \"sveltekit:snapshot\";\nconst SCROLL_KEY = \"sveltekit:scroll\";\nfunction create_updated_store() {\n const { set, subscribe } = writable(false);\n {\n return {\n subscribe,\n // eslint-disable-next-line @typescript-eslint/require-await\n check: async () => false\n };\n }\n}\nconst is_legacy = noop.toString().includes(\"$$\") || /function \\w+\\(\\) \\{\\}/.test(noop.toString());\nif (is_legacy) {\n ({\n data: {},\n form: null,\n error: null,\n params: {},\n route: { id: null },\n state: {},\n status: -1,\n url: new URL(\"https://example.com\")\n });\n}\nfunction get(key, parse = JSON.parse) {\n try {\n return parse(sessionStorage[key]);\n } catch {\n }\n}\nget(SCROLL_KEY) ?? {};\nget(SNAPSHOT_KEY) ?? {};\nconst stores = {\n updated: /* @__PURE__ */ create_updated_store()\n};\nfunction goto(url, opts = {}) {\n {\n throw new Error(\"Cannot call goto(...) on the server\");\n }\n}\nexport {\n goto as g,\n stores as s\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,GAAG,oBAAoB;AACzC,MAAM,UAAU,GAAG,kBAAkB;AACrC,SAAS,oBAAoB,GAAG;AAChC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE;AACF,IAAI,OAAO;AACX,MAAM,SAAS;AACf;AACA,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK;AACL,EAAE;AACF;AACA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjG,IAAI,SAAS,EAAE;AACf,EAAE,CAAC;AACH,IAOI,GAAG,EAAE,IAAI,GAAG,CAAC,qBAAqB;AACtC,GAAG;AACH;AACA,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI;AACN,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACrC,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF;AACA,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;AACrB,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;AAClB,MAAC,MAAM,GAAG;AACf,EAAE,OAAO,kBAAkB,oBAAoB;AAC/C;AACA,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE;AAC9B,EAAE;AACF,IAAI,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;AAC1D,EAAE;AACF;;;;"}
@@ -0,0 +1,35 @@
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
+ const API_BASE = "http://localhost:3001";
19
+ const BROWSERS = [
20
+ { id: "chromium", label: "Chrome" },
21
+ { id: "firefox", label: "Firefox" }
22
+ ];
23
+ const TRIGGER_TYPES = Object.freeze({
24
+ MANUAL: "manual-trigger",
25
+ CLI: "command-line-trigger",
26
+ MCP: "mcp-trigger",
27
+ EXTERNAL: "external-trigger"
28
+ });
29
+ const REPORTS_PER_PAGE = 15;
30
+ const SUITE_CASES_PER_PAGE = 20;
31
+ const REDIRECT_DELAY_MS = 3e3;
32
+ const ALL_TESTS_LABEL = "all tests";
33
+
34
+ export { API_BASE as A, BROWSERS as B, REPORTS_PER_PAGE as R, SUITE_CASES_PER_PAGE as S, TRIGGER_TYPES as T, REDIRECT_DELAY_MS as a, ALL_TESTS_LABEL as b };
35
+ //# sourceMappingURL=constants-Drz-Vo39.js.map
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"constants-Drz-Vo39.js","sources":["../../../.svelte-kit/adapter-node/chunks/constants.js"],"sourcesContent":["const API_BASE = \"http://localhost:3001\";\nconst BROWSERS = [\n { id: \"chromium\", label: \"Chrome\" },\n { id: \"firefox\", label: \"Firefox\" }\n];\nconst TRIGGER_TYPES = Object.freeze({\n MANUAL: \"manual-trigger\",\n CLI: \"command-line-trigger\",\n MCP: \"mcp-trigger\",\n EXTERNAL: \"external-trigger\"\n});\nconst REPORTS_PER_PAGE = 15;\nconst SUITE_CASES_PER_PAGE = 20;\nconst REDIRECT_DELAY_MS = 3e3;\nconst ALL_TESTS_LABEL = \"all tests\";\nexport {\n API_BASE as A,\n BROWSERS as B,\n REPORTS_PER_PAGE as R,\n SUITE_CASES_PER_PAGE as S,\n TRIGGER_TYPES as T,\n REDIRECT_DELAY_MS as a,\n ALL_TESTS_LABEL as b\n};\n"],"names":[],"mappings":"AAAK,MAAC,QAAQ,GAAG;AACZ,MAAC,QAAQ,GAAG;AACjB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AACrC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;AACnC;AACK,MAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,GAAG,EAAE,sBAAsB;AAC7B,EAAE,GAAG,EAAE,aAAa;AACpB,EAAE,QAAQ,EAAE;AACZ,CAAC;AACI,MAAC,gBAAgB,GAAG;AACpB,MAAC,oBAAoB,GAAG;AACxB,MAAC,iBAAiB,GAAG;AACrB,MAAC,eAAe,GAAG;;;;"}
@@ -16,9 +16,9 @@
16
16
  */
17
17
 
18
18
  import { e as escape_html } from './escaping-CqgfEcN3.js';
19
- import { J as push, N as pop, $ as getContext } from './index-CjHlq1kt.js';
20
- import { s as stores } from './client-C9IaEwNo.js';
21
- import './exports-OxlCJ8yE.js';
19
+ import { N as push, P as pop, Y as getContext } from './index2-DG8XHU5D.js';
20
+ import { s as stores } from './client-DyII78e0.js';
21
+ import './exports-D0QHgeSL.js';
22
22
 
23
23
  ({
24
24
  check: stores.updated.check
@@ -42,4 +42,4 @@ function Error$1($$payload, $$props) {
42
42
  }
43
43
 
44
44
  export { Error$1 as default };
45
- //# sourceMappingURL=error.svelte-HKBv5sQT.js.map
45
+ //# sourceMappingURL=error.svelte-BDW3iP1O.js.map
@@ -14,4 +14,4 @@ GNU General Public License for more details.
14
14
  You should have received a copy of the GNU General Public License
15
15
  along with Plum. If not, see https://www.gnu.org/licenses/.
16
16
  */
17
- {"version":3,"file":"error.svelte-HKBv5sQT.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { e as escape_html } from \"../../chunks/escaping.js\";\nimport \"clsx\";\nimport { g as getContext, p as pop, a as push } from \"../../chunks/index.js\";\nimport { s as stores } from \"../../chunks/client.js\";\n({\n check: stores.updated.check\n});\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n }\n};\nconst page = page$1;\nfunction Error$1($$payload, $$props) {\n push();\n $$payload.out += `<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`;\n pop();\n}\nexport {\n Error$1 as default\n};\n"],"names":[],"mappings":";;;;;AAIA,CAAC;AACD,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,SAAS,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;AACrC,EAAE,IAAI,EAAE;AACR,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;AACpG,EAAE,GAAG,EAAE;AACP;;;;"}
17
+ {"version":3,"file":"error.svelte-BDW3iP1O.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { e as escape_html } from \"../../chunks/escaping.js\";\nimport \"clsx\";\nimport { g as getContext, p as pop, a as push } from \"../../chunks/index.js\";\nimport { s as stores } from \"../../chunks/client.js\";\n({\n check: stores.updated.check\n});\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n }\n};\nconst page = page$1;\nfunction Error$1($$payload, $$props) {\n push();\n $$payload.out += `<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`;\n pop();\n}\nexport {\n Error$1 as default\n};\n"],"names":[],"mappings":";;;;;AAIA,CAAC;AACD,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,SAAS,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;AACrC,EAAE,IAAI,EAAE;AACR,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;AACpG,EAAE,GAAG,EAAE;AACP;;;;"}
@@ -15,71 +15,6 @@
15
15
  * along with Plum. If not, see https://www.gnu.org/licenses/.
16
16
  */
17
17
 
18
- import { a1 as noop } from './index-CjHlq1kt.js';
19
-
20
- function equals(value) {
21
- return value === this.v;
22
- }
23
- function safe_not_equal(a, b) {
24
- return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
25
- }
26
- function safe_equals(value) {
27
- return !safe_not_equal(value, this.v);
28
- }
29
-
30
- const subscriber_queue = [];
31
- function readable(value, start) {
32
- return {
33
- subscribe: writable(value, start).subscribe
34
- };
35
- }
36
- function writable(value, start = noop) {
37
- let stop = null;
38
- const subscribers = /* @__PURE__ */ new Set();
39
- function set(new_value) {
40
- if (safe_not_equal(value, new_value)) {
41
- value = new_value;
42
- if (stop) {
43
- const run_queue = !subscriber_queue.length;
44
- for (const subscriber of subscribers) {
45
- subscriber[1]();
46
- subscriber_queue.push(subscriber, value);
47
- }
48
- if (run_queue) {
49
- for (let i = 0; i < subscriber_queue.length; i += 2) {
50
- subscriber_queue[i][0](subscriber_queue[i + 1]);
51
- }
52
- subscriber_queue.length = 0;
53
- }
54
- }
55
- }
56
- }
57
- function update(fn) {
58
- set(fn(
59
- /** @type {T} */
60
- value
61
- ));
62
- }
63
- function subscribe(run, invalidate = noop) {
64
- const subscriber = [run, invalidate];
65
- subscribers.add(subscriber);
66
- if (subscribers.size === 1) {
67
- stop = start(set, update) || noop;
68
- }
69
- run(
70
- /** @type {T} */
71
- value
72
- );
73
- return () => {
74
- subscribers.delete(subscriber);
75
- if (subscribers.size === 0 && stop) {
76
- stop();
77
- stop = null;
78
- }
79
- };
80
- }
81
- return { set, update, subscribe };
82
- }
83
18
  const internal = new URL("sveltekit-internal://");
84
19
  function resolve(base, path) {
85
20
  if (path[0] === "/" && path[1] === "/") return path;
@@ -188,5 +123,5 @@ const valid_layout_exports = /* @__PURE__ */ new Set([
188
123
  const valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]);
189
124
  /* @__PURE__ */ new Set([...valid_layout_server_exports, "actions", "entries"]);
190
125
 
191
- export { decode_params as a, disable_search as b, readable as c, decode_pathname as d, equals as e, make_trackable as m, normalize_path as n, resolve as r, safe_equals as s, writable as w };
192
- //# sourceMappingURL=exports-OxlCJ8yE.js.map
126
+ export { decode_params as a, disable_search as b, decode_pathname as d, make_trackable as m, normalize_path as n, resolve as r };
127
+ //# sourceMappingURL=exports-D0QHgeSL.js.map
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"exports-D0QHgeSL.js","sources":["../../../.svelte-kit/adapter-node/chunks/exports.js"],"sourcesContent":["const internal = new URL(\"sveltekit-internal://\");\nfunction resolve(base, path) {\n if (path[0] === \"/\" && path[1] === \"/\") return path;\n let url = new URL(base, internal);\n url = new URL(path, url);\n return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href;\n}\nfunction normalize_path(path, trailing_slash) {\n if (path === \"/\" || trailing_slash === \"ignore\") return path;\n if (trailing_slash === \"never\") {\n return path.endsWith(\"/\") ? path.slice(0, -1) : path;\n } else if (trailing_slash === \"always\" && !path.endsWith(\"/\")) {\n return path + \"/\";\n }\n return path;\n}\nfunction decode_pathname(pathname) {\n return pathname.split(\"%25\").map(decodeURI).join(\"%25\");\n}\nfunction decode_params(params) {\n for (const key in params) {\n params[key] = decodeURIComponent(params[key]);\n }\n return params;\n}\nfunction make_trackable(url, callback, search_params_callback, allow_hash = false) {\n const tracked = new URL(url);\n Object.defineProperty(tracked, \"searchParams\", {\n value: new Proxy(tracked.searchParams, {\n get(obj, key) {\n if (key === \"get\" || key === \"getAll\" || key === \"has\") {\n return (param) => {\n search_params_callback(param);\n return obj[key](param);\n };\n }\n callback();\n const value = Reflect.get(obj, key);\n return typeof value === \"function\" ? value.bind(obj) : value;\n }\n }),\n enumerable: true,\n configurable: true\n });\n const tracked_url_properties = [\"href\", \"pathname\", \"search\", \"toString\", \"toJSON\"];\n if (allow_hash) tracked_url_properties.push(\"hash\");\n for (const property of tracked_url_properties) {\n Object.defineProperty(tracked, property, {\n get() {\n callback();\n return url[property];\n },\n enumerable: true,\n configurable: true\n });\n }\n {\n tracked[Symbol.for(\"nodejs.util.inspect.custom\")] = (depth, opts, inspect) => {\n return inspect(url, opts);\n };\n tracked.searchParams[Symbol.for(\"nodejs.util.inspect.custom\")] = (depth, opts, inspect) => {\n return inspect(url.searchParams, opts);\n };\n }\n if (!allow_hash) {\n disable_hash(tracked);\n }\n return tracked;\n}\nfunction disable_hash(url) {\n allow_nodejs_console_log(url);\n Object.defineProperty(url, \"hash\", {\n get() {\n throw new Error(\n \"Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead\"\n );\n }\n });\n}\nfunction disable_search(url) {\n allow_nodejs_console_log(url);\n for (const property of [\"search\", \"searchParams\"]) {\n Object.defineProperty(url, property, {\n get() {\n throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);\n }\n });\n }\n}\nfunction allow_nodejs_console_log(url) {\n {\n url[Symbol.for(\"nodejs.util.inspect.custom\")] = (depth, opts, inspect) => {\n return inspect(new URL(url), opts);\n };\n }\n}\nfunction validator(expected) {\n function validate(module, file) {\n if (!module) return;\n for (const key in module) {\n if (key[0] === \"_\" || expected.has(key)) continue;\n const values = [...expected.values()];\n const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf(\".\"))) ?? `valid exports are ${values.join(\", \")}, or anything with a '_' prefix`;\n throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : \"\"} (${hint})`);\n }\n }\n return validate;\n}\nfunction hint_for_supported_files(key, ext = \".js\") {\n const supported_files = [];\n if (valid_layout_exports.has(key)) {\n supported_files.push(`+layout${ext}`);\n }\n if (valid_page_exports.has(key)) {\n supported_files.push(`+page${ext}`);\n }\n if (valid_layout_server_exports.has(key)) {\n supported_files.push(`+layout.server${ext}`);\n }\n if (valid_page_server_exports.has(key)) {\n supported_files.push(`+page.server${ext}`);\n }\n if (valid_server_exports.has(key)) {\n supported_files.push(`+server${ext}`);\n }\n if (supported_files.length > 0) {\n return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(\", \")}${supported_files.length > 1 ? \" or \" : \"\"}${supported_files.at(-1)}`;\n }\n}\nconst valid_layout_exports = /* @__PURE__ */ new Set([\n \"load\",\n \"prerender\",\n \"csr\",\n \"ssr\",\n \"trailingSlash\",\n \"config\"\n]);\nconst valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, \"entries\"]);\nconst valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]);\nconst valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, \"actions\", \"entries\"]);\nconst valid_server_exports = /* @__PURE__ */ new Set([\n \"GET\",\n \"POST\",\n \"PATCH\",\n \"PUT\",\n \"DELETE\",\n \"OPTIONS\",\n \"HEAD\",\n \"fallback\",\n \"prerender\",\n \"trailingSlash\",\n \"config\",\n \"entries\"\n]);\nconst validate_layout_exports = validator(valid_layout_exports);\nconst validate_page_exports = validator(valid_page_exports);\nconst validate_layout_server_exports = validator(valid_layout_server_exports);\nconst validate_page_server_exports = validator(valid_page_server_exports);\nconst validate_server_exports = validator(valid_server_exports);\nexport {\n decode_params as a,\n decode_pathname as b,\n validate_layout_exports as c,\n disable_search as d,\n validate_page_server_exports as e,\n validate_page_exports as f,\n validate_server_exports as g,\n make_trackable as m,\n normalize_path as n,\n resolve as r,\n validate_layout_server_exports as v\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
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
+ import { T as TRIGGER_TYPES } from './constants-Drz-Vo39.js';
19
+
20
+ const NON_SCHEDULED = /* @__PURE__ */ new Set([
21
+ TRIGGER_TYPES.MANUAL,
22
+ TRIGGER_TYPES.CLI,
23
+ TRIGGER_TYPES.MCP,
24
+ TRIGGER_TYPES.EXTERNAL,
25
+ "undefined"
26
+ ]);
27
+ function isScheduled(type) {
28
+ return !!type && !NON_SCHEDULED.has(type);
29
+ }
30
+ function triggerLabel(type) {
31
+ if (type === TRIGGER_TYPES.MANUAL) return "Manual";
32
+ if (type === TRIGGER_TYPES.CLI || type === "undefined") return "CLI";
33
+ if (type === TRIGGER_TYPES.MCP) return "MCP";
34
+ if (type === TRIGGER_TYPES.EXTERNAL) return "External";
35
+ return "Scheduled";
36
+ }
37
+ function triggerVariant(type) {
38
+ if (type === TRIGGER_TYPES.MANUAL) return "tag";
39
+ if (type === TRIGGER_TYPES.CLI || type === "undefined") return "neutral";
40
+ if (type === TRIGGER_TYPES.MCP) return "mcp";
41
+ if (type === TRIGGER_TYPES.EXTERNAL) return "external";
42
+ return "schedule";
43
+ }
44
+ function stagger(i, stepMs = 45) {
45
+ return `animation-delay: ${i * stepMs}ms`;
46
+ }
47
+
48
+ export { triggerLabel as a, isScheduled as i, stagger as s, triggerVariant as t };
49
+ //# sourceMappingURL=format-D26ZQccb.js.map
@@ -0,0 +1,17 @@
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
+ {"version":3,"file":"format-D26ZQccb.js","sources":["../../../.svelte-kit/adapter-node/chunks/format.js"],"sourcesContent":["import { T as TRIGGER_TYPES } from \"./constants.js\";\nconst NON_SCHEDULED = /* @__PURE__ */ new Set([\n TRIGGER_TYPES.MANUAL,\n TRIGGER_TYPES.CLI,\n TRIGGER_TYPES.MCP,\n TRIGGER_TYPES.EXTERNAL,\n \"undefined\"\n]);\nfunction isScheduled(type) {\n return !!type && !NON_SCHEDULED.has(type);\n}\nfunction triggerLabel(type) {\n if (type === TRIGGER_TYPES.MANUAL) return \"Manual\";\n if (type === TRIGGER_TYPES.CLI || type === \"undefined\") return \"CLI\";\n if (type === TRIGGER_TYPES.MCP) return \"MCP\";\n if (type === TRIGGER_TYPES.EXTERNAL) return \"External\";\n return \"Scheduled\";\n}\nfunction triggerVariant(type) {\n if (type === TRIGGER_TYPES.MANUAL) return \"tag\";\n if (type === TRIGGER_TYPES.CLI || type === \"undefined\") return \"neutral\";\n if (type === TRIGGER_TYPES.MCP) return \"mcp\";\n if (type === TRIGGER_TYPES.EXTERNAL) return \"external\";\n return \"schedule\";\n}\nfunction stagger(i, stepMs = 45) {\n return `animation-delay: ${i * stepMs}ms`;\n}\nexport {\n triggerLabel as a,\n isScheduled as i,\n stagger as s,\n triggerVariant as t\n};\n"],"names":[],"mappings":";;AACA,MAAM,aAAa,mBAAmB,IAAI,GAAG,CAAC;AAC9C,EAAE,aAAa,CAAC,MAAM;AACtB,EAAE,aAAa,CAAC,GAAG;AACnB,EAAE,aAAa,CAAC,GAAG;AACnB,EAAE,aAAa,CAAC,QAAQ;AACxB,EAAE;AACF,CAAC,CAAC;AACF,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC3C;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE,OAAO,QAAQ;AACpD,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,GAAG,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,KAAK;AACtE,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,GAAG,EAAE,OAAO,KAAK;AAC9C,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE,OAAO,UAAU;AACxD,EAAE,OAAO,WAAW;AACpB;AACA,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE,OAAO,KAAK;AACjD,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,GAAG,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,SAAS;AAC1E,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,GAAG,EAAE,OAAO,KAAK;AAC9C,EAAE,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE,OAAO,UAAU;AACxD,EAAE,OAAO,UAAU;AACnB;AACA,SAAS,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE;AACjC,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAC3C;;;;"}
@@ -0,0 +1,31 @@
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
+ import { a6 as current_component } from './index2-DG8XHU5D.js';
19
+
20
+ function onDestroy(fn) {
21
+ var context = (
22
+ /** @type {Component} */
23
+ current_component
24
+ );
25
+ (context.d ??= []).push(fn);
26
+ }
27
+ async function tick() {
28
+ }
29
+
30
+ export { onDestroy as o, tick as t };
31
+ //# sourceMappingURL=index-server-Dr2Nvcmu.js.map