@selvajs/selva 4.6.21-beta.1 → 4.7.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/build/client/_app/immutable/chunks/{CaWnsi86.js → 9i3rf9gV.js} +1 -1
  2. package/build/client/_app/immutable/chunks/9i3rf9gV.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/9i3rf9gV.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{B5OJUbsp.js → BUuRpU5m.js} +1 -1
  5. package/build/client/_app/immutable/chunks/BUuRpU5m.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BUuRpU5m.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{CQlm8KiO.js → C1lje54W.js} +1 -1
  8. package/build/client/_app/immutable/chunks/C1lje54W.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/C1lje54W.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{BUSu7k-8.js → CNzANXEE.js} +1 -1
  11. package/build/client/_app/immutable/chunks/CNzANXEE.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CNzANXEE.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{BL2t7cAH.js → CZrHjFO_.js} +1 -1
  14. package/build/client/_app/immutable/chunks/CZrHjFO_.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/CZrHjFO_.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{B2u4e1Y9.js → CtQi8B_W.js} +5 -5
  17. package/build/client/_app/immutable/chunks/CtQi8B_W.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CtQi8B_W.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{CbzchbHa.js → D0ZkELYt.js} +1 -1
  20. package/build/client/_app/immutable/chunks/D0ZkELYt.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/D0ZkELYt.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{DAFm-rT0.js → DvWy04ZP.js} +2 -2
  23. package/build/client/_app/immutable/chunks/DvWy04ZP.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DvWy04ZP.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/{app.CUiJWB53.js → app.CHLvYXSV.js} +2 -2
  26. package/build/client/_app/immutable/entry/app.CHLvYXSV.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.CHLvYXSV.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js +1 -0
  29. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.br +2 -0
  30. package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{1.jBltffEQ.js → 1.DHaPDVfK.js} +1 -1
  32. package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{11.fnbbU5fQ.js → 11.DhYj36Fk.js} +1 -1
  35. package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{13.CokPGn13.js → 13.CfJOch3J.js} +1 -1
  38. package/build/client/_app/immutable/nodes/13.CfJOch3J.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/13.CfJOch3J.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{14.BOBvQoRO.js → 14.DisTiyB2.js} +1 -1
  41. package/build/client/_app/immutable/nodes/14.DisTiyB2.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/14.DisTiyB2.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{15.rVnmmhFk.js → 15.A437nu0T.js} +1 -1
  44. package/build/client/_app/immutable/nodes/15.A437nu0T.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/15.A437nu0T.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{16.CT8CyQj6.js → 16.B9S-bV_g.js} +1 -1
  47. package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{17.D4no7cGI.js → 17.BRN_aGIk.js} +1 -1
  50. package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{19.BLra_dlM.js → 19.DwCFMX9M.js} +1 -1
  53. package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{2.MyCVVapl.js → 2.DP5fYr4M.js} +1 -1
  56. package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js +5414 -0
  59. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{21.CE1lAxCo.js → 21.OD5sg0NU.js} +1 -1
  62. package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js +16 -0
  65. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{24.8w-n98Zt.js → 24.CEgabT6P.js} +1 -1
  68. package/build/client/_app/immutable/nodes/24.CEgabT6P.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/24.CEgabT6P.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{27.CTvZ6KxX.js → 27.CRIaBHAx.js} +1 -1
  71. package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{28.n4L9k3Rh.js → 28.BC6m2tWk.js} +1 -1
  74. package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{29.B90ZvGzu.js → 29.BFYPdg-j.js} +1 -1
  77. package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{3.C49Pdolk.js → 3.J7HfMiHi.js} +1 -1
  80. package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{30.CGkD_uX2.js → 30.60AXFjfN.js} +1 -1
  83. package/build/client/_app/immutable/nodes/30.60AXFjfN.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/30.60AXFjfN.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{5.BD_FrnS6.js → 5.CLnvzJQ1.js} +1 -1
  86. package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.br +1 -0
  87. package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{6.FHxxXtNY.js → 6.8mUhfqtj.js} +1 -1
  89. package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{7.rgqW6l_z.js → 7.Bu0PYCkD.js} +1 -1
  92. package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{8.CMWVVdHD.js → 8.CzmdM7pu.js} +1 -1
  95. package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{9.B1DVTVqB.js → 9.BogAwqgH.js} +1 -1
  98. package/build/client/_app/immutable/nodes/9.BogAwqgH.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/9.BogAwqgH.js.gz +0 -0
  100. package/build/client/_app/version.json +1 -1
  101. package/build/client/_app/version.json.br +0 -0
  102. package/build/client/_app/version.json.gz +0 -0
  103. package/build/handler.js +4 -4
  104. package/build/index.js +4 -4
  105. package/build/server/chunks/chunks/{access.server.js-DmuVt13u.js → access.server.js-_nJWuQcN.js} +5 -5
  106. package/build/server/chunks/chunks/{access.server.js-DmuVt13u.js.map → access.server.js-_nJWuQcN.js.map} +1 -1
  107. package/build/server/chunks/chunks/{admin-auth.server.js-BAXmH56n.js → admin-auth.server.js-CitjWnKM.js} +2 -1
  108. package/build/server/chunks/chunks/admin-auth.server.js-CitjWnKM.js.map +1 -0
  109. package/build/server/chunks/chunks/{api-errors.js-CwTBBHWD.js → api-errors.js-DlfcfPJs.js} +4 -4
  110. package/build/server/chunks/chunks/{api-errors.js-CwTBBHWD.js.map → api-errors.js-DlfcfPJs.js.map} +1 -1
  111. package/build/server/chunks/chunks/{auth-bootstrap.server.js-COYZnscW.js → auth-bootstrap.server.js-S-F5QI4m.js} +3 -3
  112. package/build/server/chunks/chunks/{auth-bootstrap.server.js-COYZnscW.js.map → auth-bootstrap.server.js-S-F5QI4m.js.map} +1 -1
  113. package/build/server/chunks/chunks/{bootHealth.server.js-CsYXGGM5.js → bootHealth.server.js-CvLSuL2x.js} +2 -2
  114. package/build/server/chunks/chunks/{bootHealth.server.js-CsYXGGM5.js.map → bootHealth.server.js-CvLSuL2x.js.map} +1 -1
  115. package/build/server/chunks/chunks/{clientCache.server.js-CDbNbNdZ.js → clientCache.server.js-BS8-NdiI.js} +12 -3
  116. package/build/server/chunks/chunks/clientCache.server.js-BS8-NdiI.js.map +1 -0
  117. package/build/server/chunks/chunks/{computeLimits.js-DmiFfoef.js → computeLimits.js-CQh4jXlX.js} +10 -3
  118. package/build/server/chunks/chunks/computeLimits.js-CQh4jXlX.js.map +1 -0
  119. package/build/server/chunks/chunks/{context.js-D8E0GFTw.js → context.js-DsQGiS2x.js} +4 -1
  120. package/build/server/chunks/chunks/context.js-DsQGiS2x.js.map +1 -0
  121. package/build/server/chunks/chunks/{evictChangedServers.js-DIMjsyC2.js → evictChangedServers.js-R3UCE6wP.js} +2 -2
  122. package/build/server/chunks/chunks/{evictChangedServers.js-DIMjsyC2.js.map → evictChangedServers.js-R3UCE6wP.js.map} +1 -1
  123. package/build/server/chunks/chunks/{internal2.js-CuWB6KAD.js → internal2.js-BBcEKa-m.js} +3 -3
  124. package/build/server/chunks/chunks/{internal2.js-CuWB6KAD.js.map → internal2.js-BBcEKa-m.js.map} +1 -1
  125. package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js → org-members.server.js-DskaqUJo.js} +2 -2
  126. package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js.map → org-members.server.js-DskaqUJo.js.map} +1 -1
  127. package/build/server/chunks/chunks/{package.js-DWOK6LMe.js → package.js-Cl0z1gce.js} +2 -2
  128. package/build/server/chunks/chunks/package.js-Cl0z1gce.js.map +1 -0
  129. package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js → permissions-compat.server.js-DNsLyriU.js} +2 -2
  130. package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js.map → permissions-compat.server.js-DNsLyriU.js.map} +1 -1
  131. package/build/server/chunks/chunks/{permissions.server.js-DyHNgP29.js → permissions.server.js-C3_SFjUh.js} +2 -2
  132. package/build/server/chunks/chunks/{permissions.server.js-DyHNgP29.js.map → permissions.server.js-C3_SFjUh.js.map} +1 -1
  133. package/build/server/chunks/chunks/{providers.server.js-BKhwGvoh.js → providers.server.js-CIHOepKv.js} +84 -15
  134. package/build/server/chunks/chunks/providers.server.js-CIHOepKv.js.map +1 -0
  135. package/build/server/chunks/chunks/{resolve.server.js-BQY6Vw9q.js → resolve.server.js-Dg1o2vnd.js} +3 -3
  136. package/build/server/chunks/chunks/{resolve.server.js-BQY6Vw9q.js.map → resolve.server.js-Dg1o2vnd.js.map} +1 -1
  137. package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js +320 -0
  138. package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js.map +1 -0
  139. package/build/server/chunks/chunks/{utils4.js-C-poIiFQ.js → utils4.js-8SHxuGTr.js} +2 -2
  140. package/build/server/chunks/chunks/{utils4.js-C-poIiFQ.js.map → utils4.js-8SHxuGTr.js.map} +1 -1
  141. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-FEaDWqQ-.js → _server.ts.js-CR_1eCgH.js} +12 -9
  142. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-FEaDWqQ-.js.map → _server.ts.js-CR_1eCgH.js.map} +1 -1
  143. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-wswn41ri.js → _server.ts.js-D1UFM_o6.js} +6 -6
  144. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-wswn41ri.js.map → _server.ts.js-D1UFM_o6.js.map} +1 -1
  145. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-cfwFu61A.js → _server.ts.js-DdzXkztc.js} +6 -6
  146. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-cfwFu61A.js.map → _server.ts.js-DdzXkztc.js.map} +1 -1
  147. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-r_akFPa5.js → _server.ts.js-CqdBKOC6.js} +6 -6
  148. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-r_akFPa5.js.map → _server.ts.js-CqdBKOC6.js.map} +1 -1
  149. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-Dz9PdbxZ.js → _server.ts.js-Bi3NbLd3.js} +11 -7
  150. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-Dz9PdbxZ.js.map → _server.ts.js-Bi3NbLd3.js.map} +1 -1
  151. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-B2mbaw2T.js → _server.ts.js-C3ZwVpyg.js} +6 -6
  152. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-B2mbaw2T.js.map → _server.ts.js-C3ZwVpyg.js.map} +1 -1
  153. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-VDXjaCes.js → _server.ts.js-CAe8T4G6.js} +6 -6
  154. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-VDXjaCes.js.map → _server.ts.js-CAe8T4G6.js.map} +1 -1
  155. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-Dsm-skvk.js → _server.ts.js-DHYHT1N8.js} +6 -6
  156. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-Dsm-skvk.js.map → _server.ts.js-DHYHT1N8.js.map} +1 -1
  157. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-D84Sx6Yr.js → _server.ts.js-Cgt7iGfE.js} +6 -6
  158. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-D84Sx6Yr.js.map → _server.ts.js-Cgt7iGfE.js.map} +1 -1
  159. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CL7CRFYL.js → _server.ts.js-BFi1Di59.js} +6 -6
  160. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CL7CRFYL.js.map → _server.ts.js-BFi1Di59.js.map} +1 -1
  161. package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-C4gB5liV.js → _server.ts.js-Br7kd03s.js} +6 -6
  162. package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-C4gB5liV.js.map → _server.ts.js-Br7kd03s.js.map} +1 -1
  163. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-Dyzp1Ed5.js → _server.ts.js-ufKMuphM.js} +6 -6
  164. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-Dyzp1Ed5.js.map → _server.ts.js-ufKMuphM.js.map} +1 -1
  165. package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-D_iGos7D.js → _server.ts.js-D-IGlEji.js} +6 -6
  166. package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-D_iGos7D.js.map → _server.ts.js-D-IGlEji.js.map} +1 -1
  167. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BZ9V4O5o.js → _server.ts.js-7Efk1xkU.js} +8 -8
  168. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BZ9V4O5o.js.map → _server.ts.js-7Efk1xkU.js.map} +1 -1
  169. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-mHiVbBvJ.js → _server.ts.js-4UrDw7Q3.js} +6 -6
  170. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-mHiVbBvJ.js.map → _server.ts.js-4UrDw7Q3.js.map} +1 -1
  171. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-BSaEm6NT.js → _server.ts.js-B9ZWJoST.js} +9 -9
  172. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-BSaEm6NT.js.map → _server.ts.js-B9ZWJoST.js.map} +1 -1
  173. package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-D4bNHN4G.js → _server.ts.js-D9qvgnX7.js} +291 -186
  174. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D9qvgnX7.js.map +1 -0
  175. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-B7eQrn5z.js → _server.ts.js-CoS51dOD.js} +12 -8
  176. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-B7eQrn5z.js.map → _server.ts.js-CoS51dOD.js.map} +1 -1
  177. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js-Cz3IeQFv.js → _server.ts.js-D7jS25IN.js} +11 -7
  178. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js-Cz3IeQFv.js.map → _server.ts.js-D7jS25IN.js.map} +1 -1
  179. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-DXHMLHCZ.js → _server.ts.js-5hlsFhI1.js} +11 -7
  180. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-DXHMLHCZ.js.map → _server.ts.js-5hlsFhI1.js.map} +1 -1
  181. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-DDFALbrW.js → _server.ts.js-CRMcPOgH.js} +11 -7
  182. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-DDFALbrW.js.map → _server.ts.js-CRMcPOgH.js.map} +1 -1
  183. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BLFkRWdR.js → _server.ts.js-C8-AAq8y.js} +6 -6
  184. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BLFkRWdR.js.map → _server.ts.js-C8-AAq8y.js.map} +1 -1
  185. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DNn2RLbg.js → _server.ts.js-LV0ZGJh9.js} +6 -6
  186. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DNn2RLbg.js.map → _server.ts.js-LV0ZGJh9.js.map} +1 -1
  187. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-C1kcEgFH.js → _server.ts.js-OUvpfSN4.js} +6 -6
  188. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-C1kcEgFH.js.map → _server.ts.js-OUvpfSN4.js.map} +1 -1
  189. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-QtHon7Wj.js → _server.ts.js-BJxBKsrU.js} +6 -6
  190. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-QtHon7Wj.js.map → _server.ts.js-BJxBKsrU.js.map} +1 -1
  191. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-B-BIRyeB.js → _server.ts.js-BaHW7TEs.js} +6 -6
  192. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-B-BIRyeB.js.map → _server.ts.js-BaHW7TEs.js.map} +1 -1
  193. package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-d85ctZ0O.js → _server.ts.js-CBMi-KUD.js} +11 -7
  194. package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-d85ctZ0O.js.map → _server.ts.js-CBMi-KUD.js.map} +1 -1
  195. package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-6l-xiYHL.js → _server.ts.js-C98KkHLg.js} +5 -5
  196. package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-6l-xiYHL.js.map → _server.ts.js-C98KkHLg.js.map} +1 -1
  197. package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-BtxES8ti.js → _server.ts.js-CeTV6qVK.js} +6 -6
  198. package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-BtxES8ti.js.map → _server.ts.js-CeTV6qVK.js.map} +1 -1
  199. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-C_3MjeSe.js → _server.ts.js-7eclLbhJ.js} +4 -4
  200. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-C_3MjeSe.js.map → _server.ts.js-7eclLbhJ.js.map} +1 -1
  201. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-ySV5afMZ.js → _server.ts.js-DNh5594J.js} +6 -6
  202. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-ySV5afMZ.js.map → _server.ts.js-DNh5594J.js.map} +1 -1
  203. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-DqwKI0zG.js → _server.ts.js-DGKHjtw8.js} +7 -7
  204. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-DqwKI0zG.js.map → _server.ts.js-DGKHjtw8.js.map} +1 -1
  205. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-CwA4cn3b.js → _server.ts.js-CZ50nT84.js} +5 -5
  206. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-CwA4cn3b.js.map → _server.ts.js-CZ50nT84.js.map} +1 -1
  207. package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-BJLD9Sdd.js → _server.ts.js-Bf1qSz52.js} +12 -9
  208. package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-BJLD9Sdd.js.map → _server.ts.js-Bf1qSz52.js.map} +1 -1
  209. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-CmEy9_xs.js → _server.ts.js-8PZedKem.js} +6 -6
  210. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-CmEy9_xs.js.map → _server.ts.js-8PZedKem.js.map} +1 -1
  211. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BsmaIO4W.js → _server.ts.js-C6v2wqYB.js} +6 -6
  212. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BsmaIO4W.js.map → _server.ts.js-C6v2wqYB.js.map} +1 -1
  213. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-BYNfJBN-.js → _server.ts.js-B3WPTw6C.js} +6 -6
  214. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-BYNfJBN-.js.map → _server.ts.js-B3WPTw6C.js.map} +1 -1
  215. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-09yy-8Do.js → _server.ts.js-CY3ngc5p.js} +6 -6
  216. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-09yy-8Do.js.map → _server.ts.js-CY3ngc5p.js.map} +1 -1
  217. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-BPOOqdIh.js → _server.ts.js-DMAeVu3R.js} +6 -6
  218. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-BPOOqdIh.js.map → _server.ts.js-DMAeVu3R.js.map} +1 -1
  219. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-CEtV1j4c.js → _server.ts.js-D32BzObk.js} +6 -6
  220. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-CEtV1j4c.js.map → _server.ts.js-D32BzObk.js.map} +1 -1
  221. package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-DCZuEtwq.js → _server.ts.js-DREl2Sbq.js} +11 -7
  222. package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-DCZuEtwq.js.map → _server.ts.js-DREl2Sbq.js.map} +1 -1
  223. package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-v1m8UM1y.js → _server.ts.js-CmIWOQ81.js} +11 -7
  224. package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-v1m8UM1y.js.map → _server.ts.js-CmIWOQ81.js.map} +1 -1
  225. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-apoe4XPr.js → _server.ts.js-D0O8rZwg.js} +5 -5
  226. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-apoe4XPr.js.map → _server.ts.js-D0O8rZwg.js.map} +1 -1
  227. package/build/server/chunks/entries/{hooks.server.js-C-BdJUTh.js → hooks.server.js-DSn6v_nP.js} +10 -6
  228. package/build/server/chunks/entries/{hooks.server.js-C-BdJUTh.js.map → hooks.server.js-DSn6v_nP.js.map} +1 -1
  229. package/build/server/chunks/entries/pages/{_layout.server.ts.js-CY-hyeA_.js → _layout.server.ts.js-Cts38lSM.js} +2 -2
  230. package/build/server/chunks/entries/pages/{_layout.server.ts.js-CY-hyeA_.js.map → _layout.server.ts.js-Cts38lSM.js.map} +1 -1
  231. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-CuniNvYP.js → _page.server.ts.js-BIr1NoEK.js} +4 -4
  232. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-CuniNvYP.js.map → _page.server.ts.js-BIr1NoEK.js.map} +1 -1
  233. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-4s9aJl1c.js → _layout.server.ts.js-DjB5P2N0.js} +3 -3
  234. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-4s9aJl1c.js.map → _layout.server.ts.js-DjB5P2N0.js.map} +1 -1
  235. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-BtAIWBYS.js → _page.server.ts.js-DMawiAOU.js} +4 -4
  236. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-BtAIWBYS.js.map → _page.server.ts.js-DMawiAOU.js.map} +1 -1
  237. package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-tgpVuQl0.js → _page.server.ts.js-CJie_AQe.js} +4 -4
  238. package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-tgpVuQl0.js.map → _page.server.ts.js-CJie_AQe.js.map} +1 -1
  239. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-BnV3LQ7f.js → _page.server.ts.js-DJI-BqLn.js} +5 -5
  240. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-BnV3LQ7f.js.map → _page.server.ts.js-DJI-BqLn.js.map} +1 -1
  241. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-IAnAvNNC.js → _page.server.ts.js-DRZlByRc.js} +3 -3
  242. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-IAnAvNNC.js.map → _page.server.ts.js-DRZlByRc.js.map} +1 -1
  243. package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-Dh0q5yDX.js → _page.server.ts.js-cnc8alqe.js} +9 -7
  244. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-cnc8alqe.js.map +1 -0
  245. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-CCt13Pnv.js → _page.server.ts.js-7suWtJxu.js} +3 -3
  246. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-CCt13Pnv.js.map → _page.server.ts.js-7suWtJxu.js.map} +1 -1
  247. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-7Oom2yRl.js → _page.server.ts.js-C0ZdK8vU.js} +6 -6
  248. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-7Oom2yRl.js.map → _page.server.ts.js-C0ZdK8vU.js.map} +1 -1
  249. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-D1-DYbHV.js → _page.server.ts.js-C1LiUNB_.js} +5 -5
  250. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-D1-DYbHV.js.map → _page.server.ts.js-C1LiUNB_.js.map} +1 -1
  251. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js → _page.svelte.js-C-jy08cJ.js} +2 -2
  252. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js.map → _page.svelte.js-C-jy08cJ.js.map} +1 -1
  253. package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-DZJTtC7V.js → _page.server.ts.js-Bf5aciLN.js} +3 -3
  254. package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-DZJTtC7V.js.map → _page.server.ts.js-Bf5aciLN.js.map} +1 -1
  255. package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-D6tGv49z.js → _page.server.ts.js-Cd1cMb0M.js} +9 -9
  256. package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-D6tGv49z.js.map → _page.server.ts.js-Cd1cMb0M.js.map} +1 -1
  257. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js → _page.svelte.js-BHPELPpI.js} +53 -1
  258. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js.map → _page.svelte.js-BHPELPpI.js.map} +1 -1
  259. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-DQ_O3EH6.js → _page.server.ts.js-CkNgTDfl.js} +4 -4
  260. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-DQ_O3EH6.js.map → _page.server.ts.js-CkNgTDfl.js.map} +1 -1
  261. package/build/server/chunks/entries/pages/login/{_page.server.ts.js-CfWlJ2qm.js → _page.server.ts.js-BM0BZFoZ.js} +3 -3
  262. package/build/server/chunks/entries/pages/login/{_page.server.ts.js-CfWlJ2qm.js.map → _page.server.ts.js-BM0BZFoZ.js.map} +1 -1
  263. package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-6QjYdOkb.js → _page.server.ts.js-Cc1BjCbc.js} +2 -2
  264. package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-6QjYdOkb.js.map → _page.server.ts.js-Cc1BjCbc.js.map} +1 -1
  265. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js → _layout.server.ts.js-DuJkKJcb.js} +2 -2
  266. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js.map → _layout.server.ts.js-DuJkKJcb.js.map} +1 -1
  267. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-CdAFvyNP.js → _page.server.ts.js-6JTf7XX0.js} +5 -5
  268. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-CdAFvyNP.js.map → _page.server.ts.js-6JTf7XX0.js.map} +1 -1
  269. package/build/server/chunks/entries/pages/projects/{_page.svelte.js-nQ9Uj1kK.js → _page.svelte.js-DVU6xc3i.js} +30 -4
  270. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DVU6xc3i.js.map +1 -0
  271. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CZGn9bXh.js → _page.server.ts.js-CAIQvVcR.js} +5 -5
  272. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CZGn9bXh.js.map → _page.server.ts.js-CAIQvVcR.js.map} +1 -1
  273. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-C9c2p2gX.js → _layout.server.ts.js-CBM_iY4T.js} +2 -2
  274. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-C9c2p2gX.js.map → _layout.server.ts.js-CBM_iY4T.js.map} +1 -1
  275. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-tDzOMK37.js → _page.server.ts.js-Pf-MSXv0.js} +2 -2
  276. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-tDzOMK37.js.map → _page.server.ts.js-Pf-MSXv0.js.map} +1 -1
  277. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-9Vv7GLJL.js → _page.server.ts.js-CR-ddKJ4.js} +4 -4
  278. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-9Vv7GLJL.js.map → _page.server.ts.js-CR-ddKJ4.js.map} +1 -1
  279. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BU9mkUI0.js → _page.server.ts.js-DCQ0yy-F.js} +3 -3
  280. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BU9mkUI0.js.map → _page.server.ts.js-DCQ0yy-F.js.map} +1 -1
  281. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js → _page.svelte.js-DVOfVzGn.js} +2 -2
  282. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js.map → _page.svelte.js-DVOfVzGn.js.map} +1 -1
  283. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFnMzpDm.js → _page.server.ts.js-FUxzp5PC.js} +3 -3
  284. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFnMzpDm.js.map → _page.server.ts.js-FUxzp5PC.js.map} +1 -1
  285. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-BhQpuT-q.js → _page.server.ts.js-Btcar0yP.js} +3 -3
  286. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-BhQpuT-q.js.map → _page.server.ts.js-Btcar0yP.js.map} +1 -1
  287. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-gJimj_Lt.js → _page.server.ts.js-CS5FLYXE.js} +3 -3
  288. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-gJimj_Lt.js.map → _page.server.ts.js-CS5FLYXE.js.map} +1 -1
  289. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-DQ0dB1Gy.js → _page.server.ts.js-B1QqNYRo.js} +2 -2
  290. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-DQ0dB1Gy.js.map → _page.server.ts.js-B1QqNYRo.js.map} +1 -1
  291. package/build/server/chunks/{handler-BW9dXcm2.js → handler-CiXlY3wu.js} +3 -3
  292. package/build/server/chunks/{handler-BW9dXcm2.js.map → handler-CiXlY3wu.js.map} +1 -1
  293. package/build/server/chunks/{index.js-NG24ufZ3.js → index.js-CfdDzNmO.js} +2 -2
  294. package/build/server/chunks/{index.js-NG24ufZ3.js.map → index.js-CfdDzNmO.js.map} +1 -1
  295. package/build/server/chunks/{manifest.js-DPk_wfUB.js → manifest.js-DZ6WZ-WA.js} +76 -76
  296. package/build/server/chunks/{manifest.js-DPk_wfUB.js.map → manifest.js-DZ6WZ-WA.js.map} +1 -1
  297. package/build/server/chunks/nodes/{0.js-AEvxmHpa.js → 0.js-BMoQIPmA.js} +4 -4
  298. package/build/server/chunks/nodes/{0.js-AEvxmHpa.js.map → 0.js-BMoQIPmA.js.map} +1 -1
  299. package/build/server/chunks/nodes/{1.js-DVxssv7m.js → 1.js-Cm5AdicB.js} +2 -2
  300. package/build/server/chunks/nodes/{1.js-DVxssv7m.js.map → 1.js-Cm5AdicB.js.map} +1 -1
  301. package/build/server/chunks/nodes/{10.js-ZUrAv4Jp.js → 10.js-BNCwQwZV.js} +7 -7
  302. package/build/server/chunks/nodes/{10.js-ZUrAv4Jp.js.map → 10.js-BNCwQwZV.js.map} +1 -1
  303. package/build/server/chunks/nodes/{11.js-DGEK4jP8.js → 11.js-DkWLgBVg.js} +8 -8
  304. package/build/server/chunks/nodes/{11.js-DGEK4jP8.js.map → 11.js-DkWLgBVg.js.map} +1 -1
  305. package/build/server/chunks/nodes/{12.js-B-AKsTNE.js → 12.js-kNjmUDDo.js} +4 -4
  306. package/build/server/chunks/nodes/{12.js-B-AKsTNE.js.map → 12.js-kNjmUDDo.js.map} +1 -1
  307. package/build/server/chunks/nodes/{13.js-B_AIg2fa.js → 13.js-jNBOb5Ni.js} +5 -5
  308. package/build/server/chunks/nodes/{13.js-B_AIg2fa.js.map → 13.js-jNBOb5Ni.js.map} +1 -1
  309. package/build/server/chunks/nodes/{14.js-Dg6onpdg.js → 14.js-jkWhR5ra.js} +5 -5
  310. package/build/server/chunks/nodes/{14.js-Dg6onpdg.js.map → 14.js-jkWhR5ra.js.map} +1 -1
  311. package/build/server/chunks/nodes/{15.js-B9F085rR.js → 15.js-Bh0tBhZ6.js} +14 -10
  312. package/build/server/chunks/nodes/{15.js-B9F085rR.js.map → 15.js-Bh0tBhZ6.js.map} +1 -1
  313. package/build/server/chunks/nodes/{16.js-Du_o5LAN.js → 16.js-BjSvS7x7.js} +11 -11
  314. package/build/server/chunks/nodes/{16.js-Du_o5LAN.js.map → 16.js-BjSvS7x7.js.map} +1 -1
  315. package/build/server/chunks/nodes/{17.js-C7IvrMvq.js → 17.js-CVAlNLd1.js} +2 -2
  316. package/build/server/chunks/nodes/{17.js-C7IvrMvq.js.map → 17.js-CVAlNLd1.js.map} +1 -1
  317. package/build/server/chunks/nodes/{18.js-Bgsp3ae8.js → 18.js-m1EmD7J9.js} +9 -5
  318. package/build/server/chunks/nodes/{18.js-Bgsp3ae8.js.map → 18.js-m1EmD7J9.js.map} +1 -1
  319. package/build/server/chunks/nodes/{19.js-D9cLVxrT.js → 19.js-Cvq4wk_v.js} +8 -8
  320. package/build/server/chunks/nodes/{19.js-D9cLVxrT.js.map → 19.js-Cvq4wk_v.js.map} +1 -1
  321. package/build/server/chunks/nodes/{2.js-DmypU6Ik.js → 2.js-_j2qbJf6.js} +8 -8
  322. package/build/server/chunks/nodes/{2.js-DmypU6Ik.js.map → 2.js-_j2qbJf6.js.map} +1 -1
  323. package/build/server/chunks/nodes/{20.js-DFb32d_g.js → 20.js-BjgFHK82.js} +15 -12
  324. package/build/server/chunks/nodes/{20.js-DFb32d_g.js.map → 20.js-BjgFHK82.js.map} +1 -1
  325. package/build/server/chunks/nodes/{21.js-CLlkXuYa.js → 21.js-C3u9VeIP.js} +11 -7
  326. package/build/server/chunks/nodes/{21.js-CLlkXuYa.js.map → 21.js-C3u9VeIP.js.map} +1 -1
  327. package/build/server/chunks/nodes/{22.js-CHUnyC-K.js → 22.js-3vW3ZPjE.js} +8 -3
  328. package/build/server/chunks/nodes/{22.js-CHUnyC-K.js.map → 22.js-3vW3ZPjE.js.map} +1 -1
  329. package/build/server/chunks/nodes/{23.js-DVi_MOBe.js → 23.js-h3AKg2Bd.js} +9 -9
  330. package/build/server/chunks/nodes/{23.js-DVi_MOBe.js.map → 23.js-h3AKg2Bd.js.map} +1 -1
  331. package/build/server/chunks/nodes/{24.js-Cju9k1ab.js → 24.js-DcfMC0S6.js} +11 -7
  332. package/build/server/chunks/nodes/{24.js-Cju9k1ab.js.map → 24.js-DcfMC0S6.js.map} +1 -1
  333. package/build/server/chunks/nodes/{25.js-_K4kh7f2.js → 25.js-B8F-WcNH.js} +4 -4
  334. package/build/server/chunks/nodes/{25.js-_K4kh7f2.js.map → 25.js-B8F-WcNH.js.map} +1 -1
  335. package/build/server/chunks/nodes/{27.js-RjMIvM6G.js → 27.js-DmjAkuen.js} +6 -6
  336. package/build/server/chunks/nodes/{27.js-RjMIvM6G.js.map → 27.js-DmjAkuen.js.map} +1 -1
  337. package/build/server/chunks/nodes/{28.js-CIJbmh7U.js → 28.js-B7Rf1M8l.js} +6 -6
  338. package/build/server/chunks/nodes/{28.js-CIJbmh7U.js.map → 28.js-B7Rf1M8l.js.map} +1 -1
  339. package/build/server/chunks/nodes/{29.js-CFoAmrrA.js → 29.js-DFPsK4BF.js} +5 -5
  340. package/build/server/chunks/nodes/{29.js-CFoAmrrA.js.map → 29.js-DFPsK4BF.js.map} +1 -1
  341. package/build/server/chunks/nodes/{3.js-CVk02asd.js → 3.js-DEDKRIYO.js} +2 -2
  342. package/build/server/chunks/nodes/{3.js-CVk02asd.js.map → 3.js-DEDKRIYO.js.map} +1 -1
  343. package/build/server/chunks/nodes/{30.js-DfnjBleA.js → 30.js-B17mHAaN.js} +5 -5
  344. package/build/server/chunks/nodes/{30.js-DfnjBleA.js.map → 30.js-B17mHAaN.js.map} +1 -1
  345. package/build/server/chunks/nodes/{31.js-DqFB_Wmh.js → 31.js-g3F8A8P0.js} +4 -4
  346. package/build/server/chunks/nodes/{31.js-DqFB_Wmh.js.map → 31.js-g3F8A8P0.js.map} +1 -1
  347. package/build/server/chunks/nodes/{32.js-DW6izRuF.js → 32.js-1VSkrG-2.js} +4 -4
  348. package/build/server/chunks/nodes/{32.js-DW6izRuF.js.map → 32.js-1VSkrG-2.js.map} +1 -1
  349. package/build/server/chunks/nodes/{5.js-B_kjfr2k.js → 5.js-BvHhhp_p.js} +4 -4
  350. package/build/server/chunks/nodes/{5.js-B_kjfr2k.js.map → 5.js-BvHhhp_p.js.map} +1 -1
  351. package/build/server/chunks/nodes/{6.js-8PrsQVBK.js → 6.js-BHejxveY.js} +5 -5
  352. package/build/server/chunks/nodes/{6.js-8PrsQVBK.js.map → 6.js-BHejxveY.js.map} +1 -1
  353. package/build/server/chunks/nodes/{7.js-BjKJ_1fW.js → 7.js-CV5qjTXV.js} +2 -2
  354. package/build/server/chunks/nodes/{7.js-BjKJ_1fW.js.map → 7.js-CV5qjTXV.js.map} +1 -1
  355. package/build/server/chunks/nodes/{8.js-BaBu7XkQ.js → 8.js-jhS48nhZ.js} +10 -6
  356. package/build/server/chunks/nodes/{8.js-BaBu7XkQ.js.map → 8.js-jhS48nhZ.js.map} +1 -1
  357. package/build/server/chunks/nodes/{9.js-BLFAupFY.js → 9.js-27g91Gox.js} +6 -6
  358. package/build/server/chunks/nodes/{9.js-BLFAupFY.js.map → 9.js-27g91Gox.js.map} +1 -1
  359. package/package.json +4 -4
  360. package/templates/.env.example +50 -0
  361. package/build/client/_app/immutable/chunks/B2u4e1Y9.js.br +0 -0
  362. package/build/client/_app/immutable/chunks/B2u4e1Y9.js.gz +0 -0
  363. package/build/client/_app/immutable/chunks/B5OJUbsp.js.br +0 -0
  364. package/build/client/_app/immutable/chunks/B5OJUbsp.js.gz +0 -0
  365. package/build/client/_app/immutable/chunks/BL2t7cAH.js.br +0 -0
  366. package/build/client/_app/immutable/chunks/BL2t7cAH.js.gz +0 -0
  367. package/build/client/_app/immutable/chunks/BUSu7k-8.js.br +0 -0
  368. package/build/client/_app/immutable/chunks/BUSu7k-8.js.gz +0 -0
  369. package/build/client/_app/immutable/chunks/CQlm8KiO.js.br +0 -0
  370. package/build/client/_app/immutable/chunks/CQlm8KiO.js.gz +0 -0
  371. package/build/client/_app/immutable/chunks/CaWnsi86.js.br +0 -0
  372. package/build/client/_app/immutable/chunks/CaWnsi86.js.gz +0 -0
  373. package/build/client/_app/immutable/chunks/CbzchbHa.js.br +0 -0
  374. package/build/client/_app/immutable/chunks/CbzchbHa.js.gz +0 -0
  375. package/build/client/_app/immutable/chunks/DAFm-rT0.js.br +0 -0
  376. package/build/client/_app/immutable/chunks/DAFm-rT0.js.gz +0 -0
  377. package/build/client/_app/immutable/entry/app.CUiJWB53.js.br +0 -0
  378. package/build/client/_app/immutable/entry/app.CUiJWB53.js.gz +0 -0
  379. package/build/client/_app/immutable/entry/start.B6frOPSZ.js +0 -1
  380. package/build/client/_app/immutable/entry/start.B6frOPSZ.js.br +0 -2
  381. package/build/client/_app/immutable/entry/start.B6frOPSZ.js.gz +0 -0
  382. package/build/client/_app/immutable/nodes/1.jBltffEQ.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/1.jBltffEQ.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/11.fnbbU5fQ.js.br +0 -0
  385. package/build/client/_app/immutable/nodes/11.fnbbU5fQ.js.gz +0 -0
  386. package/build/client/_app/immutable/nodes/13.CokPGn13.js.br +0 -0
  387. package/build/client/_app/immutable/nodes/13.CokPGn13.js.gz +0 -0
  388. package/build/client/_app/immutable/nodes/14.BOBvQoRO.js.br +0 -0
  389. package/build/client/_app/immutable/nodes/14.BOBvQoRO.js.gz +0 -0
  390. package/build/client/_app/immutable/nodes/15.rVnmmhFk.js.br +0 -0
  391. package/build/client/_app/immutable/nodes/15.rVnmmhFk.js.gz +0 -0
  392. package/build/client/_app/immutable/nodes/16.CT8CyQj6.js.br +0 -0
  393. package/build/client/_app/immutable/nodes/16.CT8CyQj6.js.gz +0 -0
  394. package/build/client/_app/immutable/nodes/17.D4no7cGI.js.br +0 -0
  395. package/build/client/_app/immutable/nodes/17.D4no7cGI.js.gz +0 -0
  396. package/build/client/_app/immutable/nodes/19.BLra_dlM.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/19.BLra_dlM.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/2.MyCVVapl.js.br +0 -0
  399. package/build/client/_app/immutable/nodes/2.MyCVVapl.js.gz +0 -0
  400. package/build/client/_app/immutable/nodes/20.uQnvI_Uv.js +0 -5414
  401. package/build/client/_app/immutable/nodes/20.uQnvI_Uv.js.br +0 -0
  402. package/build/client/_app/immutable/nodes/20.uQnvI_Uv.js.gz +0 -0
  403. package/build/client/_app/immutable/nodes/21.CE1lAxCo.js.br +0 -0
  404. package/build/client/_app/immutable/nodes/21.CE1lAxCo.js.gz +0 -0
  405. package/build/client/_app/immutable/nodes/23.DNa5Wj-V.js +0 -16
  406. package/build/client/_app/immutable/nodes/23.DNa5Wj-V.js.br +0 -0
  407. package/build/client/_app/immutable/nodes/23.DNa5Wj-V.js.gz +0 -0
  408. package/build/client/_app/immutable/nodes/24.8w-n98Zt.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/24.8w-n98Zt.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/27.CTvZ6KxX.js.br +0 -0
  411. package/build/client/_app/immutable/nodes/27.CTvZ6KxX.js.gz +0 -0
  412. package/build/client/_app/immutable/nodes/28.n4L9k3Rh.js.br +0 -0
  413. package/build/client/_app/immutable/nodes/28.n4L9k3Rh.js.gz +0 -0
  414. package/build/client/_app/immutable/nodes/29.B90ZvGzu.js.br +0 -0
  415. package/build/client/_app/immutable/nodes/29.B90ZvGzu.js.gz +0 -0
  416. package/build/client/_app/immutable/nodes/3.C49Pdolk.js.br +0 -0
  417. package/build/client/_app/immutable/nodes/3.C49Pdolk.js.gz +0 -0
  418. package/build/client/_app/immutable/nodes/30.CGkD_uX2.js.br +0 -0
  419. package/build/client/_app/immutable/nodes/30.CGkD_uX2.js.gz +0 -0
  420. package/build/client/_app/immutable/nodes/5.BD_FrnS6.js.br +0 -1
  421. package/build/client/_app/immutable/nodes/5.BD_FrnS6.js.gz +0 -0
  422. package/build/client/_app/immutable/nodes/6.FHxxXtNY.js.br +0 -0
  423. package/build/client/_app/immutable/nodes/6.FHxxXtNY.js.gz +0 -0
  424. package/build/client/_app/immutable/nodes/7.rgqW6l_z.js.br +0 -0
  425. package/build/client/_app/immutable/nodes/7.rgqW6l_z.js.gz +0 -0
  426. package/build/client/_app/immutable/nodes/8.CMWVVdHD.js.br +0 -0
  427. package/build/client/_app/immutable/nodes/8.CMWVVdHD.js.gz +0 -0
  428. package/build/client/_app/immutable/nodes/9.B1DVTVqB.js.br +0 -0
  429. package/build/client/_app/immutable/nodes/9.B1DVTVqB.js.gz +0 -0
  430. package/build/server/chunks/chunks/admin-auth.server.js-BAXmH56n.js.map +0 -1
  431. package/build/server/chunks/chunks/clientCache.server.js-CDbNbNdZ.js.map +0 -1
  432. package/build/server/chunks/chunks/computeLimits.js-DmiFfoef.js.map +0 -1
  433. package/build/server/chunks/chunks/context.js-D8E0GFTw.js.map +0 -1
  434. package/build/server/chunks/chunks/package.js-DWOK6LMe.js.map +0 -1
  435. package/build/server/chunks/chunks/providers.server.js-BKhwGvoh.js.map +0 -1
  436. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D4bNHN4G.js.map +0 -1
  437. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-Dh0q5yDX.js.map +0 -1
  438. package/build/server/chunks/entries/pages/projects/_page.svelte.js-nQ9Uj1kK.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { json } from '@sveltejs/kit';
