@selvajs/selva 4.0.0 → 4.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 (563) hide show
  1. package/build/client/_app/immutable/assets/0.-MS0dTYb.css +1 -0
  2. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/20.Bne67Vgr.css +1 -0
  5. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.br +0 -0
  6. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{-UMoMsui.js → 3Ah3Y6N9.js} +1 -1
  9. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/6CzuHfQM.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/9DES--UJ.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B1z9if9B.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/B21bldal.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/B6_AR4oL.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BEFa4rcT.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/BGIAOk5X.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BHhjUaik.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BIIXkPqf.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BJTJCSLB.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BLZ195WY.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/BOsr6E_d.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BTm-dDt9.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{DT5O4b-_.js → BU3ZilVu.js} +1 -1
  27. package/build/client/_app/immutable/chunks/BU3ZilVu.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BU3ZilVu.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BX0gN9mF.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/BaMCSMGs.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BfHBnYuG.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BiG82jCv.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/BihI7LuH.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/Bma65zV8.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BnIDUuJL.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/BnZOgasr.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BnzoF81W.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/{DGr_EUx4.js → BokovJH_.js} +1 -1
  39. package/build/client/_app/immutable/chunks/BokovJH_.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BokovJH_.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BpQqe39G.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/BsKtJj5h.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/BtugGMaj.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{B6yEy6Wb.js → Buy2icyP.js} +1 -1
  45. package/build/client/_app/immutable/chunks/Buy2icyP.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/Buy2icyP.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/BzBbrBKd.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/C33A5aSj.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/C3WxOOC9.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/C46MGZre.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CDmA5ezP.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/CE_gxD9G.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CIHhLSqA.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/CNC_mCsM.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CYAAKeQs.js +2 -0
  58. package/build/client/_app/immutable/chunks/CYAAKeQs.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/CYAAKeQs.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/CYyqq9B1.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/CeS0GhtF.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/CnXIg_dO.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/Cqb2-zYs.js +1 -0
  65. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CsdWDH4Y.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/CumXBEVX.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/CvUP44VI.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/CzCTTv8Q.js +1 -0
  71. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/D-3pI9hp.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/D-Fls4-N.js +1 -0
  75. package/build/client/_app/immutable/chunks/D-Fls4-N.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/D-Fls4-N.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/D1xkoVpc.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/{C_pyGEAV.js → D2AcAR8h.js} +1 -1
  79. package/build/client/_app/immutable/chunks/D2AcAR8h.js.br +0 -0
  80. package/build/client/_app/immutable/chunks/D2AcAR8h.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/D9QmLqfO.js +3 -0
  82. package/build/client/_app/immutable/chunks/D9QmLqfO.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/D9QmLqfO.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/DCBLBrrW.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/DEk358l3.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/DRNG0pfi.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/DRpLcVdK.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/DS1KfRtl.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/DYfK6Plb.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/DZM0bVcB.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/D_gPt7DB.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/DdEmEaOR.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/De-Sjn1V.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/DeMiewtM.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/DfVTcmam.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/DfbumCTS.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/Diyh8RG-.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/DkVLFJC2.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/DkpwXYYZ.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/Dl_x4ktn.js +1 -0
  101. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/DqK2lhM-.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/DtFVCiwY.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/KIV0kKdR.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/Q9Y439fs.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/T-Nslbso.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/fFzkMoJP.js +4108 -0
  113. package/build/client/_app/immutable/chunks/fFzkMoJP.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/fFzkMoJP.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/jO1WSR3P.js.gz +0 -0
  116. package/build/client/_app/immutable/chunks/{7OGPJeUM.js → oGi4fqQN.js} +1 -1
  117. package/build/client/_app/immutable/chunks/oGi4fqQN.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/oGi4fqQN.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/snZK0J5H.js +1 -0
  120. package/build/client/_app/immutable/chunks/snZK0J5H.js.br +0 -0
  121. package/build/client/_app/immutable/chunks/snZK0J5H.js.gz +0 -0
  122. package/build/client/_app/immutable/chunks/vyYztzrZ.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/xQ1SsCxk.js.gz +0 -0
  124. package/build/client/_app/immutable/entry/app.DS9bUFUM.js +2 -0
  125. package/build/client/_app/immutable/entry/app.DS9bUFUM.js.br +0 -0
  126. package/build/client/_app/immutable/entry/app.DS9bUFUM.js.gz +0 -0
  127. package/build/client/_app/immutable/entry/start.DB-BZXHU.js +1 -0
  128. package/build/client/_app/immutable/entry/start.DB-BZXHU.js.br +2 -0
  129. package/build/client/_app/immutable/entry/start.DB-BZXHU.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js +9 -0
  131. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/{1.NC0eJqYH.js → 1.BUswJ4U9.js} +1 -1
  134. package/build/client/_app/immutable/nodes/1.BUswJ4U9.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/1.BUswJ4U9.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/{10.DpfN1qrg.js → 10.lZeHcKpq.js} +1 -1
  137. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js +2 -0
  140. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/11.BLpWvtX5.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.gz +0 -0
  143. package/build/client/_app/immutable/nodes/{13.DoCSNk6B.js → 13.C8wKffzy.js} +1 -1
  144. package/build/client/_app/immutable/nodes/13.C8wKffzy.js.br +0 -0
  145. package/build/client/_app/immutable/nodes/13.C8wKffzy.js.gz +0 -0
  146. package/build/client/_app/immutable/nodes/{14.CGaF6W-i.js → 14.CH_Qv0bZ.js} +1 -1
  147. package/build/client/_app/immutable/nodes/14.CH_Qv0bZ.js.br +0 -0
  148. package/build/client/_app/immutable/nodes/14.CH_Qv0bZ.js.gz +0 -0
  149. package/build/client/_app/immutable/nodes/15.czhLtsoD.js +13 -0
  150. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.br +0 -0
  151. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.gz +0 -0
  152. package/build/client/_app/immutable/nodes/{16.CK0W0845.js → 16.BvAee3O_.js} +1 -1
  153. package/build/client/_app/immutable/nodes/16.BvAee3O_.js.br +0 -0
  154. package/build/client/_app/immutable/nodes/{16.CK0W0845.js.gz → 16.BvAee3O_.js.gz} +0 -0
  155. package/build/client/_app/immutable/nodes/{17.BLCtgsLP.js → 17.SyD4YOfn.js} +1 -1
  156. package/build/client/_app/immutable/nodes/17.SyD4YOfn.js.br +0 -0
  157. package/build/client/_app/immutable/nodes/17.SyD4YOfn.js.gz +0 -0
  158. package/build/client/_app/immutable/nodes/18.Cl9SXwAF.js.gz +0 -0
  159. package/build/client/_app/immutable/nodes/{19.Dx5b18Qv.js → 19.Wb7AQfgb.js} +1 -1
  160. package/build/client/_app/immutable/nodes/19.Wb7AQfgb.js.br +0 -0
  161. package/build/client/_app/immutable/nodes/19.Wb7AQfgb.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/{2.BxDq9fgp.js → 2.CW-SavfP.js} +1 -1
  163. package/build/client/_app/immutable/nodes/2.CW-SavfP.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/2.CW-SavfP.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js +11 -0
  166. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/20.DB_AO-hY.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/{21.Bbzr4DP5.js → 21.stzAo_sf.js} +1 -1
  169. package/build/client/_app/immutable/nodes/21.stzAo_sf.js.br +0 -0
  170. package/build/client/_app/immutable/nodes/21.stzAo_sf.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/23.DPe1BFaB.js +16 -0
  172. package/build/client/_app/immutable/nodes/23.DPe1BFaB.js.br +0 -0
  173. package/build/client/_app/immutable/nodes/23.DPe1BFaB.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/{24.B-_Qylvh.js → 24.CIk_ZxQ6.js} +1 -1
  175. package/build/client/_app/immutable/nodes/24.CIk_ZxQ6.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/24.CIk_ZxQ6.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/{27.CKQ1fXCy.js → 27.DdoM9jx8.js} +1 -1
  180. package/build/client/_app/immutable/nodes/27.DdoM9jx8.js.br +0 -0
  181. package/build/client/_app/immutable/nodes/27.DdoM9jx8.js.gz +0 -0
  182. package/build/client/_app/immutable/nodes/{28.COTXtjAd.js → 28.8hQBN0f2.js} +1 -1
  183. package/build/client/_app/immutable/nodes/28.8hQBN0f2.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/28.8hQBN0f2.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/{29.C1uWJrpk.js → 29.DPRAT1ND.js} +1 -1
  186. package/build/client/_app/immutable/nodes/29.DPRAT1ND.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/29.DPRAT1ND.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/{3.D5k6nFAD.js → 3.qDVw2Ah5.js} +1 -1
  189. package/build/client/_app/immutable/nodes/3.qDVw2Ah5.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/3.qDVw2Ah5.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/{30.iBr8WuRu.js → 30.CgJH6zYG.js} +1 -1
  192. package/build/client/_app/immutable/nodes/30.CgJH6zYG.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/30.CgJH6zYG.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/31.SiZTd523.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.gz +0 -0
  196. package/build/client/_app/immutable/nodes/4.CieI7_Lb.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/{5.BNy6hwdy.js → 5.CSogXB3L.js} +1 -1
  198. package/build/client/_app/immutable/nodes/5.CSogXB3L.js.br +0 -0
  199. package/build/client/_app/immutable/nodes/5.CSogXB3L.js.gz +0 -0
  200. package/build/client/_app/immutable/nodes/{6.CaYtdaf2.js → 6.CO7yl4Ep.js} +1 -1
  201. package/build/client/_app/immutable/nodes/6.CO7yl4Ep.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/6.CO7yl4Ep.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/{7.C1W_YRKU.js → 7.CNGLSXsw.js} +1 -1
  204. package/build/client/_app/immutable/nodes/7.CNGLSXsw.js.br +0 -0
  205. package/build/client/_app/immutable/nodes/7.CNGLSXsw.js.gz +0 -0
  206. package/build/client/_app/immutable/nodes/{8.B9sIt6MS.js → 8.D2q7KguY.js} +1 -1
  207. package/build/client/_app/immutable/nodes/8.D2q7KguY.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/8.D2q7KguY.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/9.B77TvN23.js +1 -0
  210. package/build/client/_app/immutable/nodes/9.B77TvN23.js.br +0 -0
  211. package/build/client/_app/immutable/nodes/9.B77TvN23.js.gz +0 -0
  212. package/build/client/_app/version.json +1 -1
  213. package/build/client/_app/version.json.br +0 -0
  214. package/build/client/_app/version.json.gz +0 -0
  215. package/build/client/favicon/favicon.svg.gz +0 -0
  216. package/build/client/robots.txt.gz +0 -0
  217. package/build/server/chunks/{0-RraSrE7U.js → 0-BGZb7GUr.js} +6 -6
  218. package/build/server/chunks/0-BGZb7GUr.js.map +1 -0
  219. package/build/server/chunks/{1-C99xqG8L.js → 1-BXtOEh9J.js} +2 -2
  220. package/build/server/chunks/{1-C99xqG8L.js.map → 1-BXtOEh9J.js.map} +1 -1
  221. package/build/server/chunks/{10-CpPov-q6.js → 10-CoNR8vNf.js} +7 -6
  222. package/build/server/chunks/{10-CpPov-q6.js.map → 10-CoNR8vNf.js.map} +1 -1
  223. package/build/server/chunks/{11-CgEVkMbf.js → 11-D_iRzPDB.js} +8 -7
  224. package/build/server/chunks/11-D_iRzPDB.js.map +1 -0
  225. package/build/server/chunks/{12-Dk9nDvlV.js → 12-DVPsHnBz.js} +3 -3
  226. package/build/server/chunks/12-DVPsHnBz.js.map +1 -0
  227. package/build/server/chunks/{13-BsoV45dx.js → 13-CkRRFB1g.js} +3 -3
  228. package/build/server/chunks/{13-BsoV45dx.js.map → 13-CkRRFB1g.js.map} +1 -1
  229. package/build/server/chunks/{14-B3BJJIn3.js → 14-2FpImsxV.js} +3 -3
  230. package/build/server/chunks/{14-B3BJJIn3.js.map → 14-2FpImsxV.js.map} +1 -1
  231. package/build/server/chunks/{15-BqYjEVaA.js → 15-Bnbm79IS.js} +7 -6
  232. package/build/server/chunks/15-Bnbm79IS.js.map +1 -0
  233. package/build/server/chunks/{16-CQEqybxD.js → 16-B4ywqmcZ.js} +6 -5
  234. package/build/server/chunks/{16-CQEqybxD.js.map → 16-B4ywqmcZ.js.map} +1 -1
  235. package/build/server/chunks/{17-DPHGdRIj.js → 17-MWOOipvP.js} +2 -2
  236. package/build/server/chunks/{17-DPHGdRIj.js.map → 17-MWOOipvP.js.map} +1 -1
  237. package/build/server/chunks/{18-BTSLWMQT.js → 18-CM6a70dY.js} +2 -2
  238. package/build/server/chunks/{18-BTSLWMQT.js.map → 18-CM6a70dY.js.map} +1 -1
  239. package/build/server/chunks/{19-CkJN0M4_.js → 19-C3KsK7wX.js} +4 -4
  240. package/build/server/chunks/19-C3KsK7wX.js.map +1 -0
  241. package/build/server/chunks/{2-BJb8QIPX.js → 2-_fGOba4G.js} +8 -7
  242. package/build/server/chunks/2-_fGOba4G.js.map +1 -0
  243. package/build/server/chunks/{20-DGeV-MBL.js → 20-CSlzkUTO.js} +10 -11
  244. package/build/server/chunks/20-CSlzkUTO.js.map +1 -0
  245. package/build/server/chunks/{21-BQWXIChZ.js → 21-zUldgyAY.js} +3 -3
  246. package/build/server/chunks/{21-BQWXIChZ.js.map → 21-zUldgyAY.js.map} +1 -1
  247. package/build/server/chunks/{23-BmGaVmjO.js → 23-B7itF50C.js} +7 -7
  248. package/build/server/chunks/23-B7itF50C.js.map +1 -0
  249. package/build/server/chunks/{24-DC5Qi8Sm.js → 24-CIDIYshe.js} +5 -4
  250. package/build/server/chunks/24-CIDIYshe.js.map +1 -0
  251. package/build/server/chunks/{25-Oe01GQUn.js → 25-BzYQ8Zk-.js} +2 -2
  252. package/build/server/chunks/{25-Oe01GQUn.js.map → 25-BzYQ8Zk-.js.map} +1 -1
  253. package/build/server/chunks/{27-CJsZbiCR.js → 27-CzENJkV0.js} +4 -4
  254. package/build/server/chunks/{27-CJsZbiCR.js.map → 27-CzENJkV0.js.map} +1 -1
  255. package/build/server/chunks/{28-D6UoeYd3.js → 28-DxNI492W.js} +3 -3
  256. package/build/server/chunks/{28-D6UoeYd3.js.map → 28-DxNI492W.js.map} +1 -1
  257. package/build/server/chunks/{29-DZgNMmXD.js → 29-PctGzpwt.js} +4 -4
  258. package/build/server/chunks/{29-DZgNMmXD.js.map → 29-PctGzpwt.js.map} +1 -1
  259. package/build/server/chunks/{3-OhWAE0Wx.js → 3-Cazo1Shv.js} +2 -2
  260. package/build/server/chunks/{3-OhWAE0Wx.js.map → 3-Cazo1Shv.js.map} +1 -1
  261. package/build/server/chunks/{30-B_GStKPy.js → 30-BenY_cGn.js} +4 -4
  262. package/build/server/chunks/{30-B_GStKPy.js.map → 30-BenY_cGn.js.map} +1 -1
  263. package/build/server/chunks/{31-BefyQf51.js → 31-CQ-8s0Lw.js} +2 -2
  264. package/build/server/chunks/{31-BefyQf51.js.map → 31-CQ-8s0Lw.js.map} +1 -1
  265. package/build/server/chunks/{32-DIdNQgym.js → 32-BmsICS9-.js} +2 -2
  266. package/build/server/chunks/{32-DIdNQgym.js.map → 32-BmsICS9-.js.map} +1 -1
  267. package/build/server/chunks/{5-DLhfWemT.js → 5-CqcXwhU8.js} +3 -3
  268. package/build/server/chunks/5-CqcXwhU8.js.map +1 -0
  269. package/build/server/chunks/{6-DnjCwAlp.js → 6-1yNOTkzc.js} +4 -4
  270. package/build/server/chunks/6-1yNOTkzc.js.map +1 -0
  271. package/build/server/chunks/{7-leNovc1s.js → 7-sNYS1ao8.js} +3 -3
  272. package/build/server/chunks/7-sNYS1ao8.js.map +1 -0
  273. package/build/server/chunks/{8-CAx64_UW.js → 8-De6LG1ef.js} +3 -3
  274. package/build/server/chunks/{8-CAx64_UW.js.map → 8-De6LG1ef.js.map} +1 -1
  275. package/build/server/chunks/{9-Dq-RLXVq.js → 9-BhE9hiN-.js} +4 -4
  276. package/build/server/chunks/{9-Dq-RLXVq.js.map → 9-BhE9hiN-.js.map} +1 -1
  277. package/build/server/chunks/{AppHeader-DBNR_OCa.js → AppHeader-B49W1cuV.js} +2 -2
  278. package/build/server/chunks/{AppHeader-DBNR_OCa.js.map → AppHeader-B49W1cuV.js.map} +1 -1
  279. package/build/server/chunks/{DefinitionCard-BeONTmrJ.js → DefinitionCard-O1k8h5Pi.js} +2 -2
  280. package/build/server/chunks/{DefinitionCard-BeONTmrJ.js.map → DefinitionCard-O1k8h5Pi.js.map} +1 -1
  281. package/build/server/chunks/{UserChip-CCZ9yMM3.js → UserChip-CFEkil-Y.js} +456 -369
  282. package/build/server/chunks/UserChip-CFEkil-Y.js.map +1 -0
  283. package/build/server/chunks/{_layout.svelte-VEFMEljC.js → _layout.svelte-BU065NMJ.js} +9 -7
  284. package/build/server/chunks/{_layout.svelte-VEFMEljC.js.map → _layout.svelte-BU065NMJ.js.map} +1 -1
  285. package/build/server/chunks/{_layout.svelte-Cjs-r7Xa.js → _layout.svelte-DWLc_AAt.js} +9 -7
  286. package/build/server/chunks/{_layout.svelte-Cjs-r7Xa.js.map → _layout.svelte-DWLc_AAt.js.map} +1 -1
  287. package/build/server/chunks/{_layout.svelte-DU36kuy0.js → _layout.svelte-DtDfOje_.js} +5 -5
  288. package/build/server/chunks/_layout.svelte-DtDfOje_.js.map +1 -0
  289. package/build/server/chunks/{_layout.svelte-CgAG7l2U.js → _layout.svelte-soufPD3z.js} +9 -7
  290. package/build/server/chunks/{_layout.svelte-CgAG7l2U.js.map → _layout.svelte-soufPD3z.js.map} +1 -1
  291. package/build/server/chunks/{_page.svelte-1sc1cfuW.js → _page.svelte-B2tNMNfb.js} +4 -3
  292. package/build/server/chunks/{_page.svelte-1sc1cfuW.js.map → _page.svelte-B2tNMNfb.js.map} +1 -1
  293. package/build/server/chunks/{_page.svelte-CeKqqMje.js → _page.svelte-BX7fFjm7.js} +5 -4
  294. package/build/server/chunks/{_page.svelte-CeKqqMje.js.map → _page.svelte-BX7fFjm7.js.map} +1 -1
  295. package/build/server/chunks/{_page.svelte-DIeTvNzN.js → _page.svelte-BmgwJB8w.js} +9 -7
  296. package/build/server/chunks/{_page.svelte-DIeTvNzN.js.map → _page.svelte-BmgwJB8w.js.map} +1 -1
  297. package/build/server/chunks/{_page.svelte-Dz-6_oW1.js → _page.svelte-CR79Ws-C.js} +386 -38
  298. package/build/server/chunks/_page.svelte-CR79Ws-C.js.map +1 -0
  299. package/build/server/chunks/{_page.svelte-Mwitq0vD.js → _page.svelte-DCsC1jAu.js} +10 -8
  300. package/build/server/chunks/{_page.svelte-Mwitq0vD.js.map → _page.svelte-DCsC1jAu.js.map} +1 -1
  301. package/build/server/chunks/{_page.svelte-DAu2h8jG.js → _page.svelte-DVN9gvBu.js} +5 -5
  302. package/build/server/chunks/_page.svelte-DVN9gvBu.js.map +1 -0
  303. package/build/server/chunks/{_page.svelte-DJnICJdZ.js → _page.svelte-Dp_jpQFu.js} +726 -717
  304. package/build/server/chunks/_page.svelte-Dp_jpQFu.js.map +1 -0
  305. package/build/server/chunks/{_page.svelte-DFgszLSu.js → _page.svelte-W41FvlvN.js} +36 -11
  306. package/build/server/chunks/_page.svelte-W41FvlvN.js.map +1 -0
  307. package/build/server/chunks/{_page.svelte-BXyLutv1.js → _page.svelte-YVHQEj69.js} +11 -23
  308. package/build/server/chunks/_page.svelte-YVHQEj69.js.map +1 -0
  309. package/build/server/chunks/{_page.svelte-BQZ-qC72.js → _page.svelte-tQDqmoYu.js} +5 -4
  310. package/build/server/chunks/{_page.svelte-BQZ-qC72.js.map → _page.svelte-tQDqmoYu.js.map} +1 -1
  311. package/build/server/chunks/{_server.ts-CJ8oDVHC.js → _server.ts-A3y5hBxw.js} +4 -3
  312. package/build/server/chunks/_server.ts-A3y5hBxw.js.map +1 -0
  313. package/build/server/chunks/{_server.ts-DuC2r20u.js → _server.ts-AZv034fZ.js} +10 -8
  314. package/build/server/chunks/_server.ts-AZv034fZ.js.map +1 -0
  315. package/build/server/chunks/{_server.ts-BUEUSAPc.js → _server.ts-B5jlr2iF.js} +5 -4
  316. package/build/server/chunks/{_server.ts-BUEUSAPc.js.map → _server.ts-B5jlr2iF.js.map} +1 -1
  317. package/build/server/chunks/{_server.ts-DzG1eKRC.js → _server.ts-BON6qGm5.js} +5 -4
  318. package/build/server/chunks/{_server.ts-DzG1eKRC.js.map → _server.ts-BON6qGm5.js.map} +1 -1
  319. package/build/server/chunks/{_server.ts-Bm14E-bx.js → _server.ts-BO_GwwIE.js} +5 -4
  320. package/build/server/chunks/{_server.ts-Bm14E-bx.js.map → _server.ts-BO_GwwIE.js.map} +1 -1
  321. package/build/server/chunks/{_server.ts-BTSLBiLL.js → _server.ts-BUw5lGMN.js} +5 -5
  322. package/build/server/chunks/{_server.ts-BTSLBiLL.js.map → _server.ts-BUw5lGMN.js.map} +1 -1
  323. package/build/server/chunks/{_server.ts-BHizTPVg.js → _server.ts-Bhj8Vx5l.js} +6 -5
  324. package/build/server/chunks/{_server.ts-BHizTPVg.js.map → _server.ts-Bhj8Vx5l.js.map} +1 -1
  325. package/build/server/chunks/{_server.ts-D9iabXf8.js → _server.ts-BqlGKKaE.js} +5 -4
  326. package/build/server/chunks/{_server.ts-D9iabXf8.js.map → _server.ts-BqlGKKaE.js.map} +1 -1
  327. package/build/server/chunks/_server.ts-BvMDaAZY.js +75 -0
  328. package/build/server/chunks/_server.ts-BvMDaAZY.js.map +1 -0
  329. package/build/server/chunks/{_server.ts-C1wqbTiL.js → _server.ts-C-MiDKCm.js} +3 -3
  330. package/build/server/chunks/{_server.ts-C1wqbTiL.js.map → _server.ts-C-MiDKCm.js.map} +1 -1
  331. package/build/server/chunks/{_server.ts-BTWwyruR.js → _server.ts-C05I9RVA.js} +5 -4
  332. package/build/server/chunks/{_server.ts-BTWwyruR.js.map → _server.ts-C05I9RVA.js.map} +1 -1
  333. package/build/server/chunks/{_server.ts-CpC3cdzG.js → _server.ts-C4BZG5kA.js} +6 -5
  334. package/build/server/chunks/_server.ts-C4BZG5kA.js.map +1 -0
  335. package/build/server/chunks/{_server.ts-BKtKkHZS.js → _server.ts-CBAiDOcP.js} +12 -7
  336. package/build/server/chunks/_server.ts-CBAiDOcP.js.map +1 -0
  337. package/build/server/chunks/{_server.ts-aUFaewu4.js → _server.ts-CEE9G3nv.js} +5 -4
  338. package/build/server/chunks/{_server.ts-aUFaewu4.js.map → _server.ts-CEE9G3nv.js.map} +1 -1
  339. package/build/server/chunks/{_server.ts-DWAwxfXk.js → _server.ts-CJ37R1sx.js} +10 -5
  340. package/build/server/chunks/_server.ts-CJ37R1sx.js.map +1 -0
  341. package/build/server/chunks/{_server.ts-BeyEUs6I.js → _server.ts-CJ5P0_cD.js} +5 -4
  342. package/build/server/chunks/{_server.ts-BeyEUs6I.js.map → _server.ts-CJ5P0_cD.js.map} +1 -1
  343. package/build/server/chunks/{_server.ts-DDHHklcd.js → _server.ts-Ca-ZnaSe.js} +5 -4
  344. package/build/server/chunks/{_server.ts-DDHHklcd.js.map → _server.ts-Ca-ZnaSe.js.map} +1 -1
  345. package/build/server/chunks/{_server.ts-Bkr-33U0.js → _server.ts-Ce-u_4Qp.js} +7 -8
  346. package/build/server/chunks/_server.ts-Ce-u_4Qp.js.map +1 -0
  347. package/build/server/chunks/{_server.ts-EOYMi5x8.js → _server.ts-CewoOx5S.js} +5 -4
  348. package/build/server/chunks/{_server.ts-EOYMi5x8.js.map → _server.ts-CewoOx5S.js.map} +1 -1
  349. package/build/server/chunks/{_server.ts-DXqr0BIr.js → _server.ts-ChhV0tlQ.js} +5 -5
  350. package/build/server/chunks/{_server.ts-DXqr0BIr.js.map → _server.ts-ChhV0tlQ.js.map} +1 -1
  351. package/build/server/chunks/{_server.ts-hg9WxMNg.js → _server.ts-Ck5KHS5f.js} +2 -2
  352. package/build/server/chunks/{_server.ts-hg9WxMNg.js.map → _server.ts-Ck5KHS5f.js.map} +1 -1
  353. package/build/server/chunks/{_server.ts-B-1avpfE.js → _server.ts-ClymRXMH.js} +5 -4
  354. package/build/server/chunks/{_server.ts-B-1avpfE.js.map → _server.ts-ClymRXMH.js.map} +1 -1
  355. package/build/server/chunks/{_server.ts-BXJAFFdr.js → _server.ts-CtJaazcE.js} +5 -4
  356. package/build/server/chunks/{_server.ts-BXJAFFdr.js.map → _server.ts-CtJaazcE.js.map} +1 -1
  357. package/build/server/chunks/{_server.ts-C52CTPlo.js → _server.ts-D0PjwFdv.js} +5 -4
  358. package/build/server/chunks/{_server.ts-C52CTPlo.js.map → _server.ts-D0PjwFdv.js.map} +1 -1
  359. package/build/server/chunks/{_server.ts-Dukt2veu.js → _server.ts-D7tgGcoB.js} +3 -3
  360. package/build/server/chunks/{_server.ts-Dukt2veu.js.map → _server.ts-D7tgGcoB.js.map} +1 -1
  361. package/build/server/chunks/{_server.ts-BOCvzY_U.js → _server.ts-DBV9dA6A.js} +5 -4
  362. package/build/server/chunks/{_server.ts-BOCvzY_U.js.map → _server.ts-DBV9dA6A.js.map} +1 -1
  363. package/build/server/chunks/{_server.ts-k9Y_t-wX.js → _server.ts-DHcOvm9e.js} +5 -4
  364. package/build/server/chunks/{_server.ts-k9Y_t-wX.js.map → _server.ts-DHcOvm9e.js.map} +1 -1
  365. package/build/server/chunks/{_server.ts-C3CKmKpW.js → _server.ts-DM01ishT.js} +5 -4
  366. package/build/server/chunks/{_server.ts-C3CKmKpW.js.map → _server.ts-DM01ishT.js.map} +1 -1
  367. package/build/server/chunks/{_server.ts-BLC5g2H_.js → _server.ts-DNeVKrs8.js} +6 -5
  368. package/build/server/chunks/{_server.ts-BLC5g2H_.js.map → _server.ts-DNeVKrs8.js.map} +1 -1
  369. package/build/server/chunks/{_server.ts-DcRwP_gQ.js → _server.ts-DmqbBNeI.js} +5 -5
  370. package/build/server/chunks/{_server.ts-DcRwP_gQ.js.map → _server.ts-DmqbBNeI.js.map} +1 -1
  371. package/build/server/chunks/{_server.ts-CqCIfPI0.js → _server.ts-DwqLpa_k.js} +5 -4
  372. package/build/server/chunks/{_server.ts-CqCIfPI0.js.map → _server.ts-DwqLpa_k.js.map} +1 -1
  373. package/build/server/chunks/{_server.ts-Dw630Jb2.js → _server.ts-DzGZ73FR.js} +8 -9
  374. package/build/server/chunks/_server.ts-DzGZ73FR.js.map +1 -0
  375. package/build/server/chunks/{_server.ts-DiJ2px88.js → _server.ts-IVIAzAUs.js} +5 -4
  376. package/build/server/chunks/{_server.ts-DiJ2px88.js.map → _server.ts-IVIAzAUs.js.map} +1 -1
  377. package/build/server/chunks/{_server.ts-Dp3_io85.js → _server.ts-KdED3s6W.js} +5 -4
  378. package/build/server/chunks/{_server.ts-Dp3_io85.js.map → _server.ts-KdED3s6W.js.map} +1 -1
  379. package/build/server/chunks/{_server.ts-ByqZZZxB.js → _server.ts-Xl5CYncx.js} +3 -3
  380. package/build/server/chunks/{_server.ts-ByqZZZxB.js.map → _server.ts-Xl5CYncx.js.map} +1 -1
  381. package/build/server/chunks/{_server.ts-BIQdiZfW.js → _server.ts-eVLE380Q.js} +5 -4
  382. package/build/server/chunks/{_server.ts-BIQdiZfW.js.map → _server.ts-eVLE380Q.js.map} +1 -1
  383. package/build/server/chunks/{_server.ts-CnVtonm0.js → _server.ts-kKt_-5Bs.js} +6 -5
  384. package/build/server/chunks/_server.ts-kKt_-5Bs.js.map +1 -0
  385. package/build/server/chunks/{_server.ts-C-w9ogA2.js → _server.ts-kighVn_d.js} +5 -4
  386. package/build/server/chunks/{_server.ts-C-w9ogA2.js.map → _server.ts-kighVn_d.js.map} +1 -1
  387. package/build/server/chunks/{_server.ts-C2A_Oiwe.js → _server.ts-r2RVYvYA.js} +5 -4
  388. package/build/server/chunks/{_server.ts-C2A_Oiwe.js.map → _server.ts-r2RVYvYA.js.map} +1 -1
  389. package/build/server/chunks/{access.server-CGwRj2TY.js → access.server-ByXvmWyF.js} +4 -3
  390. package/build/server/chunks/{access.server-CGwRj2TY.js.map → access.server-ByXvmWyF.js.map} +1 -1
  391. package/build/server/chunks/{api-errors-b2AR_m1A.js → api-errors-C0SWfJj5.js} +21 -3
  392. package/build/server/chunks/api-errors-C0SWfJj5.js.map +1 -0
  393. package/build/server/chunks/{auth-bootstrap.server-CdwMOcYI.js → auth-bootstrap.server-zvPqZ6kt.js} +5 -4
  394. package/build/server/chunks/auth-bootstrap.server-zvPqZ6kt.js.map +1 -0
  395. package/build/server/chunks/{bootHealth.server-Ca8zFRpM.js → bootHealth.server-CLLVkbZZ.js} +2 -2
  396. package/build/server/chunks/{bootHealth.server-Ca8zFRpM.js.map → bootHealth.server-CLLVkbZZ.js.map} +1 -1
  397. package/build/server/chunks/{dialog-description-C-wNjCmv.js → dialog-description-8UnYiAMX.js} +2 -2
  398. package/build/server/chunks/{dialog-description-C-wNjCmv.js.map → dialog-description-8UnYiAMX.js.map} +1 -1
  399. package/build/server/chunks/{upload-BY_p_jpL.js → dialog-footer-CqbKEEQ-.js} +11 -11
  400. package/build/server/chunks/dialog-footer-CqbKEEQ-.js.map +1 -0
  401. package/build/server/chunks/{footerContext.svelte-BZEf7gVw.js → footerContext.svelte-oP__zW9C.js} +10 -2
  402. package/build/server/chunks/footerContext.svelte-oP__zW9C.js.map +1 -0
  403. package/build/server/chunks/{hooks.server-D6EnLMoG.js → hooks.server-CwDixHQc.js} +4 -4
  404. package/build/server/chunks/{hooks.server-D6EnLMoG.js.map → hooks.server-CwDixHQc.js.map} +1 -1
  405. package/build/server/chunks/index-server2-BiZ3ccb0.js +18 -0
  406. package/build/server/chunks/index-server2-BiZ3ccb0.js.map +1 -0
  407. package/build/server/chunks/{index2-B9qXYHIn.js → index2-D4a590Kd.js} +11 -11
  408. package/build/server/chunks/index2-D4a590Kd.js.map +1 -0
  409. package/build/server/chunks/{index3-AGemCGcn.js → index3-0Z1R1__W.js} +12 -12
  410. package/build/server/chunks/index3-0Z1R1__W.js.map +1 -0
  411. package/build/server/chunks/{index4-DSWKKOFB.js → index4-DWNr0jIL.js} +3 -3
  412. package/build/server/chunks/{index4-DSWKKOFB.js.map → index4-DWNr0jIL.js.map} +1 -1
  413. package/build/server/chunks/{permissions.server-cNGc9ris.js → permissions.server-7AwAAkY9.js} +2 -2
  414. package/build/server/chunks/{permissions.server-cNGc9ris.js.map → permissions.server-7AwAAkY9.js.map} +1 -1
  415. package/build/server/chunks/{providers.server-MD7TK-zQ.js → providers.server-wGknM6CR.js} +52 -29
  416. package/build/server/chunks/providers.server-wGknM6CR.js.map +1 -0
  417. package/build/server/chunks/refresh-cw-CiiW6Kvx.js +22 -0
  418. package/build/server/chunks/refresh-cw-CiiW6Kvx.js.map +1 -0
  419. package/build/server/chunks/{resolve.server2-BXKCfGfg.js → resolve.server-CvfANFCn.js} +2 -2
  420. package/build/server/chunks/resolve.server-CvfANFCn.js.map +1 -0
  421. package/build/server/chunks/{scroll-lock-BVxv0Dsn.js → scroll-lock-BIz_BXmd.js} +4 -15
  422. package/build/server/chunks/scroll-lock-BIz_BXmd.js.map +1 -0
  423. package/build/server/chunks/triangle-alert-DuaFagu6.js +20 -0
  424. package/build/server/chunks/triangle-alert-DuaFagu6.js.map +1 -0
  425. package/build/server/chunks/{utils2-D38XWwRv.js → utils2-BsnrDRob.js} +2 -2
  426. package/build/server/chunks/{utils2-D38XWwRv.js.map → utils2-BsnrDRob.js.map} +1 -1
  427. package/build/server/index.js +2 -2
  428. package/build/server/index.js.map +1 -1
  429. package/build/server/manifest.js +76 -69
  430. package/build/server/manifest.js.map +1 -1
  431. package/package.json +9 -7
  432. package/build/client/_app/immutable/assets/0.D882LCPK.css +0 -1
  433. package/build/client/_app/immutable/assets/0.D882LCPK.css.br +0 -0
  434. package/build/client/_app/immutable/assets/0.D882LCPK.css.gz +0 -0
  435. package/build/client/_app/immutable/assets/20.DvtWUFNX.css +0 -1
  436. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.br +0 -0
  437. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.gz +0 -0
  438. package/build/client/_app/immutable/chunks/-UMoMsui.js.br +0 -0
  439. package/build/client/_app/immutable/chunks/-UMoMsui.js.gz +0 -0
  440. package/build/client/_app/immutable/chunks/7DlWX6a_.js +0 -2
  441. package/build/client/_app/immutable/chunks/7DlWX6a_.js.br +0 -0
  442. package/build/client/_app/immutable/chunks/7DlWX6a_.js.gz +0 -0
  443. package/build/client/_app/immutable/chunks/7OGPJeUM.js.br +0 -0
  444. package/build/client/_app/immutable/chunks/7OGPJeUM.js.gz +0 -0
  445. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.br +0 -0
  446. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.gz +0 -0
  447. package/build/client/_app/immutable/chunks/BeM-GIFh.js +0 -1
  448. package/build/client/_app/immutable/chunks/BeM-GIFh.js.br +0 -0
  449. package/build/client/_app/immutable/chunks/BeM-GIFh.js.gz +0 -0
  450. package/build/client/_app/immutable/chunks/C_pyGEAV.js.br +0 -0
  451. package/build/client/_app/immutable/chunks/C_pyGEAV.js.gz +0 -0
  452. package/build/client/_app/immutable/chunks/Cal8_SqL.js +0 -1
  453. package/build/client/_app/immutable/chunks/Cal8_SqL.js.br +0 -0
  454. package/build/client/_app/immutable/chunks/Cal8_SqL.js.gz +0 -0
  455. package/build/client/_app/immutable/chunks/CynIvqMH.js +0 -1
  456. package/build/client/_app/immutable/chunks/CynIvqMH.js.br +0 -0
  457. package/build/client/_app/immutable/chunks/CynIvqMH.js.gz +0 -0
  458. package/build/client/_app/immutable/chunks/D0kO1GS0.js +0 -3
  459. package/build/client/_app/immutable/chunks/D0kO1GS0.js.br +0 -0
  460. package/build/client/_app/immutable/chunks/D0kO1GS0.js.gz +0 -0
  461. package/build/client/_app/immutable/chunks/DGr_EUx4.js.br +0 -0
  462. package/build/client/_app/immutable/chunks/DGr_EUx4.js.gz +0 -0
  463. package/build/client/_app/immutable/chunks/DT5O4b-_.js.br +0 -0
  464. package/build/client/_app/immutable/chunks/DT5O4b-_.js.gz +0 -0
  465. package/build/client/_app/immutable/entry/app.DFWfpqb0.js +0 -2
  466. package/build/client/_app/immutable/entry/app.DFWfpqb0.js.br +0 -0
  467. package/build/client/_app/immutable/entry/app.DFWfpqb0.js.gz +0 -0
  468. package/build/client/_app/immutable/entry/start.-fCdkvY6.js +0 -1
  469. package/build/client/_app/immutable/entry/start.-fCdkvY6.js.br +0 -2
  470. package/build/client/_app/immutable/entry/start.-fCdkvY6.js.gz +0 -0
  471. package/build/client/_app/immutable/nodes/0.kNRjuE1r.js +0 -9
  472. package/build/client/_app/immutable/nodes/0.kNRjuE1r.js.br +0 -0
  473. package/build/client/_app/immutable/nodes/0.kNRjuE1r.js.gz +0 -0
  474. package/build/client/_app/immutable/nodes/1.NC0eJqYH.js.br +0 -0
  475. package/build/client/_app/immutable/nodes/1.NC0eJqYH.js.gz +0 -0
  476. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.br +0 -0
  477. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.gz +0 -0
  478. package/build/client/_app/immutable/nodes/11.DegwSwS4.js +0 -2
  479. package/build/client/_app/immutable/nodes/11.DegwSwS4.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/11.DegwSwS4.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/13.DoCSNk6B.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/13.DoCSNk6B.js.gz +0 -0
  483. package/build/client/_app/immutable/nodes/14.CGaF6W-i.js.br +0 -0
  484. package/build/client/_app/immutable/nodes/14.CGaF6W-i.js.gz +0 -0
  485. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js +0 -16
  486. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js.br +0 -0
  487. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js.gz +0 -0
  488. package/build/client/_app/immutable/nodes/16.CK0W0845.js.br +0 -0
  489. package/build/client/_app/immutable/nodes/17.BLCtgsLP.js.br +0 -0
  490. package/build/client/_app/immutable/nodes/17.BLCtgsLP.js.gz +0 -0
  491. package/build/client/_app/immutable/nodes/19.Dx5b18Qv.js.br +0 -0
  492. package/build/client/_app/immutable/nodes/19.Dx5b18Qv.js.gz +0 -0
  493. package/build/client/_app/immutable/nodes/2.BxDq9fgp.js.br +0 -0
  494. package/build/client/_app/immutable/nodes/2.BxDq9fgp.js.gz +0 -0
  495. package/build/client/_app/immutable/nodes/20.Q9tlws_F.js +0 -4118
  496. package/build/client/_app/immutable/nodes/20.Q9tlws_F.js.br +0 -0
  497. package/build/client/_app/immutable/nodes/20.Q9tlws_F.js.gz +0 -0
  498. package/build/client/_app/immutable/nodes/21.Bbzr4DP5.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/21.Bbzr4DP5.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js +0 -16
  501. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js.br +0 -0
  502. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js.gz +0 -0
  503. package/build/client/_app/immutable/nodes/24.B-_Qylvh.js.br +0 -0
  504. package/build/client/_app/immutable/nodes/24.B-_Qylvh.js.gz +0 -0
  505. package/build/client/_app/immutable/nodes/27.CKQ1fXCy.js.br +0 -0
  506. package/build/client/_app/immutable/nodes/27.CKQ1fXCy.js.gz +0 -0
  507. package/build/client/_app/immutable/nodes/28.COTXtjAd.js.br +0 -0
  508. package/build/client/_app/immutable/nodes/28.COTXtjAd.js.gz +0 -0
  509. package/build/client/_app/immutable/nodes/29.C1uWJrpk.js.br +0 -0
  510. package/build/client/_app/immutable/nodes/29.C1uWJrpk.js.gz +0 -0
  511. package/build/client/_app/immutable/nodes/3.D5k6nFAD.js.br +0 -0
  512. package/build/client/_app/immutable/nodes/3.D5k6nFAD.js.gz +0 -0
  513. package/build/client/_app/immutable/nodes/30.iBr8WuRu.js.br +0 -0
  514. package/build/client/_app/immutable/nodes/30.iBr8WuRu.js.gz +0 -0
  515. package/build/client/_app/immutable/nodes/5.BNy6hwdy.js.br +0 -0
  516. package/build/client/_app/immutable/nodes/5.BNy6hwdy.js.gz +0 -0
  517. package/build/client/_app/immutable/nodes/6.CaYtdaf2.js.br +0 -0
  518. package/build/client/_app/immutable/nodes/6.CaYtdaf2.js.gz +0 -0
  519. package/build/client/_app/immutable/nodes/7.C1W_YRKU.js.br +0 -0
  520. package/build/client/_app/immutable/nodes/7.C1W_YRKU.js.gz +0 -0
  521. package/build/client/_app/immutable/nodes/8.B9sIt6MS.js.br +0 -0
  522. package/build/client/_app/immutable/nodes/8.B9sIt6MS.js.gz +0 -0
  523. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js +0 -1
  524. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js.br +0 -0
  525. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js.gz +0 -0
  526. package/build/server/chunks/0-RraSrE7U.js.map +0 -1
  527. package/build/server/chunks/11-CgEVkMbf.js.map +0 -1
  528. package/build/server/chunks/12-Dk9nDvlV.js.map +0 -1
  529. package/build/server/chunks/15-BqYjEVaA.js.map +0 -1
  530. package/build/server/chunks/19-CkJN0M4_.js.map +0 -1
  531. package/build/server/chunks/2-BJb8QIPX.js.map +0 -1
  532. package/build/server/chunks/20-DGeV-MBL.js.map +0 -1
  533. package/build/server/chunks/23-BmGaVmjO.js.map +0 -1
  534. package/build/server/chunks/24-DC5Qi8Sm.js.map +0 -1
  535. package/build/server/chunks/5-DLhfWemT.js.map +0 -1
  536. package/build/server/chunks/6-DnjCwAlp.js.map +0 -1
  537. package/build/server/chunks/7-leNovc1s.js.map +0 -1
  538. package/build/server/chunks/UserChip-CCZ9yMM3.js.map +0 -1
  539. package/build/server/chunks/_layout.svelte-DU36kuy0.js.map +0 -1
  540. package/build/server/chunks/_page.svelte-BXyLutv1.js.map +0 -1
  541. package/build/server/chunks/_page.svelte-DAu2h8jG.js.map +0 -1
  542. package/build/server/chunks/_page.svelte-DFgszLSu.js.map +0 -1
  543. package/build/server/chunks/_page.svelte-DJnICJdZ.js.map +0 -1
  544. package/build/server/chunks/_page.svelte-Dz-6_oW1.js.map +0 -1
  545. package/build/server/chunks/_server.ts-BKtKkHZS.js.map +0 -1
  546. package/build/server/chunks/_server.ts-Bkr-33U0.js.map +0 -1
  547. package/build/server/chunks/_server.ts-CJ8oDVHC.js.map +0 -1
  548. package/build/server/chunks/_server.ts-CnVtonm0.js.map +0 -1
  549. package/build/server/chunks/_server.ts-CpC3cdzG.js.map +0 -1
  550. package/build/server/chunks/_server.ts-DWAwxfXk.js.map +0 -1
  551. package/build/server/chunks/_server.ts-DuC2r20u.js.map +0 -1
  552. package/build/server/chunks/_server.ts-Dw630Jb2.js.map +0 -1
  553. package/build/server/chunks/api-errors-b2AR_m1A.js.map +0 -1
  554. package/build/server/chunks/auth-bootstrap.server-CdwMOcYI.js.map +0 -1
  555. package/build/server/chunks/footerContext.svelte-BZEf7gVw.js.map +0 -1
  556. package/build/server/chunks/index2-B9qXYHIn.js.map +0 -1
  557. package/build/server/chunks/index3-AGemCGcn.js.map +0 -1
  558. package/build/server/chunks/providers.server-MD7TK-zQ.js.map +0 -1
  559. package/build/server/chunks/resolve.server-C5wZnxS_.js +0 -11
  560. package/build/server/chunks/resolve.server-C5wZnxS_.js.map +0 -1
  561. package/build/server/chunks/resolve.server2-BXKCfGfg.js.map +0 -1
  562. package/build/server/chunks/scroll-lock-BVxv0Dsn.js.map +0 -1
  563. package/build/server/chunks/upload-BY_p_jpL.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BHizTPVg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { c as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { w as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, d as OrgPermissionSchema, S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n throw error(\n 501,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json(flattened);\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can grant platform-scope permissions\");\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) throw error(400, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n throw error(\n 501,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bhj8Vx5l.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { w as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, d as OrgPermissionSchema, S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n throw error(\n 501,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json(flattened);\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can grant platform-scope permissions\");\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) throw error(400, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n throw error(\n 501,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { k as getOrganizationProvider, P as ProviderError } from './providers.server-MD7TK-zQ.js';
3
- import { u as requireInstanceAdmin } from './access.server-CGwRj2TY.js';
4
- import { h as handleApiError, t as throwZodError } from './api-errors-b2AR_m1A.js';
2
+ import { k as getOrganizationProvider, P as ProviderError } from './providers.server-wGknM6CR.js';
3
+ import { u as requireInstanceAdmin } from './access.server-ByXvmWyF.js';
4
+ import { h as handleApiError, t as throwZodError } from './api-errors-C0SWfJj5.js';
5
5
  import { i as UpdateOrgSchema } from './context-DKDYb-He.js';
6
6
  import './shared-server-C3WdcJCQ.js';
7
7
  import 'node:url';
@@ -12,6 +12,7 @@ import 'node:fs/promises';
12
12
  import '@supabase/supabase-js';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const PATCH = async ({ params, request, locals }) => {
17
18
  requireInstanceAdmin(locals);
@@ -46,4 +47,4 @@ const DELETE = async ({ params, locals }) => {
46
47
  };
47
48
 
48
49
  export { DELETE, PATCH };
49
- //# sourceMappingURL=_server.ts-D9iabXf8.js.map
50
+ //# sourceMappingURL=_server.ts-BqlGKKaE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D9iabXf8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { k as getOrganizationProvider, P as ProviderError } from \"../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as UpdateOrgSchema } from \"../../../../../../chunks/context.js\";\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getOrganizationProvider().updateOrg(ctx, id, parsed.data);\n const updated = await getOrganizationProvider().getOrg(ctx, id);\n return json(updated);\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to update org\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete org\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKK,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACrD,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;AACtD,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-BqlGKKaE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { k as getOrganizationProvider, P as ProviderError } from \"../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as UpdateOrgSchema } from \"../../../../../../chunks/context.js\";\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getOrganizationProvider().updateOrg(ctx, id, parsed.data);\n const updated = await getOrganizationProvider().getOrg(ctx, id);\n return json(updated);\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to update org\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete org\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKK,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACrD,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;AACtD,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -0,0 +1,75 @@
1
+ import { json } from '@sveltejs/kit';
2
+ import './context-DKDYb-He.js';
3
+ import { t as providers, L as LocalComputeServerStore } from './providers.server-wGknM6CR.js';
4
+ import { z as requirePermission } from './access.server-ByXvmWyF.js';
5
+ import 'zod';
6
+ import './shared-server-C3WdcJCQ.js';
7
+ import 'node:url';
8
+ import 'node:path';
9
+ import 'node:fs';
10
+ import 'node:crypto';
11
+ import 'node:fs/promises';
12
+ import '@supabase/supabase-js';
13
+ import './api-errors-C0SWfJj5.js';
14
+ import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
16
+
17
+ function atRestSecretsCheck(report) {
18
+ const base = { id: "at-rest-secrets", label: "Compute server secrets" };
19
+ if (report === null) {
20
+ return {
21
+ ...base,
22
+ status: "not_applicable",
23
+ summary: "The active data provider does not encrypt secrets at this layer — nothing to verify."
24
+ };
25
+ }
26
+ if (report.ok) {
27
+ return {
28
+ ...base,
29
+ status: "ok",
30
+ summary: "All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY."
31
+ };
32
+ }
33
+ const failed = report.failures.map((f) => `"${f.serverLabel}" (${f.reason}${f.cause ? `: ${f.cause}` : ""})`).join(", ");
34
+ const plaintext = report.plaintextFound;
35
+ return {
36
+ ...base,
37
+ status: "degraded",
38
+ summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,
39
+ remediation: plaintext ? "A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted." : "The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again."
40
+ };
41
+ }
42
+ const GET = async ({ locals }) => {
43
+ requirePermission(locals, "instance_admin");
44
+ const checks = [];
45
+ const store = providers.data.computeServer;
46
+ if (store instanceof LocalComputeServerStore) {
47
+ try {
48
+ checks.push(atRestSecretsCheck(await store.verifySecrets()));
49
+ } catch (err) {
50
+ checks.push({
51
+ id: "at-rest-secrets",
52
+ label: "Compute server secrets",
53
+ status: "error",
54
+ summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,
55
+ remediation: "Check server logs (`pm2 logs selva-compute`) for the underlying error."
56
+ });
57
+ }
58
+ } else {
59
+ checks.push(atRestSecretsCheck(null));
60
+ }
61
+ const rank = {
62
+ ok: 0,
63
+ not_applicable: 0,
64
+ degraded: 2,
65
+ error: 3
66
+ };
67
+ const overall = checks.reduce(
68
+ (worst, c) => rank[c.status] > rank[worst] ? c.status : worst,
69
+ "ok"
70
+ );
71
+ return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });
72
+ };
73
+
74
+ export { GET };
75
+ //# sourceMappingURL=_server.ts-BvMDaAZY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BvMDaAZY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport \"../../../../../../chunks/context.js\";\nimport { t as providers, L as LocalComputeServerStore } from \"../../../../../../chunks/providers.server.js\";\nimport { z as requirePermission } from \"../../../../../../chunks/access.server.js\";\nfunction atRestSecretsCheck(report) {\n const base = { id: \"at-rest-secrets\", label: \"Compute server secrets\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not encrypt secrets at this layer — nothing to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: \"All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY.\"\n };\n }\n const failed = report.failures.map((f) => `\"${f.serverLabel}\" (${f.reason}${f.cause ? `: ${f.cause}` : \"\"})`).join(\", \");\n const plaintext = report.plaintextFound;\n return {\n ...base,\n status: \"degraded\",\n summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,\n remediation: plaintext ? \"A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted.\" : \"The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again.\"\n };\n}\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const checks = [];\n const store = providers.data.computeServer;\n if (store instanceof LocalComputeServerStore) {\n try {\n checks.push(atRestSecretsCheck(await store.verifySecrets()));\n } catch (err) {\n checks.push({\n id: \"at-rest-secrets\",\n label: \"Compute server secrets\",\n status: \"error\",\n summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,\n remediation: \"Check server logs (`pm2 logs selva-compute`) for the underlying error.\"\n });\n }\n } else {\n checks.push(atRestSecretsCheck(null));\n }\n const rank = {\n ok: 0,\n not_applicable: 0,\n degraded: 2,\n error: 3\n };\n const overall = checks.reduce(\n (worst, c) => rank[c.status] > rank[worst] ? c.status : worst,\n \"ok\"\n );\n return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { error, redirect } from '@sveltejs/kit';
2
- import { c as getAuthProvider } from './providers.server-MD7TK-zQ.js';
3
- import { b as bootstrapUserSession } from './auth-bootstrap.server-CdwMOcYI.js';
2
+ import { a as getAuthProvider } from './providers.server-wGknM6CR.js';
3
+ import { b as bootstrapUserSession } from './auth-bootstrap.server-zvPqZ6kt.js';
4
4
  import { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from './admin-auth.server-45kKyH82.js';
5
5
  import './shared-server-C3WdcJCQ.js';
6
6
  import 'node:url';
@@ -28,4 +28,4 @@ const GET = async ({ url, cookies }) => {
28
28
  };
29
29
 
30
30
  export { GET };
31
- //# sourceMappingURL=_server.ts-C1wqbTiL.js.map
31
+ //# sourceMappingURL=_server.ts-C-MiDKCm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C1wqbTiL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { c as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const emailLink = getAuthProvider().emailLink;\n if (!emailLink) {\n throw error(501, \"Email sign-in is not supported by this provider.\");\n }\n const result = await emailLink.verifyMagicLink(url.toString());\n if (!result) throw error(401, \"This sign-in link is invalid or has expired.\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n if (result.refreshToken) setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS;AAC/C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8CAA8C,CAAC;AAC/E,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-C-MiDKCm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { a as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const emailLink = getAuthProvider().emailLink;\n if (!emailLink) {\n throw error(501, \"Email sign-in is not supported by this provider.\");\n }\n const result = await emailLink.verifyMagicLink(url.toString());\n if (!result) throw error(401, \"This sign-in link is invalid or has expired.\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n if (result.refreshToken) setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS;AAC/C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8CAA8C,CAAC;AAC/E,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { n as getProjectProvider } from './providers.server-MD7TK-zQ.js';
3
- import { o as requireCanReclaim } from './access.server-CGwRj2TY.js';
4
- import { h as handleApiError } from './api-errors-b2AR_m1A.js';
2
+ import { n as getProjectProvider } from './providers.server-wGknM6CR.js';
3
+ import { o as requireCanReclaim } from './access.server-ByXvmWyF.js';
4
+ import { h as handleApiError } from './api-errors-C0SWfJj5.js';
5
5
  import './shared-server-C3WdcJCQ.js';
6
6
  import 'node:url';
7
7
  import 'node:path';
@@ -12,6 +12,7 @@ import 'node:crypto';
12
12
  import 'node:fs/promises';
13
13
  import '@supabase/supabase-js';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const POST = async ({ params, locals }) => {
17
18
  const { id } = params;
@@ -36,4 +37,4 @@ const POST = async ({ params, locals }) => {
36
37
  };
37
38
 
38
39
  export { POST };
39
- //# sourceMappingURL=_server.ts-BTWwyruR.js.map
40
+ //# sourceMappingURL=_server.ts-C05I9RVA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BTWwyruR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { n as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ success: true, member });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-C05I9RVA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { n as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ success: true, member });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { a as definitionService } from './providers.server-MD7TK-zQ.js';
3
- import { t as requireEditableDefinition } from './access.server-CGwRj2TY.js';
4
- import { h as handleApiError } from './api-errors-b2AR_m1A.js';
2
+ import { i as getDefinitionService } from './providers.server-wGknM6CR.js';
3
+ import { t as requireEditableDefinition } from './access.server-ByXvmWyF.js';
4
+ import { h as handleApiError } from './api-errors-C0SWfJj5.js';
5
5
  import { G as GuidSchema } from './context-DKDYb-He.js';
6
6
  import './shared-server-C3WdcJCQ.js';
7
7
  import 'node:url';
@@ -12,6 +12,7 @@ import 'node:fs/promises';
12
12
  import '@supabase/supabase-js';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const DELETE = async ({ params, locals }) => {
17
18
  const guidParsed = GuidSchema.safeParse(params.guid);
@@ -20,7 +21,7 @@ const DELETE = async ({ params, locals }) => {
20
21
  if (!versionParsed.success) throw error(400, "Invalid or missing version ID");
21
22
  const { ctx } = await requireEditableDefinition(locals, guidParsed.data);
22
23
  try {
23
- await definitionService.deleteVersion(ctx, guidParsed.data, versionParsed.data);
24
+ await getDefinitionService().deleteVersion(ctx, guidParsed.data, versionParsed.data);
24
25
  return json({ success: true });
25
26
  } catch (err) {
26
27
  handleApiError(err, "Failed to delete version");
@@ -28,4 +29,4 @@ const DELETE = async ({ params, locals }) => {
28
29
  };
29
30
 
30
31
  export { DELETE };
31
- //# sourceMappingURL=_server.ts-CpC3cdzG.js.map
32
+ //# sourceMappingURL=_server.ts-C4BZG5kA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-C4BZG5kA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { i as getDefinitionService } from \"../../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const versionParsed = GuidSchema.safeParse(params.versionId);\n if (!versionParsed.success) throw error(400, \"Invalid or missing version ID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await getDefinitionService().deleteVersion(ctx, guidParsed.data, versionParsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete version\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACtE,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9D,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AAC/E,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI;AACN,IAAI,MAAM,oBAAoB,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;AACxF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,0BAA0B,CAAC;AACnD,EAAE;AACF;;;;"}
@@ -1,11 +1,10 @@
1
- import { r as resolveServerForOrg } from './resolve.server-C5wZnxS_.js';
2
- import { r as requireCanCreateDefinition } from './access.server-CGwRj2TY.js';
1
+ import { r as resolveServerForOrg, C as ComputeServerUnconfiguredError } from './api-errors-C0SWfJj5.js';
2
+ import { r as requireCanCreateDefinition } from './access.server-ByXvmWyF.js';
3
3
  import { error } from '@sveltejs/kit';
4
4
  import { camelcaseKeys } from '@selvajs/compute/core';
5
5
  import './context-DKDYb-He.js';
6
6
  import 'zod';
7
- import './utils2-D38XWwRv.js';
8
- import './providers.server-MD7TK-zQ.js';
7
+ import './providers.server-wGknM6CR.js';
9
8
  import './shared-server-C3WdcJCQ.js';
10
9
  import 'node:url';
11
10
  import 'node:path';
@@ -13,7 +12,7 @@ import 'node:fs';
13
12
  import 'node:crypto';
14
13
  import 'node:fs/promises';
15
14
  import '@supabase/supabase-js';
16
- import './api-errors-b2AR_m1A.js';
15
+ import './utils2-BsnrDRob.js';
17
16
 
18
17
  const POST = async ({ request, locals, url }) => {
19
18
  const projectId = url.searchParams.get("projectId");
@@ -21,7 +20,13 @@ const POST = async ({ request, locals, url }) => {
21
20
  throw error(400, "projectId query parameter is required");
22
21
  }
23
22
  const { project } = await requireCanCreateDefinition(locals, projectId);
24
- const server = await resolveServerForOrg(locals.ctx, project.orgId);
23
+ let server;
24
+ try {
25
+ server = await resolveServerForOrg(locals.ctx, project.orgId);
26
+ } catch (err) {
27
+ if (err instanceof ComputeServerUnconfiguredError) throw error(503, err.message);
28
+ throw err;
29
+ }
25
30
  const formData = await request.formData();
26
31
  const schemaUrl = new URL("/grasshopper/schema", server.serverUrl).toString();
27
32
  const headers = {};
@@ -49,4 +54,4 @@ const POST = async ({ request, locals, url }) => {
49
54
  };
50
55
 
51
56
  export { POST };
52
- //# sourceMappingURL=_server.ts-BKtKkHZS.js.map
57
+ //# sourceMappingURL=_server.ts-CBAiDOcP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CBAiDOcP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/compute/schema/_server.ts.js"],"sourcesContent":["import { r as resolveServerForOrg, C as ComputeServerUnconfiguredError } from \"../../../../../chunks/api-errors.js\";\nimport { r as requireCanCreateDefinition } from \"../../../../../chunks/access.server.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { camelcaseKeys } from \"@selvajs/compute/core\";\nconst POST = async ({ request, locals, url }) => {\n const projectId = url.searchParams.get(\"projectId\");\n if (!projectId) {\n throw error(400, \"projectId query parameter is required\");\n }\n const { project } = await requireCanCreateDefinition(locals, projectId);\n let server;\n try {\n server = await resolveServerForOrg(locals.ctx, project.orgId);\n } catch (err) {\n if (err instanceof ComputeServerUnconfiguredError) throw error(503, err.message);\n throw err;\n }\n const formData = await request.formData();\n const schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n const headers = {};\n if (server.apiKey) {\n headers[\"RhinoComputeKey\"] = server.apiKey;\n }\n let response;\n try {\n response = await fetch(schemaUrl, { method: \"POST\", headers, body: formData });\n } catch {\n throw error(503, \"Compute server is unreachable\");\n }\n if (!response.ok) {\n throw error(response.status, \"Compute server error\");\n }\n const raw = await response.json();\n const results = camelcaseKeys(Array.isArray(raw) ? raw : [raw]);\n const schemas = results.flatMap((r) => r.schemas ?? []);\n if (schemas.length === 0) {\n throw error(422, \"No schemas found in definition\");\n }\n return new Response(JSON.stringify(schemas), {\n headers: { \"Content-Type\": \"application/json\" }\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC7D,EAAE;AACF,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;AACzE,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AACjE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,8BAA8B,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACpF,IAAI,MAAM,GAAG;AACb,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC3C,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;AAC/E,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;AACrB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;AAC9C,EAAE;AACF,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAClF,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;AACxD,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACzD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/C,IAAI,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AACjD,GAAG,CAAC;AACJ;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { s as providers, f as flag } from './providers.server-MD7TK-zQ.js';
4
- import { t as requireEditableDefinition } from './access.server-CGwRj2TY.js';
5
- import { h as handleApiError, t as throwZodError } from './api-errors-b2AR_m1A.js';
3
+ import { t as providers, f as flag } from './providers.server-wGknM6CR.js';
4
+ import { t as requireEditableDefinition } from './access.server-ByXvmWyF.js';
5
+ import { h as handleApiError, t as throwZodError } from './api-errors-C0SWfJj5.js';
6
6
  import { G as GuidSchema, c as CreateShareLinkInputSchema } from './context-DKDYb-He.js';
7
7
  import { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from './types2-DdHhYSMF.js';
8
8
  import { m as mintRawToken, h as hashToken } from './token.server-BGL9vwYS.js';
@@ -14,6 +14,7 @@ import 'node:fs/promises';
14
14
  import '@supabase/supabase-js';
15
15
  import 'zod';
16
16
  import '@selvajs/compute/core';
17
+ import './utils2-BsnrDRob.js';
17
18
 
18
19
  function assertSharingEnabled() {
19
20
  if (!flag("ENABLE_SHARING")) {
@@ -76,4 +77,4 @@ const POST = async ({ params, request, locals }) => {
76
77
  };
77
78
 
78
79
  export { GET, POST };
79
- //# sourceMappingURL=_server.ts-aUFaewu4.js.map
80
+ //# sourceMappingURL=_server.ts-CEE9G3nv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-aUFaewu4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { s as providers, f as flag } from \"../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, c as CreateShareLinkInputSchema } from \"../../../../../../chunks/context.js\";\nimport { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from \"../../../../../../chunks/types2.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../../../chunks/token.server.js\";\nfunction assertSharingEnabled() {\n if (!flag(\"ENABLE_SHARING\")) {\n throw error(404, \"Share links are disabled on this instance (ENABLE_SHARING).\");\n }\n}\nfunction strip(link) {\n const { tokenHash: _omit, ...rest } = link;\n return { ...rest, hasToken: true };\n}\nconst GET = async ({ params, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const page = await providers.data.shareLinks.listByDefinition(ctx, guidParsed.data, {\n limit: 200\n });\n return json({\n links: page.items.map(strip),\n nextCursor: page.nextCursor\n });\n } catch (err) {\n handleApiError(err, \"Failed to list share links\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const body = await request.json().catch(() => ({}));\n const parsed = CreateShareLinkInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const raw = mintRawToken();\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const link = {\n id: randomUUID(),\n definitionId: guidParsed.data,\n channel: parsed.data.channel,\n tokenHash: hashToken(raw),\n name: parsed.data.name,\n createdBy: locals.user.id,\n createdAt: now,\n expiresAt: parsed.data.expiresAt ?? null,\n revokedAt: null,\n allowSolve: parsed.data.allowSolve,\n // Default applied only when the field is absent. `null` is a deliberate\n // \"uncap\" choice and is preserved.\n maxSolves: parsed.data.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : parsed.data.maxSolves,\n solveCount: 0\n };\n try {\n await providers.data.shareLinks.create(ctx, link);\n return json({ link: strip(link), token: raw }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create share link\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CEE9G3nv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { t as providers, f as flag } from \"../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, c as CreateShareLinkInputSchema } from \"../../../../../../chunks/context.js\";\nimport { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from \"../../../../../../chunks/types2.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../../../chunks/token.server.js\";\nfunction assertSharingEnabled() {\n if (!flag(\"ENABLE_SHARING\")) {\n throw error(404, \"Share links are disabled on this instance (ENABLE_SHARING).\");\n }\n}\nfunction strip(link) {\n const { tokenHash: _omit, ...rest } = link;\n return { ...rest, hasToken: true };\n}\nconst GET = async ({ params, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const page = await providers.data.shareLinks.listByDefinition(ctx, guidParsed.data, {\n limit: 200\n });\n return json({\n links: page.items.map(strip),\n nextCursor: page.nextCursor\n });\n } catch (err) {\n handleApiError(err, \"Failed to list share links\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const body = await request.json().catch(() => ({}));\n const parsed = CreateShareLinkInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const raw = mintRawToken();\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const link = {\n id: randomUUID(),\n definitionId: guidParsed.data,\n channel: parsed.data.channel,\n tokenHash: hashToken(raw),\n name: parsed.data.name,\n createdBy: locals.user.id,\n createdAt: now,\n expiresAt: parsed.data.expiresAt ?? null,\n revokedAt: null,\n allowSolve: parsed.data.allowSolve,\n // Default applied only when the field is absent. `null` is a deliberate\n // \"uncap\" choice and is preserved.\n maxSolves: parsed.data.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : parsed.data.maxSolves,\n solveCount: 0\n };\n try {\n await providers.data.shareLinks.create(ctx, link);\n return json({ link: strip(link), token: raw }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create share link\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { a as definitionService } from './providers.server-MD7TK-zQ.js';
3
- import { t as requireEditableDefinition } from './access.server-CGwRj2TY.js';
4
- import { t as throwZodError, h as handleApiError } from './api-errors-b2AR_m1A.js';
2
+ import { i as getDefinitionService } from './providers.server-wGknM6CR.js';
3
+ import { t as requireEditableDefinition } from './access.server-ByXvmWyF.js';
4
+ import { t as throwZodError, h as handleApiError } from './api-errors-C0SWfJj5.js';
5
5
  import { G as GuidSchema, h as PublishVersionInputSchema } from './context-DKDYb-He.js';
6
6
  import './shared-server-C3WdcJCQ.js';
7
7
  import 'node:url';
@@ -12,6 +12,7 @@ import 'node:fs/promises';
12
12
  import '@supabase/supabase-js';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const POST = async ({ params, request, locals }) => {
17
18
  const guidParsed = GuidSchema.safeParse(params.guid);
@@ -21,7 +22,11 @@ const POST = async ({ params, request, locals }) => {
21
22
  if (!parsed.success) throwZodError(parsed.error);
22
23
  const { ctx } = await requireEditableDefinition(locals, guidParsed.data);
23
24
  try {
24
- const version = await definitionService.publish(ctx, guidParsed.data, parsed.data.versionId);
25
+ const version = await getDefinitionService().publish(
26
+ ctx,
27
+ guidParsed.data,
28
+ parsed.data.versionId
29
+ );
25
30
  return json({ success: true, version });
26
31
  } catch (err) {
27
32
  handleApiError(err, "Failed to publish version");
@@ -29,4 +34,4 @@ const POST = async ({ params, request, locals }) => {
29
34
  };
30
35
 
31
36
  export { POST };
32
- //# sourceMappingURL=_server.ts-DWAwxfXk.js.map
37
+ //# sourceMappingURL=_server.ts-CJ37R1sx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CJ37R1sx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { i as getDefinitionService } from \"../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, h as PublishVersionInputSchema } from \"../../../../../../chunks/context.js\";\nconst POST = async ({ params, request, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const body = await request.json().catch(() => ({}));\n const parsed = PublishVersionInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const version = await getDefinitionService().publish(\n ctx,\n guidParsed.data,\n parsed.data.versionId\n );\n return json({ success: true, version });\n } catch (err) {\n handleApiError(err, \"Failed to publish version\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpD,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACtE,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC;AAC1D,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC,OAAO;AACxD,MAAM,GAAG;AACT,MAAM,UAAU,CAAC,IAAI;AACrB,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { m as getPlatformProjectGrantStore, k as getOrganizationProvider, p as getUserProfileStore, f as flag, n as getProjectProvider } from './providers.server-MD7TK-zQ.js';
5
- import { u as requireInstanceAdmin } from './access.server-CGwRj2TY.js';
6
- import { h as handleApiError, t as throwZodError } from './api-errors-b2AR_m1A.js';
4
+ import { m as getPlatformProjectGrantStore, k as getOrganizationProvider, q as getUserProfileStore, f as flag, n as getProjectProvider } from './providers.server-wGknM6CR.js';
5
+ import { u as requireInstanceAdmin } from './access.server-ByXvmWyF.js';
6
+ import { h as handleApiError, t as throwZodError } from './api-errors-C0SWfJj5.js';
7
7
  import { S as SYSTEM_CONTEXT } from './context-DKDYb-He.js';
8
8
  import './shared-server-C3WdcJCQ.js';
9
9
  import 'node:url';
@@ -12,6 +12,7 @@ import 'node:fs';
12
12
  import 'node:fs/promises';
13
13
  import '@supabase/supabase-js';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const CreateGrantBody = z.object({
17
18
  granteeType: z.enum(["org", "user"]),
@@ -71,4 +72,4 @@ const POST = async ({ params, request, locals }) => {
71
72
  };
72
73
 
73
74
  export { GET, POST };
74
- //# sourceMappingURL=_server.ts-BeyEUs6I.js.map
75
+ //# sourceMappingURL=_server.ts-CJ5P0_cD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BeyEUs6I.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { m as getPlatformProjectGrantStore, k as getOrganizationProvider, p as getUserProfileStore, f as flag, n as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../chunks/context.js\";\nconst CreateGrantBody = z.object({\n granteeType: z.enum([\"org\", \"user\"]),\n granteeId: z.string().min(1),\n canSolve: z.boolean()\n});\nasync function assertPlatformProject(id) {\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) throw error(404, \"Not found\");\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n throw error(404, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n try {\n await assertPlatformProject(id);\n const grants = await getPlatformProjectGrantStore().listByProject(SYSTEM_CONTEXT, id);\n return json({ grants });\n } catch (err) {\n handleApiError(err, \"Failed to list grants\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = CreateGrantBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await assertPlatformProject(id);\n if (parsed.data.granteeType === \"org\") {\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!org) throw error(400, `Organization '${parsed.data.granteeId}' not found`);\n } else {\n const profile = await getUserProfileStore().getProfile(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!profile) throw error(400, `User '${parsed.data.granteeId}' not found`);\n }\n const grant = {\n id: randomUUID(),\n projectId: id,\n granteeType: parsed.data.granteeType,\n granteeId: parsed.data.granteeId,\n canSolve: parsed.data.canSolve,\n createdBy: user.id,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n await getPlatformProjectGrantStore().create(SYSTEM_CONTEXT, grant);\n return json(grant, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create grant\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CJ5P0_cD.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { m as getPlatformProjectGrantStore, k as getOrganizationProvider, q as getUserProfileStore, f as flag, n as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../chunks/context.js\";\nconst CreateGrantBody = z.object({\n granteeType: z.enum([\"org\", \"user\"]),\n granteeId: z.string().min(1),\n canSolve: z.boolean()\n});\nasync function assertPlatformProject(id) {\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) throw error(404, \"Not found\");\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n throw error(404, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n try {\n await assertPlatformProject(id);\n const grants = await getPlatformProjectGrantStore().listByProject(SYSTEM_CONTEXT, id);\n return json({ grants });\n } catch (err) {\n handleApiError(err, \"Failed to list grants\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = CreateGrantBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await assertPlatformProject(id);\n if (parsed.data.granteeType === \"org\") {\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!org) throw error(400, `Organization '${parsed.data.granteeId}' not found`);\n } else {\n const profile = await getUserProfileStore().getProfile(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!profile) throw error(400, `User '${parsed.data.granteeId}' not found`);\n }\n const grant = {\n id: randomUUID(),\n projectId: id,\n granteeType: parsed.data.granteeType,\n granteeId: parsed.data.granteeId,\n canSolve: parsed.data.canSolve,\n createdBy: user.id,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n await getPlatformProjectGrantStore().create(SYSTEM_CONTEXT, grant);\n return json(grant, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create grant\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error } from '@sveltejs/kit';
2
- import { i as getDefinitionMeta, d as definitionPaths, o as getStorageProvider } from './providers.server-MD7TK-zQ.js';
2
+ import { h as getDefinitionMeta, d as definitionPaths, o as getStorageProvider } from './providers.server-wGknM6CR.js';
3
3
  import { G as GuidSchema } from './context-DKDYb-He.js';
4
- import { s as requireCanViewProject } from './access.server-CGwRj2TY.js';
4
+ import { s as requireCanViewProject } from './access.server-ByXvmWyF.js';
5
5
  import './shared-server-C3WdcJCQ.js';
6
6
  import 'node:url';
7
7
  import 'node:path';
@@ -10,8 +10,9 @@ import 'node:crypto';
10
10
  import 'node:fs/promises';
11
11
  import '@supabase/supabase-js';
12
12
  import 'zod';
13
- import './api-errors-b2AR_m1A.js';
13
+ import './api-errors-C0SWfJj5.js';
14
14
  import '@selvajs/compute/core';
15
+ import './utils2-BsnrDRob.js';
15
16
 
16
17
  const ALLOWED_EXTENSIONS = {
17
18
  ".webp": "image/webp",
@@ -47,4 +48,4 @@ const GET = async ({ params, locals }) => {
47
48
  };
48
49
 
49
50
  export { GET };
50
- //# sourceMappingURL=_server.ts-DDHHklcd.js.map
51
+ //# sourceMappingURL=_server.ts-Ca-ZnaSe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DDHHklcd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/files/_...path_/_server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { i as getDefinitionMeta, d as definitionPaths, o as getStorageProvider } from \"../../../../../chunks/providers.server.js\";\nimport { G as GuidSchema } from \"../../../../../chunks/context.js\";\nimport { s as requireCanViewProject } from \"../../../../../chunks/access.server.js\";\nconst ALLOWED_EXTENSIONS = {\n \".webp\": \"image/webp\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".gif\": \"image/gif\"\n};\nconst COVER_PATH_PATTERN = /^definitions\\/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\\/cover\\.([a-z]+)$/i;\nconst GET = async ({ params, locals }) => {\n const storagePath = params.path;\n if (!storagePath) throw error(400, \"Missing path\");\n const match = COVER_PATH_PATTERN.exec(storagePath);\n if (!match) throw error(404, \"File not found\");\n const [, guid, rawExt] = match;\n const ext = `.${rawExt.toLowerCase()}`;\n if (!ALLOWED_EXTENSIONS[ext]) throw error(404, \"File not found\");\n const guidParsed = GuidSchema.safeParse(guid);\n if (!guidParsed.success) throw error(404, \"File not found\");\n if (!locals.ctx) throw error(401, \"Unauthorized\");\n const record = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!record) throw error(404, \"File not found\");\n await requireCanViewProject(locals, record.projectId);\n const canonicalPath = definitionPaths.image(guidParsed.data);\n const bytes = await getStorageProvider().get(canonicalPath);\n if (!bytes) throw error(404, \"File not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": ALLOWED_EXTENSIONS[ext],\n \"Cache-Control\": \"private, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,MAAM,EAAE;AACV,CAAC;AACD,MAAM,kBAAkB,GAAG,iGAAiG;AACvH,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI;AACjC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACpD,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACpD,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK;AAChC,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAClE,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/C,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7D,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC3E,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACjD,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9D,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;AAC7D,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC;AAC7C,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"_server.ts-Ca-ZnaSe.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/files/_...path_/_server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { h as getDefinitionMeta, d as definitionPaths, o as getStorageProvider } from \"../../../../../chunks/providers.server.js\";\nimport { G as GuidSchema } from \"../../../../../chunks/context.js\";\nimport { s as requireCanViewProject } from \"../../../../../chunks/access.server.js\";\nconst ALLOWED_EXTENSIONS = {\n \".webp\": \"image/webp\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".gif\": \"image/gif\"\n};\nconst COVER_PATH_PATTERN = /^definitions\\/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\\/cover\\.([a-z]+)$/i;\nconst GET = async ({ params, locals }) => {\n const storagePath = params.path;\n if (!storagePath) throw error(400, \"Missing path\");\n const match = COVER_PATH_PATTERN.exec(storagePath);\n if (!match) throw error(404, \"File not found\");\n const [, guid, rawExt] = match;\n const ext = `.${rawExt.toLowerCase()}`;\n if (!ALLOWED_EXTENSIONS[ext]) throw error(404, \"File not found\");\n const guidParsed = GuidSchema.safeParse(guid);\n if (!guidParsed.success) throw error(404, \"File not found\");\n if (!locals.ctx) throw error(401, \"Unauthorized\");\n const record = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!record) throw error(404, \"File not found\");\n await requireCanViewProject(locals, record.projectId);\n const canonicalPath = definitionPaths.image(guidParsed.data);\n const bytes = await getStorageProvider().get(canonicalPath);\n if (!bytes) throw error(404, \"File not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": ALLOWED_EXTENSIONS[ext],\n \"Cache-Control\": \"private, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,MAAM,EAAE;AACV,CAAC;AACD,MAAM,kBAAkB,GAAG,iGAAiG;AACvH,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI;AACjC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACpD,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACpD,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK;AAChC,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAClE,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/C,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7D,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC3E,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACjD,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9D,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;AAC7D,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC;AAC7C,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
@@ -1,12 +1,11 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { n as getProjectProvider, a as definitionService } from './providers.server-MD7TK-zQ.js';
4
- import { r as requireCanCreateDefinition } from './access.server-CGwRj2TY.js';
5
- import { t as throwZodError, f as fetchSchemaFromCompute, h as handleApiError } from './api-errors-b2AR_m1A.js';
3
+ import { n as getProjectProvider, i as getDefinitionService } from './providers.server-wGknM6CR.js';
4
+ import { r as requireCanCreateDefinition } from './access.server-ByXvmWyF.js';
5
+ import { t as throwZodError, r as resolveServerForOrg, f as fetchSchemaFromCompute, h as handleApiError } from './api-errors-C0SWfJj5.js';
6
6
  import { G as GH_EXTENSIONS } from './types-DxzJoaA4.js';
7
7
  import { C as CreateDefinitionInputSchema } from './context-DKDYb-He.js';
8
8
  import { M as MAX_GH_FILE_SIZE, a as MAX_IMAGE_FILE_SIZE } from './computeLimits-CKK96OOR.js';
9
- import { r as resolveServerForOrg } from './resolve.server-C5wZnxS_.js';
10
9
  import './shared-server-C3WdcJCQ.js';
11
10
  import 'node:url';
12
11
  import 'node:path';
@@ -15,7 +14,7 @@ import 'node:fs/promises';
15
14
  import '@supabase/supabase-js';
16
15
  import 'zod';
17
16
  import '@selvajs/compute/core';
18
- import './utils2-D38XWwRv.js';
17
+ import './utils2-BsnrDRob.js';
19
18
 
20
19
  function parseTags(raw) {
21
20
  if (typeof raw !== "string" || !raw.trim()) return void 0;
@@ -69,7 +68,7 @@ const POST = async ({ request, locals }) => {
69
68
  definitionPin: parsed.data.computeServerId ?? null
70
69
  });
71
70
  const schema = await fetchSchemaFromCompute(fileData, server);
72
- const { record, version } = await definitionService.create(
71
+ const { record, version } = await getDefinitionService().create(
73
72
  ctx,
74
73
  {
75
74
  guid,
@@ -90,7 +89,7 @@ const POST = async ({ request, locals }) => {
90
89
  let coverImage = record.coverImage;
91
90
  if (imageFile instanceof File && imageFile.size > 0) {
92
91
  const imageData = new Uint8Array(await imageFile.arrayBuffer());
93
- coverImage = await definitionService.saveCoverImage(ctx, guid, imageData);
92
+ coverImage = await getDefinitionService().saveCoverImage(ctx, guid, imageData);
94
93
  }
95
94
  return json({ success: true, guid, version, coverImage });
96
95
  } catch (err) {
@@ -99,4 +98,4 @@ const POST = async ({ request, locals }) => {
99
98
  };
100
99
 
101
100
  export { POST };
102
- //# sourceMappingURL=_server.ts-Bkr-33U0.js.map
101
+ //# sourceMappingURL=_server.ts-Ce-u_4Qp.js.map