@selvajs/selva 4.7.0-beta.5 → 4.7.0

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 (849) hide show
  1. package/build/client/_app/immutable/chunks/0M2DDHMf.js +2 -0
  2. package/build/client/_app/immutable/chunks/0M2DDHMf.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/0M2DDHMf.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/BG2iwmg_.js +1 -0
  5. package/build/client/_app/immutable/chunks/BG2iwmg_.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BG2iwmg_.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/BHKDoXDm2.js +1 -0
  8. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.br +2 -0
  9. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/C-eh-BYT2.js +1 -0
  11. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/Cg_4c8n32.js +1 -0
  14. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/CuCezvy62.js +1 -0
  17. package/build/client/_app/immutable/chunks/CuCezvy62.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CuCezvy62.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/D9DFvnxj.js +1 -0
  20. package/build/client/_app/immutable/chunks/D9DFvnxj.js.br +3 -0
  21. package/build/client/_app/immutable/chunks/D9DFvnxj.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/DFsxVbse.js +1 -0
  23. package/build/client/_app/immutable/chunks/DFsxVbse.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DFsxVbse.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/DxuIu10f.js +5462 -0
  26. package/build/client/_app/immutable/chunks/DxuIu10f.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/DxuIu10f.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/qU0FhiPD.js +2 -0
  29. package/build/client/_app/immutable/chunks/qU0FhiPD.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/qU0FhiPD.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/app.ChwO476H.js +2 -0
  32. package/build/client/_app/immutable/entry/app.ChwO476H.js.br +0 -0
  33. package/build/client/_app/immutable/entry/app.ChwO476H.js.gz +0 -0
  34. package/build/client/_app/immutable/entry/start.CUuVPYpM.js +1 -0
  35. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.br +0 -0
  36. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js +1 -0
  38. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js +2 -0
  41. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js +2 -0
  44. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js +2 -0
  47. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js +21 -0
  50. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js +6 -0
  53. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js +2 -0
  56. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/19.lXobnwX1.js +2 -0
  59. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js +1 -0
  62. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js +12 -0
  65. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/21.x1LrYfez.js +6 -0
  68. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/23.BtInHilP.js +16 -0
  71. package/build/client/_app/immutable/nodes/23.BtInHilP.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/23.BtInHilP.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js +6 -0
  74. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/27.BiurRrzb.js +4 -0
  77. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/28.TVh72E_-.js +4 -0
  80. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/29.KA_Czrio.js +2 -0
  83. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/3.De6eJ76N.js +1 -0
  86. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js +2 -0
  89. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js +1 -0
  92. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.br +3 -0
  93. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/6.CXaFpK04.js +1 -0
  95. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js +1 -0
  98. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js +2 -0
  101. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js +1 -0
  104. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.gz +0 -0
  106. package/build/client/_app/version.json +1 -1
  107. package/build/client/_app/version.json.br +0 -0
  108. package/build/client/_app/version.json.gz +0 -0
  109. package/build/handler.js +4 -4
  110. package/build/index.js +4 -4
  111. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js +281 -0
  112. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js.map +1 -0
  113. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js +67 -0
  114. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js.map +1 -0
  115. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js +1163 -0
  116. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js.map +1 -0
  117. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js +453 -0
  118. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js.map +1 -0
  119. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js +20 -0
  120. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js.map +1 -0
  121. package/build/server/chunks/chunks/admin-auth.server.js-BP5VABG_.js +180 -0
  122. package/build/server/chunks/chunks/admin-auth.server.js-BP5VABG_.js.map +1 -0
  123. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js +3 -0
  124. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js.map +1 -0
  125. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js +141 -0
  126. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js.map +1 -0
  127. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js +162 -0
  128. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js.map +1 -0
  129. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js +2 -0
  130. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js.map +1 -0
  131. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js +91 -0
  132. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js.map +1 -0
  133. package/build/server/chunks/chunks/chunk-N2WCSETE.js-CK2Q00_P.js +2953 -0
  134. package/build/server/chunks/chunks/chunk-N2WCSETE.js-CK2Q00_P.js.map +1 -0
  135. package/build/server/chunks/chunks/chunk-S3VUIIRE.js-CeBwYPAp.js +1502 -0
  136. package/build/server/chunks/chunks/chunk-S3VUIIRE.js-CeBwYPAp.js.map +1 -0
  137. package/build/server/chunks/chunks/client.js-ChMP-ADp.js +58 -0
  138. package/build/server/chunks/chunks/client.js-ChMP-ADp.js.map +1 -0
  139. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js +195 -0
  140. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js.map +1 -0
  141. package/build/server/chunks/chunks/compute.js-_N5R8pkI.js +747 -0
  142. package/build/server/chunks/chunks/compute.js-_N5R8pkI.js.map +1 -0
  143. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js +48 -0
  144. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js.map +1 -0
  145. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js +29 -0
  146. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js.map +1 -0
  147. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js +2 -0
  148. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js.map +1 -0
  149. package/build/server/chunks/chunks/internal.js-WBVEU67X.js.map +1 -1
  150. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js +224 -0
  151. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js.map +1 -0
  152. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js +2 -0
  153. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js.map +1 -0
  154. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js +35 -0
  155. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js.map +1 -0
  156. package/build/server/chunks/chunks/package.js-CzPJLFIP.js +76 -0
  157. package/build/server/chunks/chunks/package.js-CzPJLFIP.js.map +1 -0
  158. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js +15 -0
  159. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js.map +1 -0
  160. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js +6252 -0
  161. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js.map +1 -0
  162. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js +62 -0
  163. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js.map +1 -0
  164. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js +152 -0
  165. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js.map +1 -0
  166. package/build/server/chunks/chunks/state.js-CSskG5O4.js +64 -0
  167. package/build/server/chunks/chunks/state.js-CSskG5O4.js.map +1 -0
  168. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js +35 -0
  169. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js.map +1 -0
  170. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js +62 -0
  171. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js.map +1 -0
  172. package/build/server/chunks/chunks/visualization-HDBKPJGQ.js-CCyAXlVS.js +21 -0
  173. package/build/server/chunks/chunks/visualization-HDBKPJGQ.js-CCyAXlVS.js.map +1 -0
  174. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js +93 -0
  175. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js.map +1 -0
  176. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js +53 -0
  177. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js.map +1 -0
  178. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js +79 -0
  179. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js.map +1 -0
  180. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js +50 -0
  181. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js.map +1 -0
  182. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js +86 -0
  183. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js.map +1 -0
  184. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js +72 -0
  185. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js.map +1 -0
  186. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js +74 -0
  187. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js.map +1 -0
  188. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js +34 -0
  189. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js.map +1 -0
  190. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js +71 -0
  191. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js.map +1 -0
  192. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js +103 -0
  193. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js.map +1 -0
  194. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js +208 -0
  195. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js.map +1 -0
  196. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js +90 -0
  197. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js.map +1 -0
  198. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js +403 -0
  199. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js.map +1 -0
  200. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js +76 -0
  201. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js.map +1 -0
  202. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js +46 -0
  203. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js.map +1 -0
  204. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js +86 -0
  205. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js.map +1 -0
  206. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js +0 -0
  207. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js.map +1 -0
  208. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js +68 -0
  209. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js.map +1 -0
  210. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js +75 -0
  211. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js.map +1 -0
  212. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js +46 -0
  213. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js.map +1 -0
  214. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js +44 -0
  215. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js.map +1 -0
  216. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js +40 -0
  217. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js.map +1 -0
  218. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js +46 -0
  219. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js.map +1 -0
  220. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js +84 -0
  221. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js.map +1 -0
  222. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js +47 -0
  223. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js.map +1 -0
  224. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js +40 -0
  225. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js.map +1 -0
  226. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js +94 -0
  227. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js.map +1 -0
  228. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js +59 -0
  229. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js.map +1 -0
  230. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js +89 -0
  231. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js.map +1 -0
  232. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js +56 -0
  233. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js.map +1 -0
  234. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js +49 -0
  235. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js.map +1 -0
  236. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js +77 -0
  237. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js.map +1 -0
  238. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js +45 -0
  239. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js.map +1 -0
  240. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js +110 -0
  241. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js.map +1 -0
  242. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js +79 -0
  243. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js.map +1 -0
  244. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js +71 -0
  245. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js.map +1 -0
  246. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js +65 -0
  247. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js.map +1 -0
  248. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js +64 -0
  249. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js.map +1 -0
  250. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js +48 -0
  251. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js.map +1 -0
  252. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js +85 -0
  253. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js.map +1 -0
  254. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js +48 -0
  255. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js.map +1 -0
  256. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js +52 -0
  257. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js.map +1 -0
  258. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js +51 -0
  259. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js.map +1 -0
  260. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js +341 -0
  261. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js.map +1 -0
  262. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js +35 -0
  263. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js.map +1 -0
  264. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js +34 -0
  265. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js.map +1 -0
  266. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js +76 -0
  267. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js.map +1 -0
  268. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js +109 -0
  269. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js.map +1 -0
  270. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js +148 -0
  271. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js.map +1 -0
  272. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js +36 -0
  273. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js.map +1 -0
  274. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js +31 -0
  275. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js.map +1 -0
  276. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js +121 -0
  277. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js.map +1 -0
  278. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js +75 -0
  279. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js.map +1 -0
  280. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js +359 -0
  281. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js.map +1 -0
  282. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js +245 -0
  283. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js.map +1 -0
  284. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js +45 -0
  285. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js.map +1 -0
  286. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js +612 -0
  287. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js.map +1 -0
  288. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js +35 -0
  289. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js.map +1 -0
  290. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js +86 -0
  291. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js.map +1 -0
  292. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js +616 -0
  293. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js.map +1 -0
  294. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js +42 -0
  295. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js.map +1 -0
  296. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js +282 -0
  297. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js.map +1 -0
  298. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js +79 -0
  299. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js.map +1 -0
  300. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js +1363 -0
  301. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js.map +1 -0
  302. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js +70 -0
  303. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js.map +1 -0
  304. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js +681 -0
  305. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js.map +1 -0
  306. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js +62 -0
  307. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js.map +1 -0
  308. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js +62 -0
  309. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js.map +1 -0
  310. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js +124 -0
  311. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js.map +1 -0
  312. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js +12096 -0
  313. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js.map +1 -0
  314. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js +73 -0
  315. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js.map +1 -0
  316. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js +328 -0
  317. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js.map +1 -0
  318. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js +76 -0
  319. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js.map +1 -0
  320. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js +256 -0
  321. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js.map +1 -0
  322. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BzJqFWUU.js +16 -0
  323. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BzJqFWUU.js.map +1 -0
  324. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js +49 -0
  325. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js.map +1 -0
  326. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js +101 -0
  327. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js.map +1 -0
  328. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js +3745 -0
  329. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js.map +1 -0
  330. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js +113 -0
  331. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js.map +1 -0
  332. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js +321 -0
  333. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js.map +1 -0
  334. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js +28 -0
  335. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js.map +1 -0
  336. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js +162 -0
  337. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js.map +1 -0
  338. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js +35 -0
  339. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js.map +1 -0
  340. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js +42 -0
  341. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js.map +1 -0
  342. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js +593 -0
  343. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js.map +1 -0
  344. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js +58 -0
  345. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js.map +1 -0
  346. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js +539 -0
  347. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js.map +1 -0
  348. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js +42 -0
  349. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js.map +1 -0
  350. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js +436 -0
  351. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js.map +1 -0
  352. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js +50 -0
  353. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js.map +1 -0
  354. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js +262 -0
  355. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js.map +1 -0
  356. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js +32 -0
  357. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js.map +1 -0
  358. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js +16 -0
  359. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js.map +1 -0
  360. package/build/server/chunks/handler-C_oBT0th.js +1206 -0
  361. package/build/server/chunks/handler-C_oBT0th.js.map +1 -0
  362. package/build/server/chunks/index.js-B-RhTrwV.js +3747 -0
  363. package/build/server/chunks/index.js-B-RhTrwV.js.map +1 -0
  364. package/build/server/chunks/manifest.js-DbaT8xLo.js +548 -0
  365. package/build/server/chunks/manifest.js-DbaT8xLo.js.map +1 -0
  366. package/build/server/chunks/nodes/0.js-CEpLefNw.js +25 -0
  367. package/build/server/chunks/nodes/0.js-CEpLefNw.js.map +1 -0
  368. package/build/server/chunks/nodes/1.js-DgRzBm1_.js +9 -0
  369. package/build/server/chunks/nodes/1.js-DgRzBm1_.js.map +1 -0
  370. package/build/server/chunks/nodes/10.js-DdhhLQJt.js +27 -0
  371. package/build/server/chunks/nodes/10.js-DdhhLQJt.js.map +1 -0
  372. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js +28 -0
  373. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js.map +1 -0
  374. package/build/server/chunks/nodes/12.js-pdOO2q2s.js +26 -0
  375. package/build/server/chunks/nodes/12.js-pdOO2q2s.js.map +1 -0
  376. package/build/server/chunks/nodes/13.js-D0HebxbI.js +26 -0
  377. package/build/server/chunks/nodes/13.js-D0HebxbI.js.map +1 -0
  378. package/build/server/chunks/nodes/14.js-CqSx1wax.js +26 -0
  379. package/build/server/chunks/nodes/14.js-CqSx1wax.js.map +1 -0
  380. package/build/server/chunks/nodes/15.js-CVKsi7kp.js +38 -0
  381. package/build/server/chunks/nodes/15.js-CVKsi7kp.js.map +1 -0
  382. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js +29 -0
  383. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js.map +1 -0
  384. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js +9 -0
  385. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js.map +1 -0
  386. package/build/server/chunks/nodes/18.js-7XdBdlyl.js +34 -0
  387. package/build/server/chunks/nodes/18.js-7XdBdlyl.js.map +1 -0
  388. package/build/server/chunks/nodes/19.js--QTqW8Rg.js +27 -0
  389. package/build/server/chunks/nodes/19.js--QTqW8Rg.js.map +1 -0
  390. package/build/server/chunks/nodes/2.js-DlRr_y1E.js +27 -0
  391. package/build/server/chunks/nodes/2.js-DlRr_y1E.js.map +1 -0
  392. package/build/server/chunks/nodes/20.js-DuurViiQ.js +40 -0
  393. package/build/server/chunks/nodes/20.js-DuurViiQ.js.map +1 -0
  394. package/build/server/chunks/nodes/21.js-DLPsGBUe.js +34 -0
  395. package/build/server/chunks/nodes/21.js-DLPsGBUe.js.map +1 -0
  396. package/build/server/chunks/nodes/22.js-iFX0FYlU.js +24 -0
  397. package/build/server/chunks/nodes/22.js-iFX0FYlU.js.map +1 -0
  398. package/build/server/chunks/nodes/23.js-DeF7i6MK.js +28 -0
  399. package/build/server/chunks/nodes/23.js-DeF7i6MK.js.map +1 -0
  400. package/build/server/chunks/nodes/24.js-IGhSaU-_.js +34 -0
  401. package/build/server/chunks/nodes/24.js-IGhSaU-_.js.map +1 -0
  402. package/build/server/chunks/nodes/25.js-DfgGSsw1.js +26 -0
  403. package/build/server/chunks/nodes/25.js-DfgGSsw1.js.map +1 -0
  404. package/build/server/chunks/nodes/27.js-C5yOaHre.js +27 -0
  405. package/build/server/chunks/nodes/27.js-C5yOaHre.js.map +1 -0
  406. package/build/server/chunks/nodes/28.js-DRt6k5eX.js +26 -0
  407. package/build/server/chunks/nodes/28.js-DRt6k5eX.js.map +1 -0
  408. package/build/server/chunks/nodes/29.js-BpciAAsH.js +26 -0
  409. package/build/server/chunks/nodes/29.js-BpciAAsH.js.map +1 -0
  410. package/build/server/chunks/nodes/3.js-D2dw1aIG.js +9 -0
  411. package/build/server/chunks/nodes/3.js-D2dw1aIG.js.map +1 -0
  412. package/build/server/chunks/nodes/30.js-B19f3CLv.js +26 -0
  413. package/build/server/chunks/nodes/30.js-B19f3CLv.js.map +1 -0
  414. package/build/server/chunks/nodes/31.js-DIaImYmw.js +26 -0
  415. package/build/server/chunks/nodes/31.js-DIaImYmw.js.map +1 -0
  416. package/build/server/chunks/nodes/32.js-Btz0fZDj.js +26 -0
  417. package/build/server/chunks/nodes/32.js-Btz0fZDj.js.map +1 -0
  418. package/build/server/chunks/nodes/5.js-BjxuAVp4.js +15 -0
  419. package/build/server/chunks/nodes/5.js-BjxuAVp4.js.map +1 -0
  420. package/build/server/chunks/nodes/6.js-BqjMGg59.js +26 -0
  421. package/build/server/chunks/nodes/6.js-BqjMGg59.js.map +1 -0
  422. package/build/server/chunks/nodes/7.js-BLQSVoBK.js +12 -0
  423. package/build/server/chunks/nodes/7.js-BLQSVoBK.js.map +1 -0
  424. package/build/server/chunks/nodes/8.js-BEznbukO.js +35 -0
  425. package/build/server/chunks/nodes/8.js-BEznbukO.js.map +1 -0
  426. package/build/server/chunks/nodes/9.js-yf_0hC1V.js +26 -0
  427. package/build/server/chunks/nodes/9.js-yf_0hC1V.js.map +1 -0
  428. package/package.json +11 -11
  429. package/build/client/_app/immutable/chunks/2OVL58yC2.js +0 -1
  430. package/build/client/_app/immutable/chunks/2OVL58yC2.js.br +0 -0
  431. package/build/client/_app/immutable/chunks/2OVL58yC2.js.gz +0 -0
  432. package/build/client/_app/immutable/chunks/BPtz4qQZ2.js +0 -1
  433. package/build/client/_app/immutable/chunks/BPtz4qQZ2.js.br +0 -0
  434. package/build/client/_app/immutable/chunks/BPtz4qQZ2.js.gz +0 -0
  435. package/build/client/_app/immutable/chunks/BdRVK1vu.js +0 -2
  436. package/build/client/_app/immutable/chunks/BdRVK1vu.js.br +0 -0
  437. package/build/client/_app/immutable/chunks/BdRVK1vu.js.gz +0 -0
  438. package/build/client/_app/immutable/chunks/DJcPjHsg.js +0 -1
  439. package/build/client/_app/immutable/chunks/DJcPjHsg.js.br +0 -0
  440. package/build/client/_app/immutable/chunks/DJcPjHsg.js.gz +0 -0
  441. package/build/client/_app/immutable/chunks/DXTlR_fj.js +0 -5462
  442. package/build/client/_app/immutable/chunks/DXTlR_fj.js.br +0 -0
  443. package/build/client/_app/immutable/chunks/DXTlR_fj.js.gz +0 -0
  444. package/build/client/_app/immutable/chunks/UkolJKa32.js +0 -1
  445. package/build/client/_app/immutable/chunks/UkolJKa32.js.br +0 -2
  446. package/build/client/_app/immutable/chunks/UkolJKa32.js.gz +0 -0
  447. package/build/client/_app/immutable/chunks/baw9jva62.js +0 -1
  448. package/build/client/_app/immutable/chunks/baw9jva62.js.br +0 -0
  449. package/build/client/_app/immutable/chunks/baw9jva62.js.gz +0 -0
  450. package/build/client/_app/immutable/chunks/e_P2-3vc.js +0 -2
  451. package/build/client/_app/immutable/chunks/e_P2-3vc.js.br +0 -0
  452. package/build/client/_app/immutable/chunks/e_P2-3vc.js.gz +0 -0
  453. package/build/client/_app/immutable/chunks/fPi7CIcX.js +0 -1
  454. package/build/client/_app/immutable/chunks/fPi7CIcX.js.br +0 -0
  455. package/build/client/_app/immutable/chunks/fPi7CIcX.js.gz +0 -0
  456. package/build/client/_app/immutable/chunks/kf9gY1So.js +0 -1
  457. package/build/client/_app/immutable/chunks/kf9gY1So.js.br +0 -2
  458. package/build/client/_app/immutable/chunks/kf9gY1So.js.gz +0 -0
  459. package/build/client/_app/immutable/entry/app.oKZsHOIr.js +0 -2
  460. package/build/client/_app/immutable/entry/app.oKZsHOIr.js.br +0 -0
  461. package/build/client/_app/immutable/entry/app.oKZsHOIr.js.gz +0 -0
  462. package/build/client/_app/immutable/entry/start.DTm8KofL.js +0 -1
  463. package/build/client/_app/immutable/entry/start.DTm8KofL.js.br +0 -1
  464. package/build/client/_app/immutable/entry/start.DTm8KofL.js.gz +0 -0
  465. package/build/client/_app/immutable/nodes/1.C-w54CfF.js +0 -1
  466. package/build/client/_app/immutable/nodes/1.C-w54CfF.js.br +0 -0
  467. package/build/client/_app/immutable/nodes/1.C-w54CfF.js.gz +0 -0
  468. package/build/client/_app/immutable/nodes/11.CDSdxC2l.js +0 -2
  469. package/build/client/_app/immutable/nodes/11.CDSdxC2l.js.br +0 -0
  470. package/build/client/_app/immutable/nodes/11.CDSdxC2l.js.gz +0 -0
  471. package/build/client/_app/immutable/nodes/13.JZ7vM7DT.js +0 -2
  472. package/build/client/_app/immutable/nodes/13.JZ7vM7DT.js.br +0 -0
  473. package/build/client/_app/immutable/nodes/13.JZ7vM7DT.js.gz +0 -0
  474. package/build/client/_app/immutable/nodes/14.DORKykCg.js +0 -2
  475. package/build/client/_app/immutable/nodes/14.DORKykCg.js.br +0 -0
  476. package/build/client/_app/immutable/nodes/14.DORKykCg.js.gz +0 -0
  477. package/build/client/_app/immutable/nodes/15.DdRH9qLZ.js +0 -21
  478. package/build/client/_app/immutable/nodes/15.DdRH9qLZ.js.br +0 -0
  479. package/build/client/_app/immutable/nodes/15.DdRH9qLZ.js.gz +0 -0
  480. package/build/client/_app/immutable/nodes/16.VpU9ur-W.js +0 -6
  481. package/build/client/_app/immutable/nodes/16.VpU9ur-W.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/16.VpU9ur-W.js.gz +0 -0
  483. package/build/client/_app/immutable/nodes/17.DOkFzPv8.js +0 -2
  484. package/build/client/_app/immutable/nodes/17.DOkFzPv8.js.br +0 -0
  485. package/build/client/_app/immutable/nodes/17.DOkFzPv8.js.gz +0 -0
  486. package/build/client/_app/immutable/nodes/19.DLY-0xju.js +0 -2
  487. package/build/client/_app/immutable/nodes/19.DLY-0xju.js.br +0 -0
  488. package/build/client/_app/immutable/nodes/19.DLY-0xju.js.gz +0 -0
  489. package/build/client/_app/immutable/nodes/2.B2Ht-eXC.js +0 -1
  490. package/build/client/_app/immutable/nodes/2.B2Ht-eXC.js.br +0 -0
  491. package/build/client/_app/immutable/nodes/2.B2Ht-eXC.js.gz +0 -0
  492. package/build/client/_app/immutable/nodes/20.zW7P9yAA.js +0 -12
  493. package/build/client/_app/immutable/nodes/20.zW7P9yAA.js.br +0 -0
  494. package/build/client/_app/immutable/nodes/20.zW7P9yAA.js.gz +0 -0
  495. package/build/client/_app/immutable/nodes/21.Dgw38XUG.js +0 -6
  496. package/build/client/_app/immutable/nodes/21.Dgw38XUG.js.br +0 -0
  497. package/build/client/_app/immutable/nodes/21.Dgw38XUG.js.gz +0 -0
  498. package/build/client/_app/immutable/nodes/23.BTrCHZNB.js +0 -16
  499. package/build/client/_app/immutable/nodes/23.BTrCHZNB.js.br +0 -0
  500. package/build/client/_app/immutable/nodes/23.BTrCHZNB.js.gz +0 -0
  501. package/build/client/_app/immutable/nodes/24.oXfUAIu3.js +0 -6
  502. package/build/client/_app/immutable/nodes/24.oXfUAIu3.js.br +0 -0
  503. package/build/client/_app/immutable/nodes/24.oXfUAIu3.js.gz +0 -0
  504. package/build/client/_app/immutable/nodes/27.X40UvD1F.js +0 -4
  505. package/build/client/_app/immutable/nodes/27.X40UvD1F.js.br +0 -0
  506. package/build/client/_app/immutable/nodes/27.X40UvD1F.js.gz +0 -0
  507. package/build/client/_app/immutable/nodes/28.Dr7lOdry.js +0 -4
  508. package/build/client/_app/immutable/nodes/28.Dr7lOdry.js.br +0 -0
  509. package/build/client/_app/immutable/nodes/28.Dr7lOdry.js.gz +0 -0
  510. package/build/client/_app/immutable/nodes/29.D2AMWuOp.js +0 -2
  511. package/build/client/_app/immutable/nodes/29.D2AMWuOp.js.br +0 -0
  512. package/build/client/_app/immutable/nodes/29.D2AMWuOp.js.gz +0 -0
  513. package/build/client/_app/immutable/nodes/3.DNBRM1XV.js +0 -1
  514. package/build/client/_app/immutable/nodes/3.DNBRM1XV.js.br +0 -0
  515. package/build/client/_app/immutable/nodes/3.DNBRM1XV.js.gz +0 -0
  516. package/build/client/_app/immutable/nodes/30.65jXD6Hx.js +0 -2
  517. package/build/client/_app/immutable/nodes/30.65jXD6Hx.js.br +0 -0
  518. package/build/client/_app/immutable/nodes/30.65jXD6Hx.js.gz +0 -0
  519. package/build/client/_app/immutable/nodes/5.CSplf0ao.js +0 -1
  520. package/build/client/_app/immutable/nodes/5.CSplf0ao.js.br +0 -0
  521. package/build/client/_app/immutable/nodes/5.CSplf0ao.js.gz +0 -0
  522. package/build/client/_app/immutable/nodes/6.Cr2hG_wc.js +0 -1
  523. package/build/client/_app/immutable/nodes/6.Cr2hG_wc.js.br +0 -0
  524. package/build/client/_app/immutable/nodes/6.Cr2hG_wc.js.gz +0 -0
  525. package/build/client/_app/immutable/nodes/7.CEZkW_Tr.js +0 -1
  526. package/build/client/_app/immutable/nodes/7.CEZkW_Tr.js.br +0 -0
  527. package/build/client/_app/immutable/nodes/7.CEZkW_Tr.js.gz +0 -0
  528. package/build/client/_app/immutable/nodes/8.C1Yta3H5.js +0 -2
  529. package/build/client/_app/immutable/nodes/8.C1Yta3H5.js.br +0 -0
  530. package/build/client/_app/immutable/nodes/8.C1Yta3H5.js.gz +0 -0
  531. package/build/client/_app/immutable/nodes/9.DizAGKkF.js +0 -1
  532. package/build/client/_app/immutable/nodes/9.DizAGKkF.js.br +0 -0
  533. package/build/client/_app/immutable/nodes/9.DizAGKkF.js.gz +0 -0
  534. package/build/server/chunks/chunks/AppHeader.js-AYAN3F5z.js +0 -281
  535. package/build/server/chunks/chunks/AppHeader.js-AYAN3F5z.js.map +0 -1
  536. package/build/server/chunks/chunks/SideNav.js-DKHpQjuu.js +0 -67
  537. package/build/server/chunks/chunks/SideNav.js-DKHpQjuu.js.map +0 -1
  538. package/build/server/chunks/chunks/UserChip.js-C-6376Q0.js +0 -1163
  539. package/build/server/chunks/chunks/UserChip.js-C-6376Q0.js.map +0 -1
  540. package/build/server/chunks/chunks/access.server.js-DTk8L9Xm.js +0 -453
  541. package/build/server/chunks/chunks/access.server.js-DTk8L9Xm.js.map +0 -1
  542. package/build/server/chunks/chunks/access2.server.js-snT285fJ.js +0 -20
  543. package/build/server/chunks/chunks/access2.server.js-snT285fJ.js.map +0 -1
  544. package/build/server/chunks/chunks/admin-auth.server.js-CWv707EC.js +0 -180
  545. package/build/server/chunks/chunks/admin-auth.server.js-CWv707EC.js.map +0 -1
  546. package/build/server/chunks/chunks/admin-config.js-DdCBspOh.js +0 -3
  547. package/build/server/chunks/chunks/admin-config.js-DdCBspOh.js.map +0 -1
  548. package/build/server/chunks/chunks/api-errors.js-BXNSPeAn.js +0 -141
  549. package/build/server/chunks/chunks/api-errors.js-BXNSPeAn.js.map +0 -1
  550. package/build/server/chunks/chunks/auth-bootstrap.server.js-DRbumHNf.js +0 -162
  551. package/build/server/chunks/chunks/auth-bootstrap.server.js-DRbumHNf.js.map +0 -1
  552. package/build/server/chunks/chunks/auth.server.js-D2zzXC2B.js +0 -2
  553. package/build/server/chunks/chunks/auth.server.js-D2zzXC2B.js.map +0 -1
  554. package/build/server/chunks/chunks/bootHealth.server.js-uYPUvUjO.js +0 -91
  555. package/build/server/chunks/chunks/bootHealth.server.js-uYPUvUjO.js.map +0 -1
  556. package/build/server/chunks/chunks/chunk-6TMSTNHN.js-3Bz2KNTb.js +0 -1502
  557. package/build/server/chunks/chunks/chunk-6TMSTNHN.js-3Bz2KNTb.js.map +0 -1
  558. package/build/server/chunks/chunks/chunk-NVMSD4CC.js-BgY8vvUs.js +0 -2919
  559. package/build/server/chunks/chunks/chunk-NVMSD4CC.js-BgY8vvUs.js.map +0 -1
  560. package/build/server/chunks/chunks/client.js-P-TdOF79.js +0 -58
  561. package/build/server/chunks/chunks/client.js-P-TdOF79.js.map +0 -1
  562. package/build/server/chunks/chunks/clientCache.server.js-D5qWksO1.js +0 -195
  563. package/build/server/chunks/chunks/clientCache.server.js-D5qWksO1.js.map +0 -1
  564. package/build/server/chunks/chunks/compute.js-DJMNVamB.js +0 -747
  565. package/build/server/chunks/chunks/compute.js-DJMNVamB.js.map +0 -1
  566. package/build/server/chunks/chunks/computeLimits.js-BvAV5j60.js +0 -48
  567. package/build/server/chunks/chunks/computeLimits.js-BvAV5j60.js.map +0 -1
  568. package/build/server/chunks/chunks/evictChangedServers.js-ClNIxVww.js +0 -29
  569. package/build/server/chunks/chunks/evictChangedServers.js-ClNIxVww.js.map +0 -1
  570. package/build/server/chunks/chunks/forms.js-2QtFofqz.js +0 -2
  571. package/build/server/chunks/chunks/forms.js-2QtFofqz.js.map +0 -1
  572. package/build/server/chunks/chunks/internal2.js-DEN8UhZO.js +0 -224
  573. package/build/server/chunks/chunks/internal2.js-DEN8UhZO.js.map +0 -1
  574. package/build/server/chunks/chunks/navigation.js-2QtFofqz.js +0 -2
  575. package/build/server/chunks/chunks/navigation.js-2QtFofqz.js.map +0 -1
  576. package/build/server/chunks/chunks/org-members.server.js-YlJjV8_t.js +0 -35
  577. package/build/server/chunks/chunks/org-members.server.js-YlJjV8_t.js.map +0 -1
  578. package/build/server/chunks/chunks/package.js-CaaoNObv.js +0 -76
  579. package/build/server/chunks/chunks/package.js-CaaoNObv.js.map +0 -1
  580. package/build/server/chunks/chunks/permissions.server.js-BR0B8hVZ.js +0 -15
  581. package/build/server/chunks/chunks/permissions.server.js-BR0B8hVZ.js.map +0 -1
  582. package/build/server/chunks/chunks/providers.server.js-DVrVQ227.js +0 -6247
  583. package/build/server/chunks/chunks/providers.server.js-DVrVQ227.js.map +0 -1
  584. package/build/server/chunks/chunks/resolve.server.js-CsO79Ncd.js +0 -62
  585. package/build/server/chunks/chunks/resolve.server.js-CsO79Ncd.js.map +0 -1
  586. package/build/server/chunks/chunks/selfUpdate.server.js-BZsKx2kH.js +0 -152
  587. package/build/server/chunks/chunks/selfUpdate.server.js-BZsKx2kH.js.map +0 -1
  588. package/build/server/chunks/chunks/state.js-F5ep4mVz.js +0 -64
  589. package/build/server/chunks/chunks/state.js-F5ep4mVz.js.map +0 -1
  590. package/build/server/chunks/chunks/stores.js-D23nyPLC.js +0 -35
  591. package/build/server/chunks/chunks/stores.js-D23nyPLC.js.map +0 -1
  592. package/build/server/chunks/chunks/utils2.js-BeHcWGXn.js +0 -62
  593. package/build/server/chunks/chunks/utils2.js-BeHcWGXn.js.map +0 -1
  594. package/build/server/chunks/chunks/visualization-BIHTM2KJ.js-tLehqRSm.js +0 -21
  595. package/build/server/chunks/chunks/visualization-BIHTM2KJ.js-tLehqRSm.js.map +0 -1
  596. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-wVuDvrFy.js +0 -93
  597. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-wVuDvrFy.js.map +0 -1
  598. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-cD2vCXHV.js +0 -53
  599. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-cD2vCXHV.js.map +0 -1
  600. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-GP1jx9qX.js +0 -79
  601. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-GP1jx9qX.js.map +0 -1
  602. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-D6Y4KbYK.js +0 -50
  603. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-D6Y4KbYK.js.map +0 -1
  604. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-DZJjpxc2.js +0 -86
  605. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-DZJjpxc2.js.map +0 -1
  606. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-CS4Qz_XQ.js +0 -72
  607. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-CS4Qz_XQ.js.map +0 -1
  608. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-3Ebkx09z.js +0 -74
  609. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-3Ebkx09z.js.map +0 -1
  610. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-DOhMfJyf.js +0 -34
  611. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-DOhMfJyf.js.map +0 -1
  612. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-BrLIt3Jh.js +0 -71
  613. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-BrLIt3Jh.js.map +0 -1
  614. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CYVWpcid.js +0 -103
  615. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CYVWpcid.js.map +0 -1
  616. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DeiqLieq.js +0 -208
  617. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DeiqLieq.js.map +0 -1
  618. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-Dq4mvpeu.js +0 -90
  619. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-Dq4mvpeu.js.map +0 -1
  620. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-DfWo6sH-.js +0 -403
  621. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-DfWo6sH-.js.map +0 -1
  622. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-BjF6nnTY.js +0 -76
  623. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-BjF6nnTY.js.map +0 -1
  624. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-VTxX1cJJ.js +0 -46
  625. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-VTxX1cJJ.js.map +0 -1
  626. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-BrV4UzaJ.js +0 -86
  627. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-BrV4UzaJ.js.map +0 -1
  628. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-BWpyFqnS.js +0 -0
  629. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-BWpyFqnS.js.map +0 -1
  630. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-Bim33O-D.js +0 -64
  631. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-Bim33O-D.js.map +0 -1
  632. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-B81Y_gEm.js +0 -75
  633. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-B81Y_gEm.js.map +0 -1
  634. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-Zf1Tcfe8.js +0 -46
  635. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-Zf1Tcfe8.js.map +0 -1
  636. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-arAfVsw-.js +0 -44
  637. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-arAfVsw-.js.map +0 -1
  638. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CUjzFtk_.js +0 -40
  639. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CUjzFtk_.js.map +0 -1
  640. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BKAgaQh9.js +0 -46
  641. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BKAgaQh9.js.map +0 -1
  642. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-iMpHd7MR.js +0 -84
  643. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-iMpHd7MR.js.map +0 -1
  644. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DJ6mSPwT.js +0 -47
  645. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DJ6mSPwT.js.map +0 -1
  646. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-KkfSAaKU.js +0 -40
  647. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-KkfSAaKU.js.map +0 -1
  648. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-fc6Xi8vt.js +0 -94
  649. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-fc6Xi8vt.js.map +0 -1
  650. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-Buqf5yUC.js +0 -59
  651. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-Buqf5yUC.js.map +0 -1
  652. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BVmQ7dkH.js +0 -89
  653. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BVmQ7dkH.js.map +0 -1
  654. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-DCNRkHyf.js +0 -56
  655. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-DCNRkHyf.js.map +0 -1
  656. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-7pTpOKW0.js +0 -49
  657. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-7pTpOKW0.js.map +0 -1
  658. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-g93YLTLU.js +0 -77
  659. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-g93YLTLU.js.map +0 -1
  660. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-CEExfukq.js +0 -45
  661. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-CEExfukq.js.map +0 -1
  662. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-DbDWz9gf.js +0 -110
  663. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-DbDWz9gf.js.map +0 -1
  664. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DAEkbq9O.js +0 -79
  665. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DAEkbq9O.js.map +0 -1
  666. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-DFCbEjiK.js +0 -71
  667. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-DFCbEjiK.js.map +0 -1
  668. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BPj5goxx.js +0 -65
  669. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BPj5goxx.js.map +0 -1
  670. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-B475Pa8T.js +0 -64
  671. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-B475Pa8T.js.map +0 -1
  672. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-Cc1nlfHR.js +0 -48
  673. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-Cc1nlfHR.js.map +0 -1
  674. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-eb-kwNJ0.js +0 -85
  675. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-eb-kwNJ0.js.map +0 -1
  676. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-tvYDn2S7.js +0 -48
  677. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-tvYDn2S7.js.map +0 -1
  678. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-C4mvL4p5.js +0 -52
  679. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-C4mvL4p5.js.map +0 -1
  680. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-D7hQjRs_.js +0 -51
  681. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-D7hQjRs_.js.map +0 -1
  682. package/build/server/chunks/entries/hooks.server.js-xCzuEP4L.js +0 -341
  683. package/build/server/chunks/entries/hooks.server.js-xCzuEP4L.js.map +0 -1
  684. package/build/server/chunks/entries/pages/_error.svelte.js-CxXvoX2l.js +0 -35
  685. package/build/server/chunks/entries/pages/_error.svelte.js-CxXvoX2l.js.map +0 -1
  686. package/build/server/chunks/entries/pages/_layout.server.ts.js-CBN-MFPt.js +0 -34
  687. package/build/server/chunks/entries/pages/_layout.server.ts.js-CBN-MFPt.js.map +0 -1
  688. package/build/server/chunks/entries/pages/_page.svelte.js-BayTh-oz.js +0 -76
  689. package/build/server/chunks/entries/pages/_page.svelte.js-BayTh-oz.js.map +0 -1
  690. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CqEE42rK.js +0 -109
  691. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-CqEE42rK.js.map +0 -1
  692. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CzQ_a18S.js +0 -148
  693. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CzQ_a18S.js.map +0 -1
  694. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DuflaaU8.js +0 -36
  695. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DuflaaU8.js.map +0 -1
  696. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BX-PJtTN.js +0 -31
  697. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BX-PJtTN.js.map +0 -1
  698. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Blxit_Pi.js +0 -121
  699. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Blxit_Pi.js.map +0 -1
  700. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-V33ek5uk.js +0 -75
  701. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-V33ek5uk.js.map +0 -1
  702. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DCz01DT4.js +0 -359
  703. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DCz01DT4.js.map +0 -1
  704. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CB_j-5nN.js +0 -245
  705. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CB_j-5nN.js.map +0 -1
  706. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-D716GE03.js +0 -45
  707. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-D716GE03.js.map +0 -1
  708. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-C_roaqwN.js +0 -612
  709. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-C_roaqwN.js.map +0 -1
  710. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-BLAT_3BT.js +0 -35
  711. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-BLAT_3BT.js.map +0 -1
  712. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-LItiLsTO.js +0 -86
  713. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-LItiLsTO.js.map +0 -1
  714. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CD7GzJ0a.js +0 -616
  715. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CD7GzJ0a.js.map +0 -1
  716. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DHQ1SMC8.js +0 -42
  717. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DHQ1SMC8.js.map +0 -1
  718. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-PEVVD1hz.js +0 -282
  719. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-PEVVD1hz.js.map +0 -1
  720. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-7xxEcfbl.js +0 -79
  721. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-7xxEcfbl.js.map +0 -1
  722. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DV29U8ML.js +0 -1363
  723. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DV29U8ML.js.map +0 -1
  724. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-D-nx2W_5.js +0 -70
  725. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-D-nx2W_5.js.map +0 -1
  726. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-IdZ3AdQd.js +0 -681
  727. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-IdZ3AdQd.js.map +0 -1
  728. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-4YV39zo1.js +0 -62
  729. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-4YV39zo1.js.map +0 -1
  730. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CeWL1Qk4.js +0 -62
  731. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CeWL1Qk4.js.map +0 -1
  732. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DhFb3NaU.js +0 -124
  733. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DhFb3NaU.js.map +0 -1
  734. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BsffxeXd.js +0 -12096
  735. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BsffxeXd.js.map +0 -1
  736. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BkMeXS9O.js +0 -73
  737. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BkMeXS9O.js.map +0 -1
  738. package/build/server/chunks/entries/pages/library/_page.svelte.js-blnmEQ-o.js +0 -328
  739. package/build/server/chunks/entries/pages/library/_page.svelte.js-blnmEQ-o.js.map +0 -1
  740. package/build/server/chunks/entries/pages/login/_page.server.ts.js-Bw-a30vh.js +0 -76
  741. package/build/server/chunks/entries/pages/login/_page.server.ts.js-Bw-a30vh.js.map +0 -1
  742. package/build/server/chunks/entries/pages/login/_page.svelte.js-DSXMr75X.js +0 -256
  743. package/build/server/chunks/entries/pages/login/_page.svelte.js-DSXMr75X.js.map +0 -1
  744. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DgEnEaqK.js +0 -16
  745. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-DgEnEaqK.js.map +0 -1
  746. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-Bv9GVGMV.js +0 -49
  747. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-Bv9GVGMV.js.map +0 -1
  748. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BUxZcCVz.js +0 -101
  749. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BUxZcCVz.js.map +0 -1
  750. package/build/server/chunks/entries/pages/projects/_page.svelte.js-O8Sd-6bV.js +0 -3745
  751. package/build/server/chunks/entries/pages/projects/_page.svelte.js-O8Sd-6bV.js.map +0 -1
  752. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DoCznQ0-.js +0 -113
  753. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DoCznQ0-.js.map +0 -1
  754. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CCPZU4QX.js +0 -321
  755. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CCPZU4QX.js.map +0 -1
  756. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-D1j-DbQg.js +0 -28
  757. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-D1j-DbQg.js.map +0 -1
  758. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Dk2pFA0B.js +0 -162
  759. package/build/server/chunks/entries/pages/team/_layout.svelte.js-Dk2pFA0B.js.map +0 -1
  760. package/build/server/chunks/entries/pages/team/_page.server.ts.js-B2OdV_29.js +0 -35
  761. package/build/server/chunks/entries/pages/team/_page.server.ts.js-B2OdV_29.js.map +0 -1
  762. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BlCuggyX.js +0 -42
  763. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BlCuggyX.js.map +0 -1
  764. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-DYNE5ABk.js +0 -593
  765. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-DYNE5ABk.js.map +0 -1
  766. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B4b3SZOP.js +0 -58
  767. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B4b3SZOP.js.map +0 -1
  768. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-CHd4CN0C.js +0 -539
  769. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-CHd4CN0C.js.map +0 -1
  770. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-NFDW3PWw.js +0 -42
  771. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-NFDW3PWw.js.map +0 -1
  772. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BFU_On_5.js +0 -436
  773. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BFU_On_5.js.map +0 -1
  774. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-C-ZrYWBh.js +0 -50
  775. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-C-ZrYWBh.js.map +0 -1
  776. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-yqHcDyMF.js +0 -262
  777. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-yqHcDyMF.js.map +0 -1
  778. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D4Qjk1fq.js +0 -32
  779. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D4Qjk1fq.js.map +0 -1
  780. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-C0GnGxkp.js +0 -16
  781. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-C0GnGxkp.js.map +0 -1
  782. package/build/server/chunks/handler-C1wPoG6z.js +0 -1206
  783. package/build/server/chunks/handler-C1wPoG6z.js.map +0 -1
  784. package/build/server/chunks/index.js-CcGY6Xru.js +0 -3747
  785. package/build/server/chunks/index.js-CcGY6Xru.js.map +0 -1
  786. package/build/server/chunks/manifest.js-4zIU5_xF.js +0 -548
  787. package/build/server/chunks/manifest.js-4zIU5_xF.js.map +0 -1
  788. package/build/server/chunks/nodes/0.js-B_6GhKJ8.js +0 -25
  789. package/build/server/chunks/nodes/0.js-B_6GhKJ8.js.map +0 -1
  790. package/build/server/chunks/nodes/1.js-w6iNuu_p.js +0 -9
  791. package/build/server/chunks/nodes/1.js-w6iNuu_p.js.map +0 -1
  792. package/build/server/chunks/nodes/10.js-B1qCAcpJ.js +0 -27
  793. package/build/server/chunks/nodes/10.js-B1qCAcpJ.js.map +0 -1
  794. package/build/server/chunks/nodes/11.js-O6PJlINw.js +0 -28
  795. package/build/server/chunks/nodes/11.js-O6PJlINw.js.map +0 -1
  796. package/build/server/chunks/nodes/12.js-CUbufUon.js +0 -26
  797. package/build/server/chunks/nodes/12.js-CUbufUon.js.map +0 -1
  798. package/build/server/chunks/nodes/13.js-HhzOjujZ.js +0 -26
  799. package/build/server/chunks/nodes/13.js-HhzOjujZ.js.map +0 -1
  800. package/build/server/chunks/nodes/14.js-CNftKGUy.js +0 -26
  801. package/build/server/chunks/nodes/14.js-CNftKGUy.js.map +0 -1
  802. package/build/server/chunks/nodes/15.js-iS2sMPAh.js +0 -38
  803. package/build/server/chunks/nodes/15.js-iS2sMPAh.js.map +0 -1
  804. package/build/server/chunks/nodes/16.js-BLW2wpqY.js +0 -29
  805. package/build/server/chunks/nodes/16.js-BLW2wpqY.js.map +0 -1
  806. package/build/server/chunks/nodes/17.js-BXU0IoJo.js +0 -9
  807. package/build/server/chunks/nodes/17.js-BXU0IoJo.js.map +0 -1
  808. package/build/server/chunks/nodes/18.js-DGns1zZz.js +0 -34
  809. package/build/server/chunks/nodes/18.js-DGns1zZz.js.map +0 -1
  810. package/build/server/chunks/nodes/19.js-viNBXeh7.js +0 -27
  811. package/build/server/chunks/nodes/19.js-viNBXeh7.js.map +0 -1
  812. package/build/server/chunks/nodes/2.js-D4shsDuL.js +0 -27
  813. package/build/server/chunks/nodes/2.js-D4shsDuL.js.map +0 -1
  814. package/build/server/chunks/nodes/20.js-Cy3-jXnw.js +0 -40
  815. package/build/server/chunks/nodes/20.js-Cy3-jXnw.js.map +0 -1
  816. package/build/server/chunks/nodes/21.js-BG1ajoFp.js +0 -34
  817. package/build/server/chunks/nodes/21.js-BG1ajoFp.js.map +0 -1
  818. package/build/server/chunks/nodes/22.js-BJsw1K0_.js +0 -24
  819. package/build/server/chunks/nodes/22.js-BJsw1K0_.js.map +0 -1
  820. package/build/server/chunks/nodes/23.js-BYM4G85N.js +0 -28
  821. package/build/server/chunks/nodes/23.js-BYM4G85N.js.map +0 -1
  822. package/build/server/chunks/nodes/24.js-BqgIDvwz.js +0 -34
  823. package/build/server/chunks/nodes/24.js-BqgIDvwz.js.map +0 -1
  824. package/build/server/chunks/nodes/25.js-DWhdYf2C.js +0 -26
  825. package/build/server/chunks/nodes/25.js-DWhdYf2C.js.map +0 -1
  826. package/build/server/chunks/nodes/27.js-Bz-IRtAq.js +0 -27
  827. package/build/server/chunks/nodes/27.js-Bz-IRtAq.js.map +0 -1
  828. package/build/server/chunks/nodes/28.js-BEawWTlr.js +0 -26
  829. package/build/server/chunks/nodes/28.js-BEawWTlr.js.map +0 -1
  830. package/build/server/chunks/nodes/29.js-KJTwD08r.js +0 -26
  831. package/build/server/chunks/nodes/29.js-KJTwD08r.js.map +0 -1
  832. package/build/server/chunks/nodes/3.js-CtTwes7V.js +0 -9
  833. package/build/server/chunks/nodes/3.js-CtTwes7V.js.map +0 -1
  834. package/build/server/chunks/nodes/30.js-iD-GalAT.js +0 -26
  835. package/build/server/chunks/nodes/30.js-iD-GalAT.js.map +0 -1
  836. package/build/server/chunks/nodes/31.js-BKsO_tnZ.js +0 -26
  837. package/build/server/chunks/nodes/31.js-BKsO_tnZ.js.map +0 -1
  838. package/build/server/chunks/nodes/32.js-yb1lQm_m.js +0 -26
  839. package/build/server/chunks/nodes/32.js-yb1lQm_m.js.map +0 -1
  840. package/build/server/chunks/nodes/5.js-B09SDkNw.js +0 -15
  841. package/build/server/chunks/nodes/5.js-B09SDkNw.js.map +0 -1
  842. package/build/server/chunks/nodes/6.js--SQ6F4Vx.js +0 -26
  843. package/build/server/chunks/nodes/6.js--SQ6F4Vx.js.map +0 -1
  844. package/build/server/chunks/nodes/7.js-BYGZJ3r0.js +0 -12
  845. package/build/server/chunks/nodes/7.js-BYGZJ3r0.js.map +0 -1
  846. package/build/server/chunks/nodes/8.js-DylKEQoi.js +0 -35
  847. package/build/server/chunks/nodes/8.js-DylKEQoi.js.map +0 -1
  848. package/build/server/chunks/nodes/9.js-U2TxkMWR.js +0 -26
  849. package/build/server/chunks/nodes/9.js-U2TxkMWR.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import{At as e,B as t,D as n,F as r,Ft as i,It as a,L as o,M as s,Rt as c,V as l,W as u,X as d,dt as f,ft as p,g as m,h,it as g,k as _,kt as v,lt as y,pt as b,tt as x,v as S,xt as C,z as w}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as T}from"../chunks/BMx84FKI.js";import{t as E}from"../chunks/BjWOHXTN.js";import{t as D}from"../chunks/XAfNJj4O.js";import{t as O}from"../chunks/D9DFvnxj.js";import{t as k}from"../chunks/Dt77lQ3V2.js";import{n as A,t as j}from"../chunks/BN8xa1dZ2.js";var M=(e,t=c)=>{var n=N(),r=f(n),i=f(r);a(r);var s=b(r,2),l=f(s,!0);a(s),a(n),g(e=>{o(i,`Request headers (${t().length??``})`),o(l,e)},[()=>t().map(e=>`${e.name}: ${e.value}`).join(`
2
+ `)]),w(e,n)},N=l(`<details class="border-border rounded border p-3 text-xs"><summary class="text-muted-foreground cursor-pointer font-medium"> </summary> <pre class="text-muted-foreground mt-2 max-h-96 overflow-auto break-all whitespace-pre-wrap"> </pre></details>`),P=l(`<!> <!>`,1),F=l(`<a class="block"><!></a>`),I=l(`<div class="space-y-2"></div>`),L=l(`<div class="text-muted-foreground flex items-center gap-2 text-xs uppercase"><div class="bg-border h-px flex-1"></div> <span>or</span> <div class="bg-border h-px flex-1"></div></div>`),R=l(`<input type="hidden" name="redirectTo"/>`),z=l(`<form method="POST" action="/auth/email/start" class="space-y-4"><!> <div class="space-y-2"><!> <!></div> <!></form>`),ee=l(`<form method="POST" class="space-y-4"><!> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <!></form>`),te=l(`<div class="space-y-3"><p class="text-muted-foreground text-sm">This deployment uses forward-auth — sign-in happens upstream at your identity provider,
3
+ not on this page. If you're seeing this page, your proxy didn't forward the identity
4
+ headers. Check that:</p> <ul class="text-muted-foreground list-disc space-y-1 pl-5 text-xs"><li>You're reaching the app through the proxy, not directly</li> <li>The proxy authenticated you (visit the IdP first if needed)</li> <li>The proxy is forwarding the configured identity header</li></ul> <p class="text-muted-foreground text-xs">Operators: see <code>HEADER_AUTH_UPN_HEADER</code> and your proxy's forward-auth config.</p> <!></div>`),ne=l(`<div class="space-y-3"><p class="text-muted-foreground text-sm">You're signed in with your identity provider, but your account hasn't been granted access
5
+ to this deployment yet.</p> <p class="text-muted-foreground text-xs">Ask an administrator to add you to the allowlist. Once added, reload this page — no second
6
+ sign-in is needed.</p> <!></div>`),re=l(`<div class="bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8"><div class="w-full max-w-sm space-y-6"><div class="space-y-1 text-center"><h2 class="text-foreground text-2xl font-bold tracking-tight">Sign in</h2> <p class="text-muted-foreground text-sm">Sign in to your account</p></div> <!> <!> <!> <!> <!> <!> <!></div></div>`);function B(c,l){e(l,!0);let N=C(()=>O.url.searchParams.get(`redirectTo`)??``);function B(e){return`/auth/supabase/start?${`provider=${encodeURIComponent(e)}${d(N)?`&redirectTo=${encodeURIComponent(d(N))}`:``}`}`}function V(e){return{google:`Google`,github:`GitHub`,azure:`Microsoft`,gitlab:`GitLab`}[e]??e}let H=C(()=>!l.data.hasPasswordAuth&&!l.data.hasEmailLink&&l.data.oauthProviders.length===0);var U=re();n(`1x05zx6`,e=>{x(()=>{y.title=`Login - ${O.data.branding.name??``}`})});var W=f(U),G=b(f(W),2),K=e=>{var n=t();_(p(n),()=>A,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=P(),r=p(n);E(r,{}),_(b(r,2),()=>j,(e,t)=>{t(e,{children:(e,t)=>{i();var n=u();g(()=>o(n,l.form.error)),w(e,n)},$$slots:{default:!0}})}),w(e,n)},$$slots:{default:!0}})}),w(e,n)};r(G,e=>{l.form?.error&&e(K)});var q=b(G,2),J=e=>{var t=I();s(t,20,()=>l.data.oauthProviders,e=>e,(e,t)=>{var n=F();T(f(n),{type:`button`,variant:`outline`,class:`w-full`,children:(e,n)=>{i();var r=u();g(e=>o(r,`Continue with ${e??``}`),[()=>V(t)]),w(e,r)},$$slots:{default:!0}}),a(n),g(e=>m(n,`href`,e),[()=>B(t)]),w(e,n)}),a(t),w(e,t)};r(q,e=>{l.data.oauthProviders.length>0&&e(J)});var Y=b(q,2),ie=e=>{w(e,L())};r(Y,e=>{l.data.hasEmailLink&&l.data.oauthProviders.length>0&&e(ie)});var X=b(Y,2),ae=e=>{var t=z(),n=f(t),o=e=>{var t=R();h(t),g(()=>S(t,d(N))),w(e,t)};r(n,e=>{d(N)&&e(o)});var s=b(n,2),c=f(s);D(c,{for:`email-link-email`,children:(e,t)=>{i(),w(e,u(`Email`))},$$slots:{default:!0}}),k(b(c,2),{id:`email-link-email`,name:`email`,type:`email`,required:!0,placeholder:`you@example.com`}),a(s),T(b(s,2),{type:`submit`,variant:`outline`,class:`w-full`,children:(e,t)=>{i(),w(e,u(`Email me a sign-in link`))},$$slots:{default:!0}}),a(t),w(e,t)};r(X,e=>{l.data.hasEmailLink&&e(ae)});var Z=b(X,2),oe=e=>{w(e,L())};r(Z,e=>{l.data.hasPasswordAuth&&(l.data.hasEmailLink||l.data.oauthProviders.length>0)&&e(oe)});var Q=b(Z,2),$=e=>{var t=ee(),n=f(t),o=e=>{var t=R();h(t),g(()=>S(t,d(N))),w(e,t)};r(n,e=>{d(N)&&e(o)});var s=b(n,2),c=f(s);D(c,{for:`email`,children:(e,t)=>{i(),w(e,u(`Email`))},$$slots:{default:!0}}),k(b(c,2),{id:`email`,name:`email`,type:`email`,required:!0,placeholder:`admin@example.com`}),a(s);var l=b(s,2),p=f(l);D(p,{for:`password`,children:(e,t)=>{i(),w(e,u(`Password`))},$$slots:{default:!0}}),k(b(p,2),{id:`password`,name:`password`,type:`password`,required:!0,placeholder:`Password`}),a(l),T(b(l,2),{type:`submit`,class:`w-full`,children:(e,t)=>{i(),w(e,u(`Sign in with password`))},$$slots:{default:!0}}),a(t),w(e,t)};r(Q,e=>{l.data.hasPasswordAuth&&e($)});var se=b(Q,2),ce=e=>{var t=te(),n=b(f(t),6),i=e=>{M(e,()=>l.data.requestHeaders)};r(n,e=>{l.data.requestHeaders&&e(i)}),a(t),w(e,t)},le=e=>{var t=ne(),n=b(f(t),4),i=e=>{M(e,()=>l.data.requestHeaders)};r(n,e=>{l.data.requestHeaders&&e(i)}),a(t),w(e,t)},ue=e=>{var n=t();_(p(n),()=>A,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=P(),r=p(n);E(r,{}),_(b(r,2),()=>j,(e,t)=>{t(e,{children:(e,t)=>{i(),w(e,u(`No login methods are configured. Set up an auth provider before signing in.`))},$$slots:{default:!0}})}),w(e,n)},$$slots:{default:!0}})}),w(e,n)};r(se,e=>{d(H)&&l.data.hasProxyAuth&&l.data.proxyHeadersMissing?e(ce):d(H)&&l.data.hasProxyAuth?e(le,1):d(H)&&e(ue,2)}),a(W),a(U),w(c,U),v()}export{B as component};
@@ -0,0 +1,16 @@
1
+ import{A as e,At as t,B as n,C as r,Ct as i,D as a,F as o,Ft as s,G as c,It as l,K as u,L as d,M as f,P as p,Rt as m,S as h,U as g,V as _,W as v,X as y,a as b,at as x,b as S,c as C,dt as w,f as T,ft as E,g as D,gt as O,h as k,it as A,k as j,kt as M,l as N,lt as P,m as F,mt as I,nt as L,o as R,pt as z,q as B,s as V,st as H,ut as U,vt as W,wt as G,x as ee,xt as K,y as q,z as J}from"../chunks/CL3s_3g5.js";import{i as Y,r as te}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{n as ne}from"../chunks/DoI8t0cF.js";import{d as re,i as ie,o as ae,t as oe,u as se,y as X}from"../chunks/hfCvJzwQ.js";import{i as ce,t as le}from"../chunks/D3VSOnNo.js";import{t as Z}from"../chunks/BMx84FKI.js";import{t as ue}from"../chunks/CACZJiWS.js";import{t as de}from"../chunks/Cv5WJ8WQ.js";import{t as fe}from"../chunks/N19EYJwE.js";import{a as pe}from"../chunks/B3_WmU5u.js";import{i as me,n as he,r as ge,t as _e}from"../chunks/zm1p3CI2.js";import{t as ve}from"../chunks/B8eqaxfc2.js";import{a as ye,c as be,i as xe,n as Se,o as Ce,r as we,s as Te,t as Ee}from"../chunks/CNLFdBld.js";import{t as De}from"../chunks/BX5J3njl.js";import{t as Oe}from"../chunks/BcvLMt3u.js";import{t as ke}from"../chunks/CFBprvLO.js";import{t as Ae}from"../chunks/D4YBJLId.js";import{t as je}from"../chunks/xnWCJBmG.js";import{t as Me}from"../chunks/BfI32HyH.js";import{t as Ne}from"../chunks/CGtjofto.js";import{t as Pe}from"../chunks/DWPCC0_6.js";import{t as Fe}from"../chunks/UeEPBo0V.js";import{a as Ie,c as Le,i as Re,n as ze,o as Be,r as Ve,s as He,t as Ue}from"../chunks/B4n-OjCm.js";import{a as We,i as Ge,n as Ke,r as qe,t as Je}from"../chunks/DbfF2wEw.js";import{t as Q}from"../chunks/XAfNJj4O.js";import{a as Ye,i as Xe,n as Ze,r as Qe,t as $e}from"../chunks/iO9OM2Vo.js";import{t as et}from"../chunks/Ot8VM1_P.js";import{t as tt}from"../chunks/DNL96-hz.js";import{t as nt}from"../chunks/Dt77lQ3V2.js";import{t as rt}from"../chunks/p42Je1322.js";import{n as $}from"../chunks/35-OQSYE2.js";import{t as it}from"../chunks/DZABOdll2.js";import"../chunks/BHKDoXDm2.js";import{t as at}from"../chunks/Cg_4c8n32.js";import{t as ot}from"../chunks/DW4WVvYR2.js";var st=new Set([`$$slots`,`$$events`,`$$legacy`]);function ct(e,t){let n=R(t,st),r=[[`path`,{d:`M12 13v8`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}],[`path`,{d:`m8 17 4-4 4 4`}]];ce(e,V({name:`cloud-upload`},()=>n,{get iconNode(){return r}}))}var lt=new Set([`$$slots`,`$$events`,`$$legacy`]);function ut(e,t){let n=R(t,lt),r=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`19`,cy:`12`,r:`1`}],[`circle`,{cx:`5`,cy:`12`,r:`1`}]];ce(e,V({name:`ellipsis`},()=>n,{get iconNode(){return r}}))}var dt=new Set([`$$slots`,`$$events`,`$$legacy`]);function ft(e,t){let n=R(t,dt),r=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`}]];ce(e,V({name:`image`},()=>n,{get iconNode(){return r}}))}var pt=new Set([`$$slots`,`$$events`,`$$legacy`]);function mt(e,t){let n=R(t,pt),r=[[`circle`,{cx:`18`,cy:`5`,r:`3`}],[`circle`,{cx:`6`,cy:`12`,r:`3`}],[`circle`,{cx:`18`,cy:`19`,r:`3`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`}]];ce(e,V({name:`share-2`},()=>n,{get iconNode(){return r}}))}var ht=ae({component:`separator`,parts:[`root`]}),gt=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=se(e.ref)}#e=K(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":ie(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[ht.root]:``,...this.attachment}));get props(){return y(this.#e)}set props(e){O(this.#e,e)}},_t=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`decorative`,`orientation`]),vt=_(`<div><!></div>`);function yt(r,i){let a=g();t(i,!0);let s=b(i,`id`,19,()=>oe(a)),c=b(i,`ref`,15,null),u=b(i,`decorative`,3,!1),d=b(i,`orientation`,3,`horizontal`),f=R(i,_t),p=gt.create({ref:X(()=>c(),e=>c(e)),id:X(()=>s()),decorative:X(()=>u()),orientation:X(()=>d())}),h=K(()=>re(f,p.props));var _=n(),v=E(_),x=t=>{var r=n();e(E(r),()=>i.child,()=>({props:y(h)})),J(t,r)},S=t=>{var n=vt();F(n,()=>({...y(h)})),e(w(n),()=>i.children??m),l(n),J(t,n)};o(v,e=>{i.child?e(x):e(S,-1)}),J(r,_),M()}var bt=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`data-slot`]);function xt(e,r){t(r,!0);let i=b(r,`ref`,15,null),a=b(r,`data-slot`,3,`separator`),o=R(r,bt);var s=n(),c=E(s);{let e=K(()=>le(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px`,r.class));j(c,()=>yt,(t,n)=>{n(t,V({get"data-slot"(){return a()},get class(){return y(e)}},()=>o,{get ref(){return i()},set ref(e){i(e)}}))})}J(e,s),M()}var St=_(`<div role="button" tabindex="-1" class="inset-0 bg-black/30 fixed z-50"></div> <div><!></div>`,1);function Ct(n,i){t(i,!0);let a=b(i,`width`,3,`w-125`),o=b(i,`ariaLabel`,3,`Close drawer`);function s(e){e.key===`Escape`&&i.onClose()}var c=St();B(`keydown`,U,s);var d=E(c),f=z(d,2);e(w(f),()=>i.children),l(f),A(()=>{D(d,`aria-label`,o()),r(f,1,`animate-in slide-in-from-right-4 top-0 right-0 fixed z-50 flex h-full border-border bg-background ${a()??``} flex-col overflow-y-auto border-l duration-150`)}),u(`click`,d,function(...e){i.onClose?.apply(this,e)}),u(`keydown`,d,s),J(n,c),M()}c([`click`,`keydown`]);var wt=_(`<!> <span class="sm:inline hidden"> </span>`,1),Tt=_(`<div class="gap-2 sm:flex-row sm:items-center flex flex-col"><input type="file" accept="image/*" class="h-10 px-3 py-2 text-sm file:text-sm file:font-medium flex flex-1 rounded-md border border-input bg-background file:border-0 file:bg-transparent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:opacity-50"/> <!></div>`),Et=_(`<div class="space-y-2"><div class="gap-1 p-0.5 flex rounded-md border"><!> <!></div> <!></div>`);function Dt(e,n){t(n,!0);let r=b(n,`mode`,3,`url`),i=b(n,`value`,3,``),a=b(n,`disabled`,3,!1),c=b(n,`isUploading`,3,!1),f=b(n,`hasFile`,3,!1),p=b(n,`inputRef`,15);var m=Et(),h=w(m),g=w(h);{let e=K(()=>r()===`upload`?`ghost`:`default`);Z(g,{size:`sm`,get variant(){return y(e)},onclick:()=>n.onModeChange?.(`url`),class:`h-7 text-xs flex-1`,children:(e,t)=>{s(),J(e,v(`URL`))},$$slots:{default:!0}})}var _=z(g,2);{let e=K(()=>r()===`upload`?`default`:`ghost`);Z(_,{size:`sm`,get variant(){return y(e)},onclick:()=>n.onModeChange?.(`upload`),class:`h-7 text-xs flex-1`,children:(e,t)=>{s(),J(e,v(`Upload File`))},$$slots:{default:!0}})}l(h);var x=z(h,2),S=e=>{var t=Tt(),r=w(t);C(r,e=>p(e),()=>p());var i=z(r,2);{let e=K(()=>a()||!f()||c());Z(i,{size:`sm`,get disabled(){return y(e)},get onclick(){return n.onUpload},class:`shrink-0`,children:(e,t)=>{var n=wt(),r=E(n);he(r,{class:`mr-2 h-4 w-4`});var i=z(r,2),a=w(i,!0);l(i),A(()=>d(a,c()?`Uploading…`:`Upload`)),J(e,n)},$$slots:{default:!0}})}l(t),A(()=>r.disabled=a()),u(`change`,r,function(...e){n.onFileSelected?.apply(this,e)}),J(e,t)},T=e=>{nt(e,{type:`text`,get value(){return i()},get disabled(){return a()},oninput:e=>n.onUrlChange?.(e.target.value),placeholder:`https://...`})};o(x,e=>{r()===`upload`?e(S):e(T,-1)}),l(m),J(e,m),M()}c([`change`]);var Ot=1e3;function kt(e,n){t(n,!0);let r=b(n,`placeholder`,3,`Select a project`),i=K(()=>n.projects.map(e=>({id:e.id,label:e.name})));it(e,{get items(){return y(i)},get value(){return n.value},get onChange(){return n.onChange},get id(){return n.id},get placeholder(){return r()},get triggerIcon(){return ve},searchPlaceholder:`Filter projects`}),M()}var At=_(`<!> <!>`,1),jt=_(`<div class="space-y-1"><!> <!></div>`),Mt=_(`<div class="space-y-1"><!> <div class="bg-muted rounded-md px-3 py-2"><p class="text-sm font-medium"> </p></div></div>`),Nt=_(`<option> </option>`),Pt=_(`<div class="space-y-1"><!> <select id="new-server" class="border-input bg-background focus-visible:ring-ring h-10 w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:outline-none"></select></div>`),Ft=_(`<div><!> <!></div>`),It=_(`Grasshopper File <span class="text-destructive">*</span>`,1),Lt=_(`<p class="text-muted-foreground flex items-center gap-2 text-xs"><svg class="h-3 w-3 animate-spin" viewBox="0 0 24 24" fill="none"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8v8z"></path></svg> Validating definition…</p>`),Rt=_(`<div class="border-destructive/40 bg-destructive/5 rounded-md border p-3"><p class="text-destructive text-xs font-medium">Validation failed</p> <p class="text-destructive/80 mt-0.5 text-xs"> </p> <p class="text-destructive/60 mt-1 text-xs">This definition can't be uploaded until it validates against an online compute server.</p></div>`),zt=_(`<div class="border-success/30 bg-success/5 flex items-center gap-3 rounded-md border p-3"><div class="min-w-0 flex-1"><p class="text-success text-xs font-medium">Valid Selva definition</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></div>`),Bt=_(`Display Name <span class="text-destructive">*</span>`,1),Vt=_(` <button type="button" class="ml-0.5 inline-flex items-center justify-center transition-opacity hover:opacity-70" title="Remove tag"><!></button>`,1),Ht=_(`<div class="mb-2 flex flex-wrap gap-2"></div>`),Ut=_(`<!> <div class="space-y-4"><!> <div class="space-y-2"><!> <input id="new-file" type="file" accept=".gh,.ghx" class="border-input bg-background focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50"/> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="grid grid-cols-1 gap-3 md:grid-cols-2"><div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!></div> <div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!> <!></div></div> <div class="space-y-2"><!> <!></div></div> <!>`,1);function Wt(e,i){t(i,!0);let a=b(i,`open`,3,!1),c=b(i,`isAdding`,3,!1),p=b(i,`projects`,19,()=>[]),m=b(i,`computeServers`,19,()=>[]),h=b(i,`defaultComputeServerId`,3,null),g=b(i,`showProjectDropdown`,3,!1),_=W(``),T=W(``),D=W(``),k=W(I([])),N=W(``),P=W(`url`),F=W(``),L=W(``);x(()=>{i.defaultProjectId&&O(F,i.defaultProjectId,!0)});let R=W(null);x(()=>{if(!y(F)||!y(V))return;let e=[y(F),y(L),y(V).name,y(V).size,y(V).lastModified].join(`|`);e===y(R)||y(G)||(O(R,e,!0),ie())});let B=W(void 0),V=W(null),H=W(void 0),U=W(!1),G=W(!1),q=W(null),Y=W(null);function te(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function ne(e){return e.name.replace(/\.(gh|ghx)$/i,``).replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function re(){let e=y(B)?.files?.[0]??null;O(q,null),O(Y,null),O(T,``),O(k,[],!0),O(V,e,!0),O(_,e?ne(e):``,!0)}async function ie(){let e=y(V);if(!(!e||!y(F))){O(G,!0);try{let t=new FormData;t.append(`files`,e);let n=new URLSearchParams(y(L)?{projectId:y(F),computeServerId:y(L)}:{projectId:y(F)}).toString(),r=await fetch(`/api/compute/schema?${n}`,{method:`POST`,body:t});if(!r.ok){let t=await r.json().catch(()=>null);if(r.status===413){O(q,t?.message??`This Grasshopper file is too large to upload (${te(e.size)}). Reduce its size or raise the server's upload limit.`,!0);return}O(q,t?.message??(r.status===503?`Compute server is unreachable. It must be online to upload a definition.`:`Validation failed`),!0);return}let i=(await r.json())?.[0];if(!i){O(q,`No valid Selva schema found in this definition.`);return}O(Y,i,!0),i.name&&O(_,i.name,!0),i.description&&O(T,i.description,!0),i.tags?.length&&O(k,i.tags,!0)}catch{O(q,`Compute server is unreachable. It must be online to upload a definition.`)}finally{O(G,!1)}}}async function ae(){if(!y(_).trim()){$.error(`Display name is required`);return}if(!y(B)?.files||y(B).files.length===0){$.error(`A Grasshopper file is required`);return}if(g()&&!y(F)){$.error(`Please pick a project`);return}if(!y(Y)){$.error(y(q)??`The definition must be validated against an online compute server first`);return}let e=new FormData;e.append(`displayName`,y(_).trim()),e.append(`description`,y(T)),e.append(`category`,y(D)),e.append(`tags`,y(k).join(`,`)),y(P)===`upload`&&y(H)?.files?.[0]?e.append(`image`,y(H).files[0]):y(P)===`url`&&y(N).trim()&&e.append(`coverImage`,y(N).trim()),e.append(`file`,y(B).files[0]),y(F)&&e.append(`projectId`,y(F)),y(L)&&e.append(`computeServerId`,y(L));try{await i.onSubmit?.(e)}catch{}}function oe(){O(_,``),O(T,``),O(D,``),O(k,[],!0),O(N,``),O(P,`url`),O(F,i.defaultProjectId??``,!0),O(L,``),O(G,!1),O(q,null),O(Y,null),y(B)&&(y(B).value=``),O(V,null),O(R,null),y(H)&&(y(H).value=``),O(U,!1)}function se(e){e||oe(),i.onOpenChange?.(e)}x(()=>{a()||oe()});var X=n();j(E(X),()=>Je,(e,t)=>{t(e,{get open(){return a()},onOpenChange:se,children:(e,t)=>{var a=n();j(E(a),()=>qe,(e,t)=>{t(e,{class:`max-w-xl`,children:(e,t)=>{var n=Ut(),a=E(n);j(a,()=>Ge,(e,t)=>{t(e,{children:(e,t)=>{var n=At(),r=E(n);j(r,()=>We,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Add New Definition`))},$$slots:{default:!0}})}),j(z(r,2),()=>Ke,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Upload a Grasshopper file and fill in the metadata.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})});var b=z(a,2),x=w(b),M=e=>{var t=Ft(),n=w(t),a=e=>{var t=jt(),n=w(t);Q(n,{for:`new-project`,children:(e,t)=>{s(),J(e,v(`Project`))},$$slots:{default:!0}}),kt(z(n,2),{id:`new-project`,get projects(){return p()},get value(){return y(F)},onChange:e=>O(F,e,!0)}),l(t),J(e,t)},c=e=>{let t=K(()=>p().find(e=>e.id===i.defaultProjectId));var n=Mt(),r=w(n);Q(r,{children:(e,t)=>{s(),J(e,v(`Project`))},$$slots:{default:!0}});var a=z(r,2),o=w(a),c=w(o,!0);l(o),l(a),l(n),A(()=>d(c,y(t)?.name??`Unknown`)),J(e,n)};o(n,e=>{g()?e(a):i.defaultProjectId&&e(c,1)});var _=z(n,2),b=e=>{var t=Pt(),n=w(t);Q(n,{for:`new-server`,children:(e,t)=>{s(),J(e,v(`Compute Server`))},$$slots:{default:!0}});var r=z(n,2);f(r,21,m,e=>e.id,(e,t)=>{var n=Nt(),r=w(n);l(n);var i={};A(()=>{d(r,`${y(t).label??``}${y(t).id===h()?` (Default)`:``}`),i!==(i=y(t).id)&&(n.value=(n.__value=y(t).id)??``)}),J(e,n)}),l(r);var i;S(r),l(t),A(()=>{i!==(i=y(L)||(h()??``))&&(r.value=(r.__value=y(L)||(h()??``))??``,ee(r,y(L)||(h()??``)))}),u(`change`,r,e=>{let t=e.currentTarget.value;O(L,t===h()?``:t,!0)}),J(e,t)};o(_,e=>{m().length>0&&e(b)}),l(t),A(()=>r(t,1,`grid gap-3 ${g()&&m().length>0?`sm:grid-cols-2`:``}`)),J(e,t)};o(x,e=>{(g()||m().length>0)&&e(M)});var I=z(x,2),R=w(I);Q(R,{for:`new-file`,children:(e,t)=>{s();var n=It();s(),J(e,n)},$$slots:{default:!0}});var V=z(R,2);C(V,e=>O(B,e),()=>y(B));var W=z(V,2),te=e=>{J(e,Lt())},ne=e=>{var t=Rt(),n=z(w(t),2),r=w(n,!0);l(n),s(2),l(t),A(()=>d(r,y(q))),J(e,t)},ie=e=>{var t=zt(),n=w(t),r=z(w(n),2),i=w(r);l(r),l(n),l(t),A(()=>d(i,`${y(Y).inputs.length??``} input${y(Y).inputs.length===1?``:`s`},
2
+ ${y(Y).outputs.length??``} output${y(Y).outputs.length===1?``:`s`}`)),J(e,t)};o(W,e=>{y(G)?e(te):y(q)?e(ne,1):y(Y)&&e(ie,2)}),l(I);var oe=z(I,2),se=w(oe);Q(se,{for:`new-dn`,children:(e,t)=>{s();var n=Bt();s(),J(e,n)},$$slots:{default:!0}}),nt(z(se,2),{id:`new-dn`,type:`text`,placeholder:`e.g., Parametric Tower`,get value(){return y(_)},set value(e){O(_,e,!0)}}),l(oe);var X=z(oe,2),ce=w(X);Q(ce,{for:`new-desc`,children:(e,t)=>{s(),J(e,v(`Description`))},$$slots:{default:!0}}),$e(z(ce,2),{id:`new-desc`,rows:3,placeholder:`Describe what this definition does…`,get value(){return y(T)},set value(e){O(T,e,!0)}}),l(X);var le=z(X,2),ue=w(le),de=w(ue),fe=w(de);Q(fe,{for:`new-cat`,children:(e,t)=>{s(),J(e,v(`Category`))},$$slots:{default:!0}});var pe=z(fe,2),me=w(pe);l(pe),l(de),nt(z(de,2),{id:`new-cat`,type:`text`,maxlength:40,placeholder:`e.g., Architecture`,get value(){return y(D)},set value(e){O(D,e,!0)}}),l(ue);var he=z(ue,2),ge=w(he),ve=w(ge);Q(ve,{for:`new-tags`,children:(e,t)=>{s(),J(e,v(`Tags`))},$$slots:{default:!0}});var ye=z(ve,2),be=w(ye);l(ye),l(ge);var xe=z(ge,2),Se=e=>{var t=Ht();f(t,20,()=>y(k),e=>e,(e,t)=>{rt(e,{variant:`outline`,class:`cursor-pointer gap-1`,children:(e,n)=>{s();var r=Vt(),i=E(r),a=z(i);Fe(w(a),{class:`h-3 w-3`}),l(a),A(()=>d(i,`${t??``} `)),u(`click`,a,()=>{O(k,y(k).filter(e=>e!==t),!0)}),J(e,r)},$$slots:{default:!0}})}),l(t),J(e,t)};o(xe,e=>{y(k).length>0&&e(Se)});var Ce=z(xe,2);{let e=K(()=>y(k).length>=5);nt(Ce,{id:`new-tags`,type:`text`,placeholder:`Add tag and press Enter`,get disabled(){return y(e)},onkeydown:e=>{if(e.key===`Enter`){e.preventDefault();let t=e.currentTarget,n=t.value.trim();n&&!y(k).includes(n)&&y(k).length<5&&(O(k,[...y(k),n],!0),t.value=``)}}})}l(he),l(le);var we=z(le,2),Te=w(we);Q(Te,{children:(e,t)=>{s(),J(e,v(`Cover Image`))},$$slots:{default:!0}}),Dt(z(Te,2),{get mode(){return y(P)},get value(){return y(N)},get hasFile(){return y(U)},onModeChange:e=>O(P,e,!0),onUpload:()=>{},onFileSelected:()=>O(U,!!y(H)?.files?.length),onUrlChange:e=>O(N,e,!0),get inputRef(){return y(H)},set inputRef(e){O(H,e,!0)}}),l(we),l(b),j(z(b,2),()=>_e,(e,t)=>{t(e,{class:`gap-2 sm:justify-end`,children:(e,t)=>{var n=At(),r=E(n);Z(r,{variant:`outline`,onclick:()=>i.onOpenChange?.(!1),children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}});var a=z(r,2);{let e=K(()=>c()||y(G)||!y(Y));Z(a,{onclick:ae,get disabled(){return y(e)},children:(e,t)=>{s();var n=v();A(()=>d(n,c()?`Creating…`:y(G)?`Validating…`:`Create Definition`)),J(e,n)},$$slots:{default:!0}})}J(e,n)},$$slots:{default:!0}})}),A(()=>{d(me,`${y(D)?.length??0??``}/40`),d(be,`${y(k).length??``}/5`)}),u(`change`,V,re),J(e,n)},$$slots:{default:!0}})}),J(e,a)},$$slots:{default:!0}})}),J(e,X),M()}c([`change`,`click`]);var Gt=_(`<button class="text-muted-foreground hover:text-foreground rounded p-0.5 transition-colors" title="New project" aria-label="New project"><!></button>`),Kt=_(`<div class="border-border bg-muted/40 mx-3 mb-3 space-y-2 rounded-md border p-3"><!> <select class="border-input bg-background w-full rounded-md border px-2.5 py-1.5 text-xs outline-none"><option>Public</option><option>Org</option><option>Private</option></select> <div class="flex gap-1.5"><!> <!></div></div>`),qt=_(`<div class="relative mx-3 mb-2"><!> <input placeholder="Filter projects" class="border-input bg-background placeholder:text-muted-foreground focus:border-ring h-7 w-full rounded-md border pr-2 pl-7 text-xs transition-colors outline-none"/></div>`),Jt=_(`<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>`),Yt=_(`<div class="border-border/60 my-2 border-t"></div>`),Xt=_(`<button><!> <span class="flex-1 truncate text-sm font-medium"> </span> <span class="shrink-0 font-mono text-[11px] tabular-nums opacity-60"> </span></button>`),Zt=_(`<p class="text-muted-foreground px-2 py-4 text-center text-xs">No projects yet</p>`),Qt=_(`<p class="text-muted-foreground px-2 py-4 text-center text-xs"> </p>`),$t=_(`<aside class="border-border bg-background flex w-60 shrink-0 flex-col overflow-y-auto border-r"><div class="flex items-center justify-between px-4 pt-5 pb-3"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase">Projects</span> <!></div> <!> <!> <nav class="flex-1 space-y-px pr-2 pb-4"><button><!> <!> <span class="flex-1 truncate text-sm font-medium">All projects</span></button> <!> <!> <!></nav></aside>`);function en(e,n){t(n,!0);let i=W(!1),a=W(``),c=W(``),p=W(`public`),m=W(!1),h=W(``),g=K(()=>{let e=y(h).trim().toLowerCase();return e?n.projects.filter(t=>t.name.toLowerCase().includes(e)):n.projects});async function _(){if(y(a).trim()){O(m,!0);try{await n.onCreate({name:y(a).trim(),description:y(c),visibility:y(p)}),O(a,``),O(c,``),O(p,`public`),O(i,!1)}finally{O(m,!1)}}}var b=$t(),x=w(b),S=z(w(x),2),C=e=>{var t=Gt();Oe(w(t),{class:`h-3.5 w-3.5`}),l(t),u(`click`,t,()=>O(i,!y(i))),J(e,t)};o(S,e=>{n.canManageProjects&&e(C)}),l(x);var E=z(x,2),D=e=>{var t=Kt(),n=w(t);nt(n,{placeholder:`Project name`,class:`h-8 text-xs`,get value(){return y(a)},set value(e){O(a,e,!0)}});var r=z(n,2),o=w(r);o.value=o.__value=`public`;var c=z(o);c.value=c.__value=`org`;var u=z(c);u.value=u.__value=`private`,l(r);var f=z(r,2),h=w(f);{let e=K(()=>y(m)||!y(a).trim());Z(h,{onclick:_,get disabled(){return y(e)},size:`sm`,class:`h-6 flex-1 text-xs`,children:(e,t)=>{s();var n=v();A(()=>d(n,y(m)?`…`:`Create`)),J(e,n)},$$slots:{default:!0}})}Z(z(h,2),{onclick:()=>O(i,!1),variant:`ghost`,size:`sm`,class:`h-6 px-2 text-xs`,children:(e,t)=>{Fe(e,{class:`h-3 w-3`})},$$slots:{default:!0}}),l(f),l(t),q(r,()=>y(p),e=>O(p,e)),J(e,t)};o(E,e=>{y(i)&&n.canManageProjects&&e(D)});var j=z(E,2),N=e=>{var t=qt(),n=w(t);ke(n,{class:`text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2`});var r=z(n,2);k(r),l(t),T(r,()=>y(h),e=>O(h,e)),J(e,t)};o(j,e=>{n.projects.length>4&&e(N)});var P=z(j,2),F=w(P),I=w(F),L=e=>{J(e,Jt())};o(I,e=>{n.activeProjectId===null&&e(L)}),ve(z(I,2),{class:`h-3.5 w-3.5 shrink-0 opacity-70`}),s(2),l(F);var R=z(F,2),B=e=>{J(e,Yt())};o(R,e=>{y(g).length>0&&e(B)});var V=z(R,2);f(V,17,()=>y(g),e=>e.id,(e,t)=>{let i=K(()=>n.activeProjectId===y(t).id),a=K(()=>n.records.filter(e=>e.projectId===y(t).id).length);var s=Xt(),c=w(s),f=e=>{J(e,Jt())};o(c,e=>{y(i)&&e(f)});var p=z(c,2),m=w(p,!0);l(p);var h=z(p,2),g=w(h,!0);l(h),l(s),A(()=>{r(s,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${y(i)?`bg-accent text-accent-foreground rounded-r-md pl-4`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground mx-2 rounded-md pl-2.5`}`),d(m,y(t).name),d(g,y(a))}),u(`click`,s,()=>n.onSelect(y(t).id)),J(e,s)});var H=z(V,2),U=e=>{J(e,Zt())},G=e=>{var t=Qt(),n=w(t);l(t),A(()=>d(n,`No matches for "${y(h)??``}"`)),J(e,t)};o(H,e=>{n.projects.length===0?e(U):y(g).length===0&&y(h)&&e(G,1)}),l(P),l(b),A(()=>r(F,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${n.activeProjectId===null?`bg-accent text-accent-foreground rounded-r-md pl-4`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground mx-2 rounded-md pl-2.5`}`)),u(`click`,F,()=>n.onSelect(null)),J(e,b),M()}c([`click`]);var tn=_(`<p class="text-muted-foreground px-3 py-6 text-center text-xs"> </p>`),nn=_(`<p class="text-muted-foreground truncate font-mono text-xs"> </p>`),rn=_(`<button type="button"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div></button>`),an=_(`<div class="border-border relative border-b"><!> <input placeholder="Search by name or email" class="placeholder:text-muted-foreground h-9 w-full rounded-t-md bg-transparent pr-9 pl-9 text-sm outline-none"/> <button type="button" class="text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2 rounded p-1" aria-label="Cancel"><!></button></div> <div class="max-h-60 overflow-y-auto py-1"><!></div>`,1),on=_(`<div class="flex items-center gap-3 p-2.5"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!> <!></div>`),sn=_(`<div class="border-border bg-card rounded-md border"><!></div>`);function cn(e,i){t(i,!0);let a=W(``),c=W(0),p=W(null),m=W(`viewer`),h=W(void 0),g=K(()=>{let e=y(a).trim().toLowerCase();return e?i.availableUsers.filter(t=>{let n=(t.displayName??``).toLowerCase(),r=(t.email??``).toLowerCase();return n.includes(e)||r.includes(e)}).slice(0,50):i.availableUsers.slice(0,50)});x(()=>{y(g),O(c,0)});function _(e){return e.displayName??e.email??e.id.slice(0,8)}function b(e){O(p,e,!0),O(a,``)}async function S(){y(p)&&(await i.onAdd(y(p).id,y(m)),O(p,null),O(m,`viewer`))}function j(e){if(!y(p))if(e.key===`ArrowDown`)e.preventDefault(),O(c,Math.min(y(c)+1,y(g).length-1),!0),N();else if(e.key===`ArrowUp`)e.preventDefault(),O(c,Math.max(y(c)-1,0),!0),N();else if(e.key===`Enter`){e.preventDefault();let t=y(g)[y(c)];t&&b(t)}else e.key===`Escape`&&(e.preventDefault(),i.onCancel())}function N(){(y(h)?.querySelector(`[data-idx="${y(c)}"]`))?.scrollIntoView({block:`nearest`})}var P=sn(),F=w(P),I=e=>{var t=an(),s=E(t),p=w(s);ke(p,{class:`text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-3.5 w-3.5 -translate-y-1/2`});var m=z(p,2);k(m),H(m,!0);var v=z(m,2);Fe(w(v),{class:`h-3.5 w-3.5`}),l(v),l(s);var x=z(s,2),S=w(x),M=e=>{var t=tn(),n=w(t,!0);l(t),A(()=>d(n,i.availableUsers.length===0?`Everyone in this org is already on the project.`:`No matches for "${y(a)}"`)),J(e,t)},N=e=>{var t=n();f(E(t),19,()=>y(g),e=>e.id,(e,t,n)=>{var i=rn(),a=w(i);{let e=K(()=>_(y(t)));ot(a,{get name(){return y(e)},size:`sm`})}var s=z(a,2),f=w(s),p=w(f,!0);l(f);var m=z(f,2),h=e=>{var n=nn(),r=w(n,!0);l(n),A(()=>d(r,y(t).email)),J(e,n)};o(m,e=>{y(t).displayName&&y(t).email&&e(h)}),l(s),l(i),A(e=>{D(i,`data-idx`,y(n)),r(i,1,`flex w-full items-center gap-3 px-3 py-2 text-left transition-colors ${y(c)===y(n)?`bg-accent text-accent-foreground`:`hover:bg-muted/60`}`),d(p,e)},[()=>_(y(t))]),u(`click`,i,()=>b(y(t))),B(`mouseenter`,i,()=>O(c,y(n),!0)),J(e,i)}),J(e,t)};o(S,e=>{y(g).length===0?e(M):e(N,-1)}),l(x),C(x,e=>O(h,e),()=>y(h)),u(`keydown`,m,j),T(m,()=>y(a),e=>O(a,e)),u(`click`,v,function(...e){i.onCancel?.apply(this,e)}),J(e,t)},L=e=>{var t=on(),n=w(t);{let e=K(()=>_(y(p)));ot(n,{get name(){return y(e)},size:`sm`})}var r=z(n,2),a=w(r),c=w(a,!0);l(a);var u=z(a,2),f=e=>{var t=nn(),n=w(t,!0);l(t),A(()=>d(n,y(p).email)),J(e,t)};o(u,e=>{y(p).email&&y(p).displayName&&e(f)}),l(r);var h=z(r,2),g=w(h);g.value=g.__value=`owner`;var b=z(g);b.value=b.__value=`editor`;var x=z(b);x.value=x.__value=`viewer`,l(h);var C=z(h,2);Z(C,{onclick:S,get disabled(){return i.adding},size:`sm`,children:(e,t)=>{s();var n=v();A(()=>d(n,i.adding?`Adding…`:`Add`)),J(e,n)},$$slots:{default:!0}}),Z(z(C,2),{onclick:()=>O(p,null),variant:`ghost`,size:`icon`,class:`text-muted-foreground h-8 w-8`,"aria-label":`Pick a different user`,children:(e,t)=>{Fe(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}}),l(t),A(e=>d(c,e),[()=>_(y(p))]),q(h,()=>y(m),e=>O(m,e)),J(e,t)};o(F,e=>{y(p)?e(L,-1):e(I)}),l(P),J(e,P),M()}c([`keydown`,`click`]);var ln=_(`<!> <!>`,1),un=_(`<!> Members <span class="text-muted-foreground ml-1 font-mono text-[11px]"> </span>`,1),dn=_(`<!> Delete project`,1),fn=_(`<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <select id="proj-vis" class="border-input bg-background h-10 w-full rounded-md border px-3 text-sm"><option>Public — any authenticated user can solve</option><option>Org — any org member can solve</option><option>Private — only project members can solve</option></select></div> <div class="flex items-center justify-between pt-2"><!> <div class="flex gap-2"><!> <!></div></div>`,1),pn=_(`<p class="text-muted-foreground truncate font-mono text-xs"> </p>`),mn=_(`<div class="border-border flex items-center gap-3 border-b px-3 py-2.5 last:border-0"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!></div>`),hn=_(`<div class="border-border bg-card overflow-hidden rounded-md border"></div>`),gn=_(`<!> Add member`,1),_n=_(`<!> <!> <!>`,1);function vn(e,r){t(r,!0);let i=W(I(r.project.name)),a=W(I(r.project.description??``)),c=W(I(r.project.visibility)),p=W(!1),m=W(!1),h=W(!1),g=W(null);function _(e){let t=r.users.find(t=>t.id===e);return t?.displayName??t?.email??e.slice(0,8)}function b(e){return r.users.find(t=>t.id===e)?.email}let x=K(()=>{let e=new Set(r.project.members.map(e=>e.userId));return r.users.filter(t=>!e.has(t.id))});async function C(){O(p,!0);try{await r.onSave(r.project.id,{name:y(i),description:y(a),visibility:y(c)})}finally{O(p,!1)}}async function T(e,t){O(h,!0);try{await r.onAddMember(r.project.id,e,t),O(m,!1)}finally{O(h,!1)}}async function D(e){O(g,e,!0);try{await r.onRemoveMember(r.project.id,e)}finally{O(g,null)}}var k=n();j(E(k),()=>Je,(e,t)=>{t(e,{get open(){return r.open},get onOpenChange(){return r.onOpenChange},children:(e,t)=>{var k=n();j(E(k),()=>qe,(e,t)=>{t(e,{class:`max-w-lg`,children:(e,t)=>{var n=ln(),k=E(n);j(k,()=>Ge,(e,t)=>{t(e,{children:(e,t)=>{var n=ln(),r=E(n);j(r,()=>We,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Project settings`))},$$slots:{default:!0}})}),j(z(r,2),()=>Ke,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Manage this project's details and members.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),j(z(k,2),()=>Ye,(e,t)=>{t(e,{value:`general`,class:`mt-2`,children:(e,t)=>{var n=_n(),k=E(n);j(k,()=>Qe,(e,t)=>{t(e,{class:`grid w-full grid-cols-2`,children:(e,t)=>{var n=ln(),i=E(n);j(i,()=>Ze,(e,t)=>{t(e,{value:`general`,children:(e,t)=>{s(),J(e,v(`General`))},$$slots:{default:!0}})}),j(z(i,2),()=>Ze,(e,t)=>{t(e,{value:`members`,class:`gap-1.5`,children:(e,t)=>{var n=un(),i=E(n);Pe(i,{class:`h-3.5 w-3.5`});var a=z(i,2),o=w(a,!0);l(a),A(()=>d(o,r.project.members.length)),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})});var M=z(k,2);j(M,()=>Xe,(e,t)=>{t(e,{value:`general`,class:`mt-4 space-y-4`,children:(e,t)=>{var n=fn(),o=E(n),u=w(o);Q(u,{for:`proj-name`,children:(e,t)=>{s(),J(e,v(`Name`))},$$slots:{default:!0}}),nt(z(u,2),{id:`proj-name`,get value(){return y(i)},set value(e){O(i,e,!0)}}),l(o);var f=z(o,2),m=w(f);Q(m,{for:`proj-desc`,children:(e,t)=>{s(),J(e,v(`Description`))},$$slots:{default:!0}}),$e(z(m,2),{id:`proj-desc`,rows:2,get value(){return y(a)},set value(e){O(a,e,!0)}}),l(f);var h=z(f,2),g=w(h);Q(g,{for:`proj-vis`,children:(e,t)=>{s(),J(e,v(`Visibility`))},$$slots:{default:!0}});var _=z(g,2),b=w(_);b.value=b.__value=`public`;var x=z(b);x.value=x.__value=`org`;var S=z(x);S.value=S.__value=`private`,l(_),l(h);var T=z(h,2),D=w(T);Z(D,{onclick:()=>r.onDelete(r.project.id),variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive gap-1.5 px-2`,children:(e,t)=>{var n=dn();je(E(n),{class:`h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}});var k=z(D,2),j=w(k);Z(j,{onclick:()=>r.onOpenChange(!1),variant:`outline`,size:`sm`,children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}}),Z(z(j,2),{onclick:C,get disabled(){return y(p)},size:`sm`,children:(e,t)=>{s();var n=v();A(()=>d(n,y(p)?`Saving…`:`Save`)),J(e,n)},$$slots:{default:!0}}),l(k),l(T),q(_,()=>y(c),e=>O(c,e)),J(e,n)},$$slots:{default:!0}})}),j(z(M,2),()=>Xe,(e,t)=>{t(e,{value:`members`,class:`mt-4 space-y-3`,children:(e,t)=>{var n=ln(),i=E(n),a=e=>{tt(e,{size:`sm`,get icon(){return Pe},title:`No members yet`,description:`Add members to control who can edit this project.`})},c=e=>{var t=hn();f(t,21,()=>r.project.members,e=>`${e.projectId}:${e.userId}`,(e,t)=>{var n=mn(),i=w(n);{let e=K(()=>_(y(t).userId));ot(i,{get name(){return y(e)},size:`sm`})}var a=z(i,2),s=w(a),c=w(s,!0);l(s);var f=z(s,2),p=e=>{var n=pn(),r=w(n,!0);l(n),A(e=>d(r,e),[()=>b(y(t).userId)]),J(e,n)},m=K(()=>b(y(t).userId)&&b(y(t).userId)!==_(y(t).userId));o(f,e=>{y(m)&&e(p)}),l(a);var h=z(a,2),v=w(h);v.value=v.__value=`owner`;var x=z(v);x.value=x.__value=`editor`;var C=z(x);C.value=C.__value=`viewer`,l(h);var T;S(h);var E=z(h,2);{let e=K(()=>y(g)===y(t).userId);Z(E,{onclick:()=>D(y(t).userId),get disabled(){return y(e)},variant:`ghost`,size:`icon`,class:`text-muted-foreground hover:text-destructive h-7 w-7`,children:(e,t)=>{Fe(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}})}l(n),A(e=>{d(c,e),T!==(T=y(t).role)&&(h.value=(h.__value=y(t).role)??``,ee(h,y(t).role))},[()=>_(y(t).userId)]),u(`change`,h,e=>r.onUpdateMemberRole(r.project.id,y(t).userId,e.target.value)),J(e,n)}),l(t),J(e,t)};o(i,e=>{r.project.members.length===0&&!y(m)?e(a):r.project.members.length>0&&e(c,1)});var p=z(i,2),v=e=>{cn(e,{get availableUsers(){return y(x)},get adding(){return y(h)},onAdd:T,onCancel:()=>O(m,!1)})},C=e=>{Z(e,{onclick:()=>O(m,!0),variant:`outline`,size:`sm`,class:`gap-1.5`,children:(e,t)=>{var n=gn();Ne(E(n),{class:`h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}})};o(p,e=>{y(m)?e(v):e(C,-1)}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,k)},$$slots:{default:!0}})}),J(e,k),M()}c([`change`]);var yn=_(`<span><span></span> </span>`);function bn(e,n){t(n,!0);let i=b(n,`class`,3,``);var a=yn(),o=w(a),s=z(o);l(a),A((e,t)=>{r(a,1,`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[11px] tracking-wide ${e??``} ${i()??``}`),r(o,1,`h-1.5 w-1.5 rounded-full ${t??``}`),d(s,` ${n.status??``}`)},[()=>xe(n.status),()=>we(n.status)]),J(e,a),M()}var xn=_(`<div class="flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><img alt="" class="h-full w-full object-cover"/></div>`),Sn=_(`<div class="tool-cover-fallback flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><span class="text-foreground/40 text-base font-semibold"> </span></div>`),Cn=_(`<span class="text-muted-foreground ml-2 text-[12px]"> </span>`),wn=_(`<div><!> <span class="min-w-0"><span class="font-semibold"> </span> <!></span> <span class="text-muted-foreground"> </span> <span><!></span> <span class="text-muted-foreground font-mono text-[12px]"> </span> <span class="text-right font-mono text-[12px]"> </span> <span class="flex justify-end"><button type="button" class="text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1 transition-colors"><!></button></span></div>`),Tn=_(`<div class="border-border bg-card overflow-hidden rounded-xl border"><div class="border-border bg-muted/50 text-muted-foreground grid border-b px-4 py-2.5 font-mono text-[10.5px] tracking-widest uppercase"><span></span><span>Definition</span><span>Project</span><span>Status</span><span>Updated</span> <span class="text-right">Runs</span><span></span></div> <!></div>`);function En(e,n){t(n,!0);let i=`grid-template-columns: 40px 1.6fr 0.9fr 0.8fr 0.7fr 0.6fr 36px`;function a(e){return n.projects.find(t=>t.id===e)?.name??``}var s=Tn(),c=w(s);h(c,i),f(z(c,2),19,()=>n.records,e=>e.guid,(e,t,s)=>{var c=wn();h(c,i);var f=w(c),p=e=>{var n=xn(),r=w(n);l(n),A(()=>D(r,`src`,y(t).coverImage)),J(e,n)},m=e=>{let n=K(()=>ye(y(t).guid));var r=Sn();let i;var a=w(r),o=w(a,!0);l(a),l(r),A(e=>{i=h(r,``,i,{"--tool-h1":y(n).h1,"--tool-h2":y(n).h2}),d(o,e)},[()=>Ce(y(t).displayName)]),J(e,r)};o(f,e=>{y(t).coverImage?e(p):e(m,-1)});var g=z(f,2),_=w(g),v=w(_,!0);l(_);var b=z(_,2),x=e=>{var n=Cn(),r=w(n);l(n),A(e=>d(r,`${e??``}${y(t).description.length>60?`…`:``}`),[()=>y(t).description.slice(0,60)]),J(e,n)};o(b,e=>{y(t).description&&e(x)}),l(g);var S=z(g,2),C=w(S,!0);l(S);var T=z(S,2);bn(w(T),{get status(){return y(t).status}}),l(T);var E=z(T,2),O=w(E,!0);l(E);var k=z(E,2),j=w(k,!0);l(k);var M=z(k,2),N=w(M);ut(w(N),{class:`h-4 w-4`}),l(N),l(M),l(c),A((e,i,a)=>{r(c,1,`grid items-center gap-4 px-4 py-3 text-[13px] ${y(s)<n.records.length-1?`border-border border-b`:``}`),d(v,y(t).displayName),d(C,e),d(O,i),d(j,a),D(N,`aria-label`,`Open ${y(t).displayName??``}`)},[()=>a(y(t).projectId),()=>Se(y(t).updatedAt),()=>y(t).solveCount.toLocaleString()]),u(`click`,N,()=>n.onOpen(y(t))),J(e,c)}),l(s),J(e,s),M()}c([`click`]);var Dn=_(`<p class="text-muted-foreground mt-1 text-sm"> </p>`),On=_(`<img class="border-border aspect-4/3 w-full rounded-lg border object-cover"/>`),kn=_(`<div class="border-border bg-muted flex aspect-4/3 w-full items-center justify-center rounded-lg border"><span class="text-muted-foreground font-mono text-[11px] tracking-widest uppercase">No preview</span></div>`),An=_(`<!> Run`,1),jn=_(`<!> <!>`,1),Mn=_(`<div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Category</p> <p class="mt-1 text-sm"> </p></div>`),Nn=_(`<span class="bg-muted text-muted-foreground rounded px-2 py-0.5 font-mono text-[11px]"> </span>`),Pn=_(`<div><!> <div class="flex flex-wrap gap-1.5"></div></div>`),Fn=_(`<div class="border-border flex items-start justify-between gap-4 border-b p-6"><div class="min-w-0"><div class="flex items-center gap-2"><!> <span class="text-muted-foreground font-mono text-[11px] tracking-wide uppercase"> </span></div> <h2 class="mt-2.5 text-xl font-semibold tracking-tight"> </h2> <!></div> <!></div> <div class="flex-1 space-y-5 overflow-y-auto p-6"><!> <div class="flex gap-2"><!> <!></div> <!> <div class="grid grid-cols-2 gap-x-4 gap-y-3"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Updated</p> <p class="mt-1 text-sm"> </p></div> <div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Runs</p> <p class="mt-1 text-sm"> </p></div> <!></div> <!></div>`,1);function In(e,n){t(n,!0),Ct(e,{get onClose(){return n.onClose},children:(e,t)=>{var r=Fn(),i=E(r),a=w(i),c=w(a),u=w(c);bn(u,{get status(){return n.record.status}});var p=z(u,2),m=w(p,!0);l(p),l(c);var h=z(c,2),g=w(h,!0);l(h);var _=z(h,2),y=e=>{var t=Dn(),r=w(t,!0);l(t),A(()=>d(r,n.record.description)),J(e,t)};o(_,e=>{n.record.description&&e(y)}),l(a),Z(z(a,2),{variant:`ghost`,size:`icon`,get onclick(){return n.onClose},class:`mt-0.5 h-8 w-8 shrink-0`,children:(e,t)=>{Fe(e,{class:`h-4 w-4`})},$$slots:{default:!0}}),l(i);var b=z(i,2),x=w(b),S=e=>{var t=On();A(()=>{D(t,`src`,n.record.coverImage),D(t,`alt`,n.record.displayName)}),J(e,t)},C=e=>{J(e,kn())};o(x,e=>{n.record.coverImage?e(S):e(C,-1)});var T=z(x,2),O=w(T);Z(O,{class:`flex-1`,onclick:()=>n.onOpenRunner(n.record.guid,`live`),children:(e,t)=>{var n=An();ge(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}});var k=z(O,2),j=e=>{var t=jn(),r=E(t),i=e=>{Z(e,{variant:`outline`,size:`icon`,onclick:()=>n.onShare(n.record),title:`Share links`,children:(e,t)=>{mt(e,{class:`h-4 w-4`})},$$slots:{default:!0}})};o(r,e=>{n.showShare&&e(i)}),Z(z(r,2),{variant:`outline`,onclick:()=>n.onEdit(n.record),children:(e,t)=>{s(),J(e,v(`Edit`))},$$slots:{default:!0}}),J(e,t)};o(k,e=>{n.canEdit&&e(j)}),l(T);var M=z(T,2);xt(M,{});var N=z(M,2),P=w(N),F=z(w(P),2),I=w(F);l(F),l(P);var L=z(P,2),R=z(w(L),2),B=w(R,!0);l(R),l(L);var V=z(L,2),H=e=>{var t=Mn(),r=z(w(t),2),i=w(r,!0);l(r),l(t),A(()=>d(i,n.record.category)),J(e,t)};o(V,e=>{n.record.category&&e(H)}),l(N);var U=z(N,2),W=e=>{var t=Pn(),r=w(t);xt(r,{class:`mb-4`});var i=z(r,2);f(i,20,()=>n.record.tags,e=>e,(e,t)=>{var n=Nn(),r=w(n);l(n),A(()=>d(r,`#${t??``}`)),J(e,n)}),l(i),l(t),J(e,t)};o(U,e=>{n.record.tags?.length&&e(W)}),l(b),A((e,t)=>{d(m,n.projectName),d(g,n.record.displayName),d(I,`${e??``} ago`),d(B,t)},[()=>Se(n.record.updatedAt),()=>n.record.solveCount.toLocaleString()]),J(e,r)},$$slots:{default:!0}}),M()}var Ln=_(`The upload becomes <strong> </strong> as a draft. The live channel stays unchanged
3
+ until you publish.`,1),Rn=_(`<!> <!>`,1),zn=_(`<p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs">Click to choose a different file</p>`,1),Bn=_(`<p class="text-sm font-medium">Pick a .gh or .ghx file</p> <p class="text-muted-foreground text-xs"> </p>`,1),Vn=_(`What changed? <span class="text-muted-foreground font-normal">(optional)</span>`,1),Hn=_(`<!> `,1),Un=_(`<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <label for="upload-file" class="border-border hover:bg-accent/30 flex cursor-pointer items-center gap-3 rounded-md border-2 border-dashed px-4 py-5 transition-colors"><!> <div class="min-w-0 flex-1"><!></div></label> <input id="upload-file" type="file" accept=".gh,.ghx" class="hidden"/></div> <div class="space-y-1.5"><!> <!></div></div> <!>`,1);function Wn(e,r){t(r,!0);let i=W(void 0),a=W(null),c=W(``),f=W(!1);x(()=>{r.open||p()});function p(){O(a,null),O(c,``),O(f,!1),y(i)&&(y(i).value=``)}function m(){O(a,y(i)?.files?.[0]?.name??null,!0)}async function h(){if(!y(i)?.files?.length)return;O(f,!0);let e=new FormData;e.append(`file`,y(i).files[0]),y(c).trim()&&e.append(`changeNote`,y(c).trim());try{let t=await fetch(`/api/definitions/${r.definitionGuid}`,{method:`POST`,body:e});if(t.ok){let e=await t.json();$.success(`v${e.version?.versionNumber??r.nextVersionNumber} uploaded as draft`),r.onUploaded(),await Y(),r.onOpenChange(!1)}else{let e=await t.json().catch(()=>({}));$.error(e.message||e.error||`Upload failed`)}}catch{$.error(`Upload failed`)}finally{O(f,!1)}}var g=n();j(E(g),()=>Je,(e,t)=>{t(e,{get open(){return r.open},get onOpenChange(){return r.onOpenChange},children:(e,t)=>{var p=n();j(E(p),()=>qe,(e,t)=>{t(e,{class:`max-w-md`,children:(e,t)=>{var p=Un(),g=E(p);j(g,()=>Ge,(e,t)=>{t(e,{children:(e,t)=>{var n=Rn(),i=E(n);j(i,()=>We,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Upload new version`))},$$slots:{default:!0}})}),j(z(i,2),()=>Ke,(e,t)=>{t(e,{children:(e,t)=>{s();var n=Ln(),i=z(E(n)),a=w(i);l(i),s(),A(()=>d(a,`v${r.nextVersionNumber??``}`)),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})});var _=z(g,2),b=w(_),x=w(b);Q(x,{for:`upload-file`,children:(e,t)=>{s(),J(e,v(`Grasshopper file`))},$$slots:{default:!0}});var S=z(x,2),T=w(S);me(T,{class:`text-muted-foreground h-5 w-5 shrink-0`});var D=z(T,2),k=w(D),M=e=>{var t=zn(),n=E(t),r=w(n,!0);l(n),s(2),A(()=>d(r,y(a))),J(e,t)},N=e=>{var t=Bn(),n=z(E(t),2),i=w(n);l(n),A(()=>d(i,`Becomes v${r.nextVersionNumber??``} draft`)),J(e,t)};o(k,e=>{y(a)?e(M):e(N,-1)}),l(D),l(S);var P=z(S,2);C(P,e=>O(i,e),()=>y(i)),l(b);var F=z(b,2),I=w(F);Q(I,{for:`upload-note`,children:(e,t)=>{s();var n=Vn();s(),J(e,n)},$$slots:{default:!0}}),$e(z(I,2),{id:`upload-note`,rows:2,maxlength:1e3,placeholder:`e.g. Fixed wall thickness calculation`,get value(){return y(c)},set value(e){O(c,e,!0)}}),l(F),l(_),j(z(_,2),()=>_e,(e,t)=>{t(e,{class:`mt-4`,children:(e,t)=>{var i=Rn(),c=E(i);Z(c,{variant:`outline`,onclick:()=>r.onOpenChange(!1),children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}});var l=z(c,2);{let e=K(()=>y(f)||!y(a));Z(l,{onclick:h,get disabled(){return y(e)},children:(e,t)=>{var i=n(),a=E(i),s=e=>{J(e,v(`Uploading…`))},c=e=>{var t=Hn(),n=E(t);he(n,{class:`mr-1.5 h-3.5 w-3.5`});var i=z(n);A(()=>d(i,` Upload v${r.nextVersionNumber??``}`)),J(e,t)};o(a,e=>{y(f)?e(s):e(c,-1)}),J(e,i)},$$slots:{default:!0}})}J(e,i)},$$slots:{default:!0}})}),u(`change`,P,m),J(e,p)},$$slots:{default:!0}})}),J(e,p)},$$slots:{default:!0}})}),J(e,g),M()}c([`change`]);var Gn=_(`<div class="border-border bg-muted/30 rounded-md border px-4 py-3"><p class="text-muted-foreground text-xs">Loading versions…</p></div>`),Kn=_(`<div class="border-border bg-muted/30 text-muted-foreground rounded-md border px-4 py-3 text-sm">No versions yet. Upload one to get started.</div>`),qn=_(`<span class="text-muted-foreground">· newer version uploaded</span>`),Jn=_(`<span class="text-muted-foreground">· up to date</span>`),Yn=_(`<span><strong>Live now</strong> </span> <!>`,1),Xn=_(`<span class="text-muted-foreground">Not yet published — promote a draft to go live</span>`),Zn=_(`<!> `,1),Qn=_(`<div class="border-border bg-muted/30 flex items-center justify-between gap-3 rounded-md border px-4 py-3"><div class="flex min-w-0 items-center gap-2 text-sm"><span class="bg-success h-2 w-2 shrink-0 rounded-full"></span> <!></div> <!></div>`),$n=_(`<!> Upload new version`,1),er=_(`<span class="bg-success/10 text-success rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">live</span>`),tr=_(`<span class="bg-warning/10 text-warning rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">draft</span>`),nr=_(`<p class="mt-1 truncate text-sm"> </p>`),rr=_(`<p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p>`),ir=_(`<!> Run`,1),ar=_(`<div><div class="flex items-start justify-between gap-3"><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-2"><span class="font-mono text-sm font-semibold"> </span> <!> <!></div> <!> <p class="text-muted-foreground mt-1 text-xs"> </p></div> <div class="flex shrink-0 items-center gap-1"><!> <!> <!></div></div></div>`),or=_(`<div class="space-y-2"></div>`),sr=_(`<!> <!>`,1),cr=_(`<div class="space-y-4"><!> <div class="flex items-center justify-between gap-3"><div><h3 class="text-base font-semibold tracking-tight">Versions</h3> <p class="text-muted-foreground mt-1 text-xs">Each upload becomes a version. The live version is what runs when someone uses this
4
+ definition.</p></div> <!></div> <!></div> <!> <!> <!>`,1);function lr(e,i){t(i,!0);let a=W(I([])),c=W(null),u=W(null),p=W(!0),m=W(!1),h=W(null),g=W(!1),_=W(!1),b=W(null),S=W(null);x(()=>{i.definitionGuid,C()});async function C(){O(p,!0);try{let e=await fetch(`/api/definitions/${i.definitionGuid}/versions`);if(!e.ok)throw Error(`${e.status}`);let t=await e.json();O(a,t.versions,!0),O(c,t.liveVersionId,!0),O(u,t.draftVersionId,!0)}catch{$.error(`Failed to load versions`)}finally{O(p,!1)}}let T=K(()=>y(a).find(e=>e.id===y(c))??null),D=K(()=>y(a).find(e=>e.id===y(u))??null),k=K(()=>y(D)!==null&&y(T)!==null&&y(D).id!==y(T).id),N=K(()=>(y(a)[0]?.versionNumber??0)+1);function P(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`Just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i===1?`Yesterday`:i<30?`${i}d ago`:new Date(e).toLocaleDateString()}async function F(e){O(_,!0);try{let t=e?{versionId:e.id}:{},n=await fetch(`/api/definitions/${i.definitionGuid}/publish`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));$.error(e.message||e.error||`Failed to publish`);return}let r=await n.json();$.success(`v${r.version?.versionNumber??`?`} is now live`),await C(),await Y()}catch{$.error(`Failed to publish`)}finally{O(_,!1),O(h,null),O(g,!1)}}async function L(e){O(S,e.id,!0);try{let t=await fetch(`/api/definitions/${i.definitionGuid}/versions/${e.id}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));$.error(e.message||e.error||`Failed to delete version. Live or draft versions cannot be deleted.`);return}$.success(`v${e.versionNumber} deleted`),await C(),await Y()}catch{$.error(`Failed to delete version`)}finally{O(S,null),O(b,null)}}var R=cr(),B=E(R),V=w(B),H=e=>{J(e,Gn())},U=e=>{J(e,Kn())},G=e=>{var t=Qn(),n=w(t),r=z(w(n),2),i=e=>{var t=Yn(),n=E(t),r=z(w(n));l(n);var i=z(n,2),a=e=>{J(e,qn())},s=e=>{J(e,Jn())};o(i,e=>{y(k)&&y(D)?e(a):e(s,-1)}),A(()=>d(r,` — v${y(T).versionNumber??``}`)),J(e,t)},a=e=>{J(e,Xn())};o(r,e=>{y(T)?e(i):e(a,-1)}),l(n);var s=z(n,2),c=e=>{Z(e,{size:`sm`,onclick:()=>F(null),get disabled(){return y(_)},class:`shrink-0`,children:(e,t)=>{var n=Zn(),r=E(n);ct(r,{class:`mr-1.5 h-3.5 w-3.5`});var i=z(r);A(()=>d(i,` Publish v${y(D).versionNumber??``}`)),J(e,n)},$$slots:{default:!0}})};o(s,e=>{y(k)&&y(D)&&e(c)}),l(t),J(e,t)};o(V,e=>{y(p)?e(H):y(a).length===0?e(U,1):e(G,-1)});var ee=z(V,2);Z(z(w(ee),2),{variant:`outline`,size:`sm`,onclick:()=>O(m,!0),class:`shrink-0`,children:(e,t)=>{var n=$n();he(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}}),l(ee);var q=z(ee,2),te=e=>{var t=or();f(t,21,()=>y(a),e=>e.id,(e,t)=>{let n=K(()=>y(t).id===y(c)),a=K(()=>y(t).id===y(u)&&!y(n));var f=ar(),p=w(f),m=w(p),x=w(m),C=w(x),T=w(C);l(C);var D=z(C,2),k=e=>{J(e,er())};o(D,e=>{y(n)&&e(k)});var j=z(D,2),M=e=>{J(e,tr())};o(j,e=>{y(a)&&e(M)}),l(x);var N=z(x,2),F=e=>{var n=nr(),r=w(n,!0);l(n),A(()=>d(r,y(t).changeNote)),J(e,n)},I=e=>{var n=rr(),r=w(n,!0);l(n),A(()=>d(r,y(t).originalFilename)),J(e,n)};o(N,e=>{y(t).changeNote?e(F):y(t).originalFilename&&e(I,1)});var L=z(N,2),R=w(L);l(L),l(m);var B=z(m,2),V=w(B);{let e=K(()=>y(n)?`outline`:`ghost`);Z(V,{size:`sm`,get variant(){return y(e)},onclick:()=>y(n)?i.onOpenRunner(i.definitionGuid,`live`):y(a)?i.onOpenRunner(i.definitionGuid,`draft`):i.onOpenRunner(i.definitionGuid,void 0,y(t).id),children:(e,t)=>{var n=ir();ge(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}})}var H=z(V,2),U=e=>{Z(e,{size:`sm`,variant:`outline`,get disabled(){return y(_)},onclick:()=>{O(h,y(t),!0),O(g,!0)},children:(e,t)=>{s(),J(e,v(`Make live`))},$$slots:{default:!0}})};o(H,e=>{y(n)||e(U)});var W=z(H,2),G=e=>{{let n=K(()=>y(S)===y(t).id);Z(e,{size:`sm`,variant:`ghost`,onclick:()=>O(b,y(t),!0),get disabled(){return y(n)},class:`text-muted-foreground hover:text-destructive h-8 w-8 p-0`,"aria-label":`Delete version`,children:(e,t)=>{je(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}})}};o(W,e=>{!y(n)&&!y(a)&&e(G)}),l(B),l(p),l(f),A(e=>{r(f,1,`rounded-md border p-3 transition-colors ${y(n)?`border-primary/40 bg-accent/40`:`border-border bg-card hover:bg-muted/30`}`),d(T,`v${y(t).versionNumber??``}`),d(R,`Uploaded ${e??``}`)},[()=>P(y(t).uploadedAt)]),J(e,f)}),l(t),J(e,t)};o(q,e=>{!y(p)&&y(a).length>0&&e(te)}),l(B);var ne=z(B,2);Wn(ne,{get definitionGuid(){return i.definitionGuid},get nextVersionNumber(){return y(N)},get open(){return y(m)},onOpenChange:e=>O(m,e,!0),onUploaded:C});var re=z(ne,2);j(re,()=>Ue,(e,t)=>{t(e,{get open(){return y(g)},onOpenChange:e=>{e||(O(h,null),O(g,!1))},children:(e,t)=>{var r=n();j(E(r),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var r=sr(),i=E(r);j(i,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var r=sr(),i=E(r);j(i,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{var r=n(),i=E(r),a=e=>{var t=v();A(()=>d(t,`Make v${y(h).versionNumber??``} live?`)),J(e,t)},s=e=>{J(e,v(`Publish current draft?`))};o(i,e=>{y(h)?e(a):e(s,-1)}),J(e,r)},$$slots:{default:!0}})}),j(z(i,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{var r=n(),i=E(r),a=e=>{var t=v();A(()=>d(t,`Rolling back to an older version. Anyone running this definition will immediately get v${y(h).versionNumber??``}
5
+ instead of v${y(T).versionNumber??``}.`)),J(e,t)},s=e=>{var t=v();A(()=>d(t,`Anyone running this definition will immediately get v${y(h).versionNumber??``}
6
+ instead of v${y(T)?.versionNumber??`—`??``}.`)),J(e,t)},c=e=>{J(e,v(`Promotes the current draft to live. Everyone running this definition gets the new version
7
+ immediately.`))};o(i,e=>{y(h)&&y(T)&&y(h).versionNumber<y(T).versionNumber?e(a):y(h)?e(s,1):e(c,-1)}),J(e,r)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})}),j(z(i,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=sr(),r=E(n);j(r,()=>Be,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})}),j(z(r,2),()=>He,(e,t)=>{t(e,{onclick:()=>F(y(h)),get disabled(){return y(_)},children:(e,t)=>{s();var n=v();A(()=>d(n,y(_)?`Publishing…`:`Publish`)),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})});var ie=z(re,2);{let e=K(()=>!!y(b));j(ie,()=>Ue,(t,r)=>{r(t,{get open(){return y(e)},onOpenChange:e=>!e&&O(b,null),children:(e,t)=>{var r=n();j(E(r),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var n=sr(),r=E(n);j(r,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var n=sr(),r=E(n);j(r,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{s();var n=v();A(()=>d(n,`Delete v${y(b)?.versionNumber??``}?`)),J(e,n)},$$slots:{default:!0}})}),j(z(r,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`This permanently removes the version's file. The live and draft versions cannot be deleted —
8
+ repoint first.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),j(z(r,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=sr(),r=E(n);j(r,()=>Be,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})});var i=z(r,2);{let e=K(()=>!!y(S));j(i,()=>He,(t,n)=>{n(t,{onclick:()=>y(b)&&L(y(b)),get disabled(){return y(e)},children:(e,t)=>{s();var n=v();A(()=>d(n,y(S)?`Deleting…`:`Delete`)),J(e,n)},$$slots:{default:!0}})})}J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})})}J(e,R),M()}var ur=_(`<!> <!>`,1),dr=_(`<p class="text-warning flex items-start gap-1.5 text-xs"><!> Draft links expose the unpublished version. Use only for reviewers.</p>`),fr=_(`<div class="mt-2 ml-6"><!></div>`),pr=_(`<div class="mt-2 ml-6"><input type="datetime-local" class="border-input bg-background h-8 rounded-md border px-2 text-sm"/></div>`),mr=_(`<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <select id="sl-channel" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>Live — recipients see the published version</option><option>Draft — recipients see the unpublished version</option></select> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm font-medium">Allow solve</p> <p class="text-muted-foreground mt-0.5 text-xs">When off, recipients can view the schema and parameters but can't run solves. When
9
+ on, every solve counts against the cap.</p></div></label></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Cap total solves</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Set expiry</p> <p class="text-muted-foreground mt-0.5 text-xs">The link stops working after this date. Off = never expires.</p></div></label> <!></div></div> <!>`,1),hr=_(`<!> Copied`,1),gr=_(`<!> Copy`,1),_r=_(`<!> <div class="mt-4 space-y-3"><div class="border-warning/40 bg-warning/5 rounded-md border p-3"><p class="text-warning flex items-start gap-2 text-xs"><!> <span>This URL grants the configured access to anyone who receives it. Treat it like a
10
+ password — revoke it immediately if it's compromised.</span></p></div> <div class="border-border bg-muted/40 rounded-md border p-3"><p class="text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase">Share URL</p> <div class="flex items-start gap-2"><code class="bg-background min-w-0 flex-1 rounded p-2 font-mono text-xs break-all"> </code> <!></div></div></div> <!>`,1);function vr(e,r){t(r,!0);let i=W(`live`),a=W(!0),c=W(``),u=W(!1),f=W(``),p=W(!0),m=W(I(Ot)),h=W(!1),g=W(null),_=W(null),b=W(!1);x(()=>{r.open||S()});function S(){O(i,`live`),O(a,!0),O(c,``),O(u,!1),O(f,``),O(p,!0),O(m,Ot,!0),O(g,null),O(_,null),O(b,!1)}async function C(){if(!(y(p)&&y(m)>1e3&&!confirm(`You're raising the cap above the default of 1000. An uncapped or high-cap link is a denial-of-wallet vector if leaked. Continue?`))&&!(!y(p)&&!confirm(`Removing the cap means an unlimited number of solves on this link. Recommended only for trusted recipients. Continue?`))){O(h,!0);try{let e={channel:y(i),allowSolve:y(a),...y(c).trim()?{name:y(c).trim()}:{},maxSolves:y(p)?y(m):null,...y(u)&&y(f)?{expiresAt:new Date(y(f)).toISOString()}:{}},t=await fetch(`/api/definitions/${r.definitionGuid}/share-links`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));$.error(e.message||e.error||`Failed to mint share link`);return}let n=await t.json();O(g,n.token,!0),O(_,`${window.location.origin}/library/${r.definitionGuid}?token=${n.token}`),r.onMinted()}catch{$.error(`Failed to mint share link`)}finally{O(h,!1)}}}async function D(){if(y(_))try{await navigator.clipboard.writeText(y(_)),O(b,!0),setTimeout(()=>O(b,!1),2e3)}catch{$.error(`Could not copy to clipboard`)}}var P=n();j(E(P),()=>Je,(e,t)=>{t(e,{get open(){return r.open},get onOpenChange(){return r.onOpenChange},children:(e,t)=>{var x=n();j(E(x),()=>qe,(e,t)=>{t(e,{class:`max-w-lg`,children:(e,t)=>{var x=n(),S=E(x),M=e=>{var t=mr(),n=E(t);j(n,()=>Ge,(e,t)=>{t(e,{children:(e,t)=>{var n=ur(),r=E(n);j(r,()=>We,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`New share link`))},$$slots:{default:!0}})}),j(z(r,2),()=>Ke,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Anyone with the link gets the access you configure here. Caps and expiry are the
11
+ load-bearing protection — they assume the URL will eventually leak.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})});var g=z(n,2),_=w(g),b=w(_);Q(b,{for:`sl-channel`,children:(e,t)=>{s(),J(e,v(`Channel`))},$$slots:{default:!0}});var x=z(b,2),S=w(x);S.value=S.__value=`live`;var D=z(S);D.value=D.__value=`draft`,l(x);var M=z(x,2),P=e=>{var t=dr();Me(w(t),{class:`mt-0.5 h-3 w-3 shrink-0`}),s(),l(t),J(e,t)};o(M,e=>{y(i)===`draft`&&e(P)}),l(_);var F=z(_,2),I=w(F);Q(I,{for:`sl-label`,children:(e,t)=>{s(),J(e,v(`Label (optional)`))},$$slots:{default:!0}}),nt(z(I,2),{id:`sl-label`,placeholder:`e.g. Demo for Acme`,get value(){return y(c)},set value(e){O(c,e,!0)}}),l(F);var L=z(F,2),R=w(L),B=w(R);k(B),s(2),l(R),l(L);var V=z(L,2),H=w(V),U=w(H);k(U);var W=z(U,2),G=z(w(W),2),ee=w(G);l(G),l(W),l(H);var Y=z(H,2),te=e=>{var t=fr();nt(w(t),{type:`number`,min:1,class:`h-8 w-32 text-sm`,get value(){return y(m)},set value(e){O(m,e,!0)}}),l(t),J(e,t)};o(Y,e=>{y(p)&&e(te)}),l(V);var ne=z(V,2),re=w(ne),ie=w(re);k(ie),s(2),l(re);var ae=z(re,2),oe=e=>{var t=pr(),n=w(t);k(n),l(t),T(n,()=>y(f),e=>O(f,e)),J(e,t)};o(ae,e=>{y(u)&&e(oe)}),l(ne),l(g),j(z(g,2),()=>_e,(e,t)=>{t(e,{class:`mt-4`,children:(e,t)=>{var n=ur(),i=E(n);Z(i,{variant:`outline`,onclick:()=>r.onOpenChange(!1),children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}});var a=z(i,2);{let e=K(()=>y(h)||y(u)&&!y(f)||y(p)&&y(m)<1);Z(a,{onclick:C,get disabled(){return y(e)},children:(e,t)=>{s();var n=v();A(()=>d(n,y(h)?`Creating…`:`Create link`)),J(e,n)},$$slots:{default:!0}})}J(e,n)},$$slots:{default:!0}})}),A(e=>d(ee,`Default ${e??``}. Recommended. Uncapped
12
+ links are a denial-of-wallet risk if leaked.`),[()=>Ot.toLocaleString()]),q(x,()=>y(i),e=>O(i,e)),N(B,()=>y(a),e=>O(a,e)),N(U,()=>y(p),e=>O(p,e)),N(ie,()=>y(u),e=>O(u,e)),J(e,t)},P=e=>{var t=_r(),i=E(t);j(i,()=>Ge,(e,t)=>{t(e,{children:(e,t)=>{var n=ur(),r=E(n);j(r,()=>We,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Share link ready`))},$$slots:{default:!0}})}),j(z(r,2),()=>Ke,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Copy the link now — this is the only time you'll see it. The server stores only a hash; we
13
+ cannot show it again.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})});var a=z(i,2),c=w(a),u=w(c);Me(w(u),{class:`mt-0.5 h-3.5 w-3.5 shrink-0`}),s(2),l(u),l(c);var f=z(c,2),p=z(w(f),2),m=w(p),h=w(m,!0);l(m);var g=z(m,2);{let e=K(()=>y(b)?`default`:`outline`);Z(g,{size:`sm`,get variant(){return y(e)},onclick:D,class:`shrink-0`,children:(e,t)=>{var r=n(),i=E(r),a=e=>{var t=hr();de(E(t),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,t)},c=e=>{var t=gr();pe(E(t),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,t)};o(i,e=>{y(b)?e(a):e(c,-1)}),J(e,r)},$$slots:{default:!0}})}l(p),l(f),l(a),j(z(a,2),()=>_e,(e,t)=>{t(e,{class:`mt-4`,children:(e,t)=>{Z(e,{onclick:()=>r.onOpenChange(!1),children:(e,t)=>{s(),J(e,v(`Done`))},$$slots:{default:!0}})},$$slots:{default:!0}})}),A(()=>d(h,y(_))),J(e,t)};o(S,e=>{y(g)?e(P,-1):e(M)}),J(e,x)},$$slots:{default:!0}})}),J(e,x)},$$slots:{default:!0}})}),J(e,P),M()}var yr=_(`<div class="border-border rounded-md border p-6 text-center"><p class="text-muted-foreground text-xs">Loading…</p></div>`),br=_(`<!> New link`,1),xr=_(`<span class="bg-muted text-muted-foreground rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">view-only</span>`),Sr=_(`<span class="bg-destructive/10 text-destructive flex items-center gap-1 rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase"><!> expired</span>`),Cr=_(`<span class="bg-destructive/10 text-destructive rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">cap reached</span>`),wr=_(`<div><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><p class="truncate text-sm font-medium"> </p> <span> </span> <!> <!> <!></div> <div class="text-muted-foreground mt-1 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-xs"><span class="font-mono tabular-nums"> </span> <span>·</span> <span> </span> <span>·</span> <span> </span></div></div> <!></div>`),Tr=_(`<div class="border-border bg-card overflow-hidden rounded-md border"><div class="border-border bg-muted/40 flex items-center justify-between gap-3 border-b px-4 py-2"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase"> </span> <!></div> <!></div>`),Er=_(`<strong> </strong> will stop working immediately. Anyone
14
+ using it will see a "no longer active" page. This cannot be undone.`,1),Dr=_(`<!> <!>`,1),Or=_(`<div class="space-y-4"><div><h3 class="text-base font-semibold tracking-tight">Share links</h3> <p class="text-muted-foreground mt-1 text-xs">Per-definition tokens that grant access without an account. Use for client demos, embeds, and
15
+ review links.</p></div> <!></div> <!> <!>`,1);function kr(e,i){t(i,!0);let a=W(I([])),c=W(!0),u=W(!1),p=W(null),m=W(null);x(()=>{i.definitionGuid,h()});async function h(){O(c,!0);try{let e=await fetch(`/api/definitions/${i.definitionGuid}/share-links`);if(!e.ok)throw Error(`${e.status}`);let t=await e.json();O(a,t.links,!0)}catch{$.error(`Failed to load share links`)}finally{O(c,!1)}}async function g(e){O(m,e.id,!0);try{if(!(await fetch(`/api/definitions/${i.definitionGuid}/share-links/${e.id}`,{method:`DELETE`})).ok){$.error(`Failed to revoke link`);return}$.success(`Link revoked`),await h()}catch{$.error(`Failed to revoke link`)}finally{O(m,null),O(p,null)}}function _(e=null){if(!e)return`Never`;let t=new Date(e),n=new Date,r=t.getTime()<n.getTime();return{text:t.toLocaleDateString(),expired:r}}function b(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<30?`${i}d ago`:new Date(e).toLocaleDateString()}let S=K(()=>y(a).filter(e=>!e.revokedAt));var C=Or(),T=E(C),D=z(w(T),2),k=e=>{J(e,yr())},N=e=>{tt(e,{size:`sm`,get icon(){return De},title:`No share links yet`,description:`Mint a link to share this definition without requiring the recipient to have an account.`,actions:e=>{Z(e,{size:`sm`,onclick:()=>O(u,!0),children:(e,t)=>{var n=br();Oe(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}})},$$slots:{actions:!0}})},P=e=>{var t=Tr(),n=w(t),i=w(n),a=w(i);l(i),Z(z(i,2),{size:`sm`,variant:`outline`,onclick:()=>O(u,!0),children:(e,t)=>{var n=br();Oe(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}}),l(n),f(z(n,2),19,()=>y(S),e=>e.id,(e,t,n)=>{let i=K(()=>_(y(t).expiresAt)),a=K(()=>typeof y(i)==`object`&&y(i).expired),c=K(()=>y(t).maxSolves),u=K(()=>y(c)!==null&&y(c)!==void 0),f=K(()=>y(u)&&y(t).solveCount>=y(c));var h=wr(),g=w(h),v=w(g),x=w(v),C=w(x,!0);l(x);var T=z(x,2),E=w(T,!0);l(T);var D=z(T,2),k=e=>{J(e,xr())};o(D,e=>{y(t).allowSolve||e(k)});var j=z(D,2),M=e=>{var t=Sr();Me(w(t),{class:`h-2.5 w-2.5`}),s(),l(t),J(e,t)};o(j,e=>{y(a)&&e(M)});var N=z(j,2),P=e=>{J(e,Cr())};o(N,e=>{y(f)&&e(P)}),l(v);var F=z(v,2),I=w(F),L=w(I);l(I);var R=z(I,4),B=w(R);l(R);var V=z(R,4),H=w(V);l(V),l(F),l(g);var U=z(g,2);{let e=K(()=>y(m)===y(t).id);Z(U,{variant:`ghost`,size:`icon`,onclick:()=>O(p,y(t),!0),get disabled(){return y(e)},class:`text-muted-foreground hover:text-destructive h-7 w-7 shrink-0`,"aria-label":`Revoke link`,children:(e,t)=>{je(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}})}l(h),A((e,a,o)=>{r(h,1,`flex items-start gap-3 px-4 py-3 ${y(n)<y(S).length-1?`border-border border-b`:``}`),d(C,y(t).name??`Untitled link`),r(T,1,`rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${y(t).channel===`live`?`bg-success/10 text-success`:`bg-warning/10 text-warning`}`),d(E,y(t).channel),d(L,`${e??``}${a??``} solves`),d(B,`Expires: ${(typeof y(i)==`object`?y(i).text:y(i))??``}`),d(H,`Minted ${o??``}`)},[()=>y(t).solveCount.toLocaleString(),()=>y(u)?` / ${y(c).toLocaleString()}`:``,()=>b(y(t).createdAt)]),J(e,h)}),l(t),A(()=>d(a,`${y(S).length??``} active link${y(S).length===1?``:`s`}`)),J(e,t)};o(D,e=>{y(c)?e(k):y(S).length===0?e(N,1):e(P,-1)}),l(T);var F=z(T,2);vr(F,{get definitionGuid(){return i.definitionGuid},get open(){return y(u)},onOpenChange:e=>O(u,e,!0),onMinted:h});var L=z(F,2);{let e=K(()=>!!y(p));j(L,()=>Ue,(t,r)=>{r(t,{get open(){return y(e)},onOpenChange:e=>!e&&O(p,null),children:(e,t)=>{var r=n();j(E(r),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var r=Dr(),i=E(r);j(i,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var r=Dr(),i=E(r);j(i,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Revoke this link?`))},$$slots:{default:!0}})}),j(z(i,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{var r=n(),i=E(r),a=e=>{var t=Er(),n=E(t),r=w(n,!0);l(n),s(),A(()=>d(r,y(p).name??`This link`)),J(e,t)};o(i,e=>{y(p)&&e(a)}),J(e,r)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})}),j(z(i,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=Dr(),r=E(n);j(r,()=>Be,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})});var i=z(r,2);{let e=K(()=>!!y(m));j(i,()=>He,(t,n)=>{n(t,{onclick:()=>y(p)&&g(y(p)),get disabled(){return y(e)},children:(e,t)=>{s();var n=v();A(()=>d(n,y(m)?`Revoking…`:`Revoke`)),J(e,n)},$$slots:{default:!0}})})}J(e,n)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})})}J(e,C),M()}var Ar=_(`<button type="button" class="text-muted-foreground hover:text-foreground mx-6 mt-4 inline-flex items-center gap-1.5 self-start text-xs transition-colors"><!> Back to definition</button>`),jr=_(`<!> <!> <!>`,1),Mr=_(` <button class="hover:opacity-70"><!></button>`,1),Nr=_(`<div class="mb-1 flex flex-wrap gap-1"></div>`),Pr=_(`<div class="space-y-1.5"><!> <!></div>`),Fr=_(`<div class="grid grid-cols-2 gap-3"><!> <!></div>`),Ir=_(`<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><div class="flex items-center justify-between"><!> <span class="text-muted-foreground text-xs"> </span></div> <!> <!></div></div> <!> <div class="space-y-2"><div class="flex items-center gap-2"><!> <!></div> <!></div> <!> <div class="space-y-1.5"><!> <!> <p class="text-muted-foreground text-xs">Cached solves kept for this definition. Leave blank to inherit the server default; <span class="font-medium">0</span> disables caching (use for random / time-based definitions).</p></div>`,1),Lr=_(`<!> <!> <!> <!>`,1),Rr=_(`<!> Delete`,1),zr=_(`<div class="border-border flex shrink-0 items-center justify-between border-b px-6 py-4"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Editing</p> <h2 class="mt-0.5 text-base font-semibold"> </h2></div> <!></div> <!> <!> <div class="border-border flex shrink-0 items-center justify-between border-t px-6 py-4"><!> <div class="flex gap-2"><!> <!></div></div>`,1),Br=_(`<!> <!>`,1),Vr=_(`<strong> </strong> will move from <strong> </strong> to <strong> </strong> `,1);function Hr(e,r){t(r,!0);let i=b(r,`defaultComputeServerId`,3,null),a=b(r,`initialTab`,3,`versions`),c=W(I(a()===`shares`&&!r.enableSharing?`versions`:a())),p=W(I(r.record.displayName)),m=W(I(r.record.description??``)),h=W(I(r.record.category??``)),g=W(I([...r.record.tags??[]])),_=W(I(r.record.projectId)),x=W(I(r.record.computeServerId??null)),S=W(I(r.record.solveCacheLimit===void 0?``:String(r.record.solveCacheLimit))),C=W(I(r.record.status)),T=W(void 0),k=W(I(r.record.coverImage??``)),N=W(void 0),P=W(!1),F=W(!1),L=W(!1),R=W(null),B=K(()=>y(R)?r.projects.find(e=>e.id===y(R))??null:null),V=K(()=>r.projects.find(e=>e.id===y(_))??null);function H(e){e!==y(_)&&O(R,e,!0)}function U(){y(R)&&O(_,y(R),!0),O(R,null)}function G(){O(R,null)}let ee=K(()=>y(T)??(r.record.coverImage?.startsWith(`/api/definitions/`)?`upload`:`url`)),q=[{id:`draft`,label:`Draft — work in progress`,icon:fe,iconStyle:`color: var(--muted-foreground); fill: var(--muted-foreground);`},{id:`published`,label:`Published — live and visible to runners`,icon:fe,iconStyle:`color: #22c55e; fill: #22c55e;`}],te=K(()=>r.computeServers.map(e=>({id:e.id,label:e.id===i()?`${e.label} (Default)`:e.label})));async function ne(){if(!y(N)?.files?.length)return;O(L,!0);let e=new FormData;e.append(`image`,y(N).files[0]);try{let t=await fetch(`/api/definitions/${r.record.guid}/image`,{method:`POST`,body:e});if(t.ok)$.success(`Cover image updated`),await Y();else{let e=await t.json().catch(()=>({}));$.error(e.message||`Image upload failed`)}}catch{$.error(`Image upload failed`)}finally{O(L,!1),y(N)&&(y(N).value=``),O(P,!1)}}function re(){let e=y(S).trim()===``?null:Number(y(S)),t=e!==null&&Number.isInteger(e)&&e>=0?e:null;r.onSave(r.record.guid,{displayName:y(p),description:y(m)||void 0,category:y(h)||void 0,tags:y(g).length?y(g):void 0,coverImage:y(k)||void 0,status:y(C),projectId:y(_)||void 0,computeServerId:y(x),solveCacheLimit:t})}var ie=jr(),ae=E(ie);Ct(ae,{get onClose(){return r.onClose},ariaLabel:`Close edit drawer`,children:(e,t)=>{var a=zr(),b=E(a),M=w(b),I=z(w(M),2),R=w(I,!0);l(I),l(M),Z(z(M,2),{variant:`ghost`,size:`icon`,get onclick(){return r.onClose},class:`h-8 w-8 shrink-0`,children:(e,t)=>{Fe(e,{class:`h-4 w-4`})},$$slots:{default:!0}}),l(b);var B=z(b,2),V=e=>{var t=Ar();ue(w(t),{class:`h-3 w-3`}),s(),l(t),u(`click`,t,function(...e){r.onBack?.apply(this,e)}),J(e,t)};o(B,e=>{r.onBack&&e(V)});var U=z(B,2);j(U,()=>Ye,(e,t)=>{t(e,{class:`flex flex-1 flex-col overflow-hidden`,get value(){return y(c)},set value(e){O(c,e,!0)},children:(e,t)=>{var a=Lr(),c=E(a);{let e=K(()=>`mx-6 grid w-auto ${r.enableSharing?`grid-cols-3`:`grid-cols-2`} ${r.onBack?`mt-2`:`mt-4`}`);j(c,()=>Qe,(t,i)=>{i(t,{get class(){return y(e)},children:(e,t)=>{var i=jr(),a=E(i);j(a,()=>Ze,(e,t)=>{t(e,{value:`details`,children:(e,t)=>{s(),J(e,v(`Details`))},$$slots:{default:!0}})});var c=z(a,2);j(c,()=>Ze,(e,t)=>{t(e,{value:`versions`,children:(e,t)=>{s(),J(e,v(`Versions`))},$$slots:{default:!0}})});var l=z(c,2),u=e=>{var t=n();j(E(t),()=>Ze,(e,t)=>{t(e,{value:`shares`,children:(e,t)=>{s(),J(e,v(`Share links`))},$$slots:{default:!0}})}),J(e,t)};o(l,e=>{r.enableSharing&&e(u)}),J(e,i)},$$slots:{default:!0}})})}var b=z(c,2);j(b,()=>Xe,(e,t)=>{t(e,{value:`versions`,class:`mt-4 flex-1 overflow-y-auto px-6 py-5`,children:(e,t)=>{lr(e,{get definitionGuid(){return r.record.guid},get onOpenRunner(){return r.onOpenRunner}})},$$slots:{default:!0}})});var M=z(b,2);j(M,()=>Xe,(e,t)=>{t(e,{value:`details`,class:`mt-4 flex-1 space-y-5 overflow-y-auto px-6 py-5`,children:(e,t)=>{var n=Ir(),a=E(n),c=w(a);Q(c,{for:`edit-name`,children:(e,t)=>{s(),J(e,v(`Display name`))},$$slots:{default:!0}}),nt(z(c,2),{id:`edit-name`,get value(){return y(p)},set value(e){O(p,e,!0)}}),l(a);var b=z(a,2),j=w(b);Q(j,{for:`edit-desc`,children:(e,t)=>{s(),J(e,v(`Description`))},$$slots:{default:!0}}),$e(z(j,2),{id:`edit-desc`,rows:3,get value(){return y(m)},set value(e){O(m,e,!0)}}),l(b);var M=z(b,2),F=w(M);Q(F,{for:`edit-status`,children:(e,t)=>{s(),J(e,v(`Status`))},$$slots:{default:!0}}),it(z(F,2),{id:`edit-status`,get items(){return q},get value(){return y(C)},onChange:e=>O(C,e,!0)}),l(M);var I=z(M,2),R=w(I),B=w(R);Q(B,{for:`edit-cat`,children:(e,t)=>{s(),J(e,v(`Category`))},$$slots:{default:!0}}),nt(z(B,2),{id:`edit-cat`,maxlength:40,placeholder:`e.g. Facade`,get value(){return y(h)},set value(e){O(h,e,!0)}}),l(R);var V=z(R,2),U=w(V),W=w(U);Q(W,{for:`edit-tags`,children:(e,t)=>{s(),J(e,v(`Tags`))},$$slots:{default:!0}});var G=z(W,2),Y=w(G);l(G),l(U);var re=z(U,2),ie=e=>{var t=Nr();f(t,20,()=>y(g),e=>e,(e,t)=>{rt(e,{variant:`outline`,class:`gap-1 text-xs`,children:(e,n)=>{s();var r=Mr(),i=E(r),a=z(i);Fe(w(a),{class:`h-2.5 w-2.5`}),l(a),A(()=>{d(i,`${t??``} `),D(a,`aria-label`,`Remove tag ${t??``}`)}),u(`click`,a,()=>O(g,y(g).filter(e=>e!==t),!0)),J(e,r)},$$slots:{default:!0}})}),l(t),J(e,t)};o(re,e=>{y(g).length>0&&e(ie)});var ae=z(re,2);{let e=K(()=>y(g).length>=5);nt(ae,{id:`edit-tags`,placeholder:`Add tag + Enter`,get disabled(){return y(e)},onkeydown:e=>{if(e.key===`Enter`){e.preventDefault();let t=e.currentTarget,n=t.value.trim();n&&!y(g).includes(n)&&y(g).length<5&&(O(g,[...y(g),n],!0),t.value=``)}}})}l(V),l(I);var oe=z(I,2);xt(oe,{});var se=z(oe,2),X=w(se),ce=w(X);ft(ce,{class:`text-muted-foreground h-4 w-4`}),Q(z(ce,2),{children:(e,t)=>{s(),J(e,v(`Cover image`))},$$slots:{default:!0}}),l(X);var le=z(X,2);{let e=K(()=>r.record.coverImage??``);Dt(le,{get mode(){return y(ee)},get value(){return y(e)},get isUploading(){return y(L)},get hasFile(){return y(P)},onModeChange:e=>O(T,e,!0),onUpload:ne,onFileSelected:()=>O(P,!!y(N)?.files?.length),onUrlChange:e=>O(k,e,!0),get inputRef(){return y(N)},set inputRef(e){O(N,e,!0)}})}l(se);var Z=z(se,2),ue=e=>{var t=Fr(),n=w(t),a=e=>{var t=Pr(),n=w(t);Q(n,{for:`edit-proj`,children:(e,t)=>{s(),J(e,v(`Project`))},$$slots:{default:!0}}),kt(z(n,2),{id:`edit-proj`,get projects(){return r.projects},get value(){return y(_)},onChange:H}),l(t),J(e,t)};o(n,e=>{r.projects.length>1&&e(a)});var c=z(n,2),u=e=>{var t=Pr(),n=w(t);Q(n,{for:`edit-srv`,children:(e,t)=>{s(),J(e,v(`Compute server`))},$$slots:{default:!0}});var r=z(n,2);{let e=K(()=>y(x)??i()??``);it(r,{id:`edit-srv`,get items(){return y(te)},get value(){return y(e)},onChange:e=>{O(x,e===i()?null:e,!0)}})}l(t),J(e,t)};o(c,e=>{r.computeServers.length>0&&e(u)}),l(t),J(e,t)};o(Z,e=>{(r.projects.length>1||r.computeServers.length>0)&&e(ue)});var de=z(Z,2),fe=w(de);Q(fe,{for:`edit-cache`,children:(e,t)=>{s(),J(e,v(`Solve cache limit`))},$$slots:{default:!0}}),nt(z(fe,2),{id:`edit-cache`,type:`number`,min:0,placeholder:`Inherit default`,get value(){return y(S)},set value(e){O(S,e,!0)}}),s(2),l(de),A(()=>d(Y,`${y(g).length??``}/5`)),J(e,n)},$$slots:{default:!0}})});var F=z(M,2),I=e=>{var t=n();j(E(t),()=>Xe,(e,t)=>{t(e,{value:`shares`,class:`mt-4 flex-1 overflow-y-auto px-6 py-5`,children:(e,t)=>{kr(e,{get definitionGuid(){return r.record.guid}})},$$slots:{default:!0}})}),J(e,t)};o(F,e=>{r.enableSharing&&e(I)}),J(e,a)},$$slots:{default:!0}})});var W=z(U,2),G=w(W);Z(G,{variant:`ghost`,size:`sm`,onclick:()=>O(F,!0),class:`text-destructive hover:text-destructive gap-1.5 px-2`,children:(e,t)=>{var n=Rr();je(E(n),{class:`h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}});var Y=z(G,2),ie=w(Y);Z(ie,{variant:`outline`,size:`sm`,get onclick(){return r.onClose},children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}});var ae=z(ie,2),oe=e=>{Z(e,{size:`sm`,get disabled(){return r.isSaving},onclick:re,children:(e,t)=>{s();var n=v();A(()=>d(n,r.isSaving?`Saving…`:`Save`)),J(e,n)},$$slots:{default:!0}})};o(ae,e=>{y(c)===`details`&&e(oe)}),l(Y),l(W),A(()=>d(R,r.record.displayName)),J(e,a)},$$slots:{default:!0}});var oe=z(ae,2);j(oe,()=>Ue,(e,t)=>{t(e,{get open(){return y(F)},onOpenChange:e=>O(F,e,!0),children:(e,t)=>{var i=n();j(E(i),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),i=E(n);j(i,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),i=E(n);j(i,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{s();var n=v();A(()=>d(n,`Delete "${r.record.displayName??``}"?`)),J(e,n)},$$slots:{default:!0}})}),j(z(i,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`This removes the definition and all its files. This cannot be undone.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),j(z(i,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),i=E(n);j(i,()=>Be,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})}),j(z(i,2),()=>He,(e,t)=>{t(e,{onclick:()=>r.onDelete(r.record.guid),children:(e,t)=>{s(),J(e,v(`Delete`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,i)},$$slots:{default:!0}})});var se=z(oe,2);{let e=K(()=>y(R)!==null);j(se,()=>Ue,(t,i)=>{i(t,{get open(){return y(e)},onOpenChange:e=>{e||G()},children:(e,t)=>{var i=n();j(E(i),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),i=E(n);j(i,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),i=E(n);j(i,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Move to a different project?`))},$$slots:{default:!0}})}),j(z(i,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{var n=Vr(),i=E(n),a=w(i,!0);l(i);var o=z(i,2),s=w(o,!0);l(o);var c=z(o,2),u=w(c,!0);l(c);var f=z(c);A(()=>{d(a,r.record.displayName),d(s,y(V)?.name??`—`),d(u,y(B)?.name??`—`),d(f,`. Project members and visibility may change
16
+ accordingly.${r.enableSharing?` Existing share links keep working.`:``}`)}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),j(z(i,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=Br(),r=E(n);j(r,()=>Be,(e,t)=>{t(e,{onclick:G,children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})}),j(z(r,2),()=>He,(e,t)=>{t(e,{onclick:U,children:(e,t)=>{s(),J(e,v(`Move`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,i)},$$slots:{default:!0}})})}J(e,ie),M()}c([`click`]);var Ur=_(`<!> Project settings`,1),Wr=_(`<!> Add definition`,1),Gr=_(`<!> <!>`,1),Kr=_(`<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"></div>`),qr=_(`<div class="flex h-full overflow-hidden"><!> <div class="flex flex-1 flex-col overflow-hidden"><div class="border-border bg-background shrink-0 border-b px-(--page-px) py-5"><!></div> <div class="flex-1 overflow-y-auto px-(--page-px) py-5"><div class="mb-5 flex items-center gap-3"><div class="max-w-lg flex-1"><!></div> <span class="text-muted-foreground font-mono text-xs tabular-nums"> </span> <div class="ml-auto"><!></div></div> <!></div></div></div> <!> <!> <!> <!> <!>`,1);function Jr(e,r){t(r,!0);let c=()=>G(at,`$page`,u),[u,m]=i(),h=K(()=>!!c().data.flags?.enableSharing),g=W(``),_=W(null),b=W(`grid`);x(()=>{let e=c().url.searchParams.get(`project`);if(e){let t=r.data.projects.find(t=>t.slug===e);t&&O(_,t.id,!0)}});let S=W(null),C=W(null),T=W(null),D=W(null),k=W(!1),N=W(!1),F=W(`versions`),I=W(!1),R=W(null),B=K(()=>{let e=r.data.records;if(y(_)&&(e=e.filter(e=>e.projectId===y(_))),y(g).trim()){let t=y(g).toLowerCase();e=e.filter(e=>e.displayName?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.tags?.some(e=>e.toLowerCase().includes(t)))}return e}),V=K(()=>y(C)?r.data.records.find(e=>e.guid===y(C))??null:null),H=K(()=>y(_)?r.data.projects.find(e=>e.id===y(_))??null:null),U=K(()=>y(H)?y(H).canEdit:r.data.projects.some(e=>e.canEdit)),ee=K(()=>r.data.projects.filter(e=>e.canEdit)),q=K(()=>y(T)?r.data.projects.find(e=>e.id===y(T))??null:null),re=K(()=>y(D)?r.data.projects.find(e=>e.id===y(D))??null:null);function ie(e){return r.data.projects.find(t=>t.id===e)?.name??``}function ae(e){return r.data.projects.find(t=>t.id===e)?.visibility}function oe(e){let t=r.data.computeServers;if(t.length===0)return;let n=e.computeServerId?t.find(t=>t.id===e.computeServerId):void 0,i=t.find(e=>e.id===r.data.defaultComputeServerId)??t[0];return(n??i)?.label}function se(e){return r.data.projects.find(t=>t.id===e.projectId)?.canEdit??!1}async function X(e,t){if(e.headers.get(`content-type`)?.includes(`application/json`)){let n=await e.json().catch(()=>null);return n?.message||n?.error?.message||`${t} (${e.status})`}return`${t} (${e.status})`}async function ce(e,t){O(R,e,!0);try{let n=await fetch(`/api/definitions/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});n.ok?($.success(`Definition saved`),O(C,null),O(S,null),await Y()):$.error(await X(n,`Save failed`))}catch(e){$.error(`Save failed: `+(e instanceof Error?e.message:`Unknown error`))}finally{O(R,null)}}async function le(e){let t=r.data.records.find(t=>t.guid===e);try{let n=await fetch(`/api/definitions/${e}`,{method:`DELETE`});n.ok?($.success(`"${t?.displayName??`Definition`}" deleted`),O(C,null),await Y()):$.error(await X(n,`Delete failed`))}catch{$.error(`Delete failed`)}}async function ue(e){O(I,!0);try{let t=await fetch(`/api/definitions`,{method:`POST`,body:e});if(t.ok)$.success(`"${e.get(`displayName`)}" created`),O(k,!1),await Y();else{let e=await X(t,`Failed to create definition`);throw $.error(e),Error(e)}}finally{O(I,!1)}}async function de(e){let t=await fetch(`/api/projects`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(t.ok){let n=await t.json().catch(()=>null);$.success(`Project "${e.name}" created`),await Y(),n?.id&&O(_,n.id,!0)}else throw $.error(await X(t,`Failed to create project`)),Error(`create project failed`)}async function fe(e,t){let n=await fetch(`/api/projects/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});n.ok?($.success(`Project saved`),O(T,null),await Y()):$.error(await X(n,`Failed to save project`))}async function pe(e){let t=await fetch(`/api/projects/${e}`,{method:`DELETE`});t.ok?($.success(`Project deleted`),y(_)===e&&O(_,r.data.projects.find(t=>t.id!==e)?.id??null,!0),O(D,null),O(T,null),await Y()):$.error(await X(t,`Failed to delete project`))}async function me(e,t,n){let r=await fetch(`/api/projects/${e}/members`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({userId:t,role:n})});r.ok?($.success(`Member added`),await Y()):$.error(await X(r,`Failed to add member`))}async function he(e,t,n){(await fetch(`/api/projects/${e}/members/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({role:n})})).ok?await Y():$.error(`Failed to update role`)}async function ge(e,t){(await fetch(`/api/projects/${e}/members/${t}`,{method:`DELETE`})).ok?await Y():$.error(`Failed to remove member`)}var _e=qr();a(`rqn88j`,e=>{L(()=>{P.title=`Projects`})});var ve=E(_e),ye=w(ve);en(ye,{get projects(){return r.data.projects},get records(){return r.data.records},get activeProjectId(){return y(_)},get canManageProjects(){return r.data.canManageProjects},onSelect:e=>{O(_,e,!0);let t=r.data.projects.find(t=>t.id===e);if(t){let e=new ne(c().url.search);e.set(`project`,t.slug),window.history.replaceState(null,``,`?${e}`)}},onCreate:de});var xe=z(ye,2),Se=w(xe),Ce=w(Se);{let e=e=>{var t=Gr(),n=E(t),i=e=>{Z(e,{variant:`outline`,size:`sm`,onclick:()=>O(T,y(H).id,!0),children:(e,t)=>{var n=Ur();Ae(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}})};o(n,e=>{r.data.canManageProjects&&y(H)&&e(i)});var a=z(n,2),c=e=>{Z(e,{size:`sm`,onclick:()=>O(k,!0),children:(e,t)=>{var n=Wr();Oe(E(n),{class:`mr-1.5 h-3.5 w-3.5`}),s(),J(e,n)},$$slots:{default:!0}})};o(a,e=>{y(U)&&e(c)}),J(e,t)},t=K(()=>y(H)?y(H).name:`All projects`),n=K(()=>y(H)?.description??(y(H)?void 0:`Definitions across every project in this organization.`));et(Ce,{class:`mb-0`,get eyebrow(){return y(t)},title:`Definitions`,get description(){return y(n)},actions:e,$$slots:{actions:!0}})}l(Se);var we=z(Se,2),De=w(we),ke=w(De);be(w(ke),{placeholder:`Search by name, description, tags…`,clearable:!0,get value(){return y(g)},set value(e){O(g,e,!0)}}),l(ke);var je=z(ke,2),Me=w(je);l(je);var Ne=z(je,2);Te(w(Ne),{get mode(){return y(b)},size:`sm`,onChange:e=>O(b,e,!0)}),l(Ne),l(De);var Pe=z(De,2),Fe=e=>{{let t=K(()=>y(g)?`Try adjusting your search`:`Add your first definition to get started`);tt(e,{size:`lg`,title:`No definitions found`,get description(){return y(t)}})}},We=e=>{var t=Kr();f(t,21,()=>y(B),e=>e.guid,(e,t)=>{{let n=K(()=>y(_)===null?ie(y(t).projectId):void 0),r=K(()=>y(_)===null?ae(y(t).projectId):void 0),i=K(()=>oe(y(t)));Ee(e,{get record(){return y(t)},showStatus:!0,onOpen:e=>O(S,e,!0),get projectName(){return y(n)},get projectVisibility(){return y(r)},get serverName(){return y(i)}})}}),l(t),J(e,t)},Ge=e=>{En(e,{get records(){return y(B)},get projects(){return r.data.projects},onOpen:e=>O(S,e,!0)})};o(Pe,e=>{y(B).length===0?e(Fe):y(b)===`grid`?e(We,1):e(Ge,-1)}),l(we),l(xe),l(ve);var Ke=z(ve,2),qe=e=>{{let t=K(()=>ie(y(S).projectId)),n=K(()=>se(y(S)));In(e,{get record(){return y(S)},get projectName(){return y(t)},get canEdit(){return y(n)},get showShare(){return y(h)},onClose:()=>O(S,null),onEdit:e=>{O(F,`details`),O(C,e.guid,!0),O(N,!0),O(S,null)},onShare:e=>{O(F,`shares`),O(C,e.guid,!0),O(N,!0),O(S,null)},onOpenRunner:(e,t,n)=>te(`/library/${e}${n?`?version=${n}`:t===`draft`?`?channel=draft`:``}`)})}};o(Ke,e=>{y(S)&&e(qe)});var Je=z(Ke,2),Q=e=>{var t=n();p(E(t),()=>y(F),e=>{{let t=K(()=>y(R)===y(V).guid),n=K(()=>y(N)?()=>{O(S,y(V),!0),O(C,null),O(N,!1)}:void 0);Hr(e,{get record(){return y(V)},get projects(){return r.data.projects},get computeServers(){return r.data.computeServers},get defaultComputeServerId(){return r.data.defaultComputeServerId},get isSaving(){return y(t)},get initialTab(){return y(F)},get enableSharing(){return y(h)},onClose:()=>{O(C,null),O(N,!1),O(F,`versions`)},get onBack(){return y(n)},onSave:ce,onDelete:le,onOpenRunner:(e,t,n)=>te(`/library/${e}${n?`?version=${n}`:t===`draft`?`?channel=draft`:``}`)})}}),J(e,t)};o(Je,e=>{y(V)&&e(Q)});var Ye=z(Je,2),Xe=e=>{{let t=K(()=>y(T)!==null);vn(e,{get project(){return y(q)},get users(){return r.data.users},get open(){return y(t)},onOpenChange:e=>{e||O(T,null)},onSave:fe,onDelete:e=>{O(T,null),O(D,e,!0)},onAddMember:me,onUpdateMemberRole:he,onRemoveMember:ge})}};o(Ye,e=>{y(q)&&r.data.canManageProjects&&e(Xe)});var Ze=z(Ye,2);{let e=K(()=>y(D)!==null);j(Ze,()=>Ue,(t,r)=>{r(t,{get open(){return y(e)},onOpenChange:e=>{e||O(D,null)},children:(e,t)=>{var r=n();j(E(r),()=>Ve,(e,t)=>{t(e,{children:(e,t)=>{var n=Gr(),r=E(n);j(r,()=>Re,(e,t)=>{t(e,{children:(e,t)=>{var n=Gr(),r=E(n);j(r,()=>Le,(e,t)=>{t(e,{children:(e,t)=>{s();var n=v();A(()=>d(n,`Delete "${y(re)?.name??``??``}"?`)),J(e,n)},$$slots:{default:!0}})}),j(z(r,2),()=>ze,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`This will remove the project and all member assignments. Definitions will become unassigned.`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),j(z(r,2),()=>Ie,(e,t)=>{t(e,{children:(e,t)=>{var n=Gr(),r=E(n);j(r,()=>Be,(e,t)=>{t(e,{children:(e,t)=>{s(),J(e,v(`Cancel`))},$$slots:{default:!0}})}),j(z(r,2),()=>He,(e,t)=>{t(e,{onclick:()=>y(D)&&pe(y(D)),children:(e,t)=>{s(),J(e,v(`Delete`))},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,n)},$$slots:{default:!0}})}),J(e,r)},$$slots:{default:!0}})})}var Qe=z(Ze,2);{let e=K(()=>y(H)?.canEdit?y(_):y(ee)[0]?.id),t=K(()=>y(ee).length>1);Wt(Qe,{get open(){return y(k)},get isAdding(){return y(I)},get projects(){return y(ee)},get defaultProjectId(){return y(e)},get computeServers(){return r.data.computeServers},get defaultComputeServerId(){return r.data.defaultComputeServerId},get showProjectDropdown(){return y(t)},onOpenChange:e=>O(k,e,!0),onSubmit:ue})}A(()=>d(Me,`${y(B).length??``} definition${y(B).length===1?``:`s`}`)),J(e,_e),M(),m()}export{Jr as component};
@@ -0,0 +1,6 @@
1
+ import{At as e,B as t,D as n,F as r,Ft as i,It as a,L as o,M as s,V as c,W as l,dt as u,ft as d,g as f,it as p,k as m,kt as h,lt as g,pt as _,tt as v,z as y}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as b}from"../chunks/BMx84FKI.js";import{t as x}from"../chunks/BjWOHXTN.js";import{t as S}from"../chunks/XAfNJj4O.js";import{t as C}from"../chunks/D9DFvnxj.js";import{t as w}from"../chunks/Dt77lQ3V2.js";import{n as T,t as E}from"../chunks/BN8xa1dZ2.js";var D=c(`<!> <!>`,1),O=c(`<a class="block"><!></a>`),k=c(`<div class="space-y-2"><p class="text-muted-foreground text-center text-xs">The first user to sign in becomes the platform admin.</p> <!></div>`),A=c(`<div class="text-muted-foreground flex items-center gap-2 text-xs uppercase"><div class="bg-border h-px flex-1"></div> <span>or</span> <div class="bg-border h-px flex-1"></div></div>`),j=c(`<form method="POST" action="/auth/email/start?redirectTo=%2Fadmin" class="space-y-4"><p class="text-muted-foreground text-center text-xs">Sign in via email link. Set <code>BOOTSTRAP_INSTANCE_ADMIN_EMAIL</code> in your env to control
2
+ which address becomes admin.</p> <div class="space-y-2"><!> <!></div> <!></form>`),M=c(`<form method="POST" class="space-y-4"><div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <!></form>`),N=c(`<p class="text-sm">Expected email: <code class="bg-muted rounded px-1 py-0.5"> </code></p>`),P=c(`<code>BOOTSTRAP_INSTANCE_ADMIN_EMAIL</code> is unset. Set it in <code>.env</code>, restart, and reload this page — otherwise the first
3
+ proxy-authenticated visitor would gain admin (and may not be you).`,1),F=c(`<div class="space-y-3"><p class="text-muted-foreground text-sm">This deployment authenticates via your upstream proxy (forward-auth). To claim admin, sign
4
+ in through the proxy with the email below — the first proxy-authenticated visit will be
5
+ granted instance admin automatically.</p> <!> <a href="/" class="block"><!></a></div>`),I=c(`<div class="bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8"><div class="w-full max-w-sm space-y-6"><div class="space-y-1 text-center"><h2 class="text-foreground text-2xl font-bold tracking-tight">Create Admin Account</h2> <p class="text-muted-foreground text-sm">No users found. Set up your platform admin account to get started.</p></div> <!> <!> <!> <!> <!> <!> <!></div></div>`);function L(c,L){e(L,!0);function R(e){return`/auth/supabase/start?provider=${encodeURIComponent(e)}&redirectTo=%2Fadmin`}function z(e){return{google:`Google`,github:`GitHub`,azure:`Microsoft`,gitlab:`GitLab`}[e]??e}var B=I();n(`g40i6i`,e=>{v(()=>{g.title=`Setup - ${C.data.branding.name??``}`})});var V=u(B),H=_(u(V),2),U=e=>{var n=t();m(d(n),()=>T,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=D(),r=d(n);x(r,{}),m(_(r,2),()=>E,(e,t)=>{t(e,{children:(e,t)=>{i();var n=l();p(()=>o(n,L.form.error)),y(e,n)},$$slots:{default:!0}})}),y(e,n)},$$slots:{default:!0}})}),y(e,n)};r(H,e=>{L.form?.error&&e(U)});var W=_(H,2),G=e=>{var t=k();s(_(u(t),2),16,()=>L.data.oauthProviders,e=>e,(e,t)=>{var n=O();b(u(n),{type:`button`,variant:`outline`,class:`w-full`,children:(e,n)=>{i();var r=l();p(e=>o(r,`Continue with ${e??``}`),[()=>z(t)]),y(e,r)},$$slots:{default:!0}}),a(n),p(e=>f(n,`href`,e),[()=>R(t)]),y(e,n)}),a(t),y(e,t)};r(W,e=>{L.data.oauthProviders.length>0&&e(G)});var K=_(W,2),q=e=>{y(e,A())};r(K,e=>{L.data.hasEmailLink&&L.data.oauthProviders.length>0&&e(q)});var J=_(K,2),Y=e=>{var t=j(),n=_(u(t),2),r=u(n);S(r,{for:`bootstrap-email`,children:(e,t)=>{i(),y(e,l(`Email`))},$$slots:{default:!0}}),w(_(r,2),{id:`bootstrap-email`,name:`email`,type:`email`,required:!0,placeholder:`admin@example.com`}),a(n),b(_(n,2),{type:`submit`,variant:`outline`,class:`w-full`,children:(e,t)=>{i(),y(e,l(`Email me a sign-in link`))},$$slots:{default:!0}}),a(t),y(e,t)};r(J,e=>{L.data.hasEmailLink&&e(Y)});var X=_(J,2),Z=e=>{y(e,A())};r(X,e=>{L.data.hasPasswordAuth&&(L.data.hasEmailLink||L.data.oauthProviders.length>0)&&e(Z)});var Q=_(X,2),$=e=>{var t=M(),n=u(t),r=u(n);S(r,{for:`companyName`,children:(e,t)=>{i(),y(e,l(`Company name`))},$$slots:{default:!0}}),w(_(r,2),{id:`companyName`,name:`companyName`,type:`text`,required:!0,placeholder:`Acme Corp`}),a(n);var o=_(n,2),s=u(o);S(s,{for:`displayName`,children:(e,t)=>{i(),y(e,l(`Display name`))},$$slots:{default:!0}}),w(_(s,2),{id:`displayName`,name:`displayName`,type:`text`,placeholder:`Jane Smith`}),a(o);var c=_(o,2),d=u(c);S(d,{for:`email`,children:(e,t)=>{i(),y(e,l(`Email`))},$$slots:{default:!0}}),w(_(d,2),{id:`email`,name:`email`,type:`email`,required:!0,placeholder:`admin@example.com`}),a(c);var f=_(c,2),p=u(f);S(p,{for:`password`,children:(e,t)=>{i(),y(e,l(`Password`))},$$slots:{default:!0}}),w(_(p,2),{id:`password`,name:`password`,type:`password`,required:!0,placeholder:`Min. 8 characters`}),a(f);var m=_(f,2),h=u(m);S(h,{for:`confirm`,children:(e,t)=>{i(),y(e,l(`Confirm Password`))},$$slots:{default:!0}}),w(_(h,2),{id:`confirm`,name:`confirm`,type:`password`,required:!0,placeholder:`Repeat password`}),a(m),b(_(m,2),{type:`submit`,class:`w-full`,children:(e,t)=>{i(),y(e,l(`Create Account`))},$$slots:{default:!0}}),a(t),y(e,t)};r(Q,e=>{L.data.hasPasswordAuth&&e($)});var ee=_(Q,2),te=e=>{var n=F(),s=_(u(n),2),c=e=>{var t=N(),n=_(u(t)),r=u(n,!0);a(n),a(t),p(()=>o(r,L.data.bootstrapEmail)),y(e,t)},f=e=>{var n=t();m(d(n),()=>T,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=D(),r=d(n);x(r,{}),m(_(r,2),()=>E,(e,t)=>{t(e,{children:(e,t)=>{var n=P();i(3),y(e,n)},$$slots:{default:!0}})}),y(e,n)},$$slots:{default:!0}})}),y(e,n)};r(s,e=>{L.data.bootstrapEmail?e(c):e(f,-1)});var h=_(s,2);b(u(h),{type:`button`,variant:`outline`,class:`w-full`,children:(e,t)=>{i(),y(e,l(`Continue`))},$$slots:{default:!0}}),a(h),a(n),y(e,n)},ne=e=>{var n=t();m(d(n),()=>T,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=D(),r=d(n);x(r,{}),m(_(r,2),()=>E,(e,t)=>{t(e,{children:(e,t)=>{i(),y(e,l(`No setup methods are configured. Configure password auth, email-link sign-in, or OAuth
6
+ providers before bootstrapping the first admin.`))},$$slots:{default:!0}})}),y(e,n)},$$slots:{default:!0}})}),y(e,n)};r(ee,e=>{L.data.hasProxyAuth&&!L.data.hasPasswordAuth&&!L.data.hasEmailLink&&L.data.oauthProviders.length===0?e(te):!L.data.hasPasswordAuth&&!L.data.hasEmailLink&&L.data.oauthProviders.length===0&&e(ne,1)}),a(V),a(B),y(c,B),h()}export{L as component};
@@ -0,0 +1,4 @@
1
+ import{At as e,B as t,D as n,F as r,Ft as i,G as a,It as o,K as s,L as c,M as l,Rt as u,V as d,W as f,X as p,at as m,dt as h,ft as g,gt as _,it as v,k as y,kt as b,lt as x,mt as S,nt as C,pt as w,vt as T,xt as E,z as D}from"../chunks/CL3s_3g5.js";import{i as O}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{t as k}from"../chunks/BMx84FKI.js";import{t as A}from"../chunks/BcvLMt3u.js";import{t as j}from"../chunks/Cn-AOzef.js";import{t as ee}from"../chunks/CT5oxrR3.js";import{t as te}from"../chunks/xnWCJBmG.js";import{t as M}from"../chunks/D9DFvnxj.js";import{t as ne}from"../chunks/Ot8VM1_P.js";import{t as N}from"../chunks/DNL96-hz.js";import{n as P,t as F}from"../chunks/CFFv3oN9.js";import{t as I}from"../chunks/Biu_T4Iy.js";import{n as L,t as R}from"../chunks/Ciz-tExL2.js";import{t as z}from"../chunks/Dt77lQ3V2.js";import{t as B}from"../chunks/p42Je1322.js";import{n as V}from"../chunks/35-OQSYE2.js";import{t as re}from"../chunks/DZABOdll2.js";import{t as ie}from"../chunks/DqR8kuM62.js";import"../chunks/BHKDoXDm2.js";var ae=d(`<span class="flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-800 dark:bg-green-900/30 dark:text-green-400"><!> org default</span>`),oe=d(`<button class="text-muted-foreground hover:text-destructive shrink-0 text-xs underline-offset-2 hover:underline">Clear</button>`),se=d(`<button class="text-muted-foreground hover:text-foreground shrink-0 text-xs underline-offset-2 hover:underline">Undo</button>`),ce=d(`<button type="button" class="text-muted-foreground hover:text-foreground text-xs underline-offset-2 hover:underline">Make org default</button>`),le=d(`<div class="bg-muted/30 space-y-3 rounded-lg border p-4"><div class="flex items-center justify-between"><div class="flex items-center gap-2"><!> <!></div> <!></div> <div class="grid gap-2 sm:grid-cols-2"><div class="space-y-1"><p class="text-muted-foreground text-xs">Server URL</p> <!></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">API Key (optional)</p> <div class="flex gap-1.5"><!> <!></div></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">Timeout (ms)</p> <!></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">Retries</p> <!></div></div> <!></div>`),H=d(`<!> Add server`,1),U=d(`<!> <!>`,1),ue=d(`<p class="text-warning text-xs">No global default is configured. Solves will fail until either a global default is set or
2
+ you pick an org default.</p>`),de=d(`<li class="flex items-center gap-3 px-3 py-2 text-sm"><!> <span class="font-medium"> </span> <code class="text-muted-foreground truncate font-mono text-xs"> </code> <div class="ml-auto flex items-center gap-1.5"><!> <!> <!></div></li>`),fe=d(`<ul class="divide-border divide-y rounded-md border"></ul>`),pe=d(` <code class="text-xs">ALLOW_ORG_COMPUTE_OVERRIDE</code> if you need to bring your own compute.`,1),me=d(`<div class="space-y-6"><!> <!> <!> <!></div>`);function W(a,d){e(d,!0);let W=(e,t=u,n=u)=>{var a=le(),c=h(a),l=h(c),d=h(l);z(d,{placeholder:`label`,get value(){return t().label},oninput:e=>{let n=e.target;t().label=n.value.toLowerCase().replace(/[^a-z0-9_-]/g,``),n.value=t().label,_(X,!0)},class:`h-7 w-32 font-mono text-xs`});var f=w(d,2),m=e=>{var t=ae();ee(h(t),{class:`h-3 w-3`}),i(),o(t),D(e,t)};r(f,e=>{t().id===p(J)&&e(m)}),o(l),k(w(l,2),{variant:`ghost`,size:`sm`,onclick:()=>_e(n()),class:`text-destructive hover:text-destructive h-7 w-7 p-0`,children:(e,t)=>{te(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}}),o(c);var g=w(c,2),v=h(g);z(w(h(v),2),{placeholder:`http://localhost:5000`,oninput:()=>_(X,!0),class:`font-mono text-xs`,get value(){return t().serverUrl},set value(e){t().serverUrl=e}}),o(v);var y=w(v,2),b=w(h(y),2),x=h(b);{let e=E(()=>t().hasApiKey&&t().apiKey!==K&&!t().apiKey?`Key set - enter new value to replace`:t().apiKey===K?`Key will be cleared on save`:``),n=E(()=>t().apiKey===K?``:t().apiKey),r=E(()=>t().apiKey===K);z(x,{type:`password`,get placeholder(){return p(e)},get value(){return p(n)},get disabled(){return p(r)},oninput:e=>{t().apiKey=e.target.value,_(X,!0)},class:`font-mono text-xs`})}var S=w(x,2),C=e=>{var n=oe();s(`click`,n,()=>{t().apiKey=K,_(X,!0)}),D(e,n)},T=e=>{var n=se();s(`click`,n,()=>t().apiKey=``),D(e,n)};r(S,e=>{t().hasApiKey&&t().apiKey!==K&&!t().apiKey?e(C):t().apiKey===K&&e(T,1)}),o(b),o(y);var O=w(y,2);z(w(h(O),2),{type:`number`,placeholder:`30000`,oninput:()=>_(X,!0),onblur:()=>{t().timeoutMs=Math.min(3e5,Math.max(1e3,Number(t().timeoutMs)||3e4))},class:`text-xs`,get value(){return t().timeoutMs},set value(e){t().timeoutMs=e}}),o(O);var A=w(O,2);z(w(h(A),2),{type:`number`,placeholder:`0`,oninput:()=>_(X,!0),onblur:()=>{t().retryCount=Math.min(5,Math.max(0,Number(t().retryCount)||0))},class:`text-xs`,get value(){return t().retryCount},set value(e){t().retryCount=e}}),o(A),o(g);var j=w(g,2),M=e=>{var n=ce();s(`click`,n,()=>{_(J,t().id,!0),_(X,!0)}),D(e,n)};r(j,e=>{t().id!==p(J)&&e(M)}),o(a),D(e,a)},G=E(()=>M.data.branding.name),K=`__clear__`,q=T(S([])),J=T(``),Y=T(!1),X=T(!1);m(()=>{p(X)||(_(q,d.data.ownServers.map(e=>({id:e.id,label:e.label,serverUrl:e.serverUrl,timeoutMs:e.timeoutMs??3e4,retryCount:e.retryCount??0,apiKey:``,hasApiKey:e.hasApiKey})),!0),_(J,d.data.orgDefaultServerId??``,!0))});let he=E(()=>d.data.catalog.find(e=>e.id===d.data.globalDefaultServerId)?.label??`(none configured)`),ge=E(()=>[{id:``,label:`Use global default — ${p(he)}`},...d.data.catalog.map(e=>({id:e.id,label:`${e.label} ${e.source===`org`?`(your org)`:e.isGlobalDefault?`(global default)`:`(platform)`}`}))]);function Z(){d.data.overrideEnabled&&(_(q,[...p(q),{id:ie(),label:`org-server`,serverUrl:`http://localhost:5000`,timeoutMs:3e4,retryCount:0,apiKey:``,hasApiKey:!1}],!0),_(X,!0))}function _e(e){let t=p(q)[e];_(q,p(q).filter((t,n)=>n!==e),!0),p(J)===t.id&&_(J,``),_(X,!0)}async function ve(){_(Y,!0);try{let e={defaultServerId:p(J)===``?null:p(J),servers:p(q).map(({apiKey:e,hasApiKey:t,retryCount:n,timeoutMs:r,...i})=>({...i,timeoutMs:Math.min(3e5,Math.max(1e3,Number(r)||3e4)),...e===K?{apiKey:null}:e?{apiKey:e}:{},...Number(n)?{retryCount:Math.min(5,Math.max(0,Number(n)))}:{}}))},t=await fetch(`/api/org/compute`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(t.ok)V.success(`Compute settings saved`),await O(),_(X,!1);else{let e=await t.json().catch(()=>({error:`Unknown error`}));V.error(e.message||e.error||`Failed to save (${t.status})`)}}catch{V.error(`Failed to save compute settings`)}finally{_(Y,!1)}}var Q=me();n(`t08wys`,e=>{C(()=>{x.title=`Team · Compute`})});var $=h(Q);ne($,{eyebrow:`Team`,title:`Compute`,get description(){return`Compute servers available to this organization. Platform servers are managed by ${p(G)??``} staff and shown read-only; you can add your own org-private servers and pick which server is your org's default.`},actions:e=>{var t=U(),n=g(t),a=e=>{k(e,{variant:`outline`,size:`sm`,onclick:Z,children:(e,t)=>{var n=H();A(g(n),{class:`mr-1.5 h-3.5 w-3.5`}),i(),D(e,n)},$$slots:{default:!0}})};r(n,e=>{d.data.overrideEnabled&&e(a)});var o=w(n,2);{let e=E(()=>p(Y)||!p(X));k(o,{size:`sm`,onclick:ve,get disabled(){return p(e)},children:(e,t)=>{i();var n=f();v(()=>c(n,p(Y)?`Saving…`:`Save`)),D(e,n)},$$slots:{default:!0}})}D(e,t)},$$slots:{actions:!0}});var ye=w($,2);y(ye,()=>P,(e,t)=>{t(e,{children:(e,t)=>{var n=U(),a=g(n);y(a,()=>L,(e,t)=>{t(e,{children:(e,t)=>{var n=U(),r=g(n);y(r,()=>R,(e,t)=>{t(e,{class:`text-sm font-medium`,children:(e,t)=>{i(),D(e,f(`Org default`))},$$slots:{default:!0}})}),y(w(r,2),()=>I,(e,t)=>{t(e,{children:(e,t)=>{i(),D(e,f(`The server new definitions in this org use unless they're pinned to a specific one. Picks
3
+ from any server visible to your org. Leave on "Use global default" to inherit the
4
+ platform-wide pick.`))},$$slots:{default:!0}})}),D(e,n)},$$slots:{default:!0}})}),y(w(a,2),()=>F,(e,t)=>{t(e,{class:`space-y-2`,children:(e,t)=>{var n=U(),i=g(n);re(i,{class:`max-w-md`,get items(){return p(ge)},get value(){return p(J)},onChange:e=>{_(J,e,!0),_(X,!0)}});var a=w(i,2),o=e=>{D(e,ue())};r(a,e=>{p(J)===``&&d.data.globalDefaultServerId===null&&e(o)}),D(e,n)},$$slots:{default:!0}})}),D(e,n)},$$slots:{default:!0}})});var be=w(ye,2);y(be,()=>P,(e,n)=>{n(e,{children:(e,n)=>{var a=U(),s=g(a);y(s,()=>L,(e,t)=>{t(e,{children:(e,t)=>{var n=U(),r=g(n);y(r,()=>R,(e,t)=>{t(e,{class:`text-sm font-medium`,children:(e,t)=>{i(),D(e,f(`Available servers`))},$$slots:{default:!0}})}),y(w(r,2),()=>I,(e,t)=>{t(e,{children:(e,t)=>{i();var n=f();v(()=>c(n,`Every server visible to this organization. Platform rows are managed by ${p(G)??``} staff.`)),D(e,n)},$$slots:{default:!0}})}),D(e,n)},$$slots:{default:!0}})}),y(w(s,2),()=>F,(e,n)=>{n(e,{children:(e,n)=>{var a=t(),s=g(a),u=e=>{N(e,{size:`sm`,get icon(){return j},title:`No servers visible`,get description(){return`No platform server is shared with this org and no global default is configured. Ask a ${p(G)??``} admin to share a server or set a global default.`}})},m=e=>{var t=fe();l(t,21,()=>d.data.catalog,e=>e.id,(e,t)=>{var n=de(),a=h(n);j(a,{class:`text-muted-foreground h-3.5 w-3.5 shrink-0`});var s=w(a,2),l=h(s,!0);o(s);var u=w(s,2),m=h(u,!0);o(u);var g=w(u,2),_=h(g),y=e=>{B(e,{variant:`outline`,class:`text-[10px]`,children:(e,t)=>{i(),D(e,f(`your org`))},$$slots:{default:!0}})},b=e=>{B(e,{variant:`outline`,class:`text-[10px]`,children:(e,t)=>{i(),D(e,f(`platform`))},$$slots:{default:!0}})};r(_,e=>{p(t).source===`org`?e(y):e(b,-1)});var x=w(_,2),S=e=>{B(e,{variant:`outline`,class:`text-[10px]`,children:(e,t)=>{i(),D(e,f(`global default`))},$$slots:{default:!0}})};r(x,e=>{p(t).isGlobalDefault&&e(S)});var C=w(x,2),T=e=>{B(e,{variant:`outline`,class:`text-[10px]`,children:(e,t)=>{i(),D(e,f(`org default`))},$$slots:{default:!0}})};r(C,e=>{p(t).id===d.data.orgDefaultServerId&&e(T)}),o(g),o(n),v(()=>{c(l,p(t).label),c(m,p(t).serverUrl)}),D(e,n)}),o(t),D(e,t)};r(s,e=>{d.data.catalog.length===0?e(u):e(m,-1)}),D(e,a)},$$slots:{default:!0}})}),D(e,a)},$$slots:{default:!0}})}),y(w(be,2),()=>P,(e,n)=>{n(e,{children:(e,n)=>{var a=U(),o=g(a);y(o,()=>L,(e,n)=>{n(e,{children:(e,n)=>{var a=U(),o=g(a);y(o,()=>R,(e,t)=>{t(e,{class:`text-sm font-medium`,children:(e,t)=>{i(),D(e,f(`Your org's servers`))},$$slots:{default:!0}})}),y(w(o,2),()=>I,(e,n)=>{n(e,{children:(e,n)=>{var a=t(),o=g(a),s=e=>{D(e,f(`Compute servers managed by your org. Visible only to members of this organization.`))},l=e=>{var t=pe(),n=g(t);i(2),v(()=>c(n,`Org-private servers are disabled on this ${p(G)??``} instance. Ask the platform admin to flip `)),D(e,t)};r(o,e=>{d.data.overrideEnabled?e(s):e(l,-1)}),D(e,a)},$$slots:{default:!0}})}),D(e,a)},$$slots:{default:!0}})}),y(w(o,2),()=>F,(e,n)=>{n(e,{class:`space-y-3`,children:(e,n)=>{var a=t(),o=g(a),s=e=>{N(e,{size:`sm`,get icon(){return j},title:`Org-private servers disabled`,get description(){return`This ${p(G)??``} instance does not allow per-org compute servers.`}})},c=e=>{N(e,{size:`sm`,get icon(){return j},title:`No org-private servers yet`,actions:e=>{k(e,{variant:`outline`,size:`sm`,onclick:Z,children:(e,t)=>{var n=H();A(g(n),{class:`mr-1.5 h-3.5 w-3.5`}),i(),D(e,n)},$$slots:{default:!0}})},$$slots:{actions:!0}})},u=e=>{var n=t();l(g(n),19,()=>p(q),e=>e.id,(e,t,n)=>{W(e,()=>p(t),()=>p(n))}),D(e,n)};r(o,e=>{!d.data.overrideEnabled&&p(q).length===0?e(s):p(q).length===0?e(c,1):e(u,-1)}),D(e,a)},$$slots:{default:!0}})}),D(e,a)},$$slots:{default:!0}})}),o(Q),D(a,Q),b()}a([`click`]);export{W as component};
@@ -0,0 +1,4 @@
1
+ import{At as e,B as t,C as n,D as r,F as i,Ft as a,G as o,It as s,K as c,L as l,M as u,V as d,W as f,X as p,_ as m,b as h,dt as g,ft as _,g as v,gt as y,h as ee,it as b,k as x,kt as S,lt as C,mt as w,nt as T,pt as E,vt as D,x as te,xt as O,y as ne,z as k}from"../chunks/CL3s_3g5.js";import{i as A}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{t as j}from"../chunks/BMx84FKI.js";import{a as re,n as ie,r as M,t as N}from"../chunks/B3_WmU5u.js";import{t as ae}from"../chunks/DOfEstn5.js";import{t as oe}from"../chunks/xnWCJBmG.js";import{t as P}from"../chunks/CGtjofto.js";import{t as F}from"../chunks/UeEPBo0V.js";import{t as I}from"../chunks/Ot8VM1_P.js";import{t as se}from"../chunks/DNL96-hz.js";import{n as L,t as R}from"../chunks/CFFv3oN9.js";import{t as ce}from"../chunks/Biu_T4Iy.js";import{n as le,t as ue}from"../chunks/Ciz-tExL2.js";import{t as de}from"../chunks/Dt77lQ3V2.js";import{n as z}from"../chunks/35-OQSYE2.js";import"../chunks/BHKDoXDm2.js";var fe=d(`<!> Invite member`,1),pe=d(`<option> </option>`),me=d(`<p class="text-muted-foreground mb-2 text-xs"> <span class="font-mono">member</span> to grant a custom subset.</p>`),he=d(`<label><input type="checkbox"/> </label>`),ge=d(`<div><p class="text-sm font-medium">Invite member</p> <p class="text-muted-foreground text-xs">The invitee sets their own credentials when they open the link. No password leaves
2
+ your machine.</p></div> <div class="grid gap-3 sm:grid-cols-2"><!> <select class="border-input bg-background h-9 rounded-md border px-3 text-sm"></select></div> <div><p class="mb-2 text-xs font-medium">Permissions</p> <!> <div class="flex flex-wrap gap-3"></div></div> <div class="flex gap-2"><!> <!></div>`,1),_e=d(`<!> Copy`,1),ve=d(`<div class="border-success/30 bg-success/5 flex items-start gap-3 rounded-lg border p-4"><div class="min-w-0 flex-1"><p class="text-sm font-medium">Invite ready — copy the link and share it</p> <p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p></div> <!> <!></div>`),B=d(`<!> <!>`,1),ye=d(`<select></select>`),be=d(`<span> </span>`),xe=d(`<label class="flex cursor-pointer items-center gap-1.5 text-xs"><input type="checkbox"/> </label>`),Se=d(`<span class="bg-muted text-muted-foreground rounded-full px-2 py-0.5 font-mono text-[10px]"> </span>`),Ce=d(`<div class="mt-2 flex flex-wrap gap-3"></div>`),we=d(`<p class="text-muted-foreground mt-2 text-xs"> </p>`),Te=d(`<div class="px-4 py-3"><div class="flex items-start justify-between gap-4"><div class="min-w-0 flex-1"><div class="flex items-center gap-2"><p class="truncate text-sm font-medium"> </p> <!></div> <p class="text-muted-foreground text-xs"><!></p></div></div> <!></div>`),V=d(`<div class="divide-y rounded-lg border"></div>`),Ee=d(`<div class="flex items-center justify-between gap-4 px-4 py-3"><div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs"> </p></div> <!></div>`),De=d(`<!> <!> <!> <!>`,1),Oe=d(`<div class="space-y-6"><!> <!></div>`);function H(o,d){e(d,!0);let H=O(()=>d.data.actorRole===`owner`),U=O(()=>d.data.actorRole===`owner`||d.data.actorRole===`admin`),ke=O(()=>d.data.members.filter(e=>e.role===`owner`).length),W=D(null);async function Ae(e,t){if(d.data.orgId){y(W,e,!0);try{let n=await fetch(`/api/orgs/${d.data.orgId}/members/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(n.ok)z.success(`Updated`),await A();else{let e=await n.json().catch(()=>({}));z.error(e.message||e.error||`Update failed`)}}catch{z.error(`Update failed`)}finally{y(W,null)}}}function je(e,t){e.role!==t&&Ae(e.userId,{role:t})}function Me(e,t,n){let r=n?Array.from(new Set([...e.permissions,t])):e.permissions.filter(e=>e!==t);Ae(e.userId,{permissions:r})}let Ne=[`owner`,`admin`,`member`],G={manage_org_members:`Manage members`,manage_org_compute:`Manage compute`,manage_definitions:`Manage definitions`,manage_projects:`Manage projects`},Pe={owner:`border-amber-500/40 text-amber-600 dark:text-amber-400`,admin:`border-blue-500/40 text-blue-600 dark:text-blue-400`,member:`border-border text-muted-foreground`},K=D(!1),q=D(``),J=D(`member`),Y=D(w([])),X=D(!1),Z=D(null),Q=D(null),Fe=O(()=>p(J)===`member`?N.filter(e=>!M.includes(e)):[...N]);function Ie(e,t){y(Y,t?[...p(Y),e]:p(Y).filter(t=>t!==e),!0)}async function Le(){y(X,!0);try{let e=await fetch(`/api/invites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:p(q),orgRole:p(J),permissions:p(Y)})});if(e.ok){let{acceptUrl:t}=await e.json();y(Z,t,!0),z.success(`Invite created for ${p(q)}`),y(q,``),y(J,`member`),y(Y,[],!0),y(K,!1),await A()}else{let t=await e.json().catch(()=>({error:`Unknown error`}));z.error(t.message||t.error||`Failed to create invite`)}}catch{z.error(`Failed to create invite`)}finally{y(X,!1)}}async function Re(e,t){if(confirm(`Revoke invite for "${t}"?`)){y(Q,e,!0);try{(await fetch(`/api/invites/${e}`,{method:`DELETE`})).ok?(z.success(`Invite revoked`),await A()):z.error(`Failed to revoke invite`)}catch{z.error(`Failed to revoke invite`)}finally{y(Q,null)}}}var $=Oe();r(`1mgom9i`,e=>{T(()=>{C.title=`Team · Members`})});var ze=g($);{let e=e=>{var n=t(),r=_(n),o=e=>{{let t=O(()=>p(K)?`outline`:`default`);j(e,{onclick:()=>y(K,!p(K)),get variant(){return p(t)},children:(e,t)=>{var n=fe();ae(_(n),{class:`mr-2 h-4 w-4`}),a(),k(e,n)},$$slots:{default:!0}})}};i(r,e=>{d.data.orgId&&e(o)}),k(e,n)},n=O(()=>d.data.orgId?`${d.data.members.length} member${d.data.members.length===1?``:`s`} in this organization.`:`No active organization. Switch orgs from the user menu.`);I(ze,{eyebrow:`Team`,title:`Members & roles`,get description(){return p(n)},actions:e,$$slots:{actions:!0}})}var Be=E(ze,2),Ve=e=>{var r=De(),o=_(r),S=e=>{var r=t();x(_(r),()=>L,(e,r)=>{r(e,{children:(e,r)=>{var o=t();x(_(o),()=>R,(e,t)=>{t(e,{class:`space-y-3 pt-6`,children:(e,t)=>{var r=ge(),o=E(_(r),2),d=g(o);de(d,{type:`email`,placeholder:`Email`,get value(){return p(q)},set value(e){y(q,e,!0)}});var h=E(d,2);u(h,20,()=>Ne,e=>e,(e,t)=>{var n=pe(),r=g(n,!0);s(n);var i={};b(()=>{l(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),k(e,n)}),s(h),s(o);var v=E(o,2),x=E(g(v),2),S=e=>{var t=me(),n=g(t);a(2),s(t),b(()=>l(n,`${p(J)===`owner`?`Owners`:`Admins`} automatically receive all organization
3
+ permissions. Pick `)),k(e,t)};i(x,e=>{p(J)!==`member`&&e(S)});var C=E(x,2);u(C,20,()=>p(Fe),e=>e,(e,t)=>{let r=O(()=>p(J)!==`member`);var i=he(),a=g(i);ee(a);var o=E(a);s(i),b(e=>{n(i,1,`flex items-center gap-1.5 text-xs ${p(r)?`cursor-not-allowed opacity-60`:`cursor-pointer`}`),m(a,e),a.disabled=p(r),l(o,` ${G[t]??``}`)},[()=>p(r)||p(Y).includes(t)]),c(`change`,a,e=>Ie(t,e.target.checked)),k(e,i)}),s(C),s(v);var w=E(v,2),T=g(w);{let e=O(()=>p(X)||!p(q));j(T,{onclick:Le,get disabled(){return p(e)},children:(e,t)=>{a();var n=f();b(()=>l(n,p(X)?`Creating…`:`Create invite`)),k(e,n)},$$slots:{default:!0}})}j(E(T,2),{variant:`outline`,onclick:()=>y(K,!1),children:(e,t)=>{a(),k(e,f(`Cancel`))},$$slots:{default:!0}}),s(w),ne(h,()=>p(J),e=>y(J,e)),k(e,r)},$$slots:{default:!0}})}),k(e,o)},$$slots:{default:!0}})}),k(e,r)};i(o,e=>{p(K)&&e(S)});var C=E(o,2),w=e=>{var t=ve(),n=g(t),r=E(g(n),2),i=g(r,!0);s(r),s(n);var o=E(n,2);j(o,{size:`sm`,variant:`outline`,onclick:async()=>{try{await navigator.clipboard.writeText(p(Z)),z.success(`Invite link copied`)}catch{z.error(`Could not copy to clipboard`)}},children:(e,t)=>{var n=_e();re(_(n),{class:`mr-1.5 h-3.5 w-3.5`}),a(),k(e,n)},$$slots:{default:!0}}),j(E(o,2),{size:`sm`,variant:`ghost`,onclick:()=>y(Z,null),children:(e,t)=>{F(e,{class:`h-4 w-4`})},$$slots:{default:!0}}),s(t),b(()=>l(i,p(Z))),k(e,t)};i(C,e=>{p(Z)&&e(w)});var T=E(C,2);x(T,()=>L,(e,r)=>{r(e,{children:(e,r)=>{var o=B(),y=_(o);x(y,()=>le,(e,t)=>{t(e,{children:(e,t)=>{var n=B(),r=_(n);x(r,()=>ue,(e,t)=>{t(e,{class:`text-sm font-medium`,children:(e,t)=>{a(),k(e,f(`Roster`))},$$slots:{default:!0}})}),x(E(r,2),()=>ce,(e,t)=>{t(e,{children:(e,t)=>{a();var n=f();b(()=>l(n,`Roles and per-member permissions.${p(H)?` You can change roles and permissions.`:p(U)?` You can grant member permissions; only the owner can change roles.`:``}`)),k(e,n)},$$slots:{default:!0}})}),k(e,n)},$$slots:{default:!0}})}),x(E(y,2),()=>R,(e,r)=>{r(e,{children:(e,r)=>{var a=t(),o=_(a),y=e=>{se(e,{get icon(){return P},title:`No members yet`,description:`Invite teammates to get started.`})},x=e=>{var r=V();u(r,21,()=>d.data.members,e=>e.userId,(e,r)=>{let a=O(()=>p(r).userId===d.data.actorUserId),o=O(()=>p(r).role===`owner`&&p(ke)===1),y=O(()=>p(H)&&!p(a)&&!p(o)),x=O(()=>p(U)&&p(r).role===`member`);var S=Te(),C=g(S),w=g(C),T=g(w),D=g(T),ne=g(D,!0);s(D);var A=E(D,2),j=e=>{var t=ye();u(t,20,()=>Ne,e=>e,(e,t)=>{var n=pe(),r=g(n,!0);s(n);var i={};b(()=>{l(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),k(e,n)}),s(t);var i;h(t),b(()=>{t.disabled=p(W)===p(r).userId,n(t,1,`border-input bg-background h-6 rounded-md border px-1.5 font-mono text-[10px] tracking-wide uppercase ${Pe[p(r).role]}`),i!==(i=p(r).role)&&(t.value=(t.__value=p(r).role)??``,te(t,p(r).role))}),c(`change`,t,e=>je(p(r),e.target.value)),k(e,t)},re=e=>{var t=be(),i=g(t,!0);s(t),b(()=>{n(t,1,`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${Pe[p(r).role]}`),v(t,`title`,p(o)?`Sole owner — promote another member to owner before changing this role.`:p(a)?`You cannot change your own role.`:void 0),l(i,p(r).role)}),k(e,t)};i(A,e=>{p(y)?e(j):e(re,-1)}),s(T);var N=E(T,2),ae=g(N),oe=e=>{var t=f();b(e=>l(t,`Joined ${e??``}`),[()=>new Date(p(r).joinedAt).toLocaleDateString()]),k(e,t)},P=e=>{var t=f();b(e=>l(t,`Invited ${e??``} · never signed in`),[()=>new Date(p(r).joinedAt).toLocaleDateString()]),k(e,t)};i(ae,e=>{p(r).lastLoginAt?e(oe):e(P,-1)}),s(N),s(w),s(C);var F=E(C,2),I=e=>{var n=Ce();u(n,20,()=>ie,e=>e,(e,n)=>{let a=O(()=>p(r).permissions.includes(n));var o=t(),u=_(o),d=e=>{var t=xe(),i=g(t);ee(i);var o=E(i);s(t),b(()=>{m(i,p(a)),i.disabled=p(W)===p(r).userId,l(o,` ${G[n]??n??``}`)}),c(`change`,i,e=>Me(p(r),n,e.target.checked)),k(e,t)},f=e=>{var t=Se(),r=g(t,!0);s(t),b(()=>l(r,G[n]??n)),k(e,t)};i(u,e=>{p(x)?e(d):p(a)&&e(f,1)}),k(e,o)}),s(n),k(e,n)},se=e=>{var t=we(),n=g(t);s(t),b(()=>l(n,`${p(r).role===`owner`?`Owners`:`Admins`} hold all organization permissions
4
+ by default.`)),k(e,t)};i(F,e=>{p(r).role===`member`?e(I):M.length>0&&e(se,1)}),s(S),b(()=>l(ne,p(r).email??p(r).displayName??p(r).userId)),k(e,S)}),s(r),k(e,r)};i(o,e=>{d.data.members.length===0?e(y):e(x,-1)}),k(e,a)},$$slots:{default:!0}})}),k(e,o)},$$slots:{default:!0}})});var D=E(T,2),A=e=>{var n=t();x(_(n),()=>L,(e,t)=>{t(e,{children:(e,t)=>{var n=B(),r=_(n);x(r,()=>le,(e,t)=>{t(e,{children:(e,t)=>{var n=B(),r=_(n);x(r,()=>ue,(e,t)=>{t(e,{class:`text-sm font-medium`,children:(e,t)=>{a(),k(e,f(`Invites`))},$$slots:{default:!0}})}),x(E(r,2),()=>ce,(e,t)=>{t(e,{children:(e,t)=>{a();var n=f();b((e,t)=>l(n,`${e??``} pending, ${t??``} accepted`),[()=>d.data.invites.filter(e=>!e.acceptedAt).length,()=>d.data.invites.filter(e=>e.acceptedAt).length]),k(e,n)},$$slots:{default:!0}})}),k(e,n)},$$slots:{default:!0}})}),x(E(r,2),()=>R,(e,t)=>{t(e,{children:(e,t)=>{var n=V();u(n,21,()=>d.data.invites,e=>e.id,(e,t)=>{let n=O(()=>Date.parse(p(t).expiresAt)<=Date.now()),r=O(()=>p(t).acceptedAt?`Accepted`:p(n)?`Expired`:`Pending`);var a=Ee(),o=g(a),c=g(o),u=g(c,!0);s(c);var d=E(c,2),f=g(d);s(d),s(o);var m=E(o,2),h=e=>{{let n=O(()=>p(Q)===p(t).id);j(e,{size:`sm`,variant:`ghost`,get disabled(){return p(n)},onclick:()=>Re(p(t).id,p(t).email),class:`text-destructive hover:text-destructive`,children:(e,t)=>{oe(e,{class:`h-4 w-4`})},$$slots:{default:!0}})}};i(m,e=>{!p(t).acceptedAt&&!p(n)&&e(h)}),s(a),b(e=>{l(u,p(t).email),l(f,`${p(r)??``} · ${p(t).orgRole??``} · expires ${e??``}`)},[()=>new Date(p(t).expiresAt).toLocaleDateString()]),k(e,a)}),s(n),k(e,n)},$$slots:{default:!0}})}),k(e,n)},$$slots:{default:!0}})}),k(e,n)};i(D,e=>{d.data.invites.length>0&&e(A)}),k(e,r)};i(Be,e=>{d.data.orgId&&e(Ve)}),s($),k(o,$),S()}o([`change`]);export{H as component};
@@ -0,0 +1,2 @@
1
+ import{At as e,B as t,C as n,D as r,F as i,Ft as a,It as o,L as s,M as c,Rt as l,V as u,W as d,X as f,dt as p,ft as m,g as h,gt as g,it as _,k as v,kt as y,lt as b,nt as x,o as S,pt as C,s as w,vt as T,xt as E,y as D,z as O}from"../chunks/CL3s_3g5.js";import{i as k}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{i as A}from"../chunks/D3VSOnNo.js";import{t as j}from"../chunks/BMx84FKI.js";import{t as M}from"../chunks/BGDynKNS.js";import{t as ee}from"../chunks/BcvLMt3u.js";import{t as te}from"../chunks/xnWCJBmG.js";import{a as ne,c as re,i as ie,n as ae,o as oe,r as se,s as N,t as P}from"../chunks/B4n-OjCm.js";import{t as F}from"../chunks/Ot8VM1_P.js";import{t as I}from"../chunks/DNL96-hz.js";import{n as L,t as R}from"../chunks/CFFv3oN9.js";import{t as z}from"../chunks/Dt77lQ3V2.js";import{n as B}from"../chunks/35-OQSYE2.js";import{t as V}from"../chunks/B7wd2Kj42.js";import"../chunks/BHKDoXDm2.js";var H=new Set([`$$slots`,`$$events`,`$$legacy`]);function ce(e,t){let n=S(t,H),r=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]];A(e,w({name:`external-link`},()=>n,{get iconNode(){return r}}))}var le=u(`<!> New project`,1),ue=u(`<option> </option>`),de=u(`<div><p class="text-sm font-medium">New project</p> <p class="text-muted-foreground text-xs">Visibility can be changed later. Public requires the platform flag.</p></div> <div class="grid gap-3 sm:grid-cols-2"><!> <select class="border-input bg-background h-9 rounded-md border px-3 text-sm"></select></div> <!> <div class="flex gap-2"><!> <!></div>`,1),fe=u(`<div class="min-w-0"><div class="flex items-center gap-2"><a class="truncate text-sm font-medium hover:underline"> </a> <a class="text-muted-foreground hover:text-foreground" aria-label="Open project"><!></a></div> <p class="text-muted-foreground truncate font-mono text-xs"> </p></div> <span> </span> <span class="text-right font-mono text-sm tabular-nums"> </span> <span class="text-muted-foreground text-right text-xs"> </span> <div class="flex justify-end"><!></div>`,1),pe=u(`<strong> </strong> will be removed from view immediately. Permanent deletion
2
+ happens after the retention window.`,1),U=u(`<!> <!>`,1),me=u(`<div class="space-y-6"><!> <!> <!></div> <!>`,1);function W(u,S){e(S,!0);let w={public:`border-success/40 text-success`,org:`border-blue-500/40 text-blue-600 dark:text-blue-400`,private:`border-border text-muted-foreground`},A=[`private`,`org`,`public`],H=T(!1),W=T(``),G=T(``),K=T(`private`),q=T(!1),J=T(null),Y=T(null);async function he(){g(q,!0);try{let e=await fetch(`/api/projects`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:f(W),description:f(G)||void 0,visibility:f(K)})});if(e.ok)B.success(`Project "${f(W)}" created`),g(W,``),g(G,``),g(K,`private`),g(H,!1),await k();else{let t=await e.json().catch(()=>({}));B.error(t.message||t.error||`Failed to create project`)}}catch{B.error(`Failed to create project`)}finally{g(q,!1)}}async function ge(e){g(Y,e.id,!0);try{let t=await fetch(`/api/projects/${e.id}`,{method:`DELETE`});if(t.ok)B.success(`Deleted "${e.name}"`),await k();else{let e=await t.json().catch(()=>({}));B.error(e.message||e.error||`Failed to delete project`)}}catch{B.error(`Failed to delete project`)}finally{g(Y,null),g(J,null)}}var X=me();r(`1o7kh6r`,e=>{x(()=>{b.title=`Team · Projects`})});var Z=m(X),Q=p(Z);{let e=e=>{var n=t(),r=m(n),o=e=>{{let t=E(()=>f(H)?`outline`:`default`);j(e,{onclick:()=>g(H,!f(H)),get variant(){return f(t)},children:(e,t)=>{var n=le();ee(m(n),{class:`mr-2 h-4 w-4`}),a(),O(e,n)},$$slots:{default:!0}})}};i(r,e=>{S.data.canCreate&&e(o)}),O(e,n)},n=E(()=>`${S.data.projects.length} project${S.data.projects.length===1?``:`s`} in this organization.`);F(Q,{eyebrow:`Team`,title:`Projects`,get description(){return f(n)},actions:e,$$slots:{actions:!0}})}var $=C(Q,2),_e=e=>{var n=t();v(m(n),()=>L,(e,n)=>{n(e,{children:(e,n)=>{var r=t();v(m(r),()=>R,(e,t)=>{t(e,{class:`space-y-3 pt-6`,children:(e,t)=>{var n=de(),r=C(m(n),2),i=p(r);z(i,{placeholder:`Project name`,get value(){return f(W)},set value(e){g(W,e,!0)}});var l=C(i,2);c(l,20,()=>A,e=>e,(e,t)=>{var n=ue(),r=p(n,!0);o(n);var i={};_(()=>{s(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),O(e,n)}),o(l),o(r);var u=C(r,2);z(u,{placeholder:`Description (optional)`,get value(){return f(G)},set value(e){g(G,e,!0)}});var h=C(u,2),v=p(h);{let e=E(()=>f(q)||!f(W));j(v,{onclick:he,get disabled(){return f(e)},children:(e,t)=>{a();var n=d();_(()=>s(n,f(q)?`Creating…`:`Create project`)),O(e,n)},$$slots:{default:!0}})}j(C(v,2),{variant:`outline`,onclick:()=>g(H,!1),children:(e,t)=>{a(),O(e,d(`Cancel`))},$$slots:{default:!0}}),o(h),D(l,()=>f(K),e=>g(K,e)),O(e,n)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})}),O(e,n)};i($,e=>{f(H)&&e(_e)}),v(C($,2),()=>L,(e,r)=>{r(e,{children:(e,r)=>{var a=t();v(m(a),()=>R,(e,r)=>{r(e,{class:`pt-6`,children:(e,r)=>{var a=t(),c=m(a),u=e=>{I(e,{get icon(){return M},title:`No projects yet`,description:`Create your first project to start uploading definitions.`})},d=e=>{V(e,{get rows(){return S.data.projects},getKey:e=>e.id,columns:[{label:`Project`},{label:`Visibility`,width:`120px`},{label:`Members`,width:`100px`,align:`right`},{label:`Updated`,width:`120px`,align:`right`},{label:``,width:`80px`}],row:(e,t=l)=>{var r=fe(),i=m(r),a=p(i),c=p(a),u=p(c,!0);o(c);var d=C(c,2);ce(p(d),{class:`h-3.5 w-3.5`}),o(d),o(a);var v=C(a,2),y=p(v,!0);o(v),o(i);var b=C(i,2),x=p(b,!0);o(b);var S=C(b,2),T=p(S,!0);o(S);var D=C(S,2),k=p(D,!0);o(D);var A=C(D,2),M=p(A);{let e=E(()=>f(Y)===t().id);j(M,{size:`sm`,variant:`ghost`,get disabled(){return f(e)},onclick:()=>g(J,t(),!0),class:`text-destructive hover:text-destructive h-8 w-8 p-0`,children:(e,t)=>{te(e,{class:`h-4 w-4`})},$$slots:{default:!0}})}o(A),_(e=>{h(c,`href`,`/projects?project=${t().slug}`),s(u,t().name),h(d,`href`,`/projects?project=${t().slug}`),s(y,t().slug),n(b,1,`w-fit rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${w[t().visibility]??w.private}`),s(x,t().visibility),s(T,t().memberCount),s(k,e)},[()=>new Date(t().updatedAt).toLocaleDateString()]),O(e,r)},$$slots:{row:!0}})};i(c,e=>{S.data.projects.length===0?e(u):e(d,-1)}),O(e,a)},$$slots:{default:!0}})}),O(e,a)},$$slots:{default:!0}})}),o(Z);var ve=C(Z,2);{let e=E(()=>!!f(J));v(ve,()=>P,(n,r)=>{r(n,{get open(){return f(e)},onOpenChange:e=>!e&&g(J,null),children:(e,n)=>{var r=t();v(m(r),()=>se,(e,n)=>{n(e,{children:(e,n)=>{var r=U(),c=m(r);v(c,()=>ie,(e,n)=>{n(e,{children:(e,n)=>{var r=U(),c=m(r);v(c,()=>re,(e,t)=>{t(e,{children:(e,t)=>{a(),O(e,d(`Delete this project?`))},$$slots:{default:!0}})}),v(C(c,2),()=>ae,(e,n)=>{n(e,{children:(e,n)=>{var r=t(),c=m(r),l=e=>{var t=pe(),n=m(t),r=p(n,!0);o(n),a(),_(()=>s(r,f(J).name)),O(e,t)};i(c,e=>{f(J)&&e(l)}),O(e,r)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})}),v(C(c,2),()=>ne,(e,t)=>{t(e,{children:(e,t)=>{var n=U(),r=m(n);v(r,()=>oe,(e,t)=>{t(e,{children:(e,t)=>{a(),O(e,d(`Cancel`))},$$slots:{default:!0}})});var i=C(r,2);{let e=E(()=>!!f(Y));v(i,()=>N,(t,n)=>{n(t,{onclick:()=>f(J)&&ge(f(J)),get disabled(){return f(e)},children:(e,t)=>{a();var n=d();_(()=>s(n,f(Y)?`Deleting…`:`Delete`)),O(e,n)},$$slots:{default:!0}})})}O(e,n)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})})}O(u,X),y()}export{W as component};
@@ -0,0 +1 @@
1
+ import{At as e,It as t,V as n,X as r,dt as i,kt as a,xt as o,z as s}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as c}from"../chunks/D9DFvnxj.js";import{t as l}from"../chunks/CMZsPk6c.js";var u=n(`<div class="px-6 py-6"><!></div>`);function d(n,d){e(d,!0);var f=u(),p=i(f);{let e=o(()=>c.error?.message);l(p,{get status(){return c.status},get message(){return r(e)}})}t(f),s(n,f),a()}export{d as component};
@@ -0,0 +1,2 @@
1
+ import{At as e,B as t,C as n,D as r,F as i,Ft as a,It as o,L as s,Rt as c,V as l,W as u,X as d,dt as f,ft as p,gt as m,it as h,k as g,kt as _,lt as v,nt as y,pt as b,vt as x,xt as S,z as C}from"../chunks/CL3s_3g5.js";import{i as w}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{t as T}from"../chunks/BMx84FKI.js";import{t as E}from"../chunks/B8eqaxfc2.js";import{t as D}from"../chunks/Q4vGvM2S.js";import{a as O,c as k,i as A,n as j,o as M,r as N,s as P,t as F}from"../chunks/B4n-OjCm.js";import{t as I}from"../chunks/Ot8VM1_P.js";import{t as L}from"../chunks/DNL96-hz.js";import{n as R,t as z}from"../chunks/CFFv3oN9.js";import{n as B}from"../chunks/35-OQSYE2.js";import{t as V}from"../chunks/B7wd2Kj42.js";import"../chunks/BHKDoXDm2.js";var H=l(`<!> Reclaim`,1),U=l(`<div class="min-w-0"><p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground truncate font-mono text-xs"> </p></div> <span> </span> <span class="text-right font-mono text-sm tabular-nums"> </span> <div class="flex justify-end"><!></div>`,1),W=l(`You'll be added as a co-owner of <strong> </strong>. The existing owner is
2
+ not demoted. This action is recorded in the audit log.`,1),G=l(`<!> <!>`,1),K=l(`<div class="space-y-6"><!> <!></div> <!>`,1);function q(l,q){e(q,!0);let J=x(null),Y=x(null),X={public:`border-success/40 text-success`,org:`border-blue-500/40 text-blue-600 dark:text-blue-400`,private:`border-border text-muted-foreground`};async function ee(e){m(Y,e.id,!0);try{let t=await fetch(`/api/projects/${e.id}/reclaim`,{method:`POST`});if(t.ok)B.success(`Reclaimed "${e.name}"`),await w();else{let e=await t.json().catch(()=>({}));B.error(e.message||e.error||`Failed to reclaim`)}}catch{B.error(`Failed to reclaim`)}finally{m(Y,null),m(J,null)}}var Z=K();r(`1h6uwd2`,e=>{y(()=>{v.title=`Team · Reclaim`})});var Q=p(Z),$=f(Q);I($,{eyebrow:`Organization`,title:`Reclaim project`,description:`Take co-ownership of any project in this organization. Reclaiming does not demote the existing owner — it adds you alongside them. Recorded in the audit log.`}),g(b($,2),()=>R,(e,r)=>{r(e,{children:(e,r)=>{var l=t();g(p(l),()=>z,(e,r)=>{r(e,{class:`pt-6`,children:(e,r)=>{var l=t(),u=p(l),g=e=>{L(e,{get icon(){return E},title:`No projects`,description:`No projects exist in this organization yet.`})},_=e=>{V(e,{get rows(){return q.data.projects},getKey:e=>e.id,columns:[{label:`Project`},{label:`Visibility`,width:`120px`},{label:`Members`,width:`100px`,align:`right`},{label:``,width:`100px`}],row:(e,t=c)=>{var r=U(),i=p(r),l=f(i),u=f(l,!0);o(l);var g=b(l,2),_=f(g,!0);o(g),o(i);var v=b(i,2),y=f(v,!0);o(v);var x=b(v,2),w=f(x,!0);o(x);var E=b(x,2),O=f(E);{let e=S(()=>d(Y)===t().id);T(O,{size:`sm`,variant:`outline`,get disabled(){return d(e)},onclick:()=>m(J,t(),!0),children:(e,t)=>{var n=H();D(p(n),{class:`mr-1.5 h-3.5 w-3.5`}),a(),C(e,n)},$$slots:{default:!0}})}o(E),h(()=>{s(u,t().name),s(_,t().id),n(v,1,`w-fit rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${X[t().visibility]??X.private}`),s(y,t().visibility),s(w,t().memberCount)}),C(e,r)},$$slots:{row:!0}})};i(u,e=>{q.data.projects.length===0?e(g):e(_,-1)}),C(e,l)},$$slots:{default:!0}})}),C(e,l)},$$slots:{default:!0}})}),o(Q);var te=b(Q,2);{let e=S(()=>!!d(J));g(te,()=>F,(n,r)=>{r(n,{get open(){return d(e)},onOpenChange:e=>!e&&m(J,null),children:(e,n)=>{var r=t();g(p(r),()=>N,(e,n)=>{n(e,{children:(e,n)=>{var r=G(),c=p(r);g(c,()=>A,(e,n)=>{n(e,{children:(e,n)=>{var r=G(),c=p(r);g(c,()=>k,(e,t)=>{t(e,{children:(e,t)=>{a(),C(e,u(`Reclaim this project?`))},$$slots:{default:!0}})}),g(b(c,2),()=>j,(e,n)=>{n(e,{children:(e,n)=>{var r=t(),c=p(r),l=e=>{var t=W(),n=b(p(t)),r=f(n,!0);o(n),a(),h(()=>s(r,d(J).name)),C(e,t)};i(c,e=>{d(J)&&e(l)}),C(e,r)},$$slots:{default:!0}})}),C(e,r)},$$slots:{default:!0}})}),g(b(c,2),()=>O,(e,t)=>{t(e,{children:(e,t)=>{var n=G(),r=p(n);g(r,()=>M,(e,t)=>{t(e,{children:(e,t)=>{a(),C(e,u(`Cancel`))},$$slots:{default:!0}})});var i=b(r,2);{let e=S(()=>!!d(Y));g(i,()=>P,(t,n)=>{n(t,{onclick:()=>d(J)&&ee(d(J)),get disabled(){return d(e)},children:(e,t)=>{a();var n=u();h(()=>s(n,d(Y)?`Reclaiming…`:`Reclaim`)),C(e,n)},$$slots:{default:!0}})})}C(e,n)},$$slots:{default:!0}})}),C(e,r)},$$slots:{default:!0}})}),C(e,r)},$$slots:{default:!0}})})}C(l,Z),_()}export{q as component};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,Rt as n,ft as r,z as i}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as a}from"../chunks/BG2iwmg_.js";function o(o,s){a(o,{mode:`fixed`,children:(a,o)=>{var c=t();e(r(c),()=>s.children??n),i(a,c)},$$slots:{default:!0}})}export{o as component};
@@ -0,0 +1,3 @@
1
+ @�Զi�&��L��]�hS��u`C���v��eQ��r�Ko��$?!���*6�
2
+ nmr|p1��s� <����l� ����{���Aӧ�l��W����0��"jl{�z��Q�@�Ą�4�sLUBRE�u
3
+ &l��u1�̂ �POjN~�V1C44��J�„�T��Ŷ��!%� g
@@ -0,0 +1 @@
1
+ import{A as e,At as t,B as n,Ct as r,F as i,It as a,L as o,Rt as s,V as c,X as l,dt as u,ft as d,it as f,kt as p,o as m,pt as h,s as g,wt as _,xt as v,z as y}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{i as b}from"../chunks/D3VSOnNo.js";import{t as x}from"../chunks/oI3J06TA.js";import{t as S}from"../chunks/BGDynKNS.js";import{t as C}from"../chunks/DAZNh3B6.js";import{t as w}from"../chunks/BG2iwmg_.js";import{t as T}from"../chunks/BX5J3njl.js";import{t as E}from"../chunks/Q4vGvM2S.js";import{t as D}from"../chunks/Cn-AOzef.js";import{t as O}from"../chunks/DWPCC0_6.js";import{t as k}from"../chunks/DFsxVbse.js";import{t as A}from"../chunks/Cg_4c8n32.js";var j=new Set([`$$slots`,`$$events`,`$$legacy`]);function M(e,t){let n=m(t,j),r=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]];b(e,g({name:`sliders-horizontal`},()=>n,{get iconNode(){return r}}))}var N=c(`<div class="border-border bg-accent/40 flex items-center gap-2 rounded-md border px-2.5 py-2"><span class="bg-primary/15 text-primary flex h-6 w-6 shrink-0 items-center justify-center rounded font-mono text-[11px] font-semibold"> </span> <div class="min-w-0 flex-1"><p class="truncate text-sm leading-tight font-medium"> </p> <p class="text-muted-foreground truncate font-mono text-[10px]"> </p></div></div>`),P=c(`<div class="px-(--page-px) py-(--page-py)"><!></div>`);function F(c,m){t(m,!0);let g=()=>_(A,`$page`,b),[b,j]=r(),F=v(()=>m.data.ctx?.orgPermissions??[]),I=e=>l(F).includes(e),L=v(()=>!!g().data.flags?.enableSharing),R=v(()=>[{href:`/team`,label:`General`,icon:C,show:!0},{href:`/team/members`,label:`Members & roles`,icon:O,match:`prefix`,show:I(`manage_org_members`)},{href:`/team/projects`,label:`Projects`,icon:S,match:`prefix`,show:I(`manage_projects`)},{href:`/team/reclaim`,label:`Reclaim`,icon:E,match:`prefix`,show:I(`manage_org_members`)},{href:`/team/activity`,label:`Activity`,icon:x,match:`prefix`,show:!0},{href:`/team/shares`,label:`Share links`,icon:T,match:`prefix`,show:l(L)&&I(`manage_definitions`)},{href:`/team/compute`,label:`Compute`,icon:D,match:`prefix`,show:I(`manage_org_compute`)},{href:`/team/settings`,label:`Settings`,icon:M,match:`prefix`,show:I(`manage_org_members`)}].filter(e=>e.show));function z(e){return e.split(/\s+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}w(c,{sidenav:e=>{k(e,{get items(){return l(R)},eyebrow:`Organization`,header:e=>{var t=n(),r=d(t),s=e=>{var t=N(),n=u(t),r=u(n,!0);a(n);var i=h(n,2),s=u(i),c=u(s,!0);a(s);var l=h(s,2),d=u(l,!0);a(l),a(i),a(t),f(e=>{o(r,e),o(c,m.data.org.name),o(d,m.data.org.slug)},[()=>z(m.data.org.name)]),y(e,t)};i(r,e=>{m.data.org&&e(s)}),y(e,t)},$$slots:{header:!0}})},children:(t,n)=>{var r=P();e(u(r),()=>m.children??s),a(r),y(t,r)},$$slots:{sidenav:!0,default:!0}}),p(),j()}export{F as component};
@@ -0,0 +1 @@
1
+ import{At as e,D as t,F as n,Ft as r,It as i,L as a,V as o,W as s,X as c,dt as l,it as u,kt as d,lt as f,pt as p,tt as m,xt as h,z as g}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as _}from"../chunks/BMx84FKI.js";import{t as v}from"../chunks/BG2iwmg_.js";import{t as y}from"../chunks/D9DFvnxj.js";var b=o(`<div class="flex flex-1 flex-col items-center justify-center px-4 text-center"><div class="max-w-md space-y-6"><h1 class="text-4xl font-bold tracking-tight"> </h1> <p class="text-muted-foreground text-lg"> </p> <div class="flex justify-center gap-3"><!></div></div></div>`);function x(o,x){e(x,!0);let S=h(()=>!!y.data.user),C=h(()=>y.data.branding);t(`1uha8ag`,e=>{m(()=>{f.title=c(C).name??``})}),v(o,{homeUrl:`/`,children:(e,t)=>{var o=b(),d=l(o),f=l(d),m=l(f,!0);i(f);var h=p(f,2),v=l(h,!0);i(h);var y=p(h,2),x=l(y),w=e=>{_(e,{href:`/library`,children:(e,t)=>{r(),g(e,s(`Open library`))},$$slots:{default:!0}})},T=e=>{_(e,{href:`/login`,children:(e,t)=>{r(),g(e,s(`Sign in`))},$$slots:{default:!0}})};n(x,e=>{c(S)?e(w):e(T,-1)}),i(y),i(d),i(o),u(()=>{a(m,c(C).name),a(v,c(C).tagline)}),g(e,o)},$$slots:{default:!0}}),d()}export{x as component};
@@ -0,0 +1,2 @@
1
+ import{At as e,B as t,D as n,F as r,Ft as i,It as a,L as o,V as s,W as c,dt as l,ft as u,h as d,it as f,k as p,kt as m,lt as h,pt as g,tt as _,v,z as y}from"../chunks/CL3s_3g5.js";import"../chunks/xihTtKlq.js";import{t as b}from"../chunks/BMx84FKI.js";import{t as x}from"../chunks/BjWOHXTN.js";import{t as S}from"../chunks/XAfNJj4O.js";import{t as C}from"../chunks/D9DFvnxj.js";import{t as w}from"../chunks/Dt77lQ3V2.js";import{n as T,t as E}from"../chunks/BN8xa1dZ2.js";var D=s(`<div class="space-y-1 text-center"><h2 class="text-foreground text-2xl font-bold tracking-tight">Invite unavailable</h2> <p class="text-muted-foreground text-sm"> </p></div> <div class="text-center"><a href="/login" class="text-primary text-sm underline">Go to login</a></div>`,1),O=s(`<!> <!>`,1),k=s(`Display name <span class="text-muted-foreground">(optional)</span>`,1),A=s(`<div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div>`,1),j=s(`<div class="space-y-1 text-center"><h2 class="text-foreground text-2xl font-bold tracking-tight"> </h2> <p class="text-muted-foreground text-sm">You were invited as <span class="font-medium"> </span>. <!></p></div> <form method="POST" class="space-y-4"><input type="hidden" name="token"/> <!> <!> <!></form>`,1),M=s(`<div class="bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8"><div class="w-full max-w-sm space-y-6"><!></div></div>`);function N(s,N){e(N,!0);var P=M();n(`p8b09p`,e=>{_(()=>{h.title=`Accept invite - ${C.data.branding.name??``}`})});var F=l(P),I=l(F),L=e=>{var t=D(),n=u(t),r=g(l(n),2),s=l(r,!0);a(r),a(n),i(2),f(()=>o(s,N.data.reason)),y(e,t)},R=e=>{var n=j(),s=u(n),m=l(s),h=l(m);a(m);var _=g(m,2),C=g(l(_)),D=l(C,!0);a(C);var M=g(C,2),P=e=>{y(e,c(`Click below to finish creating your account — your identity is verified by your company
2
+ sign-in.`))},F=e=>{y(e,c(`Set a password to finish creating your account.`))};r(M,e=>{N.data.mode===`proxy`?e(P):e(F,-1)}),a(_),a(s);var I=g(s,2),L=l(I);d(L);var R=g(L,2),z=e=>{var n=t();p(u(n),()=>T,(e,t)=>{t(e,{variant:`destructive`,children:(e,t)=>{var n=O(),r=u(n);x(r,{}),p(g(r,2),()=>E,(e,t)=>{t(e,{children:(e,t)=>{i();var n=c();f(()=>o(n,N.form.error)),y(e,n)},$$slots:{default:!0}})}),y(e,n)},$$slots:{default:!0}})}),y(e,n)};r(R,e=>{N.form?.error&&e(z)});var B=g(R,2),V=e=>{var t=A(),n=u(t),r=l(n);S(r,{for:`displayName`,children:(e,t)=>{i();var n=k();i(),y(e,n)},$$slots:{default:!0}}),w(g(r,2),{id:`displayName`,name:`displayName`,type:`text`,placeholder:`Your name`}),a(n);var o=g(n,2),s=l(o);S(s,{for:`password`,children:(e,t)=>{i(),y(e,c(`Password`))},$$slots:{default:!0}}),w(g(s,2),{id:`password`,name:`password`,type:`password`,required:!0,placeholder:`Min. 8 characters`}),a(o);var d=g(o,2),f=l(d);S(f,{for:`confirm`,children:(e,t)=>{i(),y(e,c(`Confirm password`))},$$slots:{default:!0}}),w(g(f,2),{id:`confirm`,name:`confirm`,type:`password`,required:!0,placeholder:`Repeat password`}),a(d),y(e,t)};r(B,e=>{N.data.mode===`password`&&e(V)}),b(g(B,2),{type:`submit`,class:`w-full`,children:(e,t)=>{i();var n=c();f(()=>o(n,N.data.mode===`proxy`?`Accept invite`:`Create account`)),y(e,n)},$$slots:{default:!0}}),a(I),f(()=>{o(h,`Join ${N.data.orgName??``}`),o(D,N.data.email),v(L,N.data.token)}),y(e,n)};r(I,e=>{N.data.ok?e(R,-1):e(L)}),a(F),a(P),y(s,P),m()}export{N as component};
@@ -0,0 +1 @@
1
+ import{At as e,B as t,D as n,F as r,Ft as i,G as a,It as o,K as s,L as c,M as l,V as u,W as d,X as f,c as p,dt as m,ft as h,g,gt as _,it as v,k as y,kt as b,lt as x,nt as S,o as C,pt as w,s as T,vt as E,xt as D,z as O}from"../chunks/CL3s_3g5.js";import{i as k}from"../chunks/qU0FhiPD.js";import"../chunks/xihTtKlq.js";import{i as A}from"../chunks/D3VSOnNo.js";import{t as j}from"../chunks/BMx84FKI.js";import{t as M}from"../chunks/CWIBiefo.js";import{t as N}from"../chunks/Cn-AOzef.js";import{t as P}from"../chunks/xnWCJBmG.js";import{t as F}from"../chunks/DWPCC0_6.js";import{t as I}from"../chunks/D9DFvnxj.js";import{t as L}from"../chunks/Ot8VM1_P.js";import{n as R,t as z}from"../chunks/CFFv3oN9.js";import{t as B}from"../chunks/Biu_T4Iy.js";import{n as V,t as H}from"../chunks/Ciz-tExL2.js";import{n as U}from"../chunks/35-OQSYE2.js";import"../chunks/BHKDoXDm2.js";import{t as W}from"../chunks/iVsN6nmV2.js";var G=new Set([`$$slots`,`$$events`,`$$legacy`]);function K(e,t){let n=C(t,G),r=[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`}],[`path`,{d:`m14 19.5 3-3 3 3`}],[`path`,{d:`M17 22v-5.5`}],[`circle`,{cx:`9`,cy:`9`,r:`2`}]];A(e,T({name:`image-up`},()=>n,{get iconNode(){return r}}))}var q=new Set([`$$slots`,`$$events`,`$$legacy`]);function J(e,t){let n=C(t,q),r=[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}]];A(e,T({name:`layout-dashboard`},()=>n,{get iconNode(){return r}}))}var Y=new Set([`$$slots`,`$$events`,`$$legacy`]);function X(e,t){let n=C(t,Y),r=[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`}],[`path`,{d:`M12 22V12`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`}],[`path`,{d:`m7.5 4.27 9 5.15`}]];A(e,T({name:`package`},()=>n,{get iconNode(){return r}}))}var Z=u(`<!> `,1),Q=u(`<!> <!>`,1),$=u(`<img class="h-full w-full object-contain"/>`),ee=u(`<!> Remove`,1),te=u(`<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>`);function ne(n,a){e(a,!0);let l=`image/png,image/jpeg,image/webp,image/gif,image/svg+xml`,u=10*1024*1024,x=D(()=>`/admin/api/orgs/${a.orgId}/assets/${a.kind}`),S=E(null),C=E(!1);async function T(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){if(!l.split(`,`).includes(n.type)){U.error(`Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.`);return}if(n.size>u){U.error(`Image too large. Max ${u/(1024*1024)} MB.`);return}_(C,!0);try{let e=new FormData;e.append(`image`,n);let t=await fetch(f(x),{method:`POST`,body:e});if(t.ok)U.success(`${a.title} updated`),await k();else{let e=await t.json().catch(()=>({}));U.error(e.message||e.error||`Upload failed (${t.status})`)}}catch{U.error(`Failed to upload`)}finally{_(C,!1)}}}async function A(){_(C,!0);try{let e=await fetch(f(x),{method:`DELETE`});e.ok?(U.success(`${a.title} removed`),await k()):U.error(`Remove failed (${e.status})`)}catch{U.error(`Failed to remove`)}finally{_(C,!1)}}var N=t();y(h(N),()=>R,(e,n)=>{n(e,{children:(e,n)=>{var u=Q(),b=h(u);y(b,()=>V,(e,n)=>{n(e,{children:(e,n)=>{var o=Q(),s=h(o);y(s,()=>H,(e,t)=>{t(e,{class:`flex items-center gap-2 text-sm font-medium`,children:(e,t)=>{var n=Z(),r=h(n);M(r,{class:`text-muted-foreground h-4 w-4`});var i=w(r);v(()=>c(i,` ${a.title??``}`)),O(e,n)},$$slots:{default:!0}})});var l=w(s,2),u=e=>{var n=t();y(h(n),()=>B,(e,t)=>{t(e,{children:(e,t)=>{i();var n=d();v(()=>c(n,a.description)),O(e,n)},$$slots:{default:!0}})}),O(e,n)};r(l,e=>{a.description&&e(u)}),O(e,o)},$$slots:{default:!0}})}),y(w(b,2),()=>z,(e,t)=>{t(e,{children:(e,t)=>{var n=te(),u=m(n),d=m(u),y=e=>{var t=$();v(()=>{g(t,`src`,a.url),g(t,`alt`,a.title)}),O(e,t)},b=e=>{M(e,{class:`text-muted-foreground/50 h-8 w-8`})};r(d,e=>{a.url?e(y):e(b,-1)}),o(u);var x=w(u,2),E=w(m(x),2),D=m(E);g(D,`accept`,l),p(D,e=>_(S,e),()=>f(S));var k=w(D,2);j(k,{variant:`outline`,size:`sm`,get disabled(){return f(C)},onclick:()=>f(S)?.click(),class:`h-8`,children:(e,t)=>{var n=Z(),r=h(n);K(r,{class:`mr-1.5 h-3.5 w-3.5`});var i=w(r);v(()=>c(i,` ${f(C)?`Working…`:a.url?`Replace`:`Upload`}`)),O(e,n)},$$slots:{default:!0}});var N=w(k,2),F=e=>{j(e,{variant:`ghost`,size:`sm`,get disabled(){return f(C)},onclick:A,class:`text-destructive hover:text-destructive h-8`,children:(e,t)=>{var n=ee();P(h(n),{class:`mr-1.5 h-3.5 w-3.5`}),i(),O(e,n)},$$slots:{default:!0}})};r(N,e=>{a.url&&e(F)}),o(E),o(x),o(n),s(`change`,D,T),O(e,n)},$$slots:{default:!0}})}),O(e,u)},$$slots:{default:!0}})}),O(n,N),b()}a([`change`]);var re=u(`<!> Installed version`,1),ie=u(`<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>`),ae=u(`<!> <!>`,1),oe=u(`<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>`);function se(a,s){e(s,!0);let u=D(()=>I.data.branding.name),d=e=>s.data.platformPermissions.includes(`instance_admin`)||s.data.platformPermissions.includes(e),p=D(()=>[{href:`/admin/users`,icon:F,value:s.data.stats.users??`—`,label:s.data.stats.users===null?`User store unavailable`:`User${s.data.stats.users===1?``:`s`}`,show:d(`manage_instance_users`)},{href:`/admin/organizations`,icon:M,value:`Organizations`,label:`All orgs on this instance`,show:d(`instance_admin`)},{href:`/admin/compute`,icon:N,value:`Compute`,label:`Servers, status & config`,show:d(`manage_compute`)},{href:`/projects`,icon:J,value:`Content`,label:`Definitions & projects`,show:d(`instance_admin`)}].filter(e=>e.show));var g=oe();n(`1jef3w8`,e=>{S(()=>{x.title=`Admin · General`})});var _=m(g);L(_,{eyebrow:`Admin`,title:`General`,get description(){return`At-a-glance health of this ${f(u)??``} instance — users, compute, and content.`}});var C=w(_,2);l(C,21,()=>f(p),e=>e.href,(e,t)=>{W(e,T(()=>f(t)))}),o(C);var E=w(C,2),k=e=>{{let t=D(()=>s.data.org.assets.logo??null);ne(e,{get orgId(){return s.data.org.id},kind:`logo`,get url(){return f(t)},title:`Company logo`,get description(){return`Upload a logo to reuse across ${f(u)??``}. Shown in the viewer header; more surfaces will pick it up.`}})}};r(E,e=>{s.data.org&&e(k)}),y(w(E,2),()=>R,(e,n)=>{n(e,{children:(e,n)=>{var r=ae(),a=h(r);y(a,()=>V,(e,n)=>{n(e,{children:(e,n)=>{var r=t();y(h(r),()=>H,(e,t)=>{t(e,{class:`flex items-center gap-2 text-sm font-medium`,children:(e,t)=>{var n=re();X(h(n),{class:`text-muted-foreground h-4 w-4`}),i(),O(e,n)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})}),y(w(a,2),()=>z,(e,t)=>{t(e,{children:(e,t)=>{var n=ie(),r=w(m(n),2),i=m(r);o(r),o(n),v(()=>c(i,`v${s.data.version??``}`)),O(e,n)},$$slots:{default:!0}})}),O(e,r)},$$slots:{default:!0}})}),o(g),O(a,g),b()}export{se as component};
@@ -1 +1 @@
1
- {"version":"1784721154371"}
1
+ {"version":"1785247491311"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -2,10 +2,10 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-C1wPoG6z.js';
5
+ export { h as handler } from './server/chunks/handler-C_oBT0th.js';
6
6
  import '@sveltejs/kit/node';
7
- import './server/chunks/index.js-CcGY6Xru.js';
8
- import './server/chunks/manifest.js-4zIU5_xF.js';
7
+ import './server/chunks/index.js-B-RhTrwV.js';
8
+ import './server/chunks/manifest.js-DbaT8xLo.js';
9
9
  import './env.js';
10
10
  import '@sveltejs/kit/node/polyfills';
11
11
  import 'node:http';
@@ -24,7 +24,7 @@ import '@sveltejs/kit';
24
24
  import '@sveltejs/kit/internal/server';
25
25
  import './server/chunks/chunks/shared-server.js-DA4m8f1m.js';
26
26
  import './server/chunks/chunks/exports.js-GeBTnchJ.js';
27
- import './server/chunks/chunks/internal2.js-DEN8UhZO.js';
27
+ import './server/chunks/chunks/internal2.js-CRTtDh_a.js';
28
28
  import './server/chunks/chunks/legacy-client.js-rpE_7V58.js';
29
29
  import './server/chunks/chunks/events.js-Dim6Jkwe.js';
30
30
  //# sourceMappingURL=handler.js.map