@selvajs/selva 4.7.0 → 4.7.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 (830) hide show
  1. package/build/client/_app/immutable/assets/0.C_NYyhEq.css +2 -0
  2. package/build/client/_app/immutable/assets/0.C_NYyhEq.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.C_NYyhEq.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm +0 -0
  5. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm.br +0 -0
  6. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm.gz +0 -0
  7. package/build/client/_app/immutable/chunks/BFoE6XI72.js +7 -0
  8. package/build/client/_app/immutable/chunks/BFoE6XI72.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BFoE6XI72.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BH_AsplL.js +2 -0
  11. package/build/client/_app/immutable/chunks/BH_AsplL.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BH_AsplL.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BY-g58bE.js +1 -0
  14. package/build/client/_app/immutable/chunks/BY-g58bE.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BY-g58bE.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BbD3QanV2.js +1 -0
  17. package/build/client/_app/immutable/chunks/BbD3QanV2.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BbD3QanV2.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Bq18tj_a2.js +1 -0
  20. package/build/client/_app/immutable/chunks/Bq18tj_a2.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/Bq18tj_a2.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/C5qitKDD2.js +1 -0
  23. package/build/client/_app/immutable/chunks/C5qitKDD2.js.br +2 -0
  24. package/build/client/_app/immutable/chunks/C5qitKDD2.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/CQAfTXcm.js +1 -0
  26. package/build/client/_app/immutable/chunks/CQAfTXcm.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/CQAfTXcm.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/CVGG5cou.js +2 -0
  29. package/build/client/_app/immutable/chunks/CVGG5cou.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/CVGG5cou.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/DexxF51_.js +1 -0
  32. package/build/client/_app/immutable/chunks/DexxF51_.js.br +3 -0
  33. package/build/client/_app/immutable/chunks/DexxF51_.js.gz +0 -0
  34. package/build/client/_app/immutable/entry/app.D-RJkHIt.js +2 -0
  35. package/build/client/_app/immutable/entry/app.D-RJkHIt.js.br +0 -0
  36. package/build/client/_app/immutable/entry/app.D-RJkHIt.js.gz +0 -0
  37. package/build/client/_app/immutable/entry/start.I2pqBGf4.js +1 -0
  38. package/build/client/_app/immutable/entry/start.I2pqBGf4.js.br +0 -0
  39. package/build/client/_app/immutable/entry/start.I2pqBGf4.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js +1 -0
  41. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/11.CQbreiqk.js +2 -0
  44. package/build/client/_app/immutable/nodes/11.CQbreiqk.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/11.CQbreiqk.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js +2 -0
  47. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/14.DASy3nb-.js +2 -0
  50. package/build/client/_app/immutable/nodes/14.DASy3nb-.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/14.DASy3nb-.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js +21 -0
  53. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/16.ndEU45yq.js +6 -0
  56. package/build/client/_app/immutable/nodes/16.ndEU45yq.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/16.ndEU45yq.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js +2 -0
  59. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js +2 -0
  62. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js +1 -0
  65. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/20.BFohqiKN.js +12 -0
  68. package/build/client/_app/immutable/nodes/20.BFohqiKN.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/20.BFohqiKN.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js +6 -0
  71. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/23.C46hjmtc.js +16 -0
  74. package/build/client/_app/immutable/nodes/23.C46hjmtc.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/23.C46hjmtc.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js +6 -0
  77. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/27.DyMg91My.js +4 -0
  80. package/build/client/_app/immutable/nodes/27.DyMg91My.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/27.DyMg91My.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js +4 -0
  83. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js +2 -0
  86. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js +1 -0
  89. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/30.CzJyrCok.js +2 -0
  92. package/build/client/_app/immutable/nodes/30.CzJyrCok.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/30.CzJyrCok.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/5.DNdojkB1.js +1 -0
  95. package/build/client/_app/immutable/nodes/5.DNdojkB1.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/5.DNdojkB1.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/6.4pxciwO2.js +1 -0
  98. package/build/client/_app/immutable/nodes/6.4pxciwO2.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/6.4pxciwO2.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js +1 -0
  101. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js +2 -0
  104. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js +1 -0
  107. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js.gz +0 -0
  109. package/build/client/_app/version.json +1 -1
  110. package/build/client/_app/version.json.br +0 -0
  111. package/build/client/_app/version.json.gz +0 -0
  112. package/build/handler.js +4 -4
  113. package/build/index.js +4 -4
  114. package/build/server/chunks/chunks/AppHeader.js-CNlN8xDO.js +281 -0
  115. package/build/server/chunks/chunks/AppHeader.js-CNlN8xDO.js.map +1 -0
  116. package/build/server/chunks/chunks/SideNav.js-CU5TFjXQ.js +67 -0
  117. package/build/server/chunks/chunks/SideNav.js-CU5TFjXQ.js.map +1 -0
  118. package/build/server/chunks/chunks/UserChip.js-DwXHanLA.js +1163 -0
  119. package/build/server/chunks/chunks/UserChip.js-DwXHanLA.js.map +1 -0
  120. package/build/server/chunks/chunks/access.server.js-CzBCyDoD.js +453 -0
  121. package/build/server/chunks/chunks/access.server.js-CzBCyDoD.js.map +1 -0
  122. package/build/server/chunks/chunks/access2.server.js-BONknTul.js +20 -0
  123. package/build/server/chunks/chunks/access2.server.js-BONknTul.js.map +1 -0
  124. package/build/server/chunks/chunks/admin-config.js-BXnSbuRl.js +3 -0
  125. package/build/server/chunks/chunks/admin-config.js-BXnSbuRl.js.map +1 -0
  126. package/build/server/chunks/chunks/api-errors.js-BLGSIpxK.js +141 -0
  127. package/build/server/chunks/chunks/api-errors.js-BLGSIpxK.js.map +1 -0
  128. package/build/server/chunks/chunks/auth-bootstrap.server.js-2xuTUNHO.js +162 -0
  129. package/build/server/chunks/chunks/auth-bootstrap.server.js-2xuTUNHO.js.map +1 -0
  130. package/build/server/chunks/chunks/auth.server.js-CnOciBEi.js +2 -0
  131. package/build/server/chunks/chunks/auth.server.js-CnOciBEi.js.map +1 -0
  132. package/build/server/chunks/chunks/bootHealth.server.js-MXd4euZW.js +91 -0
  133. package/build/server/chunks/chunks/bootHealth.server.js-MXd4euZW.js.map +1 -0
  134. package/build/server/chunks/chunks/client.js-D-cqOdzj.js +58 -0
  135. package/build/server/chunks/chunks/client.js-D-cqOdzj.js.map +1 -0
  136. package/build/server/chunks/chunks/clientCache.server.js-DB1NkYeo.js +195 -0
  137. package/build/server/chunks/chunks/clientCache.server.js-DB1NkYeo.js.map +1 -0
  138. package/build/server/chunks/chunks/computeLimits.js-B_SlcTdp.js +48 -0
  139. package/build/server/chunks/chunks/computeLimits.js-B_SlcTdp.js.map +1 -0
  140. package/build/server/chunks/chunks/evictChangedServers.js-G5on-4-K.js +29 -0
  141. package/build/server/chunks/chunks/evictChangedServers.js-G5on-4-K.js.map +1 -0
  142. package/build/server/chunks/chunks/forms.js-DT1udT9D.js +2 -0
  143. package/build/server/chunks/chunks/forms.js-DT1udT9D.js.map +1 -0
  144. package/build/server/chunks/chunks/internal.js-WBVEU67X.js.map +1 -1
  145. package/build/server/chunks/chunks/internal2.js-CWvNgH57.js +224 -0
  146. package/build/server/chunks/chunks/internal2.js-CWvNgH57.js.map +1 -0
  147. package/build/server/chunks/chunks/navigation.js-DT1udT9D.js +2 -0
  148. package/build/server/chunks/chunks/navigation.js-DT1udT9D.js.map +1 -0
  149. package/build/server/chunks/chunks/org-members.server.js-CWd6Guql.js +35 -0
  150. package/build/server/chunks/chunks/org-members.server.js-CWd6Guql.js.map +1 -0
  151. package/build/server/chunks/chunks/package.js-fCdNMx2E.js +76 -0
  152. package/build/server/chunks/chunks/package.js-fCdNMx2E.js.map +1 -0
  153. package/build/server/chunks/chunks/permissions.server.js-CTvpP-8K.js +15 -0
  154. package/build/server/chunks/chunks/permissions.server.js-CTvpP-8K.js.map +1 -0
  155. package/build/server/chunks/chunks/providers.server.js-Wjp7cRza.js +6312 -0
  156. package/build/server/chunks/chunks/providers.server.js-Wjp7cRza.js.map +1 -0
  157. package/build/server/chunks/chunks/resolve.server.js-sJadSbGv.js +62 -0
  158. package/build/server/chunks/chunks/resolve.server.js-sJadSbGv.js.map +1 -0
  159. package/build/server/chunks/chunks/selfUpdate.server.js-CUzx8d4Z.js +152 -0
  160. package/build/server/chunks/chunks/selfUpdate.server.js-CUzx8d4Z.js.map +1 -0
  161. package/build/server/chunks/chunks/state.js-0D9l5k29.js +64 -0
  162. package/build/server/chunks/chunks/state.js-0D9l5k29.js.map +1 -0
  163. package/build/server/chunks/chunks/stores.js-ByO7j12C.js +35 -0
  164. package/build/server/chunks/chunks/stores.js-ByO7j12C.js.map +1 -0
  165. package/build/server/chunks/chunks/utils2.js-DzUQOoCX.js +62 -0
  166. package/build/server/chunks/chunks/utils2.js-DzUQOoCX.js.map +1 -0
  167. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-CSSjL1aU.js +93 -0
  168. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-CSSjL1aU.js.map +1 -0
  169. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CMq4u8W0.js +53 -0
  170. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CMq4u8W0.js.map +1 -0
  171. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-fdh4b1g6.js +79 -0
  172. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-fdh4b1g6.js.map +1 -0
  173. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-BpJ3JwCW.js +50 -0
  174. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-BpJ3JwCW.js.map +1 -0
  175. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C7N8_NaN.js +86 -0
  176. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C7N8_NaN.js.map +1 -0
  177. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-NEuAvShS.js +72 -0
  178. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-NEuAvShS.js.map +1 -0
  179. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-D97Zcsl3.js +74 -0
  180. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-D97Zcsl3.js.map +1 -0
  181. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-B6TojUBT.js +34 -0
  182. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-B6TojUBT.js.map +1 -0
  183. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-CQfCYMlk.js +71 -0
  184. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-CQfCYMlk.js.map +1 -0
  185. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-Gyjialsx.js +103 -0
  186. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-Gyjialsx.js.map +1 -0
  187. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DSpJSpmq.js +208 -0
  188. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DSpJSpmq.js.map +1 -0
  189. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-BjnIUQv7.js +90 -0
  190. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-BjnIUQv7.js.map +1 -0
  191. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-CXE4GneZ.js +403 -0
  192. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-CXE4GneZ.js.map +1 -0
  193. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-Bk8THYuD.js +76 -0
  194. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-Bk8THYuD.js.map +1 -0
  195. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-B4doN1wn.js +46 -0
  196. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-B4doN1wn.js.map +1 -0
  197. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-C4oeSdME.js +86 -0
  198. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-C4oeSdME.js.map +1 -0
  199. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DEYsMeB-.js +0 -0
  200. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DEYsMeB-.js.map +1 -0
  201. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-DFfzNLtj.js +68 -0
  202. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-DFfzNLtj.js.map +1 -0
  203. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-DcdyTQq_.js +75 -0
  204. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-DcdyTQq_.js.map +1 -0
  205. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BvxZZthH.js +46 -0
  206. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BvxZZthH.js.map +1 -0
  207. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-CO3TnH5n.js +44 -0
  208. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-CO3TnH5n.js.map +1 -0
  209. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CQLfmHeQ.js +40 -0
  210. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CQLfmHeQ.js.map +1 -0
  211. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-CmX16JIT.js +46 -0
  212. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-CmX16JIT.js.map +1 -0
  213. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-Xi54QgJT.js +84 -0
  214. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-Xi54QgJT.js.map +1 -0
  215. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DArge1B-.js +47 -0
  216. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DArge1B-.js.map +1 -0
  217. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-CA5kyuF4.js +40 -0
  218. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-CA5kyuF4.js.map +1 -0
  219. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-D8V5knOs.js +94 -0
  220. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-D8V5knOs.js.map +1 -0
  221. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-8fiP1Kvb.js +59 -0
  222. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-8fiP1Kvb.js.map +1 -0
  223. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D00SGxLm.js +89 -0
  224. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D00SGxLm.js.map +1 -0
  225. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2iVLHYFq.js +56 -0
  226. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2iVLHYFq.js.map +1 -0
  227. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-BAC7u5_k.js +49 -0
  228. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-BAC7u5_k.js.map +1 -0
  229. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-BsGsD_EG.js +77 -0
  230. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-BsGsD_EG.js.map +1 -0
  231. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-Bg1VMXkr.js +45 -0
  232. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-Bg1VMXkr.js.map +1 -0
  233. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BgM1YoUT.js +110 -0
  234. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BgM1YoUT.js.map +1 -0
  235. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DTBgdsQ-.js +79 -0
  236. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DTBgdsQ-.js.map +1 -0
  237. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-CkxHsZUH.js +71 -0
  238. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-CkxHsZUH.js.map +1 -0
  239. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-Gw2Y_4NQ.js +65 -0
  240. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-Gw2Y_4NQ.js.map +1 -0
  241. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-UbN3QXPq.js +64 -0
  242. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-UbN3QXPq.js.map +1 -0
  243. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-CPI5Lgo_.js +48 -0
  244. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-CPI5Lgo_.js.map +1 -0
  245. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-B8r1kMW3.js +85 -0
  246. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-B8r1kMW3.js.map +1 -0
  247. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Bb915SbG.js +48 -0
  248. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Bb915SbG.js.map +1 -0
  249. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-5SMFLI8g.js +52 -0
  250. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-5SMFLI8g.js.map +1 -0
  251. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-lGwb9U-4.js +51 -0
  252. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-lGwb9U-4.js.map +1 -0
  253. package/build/server/chunks/entries/hooks.server.js-DePwqtK0.js +341 -0
  254. package/build/server/chunks/entries/hooks.server.js-DePwqtK0.js.map +1 -0
  255. package/build/server/chunks/entries/pages/_error.svelte.js-CWCmCecR.js +35 -0
  256. package/build/server/chunks/entries/pages/_error.svelte.js-CWCmCecR.js.map +1 -0
  257. package/build/server/chunks/entries/pages/_layout.server.ts.js-B6KYjzmH.js +34 -0
  258. package/build/server/chunks/entries/pages/_layout.server.ts.js-B6KYjzmH.js.map +1 -0
  259. package/build/server/chunks/entries/pages/_page.svelte.js-CI8uwVff.js +76 -0
  260. package/build/server/chunks/entries/pages/_page.svelte.js-CI8uwVff.js.map +1 -0
  261. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DSfBzMqL.js +109 -0
  262. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DSfBzMqL.js.map +1 -0
  263. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CQQAFwl1.js +148 -0
  264. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CQQAFwl1.js.map +1 -0
  265. package/build/server/chunks/entries/pages/admin/_error.svelte.js-C96JJBHE.js +36 -0
  266. package/build/server/chunks/entries/pages/admin/_error.svelte.js-C96JJBHE.js.map +1 -0
  267. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CXC4E9hR.js +31 -0
  268. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CXC4E9hR.js.map +1 -0
  269. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-VKAqu-dr.js +121 -0
  270. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-VKAqu-dr.js.map +1 -0
  271. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DCjhQohV.js +75 -0
  272. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DCjhQohV.js.map +1 -0
  273. package/build/server/chunks/entries/pages/admin/_page.svelte.js-CaRZ22CF.js +359 -0
  274. package/build/server/chunks/entries/pages/admin/_page.svelte.js-CaRZ22CF.js.map +1 -0
  275. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DXv7dWhK.js +245 -0
  276. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DXv7dWhK.js.map +1 -0
  277. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DTScln2J.js +45 -0
  278. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DTScln2J.js.map +1 -0
  279. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BheaUvpz.js +612 -0
  280. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BheaUvpz.js.map +1 -0
  281. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-Cmg3zFs-.js +35 -0
  282. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-Cmg3zFs-.js.map +1 -0
  283. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CpVVJpVi.js +86 -0
  284. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CpVVJpVi.js.map +1 -0
  285. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DMOvTFjN.js +616 -0
  286. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DMOvTFjN.js.map +1 -0
  287. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-d_rFu7ap.js +42 -0
  288. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-d_rFu7ap.js.map +1 -0
  289. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DvO9y2XD.js +282 -0
  290. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DvO9y2XD.js.map +1 -0
  291. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOGl22j9.js +79 -0
  292. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOGl22j9.js.map +1 -0
  293. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CovWU5Af.js +1363 -0
  294. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CovWU5Af.js.map +1 -0
  295. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-jrtfuXDZ.js +70 -0
  296. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-jrtfuXDZ.js.map +1 -0
  297. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-2mav2es6.js +681 -0
  298. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-2mav2es6.js.map +1 -0
  299. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-TqjhNJn4.js +62 -0
  300. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-TqjhNJn4.js.map +1 -0
  301. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CsEVG4Qi.js +62 -0
  302. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CsEVG4Qi.js.map +1 -0
  303. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D4BsGogS.js +124 -0
  304. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D4BsGogS.js.map +1 -0
  305. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-02voe6h3.js +12096 -0
  306. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-02voe6h3.js.map +1 -0
  307. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DoZYMSFL.js +73 -0
  308. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DoZYMSFL.js.map +1 -0
  309. package/build/server/chunks/entries/pages/library/_page.svelte.js-kQg7prrI.js +328 -0
  310. package/build/server/chunks/entries/pages/library/_page.svelte.js-kQg7prrI.js.map +1 -0
  311. package/build/server/chunks/entries/pages/login/_page.server.ts.js-crSVM6nE.js +76 -0
  312. package/build/server/chunks/entries/pages/login/_page.server.ts.js-crSVM6nE.js.map +1 -0
  313. package/build/server/chunks/entries/pages/login/_page.svelte.js-DFc8B7zz.js +256 -0
  314. package/build/server/chunks/entries/pages/login/_page.svelte.js-DFc8B7zz.js.map +1 -0
  315. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C0WQJqig.js +49 -0
  316. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C0WQJqig.js.map +1 -0
  317. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-DF1WeYyF.js +101 -0
  318. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-DF1WeYyF.js.map +1 -0
  319. package/build/server/chunks/entries/pages/projects/_page.svelte.js-UA4Ub5QH.js +3770 -0
  320. package/build/server/chunks/entries/pages/projects/_page.svelte.js-UA4Ub5QH.js.map +1 -0
  321. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DH6_gIb7.js +113 -0
  322. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DH6_gIb7.js.map +1 -0
  323. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DdjWjdMZ.js +321 -0
  324. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DdjWjdMZ.js.map +1 -0
  325. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DLa2-7lS.js +28 -0
  326. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DLa2-7lS.js.map +1 -0
  327. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DcS_pi8Q.js +162 -0
  328. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DcS_pi8Q.js.map +1 -0
  329. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DGAiQdZI.js +35 -0
  330. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DGAiQdZI.js.map +1 -0
  331. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CYiX10yQ.js +42 -0
  332. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CYiX10yQ.js.map +1 -0
  333. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-x-kNR95q.js +593 -0
  334. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-x-kNR95q.js.map +1 -0
  335. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-C2oNd-tt.js +58 -0
  336. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-C2oNd-tt.js.map +1 -0
  337. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BnZELsgA.js +539 -0
  338. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BnZELsgA.js.map +1 -0
  339. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DbK6fG9x.js +42 -0
  340. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DbK6fG9x.js.map +1 -0
  341. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CNvUx0-V.js +436 -0
  342. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CNvUx0-V.js.map +1 -0
  343. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-Covcwasu.js +50 -0
  344. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-Covcwasu.js.map +1 -0
  345. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BI6Y_-xD.js +262 -0
  346. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BI6Y_-xD.js.map +1 -0
  347. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cts7JADL.js +32 -0
  348. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cts7JADL.js.map +1 -0
  349. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DrDde3K0.js +16 -0
  350. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DrDde3K0.js.map +1 -0
  351. package/build/server/chunks/handler-ZE5xWjCD.js +1206 -0
  352. package/build/server/chunks/handler-ZE5xWjCD.js.map +1 -0
  353. package/build/server/chunks/index.js-B6xuXumZ.js +3747 -0
  354. package/build/server/chunks/index.js-B6xuXumZ.js.map +1 -0
  355. package/build/server/chunks/manifest.js-BwdukJwC.js +548 -0
  356. package/build/server/chunks/manifest.js-BwdukJwC.js.map +1 -0
  357. package/build/server/chunks/nodes/0.js-DKuQ3PA2.js +25 -0
  358. package/build/server/chunks/nodes/0.js-DKuQ3PA2.js.map +1 -0
  359. package/build/server/chunks/nodes/1.js-mHFYMGF2.js +9 -0
  360. package/build/server/chunks/nodes/1.js-mHFYMGF2.js.map +1 -0
  361. package/build/server/chunks/nodes/10.js-BN9OT7So.js +27 -0
  362. package/build/server/chunks/nodes/10.js-BN9OT7So.js.map +1 -0
  363. package/build/server/chunks/nodes/11.js-DM3Hz345.js +28 -0
  364. package/build/server/chunks/nodes/11.js-DM3Hz345.js.map +1 -0
  365. package/build/server/chunks/nodes/12.js-D0tJacZx.js +26 -0
  366. package/build/server/chunks/nodes/12.js-D0tJacZx.js.map +1 -0
  367. package/build/server/chunks/nodes/13.js-BqvfcLwo.js +26 -0
  368. package/build/server/chunks/nodes/13.js-BqvfcLwo.js.map +1 -0
  369. package/build/server/chunks/nodes/14.js-CngfosqV.js +26 -0
  370. package/build/server/chunks/nodes/14.js-CngfosqV.js.map +1 -0
  371. package/build/server/chunks/nodes/15.js-DwNNUCsj.js +38 -0
  372. package/build/server/chunks/nodes/15.js-DwNNUCsj.js.map +1 -0
  373. package/build/server/chunks/nodes/16.js-D_LnVEKm.js +29 -0
  374. package/build/server/chunks/nodes/16.js-D_LnVEKm.js.map +1 -0
  375. package/build/server/chunks/nodes/17.js-Cae_zNwu.js +9 -0
  376. package/build/server/chunks/nodes/17.js-Cae_zNwu.js.map +1 -0
  377. package/build/server/chunks/nodes/18.js-BiSh_xo0.js +34 -0
  378. package/build/server/chunks/nodes/18.js-BiSh_xo0.js.map +1 -0
  379. package/build/server/chunks/nodes/19.js-Di2BtNSf.js +27 -0
  380. package/build/server/chunks/nodes/19.js-Di2BtNSf.js.map +1 -0
  381. package/build/server/chunks/nodes/2.js-DIKJP0o1.js +27 -0
  382. package/build/server/chunks/nodes/2.js-DIKJP0o1.js.map +1 -0
  383. package/build/server/chunks/nodes/20.js-Drhlsfzl.js +40 -0
  384. package/build/server/chunks/nodes/20.js-Drhlsfzl.js.map +1 -0
  385. package/build/server/chunks/nodes/21.js-CWGLNePo.js +34 -0
  386. package/build/server/chunks/nodes/21.js-CWGLNePo.js.map +1 -0
  387. package/build/server/chunks/nodes/23.js-Brf-hDaf.js +28 -0
  388. package/build/server/chunks/nodes/23.js-Brf-hDaf.js.map +1 -0
  389. package/build/server/chunks/nodes/24.js-B99rorTq.js +34 -0
  390. package/build/server/chunks/nodes/24.js-B99rorTq.js.map +1 -0
  391. package/build/server/chunks/nodes/25.js-D9rFPXHZ.js +26 -0
  392. package/build/server/chunks/nodes/25.js-D9rFPXHZ.js.map +1 -0
  393. package/build/server/chunks/nodes/27.js-C7PvXWdZ.js +27 -0
  394. package/build/server/chunks/nodes/27.js-C7PvXWdZ.js.map +1 -0
  395. package/build/server/chunks/nodes/28.js-DJNPfQkg.js +26 -0
  396. package/build/server/chunks/nodes/28.js-DJNPfQkg.js.map +1 -0
  397. package/build/server/chunks/nodes/29.js-C_MjxADb.js +26 -0
  398. package/build/server/chunks/nodes/29.js-C_MjxADb.js.map +1 -0
  399. package/build/server/chunks/nodes/3.js-DjlKd1FC.js +9 -0
  400. package/build/server/chunks/nodes/3.js-DjlKd1FC.js.map +1 -0
  401. package/build/server/chunks/nodes/30.js-BHRjlMrP.js +26 -0
  402. package/build/server/chunks/nodes/30.js-BHRjlMrP.js.map +1 -0
  403. package/build/server/chunks/nodes/31.js-C7qEcMAp.js +26 -0
  404. package/build/server/chunks/nodes/31.js-C7qEcMAp.js.map +1 -0
  405. package/build/server/chunks/nodes/32.js-z0efXLLV.js +26 -0
  406. package/build/server/chunks/nodes/32.js-z0efXLLV.js.map +1 -0
  407. package/build/server/chunks/nodes/5.js-CFhg0Xbu.js +15 -0
  408. package/build/server/chunks/nodes/5.js-CFhg0Xbu.js.map +1 -0
  409. package/build/server/chunks/nodes/6.js-D_hWn87f.js +26 -0
  410. package/build/server/chunks/nodes/6.js-D_hWn87f.js.map +1 -0
  411. package/build/server/chunks/nodes/7.js-D5_GW-qV.js +12 -0
  412. package/build/server/chunks/nodes/7.js-D5_GW-qV.js.map +1 -0
  413. package/build/server/chunks/nodes/8.js-C-l5tKPg.js +35 -0
  414. package/build/server/chunks/nodes/8.js-C-l5tKPg.js.map +1 -0
  415. package/build/server/chunks/nodes/9.js-CxwOKm_Y.js +26 -0
  416. package/build/server/chunks/nodes/9.js-CxwOKm_Y.js.map +1 -0
  417. package/package.json +6 -6
  418. package/build/client/_app/immutable/assets/0.CHkzgE-e.css +0 -2
  419. package/build/client/_app/immutable/assets/0.CHkzgE-e.css.br +0 -0
  420. package/build/client/_app/immutable/assets/0.CHkzgE-e.css.gz +0 -0
  421. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm +0 -0
  422. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.br +0 -0
  423. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.gz +0 -0
  424. package/build/client/_app/immutable/chunks/0M2DDHMf.js +0 -2
  425. package/build/client/_app/immutable/chunks/0M2DDHMf.js.br +0 -0
  426. package/build/client/_app/immutable/chunks/0M2DDHMf.js.gz +0 -0
  427. package/build/client/_app/immutable/chunks/BG2iwmg_.js +0 -1
  428. package/build/client/_app/immutable/chunks/BG2iwmg_.js.br +0 -0
  429. package/build/client/_app/immutable/chunks/BG2iwmg_.js.gz +0 -0
  430. package/build/client/_app/immutable/chunks/BGbIB54K2.js +0 -35
  431. package/build/client/_app/immutable/chunks/BGbIB54K2.js.br +0 -0
  432. package/build/client/_app/immutable/chunks/BGbIB54K2.js.gz +0 -0
  433. package/build/client/_app/immutable/chunks/BHKDoXDm2.js +0 -1
  434. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.br +0 -2
  435. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.gz +0 -0
  436. package/build/client/_app/immutable/chunks/C-eh-BYT2.js +0 -1
  437. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/Cg_4c8n32.js +0 -1
  440. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.br +0 -0
  441. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.gz +0 -0
  442. package/build/client/_app/immutable/chunks/D9DFvnxj.js +0 -1
  443. package/build/client/_app/immutable/chunks/D9DFvnxj.js.br +0 -3
  444. package/build/client/_app/immutable/chunks/D9DFvnxj.js.gz +0 -0
  445. package/build/client/_app/immutable/chunks/DFsxVbse.js +0 -1
  446. package/build/client/_app/immutable/chunks/DFsxVbse.js.br +0 -0
  447. package/build/client/_app/immutable/chunks/DFsxVbse.js.gz +0 -0
  448. package/build/client/_app/immutable/chunks/qU0FhiPD.js +0 -2
  449. package/build/client/_app/immutable/chunks/qU0FhiPD.js.br +0 -0
  450. package/build/client/_app/immutable/chunks/qU0FhiPD.js.gz +0 -0
  451. package/build/client/_app/immutable/entry/app.ChwO476H.js +0 -2
  452. package/build/client/_app/immutable/entry/app.ChwO476H.js.br +0 -0
  453. package/build/client/_app/immutable/entry/app.ChwO476H.js.gz +0 -0
  454. package/build/client/_app/immutable/entry/start.CUuVPYpM.js +0 -1
  455. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.br +0 -0
  456. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.gz +0 -0
  457. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js +0 -1
  458. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.br +0 -0
  459. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.gz +0 -0
  460. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js +0 -2
  461. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.br +0 -0
  462. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.gz +0 -0
  463. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js +0 -2
  464. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.br +0 -0
  465. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.gz +0 -0
  466. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js +0 -2
  467. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.br +0 -0
  468. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.gz +0 -0
  469. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js +0 -21
  470. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.br +0 -0
  471. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.gz +0 -0
  472. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js +0 -6
  473. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.br +0 -0
  474. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.gz +0 -0
  475. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js +0 -2
  476. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.br +0 -0
  477. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.gz +0 -0
  478. package/build/client/_app/immutable/nodes/19.lXobnwX1.js +0 -2
  479. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js +0 -1
  482. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.br +0 -0
  483. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.gz +0 -0
  484. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js +0 -12
  485. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.br +0 -0
  486. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.gz +0 -0
  487. package/build/client/_app/immutable/nodes/21.x1LrYfez.js +0 -6
  488. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.br +0 -0
  489. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.gz +0 -0
  490. package/build/client/_app/immutable/nodes/23.BtInHilP.js +0 -16
  491. package/build/client/_app/immutable/nodes/23.BtInHilP.js.br +0 -0
  492. package/build/client/_app/immutable/nodes/23.BtInHilP.js.gz +0 -0
  493. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js +0 -6
  494. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.br +0 -0
  495. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.gz +0 -0
  496. package/build/client/_app/immutable/nodes/27.BiurRrzb.js +0 -4
  497. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.br +0 -0
  498. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.gz +0 -0
  499. package/build/client/_app/immutable/nodes/28.TVh72E_-.js +0 -4
  500. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.br +0 -0
  501. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.gz +0 -0
  502. package/build/client/_app/immutable/nodes/29.KA_Czrio.js +0 -2
  503. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.br +0 -0
  504. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.gz +0 -0
  505. package/build/client/_app/immutable/nodes/3.De6eJ76N.js +0 -1
  506. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.br +0 -0
  507. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.gz +0 -0
  508. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js +0 -2
  509. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.br +0 -0
  510. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.gz +0 -0
  511. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js +0 -1
  512. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.br +0 -3
  513. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.gz +0 -0
  514. package/build/client/_app/immutable/nodes/6.CXaFpK04.js +0 -1
  515. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.br +0 -0
  516. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.gz +0 -0
  517. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js +0 -1
  518. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.br +0 -0
  519. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.gz +0 -0
  520. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js +0 -2
  521. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.br +0 -0
  522. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.gz +0 -0
  523. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js +0 -1
  524. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.br +0 -0
  525. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.gz +0 -0
  526. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js +0 -281
  527. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js.map +0 -1
  528. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js +0 -67
  529. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js.map +0 -1
  530. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js +0 -1163
  531. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js.map +0 -1
  532. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js +0 -453
  533. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js.map +0 -1
  534. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js +0 -20
  535. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js.map +0 -1
  536. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js +0 -3
  537. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js.map +0 -1
  538. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js +0 -141
  539. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js.map +0 -1
  540. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js +0 -162
  541. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js.map +0 -1
  542. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js +0 -2
  543. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js.map +0 -1
  544. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js +0 -91
  545. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js.map +0 -1
  546. package/build/server/chunks/chunks/client.js-ChMP-ADp.js +0 -58
  547. package/build/server/chunks/chunks/client.js-ChMP-ADp.js.map +0 -1
  548. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js +0 -195
  549. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js.map +0 -1
  550. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js +0 -48
  551. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js.map +0 -1
  552. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js +0 -29
  553. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js.map +0 -1
  554. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js +0 -2
  555. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js.map +0 -1
  556. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js +0 -224
  557. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js.map +0 -1
  558. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js +0 -2
  559. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js.map +0 -1
  560. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js +0 -35
  561. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js.map +0 -1
  562. package/build/server/chunks/chunks/package.js-CzPJLFIP.js +0 -76
  563. package/build/server/chunks/chunks/package.js-CzPJLFIP.js.map +0 -1
  564. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js +0 -15
  565. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js.map +0 -1
  566. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js +0 -6252
  567. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js.map +0 -1
  568. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js +0 -62
  569. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js.map +0 -1
  570. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js +0 -152
  571. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js.map +0 -1
  572. package/build/server/chunks/chunks/state.js-CSskG5O4.js +0 -64
  573. package/build/server/chunks/chunks/state.js-CSskG5O4.js.map +0 -1
  574. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js +0 -35
  575. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js.map +0 -1
  576. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js +0 -62
  577. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js.map +0 -1
  578. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js +0 -93
  579. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js.map +0 -1
  580. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js +0 -53
  581. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js.map +0 -1
  582. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js +0 -79
  583. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js.map +0 -1
  584. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js +0 -50
  585. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js.map +0 -1
  586. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js +0 -86
  587. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js.map +0 -1
  588. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js +0 -72
  589. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js.map +0 -1
  590. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js +0 -74
  591. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js.map +0 -1
  592. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js +0 -34
  593. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js.map +0 -1
  594. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js +0 -71
  595. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js.map +0 -1
  596. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js +0 -103
  597. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js.map +0 -1
  598. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js +0 -208
  599. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js.map +0 -1
  600. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js +0 -90
  601. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js.map +0 -1
  602. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js +0 -403
  603. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js.map +0 -1
  604. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js +0 -76
  605. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js.map +0 -1
  606. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js +0 -46
  607. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js.map +0 -1
  608. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js +0 -86
  609. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js.map +0 -1
  610. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js +0 -0
  611. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js.map +0 -1
  612. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js +0 -68
  613. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js.map +0 -1
  614. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js +0 -75
  615. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js.map +0 -1
  616. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js +0 -46
  617. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js.map +0 -1
  618. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js +0 -44
  619. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js.map +0 -1
  620. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js +0 -40
  621. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js.map +0 -1
  622. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js +0 -46
  623. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js.map +0 -1
  624. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js +0 -84
  625. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js.map +0 -1
  626. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js +0 -47
  627. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js.map +0 -1
  628. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js +0 -40
  629. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js.map +0 -1
  630. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js +0 -94
  631. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js.map +0 -1
  632. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js +0 -59
  633. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js.map +0 -1
  634. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js +0 -89
  635. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js.map +0 -1
  636. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js +0 -56
  637. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js.map +0 -1
  638. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js +0 -49
  639. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js.map +0 -1
  640. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js +0 -77
  641. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js.map +0 -1
  642. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js +0 -45
  643. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js.map +0 -1
  644. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js +0 -110
  645. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js.map +0 -1
  646. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js +0 -79
  647. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js.map +0 -1
  648. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js +0 -71
  649. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js.map +0 -1
  650. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js +0 -65
  651. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js.map +0 -1
  652. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js +0 -64
  653. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js.map +0 -1
  654. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js +0 -48
  655. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js.map +0 -1
  656. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js +0 -85
  657. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js.map +0 -1
  658. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js +0 -48
  659. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js.map +0 -1
  660. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js +0 -52
  661. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js.map +0 -1
  662. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js +0 -51
  663. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js.map +0 -1
  664. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js +0 -341
  665. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js.map +0 -1
  666. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js +0 -35
  667. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js.map +0 -1
  668. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js +0 -34
  669. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js.map +0 -1
  670. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js +0 -76
  671. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js.map +0 -1
  672. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js +0 -109
  673. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js.map +0 -1
  674. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js +0 -148
  675. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js.map +0 -1
  676. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js +0 -36
  677. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js.map +0 -1
  678. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js +0 -31
  679. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js.map +0 -1
  680. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js +0 -121
  681. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js.map +0 -1
  682. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js +0 -75
  683. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js.map +0 -1
  684. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js +0 -359
  685. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js.map +0 -1
  686. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js +0 -245
  687. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js.map +0 -1
  688. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js +0 -45
  689. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js.map +0 -1
  690. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js +0 -612
  691. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js.map +0 -1
  692. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js +0 -35
  693. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js.map +0 -1
  694. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js +0 -86
  695. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js.map +0 -1
  696. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js +0 -616
  697. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js.map +0 -1
  698. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js +0 -42
  699. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js.map +0 -1
  700. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js +0 -282
  701. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js.map +0 -1
  702. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js +0 -79
  703. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js.map +0 -1
  704. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js +0 -1363
  705. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js.map +0 -1
  706. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js +0 -70
  707. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js.map +0 -1
  708. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js +0 -681
  709. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js.map +0 -1
  710. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js +0 -62
  711. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js.map +0 -1
  712. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js +0 -62
  713. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js.map +0 -1
  714. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js +0 -124
  715. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js.map +0 -1
  716. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js +0 -12096
  717. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js.map +0 -1
  718. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js +0 -73
  719. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js.map +0 -1
  720. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js +0 -328
  721. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js.map +0 -1
  722. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js +0 -76
  723. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js.map +0 -1
  724. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js +0 -256
  725. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js.map +0 -1
  726. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js +0 -49
  727. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js.map +0 -1
  728. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js +0 -101
  729. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js.map +0 -1
  730. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js +0 -3745
  731. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js.map +0 -1
  732. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js +0 -113
  733. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js.map +0 -1
  734. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js +0 -321
  735. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js.map +0 -1
  736. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js +0 -28
  737. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js.map +0 -1
  738. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js +0 -162
  739. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js.map +0 -1
  740. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js +0 -35
  741. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js.map +0 -1
  742. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js +0 -42
  743. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js.map +0 -1
  744. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js +0 -593
  745. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js.map +0 -1
  746. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js +0 -58
  747. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js.map +0 -1
  748. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js +0 -539
  749. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js.map +0 -1
  750. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js +0 -42
  751. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js.map +0 -1
  752. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js +0 -436
  753. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js.map +0 -1
  754. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js +0 -50
  755. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js.map +0 -1
  756. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js +0 -262
  757. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js.map +0 -1
  758. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js +0 -32
  759. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js.map +0 -1
  760. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js +0 -16
  761. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js.map +0 -1
  762. package/build/server/chunks/handler-C_oBT0th.js +0 -1206
  763. package/build/server/chunks/handler-C_oBT0th.js.map +0 -1
  764. package/build/server/chunks/index.js-B-RhTrwV.js +0 -3747
  765. package/build/server/chunks/index.js-B-RhTrwV.js.map +0 -1
  766. package/build/server/chunks/manifest.js-DbaT8xLo.js +0 -548
  767. package/build/server/chunks/manifest.js-DbaT8xLo.js.map +0 -1
  768. package/build/server/chunks/nodes/0.js-CEpLefNw.js +0 -25
  769. package/build/server/chunks/nodes/0.js-CEpLefNw.js.map +0 -1
  770. package/build/server/chunks/nodes/1.js-DgRzBm1_.js +0 -9
  771. package/build/server/chunks/nodes/1.js-DgRzBm1_.js.map +0 -1
  772. package/build/server/chunks/nodes/10.js-DdhhLQJt.js +0 -27
  773. package/build/server/chunks/nodes/10.js-DdhhLQJt.js.map +0 -1
  774. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js +0 -28
  775. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js.map +0 -1
  776. package/build/server/chunks/nodes/12.js-pdOO2q2s.js +0 -26
  777. package/build/server/chunks/nodes/12.js-pdOO2q2s.js.map +0 -1
  778. package/build/server/chunks/nodes/13.js-D0HebxbI.js +0 -26
  779. package/build/server/chunks/nodes/13.js-D0HebxbI.js.map +0 -1
  780. package/build/server/chunks/nodes/14.js-CqSx1wax.js +0 -26
  781. package/build/server/chunks/nodes/14.js-CqSx1wax.js.map +0 -1
  782. package/build/server/chunks/nodes/15.js-CVKsi7kp.js +0 -38
  783. package/build/server/chunks/nodes/15.js-CVKsi7kp.js.map +0 -1
  784. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js +0 -29
  785. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js.map +0 -1
  786. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js +0 -9
  787. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js.map +0 -1
  788. package/build/server/chunks/nodes/18.js-7XdBdlyl.js +0 -34
  789. package/build/server/chunks/nodes/18.js-7XdBdlyl.js.map +0 -1
  790. package/build/server/chunks/nodes/19.js--QTqW8Rg.js +0 -27
  791. package/build/server/chunks/nodes/19.js--QTqW8Rg.js.map +0 -1
  792. package/build/server/chunks/nodes/2.js-DlRr_y1E.js +0 -27
  793. package/build/server/chunks/nodes/2.js-DlRr_y1E.js.map +0 -1
  794. package/build/server/chunks/nodes/20.js-DuurViiQ.js +0 -40
  795. package/build/server/chunks/nodes/20.js-DuurViiQ.js.map +0 -1
  796. package/build/server/chunks/nodes/21.js-DLPsGBUe.js +0 -34
  797. package/build/server/chunks/nodes/21.js-DLPsGBUe.js.map +0 -1
  798. package/build/server/chunks/nodes/23.js-DeF7i6MK.js +0 -28
  799. package/build/server/chunks/nodes/23.js-DeF7i6MK.js.map +0 -1
  800. package/build/server/chunks/nodes/24.js-IGhSaU-_.js +0 -34
  801. package/build/server/chunks/nodes/24.js-IGhSaU-_.js.map +0 -1
  802. package/build/server/chunks/nodes/25.js-DfgGSsw1.js +0 -26
  803. package/build/server/chunks/nodes/25.js-DfgGSsw1.js.map +0 -1
  804. package/build/server/chunks/nodes/27.js-C5yOaHre.js +0 -27
  805. package/build/server/chunks/nodes/27.js-C5yOaHre.js.map +0 -1
  806. package/build/server/chunks/nodes/28.js-DRt6k5eX.js +0 -26
  807. package/build/server/chunks/nodes/28.js-DRt6k5eX.js.map +0 -1
  808. package/build/server/chunks/nodes/29.js-BpciAAsH.js +0 -26
  809. package/build/server/chunks/nodes/29.js-BpciAAsH.js.map +0 -1
  810. package/build/server/chunks/nodes/3.js-D2dw1aIG.js +0 -9
  811. package/build/server/chunks/nodes/3.js-D2dw1aIG.js.map +0 -1
  812. package/build/server/chunks/nodes/30.js-B19f3CLv.js +0 -26
  813. package/build/server/chunks/nodes/30.js-B19f3CLv.js.map +0 -1
  814. package/build/server/chunks/nodes/31.js-DIaImYmw.js +0 -26
  815. package/build/server/chunks/nodes/31.js-DIaImYmw.js.map +0 -1
  816. package/build/server/chunks/nodes/32.js-Btz0fZDj.js +0 -26
  817. package/build/server/chunks/nodes/32.js-Btz0fZDj.js.map +0 -1
  818. package/build/server/chunks/nodes/5.js-BjxuAVp4.js +0 -15
  819. package/build/server/chunks/nodes/5.js-BjxuAVp4.js.map +0 -1
  820. package/build/server/chunks/nodes/6.js-BqjMGg59.js +0 -26
  821. package/build/server/chunks/nodes/6.js-BqjMGg59.js.map +0 -1
  822. package/build/server/chunks/nodes/7.js-BLQSVoBK.js +0 -12
  823. package/build/server/chunks/nodes/7.js-BLQSVoBK.js.map +0 -1
  824. package/build/server/chunks/nodes/8.js-BEznbukO.js +0 -35
  825. package/build/server/chunks/nodes/8.js-BEznbukO.js.map +0 -1
  826. package/build/server/chunks/nodes/9.js-yf_0hC1V.js +0 -26
  827. package/build/server/chunks/nodes/9.js-yf_0hC1V.js.map +0 -1
  828. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js → 0.Bn31RLpu.js} +0 -0
  829. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js.br → 0.Bn31RLpu.js.br} +0 -0
  830. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js.gz → 0.Bn31RLpu.js.gz} +0 -0