2
- import { d as getOrganizationProvider, P as ProviderError } from '../../../../../../chunks/providers.server.js-BKhwGvoh.js';
3
- import { b as requireInstanceAdmin } from '../../../../../../chunks/access.server.js-DmuVt13u.js';
4
- import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-CwTBBHWD.js';
5
- import { U as UpdateOrgSchema } from '../../../../../../chunks/context.js-D8E0GFTw.js';
2
+ import { d as getOrganizationProvider, P as ProviderError } from '../../../../../../chunks/providers.server.js-CIHOepKv.js';
3
+ import { b as requireInstanceAdmin } from '../../../../../../chunks/access.server.js-_nJWuQcN.js';
4
+ import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-DlfcfPJs.js';
5
+ import { U as UpdateOrgSchema } from '../../../../../../chunks/context.js-DsQGiS2x.js';
6
6
  import '../../../../../../chunks/shared-server.js-DaWdgxVh.js';
7
7
  import 'node:url';
8
8
  import 'node:path';
@@ -13,7 +13,7 @@ import '@supabase/supabase-js';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
15
  import '../../../../../../chunks/schema.js-j3D3emog.js';
16
- import '../../../../../../chunks/utils4.js-C-poIiFQ.js';
16
+ import '../../../../../../chunks/utils4.js-8SHxuGTr.js';
17
17
 
