@selvajs/selva 2.0.1 → 2.0.2

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 (452) hide show
  1. package/build/client/.!34937!selva_example_0_1_0.gh +0 -0
  2. package/build/client/_app/immutable/assets/0.B0phAlf7.css.gz +0 -0
  3. package/build/client/_app/immutable/assets/20.5bKkcx-V.css +1 -0
  4. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.br +0 -0
  5. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/1s2jTHrf.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/2XlIPTRw.js.gz +0 -0
  9. package/build/client/_app/immutable/chunks/2_FEXmq1.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/2dX6Wjni.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/4tskcAVN.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/AEyooZaf.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B1aRL9Hz.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B8uG8z2c.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/B8zY50Bc.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BCse3N0b.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BGxzXVpM.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/BM4_iXSA.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BMGykAfL.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BNScKugQ.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BNzEBMy8.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BU9URCkw.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/BW4xleRz.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/BZmrLQwT.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BapAUJpM.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/Bb9xebuT.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/BjkQG7dw.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/Bnpwcepm.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BoR6OKl6.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/Br5bpmJC.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/BxCHY0iG.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/{BMwGnr2J.js → C-pNJcZ1.js} +1 -1
  35. package/build/client/_app/immutable/chunks/C-pNJcZ1.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/C-pNJcZ1.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/C1Sz0rtw.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/C1aQuqo_.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/C26nmevH.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/C8ko2SLk.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CAMhfNhW.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/CRRzXoPz.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/CXh1ITwj.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/CcYNc8-G.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/Cdcajer6.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/Ce2MupFq.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/CfP1DoGT.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CfhPDo21.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/CkW8YtSm.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CoR7xVWs.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CpGv0MSX.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/{smW5maEe.js → CqdlMl9v.js} +1 -1
  57. package/build/client/_app/immutable/chunks/CqdlMl9v.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/CqdlMl9v.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/{VmqnFAi3.js → Cvkx15k5.js} +1 -1
  60. package/build/client/_app/immutable/chunks/Cvkx15k5.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/Cvkx15k5.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/Cvr8AlQE.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/D0QMYypb.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/D40b34QZ.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/D6MI_dhi.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/D7l1JayF.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/D99uXqZb.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/DEBBEmC0.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/DNsLImlA.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/DRDjLZb3.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/DTJeGfAL.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/DZFqETAQ.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/D_wr-JLf.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/Doks8ISn.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/{CS49LPny.js → Dw1n4e1Z.js} +1 -1
  78. package/build/client/_app/immutable/chunks/Dw1n4e1Z.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/Dw1n4e1Z.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/E3yOQTT0.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/P4Np3c9O.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/_OLpdTiI.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/azBeeLR0.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/{BSyJ0ZuA.js → ej-X2XiW.js} +1 -1
  88. package/build/client/_app/immutable/chunks/ej-X2XiW.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/ej-X2XiW.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/gMllmzma.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/hRoV10UM.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/iEBlyxZv.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/jFKgkeON.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/ooPBmYPj.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/pRg-f8xU.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/uINs3xv3.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/wamM80bu.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/xe-rGDG8.js +3 -0
  99. package/build/client/_app/immutable/chunks/xe-rGDG8.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/xe-rGDG8.js.gz +0 -0
  101. package/build/client/_app/immutable/entry/{app.GElcRZPp.js → app.CFLPIelF.js} +2 -2
  102. package/build/client/_app/immutable/entry/app.CFLPIelF.js.br +0 -0
  103. package/build/client/_app/immutable/entry/app.CFLPIelF.js.gz +0 -0
  104. package/build/client/_app/immutable/entry/start.CrhtzCz1.js +1 -0
  105. package/build/client/_app/immutable/entry/start.CrhtzCz1.js.br +0 -0
  106. package/build/client/_app/immutable/entry/start.CrhtzCz1.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/{0.r0PA_Sxw.js → 0.KJ-PiM1c.js} +1 -1
  108. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/{1.CTfA0FAT.js → 1.B4cNXFZe.js} +1 -1
  111. package/build/client/_app/immutable/nodes/1.B4cNXFZe.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/1.B4cNXFZe.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js +3 -0
  114. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/{11.Dk81DreT.js → 11.DO9irQLl.js} +1 -1
  117. package/build/client/_app/immutable/nodes/11.DO9irQLl.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/11.DO9irQLl.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/{13.B3m9NRrd.js → 13.Cmx49Kub.js} +1 -1
  121. package/build/client/_app/immutable/nodes/13.Cmx49Kub.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/13.Cmx49Kub.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/{14.9MmuwEpn.js → 14.DtWKU29l.js} +1 -1
  124. package/build/client/_app/immutable/nodes/14.DtWKU29l.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/14.DtWKU29l.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js +13 -0
  127. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.gz +0 -0
  129. package/build/client/_app/immutable/nodes/{16.BMWgVDGJ.js → 16.CdiaMjqd.js} +2 -2
  130. package/build/client/_app/immutable/nodes/16.CdiaMjqd.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/16.CdiaMjqd.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/{17.Bch7V784.js → 17.fdmJDdhR.js} +1 -1
  133. package/build/client/_app/immutable/nodes/17.fdmJDdhR.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/17.fdmJDdhR.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/{19.DQtOUgti.js → 19.CSLP9qPo.js} +1 -1
  137. package/build/client/_app/immutable/nodes/19.CSLP9qPo.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/19.CSLP9qPo.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{2.CyCY9Gpy.js → 2.BDo-orPp.js} +1 -1
  140. package/build/client/_app/immutable/nodes/2.BDo-orPp.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/2.BDo-orPp.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{20.CT0e7phi.js → 20.vMa5OYGG.js} +6 -6
  143. package/build/client/_app/immutable/nodes/20.vMa5OYGG.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/20.vMa5OYGG.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/{21.C43xF0qL.js → 21.BXpF6SCn.js} +1 -1
  146. package/build/client/_app/immutable/nodes/21.BXpF6SCn.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/21.BXpF6SCn.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/{23.CFT1SOUF.js → 23.sYDue3fB.js} +1 -1
  149. package/build/client/_app/immutable/nodes/23.sYDue3fB.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/23.sYDue3fB.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/{24.BjGP5G3P.js → 24.CMNCTbEg.js} +1 -1
  152. package/build/client/_app/immutable/nodes/24.CMNCTbEg.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/24.CMNCTbEg.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js.gz +0 -0
  155. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js.gz +0 -0
  156. package/build/client/_app/immutable/nodes/{27.BS48zWld.js → 27.Cx5OgRDj.js} +1 -1
  157. package/build/client/_app/immutable/nodes/27.Cx5OgRDj.js.br +0 -0
  158. package/build/client/_app/immutable/nodes/27.Cx5OgRDj.js.gz +0 -0
  159. package/build/client/_app/immutable/nodes/{28.eQk5ZqHl.js → 28.CGYOjnep.js} +1 -1
  160. package/build/client/_app/immutable/nodes/28.CGYOjnep.js.br +0 -0
  161. package/build/client/_app/immutable/nodes/28.CGYOjnep.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/{29.-im11HaY.js → 29.CLf8RvpY.js} +1 -1
  163. package/build/client/_app/immutable/nodes/29.CLf8RvpY.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/29.CLf8RvpY.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/{3.CfPrUs70.js → 3.BlV_x8MJ.js} +1 -1
  166. package/build/client/_app/immutable/nodes/3.BlV_x8MJ.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/3.BlV_x8MJ.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/{30.DUz5JI16.js → 30.R_e5369k.js} +1 -1
  169. package/build/client/_app/immutable/nodes/30.R_e5369k.js.br +0 -0
  170. package/build/client/_app/immutable/nodes/30.R_e5369k.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js.gz +0 -0
  173. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/{5.D4jMtb1M.js → 5.BkfXGrZY.js} +1 -1
  175. package/build/client/_app/immutable/nodes/5.BkfXGrZY.js.br +1 -0
  176. package/build/client/_app/immutable/nodes/5.BkfXGrZY.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/{6.BhoBomwz.js → 6.CrYuHI6-.js} +1 -1
  178. package/build/client/_app/immutable/nodes/6.CrYuHI6-.js.br +0 -0
  179. package/build/client/_app/immutable/nodes/6.CrYuHI6-.js.gz +0 -0
  180. package/build/client/_app/immutable/nodes/{7.CaJkp9fo.js → 7.CMw8RqJb.js} +1 -1
  181. package/build/client/_app/immutable/nodes/7.CMw8RqJb.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/7.CMw8RqJb.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/{8.Bt2DWfca.js → 8.BFOXhEsE.js} +1 -1
  184. package/build/client/_app/immutable/nodes/8.BFOXhEsE.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/8.BFOXhEsE.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/{9.C5-qch-V.js → 9.CDfx0uL-.js} +1 -1
  187. package/build/client/_app/immutable/nodes/9.CDfx0uL-.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/9.CDfx0uL-.js.gz +0 -0
  189. package/build/client/_app/version.json +1 -1
  190. package/build/client/_app/version.json.br +0 -0
  191. package/build/client/_app/version.json.gz +0 -0
  192. package/build/client/favicon/favicon.svg.gz +0 -0
  193. package/build/client/robots.txt.gz +0 -0
  194. package/build/server/chunks/{0-BXYXs3Xm.js → 0-wC8vebb2.js} +4 -4
  195. package/build/server/chunks/{0-BXYXs3Xm.js.map → 0-wC8vebb2.js.map} +1 -1
  196. package/build/server/chunks/{1-V8dFtmbb.js → 1-BuhU5ws5.js} +2 -2
  197. package/build/server/chunks/{1-V8dFtmbb.js.map → 1-BuhU5ws5.js.map} +1 -1
  198. package/build/server/chunks/{10-J_ZMrbXX.js → 10-8FzClb5u.js} +6 -6
  199. package/build/server/chunks/{10-J_ZMrbXX.js.map → 10-8FzClb5u.js.map} +1 -1
  200. package/build/server/chunks/{11-C54ZyrYp.js → 11-DDY_rtxo.js} +6 -6
  201. package/build/server/chunks/{11-C54ZyrYp.js.map → 11-DDY_rtxo.js.map} +1 -1
  202. package/build/server/chunks/{12-CrOqT0Q5.js → 12-C_P4jkDv.js} +2 -2
  203. package/build/server/chunks/{12-CrOqT0Q5.js.map → 12-C_P4jkDv.js.map} +1 -1
  204. package/build/server/chunks/{13-DVoUfflf.js → 13-B5aiYDRf.js} +3 -3
  205. package/build/server/chunks/{13-DVoUfflf.js.map → 13-B5aiYDRf.js.map} +1 -1
  206. package/build/server/chunks/{14-DkBYx89e.js → 14-BaOmOh6D.js} +3 -3
  207. package/build/server/chunks/{14-DkBYx89e.js.map → 14-BaOmOh6D.js.map} +1 -1
  208. package/build/server/chunks/{15-CNzxJkd-.js → 15-DHGAmNDS.js} +4 -4
  209. package/build/server/chunks/{15-CNzxJkd-.js.map → 15-DHGAmNDS.js.map} +1 -1
  210. package/build/server/chunks/{16-cz9yc7Nq.js → 16-CzffXXom.js} +6 -6
  211. package/build/server/chunks/{16-cz9yc7Nq.js.map → 16-CzffXXom.js.map} +1 -1
  212. package/build/server/chunks/{17-BLqAW2P3.js → 17-DZkJ_eHV.js} +2 -2
  213. package/build/server/chunks/{17-BLqAW2P3.js.map → 17-DZkJ_eHV.js.map} +1 -1
  214. package/build/server/chunks/{18-DFxW4YE_.js → 18-DeVS-pOT.js} +2 -2
  215. package/build/server/chunks/{18-DFxW4YE_.js.map → 18-DeVS-pOT.js.map} +1 -1
  216. package/build/server/chunks/{19-BZm3F7yF.js → 19-Dp3tqQ1t.js} +3 -3
  217. package/build/server/chunks/{19-BZm3F7yF.js.map → 19-Dp3tqQ1t.js.map} +1 -1
  218. package/build/server/chunks/{2-CNp1ZQp0.js → 2-ByzJzwtP.js} +5 -5
  219. package/build/server/chunks/{2-CNp1ZQp0.js.map → 2-ByzJzwtP.js.map} +1 -1
  220. package/build/server/chunks/{20-BXy_jr30.js → 20-B0yVR9Gt.js} +12 -12
  221. package/build/server/chunks/{20-BXy_jr30.js.map → 20-B0yVR9Gt.js.map} +1 -1
  222. package/build/server/chunks/{21-DSjRU6S2.js → 21-C1DQ27EI.js} +3 -3
  223. package/build/server/chunks/{21-DSjRU6S2.js.map → 21-C1DQ27EI.js.map} +1 -1
  224. package/build/server/chunks/{23-CjL9FJFA.js → 23-Cu3Wc2EB.js} +6 -6
  225. package/build/server/chunks/{23-CjL9FJFA.js.map → 23-Cu3Wc2EB.js.map} +1 -1
  226. package/build/server/chunks/{24-D9rqHSTE.js → 24-BT4UP2RT.js} +4 -4
  227. package/build/server/chunks/{24-D9rqHSTE.js.map → 24-BT4UP2RT.js.map} +1 -1
  228. package/build/server/chunks/{25-DstWRI72.js → 25-ef6c33Ul.js} +2 -2
  229. package/build/server/chunks/{25-DstWRI72.js.map → 25-ef6c33Ul.js.map} +1 -1
  230. package/build/server/chunks/{27-nNwc75ro.js → 27-2TZYrjFq.js} +4 -4
  231. package/build/server/chunks/{27-nNwc75ro.js.map → 27-2TZYrjFq.js.map} +1 -1
  232. package/build/server/chunks/{28-CvOKckIC.js → 28-CgAgC0Z2.js} +3 -3
  233. package/build/server/chunks/{28-CvOKckIC.js.map → 28-CgAgC0Z2.js.map} +1 -1
  234. package/build/server/chunks/{29-omUxa3rd.js → 29-B5T9cb-n.js} +3 -3
  235. package/build/server/chunks/{29-omUxa3rd.js.map → 29-B5T9cb-n.js.map} +1 -1
  236. package/build/server/chunks/{3-D43IIYqW.js → 3-DADb713A.js} +2 -2
  237. package/build/server/chunks/{3-D43IIYqW.js.map → 3-DADb713A.js.map} +1 -1
  238. package/build/server/chunks/{30-BMQ7Cr8A.js → 30-DltbcIRy.js} +3 -3
  239. package/build/server/chunks/{30-BMQ7Cr8A.js.map → 30-DltbcIRy.js.map} +1 -1
  240. package/build/server/chunks/{31-Cba3pMW9.js → 31-CirH19D6.js} +2 -2
  241. package/build/server/chunks/{31-Cba3pMW9.js.map → 31-CirH19D6.js.map} +1 -1
  242. package/build/server/chunks/{32-BmfoNY4G.js → 32-CZojKYOy.js} +2 -2
  243. package/build/server/chunks/{32-BmfoNY4G.js.map → 32-CZojKYOy.js.map} +1 -1
  244. package/build/server/chunks/{5-lJnHNLmp.js → 5-BPpDRjc1.js} +2 -2
  245. package/build/server/chunks/{5-lJnHNLmp.js.map → 5-BPpDRjc1.js.map} +1 -1
  246. package/build/server/chunks/{6-BydCaB4v.js → 6-BNfcWbqm.js} +3 -3
  247. package/build/server/chunks/{6-BydCaB4v.js.map → 6-BNfcWbqm.js.map} +1 -1
  248. package/build/server/chunks/{7-D4q4IBnf.js → 7-C5iTPe4g.js} +2 -2
  249. package/build/server/chunks/{7-D4q4IBnf.js.map → 7-C5iTPe4g.js.map} +1 -1
  250. package/build/server/chunks/{8-1AErDsjI.js → 8-Cw1nSIV4.js} +3 -3
  251. package/build/server/chunks/{8-1AErDsjI.js.map → 8-Cw1nSIV4.js.map} +1 -1
  252. package/build/server/chunks/{9-Cr4VDcCh.js → 9-6pRErmUa.js} +4 -4
  253. package/build/server/chunks/{9-Cr4VDcCh.js.map → 9-6pRErmUa.js.map} +1 -1
  254. package/build/server/chunks/{_layout.svelte-Px4pdCxU.js → _layout.svelte-xYAKGoE5.js} +4 -4
  255. package/build/server/chunks/{_layout.svelte-Px4pdCxU.js.map → _layout.svelte-xYAKGoE5.js.map} +1 -1
  256. package/build/server/chunks/{_page.svelte-D6lEOLLp.js → _page.svelte-BR8dze-7.js} +14 -14
  257. package/build/server/chunks/_page.svelte-BR8dze-7.js.map +1 -0
  258. package/build/server/chunks/{_page.svelte-KapMJV5_.js → _page.svelte-BsU27A26.js} +3 -3
  259. package/build/server/chunks/_page.svelte-BsU27A26.js.map +1 -0
  260. package/build/server/chunks/{_page.svelte-5X2iRv32.js → _page.svelte-CaOLJFdL.js} +2 -2
  261. package/build/server/chunks/_page.svelte-CaOLJFdL.js.map +1 -0
  262. package/build/server/chunks/{_page.svelte-BcFniUOO.js → _page.svelte-DG_7CM7u.js} +5 -5
  263. package/build/server/chunks/{_page.svelte-BcFniUOO.js.map → _page.svelte-DG_7CM7u.js.map} +1 -1
  264. package/build/server/chunks/{_page.svelte-CX9DKxIH.js → _page.svelte-DS9orYLw.js} +2 -2
  265. package/build/server/chunks/_page.svelte-DS9orYLw.js.map +1 -0
  266. package/build/server/chunks/{_server.ts-CmUr8pln.js → _server.ts-1HIleN3S.js} +4 -4
  267. package/build/server/chunks/{_server.ts-CmUr8pln.js.map → _server.ts-1HIleN3S.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-C-XniPo8.js → _server.ts-1nksAmT8.js} +4 -4
  269. package/build/server/chunks/{_server.ts-C-XniPo8.js.map → _server.ts-1nksAmT8.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-7hKc3tb_.js → _server.ts-AE1drj36.js} +4 -4
  271. package/build/server/chunks/{_server.ts-7hKc3tb_.js.map → _server.ts-AE1drj36.js.map} +1 -1
  272. package/build/server/chunks/{_server.ts-DBh0rJrm.js → _server.ts-B0gZCMdj.js} +4 -4
  273. package/build/server/chunks/{_server.ts-DBh0rJrm.js.map → _server.ts-B0gZCMdj.js.map} +1 -1
  274. package/build/server/chunks/{_server.ts-_NTv7i9z.js → _server.ts-BSoy1Ljl.js} +4 -4
  275. package/build/server/chunks/{_server.ts-_NTv7i9z.js.map → _server.ts-BSoy1Ljl.js.map} +1 -1
  276. package/build/server/chunks/{_server.ts-CAcgx11J.js → _server.ts-BTi2idVf.js} +4 -4
  277. package/build/server/chunks/{_server.ts-CAcgx11J.js.map → _server.ts-BTi2idVf.js.map} +1 -1
  278. package/build/server/chunks/{_server.ts-D-QkfF2o.js → _server.ts-BYlDwqEg.js} +5 -5
  279. package/build/server/chunks/{_server.ts-D-QkfF2o.js.map → _server.ts-BYlDwqEg.js.map} +1 -1
  280. package/build/server/chunks/{_server.ts-CcQbKaET.js → _server.ts-BbzbsVfr.js} +4 -4
  281. package/build/server/chunks/{_server.ts-CcQbKaET.js.map → _server.ts-BbzbsVfr.js.map} +1 -1
  282. package/build/server/chunks/{_server.ts-BLHjzdRp.js → _server.ts-BdKZ7aOG.js} +4 -4
  283. package/build/server/chunks/{_server.ts-BLHjzdRp.js.map → _server.ts-BdKZ7aOG.js.map} +1 -1
  284. package/build/server/chunks/{_server.ts-BpkR7TzP.js → _server.ts-BgsmlYb6.js} +3 -3
  285. package/build/server/chunks/{_server.ts-BpkR7TzP.js.map → _server.ts-BgsmlYb6.js.map} +1 -1
  286. package/build/server/chunks/{_server.ts-BUc1sqlR.js → _server.ts-BnN8EQwQ.js} +4 -4
  287. package/build/server/chunks/{_server.ts-BUc1sqlR.js.map → _server.ts-BnN8EQwQ.js.map} +1 -1
  288. package/build/server/chunks/{_server.ts-pDmNGXOa.js → _server.ts-ByhZiyPJ.js} +4 -4
  289. package/build/server/chunks/{_server.ts-pDmNGXOa.js.map → _server.ts-ByhZiyPJ.js.map} +1 -1
  290. package/build/server/chunks/{_server.ts-D1AD48e8.js → _server.ts-C2YLv0RS.js} +4 -4
  291. package/build/server/chunks/{_server.ts-D1AD48e8.js.map → _server.ts-C2YLv0RS.js.map} +1 -1
  292. package/build/server/chunks/{_server.ts-Ch_RLYHQ.js → _server.ts-C3Cn_AWJ.js} +4 -4
  293. package/build/server/chunks/{_server.ts-Ch_RLYHQ.js.map → _server.ts-C3Cn_AWJ.js.map} +1 -1
  294. package/build/server/chunks/{_server.ts-Z87uowZI.js → _server.ts-C9ggXEGb.js} +4 -4
  295. package/build/server/chunks/{_server.ts-Z87uowZI.js.map → _server.ts-C9ggXEGb.js.map} +1 -1
  296. package/build/server/chunks/{_server.ts-B0wiCYbB.js → _server.ts-CKHs57oZ.js} +2 -2
  297. package/build/server/chunks/{_server.ts-B0wiCYbB.js.map → _server.ts-CKHs57oZ.js.map} +1 -1
  298. package/build/server/chunks/{_server.ts-C4WRZSco.js → _server.ts-CM4aZGc-.js} +3 -3
  299. package/build/server/chunks/{_server.ts-C4WRZSco.js.map → _server.ts-CM4aZGc-.js.map} +1 -1
  300. package/build/server/chunks/{_server.ts-la-ySldK.js → _server.ts-CN851WSH.js} +4 -4
  301. package/build/server/chunks/{_server.ts-la-ySldK.js.map → _server.ts-CN851WSH.js.map} +1 -1
  302. package/build/server/chunks/{_server.ts-Dmo73WWA.js → _server.ts-CNPmzTy6.js} +4 -4
  303. package/build/server/chunks/{_server.ts-Dmo73WWA.js.map → _server.ts-CNPmzTy6.js.map} +1 -1
  304. package/build/server/chunks/{_server.ts-C0F30GT4.js → _server.ts-CZW4ge6f.js} +4 -4
  305. package/build/server/chunks/{_server.ts-C0F30GT4.js.map → _server.ts-CZW4ge6f.js.map} +1 -1
  306. package/build/server/chunks/{_server.ts-DxKERFAd.js → _server.ts-CaERLUlr.js} +3 -3
  307. package/build/server/chunks/{_server.ts-DxKERFAd.js.map → _server.ts-CaERLUlr.js.map} +1 -1
  308. package/build/server/chunks/{_server.ts-CmGWhrdf.js → _server.ts-Cb4DODkC.js} +5 -5
  309. package/build/server/chunks/{_server.ts-CmGWhrdf.js.map → _server.ts-Cb4DODkC.js.map} +1 -1
  310. package/build/server/chunks/{_server.ts-DNPb5zS6.js → _server.ts-CbQpXSqd.js} +4 -4
  311. package/build/server/chunks/{_server.ts-DNPb5zS6.js.map → _server.ts-CbQpXSqd.js.map} +1 -1
  312. package/build/server/chunks/{_server.ts-Bb3Kpo0Y.js → _server.ts-Ch4yLIuo.js} +3 -3
  313. package/build/server/chunks/{_server.ts-Bb3Kpo0Y.js.map → _server.ts-Ch4yLIuo.js.map} +1 -1
  314. package/build/server/chunks/{_server.ts-B_MVq_5r.js → _server.ts-Cjz2LZbt.js} +4 -4
  315. package/build/server/chunks/{_server.ts-B_MVq_5r.js.map → _server.ts-Cjz2LZbt.js.map} +1 -1
  316. package/build/server/chunks/{_server.ts-BJWFkEuu.js → _server.ts-CyhcRpfW.js} +5 -5
  317. package/build/server/chunks/{_server.ts-BJWFkEuu.js.map → _server.ts-CyhcRpfW.js.map} +1 -1
  318. package/build/server/chunks/{_server.ts-BemU6FO1.js → _server.ts-CzJ60KtY.js} +5 -5
  319. package/build/server/chunks/{_server.ts-BemU6FO1.js.map → _server.ts-CzJ60KtY.js.map} +1 -1
  320. package/build/server/chunks/{_server.ts-BpAINcOs.js → _server.ts-D71yVIcY.js} +5 -15
  321. package/build/server/chunks/_server.ts-D71yVIcY.js.map +1 -0
  322. package/build/server/chunks/{_server.ts-CkXnisqg.js → _server.ts-DWL7YPsQ.js} +5 -5
  323. package/build/server/chunks/{_server.ts-CkXnisqg.js.map → _server.ts-DWL7YPsQ.js.map} +1 -1
  324. package/build/server/chunks/{_server.ts-BkKg2yyC.js → _server.ts-DnpbPKKN.js} +4 -4
  325. package/build/server/chunks/{_server.ts-BkKg2yyC.js.map → _server.ts-DnpbPKKN.js.map} +1 -1
  326. package/build/server/chunks/{_server.ts-gic0t4mu.js → _server.ts-Dnqx5-qU.js} +6 -6
  327. package/build/server/chunks/{_server.ts-gic0t4mu.js.map → _server.ts-Dnqx5-qU.js.map} +1 -1
  328. package/build/server/chunks/{_server.ts-CaHe7mo6.js → _server.ts-DrYz0SSH.js} +4 -4
  329. package/build/server/chunks/{_server.ts-CaHe7mo6.js.map → _server.ts-DrYz0SSH.js.map} +1 -1
  330. package/build/server/chunks/{_server.ts-DJUYnHrj.js → _server.ts-DraBBcmz.js} +4 -4
  331. package/build/server/chunks/{_server.ts-DJUYnHrj.js.map → _server.ts-DraBBcmz.js.map} +1 -1
  332. package/build/server/chunks/{_server.ts-MOiQ4br_.js → _server.ts-I3zLnhsz.js} +4 -4
  333. package/build/server/chunks/{_server.ts-MOiQ4br_.js.map → _server.ts-I3zLnhsz.js.map} +1 -1
  334. package/build/server/chunks/{_server.ts-DXPhlUCi.js → _server.ts-gCCprE5T.js} +4 -4
  335. package/build/server/chunks/{_server.ts-DXPhlUCi.js.map → _server.ts-gCCprE5T.js.map} +1 -1
  336. package/build/server/chunks/{_server.ts-BrZXNFlK.js → _server.ts-k0TOB-E9.js} +5 -5
  337. package/build/server/chunks/{_server.ts-BrZXNFlK.js.map → _server.ts-k0TOB-E9.js.map} +1 -1
  338. package/build/server/chunks/{_server.ts-CFIgn6q6.js → _server.ts-qFzkA4h-.js} +8 -8
  339. package/build/server/chunks/{_server.ts-CFIgn6q6.js.map → _server.ts-qFzkA4h-.js.map} +1 -1
  340. package/build/server/chunks/{_server.ts-0ncRaWJ_.js → _server.ts-v9eUA-cx.js} +4 -4
  341. package/build/server/chunks/{_server.ts-0ncRaWJ_.js.map → _server.ts-v9eUA-cx.js.map} +1 -1
  342. package/build/server/chunks/{access.server-GvriCjXN.js → access.server-DVG3xnR_.js} +3 -3
  343. package/build/server/chunks/{access.server-GvriCjXN.js.map → access.server-DVG3xnR_.js.map} +1 -1
  344. package/build/server/chunks/{api-errors-Dk5z97zb.js → api-errors-DGHmIOGJ.js} +2 -2
  345. package/build/server/chunks/{api-errors-Dk5z97zb.js.map → api-errors-DGHmIOGJ.js.map} +1 -1
  346. package/build/server/chunks/{auth-bootstrap.server-CfD5CPTj.js → auth-bootstrap.server-oox9p1sN.js} +10 -3
  347. package/build/server/chunks/auth-bootstrap.server-oox9p1sN.js.map +1 -0
  348. package/build/server/chunks/{bootHealth.server-Bn7taneH.js → bootHealth.server-DQx_qsNh.js} +2 -2
  349. package/build/server/chunks/{bootHealth.server-Bn7taneH.js.map → bootHealth.server-DQx_qsNh.js.map} +1 -1
  350. package/build/server/chunks/{hooks.server-CMWyl1Gd.js → hooks.server-aaRldGQ_.js} +4 -4
  351. package/build/server/chunks/{hooks.server-CMWyl1Gd.js.map → hooks.server-aaRldGQ_.js.map} +1 -1
  352. package/build/server/chunks/{permissions.server-Co6VKW9f.js → permissions.server-qrbshNHz.js} +2 -2
  353. package/build/server/chunks/{permissions.server-Co6VKW9f.js.map → permissions.server-qrbshNHz.js.map} +1 -1
  354. package/build/server/chunks/{providers.server-C32WKtDL.js → providers.server-Duyx-08B.js} +68 -68
  355. package/build/server/chunks/providers.server-Duyx-08B.js.map +1 -0
  356. package/build/server/chunks/{resolve.server-DYsU4jL3.js → resolve.server-BwfjDyaT.js} +3 -3
  357. package/build/server/chunks/{resolve.server-DYsU4jL3.js.map → resolve.server-BwfjDyaT.js.map} +1 -1
  358. package/build/server/chunks/{resolve.server2-Co65XNMI.js → resolve.server2-DjZg4oZg.js} +3 -3
  359. package/build/server/chunks/{resolve.server2-Co65XNMI.js.map → resolve.server2-DjZg4oZg.js.map} +1 -1
  360. package/build/server/chunks/{token.server-B8XVPI0F.js → token.server-CBtuQZt0.js} +2 -2
  361. package/build/server/chunks/token.server-CBtuQZt0.js.map +1 -0
  362. package/build/server/chunks/{utils2-Sy-_rI-0.js → utils2-QuTTpZq0.js} +2 -2
  363. package/build/server/chunks/{utils2-Sy-_rI-0.js.map → utils2-QuTTpZq0.js.map} +1 -1
  364. package/build/server/index.js +2 -2
  365. package/build/server/index.js.map +1 -1
  366. package/build/server/manifest.js +70 -70
  367. package/build/server/manifest.js.map +1 -1
  368. package/package.json +7 -8
  369. package/templates/.env.example +3 -2
  370. package/templates/ecosystem.config.cjs +7 -5
  371. package/build/client/_app/immutable/assets/20.DvtWUFNX.css +0 -1
  372. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.br +0 -0
  373. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.gz +0 -0
  374. package/build/client/_app/immutable/chunks/4PBDTLFF.js +0 -3
  375. package/build/client/_app/immutable/chunks/4PBDTLFF.js.br +0 -0
  376. package/build/client/_app/immutable/chunks/4PBDTLFF.js.gz +0 -0
  377. package/build/client/_app/immutable/chunks/BMwGnr2J.js.br +0 -0
  378. package/build/client/_app/immutable/chunks/BMwGnr2J.js.gz +0 -0
  379. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.br +0 -0
  380. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.gz +0 -0
  381. package/build/client/_app/immutable/chunks/CS49LPny.js.br +0 -0
  382. package/build/client/_app/immutable/chunks/CS49LPny.js.gz +0 -0
  383. package/build/client/_app/immutable/chunks/VmqnFAi3.js.br +0 -0
  384. package/build/client/_app/immutable/chunks/VmqnFAi3.js.gz +0 -0
  385. package/build/client/_app/immutable/chunks/smW5maEe.js.br +0 -0
  386. package/build/client/_app/immutable/chunks/smW5maEe.js.gz +0 -0
  387. package/build/client/_app/immutable/entry/app.GElcRZPp.js.br +0 -0
  388. package/build/client/_app/immutable/entry/app.GElcRZPp.js.gz +0 -0
  389. package/build/client/_app/immutable/entry/start.D-b3nSOP.js +0 -1
  390. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.br +0 -0
  391. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.gz +0 -0
  392. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.br +0 -0
  393. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.gz +0 -0
  394. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.br +0 -0
  395. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.gz +0 -0
  396. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js +0 -3
  397. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.br +0 -0
  398. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.gz +0 -0
  399. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.br +0 -0
  400. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.gz +0 -0
  401. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.br +0 -0
  402. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.gz +0 -0
  403. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.br +0 -0
  404. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.gz +0 -0
  405. package/build/client/_app/immutable/nodes/15.94-Zje0s.js +0 -13
  406. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.br +0 -0
  407. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.gz +0 -0
  408. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/17.Bch7V784.js.br +0 -0
  411. package/build/client/_app/immutable/nodes/17.Bch7V784.js.gz +0 -0
  412. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.br +0 -0
  413. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.gz +0 -0
  414. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.br +0 -0
  415. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.gz +0 -0
  416. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.br +0 -0
  417. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.gz +0 -0
  418. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.br +0 -0
  419. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.gz +0 -0
  420. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.br +0 -0
  421. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.gz +0 -0
  422. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.br +0 -0
  423. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.gz +0 -0
  424. package/build/client/_app/immutable/nodes/27.BS48zWld.js.br +0 -0
  425. package/build/client/_app/immutable/nodes/27.BS48zWld.js.gz +0 -0
  426. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.br +0 -0
  427. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.gz +0 -0
  428. package/build/client/_app/immutable/nodes/29.-im11HaY.js.br +0 -0
  429. package/build/client/_app/immutable/nodes/29.-im11HaY.js.gz +0 -0
  430. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.br +0 -0
  431. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.gz +0 -0
  432. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.br +0 -0
  433. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.gz +0 -0
  434. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.br +0 -0
  435. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.gz +0 -0
  436. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.br +0 -0
  437. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.gz +0 -0
  438. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.br +0 -0
  439. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.gz +0 -0
  440. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.br +0 -0
  441. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.gz +0 -0
  442. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.br +0 -0
  443. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.gz +0 -0
  444. package/build/server/chunks/_page.svelte-5X2iRv32.js.map +0 -1
  445. package/build/server/chunks/_page.svelte-CX9DKxIH.js.map +0 -1
  446. package/build/server/chunks/_page.svelte-D6lEOLLp.js.map +0 -1
  447. package/build/server/chunks/_page.svelte-KapMJV5_.js.map +0 -1
  448. package/build/server/chunks/_server.ts-BpAINcOs.js.map +0 -1
  449. package/build/server/chunks/auth-bootstrap.server-CfD5CPTj.js.map +0 -1
  450. package/build/server/chunks/providers.server-C32WKtDL.js.map +0 -1
  451. package/build/server/chunks/token.server-B8XVPI0F.js.map +0 -1
  452. package/templates/selva.config.example.js +0 -338
