@selvajs/selva 4.20.0-beta.1 → 4.20.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1218) hide show
  1. package/build/client/_app/immutable/chunks/5S0Yb9We.js +1 -0
  2. package/build/client/_app/immutable/chunks/5S0Yb9We.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/5S0Yb9We.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/BQqJKtE0.js +1 -0
  5. package/build/client/_app/immutable/chunks/BQqJKtE0.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BQqJKtE0.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/Bddiios3.js +1 -0
  8. package/build/client/_app/immutable/chunks/Bddiios3.js.br +2 -0
  9. package/build/client/_app/immutable/chunks/Bddiios3.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BoIksje-.js +2 -0
  11. package/build/client/_app/immutable/chunks/BoIksje-.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BoIksje-.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/CThhKRwe.js +1 -0
  14. package/build/client/_app/immutable/chunks/CThhKRwe.js.br +1 -0
  15. package/build/client/_app/immutable/chunks/CThhKRwe.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/CTv8Ojjj.js +1 -0
  17. package/build/client/_app/immutable/chunks/CTv8Ojjj.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CTv8Ojjj.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/CW9BsV6M.js +1 -0
  20. package/build/client/_app/immutable/chunks/CW9BsV6M.js.br +3 -0
  21. package/build/client/_app/immutable/chunks/CW9BsV6M.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/DOEftw7d.js +1 -0
  23. package/build/client/_app/immutable/chunks/DOEftw7d.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DOEftw7d.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/hFM5zF2g.js +1 -0
  26. package/build/client/_app/immutable/chunks/hFM5zF2g.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/hFM5zF2g.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/app.BKFjxVpv.js +2 -0
  29. package/build/client/_app/immutable/entry/app.BKFjxVpv.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.BKFjxVpv.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.DaEojwUA.js +1 -0
  32. package/build/client/_app/immutable/entry/start.DaEojwUA.js.br +1 -0
  33. package/build/client/_app/immutable/entry/start.DaEojwUA.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/1.D3c-UZoG.js +1 -0
  35. package/build/client/_app/immutable/nodes/1.D3c-UZoG.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/1.D3c-UZoG.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/11.BVKuOTBx.js +3 -0
  38. package/build/client/_app/immutable/nodes/11.BVKuOTBx.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/11.BVKuOTBx.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/13.COhu3R20.js +2 -0
  41. package/build/client/_app/immutable/nodes/13.COhu3R20.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/13.COhu3R20.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/14.BNKcjvVi.js +2 -0
  44. package/build/client/_app/immutable/nodes/14.BNKcjvVi.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/14.BNKcjvVi.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/15.Ccaf8skA.js +28 -0
  47. package/build/client/_app/immutable/nodes/15.Ccaf8skA.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/15.Ccaf8skA.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/16.DO-cFsjb.js +2 -0
  50. package/build/client/_app/immutable/nodes/16.DO-cFsjb.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/16.DO-cFsjb.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/17.BF9VKpTj.js +5 -0
  53. package/build/client/_app/immutable/nodes/17.BF9VKpTj.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/17.BF9VKpTj.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/18.COgBh1wf.js +2 -0
  56. package/build/client/_app/immutable/nodes/18.COgBh1wf.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/18.COgBh1wf.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/2.BYDPc53E.js +1 -0
  59. package/build/client/_app/immutable/nodes/2.BYDPc53E.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/2.BYDPc53E.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/20.Ge6ifUO9.js +7 -0
  62. package/build/client/_app/immutable/nodes/20.Ge6ifUO9.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/20.Ge6ifUO9.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/21.B8i0hapE.js +2 -0
  65. package/build/client/_app/immutable/nodes/21.B8i0hapE.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/21.B8i0hapE.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/22.C50IUIIU.js +5665 -0
  68. package/build/client/_app/immutable/nodes/22.C50IUIIU.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/22.C50IUIIU.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/23.Cvs5d1N1.js +6 -0
  71. package/build/client/_app/immutable/nodes/23.Cvs5d1N1.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/23.Cvs5d1N1.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/25.LC4qEB93.js +16 -0
  74. package/build/client/_app/immutable/nodes/25.LC4qEB93.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/25.LC4qEB93.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/26.CW3BCMVb.js +6 -0
  77. package/build/client/_app/immutable/nodes/26.CW3BCMVb.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/26.CW3BCMVb.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/29.Cdo3Kk-G.js +4 -0
  80. package/build/client/_app/immutable/nodes/29.Cdo3Kk-G.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/29.Cdo3Kk-G.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/3.Cvc8rdds.js +1 -0
  83. package/build/client/_app/immutable/nodes/3.Cvc8rdds.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/3.Cvc8rdds.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/30.CBhkMMeu.js +6 -0
  86. package/build/client/_app/immutable/nodes/30.CBhkMMeu.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/30.CBhkMMeu.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/31.Cp1T7ZvT.js +2 -0
  89. package/build/client/_app/immutable/nodes/31.Cp1T7ZvT.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/31.Cp1T7ZvT.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/32.DVy9c_cK.js +2 -0
  92. package/build/client/_app/immutable/nodes/32.DVy9c_cK.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/32.DVy9c_cK.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/34.B37pN8WA.js +1 -0
  95. package/build/client/_app/immutable/nodes/34.B37pN8WA.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/34.B37pN8WA.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/5.C6A16IjP.js +1 -0
  98. package/build/client/_app/immutable/nodes/5.C6A16IjP.js.br +1 -0
  99. package/build/client/_app/immutable/nodes/5.C6A16IjP.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/6.xdC3X0jt.js +1 -0
  101. package/build/client/_app/immutable/nodes/6.xdC3X0jt.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/6.xdC3X0jt.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/7.BAzBAVtm.js +1 -0
  104. package/build/client/_app/immutable/nodes/7.BAzBAVtm.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/7.BAzBAVtm.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/8.C1mGCj6N.js +3 -0
  107. package/build/client/_app/immutable/nodes/8.C1mGCj6N.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/8.C1mGCj6N.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/9.D2Gvvrlu.js +1 -0
  110. package/build/client/_app/immutable/nodes/9.D2Gvvrlu.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/9.D2Gvvrlu.js.gz +0 -0
  112. package/build/client/_app/version.json +1 -1
  113. package/build/client/_app/version.json.br +0 -0
  114. package/build/client/_app/version.json.gz +0 -0
  115. package/build/handler.js +4 -4
  116. package/build/index.js +4 -4
  117. package/build/server/chunks/chunks/AppHeader.js-BMcdc5sK.js +72 -0
  118. package/build/server/chunks/chunks/AppHeader.js-BMcdc5sK.js.map +1 -0
  119. package/build/server/chunks/chunks/Callout.js-Di4oXDoe.js +111 -0
  120. package/build/server/chunks/chunks/Callout.js-Di4oXDoe.js.map +1 -0
  121. package/build/server/chunks/chunks/ConfirmDialog.js-Buk8xtBo.js +152 -0
  122. package/build/server/chunks/chunks/ConfirmDialog.js-Buk8xtBo.js.map +1 -0
  123. package/build/server/chunks/chunks/DefinitionCard.js-DP6f7WiX.js +143 -0
  124. package/build/server/chunks/chunks/DefinitionCard.js-DP6f7WiX.js.map +1 -0
  125. package/build/server/chunks/chunks/ErrorScreen.js-F6hS_5zZ.js +119 -0
  126. package/build/server/chunks/chunks/ErrorScreen.js-F6hS_5zZ.js.map +1 -0
  127. package/build/server/chunks/chunks/FilterableDropdown.js-B-_AkY7E.js +45 -0
  128. package/build/server/chunks/chunks/FilterableDropdown.js-B-_AkY7E.js.map +1 -0
  129. package/build/server/chunks/chunks/SettingsMenu.js-9kodMsoh.js +810 -0
  130. package/build/server/chunks/chunks/SettingsMenu.js-9kodMsoh.js.map +1 -0
  131. package/build/server/chunks/chunks/SideNav.js-B-auJqsm.js +63 -0
  132. package/build/server/chunks/chunks/SideNav.js-B-auJqsm.js.map +1 -0
  133. package/build/server/chunks/chunks/StatCard.js-Byrp6IIv.js +51 -0
  134. package/build/server/chunks/chunks/StatCard.js-Byrp6IIv.js.map +1 -0
  135. package/build/server/chunks/chunks/UserRowIdentity.js-DIVBieys.js +128 -0
  136. package/build/server/chunks/chunks/UserRowIdentity.js-DIVBieys.js.map +1 -0
  137. package/build/server/chunks/chunks/ViewToggle.js-CnQL553M.js +91 -0
  138. package/build/server/chunks/chunks/ViewToggle.js-CnQL553M.js.map +1 -0
  139. package/build/server/chunks/chunks/access.js-DR4cexvJ.js +921 -0
  140. package/build/server/chunks/chunks/access.js-DR4cexvJ.js.map +1 -0
  141. package/build/server/chunks/chunks/access.server.js-BojaGxrH.js +12 -0
  142. package/build/server/chunks/chunks/access.server.js-BojaGxrH.js.map +1 -0
  143. package/build/server/chunks/chunks/access2.server.js-BvBQ7INw.js +63 -0
  144. package/build/server/chunks/chunks/access2.server.js-BvBQ7INw.js.map +1 -0
  145. package/build/server/chunks/chunks/activity.js-B8m7bGNK.js +15 -0
  146. package/build/server/chunks/chunks/activity.js-B8m7bGNK.js.map +1 -0
  147. package/build/server/chunks/chunks/admin-auth.server.js-CIeg-6uL.js +293 -0
  148. package/build/server/chunks/chunks/admin-auth.server.js-CIeg-6uL.js.map +1 -0
  149. package/build/server/chunks/chunks/alert-description.js-DLhCGay1.js +45 -0
  150. package/build/server/chunks/chunks/alert-description.js-DLhCGay1.js.map +1 -0
  151. package/build/server/chunks/chunks/alert-dialog.js-DCjug-bq.js +461 -0
  152. package/build/server/chunks/chunks/alert-dialog.js-DCjug-bq.js.map +1 -0
  153. package/build/server/chunks/chunks/api-errors.js-m3Ryxc96.js +56 -0
  154. package/build/server/chunks/chunks/api-errors.js-m3Ryxc96.js.map +1 -0
  155. package/build/server/chunks/chunks/api.js-pA5_VXdB.js +793 -0
  156. package/build/server/chunks/chunks/api.js-pA5_VXdB.js.map +1 -0
  157. package/build/server/chunks/chunks/arrow-left.js-HN2cTpEn.js +15 -0
  158. package/build/server/chunks/chunks/arrow-left.js-HN2cTpEn.js.map +1 -0
  159. package/build/server/chunks/chunks/arrow-right.js-BwMF6waf.js +15 -0
  160. package/build/server/chunks/chunks/arrow-right.js-BwMF6waf.js.map +1 -0
  161. package/build/server/chunks/chunks/auth-bootstrap.server.js-BE1WKNJH.js +152 -0
  162. package/build/server/chunks/chunks/auth-bootstrap.server.js-BE1WKNJH.js.map +1 -0
  163. package/build/server/chunks/chunks/badge.js-B30-hmU3.js +35 -0
  164. package/build/server/chunks/chunks/badge.js-B30-hmU3.js.map +1 -0
  165. package/build/server/chunks/chunks/bootHealth.server.js-CNIAlSzQ.js +90 -0
  166. package/build/server/chunks/chunks/bootHealth.server.js-CNIAlSzQ.js.map +1 -0
  167. package/build/server/chunks/chunks/building-complex.js-D29qoKMP.js +22 -0
  168. package/build/server/chunks/chunks/building-complex.js-D29qoKMP.js.map +1 -0
  169. package/build/server/chunks/chunks/button.js-8VvBMV9h.js +69 -0
  170. package/build/server/chunks/chunks/button.js-8VvBMV9h.js.map +1 -0
  171. package/build/server/chunks/chunks/card-content.js-D5yRR6Er.js +35 -0
  172. package/build/server/chunks/chunks/card-content.js-D5yRR6Er.js.map +1 -0
  173. package/build/server/chunks/chunks/card-description.js-OoC8iQJR.js +20 -0
  174. package/build/server/chunks/chunks/card-description.js-OoC8iQJR.js.map +1 -0
  175. package/build/server/chunks/chunks/card-title.js-DQKeEykL.js +35 -0
  176. package/build/server/chunks/chunks/card-title.js-DQKeEykL.js.map +1 -0
  177. package/build/server/chunks/chunks/check.js-C5YcGCOq.js +15 -0
  178. package/build/server/chunks/chunks/check.js-C5YcGCOq.js.map +1 -0
  179. package/build/server/chunks/chunks/chevron-down.js-BHO41MP0.js +15 -0
  180. package/build/server/chunks/chunks/chevron-down.js-BHO41MP0.js.map +1 -0
  181. package/build/server/chunks/chunks/chevron-right.js-CrQTJyLN.js +15 -0
  182. package/build/server/chunks/chunks/chevron-right.js-CrQTJyLN.js.map +1 -0
  183. package/build/server/chunks/chunks/chevron-up.js-Dko9lFNK.js +15 -0
  184. package/build/server/chunks/chunks/chevron-up.js-Dko9lFNK.js.map +1 -0
  185. package/build/server/chunks/chunks/circle-alert.js-3YxNdozj.js +34 -0
  186. package/build/server/chunks/chunks/circle-alert.js-3YxNdozj.js.map +1 -0
  187. package/build/server/chunks/chunks/circle.js-CT-Nph4Z.js +19 -0
  188. package/build/server/chunks/chunks/circle.js-CT-Nph4Z.js.map +1 -0
  189. package/build/server/chunks/chunks/client.js-397LsiX9.js +59 -0
  190. package/build/server/chunks/chunks/client.js-397LsiX9.js.map +1 -0
  191. package/build/server/chunks/chunks/compute.js-Cj-WWBpb.js +429 -0
  192. package/build/server/chunks/chunks/compute.js-Cj-WWBpb.js.map +1 -0
  193. package/build/server/chunks/chunks/computeLimits.js-C54VdET8.js +45 -0
  194. package/build/server/chunks/chunks/computeLimits.js-C54VdET8.js.map +1 -0
  195. package/build/server/chunks/chunks/computeRateLimit.server.js-D1b8J3j1.js +31 -0
  196. package/build/server/chunks/chunks/computeRateLimit.server.js-D1b8J3j1.js.map +1 -0
  197. package/build/server/chunks/chunks/copy.js-BaodJns3.js +22 -0
  198. package/build/server/chunks/chunks/copy.js-BaodJns3.js.map +1 -0
  199. package/build/server/chunks/chunks/definitions.js-CI90mQ1G.js +491 -0
  200. package/build/server/chunks/chunks/definitions.js-CI90mQ1G.js.map +1 -0
  201. package/build/server/chunks/chunks/dialog-footer.js-BTfeGx_y.js +59 -0
  202. package/build/server/chunks/chunks/dialog-footer.js-BTfeGx_y.js.map +1 -0
  203. package/build/server/chunks/chunks/dialog.js-DOWYaTT4.js +366 -0
  204. package/build/server/chunks/chunks/dialog.js-DOWYaTT4.js.map +1 -0
  205. package/build/server/chunks/chunks/engine.server.js-CZ-E0mKb.js +600 -0
  206. package/build/server/chunks/chunks/engine.server.js-CZ-E0mKb.js.map +1 -0
  207. package/build/server/chunks/chunks/external-link.js-BrpJI_Md.js +19 -0
  208. package/build/server/chunks/chunks/external-link.js-BrpJI_Md.js.map +1 -0
  209. package/build/server/chunks/chunks/folder-kanban.js-CpGcJoeB.js +20 -0
  210. package/build/server/chunks/chunks/folder-kanban.js-CpGcJoeB.js.map +1 -0
  211. package/build/server/chunks/chunks/folder-open.js-BYImdTpr.js +15 -0
  212. package/build/server/chunks/chunks/folder-open.js-BYImdTpr.js.map +1 -0
  213. package/build/server/chunks/chunks/folders.js-BTm1UQXF.js +15 -0
  214. package/build/server/chunks/chunks/folders.js-BTm1UQXF.js.map +1 -0
  215. package/build/server/chunks/chunks/forms.js-bTUiLoG1.js +2 -0
  216. package/build/server/chunks/chunks/forms.js-bTUiLoG1.js.map +1 -0
  217. package/build/server/chunks/chunks/gauge.js-CReYWm7F.js +15 -0
  218. package/build/server/chunks/chunks/gauge.js-CReYWm7F.js.map +1 -0
  219. package/build/server/chunks/chunks/handlers.js-o9t-JPz6.js +1465 -0
  220. package/build/server/chunks/chunks/handlers.js-o9t-JPz6.js.map +1 -0
  221. package/build/server/chunks/chunks/http.js-0XxH_FIA.js +60 -0
  222. package/build/server/chunks/chunks/http.js-0XxH_FIA.js.map +1 -0
  223. package/build/server/chunks/chunks/input.js-CkbgZz_-.js +31 -0
  224. package/build/server/chunks/chunks/input.js-CkbgZz_-.js.map +1 -0
  225. package/build/server/chunks/chunks/instanceAdmins.server.js-Bz9FITGx.js +24 -0
  226. package/build/server/chunks/chunks/instanceAdmins.server.js-Bz9FITGx.js.map +1 -0
  227. package/build/server/chunks/chunks/internal.js-DWk6_A5e.js.map +1 -1
  228. package/build/server/chunks/chunks/internal2.js-na9JormS.js +224 -0
  229. package/build/server/chunks/chunks/internal2.js-na9JormS.js.map +1 -0
  230. package/build/server/chunks/chunks/key-round.js-mVvcfd_N.js +20 -0
  231. package/build/server/chunks/chunks/key-round.js-mVvcfd_N.js.map +1 -0
  232. package/build/server/chunks/chunks/label.js-BgZmhitB.js +107 -0
  233. package/build/server/chunks/chunks/label.js-BgZmhitB.js.map +1 -0
  234. package/build/server/chunks/chunks/link-2.js-BDZTxOsG.js +24 -0
  235. package/build/server/chunks/chunks/link-2.js-BDZTxOsG.js.map +1 -0
  236. package/build/server/chunks/chunks/mail.js-B0Oiz0vM.js +21 -0
  237. package/build/server/chunks/chunks/mail.js-B0Oiz0vM.js.map +1 -0
  238. package/build/server/chunks/chunks/minus.js-DJOh4fwO.js +15 -0
  239. package/build/server/chunks/chunks/minus.js-DJOh4fwO.js.map +1 -0
  240. package/build/server/chunks/chunks/navigation.js-bTUiLoG1.js +2 -0
  241. package/build/server/chunks/chunks/navigation.js-bTUiLoG1.js.map +1 -0
  242. package/build/server/chunks/chunks/package.js-D-XoLigx.js +83 -0
  243. package/build/server/chunks/chunks/package.js-D-XoLigx.js.map +1 -0
  244. package/build/server/chunks/chunks/paths.js-bFTVGnBr.js +19 -0
  245. package/build/server/chunks/chunks/paths.js-bFTVGnBr.js.map +1 -0
  246. package/build/server/chunks/chunks/permissions.server.js-BOjSCf21.js +24 -0
  247. package/build/server/chunks/chunks/permissions.server.js-BOjSCf21.js.map +1 -0
  248. package/build/server/chunks/chunks/plus.js-COtH29wg.js +15 -0
  249. package/build/server/chunks/chunks/plus.js-COtH29wg.js.map +1 -0
  250. package/build/server/chunks/chunks/projects.js-i-DqYHkO.js +47 -0
  251. package/build/server/chunks/chunks/projects.js-i-DqYHkO.js.map +1 -0
  252. package/build/server/chunks/chunks/providers.server.js-Wp14z2ES.js +6337 -0
  253. package/build/server/chunks/chunks/providers.server.js-Wp14z2ES.js.map +1 -0
  254. package/build/server/chunks/chunks/rate-limit.js-Br3luBbc.js +83 -0
  255. package/build/server/chunks/chunks/rate-limit.js-Br3luBbc.js.map +1 -0
  256. package/build/server/chunks/chunks/refresh-cw.js-CVdQi2aY.js +20 -0
  257. package/build/server/chunks/chunks/refresh-cw.js-CVdQi2aY.js.map +1 -0
  258. package/build/server/chunks/chunks/request.js-DFGawhDB.js +119 -0
  259. package/build/server/chunks/chunks/request.js-DFGawhDB.js.map +1 -0
  260. package/build/server/chunks/chunks/resolve.server.js-77dnE4Mz.js +59 -0
  261. package/build/server/chunks/chunks/resolve.server.js-77dnE4Mz.js.map +1 -0
  262. package/build/server/chunks/chunks/rotate-ccw.js-qxDoD6Ps.js +15 -0
  263. package/build/server/chunks/chunks/rotate-ccw.js-qxDoD6Ps.js.map +1 -0
  264. package/build/server/chunks/chunks/scroll-text.js-b8etXL3l.js +20 -0
  265. package/build/server/chunks/chunks/scroll-text.js-b8etXL3l.js.map +1 -0
  266. package/build/server/chunks/chunks/search.js-BLWd2KgL.js +19 -0
  267. package/build/server/chunks/chunks/search.js-BLWd2KgL.js.map +1 -0
  268. package/build/server/chunks/chunks/select.js-BtuFqfaI.js +3836 -0
  269. package/build/server/chunks/chunks/select.js-BtuFqfaI.js.map +1 -0
  270. package/build/server/chunks/chunks/selfUpdate.server.js-CMj_gM9f.js +144 -0
  271. package/build/server/chunks/chunks/selfUpdate.server.js-CMj_gM9f.js.map +1 -0
  272. package/build/server/chunks/chunks/server2.js-dcsOj7ax.js +44 -0
  273. package/build/server/chunks/chunks/server2.js-dcsOj7ax.js.map +1 -0
  274. package/build/server/chunks/chunks/settings.js-5_jijyx5.js +19 -0
  275. package/build/server/chunks/chunks/settings.js-5_jijyx5.js.map +1 -0
  276. package/build/server/chunks/chunks/shield-check.js-Dh7PSQTI.js +15 -0
  277. package/build/server/chunks/chunks/shield-check.js-Dh7PSQTI.js.map +1 -0
  278. package/build/server/chunks/chunks/shield.js-BhPI5Xw9.js +15 -0
  279. package/build/server/chunks/chunks/shield.js-BhPI5Xw9.js.map +1 -0
  280. package/build/server/chunks/chunks/solve.server.js-C04b1gP9.js +315 -0
  281. package/build/server/chunks/chunks/solve.server.js-C04b1gP9.js.map +1 -0
  282. package/build/server/chunks/chunks/star.js-BCVTtuX4.js +15 -0
  283. package/build/server/chunks/chunks/star.js-BCVTtuX4.js.map +1 -0
  284. package/build/server/chunks/chunks/state.js-BpLiX2oe.js +76 -0
  285. package/build/server/chunks/chunks/state.js-BpLiX2oe.js.map +1 -0
  286. package/build/server/chunks/chunks/stores.js-CFHVNvWN.js +35 -0
  287. package/build/server/chunks/chunks/stores.js-CFHVNvWN.js.map +1 -0
  288. package/build/server/chunks/chunks/sveltekit.js-BrmM58vp.js +84 -0
  289. package/build/server/chunks/chunks/sveltekit.js-BrmM58vp.js.map +1 -0
  290. package/build/server/chunks/chunks/tabs-trigger.js-D3P453Jj.js +637 -0
  291. package/build/server/chunks/chunks/tabs-trigger.js-D3P453Jj.js.map +1 -0
  292. package/build/server/chunks/chunks/trash.js-DdSEEDLu.js +22 -0
  293. package/build/server/chunks/chunks/trash.js-DdSEEDLu.js.map +1 -0
  294. package/build/server/chunks/chunks/triangle-alert.js-DVdIFKt3.js +38 -0
  295. package/build/server/chunks/chunks/triangle-alert.js-DVdIFKt3.js.map +1 -0
  296. package/build/server/chunks/chunks/user-plus.js-BiXnbRK_.js +34 -0
  297. package/build/server/chunks/chunks/user-plus.js-BiXnbRK_.js.map +1 -0
  298. package/build/server/chunks/chunks/users.js-Ccee0dgJ.js +24 -0
  299. package/build/server/chunks/chunks/users.js-Ccee0dgJ.js.map +1 -0
  300. package/build/server/chunks/chunks/utils2.js-C9XYOWak.js +81 -0
  301. package/build/server/chunks/chunks/utils2.js-C9XYOWak.js.map +1 -0
  302. package/build/server/chunks/chunks/utils3.js-C1oP9gJ9.js +180 -0
  303. package/build/server/chunks/chunks/utils3.js-C1oP9gJ9.js.map +1 -0
  304. package/build/server/chunks/chunks/x.js-Bzfdcjk0.js +15 -0
  305. package/build/server/chunks/chunks/x.js-Bzfdcjk0.js.map +1 -0
  306. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DC6snzdn.js +98 -0
  307. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DC6snzdn.js.map +1 -0
  308. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-XMarBGcf.js +85 -0
  309. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-XMarBGcf.js.map +1 -0
  310. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CL44Lmyf.js +96 -0
  311. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CL44Lmyf.js.map +1 -0
  312. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-BRfNufYU.js +46 -0
  313. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-BRfNufYU.js.map +1 -0
  314. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-Db_T7VLH.js +69 -0
  315. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-Db_T7VLH.js.map +1 -0
  316. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DgQ5JESv.js +62 -0
  317. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DgQ5JESv.js.map +1 -0
  318. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-aOm9mlRg.js +34 -0
  319. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-aOm9mlRg.js.map +1 -0
  320. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-v6qSKDvd.js +65 -0
  321. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-v6qSKDvd.js.map +1 -0
  322. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-Djn9qn7u.js +80 -0
  323. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-Djn9qn7u.js.map +1 -0
  324. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-tfn0ELz6.js +363 -0
  325. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-tfn0ELz6.js.map +1 -0
  326. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-CknEUFMa.js +85 -0
  327. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-CknEUFMa.js.map +1 -0
  328. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-BSlyMxLq.js +607 -0
  329. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-BSlyMxLq.js.map +1 -0
  330. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-25zLLzrY.js +58 -0
  331. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-25zLLzrY.js.map +1 -0
  332. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-DoM-hafL.js +73 -0
  333. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-DoM-hafL.js.map +1 -0
  334. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-BNJI2_hb.js +83 -0
  335. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-BNJI2_hb.js.map +1 -0
  336. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-qS0srkZ4.js +62 -0
  337. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-qS0srkZ4.js.map +1 -0
  338. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D4FuDr0H.js +93 -0
  339. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D4FuDr0H.js.map +1 -0
  340. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-B6-2x6y-.js +58 -0
  341. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-B6-2x6y-.js.map +1 -0
  342. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-CdhY9zbG.js +61 -0
  343. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-CdhY9zbG.js.map +1 -0
  344. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-CEooLh62.js +90 -0
  345. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-CEooLh62.js.map +1 -0
  346. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-DAcoTagT.js +68 -0
  347. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-DAcoTagT.js.map +1 -0
  348. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-BfELGpKU.js +45 -0
  349. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-BfELGpKU.js.map +1 -0
  350. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-Cpdd_DbI.js +43 -0
  351. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-Cpdd_DbI.js.map +1 -0
  352. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-t3moZXlu.js +43 -0
  353. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-t3moZXlu.js.map +1 -0
  354. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-B-Bm8yi5.js +43 -0
  355. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-B-Bm8yi5.js.map +1 -0
  356. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DvxNTIQT.js +43 -0
  357. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DvxNTIQT.js.map +1 -0
  358. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-DqJeaR9y.js +47 -0
  359. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-DqJeaR9y.js.map +1 -0
  360. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CmrnYspS.js +96 -0
  361. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CmrnYspS.js.map +1 -0
  362. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CqhRPIz7.js +47 -0
  363. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CqhRPIz7.js.map +1 -0
  364. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-BoyNueMb.js +44 -0
  365. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-BoyNueMb.js.map +1 -0
  366. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-CgltS7l8.js +43 -0
  367. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-CgltS7l8.js.map +1 -0
  368. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-6P5HA00n.js +43 -0
  369. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-6P5HA00n.js.map +1 -0
  370. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-C5hEa3k1.js +42 -0
  371. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-C5hEa3k1.js.map +1 -0
  372. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-mNHivFg9.js +43 -0
  373. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-mNHivFg9.js.map +1 -0
  374. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-BJR9TlFK.js +42 -0
  375. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-BJR9TlFK.js.map +1 -0
  376. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-D-yvvNEO.js +43 -0
  377. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-D-yvvNEO.js.map +1 -0
  378. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-OdU8h6ij.js +43 -0
  379. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-OdU8h6ij.js.map +1 -0
  380. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-CuAxssKH.js +42 -0
  381. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-CuAxssKH.js.map +1 -0
  382. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-B5aZiF6d.js +42 -0
  383. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-B5aZiF6d.js.map +1 -0
  384. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-C9SxbjVD.js +43 -0
  385. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-C9SxbjVD.js.map +1 -0
  386. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-CL8ADRkB.js +42 -0
  387. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-CL8ADRkB.js.map +1 -0
  388. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-BilNJeSD.js +43 -0
  389. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-BilNJeSD.js.map +1 -0
  390. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-BymnSIqM.js +43 -0
  391. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-BymnSIqM.js.map +1 -0
  392. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-Cwoxrbky.js +42 -0
  393. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-Cwoxrbky.js.map +1 -0
  394. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BAbACSRd.js +45 -0
  395. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BAbACSRd.js.map +1 -0
  396. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-Dy3uNAeD.js +44 -0
  397. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-Dy3uNAeD.js.map +1 -0
  398. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-MaVZaSHw.js +44 -0
  399. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-MaVZaSHw.js.map +1 -0
  400. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-CE6kQhD6.js +43 -0
  401. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-CE6kQhD6.js.map +1 -0
  402. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DBRMbrib.js +43 -0
  403. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DBRMbrib.js.map +1 -0
  404. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-Co5C2jPA.js +29 -0
  405. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-Co5C2jPA.js.map +1 -0
  406. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DhuGL-ht.js +90 -0
  407. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DhuGL-ht.js.map +1 -0
  408. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-nAq6r-fX.js +63 -0
  409. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-nAq6r-fX.js.map +1 -0
  410. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-YK4NCFzC.js +50 -0
  411. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-YK4NCFzC.js.map +1 -0
  412. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Dai7OF5S.js +56 -0
  413. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Dai7OF5S.js.map +1 -0
  414. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BVuvvVlj.js +64 -0
  415. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BVuvvVlj.js.map +1 -0
  416. package/build/server/chunks/entries/endpoints/docs/api/openapi.yaml/_server.ts.js-D-sbV56m.js +11 -0
  417. package/build/server/chunks/entries/endpoints/docs/api/openapi.yaml/_server.ts.js-D-sbV56m.js.map +1 -0
  418. package/build/server/chunks/entries/hooks.server.js-DdJ8xIUU.js +348 -0
  419. package/build/server/chunks/entries/hooks.server.js-DdJ8xIUU.js.map +1 -0
  420. package/build/server/chunks/entries/pages/_error.svelte.js-CP1YPHaC.js +35 -0
  421. package/build/server/chunks/entries/pages/_error.svelte.js-CP1YPHaC.js.map +1 -0
  422. package/build/server/chunks/entries/pages/_layout.server.ts.js-CfEx2ig3.js +34 -0
  423. package/build/server/chunks/entries/pages/_layout.server.ts.js-CfEx2ig3.js.map +1 -0
  424. package/build/server/chunks/entries/pages/_page.server.ts.js-B3q0RyuF.js +55 -0
  425. package/build/server/chunks/entries/pages/_page.server.ts.js-B3q0RyuF.js.map +1 -0
  426. package/build/server/chunks/entries/pages/_page.svelte.js-WgGhatJp.js +155 -0
  427. package/build/server/chunks/entries/pages/_page.svelte.js-WgGhatJp.js.map +1 -0
  428. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-C0etPYnB.js +181 -0
  429. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-C0etPYnB.js.map +1 -0
  430. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Vat0kx_V.js +176 -0
  431. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Vat0kx_V.js.map +1 -0
  432. package/build/server/chunks/entries/pages/admin/_error.svelte.js-BHjI5VC6.js +37 -0
  433. package/build/server/chunks/entries/pages/admin/_error.svelte.js-BHjI5VC6.js.map +1 -0
  434. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BXkJgSJ0.js +31 -0
  435. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BXkJgSJ0.js.map +1 -0
  436. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-BKb9sSuN.js +130 -0
  437. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-BKb9sSuN.js.map +1 -0
  438. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CU9qsXNS.js +76 -0
  439. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CU9qsXNS.js.map +1 -0
  440. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DvfYF9Pe.js +393 -0
  441. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DvfYF9Pe.js.map +1 -0
  442. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-V5r5Smmw.js +269 -0
  443. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-V5r5Smmw.js.map +1 -0
  444. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DADMK6G4.js +455 -0
  445. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DADMK6G4.js.map +1 -0
  446. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-E0r97DVy.js +74 -0
  447. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-E0r97DVy.js.map +1 -0
  448. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BWSrYVWO.js +839 -0
  449. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BWSrYVWO.js.map +1 -0
  450. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-li0wsZe9.js +35 -0
  451. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-li0wsZe9.js.map +1 -0
  452. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-DSL4NwOv.js +95 -0
  453. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-DSL4NwOv.js.map +1 -0
  454. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-crGO9Q5c.js +86 -0
  455. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-crGO9Q5c.js.map +1 -0
  456. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CRHGxcVH.js +636 -0
  457. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CRHGxcVH.js.map +1 -0
  458. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DrxBEPPN.js +42 -0
  459. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DrxBEPPN.js.map +1 -0
  460. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CD6E4Fmw.js +283 -0
  461. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CD6E4Fmw.js.map +1 -0
  462. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BT6cKz4D.js +87 -0
  463. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BT6cKz4D.js.map +1 -0
  464. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-Cr5tFTol.js +1368 -0
  465. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-Cr5tFTol.js.map +1 -0
  466. package/build/server/chunks/entries/pages/admin/tokens/_page.server.ts.js-PsMspiA-.js +63 -0
  467. package/build/server/chunks/entries/pages/admin/tokens/_page.server.ts.js-PsMspiA-.js.map +1 -0
  468. package/build/server/chunks/entries/pages/admin/tokens/_page.svelte.js-Cp3og5hm.js +767 -0
  469. package/build/server/chunks/entries/pages/admin/tokens/_page.svelte.js-Cp3og5hm.js.map +1 -0
  470. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DcN4RoB8.js +79 -0
  471. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DcN4RoB8.js.map +1 -0
  472. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-CYFlBp0o.js +622 -0
  473. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-CYFlBp0o.js.map +1 -0
  474. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CLwP8Hmv.js +63 -0
  475. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CLwP8Hmv.js.map +1 -0
  476. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DieDhXvz.js +62 -0
  477. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DieDhXvz.js.map +1 -0
  478. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-CKn_Mavr.js +623 -0
  479. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-CKn_Mavr.js.map +1 -0
  480. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B35ZOpc2.js +85 -0
  481. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B35ZOpc2.js.map +1 -0
  482. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-C_IBaYGR.js +120 -0
  483. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-C_IBaYGR.js.map +1 -0
  484. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BdR5tzow.js +15116 -0
  485. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BdR5tzow.js.map +1 -0
  486. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DO-2-ifq.js +50 -0
  487. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DO-2-ifq.js.map +1 -0
  488. package/build/server/chunks/entries/pages/library/_page.svelte.js-B4Y4Jp8e.js +301 -0
  489. package/build/server/chunks/entries/pages/library/_page.svelte.js-B4Y4Jp8e.js.map +1 -0
  490. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CUvRZZo0.js +101 -0
  491. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CUvRZZo0.js.map +1 -0
  492. package/build/server/chunks/entries/pages/login/_page.svelte.js-BmBuGQJm.js +256 -0
  493. package/build/server/chunks/entries/pages/login/_page.svelte.js-BmBuGQJm.js.map +1 -0
  494. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DBXoe3kp.js +19 -0
  495. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DBXoe3kp.js.map +1 -0
  496. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CDjgmqmp.js +49 -0
  497. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CDjgmqmp.js.map +1 -0
  498. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CAezNXja.js +93 -0
  499. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CAezNXja.js.map +1 -0
  500. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DSeP0NKG.js +3741 -0
  501. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DSeP0NKG.js.map +1 -0
  502. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-D2TtLyiA.js +116 -0
  503. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-D2TtLyiA.js.map +1 -0
  504. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BMU1Inoh.js +312 -0
  505. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BMU1Inoh.js.map +1 -0
  506. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CyJswSKV.js +28 -0
  507. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CyJswSKV.js.map +1 -0
  508. package/build/server/chunks/entries/pages/team/_layout.svelte.js-6Qw-TTN_.js +166 -0
  509. package/build/server/chunks/entries/pages/team/_layout.svelte.js-6Qw-TTN_.js.map +1 -0
  510. package/build/server/chunks/entries/pages/team/_page.server.ts.js-B5kl9KQW.js +35 -0
  511. package/build/server/chunks/entries/pages/team/_page.server.ts.js-B5kl9KQW.js.map +1 -0
  512. package/build/server/chunks/entries/pages/team/_page.svelte.js-DoGbeceR.js +109 -0
  513. package/build/server/chunks/entries/pages/team/_page.svelte.js-DoGbeceR.js.map +1 -0
  514. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-M2Yuy_t0.js +121 -0
  515. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-M2Yuy_t0.js.map +1 -0
  516. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CF9X08Mx.js +42 -0
  517. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CF9X08Mx.js.map +1 -0
  518. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Btg1_aG7.js +611 -0
  519. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Btg1_aG7.js.map +1 -0
  520. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CPfEUSmx.js +62 -0
  521. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CPfEUSmx.js.map +1 -0
  522. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-NGCrQBTy.js +805 -0
  523. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-NGCrQBTy.js.map +1 -0
  524. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-BkLbvah5.js +58 -0
  525. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-BkLbvah5.js.map +1 -0
  526. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-eZsTIHs5.js +422 -0
  527. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-eZsTIHs5.js.map +1 -0
  528. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BgZ8gcaJ.js +67 -0
  529. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BgZ8gcaJ.js.map +1 -0
  530. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-CR3yY09o.js +265 -0
  531. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-CR3yY09o.js.map +1 -0
  532. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-CQtJ8maT.js +34 -0
  533. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-CQtJ8maT.js.map +1 -0
  534. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-ZQbA2juu.js +303 -0
  535. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-ZQbA2juu.js.map +1 -0
  536. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DeqIdl_a.js +29 -0
  537. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DeqIdl_a.js.map +1 -0
  538. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-DHJDb2OJ.js +311 -0
  539. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-DHJDb2OJ.js.map +1 -0
  540. package/build/server/chunks/handler-BbGzu8WI.js +1206 -0
  541. package/build/server/chunks/handler-BbGzu8WI.js.map +1 -0
  542. package/build/server/chunks/index.js-BgZrtlbr.js +3767 -0
  543. package/build/server/chunks/index.js-BgZrtlbr.js.map +1 -0
  544. package/build/server/chunks/manifest.js-DDzp-o_y.js +655 -0
  545. package/build/server/chunks/manifest.js-DDzp-o_y.js.map +1 -0
  546. package/build/server/chunks/nodes/0.js-CIw_Alj5.js +26 -0
  547. package/build/server/chunks/nodes/0.js-CIw_Alj5.js.map +1 -0
  548. package/build/server/chunks/nodes/1.js-C6iU7mvZ.js +9 -0
  549. package/build/server/chunks/nodes/1.js-C6iU7mvZ.js.map +1 -0
  550. package/build/server/chunks/nodes/10.js-tcfG7Edt.js +30 -0
  551. package/build/server/chunks/nodes/10.js-tcfG7Edt.js.map +1 -0
  552. package/build/server/chunks/nodes/11.js-B7xn0l0L.js +36 -0
  553. package/build/server/chunks/nodes/11.js-B7xn0l0L.js.map +1 -0
  554. package/build/server/chunks/nodes/12.js-Cf7gGan7.js +27 -0
  555. package/build/server/chunks/nodes/12.js-Cf7gGan7.js.map +1 -0
  556. package/build/server/chunks/nodes/13.js-C-8hShFN.js +27 -0
  557. package/build/server/chunks/nodes/13.js-C-8hShFN.js.map +1 -0
  558. package/build/server/chunks/nodes/14.js-adXoYQGK.js +27 -0
  559. package/build/server/chunks/nodes/14.js-adXoYQGK.js.map +1 -0
  560. package/build/server/chunks/nodes/15.js-DuSdzdSI.js +37 -0
  561. package/build/server/chunks/nodes/15.js-DuSdzdSI.js.map +1 -0
  562. package/build/server/chunks/nodes/16.js-BisPIRQR.js +33 -0
  563. package/build/server/chunks/nodes/16.js-BisPIRQR.js.map +1 -0
  564. package/build/server/chunks/nodes/17.js-Bnv6uu7b.js +30 -0
  565. package/build/server/chunks/nodes/17.js-Bnv6uu7b.js.map +1 -0
  566. package/build/server/chunks/nodes/18.js-CqOxnYa9.js +9 -0
  567. package/build/server/chunks/nodes/18.js-CqOxnYa9.js.map +1 -0
  568. package/build/server/chunks/nodes/19.js-DVjUlhUe.js +33 -0
  569. package/build/server/chunks/nodes/19.js-DVjUlhUe.js.map +1 -0
  570. package/build/server/chunks/nodes/2.js-DnLNewNi.js +30 -0
  571. package/build/server/chunks/nodes/2.js-DnLNewNi.js.map +1 -0
  572. package/build/server/chunks/nodes/20.js-BuFAV1CX.js +22 -0
  573. package/build/server/chunks/nodes/20.js-BuFAV1CX.js.map +1 -0
  574. package/build/server/chunks/nodes/21.js-DmYks2zg.js +21 -0
  575. package/build/server/chunks/nodes/21.js-DmYks2zg.js.map +1 -0
  576. package/build/server/chunks/nodes/22.js-ClNVwDL4.js +40 -0
  577. package/build/server/chunks/nodes/22.js-ClNVwDL4.js.map +1 -0
  578. package/build/server/chunks/nodes/23.js-yivCseFV.js +33 -0
  579. package/build/server/chunks/nodes/23.js-yivCseFV.js.map +1 -0
  580. package/build/server/chunks/nodes/24.js-CiuTd7r8.js +30 -0
  581. package/build/server/chunks/nodes/24.js-CiuTd7r8.js.map +1 -0
  582. package/build/server/chunks/nodes/25.js-FcMac4vB.js +29 -0
  583. package/build/server/chunks/nodes/25.js-FcMac4vB.js.map +1 -0
  584. package/build/server/chunks/nodes/26.js-UCf9zXl6.js +33 -0
  585. package/build/server/chunks/nodes/26.js-UCf9zXl6.js.map +1 -0
  586. package/build/server/chunks/nodes/27.js-Ck1MR2nW.js +27 -0
  587. package/build/server/chunks/nodes/27.js-Ck1MR2nW.js.map +1 -0
  588. package/build/server/chunks/nodes/28.js-BKzu5uUy.js +9 -0
  589. package/build/server/chunks/nodes/28.js-BKzu5uUy.js.map +1 -0
  590. package/build/server/chunks/nodes/29.js-DcX6Uzc1.js +27 -0
  591. package/build/server/chunks/nodes/29.js-DcX6Uzc1.js.map +1 -0
  592. package/build/server/chunks/nodes/3.js-B40uiy52.js +9 -0
  593. package/build/server/chunks/nodes/3.js-B40uiy52.js.map +1 -0
  594. package/build/server/chunks/nodes/30.js-wrkpLRuK.js +27 -0
  595. package/build/server/chunks/nodes/30.js-wrkpLRuK.js.map +1 -0
  596. package/build/server/chunks/nodes/31.js-C4bYicRf.js +29 -0
  597. package/build/server/chunks/nodes/31.js-C4bYicRf.js.map +1 -0
  598. package/build/server/chunks/nodes/32.js-8OOn-NC4.js +27 -0
  599. package/build/server/chunks/nodes/32.js-8OOn-NC4.js.map +1 -0
  600. package/build/server/chunks/nodes/33.js-CRjEDQOk.js +27 -0
  601. package/build/server/chunks/nodes/33.js-CRjEDQOk.js.map +1 -0
  602. package/build/server/chunks/nodes/34.js-Bso0gOIn.js +27 -0
  603. package/build/server/chunks/nodes/34.js-Bso0gOIn.js.map +1 -0
  604. package/build/server/chunks/nodes/5.js-BQeJyfqk.js +15 -0
  605. package/build/server/chunks/nodes/5.js-BQeJyfqk.js.map +1 -0
  606. package/build/server/chunks/nodes/6.js-C1Pqlsks.js +27 -0
  607. package/build/server/chunks/nodes/6.js-C1Pqlsks.js.map +1 -0
  608. package/build/server/chunks/nodes/7.js-KBV5sFRo.js +21 -0
  609. package/build/server/chunks/nodes/7.js-KBV5sFRo.js.map +1 -0
  610. package/build/server/chunks/nodes/8.js-C-9HO1q-.js +34 -0
  611. package/build/server/chunks/nodes/8.js-C-9HO1q-.js.map +1 -0
  612. package/build/server/chunks/nodes/9.js-CZJvV2yy.js +27 -0
  613. package/build/server/chunks/nodes/9.js-CZJvV2yy.js.map +1 -0
  614. package/package.json +6 -6
  615. package/templates/.env.example +6 -0
  616. package/build/client/_app/immutable/chunks/Bb9TmyDy.js +0 -2
  617. package/build/client/_app/immutable/chunks/Bb9TmyDy.js.br +0 -0
  618. package/build/client/_app/immutable/chunks/Bb9TmyDy.js.gz +0 -0
  619. package/build/client/_app/immutable/chunks/Bwe7zcu-.js +0 -1
  620. package/build/client/_app/immutable/chunks/Bwe7zcu-.js.br +0 -0
  621. package/build/client/_app/immutable/chunks/Bwe7zcu-.js.gz +0 -0
  622. package/build/client/_app/immutable/chunks/CABU_vmw.js +0 -1
  623. package/build/client/_app/immutable/chunks/CABU_vmw.js.br +0 -0
  624. package/build/client/_app/immutable/chunks/CABU_vmw.js.gz +0 -0
  625. package/build/client/_app/immutable/chunks/DWUsHHbK.js +0 -1
  626. package/build/client/_app/immutable/chunks/DWUsHHbK.js.br +0 -0
  627. package/build/client/_app/immutable/chunks/DWUsHHbK.js.gz +0 -0
  628. package/build/client/_app/immutable/chunks/_ZnT3zGw.js +0 -1
  629. package/build/client/_app/immutable/chunks/_ZnT3zGw.js.br +0 -0
  630. package/build/client/_app/immutable/chunks/_ZnT3zGw.js.gz +0 -0
  631. package/build/client/_app/immutable/chunks/bhteT2Pb.js +0 -1
  632. package/build/client/_app/immutable/chunks/bhteT2Pb.js.br +0 -0
  633. package/build/client/_app/immutable/chunks/bhteT2Pb.js.gz +0 -0
  634. package/build/client/_app/immutable/chunks/pPWruWLP.js +0 -1
  635. package/build/client/_app/immutable/chunks/pPWruWLP.js.br +0 -0
  636. package/build/client/_app/immutable/chunks/pPWruWLP.js.gz +0 -0
  637. package/build/client/_app/immutable/chunks/sSrnpvhu.js +0 -1
  638. package/build/client/_app/immutable/chunks/sSrnpvhu.js.br +0 -0
  639. package/build/client/_app/immutable/chunks/sSrnpvhu.js.gz +0 -0
  640. package/build/client/_app/immutable/chunks/to4u64uo.js +0 -1
  641. package/build/client/_app/immutable/chunks/to4u64uo.js.br +0 -2
  642. package/build/client/_app/immutable/chunks/to4u64uo.js.gz +0 -0
  643. package/build/client/_app/immutable/entry/app.CjL1nu1n.js +0 -2
  644. package/build/client/_app/immutable/entry/app.CjL1nu1n.js.br +0 -0
  645. package/build/client/_app/immutable/entry/app.CjL1nu1n.js.gz +0 -0
  646. package/build/client/_app/immutable/entry/start.4l2I8sDs.js +0 -1
  647. package/build/client/_app/immutable/entry/start.4l2I8sDs.js.br +0 -1
  648. package/build/client/_app/immutable/entry/start.4l2I8sDs.js.gz +0 -0
  649. package/build/client/_app/immutable/nodes/1.BWZy8AxI.js +0 -1
  650. package/build/client/_app/immutable/nodes/1.BWZy8AxI.js.br +0 -0
  651. package/build/client/_app/immutable/nodes/1.BWZy8AxI.js.gz +0 -0
  652. package/build/client/_app/immutable/nodes/11.78dyyPuF.js +0 -3
  653. package/build/client/_app/immutable/nodes/11.78dyyPuF.js.br +0 -0
  654. package/build/client/_app/immutable/nodes/11.78dyyPuF.js.gz +0 -0
  655. package/build/client/_app/immutable/nodes/13.CKyxy6xi.js +0 -2
  656. package/build/client/_app/immutable/nodes/13.CKyxy6xi.js.br +0 -0
  657. package/build/client/_app/immutable/nodes/13.CKyxy6xi.js.gz +0 -0
  658. package/build/client/_app/immutable/nodes/14.DythdJW9.js +0 -2
  659. package/build/client/_app/immutable/nodes/14.DythdJW9.js.br +0 -0
  660. package/build/client/_app/immutable/nodes/14.DythdJW9.js.gz +0 -0
  661. package/build/client/_app/immutable/nodes/15.xgwsMD-2.js +0 -28
  662. package/build/client/_app/immutable/nodes/15.xgwsMD-2.js.br +0 -0
  663. package/build/client/_app/immutable/nodes/15.xgwsMD-2.js.gz +0 -0
  664. package/build/client/_app/immutable/nodes/16.CTYV_cnw.js +0 -2
  665. package/build/client/_app/immutable/nodes/16.CTYV_cnw.js.br +0 -0
  666. package/build/client/_app/immutable/nodes/16.CTYV_cnw.js.gz +0 -0
  667. package/build/client/_app/immutable/nodes/17.BJs0E629.js +0 -5
  668. package/build/client/_app/immutable/nodes/17.BJs0E629.js.br +0 -0
  669. package/build/client/_app/immutable/nodes/17.BJs0E629.js.gz +0 -0
  670. package/build/client/_app/immutable/nodes/18.ByK7r4ng.js +0 -2
  671. package/build/client/_app/immutable/nodes/18.ByK7r4ng.js.br +0 -0
  672. package/build/client/_app/immutable/nodes/18.ByK7r4ng.js.gz +0 -0
  673. package/build/client/_app/immutable/nodes/2.CpK6CvDH.js +0 -1
  674. package/build/client/_app/immutable/nodes/2.CpK6CvDH.js.br +0 -0
  675. package/build/client/_app/immutable/nodes/2.CpK6CvDH.js.gz +0 -0
  676. package/build/client/_app/immutable/nodes/20.C65xdg1P.js +0 -7
  677. package/build/client/_app/immutable/nodes/20.C65xdg1P.js.br +0 -0
  678. package/build/client/_app/immutable/nodes/20.C65xdg1P.js.gz +0 -0
  679. package/build/client/_app/immutable/nodes/21.DrtwqjeJ.js +0 -2
  680. package/build/client/_app/immutable/nodes/21.DrtwqjeJ.js.br +0 -0
  681. package/build/client/_app/immutable/nodes/21.DrtwqjeJ.js.gz +0 -0
  682. package/build/client/_app/immutable/nodes/22.BizMd-TJ.js +0 -5665
  683. package/build/client/_app/immutable/nodes/22.BizMd-TJ.js.br +0 -0
  684. package/build/client/_app/immutable/nodes/22.BizMd-TJ.js.gz +0 -0
  685. package/build/client/_app/immutable/nodes/23.YgnabOJA.js +0 -6
  686. package/build/client/_app/immutable/nodes/23.YgnabOJA.js.br +0 -0
  687. package/build/client/_app/immutable/nodes/23.YgnabOJA.js.gz +0 -0
  688. package/build/client/_app/immutable/nodes/25.Cdywo8YS.js +0 -16
  689. package/build/client/_app/immutable/nodes/25.Cdywo8YS.js.br +0 -0
  690. package/build/client/_app/immutable/nodes/25.Cdywo8YS.js.gz +0 -0
  691. package/build/client/_app/immutable/nodes/26.CSywiQjD.js +0 -6
  692. package/build/client/_app/immutable/nodes/26.CSywiQjD.js.br +0 -0
  693. package/build/client/_app/immutable/nodes/26.CSywiQjD.js.gz +0 -0
  694. package/build/client/_app/immutable/nodes/29.jAec26d5.js +0 -4
  695. package/build/client/_app/immutable/nodes/29.jAec26d5.js.br +0 -0
  696. package/build/client/_app/immutable/nodes/29.jAec26d5.js.gz +0 -0
  697. package/build/client/_app/immutable/nodes/3.QuPFJIhT.js +0 -1
  698. package/build/client/_app/immutable/nodes/3.QuPFJIhT.js.br +0 -0
  699. package/build/client/_app/immutable/nodes/3.QuPFJIhT.js.gz +0 -0
  700. package/build/client/_app/immutable/nodes/30.Bvv-nXk4.js +0 -6
  701. package/build/client/_app/immutable/nodes/30.Bvv-nXk4.js.br +0 -0
  702. package/build/client/_app/immutable/nodes/30.Bvv-nXk4.js.gz +0 -0
  703. package/build/client/_app/immutable/nodes/31.C1wFnwHY.js +0 -2
  704. package/build/client/_app/immutable/nodes/31.C1wFnwHY.js.br +0 -0
  705. package/build/client/_app/immutable/nodes/31.C1wFnwHY.js.gz +0 -0
  706. package/build/client/_app/immutable/nodes/32.B4WgIFT0.js +0 -2
  707. package/build/client/_app/immutable/nodes/32.B4WgIFT0.js.br +0 -0
  708. package/build/client/_app/immutable/nodes/32.B4WgIFT0.js.gz +0 -0
  709. package/build/client/_app/immutable/nodes/34.D84IT_5c.js +0 -1
  710. package/build/client/_app/immutable/nodes/34.D84IT_5c.js.br +0 -0
  711. package/build/client/_app/immutable/nodes/34.D84IT_5c.js.gz +0 -0
  712. package/build/client/_app/immutable/nodes/5.CUePTGjN.js +0 -1
  713. package/build/client/_app/immutable/nodes/5.CUePTGjN.js.br +0 -2
  714. package/build/client/_app/immutable/nodes/5.CUePTGjN.js.gz +0 -0
  715. package/build/client/_app/immutable/nodes/6.C7YNPqNj.js +0 -1
  716. package/build/client/_app/immutable/nodes/6.C7YNPqNj.js.br +0 -0
  717. package/build/client/_app/immutable/nodes/6.C7YNPqNj.js.gz +0 -0
  718. package/build/client/_app/immutable/nodes/7.C9B8zRLo.js +0 -1
  719. package/build/client/_app/immutable/nodes/7.C9B8zRLo.js.br +0 -0
  720. package/build/client/_app/immutable/nodes/7.C9B8zRLo.js.gz +0 -0
  721. package/build/client/_app/immutable/nodes/8.C6VM30BS.js +0 -3
  722. package/build/client/_app/immutable/nodes/8.C6VM30BS.js.br +0 -0
  723. package/build/client/_app/immutable/nodes/8.C6VM30BS.js.gz +0 -0
  724. package/build/client/_app/immutable/nodes/9.BDmi2IrJ.js +0 -1
  725. package/build/client/_app/immutable/nodes/9.BDmi2IrJ.js.br +0 -0
  726. package/build/client/_app/immutable/nodes/9.BDmi2IrJ.js.gz +0 -0
  727. package/build/server/chunks/chunks/AppHeader.js-dKPwfvl_.js +0 -72
  728. package/build/server/chunks/chunks/AppHeader.js-dKPwfvl_.js.map +0 -1
  729. package/build/server/chunks/chunks/Callout.js-Bk6Vs1ym.js +0 -111
  730. package/build/server/chunks/chunks/Callout.js-Bk6Vs1ym.js.map +0 -1
  731. package/build/server/chunks/chunks/ConfirmDialog.js-zVK0aFFJ.js +0 -152
  732. package/build/server/chunks/chunks/ConfirmDialog.js-zVK0aFFJ.js.map +0 -1
  733. package/build/server/chunks/chunks/DefinitionCard.js-ClsGxa-C.js +0 -143
  734. package/build/server/chunks/chunks/DefinitionCard.js-ClsGxa-C.js.map +0 -1
  735. package/build/server/chunks/chunks/ErrorScreen.js-DtVPohxT.js +0 -119
  736. package/build/server/chunks/chunks/ErrorScreen.js-DtVPohxT.js.map +0 -1
  737. package/build/server/chunks/chunks/FilterableDropdown.js-BYhwMX-Y.js +0 -45
  738. package/build/server/chunks/chunks/FilterableDropdown.js-BYhwMX-Y.js.map +0 -1
  739. package/build/server/chunks/chunks/SettingsMenu.js-DfldIQTL.js +0 -810
  740. package/build/server/chunks/chunks/SettingsMenu.js-DfldIQTL.js.map +0 -1
  741. package/build/server/chunks/chunks/SideNav.js-BS_8_Ags.js +0 -63
  742. package/build/server/chunks/chunks/SideNav.js-BS_8_Ags.js.map +0 -1
  743. package/build/server/chunks/chunks/StatCard.js-DUe0RUGO.js +0 -51
  744. package/build/server/chunks/chunks/StatCard.js-DUe0RUGO.js.map +0 -1
  745. package/build/server/chunks/chunks/UserRowIdentity.js-UJhpjOS7.js +0 -128
  746. package/build/server/chunks/chunks/UserRowIdentity.js-UJhpjOS7.js.map +0 -1
  747. package/build/server/chunks/chunks/ViewToggle.js-CDHcZbNc.js +0 -91
  748. package/build/server/chunks/chunks/ViewToggle.js-CDHcZbNc.js.map +0 -1
  749. package/build/server/chunks/chunks/access.js-CVIHaHje.js +0 -773
  750. package/build/server/chunks/chunks/access.js-CVIHaHje.js.map +0 -1
  751. package/build/server/chunks/chunks/access.server.js-D1LtsCOD.js +0 -11
  752. package/build/server/chunks/chunks/access.server.js-D1LtsCOD.js.map +0 -1
  753. package/build/server/chunks/chunks/access2.server.js-BkKZqWVl.js +0 -63
  754. package/build/server/chunks/chunks/access2.server.js-BkKZqWVl.js.map +0 -1
  755. package/build/server/chunks/chunks/activity.js-TZSC8dNG.js +0 -15
  756. package/build/server/chunks/chunks/activity.js-TZSC8dNG.js.map +0 -1
  757. package/build/server/chunks/chunks/admin-auth.server.js-cTHF0WiI.js +0 -373
  758. package/build/server/chunks/chunks/admin-auth.server.js-cTHF0WiI.js.map +0 -1
  759. package/build/server/chunks/chunks/alert-description.js-Nd1IG2V6.js +0 -45
  760. package/build/server/chunks/chunks/alert-description.js-Nd1IG2V6.js.map +0 -1
  761. package/build/server/chunks/chunks/alert-dialog.js-BEatsFlU.js +0 -461
  762. package/build/server/chunks/chunks/alert-dialog.js-BEatsFlU.js.map +0 -1
  763. package/build/server/chunks/chunks/api-errors.js-D22nCtri.js +0 -69
  764. package/build/server/chunks/chunks/api-errors.js-D22nCtri.js.map +0 -1
  765. package/build/server/chunks/chunks/api.js-CQUUF_Xg.js +0 -466
  766. package/build/server/chunks/chunks/api.js-CQUUF_Xg.js.map +0 -1
  767. package/build/server/chunks/chunks/arrow-left.js-CL-SopHe.js +0 -15
  768. package/build/server/chunks/chunks/arrow-left.js-CL-SopHe.js.map +0 -1
  769. package/build/server/chunks/chunks/arrow-right.js-7VB0HIju.js +0 -15
  770. package/build/server/chunks/chunks/arrow-right.js-7VB0HIju.js.map +0 -1
  771. package/build/server/chunks/chunks/auth-bootstrap.server.js-C-OChNxp.js +0 -152
  772. package/build/server/chunks/chunks/auth-bootstrap.server.js-C-OChNxp.js.map +0 -1
  773. package/build/server/chunks/chunks/badge.js-BCG_Rnjh.js +0 -35
  774. package/build/server/chunks/chunks/badge.js-BCG_Rnjh.js.map +0 -1
  775. package/build/server/chunks/chunks/bootHealth.server.js-C4yGBLbM.js +0 -90
  776. package/build/server/chunks/chunks/bootHealth.server.js-C4yGBLbM.js.map +0 -1
  777. package/build/server/chunks/chunks/building-complex.js-GAE4qB9n.js +0 -22
  778. package/build/server/chunks/chunks/building-complex.js-GAE4qB9n.js.map +0 -1
  779. package/build/server/chunks/chunks/button.js-BrFJSLO-.js +0 -69
  780. package/build/server/chunks/chunks/button.js-BrFJSLO-.js.map +0 -1
  781. package/build/server/chunks/chunks/card-content.js-5qPeaM_y.js +0 -35
  782. package/build/server/chunks/chunks/card-content.js-5qPeaM_y.js.map +0 -1
  783. package/build/server/chunks/chunks/card-description.js-BvGvaVHV.js +0 -20
  784. package/build/server/chunks/chunks/card-description.js-BvGvaVHV.js.map +0 -1
  785. package/build/server/chunks/chunks/card-title.js-DtkxYhL0.js +0 -35
  786. package/build/server/chunks/chunks/card-title.js-DtkxYhL0.js.map +0 -1
  787. package/build/server/chunks/chunks/check.js-wanjG0fs.js +0 -15
  788. package/build/server/chunks/chunks/check.js-wanjG0fs.js.map +0 -1
  789. package/build/server/chunks/chunks/chevron-down.js-BQGW7Xoh.js +0 -15
  790. package/build/server/chunks/chunks/chevron-down.js-BQGW7Xoh.js.map +0 -1
  791. package/build/server/chunks/chunks/chevron-right.js-Dc-Qr__I.js +0 -15
  792. package/build/server/chunks/chunks/chevron-right.js-Dc-Qr__I.js.map +0 -1
  793. package/build/server/chunks/chunks/chevron-up.js-By9F0-4h.js +0 -15
  794. package/build/server/chunks/chunks/chevron-up.js-By9F0-4h.js.map +0 -1
  795. package/build/server/chunks/chunks/circle-alert.js-Cdz7XecC.js +0 -34
  796. package/build/server/chunks/chunks/circle-alert.js-Cdz7XecC.js.map +0 -1
  797. package/build/server/chunks/chunks/circle.js-BrJNPJrA.js +0 -19
  798. package/build/server/chunks/chunks/circle.js-BrJNPJrA.js.map +0 -1
  799. package/build/server/chunks/chunks/client.js-D8sOH3yA.js +0 -59
  800. package/build/server/chunks/chunks/client.js-D8sOH3yA.js.map +0 -1
  801. package/build/server/chunks/chunks/compute.js-BW2oAgzt.js +0 -430
  802. package/build/server/chunks/chunks/compute.js-BW2oAgzt.js.map +0 -1
  803. package/build/server/chunks/chunks/computeLimits.js-BqSpuf4I.js +0 -48
  804. package/build/server/chunks/chunks/computeLimits.js-BqSpuf4I.js.map +0 -1
  805. package/build/server/chunks/chunks/copy.js-EUqXVOK1.js +0 -22
  806. package/build/server/chunks/chunks/copy.js-EUqXVOK1.js.map +0 -1
  807. package/build/server/chunks/chunks/definitions.js-BCLhFUqp.js +0 -508
  808. package/build/server/chunks/chunks/definitions.js-BCLhFUqp.js.map +0 -1
  809. package/build/server/chunks/chunks/dialog-footer.js-CxixSFgW.js +0 -59
  810. package/build/server/chunks/chunks/dialog-footer.js-CxixSFgW.js.map +0 -1
  811. package/build/server/chunks/chunks/dialog.js-CGvpTYMM.js +0 -366
  812. package/build/server/chunks/chunks/dialog.js-CGvpTYMM.js.map +0 -1
  813. package/build/server/chunks/chunks/engine.server.js-B-Eq00J5.js +0 -600
  814. package/build/server/chunks/chunks/engine.server.js-B-Eq00J5.js.map +0 -1
  815. package/build/server/chunks/chunks/external-link.js-Dx2RQ_a4.js +0 -19
  816. package/build/server/chunks/chunks/external-link.js-Dx2RQ_a4.js.map +0 -1
  817. package/build/server/chunks/chunks/folder-kanban.js-syhW1cs-.js +0 -20
  818. package/build/server/chunks/chunks/folder-kanban.js-syhW1cs-.js.map +0 -1
  819. package/build/server/chunks/chunks/folder-open.js-D2PK4iBK.js +0 -15
  820. package/build/server/chunks/chunks/folder-open.js-D2PK4iBK.js.map +0 -1
  821. package/build/server/chunks/chunks/folders.js-C5935TLi.js +0 -15
  822. package/build/server/chunks/chunks/folders.js-C5935TLi.js.map +0 -1
  823. package/build/server/chunks/chunks/forms.js-BlERgHEg.js +0 -2
  824. package/build/server/chunks/chunks/forms.js-BlERgHEg.js.map +0 -1
  825. package/build/server/chunks/chunks/gauge.js-C-24eOlp.js +0 -15
  826. package/build/server/chunks/chunks/gauge.js-C-24eOlp.js.map +0 -1
  827. package/build/server/chunks/chunks/handlers.js-Bu22Krku.js +0 -1465
  828. package/build/server/chunks/chunks/handlers.js-Bu22Krku.js.map +0 -1
  829. package/build/server/chunks/chunks/http.js-alJsyUJG.js +0 -60
  830. package/build/server/chunks/chunks/http.js-alJsyUJG.js.map +0 -1
  831. package/build/server/chunks/chunks/input.js-BATm6iyH.js +0 -31
  832. package/build/server/chunks/chunks/input.js-BATm6iyH.js.map +0 -1
  833. package/build/server/chunks/chunks/instanceAdmins.server.js-uQRq_-dr.js +0 -24
  834. package/build/server/chunks/chunks/instanceAdmins.server.js-uQRq_-dr.js.map +0 -1
  835. package/build/server/chunks/chunks/internal2.js-Br4T9j60.js +0 -224
  836. package/build/server/chunks/chunks/internal2.js-Br4T9j60.js.map +0 -1
  837. package/build/server/chunks/chunks/key-round.js-vgogOQC0.js +0 -20
  838. package/build/server/chunks/chunks/key-round.js-vgogOQC0.js.map +0 -1
  839. package/build/server/chunks/chunks/label.js-Dh84pr-3.js +0 -107
  840. package/build/server/chunks/chunks/label.js-Dh84pr-3.js.map +0 -1
  841. package/build/server/chunks/chunks/limits.js-WY6OKyVE.js +0 -203
  842. package/build/server/chunks/chunks/limits.js-WY6OKyVE.js.map +0 -1
  843. package/build/server/chunks/chunks/link-2.js-vAJaWEoc.js +0 -24
  844. package/build/server/chunks/chunks/link-2.js-vAJaWEoc.js.map +0 -1
  845. package/build/server/chunks/chunks/mail.js-BmnfY0At.js +0 -21
  846. package/build/server/chunks/chunks/mail.js-BmnfY0At.js.map +0 -1
  847. package/build/server/chunks/chunks/minus.js-BkIEK85L.js +0 -15
  848. package/build/server/chunks/chunks/minus.js-BkIEK85L.js.map +0 -1
  849. package/build/server/chunks/chunks/navigation.js-BlERgHEg.js +0 -2
  850. package/build/server/chunks/chunks/navigation.js-BlERgHEg.js.map +0 -1
  851. package/build/server/chunks/chunks/package.js-BzlM1r8p.js +0 -83
  852. package/build/server/chunks/chunks/package.js-BzlM1r8p.js.map +0 -1
  853. package/build/server/chunks/chunks/paths.js-DrQ8R6mj.js +0 -19
  854. package/build/server/chunks/chunks/paths.js-DrQ8R6mj.js.map +0 -1
  855. package/build/server/chunks/chunks/permissions.server.js-ByYhNwaj.js +0 -24
  856. package/build/server/chunks/chunks/permissions.server.js-ByYhNwaj.js.map +0 -1
  857. package/build/server/chunks/chunks/plus.js-DKWgh4AF.js +0 -15
  858. package/build/server/chunks/chunks/plus.js-DKWgh4AF.js.map +0 -1
  859. package/build/server/chunks/chunks/projects.js-B46ve1wo.js +0 -47
  860. package/build/server/chunks/chunks/projects.js-B46ve1wo.js.map +0 -1
  861. package/build/server/chunks/chunks/providers.server.js-BQkh28e-.js +0 -6337
  862. package/build/server/chunks/chunks/providers.server.js-BQkh28e-.js.map +0 -1
  863. package/build/server/chunks/chunks/refresh-cw.js-KV2b89U7.js +0 -20
  864. package/build/server/chunks/chunks/refresh-cw.js-KV2b89U7.js.map +0 -1
  865. package/build/server/chunks/chunks/request.js-CT_6hfb_.js +0 -119
  866. package/build/server/chunks/chunks/request.js-CT_6hfb_.js.map +0 -1
  867. package/build/server/chunks/chunks/resolve.server.js-_77-1LuG.js +0 -59
  868. package/build/server/chunks/chunks/resolve.server.js-_77-1LuG.js.map +0 -1
  869. package/build/server/chunks/chunks/rotate-ccw.js-BHV7uexu.js +0 -15
  870. package/build/server/chunks/chunks/rotate-ccw.js-BHV7uexu.js.map +0 -1
  871. package/build/server/chunks/chunks/scroll-text.js-BX6SWtlE.js +0 -20
  872. package/build/server/chunks/chunks/scroll-text.js-BX6SWtlE.js.map +0 -1
  873. package/build/server/chunks/chunks/search.js-BRrgF31e.js +0 -19
  874. package/build/server/chunks/chunks/search.js-BRrgF31e.js.map +0 -1
  875. package/build/server/chunks/chunks/select.js-DNZas_uz.js +0 -3836
  876. package/build/server/chunks/chunks/select.js-DNZas_uz.js.map +0 -1
  877. package/build/server/chunks/chunks/selfUpdate.server.js-CY405EuN.js +0 -144
  878. package/build/server/chunks/chunks/selfUpdate.server.js-CY405EuN.js.map +0 -1
  879. package/build/server/chunks/chunks/server2.js-ClXdyAvx.js +0 -44
  880. package/build/server/chunks/chunks/server2.js-ClXdyAvx.js.map +0 -1
  881. package/build/server/chunks/chunks/settings.js-ZajE6fHc.js +0 -19
  882. package/build/server/chunks/chunks/settings.js-ZajE6fHc.js.map +0 -1
  883. package/build/server/chunks/chunks/shield-check.js-DA20Dq3r.js +0 -15
  884. package/build/server/chunks/chunks/shield-check.js-DA20Dq3r.js.map +0 -1
  885. package/build/server/chunks/chunks/shield.js--OZ6yfQ6.js +0 -15
  886. package/build/server/chunks/chunks/shield.js--OZ6yfQ6.js.map +0 -1
  887. package/build/server/chunks/chunks/solve.server.js-CyaXghBQ.js +0 -330
  888. package/build/server/chunks/chunks/solve.server.js-CyaXghBQ.js.map +0 -1
  889. package/build/server/chunks/chunks/star.js-DxgEyXvf.js +0 -15
  890. package/build/server/chunks/chunks/star.js-DxgEyXvf.js.map +0 -1
  891. package/build/server/chunks/chunks/state.js-CRby9tkH.js +0 -76
  892. package/build/server/chunks/chunks/state.js-CRby9tkH.js.map +0 -1
  893. package/build/server/chunks/chunks/stores.js-BdkQbiPL.js +0 -35
  894. package/build/server/chunks/chunks/stores.js-BdkQbiPL.js.map +0 -1
  895. package/build/server/chunks/chunks/sveltekit.js-DzlaWFdW.js +0 -82
  896. package/build/server/chunks/chunks/sveltekit.js-DzlaWFdW.js.map +0 -1
  897. package/build/server/chunks/chunks/tabs-trigger.js-BMm7AoM3.js +0 -637
  898. package/build/server/chunks/chunks/tabs-trigger.js-BMm7AoM3.js.map +0 -1
  899. package/build/server/chunks/chunks/trash.js-DnM7ek4W.js +0 -22
  900. package/build/server/chunks/chunks/trash.js-DnM7ek4W.js.map +0 -1
  901. package/build/server/chunks/chunks/triangle-alert.js-s2Is5z-v.js +0 -38
  902. package/build/server/chunks/chunks/triangle-alert.js-s2Is5z-v.js.map +0 -1
  903. package/build/server/chunks/chunks/user-plus.js-CZYPmLTv.js +0 -34
  904. package/build/server/chunks/chunks/user-plus.js-CZYPmLTv.js.map +0 -1
  905. package/build/server/chunks/chunks/users.js-ByB4SxDK.js +0 -24
  906. package/build/server/chunks/chunks/users.js-ByB4SxDK.js.map +0 -1
  907. package/build/server/chunks/chunks/utils2.js-C1oP9gJ9.js +0 -180
  908. package/build/server/chunks/chunks/utils2.js-C1oP9gJ9.js.map +0 -1
  909. package/build/server/chunks/chunks/x.js-BulvqqL2.js +0 -15
  910. package/build/server/chunks/chunks/x.js-BulvqqL2.js.map +0 -1
  911. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-3cjKBpA6.js +0 -97
  912. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-3cjKBpA6.js.map +0 -1
  913. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-wXeF024y.js +0 -84
  914. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-wXeF024y.js.map +0 -1
  915. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-nkj1M-V-.js +0 -95
  916. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-nkj1M-V-.js.map +0 -1
  917. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-Dp3CSqRu.js +0 -45
  918. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-Dp3CSqRu.js.map +0 -1
  919. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-xRnf3zC-.js +0 -68
  920. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-xRnf3zC-.js.map +0 -1
  921. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DKmA0jrs.js +0 -61
  922. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DKmA0jrs.js.map +0 -1
  923. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-BV4vNWvV.js +0 -33
  924. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-BV4vNWvV.js.map +0 -1
  925. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BwWkFNSm.js +0 -64
  926. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BwWkFNSm.js.map +0 -1
  927. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CBHXQzRs.js +0 -79
  928. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CBHXQzRs.js.map +0 -1
  929. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BgQ31BpE.js +0 -362
  930. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BgQ31BpE.js.map +0 -1
  931. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-DsswYcCo.js +0 -84
  932. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-DsswYcCo.js.map +0 -1
  933. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CqEOwE38.js +0 -606
  934. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CqEOwE38.js.map +0 -1
  935. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-DpLSHubq.js +0 -57
  936. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-DpLSHubq.js.map +0 -1
  937. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-B30xW0pb.js +0 -72
  938. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-B30xW0pb.js.map +0 -1
  939. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Wp1dW1Ca.js +0 -82
  940. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Wp1dW1Ca.js.map +0 -1
  941. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-mKRIYB22.js +0 -61
  942. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-mKRIYB22.js.map +0 -1
  943. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BwJB7g76.js +0 -92
  944. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BwJB7g76.js.map +0 -1
  945. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BskBQxzT.js +0 -58
  946. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-BskBQxzT.js.map +0 -1
  947. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-BxnXmUYU.js +0 -61
  948. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-BxnXmUYU.js.map +0 -1
  949. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-DZJI1Tfn.js +0 -88
  950. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-DZJI1Tfn.js.map +0 -1
  951. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BnV96AAo.js +0 -67
  952. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BnV96AAo.js.map +0 -1
  953. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-C6TEADDt.js +0 -43
  954. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-C6TEADDt.js.map +0 -1
  955. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-DVOesSrq.js +0 -41
  956. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-DVOesSrq.js.map +0 -1
  957. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-DnRcy8pN.js +0 -41
  958. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-DnRcy8pN.js.map +0 -1
  959. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-rsFJ0LO1.js +0 -41
  960. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-rsFJ0LO1.js.map +0 -1
  961. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-Dwx5RCAQ.js +0 -41
  962. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-Dwx5RCAQ.js.map +0 -1
  963. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-CbTMEva3.js +0 -42
  964. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-CbTMEva3.js.map +0 -1
  965. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-HAGOr5y8.js +0 -212
  966. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-HAGOr5y8.js.map +0 -1
  967. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CoGfTYLp.js +0 -42
  968. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CoGfTYLp.js.map +0 -1
  969. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-DwAgVrVz.js +0 -42
  970. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-DwAgVrVz.js.map +0 -1
  971. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-C85m0Wm_.js +0 -41
  972. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-C85m0Wm_.js.map +0 -1
  973. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-G5IEG6GB.js +0 -41
  974. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-G5IEG6GB.js.map +0 -1
  975. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DCA9kecE.js +0 -40
  976. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DCA9kecE.js.map +0 -1
  977. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-Bu_TgN4G.js +0 -41
  978. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-Bu_TgN4G.js.map +0 -1
  979. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-x616leLV.js +0 -40
  980. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-x616leLV.js.map +0 -1
  981. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DXJBpowH.js +0 -41
  982. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DXJBpowH.js.map +0 -1
  983. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-EqHUHXbo.js +0 -41
  984. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-EqHUHXbo.js.map +0 -1
  985. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BhlqfHRq.js +0 -40
  986. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BhlqfHRq.js.map +0 -1
  987. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BOHrQFci.js +0 -40
  988. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BOHrQFci.js.map +0 -1
  989. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CVt3z9hw.js +0 -41
  990. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CVt3z9hw.js.map +0 -1
  991. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-BXrCv3ht.js +0 -40
  992. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-BXrCv3ht.js.map +0 -1
  993. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-DmH8a-Rf.js +0 -41
  994. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-DmH8a-Rf.js.map +0 -1
  995. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-Da6RECji.js +0 -41
  996. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-Da6RECji.js.map +0 -1
  997. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-C6-7-8Bz.js +0 -40
  998. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-C6-7-8Bz.js.map +0 -1
  999. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-K7A5AVw9.js +0 -43
  1000. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-K7A5AVw9.js.map +0 -1
  1001. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-BtaSAI9Y.js +0 -42
  1002. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-BtaSAI9Y.js.map +0 -1
  1003. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-D--9HAZn.js +0 -42
  1004. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-D--9HAZn.js.map +0 -1
  1005. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-lolXNNwf.js +0 -41
  1006. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-lolXNNwf.js.map +0 -1
  1007. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CLovy5ot.js +0 -41
  1008. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CLovy5ot.js.map +0 -1
  1009. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-BUwReKOe.js +0 -28
  1010. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-BUwReKOe.js.map +0 -1
  1011. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DTFfmEv8.js +0 -89
  1012. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DTFfmEv8.js.map +0 -1
  1013. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-DS5BF1os.js +0 -62
  1014. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-DS5BF1os.js.map +0 -1
  1015. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Df6Y9qMu.js +0 -49
  1016. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Df6Y9qMu.js.map +0 -1
  1017. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CmUhL03j.js +0 -55
  1018. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CmUhL03j.js.map +0 -1
  1019. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DzivAU5j.js +0 -63
  1020. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DzivAU5j.js.map +0 -1
  1021. package/build/server/chunks/entries/endpoints/docs/api/openapi.yaml/_server.ts.js-L1EgGahx.js +0 -11
  1022. package/build/server/chunks/entries/endpoints/docs/api/openapi.yaml/_server.ts.js-L1EgGahx.js.map +0 -1
  1023. package/build/server/chunks/entries/hooks.server.js-C8rPMMWu.js +0 -347
  1024. package/build/server/chunks/entries/hooks.server.js-C8rPMMWu.js.map +0 -1
  1025. package/build/server/chunks/entries/pages/_error.svelte.js-D-_hwOw8.js +0 -35
  1026. package/build/server/chunks/entries/pages/_error.svelte.js-D-_hwOw8.js.map +0 -1
  1027. package/build/server/chunks/entries/pages/_layout.server.ts.js-DQwsn2iT.js +0 -34
  1028. package/build/server/chunks/entries/pages/_layout.server.ts.js-DQwsn2iT.js.map +0 -1
  1029. package/build/server/chunks/entries/pages/_page.server.ts.js-BgUqKxKI.js +0 -55
  1030. package/build/server/chunks/entries/pages/_page.server.ts.js-BgUqKxKI.js.map +0 -1
  1031. package/build/server/chunks/entries/pages/_page.svelte.js-Dpdk50-x.js +0 -155
  1032. package/build/server/chunks/entries/pages/_page.svelte.js-Dpdk50-x.js.map +0 -1
  1033. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CxL_-QBd.js +0 -181
  1034. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CxL_-QBd.js.map +0 -1
  1035. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CgzVAxrw.js +0 -176
  1036. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CgzVAxrw.js.map +0 -1
  1037. package/build/server/chunks/entries/pages/admin/_error.svelte.js-kWQOMgrW.js +0 -37
  1038. package/build/server/chunks/entries/pages/admin/_error.svelte.js-kWQOMgrW.js.map +0 -1
  1039. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-ScMTTJ05.js +0 -31
  1040. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-ScMTTJ05.js.map +0 -1
  1041. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D1VEHIdw.js +0 -130
  1042. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D1VEHIdw.js.map +0 -1
  1043. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DWzNLFeq.js +0 -76
  1044. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DWzNLFeq.js.map +0 -1
  1045. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BbfZoGb9.js +0 -393
  1046. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BbfZoGb9.js.map +0 -1
  1047. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DnCEtTcu.js +0 -269
  1048. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DnCEtTcu.js.map +0 -1
  1049. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-CfZ6UtIO.js +0 -455
  1050. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-CfZ6UtIO.js.map +0 -1
  1051. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-C0DBwwY2.js +0 -74
  1052. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-C0DBwwY2.js.map +0 -1
  1053. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BZtpKVzk.js +0 -839
  1054. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BZtpKVzk.js.map +0 -1
  1055. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-CGpmR5pA.js +0 -35
  1056. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-CGpmR5pA.js.map +0 -1
  1057. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-CAepH7so.js +0 -95
  1058. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-CAepH7so.js.map +0 -1
  1059. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-C4JqryEl.js +0 -86
  1060. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-C4JqryEl.js.map +0 -1
  1061. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DGBiG69w.js +0 -636
  1062. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DGBiG69w.js.map +0 -1
  1063. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-0r8xOnYb.js +0 -42
  1064. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-0r8xOnYb.js.map +0 -1
  1065. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-Cm4hMicx.js +0 -283
  1066. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-Cm4hMicx.js.map +0 -1
  1067. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DhqU3l_9.js +0 -87
  1068. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DhqU3l_9.js.map +0 -1
  1069. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-B26XKsPt.js +0 -1368
  1070. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-B26XKsPt.js.map +0 -1
  1071. package/build/server/chunks/entries/pages/admin/tokens/_page.server.ts.js-CPHfLmI4.js +0 -63
  1072. package/build/server/chunks/entries/pages/admin/tokens/_page.server.ts.js-CPHfLmI4.js.map +0 -1
  1073. package/build/server/chunks/entries/pages/admin/tokens/_page.svelte.js-BJk4zNVN.js +0 -767
  1074. package/build/server/chunks/entries/pages/admin/tokens/_page.svelte.js-BJk4zNVN.js.map +0 -1
  1075. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-CzJ6DQhn.js +0 -79
  1076. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-CzJ6DQhn.js.map +0 -1
  1077. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BNvAhZ17.js +0 -622
  1078. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BNvAhZ17.js.map +0 -1
  1079. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-2hy9eaaC.js +0 -63
  1080. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-2hy9eaaC.js.map +0 -1
  1081. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DvWfhvz-.js +0 -62
  1082. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DvWfhvz-.js.map +0 -1
  1083. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-tp7Kd_6a.js +0 -618
  1084. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-tp7Kd_6a.js.map +0 -1
  1085. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-DXFW73eF.js +0 -85
  1086. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-DXFW73eF.js.map +0 -1
  1087. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-eSYCRwZT.js +0 -120
  1088. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-eSYCRwZT.js.map +0 -1
  1089. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-CxRVnXK3.js +0 -15116
  1090. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-CxRVnXK3.js.map +0 -1
  1091. package/build/server/chunks/entries/pages/library/_page.server.ts.js-oSbt8Vis.js +0 -50
  1092. package/build/server/chunks/entries/pages/library/_page.server.ts.js-oSbt8Vis.js.map +0 -1
  1093. package/build/server/chunks/entries/pages/library/_page.svelte.js-CZawVtod.js +0 -301
  1094. package/build/server/chunks/entries/pages/library/_page.svelte.js-CZawVtod.js.map +0 -1
  1095. package/build/server/chunks/entries/pages/login/_page.server.ts.js-mU28GTYs.js +0 -101
  1096. package/build/server/chunks/entries/pages/login/_page.server.ts.js-mU28GTYs.js.map +0 -1
  1097. package/build/server/chunks/entries/pages/login/_page.svelte.js-CFV3CxCt.js +0 -256
  1098. package/build/server/chunks/entries/pages/login/_page.svelte.js-CFV3CxCt.js.map +0 -1
  1099. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-CE_z-Nx4.js +0 -19
  1100. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-CE_z-Nx4.js.map +0 -1
  1101. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C9q1YTyE.js +0 -49
  1102. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C9q1YTyE.js.map +0 -1
  1103. package/build/server/chunks/entries/pages/projects/_page.server.ts.js--mZu-WRL.js +0 -93
  1104. package/build/server/chunks/entries/pages/projects/_page.server.ts.js--mZu-WRL.js.map +0 -1
  1105. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BR6jLzs7.js +0 -3741
  1106. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BR6jLzs7.js.map +0 -1
  1107. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DILuFrrN.js +0 -116
  1108. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DILuFrrN.js.map +0 -1
  1109. package/build/server/chunks/entries/pages/setup/_page.svelte.js-D8VnSvro.js +0 -312
  1110. package/build/server/chunks/entries/pages/setup/_page.svelte.js-D8VnSvro.js.map +0 -1
  1111. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C2ts2g13.js +0 -28
  1112. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C2ts2g13.js.map +0 -1
  1113. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Bxxmgm-m.js +0 -166
  1114. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Bxxmgm-m.js.map +0 -1
  1115. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Det1LwQ3.js +0 -35
  1116. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Det1LwQ3.js.map +0 -1
  1117. package/build/server/chunks/entries/pages/team/_page.svelte.js-jZwYnoWS.js +0 -109
  1118. package/build/server/chunks/entries/pages/team/_page.svelte.js-jZwYnoWS.js.map +0 -1
  1119. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-hiXqyIEl.js +0 -121
  1120. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-hiXqyIEl.js.map +0 -1
  1121. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CW3fU5-Q.js +0 -42
  1122. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CW3fU5-Q.js.map +0 -1
  1123. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-BF2ut7N0.js +0 -611
  1124. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-BF2ut7N0.js.map +0 -1
  1125. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CA995l3T.js +0 -62
  1126. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CA995l3T.js.map +0 -1
  1127. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-Dc4PvNJC.js +0 -805
  1128. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-Dc4PvNJC.js.map +0 -1
  1129. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-D2toCayX.js +0 -58
  1130. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-D2toCayX.js.map +0 -1
  1131. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CUIVXpKM.js +0 -422
  1132. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CUIVXpKM.js.map +0 -1
  1133. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BfRRVFWn.js +0 -67
  1134. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BfRRVFWn.js.map +0 -1
  1135. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-D0K8VrFl.js +0 -265
  1136. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-D0K8VrFl.js.map +0 -1
  1137. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-B2EKneoT.js +0 -34
  1138. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-B2EKneoT.js.map +0 -1
  1139. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-DZUYObLr.js +0 -303
  1140. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-DZUYObLr.js.map +0 -1
  1141. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-BM6Dkm-G.js +0 -29
  1142. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-BM6Dkm-G.js.map +0 -1
  1143. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-BIJxSROB.js +0 -311
  1144. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-BIJxSROB.js.map +0 -1
  1145. package/build/server/chunks/handler-DqPWs6ls.js +0 -1206
  1146. package/build/server/chunks/handler-DqPWs6ls.js.map +0 -1
  1147. package/build/server/chunks/index.js-BA3kV5Tu.js +0 -3767
  1148. package/build/server/chunks/index.js-BA3kV5Tu.js.map +0 -1
  1149. package/build/server/chunks/manifest.js-CtO_GN_Z.js +0 -655
  1150. package/build/server/chunks/manifest.js-CtO_GN_Z.js.map +0 -1
  1151. package/build/server/chunks/nodes/0.js-BhVbQBiR.js +0 -26
  1152. package/build/server/chunks/nodes/0.js-BhVbQBiR.js.map +0 -1
  1153. package/build/server/chunks/nodes/1.js-B4xGQ9GV.js +0 -9
  1154. package/build/server/chunks/nodes/1.js-B4xGQ9GV.js.map +0 -1
  1155. package/build/server/chunks/nodes/10.js-ChlG94kT.js +0 -29
  1156. package/build/server/chunks/nodes/10.js-ChlG94kT.js.map +0 -1
  1157. package/build/server/chunks/nodes/11.js-7lue_bN2.js +0 -35
  1158. package/build/server/chunks/nodes/11.js-7lue_bN2.js.map +0 -1
  1159. package/build/server/chunks/nodes/12.js-B_6PZcCw.js +0 -27
  1160. package/build/server/chunks/nodes/12.js-B_6PZcCw.js.map +0 -1
  1161. package/build/server/chunks/nodes/13.js-dmmzf8rD.js +0 -27
  1162. package/build/server/chunks/nodes/13.js-dmmzf8rD.js.map +0 -1
  1163. package/build/server/chunks/nodes/14.js-BDDf7UZG.js +0 -27
  1164. package/build/server/chunks/nodes/14.js-BDDf7UZG.js.map +0 -1
  1165. package/build/server/chunks/nodes/15.js-bttb6cRH.js +0 -36
  1166. package/build/server/chunks/nodes/15.js-bttb6cRH.js.map +0 -1
  1167. package/build/server/chunks/nodes/16.js-qD70CvEh.js +0 -32
  1168. package/build/server/chunks/nodes/16.js-qD70CvEh.js.map +0 -1
  1169. package/build/server/chunks/nodes/17.js-BXuvmu75.js +0 -29
  1170. package/build/server/chunks/nodes/17.js-BXuvmu75.js.map +0 -1
  1171. package/build/server/chunks/nodes/18.js-B_4liDCm.js +0 -9
  1172. package/build/server/chunks/nodes/18.js-B_4liDCm.js.map +0 -1
  1173. package/build/server/chunks/nodes/19.js-BHkCH92P.js +0 -32
  1174. package/build/server/chunks/nodes/19.js-BHkCH92P.js.map +0 -1
  1175. package/build/server/chunks/nodes/2.js-6nVbhFl6.js +0 -29
  1176. package/build/server/chunks/nodes/2.js-6nVbhFl6.js.map +0 -1
  1177. package/build/server/chunks/nodes/20.js-x49qsFHj.js +0 -21
  1178. package/build/server/chunks/nodes/20.js-x49qsFHj.js.map +0 -1
  1179. package/build/server/chunks/nodes/21.js-C9vtUtG9.js +0 -20
  1180. package/build/server/chunks/nodes/21.js-C9vtUtG9.js.map +0 -1
  1181. package/build/server/chunks/nodes/22.js-BpdrjdLr.js +0 -39
  1182. package/build/server/chunks/nodes/22.js-BpdrjdLr.js.map +0 -1
  1183. package/build/server/chunks/nodes/23.js-LgLRicPA.js +0 -32
  1184. package/build/server/chunks/nodes/23.js-LgLRicPA.js.map +0 -1
  1185. package/build/server/chunks/nodes/24.js-U3A7OYTH.js +0 -29
  1186. package/build/server/chunks/nodes/24.js-U3A7OYTH.js.map +0 -1
  1187. package/build/server/chunks/nodes/25.js-4UVMlWf0.js +0 -28
  1188. package/build/server/chunks/nodes/25.js-4UVMlWf0.js.map +0 -1
  1189. package/build/server/chunks/nodes/26.js-QxTlOMJ_.js +0 -32
  1190. package/build/server/chunks/nodes/26.js-QxTlOMJ_.js.map +0 -1
  1191. package/build/server/chunks/nodes/27.js-jBl8Ha8w.js +0 -27
  1192. package/build/server/chunks/nodes/27.js-jBl8Ha8w.js.map +0 -1
  1193. package/build/server/chunks/nodes/28.js-C9d3TebG.js +0 -9
  1194. package/build/server/chunks/nodes/28.js-C9d3TebG.js.map +0 -1
  1195. package/build/server/chunks/nodes/29.js-CgEotrtW.js +0 -27
  1196. package/build/server/chunks/nodes/29.js-CgEotrtW.js.map +0 -1
  1197. package/build/server/chunks/nodes/3.js-C_UvN2RN.js +0 -9
  1198. package/build/server/chunks/nodes/3.js-C_UvN2RN.js.map +0 -1
  1199. package/build/server/chunks/nodes/30.js-T6inzPk-.js +0 -27
  1200. package/build/server/chunks/nodes/30.js-T6inzPk-.js.map +0 -1
  1201. package/build/server/chunks/nodes/31.js-BmDTZ7NH.js +0 -28
  1202. package/build/server/chunks/nodes/31.js-BmDTZ7NH.js.map +0 -1
  1203. package/build/server/chunks/nodes/32.js-BSQVWA90.js +0 -27
  1204. package/build/server/chunks/nodes/32.js-BSQVWA90.js.map +0 -1
  1205. package/build/server/chunks/nodes/33.js-B4WXQt8H.js +0 -27
  1206. package/build/server/chunks/nodes/33.js-B4WXQt8H.js.map +0 -1
  1207. package/build/server/chunks/nodes/34.js-DW2usp6_.js +0 -27
  1208. package/build/server/chunks/nodes/34.js-DW2usp6_.js.map +0 -1
  1209. package/build/server/chunks/nodes/5.js-DUcHEv6g.js +0 -15
  1210. package/build/server/chunks/nodes/5.js-DUcHEv6g.js.map +0 -1
  1211. package/build/server/chunks/nodes/6.js-otC-M-EY.js +0 -27
  1212. package/build/server/chunks/nodes/6.js-otC-M-EY.js.map +0 -1
  1213. package/build/server/chunks/nodes/7.js-D8gGqHHa.js +0 -20
  1214. package/build/server/chunks/nodes/7.js-D8gGqHHa.js.map +0 -1
  1215. package/build/server/chunks/nodes/8.js-B0tAsxe5.js +0 -33
  1216. package/build/server/chunks/nodes/8.js-B0tAsxe5.js.map +0 -1
  1217. package/build/server/chunks/nodes/9.js-BgsO2zSu.js +0 -27
  1218. package/build/server/chunks/nodes/9.js-BgsO2zSu.js.map +0 -1
