plum-e2e 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/backend/_scaffold/utils/browser.ts +1 -0
  2. package/backend/package-lock.json +2 -2
  3. package/backend/package.json +1 -1
  4. package/bin/plum.js +4 -3
  5. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +190 -0
  6. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
  7. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Button.cBruH0aD.css +17 -0
  8. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
  9. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BVnUajEa.css +17 -0
  10. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
  11. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
  12. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
  13. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +30 -0
  14. package/frontend/.svelte-kit/adapter-node/chunks/Button.js +32 -0
  15. package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +34 -0
  16. package/frontend/.svelte-kit/adapter-node/chunks/client.js +59 -0
  17. package/frontend/.svelte-kit/adapter-node/chunks/equality.js +31 -0
  18. package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +36 -0
  19. package/frontend/.svelte-kit/adapter-node/chunks/exports.js +247 -0
  20. package/frontend/.svelte-kit/adapter-node/chunks/index.js +1135 -0
  21. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +695 -0
  22. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +57 -0
  23. package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +44 -0
  24. package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +181 -0
  25. package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +164 -0
  26. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +141 -0
  27. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_slug_/_page.svelte.js +42 -0
  28. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +179 -0
  29. package/frontend/.svelte-kit/adapter-node/index.js +3144 -0
  30. package/frontend/.svelte-kit/adapter-node/internal.js +30 -0
  31. package/frontend/.svelte-kit/adapter-node/manifest-full.js +77 -0
  32. package/frontend/.svelte-kit/adapter-node/manifest.js +81 -0
  33. package/frontend/.svelte-kit/adapter-node/nodes/0.js +25 -0
  34. package/frontend/.svelte-kit/adapter-node/nodes/1.js +25 -0
  35. package/frontend/.svelte-kit/adapter-node/nodes/2.js +25 -0
  36. package/frontend/.svelte-kit/adapter-node/nodes/3.js +25 -0
  37. package/frontend/.svelte-kit/adapter-node/nodes/4.js +25 -0
  38. package/frontend/.svelte-kit/adapter-node/nodes/5.js +25 -0
  39. package/frontend/.svelte-kit/ambient.d.ts +240 -0
  40. package/frontend/.svelte-kit/generated/client/app.js +51 -0
  41. package/frontend/.svelte-kit/generated/client/matchers.js +18 -0
  42. package/frontend/.svelte-kit/generated/client/nodes/0.js +18 -0
  43. package/frontend/.svelte-kit/generated/client/nodes/1.js +18 -0
  44. package/frontend/.svelte-kit/generated/client/nodes/2.js +18 -0
  45. package/frontend/.svelte-kit/generated/client/nodes/3.js +18 -0
  46. package/frontend/.svelte-kit/generated/client/nodes/4.js +18 -0
  47. package/frontend/.svelte-kit/generated/client/nodes/5.js +18 -0
  48. package/frontend/.svelte-kit/generated/client-optimized/app.js +51 -0
  49. package/frontend/.svelte-kit/generated/client-optimized/matchers.js +18 -0
  50. package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +18 -0
  51. package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +18 -0
  52. package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +18 -0
  53. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +18 -0
  54. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +18 -0
  55. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +18 -0
  56. package/frontend/.svelte-kit/generated/root.js +20 -0
  57. package/frontend/.svelte-kit/generated/root.svelte +83 -0
  58. package/frontend/.svelte-kit/generated/server/internal.js +65 -0
  59. package/frontend/.svelte-kit/non-ambient.d.ts +42 -0
  60. package/frontend/.svelte-kit/output/client/.vite/manifest.json +289 -0
  61. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CnXRuPt4.css +17 -0
  62. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CGnCsn5q.css +17 -0
  63. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BVnUajEa.css +17 -0
  64. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.DBhBrHFz.css +17 -0
  65. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.D93VAB-w.css +17 -0
  66. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
  67. package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.cBruH0aD.css +17 -0
  68. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
  69. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BVnUajEa.css +17 -0
  70. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
  71. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
  72. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
  73. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0bn91RF.js +18 -0
  74. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B1kE5jmt.js +23 -0
  75. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKz6FZdB.js +18 -0
  76. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Be4iUAB0.js +18 -0
  77. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BpaMqo9O.js +18 -0
  78. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bt3-Z7H1.js +18 -0
  79. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CHV2KnPr.js +18 -0
  80. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CJ8q7g9Y.js +18 -0
  81. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cit9MuSg.js +20 -0
  82. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CwBTqcbj.js +18 -0
  83. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DBk3zeq4.js +18 -0
  84. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DFJLQFic.js +18 -0
  85. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DTUE7kkY.js +18 -0
  86. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IYPwzKs_.js +20 -0
  87. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/oc0we5Us.js +18 -0
  88. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/rVEKg0Ak.js +18 -0
  89. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.C2MbX06K.js +19 -0
  90. package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.GiBry-lw.js +18 -0
  91. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BsCYK-Tn.js +21 -0
  92. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.N4gjrCnX.js +18 -0
  93. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.D9yQNzK8.js +18 -0
  94. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.CBC5WvNb.js +18 -0
  95. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BU6UZHSE.js +19 -0
  96. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.Dzzfrntl.js +18 -0
  97. package/frontend/.svelte-kit/output/client/_app/version.json +1 -0
  98. package/frontend/.svelte-kit/output/client/favicon.png +0 -0
  99. package/frontend/.svelte-kit/output/server/.vite/manifest.json +190 -0
  100. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
  101. package/frontend/.svelte-kit/output/server/_app/immutable/assets/Button.cBruH0aD.css +17 -0
  102. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
  103. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BVnUajEa.css +17 -0
  104. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
  105. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
  106. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
  107. package/frontend/.svelte-kit/output/server/chunks/Badge.js +30 -0
  108. package/frontend/.svelte-kit/output/server/chunks/Button.js +32 -0
  109. package/frontend/.svelte-kit/output/server/chunks/attributes.js +34 -0
  110. package/frontend/.svelte-kit/output/server/chunks/client.js +59 -0
  111. package/frontend/.svelte-kit/output/server/chunks/equality.js +31 -0
  112. package/frontend/.svelte-kit/output/server/chunks/escaping.js +36 -0
  113. package/frontend/.svelte-kit/output/server/chunks/exports.js +247 -0
  114. package/frontend/.svelte-kit/output/server/chunks/index.js +1135 -0
  115. package/frontend/.svelte-kit/output/server/chunks/internal.js +695 -0
  116. package/frontend/.svelte-kit/output/server/chunks/reports.js +57 -0
  117. package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +44 -0
  118. package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +181 -0
  119. package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +164 -0
  120. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +141 -0
  121. package/frontend/.svelte-kit/output/server/entries/pages/reports/_slug_/_page.svelte.js +42 -0
  122. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +179 -0
  123. package/frontend/.svelte-kit/output/server/index.js +3144 -0
  124. package/frontend/.svelte-kit/output/server/internal.js +30 -0
  125. package/frontend/.svelte-kit/output/server/manifest-full.js +77 -0
  126. package/frontend/.svelte-kit/output/server/manifest.js +77 -0
  127. package/frontend/.svelte-kit/output/server/nodes/0.js +25 -0
  128. package/frontend/.svelte-kit/output/server/nodes/1.js +25 -0
  129. package/frontend/.svelte-kit/output/server/nodes/2.js +25 -0
  130. package/frontend/.svelte-kit/output/server/nodes/3.js +25 -0
  131. package/frontend/.svelte-kit/output/server/nodes/4.js +25 -0
  132. package/frontend/.svelte-kit/output/server/nodes/5.js +25 -0
  133. package/frontend/.svelte-kit/tsconfig.json +49 -0
  134. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css +17 -0
  135. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.br +0 -0
  136. package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.gz +0 -0
  137. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css +17 -0
  138. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.br +0 -0
  139. package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.gz +0 -0
  140. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css +17 -0
  141. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.br +0 -0
  142. package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.gz +0 -0
  143. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css +17 -0
  144. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.br +0 -0
  145. package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.gz +0 -0
  146. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css +17 -0
  147. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.br +0 -0
  148. package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.gz +0 -0
  149. package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
  150. package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css.br +0 -0
  151. package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css.gz +0 -0
  152. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css +17 -0
  153. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.br +0 -0
  154. package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.gz +0 -0
  155. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
  156. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.br +0 -0
  157. package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.gz +0 -0
  158. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css +17 -0
  159. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.br +0 -0
  160. package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.gz +0 -0
  161. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
  162. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.br +0 -0
  163. package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.gz +0 -0
  164. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
  165. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.br +0 -0
  166. package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.gz +0 -0
  167. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
  168. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.br +0 -0
  169. package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.gz +0 -0
  170. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js +18 -0
  171. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.br +0 -0
  172. package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.gz +0 -0
  173. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js +23 -0
  174. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.br +0 -0
  175. package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.gz +0 -0
  176. package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js +18 -0
  177. package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js.br +0 -0
  178. package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js.gz +0 -0
  179. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js +18 -0
  180. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.br +0 -0
  181. package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.gz +0 -0
  182. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js +18 -0
  183. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.br +0 -0
  184. package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.gz +0 -0
  185. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js +18 -0
  186. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.br +0 -0
  187. package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.gz +0 -0
  188. package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js +18 -0
  189. package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js.br +18 -0
  190. package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js.gz +0 -0
  191. package/frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js +18 -0
  192. package/{resources/comments-format.text → frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js.br} +0 -0
  193. package/frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js.gz +0 -0
  194. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js +20 -0
  195. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.br +0 -0
  196. package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.gz +0 -0
  197. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js +18 -0
  198. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.br +0 -0
  199. package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.gz +0 -0
  200. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js +18 -0
  201. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.br +0 -0
  202. package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.gz +0 -0
  203. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js +18 -0
  204. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.br +0 -0
  205. package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.gz +0 -0
  206. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js +18 -0
  207. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.br +0 -0
  208. package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.gz +0 -0
  209. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js +20 -0
  210. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.br +0 -0
  211. package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.gz +0 -0
  212. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js +18 -0
  213. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.br +0 -0
  214. package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.gz +0 -0
  215. package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js +18 -0
  216. package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js.br +0 -0
  217. package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js.gz +0 -0
  218. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js +19 -0
  219. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.br +0 -0
  220. package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.gz +0 -0
  221. package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js +18 -0
  222. package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js.br +18 -0
  223. package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js.gz +0 -0
  224. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js +21 -0
  225. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.br +0 -0
  226. package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.gz +0 -0
  227. package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js +18 -0
  228. package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.br +0 -0
  229. package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.gz +0 -0
  230. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js +18 -0
  231. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.br +0 -0
  232. package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.gz +0 -0
  233. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js +18 -0
  234. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.br +0 -0
  235. package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.gz +0 -0
  236. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js +19 -0
  237. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.br +0 -0
  238. package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.gz +0 -0
  239. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js +18 -0
  240. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.br +0 -0
  241. package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.gz +0 -0
  242. package/frontend/build/client/_app/version.json +1 -0
  243. package/frontend/build/client/_app/version.json.br +0 -0
  244. package/frontend/build/client/_app/version.json.gz +0 -0
  245. package/frontend/build/client/favicon.png +0 -0
  246. package/frontend/build/env.js +111 -0
  247. package/frontend/build/handler.js +1511 -0
  248. package/frontend/build/index.js +362 -0
  249. package/frontend/build/server/chunks/0-BFfqmlsS.js +26 -0
  250. package/frontend/build/server/chunks/0-BFfqmlsS.js.map +17 -0
  251. package/frontend/build/server/chunks/1-hso3H4Ax.js +26 -0
  252. package/frontend/build/server/chunks/1-hso3H4Ax.js.map +17 -0
  253. package/frontend/build/server/chunks/2-BSZWXCWp.js +26 -0
  254. package/frontend/build/server/chunks/2-BSZWXCWp.js.map +17 -0
  255. package/frontend/build/server/chunks/3-BYumY9dv.js +26 -0
  256. package/frontend/build/server/chunks/3-BYumY9dv.js.map +17 -0
  257. package/frontend/build/server/chunks/4-2UUrCVtM.js +26 -0
  258. package/frontend/build/server/chunks/4-2UUrCVtM.js.map +17 -0
  259. package/frontend/build/server/chunks/5-C2_y_fwT.js +26 -0
  260. package/frontend/build/server/chunks/5-C2_y_fwT.js.map +17 -0
  261. package/frontend/build/server/chunks/Badge-CC4U7C0c.js +30 -0
  262. package/frontend/build/server/chunks/Badge-CC4U7C0c.js.map +17 -0
  263. package/frontend/build/server/chunks/Button-BLkPicwS.js +33 -0
  264. package/frontend/build/server/chunks/Button-BLkPicwS.js.map +17 -0
  265. package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js +183 -0
  266. package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js.map +17 -0
  267. package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js +45 -0
  268. package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js.map +17 -0
  269. package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js +142 -0
  270. package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js.map +17 -0
  271. package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js +180 -0
  272. package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js.map +17 -0
  273. package/frontend/build/server/chunks/_page.svelte-s6ZIOitT.js +165 -0
  274. package/frontend/build/server/chunks/_page.svelte-s6ZIOitT.js.map +17 -0
  275. package/frontend/build/server/chunks/attributes-BeaNKpgU.js +34 -0
  276. package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +17 -0
  277. package/frontend/build/server/chunks/client-C9IaEwNo.js +52 -0
  278. package/frontend/build/server/chunks/client-C9IaEwNo.js.map +17 -0
  279. package/frontend/build/server/chunks/error.svelte-HKBv5sQT.js +45 -0
  280. package/frontend/build/server/chunks/error.svelte-HKBv5sQT.js.map +17 -0
  281. package/frontend/build/server/chunks/escaping-CqgfEcN3.js +36 -0
  282. package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +17 -0
  283. package/frontend/build/server/chunks/exports-OxlCJ8yE.js +192 -0
  284. package/frontend/build/server/chunks/exports-OxlCJ8yE.js.map +17 -0
  285. package/frontend/build/server/chunks/index-CjHlq1kt.js +1076 -0
  286. package/frontend/build/server/chunks/index-CjHlq1kt.js.map +17 -0
  287. package/frontend/build/server/chunks/reports-D3ZeYSmi.js +56 -0
  288. package/frontend/build/server/chunks/reports-D3ZeYSmi.js.map +17 -0
  289. package/frontend/build/server/index.js +5015 -0
  290. package/frontend/build/server/index.js.map +17 -0
  291. package/frontend/build/server/manifest.js +84 -0
  292. package/frontend/build/server/manifest.js.map +17 -0
  293. package/frontend/build/shims.js +49 -0
  294. package/frontend/package-lock.json +2 -2
  295. package/frontend/package.json +1 -1
  296. package/package.json +1 -1
  297. package/.claude/settings.local.json +0 -29
  298. package/.husky/pre-commit +0 -2
  299. package/.prettierignore +0 -21
  300. package/.prettierrc +0 -15
  301. package/.vscode/settings.json +0 -10
  302. package/license-config.json +0 -37
