@selvajs/selva 4.20.0-beta.15 → 4.20.0-beta.16

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 (1569) hide show
  1. package/build/client/_app/immutable/assets/0.D1rXwE-H.css +2 -0
  2. package/build/client/_app/immutable/assets/0.D1rXwE-H.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.D1rXwE-H.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/21.jbAJ3qFw.css +1 -0
  5. package/build/client/_app/immutable/assets/21.jbAJ3qFw.css.br +0 -0
  6. package/build/client/_app/immutable/assets/21.jbAJ3qFw.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/BCch4665.js +1 -0
  8. package/build/client/_app/immutable/chunks/BCch4665.js.br +1 -0
  9. package/build/client/_app/immutable/chunks/BCch4665.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BCliE8WI.js +1 -0
  11. package/build/client/_app/immutable/chunks/BCliE8WI.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BCliE8WI.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BQAnKYth.js +1 -0
  14. package/build/client/_app/immutable/chunks/BQAnKYth.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BQAnKYth.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/Bga9Qxze.js +55 -0
  17. package/build/client/_app/immutable/chunks/Bga9Qxze.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/Bga9Qxze.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BqYuJpCe.js +2 -0
  20. package/build/client/_app/immutable/chunks/BqYuJpCe.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/BqYuJpCe.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/Br-hDqZV.js +1 -0
  23. package/build/client/_app/immutable/chunks/Br-hDqZV.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/Br-hDqZV.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BsFJ4Tkb.js +1 -0
  26. package/build/client/_app/immutable/chunks/BsFJ4Tkb.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BsFJ4Tkb.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/Bv4sOmO3.js +1 -0
  29. package/build/client/_app/immutable/chunks/Bv4sOmO3.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/Bv4sOmO3.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/CcWwBvi8.js +1 -0
  32. package/build/client/_app/immutable/chunks/CcWwBvi8.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/CcWwBvi8.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/CkT0pz42.js +1 -0
  35. package/build/client/_app/immutable/chunks/CkT0pz42.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/CkT0pz42.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/Cq8baQYl.js +1 -0
  38. package/build/client/_app/immutable/chunks/Cq8baQYl.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/Cq8baQYl.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/CxjDNptA.js +1 -0
  41. package/build/client/_app/immutable/chunks/CxjDNptA.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/CxjDNptA.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/D1qLYIn2.js +1 -0
  44. package/build/client/_app/immutable/chunks/D1qLYIn2.js.br +1 -0
  45. package/build/client/_app/immutable/chunks/D1qLYIn2.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/DKELOm5C.js +1 -0
  47. package/build/client/_app/immutable/chunks/DKELOm5C.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/DKELOm5C.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/Dw1oeR41.js +1 -0
  50. package/build/client/_app/immutable/chunks/Dw1oeR41.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/Dw1oeR41.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/I4bYfY0F.js +1 -0
  53. package/build/client/_app/immutable/chunks/I4bYfY0F.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/I4bYfY0F.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/TtW8qOd8.js +1 -0
  56. package/build/client/_app/immutable/chunks/TtW8qOd8.js.br +2 -0
  57. package/build/client/_app/immutable/chunks/TtW8qOd8.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/ZUuL_8U2.js +5668 -0
  59. package/build/client/_app/immutable/chunks/ZUuL_8U2.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/ZUuL_8U2.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/rPzey9q1.js +1 -0
  62. package/build/client/_app/immutable/chunks/rPzey9q1.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/rPzey9q1.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/t5TAza2h.js +1 -0
  65. package/build/client/_app/immutable/chunks/t5TAza2h.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/t5TAza2h.js.gz +0 -0
  67. package/build/client/_app/immutable/entry/app.BXdMlN1l.js +2 -0
  68. package/build/client/_app/immutable/entry/app.BXdMlN1l.js.br +0 -0
  69. package/build/client/_app/immutable/entry/app.BXdMlN1l.js.gz +0 -0
  70. package/build/client/_app/immutable/entry/start.C4-a3B_z.js +1 -0
  71. package/build/client/_app/immutable/entry/start.C4-a3B_z.js.br +1 -0
  72. package/build/client/_app/immutable/entry/start.C4-a3B_z.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/1.CuqH6Mt0.js +1 -0
  74. package/build/client/_app/immutable/nodes/1.CuqH6Mt0.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/1.CuqH6Mt0.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/11.C6drypmp.js +3 -0
  77. package/build/client/_app/immutable/nodes/11.C6drypmp.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/11.C6drypmp.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/13.DwNvl9MK.js +2 -0
  80. package/build/client/_app/immutable/nodes/13.DwNvl9MK.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/13.DwNvl9MK.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/14.C7gRFljQ.js +2 -0
  83. package/build/client/_app/immutable/nodes/14.C7gRFljQ.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/14.C7gRFljQ.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/15.UcjJOSY-.js +28 -0
  86. package/build/client/_app/immutable/nodes/15.UcjJOSY-.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/15.UcjJOSY-.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/16.D7NsPsuY.js +5 -0
  89. package/build/client/_app/immutable/nodes/16.D7NsPsuY.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/16.D7NsPsuY.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/17.BXuiEdk0.js +2 -0
  92. package/build/client/_app/immutable/nodes/17.BXuiEdk0.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/17.BXuiEdk0.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/19.CnVVQQgJ.js +7 -0
  95. package/build/client/_app/immutable/nodes/19.CnVVQQgJ.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/19.CnVVQQgJ.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/2.DPbfY1ur.js +1 -0
  98. package/build/client/_app/immutable/nodes/2.DPbfY1ur.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/2.DPbfY1ur.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/20.pDAY8z9B.js +2 -0
  101. package/build/client/_app/immutable/nodes/20.pDAY8z9B.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/20.pDAY8z9B.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/21.CXC2uv3j.js +1 -0
  104. package/build/client/_app/immutable/nodes/21.CXC2uv3j.js.br +1 -0
  105. package/build/client/_app/immutable/nodes/21.CXC2uv3j.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/22.BIOFTxwg.js +6 -0
  107. package/build/client/_app/immutable/nodes/22.BIOFTxwg.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/22.BIOFTxwg.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/24.Clf63xDP.js +3 -0
  110. package/build/client/_app/immutable/nodes/24.Clf63xDP.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/24.Clf63xDP.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/25.CKAywN8T.js +16 -0
  113. package/build/client/_app/immutable/nodes/25.CKAywN8T.js.br +0 -0
  114. package/build/client/_app/immutable/nodes/25.CKAywN8T.js.gz +0 -0
  115. package/build/client/_app/immutable/nodes/26.D88_-NW5.js +6 -0
  116. package/build/client/_app/immutable/nodes/26.D88_-NW5.js.br +0 -0
  117. package/build/client/_app/immutable/nodes/26.D88_-NW5.js.gz +0 -0
  118. package/build/client/_app/immutable/nodes/29.BNZv8HeX.js +4 -0
  119. package/build/client/_app/immutable/nodes/29.BNZv8HeX.js.br +0 -0
  120. package/build/client/_app/immutable/nodes/29.BNZv8HeX.js.gz +0 -0
  121. package/build/client/_app/immutable/nodes/3._SKx-VPP.js +1 -0
  122. package/build/client/_app/immutable/nodes/3._SKx-VPP.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/3._SKx-VPP.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/30.C5eDo44s.js +6 -0
  125. package/build/client/_app/immutable/nodes/30.C5eDo44s.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/30.C5eDo44s.js.gz +0 -0
  127. package/build/client/_app/immutable/nodes/31.CopfqRzD.js +2 -0
  128. package/build/client/_app/immutable/nodes/31.CopfqRzD.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/31.CopfqRzD.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/32.DLSXVX1o.js +2 -0
  131. package/build/client/_app/immutable/nodes/32.DLSXVX1o.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/32.DLSXVX1o.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/34.DN3j7Owo.js +1 -0
  134. package/build/client/_app/immutable/nodes/34.DN3j7Owo.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/34.DN3j7Owo.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/35.Cr1EcvDM.js +5 -0
  137. package/build/client/_app/immutable/nodes/35.Cr1EcvDM.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/35.Cr1EcvDM.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/5.DjlShbtw.js +1 -0
  140. package/build/client/_app/immutable/nodes/5.DjlShbtw.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/5.DjlShbtw.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/6.BdNb13Z8.js +1 -0
  143. package/build/client/_app/immutable/nodes/6.BdNb13Z8.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/6.BdNb13Z8.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/7.DWRt3LiX.js +1 -0
  146. package/build/client/_app/immutable/nodes/7.DWRt3LiX.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/7.DWRt3LiX.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/8.CiWjIWKl.js +3 -0
  149. package/build/client/_app/immutable/nodes/8.CiWjIWKl.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/8.CiWjIWKl.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/9.DnRaYIJC.js +1 -0
  152. package/build/client/_app/immutable/nodes/9.DnRaYIJC.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/9.DnRaYIJC.js.gz +0 -0
  154. package/build/client/_app/version.json +1 -1
  155. package/build/client/_app/version.json.br +0 -0
  156. package/build/client/_app/version.json.gz +0 -0
  157. package/build/handler.js +17 -16
  158. package/build/handler.js.map +1 -1
  159. package/build/index.js +17 -16
  160. package/build/index.js.map +1 -1
  161. package/build/server/chunks/chunks/AppHeader.js-CNfKgz87.js +315 -0
  162. package/build/server/chunks/chunks/AppHeader.js-CNfKgz87.js.map +1 -0
  163. package/build/server/chunks/chunks/Callout.js-Bs8qA73B.js +57 -0
  164. package/build/server/chunks/chunks/Callout.js-Bs8qA73B.js.map +1 -0
  165. package/build/server/chunks/chunks/ConfirmDialog.js-HFdP27IY.js +151 -0
  166. package/build/server/chunks/chunks/ConfirmDialog.js-HFdP27IY.js.map +1 -0
  167. package/build/server/chunks/chunks/DataTable.js-KtE-5lx7.js +33 -0
  168. package/build/server/chunks/chunks/DataTable.js-KtE-5lx7.js.map +1 -0
  169. package/build/server/chunks/chunks/DefinitionCard.js-Bk58QdKw.js +141 -0
  170. package/build/server/chunks/chunks/DefinitionCard.js-Bk58QdKw.js.map +1 -0
  171. package/build/server/chunks/chunks/EmptyState.js-u9Skjkej.js +36 -0
  172. package/build/server/chunks/chunks/EmptyState.js-u9Skjkej.js.map +1 -0
  173. package/build/server/chunks/chunks/ErrorScreen.js-Cxf4pUnH.js +116 -0
  174. package/build/server/chunks/chunks/ErrorScreen.js-Cxf4pUnH.js.map +1 -0
  175. package/build/server/chunks/chunks/FilterableDropdown.js-COxcZtMW.js +2722 -0
  176. package/build/server/chunks/chunks/FilterableDropdown.js-COxcZtMW.js.map +1 -0
  177. package/build/server/chunks/chunks/PageContent.js-DOlTfr05.js +12 -0
  178. package/build/server/chunks/chunks/PageContent.js-DOlTfr05.js.map +1 -0
  179. package/build/server/chunks/chunks/SectionHeader.js-BxE_OjCU.js +22 -0
  180. package/build/server/chunks/chunks/SectionHeader.js-BxE_OjCU.js.map +1 -0
  181. package/build/server/chunks/chunks/SettingsMenu.js-bAsytzfC.js +2644 -0
  182. package/build/server/chunks/chunks/SettingsMenu.js-bAsytzfC.js.map +1 -0
  183. package/build/server/chunks/chunks/SideNav.js-Btm37Q62.js +194 -0
  184. package/build/server/chunks/chunks/SideNav.js-Btm37Q62.js.map +1 -0
  185. package/build/server/chunks/chunks/StatCard.js-Bd6qctS_.js +52 -0
  186. package/build/server/chunks/chunks/StatCard.js-Bd6qctS_.js.map +1 -0
  187. package/build/server/chunks/chunks/UserAvatar.js-DApEF2jf.js +14 -0
  188. package/build/server/chunks/chunks/UserAvatar.js-DApEF2jf.js.map +1 -0
  189. package/build/server/chunks/chunks/UserRowIdentity.js-DXGKkQbe.js +112 -0
  190. package/build/server/chunks/chunks/UserRowIdentity.js-DXGKkQbe.js.map +1 -0
  191. package/build/server/chunks/chunks/ViewToggle.js-Br51zZmF.js +138 -0
  192. package/build/server/chunks/chunks/ViewToggle.js-Br51zZmF.js.map +1 -0
  193. package/build/server/chunks/chunks/access.js-BfMTTCTH.js +828 -0
  194. package/build/server/chunks/chunks/access.js-BfMTTCTH.js.map +1 -0
  195. package/build/server/chunks/chunks/access.server.js-CwcMbS6y.js +15 -0
  196. package/build/server/chunks/chunks/access.server.js-CwcMbS6y.js.map +1 -0
  197. package/build/server/chunks/chunks/access2.server.js-CGXEalQg.js +64 -0
  198. package/build/server/chunks/chunks/access2.server.js-CGXEalQg.js.map +1 -0
  199. package/build/server/chunks/chunks/activity.js-BUIPDWt1.js +17 -0
  200. package/build/server/chunks/chunks/activity.js-BUIPDWt1.js.map +1 -0
  201. package/build/server/chunks/chunks/admin-auth.server.js-CuH8RmWr.js +353 -0
  202. package/build/server/chunks/chunks/admin-auth.server.js-CuH8RmWr.js.map +1 -0
  203. package/build/server/chunks/chunks/alert-dialog.js-BG8Wa5yR.js +461 -0
  204. package/build/server/chunks/chunks/alert-dialog.js-BG8Wa5yR.js.map +1 -0
  205. package/build/server/chunks/chunks/api-errors.js-YdxnrmH7.js +55 -0
  206. package/build/server/chunks/chunks/api-errors.js-YdxnrmH7.js.map +1 -0
  207. package/build/server/chunks/chunks/api.js-Chw-vSDJ.js +882 -0
  208. package/build/server/chunks/chunks/api.js-Chw-vSDJ.js.map +1 -0
  209. package/build/server/chunks/chunks/arrow-left.js-C91xD_i2.js +17 -0
  210. package/build/server/chunks/chunks/arrow-left.js-C91xD_i2.js.map +1 -0
  211. package/build/server/chunks/chunks/arrow-right.js-Dd2VzUvu.js +17 -0
  212. package/build/server/chunks/chunks/arrow-right.js-Dd2VzUvu.js.map +1 -0
  213. package/build/server/chunks/chunks/auth-bootstrap.server.js-x03Oudbh.js +154 -0
  214. package/build/server/chunks/chunks/auth-bootstrap.server.js-x03Oudbh.js.map +1 -0
  215. package/build/server/chunks/chunks/badge.js-D2XQ42hh.js +35 -0
  216. package/build/server/chunks/chunks/badge.js-D2XQ42hh.js.map +1 -0
  217. package/build/server/chunks/chunks/bootHealth.server.js-DlFiVgGw.js +90 -0
  218. package/build/server/chunks/chunks/bootHealth.server.js-DlFiVgGw.js.map +1 -0
  219. package/build/server/chunks/chunks/building-complex.js-B0vpG_9C.js +24 -0
  220. package/build/server/chunks/chunks/building-complex.js-B0vpG_9C.js.map +1 -0
  221. package/build/server/chunks/chunks/button.js-BtRm7eTa.js +71 -0
  222. package/build/server/chunks/chunks/button.js-BtRm7eTa.js.map +1 -0
  223. package/build/server/chunks/chunks/card-content.js-kmmdF2Cw.js +20 -0
  224. package/build/server/chunks/chunks/card-content.js-kmmdF2Cw.js.map +1 -0
  225. package/build/server/chunks/chunks/card-description.js-B0JIeUuh.js +20 -0
  226. package/build/server/chunks/chunks/card-description.js-B0JIeUuh.js.map +1 -0
  227. package/build/server/chunks/chunks/card-header.js-Di5TKNrh.js +20 -0
  228. package/build/server/chunks/chunks/card-header.js-Di5TKNrh.js.map +1 -0
  229. package/build/server/chunks/chunks/card-title.js-DeKvsY4g.js +20 -0
  230. package/build/server/chunks/chunks/card-title.js-DeKvsY4g.js.map +1 -0
  231. package/build/server/chunks/chunks/card.js-BT6mpXa3.js +29 -0
  232. package/build/server/chunks/chunks/card.js-BT6mpXa3.js.map +1 -0
  233. package/build/server/chunks/chunks/chevron-down.js-D8rHJiBK.js +17 -0
  234. package/build/server/chunks/chunks/chevron-down.js-D8rHJiBK.js.map +1 -0
  235. package/build/server/chunks/chunks/chevron-left.js-wPz7Rdd5.js +17 -0
  236. package/build/server/chunks/chunks/chevron-left.js-wPz7Rdd5.js.map +1 -0
  237. package/build/server/chunks/chunks/chevron-right.js-sBa57tvn.js +17 -0
  238. package/build/server/chunks/chunks/chevron-right.js-sBa57tvn.js.map +1 -0
  239. package/build/server/chunks/chunks/chevron-up.js-CvJhUr7u.js +17 -0
  240. package/build/server/chunks/chunks/chevron-up.js-CvJhUr7u.js.map +1 -0
  241. package/build/server/chunks/chunks/circle.js-x2f20FaO.js +21 -0
  242. package/build/server/chunks/chunks/circle.js-x2f20FaO.js.map +1 -0
  243. package/build/server/chunks/chunks/client.js-BPazvdMV.js +58 -0
  244. package/build/server/chunks/chunks/client.js-BPazvdMV.js.map +1 -0
  245. package/build/server/chunks/chunks/compute.js-DjSMKp-h.js +2 -0
  246. package/build/server/chunks/chunks/compute.js-DjSMKp-h.js.map +1 -0
  247. package/build/server/chunks/chunks/computeLimits.js-VrKZoyew.js +40 -0
  248. package/build/server/chunks/chunks/computeLimits.js-VrKZoyew.js.map +1 -0
  249. package/build/server/chunks/chunks/computeRateLimit.server.js-U3-mdORL.js +28 -0
  250. package/build/server/chunks/chunks/computeRateLimit.server.js-U3-mdORL.js.map +1 -0
  251. package/build/server/chunks/chunks/context.js-DgF3EFGQ.js +103 -0
  252. package/build/server/chunks/chunks/context.js-DgF3EFGQ.js.map +1 -0
  253. package/build/server/chunks/chunks/copy.js-Buda3qiy.js +24 -0
  254. package/build/server/chunks/chunks/copy.js-Buda3qiy.js.map +1 -0
  255. package/build/server/chunks/chunks/create-id.js-alvgun-Y.js +796 -0
  256. package/build/server/chunks/chunks/create-id.js-alvgun-Y.js.map +1 -0
  257. package/build/server/chunks/chunks/create-project.js-C4Bp9O0w.js +48 -0
  258. package/build/server/chunks/chunks/create-project.js-C4Bp9O0w.js.map +1 -0
  259. package/build/server/chunks/chunks/definitions.js-sHh4E-La.js +88 -0
  260. package/build/server/chunks/chunks/definitions.js-sHh4E-La.js.map +1 -0
  261. package/build/server/chunks/chunks/delete-with-blobs.js-BZ_YRCWH.js +48 -0
  262. package/build/server/chunks/chunks/delete-with-blobs.js-BZ_YRCWH.js.map +1 -0
  263. package/build/server/chunks/chunks/dialog-description.js-aWg_zdFU.js +489 -0
  264. package/build/server/chunks/chunks/dialog-description.js-aWg_zdFU.js.map +1 -0
  265. package/build/server/chunks/chunks/dialog.js-BBIK66Og.js +360 -0
  266. package/build/server/chunks/chunks/dialog.js-BBIK66Og.js.map +1 -0
  267. package/build/server/chunks/chunks/dom-typeahead.svelte.js-DFW_4amM.js +211 -0
  268. package/build/server/chunks/chunks/dom-typeahead.svelte.js-DFW_4amM.js.map +1 -0
  269. package/build/server/chunks/chunks/engine.server.js-DpF9P7gj.js +24852 -0
  270. package/build/server/chunks/chunks/engine.server.js-DpF9P7gj.js.map +1 -0
  271. package/build/server/chunks/chunks/esm.js-CRiT7ECX.js +7 -0
  272. package/build/server/chunks/chunks/esm.js-CRiT7ECX.js.map +1 -0
  273. package/build/server/chunks/chunks/esm2.js-LSVMBS_E.js +1027 -0
  274. package/build/server/chunks/chunks/esm2.js-LSVMBS_E.js.map +1 -0
  275. package/build/server/chunks/chunks/events.js-IByrOSdq.js +136 -0
  276. package/build/server/chunks/chunks/events.js-IByrOSdq.js.map +1 -0
  277. package/build/server/chunks/chunks/exports.js-DrbIB7dk.js +149 -0
  278. package/build/server/chunks/chunks/exports.js-DrbIB7dk.js.map +1 -0
  279. package/build/server/chunks/chunks/external-link.js-CmobumMv.js +21 -0
  280. package/build/server/chunks/chunks/external-link.js-CmobumMv.js.map +1 -0
  281. package/build/server/chunks/chunks/folder-kanban.js-DVTCXCw-.js +22 -0
  282. package/build/server/chunks/chunks/folder-kanban.js-DVTCXCw-.js.map +1 -0
  283. package/build/server/chunks/chunks/folder-open.js-Dsp0uMQi.js +17 -0
  284. package/build/server/chunks/chunks/folder-open.js-Dsp0uMQi.js.map +1 -0
  285. package/build/server/chunks/chunks/folders.js-szSgfXnr.js +17 -0
  286. package/build/server/chunks/chunks/folders.js-szSgfXnr.js.map +1 -0
  287. package/build/server/chunks/chunks/footerContext.svelte.js-Ct2HYJeX.js +681 -0
  288. package/build/server/chunks/chunks/footerContext.svelte.js-Ct2HYJeX.js.map +1 -0
  289. package/build/server/chunks/chunks/forms.js-DAn853gP.js +2 -0
  290. package/build/server/chunks/chunks/forms.js-DAn853gP.js.map +1 -0
  291. package/build/server/chunks/chunks/gauge.js-SLkYK4hz.js +17 -0
  292. package/build/server/chunks/chunks/gauge.js-SLkYK4hz.js.map +1 -0
  293. package/build/server/chunks/chunks/grasshopper.js-BTMLax71.js +4332 -0
  294. package/build/server/chunks/chunks/grasshopper.js-BTMLax71.js.map +1 -0
  295. package/build/server/chunks/chunks/handlers.js-Bal7QqCB.js +1733 -0
  296. package/build/server/chunks/chunks/handlers.js-Bal7QqCB.js.map +1 -0
  297. package/build/server/chunks/chunks/http.js-B_KreOo5.js +60 -0
  298. package/build/server/chunks/chunks/http.js-B_KreOo5.js.map +1 -0
  299. package/build/server/chunks/chunks/index-server.js-8gyiABQp.js +143 -0
  300. package/build/server/chunks/chunks/index-server.js-8gyiABQp.js.map +1 -0
  301. package/build/server/chunks/chunks/input-group.js-DhqokDEu.js +65 -0
  302. package/build/server/chunks/chunks/input-group.js-DhqokDEu.js.map +1 -0
  303. package/build/server/chunks/chunks/input.js-CJQGQBPJ.js +31 -0
  304. package/build/server/chunks/chunks/input.js-CJQGQBPJ.js.map +1 -0
  305. package/build/server/chunks/chunks/instanceAdmins.server.js-Dcr7q2YW.js +70 -0
  306. package/build/server/chunks/chunks/instanceAdmins.server.js-Dcr7q2YW.js.map +1 -0
  307. package/build/server/chunks/chunks/internal.js-CqxI2xnJ.js +27 -0
  308. package/build/server/chunks/chunks/internal.js-CqxI2xnJ.js.map +1 -0
  309. package/build/server/chunks/chunks/internal2.js-D2DmOxP3.js +220 -0
  310. package/build/server/chunks/chunks/internal2.js-D2DmOxP3.js.map +1 -0
  311. package/build/server/chunks/chunks/key-round.js-Jk6uvqXa.js +22 -0
  312. package/build/server/chunks/chunks/key-round.js-Jk6uvqXa.js.map +1 -0
  313. package/build/server/chunks/chunks/label.js-B8mS-1sW.js +105 -0
  314. package/build/server/chunks/chunks/label.js-B8mS-1sW.js.map +1 -0
  315. package/build/server/chunks/chunks/legacy-client.js-BC5X9EwI.js +771 -0
  316. package/build/server/chunks/chunks/legacy-client.js-BC5X9EwI.js.map +1 -0
  317. package/build/server/chunks/chunks/link-2.js-BE2hKaIq.js +26 -0
  318. package/build/server/chunks/chunks/link-2.js-BE2hKaIq.js.map +1 -0
  319. package/build/server/chunks/chunks/list-all-members.js--iFhSDCz.js +34 -0
  320. package/build/server/chunks/chunks/list-all-members.js--iFhSDCz.js.map +1 -0
  321. package/build/server/chunks/chunks/liveSolve.server.js-sAaSK5B8.js +70 -0
  322. package/build/server/chunks/chunks/liveSolve.server.js-sAaSK5B8.js.map +1 -0
  323. package/build/server/chunks/chunks/localeContext.svelte.js-B6949xvd.js +411 -0
  324. package/build/server/chunks/chunks/localeContext.svelte.js-B6949xvd.js.map +1 -0
  325. package/build/server/chunks/chunks/mail.js-CZUt_ZEY.js +23 -0
  326. package/build/server/chunks/chunks/mail.js-CZUt_ZEY.js.map +1 -0
  327. package/build/server/chunks/chunks/minus.js-cnHKAopL.js +17 -0
  328. package/build/server/chunks/chunks/minus.js-cnHKAopL.js.map +1 -0
  329. package/build/server/chunks/chunks/navigation.js-DAn853gP.js +2 -0
  330. package/build/server/chunks/chunks/navigation.js-DAn853gP.js.map +1 -0
  331. package/build/server/chunks/chunks/oauthState.server.js-DXhkuq3r.js +53 -0
  332. package/build/server/chunks/chunks/oauthState.server.js-DXhkuq3r.js.map +1 -0
  333. package/build/server/chunks/chunks/openapi.js-COzYxaUH.js +314 -0
  334. package/build/server/chunks/chunks/openapi.js-COzYxaUH.js.map +1 -0
  335. package/build/server/chunks/chunks/outcome-ai_9fm43.js-DZScWgwt.js +165 -0
  336. package/build/server/chunks/chunks/outcome-ai_9fm43.js-DZScWgwt.js.map +1 -0
  337. package/build/server/chunks/chunks/package.js-CMlGHcJA.js +85 -0
  338. package/build/server/chunks/chunks/package.js-CMlGHcJA.js.map +1 -0
  339. package/build/server/chunks/chunks/pagination.js-D7_W7hTe.js +17 -0
  340. package/build/server/chunks/chunks/pagination.js-D7_W7hTe.js.map +1 -0
  341. package/build/server/chunks/chunks/paths.js-CR5sGHxm.js +19 -0
  342. package/build/server/chunks/chunks/paths.js-CR5sGHxm.js.map +1 -0
  343. package/build/server/chunks/chunks/permissions.server.js-CiU6uN80.js +22 -0
  344. package/build/server/chunks/chunks/permissions.server.js-CiU6uN80.js.map +1 -0
  345. package/build/server/chunks/chunks/plus.js-D5v7Bn9c.js +17 -0
  346. package/build/server/chunks/chunks/plus.js-D5v7Bn9c.js.map +1 -0
  347. package/build/server/chunks/chunks/popper-layer-force-mount.js-CP6hayn4.js +1908 -0
  348. package/build/server/chunks/chunks/popper-layer-force-mount.js-CP6hayn4.js.map +1 -0
  349. package/build/server/chunks/chunks/presets.server.js-B1LV7Ua6.js +21 -0
  350. package/build/server/chunks/chunks/presets.server.js-B1LV7Ua6.js.map +1 -0
  351. package/build/server/chunks/chunks/providers.server.js-NBgteuX7.js +6781 -0
  352. package/build/server/chunks/chunks/providers.server.js-NBgteuX7.js.map +1 -0
  353. package/build/server/chunks/chunks/randomId.js-agS6xuQo.js +22 -0
  354. package/build/server/chunks/chunks/randomId.js-agS6xuQo.js.map +1 -0
  355. package/build/server/chunks/chunks/refresh-cw.js-13va2nAy.js +22 -0
  356. package/build/server/chunks/chunks/refresh-cw.js-13va2nAy.js.map +1 -0
  357. package/build/server/chunks/chunks/registry.js-Cf_zc2fh.js +656 -0
  358. package/build/server/chunks/chunks/registry.js-Cf_zc2fh.js.map +1 -0
  359. package/build/server/chunks/chunks/remote-definition.js-Bad5iO9R.js +90 -0
  360. package/build/server/chunks/chunks/remote-definition.js-Bad5iO9R.js.map +1 -0
  361. package/build/server/chunks/chunks/request-context.js-IxX3HuOZ.js +28 -0
  362. package/build/server/chunks/chunks/request-context.js-IxX3HuOZ.js.map +1 -0
  363. package/build/server/chunks/chunks/resolve-server.js-DDfDV9cI.js +37 -0
  364. package/build/server/chunks/chunks/resolve-server.js-DDfDV9cI.js.map +1 -0
  365. package/build/server/chunks/chunks/resolve.server.js-DrVxsuL6.js +59 -0
  366. package/build/server/chunks/chunks/resolve.server.js-DrVxsuL6.js.map +1 -0
  367. package/build/server/chunks/chunks/rolldown-runtime.js-DdctNlVB.js +18 -0
  368. package/build/server/chunks/chunks/rolldown-runtime.js-DdctNlVB.js.map +1 -0
  369. package/build/server/chunks/chunks/rotate-ccw.js-BsvoT11y.js +17 -0
  370. package/build/server/chunks/chunks/rotate-ccw.js-BsvoT11y.js.map +1 -0
  371. package/build/server/chunks/chunks/routing.js-B7coZqxY.js +264 -0
  372. package/build/server/chunks/chunks/routing.js-B7coZqxY.js.map +1 -0
  373. package/build/server/chunks/chunks/roving-focus-group.js-CfqColTY.js +142 -0
  374. package/build/server/chunks/chunks/roving-focus-group.js-CfqColTY.js.map +1 -0
  375. package/build/server/chunks/chunks/safe-url.js-CGp87nKy.js +220 -0
  376. package/build/server/chunks/chunks/safe-url.js-CGp87nKy.js.map +1 -0
  377. package/build/server/chunks/chunks/schema-extraction.js-CDuq9Z4H.js +142 -0
  378. package/build/server/chunks/chunks/schema-extraction.js-CDuq9Z4H.js.map +1 -0
  379. package/build/server/chunks/chunks/schemas.js-CEHDw4oF.js +67 -0
  380. package/build/server/chunks/chunks/schemas.js-CEHDw4oF.js.map +1 -0
  381. package/build/server/chunks/chunks/scroll-lock.js-By--_Rp9.js +1956 -0
  382. package/build/server/chunks/chunks/scroll-lock.js-By--_Rp9.js.map +1 -0
  383. package/build/server/chunks/chunks/scroll-text.js-Cj8_5Qn1.js +22 -0
  384. package/build/server/chunks/chunks/scroll-text.js-Cj8_5Qn1.js.map +1 -0
  385. package/build/server/chunks/chunks/search.js-5cmK2jkz.js +21 -0
  386. package/build/server/chunks/chunks/search.js-5cmK2jkz.js.map +1 -0
  387. package/build/server/chunks/chunks/select.js-DcXRaO5q.js +1757 -0
  388. package/build/server/chunks/chunks/select.js-DcXRaO5q.js.map +1 -0
  389. package/build/server/chunks/chunks/selfUpdate.server.js-CowyoJjZ.js +144 -0
  390. package/build/server/chunks/chunks/selfUpdate.server.js-CowyoJjZ.js.map +1 -0
  391. package/build/server/chunks/chunks/separator.js-B3M4aY8E.js +187 -0
  392. package/build/server/chunks/chunks/separator.js-B3M4aY8E.js.map +1 -0
  393. package/build/server/chunks/chunks/server-config-write.js-C5u4cxJl.js +131 -0
  394. package/build/server/chunks/chunks/server-config-write.js-C5u4cxJl.js.map +1 -0
  395. package/build/server/chunks/chunks/server.js-D3MqDbVt.js +3921 -0
  396. package/build/server/chunks/chunks/server.js-D3MqDbVt.js.map +1 -0
  397. package/build/server/chunks/chunks/server2.js-zrAQqaix.js +105 -0
  398. package/build/server/chunks/chunks/server2.js-zrAQqaix.js.map +1 -0
  399. package/build/server/chunks/chunks/server3.js-DcmIj9YT.js +20754 -0
  400. package/build/server/chunks/chunks/server3.js-DcmIj9YT.js.map +1 -0
  401. package/build/server/chunks/chunks/server4.js-DKRrXtyZ.js +46 -0
  402. package/build/server/chunks/chunks/server4.js-DKRrXtyZ.js.map +1 -0
  403. package/build/server/chunks/chunks/serverStats.server.js-a-3j4RWH.js +19 -0
  404. package/build/server/chunks/chunks/serverStats.server.js-a-3j4RWH.js.map +1 -0
  405. package/build/server/chunks/chunks/settings.js-CNQpDE8D.js +21 -0
  406. package/build/server/chunks/chunks/settings.js-CNQpDE8D.js.map +1 -0
  407. package/build/server/chunks/chunks/severity.js-C0NeLw7v.js +117 -0
  408. package/build/server/chunks/chunks/severity.js-C0NeLw7v.js.map +1 -0
  409. package/build/server/chunks/chunks/shared-server.js-CX8yV6G4.js +22 -0
  410. package/build/server/chunks/chunks/shared-server.js-CX8yV6G4.js.map +1 -0
  411. package/build/server/chunks/chunks/shared.js-DSkns_OG.js +709 -0
  412. package/build/server/chunks/chunks/shared.js-DSkns_OG.js.map +1 -0
  413. package/build/server/chunks/chunks/shared2.js-UmpDkNsI.js +88 -0
  414. package/build/server/chunks/chunks/shared2.js-UmpDkNsI.js.map +1 -0
  415. package/build/server/chunks/chunks/shield-check.js-BZhVuaHj.js +17 -0
  416. package/build/server/chunks/chunks/shield-check.js-BZhVuaHj.js.map +1 -0
  417. package/build/server/chunks/chunks/shield.js-BLi0_7a2.js +17 -0
  418. package/build/server/chunks/chunks/shield.js-BLi0_7a2.js.map +1 -0
  419. package/build/server/chunks/chunks/solve.server.js-DG3CZ__n.js +334 -0
  420. package/build/server/chunks/chunks/solve.server.js-DG3CZ__n.js.map +1 -0
  421. package/build/server/chunks/chunks/sr-only-styles.js-CgNXGZ9C.js +19 -0
  422. package/build/server/chunks/chunks/sr-only-styles.js-CgNXGZ9C.js.map +1 -0
  423. package/build/server/chunks/chunks/star.js-iocG1yaM.js +17 -0
  424. package/build/server/chunks/chunks/star.js-iocG1yaM.js.map +1 -0
  425. package/build/server/chunks/chunks/state.js-B6BoHGCe.js +75 -0
  426. package/build/server/chunks/chunks/state.js-B6BoHGCe.js.map +1 -0
  427. package/build/server/chunks/chunks/stores.js--FiPN6jK.js +36 -0
  428. package/build/server/chunks/chunks/stores.js--FiPN6jK.js.map +1 -0
  429. package/build/server/chunks/chunks/sveltekit.js-DJdcVNs2.js +193 -0
  430. package/build/server/chunks/chunks/sveltekit.js-DJdcVNs2.js.map +1 -0
  431. package/build/server/chunks/chunks/tabs-trigger.js-DI-yv4IP.js +502 -0
  432. package/build/server/chunks/chunks/tabs-trigger.js-DI-yv4IP.js.map +1 -0
  433. package/build/server/chunks/chunks/textarea.js-DstXofBD.js +24 -0
  434. package/build/server/chunks/chunks/textarea.js-DstXofBD.js.map +1 -0
  435. package/build/server/chunks/chunks/toast-state.svelte.js-B77BdEle.js +285 -0
  436. package/build/server/chunks/chunks/toast-state.svelte.js-B77BdEle.js.map +1 -0
  437. package/build/server/chunks/chunks/toggle-group-item.js-BUV4sYM9.js +401 -0
  438. package/build/server/chunks/chunks/toggle-group-item.js-BUV4sYM9.js.map +1 -0
  439. package/build/server/chunks/chunks/token.server.js-BihmkUmu.js +131 -0
  440. package/build/server/chunks/chunks/token.server.js-BihmkUmu.js.map +1 -0
  441. package/build/server/chunks/chunks/token2.server.js-DaAVo3Gq.js +51 -0
  442. package/build/server/chunks/chunks/token2.server.js-DaAVo3Gq.js.map +1 -0
  443. package/build/server/chunks/chunks/token3.server.js-CuyMT-M4.js +42 -0
  444. package/build/server/chunks/chunks/token3.server.js-CuyMT-M4.js.map +1 -0
  445. package/build/server/chunks/chunks/token4.server.js-DUK9D5vc.js +25 -0
  446. package/build/server/chunks/chunks/token4.server.js-DUK9D5vc.js.map +1 -0
  447. package/build/server/chunks/chunks/tokens.js-CwDDHAj0.js +26 -0
  448. package/build/server/chunks/chunks/tokens.js-CwDDHAj0.js.map +1 -0
  449. package/build/server/chunks/chunks/trash.js-BG3wZbiW.js +24 -0
  450. package/build/server/chunks/chunks/trash.js-BG3wZbiW.js.map +1 -0
  451. package/build/server/chunks/chunks/types.js-g5F0W_ER.js +71 -0
  452. package/build/server/chunks/chunks/types.js-g5F0W_ER.js.map +1 -0
  453. package/build/server/chunks/chunks/types2.js-ZWmoZn1t.js +28 -0
  454. package/build/server/chunks/chunks/types2.js-ZWmoZn1t.js.map +1 -0
  455. package/build/server/chunks/chunks/types3.js-BS6pAwdK.js +29 -0
  456. package/build/server/chunks/chunks/types3.js-BS6pAwdK.js.map +1 -0
  457. package/build/server/chunks/chunks/types4.js-C7gj_Qvn.js +10 -0
  458. package/build/server/chunks/chunks/types4.js-C7gj_Qvn.js.map +1 -0
  459. package/build/server/chunks/chunks/updateCheck.server.js-C5itsGib.js +203 -0
  460. package/build/server/chunks/chunks/updateCheck.server.js-C5itsGib.js.map +1 -0
  461. package/build/server/chunks/chunks/user-plus.js-qSc6ZC5c.js +36 -0
  462. package/build/server/chunks/chunks/user-plus.js-qSc6ZC5c.js.map +1 -0
  463. package/build/server/chunks/chunks/users.js-D8PmGm71.js +26 -0
  464. package/build/server/chunks/chunks/users.js-D8PmGm71.js.map +1 -0
  465. package/build/server/chunks/chunks/utils.js-BltBkspC.js +745 -0
  466. package/build/server/chunks/chunks/utils.js-BltBkspC.js.map +1 -0
  467. package/build/server/chunks/chunks/utils2.js-j8wahBau.js +100 -0
  468. package/build/server/chunks/chunks/utils2.js-j8wahBau.js.map +1 -0
  469. package/build/server/chunks/chunks/utils3.js-DANle-lS.js +175 -0
  470. package/build/server/chunks/chunks/utils3.js-DANle-lS.js.map +1 -0
  471. package/build/server/chunks/chunks/visibility.js-D_48QE1C.js +198 -0
  472. package/build/server/chunks/chunks/visibility.js-D_48QE1C.js.map +1 -0
  473. package/build/server/chunks/chunks/x.js-BZdroOIk.js +17 -0
  474. package/build/server/chunks/chunks/x.js-BZdroOIk.js.map +1 -0
  475. package/build/server/chunks/entries/endpoints/.well-known/oauth-authorization-server/_server.ts.js-Y4FNmUgo.js +22 -0
  476. package/build/server/chunks/entries/endpoints/.well-known/oauth-authorization-server/_server.ts.js-Y4FNmUgo.js.map +1 -0
  477. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/_server.ts.js-j6at35lG.js +22 -0
  478. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/_server.ts.js-j6at35lG.js.map +1 -0
  479. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/mcp/_server.ts.js-BL-en2rL.js +22 -0
  480. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/mcp/_server.ts.js-BL-en2rL.js.map +1 -0
  481. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-C38i1X4J.js +106 -0
  482. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-C38i1X4J.js.map +1 -0
  483. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DMVKwgGx.js +93 -0
  484. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DMVKwgGx.js.map +1 -0
  485. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-DyztvOsn.js +112 -0
  486. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-DyztvOsn.js.map +1 -0
  487. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-i5xcJ2zV.js +55 -0
  488. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-i5xcJ2zV.js.map +1 -0
  489. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-D7cYcptw.js +72 -0
  490. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-D7cYcptw.js.map +1 -0
  491. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-tMO36lWs.js +71 -0
  492. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-tMO36lWs.js.map +1 -0
  493. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-l8YVf5sM.js +37 -0
  494. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-l8YVf5sM.js.map +1 -0
  495. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-CTk5egeL.js +68 -0
  496. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-CTk5egeL.js.map +1 -0
  497. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CzGCUDs9.js +83 -0
  498. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CzGCUDs9.js.map +1 -0
  499. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Dv7Qpfzu.js +373 -0
  500. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Dv7Qpfzu.js.map +1 -0
  501. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-D0H3LOoP.js +88 -0
  502. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-D0H3LOoP.js.map +1 -0
  503. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CVu46dA1.js +609 -0
  504. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CVu46dA1.js.map +1 -0
  505. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-CGw-NzwG.js +68 -0
  506. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-CGw-NzwG.js.map +1 -0
  507. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-B8pySiI6.js +85 -0
  508. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-B8pySiI6.js.map +1 -0
  509. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-agHv2gf2.js +87 -0
  510. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-agHv2gf2.js.map +1 -0
  511. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DvYVATxV.js +68 -0
  512. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DvYVATxV.js.map +1 -0
  513. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-CHQmqBWH.js +86 -0
  514. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-CHQmqBWH.js.map +1 -0
  515. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-yuOzWsE8.js +61 -0
  516. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-yuOzWsE8.js.map +1 -0
  517. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-ULeO0DYe.js +64 -0
  518. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-ULeO0DYe.js.map +1 -0
  519. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BD1RwQTA.js +103 -0
  520. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BD1RwQTA.js.map +1 -0
  521. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BZprVTVf.js +84 -0
  522. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BZprVTVf.js.map +1 -0
  523. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-SHP8vaWU.js +59 -0
  524. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-SHP8vaWU.js.map +1 -0
  525. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-BUv_eD9D.js +57 -0
  526. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-BUv_eD9D.js.map +1 -0
  527. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-B3yc1cw3.js +60 -0
  528. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-B3yc1cw3.js.map +1 -0
  529. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-D6XBcggf.js +57 -0
  530. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-D6XBcggf.js.map +1 -0
  531. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-D99MFAb4.js +57 -0
  532. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-D99MFAb4.js.map +1 -0
  533. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-BhmWyQ-k.js +61 -0
  534. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-BhmWyQ-k.js.map +1 -0
  535. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-KFurrqrS.js +113 -0
  536. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-KFurrqrS.js.map +1 -0
  537. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BKzappNU.js +62 -0
  538. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BKzappNU.js.map +1 -0
  539. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CUNVO93x.js +58 -0
  540. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CUNVO93x.js.map +1 -0
  541. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BRb4wv48.js +57 -0
  542. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BRb4wv48.js.map +1 -0
  543. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DYloVHJK.js +60 -0
  544. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DYloVHJK.js.map +1 -0
  545. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DUrEaQ9R.js +56 -0
  546. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DUrEaQ9R.js.map +1 -0
  547. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-BhZQU4xc.js +57 -0
  548. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-BhZQU4xc.js.map +1 -0
  549. package/build/server/chunks/entries/endpoints/api/v1/me/token/_server.ts.js-yyHpOhdC.js +56 -0
  550. package/build/server/chunks/entries/endpoints/api/v1/me/token/_server.ts.js-yyHpOhdC.js.map +1 -0
  551. package/build/server/chunks/entries/endpoints/api/v1/openapi.json/_server.ts.js-DQ5S-7hT.js +51 -0
  552. package/build/server/chunks/entries/endpoints/api/v1/openapi.json/_server.ts.js-DQ5S-7hT.js.map +1 -0
  553. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-BlYSLmz0.js +56 -0
  554. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-BlYSLmz0.js.map +1 -0
  555. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DMR9Nnlk.js +57 -0
  556. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DMR9Nnlk.js.map +1 -0
  557. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-ZTwRpPyd.js +57 -0
  558. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-ZTwRpPyd.js.map +1 -0
  559. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-DaEsmasg.js +56 -0
  560. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-DaEsmasg.js.map +1 -0
  561. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BKI_EoxY.js +56 -0
  562. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BKI_EoxY.js.map +1 -0
  563. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-BTwIxUbs.js +57 -0
  564. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-BTwIxUbs.js.map +1 -0
  565. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-Bpox8XIL.js +56 -0
  566. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-Bpox8XIL.js.map +1 -0
  567. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-cdYBK2Y6.js +57 -0
  568. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-cdYBK2Y6.js.map +1 -0
  569. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-CizguGuR.js +57 -0
  570. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-CizguGuR.js.map +1 -0
  571. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-5GbCw5Ss.js +56 -0
  572. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-5GbCw5Ss.js.map +1 -0
  573. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-czGn1vGZ.js +59 -0
  574. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-czGn1vGZ.js.map +1 -0
  575. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-uQT-DdgK.js +58 -0
  576. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-uQT-DdgK.js.map +1 -0
  577. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-DO-TosdX.js +58 -0
  578. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-DO-TosdX.js.map +1 -0
  579. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-C7rY7UF-.js +57 -0
  580. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-C7rY7UF-.js.map +1 -0
  581. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-aXVcI2X7.js +57 -0
  582. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-aXVcI2X7.js.map +1 -0
  583. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-CTNXcTG2.js +53 -0
  584. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-CTNXcTG2.js.map +1 -0
  585. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-D8wj8cuC.js +113 -0
  586. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-D8wj8cuC.js.map +1 -0
  587. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-CFUbszn6.js +68 -0
  588. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-CFUbszn6.js.map +1 -0
  589. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Cus6ontA.js +57 -0
  590. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Cus6ontA.js.map +1 -0
  591. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-_7wdO0Y5.js +63 -0
  592. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-_7wdO0Y5.js.map +1 -0
  593. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-B36Q0fjD.js +68 -0
  594. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-B36Q0fjD.js.map +1 -0
  595. package/build/server/chunks/entries/endpoints/mcp/_server.ts.js-B5uHA9Un.js +29 -0
  596. package/build/server/chunks/entries/endpoints/mcp/_server.ts.js-B5uHA9Un.js.map +1 -0
  597. package/build/server/chunks/entries/endpoints/oauth/register/_server.ts.js-BQCyVuY5.js +33 -0
  598. package/build/server/chunks/entries/endpoints/oauth/register/_server.ts.js-BQCyVuY5.js.map +1 -0
  599. package/build/server/chunks/entries/endpoints/oauth/token/_server.ts.js-BHSnsHeO.js +36 -0
  600. package/build/server/chunks/entries/endpoints/oauth/token/_server.ts.js-BHSnsHeO.js.map +1 -0
  601. package/build/server/chunks/entries/hooks.server.js-D7z2wfOe.js +371 -0
  602. package/build/server/chunks/entries/hooks.server.js-D7z2wfOe.js.map +1 -0
  603. package/build/server/chunks/entries/pages/_error.svelte.js-DcAooRf9.js +40 -0
  604. package/build/server/chunks/entries/pages/_error.svelte.js-DcAooRf9.js.map +1 -0
  605. package/build/server/chunks/entries/pages/_layout.server.ts.js-DdxfSnO9.js +37 -0
  606. package/build/server/chunks/entries/pages/_layout.server.ts.js-DdxfSnO9.js.map +1 -0
  607. package/build/server/chunks/entries/pages/_layout.svelte.js-DLKjfBe9.js +627 -0
  608. package/build/server/chunks/entries/pages/_layout.svelte.js-DLKjfBe9.js.map +1 -0
  609. package/build/server/chunks/entries/pages/_page.server.ts.js-DPqP9hHw.js +57 -0
  610. package/build/server/chunks/entries/pages/_page.server.ts.js-DPqP9hHw.js.map +1 -0
  611. package/build/server/chunks/entries/pages/_page.svelte.js-CrlCM_Ta.js +164 -0
  612. package/build/server/chunks/entries/pages/_page.svelte.js-CrlCM_Ta.js.map +1 -0
  613. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DplYvYbn.js +185 -0
  614. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DplYvYbn.js.map +1 -0
  615. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-DqROVIBb.js +137 -0
  616. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-DqROVIBb.js.map +1 -0
  617. package/build/server/chunks/entries/pages/admin/_error.svelte.js-BzYWy3BU.js +42 -0
  618. package/build/server/chunks/entries/pages/admin/_error.svelte.js-BzYWy3BU.js.map +1 -0
  619. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-DM-DiNwe.js +31 -0
  620. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-DM-DiNwe.js.map +1 -0
  621. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-BFQeJsER.js +127 -0
  622. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-BFQeJsER.js.map +1 -0
  623. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Db0W-ij6.js +76 -0
  624. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Db0W-ij6.js.map +1 -0
  625. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DhhVao5-.js +398 -0
  626. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DhhVao5-.js.map +1 -0
  627. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-Bvtum5V0.js +269 -0
  628. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-Bvtum5V0.js.map +1 -0
  629. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DdopSLBD.js +460 -0
  630. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DdopSLBD.js.map +1 -0
  631. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-LOLemi4X.js +73 -0
  632. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-LOLemi4X.js.map +1 -0
  633. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-Pzxu0RIV.js +844 -0
  634. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-Pzxu0RIV.js.map +1 -0
  635. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DW7chloI.js +35 -0
  636. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DW7chloI.js.map +1 -0
  637. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-BpI4ERfU.js +100 -0
  638. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-BpI4ERfU.js.map +1 -0
  639. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-Nr3QA7TW.js +86 -0
  640. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-Nr3QA7TW.js.map +1 -0
  641. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-BU5Mo6DA.js +643 -0
  642. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-BU5Mo6DA.js.map +1 -0
  643. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BOsSF0Nk.js +42 -0
  644. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BOsSF0Nk.js.map +1 -0
  645. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-x1y_D8Ak.js +288 -0
  646. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-x1y_D8Ak.js.map +1 -0
  647. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-CKEEXGK3.js +87 -0
  648. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-CKEEXGK3.js.map +1 -0
  649. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-Cn8pmw_n.js +1391 -0
  650. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-Cn8pmw_n.js.map +1 -0
  651. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DVIjhA2b.js +80 -0
  652. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DVIjhA2b.js.map +1 -0
  653. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-Dtqm8Fz6.js +638 -0
  654. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-Dtqm8Fz6.js.map +1 -0
  655. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CMy7hdWz.js +48 -0
  656. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CMy7hdWz.js.map +1 -0
  657. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-Cr4z0_XV.js +62 -0
  658. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-Cr4z0_XV.js.map +1 -0
  659. package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-CsCJycox.js +15 -0
  660. package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-CsCJycox.js.map +1 -0
  661. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-C8Noz5WA.js +59 -0
  662. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-C8Noz5WA.js.map +1 -0
  663. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B1GTwpET.js +86 -0
  664. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B1GTwpET.js.map +1 -0
  665. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Dizyr7qx.js +255 -0
  666. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Dizyr7qx.js.map +1 -0
  667. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DAd6WLRk.js +16125 -0
  668. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DAd6WLRk.js.map +1 -0
  669. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DTHdnSTg.js +52 -0
  670. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DTHdnSTg.js.map +1 -0
  671. package/build/server/chunks/entries/pages/library/_page.svelte.js-CxrjAzrQ.js +305 -0
  672. package/build/server/chunks/entries/pages/library/_page.svelte.js-CxrjAzrQ.js.map +1 -0
  673. package/build/server/chunks/entries/pages/login/_page.server.ts.js-A50kGHkz.js +101 -0
  674. package/build/server/chunks/entries/pages/login/_page.server.ts.js-A50kGHkz.js.map +1 -0
  675. package/build/server/chunks/entries/pages/login/_page.svelte.js-C9UquPB3.js +216 -0
  676. package/build/server/chunks/entries/pages/login/_page.svelte.js-C9UquPB3.js.map +1 -0
  677. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BVRdNFaV.js +19 -0
  678. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BVRdNFaV.js.map +1 -0
  679. package/build/server/chunks/entries/pages/oauth/authorize/_page.server.ts.js-CdjkGV1C.js +103 -0
  680. package/build/server/chunks/entries/pages/oauth/authorize/_page.server.ts.js-CdjkGV1C.js.map +1 -0
  681. package/build/server/chunks/entries/pages/oauth/authorize/_page.svelte.js-DfDRfWIV.js +135 -0
  682. package/build/server/chunks/entries/pages/oauth/authorize/_page.svelte.js-DfDRfWIV.js.map +1 -0
  683. package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-DOFsO3cm.js +22 -0
  684. package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-DOFsO3cm.js.map +1 -0
  685. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CtnJbI_b.js +54 -0
  686. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CtnJbI_b.js.map +1 -0
  687. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BMF9mAIL.js +94 -0
  688. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BMF9mAIL.js.map +1 -0
  689. package/build/server/chunks/entries/pages/projects/_page.svelte.js-CaaavD0a.js +3634 -0
  690. package/build/server/chunks/entries/pages/projects/_page.svelte.js-CaaavD0a.js.map +1 -0
  691. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-CyEvoES6.js +117 -0
  692. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-CyEvoES6.js.map +1 -0
  693. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BVUL2wt9.js +251 -0
  694. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BVUL2wt9.js.map +1 -0
  695. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-Cc8j4fj_.js +28 -0
  696. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-Cc8j4fj_.js.map +1 -0
  697. package/build/server/chunks/entries/pages/team/_layout.svelte.js-BKcyGxgg.js +180 -0
  698. package/build/server/chunks/entries/pages/team/_layout.svelte.js-BKcyGxgg.js.map +1 -0
  699. package/build/server/chunks/entries/pages/team/_page.server.ts.js-BcVnxaRf.js +35 -0
  700. package/build/server/chunks/entries/pages/team/_page.server.ts.js-BcVnxaRf.js.map +1 -0
  701. package/build/server/chunks/entries/pages/team/_page.svelte.js-6qxmCK84.js +113 -0
  702. package/build/server/chunks/entries/pages/team/_page.svelte.js-6qxmCK84.js.map +1 -0
  703. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-CAtYLE7m.js +125 -0
  704. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-CAtYLE7m.js.map +1 -0
  705. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BNv_7kxv.js +42 -0
  706. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BNv_7kxv.js.map +1 -0
  707. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-HZy3y0QU.js +619 -0
  708. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-HZy3y0QU.js.map +1 -0
  709. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DSMmkpzH.js +62 -0
  710. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DSMmkpzH.js.map +1 -0
  711. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BlMCPKzd.js +809 -0
  712. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BlMCPKzd.js.map +1 -0
  713. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-3VRyIDx1.js +59 -0
  714. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-3VRyIDx1.js.map +1 -0
  715. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BBKJG4NP.js +426 -0
  716. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BBKJG4NP.js.map +1 -0
  717. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BVcsK0M_.js +67 -0
  718. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BVcsK0M_.js.map +1 -0
  719. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-Dz3RP8ty.js +268 -0
  720. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-Dz3RP8ty.js.map +1 -0
  721. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-DLNDwV67.js +34 -0
  722. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-DLNDwV67.js.map +1 -0
  723. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-XIO1me8K.js +309 -0
  724. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-XIO1me8K.js.map +1 -0
  725. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-B_X9Os5m.js +29 -0
  726. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-B_X9Os5m.js.map +1 -0
  727. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-k7tSDsnp.js +316 -0
  728. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-k7tSDsnp.js.map +1 -0
  729. package/build/server/chunks/entries/pages/team/tokens/_page.server.ts.js-DTs5SzTp.js +65 -0
  730. package/build/server/chunks/entries/pages/team/tokens/_page.server.ts.js-DTs5SzTp.js.map +1 -0
  731. package/build/server/chunks/entries/pages/team/tokens/_page.svelte.js-DxnOnIWE.js +956 -0
  732. package/build/server/chunks/entries/pages/team/tokens/_page.svelte.js-DxnOnIWE.js.map +1 -0
  733. package/build/server/chunks/handler-Bx5iEZ29.js +1206 -0
  734. package/build/server/chunks/handler-Bx5iEZ29.js.map +1 -0
  735. package/build/server/chunks/index.js-Co4ze87n.js +3743 -0
  736. package/build/server/chunks/index.js-Co4ze87n.js.map +1 -0
  737. package/build/server/chunks/manifest.js--UTIhb45.js +719 -0
  738. package/build/server/chunks/manifest.js--UTIhb45.js.map +1 -0
  739. package/build/server/chunks/nodes/0.js-CsffbC0H.js +64 -0
  740. package/build/server/chunks/nodes/0.js-CsffbC0H.js.map +1 -0
  741. package/build/server/chunks/nodes/1.js-1M_czfIE.js +9 -0
  742. package/build/server/chunks/nodes/1.js-1M_czfIE.js.map +1 -0
  743. package/build/server/chunks/nodes/10.js-9eineyBX.js +33 -0
  744. package/build/server/chunks/nodes/10.js-9eineyBX.js.map +1 -0
  745. package/build/server/chunks/nodes/11.js-BKOfZHSf.js +40 -0
  746. package/build/server/chunks/nodes/11.js-BKOfZHSf.js.map +1 -0
  747. package/build/server/chunks/nodes/12.js-D0iYCbdB.js +30 -0
  748. package/build/server/chunks/nodes/12.js-D0iYCbdB.js.map +1 -0
  749. package/build/server/chunks/nodes/13.js-DS3dCGzm.js +30 -0
  750. package/build/server/chunks/nodes/13.js-DS3dCGzm.js.map +1 -0
  751. package/build/server/chunks/nodes/14.js-DtpHh9Ei.js +30 -0
  752. package/build/server/chunks/nodes/14.js-DtpHh9Ei.js.map +1 -0
  753. package/build/server/chunks/nodes/15.js-C_zywGat.js +38 -0
  754. package/build/server/chunks/nodes/15.js-C_zywGat.js.map +1 -0
  755. package/build/server/chunks/nodes/16.js-DESQ1vhu.js +34 -0
  756. package/build/server/chunks/nodes/16.js-DESQ1vhu.js.map +1 -0
  757. package/build/server/chunks/nodes/17.js-BQ14YL5Q.js +9 -0
  758. package/build/server/chunks/nodes/17.js-BQ14YL5Q.js.map +1 -0
  759. package/build/server/chunks/nodes/18.js-CngSMa3v.js +39 -0
  760. package/build/server/chunks/nodes/18.js-CngSMa3v.js.map +1 -0
  761. package/build/server/chunks/nodes/19.js-Bs85z3mz.js +24 -0
  762. package/build/server/chunks/nodes/19.js-Bs85z3mz.js.map +1 -0
  763. package/build/server/chunks/nodes/2.js-Dflj9i6a.js +33 -0
  764. package/build/server/chunks/nodes/2.js-Dflj9i6a.js.map +1 -0
  765. package/build/server/chunks/nodes/20.js-5C076ZPn.js +24 -0
  766. package/build/server/chunks/nodes/20.js-5C076ZPn.js.map +1 -0
  767. package/build/server/chunks/nodes/21.js-r9WaeaFU.js +46 -0
  768. package/build/server/chunks/nodes/21.js-r9WaeaFU.js.map +1 -0
  769. package/build/server/chunks/nodes/22.js-gdMWRDn8.js +39 -0
  770. package/build/server/chunks/nodes/22.js-gdMWRDn8.js.map +1 -0
  771. package/build/server/chunks/nodes/23.js-DWnXnKx-.js +36 -0
  772. package/build/server/chunks/nodes/23.js-DWnXnKx-.js.map +1 -0
  773. package/build/server/chunks/nodes/24.js-DrAi8A4i.js +64 -0
  774. package/build/server/chunks/nodes/24.js-DrAi8A4i.js.map +1 -0
  775. package/build/server/chunks/nodes/25.js-COwyuGav.js +32 -0
  776. package/build/server/chunks/nodes/25.js-COwyuGav.js.map +1 -0
  777. package/build/server/chunks/nodes/26.js-DDD-upfu.js +39 -0
  778. package/build/server/chunks/nodes/26.js-DDD-upfu.js.map +1 -0
  779. package/build/server/chunks/nodes/27.js-BWk5YriL.js +30 -0
  780. package/build/server/chunks/nodes/27.js-BWk5YriL.js.map +1 -0
  781. package/build/server/chunks/nodes/28.js-YNQTXbDQ.js +9 -0
  782. package/build/server/chunks/nodes/28.js-YNQTXbDQ.js.map +1 -0
  783. package/build/server/chunks/nodes/29.js-CtM1lXTE.js +30 -0
  784. package/build/server/chunks/nodes/29.js-CtM1lXTE.js.map +1 -0
  785. package/build/server/chunks/nodes/3.js-VtV7TxL1.js +9 -0
  786. package/build/server/chunks/nodes/3.js-VtV7TxL1.js.map +1 -0
  787. package/build/server/chunks/nodes/30.js-HuKHzr9Q.js +30 -0
  788. package/build/server/chunks/nodes/30.js-HuKHzr9Q.js.map +1 -0
  789. package/build/server/chunks/nodes/31.js-DkqRepK3.js +33 -0
  790. package/build/server/chunks/nodes/31.js-DkqRepK3.js.map +1 -0
  791. package/build/server/chunks/nodes/32.js-C1CcTXlw.js +30 -0
  792. package/build/server/chunks/nodes/32.js-C1CcTXlw.js.map +1 -0
  793. package/build/server/chunks/nodes/33.js-m2eeuHjs.js +30 -0
  794. package/build/server/chunks/nodes/33.js-m2eeuHjs.js.map +1 -0
  795. package/build/server/chunks/nodes/34.js-8v1opvXq.js +30 -0
  796. package/build/server/chunks/nodes/34.js-8v1opvXq.js.map +1 -0
  797. package/build/server/chunks/nodes/35.js-DJIEXvyl.js +64 -0
  798. package/build/server/chunks/nodes/35.js-DJIEXvyl.js.map +1 -0
  799. package/build/server/chunks/nodes/5.js-D0GcirfV.js +17 -0
  800. package/build/server/chunks/nodes/5.js-D0GcirfV.js.map +1 -0
  801. package/build/server/chunks/nodes/6.js-wM6qNHlj.js +30 -0
  802. package/build/server/chunks/nodes/6.js-wM6qNHlj.js.map +1 -0
  803. package/build/server/chunks/nodes/7.js-Cjym7aMM.js +24 -0
  804. package/build/server/chunks/nodes/7.js-Cjym7aMM.js.map +1 -0
  805. package/build/server/chunks/nodes/8.js-gB6nefGU.js +40 -0
  806. package/build/server/chunks/nodes/8.js-gB6nefGU.js.map +1 -0
  807. package/build/server/chunks/nodes/9.js-Dwq5Kgp8.js +30 -0
  808. package/build/server/chunks/nodes/9.js-Dwq5Kgp8.js.map +1 -0
  809. package/package.json +11 -11
  810. package/templates/.env.example +6 -12
  811. package/build/client/_app/immutable/assets/0.BrZX-8-0.css +0 -2
  812. package/build/client/_app/immutable/assets/0.BrZX-8-0.css.br +0 -0
  813. package/build/client/_app/immutable/assets/0.BrZX-8-0.css.gz +0 -0
  814. package/build/client/_app/immutable/assets/21.DNz0YXuf.css +0 -1
  815. package/build/client/_app/immutable/assets/21.DNz0YXuf.css.br +0 -0
  816. package/build/client/_app/immutable/assets/21.DNz0YXuf.css.gz +0 -0
  817. package/build/client/_app/immutable/chunks/B4Kd85NH.js +0 -1
  818. package/build/client/_app/immutable/chunks/B4Kd85NH.js.br +0 -0
  819. package/build/client/_app/immutable/chunks/B4Kd85NH.js.gz +0 -0
  820. package/build/client/_app/immutable/chunks/BMgGMzoR.js +0 -1
  821. package/build/client/_app/immutable/chunks/BMgGMzoR.js.br +0 -0
  822. package/build/client/_app/immutable/chunks/BMgGMzoR.js.gz +0 -0
  823. package/build/client/_app/immutable/chunks/B_-Zu3pc.js +0 -1
  824. package/build/client/_app/immutable/chunks/B_-Zu3pc.js.br +0 -0
  825. package/build/client/_app/immutable/chunks/B_-Zu3pc.js.gz +0 -0
  826. package/build/client/_app/immutable/chunks/BcPmqE4r.js +0 -1
  827. package/build/client/_app/immutable/chunks/BcPmqE4r.js.br +0 -0
  828. package/build/client/_app/immutable/chunks/BcPmqE4r.js.gz +0 -0
  829. package/build/client/_app/immutable/chunks/BkNOJdb3.js +0 -1
  830. package/build/client/_app/immutable/chunks/BkNOJdb3.js.br +0 -0
  831. package/build/client/_app/immutable/chunks/BkNOJdb3.js.gz +0 -0
  832. package/build/client/_app/immutable/chunks/C0bf0pxj.js +0 -5668
  833. package/build/client/_app/immutable/chunks/C0bf0pxj.js.br +0 -0
  834. package/build/client/_app/immutable/chunks/C0bf0pxj.js.gz +0 -0
  835. package/build/client/_app/immutable/chunks/CK37oGp3.js +0 -1
  836. package/build/client/_app/immutable/chunks/CK37oGp3.js.br +0 -1
  837. package/build/client/_app/immutable/chunks/CK37oGp3.js.gz +0 -0
  838. package/build/client/_app/immutable/chunks/Cdogoo-J.js +0 -55
  839. package/build/client/_app/immutable/chunks/Cdogoo-J.js.br +0 -0
  840. package/build/client/_app/immutable/chunks/Cdogoo-J.js.gz +0 -0
  841. package/build/client/_app/immutable/chunks/CyKq1Iz5.js +0 -1
  842. package/build/client/_app/immutable/chunks/CyKq1Iz5.js.br +0 -0
  843. package/build/client/_app/immutable/chunks/CyKq1Iz5.js.gz +0 -0
  844. package/build/client/_app/immutable/chunks/DAV8_gwU.js +0 -1
  845. package/build/client/_app/immutable/chunks/DAV8_gwU.js.br +0 -0
  846. package/build/client/_app/immutable/chunks/DAV8_gwU.js.gz +0 -0
  847. package/build/client/_app/immutable/chunks/DXNhJzNO.js +0 -1
  848. package/build/client/_app/immutable/chunks/DXNhJzNO.js.br +0 -0
  849. package/build/client/_app/immutable/chunks/DXNhJzNO.js.gz +0 -0
  850. package/build/client/_app/immutable/chunks/Dr6Ivc7X.js +0 -1
  851. package/build/client/_app/immutable/chunks/Dr6Ivc7X.js.br +0 -0
  852. package/build/client/_app/immutable/chunks/Dr6Ivc7X.js.gz +0 -0
  853. package/build/client/_app/immutable/chunks/RhOm2WGQ.js +0 -1
  854. package/build/client/_app/immutable/chunks/RhOm2WGQ.js.br +0 -2
  855. package/build/client/_app/immutable/chunks/RhOm2WGQ.js.gz +0 -0
  856. package/build/client/_app/immutable/chunks/bn8h8QB-.js +0 -2
  857. package/build/client/_app/immutable/chunks/bn8h8QB-.js.br +0 -0
  858. package/build/client/_app/immutable/chunks/bn8h8QB-.js.gz +0 -0
  859. package/build/client/_app/immutable/chunks/bpGbYRN6.js +0 -1
  860. package/build/client/_app/immutable/chunks/bpGbYRN6.js.br +0 -0
  861. package/build/client/_app/immutable/chunks/bpGbYRN6.js.gz +0 -0
  862. package/build/client/_app/immutable/entry/app.DEeH8UL1.js +0 -2
  863. package/build/client/_app/immutable/entry/app.DEeH8UL1.js.br +0 -0
  864. package/build/client/_app/immutable/entry/app.DEeH8UL1.js.gz +0 -0
  865. package/build/client/_app/immutable/entry/start.DXYS554p.js +0 -1
  866. package/build/client/_app/immutable/entry/start.DXYS554p.js.br +0 -1
  867. package/build/client/_app/immutable/entry/start.DXYS554p.js.gz +0 -0
  868. package/build/client/_app/immutable/nodes/1.CJI3Q88K.js +0 -1
  869. package/build/client/_app/immutable/nodes/1.CJI3Q88K.js.br +0 -1
  870. package/build/client/_app/immutable/nodes/1.CJI3Q88K.js.gz +0 -0
  871. package/build/client/_app/immutable/nodes/11.C2VrinXo.js +0 -3
  872. package/build/client/_app/immutable/nodes/11.C2VrinXo.js.br +0 -0
  873. package/build/client/_app/immutable/nodes/11.C2VrinXo.js.gz +0 -0
  874. package/build/client/_app/immutable/nodes/13.Cze4nedF.js +0 -2
  875. package/build/client/_app/immutable/nodes/13.Cze4nedF.js.br +0 -0
  876. package/build/client/_app/immutable/nodes/13.Cze4nedF.js.gz +0 -0
  877. package/build/client/_app/immutable/nodes/14.BvMn23J2.js +0 -2
  878. package/build/client/_app/immutable/nodes/14.BvMn23J2.js.br +0 -0
  879. package/build/client/_app/immutable/nodes/14.BvMn23J2.js.gz +0 -0
  880. package/build/client/_app/immutable/nodes/15.B_jus_Hm.js +0 -28
  881. package/build/client/_app/immutable/nodes/15.B_jus_Hm.js.br +0 -0
  882. package/build/client/_app/immutable/nodes/15.B_jus_Hm.js.gz +0 -0
  883. package/build/client/_app/immutable/nodes/16.DS4dWFld.js +0 -5
  884. package/build/client/_app/immutable/nodes/16.DS4dWFld.js.br +0 -0
  885. package/build/client/_app/immutable/nodes/16.DS4dWFld.js.gz +0 -0
  886. package/build/client/_app/immutable/nodes/17.CKvYEaPV.js +0 -2
  887. package/build/client/_app/immutable/nodes/17.CKvYEaPV.js.br +0 -0
  888. package/build/client/_app/immutable/nodes/17.CKvYEaPV.js.gz +0 -0
  889. package/build/client/_app/immutable/nodes/19.BSUyMfKj.js +0 -7
  890. package/build/client/_app/immutable/nodes/19.BSUyMfKj.js.br +0 -0
  891. package/build/client/_app/immutable/nodes/19.BSUyMfKj.js.gz +0 -0
  892. package/build/client/_app/immutable/nodes/2.Czbm24Av.js +0 -1
  893. package/build/client/_app/immutable/nodes/2.Czbm24Av.js.br +0 -0
  894. package/build/client/_app/immutable/nodes/2.Czbm24Av.js.gz +0 -0
  895. package/build/client/_app/immutable/nodes/20.Bgzj_yTW.js +0 -2
  896. package/build/client/_app/immutable/nodes/20.Bgzj_yTW.js.br +0 -0
  897. package/build/client/_app/immutable/nodes/20.Bgzj_yTW.js.gz +0 -0
  898. package/build/client/_app/immutable/nodes/21.B4GyT8ir.js +0 -1
  899. package/build/client/_app/immutable/nodes/21.B4GyT8ir.js.br +0 -0
  900. package/build/client/_app/immutable/nodes/21.B4GyT8ir.js.gz +0 -0
  901. package/build/client/_app/immutable/nodes/22.BCKCuwle.js +0 -6
  902. package/build/client/_app/immutable/nodes/22.BCKCuwle.js.br +0 -0
  903. package/build/client/_app/immutable/nodes/22.BCKCuwle.js.gz +0 -0
  904. package/build/client/_app/immutable/nodes/24.CojnBUyS.js +0 -3
  905. package/build/client/_app/immutable/nodes/24.CojnBUyS.js.br +0 -0
  906. package/build/client/_app/immutable/nodes/24.CojnBUyS.js.gz +0 -0
  907. package/build/client/_app/immutable/nodes/25.D6PGuFJJ.js +0 -16
  908. package/build/client/_app/immutable/nodes/25.D6PGuFJJ.js.br +0 -0
  909. package/build/client/_app/immutable/nodes/25.D6PGuFJJ.js.gz +0 -0
  910. package/build/client/_app/immutable/nodes/26.BXwt5f90.js +0 -6
  911. package/build/client/_app/immutable/nodes/26.BXwt5f90.js.br +0 -0
  912. package/build/client/_app/immutable/nodes/26.BXwt5f90.js.gz +0 -0
  913. package/build/client/_app/immutable/nodes/29.3VYRcQDO.js +0 -4
  914. package/build/client/_app/immutable/nodes/29.3VYRcQDO.js.br +0 -0
  915. package/build/client/_app/immutable/nodes/29.3VYRcQDO.js.gz +0 -0
  916. package/build/client/_app/immutable/nodes/3.B80ss_nE.js +0 -1
  917. package/build/client/_app/immutable/nodes/3.B80ss_nE.js.br +0 -0
  918. package/build/client/_app/immutable/nodes/3.B80ss_nE.js.gz +0 -0
  919. package/build/client/_app/immutable/nodes/30.TksCTyuI.js +0 -6
  920. package/build/client/_app/immutable/nodes/30.TksCTyuI.js.br +0 -0
  921. package/build/client/_app/immutable/nodes/30.TksCTyuI.js.gz +0 -0
  922. package/build/client/_app/immutable/nodes/31.Bx6rucEq.js +0 -2
  923. package/build/client/_app/immutable/nodes/31.Bx6rucEq.js.br +0 -0
  924. package/build/client/_app/immutable/nodes/31.Bx6rucEq.js.gz +0 -0
  925. package/build/client/_app/immutable/nodes/32.PyH3lpo7.js +0 -2
  926. package/build/client/_app/immutable/nodes/32.PyH3lpo7.js.br +0 -0
  927. package/build/client/_app/immutable/nodes/32.PyH3lpo7.js.gz +0 -0
  928. package/build/client/_app/immutable/nodes/34.DG7p_Fes.js +0 -1
  929. package/build/client/_app/immutable/nodes/34.DG7p_Fes.js.br +0 -0
  930. package/build/client/_app/immutable/nodes/34.DG7p_Fes.js.gz +0 -0
  931. package/build/client/_app/immutable/nodes/35.BCLRPzTR.js +0 -2
  932. package/build/client/_app/immutable/nodes/35.BCLRPzTR.js.br +0 -0
  933. package/build/client/_app/immutable/nodes/35.BCLRPzTR.js.gz +0 -0
  934. package/build/client/_app/immutable/nodes/5.COP2VjOp.js +0 -1
  935. package/build/client/_app/immutable/nodes/5.COP2VjOp.js.br +0 -1
  936. package/build/client/_app/immutable/nodes/5.COP2VjOp.js.gz +0 -0
  937. package/build/client/_app/immutable/nodes/6.SIkrRMiY.js +0 -1
  938. package/build/client/_app/immutable/nodes/6.SIkrRMiY.js.br +0 -0
  939. package/build/client/_app/immutable/nodes/6.SIkrRMiY.js.gz +0 -0
  940. package/build/client/_app/immutable/nodes/7.Bv2fNd94.js +0 -1
  941. package/build/client/_app/immutable/nodes/7.Bv2fNd94.js.br +0 -0
  942. package/build/client/_app/immutable/nodes/7.Bv2fNd94.js.gz +0 -0
  943. package/build/client/_app/immutable/nodes/8.Cwluk3tS.js +0 -3
  944. package/build/client/_app/immutable/nodes/8.Cwluk3tS.js.br +0 -0
  945. package/build/client/_app/immutable/nodes/8.Cwluk3tS.js.gz +0 -0
  946. package/build/client/_app/immutable/nodes/9.BKBN-E_s.js +0 -1
  947. package/build/client/_app/immutable/nodes/9.BKBN-E_s.js.br +0 -0
  948. package/build/client/_app/immutable/nodes/9.BKBN-E_s.js.gz +0 -0
  949. package/build/server/chunks/chunks/AppHeader.js-CxmMkSi0.js +0 -315
  950. package/build/server/chunks/chunks/AppHeader.js-CxmMkSi0.js.map +0 -1
  951. package/build/server/chunks/chunks/Callout.js-Ci3u4XSa.js +0 -57
  952. package/build/server/chunks/chunks/Callout.js-Ci3u4XSa.js.map +0 -1
  953. package/build/server/chunks/chunks/ConfirmDialog.js-BhGAyH1N.js +0 -151
  954. package/build/server/chunks/chunks/ConfirmDialog.js-BhGAyH1N.js.map +0 -1
  955. package/build/server/chunks/chunks/DataTable.js-1FokYGvY.js +0 -33
  956. package/build/server/chunks/chunks/DataTable.js-1FokYGvY.js.map +0 -1
  957. package/build/server/chunks/chunks/DefinitionCard.js-DkODwwms.js +0 -141
  958. package/build/server/chunks/chunks/DefinitionCard.js-DkODwwms.js.map +0 -1
  959. package/build/server/chunks/chunks/EmptyState.js-db0SQWDN.js +0 -36
  960. package/build/server/chunks/chunks/EmptyState.js-db0SQWDN.js.map +0 -1
  961. package/build/server/chunks/chunks/ErrorScreen.js-B0rqpGyR.js +0 -116
  962. package/build/server/chunks/chunks/ErrorScreen.js-B0rqpGyR.js.map +0 -1
  963. package/build/server/chunks/chunks/FilterableDropdown.js-B4nYR1Mw.js +0 -2722
  964. package/build/server/chunks/chunks/FilterableDropdown.js-B4nYR1Mw.js.map +0 -1
  965. package/build/server/chunks/chunks/PageContent.js-CtU1_JG7.js +0 -12
  966. package/build/server/chunks/chunks/PageContent.js-CtU1_JG7.js.map +0 -1
  967. package/build/server/chunks/chunks/SectionHeader.js-CjW0_0vg.js +0 -22
  968. package/build/server/chunks/chunks/SectionHeader.js-CjW0_0vg.js.map +0 -1
  969. package/build/server/chunks/chunks/SettingsMenu.js-BKHT9TGz.js +0 -2642
  970. package/build/server/chunks/chunks/SettingsMenu.js-BKHT9TGz.js.map +0 -1
  971. package/build/server/chunks/chunks/SideNav.js-CWrf4swj.js +0 -194
  972. package/build/server/chunks/chunks/SideNav.js-CWrf4swj.js.map +0 -1
  973. package/build/server/chunks/chunks/StatCard.js-CN5-wy2A.js +0 -52
  974. package/build/server/chunks/chunks/StatCard.js-CN5-wy2A.js.map +0 -1
  975. package/build/server/chunks/chunks/UserAvatar.js-RJK9KiIw.js +0 -14
  976. package/build/server/chunks/chunks/UserAvatar.js-RJK9KiIw.js.map +0 -1
  977. package/build/server/chunks/chunks/UserRowIdentity.js-ovE6ITKg.js +0 -112
  978. package/build/server/chunks/chunks/UserRowIdentity.js-ovE6ITKg.js.map +0 -1
  979. package/build/server/chunks/chunks/ViewToggle.js-CaamGGXn.js +0 -138
  980. package/build/server/chunks/chunks/ViewToggle.js-CaamGGXn.js.map +0 -1
  981. package/build/server/chunks/chunks/access.js-BZIkVfZv.js +0 -804
  982. package/build/server/chunks/chunks/access.js-BZIkVfZv.js.map +0 -1
  983. package/build/server/chunks/chunks/access.server.js-e48RAA-F.js +0 -15
  984. package/build/server/chunks/chunks/access.server.js-e48RAA-F.js.map +0 -1
  985. package/build/server/chunks/chunks/access2.server.js-DAnBY_YP.js +0 -63
  986. package/build/server/chunks/chunks/access2.server.js-DAnBY_YP.js.map +0 -1
  987. package/build/server/chunks/chunks/activity.js-Cq5CR0qS.js +0 -17
  988. package/build/server/chunks/chunks/activity.js-Cq5CR0qS.js.map +0 -1
  989. package/build/server/chunks/chunks/admin-auth.server.js-BN74M_Yi.js +0 -352
  990. package/build/server/chunks/chunks/admin-auth.server.js-BN74M_Yi.js.map +0 -1
  991. package/build/server/chunks/chunks/alert-dialog.js-BC5IIsYS.js +0 -461
  992. package/build/server/chunks/chunks/alert-dialog.js-BC5IIsYS.js.map +0 -1
  993. package/build/server/chunks/chunks/api-errors.js-BvYRBgjb.js +0 -57
  994. package/build/server/chunks/chunks/api-errors.js-BvYRBgjb.js.map +0 -1
  995. package/build/server/chunks/chunks/api.js-Z7amRz4t.js +0 -1232
  996. package/build/server/chunks/chunks/api.js-Z7amRz4t.js.map +0 -1
  997. package/build/server/chunks/chunks/arrow-left.js-DXlCPnHO.js +0 -17
  998. package/build/server/chunks/chunks/arrow-left.js-DXlCPnHO.js.map +0 -1
  999. package/build/server/chunks/chunks/arrow-right.js-CGAfq_wi.js +0 -17
  1000. package/build/server/chunks/chunks/arrow-right.js-CGAfq_wi.js.map +0 -1
  1001. package/build/server/chunks/chunks/auth-bootstrap.server.js-BE7qNG2e.js +0 -152
  1002. package/build/server/chunks/chunks/auth-bootstrap.server.js-BE7qNG2e.js.map +0 -1
  1003. package/build/server/chunks/chunks/badge.js-DVfiDfVJ.js +0 -35
  1004. package/build/server/chunks/chunks/badge.js-DVfiDfVJ.js.map +0 -1
  1005. package/build/server/chunks/chunks/bootHealth.server.js-ymNofkZd.js +0 -90
  1006. package/build/server/chunks/chunks/bootHealth.server.js-ymNofkZd.js.map +0 -1
  1007. package/build/server/chunks/chunks/building-complex.js-JHR0jolW.js +0 -24
  1008. package/build/server/chunks/chunks/building-complex.js-JHR0jolW.js.map +0 -1
  1009. package/build/server/chunks/chunks/button.js-DKfs3Boy.js +0 -71
  1010. package/build/server/chunks/chunks/button.js-DKfs3Boy.js.map +0 -1
  1011. package/build/server/chunks/chunks/card-content.js-CBUsYBjk.js +0 -20
  1012. package/build/server/chunks/chunks/card-content.js-CBUsYBjk.js.map +0 -1
  1013. package/build/server/chunks/chunks/card-description.js-BOcmCPPd.js +0 -20
  1014. package/build/server/chunks/chunks/card-description.js-BOcmCPPd.js.map +0 -1
  1015. package/build/server/chunks/chunks/card-header.js-m0c0MMMI.js +0 -20
  1016. package/build/server/chunks/chunks/card-header.js-m0c0MMMI.js.map +0 -1
  1017. package/build/server/chunks/chunks/card-title.js-BolYlULC.js +0 -20
  1018. package/build/server/chunks/chunks/card-title.js-BolYlULC.js.map +0 -1
  1019. package/build/server/chunks/chunks/card.js-B4rH_m-Y.js +0 -29
  1020. package/build/server/chunks/chunks/card.js-B4rH_m-Y.js.map +0 -1
  1021. package/build/server/chunks/chunks/chevron-down.js-DFG8JZ5a.js +0 -17
  1022. package/build/server/chunks/chunks/chevron-down.js-DFG8JZ5a.js.map +0 -1
  1023. package/build/server/chunks/chunks/chevron-left.js-D9wIzL7j.js +0 -17
  1024. package/build/server/chunks/chunks/chevron-left.js-D9wIzL7j.js.map +0 -1
  1025. package/build/server/chunks/chunks/chevron-right.js-BKtNlHM6.js +0 -17
  1026. package/build/server/chunks/chunks/chevron-right.js-BKtNlHM6.js.map +0 -1
  1027. package/build/server/chunks/chunks/chevron-up.js-Cd-VfN2m.js +0 -17
  1028. package/build/server/chunks/chunks/chevron-up.js-Cd-VfN2m.js.map +0 -1
  1029. package/build/server/chunks/chunks/circle.js-BF319LN2.js +0 -21
  1030. package/build/server/chunks/chunks/circle.js-BF319LN2.js.map +0 -1
  1031. package/build/server/chunks/chunks/client.js-BlAaaeFi.js +0 -58
  1032. package/build/server/chunks/chunks/client.js-BlAaaeFi.js.map +0 -1
  1033. package/build/server/chunks/chunks/compute.js-a66mA6Yl.js +0 -501
  1034. package/build/server/chunks/chunks/compute.js-a66mA6Yl.js.map +0 -1
  1035. package/build/server/chunks/chunks/computeLimits.js-rJ4DCFVA.js +0 -44
  1036. package/build/server/chunks/chunks/computeLimits.js-rJ4DCFVA.js.map +0 -1
  1037. package/build/server/chunks/chunks/computeRateLimit.server.js-CitLvqXR.js +0 -31
  1038. package/build/server/chunks/chunks/computeRateLimit.server.js-CitLvqXR.js.map +0 -1
  1039. package/build/server/chunks/chunks/copy.js-CX74BNXO.js +0 -24
  1040. package/build/server/chunks/chunks/copy.js-CX74BNXO.js.map +0 -1
  1041. package/build/server/chunks/chunks/create-id.js-DyutBmRB.js +0 -795
  1042. package/build/server/chunks/chunks/create-id.js-DyutBmRB.js.map +0 -1
  1043. package/build/server/chunks/chunks/definitions.js-DNRCBvN_.js +0 -387
  1044. package/build/server/chunks/chunks/definitions.js-DNRCBvN_.js.map +0 -1
  1045. package/build/server/chunks/chunks/dialog-description.js-BNCA58Uf.js +0 -489
  1046. package/build/server/chunks/chunks/dialog-description.js-BNCA58Uf.js.map +0 -1
  1047. package/build/server/chunks/chunks/dialog.js-KzUC_lV4.js +0 -360
  1048. package/build/server/chunks/chunks/dialog.js-KzUC_lV4.js.map +0 -1
  1049. package/build/server/chunks/chunks/dom-typeahead.svelte.js-CIQZpPMg.js +0 -211
  1050. package/build/server/chunks/chunks/dom-typeahead.svelte.js-CIQZpPMg.js.map +0 -1
  1051. package/build/server/chunks/chunks/engine.server.js-BufkVguX.js +0 -584
  1052. package/build/server/chunks/chunks/engine.server.js-BufkVguX.js.map +0 -1
  1053. package/build/server/chunks/chunks/esm.js-CVe0D3tO.js +0 -7
  1054. package/build/server/chunks/chunks/esm.js-CVe0D3tO.js.map +0 -1
  1055. package/build/server/chunks/chunks/esm2.js-CJwXaTbP.js +0 -987
  1056. package/build/server/chunks/chunks/esm2.js-CJwXaTbP.js.map +0 -1
  1057. package/build/server/chunks/chunks/events.js-BD_zKIav.js +0 -136
  1058. package/build/server/chunks/chunks/events.js-BD_zKIav.js.map +0 -1
  1059. package/build/server/chunks/chunks/evict-changed-servers.js-Dw8HdMyj.js +0 -18
  1060. package/build/server/chunks/chunks/evict-changed-servers.js-Dw8HdMyj.js.map +0 -1
  1061. package/build/server/chunks/chunks/exports.js-Bl7JH3d7.js +0 -149
  1062. package/build/server/chunks/chunks/exports.js-Bl7JH3d7.js.map +0 -1
  1063. package/build/server/chunks/chunks/external-link.js-CDKacmCr.js +0 -21
  1064. package/build/server/chunks/chunks/external-link.js-CDKacmCr.js.map +0 -1
  1065. package/build/server/chunks/chunks/folder-kanban.js-JM2vWrBr.js +0 -22
  1066. package/build/server/chunks/chunks/folder-kanban.js-JM2vWrBr.js.map +0 -1
  1067. package/build/server/chunks/chunks/folder-open.js-DZAgByKM.js +0 -17
  1068. package/build/server/chunks/chunks/folder-open.js-DZAgByKM.js.map +0 -1
  1069. package/build/server/chunks/chunks/folders.js-L-79cuap.js +0 -17
  1070. package/build/server/chunks/chunks/folders.js-L-79cuap.js.map +0 -1
  1071. package/build/server/chunks/chunks/footerContext.svelte.js-DZauzsZK.js +0 -680
  1072. package/build/server/chunks/chunks/footerContext.svelte.js-DZauzsZK.js.map +0 -1
  1073. package/build/server/chunks/chunks/forms.js-CMIH1Akx.js +0 -2
  1074. package/build/server/chunks/chunks/forms.js-CMIH1Akx.js.map +0 -1
  1075. package/build/server/chunks/chunks/gauge.js-ByoSKYeR.js +0 -17
  1076. package/build/server/chunks/chunks/gauge.js-ByoSKYeR.js.map +0 -1
  1077. package/build/server/chunks/chunks/grasshopper.js-CdYz2gPd.js +0 -2655
  1078. package/build/server/chunks/chunks/grasshopper.js-CdYz2gPd.js.map +0 -1
  1079. package/build/server/chunks/chunks/handlers.js-BmPKxmfK.js +0 -1633
  1080. package/build/server/chunks/chunks/handlers.js-BmPKxmfK.js.map +0 -1
  1081. package/build/server/chunks/chunks/http.js-DTKbwCvO.js +0 -60
  1082. package/build/server/chunks/chunks/http.js-DTKbwCvO.js.map +0 -1
  1083. package/build/server/chunks/chunks/index-server.js-DQcI4Uf0.js +0 -154
  1084. package/build/server/chunks/chunks/index-server.js-DQcI4Uf0.js.map +0 -1
  1085. package/build/server/chunks/chunks/input-group.js-CvIv_pYF.js +0 -65
  1086. package/build/server/chunks/chunks/input-group.js-CvIv_pYF.js.map +0 -1
  1087. package/build/server/chunks/chunks/input.js-BmyEYEb_.js +0 -31
  1088. package/build/server/chunks/chunks/input.js-BmyEYEb_.js.map +0 -1
  1089. package/build/server/chunks/chunks/instanceAdmins.server.js-BH9fwqR3.js +0 -24
  1090. package/build/server/chunks/chunks/instanceAdmins.server.js-BH9fwqR3.js.map +0 -1
  1091. package/build/server/chunks/chunks/internal.js-BFfHHam5.js +0 -27
  1092. package/build/server/chunks/chunks/internal.js-BFfHHam5.js.map +0 -1
  1093. package/build/server/chunks/chunks/internal2.js-D31hcs3W.js +0 -219
  1094. package/build/server/chunks/chunks/internal2.js-D31hcs3W.js.map +0 -1
  1095. package/build/server/chunks/chunks/key-round.js-30Lmuz0K.js +0 -22
  1096. package/build/server/chunks/chunks/key-round.js-30Lmuz0K.js.map +0 -1
  1097. package/build/server/chunks/chunks/label.js-yA32z5eG.js +0 -105
  1098. package/build/server/chunks/chunks/label.js-yA32z5eG.js.map +0 -1
  1099. package/build/server/chunks/chunks/legacy-client.js-C_nl-7NA.js +0 -771
  1100. package/build/server/chunks/chunks/legacy-client.js-C_nl-7NA.js.map +0 -1
  1101. package/build/server/chunks/chunks/link-2.js-BqFCdaAg.js +0 -26
  1102. package/build/server/chunks/chunks/link-2.js-BqFCdaAg.js.map +0 -1
  1103. package/build/server/chunks/chunks/liveSolve.server.js-DpRBaHA5.js +0 -70
  1104. package/build/server/chunks/chunks/liveSolve.server.js-DpRBaHA5.js.map +0 -1
  1105. package/build/server/chunks/chunks/localeContext.svelte.js-Ci_EHhgS.js +0 -410
  1106. package/build/server/chunks/chunks/localeContext.svelte.js-Ci_EHhgS.js.map +0 -1
  1107. package/build/server/chunks/chunks/mail.js-C4TGUsgv.js +0 -23
  1108. package/build/server/chunks/chunks/mail.js-C4TGUsgv.js.map +0 -1
  1109. package/build/server/chunks/chunks/minus.js-CoYdbRTv.js +0 -17
  1110. package/build/server/chunks/chunks/minus.js-CoYdbRTv.js.map +0 -1
  1111. package/build/server/chunks/chunks/navigation.js-CMIH1Akx.js +0 -2
  1112. package/build/server/chunks/chunks/navigation.js-CMIH1Akx.js.map +0 -1
  1113. package/build/server/chunks/chunks/oauthState.server.js-DXP7KiF3.js +0 -53
  1114. package/build/server/chunks/chunks/oauthState.server.js-DXP7KiF3.js.map +0 -1
  1115. package/build/server/chunks/chunks/openapi.js-Cvaaae0r.js +0 -61
  1116. package/build/server/chunks/chunks/openapi.js-Cvaaae0r.js.map +0 -1
  1117. package/build/server/chunks/chunks/outcome-BOrAeRAQ.js-DpkjLw3I.js +0 -77
  1118. package/build/server/chunks/chunks/outcome-BOrAeRAQ.js-DpkjLw3I.js.map +0 -1
  1119. package/build/server/chunks/chunks/package.js-E8mFl45L.js +0 -85
  1120. package/build/server/chunks/chunks/package.js-E8mFl45L.js.map +0 -1
  1121. package/build/server/chunks/chunks/paths.js-QPawgPzi.js +0 -19
  1122. package/build/server/chunks/chunks/paths.js-QPawgPzi.js.map +0 -1
  1123. package/build/server/chunks/chunks/permissions.server.js-2MO-xANJ.js +0 -24
  1124. package/build/server/chunks/chunks/permissions.server.js-2MO-xANJ.js.map +0 -1
  1125. package/build/server/chunks/chunks/plus.js-DIp8WjjL.js +0 -17
  1126. package/build/server/chunks/chunks/plus.js-DIp8WjjL.js.map +0 -1
  1127. package/build/server/chunks/chunks/popper-layer-force-mount.js-B_6OYm07.js +0 -1907
  1128. package/build/server/chunks/chunks/popper-layer-force-mount.js-B_6OYm07.js.map +0 -1
  1129. package/build/server/chunks/chunks/presets.server.js-sn_WT3tc.js +0 -21
  1130. package/build/server/chunks/chunks/presets.server.js-sn_WT3tc.js.map +0 -1
  1131. package/build/server/chunks/chunks/projects.js-CSGJ0Ju1.js +0 -47
  1132. package/build/server/chunks/chunks/projects.js-CSGJ0Ju1.js.map +0 -1
  1133. package/build/server/chunks/chunks/providers.server.js-D30wnnA4.js +0 -6337
  1134. package/build/server/chunks/chunks/providers.server.js-D30wnnA4.js.map +0 -1
  1135. package/build/server/chunks/chunks/randomId.js-dgVOFSi4.js +0 -22
  1136. package/build/server/chunks/chunks/randomId.js-dgVOFSi4.js.map +0 -1
  1137. package/build/server/chunks/chunks/refresh-cw.js-7jhDx15C.js +0 -22
  1138. package/build/server/chunks/chunks/refresh-cw.js-7jhDx15C.js.map +0 -1
  1139. package/build/server/chunks/chunks/registry.js-8x04W1ns.js +0 -656
  1140. package/build/server/chunks/chunks/registry.js-8x04W1ns.js.map +0 -1
  1141. package/build/server/chunks/chunks/request-context.js-xKh-gy0-.js +0 -28
  1142. package/build/server/chunks/chunks/request-context.js-xKh-gy0-.js.map +0 -1
  1143. package/build/server/chunks/chunks/resolve.server.js-CWWEJQMp.js +0 -59
  1144. package/build/server/chunks/chunks/resolve.server.js-CWWEJQMp.js.map +0 -1
  1145. package/build/server/chunks/chunks/rotate-ccw.js--ALnMG6X.js +0 -17
  1146. package/build/server/chunks/chunks/rotate-ccw.js--ALnMG6X.js.map +0 -1
  1147. package/build/server/chunks/chunks/routing.js-jOE0ETFb.js +0 -264
  1148. package/build/server/chunks/chunks/routing.js-jOE0ETFb.js.map +0 -1
  1149. package/build/server/chunks/chunks/roving-focus-group.js-D-_tnELv.js +0 -158
  1150. package/build/server/chunks/chunks/roving-focus-group.js-D-_tnELv.js.map +0 -1
  1151. package/build/server/chunks/chunks/schema-extraction.js-DxFeK69H.js +0 -141
  1152. package/build/server/chunks/chunks/schema-extraction.js-DxFeK69H.js.map +0 -1
  1153. package/build/server/chunks/chunks/scroll-lock.js-C7gtgy_s.js +0 -1956
  1154. package/build/server/chunks/chunks/scroll-lock.js-C7gtgy_s.js.map +0 -1
  1155. package/build/server/chunks/chunks/scroll-text.js-DzkCYNV2.js +0 -22
  1156. package/build/server/chunks/chunks/scroll-text.js-DzkCYNV2.js.map +0 -1
  1157. package/build/server/chunks/chunks/search.js-DAtjxvTA.js +0 -21
  1158. package/build/server/chunks/chunks/search.js-DAtjxvTA.js.map +0 -1
  1159. package/build/server/chunks/chunks/select.js-IP6mtWOr.js +0 -1756
  1160. package/build/server/chunks/chunks/select.js-IP6mtWOr.js.map +0 -1
  1161. package/build/server/chunks/chunks/selfUpdate.server.js-BICsp7tr.js +0 -144
  1162. package/build/server/chunks/chunks/selfUpdate.server.js-BICsp7tr.js.map +0 -1
  1163. package/build/server/chunks/chunks/separator.js-Bh3r_kbL.js +0 -187
  1164. package/build/server/chunks/chunks/separator.js-Bh3r_kbL.js.map +0 -1
  1165. package/build/server/chunks/chunks/server.js-Bn3s-cVB.js +0 -3921
  1166. package/build/server/chunks/chunks/server.js-Bn3s-cVB.js.map +0 -1
  1167. package/build/server/chunks/chunks/server2.js-DdkspPZm.js +0 -103
  1168. package/build/server/chunks/chunks/server2.js-DdkspPZm.js.map +0 -1
  1169. package/build/server/chunks/chunks/server3.js-BW-WpwBx.js +0 -20753
  1170. package/build/server/chunks/chunks/server3.js-BW-WpwBx.js.map +0 -1
  1171. package/build/server/chunks/chunks/server4.js-CP6bBl1P.js +0 -46
  1172. package/build/server/chunks/chunks/server4.js-CP6bBl1P.js.map +0 -1
  1173. package/build/server/chunks/chunks/severity.js-yRcFOGQ7.js +0 -117
  1174. package/build/server/chunks/chunks/severity.js-yRcFOGQ7.js.map +0 -1
  1175. package/build/server/chunks/chunks/shared-server.js-CJsQadj4.js +0 -22
  1176. package/build/server/chunks/chunks/shared-server.js-CJsQadj4.js.map +0 -1
  1177. package/build/server/chunks/chunks/shared.js-BT6FYGEZ.js +0 -709
  1178. package/build/server/chunks/chunks/shared.js-BT6FYGEZ.js.map +0 -1
  1179. package/build/server/chunks/chunks/shared2.js-BFuk6QhH.js +0 -88
  1180. package/build/server/chunks/chunks/shared2.js-BFuk6QhH.js.map +0 -1
  1181. package/build/server/chunks/chunks/shield-check.js-D7xC3rmX.js +0 -17
  1182. package/build/server/chunks/chunks/shield-check.js-D7xC3rmX.js.map +0 -1
  1183. package/build/server/chunks/chunks/shield.js-LckTyJGe.js +0 -17
  1184. package/build/server/chunks/chunks/shield.js-LckTyJGe.js.map +0 -1
  1185. package/build/server/chunks/chunks/solve.server.js-CgNiK3RL.js +0 -315
  1186. package/build/server/chunks/chunks/solve.server.js-CgNiK3RL.js.map +0 -1
  1187. package/build/server/chunks/chunks/sr-only-styles.js-Drt1VGf2.js +0 -19
  1188. package/build/server/chunks/chunks/sr-only-styles.js-Drt1VGf2.js.map +0 -1
  1189. package/build/server/chunks/chunks/src.js-DYeCa7A9.js +0 -518
  1190. package/build/server/chunks/chunks/src.js-DYeCa7A9.js.map +0 -1
  1191. package/build/server/chunks/chunks/star.js-CJspSS5m.js +0 -17
  1192. package/build/server/chunks/chunks/star.js-CJspSS5m.js.map +0 -1
  1193. package/build/server/chunks/chunks/state.js-KNe_nKas.js +0 -74
  1194. package/build/server/chunks/chunks/state.js-KNe_nKas.js.map +0 -1
  1195. package/build/server/chunks/chunks/stores.js-vBgGGOiN.js +0 -35
  1196. package/build/server/chunks/chunks/stores.js-vBgGGOiN.js.map +0 -1
  1197. package/build/server/chunks/chunks/sveltekit.js-C6WnPEYx.js +0 -102
  1198. package/build/server/chunks/chunks/sveltekit.js-C6WnPEYx.js.map +0 -1
  1199. package/build/server/chunks/chunks/tabs-trigger.js-C5zvXOhB.js +0 -520
  1200. package/build/server/chunks/chunks/tabs-trigger.js-C5zvXOhB.js.map +0 -1
  1201. package/build/server/chunks/chunks/toast-state.svelte.js-CzgVAa8I.js +0 -284
  1202. package/build/server/chunks/chunks/toast-state.svelte.js-CzgVAa8I.js.map +0 -1
  1203. package/build/server/chunks/chunks/toggle-group-item.js-lgtVgqs5.js +0 -400
  1204. package/build/server/chunks/chunks/toggle-group-item.js-lgtVgqs5.js.map +0 -1
  1205. package/build/server/chunks/chunks/token.server.js-9F6kDRtE.js +0 -131
  1206. package/build/server/chunks/chunks/token.server.js-9F6kDRtE.js.map +0 -1
  1207. package/build/server/chunks/chunks/token2.server.js-B9Jq4mrm.js +0 -50
  1208. package/build/server/chunks/chunks/token2.server.js-B9Jq4mrm.js.map +0 -1
  1209. package/build/server/chunks/chunks/token3.server.js-EnEBzKQe.js +0 -41
  1210. package/build/server/chunks/chunks/token3.server.js-EnEBzKQe.js.map +0 -1
  1211. package/build/server/chunks/chunks/token4.server.js-ClcPSqx4.js +0 -24
  1212. package/build/server/chunks/chunks/token4.server.js-ClcPSqx4.js.map +0 -1
  1213. package/build/server/chunks/chunks/tokens.js-CIjEJWIy.js +0 -25
  1214. package/build/server/chunks/chunks/tokens.js-CIjEJWIy.js.map +0 -1
  1215. package/build/server/chunks/chunks/trash.js-D6PEuXeo.js +0 -24
  1216. package/build/server/chunks/chunks/trash.js-D6PEuXeo.js.map +0 -1
  1217. package/build/server/chunks/chunks/types.js-C7gj_Qvn.js +0 -10
  1218. package/build/server/chunks/chunks/types.js-C7gj_Qvn.js.map +0 -1
  1219. package/build/server/chunks/chunks/updateCheck.server.js-D9givfAy.js +0 -203
  1220. package/build/server/chunks/chunks/updateCheck.server.js-D9givfAy.js.map +0 -1
  1221. package/build/server/chunks/chunks/user-plus.js-D8wR6i9h.js +0 -36
  1222. package/build/server/chunks/chunks/user-plus.js-D8wR6i9h.js.map +0 -1
  1223. package/build/server/chunks/chunks/users.js-CrOt_3Af.js +0 -26
  1224. package/build/server/chunks/chunks/users.js-CrOt_3Af.js.map +0 -1
  1225. package/build/server/chunks/chunks/utils.js-CdicmAy3.js +0 -745
  1226. package/build/server/chunks/chunks/utils.js-CdicmAy3.js.map +0 -1
  1227. package/build/server/chunks/chunks/utils2.js-BMDNJPPH.js +0 -174
  1228. package/build/server/chunks/chunks/utils2.js-BMDNJPPH.js.map +0 -1
  1229. package/build/server/chunks/chunks/visibility.js-Cq_01Jmr.js +0 -198
  1230. package/build/server/chunks/chunks/visibility.js-Cq_01Jmr.js.map +0 -1
  1231. package/build/server/chunks/chunks/x.js-CUMpi5o0.js +0 -17
  1232. package/build/server/chunks/chunks/x.js-CUMpi5o0.js.map +0 -1
  1233. package/build/server/chunks/entries/endpoints/.well-known/oauth-authorization-server/_server.ts.js-BLGxP9PT.js +0 -18
  1234. package/build/server/chunks/entries/endpoints/.well-known/oauth-authorization-server/_server.ts.js-BLGxP9PT.js.map +0 -1
  1235. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/_server.ts.js-CcG9Bn4L.js +0 -18
  1236. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/_server.ts.js-CcG9Bn4L.js.map +0 -1
  1237. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/mcp/_server.ts.js-CWSXC0yE.js +0 -18
  1238. package/build/server/chunks/entries/endpoints/.well-known/oauth-protected-resource/mcp/_server.ts.js-CWSXC0yE.js.map +0 -1
  1239. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-B7eD1eUv.js +0 -98
  1240. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-B7eD1eUv.js.map +0 -1
  1241. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DVouSCC7.js +0 -87
  1242. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DVouSCC7.js.map +0 -1
  1243. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-hXUmugMz.js +0 -98
  1244. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-hXUmugMz.js.map +0 -1
  1245. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-DEQ6F7d6.js +0 -47
  1246. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-DEQ6F7d6.js.map +0 -1
  1247. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-DPEE-3Z_.js +0 -70
  1248. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-DPEE-3Z_.js.map +0 -1
  1249. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-D5yUU2b3.js +0 -63
  1250. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-D5yUU2b3.js.map +0 -1
  1251. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-BMgHgs4K.js +0 -35
  1252. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-BMgHgs4K.js.map +0 -1
  1253. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-xdSq8wyQ.js +0 -66
  1254. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-xdSq8wyQ.js.map +0 -1
  1255. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-DGbFYgNh.js +0 -81
  1256. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-DGbFYgNh.js.map +0 -1
  1257. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-C-HnR3po.js +0 -366
  1258. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-C-HnR3po.js.map +0 -1
  1259. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-DnPY0vXe.js +0 -87
  1260. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-DnPY0vXe.js.map +0 -1
  1261. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-fEnaUqRj.js +0 -610
  1262. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-fEnaUqRj.js.map +0 -1
  1263. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-DvOItLw5.js +0 -59
  1264. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-DvOItLw5.js.map +0 -1
  1265. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-_VkJDcEM.js +0 -77
  1266. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-_VkJDcEM.js.map +0 -1
  1267. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-CEzKWKtT.js +0 -84
  1268. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-CEzKWKtT.js.map +0 -1
  1269. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-u8sC5eVt.js +0 -64
  1270. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-u8sC5eVt.js.map +0 -1
  1271. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D5OpmLRv.js +0 -95
  1272. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D5OpmLRv.js.map +0 -1
  1273. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-Cc_V6B3D.js +0 -62
  1274. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-Cc_V6B3D.js.map +0 -1
  1275. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-MqjzyVXi.js +0 -65
  1276. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-MqjzyVXi.js.map +0 -1
  1277. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-DbtbGMK0.js +0 -94
  1278. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-DbtbGMK0.js.map +0 -1
  1279. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-CRwkOGaC.js +0 -79
  1280. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-CRwkOGaC.js.map +0 -1
  1281. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CSUhfN76.js +0 -49
  1282. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CSUhfN76.js.map +0 -1
  1283. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-DvPh3xwH.js +0 -47
  1284. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-DvPh3xwH.js.map +0 -1
  1285. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Cu5Fdadk.js +0 -50
  1286. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Cu5Fdadk.js.map +0 -1
  1287. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-9hypb2Tm.js +0 -47
  1288. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-9hypb2Tm.js.map +0 -1
  1289. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-D-jw5dDd.js +0 -47
  1290. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-D-jw5dDd.js.map +0 -1
  1291. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-B9rJCtUR.js +0 -51
  1292. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-B9rJCtUR.js.map +0 -1
  1293. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-m2WG-GgQ.js +0 -104
  1294. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-m2WG-GgQ.js.map +0 -1
  1295. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-uX4S6Jhp.js +0 -52
  1296. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-uX4S6Jhp.js.map +0 -1
  1297. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-C46hXtFB.js +0 -48
  1298. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-C46hXtFB.js.map +0 -1
  1299. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-3qLGmUDw.js +0 -47
  1300. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-3qLGmUDw.js.map +0 -1
  1301. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DNbDnsP0.js +0 -50
  1302. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DNbDnsP0.js.map +0 -1
  1303. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CHOTjwhC.js +0 -46
  1304. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CHOTjwhC.js.map +0 -1
  1305. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CwDzd-LC.js +0 -47
  1306. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CwDzd-LC.js.map +0 -1
  1307. package/build/server/chunks/entries/endpoints/api/v1/me/token/_server.ts.js-BrNP2Jvx.js +0 -46
  1308. package/build/server/chunks/entries/endpoints/api/v1/me/token/_server.ts.js-BrNP2Jvx.js.map +0 -1
  1309. package/build/server/chunks/entries/endpoints/api/v1/openapi.json/_server.ts.js-BV6wujA8.js +0 -47
  1310. package/build/server/chunks/entries/endpoints/api/v1/openapi.json/_server.ts.js-BV6wujA8.js.map +0 -1
  1311. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-67FJYO7d.js +0 -46
  1312. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-67FJYO7d.js.map +0 -1
  1313. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-Cszuownk.js +0 -47
  1314. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-Cszuownk.js.map +0 -1
  1315. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DbnJZRxC.js +0 -47
  1316. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DbnJZRxC.js.map +0 -1
  1317. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BuJF49r8.js +0 -46
  1318. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BuJF49r8.js.map +0 -1
  1319. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-D0oKg2OL.js +0 -46
  1320. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-D0oKg2OL.js.map +0 -1
  1321. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CUqZh95N.js +0 -47
  1322. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CUqZh95N.js.map +0 -1
  1323. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-alEuVOqm.js +0 -46
  1324. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-alEuVOqm.js.map +0 -1
  1325. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-BTNJPQOQ.js +0 -47
  1326. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-BTNJPQOQ.js.map +0 -1
  1327. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-Id9f-tL0.js +0 -47
  1328. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_server.ts.js-Id9f-tL0.js.map +0 -1
  1329. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-YjblX_ow.js +0 -46
  1330. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/tokens/_tokenId_/_server.ts.js-YjblX_ow.js.map +0 -1
  1331. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BpG6pAN8.js +0 -49
  1332. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BpG6pAN8.js.map +0 -1
  1333. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-BUX_1cOl.js +0 -48
  1334. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-BUX_1cOl.js.map +0 -1
  1335. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-Cgb5zVDg.js +0 -48
  1336. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-Cgb5zVDg.js.map +0 -1
  1337. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-ZxZy5mKA.js +0 -47
  1338. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-ZxZy5mKA.js.map +0 -1
  1339. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DShUmvnm.js +0 -47
  1340. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DShUmvnm.js.map +0 -1
  1341. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-BxExzDYj.js +0 -49
  1342. package/build/server/chunks/entries/endpoints/api/v1/solve/_solveId_/cancel/_server.ts.js-BxExzDYj.js.map +0 -1
  1343. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DehyJY3I.js +0 -109
  1344. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_server.ts.js-DehyJY3I.js.map +0 -1
  1345. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-gesabB17.js +0 -67
  1346. package/build/server/chunks/entries/endpoints/api/v1/solve-events/_solveId_/_server.ts.js-gesabB17.js.map +0 -1
  1347. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-BH-dRJ2b.js +0 -55
  1348. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-BH-dRJ2b.js.map +0 -1
  1349. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CreTBayZ.js +0 -61
  1350. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CreTBayZ.js.map +0 -1
  1351. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BM9iNSBp.js +0 -66
  1352. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BM9iNSBp.js.map +0 -1
  1353. package/build/server/chunks/entries/endpoints/mcp/_server.ts.js-DWAc11bg.js +0 -28
  1354. package/build/server/chunks/entries/endpoints/mcp/_server.ts.js-DWAc11bg.js.map +0 -1
  1355. package/build/server/chunks/entries/endpoints/oauth/register/_server.ts.js-BFzJdSOS.js +0 -29
  1356. package/build/server/chunks/entries/endpoints/oauth/register/_server.ts.js-BFzJdSOS.js.map +0 -1
  1357. package/build/server/chunks/entries/endpoints/oauth/token/_server.ts.js-BCRKecve.js +0 -32
  1358. package/build/server/chunks/entries/endpoints/oauth/token/_server.ts.js-BCRKecve.js.map +0 -1
  1359. package/build/server/chunks/entries/hooks.server.js-D5-2WKj2.js +0 -376
  1360. package/build/server/chunks/entries/hooks.server.js-D5-2WKj2.js.map +0 -1
  1361. package/build/server/chunks/entries/pages/_error.svelte.js-C-IwTJNe.js +0 -38
  1362. package/build/server/chunks/entries/pages/_error.svelte.js-C-IwTJNe.js.map +0 -1
  1363. package/build/server/chunks/entries/pages/_layout.server.ts.js-BoP0cvNn.js +0 -37
  1364. package/build/server/chunks/entries/pages/_layout.server.ts.js-BoP0cvNn.js.map +0 -1
  1365. package/build/server/chunks/entries/pages/_layout.svelte.js-DrB_Yvov.js +0 -626
  1366. package/build/server/chunks/entries/pages/_layout.svelte.js-DrB_Yvov.js.map +0 -1
  1367. package/build/server/chunks/entries/pages/_page.server.ts.js-BhYJX4Gp.js +0 -56
  1368. package/build/server/chunks/entries/pages/_page.server.ts.js-BhYJX4Gp.js.map +0 -1
  1369. package/build/server/chunks/entries/pages/_page.svelte.js-eb1DFHI8.js +0 -160
  1370. package/build/server/chunks/entries/pages/_page.svelte.js-eb1DFHI8.js.map +0 -1
  1371. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CaQNHHdx.js +0 -180
  1372. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CaQNHHdx.js.map +0 -1
  1373. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CavtHfeG.js +0 -135
  1374. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CavtHfeG.js.map +0 -1
  1375. package/build/server/chunks/entries/pages/admin/_error.svelte.js-agLpNUj9.js +0 -40
  1376. package/build/server/chunks/entries/pages/admin/_error.svelte.js-agLpNUj9.js.map +0 -1
  1377. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-Me7myzCA.js +0 -31
  1378. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-Me7myzCA.js.map +0 -1
  1379. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Bb1XxTPK.js +0 -123
  1380. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Bb1XxTPK.js.map +0 -1
  1381. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-neiDWfZD.js +0 -76
  1382. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-neiDWfZD.js.map +0 -1
  1383. package/build/server/chunks/entries/pages/admin/_page.svelte.js-v7EjPnca.js +0 -396
  1384. package/build/server/chunks/entries/pages/admin/_page.svelte.js-v7EjPnca.js.map +0 -1
  1385. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-rte072hv.js +0 -269
  1386. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-rte072hv.js.map +0 -1
  1387. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-CcAaPTYj.js +0 -458
  1388. package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-CcAaPTYj.js.map +0 -1
  1389. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-C8RVM0Vp.js +0 -74
  1390. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-C8RVM0Vp.js.map +0 -1
  1391. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-sa4l9TY0.js +0 -841
  1392. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-sa4l9TY0.js.map +0 -1
  1393. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-CEeQDW4d.js +0 -35
  1394. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-CEeQDW4d.js.map +0 -1
  1395. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-D0t7iVIE.js +0 -99
  1396. package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-D0t7iVIE.js.map +0 -1
  1397. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BeejAgtE.js +0 -86
  1398. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BeejAgtE.js.map +0 -1
  1399. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DGcU1Off.js +0 -639
  1400. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DGcU1Off.js.map +0 -1
  1401. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-7859OYZ2.js +0 -42
  1402. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-7859OYZ2.js.map +0 -1
  1403. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CkmsrgE-.js +0 -286
  1404. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CkmsrgE-.js.map +0 -1
  1405. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-B0Okn0ND.js +0 -87
  1406. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-B0Okn0ND.js.map +0 -1
  1407. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DUWQvGjY.js +0 -1389
  1408. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DUWQvGjY.js.map +0 -1
  1409. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DMaL8Y97.js +0 -79
  1410. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DMaL8Y97.js.map +0 -1
  1411. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BWf2tbtF.js +0 -636
  1412. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BWf2tbtF.js.map +0 -1
  1413. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-9xvBxNqr.js +0 -46
  1414. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-9xvBxNqr.js.map +0 -1
  1415. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B8xH2S_d.js +0 -62
  1416. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B8xH2S_d.js.map +0 -1
  1417. package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-C9IWTavI.js +0 -15
  1418. package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-C9IWTavI.js.map +0 -1
  1419. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-zUJFU1Rd.js +0 -62
  1420. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-zUJFU1Rd.js.map +0 -1
  1421. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-Bt2m5t1i.js +0 -85
  1422. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-Bt2m5t1i.js.map +0 -1
  1423. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D6MQbcvR.js +0 -119
  1424. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D6MQbcvR.js.map +0 -1
  1425. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BQMlsAZY.js +0 -14439
  1426. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BQMlsAZY.js.map +0 -1
  1427. package/build/server/chunks/entries/pages/library/_page.server.ts.js-CkSkVWSX.js +0 -51
  1428. package/build/server/chunks/entries/pages/library/_page.server.ts.js-CkSkVWSX.js.map +0 -1
  1429. package/build/server/chunks/entries/pages/library/_page.svelte.js-DlgG6QPh.js +0 -301
  1430. package/build/server/chunks/entries/pages/library/_page.svelte.js-DlgG6QPh.js.map +0 -1
  1431. package/build/server/chunks/entries/pages/login/_page.server.ts.js-Co34qkfB.js +0 -101
  1432. package/build/server/chunks/entries/pages/login/_page.server.ts.js-Co34qkfB.js.map +0 -1
  1433. package/build/server/chunks/entries/pages/login/_page.svelte.js-CwIuICGK.js +0 -214
  1434. package/build/server/chunks/entries/pages/login/_page.svelte.js-CwIuICGK.js.map +0 -1
  1435. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DYl0RBoV.js +0 -19
  1436. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DYl0RBoV.js.map +0 -1
  1437. package/build/server/chunks/entries/pages/oauth/authorize/_page.server.ts.js-BAnJc-cf.js +0 -103
  1438. package/build/server/chunks/entries/pages/oauth/authorize/_page.server.ts.js-BAnJc-cf.js.map +0 -1
  1439. package/build/server/chunks/entries/pages/oauth/authorize/_page.svelte.js-D6kQOsLm.js +0 -133
  1440. package/build/server/chunks/entries/pages/oauth/authorize/_page.svelte.js-D6kQOsLm.js.map +0 -1
  1441. package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-cD2PSzN6.js +0 -22
  1442. package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-cD2PSzN6.js.map +0 -1
  1443. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-D1J_loqC.js +0 -50
  1444. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-D1J_loqC.js.map +0 -1
  1445. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-Db6Hgzh5.js +0 -93
  1446. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-Db6Hgzh5.js.map +0 -1
  1447. package/build/server/chunks/entries/pages/projects/_page.svelte.js-ChGtirs0.js +0 -3635
  1448. package/build/server/chunks/entries/pages/projects/_page.svelte.js-ChGtirs0.js.map +0 -1
  1449. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-D4fGsR0S.js +0 -116
  1450. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-D4fGsR0S.js.map +0 -1
  1451. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DGR-V2zw.js +0 -249
  1452. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DGR-V2zw.js.map +0 -1
  1453. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DaByMf_3.js +0 -28
  1454. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DaByMf_3.js.map +0 -1
  1455. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Dfae6J8n.js +0 -176
  1456. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Dfae6J8n.js.map +0 -1
  1457. package/build/server/chunks/entries/pages/team/_page.server.ts.js-D1YeDvCv.js +0 -35
  1458. package/build/server/chunks/entries/pages/team/_page.server.ts.js-D1YeDvCv.js.map +0 -1
  1459. package/build/server/chunks/entries/pages/team/_page.svelte.js-DSuCRstj.js +0 -112
  1460. package/build/server/chunks/entries/pages/team/_page.svelte.js-DSuCRstj.js.map +0 -1
  1461. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-B9o2_AK4.js +0 -124
  1462. package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-B9o2_AK4.js.map +0 -1
  1463. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-dXfGJLst.js +0 -42
  1464. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-dXfGJLst.js.map +0 -1
  1465. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-pYTThbn7.js +0 -616
  1466. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-pYTThbn7.js.map +0 -1
  1467. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-BOhMRLD7.js +0 -62
  1468. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-BOhMRLD7.js.map +0 -1
  1469. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-B-e9XMJH.js +0 -807
  1470. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-B-e9XMJH.js.map +0 -1
  1471. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CJ59dp1M.js +0 -60
  1472. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CJ59dp1M.js.map +0 -1
  1473. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-C4e87clT.js +0 -424
  1474. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-C4e87clT.js.map +0 -1
  1475. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-DCGDbYw-.js +0 -67
  1476. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-DCGDbYw-.js.map +0 -1
  1477. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-_cJQnLna.js +0 -266
  1478. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-_cJQnLna.js.map +0 -1
  1479. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-bI1SzcJ-.js +0 -34
  1480. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-bI1SzcJ-.js.map +0 -1
  1481. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-Ea_XWCio.js +0 -308
  1482. package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-Ea_XWCio.js.map +0 -1
  1483. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DQ23baCu.js +0 -29
  1484. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DQ23baCu.js.map +0 -1
  1485. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-Bir6bvgg.js +0 -314
  1486. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-Bir6bvgg.js.map +0 -1
  1487. package/build/server/chunks/entries/pages/team/tokens/_page.server.ts.js-J4bhFsR5.js +0 -65
  1488. package/build/server/chunks/entries/pages/team/tokens/_page.server.ts.js-J4bhFsR5.js.map +0 -1
  1489. package/build/server/chunks/entries/pages/team/tokens/_page.svelte.js-uucI4K7W.js +0 -736
  1490. package/build/server/chunks/entries/pages/team/tokens/_page.svelte.js-uucI4K7W.js.map +0 -1
  1491. package/build/server/chunks/handler-B6C2uqHR.js +0 -1206
  1492. package/build/server/chunks/handler-B6C2uqHR.js.map +0 -1
  1493. package/build/server/chunks/index.js-BCPKVxn7.js +0 -3743
  1494. package/build/server/chunks/index.js-BCPKVxn7.js.map +0 -1
  1495. package/build/server/chunks/manifest.js-Vqn6wBes.js +0 -719
  1496. package/build/server/chunks/manifest.js-Vqn6wBes.js.map +0 -1
  1497. package/build/server/chunks/nodes/0.js-5t9H8hA0.js +0 -54
  1498. package/build/server/chunks/nodes/0.js-5t9H8hA0.js.map +0 -1
  1499. package/build/server/chunks/nodes/1.js-CZtGcQlu.js +0 -9
  1500. package/build/server/chunks/nodes/1.js-CZtGcQlu.js.map +0 -1
  1501. package/build/server/chunks/nodes/10.js-CxCe9PT0.js +0 -34
  1502. package/build/server/chunks/nodes/10.js-CxCe9PT0.js.map +0 -1
  1503. package/build/server/chunks/nodes/11.js-DrDJg6kg.js +0 -38
  1504. package/build/server/chunks/nodes/11.js-DrDJg6kg.js.map +0 -1
  1505. package/build/server/chunks/nodes/12.js-ByWjmdcA.js +0 -31
  1506. package/build/server/chunks/nodes/12.js-ByWjmdcA.js.map +0 -1
  1507. package/build/server/chunks/nodes/13.js-CTztYjET.js +0 -31
  1508. package/build/server/chunks/nodes/13.js-CTztYjET.js.map +0 -1
  1509. package/build/server/chunks/nodes/14.js-D3y6vhoa.js +0 -31
  1510. package/build/server/chunks/nodes/14.js-D3y6vhoa.js.map +0 -1
  1511. package/build/server/chunks/nodes/15.js-DWd4cvQ_.js +0 -39
  1512. package/build/server/chunks/nodes/15.js-DWd4cvQ_.js.map +0 -1
  1513. package/build/server/chunks/nodes/16.js-BtlJMeRt.js +0 -34
  1514. package/build/server/chunks/nodes/16.js-BtlJMeRt.js.map +0 -1
  1515. package/build/server/chunks/nodes/17.js-C4akq105.js +0 -9
  1516. package/build/server/chunks/nodes/17.js-C4akq105.js.map +0 -1
  1517. package/build/server/chunks/nodes/18.js-DwOPaZcS.js +0 -40
  1518. package/build/server/chunks/nodes/18.js-DwOPaZcS.js.map +0 -1
  1519. package/build/server/chunks/nodes/19.js-CuJ89UnM.js +0 -25
  1520. package/build/server/chunks/nodes/19.js-CuJ89UnM.js.map +0 -1
  1521. package/build/server/chunks/nodes/2.js-DyjO37xn.js +0 -34
  1522. package/build/server/chunks/nodes/2.js-DyjO37xn.js.map +0 -1
  1523. package/build/server/chunks/nodes/20.js-D2-2ePOL.js +0 -24
  1524. package/build/server/chunks/nodes/20.js-D2-2ePOL.js.map +0 -1
  1525. package/build/server/chunks/nodes/21.js-BQM9h5Im.js +0 -41
  1526. package/build/server/chunks/nodes/21.js-BQM9h5Im.js.map +0 -1
  1527. package/build/server/chunks/nodes/22.js-DNibqlRL.js +0 -40
  1528. package/build/server/chunks/nodes/22.js-DNibqlRL.js.map +0 -1
  1529. package/build/server/chunks/nodes/23.js-BFYwWaNz.js +0 -37
  1530. package/build/server/chunks/nodes/23.js-BFYwWaNz.js.map +0 -1
  1531. package/build/server/chunks/nodes/24.js-D3Eh8Zqi.js +0 -53
  1532. package/build/server/chunks/nodes/24.js-D3Eh8Zqi.js.map +0 -1
  1533. package/build/server/chunks/nodes/25.js-o4xVjnQV.js +0 -33
  1534. package/build/server/chunks/nodes/25.js-o4xVjnQV.js.map +0 -1
  1535. package/build/server/chunks/nodes/26.js-BPxO7OYV.js +0 -40
  1536. package/build/server/chunks/nodes/26.js-BPxO7OYV.js.map +0 -1
  1537. package/build/server/chunks/nodes/27.js-PbSuhVaW.js +0 -31
  1538. package/build/server/chunks/nodes/27.js-PbSuhVaW.js.map +0 -1
  1539. package/build/server/chunks/nodes/28.js-D19p7Yo7.js +0 -9
  1540. package/build/server/chunks/nodes/28.js-D19p7Yo7.js.map +0 -1
  1541. package/build/server/chunks/nodes/29.js-BnqScR0-.js +0 -31
  1542. package/build/server/chunks/nodes/29.js-BnqScR0-.js.map +0 -1
  1543. package/build/server/chunks/nodes/3.js-gbbhRHMF.js +0 -9
  1544. package/build/server/chunks/nodes/3.js-gbbhRHMF.js.map +0 -1
  1545. package/build/server/chunks/nodes/30.js-DSVk-LIj.js +0 -31
  1546. package/build/server/chunks/nodes/30.js-DSVk-LIj.js.map +0 -1
  1547. package/build/server/chunks/nodes/31.js-ZCRJp2fg.js +0 -34
  1548. package/build/server/chunks/nodes/31.js-ZCRJp2fg.js.map +0 -1
  1549. package/build/server/chunks/nodes/32.js-UsWL8pBh.js +0 -31
  1550. package/build/server/chunks/nodes/32.js-UsWL8pBh.js.map +0 -1
  1551. package/build/server/chunks/nodes/33.js-ATbjXcCU.js +0 -31
  1552. package/build/server/chunks/nodes/33.js-ATbjXcCU.js.map +0 -1
  1553. package/build/server/chunks/nodes/34.js-B3k3SxoJ.js +0 -31
  1554. package/build/server/chunks/nodes/34.js-B3k3SxoJ.js.map +0 -1
  1555. package/build/server/chunks/nodes/35.js-CpQnNRDy.js +0 -54
  1556. package/build/server/chunks/nodes/35.js-CpQnNRDy.js.map +0 -1
  1557. package/build/server/chunks/nodes/5.js-tu04YPb1.js +0 -15
  1558. package/build/server/chunks/nodes/5.js-tu04YPb1.js.map +0 -1
  1559. package/build/server/chunks/nodes/6.js-DUxcQhhU.js +0 -31
  1560. package/build/server/chunks/nodes/6.js-DUxcQhhU.js.map +0 -1
  1561. package/build/server/chunks/nodes/7.js-DKd1mUr5.js +0 -24
  1562. package/build/server/chunks/nodes/7.js-DKd1mUr5.js.map +0 -1
  1563. package/build/server/chunks/nodes/8.js-DvzPYZYW.js +0 -41
  1564. package/build/server/chunks/nodes/8.js-DvzPYZYW.js.map +0 -1
  1565. package/build/server/chunks/nodes/9.js-Dgf1JLTJ.js +0 -31
  1566. package/build/server/chunks/nodes/9.js-Dgf1JLTJ.js.map +0 -1
  1567. /package/build/client/_app/immutable/nodes/{0.B7xg1wnA.js → 0.DIdNka1f.js} +0 -0
  1568. /package/build/client/_app/immutable/nodes/{0.B7xg1wnA.js.br → 0.DIdNka1f.js.br} +0 -0
  1569. /package/build/client/_app/immutable/nodes/{0.B7xg1wnA.js.gz → 0.DIdNka1f.js.gz} +0 -0