@@ -0,0 +1,1465 @@
1
+ import { m as toDefinitionListItem, p as CreateDefinitionInputSchema, G as GH_EXTENSIONS, q as UpdateMetadataInputSchema, r as GuidSchema, u as PublishVersionInputSchema, v as CreateShareLinkInputSchema, w as OrgAssetKindSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS, D as DEFAULT_ORG_PERMISSIONS, a as ALL_ORG_PERMISSIONS, x as parseApiScope, y as describeApiScope, h as hasPermission, z as validateProjectFlags, S as SYSTEM_CONTEXT, o as outsideTokenOrg, k as slugify } from './src.js-bYgw0r8C.js';
2
+ import './providers.server.js-Wp14z2ES.js';
3
+ import { l as listVisibleDefinitions, d as resolveAccessibleProjects, g as getVisibleDefinition, e as loadVisibleVersion } from './definitions.js-CI90mQ1G.js';
4
+ import { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from './types.js-B_zdqlv_.js';
5
+ import { a as isOrgServer, i as isPlatformServer, b as serversVisibleTo } from './utils2.js-C9XYOWak.js';
6
+ import { d as apiError, e as ApiErrorCode, C as requireCanCreateDefinition, f as fetchSchemaFromCompute, D as requireEditableDefinition, E as requireActingOrg, F as requireManageOrgMembers, G as requireManageOrgCompute, H as splitFlatPermissions, B as assertCanGrantPlatformPermissions, I as canActorChangeOrgRole, J as canChangeOrgRole, b as actorOf, q as requirePermission, K as requireCanViewProject, g as isApiError, L as requireCanCreateProject, p as projectAccessInputFromRowsWith, c as canView, M as canSolve, w as canEdit, O as requireCanEditProjectSettings, P as withAdminBypass, Q as requireCanManage, R as requireTargetIsOrgMember, T as checkOwnerRemoval, U as requireCanReclaim, V as canChangeVisibilityToPublic } from './access.js-DR4cexvJ.js';
7
+ import { p as parseDefinitionListOptions, f as parseListOptions, g as ShareLinkResponseSchema, h as CreatedShareLinkResponseSchema, i as OrgComputeResponseSchema, O as OrgComputePatchBodySchema, I as InviteResponseSchema, d as CreateInviteBodySchema, j as CreatedInviteResponseSchema, c as UpdateOrgMemberBodySchema, k as ApiTokenResponseSchema, e as CreateApiTokenBodySchema, l as CreatedApiTokenResponseSchema, s as scopeRefusalsToday, a as CreateProjectBodySchema, U as UpdateProjectBodySchema, A as AddProjectMemberBodySchema, b as UpdateProjectMemberBodySchema } from './api.js-pA5_VXdB.js';
8
+ import { a as requireCaller, b as requireUpload, f as formText, t as throwZodError, c as parseParam, p as parseBody, r as requireParams } from './request.js-DFGawhDB.js';
9
+ import { r as resolveServerForOrg, v as validateIncomingServers, s as storedKeysById, a as resolveApiKey } from './compute.js-Cj-WWBpb.js';
10
+ import { e as evictChangedServers } from './evict-changed-servers.js-whgDVM5R.js';
11
+ import { c as createProjectWithUniqueSlug } from './projects.js-i-DqYHkO.js';
12
+ import { randomUUID } from 'node:crypto';
13
+
14
+ //#region ../server/src/api/responses.ts
15
+ /** A paginated collection. The one envelope every list endpoint returns. */
16
+ function collection(page) {
17
+ return { body: {
18
+ items: page.items,
19
+ nextCursor: page.nextCursor
20
+ } };
21
+ }
22
+ /** A created resource. */
23
+ function created(body) {
24
+ return {
25
+ status: 201,
26
+ body
27
+ };
28
+ }
29
+ /** A successful mutation with nothing to say. */
30
+ function noContent() {
31
+ return { status: 204 };
32
+ }
33
+ //#endregion
34
+ //#region ../server/src/api/shaped.ts
35
+ /** Serialize a payload through an explicit response schema. */
36
+ function shaped(schema, payload, status = 200) {
37
+ return {
38
+ status,
39
+ body: schema.parse(payload)
40
+ };
41
+ }
42
+ /** `shaped`, mapped over a page of records. */
43
+ function shapedCollection(schema, page) {
44
+ return { body: {
45
+ items: page.items.map((item) => schema.parse(item)),
46
+ nextCursor: page.nextCursor
47
+ } };
48
+ }
49
+ //#endregion
50
+ //#region ../notifications/src/html.ts
51
+ /**
52
+ * Escape text for interpolation into an HTML attribute or text node.
53
+ *
54
+ * One copy on purpose: per-template copies are how one of them ends up missing
55
+ * a case. Every value a template interpolates goes through this, including
56
+ * URLs — an `acceptUrl` carries a token, and a token can contain characters
57
+ * that would otherwise close the `href` early.
58
+ */
59
+ function escapeHtml(s) {
60
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
61
+ }
62
+ //#endregion
63
+ //#region ../notifications/src/layout.ts
64
+ /**
65
+ * The frame every Selva mail shares: card chrome, type stack, colours.
66
+ * Templates supply a body; this supplies the look, so mail written by
67
+ * different people at different times still reads as coming from one product.
68
+ *
69
+ * Deliberately plain — no images, no tracking pixel, no external stylesheet.
70
+ * Inline styles with a table-free layout survive the common clients, and mail
71
+ * clients that strip the styling still get readable, ordered content.
72
+ */
73
+ function renderLayout({ heading, body, footer }) {
74
+ return `<!doctype html>
75
+ <html>
76
+ <body style="margin:0;padding:24px;background:#f6f7f9;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a1a;">
77
+ <div style="max-width:480px;margin:0 auto;background:#ffffff;border:1px solid #e4e6eb;border-radius:12px;padding:32px;">
78
+ <h1 style="margin:0 0 16px;font-size:20px;font-weight:600;">${escapeHtml(heading)}</h1>
79
+ ${body}${footer ? `
80
+ <hr style="border:none;border-top:1px solid #e4e6eb;margin:24px 0;" />
81
+ <p style="margin:0;font-size:12px;line-height:1.5;color:#8a8a8a;">
82
+ ${footer}
83
+ </p>` : ""}
84
+ </div>
85
+ </body>
86
+ </html>`;
87
+ }
88
+ /** The primary action button. One definition so every mail's call to action matches. */
89
+ function renderButton(href, label) {
90
+ return `<a href="${escapeHtml(href)}" style="display:inline-block;padding:11px 20px;background:#1a1a1a;color:#ffffff;text-decoration:none;border-radius:8px;font-size:15px;font-weight:500;">${escapeHtml(label)}</a>`;
91
+ }
92
+ /**
93
+ * Fallback for clients that do not make the button clickable. Every mail whose
94
+ * point is a link needs this: a button that does not render leaves the reader
95
+ * with no way to continue.
96
+ */
97
+ function renderUrlFallback(href) {
98
+ return `<p style="margin:24px 0 0;font-size:13px;line-height:1.5;color:#6b6b6b;">
99
+ Or paste this into your browser:<br />
100
+ <span style="word-break:break-all;color:#4a4a4a;">${escapeHtml(href)}</span>
101
+ </p>`;
102
+ }
103
+ //#endregion
104
+ //#region ../notifications/src/templates/invite.ts
105
+ function formatExpiry(iso) {
106
+ const d = new Date(iso);
107
+ return Number.isNaN(d.getTime()) ? "soon" : d.toLocaleDateString("en-US", {
108
+ year: "numeric",
109
+ month: "long",
110
+ day: "numeric"
111
+ });
112
+ }
113
+ /**
114
+ * "An admin invited you to an org" — the mail carrying an invite's accept link.
115
+ *
116
+ * The text part must always carry the URL: a mail that degrades to plain text
117
+ * is still the only way the invitee can accept.
118
+ */
119
+ function renderInviteEmail(input) {
120
+ const { to, acceptUrl, orgName, invitedBy } = input;
121
+ const expiry = formatExpiry(input.expiresAt);
122
+ const inviter = invitedBy ? `${invitedBy} invited you` : "You have been invited";
123
+ return {
124
+ kind: "org.invite",
125
+ to,
126
+ subject: `${inviter} to join ${orgName} on Selva`,
127
+ text: [
128
+ `${inviter} to join ${orgName} on Selva.`,
129
+ "",
130
+ "Open this link to accept and set up your account:",
131
+ acceptUrl,
132
+ "",
133
+ `The link expires on ${expiry} and can only be used once.`,
134
+ "",
135
+ "If you weren't expecting this invitation, you can ignore this email."
136
+ ].join("\n"),
137
+ html: renderLayout({
138
+ heading: `Join ${orgName} on Selva`,
139
+ body: ` <p style="margin:0 0 24px;font-size:15px;line-height:1.5;color:#4a4a4a;">
140
+ ${escapeHtml(inviter)} to join <strong>${escapeHtml(orgName)}</strong>. Open the link below to accept and set up your account.
141
+ </p>
142
+ ${renderButton(acceptUrl, "Accept invitation")}
143
+ ${renderUrlFallback(acceptUrl)}`,
144
+ footer: `This link expires on ${escapeHtml(expiry)} and can only be used once.
145
+ If you weren't expecting this invitation, you can ignore this email.`
146
+ })
147
+ };
148
+ }
149
+ //#endregion
150
+ //#region ../notifications/src/templates/api-token.ts
151
+ function formatDate(iso) {
152
+ const d = new Date(iso);
153
+ return Number.isNaN(d.getTime()) ? iso : d.toLocaleDateString("en-US", {
154
+ year: "numeric",
155
+ month: "long",
156
+ day: "numeric"
157
+ });
158
+ }
159
+ /**
160
+ * "A new API token was created on your account". The point is the case where
161
+ * the owner didn't create it, so the revoke link leads.
162
+ */
163
+ function renderApiTokenCreatedEmail(input) {
164
+ const { to, tokenName, orgName, scopes, manageUrl } = input;
165
+ const expiry = formatDate(input.expiresAt);
166
+ return {
167
+ kind: "api_token.created",
168
+ to,
169
+ subject: `New API token "${tokenName}" in ${orgName}`,
170
+ text: [
171
+ `A new API token named "${tokenName}" was created on your Selva account in ${orgName}.`,
172
+ "",
173
+ "It can:",
174
+ ...scopes.map((s) => `- ${s}`),
175
+ "",
176
+ `It expires on ${expiry}.`,
177
+ "",
178
+ "If you didn't create it, revoke it now:",
179
+ manageUrl
180
+ ].join("\n"),
181
+ html: renderLayout({
182
+ heading: "New API token",
183
+ body: ` <p style="margin:0 0 16px;font-size:15px;line-height:1.5;color:#4a4a4a;">
184
+ A new API token named <strong>${escapeHtml(tokenName)}</strong> was created on your account in <strong>${escapeHtml(orgName)}</strong>. It can:
185
+ </p>
186
+ <ul style="margin:0 0 24px;padding-left:20px;font-size:15px;line-height:1.5;color:#4a4a4a;">
187
+ ${scopes.map((s) => `<li>${escapeHtml(s)}</li>`).join("")}
188
+ </ul>
189
+ ${renderButton(manageUrl, "Review your tokens")}
190
+ ${renderUrlFallback(manageUrl)}`,
191
+ footer: `It expires on ${escapeHtml(expiry)}. If you didn't create it, revoke it from the page above.`
192
+ })
193
+ };
194
+ }
195
+ //#endregion
196
+ //#region ../server/src/notifications/deliver-invite.ts
197
+ /**
198
+ * Mail an invite's accept link, best-effort.
199
+ *
200
+ * Shared by the mint and resend routes so they cannot disagree about what the
201
+ * invitee receives. Swallows every failure: the invite row is already
202
+ * committed and the caller still holds `acceptUrl` to share by hand, so a dead
203
+ * SMTP host must not report a valid invite as a failure.
204
+ */
205
+ async function deliverInvite(input) {
206
+ const { ctx, log, invite, acceptUrl, actor, orgs, notifications, fallbackOrgName } = input;
207
+ try {
208
+ const org = await orgs.getOrg(ctx, invite.orgId);
209
+ const { status } = await notifications.send(renderInviteEmail({
210
+ to: invite.email,
211
+ acceptUrl,
212
+ orgName: org?.name ?? fallbackOrgName,
213
+ invitedBy: actor.profile?.displayName || actor.user?.email,
214
+ expiresAt: invite.expiresAt
215
+ }), log);
216
+ return status;
217
+ } catch (err) {
218
+ log.warn("Invite mail could not be prepared", {
219
+ component: "Invites",
220
+ inviteId: invite.id,
221
+ reason: err instanceof Error ? err.message : String(err)
222
+ });
223
+ return "failed";
224
+ }
225
+ }
226
+ //#endregion
227
+ //#region ../server/src/handlers/services.ts
228
+ function definitionService(deps) {
229
+ const service = deps.services.definitions;
230
+ if (!service) throw new Error("SelvaDeps.services.definitions is not wired — mount requires it.");
231
+ return service;
232
+ }
233
+ function orgAssetService(deps) {
234
+ const service = deps.services.orgAssets;
235
+ if (!service) throw new Error("SelvaDeps.services.orgAssets is not wired — mount requires it.");
236
+ return service;
237
+ }
238
+ /**
239
+ * A token codec, or a named failure.
240
+ *
241
+ * Minting through an absent codec is the one failure mode worth being loud
242
+ * about: a handler that quietly skipped hashing would persist a row whose token
243
+ * can never be verified, and nothing downstream would report it.
244
+ */
245
+ function tokenCodec(deps, family) {
246
+ const codec = deps.tokens[family];
247
+ if (!codec) throw new Error(`SelvaDeps.tokens.${family} is not wired — mount requires it.`);
248
+ return codec;
249
+ }
250
+ //#endregion
251
+ //#region ../server/src/handlers/me.ts
252
+ /**
253
+ * Whoami. The first call a non-browser client makes, and the only way a token
254
+ * holder can see which org their credential resolved into — `actingOrgId` is
255
+ * derived per request from the caller's membership, not frozen at mint time.
256
+ */
257
+ var getMe = async (req) => {
258
+ const { ctx, user } = requireCaller(req);
259
+ return { body: {
260
+ userId: user.id,
261
+ email: user.email,
262
+ displayName: req.profile?.displayName,
263
+ actingOrgId: ctx.actingOrgId,
264
+ platformPermissions: ctx.platformPermissions,
265
+ orgPermissions: ctx.orgPermissions,
266
+ starredDefinitions: req.profile?.starredDefinitions ?? []
267
+ } };
268
+ };
269
+ //#endregion
270
+ //#region ../server/src/handlers/me.starred.ts
271
+ /**
272
+ * Starring a definition for the calling user. Both directions are idempotent.
273
+ *
274
+ * No visibility check: a star is a row on the caller's own profile, keyed by
275
+ * guid, and reveals nothing about whether that guid exists. The read paths that
276
+ * expand stars into definitions filter by visibility there.
277
+ */
278
+ var starDefinition = async (req) => {
279
+ const { ctx, user } = requireCaller(req);
280
+ const { guid } = requireParams(req.params, "guid");
281
+ await req.deps.userProfile.starDefinition(ctx, user.id, guid);
282
+ return noContent();
283
+ };
284
+ var unstarDefinition = async (req) => {
285
+ const { ctx, user } = requireCaller(req);
286
+ const { guid } = requireParams(req.params, "guid");
287
+ await req.deps.userProfile.unstarDefinition(ctx, user.id, guid);
288
+ return noContent();
289
+ };
290
+ //#endregion
291
+ //#region ../server/src/handlers/orgs.ts
292
+ /**
293
+ * The acting org's record and roster.
294
+ *
295
+ * `requireActingOrg` is the tenancy gate on both: the URL `orgId` must equal
296
+ * `ctx.actingOrgId`, so the URL alone never decides which tenant is read.
297
+ */
298
+ /** The acting org's record — name, slug, and branding asset URLs. */
299
+ var getOrg = async (req) => {
300
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
301
+ const org = await req.deps.orgs.getOrg(ctx, orgId);
302
+ if (!org) apiError(404, ApiErrorCode.NOT_FOUND, "Organization not found");
303
+ return { body: org };
304
+ };
305
+ /**
306
+ * List the org's members. Any member of the acting org may read this — the
307
+ * roster is what the team page renders, and `requireActingOrg` already confines
308
+ * the read to the caller's own tenant.
309
+ */
310
+ var listOrgMembers = async (req) => {
311
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
312
+ return collection(await req.deps.orgs.listOrgMembers(ctx, orgId, parseListOptions(req.url)));
313
+ };
314
+ //#endregion
315
+ //#region ../server/src/handlers/apiTokens.ts
316
+ /**
317
+ * API tokens: mint, list, revoke.
318
+ *
319
+ * **Session-only.** A key can't manage keys, so a leaked one can't mint more or
320
+ * revoke the owner's others to cover its tracks.
321
+ *
322
+ * **The raw key exists only in the mint response.** The store holds its HMAC,
323
+ * and every response goes through a schema that has no `tokenHash`.
324
+ */
325
+ var DAY_MS = 864e5;
326
+ function requireSessionInOrg(req) {
327
+ if (req.ctx?.apiScope) apiError(403, ApiErrorCode.FORBIDDEN, "API tokens can’t manage API tokens. Sign in to the web app to do this.");
328
+ return requireActingOrg(req, req.params.orgId);
329
+ }
330
+ function unavailable() {
331
+ apiError(503, ApiErrorCode.API_TOKENS_UNAVAILABLE, "API tokens are not available on this server.");
332
+ }
333
+ function storeOf(req) {
334
+ return req.deps.data.apiTokens ?? unavailable();
335
+ }
336
+ function codecOf(req) {
337
+ return req.deps.tokens.apiTokens ?? unavailable();
338
+ }
339
+ function toResponse(token) {
340
+ return {
341
+ ...token,
342
+ refusedToday: scopeRefusalsToday(token.id)
343
+ };
344
+ }
345
+ /**
346
+ * Refuse scopes naming something outside this org or out of the creator's
347
+ * sight. Not the security boundary: a key never exceeds its owner's live rights
348
+ * anyway. This stops someone minting a key that can only ever be refused.
349
+ */
350
+ async function assertScopesReachable(req, orgId, scopes) {
351
+ const refuse = (message) => apiError(400, ApiErrorCode.VALIDATION_FAILED, message, { scopes: message });
352
+ for (const value of scopes) {
353
+ const { resource } = parseApiScope(value) ?? refuse(`Unknown scope: ${value}`);
354
+ if (resource.kind === "all") continue;
355
+ if (resource.kind === "org") {
356
+ if (resource.id !== orgId) refuse("An org scope must name this org.");
357
+ continue;
358
+ }
359
+ let projectId = resource.id;
360
+ if (resource.kind === "definition") projectId = (await req.deps.definitionMeta.get(req.ctx, resource.id) ?? refuse(`No definition ${resource.id}.`)).projectId;
361
+ const project = await req.deps.projects.getProject(req.ctx, projectId);
362
+ if (!project || project.orgId !== orgId) refuse(`No ${resource.kind} ${resource.id} in this org.`);
363
+ try {
364
+ await requireCanViewProject(req, projectId);
365
+ } catch (err) {
366
+ if (isApiError(err)) refuse(`You can’t access ${resource.kind} ${resource.id}.`);
367
+ throw err;
368
+ }
369
+ }
370
+ }
371
+ /**
372
+ * Tell the owner a key now exists on their account, best-effort. The case that
373
+ * matters is the one where they didn't make it.
374
+ */
375
+ async function mailTokenCreated(req, token) {
376
+ const notifications = req.deps.notifications;
377
+ const to = req.user?.email;
378
+ if (!notifications || !to) return;
379
+ try {
380
+ const org = await req.deps.orgs.getOrg(req.ctx, token.orgId);
381
+ await notifications.send(renderApiTokenCreatedEmail({
382
+ to,
383
+ tokenName: token.name,
384
+ orgName: org?.name ?? req.deps.instanceName,
385
+ scopes: token.scopes.map(describeApiScope),
386
+ expiresAt: token.expiresAt,
387
+ manageUrl: `${req.url.origin}${req.deps.apiTokenSettingsPath}`
388
+ }), req.log);
389
+ } catch (err) {
390
+ req.log.warn("API token mail could not be sent", {
391
+ component: "ApiTokens",
392
+ tokenId: token.id,
393
+ reason: err instanceof Error ? err.message : String(err)
394
+ });
395
+ }
396
+ }
397
+ /**
398
+ * The caller's own tokens in this org, newest first, including revoked and
399
+ * expired ones. `?all=true` returns everyone's and needs `manage_org_members`.
400
+ */
401
+ var listApiTokens = async (req) => {
402
+ const { ctx, orgId } = requireSessionInOrg(req);
403
+ const all = req.url.searchParams.get("all") === "true";
404
+ if (all) requireManageOrgMembers(req);
405
+ const page = await storeOf(req).listByOrg(ctx, orgId, {
406
+ ...parseListOptions(req.url),
407
+ userId: all ? void 0 : ctx.userId
408
+ });
409
+ return shapedCollection(ApiTokenResponseSchema, {
410
+ ...page,
411
+ items: page.items.map(toResponse)
412
+ });
413
+ };
414
+ /** Mint a token acting as the caller. The raw key is in this response and nowhere else. */
415
+ var createApiToken = async (req) => {
416
+ const { ctx, orgId } = requireSessionInOrg(req);
417
+ requirePermission(req, "manage_api_tokens");
418
+ const { user } = requireCaller(req);
419
+ const store = storeOf(req);
420
+ const codec = codecOf(req);
421
+ const delegated = req.deps.auth.delegatedSession;
422
+ if (delegated && !(await delegated.status()).ok) unavailable();
423
+ const input = await parseBody(req.request, CreateApiTokenBodySchema);
424
+ await assertScopesReachable(req, orgId, input.scopes);
425
+ const raw = codec.mintRawToken();
426
+ const now = /* @__PURE__ */ new Date();
427
+ const token = {
428
+ id: randomUUID(),
429
+ userId: user.id,
430
+ createdBy: user.id,
431
+ orgId,
432
+ name: input.name,
433
+ tokenHash: codec.hashToken(raw),
434
+ scopes: [...new Set(input.scopes)],
435
+ createdAt: now.toISOString(),
436
+ expiresAt: new Date(now.getTime() + input.expiresInDays * DAY_MS).toISOString(),
437
+ lastUsedAt: null,
438
+ revokedAt: null
439
+ };
440
+ await store.create(ctx, token);
441
+ await mailTokenCreated(req, token);
442
+ const { tokenHash: _hash, ...summary } = token;
443
+ return {
444
+ status: 201,
445
+ headers: { "Cache-Control": "no-store" },
446
+ body: CreatedApiTokenResponseSchema.parse({
447
+ token: toResponse(summary),
448
+ secret: raw
449
+ })
450
+ };
451
+ };
452
+ /**
453
+ * Revoke a token: the owner's own, or anyone's in the org for
454
+ * `manage_org_members`. Someone else's token reads as missing, not forbidden.
455
+ */
456
+ var revokeApiToken = async (req) => {
457
+ const { ctx, orgId } = requireSessionInOrg(req);
458
+ const { tokenId } = requireParams(req.params, "tokenId");
459
+ const store = storeOf(req);
460
+ const token = await store.get(ctx, tokenId);
461
+ const own = token?.userId === ctx.userId;
462
+ if (!token || token.orgId !== orgId || !own && !hasPermission(ctx, "manage_org_members")) apiError(404, ApiErrorCode.NOT_FOUND, "API token not found");
463
+ await store.revoke(ctx, tokenId, own ? "owner" : "admin");
464
+ return noContent();
465
+ };
466
+ /**
467
+ * Revoke every live key `userId` holds, in one org or (no `orgId`) all of
468
+ * them. Call it when someone leaves an org or is disabled: the resolver already
469
+ * refuses those keys, but without this they would work again the moment the
470
+ * person is re-added or re-enabled.
471
+ *
472
+ * Best effort. The removal or disable has already committed, so a failure is
473
+ * logged rather than thrown.
474
+ */
475
+ async function revokeUserApiTokens(store, ctx, userId, opts, log) {
476
+ if (!store) return;
477
+ try {
478
+ await store.revokeAllForUser(ctx, userId, opts);
479
+ } catch (err) {
480
+ log.error("Failed to revoke API tokens", {
481
+ component: "ApiTokens",
482
+ userId,
483
+ orgId: opts.orgId,
484
+ reason: opts.reason,
485
+ err: err instanceof Error ? err.message : String(err)
486
+ });
487
+ }
488
+ }
489
+ //#endregion
490
+ //#region ../server/src/handlers/orgMembers.ts
491
+ /**
492
+ * Org member role, permissions, and removal.
493
+ *
494
+ * Two gates run on every request: `requireManageOrgMembers` (owner+admin) and
495
+ * `requireActingOrg` (the URL `orgId` must equal `ctx.actingOrgId`, so
496
+ * cross-org member mutation is blocked even for an actor with permissions in
497
+ * another org).
498
+ *
499
+ * The sole-owner invariant applies to demotion and removal alike — an org with
500
+ * no owner is unadministrable, and removing an owner ends their role exactly as
501
+ * demoting them does.
502
+ */
503
+ var ROSTER_PAGE_LIMIT = 200;
504
+ var MAX_ROSTER_PAGES = 100;
505
+ /**
506
+ * Whether anyone other than `exceptUserId` still owns the org.
507
+ *
508
+ * Both branches below need this and both used to scan the roster themselves —
509
+ * the sole-owner invariant is one rule, so it reads from one place.
510
+ *
511
+ * Pages rather than reading one 200-row window: a second owner sitting past the
512
+ * first page read as "no other owner", so the invariant refused a demotion or
513
+ * removal that was in fact safe. That failed closed, but it made the org
514
+ * unadministrable exactly when it had grown enough to need administering.
515
+ * Returns on the first owner found, so the common case is still one round-trip.
516
+ */
517
+ async function hasAnotherOwner(req, ctx, orgId, exceptUserId) {
518
+ let cursor;
519
+ for (let page = 0; page < MAX_ROSTER_PAGES; page++) {
520
+ const result = await req.deps.orgs.listOrgMembers(ctx, orgId, {
521
+ limit: ROSTER_PAGE_LIMIT,
522
+ cursor
523
+ });
524
+ if (result.items.some((m) => m.role === "owner" && m.userId !== exceptUserId && !m.deletedAt)) return true;
525
+ cursor = result.nextCursor;
526
+ if (!cursor) return false;
527
+ }
528
+ req.log.warn("hasAnotherOwner hit the page cap — treating as sole owner", {
529
+ orgId,
530
+ pages: MAX_ROSTER_PAGES
531
+ });
532
+ return false;
533
+ }
534
+ /**
535
+ * Projects in `orgId` where `userId` is the only live owner — the ones that
536
+ * will have no owner once `removeOrgMember` cascades their membership rows.
537
+ *
538
+ * **Report, do not block.** Blocking puts an unbounded chore in front of
539
+ * offboarding — the cost scales with how many projects the departing person
540
+ * owned, which is backwards, because the most prolific people are the ones
541
+ * whose departure most needs to be clean. An offboarding that fails halfway is
542
+ * worse than an ownerless project: the person stays in the org while someone
543
+ * works through the backlog. Reclaim already exists to adopt an ownerless
544
+ * project, so the recovery path is built; what was missing was any signal that
545
+ * recovery was needed. Hence the event.
546
+ *
547
+ * MUST be called before the removal — afterwards the rows it reads are gone.
548
+ */
549
+ async function findProjectsLosingSoleOwner(req, ctx, orgId, userId) {
550
+ const projects = req.deps.projects;
551
+ const orgProjects = await projects.listProjects(ctx, orgId, { limit: ROSTER_PAGE_LIMIT });
552
+ return (await Promise.all(orgProjects.items.map(async (project) => {
553
+ const owners = (await projects.listProjectMembers(ctx, project.id, { limit: ROSTER_PAGE_LIMIT })).items.filter((m) => m.role === "owner" && !m.deletedAt);
554
+ return owners.length === 1 && owners[0].userId === userId ? project : null;
555
+ }))).filter((p) => p !== null);
556
+ }
557
+ /**
558
+ * Body accepts either or both:
559
+ * - `{ role: OrgRole }` — change the member's role. Owner-only.
560
+ * - `{ permissions: OrgPermission[] }` — replace the member's grantable
561
+ * permissions. Owner/admin via `manage_org_members`. For `member`-role
562
+ * targets, only `MEMBER_ASSIGNABLE_PERMISSIONS` are accepted; promoting a
563
+ * member's permissions does NOT change their role.
564
+ */
565
+ var updateOrgMember = async (req) => {
566
+ const { userId } = requireParams(req.params, "orgId", "userId");
567
+ requireManageOrgMembers(req);
568
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
569
+ const patch = await parseBody(req.request, UpdateOrgMemberBodySchema);
570
+ const orgs = req.deps.orgs;
571
+ const [actorMember, target] = await Promise.all([orgs.getOrgMember(ctx, orgId, ctx.userId), orgs.getOrgMember(ctx, orgId, userId)]);
572
+ if (!target) apiError(404, ApiErrorCode.NOT_FOUND, "Member not found in this organization.");
573
+ if (!actorMember) apiError(403, ApiErrorCode.FORBIDDEN, "You are not a member of this organization.");
574
+ if (patch.role !== void 0 && patch.role !== target.role) {
575
+ if (!canChangeOrgRole({
576
+ actorMember,
577
+ role: patch.role
578
+ }) || !canChangeOrgRole({
579
+ actorMember,
580
+ role: target.role
581
+ })) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can change roles.");
582
+ if (target.role === "owner" && patch.role !== "owner" && !await hasAnotherOwner(req, ctx, orgId, target.userId)) apiError(409, ApiErrorCode.CONFLICT, "Cannot demote the sole owner of this organization. Promote another member to owner first.");
583
+ await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);
584
+ }
585
+ if (patch.permissions !== void 0) {
586
+ const effectiveRole = patch.role ?? target.role;
587
+ const valid = effectiveRole === "member" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);
588
+ const invalid = patch.permissions.filter((p) => !valid.has(p));
589
+ if (invalid.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Permissions [${invalid.join(", ")}] cannot be assigned to a ${effectiveRole}.`);
590
+ await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);
591
+ }
592
+ return noContent();
593
+ };
594
+ /**
595
+ * Remove a member from the org. Owner/admin via `manage_org_members`, same
596
+ * tenancy check as PATCH, and the same sole-owner invariant — removing the last
597
+ * owner would leave the org unadministrable.
598
+ */
599
+ var removeOrgMember = async (req) => {
600
+ const { userId } = requireParams(req.params, "orgId", "userId");
601
+ requireManageOrgMembers(req);
602
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
603
+ const orgs = req.deps.orgs;
604
+ const [actorMember, target] = await Promise.all([orgs.getOrgMember(ctx, orgId, ctx.userId), orgs.getOrgMember(ctx, orgId, userId)]);
605
+ if (!target) apiError(404, ApiErrorCode.NOT_FOUND, "Member not found in this organization.");
606
+ if (!canChangeOrgRole({
607
+ actorMember,
608
+ role: target.role
609
+ })) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can remove another owner.");
610
+ if (target.role === "owner" && !await hasAnotherOwner(req, ctx, orgId, target.userId)) apiError(409, ApiErrorCode.CONFLICT, "Cannot remove the sole owner of this organization. Promote another member to owner first.");
611
+ const orphaned = await findProjectsLosingSoleOwner(req, ctx, orgId, userId);
612
+ await orgs.removeOrgMember(ctx, orgId, userId);
613
+ if (orphaned.length > 0) {
614
+ await req.deps.events.emit({
615
+ type: "org_member.removed_orphaning_projects",
616
+ orgId,
617
+ userId,
618
+ projectIds: orphaned.map((p) => p.id),
619
+ ...actorOf(ctx)
620
+ });
621
+ req.log.warn("Org member removal left projects without an owner", {
622
+ orgId,
623
+ userId,
624
+ actorId: ctx.userId,
625
+ projectCount: orphaned.length
626
+ });
627
+ }
628
+ const email = (await req.deps.auth.getUser(userId))?.email;
629
+ if (email) try {
630
+ await req.deps.invites.revokePendingByEmail(ctx, orgId, email);
631
+ } catch (err) {
632
+ req.log.error("Removed org member but failed to revoke their pending invites", {
633
+ orgId,
634
+ userId,
635
+ error: err instanceof Error ? err.message : String(err)
636
+ });
637
+ }
638
+ await revokeUserApiTokens(req.deps.data.apiTokens, ctx, userId, {
639
+ orgId,
640
+ reason: "member_removed"
641
+ }, req.log);
642
+ return noContent();
643
+ };
644
+ //#endregion
645
+ //#region ../server/src/handlers/reclaim.ts
646
+ /**
647
+ * Org owner/admin escape hatch for a project they cannot otherwise reach.
648
+ *
649
+ * Adds the actor as a co-owner and does NOT demote the existing owner.
650
+ * Idempotent: reclaiming twice is a no-op, because `addProjectMember`
651
+ * reactivates a soft-deleted row in place.
652
+ */
653
+ var reclaimProject = async (req) => {
654
+ const { id } = requireParams(req.params, "id");
655
+ const { user, ctx, project } = await requireCanReclaim(req, id);
656
+ const now = (/* @__PURE__ */ new Date()).toISOString();
657
+ const member = {
658
+ projectId: id,
659
+ userId: user.id,
660
+ role: "owner",
661
+ joinedAt: now,
662
+ updatedAt: now,
663
+ updatedBy: ctx.userId || user.id,
664
+ deletedAt: null
665
+ };
666
+ await req.deps.projects.addProjectMember(ctx, member);
667
+ await req.deps.events.emit({
668
+ type: "project.reclaimed",
669
+ projectId: id,
670
+ orgId: project.orgId,
671
+ ...actorOf(ctx),
672
+ priorVisibility: project.visibility
673
+ });
674
+ return created({ member });
675
+ };
676
+ //#endregion
677
+ //#region ../server/src/handlers/orgAssets.ts
678
+ /**
679
+ * Org branding assets, generic over kind (`logo`, `favicon`, …). Gated on
680
+ * `manage_org_members` — org branding is an org-admin action.
681
+ *
682
+ * Raster images and SVG are both accepted. Every input is rasterized to WebP by
683
+ * the shared transcoder inside the storage provider, so SVG carries no XSS
684
+ * surface: no vector blob is ever stored or served. The allowlist below is the
685
+ * HTTP gate; the rasterization is the security control.
686
+ */
687
+ var ALLOWED_CONTENT_TYPES = /* @__PURE__ */ new Set([
688
+ "image/png",
689
+ "image/jpeg",
690
+ "image/webp",
691
+ "image/gif",
692
+ "image/svg+xml"
693
+ ]);
694
+ function parseKind(params) {
695
+ const kind = OrgAssetKindSchema.safeParse(params.kind);
696
+ if (!kind.success) apiError(404, ApiErrorCode.NOT_FOUND, `Unknown asset kind '${params.kind}'`);
697
+ return kind.data;
698
+ }
699
+ var uploadOrgAsset = async (req) => {
700
+ requireManageOrgMembers(req);
701
+ const kind = parseKind(req.params);
702
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
703
+ if (!await req.deps.orgs.getOrg(ctx, orgId)) apiError(404, ApiErrorCode.NOT_FOUND, "Organization not found");
704
+ const { file } = requireUpload(await req.request.formData(), "image", {
705
+ maxBytes: req.deps.uploadLimits.maxImageFileSize,
706
+ contentTypes: {
707
+ allowed: ALLOWED_CONTENT_TYPES,
708
+ message: "Unsupported image type. Allowed: PNG, JPG, WebP, GIF, SVG"
709
+ },
710
+ label: "Image"
711
+ });
712
+ const bytes = new Uint8Array(await file.arrayBuffer());
713
+ return { body: {
714
+ kind,
715
+ url: await orgAssetService(req.deps).saveAsset(ctx, orgId, kind, bytes, file.type)
716
+ } };
717
+ };
718
+ var removeOrgAsset = async (req) => {
719
+ requireManageOrgMembers(req);
720
+ const kind = parseKind(req.params);
721
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
722
+ await orgAssetService(req.deps).removeAsset(ctx, orgId, kind);
723
+ return noContent();
724
+ };
725
+ //#endregion
726
+ //#region ../server/src/handlers/shareLinks.ts
727
+ /**
728
+ * Share-link administration.
729
+ *
730
+ * Minting, listing and revoking are gated by `canEditDefinition` — the same
731
+ * authority that uploads versions and publishes. The raw token appears in the
732
+ * POST response and nowhere else; everything afterwards sees `hasToken: true`.
733
+ *
734
+ * **Responses go through `shaped`/`shapedCollection`, never `{ body }`.** A
735
+ * `ShareLink` carries `tokenHash`, and the response schema is what drops it —
736
+ * returning the record directly would put a credential hash on the wire with
737
+ * nothing failing at build time.
738
+ */
739
+ function assertSharingEnabled(req) {
740
+ if (!req.deps.flag("ENABLE_SHARING")) apiError(404, ApiErrorCode.NOT_FOUND, "Share links are disabled on this instance (ENABLE_SHARING).");
741
+ }
742
+ /** `tokenHash` is dropped by the response schema, not by this function. */
743
+ function forClient(link) {
744
+ return {
745
+ ...link,
746
+ hasToken: true
747
+ };
748
+ }
749
+ var listShareLinks = async (req) => {
750
+ assertSharingEnabled(req);
751
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
752
+ const { ctx } = await requireEditableDefinition(req, guid);
753
+ const page = await req.deps.shareLinks.listByDefinition(ctx, guid, parseListOptions(req.url));
754
+ return shapedCollection(ShareLinkResponseSchema, {
755
+ items: page.items.map(forClient),
756
+ nextCursor: page.nextCursor
757
+ });
758
+ };
759
+ var createShareLink = async (req) => {
760
+ assertSharingEnabled(req);
761
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
762
+ const { user } = requireCaller(req);
763
+ const { ctx } = await requireEditableDefinition(req, guid);
764
+ const input = await parseBody(req.request, CreateShareLinkInputSchema, { missingAs: {} });
765
+ const codec = tokenCodec(req.deps, "shareLinks");
766
+ const raw = codec.mintRawToken();
767
+ const link = {
768
+ id: randomUUID(),
769
+ definitionId: guid,
770
+ channel: input.channel,
771
+ tokenHash: codec.hashToken(raw),
772
+ name: input.name,
773
+ createdBy: user.id,
774
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
775
+ expiresAt: input.expiresAt ?? null,
776
+ revokedAt: null,
777
+ allowSolve: input.allowSolve,
778
+ maxSolves: input.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : input.maxSolves,
779
+ solveCount: 0
780
+ };
781
+ await req.deps.shareLinks.create(ctx, link);
782
+ return shaped(CreatedShareLinkResponseSchema, {
783
+ link: forClient(link),
784
+ token: raw
785
+ }, 201);
786
+ };
787
+ /**
788
+ * Revoke a share link (soft-delete). Idempotent, gated by `canEditDefinition`.
789
+ *
790
+ * The link must belong to this definition, so one definition's editor cannot
791
+ * revoke another's link with a guessed or leaked linkId.
792
+ */
793
+ var revokeShareLink = async (req) => {
794
+ assertSharingEnabled(req);
795
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
796
+ const linkId = parseParam(req.params.linkId, GuidSchema, "link ID");
797
+ const { ctx } = await requireEditableDefinition(req, guid);
798
+ const existing = await req.deps.shareLinks.getById(ctx, linkId);
799
+ if (!existing || existing.definitionId !== guid) apiError(404, ApiErrorCode.NOT_FOUND, "Share link not found.");
800
+ await req.deps.shareLinks.revoke(ctx, linkId);
801
+ return noContent();
802
+ };
803
+ //#endregion
804
+ //#region ../server/src/handlers/definitions.ts
805
+ /**
806
+ * Definition handlers: the collection, one definition's detail and metadata,
807
+ * its live schema, cover image, and the publish channel.
808
+ *
809
+ * Solve and the two compute routes stay unwrapped deliberately — they stream
810
+ * and mark their own metrics, which the `ApiResponse` envelope does not model.
811
+ */
812
+ var LISTABLE_STATUSES = [
813
+ "draft",
814
+ "published",
815
+ "archived"
816
+ ];
817
+ /**
818
+ * Definitions the caller can view. Visibility is resolved into the query via
819
+ * `projectIds`, so `limit`/`nextCursor` describe the filtered set.
820
+ */
821
+ var listDefinitions = async (req) => {
822
+ const { ctx } = requireCaller(req);
823
+ const statusParam = req.url.searchParams.get("status");
824
+ if (statusParam && !LISTABLE_STATUSES.includes(statusParam)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `status must be one of: ${LISTABLE_STATUSES.join(", ")}`);
825
+ const page = await listVisibleDefinitions(ctx, {
826
+ ...parseDefinitionListOptions(req.url),
827
+ projectId: req.url.searchParams.get("projectId") ?? void 0,
828
+ statuses: statusParam ? [statusParam] : void 0
829
+ }, req.deps);
830
+ return collection({
831
+ items: page.items.map(toDefinitionListItem),
832
+ nextCursor: page.nextCursor
833
+ });
834
+ };
835
+ function parseTags(raw) {
836
+ if (!raw) return void 0;
837
+ const tags = raw.split(",").map((t) => t.trim()).filter(Boolean);
838
+ return tags.length ? tags : void 0;
839
+ }
840
+ /** Create a definition — metadata and the Grasshopper file in one request. */
841
+ var createDefinition = async (req) => {
842
+ const { ctx, user } = requireCaller(req);
843
+ const form = await req.request.formData();
844
+ const { file, extension } = requireUpload(form, "file", {
845
+ maxBytes: req.deps.uploadLimits.maxDefinitionFileSize,
846
+ extensions: GH_EXTENSIONS,
847
+ label: "Grasshopper (.gh or .ghx) file"
848
+ });
849
+ const imageFile = form.get("image");
850
+ const maxImageBytes = req.deps.uploadLimits.maxImageFileSize;
851
+ if (imageFile instanceof File && imageFile.size > maxImageBytes) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Image too large. Max size: ${maxImageBytes / 1048576} MB`);
852
+ let projectId = formText(form, "projectId");
853
+ if (!projectId) {
854
+ if (!ctx.actingOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No active organization");
855
+ const { projects } = await resolveAccessibleProjects(ctx, req.deps);
856
+ const fallback = projects.find((p) => p.orgId === ctx.actingOrgId);
857
+ if (!fallback) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No accessible project — pass projectId.");
858
+ projectId = fallback.id;
859
+ }
860
+ const { project } = await requireCanCreateDefinition(req, projectId);
861
+ const parsed = CreateDefinitionInputSchema.safeParse({
862
+ displayName: formText(form, "displayName"),
863
+ description: formText(form, "description"),
864
+ category: formText(form, "category"),
865
+ coverImage: formText(form, "coverImage"),
866
+ tags: parseTags(formText(form, "tags")),
867
+ projectId,
868
+ computeServerId: formText(form, "computeServerId")
869
+ });
870
+ if (!parsed.success) throwZodError(parsed.error);
871
+ const guid = randomUUID();
872
+ const fileData = new Uint8Array(await file.arrayBuffer());
873
+ const server = await resolveServerForOrg(ctx, project.orgId, req.deps.computeServer, { definitionPin: parsed.data.computeServerId ?? null });
874
+ const schema = await fetchSchemaFromCompute(fileData, server);
875
+ const service = definitionService(req.deps);
876
+ const { record, version } = await service.create(ctx, {
877
+ guid,
878
+ projectId: parsed.data.projectId,
879
+ ownerId: user.id,
880
+ fileExt: extension.slice(1),
881
+ originalFilename: file.name,
882
+ computeServerId: parsed.data.computeServerId,
883
+ displayName: parsed.data.displayName.trim(),
884
+ description: parsed.data.description,
885
+ category: parsed.data.category,
886
+ tags: parsed.data.tags,
887
+ coverImage: parsed.data.coverImage
888
+ }, fileData, schema);
889
+ let coverImage = record.coverImage;
890
+ if (imageFile instanceof File && imageFile.size > 0) {
891
+ const imageData = new Uint8Array(await imageFile.arrayBuffer());
892
+ coverImage = await service.saveCoverImage(ctx, guid, imageData);
893
+ }
894
+ return created({
895
+ guid,
896
+ version,
897
+ coverImage
898
+ });
899
+ };
900
+ /** `schema` is a large blob, served on demand by `/versions/{versionId}/schema`. */
901
+ function versionSummary(v) {
902
+ return {
903
+ id: v.id,
904
+ versionNumber: v.versionNumber,
905
+ uploadedAt: v.uploadedAt,
906
+ uploadedBy: v.uploadedBy,
907
+ changeNote: v.changeNote
908
+ };
909
+ }
910
+ /** The record plus its live and draft version summaries. */
911
+ var getDefinition = async (req) => {
912
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
913
+ const { ctx } = requireCaller(req);
914
+ const record = await getVisibleDefinition(ctx, guid, req.deps);
915
+ if (!record) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
916
+ const meta = req.deps.definitionMeta;
917
+ const [liveVersion, draftVersion] = await Promise.all([record.liveVersionId ? meta.getVersion(ctx, record.liveVersionId) : null, record.draftVersionId ? meta.getVersion(ctx, record.draftVersionId) : null]);
918
+ return { body: {
919
+ ...record,
920
+ liveVersion: liveVersion ? versionSummary(liveVersion) : null,
921
+ draftVersion: draftVersion ? versionSummary(draftVersion) : null
922
+ } };
923
+ };
924
+ /** Soft-delete the definition; versions and blobs are wiped with it. */
925
+ var deleteDefinition = async (req) => {
926
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
927
+ const { ctx } = await requireEditableDefinition(req, guid);
928
+ await definitionService(req.deps).delete(ctx, guid);
929
+ return noContent();
930
+ };
931
+ /** Metadata only. New versions POST to `/versions`. */
932
+ var updateDefinition = async (req) => {
933
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
934
+ const { ctx, record } = await requireEditableDefinition(req, guid);
935
+ const patch = await parseBody(req.request, UpdateMetadataInputSchema);
936
+ if (patch.projectId && patch.projectId !== record.projectId) await requireCanCreateDefinition(req, patch.projectId);
937
+ await definitionService(req.deps).updateMeta(ctx, guid, patch);
938
+ return noContent();
939
+ };
940
+ /**
941
+ * Convenience alias for the live version's schema — the call a client makes
942
+ * before solving. The canonical location is `/versions/{versionId}/schema`;
943
+ * this resolves the `live` pointer for you.
944
+ */
945
+ var getDefinitionSchema = async (req) => {
946
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
947
+ const { ctx } = requireCaller(req);
948
+ const record = await getVisibleDefinition(ctx, guid, req.deps);
949
+ if (!record) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
950
+ if (!record.liveVersionId) apiError(404, ApiErrorCode.NOT_FOUND, "This definition has no published version");
951
+ const version = await loadVisibleVersion(ctx, guid, record.liveVersionId, req.deps);
952
+ if (!version?.schema) apiError(404, ApiErrorCode.NOT_FOUND, "No schema cached for the live version");
953
+ return { body: version.schema };
954
+ };
955
+ /**
956
+ * Advance the live channel. Body `{ versionId? }` targets a specific version
957
+ * (rollback or forward-roll); omit it to promote the current draft.
958
+ */
959
+ var publishDefinition = async (req) => {
960
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
961
+ const { versionId } = await parseBody(req.request, PublishVersionInputSchema, { missingAs: {} });
962
+ const { ctx } = await requireEditableDefinition(req, guid);
963
+ return { body: { version: await definitionService(req.deps).publish(ctx, guid, versionId) } };
964
+ };
965
+ /** Upload a cover image. */
966
+ var uploadDefinitionImage = async (req) => {
967
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
968
+ const { ctx } = await requireEditableDefinition(req, guid);
969
+ const { file } = requireUpload(await req.request.formData(), "image", {
970
+ maxBytes: req.deps.uploadLimits.maxImageFileSize,
971
+ label: "Image"
972
+ });
973
+ const data = new Uint8Array(await file.arrayBuffer());
974
+ return { body: { coverImage: await definitionService(req.deps).saveCoverImage(ctx, guid, data) } };
975
+ };
976
+ //#endregion
977
+ //#region ../server/src/handlers/definitionVersions.ts
978
+ /**
979
+ * Version handlers: list, upload, read, delete, and a version's cached schema.
980
+ *
981
+ * Reads resolve through `getVisibleDefinition` / `loadVisibleVersion`, which
982
+ * return `null` rather than throwing, so an invisible definition answers 404.
983
+ * A 403 anywhere here would confirm a guid exists across a tenant boundary.
984
+ */
985
+ var listVersions = async (req) => {
986
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
987
+ const { ctx } = requireCaller(req);
988
+ if (!await getVisibleDefinition(ctx, guid, req.deps)) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
989
+ return collection(await req.deps.definitionMeta.listVersions(ctx, guid, parseListOptions(req.url)));
990
+ };
991
+ /** Upload a new version. Advances `draft`; `live` is unchanged until publish. */
992
+ var uploadVersion = async (req) => {
993
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
994
+ const form = await req.request.formData();
995
+ const { file, extension } = requireUpload(form, "file", {
996
+ maxBytes: req.deps.uploadLimits.maxDefinitionFileSize,
997
+ extensions: GH_EXTENSIONS,
998
+ label: "Grasshopper (.gh or .ghx) file"
999
+ });
1000
+ const changeNote = formText(form, "changeNote", { maxLength: 1e3 });
1001
+ const { ctx, record, project } = await requireEditableDefinition(req, guid);
1002
+ const data = new Uint8Array(await file.arrayBuffer());
1003
+ const server = await resolveServerForOrg(ctx, project?.orgId ?? null, req.deps.computeServer, { definitionPin: record.computeServerId ?? null });
1004
+ const schema = await fetchSchemaFromCompute(data, server);
1005
+ return created({ version: await definitionService(req.deps).uploadVersion(ctx, guid, data, extension.slice(1), file.name, schema, changeNote) });
1006
+ };
1007
+ /**
1008
+ * Version metadata. `schema` is excluded and served by the `/schema`
1009
+ * sub-resource, so a version read never carries a several-hundred-KB blob.
1010
+ */
1011
+ var getVersion = async (req) => {
1012
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1013
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1014
+ const { ctx } = requireCaller(req);
1015
+ const version = await loadVisibleVersion(ctx, guid, versionId, req.deps);
1016
+ if (!version) apiError(404, ApiErrorCode.NOT_FOUND, "Version not found");
1017
+ const { schema: _schema, ...rest } = version;
1018
+ return { body: rest };
1019
+ };
1020
+ /**
1021
+ * Delete an old version. The store throws 409 if the version is currently
1022
+ * referenced by `liveVersionId` or `draftVersionId` — repoint first.
1023
+ */
1024
+ var deleteVersion = async (req) => {
1025
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1026
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1027
+ const { ctx } = await requireEditableDefinition(req, guid);
1028
+ await definitionService(req.deps).deleteVersion(ctx, guid, versionId);
1029
+ return noContent();
1030
+ };
1031
+ /**
1032
+ * The UI schema cached on this version at upload. Reads what is stored — no
1033
+ * Rhino.Compute round-trip, unlike the pre-upload `POST /api/v1/compute/schema`.
1034
+ *
1035
+ * Schemas belong to a version, so this is the canonical location;
1036
+ * `/definitions/{guid}/schema` is an alias for the live one.
1037
+ */
1038
+ var getVersionSchema = async (req) => {
1039
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1040
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1041
+ const { ctx } = requireCaller(req);
1042
+ const version = await loadVisibleVersion(ctx, guid, versionId, req.deps);
1043
+ if (!version) apiError(404, ApiErrorCode.NOT_FOUND, "Version not found");
1044
+ if (!version.schema) apiError(404, ApiErrorCode.NOT_FOUND, "No schema cached for this version");
1045
+ return { body: version.schema };
1046
+ };
1047
+ //#endregion
1048
+ //#region ../server/src/handlers/projects.ts
1049
+ /**
1050
+ * Project handlers: the collection, and a single project's detail and settings.
1051
+ *
1052
+ * `listProjects` was authored against `resolveAccessibleProjects`, not lifted
1053
+ * from the pre-v1 handler: that one listed every project in the acting org with
1054
+ * no `canView` filter and had no UI caller, so it carried no evidence of being
1055
+ * correct. The rest are lifted, logic intact, with reads moved onto `req.deps`.
1056
+ */
1057
+ var listProjects = async (req) => {
1058
+ const { ctx } = requireCaller(req);
1059
+ const { projects } = await resolveAccessibleProjects(ctx, req.deps);
1060
+ const { limit, cursor } = parseListOptions(req.url);
1061
+ const start = cursor ? Number(cursor) : 0;
1062
+ if (!Number.isInteger(start) || start < 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid cursor");
1063
+ const items = projects.slice(start, start + (limit ?? projects.length));
1064
+ const nextIndex = start + items.length;
1065
+ return collection({
1066
+ items,
1067
+ nextCursor: nextIndex < projects.length ? String(nextIndex) : void 0
1068
+ });
1069
+ };
1070
+ var createProject = async (req) => {
1071
+ const { ctx, user } = requireCaller(req);
1072
+ if (!ctx.actingOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No active organization");
1073
+ await requireCanCreateProject(req, ctx.actingOrgId);
1074
+ const input = await parseBody(req.request, CreateProjectBodySchema);
1075
+ if (input.visibility === "platform" && !hasPermission(ctx, "instance_admin")) apiError(403, ApiErrorCode.FORBIDDEN, "Only a platform admin can create a project with platform visibility.");
1076
+ const autoJoinOnUpload = input.autoJoinOnUpload ?? false;
1077
+ const flagIssues = validateProjectFlags({
1078
+ visibility: input.visibility,
1079
+ autoJoinOnUpload
1080
+ });
1081
+ if (flagIssues.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, flagIssues.map((i) => `${i.path}: ${i.message}`).join("; "));
1082
+ return created(await createProjectWithUniqueSlug(req.deps.projects, {
1083
+ id: randomUUID(),
1084
+ orgId: ctx.actingOrgId,
1085
+ name: input.name,
1086
+ description: input.description,
1087
+ visibility: input.visibility,
1088
+ ownerId: user.id,
1089
+ createdBy: user.id,
1090
+ updatedBy: user.id,
1091
+ autoJoinOnUpload
1092
+ }, {
1093
+ writeCtx: ctx,
1094
+ fallbackSlug: "project",
1095
+ conflictScope: "this organization"
1096
+ }));
1097
+ };
1098
+ /**
1099
+ * Project detail plus the caller's effective capabilities on it.
1100
+ *
1101
+ * A project the caller cannot view returns 404, not 403 — `403` would confirm
1102
+ * the id exists to anyone probing.
1103
+ */
1104
+ var getProject = async (req) => {
1105
+ const { id } = requireParams(req.params, "id");
1106
+ const { ctx } = requireCaller(req);
1107
+ const project = await req.deps.projects.getProject(SYSTEM_CONTEXT, id);
1108
+ if (!project || outsideTokenOrg(ctx, project.orgId)) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1109
+ const [orgMembers, projectMembers, grants] = await Promise.all([
1110
+ req.deps.orgs.getOrgMembersFor(SYSTEM_CONTEXT, [project.orgId], ctx.userId),
1111
+ req.deps.projects.getProjectMembersFor(SYSTEM_CONTEXT, [project.id], ctx.userId),
1112
+ project.visibility === "platform" ? req.deps.platformProjectGrants.listByProject(SYSTEM_CONTEXT, project.id) : Promise.resolve([])
1113
+ ]);
1114
+ const member = projectMembers.get(project.id) ?? null;
1115
+ const input = projectAccessInputFromRowsWith(req, ctx, project, {
1116
+ member,
1117
+ orgMember: orgMembers.get(project.orgId) ?? null,
1118
+ platformGrants: grants
1119
+ });
1120
+ if (!canView(input)) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1121
+ return { body: {
1122
+ ...project,
1123
+ role: member?.role ?? null,
1124
+ canEdit: canEdit(input),
1125
+ canSolve: canSolve(input)
1126
+ } };
1127
+ };
1128
+ var updateProject = async (req) => {
1129
+ const { id } = requireParams(req.params, "id");
1130
+ const { ctx, project: existing } = await requireCanEditProjectSettings(req, id);
1131
+ const input = await parseBody(req.request, UpdateProjectBodySchema);
1132
+ if (input.visibility === "platform" && existing.visibility !== "platform") {
1133
+ if (!hasPermission(ctx, "instance_admin")) apiError(403, ApiErrorCode.FORBIDDEN, "Only a platform admin can give a project platform visibility.");
1134
+ }
1135
+ if (input.visibility === "public" && existing.visibility !== "public") {
1136
+ const orgMember = await req.deps.orgs.getOrgMember(ctx, existing.orgId, ctx.userId);
1137
+ if (!withAdminBypass(ctx.platformPermissions, () => canChangeVisibilityToPublic({ orgMember }))) apiError(403, ApiErrorCode.FORBIDDEN, "Only org owners or admins can make a project public.");
1138
+ }
1139
+ const flagIssues = validateProjectFlags({
1140
+ visibility: input.visibility ?? existing.visibility,
1141
+ autoJoinOnUpload: input.autoJoinOnUpload ?? existing.autoJoinOnUpload
1142
+ });
1143
+ if (flagIssues.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, flagIssues.map((i) => `${i.path}: ${i.message}`).join("; "));
1144
+ const patch = {};
1145
+ if (input.name !== void 0) {
1146
+ patch.name = input.name;
1147
+ patch.slug = slugify(input.name);
1148
+ }
1149
+ if (input.description !== void 0) patch.description = input.description ?? void 0;
1150
+ if (input.visibility !== void 0) patch.visibility = input.visibility;
1151
+ if (input.autoJoinOnUpload !== void 0) patch.autoJoinOnUpload = input.autoJoinOnUpload;
1152
+ await req.deps.projects.updateProject(ctx, id, patch);
1153
+ return noContent();
1154
+ };
1155
+ var deleteProject = async (req) => {
1156
+ const { id } = requireParams(req.params, "id");
1157
+ const { ctx } = requireCaller(req);
1158
+ await requireCanManage(req, id);
1159
+ await req.deps.projects.deleteProject(ctx, id);
1160
+ return noContent();
1161
+ };
1162
+ //#endregion
1163
+ //#region ../server/src/handlers/projectMembers.ts
1164
+ /**
1165
+ * Project membership: list, add, change role, remove.
1166
+ *
1167
+ * Every method here gates on `requireCanManage(req, id, 'members')`. The
1168
+ * owner-count preconditions on PATCH and DELETE come from `checkOwnerRemoval`,
1169
+ * a pure rules function, so demotion and removal cannot drift apart — a sole
1170
+ * owner demoting themselves locks the project exactly as removing themselves
1171
+ * would.
1172
+ */
1173
+ var listProjectMembers = async (req) => {
1174
+ const { id } = requireParams(req.params, "id");
1175
+ const { ctx } = requireCaller(req);
1176
+ await requireCanManage(req, id, "members");
1177
+ return collection(await req.deps.projects.listProjectMembers(ctx, id, parseListOptions(req.url)));
1178
+ };
1179
+ var addProjectMember = async (req) => {
1180
+ const { id } = requireParams(req.params, "id");
1181
+ const { ctx } = requireCaller(req);
1182
+ await requireCanManage(req, id, "members");
1183
+ const input = await parseBody(req.request, AddProjectMemberBodySchema);
1184
+ const project = await req.deps.projects.getProject(ctx, id);
1185
+ if (!project) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1186
+ await requireTargetIsOrgMember(req, project.orgId, input.userId);
1187
+ const now = (/* @__PURE__ */ new Date()).toISOString();
1188
+ const member = {
1189
+ projectId: id,
1190
+ userId: input.userId,
1191
+ role: input.role,
1192
+ joinedAt: now,
1193
+ updatedAt: now,
1194
+ updatedBy: ctx.userId || input.userId,
1195
+ deletedAt: null
1196
+ };
1197
+ await req.deps.projects.addProjectMember(ctx, member);
1198
+ return created(member);
1199
+ };
1200
+ /**
1201
+ * Guard the owner count before a demotion or removal goes through.
1202
+ *
1203
+ * `?confirm=true` is what distinguishes "I meant to do this" from a misclick;
1204
+ * the sole-owner case has no confirmation, because there is no state the
1205
+ * caller could confirm into that leaves the project manageable.
1206
+ */
1207
+ async function assertOwnerRemovable(req, projectId, target, action) {
1208
+ const { ctx } = requireCaller(req);
1209
+ const page = await req.deps.projects.listProjectMembers(ctx, projectId, { limit: 200 });
1210
+ const decision = checkOwnerRemoval({
1211
+ target: { role: target.role },
1212
+ allMembers: page.items.map((m) => ({ role: m.role })),
1213
+ confirmed: req.url.searchParams.get("confirm") === "true"
1214
+ });
1215
+ if (decision === "sole_owner") apiError(409, ApiErrorCode.CONFLICT, `Cannot ${action} the sole owner of a project. Assign another owner first, or use reclaim to add a co-owner.`);
1216
+ if (decision === "needs_confirm") apiError(409, ApiErrorCode.CONFLICT, `${action === "demote" ? "Demoting" : "Removing"} another project owner requires explicit confirmation. Retry with ?confirm=true.`);
1217
+ }
1218
+ var updateProjectMemberRole = async (req) => {
1219
+ const { id, userId } = requireParams(req.params, "id", "userId");
1220
+ const { ctx } = requireCaller(req);
1221
+ await requireCanManage(req, id, "members");
1222
+ const { role } = await parseBody(req.request, UpdateProjectMemberBodySchema);
1223
+ if (role !== "owner") {
1224
+ const target = await req.deps.projects.getProjectMember(ctx, id, userId);
1225
+ if (target?.role === "owner") await assertOwnerRemovable(req, id, target, "demote");
1226
+ }
1227
+ await req.deps.projects.updateProjectMemberRole(ctx, id, userId, role);
1228
+ return noContent();
1229
+ };
1230
+ var removeProjectMember = async (req) => {
1231
+ const { id, userId } = requireParams(req.params, "id", "userId");
1232
+ const { ctx } = requireCaller(req);
1233
+ await requireCanManage(req, id, "members");
1234
+ const target = await req.deps.projects.getProjectMember(ctx, id, userId);
1235
+ if (!target) return noContent();
1236
+ if (target.role === "owner") await assertOwnerRemovable(req, id, target, "remove");
1237
+ await req.deps.projects.removeProjectMember(ctx, id, userId);
1238
+ return noContent();
1239
+ };
1240
+ //#endregion
1241
+ //#region ../server/src/handlers/orgCompute.ts
1242
+ /**
1243
+ * Per-org compute config: this org's own servers (`scope: 'org'`) and its
1244
+ * default selection (`orgDefaults[orgId]`). Platform servers and the global
1245
+ * default are read-only here — `manage_compute` owns those via `/api/admin/compute`.
1246
+ *
1247
+ * Authorization: org `owner`/`admin` with `manage_org_compute`, plus the acting-org
1248
+ * tenancy check. Gated by `ALLOW_ORG_COMPUTE_OVERRIDE`; when off, both methods 403.
1249
+ *
1250
+ * **`apiKey` merge semantics are the trap here.** Omitted preserves the stored
1251
+ * key, `null` clears it, a string replaces it — and `/api/admin/compute` must
1252
+ * agree, which is why the merge lives in `@selvajs/server/compute`, not inline.
1253
+ */
1254
+ function requireFlag(req) {
1255
+ if (!req.deps.flag("ALLOW_ORG_COMPUTE_OVERRIDE")) apiError(403, ApiErrorCode.FORBIDDEN, "Per-org compute override is disabled on this instance (ALLOW_ORG_COMPUTE_OVERRIDE).");
1256
+ }
1257
+ var getOrgCompute = async (req) => {
1258
+ requireFlag(req);
1259
+ requireManageOrgCompute(req);
1260
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1261
+ const config = await req.deps.computeServer.getConfig(ctx, { scopeToOrgId: orgId });
1262
+ const owned = config.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => ({
1263
+ ...s,
1264
+ hasApiKey: !!s.hasApiKey
1265
+ }));
1266
+ const catalog = config.servers.map((s) => ({
1267
+ id: s.id,
1268
+ label: s.label,
1269
+ serverUrl: s.serverUrl,
1270
+ scope: s.scope,
1271
+ source: isPlatformServer(s) ? "platform" : "org",
1272
+ timeoutMs: s.timeoutMs,
1273
+ retryCount: s.retryCount
1274
+ }));
1275
+ return shaped(OrgComputeResponseSchema, {
1276
+ servers: owned,
1277
+ defaultServerId: config.orgDefaults?.[orgId] ?? null,
1278
+ globalDefaultServerId: config.defaultServerId ?? null,
1279
+ catalog
1280
+ });
1281
+ };
1282
+ var updateOrgCompute = async (req) => {
1283
+ requireFlag(req);
1284
+ requireManageOrgCompute(req);
1285
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1286
+ const incoming = await parseBody(req.request, OrgComputePatchBodySchema);
1287
+ validateIncomingServers(incoming.servers);
1288
+ const provider = req.deps.computeServer;
1289
+ const existing = await provider.getConfig(ctx, { includeApiKeys: true });
1290
+ const storedKeys = storedKeysById(existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId));
1291
+ const next = incoming.servers.map((s) => ({
1292
+ id: s.id,
1293
+ scope: "org",
1294
+ ownerOrgId: orgId,
1295
+ label: s.label,
1296
+ serverUrl: s.serverUrl,
1297
+ timeoutMs: s.timeoutMs,
1298
+ retryCount: s.retryCount,
1299
+ apiKey: resolveApiKey(s.apiKey, storedKeys.get(s.id))
1300
+ }));
1301
+ if (typeof incoming.defaultServerId === "string") {
1302
+ const projected = {
1303
+ servers: [...existing.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)), ...next],
1304
+ defaultServerId: existing.defaultServerId,
1305
+ orgDefaults: existing.orgDefaults
1306
+ };
1307
+ if (!new Set(serversVisibleTo(projected, orgId).map((s) => s.id)).has(incoming.defaultServerId)) apiError(400, ApiErrorCode.VALIDATION_FAILED, "defaultServerId must reference a server visible to this organization");
1308
+ }
1309
+ await provider.saveOrgServers(ctx, orgId, next, incoming.defaultServerId);
1310
+ evictChangedServers(existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId), next, req.deps.evictComputeClient);
1311
+ return noContent();
1312
+ };
1313
+ //#endregion
1314
+ //#region ../server/src/handlers/invite-lookup.ts
1315
+ /**
1316
+ * Find an invite by id, confirming it belongs to `orgId`.
1317
+ *
1318
+ * `manage_org_members` is org-scoped, so a permitted caller must not reach an
1319
+ * invite in another org. Neither store scopes `revoke()` by acting org, so
1320
+ * every route that mutates an invite by id has to establish ownership first —
1321
+ * hence one shared paged scan rather than a copy per route.
1322
+ */
1323
+ async function findPendingInviteInOrg(ctx, orgId, id, store) {
1324
+ let cursor;
1325
+ do {
1326
+ const page = await store.listByOrg(ctx, orgId, {
1327
+ limit: 200,
1328
+ cursor
1329
+ });
1330
+ const match = page.items.find((i) => i.id === id);
1331
+ if (match) return match;
1332
+ cursor = page.nextCursor ?? void 0;
1333
+ } while (cursor);
1334
+ return null;
1335
+ }
1336
+ //#endregion
1337
+ //#region ../server/src/handlers/invites.ts
1338
+ /**
1339
+ * Org invites: list, mint, revoke, resend.
1340
+ *
1341
+ * **The raw token exists only in the response.** The store sees an HMAC digest,
1342
+ * so a leak of the `invites` table cannot be replayed without the instance
1343
+ * secret — and `tokenHash` is dropped by the response schema, which is why
1344
+ * every response here goes through `shaped`/`shapedCollection` rather than
1345
+ * `{ body }`.
1346
+ */
1347
+ var INVITE_TTL_MS = 6048e5;
1348
+ /**
1349
+ * Mail the accept link, or report why not.
1350
+ *
1351
+ * Mint and resend must send the identical message, so the deps threading lives
1352
+ * here rather than at each call site. `not-configured` when the host wired no
1353
+ * notification provider: the invite row is already committed and the caller
1354
+ * still holds `acceptUrl`, so an instance without mail is a working instance,
1355
+ * not a failed write.
1356
+ */
1357
+ async function mailInvite(req, invite, acceptUrl) {
1358
+ const notifications = req.deps.notifications;
1359
+ if (!notifications) return "not-configured";
1360
+ return deliverInvite({
1361
+ ctx: req.ctx,
1362
+ log: req.log,
1363
+ invite,
1364
+ acceptUrl,
1365
+ actor: {
1366
+ profile: req.profile,
1367
+ user: req.user
1368
+ },
1369
+ orgs: req.deps.orgs,
1370
+ notifications,
1371
+ fallbackOrgName: req.deps.instanceName
1372
+ });
1373
+ }
1374
+ /** Pending and recently accepted invites for the acting org. */
1375
+ var listInvites = async (req) => {
1376
+ requireManageOrgMembers(req);
1377
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1378
+ return shapedCollection(InviteResponseSchema, await req.deps.invites.listByOrg(ctx, orgId, parseListOptions(req.url)));
1379
+ };
1380
+ /** Create an invite and return the accept URL. */
1381
+ var createInvite = async (req) => {
1382
+ requireManageOrgMembers(req);
1383
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1384
+ const { user } = requireCaller(req);
1385
+ const input = await parseBody(req.request, CreateInviteBodySchema);
1386
+ const { platform: submittedPlatformPerms, org: submittedOrgPerms } = splitFlatPermissions(input.permissions);
1387
+ assertCanGrantPlatformPermissions(ctx, submittedPlatformPerms);
1388
+ if (!await canActorChangeOrgRole(ctx, orgId, input.orgRole, req)) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can invite someone as owner or admin.");
1389
+ const orgPermissions = input.orgRole === "member" ? submittedOrgPerms.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[input.orgRole]];
1390
+ const codec = tokenCodec(req.deps, "invites");
1391
+ const rawToken = codec.mintRawToken();
1392
+ const now = /* @__PURE__ */ new Date();
1393
+ const invite = {
1394
+ id: randomUUID(),
1395
+ tokenHash: codec.hashToken(rawToken),
1396
+ email: input.email,
1397
+ orgId,
1398
+ orgRole: input.orgRole,
1399
+ orgPermissions,
1400
+ platformPermissions: submittedPlatformPerms,
1401
+ invitedBy: user.id,
1402
+ createdAt: now.toISOString(),
1403
+ expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()
1404
+ };
1405
+ await req.deps.invites.create(ctx, invite);
1406
+ const acceptUrl = `${req.url.origin}/accept-invite?token=${rawToken}`;
1407
+ const delivery = await mailInvite(req, invite, acceptUrl);
1408
+ return shaped(CreatedInviteResponseSchema, {
1409
+ ...invite,
1410
+ acceptUrl,
1411
+ delivery
1412
+ }, 201);
1413
+ };
1414
+ /** Revoke a pending invite. Consumed invites are preserved for audit. */
1415
+ var revokeInvite = async (req) => {
1416
+ requireManageOrgMembers(req);
1417
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1418
+ const { id } = requireParams(req.params, "id");
1419
+ if (!await findPendingInviteInOrg(ctx, orgId, id, req.deps.invites)) apiError(404, ApiErrorCode.NOT_FOUND, "Invite not found");
1420
+ await req.deps.invites.revoke(ctx, id);
1421
+ return noContent();
1422
+ };
1423
+ /**
1424
+ * Re-send an invite: mint a replacement and revoke the original.
1425
+ *
1426
+ * A resend cannot reuse the original link. The raw token is never stored — only
1427
+ * its HMAC digest is — so there is nothing to re-read, and rather than weaken
1428
+ * that, this issues a fresh token and revokes the row it replaces. The old link
1429
+ * stops working the moment this returns, which is also what an admin wants
1430
+ * after mailing an invite to the wrong address.
1431
+ *
1432
+ * Grants are copied verbatim from the original. The role and permission gates
1433
+ * ran when it was minted; re-deriving them here would let a since-demoted admin
1434
+ * silently change what the invite carries.
1435
+ */
1436
+ var resendInvite = async (req) => {
1437
+ requireManageOrgMembers(req);
1438
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1439
+ const { id } = requireParams(req.params, "id");
1440
+ const existing = await findPendingInviteInOrg(ctx, orgId, id, req.deps.invites);
1441
+ if (!existing) apiError(404, ApiErrorCode.NOT_FOUND, "Invite not found");
1442
+ if (existing.acceptedAt) apiError(409, ApiErrorCode.CONFLICT, "This invite has already been accepted.");
1443
+ const codec = tokenCodec(req.deps, "invites");
1444
+ const rawToken = codec.mintRawToken();
1445
+ const now = /* @__PURE__ */ new Date();
1446
+ const replacement = {
1447
+ ...existing,
1448
+ id: randomUUID(),
1449
+ tokenHash: codec.hashToken(rawToken),
1450
+ createdAt: now.toISOString(),
1451
+ expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()
1452
+ };
1453
+ await req.deps.invites.create(ctx, replacement);
1454
+ await req.deps.invites.revoke(ctx, existing.id);
1455
+ const acceptUrl = `${req.url.origin}/accept-invite?token=${rawToken}`;
1456
+ const delivery = await mailInvite(req, replacement, acceptUrl);
1457
+ return shaped(CreatedInviteResponseSchema, {
1458
+ ...replacement,
1459
+ acceptUrl,
1460
+ delivery
1461
+ }, 201);
1462
+ };
1463
+
1464
+ export { createInvite as A, revokeInvite as B, resendInvite as C, listOrgMembers as D, updateOrgMember as E, removeOrgMember as F, listApiTokens as G, createApiToken as H, revokeApiToken as I, listProjects as J, createProject as K, getProject as L, updateProject as M, deleteProject as N, listProjectMembers as O, addProjectMember as P, updateProjectMemberRole as Q, removeProjectMember as R, reclaimProject as S, uploadDefinitionImage as a, getDefinitionSchema as b, createDefinition as c, deleteDefinition as d, listShareLinks as e, createShareLink as f, getDefinition as g, revokeShareLink as h, listVersions as i, uploadVersion as j, getVersion as k, listDefinitions as l, deleteVersion as m, getVersionSchema as n, getMe as o, publishDefinition as p, unstarDefinition as q, revokeUserApiTokens as r, starDefinition as s, getOrg as t, updateDefinition as u, uploadOrgAsset as v, removeOrgAsset as w, getOrgCompute as x, updateOrgCompute as y, listInvites as z };
1465
+ //# sourceMappingURL=handlers.js-o9t-JPz6.js.map