18
18
  const PATCH = async ({ params, request, locals }) => {
19
19
  requireInstanceAdmin(locals);
@@ -48,4 +48,4 @@ const DELETE = async ({ params, locals }) => {
48
48
  };
49
49
 
50
50
  export { DELETE, PATCH };
51
- //# sourceMappingURL=_server.ts.js-r_akFPa5.js.map
51
+ //# sourceMappingURL=_server.ts.js-CqdBKOC6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-r_akFPa5.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { e as getOrganizationProvider, P as ProviderError } from \"../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } 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) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"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 apiError(409, ApiErrorCode.CONFLICT, 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) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return new Response(null, { status: 204 });\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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAC1E,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;AACvD,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAC1E,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,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts.js-CqdBKOC6.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_id_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { e as getOrganizationProvider, P as ProviderError } from \"../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } 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) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"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 apiError(409, ApiErrorCode.CONFLICT, 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) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing org ID\");\n const ctx = locals.ctx;\n try {\n await getOrganizationProvider().deleteOrg(ctx, id);\n return new Response(null, { status: 204 });\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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAC1E,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;AACvD,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAC1E,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,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { json } from '@sveltejs/kit';
2
- import { v as getOrgAssetService, d as getOrganizationProvider } from '../../../../../../../../chunks/providers.server.js-BKhwGvoh.js';
3
- import { c as requireManageOrgMembers } from '../../../../../../../../chunks/access.server.js-DmuVt13u.js';
4
- import { h as handleApiError, a as apiError, A as ApiErrorCode } from '../../../../../../../../chunks/api-errors.js-CwTBBHWD.js';
5
- import { O as OrgAssetKindSchema } from '../../../../../../../../chunks/context.js-D8E0GFTw.js';
6
- import { M as MAX_IMAGE_FILE_SIZE } from '../../../../../../../../chunks/computeLimits.js-DmiFfoef.js';
2
+ import { v as getOrgAssetService, d as getOrganizationProvider } from '../../../../../../../../chunks/providers.server.js-CIHOepKv.js';
3
+ import { c as requireManageOrgMembers } from '../../../../../../../../chunks/access.server.js-_nJWuQcN.js';
4
+ import { h as handleApiError, a as apiError, A as ApiErrorCode } from '../../../../../../../../chunks/api-errors.js-DlfcfPJs.js';
5
+ import { O as OrgAssetKindSchema } from '../../../../../../../../chunks/context.js-DsQGiS2x.js';
6
+ import { M as MAX_IMAGE_FILE_SIZE } from '../../../../../../../../chunks/computeLimits.js-CQh4jXlX.js';
7
7
  import '../../../../../../../../chunks/shared-server.js-DaWdgxVh.js';
8
8
  import 'node:url';
9
9
  import 'node:path';
@@ -14,7 +14,11 @@ import '@supabase/supabase-js';
14
14
  import 'zod';
15
15
  import '@selvajs/compute/core';
16
16
  import '../../../../../../../../chunks/schema.js-j3D3emog.js';
17
- import '../../../../../../../../chunks/utils4.js-C-poIiFQ.js';
17
+ import '../../../../../../../../chunks/utils4.js-8SHxuGTr.js';
18
+ import '../../../../../../../../chunks/solve-cache-key.js-BIwJfBG9.js';
19
+ import '@selvajs/compute';
20
+ import 'node:zlib';
21
+ import 'node:util';
18
22
 
19
23
  const ALLOWED_CONTENT_TYPES = /* @__PURE__ */ new Set([
20
24
  "image/png",
@@ -76,4 +80,4 @@ const DELETE = async ({ params, locals }) => {
76
80
  };
77
81
 
78
82
  export { DELETE, POST };
79
- //# sourceMappingURL=_server.ts.js-Dz9PdbxZ.js.map
83
+ //# sourceMappingURL=_server.ts.js-Bi3NbLd3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-Dz9PdbxZ.js","sources":["../../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { l as getOrgAssetService, e as getOrganizationProvider } from \"../../../../../../../../chunks/providers.server.js\";\nimport { c as requireManageOrgMembers } from \"../../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, a as apiError, A as ApiErrorCode } from \"../../../../../../../../chunks/api-errors.js\";\nimport { O as OrgAssetKindSchema } from \"../../../../../../../../chunks/context.js\";\nimport { M as MAX_IMAGE_FILE_SIZE } from \"../../../../../../../../chunks/computeLimits.js\";\nconst ALLOWED_CONTENT_TYPES = /* @__PURE__ */ new Set([\n \"image/png\",\n \"image/jpeg\",\n \"image/webp\",\n \"image/gif\",\n \"image/svg+xml\"\n]);\nfunction parseParams(params) {\n const id = params.id;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing org ID\");\n const kind = OrgAssetKindSchema.safeParse(params.kind);\n if (!kind.success) apiError(404, ApiErrorCode.NOT_FOUND, `Unknown asset kind '${params.kind}'`);\n return { id, kind: kind.data };\n}\nconst POST = async ({ params, request, locals }) => {\n requireManageOrgMembers(locals);\n const { id, kind } = parseParams(params);\n const ctx = locals.ctx;\n const org = await getOrganizationProvider().getOrg(ctx, id);\n if (!org) apiError(404, ApiErrorCode.NOT_FOUND, \"Organization not found\");\n const formData = await request.formData();\n const file = formData.get(\"image\");\n if (!(file instanceof File) || file.size === 0) {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Image file is required\");\n }\n if (!ALLOWED_CONTENT_TYPES.has(file.type)) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"Unsupported image type. Allowed: PNG, JPG, WebP, GIF, SVG\"\n );\n }\n if (file.size > MAX_IMAGE_FILE_SIZE) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`\n );\n }\n try {\n const bytes = new Uint8Array(await file.arrayBuffer());\n const url = await getOrgAssetService().saveAsset(ctx, id, kind, bytes, file.type);\n return json({ kind, url });\n } catch (err) {\n handleApiError(err, \"Failed to upload asset\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireManageOrgMembers(locals);\n const { id, kind } = parseParams(params);\n const ctx = locals.ctx;\n try {\n await getOrgAssetService().removeAsset(ctx, id, kind);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to remove asset\");\n }\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-Bi3NbLd3.js","sources":["../../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { l as getOrgAssetService, e as getOrganizationProvider } from \"../../../../../../../../chunks/providers.server.js\";\nimport { c as requireManageOrgMembers } from \"../../../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, a as apiError, A as ApiErrorCode } from \"../../../../../../../../chunks/api-errors.js\";\nimport { O as OrgAssetKindSchema } from \"../../../../../../../../chunks/context.js\";\nimport { M as MAX_IMAGE_FILE_SIZE } from \"../../../../../../../../chunks/computeLimits.js\";\nconst ALLOWED_CONTENT_TYPES = /* @__PURE__ */ new Set([\n \"image/png\",\n \"image/jpeg\",\n \"image/webp\",\n \"image/gif\",\n \"image/svg+xml\"\n]);\nfunction parseParams(params) {\n const id = params.id;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing org ID\");\n const kind = OrgAssetKindSchema.safeParse(params.kind);\n if (!kind.success) apiError(404, ApiErrorCode.NOT_FOUND, `Unknown asset kind '${params.kind}'`);\n return { id, kind: kind.data };\n}\nconst POST = async ({ params, request, locals }) => {\n requireManageOrgMembers(locals);\n const { id, kind } = parseParams(params);\n const ctx = locals.ctx;\n const org = await getOrganizationProvider().getOrg(ctx, id);\n if (!org) apiError(404, ApiErrorCode.NOT_FOUND, \"Organization not found\");\n const formData = await request.formData();\n const file = formData.get(\"image\");\n if (!(file instanceof File) || file.size === 0) {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Image file is required\");\n }\n if (!ALLOWED_CONTENT_TYPES.has(file.type)) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"Unsupported image type. Allowed: PNG, JPG, WebP, GIF, SVG\"\n );\n }\n if (file.size > MAX_IMAGE_FILE_SIZE) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`\n );\n }\n try {\n const bytes = new Uint8Array(await file.arrayBuffer());\n const url = await getOrgAssetService().saveAsset(ctx, id, kind, bytes, file.type);\n return json({ kind, url });\n } catch (err) {\n handleApiError(err, \"Failed to upload asset\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireManageOrgMembers(locals);\n const { id, kind } = parseParams(params);\n const ctx = locals.ctx;\n try {\n await getOrgAssetService().removeAsset(ctx, id, kind);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to remove asset\");\n }\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { json } from '@sveltejs/kit';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { d as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from '../../../../../chunks/providers.server.js-BKhwGvoh.js';
4
- import { b as requireInstanceAdmin } from '../../../../../chunks/access.server.js-DmuVt13u.js';
5
- import { h as handleApiError, t as throwZodError, a as apiError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-CwTBBHWD.js';
6
- import { C as CreateOrgSchema } from '../../../../../chunks/context.js-D8E0GFTw.js';
3
+ import { d as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from '../../../../../chunks/providers.server.js-CIHOepKv.js';
4
+ import { b as requireInstanceAdmin } from '../../../../../chunks/access.server.js-_nJWuQcN.js';
5
+ import { h as handleApiError, t as throwZodError, a as apiError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-DlfcfPJs.js';
6
+ import { C as CreateOrgSchema } from '../../../../../chunks/context.js-DsQGiS2x.js';
7
7
  import '../../../../../chunks/shared-server.js-DaWdgxVh.js';
8
8
  import 'node:url';
9
9
  import 'node:path';
@@ -13,7 +13,7 @@ import '@supabase/supabase-js';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
15
  import '../../../../../chunks/schema.js-j3D3emog.js';
16
- import '../../../../../chunks/utils4.js-C-poIiFQ.js';
16
+ import '../../../../../chunks/utils4.js-8SHxuGTr.js';
17
17
 
18
18
  const GET = async ({ locals, url }) => {
19
19
  requireInstanceAdmin(locals);
@@ -58,4 +58,4 @@ const POST = async ({ request, locals }) => {
58
58
  };
59
59
 
60
60
  export { GET, POST };
61
- //# sourceMappingURL=_server.ts.js-B2mbaw2T.js.map
61
+ //# sourceMappingURL=_server.ts.js-C3ZwVpyg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-B2mbaw2T.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { e as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from \"../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError, a as apiError, A as ApiErrorCode } 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 apiError(409, ApiErrorCode.CONFLICT, 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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;AACvD,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts.js-C3ZwVpyg.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/orgs/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { e as getOrganizationProvider, P as ProviderError, M as MAX_PAGE_LIMIT } from \"../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError, a as apiError, A as ApiErrorCode } 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 apiError(409, ApiErrorCode.CONFLICT, 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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;AACvD,IAAI;AACJ,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
- import { e as getProjectProvider } from '../../../../../../chunks/providers.server.js-BKhwGvoh.js';
4
- import { b as requireInstanceAdmin } from '../../../../../../chunks/access.server.js-DmuVt13u.js';
5
- import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-CwTBBHWD.js';
3
+ import { e as getProjectProvider } from '../../../../../../chunks/providers.server.js-CIHOepKv.js';
4
+ import { b as requireInstanceAdmin } from '../../../../../../chunks/access.server.js-_nJWuQcN.js';
5
+ import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-DlfcfPJs.js';
6
6
  import { s as slugify } from '../../../../../../chunks/slug.js-BGuFQjqe.js';
7
- import { S as SYSTEM_CONTEXT } from '../../../../../../chunks/context.js-D8E0GFTw.js';
7
+ import { S as SYSTEM_CONTEXT } from '../../../../../../chunks/context.js-DsQGiS2x.js';
8
8
  import '../../../../../../chunks/shared-server.js-DaWdgxVh.js';
9
9
  import 'node:url';
10
10
  import 'node:path';
@@ -14,7 +14,7 @@ import 'node:fs/promises';
14
14
  import '@supabase/supabase-js';
15
15
  import '@selvajs/compute/core';
16
16
  import '../../../../../../chunks/schema.js-j3D3emog.js';
17
- import '../../../../../../chunks/utils4.js-C-poIiFQ.js';
17
+ import '../../../../../../chunks/utils4.js-8SHxuGTr.js';
18
18
 
19
19
  const UpdatePlatformProjectBody = z.object({
20
20
  name: z.string().min(1).max(128).trim(),
@@ -75,4 +75,4 @@ const DELETE = async ({ params, locals }) => {
75
75
  };
76
76
 
77
77
  export { DELETE, GET, PATCH };
78
- //# sourceMappingURL=_server.ts.js-VDXjaCes.js.map
78
+ //# sourceMappingURL=_server.ts.js-CAe8T4G6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-VDXjaCes.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { m as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../../../chunks/slug.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../chunks/context.js\";\nconst UpdatePlatformProjectBody = z.object({\n name: z.string().min(1).max(128).trim(),\n description: z.string().max(2e3).nullish()\n}).partial();\nasync function loadPlatformProjectOr404(id) {\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n apiError(404, ApiErrorCode.NOT_FOUND, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n const project = await loadPlatformProjectOr404(id);\n return json(project);\n } catch (err) {\n handleApiError(err, \"Failed to load platform project\");\n }\n};\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = UpdatePlatformProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await loadPlatformProjectOr404(id);\n const patch = {};\n if (parsed.data.name !== void 0) {\n patch.name = parsed.data.name;\n patch.slug = slugify(parsed.data.name);\n }\n if (parsed.data.description !== void 0) {\n patch.description = parsed.data.description ?? void 0;\n }\n await getProjectProvider().updateProject(SYSTEM_CONTEXT, id, patch);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to update platform project\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n await loadPlatformProjectOr404(id);\n await getProjectProvider().deleteProject(SYSTEM_CONTEXT, id);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to delete platform project\");\n }\n};\nexport {\n DELETE,\n GET,\n PATCH\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-CAe8T4G6.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { m as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../../../chunks/slug.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../chunks/context.js\";\nconst UpdatePlatformProjectBody = z.object({\n name: z.string().min(1).max(128).trim(),\n description: z.string().max(2e3).nullish()\n}).partial();\nasync function loadPlatformProjectOr404(id) {\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n apiError(404, ApiErrorCode.NOT_FOUND, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n const project = await loadPlatformProjectOr404(id);\n return json(project);\n } catch (err) {\n handleApiError(err, \"Failed to load platform project\");\n }\n};\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = UpdatePlatformProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await loadPlatformProjectOr404(id);\n const patch = {};\n if (parsed.data.name !== void 0) {\n patch.name = parsed.data.name;\n patch.slug = slugify(parsed.data.name);\n }\n if (parsed.data.description !== void 0) {\n patch.description = parsed.data.description ?? void 0;\n }\n await getProjectProvider().updateProject(SYSTEM_CONTEXT, id, patch);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to update platform project\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n await loadPlatformProjectOr404(id);\n await getProjectProvider().deleteProject(SYSTEM_CONTEXT, id);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to delete platform project\");\n }\n};\nexport {\n DELETE,\n GET,\n PATCH\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { i as flag, n as getPlatformProjectGrantStore } from '../../../../../../../../chunks/providers.server.js-BKhwGvoh.js';
2
- import { b as requireInstanceAdmin } from '../../../../../../../../chunks/access.server.js-DmuVt13u.js';
3
- import { a as apiError, h as handleApiError, A as ApiErrorCode } from '../../../../../../../../chunks/api-errors.js-CwTBBHWD.js';
4
- import { S as SYSTEM_CONTEXT } from '../../../../../../../../chunks/context.js-D8E0GFTw.js';
1
+ import { i as flag, n as getPlatformProjectGrantStore } from '../../../../../../../../chunks/providers.server.js-CIHOepKv.js';
2
+ import { b as requireInstanceAdmin } from '../../../../../../../../chunks/access.server.js-_nJWuQcN.js';
3
+ import { a as apiError, h as handleApiError, A as ApiErrorCode } from '../../../../../../../../chunks/api-errors.js-DlfcfPJs.js';
4
+ import { S as SYSTEM_CONTEXT } from '../../../../../../../../chunks/context.js-DsQGiS2x.js';
5
5
  import '../../../../../../../../chunks/shared-server.js-DaWdgxVh.js';
6
6
  import 'node:url';
7
7
  import 'node:path';
@@ -13,7 +13,7 @@ import '@sveltejs/kit';
13
13
  import 'zod';
14
14
  import '@selvajs/compute/core';
15
15
  import '../../../../../../../../chunks/schema.js-j3D3emog.js';
16
- import '../../../../../../../../chunks/utils4.js-C-poIiFQ.js';
16
+ import '../../../../../../../../chunks/utils4.js-8SHxuGTr.js';
17
17
 
18
18
  const DELETE = async ({ params, locals }) => {
19
19
  requireInstanceAdmin(locals);
@@ -29,4 +29,4 @@ const DELETE = async ({ params, locals }) => {
29
29
  };
30
30
 
31
31
  export { DELETE };
32
- //# sourceMappingURL=_server.ts.js-Dsm-skvk.js.map
32
+ //# sourceMappingURL=_server.ts.js-DHYHT1N8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-Dsm-skvk.js","sources":["../../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js"],"sourcesContent":["import { f as flag, n as getPlatformProjectGrantStore } from \"../../../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, A as ApiErrorCode } from \"../../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const { grantId } = params;\n if (!grantId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing grant ID\");\n try {\n await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to revoke grant\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;AAC3F,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AACjF,EAAE,IAAI;AACN,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;AACxE,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts.js-DHYHT1N8.js","sources":["../../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js"],"sourcesContent":["import { f as flag, n as getPlatformProjectGrantStore } from \"../../../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, A as ApiErrorCode } from \"../../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const { grantId } = params;\n if (!grantId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing grant ID\");\n try {\n await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to revoke grant\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;AAC3F,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AACjF,EAAE,IAAI;AACN,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;AACxE,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { n as getPlatformProjectGrantStore, d as getOrganizationProvider, r as getUserProfileStore, i as flag, e as getProjectProvider } from '../../../../../../../chunks/providers.server.js-BKhwGvoh.js';
5
- import { b as requireInstanceAdmin } from '../../../../../../../chunks/access.server.js-DmuVt13u.js';
6
- import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../../chunks/api-errors.js-CwTBBHWD.js';
7
- import { S as SYSTEM_CONTEXT } from '../../../../../../../chunks/context.js-D8E0GFTw.js';
4
+ import { n as getPlatformProjectGrantStore, d as getOrganizationProvider, r as getUserProfileStore, i as flag, e as getProjectProvider } from '../../../../../../../chunks/providers.server.js-CIHOepKv.js';
5
+ import { b as requireInstanceAdmin } from '../../../../../../../chunks/access.server.js-_nJWuQcN.js';
6
+ import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../../../chunks/api-errors.js-DlfcfPJs.js';
7
+ import { S as SYSTEM_CONTEXT } from '../../../../../../../chunks/context.js-DsQGiS2x.js';
8
8
  import '../../../../../../../chunks/shared-server.js-DaWdgxVh.js';
9
9
  import 'node:url';
10
10
  import 'node:path';
@@ -13,7 +13,7 @@ import 'node:fs/promises';
13
13
  import '@supabase/supabase-js';
14
14
  import '@selvajs/compute/core';
15
15
  import '../../../../../../../chunks/schema.js-j3D3emog.js';
16
- import '../../../../../../../chunks/utils4.js-C-poIiFQ.js';
16
+ import '../../../../../../../chunks/utils4.js-8SHxuGTr.js';
17
17
 
18
18
  const CreateGrantBody = z.object({
19
19
  granteeType: z.enum(["org", "user"]),
@@ -79,4 +79,4 @@ const POST = async ({ params, request, locals }) => {
79
79
  };
80
80
 
81
81
  export { GET, POST };
82
- //# sourceMappingURL=_server.ts.js-D84Sx6Yr.js.map
82
+ //# sourceMappingURL=_server.ts.js-Cgt7iGfE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-D84Sx6Yr.js","sources":["../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { n as getPlatformProjectGrantStore, e as getOrganizationProvider, h as getUserProfileStore, f as flag, m as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../chunks/context.js\";\nconst CreateGrantBody = z.object({\n granteeType: z.enum([\"org\", \"user\"]),\n granteeId: z.string().min(1),\n canSolve: z.boolean()\n});\nasync function assertPlatformProject(id) {\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n apiError(404, ApiErrorCode.NOT_FOUND, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n await assertPlatformProject(id);\n const grants = await getPlatformProjectGrantStore().listByProject(SYSTEM_CONTEXT, id);\n return json({ grants });\n } catch (err) {\n handleApiError(err, \"Failed to list grants\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = CreateGrantBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await assertPlatformProject(id);\n if (parsed.data.granteeType === \"org\") {\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!org)\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Organization '${parsed.data.granteeId}' not found`\n );\n } else {\n const profile = await getUserProfileStore().getProfile(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!profile)\n apiError(400, ApiErrorCode.VALIDATION_FAILED, `User '${parsed.data.granteeId}' not found`);\n }\n const grant = {\n id: randomUUID(),\n projectId: id,\n granteeType: parsed.data.granteeType,\n granteeId: parsed.data.granteeId,\n canSolve: parsed.data.canSolve,\n createdBy: user.id,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n await getPlatformProjectGrantStore().create(SYSTEM_CONTEXT, grant);\n return json(grant, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create grant\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-Cgt7iGfE.js","sources":["../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { n as getPlatformProjectGrantStore, e as getOrganizationProvider, h as getUserProfileStore, f as flag, m as getProjectProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../chunks/context.js\";\nconst CreateGrantBody = z.object({\n granteeType: z.enum([\"org\", \"user\"]),\n granteeId: z.string().min(1),\n canSolve: z.boolean()\n});\nasync function assertPlatformProject(id) {\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n apiError(404, ApiErrorCode.NOT_FOUND, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n try {\n await assertPlatformProject(id);\n const grants = await getPlatformProjectGrantStore().listByProject(SYSTEM_CONTEXT, id);\n return json({ grants });\n } catch (err) {\n handleApiError(err, \"Failed to list grants\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const user = requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = CreateGrantBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await assertPlatformProject(id);\n if (parsed.data.granteeType === \"org\") {\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!org)\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Organization '${parsed.data.granteeId}' not found`\n );\n } else {\n const profile = await getUserProfileStore().getProfile(SYSTEM_CONTEXT, parsed.data.granteeId);\n if (!profile)\n apiError(400, ApiErrorCode.VALIDATION_FAILED, `User '${parsed.data.granteeId}' not found`);\n }\n const grant = {\n id: randomUUID(),\n projectId: id,\n granteeType: parsed.data.granteeType,\n granteeId: parsed.data.granteeId,\n canSolve: parsed.data.canSolve,\n createdBy: user.id,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n await getPlatformProjectGrantStore().create(SYSTEM_CONTEXT, grant);\n return json(grant, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create grant\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { i as flag, d as getOrganizationProvider, e as getProjectProvider, P as ProviderError } from '../../../../../chunks/providers.server.js-BKhwGvoh.js';
5
- import { b as requireInstanceAdmin } from '../../../../../chunks/access.server.js-DmuVt13u.js';
6
- import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-CwTBBHWD.js';
4
+ import { i as flag, d as getOrganizationProvider, e as getProjectProvider, P as ProviderError } from '../../../../../chunks/providers.server.js-CIHOepKv.js';
5
+ import { b as requireInstanceAdmin } from '../../../../../chunks/access.server.js-_nJWuQcN.js';
6
+ import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-DlfcfPJs.js';
7
7
  import { s as slugify } from '../../../../../chunks/slug.js-BGuFQjqe.js';
8
- import { S as SYSTEM_CONTEXT } from '../../../../../chunks/context.js-D8E0GFTw.js';
8
+ import { S as SYSTEM_CONTEXT } from '../../../../../chunks/context.js-DsQGiS2x.js';
9
9
  import '../../../../../chunks/shared-server.js-DaWdgxVh.js';
10
10
  import 'node:url';
11
11
  import 'node:path';
@@ -14,7 +14,7 @@ import 'node:fs/promises';
14
14
  import '@supabase/supabase-js';
15
15
  import '@selvajs/compute/core';
16
16
  import '../../../../../chunks/schema.js-j3D3emog.js';
17
- import '../../../../../chunks/utils4.js-C-poIiFQ.js';
17
+ import '../../../../../chunks/utils4.js-8SHxuGTr.js';
18
18
 
19
19
  const MAX_SLUG_ATTEMPTS = 25;
20
20
  function isSlugConflict(err) {
@@ -116,4 +116,4 @@ const POST = async ({ request, locals }) => {
116
116
  };
117
117
 
118
118
  export { GET, POST };
119
- //# sourceMappingURL=_server.ts.js-CL7CRFYL.js.map
119
+ //# sourceMappingURL=_server.ts.js-BFi1Di59.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-CL7CRFYL.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { f as flag, e as getOrganizationProvider, m as getProjectProvider, P as ProviderError } from \"../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../../chunks/slug.js\";\nimport { S as SYSTEM_CONTEXT } 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 CreatePlatformProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n /**\n * Org that physically hosts the project. Storage routing and compute\n * resolution use this — but org membership in this org does NOT grant\n * access. Visibility = 'platform' overrides those defaults.\n *\n * If omitted, the platform admin's first available org is used.\n */\n orgId: z.string().uuid().optional()\n});\nconst GET = async ({ locals }) => {\n requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n try {\n const orgs = await getOrganizationProvider().listOrgs(SYSTEM_CONTEXT, { limit: 1e3 });\n const all = [];\n for (const org of orgs.items) {\n const page = await getProjectProvider().listProjects(SYSTEM_CONTEXT, org.id, {\n limit: 1e3\n });\n for (const p of page.items) {\n if (p.visibility === \"platform\") all.push(p);\n }\n }\n return json({ projects: all });\n } catch (err) {\n handleApiError(err, \"Failed to list platform projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const user = requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = CreatePlatformProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const hostOrgId = parsed.data.orgId ?? ctx.actingOrgId;\n if (!hostOrgId) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"A host orgId is required (no active organization in context).\"\n );\n }\n const hostOrg = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, hostOrgId);\n if (!hostOrg)\n apiError(400, ApiErrorCode.VALIDATION_FAILED, `Host organization '${hostOrgId}' not found.`);\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"platform-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: hostOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: \"platform\",\n ownerId: user.id,\n createdBy: user.id,\n updatedBy: user.id,\n autoJoinOnUpload: false,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(SYSTEM_CONTEXT, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n apiError(\n 409,\n ApiErrorCode.CONFLICT,\n \"A project with that name already exists in the host organization.\"\n );\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create platform project\");\n }\n }\n apiError(\n 409,\n ApiErrorCode.CONFLICT,\n \"Could not pick a unique project slug after several attempts.\"\n );\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-BFi1Di59.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { f as flag, e as getOrganizationProvider, m as getProjectProvider, P as ProviderError } from \"../../../../../chunks/providers.server.js\";\nimport { b as requireInstanceAdmin } from \"../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../../chunks/slug.js\";\nimport { S as SYSTEM_CONTEXT } 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 CreatePlatformProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n /**\n * Org that physically hosts the project. Storage routing and compute\n * resolution use this — but org membership in this org does NOT grant\n * access. Visibility = 'platform' overrides those defaults.\n *\n * If omitted, the platform admin's first available org is used.\n */\n orgId: z.string().uuid().optional()\n});\nconst GET = async ({ locals }) => {\n requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n try {\n const orgs = await getOrganizationProvider().listOrgs(SYSTEM_CONTEXT, { limit: 1e3 });\n const all = [];\n for (const org of orgs.items) {\n const page = await getProjectProvider().listProjects(SYSTEM_CONTEXT, org.id, {\n limit: 1e3\n });\n for (const p of page.items) {\n if (p.visibility === \"platform\") all.push(p);\n }\n }\n return json({ projects: all });\n } catch (err) {\n handleApiError(err, \"Failed to list platform projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const user = requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = CreatePlatformProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const hostOrgId = parsed.data.orgId ?? ctx.actingOrgId;\n if (!hostOrgId) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"A host orgId is required (no active organization in context).\"\n );\n }\n const hostOrg = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, hostOrgId);\n if (!hostOrg)\n apiError(400, ApiErrorCode.VALIDATION_FAILED, `Host organization '${hostOrgId}' not found.`);\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"platform-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: hostOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: \"platform\",\n ownerId: user.id,\n createdBy: user.id,\n updatedBy: user.id,\n autoJoinOnUpload: false,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(SYSTEM_CONTEXT, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n apiError(\n 409,\n ApiErrorCode.CONFLICT,\n \"A project with that name already exists in the host organization.\"\n );\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create platform project\");\n }\n }\n apiError(\n 409,\n ApiErrorCode.CONFLICT,\n \"Could not pick a unique project slug after several attempts.\"\n );\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -3,15 +3,15 @@ import { randomUUID } from 'node:crypto';
3
3
  import { mkdir, writeFile, unlink } from 'node:fs/promises';
4
4
  import { resolve, join } from 'node:path';
5
5
  import { b as private_env } from '../../../../../../chunks/shared-server.js-DaWdgxVh.js';
6
- import '../../../../../../chunks/context.js-D8E0GFTw.js';
7
- import { f as findServerById } from '../../../../../../chunks/utils4.js-C-poIiFQ.js';
8
- import { p as providers, l as getComputeServerConfigStore, L as LocalComputeServerStore } from '../../../../../../chunks/providers.server.js-BKhwGvoh.js';
9
- import { d as requirePermission } from '../../../../../../chunks/access.server.js-DmuVt13u.js';
6
+ import '../../../../../../chunks/context.js-DsQGiS2x.js';
7
+ import { f as findServerById } from '../../../../../../chunks/utils4.js-8SHxuGTr.js';
8
+ import { p as providers, l as getComputeServerConfigStore, L as LocalComputeServerStore } from '../../../../../../chunks/providers.server.js-CIHOepKv.js';
9
+ import { d as requirePermission } from '../../../../../../chunks/access.server.js-_nJWuQcN.js';
10
10
  import 'zod';
11
11
  import 'node:url';
12
12
  import 'node:fs';
13
13
  import '@supabase/supabase-js';
14
- import '../../../../../../chunks/api-errors.js-CwTBBHWD.js';
14
+ import '../../../../../../chunks/api-errors.js-DlfcfPJs.js';
15
15
  import '@selvajs/compute/core';
16
16
  import '../../../../../../chunks/schema.js-j3D3emog.js';
17
17
 
@@ -189,4 +189,4 @@ const GET = async ({ locals }) => {
189
189
  };
190
190
 
191
191
  export { GET };
192
- //# sourceMappingURL=_server.ts.js-C4gB5liV.js.map
192
+ //# sourceMappingURL=_server.ts.js-Br7kd03s.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-C4gB5liV.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { mkdir, writeFile, unlink } from \"node:fs/promises\";\nimport { resolve, join } from \"node:path\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils4.js\";\nimport { p as providers, k as getComputeServerConfigStore, L as LocalComputeServerStore } from \"../../../../../../chunks/providers.server.js\";\nimport { d as requirePermission } from \"../../../../../../chunks/access.server.js\";\nfunction atRestSecretsCheck(report) {\n const base = { id: \"at-rest-secrets\", label: \"Compute server secrets\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not encrypt secrets at this layer — nothing to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: \"All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY.\"\n };\n }\n const failed = report.failures.map((f) => `\"${f.serverLabel}\" (${f.reason}${f.cause ? `: ${f.cause}` : \"\"})`).join(\", \");\n const plaintext = report.plaintextFound;\n return {\n ...base,\n status: \"degraded\",\n summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,\n remediation: plaintext ? \"A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted.\" : \"The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again.\"\n };\n}\nfunction schemaVersionCheck(report) {\n const base = { id: \"schema-version\", label: \"Database schema\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider migrates with the app — there is no separate schema to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: `Database migration head ${report.actual} satisfies the app's expected ${report.expected}.`\n };\n }\n return {\n ...base,\n status: \"degraded\",\n summary: report.message ?? `Database migration head ${report.actual ?? \"unavailable\"} is behind the app's expected ${report.expected}.`,\n remediation: \"Sync the provider migrations into your Supabase project and run `npx supabase db push`, then restart the app. `selva doctor` runs the same check from the CLI.\"\n };\n}\nconst COMPUTE_PING_TIMEOUT_MS = 8e3;\nasync function computeReachabilityCheck(locals) {\n const base = { id: \"compute-reachable\", label: \"Default compute server\" };\n let config;\n try {\n config = await getComputeServerConfigStore().getConfig(locals.ctx);\n } catch (err) {\n return {\n ...base,\n status: \"error\",\n summary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`\n };\n }\n const server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;\n if (!server) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"No default compute server is configured — nothing to reach.\",\n remediation: \"Add a server and set it as default in /admin/compute.\"\n };\n }\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);\n try {\n const headers = {};\n if (server.apiKey) headers[\"RhinoComputeKey\"] = server.apiKey;\n const res = await fetch(new URL(\"/healthcheck\", server.serverUrl).toString(), {\n signal: controller.signal,\n headers\n });\n if (res.ok) {\n return { ...base, status: \"ok\", summary: `\"${server.label}\" answered /healthcheck (200).` };\n }\n return {\n ...base,\n status: \"degraded\",\n summary: `\"${server.label}\" responded ${res.status} to /healthcheck.`,\n remediation: res.status === 401 || res.status === 403 ? \"Authentication rejected — verify the API key in /admin/compute.\" : \"The server is reachable but unhealthy. Check the Rhino.Compute host.\"\n };\n } catch (err) {\n const aborted = err instanceof Error && err.name === \"AbortError\";\n return {\n ...base,\n status: \"degraded\",\n summary: aborted ? `\"${server.label}\" did not respond within ${COMPUTE_PING_TIMEOUT_MS / 1e3}s.` : `\"${server.label}\" is unreachable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`\n };\n } finally {\n clearTimeout(timer);\n }\n}\nasync function dataPathWritableCheck() {\n const base = { id: \"data-path-writable\", label: \"Data path writable\" };\n if (!(providers.data.computeServer instanceof LocalComputeServerStore)) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not persist to a local DATA_PATH.\"\n };\n }\n const dataPath = private_env.DATA_PATH;\n if (!dataPath) {\n return {\n ...base,\n status: \"error\",\n summary: \"DATA_PATH is unset but the local provider is active.\",\n remediation: \"Set DATA_PATH in .env and restart.\"\n };\n }\n const absolute = resolve(dataPath);\n const probe = join(absolute, `.health-probe-${randomUUID()}`);\n try {\n await mkdir(absolute, { recursive: true });\n await writeFile(probe, \"ok\");\n await unlink(probe);\n return { ...base, status: \"ok\", summary: `DATA_PATH (${dataPath}) is writable.` };\n } catch (err) {\n return {\n ...base,\n status: \"degraded\",\n summary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: \"Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`).\"\n };\n }\n}\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const checks = [];\n const store = providers.data.computeServer;\n if (typeof store.verifySecrets === \"function\") {\n try {\n checks.push(atRestSecretsCheck(await store.verifySecrets()));\n } catch (err) {\n checks.push({\n id: \"at-rest-secrets\",\n label: \"Compute server secrets\",\n status: \"error\",\n summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,\n remediation: \"Check server logs (`pm2 logs selva-compute`) for the underlying error.\"\n });\n }\n } else {\n checks.push(atRestSecretsCheck(null));\n }\n const data = providers.data;\n if (typeof data.verifySchemaVersion === \"function\") {\n checks.push(schemaVersionCheck(await data.verifySchemaVersion()));\n } else {\n checks.push(schemaVersionCheck(null));\n }\n checks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));\n const rank = {\n ok: 0,\n not_applicable: 0,\n degraded: 2,\n error: 3\n };\n const overall = checks.reduce(\n (worst, c) => rank[c.status] > rank[worst] ? c.status : worst,\n \"ok\"\n );\n return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-Br7kd03s.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { mkdir, writeFile, unlink } from \"node:fs/promises\";\nimport { resolve, join } from \"node:path\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils4.js\";\nimport { p as providers, k as getComputeServerConfigStore, L as LocalComputeServerStore } from \"../../../../../../chunks/providers.server.js\";\nimport { d as requirePermission } from \"../../../../../../chunks/access.server.js\";\nfunction atRestSecretsCheck(report) {\n const base = { id: \"at-rest-secrets\", label: \"Compute server secrets\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not encrypt secrets at this layer — nothing to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: \"All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY.\"\n };\n }\n const failed = report.failures.map((f) => `\"${f.serverLabel}\" (${f.reason}${f.cause ? `: ${f.cause}` : \"\"})`).join(\", \");\n const plaintext = report.plaintextFound;\n return {\n ...base,\n status: \"degraded\",\n summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,\n remediation: plaintext ? \"A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted.\" : \"The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again.\"\n };\n}\nfunction schemaVersionCheck(report) {\n const base = { id: \"schema-version\", label: \"Database schema\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider migrates with the app — there is no separate schema to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: `Database migration head ${report.actual} satisfies the app's expected ${report.expected}.`\n };\n }\n return {\n ...base,\n status: \"degraded\",\n summary: report.message ?? `Database migration head ${report.actual ?? \"unavailable\"} is behind the app's expected ${report.expected}.`,\n remediation: \"Sync the provider migrations into your Supabase project and run `npx supabase db push`, then restart the app. `selva doctor` runs the same check from the CLI.\"\n };\n}\nconst COMPUTE_PING_TIMEOUT_MS = 8e3;\nasync function computeReachabilityCheck(locals) {\n const base = { id: \"compute-reachable\", label: \"Default compute server\" };\n let config;\n try {\n config = await getComputeServerConfigStore().getConfig(locals.ctx);\n } catch (err) {\n return {\n ...base,\n status: \"error\",\n summary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`\n };\n }\n const server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;\n if (!server) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"No default compute server is configured — nothing to reach.\",\n remediation: \"Add a server and set it as default in /admin/compute.\"\n };\n }\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);\n try {\n const headers = {};\n if (server.apiKey) headers[\"RhinoComputeKey\"] = server.apiKey;\n const res = await fetch(new URL(\"/healthcheck\", server.serverUrl).toString(), {\n signal: controller.signal,\n headers\n });\n if (res.ok) {\n return { ...base, status: \"ok\", summary: `\"${server.label}\" answered /healthcheck (200).` };\n }\n return {\n ...base,\n status: \"degraded\",\n summary: `\"${server.label}\" responded ${res.status} to /healthcheck.`,\n remediation: res.status === 401 || res.status === 403 ? \"Authentication rejected — verify the API key in /admin/compute.\" : \"The server is reachable but unhealthy. Check the Rhino.Compute host.\"\n };\n } catch (err) {\n const aborted = err instanceof Error && err.name === \"AbortError\";\n return {\n ...base,\n status: \"degraded\",\n summary: aborted ? `\"${server.label}\" did not respond within ${COMPUTE_PING_TIMEOUT_MS / 1e3}s.` : `\"${server.label}\" is unreachable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`\n };\n } finally {\n clearTimeout(timer);\n }\n}\nasync function dataPathWritableCheck() {\n const base = { id: \"data-path-writable\", label: \"Data path writable\" };\n if (!(providers.data.computeServer instanceof LocalComputeServerStore)) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not persist to a local DATA_PATH.\"\n };\n }\n const dataPath = private_env.DATA_PATH;\n if (!dataPath) {\n return {\n ...base,\n status: \"error\",\n summary: \"DATA_PATH is unset but the local provider is active.\",\n remediation: \"Set DATA_PATH in .env and restart.\"\n };\n }\n const absolute = resolve(dataPath);\n const probe = join(absolute, `.health-probe-${randomUUID()}`);\n try {\n await mkdir(absolute, { recursive: true });\n await writeFile(probe, \"ok\");\n await unlink(probe);\n return { ...base, status: \"ok\", summary: `DATA_PATH (${dataPath}) is writable.` };\n } catch (err) {\n return {\n ...base,\n status: \"degraded\",\n summary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: \"Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`).\"\n };\n }\n}\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const checks = [];\n const store = providers.data.computeServer;\n if (typeof store.verifySecrets === \"function\") {\n try {\n checks.push(atRestSecretsCheck(await store.verifySecrets()));\n } catch (err) {\n checks.push({\n id: \"at-rest-secrets\",\n label: \"Compute server secrets\",\n status: \"error\",\n summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,\n remediation: \"Check server logs (`pm2 logs selva-compute`) for the underlying error.\"\n });\n }\n } else {\n checks.push(atRestSecretsCheck(null));\n }\n const data = providers.data;\n if (typeof data.verifySchemaVersion === \"function\") {\n checks.push(schemaVersionCheck(await data.verifySchemaVersion()));\n } else {\n checks.push(schemaVersionCheck(null));\n }\n checks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));\n const rank = {\n ok: 0,\n not_applicable: 0,\n degraded: 2,\n error: 3\n };\n const overall = checks.reduce(\n (worst, c) => rank[c.status] > rank[worst] ? c.status : worst,\n \"ok\"\n );\n return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { randomFillSync } from 'node:crypto';
2
2
  import { json } from '@sveltejs/kit';
3
- import { a as apiError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-CwTBBHWD.js';
4
- import { d as requirePermission } from '../../../../../../chunks/access.server.js-DmuVt13u.js';
5
- import '../../../../../../chunks/context.js-D8E0GFTw.js';
3
+ import { a as apiError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-DlfcfPJs.js';
4
+ import { d as requirePermission } from '../../../../../../chunks/access.server.js-_nJWuQcN.js';
5
+ import '../../../../../../chunks/context.js-DsQGiS2x.js';
6
6
  import 'zod';
7
- import '../../../../../../chunks/providers.server.js-BKhwGvoh.js';
7
+ import '../../../../../../chunks/providers.server.js-CIHOepKv.js';
8
8
  import '../../../../../../chunks/shared-server.js-DaWdgxVh.js';
9
9
  import 'node:url';
10
10
  import 'node:path';
@@ -13,7 +13,7 @@ import 'node:fs/promises';
13
13
  import '@supabase/supabase-js';
14
14
  import '@selvajs/compute/core';
15
15
  import '../../../../../../chunks/schema.js-j3D3emog.js';
16
- import '../../../../../../chunks/utils4.js-C-poIiFQ.js';
16
+ import '../../../../../../chunks/utils4.js-8SHxuGTr.js';
17
17
 
18
18
  const CHUNK_BYTES = 1024 * 1024;
19
19
  const DOWNLOAD_DEFAULT_MB = 20;
@@ -77,4 +77,4 @@ const POST = async ({ locals, request }) => {
77
77
  };
78
78
 
79
79
  export { GET, POST };
80
- //# sourceMappingURL=_server.ts.js-Dyzp1Ed5.js.map
80
+ //# sourceMappingURL=_server.ts.js-ufKMuphM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-Dyzp1Ed5.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/throughput/_server.ts.js"],"sourcesContent":["import { randomFillSync } from \"node:crypto\";\nimport { json } from \"@sveltejs/kit\";\nimport { a as apiError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { d as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst CHUNK_BYTES = 1024 * 1024;\nconst DOWNLOAD_DEFAULT_MB = 20;\nconst DOWNLOAD_MAX_MB = 256;\nconst UPLOAD_MAX_BYTES = 256 * 1024 * 1024;\nconst GET = async ({ locals, url }) => {\n requirePermission(locals, \"instance_admin\");\n const requested = Number(url.searchParams.get(\"mb\"));\n const mb = Math.min(\n DOWNLOAD_MAX_MB,\n Math.max(1, Number.isFinite(requested) ? requested : DOWNLOAD_DEFAULT_MB)\n );\n let sentChunks = 0;\n const stream = new ReadableStream({\n pull(controller) {\n if (sentChunks >= mb) {\n controller.close();\n return;\n }\n const chunk = new Uint8Array(CHUNK_BYTES);\n randomFillSync(chunk);\n controller.enqueue(chunk);\n sentChunks++;\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n \"Content-Length\": String(mb * CHUNK_BYTES),\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nconst POST = async ({ locals, request }) => {\n requirePermission(locals, \"instance_admin\");\n const declared = Number(request.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > UPLOAD_MAX_BYTES) {\n apiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n }\n if (!request.body) {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing request body\");\n }\n const start = performance.now();\n const reader = request.body.getReader();\n let bytes = 0;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n bytes += value.byteLength;\n if (bytes > UPLOAD_MAX_BYTES) {\n await reader.cancel();\n apiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n }\n }\n const ms = performance.now() - start;\n return json({\n bytes,\n ms: Math.round(ms),\n mbps: ms > 0 ? Number((bytes / (1024 * 1024) / (ms / 1e3)).toFixed(2)) : null\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts.js-ufKMuphM.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/throughput/_server.ts.js"],"sourcesContent":["import { randomFillSync } from \"node:crypto\";\nimport { json } from \"@sveltejs/kit\";\nimport { a as apiError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { d as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst CHUNK_BYTES = 1024 * 1024;\nconst DOWNLOAD_DEFAULT_MB = 20;\nconst DOWNLOAD_MAX_MB = 256;\nconst UPLOAD_MAX_BYTES = 256 * 1024 * 1024;\nconst GET = async ({ locals, url }) => {\n requirePermission(locals, \"instance_admin\");\n const requested = Number(url.searchParams.get(\"mb\"));\n const mb = Math.min(\n DOWNLOAD_MAX_MB,\n Math.max(1, Number.isFinite(requested) ? requested : DOWNLOAD_DEFAULT_MB)\n );\n let sentChunks = 0;\n const stream = new ReadableStream({\n pull(controller) {\n if (sentChunks >= mb) {\n controller.close();\n return;\n }\n const chunk = new Uint8Array(CHUNK_BYTES);\n randomFillSync(chunk);\n controller.enqueue(chunk);\n sentChunks++;\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n \"Content-Length\": String(mb * CHUNK_BYTES),\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nconst POST = async ({ locals, request }) => {\n requirePermission(locals, \"instance_admin\");\n const declared = Number(request.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > UPLOAD_MAX_BYTES) {\n apiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n }\n if (!request.body) {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing request body\");\n }\n const start = performance.now();\n const reader = request.body.getReader();\n let bytes = 0;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n bytes += value.byteLength;\n if (bytes > UPLOAD_MAX_BYTES) {\n await reader.cancel();\n apiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n }\n }\n const ms = performance.now() - start;\n return json({\n bytes,\n ms: Math.round(ms),\n mbps: ms > 0 ? Number((bytes / (1024 * 1024) / (ms / 1e3)).toFixed(2)) : null\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}