@@ -0,0 +1,1733 @@
1
+ import { a as consentChoices, b as apiScopesFor } from './oauth.js-DS-eyMD8.js';
2
+ import { f as apiError, e as ApiErrorCode, l as requireCanViewProject, g as isApiError, m as requireCanCreateDefinition, q as requireEditableDefinition, u as requireActingOrg, v as requireManageOrgMembers, w as requireManageOrgCompute, x as splitFlatPermissions, y as assertCanGrantPlatformPermissions, z as canActorChangeOrgRole, B as canChangeOrgRole, s as scopeAllows, c as canCreateDefinition, p as projectAccessInputFromRowsWith, C as requireCanCreateProject, o as outsideTokenOrg, a as canView, D as canSolve, E as canEdit, F as requireCanEditProjectSettings, G as withAdminBypass, H as requireCanManage, I as requireTargetIsOrgMember, J as checkOwnerRemoval, K as requireCanReclaim, L as canChangeVisibilityToPublic } from './access.js-BfMTTCTH.js';
3
+ import { p as parseApiScope, d as describeApiScope, f as formatApiScope } from './types.js-g5F0W_ER.js';
4
+ import { h as hasPermission, S as SYSTEM_CONTEXT } from './context.js-DgF3EFGQ.js';
5
+ import { a as isOrgServer, i as isPlatformServer, c as serversVisibleTo } from './utils2.js-j8wahBau.js';
6
+ import { D as DefinitionChannelSchema, t as toSourceDocumentId, C as CreateDefinitionInputSchema, U as UpdateMetadataInputSchema, G as GuidSchema, P as PublishVersionInputSchema, n as actorOf } from './providers.server.js-NBgteuX7.js';
7
+ import { C as COVER_IMAGE_CONTENT_TYPES, t as toDefinitionListItem, G as GH_EXTENSIONS } from './types2.js-ZWmoZn1t.js';
8
+ import { c as OrgAssetKindSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS, D as DEFAULT_ORG_PERMISSIONS, s as slugify, A as ALL_ORG_PERMISSIONS } from './schemas.js-CEHDw4oF.js';
9
+ import { r as requireCaller, s as scopeRefusalsToday, e as readForm, f as requireUpload, g as formText, t as throwZodError, p as parseParam, h as parseBody, i as assertScope, j as ShareLinkResponseSchema, k as CreatedShareLinkResponseSchema, l as requireParams, m as OrgComputeResponseSchema, O as OrgComputePatchBodySchema, I as InviteResponseSchema, c as CreateInviteBodySchema, n as CreatedInviteResponseSchema, b as UpdateOrgMemberBodySchema, o as ApiTokenResponseSchema, d as CreateApiTokenBodySchema, q as CreatedApiTokenResponseSchema, C as CreateProjectBodySchema, v as validateProjectFlags, U as UpdateProjectBodySchema, A as AddProjectMemberBodySchema, a as UpdateProjectMemberBodySchema } from './api.js-Chw-vSDJ.js';
10
+ import { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from './types4.js-C7gj_Qvn.js';
11
+ import { f as fetchSchemaFromCompute } from './schema-extraction.js-CDuq9Z4H.js';
12
+ import { r as resolveServerForOrg } from './resolve-server.js-DDfDV9cI.js';
13
+ import { v as validateIncomingServers, a as assertStoredKeysReadable, s as storedKeysById, r as resolveApiKey, e as evictChangedServers } from './server-config-write.js-C5u4cxJl.js';
14
+ import { l as listEditableDefinitionsByDocument, a as listVisibleDefinitions, r as resolveAccessibleProjects, b as loadVisibleDefinition, m as mayUploadToDefinition, g as getVisibleDefinition, d as loadVisibleVersion } from './visibility.js-D_48QE1C.js';
15
+ import { c as canHoldApiTokens } from './tokens.js-CwDDHAj0.js';
16
+ import { d as deleteProjectWithBlobs } from './delete-with-blobs.js-BZ_YRCWH.js';
17
+ import { c as createProjectWithUniqueSlug } from './create-project.js-C4Bp9O0w.js';
18
+ import { b as buildRequestContext } from './request-context.js-IxX3HuOZ.js';
19
+ import { randomUUID } from 'node:crypto';
20
+ import { z } from 'zod';
21
+
22
+ // ../platform/src/shareLinks/schemas.ts
23
+ /**
24
+ * HTTP body for `POST /api/definitions/[guid]/share-links`. The route returns
25
+ * the raw token exactly once.
26
+ */
27
+ var CreateShareLinkInputSchema = z.object({
28
+ channel: DefinitionChannelSchema.default("live"),
29
+ name: z.string().max(128).optional(),
30
+ allowSolve: z.boolean().default(true),
31
+ /**
32
+ * Null is the minter's deliberate "uncap" choice. Omitted stays undefined here:
33
+ * the mint handler applies `DEFAULT_SHARE_LINK_MAX_SOLVES`.
34
+ */
35
+ maxSolves: z.number().int().min(1).nullable().optional(),
36
+ expiresAt: z.iso.datetime().nullable().optional()
37
+ });
38
+ // ../server/src/api/responses.ts
39
+ /** A paginated collection. The one envelope every list endpoint returns. */
40
+ function collection(page) {
41
+ return { body: {
42
+ items: page.items,
43
+ nextCursor: page.nextCursor
44
+ } };
45
+ }
46
+ /** A created resource. */
47
+ function created(body) {
48
+ return {
49
+ status: 201,
50
+ body
51
+ };
52
+ }
53
+ /** A successful mutation with nothing to say. */
54
+ function noContent() {
55
+ return { status: 204 };
56
+ }
57
+ // ../server/src/api/shaped.ts
58
+ /** Serialize a payload through an explicit response schema. */
59
+ function shaped(schema, payload, status = 200) {
60
+ return {
61
+ status,
62
+ body: schema.parse(payload)
63
+ };
64
+ }
65
+ /** `shaped`, mapped over a page of records. */
66
+ function shapedCollection(schema, page) {
67
+ return { body: {
68
+ items: page.items.map((item) => schema.parse(item)),
69
+ nextCursor: page.nextCursor
70
+ } };
71
+ }
72
+ // ../server/src/api/pagination.ts
73
+ /**
74
+ * Query-param parsing for the list pagination contract:
75
+ * `?limit=&cursor=&orderBy=&orderDir=` → `{ items, nextCursor? }`.
76
+ *
77
+ * Every list endpoint parses these identically, so the clamping lives here
78
+ * rather than inline per handler — a handler that clamps differently publishes
79
+ * a different contract under the same documented one, and nothing fails at
80
+ * build time.
81
+ */
82
+ /**
83
+ * An unparseable or out-of-range `limit` clamps rather than 400s: pagination
84
+ * params are plumbing, and failing a read over one is hostile to clients
85
+ * walking a cursor.
86
+ */
87
+ function parseListOptions(url) {
88
+ const raw = Number(url.searchParams.get("limit") ?? 50);
89
+ const limit = Number.isFinite(raw) ? Math.min(Math.max(Math.trunc(raw), 1), 200) : 50;
90
+ const orderByRaw = url.searchParams.get("orderBy");
91
+ const orderBy = orderByRaw === "createdAt" || orderByRaw === "updatedAt" || orderByRaw === "name" ? orderByRaw : void 0;
92
+ return {
93
+ limit,
94
+ cursor: url.searchParams.get("cursor") ?? void 0,
95
+ orderBy,
96
+ orderDir: url.searchParams.get("orderDir") === "asc" ? "asc" : void 0
97
+ };
98
+ }
99
+ /** `parseListOptions` plus the definition-only `solveCount` ordering. */
100
+ function parseDefinitionListOptions(url) {
101
+ const base = parseListOptions(url);
102
+ if (url.searchParams.get("orderBy") === "solveCount") return {
103
+ ...base,
104
+ orderBy: "solveCount"
105
+ };
106
+ return base;
107
+ }
108
+ // ../server/src/organizations/user-memberships.ts
109
+ var PAGE = 200;
110
+ /**
111
+ * Every org `userId` belongs to, with their membership row. Reads a page of
112
+ * orgs and the user's rows in it at a time, so the cost grows with the number
113
+ * of orgs, not with the number of members.
114
+ */
115
+ async function listUserMemberships(orgs, userId) {
116
+ const out = [];
117
+ let cursor;
118
+ do {
119
+ const page = await orgs.listOrgs(SYSTEM_CONTEXT, {
120
+ limit: PAGE,
121
+ cursor
122
+ });
123
+ const members = await orgs.getOrgMembersFor(SYSTEM_CONTEXT, page.items.map((o) => o.id), userId);
124
+ for (const org of page.items) {
125
+ const member = members.get(org.id);
126
+ if (member) out.push({
127
+ org,
128
+ member
129
+ });
130
+ }
131
+ cursor = page.nextCursor;
132
+ } while (cursor);
133
+ return out;
134
+ }
135
+ // ../notifications/src/html.ts
136
+ /**
137
+ * Escape text for interpolation into an HTML attribute or text node.
138
+ *
139
+ * One copy on purpose: per-template copies are how one of them ends up missing
140
+ * a case. Every value a template interpolates goes through this, including
141
+ * URLs — an `acceptUrl` carries a token, and a token can contain characters
142
+ * that would otherwise close the `href` early.
143
+ */
144
+ function escapeHtml(s) {
145
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
146
+ }
147
+ // ../notifications/src/layout.ts
148
+ /**
149
+ * The frame every Selva mail shares: card chrome, type stack, colours.
150
+ * Templates supply a body; this supplies the look, so mail written by
151
+ * different people at different times still reads as coming from one product.
152
+ *
153
+ * Deliberately plain — no images, no tracking pixel, no external stylesheet.
154
+ * Inline styles with a table-free layout survive the common clients, and mail
155
+ * clients that strip the styling still get readable, ordered content.
156
+ */
157
+ function renderLayout({ heading, body, footer }) {
158
+ return `<!doctype html>
159
+ <html>
160
+ <body style="margin:0;padding:24px;background:#f6f7f9;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a1a;">
161
+ <div style="max-width:480px;margin:0 auto;background:#ffffff;border:1px solid #e4e6eb;border-radius:12px;padding:32px;">
162
+ <h1 style="margin:0 0 16px;font-size:20px;font-weight:600;">${escapeHtml(heading)}</h1>
163
+ ${body}${footer ? `
164
+ <hr style="border:none;border-top:1px solid #e4e6eb;margin:24px 0;" />
165
+ <p style="margin:0;font-size:12px;line-height:1.5;color:#8a8a8a;">
166
+ ${footer}
167
+ </p>` : ""}
168
+ </div>
169
+ </body>
170
+ </html>`;
171
+ }
172
+ /** The primary action button. One definition so every mail's call to action matches. */
173
+ function renderButton(href, label) {
174
+ 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>`;
175
+ }
176
+ /**
177
+ * Fallback for clients that do not make the button clickable. Every mail whose
178
+ * point is a link needs this: a button that does not render leaves the reader
179
+ * with no way to continue.
180
+ */
181
+ function renderUrlFallback(href) {
182
+ return `<p style="margin:24px 0 0;font-size:13px;line-height:1.5;color:#6b6b6b;">
183
+ Or paste this into your browser:<br />
184
+ <span style="word-break:break-all;color:#4a4a4a;">${escapeHtml(href)}</span>
185
+ </p>`;
186
+ }
187
+ // ../notifications/src/templates/invite.ts
188
+ function formatExpiry(iso) {
189
+ const d = new Date(iso);
190
+ return Number.isNaN(d.getTime()) ? "soon" : d.toLocaleDateString("en-US", {
191
+ year: "numeric",
192
+ month: "long",
193
+ day: "numeric"
194
+ });
195
+ }
196
+ /**
197
+ * "An admin invited you to an org" — the mail carrying an invite's accept link.
198
+ *
199
+ * The text part must always carry the URL: a mail that degrades to plain text
200
+ * is still the only way the invitee can accept.
201
+ */
202
+ function renderInviteEmail(input) {
203
+ const { to, acceptUrl, orgName, invitedBy } = input;
204
+ const expiry = formatExpiry(input.expiresAt);
205
+ const inviter = invitedBy ? `${invitedBy} invited you` : "You have been invited";
206
+ return {
207
+ kind: "org.invite",
208
+ to,
209
+ subject: `${inviter} to join ${orgName} on Selva`,
210
+ text: [
211
+ `${inviter} to join ${orgName} on Selva.`,
212
+ "",
213
+ "Open this link to accept and set up your account:",
214
+ acceptUrl,
215
+ "",
216
+ `The link expires on ${expiry} and can only be used once.`,
217
+ "",
218
+ "If you weren't expecting this invitation, you can ignore this email."
219
+ ].join("\n"),
220
+ html: renderLayout({
221
+ heading: `Join ${orgName} on Selva`,
222
+ body: ` <p style="margin:0 0 24px;font-size:15px;line-height:1.5;color:#4a4a4a;">
223
+ ${escapeHtml(inviter)} to join <strong>${escapeHtml(orgName)}</strong>. Open the link below to accept and set up your account.
224
+ </p>
225
+ ${renderButton(acceptUrl, "Accept invitation")}
226
+ ${renderUrlFallback(acceptUrl)}`,
227
+ footer: `This link expires on ${escapeHtml(expiry)} and can only be used once.
228
+ If you weren't expecting this invitation, you can ignore this email.`
229
+ })
230
+ };
231
+ }
232
+ // ../notifications/src/templates/api-token.ts
233
+ function formatDate(iso) {
234
+ const d = new Date(iso);
235
+ return Number.isNaN(d.getTime()) ? iso : d.toLocaleDateString("en-US", {
236
+ year: "numeric",
237
+ month: "long",
238
+ day: "numeric"
239
+ });
240
+ }
241
+ /**
242
+ * "A new API token was created on your account". The point is the case where
243
+ * the owner didn't create it, so the revoke link leads.
244
+ */
245
+ function renderApiTokenCreatedEmail(input) {
246
+ const { to, tokenName, orgName, scopes, manageUrl } = input;
247
+ const expiry = formatDate(input.expiresAt);
248
+ return {
249
+ kind: "api_token.created",
250
+ to,
251
+ subject: `New API token "${tokenName}" in ${orgName}`,
252
+ text: [
253
+ `A new API token named "${tokenName}" was created on your Selva account in ${orgName}.`,
254
+ "",
255
+ "It can:",
256
+ ...scopes.map((s) => `- ${s}`),
257
+ "",
258
+ `It expires on ${expiry}.`,
259
+ "",
260
+ "If you didn't create it, revoke it now:",
261
+ manageUrl
262
+ ].join("\n"),
263
+ html: renderLayout({
264
+ heading: "New API token",
265
+ body: ` <p style="margin:0 0 16px;font-size:15px;line-height:1.5;color:#4a4a4a;">
266
+ A new API token named <strong>${escapeHtml(tokenName)}</strong> was created on your account in <strong>${escapeHtml(orgName)}</strong>. It can:
267
+ </p>
268
+ <ul style="margin:0 0 24px;padding-left:20px;font-size:15px;line-height:1.5;color:#4a4a4a;">
269
+ ${scopes.map((s) => `<li>${escapeHtml(s)}</li>`).join("")}
270
+ </ul>
271
+ ${renderButton(manageUrl, "Review your tokens")}
272
+ ${renderUrlFallback(manageUrl)}`,
273
+ footer: `It expires on ${escapeHtml(expiry)}. If you didn't create it, revoke it from the page above.`
274
+ })
275
+ };
276
+ }
277
+ // ../server/src/notifications/deliver-invite.ts
278
+ /**
279
+ * Mail an invite's accept link, best-effort.
280
+ *
281
+ * Shared by the mint and resend routes so they cannot disagree about what the
282
+ * invitee receives. Swallows every failure: the invite row is already
283
+ * committed and the caller still holds `acceptUrl` to share by hand, so a dead
284
+ * SMTP host must not report a valid invite as a failure.
285
+ */
286
+ async function deliverInvite(input) {
287
+ const { ctx, log, invite, acceptUrl, actor, orgs, notifications, fallbackOrgName } = input;
288
+ try {
289
+ const org = await orgs.getOrg(ctx, invite.orgId);
290
+ const { status } = await notifications.send(renderInviteEmail({
291
+ to: invite.email,
292
+ acceptUrl,
293
+ orgName: org?.name ?? fallbackOrgName,
294
+ invitedBy: actor.profile?.displayName || actor.user?.email,
295
+ expiresAt: invite.expiresAt
296
+ }), log);
297
+ return status;
298
+ } catch (err) {
299
+ log.warn("Invite mail could not be prepared", {
300
+ component: "Invites",
301
+ inviteId: invite.id,
302
+ reason: err instanceof Error ? err.message : String(err)
303
+ });
304
+ return "failed";
305
+ }
306
+ }
307
+ // ../server/src/handlers/services.ts
308
+ function definitionService(deps) {
309
+ const service = deps.services.definitions;
310
+ if (!service) throw new Error("SelvaDeps.services.definitions is not wired — mount requires it.");
311
+ return service;
312
+ }
313
+ function orgAssetService(deps) {
314
+ const service = deps.services.orgAssets;
315
+ if (!service) throw new Error("SelvaDeps.services.orgAssets is not wired — mount requires it.");
316
+ return service;
317
+ }
318
+ /**
319
+ * A token codec, or a named failure.
320
+ *
321
+ * Minting through an absent codec is the one failure mode worth being loud
322
+ * about: a handler that quietly skipped hashing would persist a row whose token
323
+ * can never be verified, and nothing downstream would report it.
324
+ */
325
+ function tokenCodec(deps, family) {
326
+ const codec = deps.tokens[family];
327
+ if (!codec) throw new Error(`SelvaDeps.tokens.${family} is not wired — mount requires it.`);
328
+ return codec;
329
+ }
330
+ // ../server/src/handlers/me.ts
331
+ /**
332
+ * Whoami. The first call a non-browser client makes, and the only way a token
333
+ * holder can see which org their credential resolved into — `actingOrgId` is
334
+ * derived per request from the caller's membership, not frozen at mint time.
335
+ */
336
+ var getMe = async (req) => {
337
+ const { ctx, user } = requireCaller(req);
338
+ return { body: {
339
+ userId: user.id,
340
+ email: user.email,
341
+ displayName: req.profile?.displayName,
342
+ actingOrgId: ctx.actingOrgId,
343
+ platformPermissions: ctx.platformPermissions,
344
+ orgPermissions: ctx.orgPermissions,
345
+ starredDefinitions: req.profile?.starredDefinitions ?? [],
346
+ ...ctx.apiScope && { apiToken: {
347
+ id: ctx.apiScope.tokenId,
348
+ scopes: ctx.apiScope.scopes.map(formatApiScope),
349
+ expiresAt: ctx.apiScope.expiresAt
350
+ } }
351
+ } };
352
+ };
353
+ // ../server/src/handlers/me.starred.ts
354
+ /**
355
+ * Starring a definition for the calling user. Both directions are idempotent.
356
+ *
357
+ * No visibility check: a star is a row on the caller's own profile, keyed by
358
+ * guid, and reveals nothing about whether that guid exists. The read paths that
359
+ * expand stars into definitions filter by visibility there.
360
+ */
361
+ var starDefinition = async (req) => {
362
+ const { ctx, user } = requireCaller(req);
363
+ const { guid } = requireParams(req.params, "guid");
364
+ await req.deps.userProfile.starDefinition(ctx, user.id, guid);
365
+ return noContent();
366
+ };
367
+ var unstarDefinition = async (req) => {
368
+ const { ctx, user } = requireCaller(req);
369
+ const { guid } = requireParams(req.params, "guid");
370
+ await req.deps.userProfile.unstarDefinition(ctx, user.id, guid);
371
+ return noContent();
372
+ };
373
+ // ../server/src/handlers/orgs.ts
374
+ /**
375
+ * The acting org's record and roster.
376
+ *
377
+ * `requireActingOrg` is the tenancy gate on both: the URL `orgId` must equal
378
+ * `ctx.actingOrgId`, so the URL alone never decides which tenant is read.
379
+ */
380
+ /** The acting org's record — name, slug, and branding asset URLs. */
381
+ var getOrg = async (req) => {
382
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
383
+ const org = await req.deps.orgs.getOrg(ctx, orgId);
384
+ if (!org) apiError(404, ApiErrorCode.NOT_FOUND, "Organization not found");
385
+ return { body: org };
386
+ };
387
+ /**
388
+ * List the org's members. Any member of the acting org may read this — the
389
+ * roster is what the team page renders, and `requireActingOrg` already confines
390
+ * the read to the caller's own tenant.
391
+ */
392
+ var listOrgMembers = async (req) => {
393
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
394
+ return collection(await req.deps.orgs.listOrgMembers(ctx, orgId, parseListOptions(req.url)));
395
+ };
396
+ // ../server/src/handlers/apiTokens.ts
397
+ /**
398
+ * API tokens: mint, list, revoke.
399
+ *
400
+ * **Session-only.** A key can't manage keys, so a leaked one can't mint more or
401
+ * revoke the owner's others to cover its tracks. The one exception is a key
402
+ * revoking itself, which only ever takes access away.
403
+ *
404
+ * **The raw key exists only in the mint response.** The store holds its HMAC,
405
+ * and every response goes through a schema that has no `tokenHash`.
406
+ */
407
+ var DAY_MS = 864e5;
408
+ function requireSessionInOrg(req) {
409
+ if (req.ctx?.apiScope) apiError(403, ApiErrorCode.FORBIDDEN, "API tokens can’t manage API tokens. Sign in to the web app to do this.");
410
+ return requireActingOrg(req, req.params.orgId);
411
+ }
412
+ /**
413
+ * May `ctx` hold a key with `scopes`, by the host's policy or the default rule?
414
+ * The one call every mint path makes, so a host's token page and its consent
415
+ * screen can't disagree with the mint.
416
+ */
417
+ function mayHoldApiTokens(deps, ctx, scopes) {
418
+ return canHoldApiTokens(ctx, scopes, {
419
+ policy: deps.tokens.mayHoldApiTokens,
420
+ deps
421
+ });
422
+ }
423
+ function unavailable() {
424
+ apiError(503, ApiErrorCode.API_TOKENS_UNAVAILABLE, "API tokens are not available on this server.");
425
+ }
426
+ function storeOf(req) {
427
+ return req.deps.data.apiTokens ?? unavailable();
428
+ }
429
+ function codecOf(req) {
430
+ return req.deps.tokens.apiTokens ?? unavailable();
431
+ }
432
+ function toResponse(token) {
433
+ return {
434
+ ...token,
435
+ refusedToday: scopeRefusalsToday(token.id)
436
+ };
437
+ }
438
+ /** Who sees every owner's keys in an org and may revoke any of them. */
439
+ var canManageApiTokenRoster = (ctx) => hasPermission(ctx, "manage_org_members");
440
+ /**
441
+ * Keys in `orgId`, newest first, including revoked and expired ones: the
442
+ * caller's own, or with `roster` everyone's. The list endpoint and a host's
443
+ * token page both read through here, so they can't disagree on who sees what.
444
+ */
445
+ async function listOrgApiTokens(store, ctx, orgId, { roster = false, ...opts } = {}) {
446
+ if (roster && !canManageApiTokenRoster(ctx)) apiError(403, ApiErrorCode.FORBIDDEN, "Only org admins can see everyone’s API tokens.");
447
+ const page = await store.listByOrg(ctx, orgId, {
448
+ ...opts,
449
+ userId: roster ? void 0 : ctx.userId
450
+ });
451
+ return {
452
+ ...page,
453
+ items: page.items.map(toResponse)
454
+ };
455
+ }
456
+ /**
457
+ * Refuse scopes naming something outside this org or out of the creator's
458
+ * sight. Not the security boundary: a key never exceeds its owner's live rights
459
+ * anyway. This stops someone minting a key that can only ever be refused.
460
+ */
461
+ async function assertScopesReachable(req, orgId, scopes) {
462
+ const refuse = (message) => apiError(400, ApiErrorCode.VALIDATION_FAILED, message, { scopes: message });
463
+ for (const value of scopes) {
464
+ const { resource } = parseApiScope(value) ?? refuse(`Unknown scope: ${value}`);
465
+ if (resource.kind === "all") continue;
466
+ if (resource.kind === "org") {
467
+ if (resource.id !== orgId) refuse("An org scope must name this org.");
468
+ continue;
469
+ }
470
+ let projectId = resource.id;
471
+ if (resource.kind === "definition") projectId = (await req.deps.definitionMeta.get(req.ctx, resource.id) ?? refuse(`No definition ${resource.id}.`)).projectId;
472
+ const project = await req.deps.projects.getProject(req.ctx, projectId);
473
+ if (!project || project.orgId !== orgId) refuse(`No ${resource.kind} ${resource.id} in this org.`);
474
+ try {
475
+ await requireCanViewProject(req, projectId);
476
+ } catch (err) {
477
+ if (isApiError(err)) refuse(`You can’t access ${resource.kind} ${resource.id}.`);
478
+ throw err;
479
+ }
480
+ }
481
+ }
482
+ /**
483
+ * Tell the owner a key now exists on their account, best-effort. The case that
484
+ * matters is the one where they didn't make it.
485
+ */
486
+ async function mailTokenCreated(req, token) {
487
+ const notifications = req.deps.notifications;
488
+ const to = req.user?.email;
489
+ if (!notifications || !to) return;
490
+ try {
491
+ const org = await req.deps.orgs.getOrg(req.ctx, token.orgId);
492
+ await notifications.send(renderApiTokenCreatedEmail({
493
+ to,
494
+ tokenName: token.name,
495
+ orgName: org?.name ?? req.deps.instanceName,
496
+ scopes: token.scopes.map(describeApiScope),
497
+ expiresAt: token.expiresAt,
498
+ manageUrl: `${req.url.origin}${req.deps.apiTokenSettingsPath}`
499
+ }), req.log);
500
+ } catch (err) {
501
+ req.log.warn("API token mail could not be sent", {
502
+ component: "ApiTokens",
503
+ tokenId: token.id,
504
+ reason: err instanceof Error ? err.message : String(err)
505
+ });
506
+ }
507
+ }
508
+ /** The caller's own keys in this org. `?all=true` returns everyone's and needs `manage_org_members`. */
509
+ var listApiTokens = async (req) => {
510
+ const { ctx, orgId } = requireSessionInOrg(req);
511
+ const page = await listOrgApiTokens(storeOf(req), ctx, orgId, {
512
+ ...parseListOptions(req.url),
513
+ roster: req.url.searchParams.get("all") === "true"
514
+ });
515
+ return shapedCollection(ApiTokenResponseSchema, page);
516
+ };
517
+ /**
518
+ * Mint a token acting as the caller, in the caller's acting org. Every mint
519
+ * goes through here, the token endpoint and an OAuth consent alike, so the
520
+ * holder rule, the scope checks, the audit event and the owner's email always
521
+ * apply. A consent screen passes a `req` whose `ctx` acts in the org the user
522
+ * picked.
523
+ */
524
+ async function mintApiToken(req, input) {
525
+ const { ctx, user } = requireCaller(req);
526
+ const orgId = ctx.actingOrgId;
527
+ if (ctx.apiScope || !orgId) apiError(403, ApiErrorCode.FORBIDDEN, "API tokens can only be created from a signed-in session.");
528
+ if (!await mayHoldApiTokens(req.deps, ctx, input.scopes)) apiError(403, ApiErrorCode.FORBIDDEN, "You can’t create API tokens with this access in this org.");
529
+ const store = storeOf(req);
530
+ const codec = codecOf(req);
531
+ const delegated = req.deps.auth.delegatedSession;
532
+ if (delegated && !(await delegated.status()).ok) unavailable();
533
+ await assertScopesReachable(req, orgId, input.scopes);
534
+ const raw = codec.mintRawToken();
535
+ const now = /* @__PURE__ */ new Date();
536
+ const token = {
537
+ id: randomUUID(),
538
+ userId: user.id,
539
+ createdBy: user.id,
540
+ orgId,
541
+ name: input.name,
542
+ tokenHash: codec.hashToken(raw),
543
+ scopes: [...new Set(input.scopes)],
544
+ createdAt: now.toISOString(),
545
+ expiresAt: new Date(now.getTime() + input.expiresInDays * DAY_MS).toISOString(),
546
+ lastUsedAt: null,
547
+ revokedAt: null
548
+ };
549
+ await store.create(ctx, token);
550
+ await mailTokenCreated(req, token);
551
+ const { tokenHash: _hash, ...summary } = token;
552
+ return {
553
+ token: toResponse(summary),
554
+ secret: raw
555
+ };
556
+ }
557
+ /** Mint a token acting as the caller. The raw key is in this response and nowhere else. */
558
+ var createApiToken = async (req) => {
559
+ requireSessionInOrg(req);
560
+ const input = await parseBody(req.request, CreateApiTokenBodySchema);
561
+ return {
562
+ status: 201,
563
+ headers: { "Cache-Control": "no-store" },
564
+ body: CreatedApiTokenResponseSchema.parse(await mintApiToken(req, input))
565
+ };
566
+ };
567
+ /**
568
+ * Revoke a token: the owner's own, or anyone's in the org for
569
+ * `manage_org_members`. Someone else's token reads as missing, not forbidden.
570
+ */
571
+ var revokeApiToken = async (req) => {
572
+ const { ctx, orgId } = requireSessionInOrg(req);
573
+ const { tokenId } = requireParams(req.params, "tokenId");
574
+ const store = storeOf(req);
575
+ const token = await store.get(ctx, tokenId);
576
+ const own = token?.userId === ctx.userId;
577
+ if (!token || token.orgId !== orgId || !own && !canManageApiTokenRoster(ctx)) apiError(404, ApiErrorCode.NOT_FOUND, "API token not found");
578
+ await store.revoke(ctx, tokenId, own ? "owner" : "admin");
579
+ return noContent();
580
+ };
581
+ /**
582
+ * Revoke the key that sent this request, and nothing else. Any key may call it,
583
+ * whatever its scopes, so a client signing out never needs more than it has.
584
+ * A browser session gets 400: it has no key to revoke.
585
+ */
586
+ var revokeOwnApiToken = async (req) => {
587
+ const { ctx } = requireCaller(req);
588
+ if (!ctx.apiScope) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Only an API token can revoke itself. Revoke tokens from the web app instead.");
589
+ await storeOf(req).revoke(ctx, ctx.apiScope.tokenId, "owner");
590
+ return noContent();
591
+ };
592
+ /**
593
+ * Revoke every live key `userId` holds, in one org or (no `orgId`) all of
594
+ * them. Call it when someone leaves an org or is disabled: the resolver already
595
+ * refuses those keys, but without this they would work again the moment the
596
+ * person is re-added or re-enabled.
597
+ *
598
+ * Best effort. The removal or disable has already committed, so a failure is
599
+ * logged rather than thrown.
600
+ */
601
+ async function revokeUserApiTokens(store, ctx, userId, opts, log) {
602
+ if (!store) return;
603
+ try {
604
+ await store.revokeAllForUser({
605
+ ...ctx,
606
+ system: true
607
+ }, userId, opts);
608
+ } catch (err) {
609
+ log.error("Failed to revoke API tokens", {
610
+ component: "ApiTokens",
611
+ userId,
612
+ orgId: opts.orgId,
613
+ reason: opts.reason,
614
+ err: err instanceof Error ? err.message : String(err)
615
+ });
616
+ }
617
+ }
618
+ // ../server/src/handlers/ownerChanges.ts
619
+ var ownerChangeQueues = /* @__PURE__ */ new Map();
620
+ /**
621
+ * Runs one org's or project's member changes one at a time. The sole-owner check
622
+ * reads, then writes: two owners acting on each other at once would each see the
623
+ * other as the survivor and leave none. Per process only; replicas still need an
624
+ * atomic store write to close it.
625
+ */
626
+ function serializeOwnerChanges(id, run) {
627
+ const next = (ownerChangeQueues.get(id) ?? Promise.resolve()).catch(() => {}).then(run);
628
+ const tail = next.catch(() => {});
629
+ ownerChangeQueues.set(id, tail);
630
+ tail.then(() => {
631
+ if (ownerChangeQueues.get(id) === tail) ownerChangeQueues.delete(id);
632
+ });
633
+ return next;
634
+ }
635
+ // ../server/src/handlers/orgMembers.ts
636
+ /**
637
+ * Org member role, permissions, and removal.
638
+ *
639
+ * Two gates run on every request: `requireManageOrgMembers` (owner+admin) and
640
+ * `requireActingOrg` (the URL `orgId` must equal `ctx.actingOrgId`, so
641
+ * cross-org member mutation is blocked even for an actor with permissions in
642
+ * another org).
643
+ *
644
+ * The sole-owner invariant applies to demotion and removal alike — an org with
645
+ * no owner is unadministrable, and removing an owner ends their role exactly as
646
+ * demoting them does.
647
+ */
648
+ var ROSTER_PAGE_LIMIT = 200;
649
+ var MAX_ROSTER_PAGES = 100;
650
+ /**
651
+ * Whether anyone other than `exceptUserId` still owns the org.
652
+ *
653
+ * Both branches below need this and both used to scan the roster themselves —
654
+ * the sole-owner invariant is one rule, so it reads from one place.
655
+ *
656
+ * Pages rather than reading one 200-row window: a second owner sitting past the
657
+ * first page read as "no other owner", so the invariant refused a demotion or
658
+ * removal that was in fact safe. That failed closed, but it made the org
659
+ * unadministrable exactly when it had grown enough to need administering.
660
+ * Returns on the first owner found, so the common case is still one round-trip.
661
+ */
662
+ async function hasAnotherOwner(req, ctx, orgId, exceptUserId) {
663
+ let cursor;
664
+ for (let page = 0; page < MAX_ROSTER_PAGES; page++) {
665
+ const result = await req.deps.orgs.listOrgMembers(ctx, orgId, {
666
+ limit: ROSTER_PAGE_LIMIT,
667
+ cursor
668
+ });
669
+ if (result.items.some((m) => m.role === "owner" && m.userId !== exceptUserId && !m.deletedAt)) return true;
670
+ cursor = result.nextCursor;
671
+ if (!cursor) return false;
672
+ }
673
+ req.log.warn("hasAnotherOwner hit the page cap — treating as sole owner", {
674
+ orgId,
675
+ pages: MAX_ROSTER_PAGES
676
+ });
677
+ return false;
678
+ }
679
+ /**
680
+ * Projects in `orgId` where `userId` is the only live owner — the ones that
681
+ * will have no owner once `removeOrgMember` cascades their membership rows.
682
+ *
683
+ * **Report, do not block.** Blocking puts an unbounded chore in front of
684
+ * offboarding — the cost scales with how many projects the departing person
685
+ * owned, which is backwards, because the most prolific people are the ones
686
+ * whose departure most needs to be clean. An offboarding that fails halfway is
687
+ * worse than an ownerless project: the person stays in the org while someone
688
+ * works through the backlog. Reclaim already exists to adopt an ownerless
689
+ * project, so the recovery path is built; what was missing was any signal that
690
+ * recovery was needed. Hence the event.
691
+ *
692
+ * MUST be called before the removal — afterwards the rows it reads are gone.
693
+ */
694
+ async function findProjectsLosingSoleOwner(req, orgId, userId) {
695
+ const projects = req.deps.projects;
696
+ const orgProjects = await projects.listProjects(SYSTEM_CONTEXT, orgId, { limit: ROSTER_PAGE_LIMIT });
697
+ return (await Promise.all(orgProjects.items.map(async (project) => {
698
+ const owners = (await projects.listProjectMembers(SYSTEM_CONTEXT, project.id, { limit: ROSTER_PAGE_LIMIT })).items.filter((m) => m.role === "owner" && !m.deletedAt);
699
+ return owners.length === 1 && owners[0].userId === userId ? project : null;
700
+ }))).filter((p) => p !== null);
701
+ }
702
+ /**
703
+ * Body accepts either or both:
704
+ * - `{ role: OrgRole }` — change the member's role. Owner-only.
705
+ * - `{ permissions: OrgPermission[] }` — replace the member's grantable
706
+ * permissions. Owner/admin via `manage_org_members`. For `member`-role
707
+ * targets, only `MEMBER_ASSIGNABLE_PERMISSIONS` are accepted; promoting a
708
+ * member's permissions does NOT change their role.
709
+ */
710
+ var updateOrgMember = async (req) => {
711
+ const { userId } = requireParams(req.params, "orgId", "userId");
712
+ requireManageOrgMembers(req);
713
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
714
+ const patch = await parseBody(req.request, UpdateOrgMemberBodySchema);
715
+ const orgs = req.deps.orgs;
716
+ return serializeOwnerChanges(orgId, async () => {
717
+ const [actorMember, target] = await Promise.all([orgs.getOrgMember(ctx, orgId, ctx.userId), orgs.getOrgMember(ctx, orgId, userId)]);
718
+ if (!target) apiError(404, ApiErrorCode.NOT_FOUND, "Member not found in this organization.");
719
+ if (!actorMember) apiError(403, ApiErrorCode.FORBIDDEN, "You are not a member of this organization.");
720
+ const roleChange = patch.role !== void 0 && patch.role !== target.role;
721
+ if (roleChange) {
722
+ if (!canChangeOrgRole({
723
+ actorMember,
724
+ role: patch.role
725
+ }) || !canChangeOrgRole({
726
+ actorMember,
727
+ role: target.role
728
+ })) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can change roles.");
729
+ 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.");
730
+ }
731
+ if (patch.permissions !== void 0) {
732
+ if (!canChangeOrgRole({
733
+ actorMember,
734
+ role: target.role
735
+ })) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can change an owner’s or admin’s permissions.");
736
+ const effectiveRole = patch.role ?? target.role;
737
+ const valid = effectiveRole === "member" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);
738
+ const invalid = patch.permissions.filter((p) => !valid.has(p));
739
+ if (invalid.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Permissions [${invalid.join(", ")}] cannot be assigned to a ${effectiveRole}.`);
740
+ }
741
+ if (roleChange) await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);
742
+ if (patch.permissions !== void 0) await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);
743
+ return noContent();
744
+ });
745
+ };
746
+ /**
747
+ * Remove a member from the org. Owner/admin via `manage_org_members`, same
748
+ * tenancy check as PATCH, and the same sole-owner invariant — removing the last
749
+ * owner would leave the org unadministrable.
750
+ */
751
+ var removeOrgMember = async (req) => {
752
+ const { userId } = requireParams(req.params, "orgId", "userId");
753
+ requireManageOrgMembers(req);
754
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
755
+ const orgs = req.deps.orgs;
756
+ const orphaned = await serializeOwnerChanges(orgId, async () => {
757
+ const [actorMember, target] = await Promise.all([orgs.getOrgMember(ctx, orgId, ctx.userId), orgs.getOrgMember(ctx, orgId, userId)]);
758
+ if (!target) apiError(404, ApiErrorCode.NOT_FOUND, "Member not found in this organization.");
759
+ if (!canChangeOrgRole({
760
+ actorMember,
761
+ role: target.role
762
+ })) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can remove another owner.");
763
+ 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.");
764
+ const losing = await findProjectsLosingSoleOwner(req, orgId, userId);
765
+ await orgs.removeOrgMember(ctx, orgId, userId);
766
+ return losing;
767
+ });
768
+ if (orphaned.length > 0) {
769
+ await req.deps.events.emit({
770
+ type: "org_member.removed_orphaning_projects",
771
+ orgId,
772
+ userId,
773
+ projectIds: orphaned.map((p) => p.id),
774
+ ...actorOf(ctx)
775
+ });
776
+ req.log.warn("Org member removal left projects without an owner", {
777
+ orgId,
778
+ userId,
779
+ actorId: ctx.userId,
780
+ projectCount: orphaned.length
781
+ });
782
+ }
783
+ const email = (await req.deps.auth.getUser(userId))?.email;
784
+ if (email) try {
785
+ await req.deps.invites.revokePendingByEmail(ctx, orgId, email);
786
+ } catch (err) {
787
+ req.log.error("Removed org member but failed to revoke their pending invites", {
788
+ orgId,
789
+ userId,
790
+ error: err instanceof Error ? err.message : String(err)
791
+ });
792
+ }
793
+ await revokeUserApiTokens(req.deps.data.apiTokens, ctx, userId, {
794
+ orgId,
795
+ reason: "member_removed"
796
+ }, req.log);
797
+ return noContent();
798
+ };
799
+ // ../server/src/handlers/reclaim.ts
800
+ /**
801
+ * Org owner/admin escape hatch for a project they cannot otherwise reach.
802
+ *
803
+ * Adds the actor as a co-owner and does NOT demote the existing owner.
804
+ * Idempotent: reclaiming twice is a no-op, because `addProjectMember`
805
+ * reactivates a soft-deleted row in place.
806
+ */
807
+ var reclaimProject = async (req) => {
808
+ const { id } = requireParams(req.params, "id");
809
+ const { user, ctx, project } = await requireCanReclaim(req, id);
810
+ const now = (/* @__PURE__ */ new Date()).toISOString();
811
+ const member = {
812
+ projectId: id,
813
+ userId: user.id,
814
+ role: "owner",
815
+ joinedAt: now,
816
+ updatedAt: now,
817
+ updatedBy: ctx.userId || user.id,
818
+ deletedAt: null
819
+ };
820
+ await req.deps.projects.addProjectMember(ctx, member);
821
+ await req.deps.events.emit({
822
+ type: "project.reclaimed",
823
+ projectId: id,
824
+ orgId: project.orgId,
825
+ ...actorOf(ctx),
826
+ priorVisibility: project.visibility
827
+ });
828
+ return created({ member });
829
+ };
830
+ // ../server/src/handlers/orgAssets.ts
831
+ /**
832
+ * Org branding assets, generic over kind (`logo`, `favicon`, …). Gated on
833
+ * `manage_org_members` — org branding is an org-admin action.
834
+ *
835
+ * Raster images and SVG are both accepted. Every input is rasterized to WebP by
836
+ * the shared transcoder inside the storage provider, so SVG carries no XSS
837
+ * surface: no vector blob is ever stored or served. The allowlist below is the
838
+ * HTTP gate; the rasterization is the security control.
839
+ */
840
+ var ALLOWED_CONTENT_TYPES = /* @__PURE__ */ new Set([
841
+ "image/png",
842
+ "image/jpeg",
843
+ "image/webp",
844
+ "image/gif",
845
+ "image/svg+xml"
846
+ ]);
847
+ function parseKind(params) {
848
+ const kind = OrgAssetKindSchema.safeParse(params.kind);
849
+ if (!kind.success) apiError(404, ApiErrorCode.NOT_FOUND, `Unknown asset kind '${params.kind}'`);
850
+ return kind.data;
851
+ }
852
+ var uploadOrgAsset = async (req) => {
853
+ requireManageOrgMembers(req);
854
+ const kind = parseKind(req.params);
855
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
856
+ if (!await req.deps.orgs.getOrg(ctx, orgId)) apiError(404, ApiErrorCode.NOT_FOUND, "Organization not found");
857
+ const { file } = requireUpload(await readForm(req.request), "image", {
858
+ maxBytes: req.deps.uploadLimits.maxImageFileSize,
859
+ contentTypes: {
860
+ allowed: ALLOWED_CONTENT_TYPES,
861
+ message: "Unsupported image type. Allowed: PNG, JPG, WebP, GIF, SVG"
862
+ },
863
+ label: "Image"
864
+ });
865
+ const bytes = new Uint8Array(await file.arrayBuffer());
866
+ return { body: {
867
+ kind,
868
+ url: await orgAssetService(req.deps).saveAsset(ctx, orgId, kind, bytes, file.type)
869
+ } };
870
+ };
871
+ var removeOrgAsset = async (req) => {
872
+ requireManageOrgMembers(req);
873
+ const kind = parseKind(req.params);
874
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
875
+ await orgAssetService(req.deps).removeAsset(ctx, orgId, kind);
876
+ return noContent();
877
+ };
878
+ // ../server/src/handlers/shareLinks.ts
879
+ /**
880
+ * Share-link administration.
881
+ *
882
+ * Minting, listing and revoking are gated by `canEditDefinition` — the same
883
+ * authority that uploads versions and publishes. The raw token appears in the
884
+ * POST response and nowhere else; everything afterwards sees `hasToken: true`.
885
+ *
886
+ * **Responses go through `shaped`/`shapedCollection`, never `{ body }`.** A
887
+ * `ShareLink` carries `tokenHash`, and the response schema is what drops it —
888
+ * returning the record directly would put a credential hash on the wire with
889
+ * nothing failing at build time.
890
+ */
891
+ function assertSharingEnabled(req) {
892
+ if (!req.deps.flag("ENABLE_SHARING")) apiError(404, ApiErrorCode.NOT_FOUND, "Share links are disabled on this instance (ENABLE_SHARING).");
893
+ }
894
+ /** `tokenHash` is dropped by the response schema, not by this function. */
895
+ function forClient(link) {
896
+ return {
897
+ ...link,
898
+ hasToken: true
899
+ };
900
+ }
901
+ var listShareLinks = async (req) => {
902
+ assertSharingEnabled(req);
903
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
904
+ const { ctx } = await requireEditableDefinition(req, guid);
905
+ const page = await req.deps.shareLinks.listByDefinition(ctx, guid, parseListOptions(req.url));
906
+ return shapedCollection(ShareLinkResponseSchema, {
907
+ items: page.items.map(forClient),
908
+ nextCursor: page.nextCursor
909
+ });
910
+ };
911
+ var createShareLink = async (req) => {
912
+ assertSharingEnabled(req);
913
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
914
+ const { user } = requireCaller(req);
915
+ const { ctx } = await requireEditableDefinition(req, guid);
916
+ const input = await parseBody(req.request, CreateShareLinkInputSchema, { missingAs: {} });
917
+ const codec = tokenCodec(req.deps, "shareLinks");
918
+ const raw = codec.mintRawToken();
919
+ const link = {
920
+ id: randomUUID(),
921
+ definitionId: guid,
922
+ channel: input.channel,
923
+ tokenHash: codec.hashToken(raw),
924
+ name: input.name,
925
+ createdBy: user.id,
926
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
927
+ expiresAt: input.expiresAt ?? null,
928
+ revokedAt: null,
929
+ allowSolve: input.allowSolve,
930
+ maxSolves: input.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : input.maxSolves,
931
+ solveCount: 0
932
+ };
933
+ await req.deps.shareLinks.create(ctx, link);
934
+ return shaped(CreatedShareLinkResponseSchema, {
935
+ link: forClient(link),
936
+ token: raw
937
+ }, 201);
938
+ };
939
+ /**
940
+ * Revoke a share link (soft-delete). Idempotent, gated by `canEditDefinition`.
941
+ *
942
+ * The link must belong to this definition, so one definition's editor cannot
943
+ * revoke another's link with a guessed or leaked linkId.
944
+ */
945
+ var revokeShareLink = async (req) => {
946
+ assertSharingEnabled(req);
947
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
948
+ const linkId = parseParam(req.params.linkId, GuidSchema, "link ID");
949
+ const { ctx } = await requireEditableDefinition(req, guid);
950
+ const existing = await req.deps.shareLinks.getById(ctx, linkId);
951
+ if (!existing || existing.definitionId !== guid) apiError(404, ApiErrorCode.NOT_FOUND, "Share link not found.");
952
+ await req.deps.shareLinks.revoke(ctx, linkId);
953
+ return noContent();
954
+ };
955
+ // ../server/src/handlers/definitions.ts
956
+ /**
957
+ * Definition handlers: the collection, one definition's detail and metadata,
958
+ * its live schema, cover image, and the publish channel.
959
+ *
960
+ * Solve and the two compute routes stay unwrapped deliberately — they stream
961
+ * and mark their own metrics, which the `ApiResponse` envelope does not model.
962
+ */
963
+ var LISTABLE_STATUSES = [
964
+ "draft",
965
+ "published",
966
+ "archived"
967
+ ];
968
+ /**
969
+ * Definitions the caller can view. Visibility is resolved into the query via
970
+ * `projectIds`, so `limit`/`nextCursor` describe the filtered set.
971
+ *
972
+ * `?documentId=<guid>` narrows to definitions uploaded from that Grasshopper
973
+ * document which the caller can upload a new version of.
974
+ */
975
+ var listDefinitions = async (req) => {
976
+ const { ctx } = requireCaller(req);
977
+ const documentParam = req.url.searchParams.get("documentId");
978
+ const documentId = documentParam === null ? null : toSourceDocumentId(documentParam);
979
+ if (documentParam !== null && !documentId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "documentId must be a GUID");
980
+ const statusParam = req.url.searchParams.get("status");
981
+ if (statusParam && !LISTABLE_STATUSES.includes(statusParam)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `status must be one of: ${LISTABLE_STATUSES.join(", ")}`);
982
+ const opts = {
983
+ ...parseDefinitionListOptions(req.url),
984
+ projectId: req.url.searchParams.get("projectId") ?? void 0,
985
+ statuses: statusParam ? [statusParam] : void 0
986
+ };
987
+ const page = documentId ? await listEditableDefinitionsByDocument(ctx, documentId, opts, req.deps) : await listVisibleDefinitions(ctx, opts, req.deps);
988
+ return collection({
989
+ items: page.items.map(toDefinitionListItem),
990
+ nextCursor: page.nextCursor
991
+ });
992
+ };
993
+ function parseTags(raw) {
994
+ if (!raw) return void 0;
995
+ const tags = raw.split(",").map((t) => t.trim()).filter(Boolean);
996
+ return tags.length ? tags : void 0;
997
+ }
998
+ var COVER_IMAGE_TYPES = {
999
+ allowed: new Set(Object.values(COVER_IMAGE_CONTENT_TYPES)),
1000
+ message: "Unsupported image type. Allowed: PNG, JPEG, WebP, GIF"
1001
+ };
1002
+ function requireCoverImage(form, maxBytes) {
1003
+ return requireUpload(form, "image", {
1004
+ maxBytes,
1005
+ contentTypes: COVER_IMAGE_TYPES,
1006
+ label: "Image"
1007
+ }).file;
1008
+ }
1009
+ /** Create a definition — metadata and the Grasshopper file in one request. */
1010
+ var createDefinition = async (req) => {
1011
+ const { ctx, user } = requireCaller(req);
1012
+ const form = await readForm(req.request);
1013
+ const { file, extension } = requireUpload(form, "file", {
1014
+ maxBytes: req.deps.uploadLimits.maxDefinitionFileSize,
1015
+ extensions: GH_EXTENSIONS,
1016
+ label: "Grasshopper (.gh or .ghx) file"
1017
+ });
1018
+ const imageField = form.get("image");
1019
+ const imageFile = imageField instanceof File && imageField.size > 0 ? requireCoverImage(form, req.deps.uploadLimits.maxImageFileSize) : void 0;
1020
+ let projectId = formText(form, "projectId");
1021
+ if (!projectId) {
1022
+ if (!ctx.actingOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No active organization");
1023
+ const { projects } = await resolveAccessibleProjects(ctx, req.deps);
1024
+ const fallback = projects.find((p) => p.orgId === ctx.actingOrgId);
1025
+ if (!fallback) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No accessible project — pass projectId.");
1026
+ projectId = fallback.id;
1027
+ }
1028
+ const { project } = await requireCanCreateDefinition(req, projectId);
1029
+ const parsed = CreateDefinitionInputSchema.safeParse({
1030
+ displayName: formText(form, "displayName"),
1031
+ description: formText(form, "description"),
1032
+ category: formText(form, "category"),
1033
+ coverImage: formText(form, "coverImage"),
1034
+ tags: parseTags(formText(form, "tags")),
1035
+ projectId,
1036
+ computeServerId: formText(form, "computeServerId")
1037
+ });
1038
+ if (!parsed.success) throwZodError(parsed.error);
1039
+ const guid = randomUUID();
1040
+ const fileData = new Uint8Array(await file.arrayBuffer());
1041
+ const server = await resolveServerForOrg(ctx, project.orgId, req.deps.computeServer, { definitionPin: parsed.data.computeServerId ?? null });
1042
+ const schema = await fetchSchemaFromCompute(fileData, server);
1043
+ const service = definitionService(req.deps);
1044
+ const { record, version } = await service.create(ctx, {
1045
+ guid,
1046
+ projectId: parsed.data.projectId,
1047
+ ownerId: user.id,
1048
+ fileExt: extension.slice(1),
1049
+ originalFilename: file.name,
1050
+ computeServerId: parsed.data.computeServerId,
1051
+ displayName: parsed.data.displayName.trim(),
1052
+ description: parsed.data.description,
1053
+ category: parsed.data.category,
1054
+ tags: parsed.data.tags,
1055
+ coverImage: parsed.data.coverImage
1056
+ }, fileData, schema);
1057
+ let coverImage = record.coverImage;
1058
+ if (imageFile) try {
1059
+ coverImage = await service.saveCoverImage(ctx, guid, new Uint8Array(await imageFile.arrayBuffer()));
1060
+ } catch (err) {
1061
+ await service.delete(ctx, guid);
1062
+ throw err;
1063
+ }
1064
+ return created({
1065
+ guid,
1066
+ version,
1067
+ coverImage
1068
+ });
1069
+ };
1070
+ /** `schema` is a large blob, served on demand by `/versions/{versionId}/schema`. */
1071
+ function versionSummary(v) {
1072
+ return {
1073
+ id: v.id,
1074
+ versionNumber: v.versionNumber,
1075
+ uploadedAt: v.uploadedAt,
1076
+ uploadedBy: v.uploadedBy,
1077
+ changeNote: v.changeNote
1078
+ };
1079
+ }
1080
+ /**
1081
+ * The record plus its live and draft version summaries. `canEdit` says whether
1082
+ * the caller can upload a version and make one live, scope included for a key.
1083
+ */
1084
+ var getDefinition = async (req) => {
1085
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1086
+ const { ctx } = requireCaller(req);
1087
+ const visible = await loadVisibleDefinition(ctx, guid, req.deps);
1088
+ if (!visible) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
1089
+ const { record } = visible;
1090
+ const meta = req.deps.definitionMeta;
1091
+ const [liveVersion, draftVersion] = await Promise.all([record.liveVersionId ? meta.getVersion(ctx, record.liveVersionId) : null, record.draftVersionId ? meta.getVersion(ctx, record.draftVersionId) : null]);
1092
+ return { body: {
1093
+ ...record,
1094
+ sourceDocumentId: record.sourceDocumentId ?? null,
1095
+ canEdit: mayUploadToDefinition(ctx, visible, req.deps),
1096
+ liveVersion: liveVersion ? versionSummary(liveVersion) : null,
1097
+ draftVersion: draftVersion ? versionSummary(draftVersion) : null
1098
+ } };
1099
+ };
1100
+ /** Soft-delete the definition; versions and blobs are wiped with it. */
1101
+ var deleteDefinition = async (req) => {
1102
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1103
+ const { ctx } = await requireEditableDefinition(req, guid);
1104
+ await definitionService(req.deps).delete(ctx, guid);
1105
+ return noContent();
1106
+ };
1107
+ /** Metadata only. New versions POST to `/versions`. */
1108
+ var updateDefinition = async (req) => {
1109
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1110
+ const { ctx, record } = await requireEditableDefinition(req, guid);
1111
+ const patch = await parseBody(req.request, UpdateMetadataInputSchema);
1112
+ if (patch.projectId && patch.projectId !== record.projectId) {
1113
+ assertScope(ctx, "write", { projectId: patch.projectId });
1114
+ await requireCanCreateDefinition(req, patch.projectId);
1115
+ }
1116
+ await definitionService(req.deps).updateMeta(ctx, guid, patch);
1117
+ return noContent();
1118
+ };
1119
+ /**
1120
+ * Convenience alias for the live version's schema — the call a client makes
1121
+ * before solving. The canonical location is `/versions/{versionId}/schema`;
1122
+ * this resolves the `live` pointer for you.
1123
+ */
1124
+ var getDefinitionSchema = async (req) => {
1125
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1126
+ const { ctx } = requireCaller(req);
1127
+ const record = await getVisibleDefinition(ctx, guid, req.deps);
1128
+ if (!record) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
1129
+ if (!record.liveVersionId) apiError(404, ApiErrorCode.NOT_FOUND, "This definition has no published version");
1130
+ const version = await loadVisibleVersion(ctx, guid, record.liveVersionId, req.deps);
1131
+ if (!version?.schema) apiError(404, ApiErrorCode.NOT_FOUND, "No schema cached for the live version");
1132
+ return { body: version.schema };
1133
+ };
1134
+ /**
1135
+ * Advance the live channel. Body `{ versionId? }` targets a specific version
1136
+ * (rollback or forward-roll); omit it to promote the current draft.
1137
+ */
1138
+ var publishDefinition = async (req) => {
1139
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1140
+ const { versionId } = await parseBody(req.request, PublishVersionInputSchema, { missingAs: {} });
1141
+ const { ctx } = await requireEditableDefinition(req, guid);
1142
+ return { body: { version: await definitionService(req.deps).publish(ctx, guid, versionId) } };
1143
+ };
1144
+ /** Upload a cover image. */
1145
+ var uploadDefinitionImage = async (req) => {
1146
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1147
+ const { ctx } = await requireEditableDefinition(req, guid);
1148
+ const file = requireCoverImage(await readForm(req.request), req.deps.uploadLimits.maxImageFileSize);
1149
+ const data = new Uint8Array(await file.arrayBuffer());
1150
+ return { body: { coverImage: await definitionService(req.deps).saveCoverImage(ctx, guid, data) } };
1151
+ };
1152
+ // ../server/src/handlers/definitionVersions.ts
1153
+ /**
1154
+ * Version handlers: list, upload, read, delete, and a version's cached schema.
1155
+ *
1156
+ * Reads resolve through `getVisibleDefinition` / `loadVisibleVersion`, which
1157
+ * return `null` rather than throwing, so an invisible definition answers 404.
1158
+ * A 403 anywhere here would confirm a guid exists across a tenant boundary.
1159
+ */
1160
+ var listVersions = async (req) => {
1161
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1162
+ const { ctx } = requireCaller(req);
1163
+ if (!await getVisibleDefinition(ctx, guid, req.deps)) apiError(404, ApiErrorCode.NOT_FOUND, "Definition not found");
1164
+ return collection(await req.deps.definitionMeta.listVersions(ctx, guid, parseListOptions(req.url)));
1165
+ };
1166
+ /** Upload a new version. Advances `draft`; `live` is unchanged until publish. */
1167
+ var uploadVersion = async (req) => {
1168
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1169
+ const form = await readForm(req.request);
1170
+ const { file, extension } = requireUpload(form, "file", {
1171
+ maxBytes: req.deps.uploadLimits.maxDefinitionFileSize,
1172
+ extensions: GH_EXTENSIONS,
1173
+ label: "Grasshopper (.gh or .ghx) file"
1174
+ });
1175
+ const changeNote = formText(form, "changeNote", { maxLength: 1e3 });
1176
+ const { ctx, record, project } = await requireEditableDefinition(req, guid);
1177
+ const data = new Uint8Array(await file.arrayBuffer());
1178
+ const server = await resolveServerForOrg(ctx, project?.orgId ?? null, req.deps.computeServer, { definitionPin: record.computeServerId ?? null });
1179
+ const schema = await fetchSchemaFromCompute(data, server);
1180
+ return created({ version: await definitionService(req.deps).uploadVersion(ctx, guid, data, extension.slice(1), file.name, schema, changeNote) });
1181
+ };
1182
+ /**
1183
+ * Version metadata. `schema` is excluded and served by the `/schema`
1184
+ * sub-resource, so a version read never carries a several-hundred-KB blob.
1185
+ */
1186
+ var getVersion = async (req) => {
1187
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1188
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1189
+ const { ctx } = requireCaller(req);
1190
+ const version = await loadVisibleVersion(ctx, guid, versionId, req.deps);
1191
+ if (!version) apiError(404, ApiErrorCode.NOT_FOUND, "Version not found");
1192
+ const { schema: _schema, ...rest } = version;
1193
+ return { body: rest };
1194
+ };
1195
+ /**
1196
+ * Delete an old version. The store throws 409 if the version is currently
1197
+ * referenced by `liveVersionId` or `draftVersionId` — repoint first.
1198
+ */
1199
+ var deleteVersion = async (req) => {
1200
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1201
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1202
+ const { ctx } = await requireEditableDefinition(req, guid);
1203
+ await definitionService(req.deps).deleteVersion(ctx, guid, versionId);
1204
+ return noContent();
1205
+ };
1206
+ /**
1207
+ * The UI schema cached on this version at upload. Reads what is stored — no
1208
+ * Rhino.Compute round-trip, unlike the pre-upload `POST /api/v1/compute/schema`.
1209
+ *
1210
+ * Schemas belong to a version, so this is the canonical location;
1211
+ * `/definitions/{guid}/schema` is an alias for the live one.
1212
+ */
1213
+ var getVersionSchema = async (req) => {
1214
+ const guid = parseParam(req.params.guid, GuidSchema, "GUID");
1215
+ const versionId = parseParam(req.params.versionId, GuidSchema, "version ID");
1216
+ const { ctx } = requireCaller(req);
1217
+ const version = await loadVisibleVersion(ctx, guid, versionId, req.deps);
1218
+ if (!version) apiError(404, ApiErrorCode.NOT_FOUND, "Version not found");
1219
+ if (!version.schema) apiError(404, ApiErrorCode.NOT_FOUND, "No schema cached for this version");
1220
+ return { body: version.schema };
1221
+ };
1222
+ // ../server/src/handlers/projects.ts
1223
+ /**
1224
+ * Project handlers: the collection, and a single project's detail and settings.
1225
+ *
1226
+ * `listProjects` was authored against `resolveAccessibleProjects`, not lifted
1227
+ * from the pre-v1 handler: that one listed every project in the acting org with
1228
+ * no `canView` filter and had no UI caller, so it carried no evidence of being
1229
+ * correct. The rest are lifted, logic intact, with reads moved onto `req.deps`.
1230
+ */
1231
+ /**
1232
+ * Projects the caller can view. `canCreateDefinitions` says whether
1233
+ * `POST /definitions` would take this project from this caller: the same rule
1234
+ * as the route, and for an API token its `upload` scope there.
1235
+ */
1236
+ var listProjects = async (req) => {
1237
+ const { ctx } = requireCaller(req);
1238
+ const set = await resolveAccessibleProjects(ctx, req.deps);
1239
+ const { projects } = set;
1240
+ const { limit, cursor } = parseListOptions(req.url);
1241
+ const start = cursor ? Number(cursor) : 0;
1242
+ if (!Number.isInteger(start) || start < 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid cursor");
1243
+ const items = projects.slice(start, start + (limit ?? projects.length));
1244
+ const nextIndex = start + items.length;
1245
+ const tokenMayUpload = scopeAllows(ctx, "upload");
1246
+ return collection({
1247
+ items: items.map((project) => ({
1248
+ ...project,
1249
+ canCreateDefinitions: tokenMayUpload && canCreateDefinition(projectAccessInputFromRowsWith(req, ctx, project, {
1250
+ member: set.memberByProjectId.get(project.id) ?? null,
1251
+ orgMember: set.orgMemberByOrgId.get(project.orgId) ?? null,
1252
+ platformGrants: set.grantsByProjectId.get(project.id) ?? []
1253
+ }))
1254
+ })),
1255
+ nextCursor: nextIndex < projects.length ? String(nextIndex) : void 0
1256
+ });
1257
+ };
1258
+ var createProject = async (req) => {
1259
+ const { ctx, user } = requireCaller(req);
1260
+ if (!ctx.actingOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "No active organization");
1261
+ await requireCanCreateProject(req, ctx.actingOrgId);
1262
+ const input = await parseBody(req.request, CreateProjectBodySchema);
1263
+ if (input.visibility === "platform" && !hasPermission(ctx, "instance_admin")) apiError(403, ApiErrorCode.FORBIDDEN, "Only a platform admin can create a project with platform visibility.");
1264
+ const autoJoinOnUpload = input.autoJoinOnUpload ?? false;
1265
+ const flagIssues = validateProjectFlags({
1266
+ visibility: input.visibility,
1267
+ autoJoinOnUpload
1268
+ });
1269
+ if (flagIssues.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, flagIssues.map((i) => `${i.path}: ${i.message}`).join("; "));
1270
+ return created(await createProjectWithUniqueSlug(req.deps.projects, {
1271
+ id: randomUUID(),
1272
+ orgId: ctx.actingOrgId,
1273
+ name: input.name,
1274
+ description: input.description,
1275
+ visibility: input.visibility,
1276
+ ownerId: user.id,
1277
+ createdBy: user.id,
1278
+ updatedBy: user.id,
1279
+ autoJoinOnUpload
1280
+ }, {
1281
+ writeCtx: ctx,
1282
+ fallbackSlug: "project",
1283
+ conflictScope: "this organization"
1284
+ }));
1285
+ };
1286
+ /**
1287
+ * Project detail plus the caller's effective capabilities on it.
1288
+ *
1289
+ * A project the caller cannot view returns 404, not 403 — `403` would confirm
1290
+ * the id exists to anyone probing.
1291
+ */
1292
+ var getProject = async (req) => {
1293
+ const { id } = requireParams(req.params, "id");
1294
+ const { ctx } = requireCaller(req);
1295
+ const project = await req.deps.projects.getProject(SYSTEM_CONTEXT, id);
1296
+ if (!project || outsideTokenOrg(ctx, project.orgId)) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1297
+ const [orgMembers, projectMembers, grants] = await Promise.all([
1298
+ req.deps.orgs.getOrgMembersFor(SYSTEM_CONTEXT, [project.orgId], ctx.userId),
1299
+ req.deps.projects.getProjectMembersFor(SYSTEM_CONTEXT, [project.id], ctx.userId),
1300
+ project.visibility === "platform" ? req.deps.platformProjectGrants.listByProject(SYSTEM_CONTEXT, project.id) : Promise.resolve([])
1301
+ ]);
1302
+ const member = projectMembers.get(project.id) ?? null;
1303
+ const input = projectAccessInputFromRowsWith(req, ctx, project, {
1304
+ member,
1305
+ orgMember: orgMembers.get(project.orgId) ?? null,
1306
+ platformGrants: grants
1307
+ });
1308
+ if (!canView(input)) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1309
+ return { body: {
1310
+ ...project,
1311
+ role: member?.role ?? null,
1312
+ canEdit: canEdit(input),
1313
+ canSolve: canSolve(input)
1314
+ } };
1315
+ };
1316
+ var updateProject = async (req) => {
1317
+ const { id } = requireParams(req.params, "id");
1318
+ const { ctx, project: existing } = await requireCanEditProjectSettings(req, id);
1319
+ const input = await parseBody(req.request, UpdateProjectBodySchema);
1320
+ if (input.visibility === "platform" && existing.visibility !== "platform") {
1321
+ if (!hasPermission(ctx, "instance_admin")) apiError(403, ApiErrorCode.FORBIDDEN, "Only a platform admin can give a project platform visibility.");
1322
+ }
1323
+ if (input.visibility === "public" && existing.visibility !== "public") {
1324
+ const orgMember = await req.deps.orgs.getOrgMember(ctx, existing.orgId, ctx.userId);
1325
+ if (!withAdminBypass(ctx.platformPermissions, () => canChangeVisibilityToPublic({ orgMember }))) apiError(403, ApiErrorCode.FORBIDDEN, "Only org owners or admins can make a project public.");
1326
+ }
1327
+ const flagIssues = validateProjectFlags({
1328
+ visibility: input.visibility ?? existing.visibility,
1329
+ autoJoinOnUpload: input.autoJoinOnUpload ?? existing.autoJoinOnUpload
1330
+ });
1331
+ if (flagIssues.length > 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, flagIssues.map((i) => `${i.path}: ${i.message}`).join("; "));
1332
+ const patch = {};
1333
+ if (input.name !== void 0) {
1334
+ patch.name = input.name;
1335
+ const slug = slugify(input.name);
1336
+ if (slug) patch.slug = slug;
1337
+ }
1338
+ if (input.description !== void 0) patch.description = input.description ?? void 0;
1339
+ if (input.visibility !== void 0) patch.visibility = input.visibility;
1340
+ if (input.autoJoinOnUpload !== void 0) patch.autoJoinOnUpload = input.autoJoinOnUpload;
1341
+ await req.deps.projects.updateProject(ctx, id, patch);
1342
+ return noContent();
1343
+ };
1344
+ var deleteProject = async (req) => {
1345
+ const { id } = requireParams(req.params, "id");
1346
+ const { ctx } = requireCaller(req);
1347
+ await requireCanManage(req, id);
1348
+ await deleteProjectWithBlobs({
1349
+ projects: req.deps.projects,
1350
+ definitions: req.deps.definitionMeta,
1351
+ storage: req.deps.storage
1352
+ }, ctx, id);
1353
+ return noContent();
1354
+ };
1355
+ // ../server/src/handlers/projectMembers.ts
1356
+ /**
1357
+ * Project membership: list, add, change role, remove.
1358
+ *
1359
+ * Every method here gates on `requireCanManage(req, id, 'members')`. The
1360
+ * owner-count preconditions on PATCH and DELETE come from `checkOwnerRemoval`,
1361
+ * a pure rules function, so demotion and removal cannot drift apart — a sole
1362
+ * owner demoting themselves locks the project exactly as removing themselves
1363
+ * would.
1364
+ */
1365
+ var listProjectMembers = async (req) => {
1366
+ const { id } = requireParams(req.params, "id");
1367
+ const { ctx } = requireCaller(req);
1368
+ await requireCanManage(req, id, "members");
1369
+ return collection(await req.deps.projects.listProjectMembers(ctx, id, parseListOptions(req.url)));
1370
+ };
1371
+ var addProjectMember = async (req) => {
1372
+ const { id } = requireParams(req.params, "id");
1373
+ const { ctx } = requireCaller(req);
1374
+ await requireCanManage(req, id, "members");
1375
+ const input = await parseBody(req.request, AddProjectMemberBodySchema);
1376
+ const project = await req.deps.projects.getProject(ctx, id);
1377
+ if (!project) apiError(404, ApiErrorCode.NOT_FOUND, "Project not found");
1378
+ await requireTargetIsOrgMember(req, project.orgId, input.userId);
1379
+ const now = (/* @__PURE__ */ new Date()).toISOString();
1380
+ const member = {
1381
+ projectId: id,
1382
+ userId: input.userId,
1383
+ role: input.role,
1384
+ joinedAt: now,
1385
+ updatedAt: now,
1386
+ updatedBy: ctx.userId || input.userId,
1387
+ deletedAt: null
1388
+ };
1389
+ await req.deps.projects.addProjectMember(ctx, member);
1390
+ return created(member);
1391
+ };
1392
+ /**
1393
+ * Guard the owner count before a demotion or removal goes through.
1394
+ *
1395
+ * `?confirm=true` is what distinguishes "I meant to do this" from a misclick;
1396
+ * the sole-owner case has no confirmation, because there is no state the
1397
+ * caller could confirm into that leaves the project manageable.
1398
+ */
1399
+ async function assertOwnerRemovable(req, projectId, target, action) {
1400
+ const { ctx } = requireCaller(req);
1401
+ const page = await req.deps.projects.listProjectMembers(ctx, projectId, { limit: 200 });
1402
+ const decision = checkOwnerRemoval({
1403
+ target: { role: target.role },
1404
+ allMembers: page.items.map((m) => ({ role: m.role })),
1405
+ confirmed: req.url.searchParams.get("confirm") === "true"
1406
+ });
1407
+ 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.`);
1408
+ if (decision === "needs_confirm") apiError(409, ApiErrorCode.CONFLICT, `${action === "demote" ? "Demoting" : "Removing"} another project owner requires explicit confirmation. Retry with ?confirm=true.`);
1409
+ }
1410
+ var updateProjectMemberRole = async (req) => {
1411
+ const { id, userId } = requireParams(req.params, "id", "userId");
1412
+ const { ctx } = requireCaller(req);
1413
+ await requireCanManage(req, id, "members");
1414
+ const { role } = await parseBody(req.request, UpdateProjectMemberBodySchema);
1415
+ return serializeOwnerChanges(id, async () => {
1416
+ if (role !== "owner") {
1417
+ const target = await req.deps.projects.getProjectMember(ctx, id, userId);
1418
+ if (target?.role === "owner") await assertOwnerRemovable(req, id, target, "demote");
1419
+ }
1420
+ await req.deps.projects.updateProjectMemberRole(ctx, id, userId, role);
1421
+ return noContent();
1422
+ });
1423
+ };
1424
+ var removeProjectMember = async (req) => {
1425
+ const { id, userId } = requireParams(req.params, "id", "userId");
1426
+ const { ctx } = requireCaller(req);
1427
+ await requireCanManage(req, id, "members");
1428
+ return serializeOwnerChanges(id, async () => {
1429
+ const target = await req.deps.projects.getProjectMember(ctx, id, userId);
1430
+ if (!target) return noContent();
1431
+ if (target.role === "owner") await assertOwnerRemovable(req, id, target, "remove");
1432
+ await req.deps.projects.removeProjectMember(ctx, id, userId);
1433
+ return noContent();
1434
+ });
1435
+ };
1436
+ // ../server/src/handlers/orgCompute.ts
1437
+ /**
1438
+ * Per-org compute config: this org's own servers (`scope: 'org'`) and its
1439
+ * default selection (`orgDefaults[orgId]`). Platform servers and the global
1440
+ * default are read-only here — `manage_compute` owns those via `/api/admin/compute`.
1441
+ *
1442
+ * Authorization: org `owner`/`admin` with `manage_org_compute`, plus the acting-org
1443
+ * tenancy check. Gated by `ALLOW_ORG_COMPUTE_OVERRIDE`; when off, both methods 403.
1444
+ *
1445
+ * **`apiKey` merge semantics are the trap here.** Omitted preserves the stored
1446
+ * key, `null` clears it, a string replaces it — and `/api/admin/compute` must
1447
+ * agree, which is why the merge lives in `@selvajs/server/compute`, not inline.
1448
+ */
1449
+ function requireFlag(req) {
1450
+ 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).");
1451
+ }
1452
+ var getOrgCompute = async (req) => {
1453
+ requireFlag(req);
1454
+ requireManageOrgCompute(req);
1455
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1456
+ const config = await req.deps.computeServer.getConfig(ctx, { scopeToOrgId: orgId });
1457
+ const owned = config.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId).map((s) => ({
1458
+ ...s,
1459
+ hasApiKey: !!s.hasApiKey
1460
+ }));
1461
+ const catalog = config.servers.map((s) => ({
1462
+ id: s.id,
1463
+ label: s.label,
1464
+ serverUrl: s.serverUrl,
1465
+ scope: s.scope,
1466
+ source: isPlatformServer(s) ? "platform" : "org",
1467
+ timeoutMs: s.timeoutMs,
1468
+ retryCount: s.retryCount
1469
+ }));
1470
+ return shaped(OrgComputeResponseSchema, {
1471
+ servers: owned,
1472
+ defaultServerId: config.orgDefaults?.[orgId] ?? null,
1473
+ globalDefaultServerId: config.defaultServerId ?? null,
1474
+ catalog
1475
+ });
1476
+ };
1477
+ var updateOrgCompute = async (req) => {
1478
+ requireFlag(req);
1479
+ requireManageOrgCompute(req);
1480
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1481
+ const incoming = await parseBody(req.request, OrgComputePatchBodySchema);
1482
+ validateIncomingServers(incoming.servers);
1483
+ const provider = req.deps.computeServer;
1484
+ const existing = await provider.getConfig(ctx, { includeApiKeys: true });
1485
+ const orgServers = existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId);
1486
+ assertStoredKeysReadable(incoming.servers, orgServers);
1487
+ const storedKeys = storedKeysById(orgServers);
1488
+ const next = incoming.servers.map((s) => ({
1489
+ id: s.id,
1490
+ scope: "org",
1491
+ ownerOrgId: orgId,
1492
+ label: s.label,
1493
+ serverUrl: s.serverUrl,
1494
+ timeoutMs: s.timeoutMs,
1495
+ retryCount: s.retryCount,
1496
+ apiKey: resolveApiKey(s.apiKey, storedKeys.get(s.id))
1497
+ }));
1498
+ if (typeof incoming.defaultServerId === "string") {
1499
+ const projected = {
1500
+ servers: [...existing.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)), ...next],
1501
+ defaultServerId: existing.defaultServerId,
1502
+ orgDefaults: existing.orgDefaults
1503
+ };
1504
+ 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");
1505
+ }
1506
+ await provider.saveOrgServers(ctx, orgId, next, incoming.defaultServerId);
1507
+ evictChangedServers(existing.servers.filter((s) => isOrgServer(s) && s.ownerOrgId === orgId), next, req.deps.evictComputeClient);
1508
+ return noContent();
1509
+ };
1510
+ // ../server/src/handlers/invite-lookup.ts
1511
+ /**
1512
+ * Find an invite by id, confirming it belongs to `orgId`.
1513
+ *
1514
+ * `manage_org_members` is org-scoped, so a permitted caller must not reach an
1515
+ * invite in another org. Neither store scopes `revoke()` by acting org, so
1516
+ * every route that mutates an invite by id has to establish ownership first —
1517
+ * hence one shared paged scan rather than a copy per route.
1518
+ */
1519
+ async function findPendingInviteInOrg(ctx, orgId, id, store) {
1520
+ let cursor;
1521
+ do {
1522
+ const page = await store.listByOrg(ctx, orgId, {
1523
+ limit: 200,
1524
+ cursor
1525
+ });
1526
+ const match = page.items.find((i) => i.id === id);
1527
+ if (match) return match;
1528
+ cursor = page.nextCursor ?? void 0;
1529
+ } while (cursor);
1530
+ return null;
1531
+ }
1532
+ // ../server/src/handlers/invites.ts
1533
+ /**
1534
+ * Org invites: list, mint, revoke, resend.
1535
+ *
1536
+ * **The raw token exists only in the response.** The store sees an HMAC digest,
1537
+ * so a leak of the `invites` table cannot be replayed without the instance
1538
+ * secret — and `tokenHash` is dropped by the response schema, which is why
1539
+ * every response here goes through `shaped`/`shapedCollection` rather than
1540
+ * `{ body }`.
1541
+ */
1542
+ var INVITE_TTL_MS = 6048e5;
1543
+ /**
1544
+ * Mail the accept link, or report why not.
1545
+ *
1546
+ * Mint and resend must send the identical message, so the deps threading lives
1547
+ * here rather than at each call site. `not-configured` when the host wired no
1548
+ * notification provider: the invite row is already committed and the caller
1549
+ * still holds `acceptUrl`, so an instance without mail is a working instance,
1550
+ * not a failed write.
1551
+ */
1552
+ async function mailInvite(req, invite, acceptUrl) {
1553
+ const notifications = req.deps.notifications;
1554
+ if (!notifications) return "not-configured";
1555
+ return deliverInvite({
1556
+ ctx: req.ctx,
1557
+ log: req.log,
1558
+ invite,
1559
+ acceptUrl,
1560
+ actor: {
1561
+ profile: req.profile,
1562
+ user: req.user
1563
+ },
1564
+ orgs: req.deps.orgs,
1565
+ notifications,
1566
+ fallbackOrgName: req.deps.instanceName
1567
+ });
1568
+ }
1569
+ /** Pending and recently accepted invites for the acting org. */
1570
+ var listInvites = async (req) => {
1571
+ requireManageOrgMembers(req);
1572
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1573
+ return shapedCollection(InviteResponseSchema, await req.deps.invites.listByOrg(ctx, orgId, parseListOptions(req.url)));
1574
+ };
1575
+ function requireSession(req) {
1576
+ if (req.ctx?.apiScope) apiError(403, ApiErrorCode.FORBIDDEN, "Invites are sent from the web app, not with an API key.");
1577
+ }
1578
+ /** Create an invite and return the accept URL. */
1579
+ var createInvite = async (req) => {
1580
+ requireSession(req);
1581
+ requireManageOrgMembers(req);
1582
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1583
+ const { user } = requireCaller(req);
1584
+ const input = await parseBody(req.request, CreateInviteBodySchema);
1585
+ const { platform: submittedPlatformPerms, org: submittedOrgPerms } = splitFlatPermissions(input.permissions);
1586
+ assertCanGrantPlatformPermissions(ctx, submittedPlatformPerms);
1587
+ if (!await canActorChangeOrgRole(ctx, orgId, input.orgRole, req)) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can invite someone as owner or admin.");
1588
+ const orgPermissions = input.orgRole === "member" ? submittedOrgPerms.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)) : [...DEFAULT_ORG_PERMISSIONS[input.orgRole]];
1589
+ const codec = tokenCodec(req.deps, "invites");
1590
+ const rawToken = codec.mintRawToken();
1591
+ const now = /* @__PURE__ */ new Date();
1592
+ const invite = {
1593
+ id: randomUUID(),
1594
+ tokenHash: codec.hashToken(rawToken),
1595
+ email: input.email,
1596
+ orgId,
1597
+ orgRole: input.orgRole,
1598
+ orgPermissions,
1599
+ platformPermissions: submittedPlatformPerms,
1600
+ invitedBy: user.id,
1601
+ createdAt: now.toISOString(),
1602
+ expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()
1603
+ };
1604
+ await req.deps.invites.create(ctx, invite);
1605
+ const acceptUrl = `${req.url.origin}/accept-invite?token=${rawToken}`;
1606
+ const delivery = await mailInvite(req, invite, acceptUrl);
1607
+ return shaped(CreatedInviteResponseSchema, {
1608
+ ...invite,
1609
+ acceptUrl,
1610
+ delivery
1611
+ }, 201);
1612
+ };
1613
+ /** Revoke a pending invite. Consumed invites are preserved for audit. */
1614
+ var revokeInvite = async (req) => {
1615
+ requireManageOrgMembers(req);
1616
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1617
+ const { id } = requireParams(req.params, "id");
1618
+ if (!await findPendingInviteInOrg(ctx, orgId, id, req.deps.invites)) apiError(404, ApiErrorCode.NOT_FOUND, "Invite not found");
1619
+ await req.deps.invites.revoke(ctx, id);
1620
+ return noContent();
1621
+ };
1622
+ /**
1623
+ * Re-send an invite: mint a replacement and revoke the original.
1624
+ *
1625
+ * A resend cannot reuse the original link. The raw token is never stored — only
1626
+ * its HMAC digest is — so there is nothing to re-read, and rather than weaken
1627
+ * that, this issues a fresh token and revokes the row it replaces. The old link
1628
+ * stops working the moment this returns, which is also what an admin wants
1629
+ * after mailing an invite to the wrong address.
1630
+ *
1631
+ * Grants are copied verbatim from the original: re-deriving them here would let
1632
+ * a since-demoted admin silently change what the invite carries. The resender
1633
+ * still passes the gates the original's minter did, because the response hands
1634
+ * them a working link: an admin resending an owner invite could accept it.
1635
+ */
1636
+ var resendInvite = async (req) => {
1637
+ requireSession(req);
1638
+ requireManageOrgMembers(req);
1639
+ const { ctx, orgId } = requireActingOrg(req, req.params.orgId);
1640
+ const { id } = requireParams(req.params, "id");
1641
+ const existing = await findPendingInviteInOrg(ctx, orgId, id, req.deps.invites);
1642
+ if (!existing) apiError(404, ApiErrorCode.NOT_FOUND, "Invite not found");
1643
+ if (existing.acceptedAt) apiError(409, ApiErrorCode.CONFLICT, "This invite has already been accepted.");
1644
+ assertCanGrantPlatformPermissions(ctx, existing.platformPermissions ?? []);
1645
+ if (!await canActorChangeOrgRole(ctx, orgId, existing.orgRole, req)) apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can resend an invite for an owner or admin.");
1646
+ const codec = tokenCodec(req.deps, "invites");
1647
+ const rawToken = codec.mintRawToken();
1648
+ const now = /* @__PURE__ */ new Date();
1649
+ const replacement = {
1650
+ ...existing,
1651
+ id: randomUUID(),
1652
+ tokenHash: codec.hashToken(rawToken),
1653
+ createdAt: now.toISOString(),
1654
+ expiresAt: new Date(now.getTime() + INVITE_TTL_MS).toISOString()
1655
+ };
1656
+ await req.deps.invites.create(ctx, replacement);
1657
+ await req.deps.invites.revoke(ctx, existing.id);
1658
+ const acceptUrl = `${req.url.origin}/accept-invite?token=${rawToken}`;
1659
+ const delivery = await mailInvite(req, replacement, acceptUrl);
1660
+ return shaped(CreatedInviteResponseSchema, {
1661
+ ...replacement,
1662
+ acceptUrl,
1663
+ delivery
1664
+ }, 201);
1665
+ };
1666
+ // ../server/src/handlers/oauthConsent.ts
1667
+ async function contextIn(req, member) {
1668
+ const { ctx, user } = requireCaller(req);
1669
+ if (ctx.apiScope) apiError(403, ApiErrorCode.FORBIDDEN, "Sign in to the web app to connect an app.");
1670
+ return {
1671
+ ...await buildRequestContext({
1672
+ user,
1673
+ platformPermissions: ctx.platformPermissions,
1674
+ membership: member,
1675
+ pinOrg: true
1676
+ }, { orgs: req.deps.orgs }),
1677
+ adapterContext: ctx.adapterContext
1678
+ };
1679
+ }
1680
+ /**
1681
+ * The orgs the signed-in user may grant a key with `scopes` in: their acting
1682
+ * org, when they may hold such a key there. At most one.
1683
+ */
1684
+ async function consentOrgs(req, scopes) {
1685
+ const { ctx } = requireCaller(req);
1686
+ const memberships = (await listUserMemberships(req.deps.orgs, ctx.userId)).filter(({ org }) => org.id === ctx.actingOrgId);
1687
+ const allowed = await Promise.all(memberships.map(async ({ member }) => mayHoldApiTokens(req.deps, await contextIn(req, member), scopes)));
1688
+ return memberships.filter((_, i) => allowed[i]).map(({ org }) => ({
1689
+ id: org.id,
1690
+ name: org.name
1691
+ }));
1692
+ }
1693
+ /**
1694
+ * What a consent page offers for a request's scopes, and what its approval
1695
+ * accepts. Null when the user may grant none of it anywhere.
1696
+ */
1697
+ async function consentOffer(req, scopes) {
1698
+ const offered = (await Promise.all(consentChoices(scopes).map(async (choice) => ({
1699
+ choice,
1700
+ orgs: await consentOrgs(req, apiScopesFor(choice.scopes))
1701
+ })))).filter((l) => l.orgs.length > 0);
1702
+ return offered.length ? { levels: offered } : null;
1703
+ }
1704
+ /**
1705
+ * Mint the key a consent grants, in `orgId`. Anything but the acting org is
1706
+ * refused here, whatever the form said.
1707
+ */
1708
+ async function mintConsentToken(req, orgId, input) {
1709
+ const { ctx } = requireCaller(req);
1710
+ if (orgId !== ctx.actingOrgId) apiError(403, ApiErrorCode.FORBIDDEN, "Apps can only be connected to your current organization.");
1711
+ const picked = (await listUserMemberships(req.deps.orgs, ctx.userId)).find(({ org }) => org.id === orgId);
1712
+ if (!picked) apiError(403, ApiErrorCode.FORBIDDEN, "You aren’t a member of that organization.");
1713
+ return mintApiToken({
1714
+ ...req,
1715
+ ctx: await contextIn(req, picked.member)
1716
+ }, input);
1717
+ }
1718
+ /**
1719
+ * Revoke a consent key whose code was never redeemed, so an abandoned sign-in
1720
+ * doesn't leave a live key nobody holds. A used key is kept: its code may have
1721
+ * been redeemed on another replica.
1722
+ */
1723
+ async function revokeUnredeemedConsentToken(req, tokenId) {
1724
+ const store = req.deps.data.apiTokens;
1725
+ if (!store) return;
1726
+ const { ctx } = requireCaller(req);
1727
+ const token = await store.get(ctx, tokenId);
1728
+ if (!token || token.revokedAt || token.lastUsedAt) return;
1729
+ await store.revoke(ctx, tokenId, "owner");
1730
+ }
1731
+
1732
+ export { revokeOwnApiToken as A, getOrg as B, uploadOrgAsset as C, removeOrgAsset as D, getOrgCompute as E, updateOrgCompute as F, listInvites as G, createInvite as H, revokeInvite as I, resendInvite as J, listOrgMembers as K, updateOrgMember as L, removeOrgMember as M, listApiTokens as N, createApiToken as O, revokeApiToken as P, listProjects as Q, createProject as R, getProject as S, updateProject as T, deleteProject as U, listProjectMembers as V, addProjectMember as W, updateProjectMemberRole as X, removeProjectMember as Y, reclaimProject as Z, mintConsentToken as a, canManageApiTokenRoster as b, consentOffer as c, revokeUserApiTokens as d, listDefinitions as e, createDefinition as f, getDefinition as g, deleteDefinition as h, uploadDefinitionImage as i, getDefinitionSchema as j, listShareLinks as k, listOrgApiTokens as l, mayHoldApiTokens as m, createShareLink as n, revokeShareLink as o, publishDefinition as p, listVersions as q, revokeUnredeemedConsentToken as r, uploadVersion as s, getVersion as t, updateDefinition as u, deleteVersion as v, getVersionSchema as w, getMe as x, starDefinition as y, unstarDefinition as z };
1733
+ //# sourceMappingURL=handlers.js-Bal7QqCB.js.map