@selvajs/selva 2.0.1 → 2.0.3

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 (451) 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/{BSyJ0ZuA.js → BV1oWdGD.js} +1 -1
  24. package/build/client/_app/immutable/chunks/BV1oWdGD.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/BV1oWdGD.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BW4xleRz.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/BZmrLQwT.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BapAUJpM.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/Bb9xebuT.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BjkQG7dw.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/Bnpwcepm.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BoR6OKl6.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/Br5bpmJC.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/BxCHY0iG.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/{CS49LPny.js → CCx3W8-n.js} +1 -1
  43. package/build/client/_app/immutable/chunks/CCx3W8-n.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/CCx3W8-n.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/{4PBDTLFF.js → CISf22d1.js} +1 -1
  47. package/build/client/_app/immutable/chunks/CISf22d1.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/CISf22d1.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CRRzXoPz.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/CXh1ITwj.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CcYNc8-G.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/Cdcajer6.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/Ce2MupFq.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CfP1DoGT.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/CfhPDo21.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/CkW8YtSm.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/CoR7xVWs.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/CpGv0MSX.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/{VmqnFAi3.js → DDJVj3K_.js} +1 -1
  69. package/build/client/_app/immutable/chunks/DDJVj3K_.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DDJVj3K_.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/DEBBEmC0.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/DNsLImlA.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/{BMwGnr2J.js → DPB6Jpno.js} +1 -1
  74. package/build/client/_app/immutable/chunks/DPB6Jpno.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/DPB6Jpno.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/DRDjLZb3.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/DTJeGfAL.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/DZFqETAQ.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/D_wr-JLf.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/Doks8ISn.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/E3yOQTT0.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/P4Np3c9O.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/_OLpdTiI.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/azBeeLR0.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/{smW5maEe.js → mn4wqSK3.js} +1 -1
  95. package/build/client/_app/immutable/chunks/mn4wqSK3.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/mn4wqSK3.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/ooPBmYPj.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/pRg-f8xU.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/uINs3xv3.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/wamM80bu.js.gz +0 -0
  101. package/build/client/_app/immutable/entry/{app.GElcRZPp.js → app.BRKh5QNI.js} +2 -2
  102. package/build/client/_app/immutable/entry/app.BRKh5QNI.js.br +0 -0
  103. package/build/client/_app/immutable/entry/app.BRKh5QNI.js.gz +0 -0
  104. package/build/client/_app/immutable/entry/start.DzTy4Sar.js +1 -0
  105. package/build/client/_app/immutable/entry/start.DzTy4Sar.js.br +2 -0
  106. package/build/client/_app/immutable/entry/start.DzTy4Sar.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.CTs6oCZo.js} +1 -1
  111. package/build/client/_app/immutable/nodes/1.CTs6oCZo.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/1.CTs6oCZo.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.DemYOq3i.js} +1 -1
  117. package/build/client/_app/immutable/nodes/11.DemYOq3i.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/11.DemYOq3i.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.DpdyenfK.js} +1 -1
  121. package/build/client/_app/immutable/nodes/13.DpdyenfK.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/13.DpdyenfK.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/{14.9MmuwEpn.js → 14.CwVi2ClP.js} +1 -1
  124. package/build/client/_app/immutable/nodes/14.CwVi2ClP.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/14.CwVi2ClP.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.DzXblhpf.js} +2 -2
  130. package/build/client/_app/immutable/nodes/16.DzXblhpf.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/16.DzXblhpf.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/{17.Bch7V784.js → 17.cWP9UUvo.js} +1 -1
  133. package/build/client/_app/immutable/nodes/17.cWP9UUvo.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/17.cWP9UUvo.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.C2JJyvh1.js} +1 -1
  137. package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{2.CyCY9Gpy.js → 2.CEtR_jy5.js} +1 -1
  140. package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{20.CT0e7phi.js → 20.CpAqrbNF.js} +6 -6
  143. package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/{21.C43xF0qL.js → 21.BW8K2thc.js} +1 -1
  146. package/build/client/_app/immutable/nodes/21.BW8K2thc.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/21.BW8K2thc.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/{23.CFT1SOUF.js → 23.BnfqaaSO.js} +1 -1
  149. package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/{24.BjGP5G3P.js → 24.XyeC_rUv.js} +1 -1
  152. package/build/client/_app/immutable/nodes/24.XyeC_rUv.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/24.XyeC_rUv.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.CEXct3Wc.js} +1 -1
  157. package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.br +0 -0
  158. package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.gz +0 -0
  159. package/build/client/_app/immutable/nodes/{28.eQk5ZqHl.js → 28.B9Yr7s3f.js} +1 -1
  160. package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.br +0 -0
  161. package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/{29.-im11HaY.js → 29.9THa6mgW.js} +1 -1
  163. package/build/client/_app/immutable/nodes/29.9THa6mgW.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/29.9THa6mgW.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/{3.CfPrUs70.js → 3.B8tp0KuP.js} +1 -1
  166. package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/{30.DUz5JI16.js → 30.B0_ohaRg.js} +1 -1
  169. package/build/client/_app/immutable/nodes/30.B0_ohaRg.js.br +0 -0
  170. package/build/client/_app/immutable/nodes/30.B0_ohaRg.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.CEvQHcz8.js} +1 -1
  175. package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/{6.BhoBomwz.js → 6.MiARQsow.js} +1 -1
  178. package/build/client/_app/immutable/nodes/6.MiARQsow.js.br +0 -0
  179. package/build/client/_app/immutable/nodes/6.MiARQsow.js.gz +0 -0
  180. package/build/client/_app/immutable/nodes/{7.CaJkp9fo.js → 7.4E9V6GcT.js} +1 -1
  181. package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/{8.Bt2DWfca.js → 8.D8g6Vds-.js} +1 -1
  184. package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/{9.C5-qch-V.js → 9.CaxIeYLY.js} +1 -1
  187. package/build/client/_app/immutable/nodes/9.CaxIeYLY.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/9.CaxIeYLY.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-tkiRaJm3.js} +2 -2
  197. package/build/server/chunks/{1-V8dFtmbb.js.map → 1-tkiRaJm3.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-CwBAHKO1.js} +6 -6
  201. package/build/server/chunks/{11-C54ZyrYp.js.map → 11-CwBAHKO1.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-CEgpkJsl.js} +3 -3
  205. package/build/server/chunks/{13-DVoUfflf.js.map → 13-CEgpkJsl.js.map} +1 -1
  206. package/build/server/chunks/{14-DkBYx89e.js → 14-CuLH3sOJ.js} +3 -3
  207. package/build/server/chunks/{14-DkBYx89e.js.map → 14-CuLH3sOJ.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-BqSmZ0au.js} +6 -6
  211. package/build/server/chunks/{16-cz9yc7Nq.js.map → 16-BqSmZ0au.js.map} +1 -1
  212. package/build/server/chunks/{17-BLqAW2P3.js → 17-BwPRBUof.js} +2 -2
  213. package/build/server/chunks/{17-BLqAW2P3.js.map → 17-BwPRBUof.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-3FI-gBIF.js} +3 -3
  217. package/build/server/chunks/{19-BZm3F7yF.js.map → 19-3FI-gBIF.js.map} +1 -1
  218. package/build/server/chunks/{2-CNp1ZQp0.js → 2-BktREpTN.js} +5 -5
  219. package/build/server/chunks/{2-CNp1ZQp0.js.map → 2-BktREpTN.js.map} +1 -1
  220. package/build/server/chunks/{20-BXy_jr30.js → 20-D8O4C_84.js} +12 -12
  221. package/build/server/chunks/{20-BXy_jr30.js.map → 20-D8O4C_84.js.map} +1 -1
  222. package/build/server/chunks/{21-DSjRU6S2.js → 21-COO7ITK8.js} +3 -3
  223. package/build/server/chunks/{21-DSjRU6S2.js.map → 21-COO7ITK8.js.map} +1 -1
  224. package/build/server/chunks/{23-CjL9FJFA.js → 23-ckQZBIac.js} +6 -6
  225. package/build/server/chunks/{23-CjL9FJFA.js.map → 23-ckQZBIac.js.map} +1 -1
  226. package/build/server/chunks/{24-D9rqHSTE.js → 24-Byj6-QiB.js} +4 -4
  227. package/build/server/chunks/{24-D9rqHSTE.js.map → 24-Byj6-QiB.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-C6KaTD0c.js} +4 -4
  231. package/build/server/chunks/{27-nNwc75ro.js.map → 27-C6KaTD0c.js.map} +1 -1
  232. package/build/server/chunks/{28-CvOKckIC.js → 28-BM0TT8tW.js} +3 -3
  233. package/build/server/chunks/{28-CvOKckIC.js.map → 28-BM0TT8tW.js.map} +1 -1
  234. package/build/server/chunks/{29-omUxa3rd.js → 29-8EsvqAjE.js} +3 -3
  235. package/build/server/chunks/{29-omUxa3rd.js.map → 29-8EsvqAjE.js.map} +1 -1
  236. package/build/server/chunks/{3-D43IIYqW.js → 3-CGZK9ryR.js} +2 -2
  237. package/build/server/chunks/{3-D43IIYqW.js.map → 3-CGZK9ryR.js.map} +1 -1
  238. package/build/server/chunks/{30-BMQ7Cr8A.js → 30-CtB6i9os.js} +3 -3
  239. package/build/server/chunks/{30-BMQ7Cr8A.js.map → 30-CtB6i9os.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-BGu6jqGh.js} +2 -2
  245. package/build/server/chunks/{5-lJnHNLmp.js.map → 5-BGu6jqGh.js.map} +1 -1
  246. package/build/server/chunks/{6-BydCaB4v.js → 6-CrVzle0G.js} +3 -3
  247. package/build/server/chunks/{6-BydCaB4v.js.map → 6-CrVzle0G.js.map} +1 -1
  248. package/build/server/chunks/{7-D4q4IBnf.js → 7-CyQgvlZo.js} +2 -2
  249. package/build/server/chunks/{7-D4q4IBnf.js.map → 7-CyQgvlZo.js.map} +1 -1
  250. package/build/server/chunks/{8-1AErDsjI.js → 8-DQerDMPb.js} +3 -3
  251. package/build/server/chunks/{8-1AErDsjI.js.map → 8-DQerDMPb.js.map} +1 -1
  252. package/build/server/chunks/{9-Cr4VDcCh.js → 9-g58PTujZ.js} +4 -4
  253. package/build/server/chunks/{9-Cr4VDcCh.js.map → 9-g58PTujZ.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 +6 -7
  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.br +0 -0
  375. package/build/client/_app/immutable/chunks/4PBDTLFF.js.gz +0 -0
  376. package/build/client/_app/immutable/chunks/BMwGnr2J.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/BMwGnr2J.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.br +0 -0
  379. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.gz +0 -0
  380. package/build/client/_app/immutable/chunks/CS49LPny.js.br +0 -0
  381. package/build/client/_app/immutable/chunks/CS49LPny.js.gz +0 -0
  382. package/build/client/_app/immutable/chunks/VmqnFAi3.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/VmqnFAi3.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/smW5maEe.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/smW5maEe.js.gz +0 -0
  386. package/build/client/_app/immutable/entry/app.GElcRZPp.js.br +0 -0
  387. package/build/client/_app/immutable/entry/app.GElcRZPp.js.gz +0 -0
  388. package/build/client/_app/immutable/entry/start.D-b3nSOP.js +0 -1
  389. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.br +0 -0
  390. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.gz +0 -0
  391. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.br +0 -0
  392. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.gz +0 -0
  393. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.br +0 -0
  394. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.gz +0 -0
  395. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js +0 -3
  396. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.br +0 -0
  399. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.gz +0 -0
  400. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.br +0 -0
  401. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.gz +0 -0
  402. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.br +0 -0
  403. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.gz +0 -0
  404. package/build/client/_app/immutable/nodes/15.94-Zje0s.js +0 -13
  405. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.br +0 -0
  406. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.gz +0 -0
  407. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.br +0 -0
  408. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.gz +0 -0
  409. package/build/client/_app/immutable/nodes/17.Bch7V784.js.br +0 -0
  410. package/build/client/_app/immutable/nodes/17.Bch7V784.js.gz +0 -0
  411. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.br +0 -0
  412. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.gz +0 -0
  413. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.br +0 -0
  414. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.gz +0 -0
  415. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.br +0 -0
  416. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.gz +0 -0
  417. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.br +0 -0
  418. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.gz +0 -0
  419. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.br +0 -0
  420. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.gz +0 -0
  421. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.br +0 -0
  422. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.gz +0 -0
  423. package/build/client/_app/immutable/nodes/27.BS48zWld.js.br +0 -0
  424. package/build/client/_app/immutable/nodes/27.BS48zWld.js.gz +0 -0
  425. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.br +0 -0
  426. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.gz +0 -0
  427. package/build/client/_app/immutable/nodes/29.-im11HaY.js.br +0 -0
  428. package/build/client/_app/immutable/nodes/29.-im11HaY.js.gz +0 -0
  429. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.br +0 -0
  430. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.gz +0 -0
  431. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.br +0 -0
  432. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.gz +0 -0
  433. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.br +0 -0
  434. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.gz +0 -0
  435. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.br +0 -0
  436. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.gz +0 -0
  437. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.br +0 -0
  438. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.gz +0 -0
  439. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.br +0 -0
  440. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.gz +0 -0
  441. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.br +0 -0
  442. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.gz +0 -0
  443. package/build/server/chunks/_page.svelte-5X2iRv32.js.map +0 -1
  444. package/build/server/chunks/_page.svelte-CX9DKxIH.js.map +0 -1
  445. package/build/server/chunks/_page.svelte-D6lEOLLp.js.map +0 -1
  446. package/build/server/chunks/_page.svelte-KapMJV5_.js.map +0 -1
  447. package/build/server/chunks/_server.ts-BpAINcOs.js.map +0 -1
  448. package/build/server/chunks/auth-bootstrap.server-CfD5CPTj.js.map +0 -1
  449. package/build/server/chunks/providers.server-C32WKtDL.js.map +0 -1
  450. package/build/server/chunks/token.server-B8XVPI0F.js.map +0 -1
  451. package/templates/selva.config.example.js +0 -338
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-7hKc3tb_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { c as getPlatformProjectGrantStore } from \"../../../../../../../../chunks/providers.server.js\";\nimport { a as requireInstanceAdmin } from \"../../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { grantId } = params;\n if (!grantId) throw error(400, \"Missing grant ID\");\n try {\n await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to revoke grant\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC;AACpD,EAAE,IAAI;AACN,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;AACxE,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-AE1drj36.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { c as getPlatformProjectGrantStore } from \"../../../../../../../../chunks/providers.server.js\";\nimport { a as requireInstanceAdmin } from \"../../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { grantId } = params;\n if (!grantId) throw error(400, \"Missing grant ID\");\n try {\n await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to revoke grant\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC;AACpD,EAAE,IAAI;AACN,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;AACxE,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,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 { h as getProjectProvider, P as ProviderError } from './providers.server-C32WKtDL.js';
5
- import { k as requireCanCreateProject } from './access.server-GvriCjXN.js';
6
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
4
+ import { h as getProjectProvider, P as ProviderError } from './providers.server-Duyx-08B.js';
5
+ import { k as requireCanCreateProject } from './access.server-DVG3xnR_.js';
6
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
7
7
  import { s as slugify } from './slug-BGuFQjqe.js';
8
8
  import { g as ProjectVisibilitySchema } from './context-9tV9WxQ5.js';
9
9
  import './shared-server-DaWdgxVh.js';
@@ -83,4 +83,4 @@ const POST = async ({ request, locals }) => {
83
83
  };
84
84
 
85
85
  export { GET, POST };
86
- //# sourceMappingURL=_server.ts-DBh0rJrm.js.map
86
+ //# sourceMappingURL=_server.ts-B0gZCMdj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DBh0rJrm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, P as ProviderError } from \"../../../../chunks/providers.server.js\";\nimport { k as requireCanCreateProject } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../chunks/slug.js\";\nimport { g as ProjectVisibilitySchema } from \"../../../../chunks/context.js\";\nconst MAX_SLUG_ATTEMPTS = 25;\nfunction isSlugConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);\n}\nfunction isNameConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);\n}\nconst CreateProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n visibility: ProjectVisibilitySchema.default(\"private\"),\n autoJoinOnUpload: z.boolean().optional()\n});\nconst GET = async ({ locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, { limit: 200 });\n return json({ projects: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n await requireCanCreateProject(locals, ctx.actingOrgId);\n const body = await request.json().catch(() => null);\n const parsed = CreateProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const autoJoinOnUpload = parsed.data.autoJoinOnUpload ?? false;\n if (autoJoinOnUpload && parsed.data.visibility !== \"public\") {\n throw error(400, \"autoJoinOnUpload requires visibility=public\");\n }\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"project\";\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const projectId = randomUUID();\n for (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {\n const slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;\n const project = {\n id: projectId,\n orgId: ctx.actingOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: parsed.data.visibility,\n ownerId: locals.user.id,\n createdBy: locals.user.id,\n updatedBy: locals.user.id,\n autoJoinOnUpload,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(ctx, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n throw error(409, \"A project with that name already exists in this organization.\");\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create project\");\n }\n }\n throw error(409, \"Could not pick a unique project slug after several attempts.\");\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,MAAM,iBAAiB,GAAG,EAAE;AAC5B,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAO,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/G;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAO,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/G;AACA,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;AACnC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AACrE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;AAC7C,EAAE,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;AACxD,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ;AACxC,CAAC,CAAC;AACG,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAClE,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,kBAAkB,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9F,IAAI,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AACzC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC;AAClD,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC5C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAClE,EAAE,MAAM,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;AACxD,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;AAClD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK;AAChE,EAAE,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AAC/D,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,6CAA6C,CAAC;AACnE,EAAE;AACF,EAAE,MAAM,YAAY,GAAG,kBAAkB,EAAE;AAC3C,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;AACzD,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE;AAChC,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE;AAChE,IAAI,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AACxE,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,EAAE,EAAE,SAAS;AACnB,MAAM,KAAK,EAAE,GAAG,CAAC,WAAW;AAC5B,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC5B,MAAM,IAAI;AACV,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;AAC1C,MAAM,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;AACxC,MAAM,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;AAC7B,MAAM,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,gBAAgB;AACtB,MAAM,SAAS,EAAE,GAAG;AACpB,MAAM,SAAS,EAAE,GAAG;AACpB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,IAAI;AACR,MAAM,MAAM,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;AACpD,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC3C,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;AAC/B,QAAQ,MAAM,KAAK,CAAC,GAAG,EAAE,+DAA+D,CAAC;AACzF,MAAM;AACN,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;AAC/B,MAAM,cAAc,CAAC,GAAG,EAAE,0BAA0B,CAAC;AACrD,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8DAA8D,CAAC;AAClF;;;;"}
1
+ {"version":3,"file":"_server.ts-B0gZCMdj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, P as ProviderError } from \"../../../../chunks/providers.server.js\";\nimport { k as requireCanCreateProject } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../chunks/slug.js\";\nimport { g as ProjectVisibilitySchema } from \"../../../../chunks/context.js\";\nconst MAX_SLUG_ATTEMPTS = 25;\nfunction isSlugConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);\n}\nfunction isNameConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);\n}\nconst CreateProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n visibility: ProjectVisibilitySchema.default(\"private\"),\n autoJoinOnUpload: z.boolean().optional()\n});\nconst GET = async ({ locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, { limit: 200 });\n return json({ projects: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n await requireCanCreateProject(locals, ctx.actingOrgId);\n const body = await request.json().catch(() => null);\n const parsed = CreateProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const autoJoinOnUpload = parsed.data.autoJoinOnUpload ?? false;\n if (autoJoinOnUpload && parsed.data.visibility !== \"public\") {\n throw error(400, \"autoJoinOnUpload requires visibility=public\");\n }\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"project\";\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const projectId = randomUUID();\n for (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {\n const slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;\n const project = {\n id: projectId,\n orgId: ctx.actingOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: parsed.data.visibility,\n ownerId: locals.user.id,\n createdBy: locals.user.id,\n updatedBy: locals.user.id,\n autoJoinOnUpload,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(ctx, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n throw error(409, \"A project with that name already exists in this organization.\");\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create project\");\n }\n }\n throw error(409, \"Could not pick a unique project slug after several attempts.\");\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { h as getProjectProvider, r as definitionService } from './providers.server-C32WKtDL.js';
4
- import { f as requireCanCreateDefinition } from './access.server-GvriCjXN.js';
5
- import { t as throwZodError, h as handleApiError } from './api-errors-Dk5z97zb.js';
3
+ import { h as getProjectProvider, r as definitionService } from './providers.server-Duyx-08B.js';
4
+ import { f as requireCanCreateDefinition } from './access.server-DVG3xnR_.js';
5
+ import { t as throwZodError, h as handleApiError } from './api-errors-DGHmIOGJ.js';
6
6
  import { G as GH_EXTENSIONS } from './types-DxzJoaA4.js';
7
7
  import { b as CreateDefinitionInputSchema } from './context-9tV9WxQ5.js';
8
8
  import { d as MAX_GH_FILE_SIZE, e as MAX_IMAGE_FILE_SIZE } from './computeLimits-FIJ-Mzn4.js';
@@ -91,4 +91,4 @@ const POST = async ({ request, locals }) => {
91
91
  };
92
92
 
93
93
  export { POST };
94
- //# sourceMappingURL=_server.ts-_NTv7i9z.js.map
94
+ //# sourceMappingURL=_server.ts-BSoy1Ljl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-_NTv7i9z.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, j as definitionService } from \"../../../../chunks/providers.server.js\";\nimport { f as requireCanCreateDefinition } from \"../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../chunks/types.js\";\nimport { a as CreateDefinitionInputSchema } from \"../../../../chunks/context.js\";\nimport { d as MAX_GH_FILE_SIZE, e as MAX_IMAGE_FILE_SIZE } from \"../../../../chunks/computeLimits.js\";\nfunction parseTags(raw) {\n if (typeof raw !== \"string\" || !raw.trim()) return void 0;\n const tags = raw.split(\",\").map((t) => t.trim()).filter(Boolean);\n return tags.length ? tags : void 0;\n}\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n const formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File)) {\n throw error(400, \"A Grasshopper (.gh or .ghx) file is required\");\n }\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 imageFile = formData.get(\"image\");\n if (imageFile instanceof File && imageFile.size > MAX_IMAGE_FILE_SIZE) {\n throw error(400, `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`);\n }\n let projectId = formData.get(\"projectId\");\n if (typeof projectId !== \"string\" || !projectId) {\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const projectsPage = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, {\n limit: 1\n });\n const defaultProject = projectsPage.items[0];\n if (!defaultProject) throw error(500, \"No project configured\");\n projectId = defaultProject.id;\n }\n await requireCanCreateDefinition(locals, projectId);\n const parsed = CreateDefinitionInputSchema.safeParse({\n displayName: formData.get(\"displayName\"),\n description: formData.get(\"description\") || void 0,\n category: formData.get(\"category\") || void 0,\n coverImage: formData.get(\"coverImage\") || void 0,\n tags: parseTags(formData.get(\"tags\")),\n projectId,\n computeServerId: formData.get(\"computeServerId\") || void 0\n });\n if (!parsed.success) throwZodError(parsed.error);\n const fileExt = ext.slice(1);\n const guid = randomUUID();\n try {\n const fileData = new Uint8Array(await file.arrayBuffer());\n const { record, version } = await definitionService.create(\n ctx,\n {\n guid,\n projectId: parsed.data.projectId,\n ownerId: locals.user.id,\n fileExt,\n originalFilename: file.name,\n computeServerId: parsed.data.computeServerId,\n displayName: parsed.data.displayName.trim(),\n description: parsed.data.description,\n category: parsed.data.category,\n tags: parsed.data.tags,\n coverImage: parsed.data.coverImage\n },\n fileData\n );\n let coverImage = record.coverImage;\n if (imageFile instanceof File && imageFile.size > 0) {\n const imageData = new Uint8Array(await imageFile.arrayBuffer());\n coverImage = await definitionService.saveCoverImage(ctx, guid, imageData);\n }\n return json({ success: true, guid, version, coverImage });\n } catch (err) {\n handleApiError(err, \"Failed to create definition\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BSoy1Ljl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, j as definitionService } from \"../../../../chunks/providers.server.js\";\nimport { f as requireCanCreateDefinition } from \"../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../chunks/types.js\";\nimport { a as CreateDefinitionInputSchema } from \"../../../../chunks/context.js\";\nimport { d as MAX_GH_FILE_SIZE, e as MAX_IMAGE_FILE_SIZE } from \"../../../../chunks/computeLimits.js\";\nfunction parseTags(raw) {\n if (typeof raw !== \"string\" || !raw.trim()) return void 0;\n const tags = raw.split(\",\").map((t) => t.trim()).filter(Boolean);\n return tags.length ? tags : void 0;\n}\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n const formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File)) {\n throw error(400, \"A Grasshopper (.gh or .ghx) file is required\");\n }\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 imageFile = formData.get(\"image\");\n if (imageFile instanceof File && imageFile.size > MAX_IMAGE_FILE_SIZE) {\n throw error(400, `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`);\n }\n let projectId = formData.get(\"projectId\");\n if (typeof projectId !== \"string\" || !projectId) {\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const projectsPage = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, {\n limit: 1\n });\n const defaultProject = projectsPage.items[0];\n if (!defaultProject) throw error(500, \"No project configured\");\n projectId = defaultProject.id;\n }\n await requireCanCreateDefinition(locals, projectId);\n const parsed = CreateDefinitionInputSchema.safeParse({\n displayName: formData.get(\"displayName\"),\n description: formData.get(\"description\") || void 0,\n category: formData.get(\"category\") || void 0,\n coverImage: formData.get(\"coverImage\") || void 0,\n tags: parseTags(formData.get(\"tags\")),\n projectId,\n computeServerId: formData.get(\"computeServerId\") || void 0\n });\n if (!parsed.success) throwZodError(parsed.error);\n const fileExt = ext.slice(1);\n const guid = randomUUID();\n try {\n const fileData = new Uint8Array(await file.arrayBuffer());\n const { record, version } = await definitionService.create(\n ctx,\n {\n guid,\n projectId: parsed.data.projectId,\n ownerId: locals.user.id,\n fileExt,\n originalFilename: file.name,\n computeServerId: parsed.data.computeServerId,\n displayName: parsed.data.displayName.trim(),\n description: parsed.data.description,\n category: parsed.data.category,\n tags: parsed.data.tags,\n coverImage: parsed.data.coverImage\n },\n fileData\n );\n let coverImage = record.coverImage;\n if (imageFile instanceof File && imageFile.size > 0) {\n const imageData = new Uint8Array(await imageFile.arrayBuffer());\n coverImage = await definitionService.saveCoverImage(ctx, guid, imageData);\n }\n return json({ success: true, guid, version, coverImage });\n } catch (err) {\n handleApiError(err, \"Failed to create definition\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { l as getPermissionStore, g as getAuthProvider } from './providers.server-C32WKtDL.js';
3
- import { c as requireManageInstanceUsers } from './access.server-GvriCjXN.js';
2
+ import { l as getPermissionStore, g as getAuthProvider } from './providers.server-Duyx-08B.js';
3
+ import { c as requireManageInstanceUsers } from './access.server-DVG3xnR_.js';
4
4
  import './shared-server-DaWdgxVh.js';
5
5
  import 'node:url';
6
6
  import 'node:path';
@@ -10,7 +10,7 @@ import 'zod';
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
 
15
15
  const POST = async ({ params, locals }) => {
16
16
  requireManageInstanceUsers(locals);
@@ -34,4 +34,4 @@ const POST = async ({ params, locals }) => {
34
34
  };
35
35
 
36
36
  export { POST };
37
- //# sourceMappingURL=_server.ts-CAcgx11J.js.map
37
+ //# sourceMappingURL=_server.ts-BTi2idVf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CAcgx11J.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { f as getPermissionStore, e as getAuthProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../../../chunks/access.server.js\";\nconst POST = 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 disable the last instance admin. Promote another user to instance admin first.\"\n );\n }\n }\n const result = await getAuthProvider().disableUser(id);\n if (result === \"not_found\") throw error(404, \"User not found\");\n if (result === \"not_supported\")\n throw error(501, \"Disabling users is not supported by this auth provider\");\n return json({ success: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,0BAA0B,CAAC,MAAM,CAAC;AACpC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AAC9C,EAAE,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACvE,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC9C,IAAI,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AAC1F,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE;AACtB,MAAM,MAAM,KAAK;AACjB,QAAQ,GAAG;AACX,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AACxD,EAAE,IAAI,MAAM,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChE,EAAE,IAAI,MAAM,KAAK,eAAe;AAChC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,wDAAwD,CAAC;AAC9E,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"_server.ts-BTi2idVf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { f as getPermissionStore, e as getAuthProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../../../chunks/access.server.js\";\nconst POST = 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 disable the last instance admin. Promote another user to instance admin first.\"\n );\n }\n }\n const result = await getAuthProvider().disableUser(id);\n if (result === \"not_found\") throw error(404, \"User not found\");\n if (result === \"not_supported\")\n throw error(501, \"Disabling users is not supported by this auth provider\");\n return json({ success: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,0BAA0B,CAAC,MAAM,CAAC;AACpC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC;AAC9C,EAAE,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACvE,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC9C,IAAI,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AAC1F,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE;AACtB,MAAM,MAAM,KAAK;AACjB,QAAQ,GAAG;AACX,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AACxD,EAAE,IAAI,MAAM,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChE,EAAE,IAAI,MAAM,KAAK,eAAe;AAChC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,wDAAwD,CAAC;AAC9E,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChC;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
- import { g as getAuthProvider, c as getOrganizationProvider, l as getPermissionStore } from './providers.server-C32WKtDL.js';
4
- import { c as requireManageInstanceUsers } from './access.server-GvriCjXN.js';
5
- import { s as setUserPlatformPermissions } from './permissions.server-Co6VKW9f.js';
6
- import { t as throwZodError, h as handleApiError } from './api-errors-Dk5z97zb.js';
3
+ import { g as getAuthProvider, c as getOrganizationProvider, l as getPermissionStore } from './providers.server-Duyx-08B.js';
4
+ import { c as requireManageInstanceUsers } from './access.server-DVG3xnR_.js';
5
+ import { s as setUserPlatformPermissions } from './permissions.server-qrbshNHz.js';
6
+ import { t as throwZodError, h as handleApiError } from './api-errors-DGHmIOGJ.js';
7
7
  import { S as SYSTEM_CONTEXT, h as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS, P as PlatformPermissionSchema, O as OrgPermissionSchema } from './context-9tV9WxQ5.js';
8
8
  import { f as flattenPermissions, s as splitFlatPermissions } from './permissions-compat.server-DSV7bClF.js';
9
9
  import './shared-server-DaWdgxVh.js';
@@ -103,4 +103,4 @@ const POST = async ({ request, locals }) => {
103
103
  };
104
104
 
105
105
  export { GET, POST };
106
- //# sourceMappingURL=_server.ts-D-QkfF2o.js.map
106
+ //# sourceMappingURL=_server.ts-BYlDwqEg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D-QkfF2o.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { e as getAuthProvider, a as getOrganizationProvider, f as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, S as SYSTEM_CONTEXT, h as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n throw error(\n 501,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json(flattened);\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can grant platform-scope permissions\");\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) throw error(400, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n throw error(\n 501,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BYlDwqEg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { e as getAuthProvider, a as getOrganizationProvider, f as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { c as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, S as SYSTEM_CONTEXT, h as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n throw error(\n 501,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json(flattened);\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can grant platform-scope permissions\");\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) throw error(400, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n throw error(\n 501,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { h as getProjectProvider } from './providers.server-C32WKtDL.js';
3
- import { s as requireCanReclaim } from './access.server-GvriCjXN.js';
4
- import { h as handleApiError } from './api-errors-Dk5z97zb.js';
2
+ import { h as getProjectProvider } from './providers.server-Duyx-08B.js';
3
+ import { s as requireCanReclaim } from './access.server-DVG3xnR_.js';
4
+ import { h as handleApiError } from './api-errors-DGHmIOGJ.js';
5
5
  import './shared-server-DaWdgxVh.js';
6
6
  import 'node:url';
7
7
  import 'node:path';
@@ -35,4 +35,4 @@ const POST = async ({ params, locals }) => {
35
35
  };
36
36
 
37
37
  export { POST };
38
- //# sourceMappingURL=_server.ts-CcQbKaET.js.map
38
+ //# sourceMappingURL=_server.ts-BbzbsVfr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CcQbKaET.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { s as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ success: true, member });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-BbzbsVfr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { s as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ success: true, member });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { r as definitionService } from './providers.server-C32WKtDL.js';
3
- import { g as requireEditableDefinition } from './access.server-GvriCjXN.js';
4
- import { h as handleApiError } 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 } from './api-errors-DGHmIOGJ.js';
5
5
  import { G as GuidSchema } from './context-9tV9WxQ5.js';
6
6
  import './shared-server-DaWdgxVh.js';
7
7
  import 'node:url';
@@ -27,4 +27,4 @@ const DELETE = async ({ params, locals }) => {
27
27
  };
28
28
 
29
29
  export { DELETE };
30
- //# sourceMappingURL=_server.ts-BLHjzdRp.js.map
30
+ //# sourceMappingURL=_server.ts-BdKZ7aOG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BLHjzdRp.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_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 } from \"../../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const versionParsed = GuidSchema.safeParse(params.versionId);\n if (!versionParsed.success) throw error(400, \"Invalid or missing version ID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await definitionService.deleteVersion(ctx, guidParsed.data, versionParsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete version\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACtE,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9D,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AAC/E,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI;AACN,IAAI,MAAM,iBAAiB,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;AACnF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,0BAA0B,CAAC;AACnD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-BdKZ7aOG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_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 } from \"../../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) throw error(400, \"Invalid or missing GUID\");\n const versionParsed = GuidSchema.safeParse(params.versionId);\n if (!versionParsed.success) throw error(400, \"Invalid or missing version ID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await definitionService.deleteVersion(ctx, guidParsed.data, versionParsed.data);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete version\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AACtE,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9D,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AAC/E,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI;AACN,IAAI,MAAM,iBAAiB,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;AACnF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,0BAA0B,CAAC;AACnD,EAAE;AACF;;;;"}
@@ -1,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';
@@ -27,4 +27,4 @@ const GET = async ({ url, cookies }) => {
27
27
  };
28
28
 
29
29
  export { GET };
30
- //# sourceMappingURL=_server.ts-BpkR7TzP.js.map
30
+ //# sourceMappingURL=_server.ts-BgsmlYb6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BpkR7TzP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/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 emailLink = getAuthProvider().emailLink;\n if (!emailLink) {\n throw error(501, \"Email sign-in is not supported by this provider.\");\n }\n const result = await emailLink.verifyMagicLink(url.toString());\n if (!result) throw error(401, \"This sign-in link is invalid or has expired.\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n if (result.refreshToken) setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS;AAC/C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8CAA8C,CAAC;AAC/E,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-BgsmlYb6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/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 emailLink = getAuthProvider().emailLink;\n if (!emailLink) {\n throw error(501, \"Email sign-in is not supported by this provider.\");\n }\n const result = await emailLink.verifyMagicLink(url.toString());\n if (!result) throw error(401, \"This sign-in link is invalid or has expired.\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n if (result.refreshToken) setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS;AAC/C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8CAA8C,CAAC;AAC/E,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { json, error } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { c as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from './providers.server-C32WKtDL.js';
4
- import { a as requireInstanceAdmin } from './access.server-GvriCjXN.js';
5
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
3
+ import { c as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from './providers.server-Duyx-08B.js';
4
+ import { a as requireInstanceAdmin } from './access.server-DVG3xnR_.js';
5
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
6
6
  import { C as CreateOrgSchema } from './context-9tV9WxQ5.js';
7
7
  import './shared-server-DaWdgxVh.js';
8
8
  import 'node:url';
@@ -55,4 +55,4 @@ const POST = async ({ request, locals }) => {
55
55
  };
56
56
 
57
57
  export { GET, POST };
58
- //# sourceMappingURL=_server.ts-BUc1sqlR.js.map
58
+ //# sourceMappingURL=_server.ts-BnN8EQwQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BUc1sqlR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_server.ts.js"],"sourcesContent":["import { json, error } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { a as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } 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 { C as CreateOrgSchema } from \"../../../../../chunks/context.js\";\nconst GET = async ({ locals, url }) => {\n requireInstanceAdmin(locals);\n const ctx = locals.ctx;\n const rawLimit = Number(url.searchParams.get(\"limit\") ?? 200);\n const limit = Number.isFinite(rawLimit) ? Math.min(Math.max(rawLimit, 1), MAX_PAGE_LIMIT) : 200;\n const cursor = url.searchParams.get(\"cursor\") ?? void 0;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit, cursor });\n return json({ orgs: page.items, nextCursor: page.nextCursor });\n } catch (err) {\n handleApiError(err, \"Failed to list orgs\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = CreateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const org = {\n id: randomUUID(),\n name: parsed.data.name,\n slug: parsed.data.slug,\n ownerId: user.id,\n createdBy: user.id,\n updatedBy: user.id,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await getOrganizationProvider().createOrg(ctx, org);\n return json(org, { status: 201 });\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to create org\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACvC,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;AAC/D,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,GAAG;AACjG,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM;AACzD,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACjF,IAAI,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAC9C,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC5C,EAAE,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAC3C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,GAAG,GAAG;AACd,IAAI,EAAE,EAAE,UAAU,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC1B,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC1B,IAAI,OAAO,EAAE,IAAI,CAAC,EAAE;AACpB,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE;AACtB,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE;AACtB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-BnN8EQwQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_server.ts.js"],"sourcesContent":["import { json, error } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { a as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } 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 { C as CreateOrgSchema } from \"../../../../../chunks/context.js\";\nconst GET = async ({ locals, url }) => {\n requireInstanceAdmin(locals);\n const ctx = locals.ctx;\n const rawLimit = Number(url.searchParams.get(\"limit\") ?? 200);\n const limit = Number.isFinite(rawLimit) ? Math.min(Math.max(rawLimit, 1), MAX_PAGE_LIMIT) : 200;\n const cursor = url.searchParams.get(\"cursor\") ?? void 0;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit, cursor });\n return json({ orgs: page.items, nextCursor: page.nextCursor });\n } catch (err) {\n handleApiError(err, \"Failed to list orgs\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = CreateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const org = {\n id: randomUUID(),\n name: parsed.data.name,\n slug: parsed.data.slug,\n ownerId: user.id,\n createdBy: user.id,\n updatedBy: user.id,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await getOrganizationProvider().createOrg(ctx, org);\n return json(org, { status: 201 });\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to create org\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACvC,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;AAC/D,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,GAAG;AACjG,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM;AACzD,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACjF,IAAI,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAC9C,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC5C,EAAE,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAC3C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,GAAG,GAAG;AACd,IAAI,EAAE,EAAE,UAAU,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC1B,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC1B,IAAI,OAAO,EAAE,IAAI,CAAC,EAAE;AACpB,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE;AACtB,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE;AACtB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { z } from 'zod';
4
- import { d as getInviteStore } from './providers.server-C32WKtDL.js';
5
- import { i as requireManageOrgMembers } from './access.server-GvriCjXN.js';
6
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
4
+ import { d as getInviteStore } from './providers.server-Duyx-08B.js';
5
+ import { i as requireManageOrgMembers } from './access.server-DVG3xnR_.js';
6
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
7
7
  import { M as MEMBER_ASSIGNABLE_PERMISSIONS, D as DEFAULT_ORG_PERMISSIONS, f as OrgRoleSchema, P as PlatformPermissionSchema, O as OrgPermissionSchema } from './context-9tV9WxQ5.js';
8
8
  import { s as splitFlatPermissions } from './permissions-compat.server-DSV7bClF.js';
9
9
  import { m as mintRawToken, h as hashToken } from './token.server2-D0Z99lBB.js';
@@ -67,4 +67,4 @@ const POST = async ({ request, locals, url }) => {
67
67
  };
68
68
 
69
69
  export { GET, POST };
70
- //# sourceMappingURL=_server.ts-pDmNGXOa.js.map
70
+ //# sourceMappingURL=_server.ts-ByhZiyPJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-pDmNGXOa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/invites/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { z } from \"zod\";\nimport { n as getInviteStore } from \"../../../../chunks/providers.server.js\";\nimport { i as requireManageOrgMembers } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS, D as DEFAULT_ORG_PERMISSIONS } from \"../../../../chunks/context.js\";\nimport { s as splitFlatPermissions } from \"../../../../chunks/permissions-compat.server.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../chunks/token.server2.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst CreateBody = z.object({\n email: z.string().email(\"Valid email is required\").transform((s) => s.toLowerCase().trim()),\n orgRole: OrgRoleSchema.default(\"member\"),\n permissions: z.array(FlatPermissionSchema).default([])\n});\nconst INVITE_TTL_MS = 7 * 24 * 60 * 60 * 1e3;\nconst GET = async ({ locals }) => {\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getInviteStore().listByOrg(ctx, ctx.actingOrgId, { limit: 200 });\n const items = page.items.map(({ tokenHash: _omit, ...rest }) => rest);\n return json(items);\n } catch (err) {\n handleApiError(err, \"Failed to list invites\");\n }\n};\nconst POST = async ({ request, locals, url }) => {\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n const user = locals.user;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const body = await request.json().catch(() => null);\n const parsed = CreateBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n const { org: submittedOrgPerms } = splitFlatPermissions(parsed.data.permissions);\n const orgPermissions = parsed.data.orgRole === \"member\" ? submittedOrgPerms.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[parsed.data.orgRole]];\n const rawToken = mintRawToken();\n const now = /* @__PURE__ */ new Date();\n const invite = {\n id: randomUUID(),\n tokenHash: hashToken(rawToken),\n email: parsed.data.email,\n orgId: ctx.actingOrgId,\n orgRole: parsed.data.orgRole,\n orgPermissions,\n invitedBy: user.id,\n createdAt: now.toISOString(),\n expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()\n };\n await getInviteStore().create(ctx, invite);\n const acceptUrl = `${url.origin}/accept-invite?token=${rawToken}`;\n const { tokenHash: _omit, ...inviteForClient } = invite;\n return json({ invite: inviteForClient, acceptUrl }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create invite\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-ByhZiyPJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/invites/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { z } from \"zod\";\nimport { n as getInviteStore } from \"../../../../chunks/providers.server.js\";\nimport { i as requireManageOrgMembers } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, O as OrgPermissionSchema, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS, D as DEFAULT_ORG_PERMISSIONS } from \"../../../../chunks/context.js\";\nimport { s as splitFlatPermissions } from \"../../../../chunks/permissions-compat.server.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../chunks/token.server2.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst CreateBody = z.object({\n email: z.string().email(\"Valid email is required\").transform((s) => s.toLowerCase().trim()),\n orgRole: OrgRoleSchema.default(\"member\"),\n permissions: z.array(FlatPermissionSchema).default([])\n});\nconst INVITE_TTL_MS = 7 * 24 * 60 * 60 * 1e3;\nconst GET = async ({ locals }) => {\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getInviteStore().listByOrg(ctx, ctx.actingOrgId, { limit: 200 });\n const items = page.items.map(({ tokenHash: _omit, ...rest }) => rest);\n return json(items);\n } catch (err) {\n handleApiError(err, \"Failed to list invites\");\n }\n};\nconst POST = async ({ request, locals, url }) => {\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n const user = locals.user;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const body = await request.json().catch(() => null);\n const parsed = CreateBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n const { org: submittedOrgPerms } = splitFlatPermissions(parsed.data.permissions);\n const orgPermissions = parsed.data.orgRole === \"member\" ? submittedOrgPerms.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[parsed.data.orgRole]];\n const rawToken = mintRawToken();\n const now = /* @__PURE__ */ new Date();\n const invite = {\n id: randomUUID(),\n tokenHash: hashToken(rawToken),\n email: parsed.data.email,\n orgId: ctx.actingOrgId,\n orgRole: parsed.data.orgRole,\n orgPermissions,\n invitedBy: user.id,\n createdAt: now.toISOString(),\n expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()\n };\n await getInviteStore().create(ctx, invite);\n const acceptUrl = `${url.origin}/accept-invite?token=${rawToken}`;\n const { tokenHash: _omit, ...inviteForClient } = invite;\n return json({ invite: inviteForClient, acceptUrl }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create invite\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
3
  import { M as MEMBER_ASSIGNABLE_PERMISSIONS, a as ALL_ORG_PERMISSIONS, f as OrgRoleSchema } from './context-9tV9WxQ5.js';
4
- import { c as getOrganizationProvider } from './providers.server-C32WKtDL.js';
5
- import { i as requireManageOrgMembers } from './access.server-GvriCjXN.js';
6
- import { t as throwZodError, h as handleApiError } from './api-errors-Dk5z97zb.js';
4
+ import { c as getOrganizationProvider } from './providers.server-Duyx-08B.js';
5
+ import { i as requireManageOrgMembers } from './access.server-DVG3xnR_.js';
6
+ import { t as throwZodError, h as handleApiError } from './api-errors-DGHmIOGJ.js';
7
7
  import './shared-server-DaWdgxVh.js';
8
8
  import 'node:url';
9
9
  import 'node:path';
@@ -78,4 +78,4 @@ const PATCH = async ({ params, request, locals }) => {
78
78
  };
79
79
 
80
80
  export { PATCH };
81
- //# sourceMappingURL=_server.ts-D1AD48e8.js.map
81
+ //# sourceMappingURL=_server.ts-C2YLv0RS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D1AD48e8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../../chunks/context.js\";\nimport { a as getOrganizationProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { i as requireManageOrgMembers } from \"../../../../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../../../chunks/api-errors.js\";\nconst PERMISSIONS_SCHEMA = z.array(\n z.enum(ALL_ORG_PERMISSIONS)\n);\nconst PatchSchema = z.object({\n role: OrgRoleSchema.optional(),\n permissions: PERMISSIONS_SCHEMA.optional()\n}).refine((b) => b.role !== void 0 || b.permissions !== void 0, {\n message: \"Provide at least one of role, permissions\"\n});\nconst PATCH = async ({ params, request, locals }) => {\n const { orgId, userId } = params;\n if (!orgId || !userId) throw error(400, \"Missing org ID or user ID\");\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (ctx.actingOrgId !== orgId) {\n throw error(403, \"Acting org does not match the target org.\");\n }\n const body = await request.json().catch(() => null);\n const parsed = PatchSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const patch = parsed.data;\n const orgs = getOrganizationProvider();\n const [actorMember, target] = await Promise.all([\n orgs.getOrgMember(ctx, orgId, ctx.userId),\n orgs.getOrgMember(ctx, orgId, userId)\n ]);\n if (!target) throw error(404, \"Member not found in this organization.\");\n if (!actorMember) throw error(403, \"You are not a member of this organization.\");\n if (patch.role !== void 0 && patch.role !== target.role) {\n if (actorMember.role !== \"owner\") {\n throw error(403, \"Only the org owner can change roles.\");\n }\n if (target.role === \"owner\" && patch.role !== \"owner\") {\n const page = await orgs.listOrgMembers(ctx, orgId, { limit: 200 });\n const otherOwners = page.items.filter(\n (m) => m.role === \"owner\" && m.userId !== target.userId && !m.deletedAt\n );\n if (otherOwners.length === 0) {\n throw error(\n 409,\n \"Cannot demote the sole owner of this organization. Promote another member to owner first.\"\n );\n }\n }\n await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);\n }\n if (patch.permissions !== void 0) {\n const effectiveRole = patch.role ?? target.role;\n const valid = effectiveRole === \"member\" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);\n const invalid = patch.permissions.filter((p) => !valid.has(p));\n if (invalid.length > 0) {\n throw error(\n 400,\n `Permissions [${invalid.join(\", \")}] cannot be assigned to a ${effectiveRole}.`\n );\n }\n try {\n await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);\n } catch (err) {\n handleApiError(err, \"Failed to update permissions\");\n }\n }\n return json({ success: true });\n};\nexport {\n PATCH\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C2YLv0RS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../../chunks/context.js\";\nimport { a as getOrganizationProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { i as requireManageOrgMembers } from \"../../../../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../../../chunks/api-errors.js\";\nconst PERMISSIONS_SCHEMA = z.array(\n z.enum(ALL_ORG_PERMISSIONS)\n);\nconst PatchSchema = z.object({\n role: OrgRoleSchema.optional(),\n permissions: PERMISSIONS_SCHEMA.optional()\n}).refine((b) => b.role !== void 0 || b.permissions !== void 0, {\n message: \"Provide at least one of role, permissions\"\n});\nconst PATCH = async ({ params, request, locals }) => {\n const { orgId, userId } = params;\n if (!orgId || !userId) throw error(400, \"Missing org ID or user ID\");\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (ctx.actingOrgId !== orgId) {\n throw error(403, \"Acting org does not match the target org.\");\n }\n const body = await request.json().catch(() => null);\n const parsed = PatchSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const patch = parsed.data;\n const orgs = getOrganizationProvider();\n const [actorMember, target] = await Promise.all([\n orgs.getOrgMember(ctx, orgId, ctx.userId),\n orgs.getOrgMember(ctx, orgId, userId)\n ]);\n if (!target) throw error(404, \"Member not found in this organization.\");\n if (!actorMember) throw error(403, \"You are not a member of this organization.\");\n if (patch.role !== void 0 && patch.role !== target.role) {\n if (actorMember.role !== \"owner\") {\n throw error(403, \"Only the org owner can change roles.\");\n }\n if (target.role === \"owner\" && patch.role !== \"owner\") {\n const page = await orgs.listOrgMembers(ctx, orgId, { limit: 200 });\n const otherOwners = page.items.filter(\n (m) => m.role === \"owner\" && m.userId !== target.userId && !m.deletedAt\n );\n if (otherOwners.length === 0) {\n throw error(\n 409,\n \"Cannot demote the sole owner of this organization. Promote another member to owner first.\"\n );\n }\n }\n await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);\n }\n if (patch.permissions !== void 0) {\n const effectiveRole = patch.role ?? target.role;\n const valid = effectiveRole === \"member\" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);\n const invalid = patch.permissions.filter((p) => !valid.has(p));\n if (invalid.length > 0) {\n throw error(\n 400,\n `Permissions [${invalid.join(\", \")}] cannot be assigned to a ${effectiveRole}.`\n );\n }\n try {\n await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);\n } catch (err) {\n handleApiError(err, \"Failed to update permissions\");\n }\n }\n return json({ success: true });\n};\nexport {\n PATCH\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
- import { c as getOrganizationProvider, P as ProviderError } from './providers.server-C32WKtDL.js';
3
- import { a as requireInstanceAdmin } from './access.server-GvriCjXN.js';
4
- import { h as handleApiError, t as throwZodError } from './api-errors-Dk5z97zb.js';
2
+ import { c as getOrganizationProvider, P as ProviderError } from './providers.server-Duyx-08B.js';
3
+ import { a as requireInstanceAdmin } from './access.server-DVG3xnR_.js';
4
+ import { h as handleApiError, t as throwZodError } from './api-errors-DGHmIOGJ.js';
5
5
  import { U as UpdateOrgSchema } from './context-9tV9WxQ5.js';
6
6
  import './shared-server-DaWdgxVh.js';
7
7
  import 'node:url';
@@ -45,4 +45,4 @@ const DELETE = async ({ params, locals }) => {
45
45
  };
46
46
 
47
47
  export { DELETE, PATCH };
48
- //# sourceMappingURL=_server.ts-Ch_RLYHQ.js.map
48
+ //# sourceMappingURL=_server.ts-C3Cn_AWJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Ch_RLYHQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { a as getOrganizationProvider, P as ProviderError } 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 { U as UpdateOrgSchema } from \"../../../../../../chunks/context.js\";\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getOrganizationProvider().updateOrg(ctx, id, parsed.data);\n const updated = await getOrganizationProvider().getOrg(ctx, id);\n return json(updated);\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to update org\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete org\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACrD,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;AACtD,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts-C3Cn_AWJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { a as getOrganizationProvider, P as ProviderError } 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 { U as UpdateOrgSchema } from \"../../../../../../chunks/context.js\";\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateOrgSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getOrganizationProvider().updateOrg(ctx, id, parsed.data);\n const updated = await getOrganizationProvider().getOrg(ctx, id);\n return json(updated);\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 409) {\n throw error(409, err.message);\n }\n handleApiError(err, \"Failed to update org\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete org\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKK,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACrD,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAChE,MAAM,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,uBAAuB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;AACtD,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -1,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, q as checkOwnerRemoval } 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, q as checkOwnerRemoval } 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';
@@ -68,4 +68,4 @@ const DELETE = async ({ params, url, locals }) => {
68
68
  };
69
69
 
70
70
  export { DELETE, PATCH };
71
- //# sourceMappingURL=_server.ts-Z87uowZI.js.map
71
+ //# sourceMappingURL=_server.ts-C9ggXEGb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Z87uowZI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_userId_/_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, q as checkOwnerRemoval } 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 UpdateRoleSchema = z.object({ role: ProjectRoleSchema });\nconst PATCH = async ({ params, request, locals }) => {\n const { id, userId } = params;\n if (!id || !userId) throw error(400, \"Missing project ID or user ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateRoleSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getProjectProvider().updateProjectMemberRole(ctx, id, userId, parsed.data.role);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to update role\");\n }\n};\nconst DELETE = async ({ params, url, locals }) => {\n const { id, userId } = params;\n if (!id || !userId) throw error(400, \"Missing project ID or user ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const confirmed = url.searchParams.get(\"confirm\") === \"true\";\n const projects = getProjectProvider();\n const target = await projects.getProjectMember(ctx, id, userId);\n if (!target) {\n return json({ success: true });\n }\n if (target.role === \"owner\") {\n const page = await projects.listProjectMembers(ctx, id, { limit: 200 });\n const decision = checkOwnerRemoval({\n target: { role: target.role },\n allMembers: page.items.map((m) => ({ role: m.role })),\n confirmed\n });\n if (decision === \"sole_owner\") {\n throw error(\n 409,\n \"Cannot remove the sole owner of a project. Assign another owner first, or use reclaim to add a co-owner.\"\n );\n }\n if (decision === \"needs_confirm\") {\n throw error(\n 409,\n \"Removing another project owner requires explicit confirmation. Retry with ?confirm=true.\"\n );\n }\n }\n try {\n await projects.removeProjectMember(ctx, id, userId);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to remove member\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C9ggXEGb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_userId_/_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, q as checkOwnerRemoval } 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 UpdateRoleSchema = z.object({ role: ProjectRoleSchema });\nconst PATCH = async ({ params, request, locals }) => {\n const { id, userId } = params;\n if (!id || !userId) throw error(400, \"Missing project ID or user ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = UpdateRoleSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getProjectProvider().updateProjectMemberRole(ctx, id, userId, parsed.data.role);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to update role\");\n }\n};\nconst DELETE = async ({ params, url, locals }) => {\n const { id, userId } = params;\n if (!id || !userId) throw error(400, \"Missing project ID or user ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const confirmed = url.searchParams.get(\"confirm\") === \"true\";\n const projects = getProjectProvider();\n const target = await projects.getProjectMember(ctx, id, userId);\n if (!target) {\n return json({ success: true });\n }\n if (target.role === \"owner\") {\n const page = await projects.listProjectMembers(ctx, id, { limit: 200 });\n const decision = checkOwnerRemoval({\n target: { role: target.role },\n allMembers: page.items.map((m) => ({ role: m.role })),\n confirmed\n });\n if (decision === \"sole_owner\") {\n throw error(\n 409,\n \"Cannot remove the sole owner of a project. Assign another owner first, or use reclaim to add a co-owner.\"\n );\n }\n if (decision === \"needs_confirm\") {\n throw error(\n 409,\n \"Removing another project owner requires explicit confirmation. Retry with ?confirm=true.\"\n );\n }\n }\n try {\n await projects.removeProjectMember(ctx, id, userId);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to remove member\");\n }\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { error, redirect } from '@sveltejs/kit';
2
- import { g as getAuthProvider } from './providers.server-C32WKtDL.js';
2
+ import { g as getAuthProvider } from './providers.server-Duyx-08B.js';
3
3
  import './shared-server-DaWdgxVh.js';
4
4
  import 'node:url';
5
5
  import 'node:path';
@@ -33,4 +33,4 @@ const GET = async ({ url }) => {
33
33
  };
34
34
 
35
35
  export { GET };
36
- //# sourceMappingURL=_server.ts-B0wiCYbB.js.map
36
+ //# sourceMappingURL=_server.ts-CKHs57oZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B0wiCYbB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/start/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nconst ALLOWED_PROVIDERS = [\"google\", \"github\", \"azure\", \"gitlab\"];\nfunction isAllowedProvider(value) {\n return value !== null && ALLOWED_PROVIDERS.includes(value);\n}\nconst GET = async ({ url }) => {\n const provider = url.searchParams.get(\"provider\");\n if (!isAllowedProvider(provider)) {\n throw error(400, `Invalid provider. Allowed: ${ALLOWED_PROVIDERS.join(\", \")}`);\n }\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n throw error(501, \"OAuth is not supported by the configured auth provider.\");\n }\n const redirectTo = url.searchParams.get(\"redirectTo\") ?? \"/library\";\n const callbackUrl = new URL(\"/auth/supabase/callback\", url.origin);\n if (redirectTo.startsWith(\"/\")) {\n callbackUrl.searchParams.set(\"redirectTo\", redirectTo);\n }\n const authorizationUrl = await oauth.getOAuthAuthorizationUrl(provider, callbackUrl.toString());\n redirect(303, authorizationUrl);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AACjE,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,OAAO,KAAK,KAAK,IAAI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC5D;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;AACpC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF,EAAE;AACF,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,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU;AACrE,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC;AACpE,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAClC,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACjG,EAAE,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACjC;;;;"}
1
+ {"version":3,"file":"_server.ts-CKHs57oZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/start/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nconst ALLOWED_PROVIDERS = [\"google\", \"github\", \"azure\", \"gitlab\"];\nfunction isAllowedProvider(value) {\n return value !== null && ALLOWED_PROVIDERS.includes(value);\n}\nconst GET = async ({ url }) => {\n const provider = url.searchParams.get(\"provider\");\n if (!isAllowedProvider(provider)) {\n throw error(400, `Invalid provider. Allowed: ${ALLOWED_PROVIDERS.join(\", \")}`);\n }\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n throw error(501, \"OAuth is not supported by the configured auth provider.\");\n }\n const redirectTo = url.searchParams.get(\"redirectTo\") ?? \"/library\";\n const callbackUrl = new URL(\"/auth/supabase/callback\", url.origin);\n if (redirectTo.startsWith(\"/\")) {\n callbackUrl.searchParams.set(\"redirectTo\", redirectTo);\n }\n const authorizationUrl = await oauth.getOAuthAuthorizationUrl(provider, callbackUrl.toString());\n redirect(303, authorizationUrl);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AACjE,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,OAAO,KAAK,KAAK,IAAI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC5D;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;AACpC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF,EAAE;AACF,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,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU;AACrE,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC;AACpE,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAClC,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACjG,EAAE,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACjC;;;;"}