@@ -0,0 +1,695 @@
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 { i as increment_write_version, b as DIRTY, s as set_signal_status, C as CLEAN, U as UNOWNED, c as DERIVED, d as schedule_effect, e as active_reaction, u as untracking, f as is_runes, B as BLOCK_EFFECT, h as derived_sources, j as state_unsafe_mutation, k as active_effect, l as BRANCH_EFFECT, R as ROOT_EFFECT, m as untracked_writes, n as set_untracked_writes, M as MAYBE_DIRTY, H as HYDRATION_ERROR, o as get_next_sibling, q as define_property, r as set_active_reaction, t as set_active_effect, v as is_array, w as init_operations, x as get_first_child, y as HYDRATION_START, z as HYDRATION_END, A as hydration_failed, E as clear_text_content, F as array_from, G as component_root, I as create_text, J as branch, K as push, L as component_context, N as pop, O as LEGACY_PROPS, P as get, Q as flush_sync, S as render, a as push$1, T as setContext, p as pop$1 } from "./index.js";
19
+ import { s as safe_equals, e as equals } from "./equality.js";
20
+ import "clsx";
21
+ function hydration_mismatch(location) {
22
+ {
23
+ console.warn(`https://svelte.dev/e/hydration_mismatch`);
24
+ }
25
+ }
26
+ function source(v, stack) {
27
+ var signal = {
28
+ f: 0,
29
+ // TODO ideally we could skip this altogether, but it causes type errors
30
+ v,
31
+ reactions: null,
32
+ equals,
33
+ rv: 0,
34
+ wv: 0
35
+ };
36
+ return signal;
37
+ }
38
+ // @__NO_SIDE_EFFECTS__
39
+ function mutable_source(initial_value, immutable = false) {
40
+ const s = source(initial_value);
41
+ if (!immutable) {
42
+ s.equals = safe_equals;
43
+ }
44
+ return s;
45
+ }
46
+ function set(source2, value) {
47
+ if (active_reaction !== null && !untracking && is_runes() && (active_reaction.f & (DERIVED | BLOCK_EFFECT)) !== 0 && // If the source was created locally within the current derived, then
48
+ // we allow the mutation.
49
+ (derived_sources === null || !derived_sources.includes(source2))) {
50
+ state_unsafe_mutation();
51
+ }
52
+ return internal_set(source2, value);
53
+ }
54
+ function internal_set(source2, value) {
55
+ if (!source2.equals(value)) {
56
+ source2.v;
57
+ source2.v = value;
58
+ source2.wv = increment_write_version();
59
+ mark_reactions(source2, DIRTY);
60
+ if (active_effect !== null && (active_effect.f & CLEAN) !== 0 && (active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0) {
61
+ if (untracked_writes === null) {
62
+ set_untracked_writes([source2]);
63
+ } else {
64
+ untracked_writes.push(source2);
65
+ }
66
+ }
67
+ }
68
+ return value;
69
+ }
70
+ function mark_reactions(signal, status) {
71
+ var reactions = signal.reactions;
72
+ if (reactions === null) return;
73
+ var length = reactions.length;
74
+ for (var i = 0; i < length; i++) {
75
+ var reaction = reactions[i];
76
+ var flags = reaction.f;
77
+ if ((flags & DIRTY) !== 0) continue;
78
+ set_signal_status(reaction, status);
79
+ if ((flags & (CLEAN | UNOWNED)) !== 0) {
80
+ if ((flags & DERIVED) !== 0) {
81
+ mark_reactions(
82
+ /** @type {Derived} */
83
+ reaction,
84
+ MAYBE_DIRTY
85
+ );
86
+ } else {
87
+ schedule_effect(
88
+ /** @type {Effect} */
89
+ reaction
90
+ );
91
+ }
92
+ }
93
+ }
94
+ }
95
+ let hydrating = false;
96
+ function set_hydrating(value) {
97
+ hydrating = value;
98
+ }
99
+ let hydrate_node;
100
+ function set_hydrate_node(node) {
101
+ if (node === null) {
102
+ hydration_mismatch();
103
+ throw HYDRATION_ERROR;
104
+ }
105
+ return hydrate_node = node;
106
+ }
107
+ function hydrate_next() {
108
+ return set_hydrate_node(
109
+ /** @type {TemplateNode} */
110
+ get_next_sibling(hydrate_node)
111
+ );
112
+ }
113
+ const all_registered_events = /* @__PURE__ */ new Set();
114
+ const root_event_handles = /* @__PURE__ */ new Set();
115
+ function handle_event_propagation(event) {
116
+ var handler_element = this;
117
+ var owner_document = (
118
+ /** @type {Node} */
119
+ handler_element.ownerDocument
120
+ );
121
+ var event_name = event.type;
122
+ var path = event.composedPath?.() || [];
123
+ var current_target = (
124
+ /** @type {null | Element} */
125
+ path[0] || event.target
126
+ );
127
+ var path_idx = 0;
128
+ var handled_at = event.__root;
129
+ if (handled_at) {
130
+ var at_idx = path.indexOf(handled_at);
131
+ if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */
132
+ window)) {
133
+ event.__root = handler_element;
134
+ return;
135
+ }
136
+ var handler_idx = path.indexOf(handler_element);
137
+ if (handler_idx === -1) {
138
+ return;
139
+ }
140
+ if (at_idx <= handler_idx) {
141
+ path_idx = at_idx;
142
+ }
143
+ }
144
+ current_target = /** @type {Element} */
145
+ path[path_idx] || event.target;
146
+ if (current_target === handler_element) return;
147
+ define_property(event, "currentTarget", {
148
+ configurable: true,
149
+ get() {
150
+ return current_target || owner_document;
151
+ }
152
+ });
153
+ var previous_reaction = active_reaction;
154
+ var previous_effect = active_effect;
155
+ set_active_reaction(null);
156
+ set_active_effect(null);
157
+ try {
158
+ var throw_error;
159
+ var other_errors = [];
160
+ while (current_target !== null) {
161
+ var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */
162
+ current_target.host || null;
163
+ try {
164
+ var delegated = current_target["__" + event_name];
165
+ if (delegated !== void 0 && (!/** @type {any} */
166
+ current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
167
+ // -> the target could not have been disabled because it emits the event in the first place
168
+ event.target === current_target)) {
169
+ if (is_array(delegated)) {
170
+ var [fn, ...data] = delegated;
171
+ fn.apply(current_target, [event, ...data]);
172
+ } else {
173
+ delegated.call(current_target, event);
174
+ }
175
+ }
176
+ } catch (error) {
177
+ if (throw_error) {
178
+ other_errors.push(error);
179
+ } else {
180
+ throw_error = error;
181
+ }
182
+ }
183
+ if (event.cancelBubble || parent_element === handler_element || parent_element === null) {
184
+ break;
185
+ }
186
+ current_target = parent_element;
187
+ }
188
+ if (throw_error) {
189
+ for (let error of other_errors) {
190
+ queueMicrotask(() => {
191
+ throw error;
192
+ });
193
+ }
194
+ throw throw_error;
195
+ }
196
+ } finally {
197
+ event.__root = handler_element;
198
+ delete event.currentTarget;
199
+ set_active_reaction(previous_reaction);
200
+ set_active_effect(previous_effect);
201
+ }
202
+ }
203
+ function assign_nodes(start, end) {
204
+ var effect = (
205
+ /** @type {Effect} */
206
+ active_effect
207
+ );
208
+ if (effect.nodes_start === null) {
209
+ effect.nodes_start = start;
210
+ effect.nodes_end = end;
211
+ }
212
+ }
213
+ const PASSIVE_EVENTS = ["touchstart", "touchmove"];
214
+ function is_passive_event(name) {
215
+ return PASSIVE_EVENTS.includes(name);
216
+ }
217
+ function mount(component, options2) {
218
+ return _mount(component, options2);
219
+ }
220
+ function hydrate(component, options2) {
221
+ init_operations();
222
+ options2.intro = options2.intro ?? false;
223
+ const target = options2.target;
224
+ const was_hydrating = hydrating;
225
+ const previous_hydrate_node = hydrate_node;
226
+ try {
227
+ var anchor = (
228
+ /** @type {TemplateNode} */
229
+ get_first_child(target)
230
+ );
231
+ while (anchor && (anchor.nodeType !== 8 || /** @type {Comment} */
232
+ anchor.data !== HYDRATION_START)) {
233
+ anchor = /** @type {TemplateNode} */
234
+ get_next_sibling(anchor);
235
+ }
236
+ if (!anchor) {
237
+ throw HYDRATION_ERROR;
238
+ }
239
+ set_hydrating(true);
240
+ set_hydrate_node(
241
+ /** @type {Comment} */
242
+ anchor
243
+ );
244
+ hydrate_next();
245
+ const instance = _mount(component, { ...options2, anchor });
246
+ if (hydrate_node === null || hydrate_node.nodeType !== 8 || /** @type {Comment} */
247
+ hydrate_node.data !== HYDRATION_END) {
248
+ hydration_mismatch();
249
+ throw HYDRATION_ERROR;
250
+ }
251
+ set_hydrating(false);
252
+ return (
253
+ /** @type {Exports} */
254
+ instance
255
+ );
256
+ } catch (error) {
257
+ if (error === HYDRATION_ERROR) {
258
+ if (options2.recover === false) {
259
+ hydration_failed();
260
+ }
261
+ init_operations();
262
+ clear_text_content(target);
263
+ set_hydrating(false);
264
+ return mount(component, options2);
265
+ }
266
+ throw error;
267
+ } finally {
268
+ set_hydrating(was_hydrating);
269
+ set_hydrate_node(previous_hydrate_node);
270
+ }
271
+ }
272
+ const document_listeners = /* @__PURE__ */ new Map();
273
+ function _mount(Component, { target, anchor, props = {}, events, context, intro = true }) {
274
+ init_operations();
275
+ var registered_events = /* @__PURE__ */ new Set();
276
+ var event_handle = (events2) => {
277
+ for (var i = 0; i < events2.length; i++) {
278
+ var event_name = events2[i];
279
+ if (registered_events.has(event_name)) continue;
280
+ registered_events.add(event_name);
281
+ var passive = is_passive_event(event_name);
282
+ target.addEventListener(event_name, handle_event_propagation, { passive });
283
+ var n = document_listeners.get(event_name);
284
+ if (n === void 0) {
285
+ document.addEventListener(event_name, handle_event_propagation, { passive });
286
+ document_listeners.set(event_name, 1);
287
+ } else {
288
+ document_listeners.set(event_name, n + 1);
289
+ }
290
+ }
291
+ };
292
+ event_handle(array_from(all_registered_events));
293
+ root_event_handles.add(event_handle);
294
+ var component = void 0;
295
+ var unmount2 = component_root(() => {
296
+ var anchor_node = anchor ?? target.appendChild(create_text());
297
+ branch(() => {
298
+ if (context) {
299
+ push({});
300
+ var ctx = (
301
+ /** @type {ComponentContext} */
302
+ component_context
303
+ );
304
+ ctx.c = context;
305
+ }
306
+ if (events) {
307
+ props.$$events = events;
308
+ }
309
+ if (hydrating) {
310
+ assign_nodes(
311
+ /** @type {TemplateNode} */
312
+ anchor_node,
313
+ null
314
+ );
315
+ }
316
+ component = Component(anchor_node, props) || {};
317
+ if (hydrating) {
318
+ active_effect.nodes_end = hydrate_node;
319
+ }
320
+ if (context) {
321
+ pop();
322
+ }
323
+ });
324
+ return () => {
325
+ for (var event_name of registered_events) {
326
+ target.removeEventListener(event_name, handle_event_propagation);
327
+ var n = (
328
+ /** @type {number} */
329
+ document_listeners.get(event_name)
330
+ );
331
+ if (--n === 0) {
332
+ document.removeEventListener(event_name, handle_event_propagation);
333
+ document_listeners.delete(event_name);
334
+ } else {
335
+ document_listeners.set(event_name, n);
336
+ }
337
+ }
338
+ root_event_handles.delete(event_handle);
339
+ if (anchor_node !== anchor) {
340
+ anchor_node.parentNode?.removeChild(anchor_node);
341
+ }
342
+ };
343
+ });
344
+ mounted_components.set(component, unmount2);
345
+ return component;
346
+ }
347
+ let mounted_components = /* @__PURE__ */ new WeakMap();
348
+ function unmount(component, options2) {
349
+ const fn = mounted_components.get(component);
350
+ if (fn) {
351
+ mounted_components.delete(component);
352
+ return fn(options2);
353
+ }
354
+ return Promise.resolve();
355
+ }
356
+ function asClassComponent$1(component) {
357
+ return class extends Svelte4Component {
358
+ /** @param {any} options */
359
+ constructor(options2) {
360
+ super({
361
+ component,
362
+ ...options2
363
+ });
364
+ }
365
+ };
366
+ }
367
+ class Svelte4Component {
368
+ /** @type {any} */
369
+ #events;
370
+ /** @type {Record<string, any>} */
371
+ #instance;
372
+ /**
373
+ * @param {ComponentConstructorOptions & {
374
+ * component: any;
375
+ * }} options
376
+ */
377
+ constructor(options2) {
378
+ var sources = /* @__PURE__ */ new Map();
379
+ var add_source = (key, value) => {
380
+ var s = /* @__PURE__ */ mutable_source(value);
381
+ sources.set(key, s);
382
+ return s;
383
+ };
384
+ const props = new Proxy(
385
+ { ...options2.props || {}, $$events: {} },
386
+ {
387
+ get(target, prop) {
388
+ return get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
389
+ },
390
+ has(target, prop) {
391
+ if (prop === LEGACY_PROPS) return true;
392
+ get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
393
+ return Reflect.has(target, prop);
394
+ },
395
+ set(target, prop, value) {
396
+ set(sources.get(prop) ?? add_source(prop, value), value);
397
+ return Reflect.set(target, prop, value);
398
+ }
399
+ }
400
+ );
401
+ this.#instance = (options2.hydrate ? hydrate : mount)(options2.component, {
402
+ target: options2.target,
403
+ anchor: options2.anchor,
404
+ props,
405
+ context: options2.context,
406
+ intro: options2.intro ?? false,
407
+ recover: options2.recover
408
+ });
409
+ if (!options2?.props?.$$host || options2.sync === false) {
410
+ flush_sync();
411
+ }
412
+ this.#events = props.$$events;
413
+ for (const key of Object.keys(this.#instance)) {
414
+ if (key === "$set" || key === "$destroy" || key === "$on") continue;
415
+ define_property(this, key, {
416
+ get() {
417
+ return this.#instance[key];
418
+ },
419
+ /** @param {any} value */
420
+ set(value) {
421
+ this.#instance[key] = value;
422
+ },
423
+ enumerable: true
424
+ });
425
+ }
426
+ this.#instance.$set = /** @param {Record<string, any>} next */
427
+ (next) => {
428
+ Object.assign(props, next);
429
+ };
430
+ this.#instance.$destroy = () => {
431
+ unmount(this.#instance);
432
+ };
433
+ }
434
+ /** @param {Record<string, any>} props */
435
+ $set(props) {
436
+ this.#instance.$set(props);
437
+ }
438
+ /**
439
+ * @param {string} event
440
+ * @param {(...args: any[]) => any} callback
441
+ * @returns {any}
442
+ */
443
+ $on(event, callback) {
444
+ this.#events[event] = this.#events[event] || [];
445
+ const cb = (...args) => callback.call(this, ...args);
446
+ this.#events[event].push(cb);
447
+ return () => {
448
+ this.#events[event] = this.#events[event].filter(
449
+ /** @param {any} fn */
450
+ (fn) => fn !== cb
451
+ );
452
+ };
453
+ }
454
+ $destroy() {
455
+ this.#instance.$destroy();
456
+ }
457
+ }
458
+ function asClassComponent(component) {
459
+ const component_constructor = asClassComponent$1(component);
460
+ const _render = (props, { context } = {}) => {
461
+ const result = render(component, { props, context });
462
+ return {
463
+ css: { code: "", map: null },
464
+ head: result.head,
465
+ html: result.body
466
+ };
467
+ };
468
+ component_constructor.render = _render;
469
+ return component_constructor;
470
+ }
471
+ let prerendering = false;
472
+ function set_building() {
473
+ }
474
+ function set_prerendering() {
475
+ prerendering = true;
476
+ }
477
+ function Root($$payload, $$props) {
478
+ push$1();
479
+ let {
480
+ stores,
481
+ page,
482
+ constructors,
483
+ components = [],
484
+ form,
485
+ data_0 = null,
486
+ data_1 = null
487
+ } = $$props;
488
+ {
489
+ setContext("__svelte__", stores);
490
+ }
491
+ {
492
+ stores.page.set(page);
493
+ }
494
+ const Pyramid_1 = constructors[1];
495
+ if (constructors[1]) {
496
+ $$payload.out += "<!--[-->";
497
+ const Pyramid_0 = constructors[0];
498
+ $$payload.out += `<!---->`;
499
+ Pyramid_0($$payload, {
500
+ data: data_0,
501
+ form,
502
+ children: ($$payload2) => {
503
+ $$payload2.out += `<!---->`;
504
+ Pyramid_1($$payload2, { data: data_1, form });
505
+ $$payload2.out += `<!---->`;
506
+ },
507
+ $$slots: { default: true }
508
+ });
509
+ $$payload.out += `<!---->`;
510
+ } else {
511
+ $$payload.out += "<!--[!-->";
512
+ const Pyramid_0 = constructors[0];
513
+ $$payload.out += `<!---->`;
514
+ Pyramid_0($$payload, { data: data_0, form });
515
+ $$payload.out += `<!---->`;
516
+ }
517
+ $$payload.out += `<!--]--> `;
518
+ {
519
+ $$payload.out += "<!--[!-->";
520
+ }
521
+ $$payload.out += `<!--]-->`;
522
+ pop$1();
523
+ }
524
+ const root = asClassComponent(Root);
525
+ let base = "";
526
+ let assets = base;
527
+ const app_dir = "_app";
528
+ const initial = { base, assets };
529
+ function override(paths) {
530
+ base = paths.base;
531
+ assets = paths.assets;
532
+ }
533
+ function reset() {
534
+ base = initial.base;
535
+ assets = initial.assets;
536
+ }
537
+ function set_assets(path) {
538
+ assets = initial.assets = path;
539
+ }
540
+ let read_implementation = null;
541
+ function set_read_implementation(fn) {
542
+ read_implementation = fn;
543
+ }
544
+ function set_manifest(_) {
545
+ }
546
+ let public_env = {};
547
+ let safe_public_env = {};
548
+ function set_private_env(environment) {
549
+ }
550
+ function set_public_env(environment) {
551
+ public_env = environment;
552
+ }
553
+ function set_safe_public_env(environment) {
554
+ safe_public_env = environment;
555
+ }
556
+ const options = {
557
+ app_template_contains_nonce: false,
558
+ csp: { "mode": "auto", "directives": { "upgrade-insecure-requests": false, "block-all-mixed-content": false }, "reportOnly": { "upgrade-insecure-requests": false, "block-all-mixed-content": false } },
559
+ csrf_check_origin: true,
560
+ embedded: false,
561
+ env_public_prefix: "PUBLIC_",
562
+ env_private_prefix: "",
563
+ hash_routing: false,
564
+ hooks: null,
565
+ // added lazily, via `get_hooks`
566
+ preload_strategy: "modulepreload",
567
+ root,
568
+ service_worker: false,
569
+ templates: {
570
+ app: ({ head, body, assets: assets2, nonce, env }) => '<!--\nThis file is part of Plum.\n\nPlum is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nPlum is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Plum. If not, see https://www.gnu.org/licenses/.\n-->\n<!doctype html>\n<html lang="en" data-theme="light">\n <head>\n <meta charset="utf-8" />\n <link rel="icon" href="' + assets2 + `/favicon.png" />
571
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
572
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
573
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
574
+ <link
575
+ href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500&family=DM+Sans:wght@300;400;500&display=swap"
576
+ rel="stylesheet"
577
+ />
578
+ <!-- Prevent theme flash before Svelte hydrates -->
579
+ <script>
580
+ try {
581
+ const t = localStorage.getItem('plum-theme');
582
+ if (t) document.documentElement.setAttribute('data-theme', t);
583
+ } catch (e) {}
584
+ <\/script>
585
+ ` + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
586
+ error: ({ status, message }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <title>' + message + `</title>
587
+
588
+ <style>
589
+ body {
590
+ --bg: white;
591
+ --fg: #222;
592
+ --divider: #ccc;
593
+ background: var(--bg);
594
+ color: var(--fg);
595
+ font-family:
596
+ system-ui,
597
+ -apple-system,
598
+ BlinkMacSystemFont,
599
+ 'Segoe UI',
600
+ Roboto,
601
+ Oxygen,
602
+ Ubuntu,
603
+ Cantarell,
604
+ 'Open Sans',
605
+ 'Helvetica Neue',
606
+ sans-serif;
607
+ display: flex;
608
+ align-items: center;
609
+ justify-content: center;
610
+ height: 100vh;
611
+ margin: 0;
612
+ }
613
+
614
+ .error {
615
+ display: flex;
616
+ align-items: center;
617
+ max-width: 32rem;
618
+ margin: 0 1rem;
619
+ }
620
+
621
+ .status {
622
+ font-weight: 200;
623
+ font-size: 3rem;
624
+ line-height: 1;
625
+ position: relative;
626
+ top: -0.05rem;
627
+ }
628
+
629
+ .message {
630
+ border-left: 1px solid var(--divider);
631
+ padding: 0 0 0 1rem;
632
+ margin: 0 0 0 1rem;
633
+ min-height: 2.5rem;
634
+ display: flex;
635
+ align-items: center;
636
+ }
637
+
638
+ .message h1 {
639
+ font-weight: 400;
640
+ font-size: 1em;
641
+ margin: 0;
642
+ }
643
+
644
+ @media (prefers-color-scheme: dark) {
645
+ body {
646
+ --bg: #222;
647
+ --fg: #ddd;
648
+ --divider: #666;
649
+ }
650
+ }
651
+ </style>
652
+ </head>
653
+ <body>
654
+ <div class="error">
655
+ <span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
656
+ },
657
+ version_hash: "kg35is"
658
+ };
659
+ async function get_hooks() {
660
+ let handle;
661
+ let handleFetch;
662
+ let handleError;
663
+ let init;
664
+ let reroute;
665
+ let transport;
666
+ return {
667
+ handle,
668
+ handleFetch,
669
+ handleError,
670
+ init,
671
+ reroute,
672
+ transport
673
+ };
674
+ }
675
+ export {
676
+ assets as a,
677
+ base as b,
678
+ app_dir as c,
679
+ read_implementation as d,
680
+ options as e,
681
+ set_private_env as f,
682
+ prerendering as g,
683
+ set_public_env as h,
684
+ get_hooks as i,
685
+ set_safe_public_env as j,
686
+ set_read_implementation as k,
687
+ set_assets as l,
688
+ set_building as m,
689
+ set_manifest as n,
690
+ override as o,
691
+ public_env as p,
692
+ set_prerendering as q,
693
+ reset as r,
694
+ safe_public_env as s
695
+ };