@@ -1,6 +1,6 @@
1
1
  import { error, redirect } from '@sveltejs/kit';
2
- import { g as getAuthProvider } from './providers.server-C32WKtDL.js';
3
- import { b as bootstrapUserSession } from './auth-bootstrap.server-CfD5CPTj.js';
2
+ import { g as getAuthProvider } from './providers.server-Duyx-08B.js';
3
+ import { b as bootstrapUserSession } from './auth-bootstrap.server-oox9p1sN.js';
4
4
  import { s as setSessionCookie, a as setRefreshCookie, d as safeRedirectTarget } from './admin-auth.server-CdTfBMI5.js';
5
5
  import './shared-server-DaWdgxVh.js';
6
6
  import 'node:url';
@@ -29,4 +29,4 @@ const GET = async ({ url, cookies }) => {
29
29
  };
30
30
 
31
31
  export { GET };
32
- //# sourceMappingURL=_server.ts-C4WRZSco.js.map
32
+ //# sourceMappingURL=_server.ts-CM4aZGc-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C4WRZSco.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { s as setSessionCookie, a as setRefreshCookie, b as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const code = url.searchParams.get(\"code\");\n if (!code) throw error(400, \"Missing authorization code\");\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n throw error(501, \"OAuth is not supported by the configured auth provider.\");\n }\n const result = await oauth.exchangeOAuthCode(code);\n if (!result) throw error(401, \"OAuth exchange failed\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n 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,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3C,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAC3D,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,KAAK;AACvC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yDAAyD,CAAC;AAC/E,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC;AACxD,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,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-CM4aZGc-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { s as setSessionCookie, a as setRefreshCookie, b as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const code = url.searchParams.get(\"code\");\n if (!code) throw error(400, \"Missing authorization code\");\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n throw error(501, \"OAuth is not supported by the configured auth provider.\");\n }\n const result = await oauth.exchangeOAuthCode(code);\n if (!result) throw error(401, \"OAuth exchange failed\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n 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,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3C,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAC3D,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,KAAK;AACvC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yDAAyD,CAAC;AAC/E,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC;AACxD,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,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,6 +1,6 @@
1
1
  import { error } from '@sveltejs/kit';
