@selvajs/selva 2.0.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 (769) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/build/client/_app/immutable/assets/0.B0phAlf7.css +1 -0
  4. package/build/client/_app/immutable/assets/0.B0phAlf7.css.br +0 -0
  5. package/build/client/_app/immutable/assets/0.B0phAlf7.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/20.DzF5JyuX.css +1 -0
  7. package/build/client/_app/immutable/assets/20.DzF5JyuX.css.br +0 -0
  8. package/build/client/_app/immutable/assets/20.DzF5JyuX.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/index.CV-KWLNP.css +1 -0
  10. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.br +1 -0
  11. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  12. package/build/client/_app/immutable/chunks/1s2jTHrf.js +1 -0
  13. package/build/client/_app/immutable/chunks/1s2jTHrf.js.br +0 -0
  14. package/build/client/_app/immutable/chunks/1s2jTHrf.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/2XlIPTRw.js +1 -0
  16. package/build/client/_app/immutable/chunks/2XlIPTRw.js.br +1 -0
  17. package/build/client/_app/immutable/chunks/2XlIPTRw.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/2_FEXmq1.js +9 -0
  19. package/build/client/_app/immutable/chunks/2_FEXmq1.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/2_FEXmq1.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/2dX6Wjni.js +1 -0
  22. package/build/client/_app/immutable/chunks/2dX6Wjni.js.br +0 -0
  23. package/build/client/_app/immutable/chunks/2dX6Wjni.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/4tskcAVN.js +1 -0
  25. package/build/client/_app/immutable/chunks/4tskcAVN.js.br +0 -0
  26. package/build/client/_app/immutable/chunks/4tskcAVN.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/4y4xLOS_.js +1 -0
  28. package/build/client/_app/immutable/chunks/4y4xLOS_.js.br +0 -0
  29. package/build/client/_app/immutable/chunks/4y4xLOS_.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/AEyooZaf.js +1 -0
  31. package/build/client/_app/immutable/chunks/AEyooZaf.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/AEyooZaf.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/B1aRL9Hz.js +1 -0
  34. package/build/client/_app/immutable/chunks/B1aRL9Hz.js.br +0 -0
  35. package/build/client/_app/immutable/chunks/B1aRL9Hz.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/B8uG8z2c.js +1 -0
  37. package/build/client/_app/immutable/chunks/B8uG8z2c.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/B8uG8z2c.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/B8zY50Bc.js +1 -0
  40. package/build/client/_app/immutable/chunks/B8zY50Bc.js.br +5 -0
  41. package/build/client/_app/immutable/chunks/B8zY50Bc.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/BCse3N0b.js +1 -0
  43. package/build/client/_app/immutable/chunks/BCse3N0b.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/BCse3N0b.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/BFXFuY-o.js +3 -0
  46. package/build/client/_app/immutable/chunks/BFXFuY-o.js.br +0 -0
  47. package/build/client/_app/immutable/chunks/BFXFuY-o.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/BGxzXVpM.js +1 -0
  49. package/build/client/_app/immutable/chunks/BGxzXVpM.js.br +0 -0
  50. package/build/client/_app/immutable/chunks/BGxzXVpM.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/BM4_iXSA.js +1 -0
  52. package/build/client/_app/immutable/chunks/BM4_iXSA.js.br +0 -0
  53. package/build/client/_app/immutable/chunks/BM4_iXSA.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/BMGykAfL.js +2 -0
  55. package/build/client/_app/immutable/chunks/BMGykAfL.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/BMGykAfL.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/BNScKugQ.js +1 -0
  58. package/build/client/_app/immutable/chunks/BNScKugQ.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/BNScKugQ.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/BNzEBMy8.js +1 -0
  61. package/build/client/_app/immutable/chunks/BNzEBMy8.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/BNzEBMy8.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/BU9URCkw.js +1 -0
  64. package/build/client/_app/immutable/chunks/BU9URCkw.js.br +0 -0
  65. package/build/client/_app/immutable/chunks/BU9URCkw.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/BW4xleRz.js +1 -0
  67. package/build/client/_app/immutable/chunks/BW4xleRz.js.br +0 -0
  68. package/build/client/_app/immutable/chunks/BW4xleRz.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/BZmrLQwT.js +1 -0
  70. package/build/client/_app/immutable/chunks/BZmrLQwT.js.br +0 -0
  71. package/build/client/_app/immutable/chunks/BZmrLQwT.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/B_Lmgh7q.js +1 -0
  73. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/BapAUJpM.js +1 -0
  76. package/build/client/_app/immutable/chunks/BapAUJpM.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/BapAUJpM.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/Bb9xebuT.js +1 -0
  79. package/build/client/_app/immutable/chunks/Bb9xebuT.js.br +0 -0
  80. package/build/client/_app/immutable/chunks/Bb9xebuT.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/BjkQG7dw.js +1 -0
  82. package/build/client/_app/immutable/chunks/BjkQG7dw.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/BjkQG7dw.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/Bmz9gLBz.js +1 -0
  85. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/Bnpwcepm.js +1 -0
  88. package/build/client/_app/immutable/chunks/Bnpwcepm.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/Bnpwcepm.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/BoR6OKl6.js +1 -0
  91. package/build/client/_app/immutable/chunks/BoR6OKl6.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/BoR6OKl6.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/Br5bpmJC.js +1 -0
  94. package/build/client/_app/immutable/chunks/Br5bpmJC.js.br +0 -0
  95. package/build/client/_app/immutable/chunks/Br5bpmJC.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/BxCHY0iG.js +1 -0
  97. package/build/client/_app/immutable/chunks/BxCHY0iG.js.br +0 -0
  98. package/build/client/_app/immutable/chunks/BxCHY0iG.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/C1Sz0rtw.js +1 -0
  100. package/build/client/_app/immutable/chunks/C1Sz0rtw.js.br +0 -0
  101. package/build/client/_app/immutable/chunks/C1Sz0rtw.js.gz +0 -0
  102. package/build/client/_app/immutable/chunks/C1aQuqo_.js +2 -0
  103. package/build/client/_app/immutable/chunks/C1aQuqo_.js.br +0 -0
  104. package/build/client/_app/immutable/chunks/C1aQuqo_.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/C26nmevH.js +1 -0
  106. package/build/client/_app/immutable/chunks/C26nmevH.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/C26nmevH.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/C8ko2SLk.js +1 -0
  109. package/build/client/_app/immutable/chunks/C8ko2SLk.js.br +0 -0
  110. package/build/client/_app/immutable/chunks/C8ko2SLk.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/CAMhfNhW.js +1 -0
  112. package/build/client/_app/immutable/chunks/CAMhfNhW.js.br +0 -0
  113. package/build/client/_app/immutable/chunks/CAMhfNhW.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/CEnIp_6Y.js +1 -0
  115. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.br +3 -0
  116. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/CMjc_m7Z.js +1 -0
  118. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.br +0 -0
  119. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.gz +0 -0
  120. package/build/client/_app/immutable/chunks/CRRzXoPz.js +5 -0
  121. package/build/client/_app/immutable/chunks/CRRzXoPz.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/CRRzXoPz.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/CXh1ITwj.js +1 -0
  124. package/build/client/_app/immutable/chunks/CXh1ITwj.js.br +0 -0
  125. package/build/client/_app/immutable/chunks/CXh1ITwj.js.gz +0 -0
  126. package/build/client/_app/immutable/chunks/CZ1oTCKP.js +1 -0
  127. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.br +0 -0
  128. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.gz +0 -0
  129. package/build/client/_app/immutable/chunks/Cbu9Tg11.js +1 -0
  130. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.br +0 -0
  131. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  132. package/build/client/_app/immutable/chunks/CcYNc8-G.js +1 -0
  133. package/build/client/_app/immutable/chunks/CcYNc8-G.js.br +0 -0
  134. package/build/client/_app/immutable/chunks/CcYNc8-G.js.gz +0 -0
  135. package/build/client/_app/immutable/chunks/Cdcajer6.js +1 -0
  136. package/build/client/_app/immutable/chunks/Cdcajer6.js.br +0 -0
  137. package/build/client/_app/immutable/chunks/Cdcajer6.js.gz +0 -0
  138. package/build/client/_app/immutable/chunks/Ce2MupFq.js +1 -0
  139. package/build/client/_app/immutable/chunks/Ce2MupFq.js.br +0 -0
  140. package/build/client/_app/immutable/chunks/Ce2MupFq.js.gz +0 -0
  141. package/build/client/_app/immutable/chunks/CfP1DoGT.js +1 -0
  142. package/build/client/_app/immutable/chunks/CfP1DoGT.js.br +0 -0
  143. package/build/client/_app/immutable/chunks/CfP1DoGT.js.gz +0 -0
  144. package/build/client/_app/immutable/chunks/CfhPDo21.js +1 -0
  145. package/build/client/_app/immutable/chunks/CfhPDo21.js.br +1 -0
  146. package/build/client/_app/immutable/chunks/CfhPDo21.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/ChSMnQMB.js +2 -0
  148. package/build/client/_app/immutable/chunks/ChSMnQMB.js.br +0 -0
  149. package/build/client/_app/immutable/chunks/ChSMnQMB.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/CkW8YtSm.js +1 -0
  151. package/build/client/_app/immutable/chunks/CkW8YtSm.js.br +0 -0
  152. package/build/client/_app/immutable/chunks/CkW8YtSm.js.gz +0 -0
  153. package/build/client/_app/immutable/chunks/CoR7xVWs.js +1 -0
  154. package/build/client/_app/immutable/chunks/CoR7xVWs.js.br +0 -0
  155. package/build/client/_app/immutable/chunks/CoR7xVWs.js.gz +0 -0
  156. package/build/client/_app/immutable/chunks/CpGv0MSX.js +1 -0
  157. package/build/client/_app/immutable/chunks/CpGv0MSX.js.br +0 -0
  158. package/build/client/_app/immutable/chunks/CpGv0MSX.js.gz +0 -0
  159. package/build/client/_app/immutable/chunks/Cvr8AlQE.js +1 -0
  160. package/build/client/_app/immutable/chunks/Cvr8AlQE.js.br +0 -0
  161. package/build/client/_app/immutable/chunks/Cvr8AlQE.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/D0QMYypb.js +1 -0
  163. package/build/client/_app/immutable/chunks/D0QMYypb.js.br +0 -0
  164. package/build/client/_app/immutable/chunks/D0QMYypb.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/D40b34QZ.js +1 -0
  166. package/build/client/_app/immutable/chunks/D40b34QZ.js.br +0 -0
  167. package/build/client/_app/immutable/chunks/D40b34QZ.js.gz +0 -0
  168. package/build/client/_app/immutable/chunks/D6MI_dhi.js +1 -0
  169. package/build/client/_app/immutable/chunks/D6MI_dhi.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/D6MI_dhi.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/D7PHp8xb.js +1 -0
  172. package/build/client/_app/immutable/chunks/D7PHp8xb.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/D7PHp8xb.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/D7l1JayF.js +1 -0
  175. package/build/client/_app/immutable/chunks/D7l1JayF.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/D7l1JayF.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/D99uXqZb.js +1 -0
  178. package/build/client/_app/immutable/chunks/D99uXqZb.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/D99uXqZb.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/DEBBEmC0.js +1 -0
  181. package/build/client/_app/immutable/chunks/DEBBEmC0.js.br +0 -0
  182. package/build/client/_app/immutable/chunks/DEBBEmC0.js.gz +0 -0
  183. package/build/client/_app/immutable/chunks/DHWrMZkd.js +1 -0
  184. package/build/client/_app/immutable/chunks/DHWrMZkd.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/DHWrMZkd.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/DNsLImlA.js +64 -0
  187. package/build/client/_app/immutable/chunks/DNsLImlA.js.br +0 -0
  188. package/build/client/_app/immutable/chunks/DNsLImlA.js.gz +0 -0
  189. package/build/client/_app/immutable/chunks/DRDjLZb3.js +1 -0
  190. package/build/client/_app/immutable/chunks/DRDjLZb3.js.br +3 -0
  191. package/build/client/_app/immutable/chunks/DRDjLZb3.js.gz +0 -0
  192. package/build/client/_app/immutable/chunks/DTJeGfAL.js +1 -0
  193. package/build/client/_app/immutable/chunks/DTJeGfAL.js.br +0 -0
  194. package/build/client/_app/immutable/chunks/DTJeGfAL.js.gz +0 -0
  195. package/build/client/_app/immutable/chunks/DZFqETAQ.js +1 -0
  196. package/build/client/_app/immutable/chunks/DZFqETAQ.js.br +0 -0
  197. package/build/client/_app/immutable/chunks/DZFqETAQ.js.gz +0 -0
  198. package/build/client/_app/immutable/chunks/D_wr-JLf.js +1 -0
  199. package/build/client/_app/immutable/chunks/D_wr-JLf.js.br +0 -0
  200. package/build/client/_app/immutable/chunks/D_wr-JLf.js.gz +0 -0
  201. package/build/client/_app/immutable/chunks/DdaJZmuM.js +1 -0
  202. package/build/client/_app/immutable/chunks/DdaJZmuM.js.br +0 -0
  203. package/build/client/_app/immutable/chunks/DdaJZmuM.js.gz +0 -0
  204. package/build/client/_app/immutable/chunks/Dl4WTuMB.js +1 -0
  205. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.br +0 -0
  206. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.gz +0 -0
  207. package/build/client/_app/immutable/chunks/Doks8ISn.js +1 -0
  208. package/build/client/_app/immutable/chunks/Doks8ISn.js.br +0 -0
  209. package/build/client/_app/immutable/chunks/Doks8ISn.js.gz +0 -0
  210. package/build/client/_app/immutable/chunks/DsnmJJEf.js +1 -0
  211. package/build/client/_app/immutable/chunks/DsnmJJEf.js.br +2 -0
  212. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  213. package/build/client/_app/immutable/chunks/E3yOQTT0.js +1 -0
  214. package/build/client/_app/immutable/chunks/E3yOQTT0.js.br +0 -0
  215. package/build/client/_app/immutable/chunks/E3yOQTT0.js.gz +0 -0
  216. package/build/client/_app/immutable/chunks/Gxlzmh6y.js +1 -0
  217. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.br +0 -0
  218. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.gz +0 -0
  219. package/build/client/_app/immutable/chunks/Ib-7xmHT.js +1 -0
  220. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.br +0 -0
  221. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.gz +0 -0
  222. package/build/client/_app/immutable/chunks/P4Np3c9O.js +1 -0
  223. package/build/client/_app/immutable/chunks/P4Np3c9O.js.br +0 -0
  224. package/build/client/_app/immutable/chunks/P4Np3c9O.js.gz +0 -0
  225. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js +1 -0
  226. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.br +0 -0
  227. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.gz +0 -0
  228. package/build/client/_app/immutable/chunks/_OLpdTiI.js +1 -0
  229. package/build/client/_app/immutable/chunks/_OLpdTiI.js.br +0 -0
  230. package/build/client/_app/immutable/chunks/_OLpdTiI.js.gz +0 -0
  231. package/build/client/_app/immutable/chunks/azBeeLR0.js +1 -0
  232. package/build/client/_app/immutable/chunks/azBeeLR0.js.br +0 -0
  233. package/build/client/_app/immutable/chunks/azBeeLR0.js.gz +0 -0
  234. package/build/client/_app/immutable/chunks/gMllmzma.js +1 -0
  235. package/build/client/_app/immutable/chunks/gMllmzma.js.br +0 -0
  236. package/build/client/_app/immutable/chunks/gMllmzma.js.gz +0 -0
  237. package/build/client/_app/immutable/chunks/hRoV10UM.js +1 -0
  238. package/build/client/_app/immutable/chunks/hRoV10UM.js.br +0 -0
  239. package/build/client/_app/immutable/chunks/hRoV10UM.js.gz +0 -0
  240. package/build/client/_app/immutable/chunks/iEBlyxZv.js +1 -0
  241. package/build/client/_app/immutable/chunks/iEBlyxZv.js.br +0 -0
  242. package/build/client/_app/immutable/chunks/iEBlyxZv.js.gz +0 -0
  243. package/build/client/_app/immutable/chunks/jFKgkeON.js +1 -0
  244. package/build/client/_app/immutable/chunks/jFKgkeON.js.br +0 -0
  245. package/build/client/_app/immutable/chunks/jFKgkeON.js.gz +0 -0
  246. package/build/client/_app/immutable/chunks/ooPBmYPj.js +1 -0
  247. package/build/client/_app/immutable/chunks/ooPBmYPj.js.br +0 -0
  248. package/build/client/_app/immutable/chunks/ooPBmYPj.js.gz +0 -0
  249. package/build/client/_app/immutable/chunks/pRg-f8xU.js +1 -0
  250. package/build/client/_app/immutable/chunks/pRg-f8xU.js.br +0 -0
  251. package/build/client/_app/immutable/chunks/pRg-f8xU.js.gz +0 -0
  252. package/build/client/_app/immutable/chunks/uINs3xv3.js +1 -0
  253. package/build/client/_app/immutable/chunks/uINs3xv3.js.br +0 -0
  254. package/build/client/_app/immutable/chunks/uINs3xv3.js.gz +0 -0
  255. package/build/client/_app/immutable/chunks/wamM80bu.js +1 -0
  256. package/build/client/_app/immutable/chunks/wamM80bu.js.br +0 -0
  257. package/build/client/_app/immutable/chunks/wamM80bu.js.gz +0 -0
  258. package/build/client/_app/immutable/entry/app.CY1cyDxx.js +2 -0
  259. package/build/client/_app/immutable/entry/app.CY1cyDxx.js.br +0 -0
  260. package/build/client/_app/immutable/entry/app.CY1cyDxx.js.gz +0 -0
  261. package/build/client/_app/immutable/entry/start.ByTVZFMZ.js +1 -0
  262. package/build/client/_app/immutable/entry/start.ByTVZFMZ.js.br +2 -0
  263. package/build/client/_app/immutable/entry/start.ByTVZFMZ.js.gz +0 -0
  264. package/build/client/_app/immutable/nodes/0.CQbbSrko.js +1 -0
  265. package/build/client/_app/immutable/nodes/0.CQbbSrko.js.br +0 -0
  266. package/build/client/_app/immutable/nodes/0.CQbbSrko.js.gz +0 -0
  267. package/build/client/_app/immutable/nodes/1.WcE6FOcF.js +1 -0
  268. package/build/client/_app/immutable/nodes/1.WcE6FOcF.js.br +0 -0
  269. package/build/client/_app/immutable/nodes/1.WcE6FOcF.js.gz +0 -0
  270. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js +3 -0
  271. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.br +0 -0
  272. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.gz +0 -0
  273. package/build/client/_app/immutable/nodes/11.kVvSmSNV.js +2 -0
  274. package/build/client/_app/immutable/nodes/11.kVvSmSNV.js.br +0 -0
  275. package/build/client/_app/immutable/nodes/11.kVvSmSNV.js.gz +0 -0
  276. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js +1 -0
  277. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js.br +0 -0
  278. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js.gz +0 -0
  279. package/build/client/_app/immutable/nodes/13.JyGUEsdb.js +2 -0
  280. package/build/client/_app/immutable/nodes/13.JyGUEsdb.js.br +0 -0
  281. package/build/client/_app/immutable/nodes/13.JyGUEsdb.js.gz +0 -0
  282. package/build/client/_app/immutable/nodes/14.BbJglRXt.js +2 -0
  283. package/build/client/_app/immutable/nodes/14.BbJglRXt.js.br +0 -0
  284. package/build/client/_app/immutable/nodes/14.BbJglRXt.js.gz +0 -0
  285. package/build/client/_app/immutable/nodes/15.94-Zje0s.js +13 -0
  286. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.br +0 -0
  287. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.gz +0 -0
  288. package/build/client/_app/immutable/nodes/16.DRADdurD.js +6 -0
  289. package/build/client/_app/immutable/nodes/16.DRADdurD.js.br +0 -0
  290. package/build/client/_app/immutable/nodes/16.DRADdurD.js.gz +0 -0
  291. package/build/client/_app/immutable/nodes/17.DOsqdwdd.js +2 -0
  292. package/build/client/_app/immutable/nodes/17.DOsqdwdd.js.br +0 -0
  293. package/build/client/_app/immutable/nodes/17.DOsqdwdd.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js +1 -0
  295. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js.br +0 -0
  296. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/19.S2J54AdY.js +2 -0
  298. package/build/client/_app/immutable/nodes/19.S2J54AdY.js.br +0 -0
  299. package/build/client/_app/immutable/nodes/19.S2J54AdY.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/2.CKVtP2Ky.js +1 -0
  301. package/build/client/_app/immutable/nodes/2.CKVtP2Ky.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/2.CKVtP2Ky.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/20.BCasu2g4.js +4116 -0
  304. package/build/client/_app/immutable/nodes/20.BCasu2g4.js.br +0 -0
  305. package/build/client/_app/immutable/nodes/20.BCasu2g4.js.gz +0 -0
  306. package/build/client/_app/immutable/nodes/21.C1aTaoAB.js +3 -0
  307. package/build/client/_app/immutable/nodes/21.C1aTaoAB.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/21.C1aTaoAB.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/23.DP5Be3HR.js +16 -0
  310. package/build/client/_app/immutable/nodes/23.DP5Be3HR.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/23.DP5Be3HR.js.gz +0 -0
  312. package/build/client/_app/immutable/nodes/24.BB6fXxnh.js +6 -0
  313. package/build/client/_app/immutable/nodes/24.BB6fXxnh.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/24.BB6fXxnh.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js +1 -0
  316. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js.br +0 -0
  317. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js.gz +0 -0
  318. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js +3 -0
  319. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js.br +0 -0
  320. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/27.DB7PVQXo.js +4 -0
  322. package/build/client/_app/immutable/nodes/27.DB7PVQXo.js.br +0 -0
  323. package/build/client/_app/immutable/nodes/27.DB7PVQXo.js.gz +0 -0
  324. package/build/client/_app/immutable/nodes/28.Cf2R7A3f.js +4 -0
  325. package/build/client/_app/immutable/nodes/28.Cf2R7A3f.js.br +0 -0
  326. package/build/client/_app/immutable/nodes/28.Cf2R7A3f.js.gz +0 -0
  327. package/build/client/_app/immutable/nodes/29.CyJS5sye.js +2 -0
  328. package/build/client/_app/immutable/nodes/29.CyJS5sye.js.br +0 -0
  329. package/build/client/_app/immutable/nodes/29.CyJS5sye.js.gz +0 -0
  330. package/build/client/_app/immutable/nodes/3.DWyky0UV.js +1 -0
  331. package/build/client/_app/immutable/nodes/3.DWyky0UV.js.br +0 -0
  332. package/build/client/_app/immutable/nodes/3.DWyky0UV.js.gz +0 -0
  333. package/build/client/_app/immutable/nodes/30.BFpYKBJh.js +2 -0
  334. package/build/client/_app/immutable/nodes/30.BFpYKBJh.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/30.BFpYKBJh.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js +2 -0
  337. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js.br +0 -0
  338. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js.gz +0 -0
  339. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js +3 -0
  340. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js +1 -0
  343. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js.br +0 -0
  344. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js.gz +0 -0
  345. package/build/client/_app/immutable/nodes/5.BzQBSRbS.js +1 -0
  346. package/build/client/_app/immutable/nodes/5.BzQBSRbS.js.br +0 -0
  347. package/build/client/_app/immutable/nodes/5.BzQBSRbS.js.gz +0 -0
  348. package/build/client/_app/immutable/nodes/6.gJ2nhxWc.js +1 -0
  349. package/build/client/_app/immutable/nodes/6.gJ2nhxWc.js.br +0 -0
  350. package/build/client/_app/immutable/nodes/6.gJ2nhxWc.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/7.tBTDolnc.js +1 -0
  352. package/build/client/_app/immutable/nodes/7.tBTDolnc.js.br +0 -0
  353. package/build/client/_app/immutable/nodes/7.tBTDolnc.js.gz +0 -0
  354. package/build/client/_app/immutable/nodes/8.BJK9n85D.js +2 -0
  355. package/build/client/_app/immutable/nodes/8.BJK9n85D.js.br +0 -0
  356. package/build/client/_app/immutable/nodes/8.BJK9n85D.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/9.un0j6nRP.js +1 -0
  358. package/build/client/_app/immutable/nodes/9.un0j6nRP.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/9.un0j6nRP.js.gz +0 -0
  360. package/build/client/_app/version.json +1 -0
  361. package/build/client/_app/version.json.br +1 -0
  362. package/build/client/_app/version.json.gz +0 -0
  363. package/build/client/baseHDR.hdr +0 -0
  364. package/build/client/favicon/apple-touch-icon.png +0 -0
  365. package/build/client/favicon/favicon-96x96.png +0 -0
  366. package/build/client/favicon/favicon.ico +0 -0
  367. package/build/client/favicon/favicon.svg +1 -0
  368. package/build/client/favicon/favicon.svg.br +0 -0
  369. package/build/client/favicon/favicon.svg.gz +0 -0
  370. package/build/client/favicon/site.webmanifest +21 -0
  371. package/build/client/favicon/web-app-manifest-192x192.png +0 -0
  372. package/build/client/favicon/web-app-manifest-512x512.png +0 -0
  373. package/build/client/robots.txt +3 -0
  374. package/build/client/robots.txt.br +0 -0
  375. package/build/client/robots.txt.gz +0 -0
  376. package/build/env.js +94 -0
  377. package/build/handler.js +1494 -0
  378. package/build/index.js +345 -0
  379. package/build/server/chunks/0-BRU03dEw.js +55 -0
  380. package/build/server/chunks/0-BRU03dEw.js.map +1 -0
  381. package/build/server/chunks/1-m_oCIIXD.js +9 -0
  382. package/build/server/chunks/1-m_oCIIXD.js.map +1 -0
  383. package/build/server/chunks/10-J_ZMrbXX.js +220 -0
  384. package/build/server/chunks/10-J_ZMrbXX.js.map +1 -0
  385. package/build/server/chunks/11-Dz77N9MO.js +57 -0
  386. package/build/server/chunks/11-Dz77N9MO.js.map +1 -0
  387. package/build/server/chunks/12-CrOqT0Q5.js +52 -0
  388. package/build/server/chunks/12-CrOqT0Q5.js.map +1 -0
  389. package/build/server/chunks/13-DQGOyx8W.js +56 -0
  390. package/build/server/chunks/13-DQGOyx8W.js.map +1 -0
  391. package/build/server/chunks/14-Dl5jyPyO.js +99 -0
  392. package/build/server/chunks/14-Dl5jyPyO.js.map +1 -0
  393. package/build/server/chunks/15-CNzxJkd-.js +38 -0
  394. package/build/server/chunks/15-CNzxJkd-.js.map +1 -0
  395. package/build/server/chunks/16-5ZcnQNjK.js +83 -0
  396. package/build/server/chunks/16-5ZcnQNjK.js.map +1 -0
  397. package/build/server/chunks/17-C4Zpziyd.js +9 -0
  398. package/build/server/chunks/17-C4Zpziyd.js.map +1 -0
  399. package/build/server/chunks/18-DFxW4YE_.js +74 -0
  400. package/build/server/chunks/18-DFxW4YE_.js.map +1 -0
  401. package/build/server/chunks/19-C8RtlFzY.js +92 -0
  402. package/build/server/chunks/19-C8RtlFzY.js.map +1 -0
  403. package/build/server/chunks/2-tPIqsVg3.js +40 -0
  404. package/build/server/chunks/2-tPIqsVg3.js.map +1 -0
  405. package/build/server/chunks/20-DLtIYsB6.js +172 -0
  406. package/build/server/chunks/20-DLtIYsB6.js.map +1 -0
  407. package/build/server/chunks/21-Bs7WlXoO.js +74 -0
  408. package/build/server/chunks/21-Bs7WlXoO.js.map +1 -0
  409. package/build/server/chunks/22-Bweil5nd.js +23 -0
  410. package/build/server/chunks/22-Bweil5nd.js.map +1 -0
  411. package/build/server/chunks/23-dTtOINB8.js +136 -0
  412. package/build/server/chunks/23-dTtOINB8.js.map +1 -0
  413. package/build/server/chunks/24-DFoVUKXD.js +144 -0
  414. package/build/server/chunks/24-DFoVUKXD.js.map +1 -0
  415. package/build/server/chunks/25-DstWRI72.js +51 -0
  416. package/build/server/chunks/25-DstWRI72.js.map +1 -0
  417. package/build/server/chunks/26-CI8uo3hW.js +9 -0
  418. package/build/server/chunks/26-CI8uo3hW.js.map +1 -0
  419. package/build/server/chunks/27-CpQEotb7.js +57 -0
  420. package/build/server/chunks/27-CpQEotb7.js.map +1 -0
  421. package/build/server/chunks/28-B-G5uvxa.js +68 -0
  422. package/build/server/chunks/28-B-G5uvxa.js.map +1 -0
  423. package/build/server/chunks/29-BFo4HkLa.js +55 -0
  424. package/build/server/chunks/29-BFo4HkLa.js.map +1 -0
  425. package/build/server/chunks/3-BU-Ucrf8.js +9 -0
  426. package/build/server/chunks/3-BU-Ucrf8.js.map +1 -0
  427. package/build/server/chunks/30-zdVVQ-al.js +57 -0
  428. package/build/server/chunks/30-zdVVQ-al.js.map +1 -0
  429. package/build/server/chunks/31-Cba3pMW9.js +42 -0
  430. package/build/server/chunks/31-Cba3pMW9.js.map +1 -0
  431. package/build/server/chunks/32-BmfoNY4G.js +34 -0
  432. package/build/server/chunks/32-BmfoNY4G.js.map +1 -0
  433. package/build/server/chunks/4-rU40n2rV.js +9 -0
  434. package/build/server/chunks/4-rU40n2rV.js.map +1 -0
  435. package/build/server/chunks/5-CsoWfpGS.js +32 -0
  436. package/build/server/chunks/5-CsoWfpGS.js.map +1 -0
  437. package/build/server/chunks/6-D7wR-syA.js +40 -0
  438. package/build/server/chunks/6-D7wR-syA.js.map +1 -0
  439. package/build/server/chunks/7-uEz6AFkY.js +19 -0
  440. package/build/server/chunks/7-uEz6AFkY.js.map +1 -0
  441. package/build/server/chunks/8-BF-aCqND.js +130 -0
  442. package/build/server/chunks/8-BF-aCqND.js.map +1 -0
  443. package/build/server/chunks/9-BSxBuZbd.js +46 -0
  444. package/build/server/chunks/9-BSxBuZbd.js.map +1 -0
  445. package/build/server/chunks/AppHeader-BGs-cVxu.js +270 -0
  446. package/build/server/chunks/AppHeader-BGs-cVxu.js.map +1 -0
  447. package/build/server/chunks/DataTable-Calmth3f.js +26 -0
  448. package/build/server/chunks/DataTable-Calmth3f.js.map +1 -0
  449. package/build/server/chunks/DefinitionCard-p4VxRESg.js +257 -0
  450. package/build/server/chunks/DefinitionCard-p4VxRESg.js.map +1 -0
  451. package/build/server/chunks/EmptyState-Vs823elu.js +53 -0
  452. package/build/server/chunks/EmptyState-Vs823elu.js.map +1 -0
  453. package/build/server/chunks/ErrorScreen-Btv-WHiu.js +131 -0
  454. package/build/server/chunks/ErrorScreen-Btv-WHiu.js.map +1 -0
  455. package/build/server/chunks/FilterableDropdown-B2_HPO_D.js +61 -0
  456. package/build/server/chunks/FilterableDropdown-B2_HPO_D.js.map +1 -0
  457. package/build/server/chunks/SectionHeader-C1XxBz32.js +32 -0
  458. package/build/server/chunks/SectionHeader-C1XxBz32.js.map +1 -0
  459. package/build/server/chunks/SideNav-B8LeM-P_.js +87 -0
  460. package/build/server/chunks/SideNav-B8LeM-P_.js.map +1 -0
  461. package/build/server/chunks/StatCard--Plm6nsA.js +50 -0
  462. package/build/server/chunks/StatCard--Plm6nsA.js.map +1 -0
  463. package/build/server/chunks/UserAvatar-CaOe1AcR.js +13 -0
  464. package/build/server/chunks/UserAvatar-CaOe1AcR.js.map +1 -0
  465. package/build/server/chunks/UserChip-vdJXrk99.js +1113 -0
  466. package/build/server/chunks/UserChip-vdJXrk99.js.map +1 -0
  467. package/build/server/chunks/_error.svelte-Bifw6LEZ.js +27 -0
  468. package/build/server/chunks/_error.svelte-Bifw6LEZ.js.map +1 -0
  469. package/build/server/chunks/_error.svelte-C2KGldTD.js +29 -0
  470. package/build/server/chunks/_error.svelte-C2KGldTD.js.map +1 -0
  471. package/build/server/chunks/_layout.svelte-1of9r1N3.js +42 -0
  472. package/build/server/chunks/_layout.svelte-1of9r1N3.js.map +1 -0
  473. package/build/server/chunks/_layout.svelte-CGIvkx7D.js +152 -0
  474. package/build/server/chunks/_layout.svelte-CGIvkx7D.js.map +1 -0
  475. package/build/server/chunks/_layout.svelte-CyAPRqZR.js +10 -0
  476. package/build/server/chunks/_layout.svelte-CyAPRqZR.js.map +1 -0
  477. package/build/server/chunks/_layout.svelte-Czx3WsTK.js +795 -0
  478. package/build/server/chunks/_layout.svelte-Czx3WsTK.js.map +1 -0
  479. package/build/server/chunks/_layout.svelte-HGSVxA0R.js +105 -0
  480. package/build/server/chunks/_layout.svelte-HGSVxA0R.js.map +1 -0
  481. package/build/server/chunks/_page.svelte-4090fhI5.js +83 -0
  482. package/build/server/chunks/_page.svelte-4090fhI5.js.map +1 -0
  483. package/build/server/chunks/_page.svelte-5X2iRv32.js +711 -0
  484. package/build/server/chunks/_page.svelte-5X2iRv32.js.map +1 -0
  485. package/build/server/chunks/_page.svelte-BO2coOCw.js +10510 -0
  486. package/build/server/chunks/_page.svelte-BO2coOCw.js.map +1 -0
  487. package/build/server/chunks/_page.svelte-BfQQ6DpG.js +276 -0
  488. package/build/server/chunks/_page.svelte-BfQQ6DpG.js.map +1 -0
  489. package/build/server/chunks/_page.svelte-Br3YjZJA.js +595 -0
  490. package/build/server/chunks/_page.svelte-Br3YjZJA.js.map +1 -0
  491. package/build/server/chunks/_page.svelte-BvG__sle.js +119 -0
  492. package/build/server/chunks/_page.svelte-BvG__sle.js.map +1 -0
  493. package/build/server/chunks/_page.svelte-C2Pa9XCr.js +119 -0
  494. package/build/server/chunks/_page.svelte-C2Pa9XCr.js.map +1 -0
  495. package/build/server/chunks/_page.svelte-C48Yzxtt.js +330 -0
  496. package/build/server/chunks/_page.svelte-C48Yzxtt.js.map +1 -0
  497. package/build/server/chunks/_page.svelte-C4V_xDVU.js +329 -0
  498. package/build/server/chunks/_page.svelte-C4V_xDVU.js.map +1 -0
  499. package/build/server/chunks/_page.svelte-CFbpEr-L.js +249 -0
  500. package/build/server/chunks/_page.svelte-CFbpEr-L.js.map +1 -0
  501. package/build/server/chunks/_page.svelte-CGuEBnqj.js +168 -0
  502. package/build/server/chunks/_page.svelte-CGuEBnqj.js.map +1 -0
  503. package/build/server/chunks/_page.svelte-CWJ99QbZ.js +500 -0
  504. package/build/server/chunks/_page.svelte-CWJ99QbZ.js.map +1 -0
  505. package/build/server/chunks/_page.svelte-CX9DKxIH.js +520 -0
  506. package/build/server/chunks/_page.svelte-CX9DKxIH.js.map +1 -0
  507. package/build/server/chunks/_page.svelte-Cn6-gBTd.js +56 -0
  508. package/build/server/chunks/_page.svelte-Cn6-gBTd.js.map +1 -0
  509. package/build/server/chunks/_page.svelte-D2rnbrpK.js +423 -0
  510. package/build/server/chunks/_page.svelte-D2rnbrpK.js.map +1 -0
  511. package/build/server/chunks/_page.svelte-DIgP7KVt.js +549 -0
  512. package/build/server/chunks/_page.svelte-DIgP7KVt.js.map +1 -0
  513. package/build/server/chunks/_page.svelte-DMn46_VU.js +301 -0
  514. package/build/server/chunks/_page.svelte-DMn46_VU.js.map +1 -0
  515. package/build/server/chunks/_page.svelte-DQeDu6UN.js +146 -0
  516. package/build/server/chunks/_page.svelte-DQeDu6UN.js.map +1 -0
  517. package/build/server/chunks/_page.svelte-DSpONoJg.js +252 -0
  518. package/build/server/chunks/_page.svelte-DSpONoJg.js.map +1 -0
  519. package/build/server/chunks/_page.svelte-DciqGYJp.js +609 -0
  520. package/build/server/chunks/_page.svelte-DciqGYJp.js.map +1 -0
  521. package/build/server/chunks/_page.svelte-DfCFSzaO.js +3847 -0
  522. package/build/server/chunks/_page.svelte-DfCFSzaO.js.map +1 -0
  523. package/build/server/chunks/_page.svelte-DtUlWJaB.js +113 -0
  524. package/build/server/chunks/_page.svelte-DtUlWJaB.js.map +1 -0
  525. package/build/server/chunks/_page.svelte-KapMJV5_.js +452 -0
  526. package/build/server/chunks/_page.svelte-KapMJV5_.js.map +1 -0
  527. package/build/server/chunks/_page.svelte-wsvtYRRE.js +69 -0
  528. package/build/server/chunks/_page.svelte-wsvtYRRE.js.map +1 -0
  529. package/build/server/chunks/_page.svelte-zL7ihDzp.js +13 -0
  530. package/build/server/chunks/_page.svelte-zL7ihDzp.js.map +1 -0
  531. package/build/server/chunks/_server.ts-0ncRaWJ_.js +39 -0
  532. package/build/server/chunks/_server.ts-0ncRaWJ_.js.map +1 -0
  533. package/build/server/chunks/_server.ts-7hKc3tb_.js +28 -0
  534. package/build/server/chunks/_server.ts-7hKc3tb_.js.map +1 -0
  535. package/build/server/chunks/_server.ts-B0wiCYbB.js +36 -0
  536. package/build/server/chunks/_server.ts-B0wiCYbB.js.map +1 -0
  537. package/build/server/chunks/_server.ts-BJWFkEuu.js +94 -0
  538. package/build/server/chunks/_server.ts-BJWFkEuu.js.map +1 -0
  539. package/build/server/chunks/_server.ts-BLHjzdRp.js +30 -0
  540. package/build/server/chunks/_server.ts-BLHjzdRp.js.map +1 -0
  541. package/build/server/chunks/_server.ts-BUc1sqlR.js +58 -0
  542. package/build/server/chunks/_server.ts-BUc1sqlR.js.map +1 -0
  543. package/build/server/chunks/_server.ts-B_MVq_5r.js +72 -0
  544. package/build/server/chunks/_server.ts-B_MVq_5r.js.map +1 -0
  545. package/build/server/chunks/_server.ts-Bb3Kpo0Y.js +38 -0
  546. package/build/server/chunks/_server.ts-Bb3Kpo0Y.js.map +1 -0
  547. package/build/server/chunks/_server.ts-BemU6FO1.js +64 -0
  548. package/build/server/chunks/_server.ts-BemU6FO1.js.map +1 -0
  549. package/build/server/chunks/_server.ts-BkKg2yyC.js +75 -0
  550. package/build/server/chunks/_server.ts-BkKg2yyC.js.map +1 -0
  551. package/build/server/chunks/_server.ts-BpAINcOs.js +276 -0
  552. package/build/server/chunks/_server.ts-BpAINcOs.js.map +1 -0
  553. package/build/server/chunks/_server.ts-BpkR7TzP.js +30 -0
  554. package/build/server/chunks/_server.ts-BpkR7TzP.js.map +1 -0
  555. package/build/server/chunks/_server.ts-BrZXNFlK.js +78 -0
  556. package/build/server/chunks/_server.ts-BrZXNFlK.js.map +1 -0
  557. package/build/server/chunks/_server.ts-C-XniPo8.js +41 -0
  558. package/build/server/chunks/_server.ts-C-XniPo8.js.map +1 -0
  559. package/build/server/chunks/_server.ts-C0F30GT4.js +61 -0
  560. package/build/server/chunks/_server.ts-C0F30GT4.js.map +1 -0
  561. package/build/server/chunks/_server.ts-C4WRZSco.js +32 -0
  562. package/build/server/chunks/_server.ts-C4WRZSco.js.map +1 -0
  563. package/build/server/chunks/_server.ts-CAcgx11J.js +37 -0
  564. package/build/server/chunks/_server.ts-CAcgx11J.js.map +1 -0
  565. package/build/server/chunks/_server.ts-CFIgn6q6.js +293 -0
  566. package/build/server/chunks/_server.ts-CFIgn6q6.js.map +1 -0
  567. package/build/server/chunks/_server.ts-CaHe7mo6.js +81 -0
  568. package/build/server/chunks/_server.ts-CaHe7mo6.js.map +1 -0
  569. package/build/server/chunks/_server.ts-CcQbKaET.js +38 -0
  570. package/build/server/chunks/_server.ts-CcQbKaET.js.map +1 -0
  571. package/build/server/chunks/_server.ts-Ch_RLYHQ.js +48 -0
  572. package/build/server/chunks/_server.ts-Ch_RLYHQ.js.map +1 -0
  573. package/build/server/chunks/_server.ts-CkXnisqg.js +85 -0
  574. package/build/server/chunks/_server.ts-CkXnisqg.js.map +1 -0
  575. package/build/server/chunks/_server.ts-CmGWhrdf.js +110 -0
  576. package/build/server/chunks/_server.ts-CmGWhrdf.js.map +1 -0
  577. package/build/server/chunks/_server.ts-CmUr8pln.js +37 -0
  578. package/build/server/chunks/_server.ts-CmUr8pln.js.map +1 -0
  579. package/build/server/chunks/_server.ts-D-QkfF2o.js +106 -0
  580. package/build/server/chunks/_server.ts-D-QkfF2o.js.map +1 -0
  581. package/build/server/chunks/_server.ts-D1AD48e8.js +81 -0
  582. package/build/server/chunks/_server.ts-D1AD48e8.js.map +1 -0
  583. package/build/server/chunks/_server.ts-DBh0rJrm.js +86 -0
  584. package/build/server/chunks/_server.ts-DBh0rJrm.js.map +1 -0
  585. package/build/server/chunks/_server.ts-DJUYnHrj.js +49 -0
  586. package/build/server/chunks/_server.ts-DJUYnHrj.js.map +1 -0
  587. package/build/server/chunks/_server.ts-DNPb5zS6.js +76 -0
  588. package/build/server/chunks/_server.ts-DNPb5zS6.js.map +1 -0
  589. package/build/server/chunks/_server.ts-DXPhlUCi.js +101 -0
  590. package/build/server/chunks/_server.ts-DXPhlUCi.js.map +1 -0
  591. package/build/server/chunks/_server.ts-Dmo73WWA.js +42 -0
  592. package/build/server/chunks/_server.ts-Dmo73WWA.js.map +1 -0
  593. package/build/server/chunks/_server.ts-DxKERFAd.js +35 -0
  594. package/build/server/chunks/_server.ts-DxKERFAd.js.map +1 -0
  595. package/build/server/chunks/_server.ts-MOiQ4br_.js +31 -0
  596. package/build/server/chunks/_server.ts-MOiQ4br_.js.map +1 -0
  597. package/build/server/chunks/_server.ts-Z87uowZI.js +71 -0
  598. package/build/server/chunks/_server.ts-Z87uowZI.js.map +1 -0
  599. package/build/server/chunks/_server.ts-_NTv7i9z.js +94 -0
  600. package/build/server/chunks/_server.ts-_NTv7i9z.js.map +1 -0
  601. package/build/server/chunks/_server.ts-gic0t4mu.js +52 -0
  602. package/build/server/chunks/_server.ts-gic0t4mu.js.map +1 -0
  603. package/build/server/chunks/_server.ts-la-ySldK.js +39 -0
  604. package/build/server/chunks/_server.ts-la-ySldK.js.map +1 -0
  605. package/build/server/chunks/_server.ts-pDmNGXOa.js +70 -0
  606. package/build/server/chunks/_server.ts-pDmNGXOa.js.map +1 -0
  607. package/build/server/chunks/access.server-GvriCjXN.js +389 -0
  608. package/build/server/chunks/access.server-GvriCjXN.js.map +1 -0
  609. package/build/server/chunks/activity-5BrQjmZv.js +18 -0
  610. package/build/server/chunks/activity-5BrQjmZv.js.map +1 -0
  611. package/build/server/chunks/admin-auth.server-CdTfBMI5.js +78 -0
  612. package/build/server/chunks/admin-auth.server-CdTfBMI5.js.map +1 -0
  613. package/build/server/chunks/alert-description-CJHDA62x.js +59 -0
  614. package/build/server/chunks/alert-description-CJHDA62x.js.map +1 -0
  615. package/build/server/chunks/api-errors-Dk5z97zb.js +36 -0
  616. package/build/server/chunks/api-errors-Dk5z97zb.js.map +1 -0
  617. package/build/server/chunks/arrow-left-Bg-KTjhY.js +14 -0
  618. package/build/server/chunks/arrow-left-Bg-KTjhY.js.map +1 -0
  619. package/build/server/chunks/arrow-right-BvyjMBhI.js +14 -0
  620. package/build/server/chunks/arrow-right-BvyjMBhI.js.map +1 -0
  621. package/build/server/chunks/auth-bootstrap.server-CfD5CPTj.js +38 -0
  622. package/build/server/chunks/auth-bootstrap.server-CfD5CPTj.js.map +1 -0
  623. package/build/server/chunks/badge-DP8t-wkc.js +50 -0
  624. package/build/server/chunks/badge-DP8t-wkc.js.map +1 -0
  625. package/build/server/chunks/bootHealth.server-Bn7taneH.js +58 -0
  626. package/build/server/chunks/bootHealth.server-Bn7taneH.js.map +1 -0
  627. package/build/server/chunks/building-2-DzHZbdjX.js +22 -0
  628. package/build/server/chunks/building-2-DzHZbdjX.js.map +1 -0
  629. package/build/server/chunks/button-5YNnSoty.js +73 -0
  630. package/build/server/chunks/button-5YNnSoty.js.map +1 -0
  631. package/build/server/chunks/card-content-PfaaTs7O.js +46 -0
  632. package/build/server/chunks/card-content-PfaaTs7O.js.map +1 -0
  633. package/build/server/chunks/card-description-BfE_PWv4.js +26 -0
  634. package/build/server/chunks/card-description-BfE_PWv4.js.map +1 -0
  635. package/build/server/chunks/card-title-CV7CjSMp.js +46 -0
  636. package/build/server/chunks/card-title-CV7CjSMp.js.map +1 -0
  637. package/build/server/chunks/check-6xLpsphW.js +11 -0
  638. package/build/server/chunks/check-6xLpsphW.js.map +1 -0
  639. package/build/server/chunks/chevron-down-DdRkfYjQ.js +11 -0
  640. package/build/server/chunks/chevron-down-DdRkfYjQ.js.map +1 -0
  641. package/build/server/chunks/chevron-right-yB_oBTHp.js +11 -0
  642. package/build/server/chunks/chevron-right-yB_oBTHp.js.map +1 -0
  643. package/build/server/chunks/chevron-up-CskoDtlM.js +11 -0
  644. package/build/server/chunks/chevron-up-CskoDtlM.js.map +1 -0
  645. package/build/server/chunks/circle-CcD9wKGy.js +11 -0
  646. package/build/server/chunks/circle-CcD9wKGy.js.map +1 -0
  647. package/build/server/chunks/circle-alert-DKo6GQWU.js +18 -0
  648. package/build/server/chunks/circle-alert-DKo6GQWU.js.map +1 -0
  649. package/build/server/chunks/client-CUfa2kzY.js +39 -0
  650. package/build/server/chunks/client-CUfa2kzY.js.map +1 -0
  651. package/build/server/chunks/computeLimits-FIJ-Mzn4.js +26 -0
  652. package/build/server/chunks/computeLimits-FIJ-Mzn4.js.map +1 -0
  653. package/build/server/chunks/context-9tV9WxQ5.js +134 -0
  654. package/build/server/chunks/context-9tV9WxQ5.js.map +1 -0
  655. package/build/server/chunks/copy-B82RxBlo.js +29 -0
  656. package/build/server/chunks/copy-B82RxBlo.js.map +1 -0
  657. package/build/server/chunks/create-id-BYuAt6fp.js +653 -0
  658. package/build/server/chunks/create-id-BYuAt6fp.js.map +1 -0
  659. package/build/server/chunks/dialog-description-Cp1dB1if.js +523 -0
  660. package/build/server/chunks/dialog-description-Cp1dB1if.js.map +1 -0
  661. package/build/server/chunks/events-Dh5zddQQ.js +119 -0
  662. package/build/server/chunks/events-Dh5zddQQ.js.map +1 -0
  663. package/build/server/chunks/folder-kanban-srfqpNh0.js +21 -0
  664. package/build/server/chunks/folder-kanban-srfqpNh0.js.map +1 -0
  665. package/build/server/chunks/folder-open-LjMDYW2a.js +18 -0
  666. package/build/server/chunks/folder-open-LjMDYW2a.js.map +1 -0
  667. package/build/server/chunks/folders-BMeWz5-X.js +24 -0
  668. package/build/server/chunks/folders-BMeWz5-X.js.map +1 -0
  669. package/build/server/chunks/footerContext.svelte-QTotPOm_.js +523 -0
  670. package/build/server/chunks/footerContext.svelte-QTotPOm_.js.map +1 -0
  671. package/build/server/chunks/hooks.server-CMWyl1Gd.js +197 -0
  672. package/build/server/chunks/hooks.server-CMWyl1Gd.js.map +1 -0
  673. package/build/server/chunks/html-FW6Ia4bL.js +8 -0
  674. package/build/server/chunks/html-FW6Ia4bL.js.map +1 -0
  675. package/build/server/chunks/index-DwB9DMAB.js +28 -0
  676. package/build/server/chunks/index-DwB9DMAB.js.map +1 -0
  677. package/build/server/chunks/index-server-DMc-UvjC.js +19 -0
  678. package/build/server/chunks/index-server-DMc-UvjC.js.map +1 -0
  679. package/build/server/chunks/index2-olcdaqbX.js +4379 -0
  680. package/build/server/chunks/index2-olcdaqbX.js.map +1 -0
  681. package/build/server/chunks/index3-Ye-aF_FM.js +541 -0
  682. package/build/server/chunks/index3-Ye-aF_FM.js.map +1 -0
  683. package/build/server/chunks/input-BIyn3mzZ.js +53 -0
  684. package/build/server/chunks/input-BIyn3mzZ.js.map +1 -0
  685. package/build/server/chunks/label-CTvvOsnE.js +112 -0
  686. package/build/server/chunks/label-CTvvOsnE.js.map +1 -0
  687. package/build/server/chunks/link-2-DyFf_-Tu.js +15 -0
  688. package/build/server/chunks/link-2-DyFf_-Tu.js.map +1 -0
  689. package/build/server/chunks/mail-DS_q8hHt.js +17 -0
  690. package/build/server/chunks/mail-DS_q8hHt.js.map +1 -0
  691. package/build/server/chunks/noop-CzO8kTeB.js +138 -0
  692. package/build/server/chunks/noop-CzO8kTeB.js.map +1 -0
  693. package/build/server/chunks/permissions-compat.server-DSV7bClF.js +19 -0
  694. package/build/server/chunks/permissions-compat.server-DSV7bClF.js.map +1 -0
  695. package/build/server/chunks/permissions.server-Co6VKW9f.js +8 -0
  696. package/build/server/chunks/permissions.server-Co6VKW9f.js.map +1 -0
  697. package/build/server/chunks/plus-kUAGz2vQ.js +11 -0
  698. package/build/server/chunks/plus-kUAGz2vQ.js.map +1 -0
  699. package/build/server/chunks/providers.server-C32WKtDL.js +4486 -0
  700. package/build/server/chunks/providers.server-C32WKtDL.js.map +1 -0
  701. package/build/server/chunks/randomId-8gj3Lbuq.js +25 -0
  702. package/build/server/chunks/randomId-8gj3Lbuq.js.map +1 -0
  703. package/build/server/chunks/renderer-BFEBS3DQ.js +3757 -0
  704. package/build/server/chunks/renderer-BFEBS3DQ.js.map +1 -0
  705. package/build/server/chunks/resolve.server-DYsU4jL3.js +11 -0
  706. package/build/server/chunks/resolve.server-DYsU4jL3.js.map +1 -0
  707. package/build/server/chunks/resolve.server2-Co65XNMI.js +50 -0
  708. package/build/server/chunks/resolve.server2-Co65XNMI.js.map +1 -0
  709. package/build/server/chunks/root-DfWNVuNE.js +1134 -0
  710. package/build/server/chunks/root-DfWNVuNE.js.map +1 -0
  711. package/build/server/chunks/rotate-ccw-BhVSWSeP.js +17 -0
  712. package/build/server/chunks/rotate-ccw-BhVSWSeP.js.map +1 -0
  713. package/build/server/chunks/scroll-lock-BNv9iOMl.js +1558 -0
  714. package/build/server/chunks/scroll-lock-BNv9iOMl.js.map +1 -0
  715. package/build/server/chunks/scroll-text-DqHQWAWm.js +21 -0
  716. package/build/server/chunks/scroll-text-DqHQWAWm.js.map +1 -0
  717. package/build/server/chunks/server-CtTftue_.js +36 -0
  718. package/build/server/chunks/server-CtTftue_.js.map +1 -0
  719. package/build/server/chunks/settings-DUGFWkVU.js +19 -0
  720. package/build/server/chunks/settings-DUGFWkVU.js.map +1 -0
  721. package/build/server/chunks/shared-server-DaWdgxVh.js +11 -0
  722. package/build/server/chunks/shared-server-DaWdgxVh.js.map +1 -0
  723. package/build/server/chunks/shield-DcFe9IEC.js +18 -0
  724. package/build/server/chunks/shield-DcFe9IEC.js.map +1 -0
  725. package/build/server/chunks/shield-check-BpiYOxKK.js +19 -0
  726. package/build/server/chunks/shield-check-BpiYOxKK.js.map +1 -0
  727. package/build/server/chunks/slug-BGuFQjqe.js +6 -0
  728. package/build/server/chunks/slug-BGuFQjqe.js.map +1 -0
  729. package/build/server/chunks/star-CyFkn9su.js +18 -0
  730. package/build/server/chunks/star-CyFkn9su.js.map +1 -0
  731. package/build/server/chunks/stores-r9x46ujW.js +31 -0
  732. package/build/server/chunks/stores-r9x46ujW.js.map +1 -0
  733. package/build/server/chunks/textarea-BCZD0juO.js +685 -0
  734. package/build/server/chunks/textarea-BCZD0juO.js.map +1 -0
  735. package/build/server/chunks/toast-state.svelte-CW-nObZ9.js +185 -0
  736. package/build/server/chunks/toast-state.svelte-CW-nObZ9.js.map +1 -0
  737. package/build/server/chunks/token.server-B8XVPI0F.js +25 -0
  738. package/build/server/chunks/token.server-B8XVPI0F.js.map +1 -0
  739. package/build/server/chunks/token.server2-D0Z99lBB.js +22 -0
  740. package/build/server/chunks/token.server2-D0Z99lBB.js.map +1 -0
  741. package/build/server/chunks/trash-2-DWN_oRG7.js +17 -0
  742. package/build/server/chunks/trash-2-DWN_oRG7.js.map +1 -0
  743. package/build/server/chunks/triangle-alert-DYYSX_Mf.js +444 -0
  744. package/build/server/chunks/triangle-alert-DYYSX_Mf.js.map +1 -0
  745. package/build/server/chunks/types-DxzJoaA4.js +11 -0
  746. package/build/server/chunks/types-DxzJoaA4.js.map +1 -0
  747. package/build/server/chunks/types2-DdHhYSMF.js +4 -0
  748. package/build/server/chunks/types2-DdHhYSMF.js.map +1 -0
  749. package/build/server/chunks/upload-DREoObmA.js +62 -0
  750. package/build/server/chunks/upload-DREoObmA.js.map +1 -0
  751. package/build/server/chunks/user-plus-Nb35DNnT.js +16 -0
  752. package/build/server/chunks/user-plus-Nb35DNnT.js.map +1 -0
  753. package/build/server/chunks/users-DMh0XDYp.js +16 -0
  754. package/build/server/chunks/users-DMh0XDYp.js.map +1 -0
  755. package/build/server/chunks/utils2-Sy-_rI-0.js +56 -0
  756. package/build/server/chunks/utils2-Sy-_rI-0.js.map +1 -0
  757. package/build/server/chunks/utils3-AZ8FPfBW.js +80 -0
  758. package/build/server/chunks/utils3-AZ8FPfBW.js.map +1 -0
  759. package/build/server/chunks/x-wRP5erhc.js +14 -0
  760. package/build/server/chunks/x-wRP5erhc.js.map +1 -0
  761. package/build/server/index.js +5380 -0
  762. package/build/server/index.js.map +1 -0
  763. package/build/server/manifest.js +517 -0
  764. package/build/server/manifest.js.map +1 -0
  765. package/build/shims.js +32 -0
  766. package/package.json +57 -0
  767. package/templates/.env.example +339 -0
  768. package/templates/ecosystem.config.cjs +52 -0
  769. package/templates/selva.config.example.js +338 -0
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@selvajs/selva",
3
+ "version": "2.0.0",
4
+ "description": "Selva — self-contained Grasshopper-driven web app. Install + point at a selva.config.js to deploy.",
5
+ "license": "MIT",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "type": "module",
10
+ "main": "./build/index.js",
11
+ "files": [
12
+ "build",
13
+ "templates"
14
+ ],
15
+ "engines": {
16
+ "node": ">=20.6.0"
17
+ },
18
+ "dependencies": {
19
+ "@lucide/svelte": "^1.11.0",
20
+ "@selvajs/compute": "1.5.2",
21
+ "@supabase/supabase-js": "^2.104.1",
22
+ "@sveltejs/kit": "2.58.0",
23
+ "bits-ui": "^2.18.0",
24
+ "clsx": "^2.1.1",
25
+ "mode-watcher": "^1.1.0",
26
+ "sharp": "^0.34.5",
27
+ "tailwind-merge": "^3.5.0",
28
+ "tailwind-variants": "^3.2.2",
29
+ "three": "^0.184.0",
30
+ "zod": "^4.3.6"
31
+ },
32
+ "devDependencies": {
33
+ "@sveltejs/adapter-node": "^5.5.4",
34
+ "@types/three": "^0.184.0",
35
+ "esbuild": "^0.25.0",
36
+ "tw-animate-css": "^1.4.0",
37
+ "vitest": "^3.2.4",
38
+ "@selvajs/config": "0.0.0",
39
+ "@selvajs/header-auth-provider": "0.11.0",
40
+ "@selvajs/local-provider": "0.10.0",
41
+ "@selvajs/platform": "0.10.0",
42
+ "@selvajs/schemas": "2.0.0",
43
+ "@selvajs/ui": "2.0.0",
44
+ "@selvajs/supabase-provider": "0.10.0"
45
+ },
46
+ "scripts": {
47
+ "dev": "vite dev",
48
+ "build": "rm -rf build && vite build && node ./scripts/generate-templates.js",
49
+ "preview": "vite preview",
50
+ "start": "node build/index.js",
51
+ "clean": "rm -rf build templates",
52
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
53
+ "type-check": "tsc --noEmit",
54
+ "test": "vitest run",
55
+ "test:watch": "vitest"
56
+ }
57
+ }
@@ -0,0 +1,339 @@
1
+ # ============================================================================
2
+ # COMPUTE-APP ENVIRONMENT VARIABLES
3
+ # ============================================================================
4
+ # These are PRIVATE server-side only variables. Never commit this file!
5
+ # They are NOT embedded in the client bundle.
6
+ #
7
+ # COPY THIS FILE TO `.env` AND UPDATE THE VALUES FOR YOUR DEPLOYMENT
8
+ # ============================================================================
9
+
10
+
11
+ # ============================================================================
12
+ # PROVIDER & TENANCY
13
+ # ============================================================================
14
+ # Selva is provider-pluggable. Each of auth / data / storage can be wired to
15
+ # a different backend; the three vars below pick which implementation runs.
16
+ # Vars labeled "[local]" further down are only read by the local provider;
17
+ # "[supabase]" only by the Supabase provider.
18
+ #
19
+ # Wiring a custom provider (e.g. your own SSO, an internal data store) means
20
+ # editing selva.config.ts. The defaults below cover the shipped stacks.
21
+ #
22
+ # SELVA_AUTH_PROVIDER local | supabase | header (default: local)
23
+ # SELVA_DATA_PROVIDER local | supabase (default: local)
24
+ # SELVA_STORAGE_PROVIDER local | supabase (default: local)
25
+ #
26
+ # Tenancy mode:
27
+ # single — one org per deployment. Setup creates it; every authenticated
28
+ # user acts inside that org. Right for white-label installs.
29
+ # multi — orgs are first-class. Setup creates only a platform admin;
30
+ # users create their own orgs. Right for SaaS-style deployments.
31
+ #
32
+ # SELVA_TENANCY single | multi (default: single)
33
+
34
+
35
+ # ============================================================================
36
+ # WHITE-LABEL BRANDING
37
+ # ============================================================================
38
+ # Customer-visible product name, footer copyright, and landing-page copy.
39
+ # All optional — anything left unset falls back to "Selva" / the default
40
+ # tagline. Use these to rebrand the instance without forking the UI.
41
+ #
42
+ # SELVA_BRAND_NAME=Acme Compute
43
+ # Shown in the header next to the logo, in <title> tags, and in any copy
44
+ # that refers to "this {brand} instance" / "{brand} staff".
45
+ #
46
+ # SELVA_BRAND_COPYRIGHT_NAME=Acme Corp.
47
+ # Footer copyright owner. Defaults to SELVA_BRAND_NAME when unset.
48
+ #
49
+ # SELVA_BRAND_TAGLINE=Acme's parametric design tools, on the web.
50
+ # Subtitle on the unauthenticated landing page.
51
+ #
52
+ # SELVA_BRAND_DESCRIPTION=Acme's interactive design platform.
53
+ # <meta name="description"> for SEO and social previews.
54
+ #
55
+ # Favicons + the apple-mobile-web-app-title in app.html are static assets
56
+ # bundled into the build. To replace them, overwrite the files in
57
+ # build/client/favicon/ after install. The webmanifest can be edited the
58
+ # same way.
59
+
60
+
61
+ # ============================================================================
62
+ # PLATFORM FEATURE FLAGS (all default to off)
63
+ # ============================================================================
64
+ # Each flag is opt-in; absence or anything other than "true"/"1"/"yes" means
65
+ # off. These are security-relevant — read the comments before flipping.
66
+ #
67
+ # SELVA_FLAG_ALLOW_ORG_CREATION=true
68
+ # Lets non-instance-admin users create their own org. Off by default in
69
+ # single-tenant deployments. Turn on for self-service multi-tenant setups.
70
+ #
71
+ # SELVA_FLAG_ALLOW_CROSS_ORG_PUBLIC=true
72
+ # Changes what `public` projects mean. Off (default): a `public` project is
73
+ # visible only to authenticated members of the publishing org. On: visible
74
+ # to any authenticated user on the instance. Self-hosted single-tenant
75
+ # instances can leave this off.
76
+ #
77
+ # SELVA_FLAG_ALLOW_ORG_COMPUTE_OVERRIDE=true
78
+ # Lets orgs configure their own Rhino.Compute server (BYO compute) instead
79
+ # of inheriting the instance default. Off by default.
80
+ #
81
+ # SELVA_FLAG_ENABLE_SHARING=true
82
+ # Per-definition share links — anonymous external access via tokenized
83
+ # URLs. Off by default. When off, share-link admin routes reject
84
+ # mint/list/revoke and the token-resolution path stops honouring tokens.
85
+
86
+
87
+ # ============================================================================
88
+ # [local] Local provider — filesystem + JSON + HMAC sessions
89
+ # ============================================================================
90
+ # Two keys, two jobs. They sound similar but are not interchangeable:
91
+ #
92
+ # SELVA_HMAC_KEY — SIGNS things. HMAC-SHA256 key used for session
93
+ # cookies and (by fallback) share-link + invite
94
+ # token hashes. Rotating it logs everyone out and
95
+ # invalidates any tokens that were using it as a
96
+ # fallback.
97
+ #
98
+ # SELVA_AT_REST_KEY — ENCRYPTS things. AES-256-GCM key used to encrypt
99
+ # the Rhino.Compute API key at rest in
100
+ # compute.config.json. Rotating it makes the
101
+ # encrypted blob undecryptable — you'd have to
102
+ # re-enter the API key at /admin/compute.
103
+ #
104
+ # Both must be 32 bytes, stable across restarts. Generate with:
105
+ # node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
106
+ #
107
+ # DATA_PATH — directory where the local provider stores users.json,
108
+ # orgs/projects/definitions JSON, and uploaded .gh files.
109
+ # Resolved relative to packages/selva/. The default
110
+ # points at .selva-data/ at the repo root so user data does
111
+ # not live inside the package source tree (and is gitignored
112
+ # there). For production deployments use an absolute path.
113
+ #
114
+ # All three are only read by the local provider. The first admin user is
115
+ # created through the in-app setup page on first boot.
116
+ #
117
+ DATA_PATH="../../.selva-data"
118
+ SELVA_HMAC_KEY=replace-this-with-a-random-32-byte-hex-key
119
+ SELVA_AT_REST_KEY=replace-this-with-a-random-32-byte-hex-key
120
+
121
+
122
+ # ============================================================================
123
+ # [header] Header auth provider — trusts headers from an upstream proxy
124
+ # ============================================================================
125
+ # Auth-only provider. The deployment authenticates users in a reverse proxy
126
+ # (Caddy forward_auth, oauth2-proxy, Authelia, …) and forwards a trusted UPN
127
+ # header to Selva. Pair with `local` or `supabase` for data/storage.
128
+ #
129
+ # ⚠ TRUST BOUNDARY: this provider does NO cryptographic verification of the
130
+ # headers. The deployment IS the security boundary. You MUST ensure all of:
131
+ # 1. The app process is reachable ONLY through the proxy (bind 127.0.0.1
132
+ # / firewall the port). A direct curl from outside must NOT reach it.
133
+ # 2. The proxy authenticates against the IdP on every request.
134
+ # 3. The proxy STRIPS any inbound SELVA-* headers before adding its own.
135
+ # See packages/providers/header-auth/README.md for a working Caddyfile and a
136
+ # curl-based self-test to run after every deployment change.
137
+ #
138
+ # HEADER_AUTH_DATA_DIR
139
+ # Directory holding header-allowlist.json (the pre-provisioned UPN list).
140
+ # Falls back to DATA_PATH when unset — convenient when pairing with the
141
+ # local data provider.
142
+ #
143
+ # HEADER_AUTH_UPN_HEADER (default: SELVA-UserPrincipalName)
144
+ # HEADER_AUTH_EMAIL_HEADER (default: SELVA-Email)
145
+ # HEADER_AUTH_DISPLAY_NAME_HEADER (default: SELVA-DisplayName)
146
+ # Header names the proxy sets. Override to match a different proxy
147
+ # (e.g. oauth2-proxy uses X-Auth-Request-User).
148
+ #
149
+ # Note: there is no Selva-side logout — identity rides on every request via
150
+ # the proxy headers, so there's no session to destroy. Sign-out is the
151
+ # proxy/IdP's job; Selva does not render a logout button under header-auth.
152
+ #
153
+ # HEADER_AUTH_DATA_DIR=/var/lib/selva
154
+ # HEADER_AUTH_UPN_HEADER=SELVA-UserPrincipalName
155
+ # HEADER_AUTH_EMAIL_HEADER=SELVA-Email
156
+ # HEADER_AUTH_DISPLAY_NAME_HEADER=SELVA-DisplayName
157
+
158
+
159
+ # ============================================================================
160
+ # TOKEN HMAC SECRETS (both providers)
161
+ # ============================================================================
162
+ # HMAC keys used to hash share-link and invite tokens at rest. The raw token
163
+ # is generated per record (32 random bytes) and shown to the minter once;
164
+ # the DB stores HMAC(secret, token). A DB-only leak therefore can't be
165
+ # replayed without the secret.
166
+ #
167
+ # If unset, both fall back to SELVA_HMAC_KEY. Fine for single-tenant;
168
+ # multi-tenant or production should set them explicitly so they can be
169
+ # rotated independently — rotating one shouldn't invalidate the other.
170
+ #
171
+ # Generate each with:
172
+ # openssl rand -base64 32
173
+ #
174
+ # Rotation invalidates EVERY existing token of that kind instantly (hashes
175
+ # won't match). Set once at install; rotate only on suspected secret
176
+ # compromise. Rotating SHARE_LINK_SECRET breaks live share links;
177
+ # rotating INVITE_TOKEN_SECRET breaks pending invite links.
178
+ #
179
+ # SHARE_LINK_SECRET=replace-this-with-a-random-32-plus-character-secret
180
+ # INVITE_TOKEN_SECRET=replace-this-with-a-random-32-plus-character-secret
181
+
182
+
183
+ # ============================================================================
184
+ # [supabase] Supabase provider
185
+ # ============================================================================
186
+ # Local stack (`cd packages/providers/supabase && npx supabase start`):
187
+ # SUPABASE_URL=http://127.0.0.1:54321
188
+ # then read `npx supabase status` for the Publishable + Secret keys.
189
+ #
190
+ # Hosted project (supabase.com):
191
+ # SUPABASE_URL=https://<project-ref>.supabase.co
192
+ # Dashboard → Project Settings → API
193
+ #
194
+ # SUPABASE_URL=
195
+ # SUPABASE_ANON_KEY= # "Publishable" on CLI v2.95+ (sb_publishable_…)
196
+ # SUPABASE_SERVICE_ROLE_KEY= # "Secret" on CLI v2.95+ (sb_secret_…) — server-only
197
+
198
+ # Optional bucket overrides (defaults are selva-public + selva-private).
199
+ # SUPABASE_PUBLIC_BUCKET=selva-public
200
+ # SUPABASE_PRIVATE_BUCKET=selva-private
201
+
202
+ # URL prefix the app serves private files at. Default: /api/files
203
+ # SUPABASE_PRIVATE_URL_PREFIX=/api/files
204
+
205
+ # Allow self-service signup via /signup? Default: false (invite-only)
206
+ # SUPABASE_ENABLE_SELF_SIGNUP=true
207
+
208
+ # OAuth providers to surface on the login page. Comma-separated; each must be
209
+ # enabled in the Supabase dashboard first (Authentication → Providers).
210
+ # Supported labels: google, github, azure, gitlab.
211
+ # When set, the login page renders "Continue with X" buttons; the setup page
212
+ # treats the first OAuth sign-in as the bootstrap admin (granted every
213
+ # platform permission). Leave unset for password-only deployments.
214
+ # SUPABASE_OAUTH_PROVIDERS=google,github
215
+
216
+
217
+ # ============================================================================
218
+ # INSTANCE-ADMIN BOOTSTRAP (both providers)
219
+ # ============================================================================
220
+ # Constrains the "first OAuth sign-in becomes instance_admin" path
221
+ # (Permissions.md §2 invariant) to a specific email. Without this set,
222
+ # whoever signs in first while no admin exists wins the race — fine for
223
+ # fresh self-hosted installs, risky in production.
224
+ #
225
+ # Setting this also doubles as the break-glass recovery path
226
+ # (Permissions.md §12) when admin is lost to manual DB edits, a backup
227
+ # restore, or migration drift: configure the env var, the named user
228
+ # signs in, admin is restored. The check only runs while *no* admin
229
+ # exists, so this is safe to leave permanently set.
230
+ #
231
+ # BOOTSTRAP_INSTANCE_ADMIN_EMAIL=admin@your-domain.com
232
+
233
+
234
+ # ============================================================================
235
+ # Rhino.Compute Server
236
+ # ============================================================================
237
+ # Server URL and optional API key are configured in the admin dashboard
238
+ # (/admin/compute) and stored in the data provider — no env var needed.
239
+
240
+
241
+ # ============================================================================
242
+ # OPTIONAL: Server Configuration
243
+ # ============================================================================
244
+ # Port the application server listens on (default: 3000)
245
+ # PORT=3000
246
+
247
+ # Host/IP address the server binds to (default: 0.0.0.0)
248
+ # Use 0.0.0.0 to accept external connections
249
+ # Use 127.0.0.1 or localhost for local-only connections
250
+ # HOST=0.0.0.0
251
+
252
+ # Node.js environment mode (default: development)
253
+ # Set to 'production' for deployments to hide error stack traces
254
+ # NOTE: Do NOT set this in .env during build/preview with Vite as it causes errors
255
+ # NODE_ENV=production
256
+
257
+
258
+ # ============================================================================
259
+ # OPTIONAL: Request Body Size Limit (Important for NODE deployment)
260
+ # ============================================================================
261
+ # Global cap enforced by adapter-node for every route. Sized to the largest
262
+ # legitimate payload — a big .gh upload plus an image:
263
+ #
264
+ # BODY_SIZE_LIMIT=150M
265
+ #
266
+ # Smaller per-route caps live next to the route handlers (e.g.
267
+ # `COMPUTE_REQUEST_MAX_BYTES` in /api/compute) and are enforced via
268
+ # `Content-Length` before the body is read. Don't set this to "Infinity" in
269
+ # production — every JSON endpoint inherits the global cap, and an
270
+ # unbounded body is a DoS vector on every route that doesn't have its own.
271
+ #
272
+ # Supports a single-letter suffix (K / M / G, case-insensitive) or a raw
273
+ # byte count. NOTE: adapter-node only checks the *last* character — "60mb"
274
+ # is parsed as the digits "60m" (= 60 MB by accident) and "Infinity" throws
275
+ # on boot. Use "150M" or the raw byte count "157286400" to be unambiguous.
276
+ #
277
+ # NOTE: If you change this value and are using PM2, restart with --update-env:
278
+ # pm2 restart selva-compute --update-env
279
+ #
280
+ BODY_SIZE_LIMIT=150M
281
+
282
+
283
+ # ============================================================================
284
+ # OPTIONAL: Compute limits (single source of truth: lib/server/computeLimits.ts)
285
+ # ============================================================================
286
+ # All knobs below are read by `computeLimits.ts` on boot. Defaults are sized
287
+ # for typical interactive use; tune only when real traffic warrants it.
288
+ #
289
+ # Maximum solve duration. Single source of truth for "how long can one solve
290
+ # take". Server enforces it on /api/compute; the same value is forwarded to
291
+ # the page so the browser's AbortController matches. NOTE: this only bounds
292
+ # the parts of the stack we control. If you raise it past your reverse
293
+ # proxy's read_timeout or your hosting platform's function cap, requests
294
+ # will 502 at those layers regardless of this value — bump those configs
295
+ # in lockstep when targeting long-running definitions.
296
+ # MAX_SOLVE_DURATION_MS=60000
297
+ #
298
+ # Per-key rate limit on /api/compute (fixed window, in-process Map). Keyed by
299
+ # user OR share-link, so anonymous link consumers don't share a bucket with
300
+ # the link's owner. Default 120 / 60_000ms = 2 solves/sec sustained — well
301
+ # above what a slider scrub produces with the client-side throttle.
302
+ # COMPUTE_RATE_LIMIT_WINDOW_MS=60000
303
+ # COMPUTE_RATE_LIMIT_MAX=120
304
+ #
305
+ # Upload caps (.gh and cover image). REMOTE_DEFINITION_MAX_BYTES tracks
306
+ # MAX_GH_FILE_SIZE_BYTES so a remote URL can't smuggle past the upload cap.
307
+ # MAX_GH_FILE_SIZE_BYTES=52428800 # 50 MB
308
+ # MAX_IMAGE_FILE_SIZE_BYTES=10485760 # 10 MB
309
+ #
310
+ # /api/compute JSON body cap (inputs + values, NOT the .gh).
311
+ # COMPUTE_REQUEST_MAX_BYTES=5242880 # 5 MB
312
+ #
313
+ # Remote-definition fetch deadline + cache TTL.
314
+ # REMOTE_DEFINITION_FETCH_TIMEOUT_MS=30000
315
+ # DEFINITION_CACHE_TTL_MS=300000 # 5 minutes
316
+
317
+
318
+ # ============================================================================
319
+ # REQUIRED when behind a reverse proxy (Caddy, nginx, etc.)
320
+ # ============================================================================
321
+ # SvelteKit's CSRF protection compares the request Origin header against this
322
+ # value. Without it, form submissions through a proxy fail with
323
+ # "Cross-site POST form submissions are forbidden".
324
+ #
325
+ # Set this to the public-facing URL of the app (no trailing slash):
326
+ # ORIGIN=https://your-domain.com
327
+ # ORIGIN=http://your-server-ip
328
+ #
329
+ # ORIGIN=https://your-domain.com
330
+
331
+
332
+ # ============================================================================
333
+ # OPTIONAL: Installation Directory for Updates
334
+ # ============================================================================
335
+ # Directory where the application is installed and where update.sh is located.
336
+ # Used by the admin dashboard when triggering updates.
337
+ # Defaults to current working directory if not set.
338
+ #
339
+ # INSTALL_DIR=/var/www/selva-compute
@@ -0,0 +1,52 @@
1
+ // PM2 process file — runtime template shipped with @selvajs/selva.
2
+ //
3
+ // Drop this into a deployment directory alongside selva.config.js and .env,
4
+ // then `pm2 start ecosystem.config.cjs`.
5
+ //
6
+ // Runtime config is loaded from .env via Node's --env-file flag (Node >= 20.6).
7
+ // PM2's own env_file option is silently ignored by `pm2 start` (only works
8
+ // under pm2-runtime) — using --env-file via node_args avoids that footgun.
9
+ //
10
+ // SELVA_CONFIG_PATH points the runtime at the operator's compiled config.
11
+ // Rhino.Compute server URL + API key are configured in /admin/compute.
12
+ module.exports = {
13
+ apps: [
14
+ {
15
+ name: 'selva-compute',
16
+ script: './node_modules/@selvajs/selva/build/index.js',
17
+ cwd: '.',
18
+ node_args: '--env-file=.env',
19
+
20
+ // fork + 1 instance is required for the local provider — its JSON stores
21
+ // read-modify-write without file locking. Switch to instances: 'max',
22
+ // exec_mode: 'cluster' on Supabase or any provider with real concurrency
23
+ // control.
24
+ instances: 1,
25
+ exec_mode: 'fork',
26
+
27
+ autorestart: true,
28
+ watch: false,
29
+ max_memory_restart: '1G',
30
+
31
+ // kill_timeout: graceful-drain budget on restart. PM2 sends SIGINT to
32
+ // the SvelteKit server, which stops accepting new connections and
33
+ // waits for in-flight requests to finish. After this many ms, PM2
34
+ // escalates to SIGKILL. 10s is enough for most solves; bump if your
35
+ // definitions can run longer and you want them to complete during
36
+ // an update. The admin-update health probe runs AFTER this window,
37
+ // so raising kill_timeout extends update time but doesn't break it.
38
+ kill_timeout: 10000,
39
+ listen_timeout: 10000,
40
+ min_uptime: '30s',
41
+ max_restarts: 10,
42
+
43
+ log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
44
+ merge_logs: true,
45
+
46
+ env: {
47
+ NODE_ENV: 'production',
48
+ SELVA_CONFIG_PATH: './selva.config.js'
49
+ }
50
+ }
51
+ ]
52
+ };