@@ -0,0 +1,103 @@
1
+ import { S as SYSTEM_CONTEXT, s as slugify } from '../../../../../chunks/src.js-C5mUn1eC.js';
2
+ import { k as flag, e as getOrganizationProvider, f as getProjectProvider, P as ProviderError } from '../../../../../chunks/providers.server.js-Wjp7cRza.js';
3
+ import { i as requireInstanceAdmin } from '../../../../../chunks/access.server.js-CzBCyDoD.js';
4
+ import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-BLGSIpxK.js';
5
+ import { json } from '@sveltejs/kit';
6
+ import { z } from 'zod';
7
+ import { randomUUID } from 'node:crypto';
8
+ import '../../../../../chunks/shared-server.js-DA4m8f1m.js';
9
+ import '../../../../../chunks/limits.js-BniDP5VZ.js';
10
+ import '../../../../../chunks/chunk-Y3M7P3BW.js-qwxSY5dh.js';
11
+ import '../../../../../chunks/schema.js-BhmknPcU.js';
12
+ import 'node:url';
13
+ import 'node:path';
14
+ import 'node:fs';
15
+ import 'node:fs/promises';
16
+ import '@supabase/supabase-js';
17
+ import '../../../../../chunks/utils2.js-DzUQOoCX.js';
18
+
19
+ //#region src/routes/admin/api/projects/+server.ts
20
+ var MAX_SLUG_ATTEMPTS = 25;
21
+ function isSlugConflict(err) {
22
+ return err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);
23
+ }
24
+ function isNameConflict(err) {
25
+ return err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);
26
+ }
27
+ var CreatePlatformProjectBody = z.object({
28
+ name: z.string().min(1, "Project name is required").max(128).trim(),
29
+ description: z.string().max(2e3).optional(),
30
+ /**
31
+ * Org that physically hosts the project. Storage routing and compute
32
+ * resolution use this — but org membership in this org does NOT grant
33
+ * access. Visibility = 'platform' overrides those defaults.
34
+ *
35
+ * If omitted, the platform admin's first available org is used.
36
+ */
37
+ orgId: z.string().uuid().optional()
38
+ });
39
+ /**
40
+ * §4a — list every platform-visibility project on the instance. Uses
41
+ * `SYSTEM_CONTEXT` because admin reads cross every org boundary; the route is
42
+ * gated on `instance_admin`.
43
+ */
44
+ var GET = async ({ locals }) => {
45
+ requireInstanceAdmin(locals);
46
+ if (!flag("ENABLE_PLATFORM_PROJECTS")) apiError(404, ApiErrorCode.NOT_FOUND, "Not found");
47
+ try {
48
+ const orgs = await getOrganizationProvider().listOrgs(SYSTEM_CONTEXT, { limit: 1e3 });
49
+ const all = [];
50
+ for (const org of orgs.items) {
51
+ const page = await getProjectProvider().listProjects(SYSTEM_CONTEXT, org.id, { limit: 1e3 });
52
+ for (const p of page.items) if (p.visibility === "platform") all.push(p);
53
+ }
54
+ return json({ projects: all });
55
+ } catch (err) {
56
+ handleApiError(err, "Failed to list platform projects");
57
+ }
58
+ };
59
+ var POST = async ({ request, locals }) => {
60
+ const user = requireInstanceAdmin(locals);
61
+ if (!flag("ENABLE_PLATFORM_PROJECTS")) apiError(404, ApiErrorCode.NOT_FOUND, "Not found");
62
+ const ctx = locals.ctx;
63
+ const body = await request.json().catch(() => null);
64
+ const parsed = CreatePlatformProjectBody.safeParse(body);
65
+ if (!parsed.success) throwZodError(parsed.error);
66
+ const hostOrgId = parsed.data.orgId ?? ctx.actingOrgId;
67
+ if (!hostOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "A host orgId is required (no active organization in context).");
68
+ if (!await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, hostOrgId)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Host organization '${hostOrgId}' not found.`);
69
+ const projectStore = getProjectProvider();
70
+ const baseSlug = slugify(parsed.data.name) || "platform-project";
71
+ const now = (/* @__PURE__ */ new Date()).toISOString();
72
+ const projectId = randomUUID();
73
+ for (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {
74
+ const slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;
75
+ const project = {
76
+ id: projectId,
77
+ orgId: hostOrgId,
78
+ name: parsed.data.name,
79
+ slug,
80
+ description: parsed.data.description,
81
+ visibility: "platform",
82
+ ownerId: user.id,
83
+ createdBy: user.id,
84
+ updatedBy: user.id,
85
+ autoJoinOnUpload: false,
86
+ createdAt: now,
87
+ updatedAt: now,
88
+ deletedAt: null
89
+ };
90
+ try {
91
+ await projectStore.createProject(SYSTEM_CONTEXT, project);
92
+ return json(project, { status: 201 });
93
+ } catch (err) {
94
+ if (isNameConflict(err)) apiError(409, ApiErrorCode.CONFLICT, "A project with that name already exists in the host organization.");
95
+ if (isSlugConflict(err)) continue;
96
+ handleApiError(err, "Failed to create platform project");
97
+ }
98
+ }
99
+ apiError(409, ApiErrorCode.CONFLICT, "Could not pick a unique project slug after several attempts.");
100
+ };
101
+
102
+ export { GET, POST };
103
+ //# sourceMappingURL=_server.ts.js-Gyjialsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-Gyjialsx.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/projects/_server.ts.js"],"sourcesContent":["import { t as SYSTEM_CONTEXT, w as slugify } from \"../../../../../chunks/src.js\";\nimport { M as ProviderError, _ as getProjectProvider, m as getOrganizationProvider, t as flag } from \"../../../../../chunks/providers.server.js\";\nimport { _ as requireInstanceAdmin } from \"../../../../../chunks/access.server.js\";\nimport { i as throwZodError, n as apiError, r as handleApiError, t as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\n//#region src/routes/admin/api/projects/+server.ts\nvar MAX_SLUG_ATTEMPTS = 25;\nfunction isSlugConflict(err) {\n\treturn err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);\n}\nfunction isNameConflict(err) {\n\treturn err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);\n}\nvar CreatePlatformProjectBody = z.object({\n\tname: z.string().min(1, \"Project name is required\").max(128).trim(),\n\tdescription: z.string().max(2e3).optional(),\n\t/**\n\t* Org that physically hosts the project. Storage routing and compute\n\t* resolution use this — but org membership in this org does NOT grant\n\t* access. Visibility = 'platform' overrides those defaults.\n\t*\n\t* If omitted, the platform admin's first available org is used.\n\t*/\n\torgId: z.string().uuid().optional()\n});\n/**\n* §4a — list every platform-visibility project on the instance. Uses\n* `SYSTEM_CONTEXT` because admin reads cross every org boundary; the route is\n* gated on `instance_admin`.\n*/\nvar GET = async ({ locals }) => {\n\trequireInstanceAdmin(locals);\n\tif (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n\ttry {\n\t\tconst orgs = await getOrganizationProvider().listOrgs(SYSTEM_CONTEXT, { limit: 1e3 });\n\t\tconst all = [];\n\t\tfor (const org of orgs.items) {\n\t\t\tconst page = await getProjectProvider().listProjects(SYSTEM_CONTEXT, org.id, { limit: 1e3 });\n\t\t\tfor (const p of page.items) if (p.visibility === \"platform\") all.push(p);\n\t\t}\n\t\treturn json({ projects: all });\n\t} catch (err) {\n\t\thandleApiError(err, \"Failed to list platform projects\");\n\t}\n};\nvar POST = async ({ request, locals }) => {\n\tconst user = requireInstanceAdmin(locals);\n\tif (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n\tconst ctx = locals.ctx;\n\tconst body = await request.json().catch(() => null);\n\tconst parsed = CreatePlatformProjectBody.safeParse(body);\n\tif (!parsed.success) throwZodError(parsed.error);\n\tconst hostOrgId = parsed.data.orgId ?? ctx.actingOrgId;\n\tif (!hostOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"A host orgId is required (no active organization in context).\");\n\tif (!await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, hostOrgId)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Host organization '${hostOrgId}' not found.`);\n\tconst projectStore = getProjectProvider();\n\tconst baseSlug = slugify(parsed.data.name) || \"platform-project\";\n\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\tconst projectId = randomUUID();\n\tfor (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {\n\t\tconst slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;\n\t\tconst project = {\n\t\t\tid: projectId,\n\t\t\torgId: hostOrgId,\n\t\t\tname: parsed.data.name,\n\t\t\tslug,\n\t\t\tdescription: parsed.data.description,\n\t\t\tvisibility: \"platform\",\n\t\t\townerId: user.id,\n\t\t\tcreatedBy: user.id,\n\t\t\tupdatedBy: user.id,\n\t\t\tautoJoinOnUpload: false,\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now,\n\t\t\tdeletedAt: null\n\t\t};\n\t\ttry {\n\t\t\tawait projectStore.createProject(SYSTEM_CONTEXT, project);\n\t\t\treturn json(project, { status: 201 });\n\t\t} catch (err) {\n\t\t\tif (isNameConflict(err)) apiError(409, ApiErrorCode.CONFLICT, \"A project with that name already exists in the host organization.\");\n\t\t\tif (isSlugConflict(err)) continue;\n\t\t\thandleApiError(err, \"Failed to create platform project\");\n\t\t}\n\t}\n\tapiError(409, ApiErrorCode.CONFLICT, \"Could not pick a unique project slug after several attempts.\");\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ import { b as private_env } from '../../../../../../chunks/shared-server.js-DA4m8f1m.js';
2
+ import '../../../../../../chunks/src.js-C5mUn1eC.js';
3
+ import { p as providers, n as getComputeServerConfigStore, L as LocalComputeServerStore } from '../../../../../../chunks/providers.server.js-Wjp7cRza.js';
4
+ import { f as findServerById } from '../../../../../../chunks/utils2.js-DzUQOoCX.js';
5
+ import { r as requirePermission } from '../../../../../../chunks/access.server.js-CzBCyDoD.js';
6
+ import { json } from '@sveltejs/kit';
7
+ import { randomUUID } from 'node:crypto';
8
+ import { resolve, join } from 'node:path';
9
+ import { mkdir, writeFile, unlink } from 'node:fs/promises';
10
+ import 'zod';
11
+ import '../../../../../../chunks/limits.js-BniDP5VZ.js';
12
+ import '../../../../../../chunks/chunk-Y3M7P3BW.js-qwxSY5dh.js';
13
+ import '../../../../../../chunks/schema.js-BhmknPcU.js';
14
+ import 'node:url';
15
+ import 'node:fs';
16
+ import '@supabase/supabase-js';
17
+
18
+ //#region src/routes/admin/api/system/health/+server.ts
19
+ function atRestSecretsCheck(report) {
20
+ const base = {
21
+ id: "at-rest-secrets",
22
+ label: "Compute server secrets"
23
+ };
24
+ if (report === null) return {
25
+ ...base,
26
+ status: "not_applicable",
27
+ summary: "The active data provider does not encrypt secrets at this layer — nothing to verify."
28
+ };
29
+ if (report.ok) return {
30
+ ...base,
31
+ status: "ok",
32
+ summary: "All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY."
33
+ };
34
+ const failed = report.failures.map((f) => `"${f.serverLabel}" (${f.reason}${f.cause ? `: ${f.cause}` : ""})`).join(", ");
35
+ const plaintext = report.plaintextFound;
36
+ return {
37
+ ...base,
38
+ status: "degraded",
39
+ summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,
40
+ 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."
41
+ };
42
+ }
43
+ function schemaVersionCheck(report) {
44
+ const base = {
45
+ id: "schema-version",
46
+ label: "Database schema"
47
+ };
48
+ if (report === null) return {
49
+ ...base,
50
+ status: "not_applicable",
51
+ summary: "The active data provider migrates with the app — there is no separate schema to verify."
52
+ };
53
+ if (report.ok) return {
54
+ ...base,
55
+ status: "ok",
56
+ summary: `Database migration head ${report.actual} satisfies the app's expected ${report.expected}.`
57
+ };
58
+ return {
59
+ ...base,
60
+ status: "degraded",
61
+ summary: report.message ?? `Database migration head ${report.actual ?? "unavailable"} is behind the app's expected ${report.expected}.`,
62
+ 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."
63
+ };
64
+ }
65
+ var COMPUTE_PING_TIMEOUT_MS = 8e3;
66
+ /**
67
+ * Ping the global default compute server's `/healthcheck`. We probe the
68
+ * default specifically because that's the server every solve falls back to;
69
+ * a degraded default breaks the baseline for all orgs. Org-private and
70
+ * non-default platform servers are out of scope here — they have their own
71
+ * per-server status probe at /admin/api/compute/status.
72
+ */
73
+ async function computeReachabilityCheck(locals) {
74
+ const base = {
75
+ id: "compute-reachable",
76
+ label: "Default compute server"
77
+ };
78
+ let config;
79
+ try {
80
+ config = await getComputeServerConfigStore().getConfig(locals.ctx);
81
+ } catch (err) {
82
+ return {
83
+ ...base,
84
+ status: "error",
85
+ summary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`
86
+ };
87
+ }
88
+ const server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;
89
+ if (!server) return {
90
+ ...base,
91
+ status: "not_applicable",
92
+ summary: "No default compute server is configured — nothing to reach.",
93
+ remediation: "Add a server and set it as default in /admin/compute."
94
+ };
95
+ const controller = new AbortController();
96
+ const timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);
97
+ try {
98
+ const headers = {};
99
+ if (server.hasApiKey) {
100
+ const apiKey = await getComputeServerConfigStore().getServerApiKey(locals.ctx, server.id);
101
+ if (apiKey) headers["RhinoComputeKey"] = apiKey;
102
+ }
103
+ const res = await fetch(new URL("/healthcheck", server.serverUrl).toString(), {
104
+ signal: controller.signal,
105
+ headers
106
+ });
107
+ if (res.ok) return {
108
+ ...base,
109
+ status: "ok",
110
+ summary: `"${server.label}" answered /healthcheck (200).`
111
+ };
112
+ return {
113
+ ...base,
114
+ status: "degraded",
115
+ summary: `"${server.label}" responded ${res.status} to /healthcheck.`,
116
+ 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."
117
+ };
118
+ } catch (err) {
119
+ const aborted = err instanceof Error && err.name === "AbortError";
120
+ return {
121
+ ...base,
122
+ status: "degraded",
123
+ 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)}.`,
124
+ remediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`
125
+ };
126
+ } finally {
127
+ clearTimeout(timer);
128
+ }
129
+ }
130
+ /**
131
+ * Write + delete a temp file under DATA_PATH to prove the local provider can
132
+ * still persist. The JSON stores read-modify-write without a fallback, so a
133
+ * full disk or a permission change (e.g. ownership drift after a restore)
134
+ * corrupts data on the next write — catch it here while it's still just a
135
+ * failed health check.
136
+ */
137
+ async function dataPathWritableCheck() {
138
+ const base = {
139
+ id: "data-path-writable",
140
+ label: "Data path writable"
141
+ };
142
+ if (!(providers.data.computeServer instanceof LocalComputeServerStore)) return {
143
+ ...base,
144
+ status: "not_applicable",
145
+ summary: "The active data provider does not persist to a local DATA_PATH."
146
+ };
147
+ const dataPath = private_env.DATA_PATH;
148
+ if (!dataPath) return {
149
+ ...base,
150
+ status: "error",
151
+ summary: "DATA_PATH is unset but the local provider is active.",
152
+ remediation: "Set DATA_PATH in .env and restart."
153
+ };
154
+ const absolute = resolve(dataPath);
155
+ const probe = join(absolute, `.health-probe-${randomUUID()}`);
156
+ try {
157
+ await mkdir(absolute, { recursive: true });
158
+ await writeFile(probe, "ok");
159
+ await unlink(probe);
160
+ return {
161
+ ...base,
162
+ status: "ok",
163
+ summary: `DATA_PATH (${dataPath}) is writable.`
164
+ };
165
+ } catch (err) {
166
+ return {
167
+ ...base,
168
+ status: "degraded",
169
+ summary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,
170
+ remediation: "Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`)."
171
+ };
172
+ }
173
+ }
174
+ var GET = async ({ locals }) => {
175
+ requirePermission(locals, "instance_admin");
176
+ const checks = [];
177
+ const store = providers.data.computeServer;
178
+ if (typeof store.verifySecrets === "function") try {
179
+ checks.push(atRestSecretsCheck(await store.verifySecrets()));
180
+ } catch (err) {
181
+ checks.push({
182
+ id: "at-rest-secrets",
183
+ label: "Compute server secrets",
184
+ status: "error",
185
+ summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,
186
+ remediation: "Check server logs (`pm2 logs selva-compute`) for the underlying error."
187
+ });
188
+ }
189
+ else checks.push(atRestSecretsCheck(null));
190
+ const data = providers.data;
191
+ if (typeof data.verifySchemaVersion === "function") checks.push(schemaVersionCheck(await data.verifySchemaVersion()));
192
+ else checks.push(schemaVersionCheck(null));
193
+ checks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));
194
+ const rank = {
195
+ ok: 0,
196
+ not_applicable: 0,
197
+ degraded: 2,
198
+ error: 3
199
+ };
200
+ return json({
201
+ overall: checks.reduce((worst, c) => rank[c.status] > rank[worst] ? c.status : worst, "ok"),
202
+ checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
203
+ checks
204
+ });
205
+ };
206
+
207
+ export { GET };
208
+ //# sourceMappingURL=_server.ts.js-DSpJSpmq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-DSpJSpmq.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/health/_server.ts.js"],"sourcesContent":["import { t as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { C as providers, D as LocalComputeServerStore, a as getComputeServerConfigStore } from \"../../../../../../chunks/providers.server.js\";\nimport { n as findServerById } from \"../../../../../../chunks/utils2.js\";\nimport { S as requirePermission } from \"../../../../../../chunks/access.server.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { join, resolve } from \"node:path\";\nimport { mkdir, unlink, writeFile } from \"node:fs/promises\";\n//#region src/routes/admin/api/system/health/+server.ts\nfunction atRestSecretsCheck(report) {\n\tconst base = {\n\t\tid: \"at-rest-secrets\",\n\t\tlabel: \"Compute server secrets\"\n\t};\n\tif (report === null) return {\n\t\t...base,\n\t\tstatus: \"not_applicable\",\n\t\tsummary: \"The active data provider does not encrypt secrets at this layer — nothing to verify.\"\n\t};\n\tif (report.ok) return {\n\t\t...base,\n\t\tstatus: \"ok\",\n\t\tsummary: \"All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY.\"\n\t};\n\tconst failed = report.failures.map((f) => `\"${f.serverLabel}\" (${f.reason}${f.cause ? `: ${f.cause}` : \"\"})`).join(\", \");\n\tconst plaintext = report.plaintextFound;\n\treturn {\n\t\t...base,\n\t\tstatus: \"degraded\",\n\t\tsummary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,\n\t\tremediation: 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\t};\n}\nfunction schemaVersionCheck(report) {\n\tconst base = {\n\t\tid: \"schema-version\",\n\t\tlabel: \"Database schema\"\n\t};\n\tif (report === null) return {\n\t\t...base,\n\t\tstatus: \"not_applicable\",\n\t\tsummary: \"The active data provider migrates with the app — there is no separate schema to verify.\"\n\t};\n\tif (report.ok) return {\n\t\t...base,\n\t\tstatus: \"ok\",\n\t\tsummary: `Database migration head ${report.actual} satisfies the app's expected ${report.expected}.`\n\t};\n\treturn {\n\t\t...base,\n\t\tstatus: \"degraded\",\n\t\tsummary: report.message ?? `Database migration head ${report.actual ?? \"unavailable\"} is behind the app's expected ${report.expected}.`,\n\t\tremediation: \"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\t};\n}\nvar COMPUTE_PING_TIMEOUT_MS = 8e3;\n/**\n* Ping the global default compute server's `/healthcheck`. We probe the\n* default specifically because that's the server every solve falls back to;\n* a degraded default breaks the baseline for all orgs. Org-private and\n* non-default platform servers are out of scope here — they have their own\n* per-server status probe at /admin/api/compute/status.\n*/\nasync function computeReachabilityCheck(locals) {\n\tconst base = {\n\t\tid: \"compute-reachable\",\n\t\tlabel: \"Default compute server\"\n\t};\n\tlet config;\n\ttry {\n\t\tconfig = await getComputeServerConfigStore().getConfig(locals.ctx);\n\t} catch (err) {\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: \"error\",\n\t\t\tsummary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`\n\t\t};\n\t}\n\tconst server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;\n\tif (!server) return {\n\t\t...base,\n\t\tstatus: \"not_applicable\",\n\t\tsummary: \"No default compute server is configured — nothing to reach.\",\n\t\tremediation: \"Add a server and set it as default in /admin/compute.\"\n\t};\n\tconst controller = new AbortController();\n\tconst timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);\n\ttry {\n\t\tconst headers = {};\n\t\tif (server.hasApiKey) {\n\t\t\tconst apiKey = await getComputeServerConfigStore().getServerApiKey(locals.ctx, server.id);\n\t\t\tif (apiKey) headers[\"RhinoComputeKey\"] = apiKey;\n\t\t}\n\t\tconst res = await fetch(new URL(\"/healthcheck\", server.serverUrl).toString(), {\n\t\t\tsignal: controller.signal,\n\t\t\theaders\n\t\t});\n\t\tif (res.ok) return {\n\t\t\t...base,\n\t\t\tstatus: \"ok\",\n\t\t\tsummary: `\"${server.label}\" answered /healthcheck (200).`\n\t\t};\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: \"degraded\",\n\t\t\tsummary: `\"${server.label}\" responded ${res.status} to /healthcheck.`,\n\t\t\tremediation: 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\t\t};\n\t} catch (err) {\n\t\tconst aborted = err instanceof Error && err.name === \"AbortError\";\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: \"degraded\",\n\t\t\tsummary: 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\t\t\tremediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`\n\t\t};\n\t} finally {\n\t\tclearTimeout(timer);\n\t}\n}\n/**\n* Write + delete a temp file under DATA_PATH to prove the local provider can\n* still persist. The JSON stores read-modify-write without a fallback, so a\n* full disk or a permission change (e.g. ownership drift after a restore)\n* corrupts data on the next write — catch it here while it's still just a\n* failed health check.\n*/\nasync function dataPathWritableCheck() {\n\tconst base = {\n\t\tid: \"data-path-writable\",\n\t\tlabel: \"Data path writable\"\n\t};\n\tif (!(providers.data.computeServer instanceof LocalComputeServerStore)) return {\n\t\t...base,\n\t\tstatus: \"not_applicable\",\n\t\tsummary: \"The active data provider does not persist to a local DATA_PATH.\"\n\t};\n\tconst dataPath = private_env.DATA_PATH;\n\tif (!dataPath) return {\n\t\t...base,\n\t\tstatus: \"error\",\n\t\tsummary: \"DATA_PATH is unset but the local provider is active.\",\n\t\tremediation: \"Set DATA_PATH in .env and restart.\"\n\t};\n\tconst absolute = resolve(dataPath);\n\tconst probe = join(absolute, `.health-probe-${randomUUID()}`);\n\ttry {\n\t\tawait mkdir(absolute, { recursive: true });\n\t\tawait writeFile(probe, \"ok\");\n\t\tawait unlink(probe);\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: \"ok\",\n\t\t\tsummary: `DATA_PATH (${dataPath}) is writable.`\n\t\t};\n\t} catch (err) {\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: \"degraded\",\n\t\t\tsummary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,\n\t\t\tremediation: \"Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`).\"\n\t\t};\n\t}\n}\nvar GET = async ({ locals }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tconst checks = [];\n\tconst store = providers.data.computeServer;\n\tif (typeof store.verifySecrets === \"function\") try {\n\t\tchecks.push(atRestSecretsCheck(await store.verifySecrets()));\n\t} catch (err) {\n\t\tchecks.push({\n\t\t\tid: \"at-rest-secrets\",\n\t\t\tlabel: \"Compute server secrets\",\n\t\t\tstatus: \"error\",\n\t\t\tsummary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,\n\t\t\tremediation: \"Check server logs (`pm2 logs selva-compute`) for the underlying error.\"\n\t\t});\n\t}\n\telse checks.push(atRestSecretsCheck(null));\n\tconst data = providers.data;\n\tif (typeof data.verifySchemaVersion === \"function\") checks.push(schemaVersionCheck(await data.verifySchemaVersion()));\n\telse checks.push(schemaVersionCheck(null));\n\tchecks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));\n\tconst rank = {\n\t\tok: 0,\n\t\tnot_applicable: 0,\n\t\tdegraded: 2,\n\t\terror: 3\n\t};\n\treturn json({\n\t\toverall: checks.reduce((worst, c) => rank[c.status] > rank[worst] ? c.status : worst, \"ok\"),\n\t\tcheckedAt: (/* @__PURE__ */ new Date()).toISOString(),\n\t\tchecks\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { r as requirePermission } from '../../../../../../chunks/access.server.js-CzBCyDoD.js';
2
+ import { a as apiError, A as ApiErrorCode } from '../../../../../../chunks/api-errors.js-BLGSIpxK.js';
3
+ import { json } from '@sveltejs/kit';
4
+ import { randomFillSync } from 'node:crypto';
5
+ import '../../../../../../chunks/src.js-C5mUn1eC.js';
6
+ import 'zod';
7
+ import '../../../../../../chunks/providers.server.js-Wjp7cRza.js';
8
+ import '../../../../../../chunks/shared-server.js-DA4m8f1m.js';
9
+ import '../../../../../../chunks/limits.js-BniDP5VZ.js';
10
+ import '../../../../../../chunks/chunk-Y3M7P3BW.js-qwxSY5dh.js';
11
+ import '../../../../../../chunks/schema.js-BhmknPcU.js';
12
+ import 'node:url';
13
+ import 'node:path';
14
+ import 'node:fs';
15
+ import 'node:fs/promises';
16
+ import '@supabase/supabase-js';
17
+ import '../../../../../../chunks/utils2.js-DzUQOoCX.js';
18
+
19
+ //#region src/routes/admin/api/system/throughput/+server.ts
20
+ /**
21
+ * Network throughput probe for the /admin/system page. Measures the transport
22
+ * path between the operator's browser and this server — through whatever
23
+ * proxies/tunnels sit in between (reverse proxy, SSO relays such as Azure App
24
+ * Proxy) — with zero compute involvement:
25
+ *
26
+ * GET ?mb=N → streams N MB of random bytes (download direction)
27
+ * POST → consumes and discards the request body, returns the
28
+ * server-side receive duration (upload direction)
29
+ *
30
+ * Random bytes are deliberately incompressible so proxy compression can't fake
31
+ * a fast transfer. `instance_admin` only — a bandwidth probe is an operator
32
+ * tool, and the download side is a data faucet.
33
+ *
34
+ * A curl-friendly, env-flag-gated sibling exists at /api/diag/throughput for
35
+ * shell-based testing (documented in docs/deployment/app-proxy-migration.md);
36
+ * this endpoint is the browser/UI counterpart that also works behind SSO
37
+ * proxies where curl can't authenticate.
38
+ */
39
+ var CHUNK_BYTES = 1024 * 1024;
40
+ var DOWNLOAD_DEFAULT_MB = 20;
41
+ var DOWNLOAD_MAX_MB = 256;
42
+ var UPLOAD_MAX_BYTES = 256 * 1024 * 1024;
43
+ var GET = async ({ locals, url }) => {
44
+ requirePermission(locals, "instance_admin");
45
+ const requested = Number(url.searchParams.get("mb"));
46
+ const mb = Math.min(DOWNLOAD_MAX_MB, Math.max(1, Number.isFinite(requested) ? requested : DOWNLOAD_DEFAULT_MB));
47
+ let sentChunks = 0;
48
+ const stream = new ReadableStream({ pull(controller) {
49
+ if (sentChunks >= mb) {
50
+ controller.close();
51
+ return;
52
+ }
53
+ const chunk = new Uint8Array(CHUNK_BYTES);
54
+ randomFillSync(chunk);
55
+ controller.enqueue(chunk);
56
+ sentChunks++;
57
+ } });
58
+ return new Response(stream, { headers: {
59
+ "Content-Type": "application/octet-stream",
60
+ "Content-Length": String(mb * CHUNK_BYTES),
61
+ "Cache-Control": "no-store"
62
+ } });
63
+ };
64
+ var POST = async ({ locals, request }) => {
65
+ requirePermission(locals, "instance_admin");
66
+ const declared = Number(request.headers.get("content-length"));
67
+ if (Number.isFinite(declared) && declared > UPLOAD_MAX_BYTES) apiError(413, ApiErrorCode.VALIDATION_FAILED, "Upload exceeds the 256 MB probe limit");
68
+ if (!request.body) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing request body");
69
+ const start = performance.now();
70
+ const reader = request.body.getReader();
71
+ let bytes = 0;
72
+ while (true) {
73
+ const { done, value } = await reader.read();
74
+ if (done) break;
75
+ bytes += value.byteLength;
76
+ if (bytes > UPLOAD_MAX_BYTES) {
77
+ await reader.cancel();
78
+ apiError(413, ApiErrorCode.VALIDATION_FAILED, "Upload exceeds the 256 MB probe limit");
79
+ }
80
+ }
81
+ const ms = performance.now() - start;
82
+ return json({
83
+ bytes,
84
+ ms: Math.round(ms),
85
+ mbps: ms > 0 ? Number((bytes / (1024 * 1024) / (ms / 1e3)).toFixed(2)) : null
86
+ });
87
+ };
88
+
89
+ export { GET, POST };
90
+ //# sourceMappingURL=_server.ts.js-BjnIUQv7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-BjnIUQv7.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/admin/api/system/throughput/_server.ts.js"],"sourcesContent":["import { S as requirePermission } from \"../../../../../../chunks/access.server.js\";\nimport { n as apiError, t as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { randomFillSync } from \"node:crypto\";\n//#region src/routes/admin/api/system/throughput/+server.ts\n/**\n* Network throughput probe for the /admin/system page. Measures the transport\n* path between the operator's browser and this server — through whatever\n* proxies/tunnels sit in between (reverse proxy, SSO relays such as Azure App\n* Proxy) — with zero compute involvement:\n*\n* GET ?mb=N → streams N MB of random bytes (download direction)\n* POST → consumes and discards the request body, returns the\n* server-side receive duration (upload direction)\n*\n* Random bytes are deliberately incompressible so proxy compression can't fake\n* a fast transfer. `instance_admin` only — a bandwidth probe is an operator\n* tool, and the download side is a data faucet.\n*\n* A curl-friendly, env-flag-gated sibling exists at /api/diag/throughput for\n* shell-based testing (documented in docs/deployment/app-proxy-migration.md);\n* this endpoint is the browser/UI counterpart that also works behind SSO\n* proxies where curl can't authenticate.\n*/\nvar CHUNK_BYTES = 1024 * 1024;\nvar DOWNLOAD_DEFAULT_MB = 20;\nvar DOWNLOAD_MAX_MB = 256;\nvar UPLOAD_MAX_BYTES = 256 * 1024 * 1024;\nvar GET = async ({ locals, url }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tconst requested = Number(url.searchParams.get(\"mb\"));\n\tconst mb = Math.min(DOWNLOAD_MAX_MB, Math.max(1, Number.isFinite(requested) ? requested : DOWNLOAD_DEFAULT_MB));\n\tlet sentChunks = 0;\n\tconst stream = new ReadableStream({ pull(controller) {\n\t\tif (sentChunks >= mb) {\n\t\t\tcontroller.close();\n\t\t\treturn;\n\t\t}\n\t\tconst chunk = new Uint8Array(CHUNK_BYTES);\n\t\trandomFillSync(chunk);\n\t\tcontroller.enqueue(chunk);\n\t\tsentChunks++;\n\t} });\n\treturn new Response(stream, { headers: {\n\t\t\"Content-Type\": \"application/octet-stream\",\n\t\t\"Content-Length\": String(mb * CHUNK_BYTES),\n\t\t\"Cache-Control\": \"no-store\"\n\t} });\n};\nvar POST = async ({ locals, request }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tconst declared = Number(request.headers.get(\"content-length\"));\n\tif (Number.isFinite(declared) && declared > UPLOAD_MAX_BYTES) apiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n\tif (!request.body) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing request body\");\n\tconst start = performance.now();\n\tconst reader = request.body.getReader();\n\tlet bytes = 0;\n\twhile (true) {\n\t\tconst { done, value } = await reader.read();\n\t\tif (done) break;\n\t\tbytes += value.byteLength;\n\t\tif (bytes > UPLOAD_MAX_BYTES) {\n\t\t\tawait reader.cancel();\n\t\t\tapiError(413, ApiErrorCode.VALIDATION_FAILED, \"Upload exceeds the 256 MB probe limit\");\n\t\t}\n\t}\n\tconst ms = performance.now() - start;\n\treturn json({\n\t\tbytes,\n\t\tms: Math.round(ms),\n\t\tmbps: ms > 0 ? Number((bytes / (1024 * 1024) / (ms / 1e3)).toFixed(2)) : null\n\t});\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,GAAG,IAAI,GAAG,IAAI;AAC7B,IAAI,mBAAmB,GAAG,EAAE;AAC5B,IAAI,eAAe,GAAG,GAAG;AACzB,IAAI,gBAAgB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;AACrC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACrC,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC5C,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,mBAAmB,CAAC,CAAC;AAChH,CAAC,IAAI,UAAU,GAAG,CAAC;AACnB,CAAC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;AACtD,EAAE,IAAI,UAAU,IAAI,EAAE,EAAE;AACxB,GAAG,UAAU,CAAC,KAAK,EAAE;AACrB,GAAG;AACH,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;AAC3C,EAAE,cAAc,CAAC,KAAK,CAAC;AACvB,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3B,EAAE,UAAU,EAAE;AACd,CAAC,CAAC,EAAE,CAAC;AACL,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE;AACxC,EAAE,cAAc,EAAE,0BAA0B;AAC5C,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC;AAC5C,EAAE,eAAe,EAAE;AACnB,EAAE,EAAE,CAAC;AACL;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC5C,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC/D,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,gBAAgB,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;AACrJ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;AACzF,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;AAChC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;AACxC,CAAC,IAAI,KAAK,GAAG,CAAC;AACd,CAAC,OAAO,IAAI,EAAE;AACd,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC7C,EAAE,IAAI,IAAI,EAAE;AACZ,EAAE,KAAK,IAAI,KAAK,CAAC,UAAU;AAC3B,EAAE,IAAI,KAAK,GAAG,gBAAgB,EAAE;AAChC,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE;AACxB,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;AACzF,EAAE;AACF,CAAC;AACD,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK;AACrC,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,KAAK;AACP,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACpB,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AAC3E,EAAE,CAAC;AACH;;;;"}