2
- import { i as getDefinitionMeta, m as getStorageProvider, s as definitionPaths } from './providers.server-C32WKtDL.js';
3
- import { h as requireCanViewProject } from './access.server-GvriCjXN.js';
2
+ import { i as getDefinitionMeta, m as getStorageProvider, s as definitionPaths } from './providers.server-Duyx-08B.js';
3
+ import { h as requireCanViewProject } from './access.server-DVG3xnR_.js';
4
4
  import { C as COVER_IMAGE_CONTENT_TYPES } from './types-DxzJoaA4.js';
5
5
  import { G as GuidSchema } from './context-9tV9WxQ5.js';
6
6
  import './computeLimits-FIJ-Mzn4.js';
@@ -11,7 +11,7 @@ import 'node:fs';
11
11
  import 'node:crypto';
12
12
  import 'node:fs/promises';
13
13
  import '@supabase/supabase-js';
14
- import './api-errors-Dk5z97zb.js';
14
+ import './api-errors-DGHmIOGJ.js';
15
15
  import 'zod';
16
16
 
17
17
  const GET = async ({ params, locals }) => {
@@ -36,4 +36,4 @@ const GET = async ({ params, locals }) => {
36
36
  };
37
37
 
38
38
  export { GET };
39
- //# sourceMappingURL=_server.ts-la-ySldK.js.map
39
+ //# sourceMappingURL=_server.ts-CN851WSH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-la-ySldK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { k as getDefinitionMeta, i as getStorageProvider, l as definitionPaths } from \"../../../../../../../chunks/providers.server.js\";\nimport { h as requireCanViewProject } from \"../../../../../../../chunks/access.server.js\";\nimport { C as COVER_IMAGE_CONTENT_TYPES } from \"../../../../../../../chunks/types.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nimport \"../../../../../../../chunks/computeLimits.js\";\nconst GET = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid GUID\");\n const guid = guidParsed.data;\n const ctx = locals.ctx;\n const record = await getDefinitionMeta().get(ctx, guid);\n if (!record?.coverImage) throw error(404, \"Image not found\");\n await requireCanViewProject(locals, record.projectId);\n const storedFilename = record.coverImage.split(\"/\").pop() ?? \"cover.webp\";\n const ext = storedFilename.substring(storedFilename.lastIndexOf(\".\")).toLowerCase();\n const contentType = COVER_IMAGE_CONTENT_TYPES[ext] ?? \"image/webp\";\n const bytes = await getStorageProvider().get(definitionPaths.image(guid));\n if (!bytes) throw error(404, \"Image not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": contentType,\n \"Cache-Control\": \"public, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,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,cAAc,CAAC;AAC3D,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI;AAC9B,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACzD,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AAC9D,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY;AAC3E,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;AACrF,EAAE,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,YAAY;AACpE,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3E,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AACjD,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,WAAW;AACjC,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"_server.ts-CN851WSH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { k as getDefinitionMeta, i as getStorageProvider, l as definitionPaths } from \"../../../../../../../chunks/providers.server.js\";\nimport { h as requireCanViewProject } from \"../../../../../../../chunks/access.server.js\";\nimport { C as COVER_IMAGE_CONTENT_TYPES } from \"../../../../../../../chunks/types.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nimport \"../../../../../../../chunks/computeLimits.js\";\nconst GET = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid GUID\");\n const guid = guidParsed.data;\n const ctx = locals.ctx;\n const record = await getDefinitionMeta().get(ctx, guid);\n if (!record?.coverImage) throw error(404, \"Image not found\");\n await requireCanViewProject(locals, record.projectId);\n const storedFilename = record.coverImage.split(\"/\").pop() ?? \"cover.webp\";\n const ext = storedFilename.substring(storedFilename.lastIndexOf(\".\")).toLowerCase();\n const contentType = COVER_IMAGE_CONTENT_TYPES[ext] ?? \"image/webp\";\n const bytes = await getStorageProvider().get(definitionPaths.image(guid));\n if (!bytes) throw error(404, \"Image not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": contentType,\n \"Cache-Control\": \"public, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,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,cAAc,CAAC;AAC3D,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI;AAC9B,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACzD,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AAC9D,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY;AAC3E,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;AACrF,EAAE,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,YAAY;AACpE,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3E,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AACjD,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,WAAW;AACjC,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { i as getDefinitionMeta, M as MAX_PAGE_LIMIT } from './providers.server-C32WKtDL.js';
3
- import { h as handleApiError } from './api-errors-Dk5z97zb.js';
4
- import { h as requireCanViewProject } from './access.server-GvriCjXN.js';
2
+ import { i as getDefinitionMeta, M as MAX_PAGE_LIMIT } from './providers.server-Duyx-08B.js';
3
+ import { h as handleApiError } from './api-errors-DGHmIOGJ.js';
4
+ import { h as requireCanViewProject } from './access.server-DVG3xnR_.js';
5
5
  import { G as GuidSchema } from './context-9tV9WxQ5.js';
6
6
  import './shared-server-DaWdgxVh.js';
7
7
  import 'node:url';
@@ -39,4 +39,4 @@ const GET = async ({ params, locals, url }) => {
39
39
  };
40
40
 
41
41
  export { GET };
42
- //# sourceMappingURL=_server.ts-Dmo73WWA.js.map
42
+ //# sourceMappingURL=_server.ts-CNPmzTy6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dmo73WWA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { k as getDefinitionMeta, M as MAX_PAGE_LIMIT } from \"../../../../../../chunks/providers.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nimport { h as requireCanViewProject } from \"../../../../../../chunks/access.server.js\";\nimport { G as GuidSchema } from \"../../../../../../chunks/context.js\";\nconst GET = async ({ params, locals, url }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n if (!locals.ctx) throw error(401, \"Unauthorized\");\n const rawLimit = Number(url.searchParams.get(\"limit\") ?? 50);\n const limit = Number.isFinite(rawLimit) ? Math.min(Math.max(rawLimit, 1), MAX_PAGE_LIMIT) : 50;\n const cursor = url.searchParams.get(\"cursor\") ?? void 0;\n try {\n const def = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!def) throw error(404, \"Definition not found\");\n await requireCanViewProject(locals, def.projectId);\n const page = await getDefinitionMeta().listVersions(locals.ctx, guidParsed.data, {\n limit,\n cursor\n });\n return json({\n versions: page.items,\n nextCursor: page.nextCursor,\n liveVersionId: def.liveVersionId,\n draftVersionId: def.draftVersionId\n });\n } catch (err) {\n handleApiError(err, \"Failed to list versions\");\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC/C,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,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnD,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9D,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE;AAChG,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM;AACzD,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC;AACtD,IAAI,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;AACtD,IAAI,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE;AACrF,MAAM,KAAK;AACX,MAAM;AACN,KAAK,CAAC;AACN,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,QAAQ,EAAE,IAAI,CAAC,KAAK;AAC1B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,aAAa,EAAE,GAAG,CAAC,aAAa;AACtC,MAAM,cAAc,EAAE,GAAG,CAAC;AAC1B,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC;AAClD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-CNPmzTy6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { k as getDefinitionMeta, M as MAX_PAGE_LIMIT } from \"../../../../../../chunks/providers.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nimport { h as requireCanViewProject } from \"../../../../../../chunks/access.server.js\";\nimport { G as GuidSchema } from \"../../../../../../chunks/context.js\";\nconst GET = async ({ params, locals, url }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n if (!locals.ctx) throw error(401, \"Unauthorized\");\n const rawLimit = Number(url.searchParams.get(\"limit\") ?? 50);\n const limit = Number.isFinite(rawLimit) ? Math.min(Math.max(rawLimit, 1), MAX_PAGE_LIMIT) : 50;\n const cursor = url.searchParams.get(\"cursor\") ?? void 0;\n try {\n const def = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!def) throw error(404, \"Definition not found\");\n await requireCanViewProject(locals, def.projectId);\n const page = await getDefinitionMeta().listVersions(locals.ctx, guidParsed.data, {\n limit,\n cursor\n });\n return json({\n versions: page.items,\n nextCursor: page.nextCursor,\n liveVersionId: def.liveVersionId,\n draftVersionId: def.draftVersionId\n });\n } catch (err) {\n handleApiError(err, \"Failed to list versions\");\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC/C,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,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnD,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9D,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE;AAChG,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM;AACzD,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC;AACtD,IAAI,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;AACtD,IAAI,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE;AACrF,MAAM,KAAK;AACX,MAAM;AACN,KAAK,CAAC;AACN,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,QAAQ,EAAE,IAAI,CAAC,KAAK;AAC1B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,aAAa,EAAE,GAAG,CAAC,aAAa;AACtC,MAAM,cAAc,EAAE,GAAG,CAAC;AAC1B,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC;AAClD,EAAE;AACF;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
- import { h as getProjectProvider } from './providers.server-C32WKtDL.js';
4
- import { o as requireCanManageMembers, p as requireTargetIsOrgMember } from './access.server-GvriCjXN.js';
5
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
3
+ import { h as getProjectProvider } from './providers.server-Duyx-08B.js';
4
+ import { o as requireCanManageMembers, p as requireTargetIsOrgMember } from './access.server-DVG3xnR_.js';
5
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
6
6
  import { i as ProjectRoleSchema } from './context-9tV9WxQ5.js';
7
7
  import './shared-server-DaWdgxVh.js';
8
8
  import 'node:url';
@@ -58,4 +58,4 @@ const POST = async ({ params, request, locals }) => {
58
58
  };
59
59
 
60
60
  export { GET, POST };
61
- //# sourceMappingURL=_server.ts-C0F30GT4.js.map
61
+ //# sourceMappingURL=_server.ts-CZW4ge6f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C0F30GT4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanManageMembers, p as requireTargetIsOrgMember } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as ProjectRoleSchema } from \"../../../../../../chunks/context.js\";\nconst AddMemberSchema = z.object({\n userId: z.string().min(1, \"userId is required\"),\n role: ProjectRoleSchema\n});\nconst GET = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n try {\n const page = await getProjectProvider().listProjectMembers(ctx, id, { limit: 200 });\n return json({ members: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load members\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = AddMemberSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const project = await getProjectProvider().getProject(ctx, id);\n if (!project) throw error(404, \"Project not found\");\n await requireTargetIsOrgMember(locals, project.orgId, parsed.data.userId);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: parsed.data.userId,\n role: parsed.data.role,\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || parsed.data.userId,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json(member, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to add member\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CZW4ge6f.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanManageMembers, p as requireTargetIsOrgMember } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as ProjectRoleSchema } from \"../../../../../../chunks/context.js\";\nconst AddMemberSchema = z.object({\n userId: z.string().min(1, \"userId is required\"),\n role: ProjectRoleSchema\n});\nconst GET = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n try {\n const page = await getProjectProvider().listProjectMembers(ctx, id, { limit: 200 });\n return json({ members: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load members\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = AddMemberSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const project = await getProjectProvider().getProject(ctx, id);\n if (!project) throw error(404, \"Project not found\");\n await requireTargetIsOrgMember(locals, project.orgId, parsed.data.userId);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: parsed.data.userId,\n role: parsed.data.role,\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || parsed.data.userId,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json(member, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to add member\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { json } from '@sveltejs/kit';
2
2
  import { execSync } from 'child_process';
3
- import { g as getBootHealth, i as isDegraded } from './bootHealth.server-Bn7taneH.js';
3
+ import { g as getBootHealth, i as isDegraded } from './bootHealth.server-DQx_qsNh.js';
4
4
  import './context-9tV9WxQ5.js';
5
5
  import 'zod';
6
- import './providers.server-C32WKtDL.js';
6
+ import './providers.server-Duyx-08B.js';
7
7
  import './shared-server-DaWdgxVh.js';
8
8
  import 'node:url';
9
9
  import 'node:path';
@@ -32,4 +32,4 @@ const GET = async () => {
32
32
  };
33
33
 
34
34
  export { GET };
35
- //# sourceMappingURL=_server.ts-DxKERFAd.js.map
35
+ //# sourceMappingURL=_server.ts-CaERLUlr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DxKERFAd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { execSync } from \"child_process\";\nimport { g as getBootHealth, i as isDegraded } from \"../../../../chunks/bootHealth.server.js\";\nconst STARTUP_COMMIT = (() => {\n try {\n return execSync(\"git rev-parse HEAD\", { encoding: \"utf8\" }).trim();\n } catch {\n return null;\n }\n})();\nconst GET = async () => {\n const boot = await getBootHealth();\n const degraded = isDegraded(boot);\n const body = {\n status: degraded ? \"degraded\" : \"ok\",\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n commit: STARTUP_COMMIT,\n boot\n };\n return json(body, { status: degraded ? 503 : 200 });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,MAAM,cAAc,GAAG,CAAC,MAAM;AAC9B,EAAE,IAAI;AACN,IAAI,OAAO,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;AACtE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC,GAAG;AACC,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;AACxC,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACrD;;;;"}
1
+ {"version":3,"file":"_server.ts-CaERLUlr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { execSync } from \"child_process\";\nimport { g as getBootHealth, i as isDegraded } from \"../../../../chunks/bootHealth.server.js\";\nconst STARTUP_COMMIT = (() => {\n try {\n return execSync(\"git rev-parse HEAD\", { encoding: \"utf8\" }).trim();\n } catch {\n return null;\n }\n})();\nconst GET = async () => {\n const boot = await getBootHealth();\n const degraded = isDegraded(boot);\n const body = {\n status: degraded ? \"degraded\" : \"ok\",\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n commit: STARTUP_COMMIT,\n boot\n };\n return json(body, { status: degraded ? 503 : 200 });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,MAAM,cAAc,GAAG,CAAC,MAAM;AAC9B,EAAE,IAAI;AACN,IAAI,OAAO,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;AACtE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC,GAAG;AACC,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;AACxC,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACrD;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { j as getComputeServerConfigStore, o as isOrgServer, q as isPlatformServer, f as flag } from './providers.server-C32WKtDL.js';
3
- import { j as requireManageOrgCompute } from './access.server-GvriCjXN.js';
2
+ import { j as getComputeServerConfigStore, o as isOrgServer, q as isPlatformServer, f as flag } from './providers.server-Duyx-08B.js';
3
+ import { j as requireManageOrgCompute } from './access.server-DVG3xnR_.js';
4
4
  import './context-9tV9WxQ5.js';
5
- import { s as serversVisibleTo } from './utils2-Sy-_rI-0.js';
5
+ import { s as serversVisibleTo } from './utils2-QuTTpZq0.js';
6
6
  import './shared-server-DaWdgxVh.js';
7
7
  import 'node:url';
8
8
  import 'node:path';
@@ -10,7 +10,7 @@ import 'node:fs';
10
10
  import 'node:crypto';
11
11
  import 'node:fs/promises';
12
12
  import '@supabase/supabase-js';
13
- import './api-errors-Dk5z97zb.js';
13
+ import './api-errors-DGHmIOGJ.js';
14
14
  import 'zod';
15
15
 
16
16
  function requireFlag() {
@@ -107,4 +107,4 @@ const PUT = async ({ request, locals }) => {
107
107
  };
108
108
 
109
109
  export { GET, PUT };
110
- //# sourceMappingURL=_server.ts-CmGWhrdf.js.map
110
+ //# sourceMappingURL=_server.ts-Cb4DODkC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CmGWhrdf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/org/compute/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { g as getComputeServerConfigStore, q as isOrgServer, o as isPlatformServer, m as flag } from \"../../../../../chunks/providers.server.js\";\nimport { j as requireManageOrgCompute } from \"../../../../../chunks/access.server.js\";\nimport \"../../../../../chunks/context.js\";\nimport { s as serversVisibleTo } from \"../../../../../chunks/utils2.js\";\nfunction requireFlag() {\n if (!flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\")) {\n throw error(\n 403,\n \"Per-org compute override is disabled on this instance (ALLOW_ORG_COMPUTE_OVERRIDE).\"\n );\n }\n}\nconst GET = async ({ locals }) => {\n requireFlag();\n requireManageOrgCompute(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const config = await getComputeServerConfigStore().getConfig(ctx);\n const orgId = ctx.actingOrgId;\n const owned = config.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => {\n const orgServer = s;\n const { apiKey, ...rest } = orgServer;\n return { ...rest, hasApiKey: !!apiKey };\n });\n const visible = serversVisibleTo(config, orgId);\n const catalog = visible.map((s) => ({\n id: s.id,\n label: s.label,\n serverUrl: s.serverUrl,\n scope: s.scope,\n source: isPlatformServer(s) ? \"platform\" : \"org\",\n timeoutMs: s.timeoutMs,\n retryCount: s.retryCount\n }));\n return json({\n servers: owned,\n defaultServerId: config.orgDefaults?.[orgId] ?? null,\n globalDefaultServerId: config.defaultServerId ?? null,\n catalog\n });\n};\nconst PUT = async ({ request, locals }) => {\n requireFlag();\n requireManageOrgCompute(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const orgId = ctx.actingOrgId;\n const body = await request.json().catch(() => null);\n if (!body || typeof body !== \"object\") throw error(400, \"Invalid request body\");\n const incoming = body;\n if (!Array.isArray(incoming.servers)) throw error(400, \"servers must be an array\");\n for (const s of incoming.servers) {\n if (!s.id || typeof s.id !== \"string\") throw error(400, \"Each server needs an id\");\n if (!s.label || typeof s.label !== \"string\") throw error(400, \"Each server needs a label\");\n if (!s.serverUrl || typeof s.serverUrl !== \"string\")\n throw error(400, \"Each server needs a serverUrl\");\n try {\n new URL(s.serverUrl);\n } catch {\n throw error(400, `Invalid serverUrl: ${s.serverUrl}`);\n }\n if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== \"string\")\n throw error(400, \"apiKey must be a string, null, or omitted\");\n }\n const provider = getComputeServerConfigStore();\n const existing = await provider.getConfig(ctx);\n const storedKeyById = new Map(\n existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => [s.id, s.apiKey])\n );\n const next = incoming.servers.map((s) => ({\n id: s.id,\n scope: \"org\",\n ownerOrgId: orgId,\n label: s.label,\n serverUrl: s.serverUrl,\n timeoutMs: s.timeoutMs,\n retryCount: s.retryCount,\n apiKey: s.apiKey === null ? void 0 : s.apiKey ? s.apiKey : storedKeyById.get(s.id)\n }));\n if (typeof incoming.defaultServerId === \"string\") {\n const projected = {\n servers: [\n ...existing.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)),\n ...next\n ],\n defaultServerId: existing.defaultServerId,\n orgDefaults: existing.orgDefaults\n };\n const visibleIds = new Set(serversVisibleTo(projected, orgId).map((s) => s.id));\n if (!visibleIds.has(incoming.defaultServerId)) {\n throw error(400, \"defaultServerId must reference a server visible to this organization\");\n }\n }\n await provider.saveOrgServers(ctx, orgId, next, incoming.defaultServerId);\n return new Response(null, { status: 204 });\n};\nexport {\n GET,\n PUT\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Cb4DODkC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/org/compute/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { g as getComputeServerConfigStore, q as isOrgServer, o as isPlatformServer, m as flag } from \"../../../../../chunks/providers.server.js\";\nimport { j as requireManageOrgCompute } from \"../../../../../chunks/access.server.js\";\nimport \"../../../../../chunks/context.js\";\nimport { s as serversVisibleTo } from \"../../../../../chunks/utils2.js\";\nfunction requireFlag() {\n if (!flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\")) {\n throw error(\n 403,\n \"Per-org compute override is disabled on this instance (ALLOW_ORG_COMPUTE_OVERRIDE).\"\n );\n }\n}\nconst GET = async ({ locals }) => {\n requireFlag();\n requireManageOrgCompute(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const config = await getComputeServerConfigStore().getConfig(ctx);\n const orgId = ctx.actingOrgId;\n const owned = config.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => {\n const orgServer = s;\n const { apiKey, ...rest } = orgServer;\n return { ...rest, hasApiKey: !!apiKey };\n });\n const visible = serversVisibleTo(config, orgId);\n const catalog = visible.map((s) => ({\n id: s.id,\n label: s.label,\n serverUrl: s.serverUrl,\n scope: s.scope,\n source: isPlatformServer(s) ? \"platform\" : \"org\",\n timeoutMs: s.timeoutMs,\n retryCount: s.retryCount\n }));\n return json({\n servers: owned,\n defaultServerId: config.orgDefaults?.[orgId] ?? null,\n globalDefaultServerId: config.defaultServerId ?? null,\n catalog\n });\n};\nconst PUT = async ({ request, locals }) => {\n requireFlag();\n requireManageOrgCompute(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const orgId = ctx.actingOrgId;\n const body = await request.json().catch(() => null);\n if (!body || typeof body !== \"object\") throw error(400, \"Invalid request body\");\n const incoming = body;\n if (!Array.isArray(incoming.servers)) throw error(400, \"servers must be an array\");\n for (const s of incoming.servers) {\n if (!s.id || typeof s.id !== \"string\") throw error(400, \"Each server needs an id\");\n if (!s.label || typeof s.label !== \"string\") throw error(400, \"Each server needs a label\");\n if (!s.serverUrl || typeof s.serverUrl !== \"string\")\n throw error(400, \"Each server needs a serverUrl\");\n try {\n new URL(s.serverUrl);\n } catch {\n throw error(400, `Invalid serverUrl: ${s.serverUrl}`);\n }\n if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== \"string\")\n throw error(400, \"apiKey must be a string, null, or omitted\");\n }\n const provider = getComputeServerConfigStore();\n const existing = await provider.getConfig(ctx);\n const storedKeyById = new Map(\n existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => [s.id, s.apiKey])\n );\n const next = incoming.servers.map((s) => ({\n id: s.id,\n scope: \"org\",\n ownerOrgId: orgId,\n label: s.label,\n serverUrl: s.serverUrl,\n timeoutMs: s.timeoutMs,\n retryCount: s.retryCount,\n apiKey: s.apiKey === null ? void 0 : s.apiKey ? s.apiKey : storedKeyById.get(s.id)\n }));\n if (typeof incoming.defaultServerId === \"string\") {\n const projected = {\n servers: [\n ...existing.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)),\n ...next\n ],\n defaultServerId: existing.defaultServerId,\n orgDefaults: existing.orgDefaults\n };\n const visibleIds = new Set(serversVisibleTo(projected, orgId).map((s) => s.id));\n if (!visibleIds.has(incoming.defaultServerId)) {\n throw error(400, \"defaultServerId must reference a server visible to this organization\");\n }\n }\n await provider.saveOrgServers(ctx, orgId, next, incoming.defaultServerId);\n return new Response(null, { status: 204 });\n};\nexport {\n GET,\n PUT\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { r as definitionService } from './providers.server-C32WKtDL.js';
3
- import { g as requireEditableDefinition } from './access.server-GvriCjXN.js';
4
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
2
+ import { r as definitionService } from './providers.server-Duyx-08B.js';
3
+ import { g as requireEditableDefinition } from './access.server-DVG3xnR_.js';
4
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
5
5
  import { G as GH_EXTENSIONS } from './types-DxzJoaA4.js';
6
6
  import { G as GuidSchema, c as UpdateMetadataInputSchema } from './context-9tV9WxQ5.js';
7
7
  import { d as MAX_GH_FILE_SIZE } from './computeLimits-FIJ-Mzn4.js';
@@ -73,4 +73,4 @@ const PUT = async ({ params, request, locals }) => {
73
73
  };
74
74
 
75
75
  export { DELETE, POST, PUT };
76
- //# sourceMappingURL=_server.ts-DNPb5zS6.js.map
76
+ //# sourceMappingURL=_server.ts-CbQpXSqd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DNPb5zS6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { j as definitionService } from \"../../../../../chunks/providers.server.js\";\nimport { g as requireEditableDefinition } from \"../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../../chunks/types.js\";\nimport { G as GuidSchema, b as UpdateMetadataInputSchema } from \"../../../../../chunks/context.js\";\nimport { d as MAX_GH_FILE_SIZE } from \"../../../../../chunks/computeLimits.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 formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File)) throw error(400, \"A Grasshopper (.gh or .ghx) file is required\");\n const changeNoteRaw = formData.get(\"changeNote\");\n const changeNote = typeof changeNoteRaw === \"string\" ? changeNoteRaw.slice(0, 1e3) : void 0;\n const ext = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n if (!GH_EXTENSIONS.includes(ext)) {\n throw error(400, `File type not allowed. Allowed: ${GH_EXTENSIONS.join(\", \")}`);\n }\n if (file.size > MAX_GH_FILE_SIZE) {\n throw error(400, `File too large. Max size: ${MAX_GH_FILE_SIZE / (1024 * 1024)} MB`);\n }\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const fileExt = ext.slice(1);\n try {\n const data = new Uint8Array(await file.arrayBuffer());\n const version = await definitionService.uploadVersion(\n ctx,\n guidParsed.data,\n data,\n fileExt,\n file.name,\n changeNote\n );\n return json({ success: true, version });\n } catch (err) {\n handleApiError(err, \"Failed to upload definition version\");\n }\n};\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 { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await definitionService.delete(ctx, guidParsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete definition\");\n }\n};\nconst PUT = async ({ params, request, locals }) => {\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(() => null);\n const parsed = UpdateMetadataInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await definitionService.updateMeta(ctx, guidParsed.data, parsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to update definition\");\n }\n};\nexport {\n DELETE,\n POST,\n PUT\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CbQpXSqd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { j as definitionService } from \"../../../../../chunks/providers.server.js\";\nimport { g as requireEditableDefinition } from \"../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../../chunks/types.js\";\nimport { G as GuidSchema, b as UpdateMetadataInputSchema } from \"../../../../../chunks/context.js\";\nimport { d as MAX_GH_FILE_SIZE } from \"../../../../../chunks/computeLimits.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 formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File)) throw error(400, \"A Grasshopper (.gh or .ghx) file is required\");\n const changeNoteRaw = formData.get(\"changeNote\");\n const changeNote = typeof changeNoteRaw === \"string\" ? changeNoteRaw.slice(0, 1e3) : void 0;\n const ext = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n if (!GH_EXTENSIONS.includes(ext)) {\n throw error(400, `File type not allowed. Allowed: ${GH_EXTENSIONS.join(\", \")}`);\n }\n if (file.size > MAX_GH_FILE_SIZE) {\n throw error(400, `File too large. Max size: ${MAX_GH_FILE_SIZE / (1024 * 1024)} MB`);\n }\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const fileExt = ext.slice(1);\n try {\n const data = new Uint8Array(await file.arrayBuffer());\n const version = await definitionService.uploadVersion(\n ctx,\n guidParsed.data,\n data,\n fileExt,\n file.name,\n changeNote\n );\n return json({ success: true, version });\n } catch (err) {\n handleApiError(err, \"Failed to upload definition version\");\n }\n};\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 { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await definitionService.delete(ctx, guidParsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete definition\");\n }\n};\nconst PUT = async ({ params, request, locals }) => {\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(() => null);\n const parsed = UpdateMetadataInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await definitionService.updateMeta(ctx, guidParsed.data, parsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to update definition\");\n }\n};\nexport {\n DELETE,\n POST,\n PUT\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { e as getUserProfileStore } from './providers.server-C32WKtDL.js';
3
- import { h as handleApiError } from './api-errors-Dk5z97zb.js';
2
+ import { e as getUserProfileStore } from './providers.server-Duyx-08B.js';
3
+ import { h as handleApiError } from './api-errors-DGHmIOGJ.js';
4
4
  import './shared-server-DaWdgxVh.js';
5
5
  import 'node:url';
6
6
  import 'node:path';
@@ -35,4 +35,4 @@ const DELETE = async ({ params, locals }) => {
35
35
  };
36
36
 
37
37
  export { DELETE, POST };
38
- //# sourceMappingURL=_server.ts-Bb3Kpo0Y.js.map
38
+ //# sourceMappingURL=_server.ts-Ch4yLIuo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bb3Kpo0Y.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/me/starred/_guid_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { d as getUserProfileStore } from \"../../../../../../chunks/providers.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n if (!locals.user || !locals.ctx) throw error(401, \"Unauthorized\");\n const guid = params.guid;\n if (!guid) throw error(400, \"Missing definition guid\");\n try {\n await getUserProfileStore().starDefinition(locals.ctx, locals.user.id, guid);\n return json({ starred: true });\n } catch (err) {\n handleApiError(err, \"Failed to star definition\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n if (!locals.user || !locals.ctx) throw error(401, \"Unauthorized\");\n const guid = params.guid;\n if (!guid) throw error(400, \"Missing definition guid\");\n try {\n await getUserProfileStore().unstarDefinition(locals.ctx, locals.user.id, guid);\n return json({ starred: false });\n } catch (err) {\n handleApiError(err, \"Failed to unstar definition\");\n }\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACxD,EAAE,IAAI;AACN,IAAI,MAAM,mBAAmB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AAChF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACxD,EAAE,IAAI;AACN,IAAI,MAAM,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AAClF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,6BAA6B,CAAC;AACtD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-Ch4yLIuo.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/me/starred/_guid_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { d as getUserProfileStore } from \"../../../../../../chunks/providers.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n if (!locals.user || !locals.ctx) throw error(401, \"Unauthorized\");\n const guid = params.guid;\n if (!guid) throw error(400, \"Missing definition guid\");\n try {\n await getUserProfileStore().starDefinition(locals.ctx, locals.user.id, guid);\n return json({ starred: true });\n } catch (err) {\n handleApiError(err, \"Failed to star definition\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n if (!locals.user || !locals.ctx) throw error(401, \"Unauthorized\");\n const guid = params.guid;\n if (!guid) throw error(400, \"Missing definition guid\");\n try {\n await getUserProfileStore().unstarDefinition(locals.ctx, locals.user.id, guid);\n return json({ starred: false });\n } catch (err) {\n handleApiError(err, \"Failed to unstar definition\");\n }\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACxD,EAAE,IAAI;AACN,IAAI,MAAM,mBAAmB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AAChF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACxD,EAAE,IAAI;AACN,IAAI,MAAM,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AAClF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,6BAA6B,CAAC;AACtD,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 { k as getPlatformProjectGrantStore, c as getOrganizationProvider, e as getUserProfileStore, h as getProjectProvider } from './providers.server-C32WKtDL.js';
5
- import { a as requireInstanceAdmin } from './access.server-GvriCjXN.js';
6
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
4
+ import { k as getPlatformProjectGrantStore, c as getOrganizationProvider, e as getUserProfileStore, h as getProjectProvider } from './providers.server-Duyx-08B.js';
5
+ import { a as requireInstanceAdmin } from './access.server-DVG3xnR_.js';
6
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
7
7
  import { S as SYSTEM_CONTEXT } from './context-9tV9WxQ5.js';
8
8
  import './shared-server-DaWdgxVh.js';
9
9
  import 'node:url';
@@ -69,4 +69,4 @@ const POST = async ({ params, request, locals }) => {
69
69
  };
70
70
 
71
71
  export { GET, POST };
72
- //# sourceMappingURL=_server.ts-B_MVq_5r.js.map
72
+ //# sourceMappingURL=_server.ts-Cjz2LZbt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B_MVq_5r.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 { c as getPlatformProjectGrantStore, a as getOrganizationProvider, d as getUserProfileStore, b as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { a 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 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":";;;;;;;;;;;;;;AAOA,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACtC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO;AACrB,CAAC,CAAC;AACF,eAAe,qBAAqB,CAAC,EAAE,EAAE;AACzC,EAAE,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;AAC3E,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE;AACrD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,IAAI;AACN,IAAI,MAAM,qBAAqB,CAAC,EAAE,CAAC;AACnC,IAAI,MAAM,MAAM,GAAG,MAAM,4BAA4B,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;AACzF,IAAI,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;AAC3B,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,uBAAuB,CAAC;AAChD,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpD,EAAE,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,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,qBAAqB,CAAC,EAAE,CAAC;AACnC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC3C,MAAM,MAAM,GAAG,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/F,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACrF,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACnG,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACjF,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG;AAClB,MAAM,EAAE,EAAE,UAAU,EAAE;AACtB,MAAM,SAAS,EAAE,EAAE;AACnB,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;AAC1C,MAAM,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;AACtC,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;AACpC,MAAM,SAAS,EAAE,IAAI,CAAC,EAAE;AACxB,MAAM,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW;AACzD,KAAK;AACL,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC;AACtE,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACvC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-Cjz2LZbt.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 { c as getPlatformProjectGrantStore, a as getOrganizationProvider, d as getUserProfileStore, b as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { a 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 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,11 +1,11 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
- import { l as getPermissionStore, g as getAuthProvider, n as getDataProvider, c as getOrganizationProvider } from './providers.server-C32WKtDL.js';
4
- import { c as requireManageInstanceUsers } from './access.server-GvriCjXN.js';
5
- import { t as throwZodError } from './api-errors-Dk5z97zb.js';
3
+ import { l as getPermissionStore, g as getAuthProvider, n as getDataProvider, c as getOrganizationProvider } from './providers.server-Duyx-08B.js';
4
+ import { c as requireManageInstanceUsers } from './access.server-DVG3xnR_.js';
5
+ import { t as throwZodError } from './api-errors-DGHmIOGJ.js';
6
6
  import { S as SYSTEM_CONTEXT, h as hasPermission, D as DEFAULT_ORG_PERMISSIONS, M as MEMBER_ASSIGNABLE_PERMISSIONS, P as PlatformPermissionSchema, O as OrgPermissionSchema } from './context-9tV9WxQ5.js';
7
7
  import { s as splitFlatPermissions } from './permissions-compat.server-DSV7bClF.js';
8
- import { s as setUserPlatformPermissions } from './permissions.server-Co6VKW9f.js';
8
+ import { s as setUserPlatformPermissions } from './permissions.server-qrbshNHz.js';
9
9
  import './shared-server-DaWdgxVh.js';
10
10
  import 'node:url';
11
11
  import 'node:path';
@@ -91,4 +91,4 @@ const DELETE = async ({ params, locals }) => {
91
91
  };
92
92
 
93
93
  export { DELETE, PATCH };
94
- //# sourceMappingURL=_server.ts-BJWFkEuu.js.map
94
+ //# sourceMappingURL=_server.ts-CyhcRpfW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BJWFkEuu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { f as getPermissionStore, e as getAuthProvider, h as getDataProvider, a as getOrganizationProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../../chunks/access.server.js\";\nimport { t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, S as SYSTEM_CONTEXT, h as hasPermission, D as DEFAULT_ORG_PERMISSIONS, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../chunks/context.js\";\nimport { s as splitFlatPermissions } from \"../../../../../../chunks/permissions-compat.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../../chunks/permissions.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst UpdatePermissionsBody = z.object({\n permissions: z.array(FlatPermissionSchema)\n});\nconst PATCH = async ({ params, request, locals }) => {\n requireManageInstanceUsers(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing user ID\");\n const body = await request.json().catch(() => null);\n const parsed = UpdatePermissionsBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { platform, org } = splitFlatPermissions(parsed.data.permissions);\n const existingPlatform = await getPermissionStore().getFor(locals.ctx, id);\n const platformChanged = platform.length !== existingPlatform.length || platform.some((p) => !existingPlatform.includes(p)) || existingPlatform.some((p) => !platform.includes(p));\n if (platformChanged && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can change platform-scope permissions\");\n }\n const platformResult = await setUserPlatformPermissions(locals.ctx, id, platform);\n if (platformResult === \"not_found\") throw error(404, \"User not found\");\n if (platformResult === \"not_supported\")\n throw error(501, \"Platform permission updates not supported by this auth provider\");\n if (platformResult === \"last_admin\")\n throw error(\n 409,\n \"Cannot remove the last instance admin. Promote another user to instance admin first.\"\n );\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const orgs = getOrganizationProvider();\n const existing = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, id);\n const resolvedPermissions = (role) => role === \"member\" ? org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[role]];\n if (existing) {\n await orgs.updateOrgMemberPermissions(\n SYSTEM_CONTEXT,\n orgId,\n id,\n resolvedPermissions(existing.role)\n );\n } else {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await orgs.addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: id,\n role: \"member\",\n permissions: resolvedPermissions(\"member\"),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? id,\n deletedAt: null\n });\n }\n }\n return json({ success: true });\n};\nconst DELETE = async ({ params, locals }) => {\n requireManageInstanceUsers(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing user ID\");\n const targetPerms = await getPermissionStore().getFor(locals.ctx, id);\n if (targetPerms.includes(\"instance_admin\")) {\n const others = await getPermissionStore().countInstanceAdminsExcluding(locals.ctx, id);\n if (others === 0) {\n throw error(\n 409,\n \"Cannot delete the last instance admin. Promote another user to instance admin first.\"\n );\n }\n }\n const result = await getAuthProvider().deleteUser(id);\n if (result === \"not_found\") throw error(404, \"User not found\");\n if (result === \"not_supported\")\n throw error(501, \"User deletion not supported by this auth provider\");\n await getDataProvider().onUserDeleted(SYSTEM_CONTEXT, id);\n return json({ success: true });\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CyhcRpfW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { f as getPermissionStore, e as getAuthProvider, h as getDataProvider, a as getOrganizationProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../../chunks/access.server.js\";\nimport { t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, S as SYSTEM_CONTEXT, h as hasPermission, D as DEFAULT_ORG_PERMISSIONS, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../chunks/context.js\";\nimport { s as splitFlatPermissions } from \"../../../../../../chunks/permissions-compat.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../../chunks/permissions.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst UpdatePermissionsBody = z.object({\n permissions: z.array(FlatPermissionSchema)\n});\nconst PATCH = async ({ params, request, locals }) => {\n requireManageInstanceUsers(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing user ID\");\n const body = await request.json().catch(() => null);\n const parsed = UpdatePermissionsBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { platform, org } = splitFlatPermissions(parsed.data.permissions);\n const existingPlatform = await getPermissionStore().getFor(locals.ctx, id);\n const platformChanged = platform.length !== existingPlatform.length || platform.some((p) => !existingPlatform.includes(p)) || existingPlatform.some((p) => !platform.includes(p));\n if (platformChanged && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can change platform-scope permissions\");\n }\n const platformResult = await setUserPlatformPermissions(locals.ctx, id, platform);\n if (platformResult === \"not_found\") throw error(404, \"User not found\");\n if (platformResult === \"not_supported\")\n throw error(501, \"Platform permission updates not supported by this auth provider\");\n if (platformResult === \"last_admin\")\n throw error(\n 409,\n \"Cannot remove the last instance admin. Promote another user to instance admin first.\"\n );\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const orgs = getOrganizationProvider();\n const existing = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, id);\n const resolvedPermissions = (role) => role === \"member\" ? org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[role]];\n if (existing) {\n await orgs.updateOrgMemberPermissions(\n SYSTEM_CONTEXT,\n orgId,\n id,\n resolvedPermissions(existing.role)\n );\n } else {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await orgs.addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: id,\n role: \"member\",\n permissions: resolvedPermissions(\"member\"),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? id,\n deletedAt: null\n });\n }\n }\n return json({ success: true });\n};\nconst DELETE = async ({ params, locals }) => {\n requireManageInstanceUsers(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing user ID\");\n const targetPerms = await getPermissionStore().getFor(locals.ctx, id);\n if (targetPerms.includes(\"instance_admin\")) {\n const others = await getPermissionStore().countInstanceAdminsExcluding(locals.ctx, id);\n if (others === 0) {\n throw error(\n 409,\n \"Cannot delete the last instance admin. Promote another user to instance admin first.\"\n );\n }\n }\n const result = await getAuthProvider().deleteUser(id);\n if (result === \"not_found\") throw error(404, \"User not found\");\n if (result === \"not_supported\")\n throw error(501, \"User deletion not supported by this auth provider\");\n await getDataProvider().onUserDeleted(SYSTEM_CONTEXT, id);\n return json({ success: true });\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { j as getComputeServerConfigStore } from './providers.server-C32WKtDL.js';
2
+ import { j as getComputeServerConfigStore } from './providers.server-Duyx-08B.js';
3
3
  import './context-9tV9WxQ5.js';
4
- import { f as findServerById } from './utils2-Sy-_rI-0.js';
5
- import { r as requireManageCompute } from './access.server-GvriCjXN.js';
4
+ import { f as findServerById } from './utils2-QuTTpZq0.js';
5
+ import { r as requireManageCompute } from './access.server-DVG3xnR_.js';
6
6
  import './shared-server-DaWdgxVh.js';
7
7
  import 'node:url';
8
8
  import 'node:path';
@@ -11,7 +11,7 @@ import 'node:crypto';
11
11
  import 'node:fs/promises';
12
12
  import '@supabase/supabase-js';
13
13
  import 'zod';
14
- import './api-errors-Dk5z97zb.js';
14
+ import './api-errors-DGHmIOGJ.js';
15
15
 
16
16
  const TIMEOUT_MS = 8e3;
17
17
  function fetchFromServer(serverUrl, apiKey, path) {
@@ -61,4 +61,4 @@ const GET = async ({ url, locals }) => {
61
61
  };
62
62
 
63
63
  export { GET };
64
- //# sourceMappingURL=_server.ts-BemU6FO1.js.map
64
+ //# sourceMappingURL=_server.ts-CzJ60KtY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BemU6FO1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/compute/status/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { g as getComputeServerConfigStore } from \"../../../../../../chunks/providers.server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils2.js\";\nimport { r as requireManageCompute } from \"../../../../../../chunks/access.server.js\";\nconst TIMEOUT_MS = 8e3;\nfunction fetchFromServer(serverUrl, apiKey, path) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);\n const headers = {};\n if (apiKey) headers[\"RhinoComputeKey\"] = apiKey;\n return fetch(new URL(path, serverUrl).toString(), { signal: controller.signal, headers }).finally(\n () => clearTimeout(timer)\n );\n}\nconst GET = async ({ url, locals }) => {\n requireManageCompute(locals);\n const serverId = url.searchParams.get(\"serverId\");\n if (!serverId) throw error(400, \"serverId required\");\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const server = findServerById(config, serverId);\n if (!server) throw error(404, \"Server not found\");\n try {\n const [healthRes, versionRes, pluginsRes] = await Promise.all([\n fetchFromServer(server.serverUrl, server.apiKey, \"/healthcheck\"),\n fetchFromServer(server.serverUrl, server.apiKey, \"/version\"),\n fetchFromServer(server.serverUrl, server.apiKey, \"/plugins/gh/installed\")\n ]);\n const reachable = healthRes.ok;\n const version = versionRes.ok ? await versionRes.json() : null;\n const plugins = pluginsRes.ok ? await pluginsRes.json() : {};\n const selvaVersion = plugins[\"Selva\"] ?? null;\n return json({\n reachable,\n rhinoVersion: version?.rhino ?? null,\n computeVersion: version?.compute ?? null,\n selvaInstalled: selvaVersion !== null,\n selvaVersion,\n plugins\n });\n } catch {\n return json({\n reachable: false,\n rhinoVersion: null,\n computeVersion: null,\n selvaInstalled: false,\n selvaVersion: null,\n plugins: {}\n });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,MAAM,UAAU,GAAG,GAAG;AACtB,SAAS,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;AAClD,EAAE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC1C,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC;AAChE,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM;AACjD,EAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACnG,IAAI,MAAM,YAAY,CAAC,KAAK;AAC5B,GAAG;AACH;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK;AACvC,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACtD,EAAE,MAAM,MAAM,GAAG,MAAM,2BAA2B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1E,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC;AACnD,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;AACtE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;AAClE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB;AAC9E,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE;AAClC,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI;AAClE,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI;AACjD,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,SAAS;AACf,MAAM,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;AAC1C,MAAM,cAAc,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;AAC9C,MAAM,cAAc,EAAE,YAAY,KAAK,IAAI;AAC3C,MAAM,YAAY;AAClB,MAAM;AACN,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,SAAS,EAAE,KAAK;AACtB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,MAAM,cAAc,EAAE,KAAK;AAC3B,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-CzJ60KtY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/compute/status/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { g as getComputeServerConfigStore } from \"../../../../../../chunks/providers.server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils2.js\";\nimport { r as requireManageCompute } from \"../../../../../../chunks/access.server.js\";\nconst TIMEOUT_MS = 8e3;\nfunction fetchFromServer(serverUrl, apiKey, path) {\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);\n const headers = {};\n if (apiKey) headers[\"RhinoComputeKey\"] = apiKey;\n return fetch(new URL(path, serverUrl).toString(), { signal: controller.signal, headers }).finally(\n () => clearTimeout(timer)\n );\n}\nconst GET = async ({ url, locals }) => {\n requireManageCompute(locals);\n const serverId = url.searchParams.get(\"serverId\");\n if (!serverId) throw error(400, \"serverId required\");\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const server = findServerById(config, serverId);\n if (!server) throw error(404, \"Server not found\");\n try {\n const [healthRes, versionRes, pluginsRes] = await Promise.all([\n fetchFromServer(server.serverUrl, server.apiKey, \"/healthcheck\"),\n fetchFromServer(server.serverUrl, server.apiKey, \"/version\"),\n fetchFromServer(server.serverUrl, server.apiKey, \"/plugins/gh/installed\")\n ]);\n const reachable = healthRes.ok;\n const version = versionRes.ok ? await versionRes.json() : null;\n const plugins = pluginsRes.ok ? await pluginsRes.json() : {};\n const selvaVersion = plugins[\"Selva\"] ?? null;\n return json({\n reachable,\n rhinoVersion: version?.rhino ?? null,\n computeVersion: version?.compute ?? null,\n selvaInstalled: selvaVersion !== null,\n selvaVersion,\n plugins\n });\n } catch {\n return json({\n reachable: false,\n rhinoVersion: null,\n computeVersion: null,\n selvaInstalled: false,\n selvaVersion: null,\n plugins: {}\n });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,MAAM,UAAU,GAAG,GAAG;AACtB,SAAS,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;AAClD,EAAE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC1C,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC;AAChE,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM;AACjD,EAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACnG,IAAI,MAAM,YAAY,CAAC,KAAK;AAC5B,GAAG;AACH;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK;AACvC,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACtD,EAAE,MAAM,MAAM,GAAG,MAAM,2BAA2B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1E,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC;AACnD,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;AACtE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;AAClE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB;AAC9E,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE;AAClC,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI;AAClE,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI;AACjD,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,SAAS;AACf,MAAM,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;AAC1C,MAAM,cAAc,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;AAC9C,MAAM,cAAc,EAAE,YAAY,KAAK,IAAI;AAC3C,MAAM,YAAY;AAClB,MAAM;AACN,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI,CAAC;AAChB,MAAM,SAAS,EAAE,KAAK;AACtB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,MAAM,cAAc,EAAE,KAAK;AAC3B,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,EAAE;AACF;;;;"}
@@ -2,18 +2,18 @@ import { spawn } from 'child_process';
2
2
  import { join } from 'path';
3
3
  import { existsSync, readFileSync } from 'fs';
4
4
  import { b as private_env } from './shared-server-DaWdgxVh.js';
5
- import { b as requirePermission } from './access.server-GvriCjXN.js';
5
+ import { b as requirePermission } from './access.server-DVG3xnR_.js';
6
6
  import '@sveltejs/kit';
7
7
  import './context-9tV9WxQ5.js';
8
8
  import 'zod';
9
- import './providers.server-C32WKtDL.js';
9
+ import './providers.server-Duyx-08B.js';
10
10
  import 'node:url';
11
11
  import 'node:path';
12
12
  import 'node:fs';
13
13
  import 'node:crypto';
14
14
  import 'node:fs/promises';
15
15
  import '@supabase/supabase-js';
16
- import './api-errors-Dk5z97zb.js';
16
+ import './api-errors-DGHmIOGJ.js';
17
17
 
18
18
  function stripAnsi(str) {
19
19
  return str.replace(/\x1B\[[0-9;]*[mGKHF]/g, "");
@@ -151,17 +151,7 @@ function detectUpdatePlan() {
151
151
  mode: "npm",
152
152
  cwd: dir,
153
153
  cmd: "npm",
154
- args: [
155
- "update",
156
- "--save",
157
- "--prefer-online",
158
- "@selvajs/cli",
159
- "@selvajs/selva",
160
- "@selvajs/platform",
161
- "@selvajs/local-provider",
162
- "@selvajs/supabase-provider",
163
- "@selvajs/header-auth-provider"
164
- ]
154
+ args: ["update", "--save", "--prefer-online", "@selvajs/cli", "@selvajs/selva"]
165
155
  };
166
156
  }
167
157
  const parent = join(dir, "..");
@@ -273,4 +263,4 @@ const POST = async ({ locals }) => {
273
263
  };
274
264
 
275
265
  export { POST };
276
- //# sourceMappingURL=_server.ts-BpAINcOs.js.map
266
+ //# sourceMappingURL=_server.ts-D71yVIcY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-D71yVIcY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/update/_server.ts.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { join } from \"path\";\nimport { existsSync, readFileSync } from \"fs\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport { b as requirePermission } from \"../../../../../../chunks/access.server.js\";\nfunction stripAnsi(str) {\n return str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nfunction readRuntimeVersion(dir) {\n try {\n const pkg = JSON.parse(\n readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\")\n );\n return typeof pkg.version === \"string\" ? pkg.version : void 0;\n } catch {\n return void 0;\n }\n}\nfunction shellQuote(s) {\n return `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildNpmUpdateScript(npmArgs, versionBefore) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n return `\nset -o pipefail\nBEFORE=${before}\n\n# IMPORTANT: stop the running process BEFORE npm update overwrites build/.\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. If we let npm rewrite build/ while the old process is still\n# serving traffic, in-flight requests hit ERR_MODULE_NOT_FOUND for chunks\n# whose hash just changed under their feet. Stopping first is a brief\n# downtime window (~1-2s longer than restart-in-place) for a much smaller\n# blast radius.\necho \"[STEP] Stopping selva-compute (graceful drain via kill_timeout in ecosystem.config.cjs)\"\nif ! pm2 stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — restarting old build to recover\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\n exit 1\nfi\n\nAFTER=$(node -e \"try{console.log(require('./node_modules/@selvajs/selva/package.json').version)}catch(e){}\" 2>/dev/null)\necho \"[INFO] New @selvajs/selva: \\${AFTER:-unknown}\"\n\nif [ -n \"$BEFORE\" ] && [ \"$BEFORE\" = \"$AFTER\" ]; then\n echo \"[WARN] No version change ($BEFORE). Your npm cache may be stale.\"\n echo \"[WARN] Recover with:\"\n echo \"[WARN] npm cache clean --force\"\n echo \"[WARN] rm -rf node_modules package-lock.json\"\n echo \"[WARN] npm install --prefer-online\"\nfi\n\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start selva-compute --update-env; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\necho \"[STEP] Health-probing the new process\"\nHEALTHY=0\nfor i in $(seq 1 15); do\n sleep 2\n CODE=$(curl -sS -o /tmp/selva-health.$$ -w \"%{http_code}\" --max-time 5 http://localhost:3000/api/health 2>/dev/null || echo \"000\")\n if [ \"$CODE\" = \"200\" ]; then\n HEALTHY=1\n echo \"[INFO] Health probe passed after \\${i} attempt(s)\"\n rm -f /tmp/selva-health.$$\n break\n fi\n echo \"[INFO] Probe attempt $i/15: HTTP $CODE — retrying\"\ndone\n\nif [ \"$HEALTHY\" = \"1\" ]; then\n echo \"[DONE] Update complete\"\n exit 0\nfi\n\necho \"[FATAL] New process failed health check after 30s\"\nif [ -f /tmp/selva-health.$$ ]; then\n echo \"[FATAL] Last response body:\"\n cat /tmp/selva-health.$$\n rm -f /tmp/selva-health.$$\nfi\n\nif [ -z \"$BEFORE\" ]; then\n echo \"[FATAL] No prior version recorded — cannot roll back automatically.\"\n echo \"[FATAL] Manually install the version you want: npm install @selvajs/selva@<version>\"\n exit 3\nfi\n\necho \"[STEP] Rolling back @selvajs/selva to $BEFORE\"\npm2 stop selva-compute >/dev/null 2>&1 || true\nif ! npm install --save \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — manual intervention required.\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\n exit 4\nfi\n\npm2 start selva-compute --update-env || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 http://localhost:3000/api/health 2>/dev/null || echo \"000\")\nif [ \"$ROLLBACK_CODE\" = \"200\" ]; then\n echo \"[DONE] Rolled back to $BEFORE — previous version is online\"\n exit 5\nfi\n\necho \"[FATAL] Rollback restart also failed health check (HTTP $ROLLBACK_CODE)\"\necho \"[FATAL] Manual recovery required. Check: pm2 logs selva-compute\"\nexit 6\n`;\n}\nfunction detectUpdatePlan() {\n if (private_env.INSTALL_DIR && existsSync(join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: private_env.INSTALL_DIR,\n cmd: \"bash\",\n args: [join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\")]\n };\n }\n let dir = process.cwd();\n for (let i = 0; i < 6; i++) {\n if (existsSync(join(dir, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: dir,\n cmd: \"bash\",\n args: [join(dir, \"scripts\", \"update.sh\")]\n };\n }\n if (existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"))) {\n return {\n mode: \"npm\",\n cwd: dir,\n cmd: \"npm\",\n args: [\"update\", \"--save\", \"--prefer-online\", \"@selvajs/cli\", \"@selvajs/selva\"]\n };\n }\n const parent = join(dir, \"..\");\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\nconst POST = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const plan = detectUpdatePlan();\n if (!plan) {\n return new Response(\n JSON.stringify({\n error: \"Couldn't determine how to update this deployment. Expected either scripts/update.sh (monorepo) or node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent.\"\n }),\n { status: 500, headers: { \"Content-Type\": \"application/json\" } }\n );\n }\n const stream = new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n function sendEvent(type, data) {\n const message = `data: ${JSON.stringify({ type, ...data })}\n\n`;\n controller.enqueue(encoder.encode(message));\n }\n try {\n sendEvent(\"log\", { data: `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})` });\n const versionBefore = plan.mode === \"npm\" ? readRuntimeVersion(plan.cwd) : void 0;\n if (versionBefore) {\n sendEvent(\"log\", { data: `[INFO] Current @selvajs/selva: ${versionBefore}` });\n }\n const cmd = plan.mode === \"git\" ? plan.cmd : \"bash\";\n const args = plan.mode === \"git\" ? plan.args : [\"-c\", buildNpmUpdateScript(plan.args, versionBefore)];\n const child = spawn(cmd, args, {\n cwd: plan.cwd,\n env: {\n PATH: process.env.PATH,\n HOME: process.env.HOME,\n INSTALL_DIR: plan.cwd\n },\n detached: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n });\n child.unref();\n const timeout = setTimeout(\n () => {\n try {\n if (child.pid) process.kill(-child.pid, \"SIGTERM\");\n } catch {\n }\n sendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n },\n 15 * 60 * 1e3\n );\n let restarting = false;\n child.stdout.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n if (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n restarting = true;\n sendEvent(\"restarting\", { data: clean });\n } else {\n sendEvent(\"log\", { data: clean });\n }\n }\n }\n });\n child.stderr.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n }\n }\n });\n child.on(\"close\", (code) => {\n clearTimeout(timeout);\n sendEvent(\"exit\", { code: code ?? -1 });\n controller.close();\n });\n child.on(\"error\", (err) => {\n clearTimeout(timeout);\n sendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n });\n } catch (err) {\n sendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n }\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}