@selvajs/selva 4.16.0 → 4.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (913) hide show
  1. package/build/client/_app/immutable/chunks/B4-FQ3wL.js +1 -0
  2. package/build/client/_app/immutable/chunks/B4-FQ3wL.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/B4-FQ3wL.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/BB-gQ9dm.js +1 -0
  5. package/build/client/_app/immutable/chunks/BB-gQ9dm.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BB-gQ9dm.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/C41KbrhI2.js +1 -0
  8. package/build/client/_app/immutable/chunks/C41KbrhI2.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/C41KbrhI2.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/D3Y5-99i2.js +1 -0
  11. package/build/client/_app/immutable/chunks/D3Y5-99i2.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/D3Y5-99i2.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/D8XUaGYx2.js +1 -0
  14. package/build/client/_app/immutable/chunks/D8XUaGYx2.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/D8XUaGYx2.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/DxQNuZLR.js +3 -0
  17. package/build/client/_app/immutable/chunks/DxQNuZLR.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DxQNuZLR.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/XvEUYu1N.js +2 -0
  20. package/build/client/_app/immutable/chunks/XvEUYu1N.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/XvEUYu1N.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/bEuwphLD2.js +1 -0
  23. package/build/client/_app/immutable/chunks/bEuwphLD2.js.br +2 -0
  24. package/build/client/_app/immutable/chunks/bEuwphLD2.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/app.CXbXh1Sr.js +2 -0
  26. package/build/client/_app/immutable/entry/app.CXbXh1Sr.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.CXbXh1Sr.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.DvQymkgZ.js +1 -0
  29. package/build/client/_app/immutable/entry/start.DvQymkgZ.js.br +0 -0
  30. package/build/client/_app/immutable/entry/start.DvQymkgZ.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/1.DMFSyDH8.js +1 -0
  32. package/build/client/_app/immutable/nodes/1.DMFSyDH8.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.DMFSyDH8.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/11.DhbE_lWX.js +3 -0
  35. package/build/client/_app/immutable/nodes/11.DhbE_lWX.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/11.DhbE_lWX.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/13.BZ113t2p.js +2 -0
  38. package/build/client/_app/immutable/nodes/13.BZ113t2p.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/13.BZ113t2p.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/14.DZV6_g1N.js +2 -0
  41. package/build/client/_app/immutable/nodes/14.DZV6_g1N.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/14.DZV6_g1N.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/15.f9fj1pvw.js +28 -0
  44. package/build/client/_app/immutable/nodes/15.f9fj1pvw.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/15.f9fj1pvw.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/16.BeL1wNdx.js +5 -0
  47. package/build/client/_app/immutable/nodes/16.BeL1wNdx.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/16.BeL1wNdx.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/17.Dc2yglgS.js +2 -0
  50. package/build/client/_app/immutable/nodes/17.Dc2yglgS.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/17.Dc2yglgS.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/19.DkoveXb5.js +7 -0
  53. package/build/client/_app/immutable/nodes/19.DkoveXb5.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/19.DkoveXb5.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/2.CkRM3N7n.js +1 -0
  56. package/build/client/_app/immutable/nodes/2.CkRM3N7n.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/2.CkRM3N7n.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/20.DiPInNOT.js +2 -0
  59. package/build/client/_app/immutable/nodes/20.DiPInNOT.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/20.DiPInNOT.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/21.CL_2djvQ.js +5495 -0
  62. package/build/client/_app/immutable/nodes/21.CL_2djvQ.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/21.CL_2djvQ.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/22.grtwX80a.js +6 -0
  65. package/build/client/_app/immutable/nodes/22.grtwX80a.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/22.grtwX80a.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/24.CWxy09rn.js +16 -0
  68. package/build/client/_app/immutable/nodes/24.CWxy09rn.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/24.CWxy09rn.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/25.BtA0xnff.js +6 -0
  71. package/build/client/_app/immutable/nodes/25.BtA0xnff.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/25.BtA0xnff.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/28.BzvpY7Iz.js +4 -0
  74. package/build/client/_app/immutable/nodes/28.BzvpY7Iz.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/28.BzvpY7Iz.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/29.Bz2uo1rK.js +6 -0
  77. package/build/client/_app/immutable/nodes/29.Bz2uo1rK.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/29.Bz2uo1rK.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/3.FsUbKZx5.js +1 -0
  80. package/build/client/_app/immutable/nodes/3.FsUbKZx5.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/3.FsUbKZx5.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/30.BZ-dw5m7.js +2 -0
  83. package/build/client/_app/immutable/nodes/30.BZ-dw5m7.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/30.BZ-dw5m7.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/31.CSqn84cN.js +2 -0
  86. package/build/client/_app/immutable/nodes/31.CSqn84cN.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/31.CSqn84cN.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/33.U8awGNdU.js +1 -0
  89. package/build/client/_app/immutable/nodes/33.U8awGNdU.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/33.U8awGNdU.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/5.Btqh1tUK.js +1 -0
  92. package/build/client/_app/immutable/nodes/5.Btqh1tUK.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/5.Btqh1tUK.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/6.DmU_RaVC.js +1 -0
  95. package/build/client/_app/immutable/nodes/6.DmU_RaVC.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/6.DmU_RaVC.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/7.DCc83FsO.js +1 -0
  98. package/build/client/_app/immutable/nodes/7.DCc83FsO.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/7.DCc83FsO.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/8.DDytzf9J.js +3 -0
  101. package/build/client/_app/immutable/nodes/8.DDytzf9J.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/8.DDytzf9J.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/9.vD-TQ8Iq.js +1 -0
  104. package/build/client/_app/immutable/nodes/9.vD-TQ8Iq.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/9.vD-TQ8Iq.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-BiEGhZxl.js +72 -0
  112. package/build/server/chunks/chunks/AppHeader.js-BiEGhZxl.js.map +1 -0
  113. package/build/server/chunks/chunks/SettingsMenu.js-B5TBSMrK.js +1363 -0
  114. package/build/server/chunks/chunks/SettingsMenu.js-B5TBSMrK.js.map +1 -0
  115. package/build/server/chunks/chunks/SideNav.js-baLtSrLY.js +71 -0
  116. package/build/server/chunks/chunks/SideNav.js-baLtSrLY.js.map +1 -0
  117. package/build/server/chunks/chunks/access.js-CoycZfKB.js +756 -0
  118. package/build/server/chunks/chunks/access.js-CoycZfKB.js.map +1 -0
  119. package/build/server/chunks/chunks/access.server.js-CdWJcc__.js +12 -0
  120. package/build/server/chunks/chunks/access.server.js-CdWJcc__.js.map +1 -0
  121. package/build/server/chunks/chunks/access2.server.js-Coy94e8f.js +62 -0
  122. package/build/server/chunks/chunks/access2.server.js-Coy94e8f.js.map +1 -0
  123. package/build/server/chunks/chunks/api-errors.js-7upaypw1.js +83 -0
  124. package/build/server/chunks/chunks/api-errors.js-7upaypw1.js.map +1 -0
  125. package/build/server/chunks/chunks/api.js-CI0M3Xtw.js +321 -0
  126. package/build/server/chunks/chunks/api.js-CI0M3Xtw.js.map +1 -0
  127. package/build/server/chunks/chunks/auth-bootstrap.server.js-5McDnBaH.js +152 -0
  128. package/build/server/chunks/chunks/auth-bootstrap.server.js-5McDnBaH.js.map +1 -0
  129. package/build/server/chunks/chunks/bootHealth.server.js-Cn50yzJa.js +90 -0
  130. package/build/server/chunks/chunks/bootHealth.server.js-Cn50yzJa.js.map +1 -0
  131. package/build/server/chunks/chunks/client.js-D3xDFDYP.js +59 -0
  132. package/build/server/chunks/chunks/client.js-D3xDFDYP.js.map +1 -0
  133. package/build/server/chunks/chunks/compute.js-DLWZsOnD.js +430 -0
  134. package/build/server/chunks/chunks/compute.js-DLWZsOnD.js.map +1 -0
  135. package/build/server/chunks/chunks/computeLimits.js-GT8oPvJa.js +48 -0
  136. package/build/server/chunks/chunks/computeLimits.js-GT8oPvJa.js.map +1 -0
  137. package/build/server/chunks/chunks/core-PfYDuaFq.js-D1BnOFeu.js +803 -0
  138. package/build/server/chunks/chunks/core-PfYDuaFq.js-D1BnOFeu.js.map +1 -0
  139. package/build/server/chunks/chunks/definitions.js-BNGP8Sjp.js +508 -0
  140. package/build/server/chunks/chunks/definitions.js-BNGP8Sjp.js.map +1 -0
  141. package/build/server/chunks/chunks/engine.server.js-VkkOCr0A.js +582 -0
  142. package/build/server/chunks/chunks/engine.server.js-VkkOCr0A.js.map +1 -0
  143. package/build/server/chunks/chunks/forms.js-CzAd7d_S.js +2 -0
  144. package/build/server/chunks/chunks/forms.js-CzAd7d_S.js.map +1 -0
  145. package/build/server/chunks/chunks/handlers.js-BxO_5n4X.js +1375 -0
  146. package/build/server/chunks/chunks/handlers.js-BxO_5n4X.js.map +1 -0
  147. package/build/server/chunks/chunks/http.js-CUPVNrZo.js +59 -0
  148. package/build/server/chunks/chunks/http.js-CUPVNrZo.js.map +1 -0
  149. package/build/server/chunks/chunks/instanceAdmins.server.js-8HQ_BbHV.js +23 -0
  150. package/build/server/chunks/chunks/instanceAdmins.server.js-8HQ_BbHV.js.map +1 -0
  151. package/build/server/chunks/chunks/internal.js-D-PIqUmO.js.map +1 -1
  152. package/build/server/chunks/chunks/internal2.js-Brm_q2Rr.js +224 -0
  153. package/build/server/chunks/chunks/internal2.js-Brm_q2Rr.js.map +1 -0
  154. package/build/server/chunks/chunks/limits.js-EChEpvu8.js +203 -0
  155. package/build/server/chunks/chunks/limits.js-EChEpvu8.js.map +1 -0
  156. package/build/server/chunks/chunks/navigation.js-CzAd7d_S.js +2 -0
  157. package/build/server/chunks/chunks/navigation.js-CzAd7d_S.js.map +1 -0
  158. package/build/server/chunks/chunks/package.js-0p2MKz9Z.js +82 -0
  159. package/build/server/chunks/chunks/package.js-0p2MKz9Z.js.map +1 -0
  160. package/build/server/chunks/chunks/paths.js-BZS-NVws.js +19 -0
  161. package/build/server/chunks/chunks/paths.js-BZS-NVws.js.map +1 -0
  162. package/build/server/chunks/chunks/permissions.server.js-CsIWDCwH.js +24 -0
  163. package/build/server/chunks/chunks/permissions.server.js-CsIWDCwH.js.map +1 -0
  164. package/build/server/chunks/chunks/projects.js-C7uLgeYM.js +47 -0
  165. package/build/server/chunks/chunks/projects.js-C7uLgeYM.js.map +1 -0
  166. package/build/server/chunks/chunks/providers.server.js-CrzKLXpj.js +5911 -0
  167. package/build/server/chunks/chunks/providers.server.js-CrzKLXpj.js.map +1 -0
  168. package/build/server/chunks/chunks/request.js-Bkw0AC3v.js +119 -0
  169. package/build/server/chunks/chunks/request.js-Bkw0AC3v.js.map +1 -0
  170. package/build/server/chunks/chunks/resolve.server.js-kyGBDPG7.js +59 -0
  171. package/build/server/chunks/chunks/resolve.server.js-kyGBDPG7.js.map +1 -0
  172. package/build/server/chunks/chunks/schema.js-CRA1KL_l.js +1826 -0
  173. package/build/server/chunks/chunks/schema.js-CRA1KL_l.js.map +1 -0
  174. package/build/server/chunks/chunks/selfUpdate.server.js-CBJortLo.js +144 -0
  175. package/build/server/chunks/chunks/selfUpdate.server.js-CBJortLo.js.map +1 -0
  176. package/build/server/chunks/chunks/solve.server.js-P-lDriT2.js +312 -0
  177. package/build/server/chunks/chunks/solve.server.js-P-lDriT2.js.map +1 -0
  178. package/build/server/chunks/chunks/state.js-CzRoA3Gr.js +76 -0
  179. package/build/server/chunks/chunks/state.js-CzRoA3Gr.js.map +1 -0
  180. package/build/server/chunks/chunks/stores.js-DZGlgX6K.js +35 -0
  181. package/build/server/chunks/chunks/stores.js-DZGlgX6K.js.map +1 -0
  182. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DJrt33SX.js +98 -0
  183. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DJrt33SX.js.map +1 -0
  184. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-CBMiFDgW.js +57 -0
  185. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-CBMiFDgW.js.map +1 -0
  186. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-jnTpEMQP.js +96 -0
  187. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-jnTpEMQP.js.map +1 -0
  188. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-mbbQgXB4.js +46 -0
  189. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-mbbQgXB4.js.map +1 -0
  190. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-l1MQkbXN.js +69 -0
  191. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-l1MQkbXN.js.map +1 -0
  192. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DDDoBJIT.js +62 -0
  193. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-DDDoBJIT.js.map +1 -0
  194. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-DJy8jOfF.js +34 -0
  195. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-DJy8jOfF.js.map +1 -0
  196. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-DvQohmFF.js +65 -0
  197. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-DvQohmFF.js.map +1 -0
  198. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-BIV1Hud7.js +80 -0
  199. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-BIV1Hud7.js.map +1 -0
  200. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Bq0cQ24N.js +334 -0
  201. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Bq0cQ24N.js.map +1 -0
  202. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-BmLp-L2n.js +85 -0
  203. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-BmLp-L2n.js.map +1 -0
  204. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-DlrqlBOe.js +607 -0
  205. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-DlrqlBOe.js.map +1 -0
  206. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-PGCnFSdp.js +58 -0
  207. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-PGCnFSdp.js.map +1 -0
  208. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-D2WpxmHQ.js +67 -0
  209. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-D2WpxmHQ.js.map +1 -0
  210. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Do3XmTfY.js +83 -0
  211. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Do3XmTfY.js.map +1 -0
  212. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DwdSIP04.js +62 -0
  213. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DwdSIP04.js.map +1 -0
  214. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-DNL8hRvw.js +93 -0
  215. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-DNL8hRvw.js.map +1 -0
  216. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-Dn8Acyll.js +59 -0
  217. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-Dn8Acyll.js.map +1 -0
  218. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Dl1TjeCG.js +62 -0
  219. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Dl1TjeCG.js.map +1 -0
  220. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BmXpXzZG.js +84 -0
  221. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BmXpXzZG.js.map +1 -0
  222. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-k68Zvw49.js +63 -0
  223. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-k68Zvw49.js.map +1 -0
  224. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CSs_JVGa.js +40 -0
  225. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CSs_JVGa.js.map +1 -0
  226. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-FtRs0d3h.js +38 -0
  227. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-FtRs0d3h.js.map +1 -0
  228. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-D81HCO3p.js +38 -0
  229. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-D81HCO3p.js.map +1 -0
  230. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-BoBkjNJ3.js +38 -0
  231. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-BoBkjNJ3.js.map +1 -0
  232. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-Q6iYoeWA.js +38 -0
  233. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-Q6iYoeWA.js.map +1 -0
  234. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-BYRQ-S4h.js +39 -0
  235. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-BYRQ-S4h.js.map +1 -0
  236. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-BZAb1HyM.js +208 -0
  237. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-BZAb1HyM.js.map +1 -0
  238. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-C8huhyFd.js +39 -0
  239. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-C8huhyFd.js.map +1 -0
  240. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-BNgAFRdn.js +39 -0
  241. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-BNgAFRdn.js.map +1 -0
  242. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-jmoeQZil.js +38 -0
  243. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-jmoeQZil.js.map +1 -0
  244. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-D9Kj_1H3.js +39 -0
  245. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-D9Kj_1H3.js.map +1 -0
  246. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DaEEAZQ6.js +38 -0
  247. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DaEEAZQ6.js.map +1 -0
  248. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-DgiYi7er.js +39 -0
  249. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-DgiYi7er.js.map +1 -0
  250. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CuL_C6sX.js +38 -0
  251. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CuL_C6sX.js.map +1 -0
  252. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-BI5WjxyI.js +39 -0
  253. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-BI5WjxyI.js.map +1 -0
  254. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BetTca9h.js +39 -0
  255. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BetTca9h.js.map +1 -0
  256. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-aUpa3swm.js +38 -0
  257. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-aUpa3swm.js.map +1 -0
  258. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BcdQNE86.js +38 -0
  259. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-BcdQNE86.js.map +1 -0
  260. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-ChRIGTda.js +39 -0
  261. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-ChRIGTda.js.map +1 -0
  262. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DDbfjDk2.js +38 -0
  263. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DDbfjDk2.js.map +1 -0
  264. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-D7OSvmCB.js +39 -0
  265. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-D7OSvmCB.js.map +1 -0
  266. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-CK4ff84g.js +40 -0
  267. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-CK4ff84g.js.map +1 -0
  268. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-W-SFdjeh.js +39 -0
  269. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-W-SFdjeh.js.map +1 -0
  270. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-D-ksljq3.js +39 -0
  271. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-D-ksljq3.js.map +1 -0
  272. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-BhJLOaSg.js +38 -0
  273. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-BhJLOaSg.js.map +1 -0
  274. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-Dav8HrLS.js +39 -0
  275. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-Dav8HrLS.js.map +1 -0
  276. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CUk36Kzj.js +47 -0
  277. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CUk36Kzj.js.map +1 -0
  278. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-4UF8JZCQ.js +53 -0
  279. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-4UF8JZCQ.js.map +1 -0
  280. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-RURhy-l2.js +64 -0
  281. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-RURhy-l2.js.map +1 -0
  282. package/build/server/chunks/entries/hooks.server.js-Cnv40ZMh.js +337 -0
  283. package/build/server/chunks/entries/hooks.server.js-Cnv40ZMh.js.map +1 -0
  284. package/build/server/chunks/entries/pages/_error.svelte.js-BG726Ka5.js +36 -0
  285. package/build/server/chunks/entries/pages/_error.svelte.js-BG726Ka5.js.map +1 -0
  286. package/build/server/chunks/entries/pages/_layout.server.ts.js-C6iCGX2R.js +34 -0
  287. package/build/server/chunks/entries/pages/_layout.server.ts.js-C6iCGX2R.js.map +1 -0
  288. package/build/server/chunks/entries/pages/_page.server.ts.js-BXJ1bOVo.js +55 -0
  289. package/build/server/chunks/entries/pages/_page.server.ts.js-BXJ1bOVo.js.map +1 -0
  290. package/build/server/chunks/entries/pages/_page.svelte.js-cKWyCd0g.js +161 -0
  291. package/build/server/chunks/entries/pages/_page.svelte.js-cKWyCd0g.js.map +1 -0
  292. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-_0P_VFAh.js +181 -0
  293. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-_0P_VFAh.js.map +1 -0
  294. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Cy9dLzV_.js +188 -0
  295. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Cy9dLzV_.js.map +1 -0
  296. package/build/server/chunks/entries/pages/admin/_error.svelte.js-CWPVdMhU.js +37 -0
  297. package/build/server/chunks/entries/pages/admin/_error.svelte.js-CWPVdMhU.js.map +1 -0
  298. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BbHjfG8A.js +31 -0
  299. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BbHjfG8A.js.map +1 -0
  300. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-C9hPSe68.js +124 -0
  301. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-C9hPSe68.js.map +1 -0
  302. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-hALBd5MV.js +76 -0
  303. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-hALBd5MV.js.map +1 -0
  304. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BN005efX.js +394 -0
  305. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BN005efX.js.map +1 -0
  306. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-Pz4dHllO.js +265 -0
  307. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-Pz4dHllO.js.map +1 -0
  308. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-ZN7ctP1Q.js +74 -0
  309. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-ZN7ctP1Q.js.map +1 -0
  310. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-HJirdJSd.js +812 -0
  311. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-HJirdJSd.js.map +1 -0
  312. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-3iUU6m0R.js +35 -0
  313. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-3iUU6m0R.js.map +1 -0
  314. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-SFJPLmgf.js +86 -0
  315. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-SFJPLmgf.js.map +1 -0
  316. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CSzJ7bPi.js +638 -0
  317. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CSzJ7bPi.js.map +1 -0
  318. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-B9x6UqyU.js +42 -0
  319. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-B9x6UqyU.js.map +1 -0
  320. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CN-OQU60.js +283 -0
  321. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CN-OQU60.js.map +1 -0
  322. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DxCSm6VD.js +87 -0
  323. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DxCSm6VD.js.map +1 -0
  324. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CLv2jZxy.js +1394 -0
  325. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CLv2jZxy.js.map +1 -0
  326. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BjfF9HDB.js +79 -0
  327. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BjfF9HDB.js.map +1 -0
  328. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-COkOBSFq.js +643 -0
  329. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-COkOBSFq.js.map +1 -0
  330. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DX_yQkpu.js +63 -0
  331. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DX_yQkpu.js.map +1 -0
  332. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B9CPuMDx.js +62 -0
  333. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B9CPuMDx.js.map +1 -0
  334. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-B6edr7Lz.js +539 -0
  335. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-B6edr7Lz.js.map +1 -0
  336. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-BUG2B-uf.js +90 -0
  337. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-BUG2B-uf.js.map +1 -0
  338. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-BQIgjYAA.js +120 -0
  339. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-BQIgjYAA.js.map +1 -0
  340. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-CA2wCtYg.js +12937 -0
  341. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-CA2wCtYg.js.map +1 -0
  342. package/build/server/chunks/entries/pages/library/_page.server.ts.js-O2NfjyR5.js +50 -0
  343. package/build/server/chunks/entries/pages/library/_page.server.ts.js-O2NfjyR5.js.map +1 -0
  344. package/build/server/chunks/entries/pages/library/_page.svelte.js-is4TQ1pz.js +313 -0
  345. package/build/server/chunks/entries/pages/library/_page.svelte.js-is4TQ1pz.js.map +1 -0
  346. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CbMuVtuN.js +101 -0
  347. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CbMuVtuN.js.map +1 -0
  348. package/build/server/chunks/entries/pages/login/_page.svelte.js-CrZjmfSL.js +272 -0
  349. package/build/server/chunks/entries/pages/login/_page.svelte.js-CrZjmfSL.js.map +1 -0
  350. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-Dq2XLsxc.js +19 -0
  351. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-Dq2XLsxc.js.map +1 -0
  352. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-DU24XwG1.js +51 -0
  353. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-DU24XwG1.js.map +1 -0
  354. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-G_72rqYR.js +93 -0
  355. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-G_72rqYR.js.map +1 -0
  356. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BSUiiL26.js +3835 -0
  357. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BSUiiL26.js.map +1 -0
  358. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-C9s28cPE.js +116 -0
  359. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-C9s28cPE.js.map +1 -0
  360. package/build/server/chunks/entries/pages/setup/_page.svelte.js-ual4F-0M.js +322 -0
  361. package/build/server/chunks/entries/pages/setup/_page.svelte.js-ual4F-0M.js.map +1 -0
  362. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C7F3Fzk7.js +28 -0
  363. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C7F3Fzk7.js.map +1 -0
  364. package/build/server/chunks/entries/pages/team/_layout.svelte.js-BsLCO3ai.js +171 -0
  365. package/build/server/chunks/entries/pages/team/_layout.svelte.js-BsLCO3ai.js.map +1 -0
  366. package/build/server/chunks/entries/pages/team/_page.server.ts.js-CnWTQjBX.js +35 -0
  367. package/build/server/chunks/entries/pages/team/_page.server.ts.js-CnWTQjBX.js.map +1 -0
  368. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CzGM0X0y.js +42 -0
  369. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CzGM0X0y.js.map +1 -0
  370. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Dy79enPd.js +626 -0
  371. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Dy79enPd.js.map +1 -0
  372. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CsMKU11G.js +62 -0
  373. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CsMKU11G.js.map +1 -0
  374. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-DtbnlLb-.js +834 -0
  375. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-DtbnlLb-.js.map +1 -0
  376. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DM4P6bF8.js +58 -0
  377. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DM4P6bF8.js.map +1 -0
  378. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CUS7hXuW.js +423 -0
  379. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CUS7hXuW.js.map +1 -0
  380. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-3XuPeqbz.js +67 -0
  381. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-3XuPeqbz.js.map +1 -0
  382. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-loDoHHFp.js +268 -0
  383. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-loDoHHFp.js.map +1 -0
  384. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-S4bsZq7U.js +34 -0
  385. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-S4bsZq7U.js.map +1 -0
  386. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-BWF1GOVa.js +29 -0
  387. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-BWF1GOVa.js.map +1 -0
  388. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-Co8IWnQ1.js +322 -0
  389. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-Co8IWnQ1.js.map +1 -0
  390. package/build/server/chunks/handler-BkKEPy-e.js +1206 -0
  391. package/build/server/chunks/handler-BkKEPy-e.js.map +1 -0
  392. package/build/server/chunks/index.js-Do5H2IvU.js +3767 -0
  393. package/build/server/chunks/index.js-Do5H2IvU.js.map +1 -0
  394. package/build/server/chunks/manifest.js-pdv1RtPO.js +612 -0
  395. package/build/server/chunks/manifest.js-pdv1RtPO.js.map +1 -0
  396. package/build/server/chunks/nodes/0.js-Hprj8npI.js +27 -0
  397. package/build/server/chunks/nodes/0.js-Hprj8npI.js.map +1 -0
  398. package/build/server/chunks/nodes/1.js-DBCBtIJd.js +9 -0
  399. package/build/server/chunks/nodes/1.js-DBCBtIJd.js.map +1 -0
  400. package/build/server/chunks/nodes/10.js-CE2qhg1V.js +30 -0
  401. package/build/server/chunks/nodes/10.js-CE2qhg1V.js.map +1 -0
  402. package/build/server/chunks/nodes/11.js-DE7y1qOG.js +36 -0
  403. package/build/server/chunks/nodes/11.js-DE7y1qOG.js.map +1 -0
  404. package/build/server/chunks/nodes/12.js-2u6RyTaW.js +28 -0
  405. package/build/server/chunks/nodes/12.js-2u6RyTaW.js.map +1 -0
  406. package/build/server/chunks/nodes/13.js-yTT0kTvD.js +28 -0
  407. package/build/server/chunks/nodes/13.js-yTT0kTvD.js.map +1 -0
  408. package/build/server/chunks/nodes/14.js-f71W7rEu.js +28 -0
  409. package/build/server/chunks/nodes/14.js-f71W7rEu.js.map +1 -0
  410. package/build/server/chunks/nodes/15.js-BOIbgpnA.js +37 -0
  411. package/build/server/chunks/nodes/15.js-BOIbgpnA.js.map +1 -0
  412. package/build/server/chunks/nodes/16.js-Bk2vfFBe.js +30 -0
  413. package/build/server/chunks/nodes/16.js-Bk2vfFBe.js.map +1 -0
  414. package/build/server/chunks/nodes/17.js-BKHKqIb1.js +9 -0
  415. package/build/server/chunks/nodes/17.js-BKHKqIb1.js.map +1 -0
  416. package/build/server/chunks/nodes/18.js-aa7BpAKa.js +30 -0
  417. package/build/server/chunks/nodes/18.js-aa7BpAKa.js.map +1 -0
  418. package/build/server/chunks/nodes/19.js-DUfs7ZbX.js +24 -0
  419. package/build/server/chunks/nodes/19.js-DUfs7ZbX.js.map +1 -0
  420. package/build/server/chunks/nodes/2.js-DAkcuEZJ.js +30 -0
  421. package/build/server/chunks/nodes/2.js-DAkcuEZJ.js.map +1 -0
  422. package/build/server/chunks/nodes/20.js-C37vTNdP.js +21 -0
  423. package/build/server/chunks/nodes/20.js-C37vTNdP.js.map +1 -0
  424. package/build/server/chunks/nodes/21.js-CCY_KdtE.js +40 -0
  425. package/build/server/chunks/nodes/21.js-CCY_KdtE.js.map +1 -0
  426. package/build/server/chunks/nodes/22.js-3E-ZXhRz.js +30 -0
  427. package/build/server/chunks/nodes/22.js-3E-ZXhRz.js.map +1 -0
  428. package/build/server/chunks/nodes/23.js-ClXXp4fn.js +27 -0
  429. package/build/server/chunks/nodes/23.js-ClXXp4fn.js.map +1 -0
  430. package/build/server/chunks/nodes/24.js-BDT6SA5A.js +29 -0
  431. package/build/server/chunks/nodes/24.js-BDT6SA5A.js.map +1 -0
  432. package/build/server/chunks/nodes/25.js-BZIYGUdd.js +30 -0
  433. package/build/server/chunks/nodes/25.js-BZIYGUdd.js.map +1 -0
  434. package/build/server/chunks/nodes/26.js-BHuBlTnJ.js +28 -0
  435. package/build/server/chunks/nodes/26.js-BHuBlTnJ.js.map +1 -0
  436. package/build/server/chunks/nodes/28.js-Bkdz_sz9.js +28 -0
  437. package/build/server/chunks/nodes/28.js-Bkdz_sz9.js.map +1 -0
  438. package/build/server/chunks/nodes/29.js-B7sI7fzr.js +28 -0
  439. package/build/server/chunks/nodes/29.js-B7sI7fzr.js.map +1 -0
  440. package/build/server/chunks/nodes/3.js-B7q1aUjQ.js +9 -0
  441. package/build/server/chunks/nodes/3.js-B7q1aUjQ.js.map +1 -0
  442. package/build/server/chunks/nodes/30.js-BTNfBtwN.js +29 -0
  443. package/build/server/chunks/nodes/30.js-BTNfBtwN.js.map +1 -0
  444. package/build/server/chunks/nodes/31.js-DwlVmX5O.js +28 -0
  445. package/build/server/chunks/nodes/31.js-DwlVmX5O.js.map +1 -0
  446. package/build/server/chunks/nodes/32.js-W82Bhk4t.js +28 -0
  447. package/build/server/chunks/nodes/32.js-W82Bhk4t.js.map +1 -0
  448. package/build/server/chunks/nodes/33.js-DyU642Zr.js +28 -0
  449. package/build/server/chunks/nodes/33.js-DyU642Zr.js.map +1 -0
  450. package/build/server/chunks/nodes/5.js-BTy8007H.js +15 -0
  451. package/build/server/chunks/nodes/5.js-BTy8007H.js.map +1 -0
  452. package/build/server/chunks/nodes/6.js-BbI45Jfn.js +28 -0
  453. package/build/server/chunks/nodes/6.js-BbI45Jfn.js.map +1 -0
  454. package/build/server/chunks/nodes/7.js-uCBJLzFQ.js +21 -0
  455. package/build/server/chunks/nodes/7.js-uCBJLzFQ.js.map +1 -0
  456. package/build/server/chunks/nodes/8.js-BDGAEpFO.js +32 -0
  457. package/build/server/chunks/nodes/8.js-BDGAEpFO.js.map +1 -0
  458. package/build/server/chunks/nodes/9.js-xxma6Uh0.js +28 -0
  459. package/build/server/chunks/nodes/9.js-xxma6Uh0.js.map +1 -0
  460. package/package.json +8 -8
  461. package/build/client/_app/immutable/chunks/-Oen0NrY2.js +0 -1
  462. package/build/client/_app/immutable/chunks/-Oen0NrY2.js.br +0 -2
  463. package/build/client/_app/immutable/chunks/-Oen0NrY2.js.gz +0 -0
  464. package/build/client/_app/immutable/chunks/1UJxtSvs2.js +0 -1
  465. package/build/client/_app/immutable/chunks/1UJxtSvs2.js.br +0 -0
  466. package/build/client/_app/immutable/chunks/1UJxtSvs2.js.gz +0 -0
  467. package/build/client/_app/immutable/chunks/BJlpIVYb.js +0 -1
  468. package/build/client/_app/immutable/chunks/BJlpIVYb.js.br +0 -3
  469. package/build/client/_app/immutable/chunks/BJlpIVYb.js.gz +0 -0
  470. package/build/client/_app/immutable/chunks/BO82HIZr2.js +0 -1
  471. package/build/client/_app/immutable/chunks/BO82HIZr2.js.br +0 -0
  472. package/build/client/_app/immutable/chunks/BO82HIZr2.js.gz +0 -0
  473. package/build/client/_app/immutable/chunks/Brga2HS_.js +0 -1
  474. package/build/client/_app/immutable/chunks/Brga2HS_.js.br +0 -0
  475. package/build/client/_app/immutable/chunks/Brga2HS_.js.gz +0 -0
  476. package/build/client/_app/immutable/chunks/C_d7vA4S.js +0 -3
  477. package/build/client/_app/immutable/chunks/C_d7vA4S.js.br +0 -0
  478. package/build/client/_app/immutable/chunks/C_d7vA4S.js.gz +0 -0
  479. package/build/client/_app/immutable/chunks/DTBejwoN2.js +0 -1
  480. package/build/client/_app/immutable/chunks/DTBejwoN2.js.br +0 -0
  481. package/build/client/_app/immutable/chunks/DTBejwoN2.js.gz +0 -0
  482. package/build/client/_app/immutable/chunks/DnKrwAC1.js +0 -2
  483. package/build/client/_app/immutable/chunks/DnKrwAC1.js.br +0 -0
  484. package/build/client/_app/immutable/chunks/DnKrwAC1.js.gz +0 -0
  485. package/build/client/_app/immutable/entry/app.r6Ue89Ge.js +0 -2
  486. package/build/client/_app/immutable/entry/app.r6Ue89Ge.js.br +0 -0
  487. package/build/client/_app/immutable/entry/app.r6Ue89Ge.js.gz +0 -0
  488. package/build/client/_app/immutable/entry/start.B-CW0KOU.js +0 -1
  489. package/build/client/_app/immutable/entry/start.B-CW0KOU.js.br +0 -0
  490. package/build/client/_app/immutable/entry/start.B-CW0KOU.js.gz +0 -0
  491. package/build/client/_app/immutable/nodes/1.DuEm9vXT.js +0 -1
  492. package/build/client/_app/immutable/nodes/1.DuEm9vXT.js.br +0 -0
  493. package/build/client/_app/immutable/nodes/1.DuEm9vXT.js.gz +0 -0
  494. package/build/client/_app/immutable/nodes/11.DYKcZloK.js +0 -3
  495. package/build/client/_app/immutable/nodes/11.DYKcZloK.js.br +0 -0
  496. package/build/client/_app/immutable/nodes/11.DYKcZloK.js.gz +0 -0
  497. package/build/client/_app/immutable/nodes/13.EhfY5b6k.js +0 -2
  498. package/build/client/_app/immutable/nodes/13.EhfY5b6k.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/13.EhfY5b6k.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/14.BKqFAKXC.js +0 -2
  501. package/build/client/_app/immutable/nodes/14.BKqFAKXC.js.br +0 -0
  502. package/build/client/_app/immutable/nodes/14.BKqFAKXC.js.gz +0 -0
  503. package/build/client/_app/immutable/nodes/15.C2aavA2i.js +0 -28
  504. package/build/client/_app/immutable/nodes/15.C2aavA2i.js.br +0 -0
  505. package/build/client/_app/immutable/nodes/15.C2aavA2i.js.gz +0 -0
  506. package/build/client/_app/immutable/nodes/16.CuHmBXsX.js +0 -5
  507. package/build/client/_app/immutable/nodes/16.CuHmBXsX.js.br +0 -0
  508. package/build/client/_app/immutable/nodes/16.CuHmBXsX.js.gz +0 -0
  509. package/build/client/_app/immutable/nodes/17.CydV4o2A.js +0 -2
  510. package/build/client/_app/immutable/nodes/17.CydV4o2A.js.br +0 -0
  511. package/build/client/_app/immutable/nodes/17.CydV4o2A.js.gz +0 -0
  512. package/build/client/_app/immutable/nodes/19.BbS2dAkd.js +0 -7
  513. package/build/client/_app/immutable/nodes/19.BbS2dAkd.js.br +0 -0
  514. package/build/client/_app/immutable/nodes/19.BbS2dAkd.js.gz +0 -0
  515. package/build/client/_app/immutable/nodes/2.BhRxWIq_.js +0 -1
  516. package/build/client/_app/immutable/nodes/2.BhRxWIq_.js.br +0 -0
  517. package/build/client/_app/immutable/nodes/2.BhRxWIq_.js.gz +0 -0
  518. package/build/client/_app/immutable/nodes/20.BnGz1DlQ.js +0 -2
  519. package/build/client/_app/immutable/nodes/20.BnGz1DlQ.js.br +0 -0
  520. package/build/client/_app/immutable/nodes/20.BnGz1DlQ.js.gz +0 -0
  521. package/build/client/_app/immutable/nodes/21.CAwKBc7W.js +0 -5495
  522. package/build/client/_app/immutable/nodes/21.CAwKBc7W.js.br +0 -0
  523. package/build/client/_app/immutable/nodes/21.CAwKBc7W.js.gz +0 -0
  524. package/build/client/_app/immutable/nodes/22.DBrG7gAA.js +0 -6
  525. package/build/client/_app/immutable/nodes/22.DBrG7gAA.js.br +0 -0
  526. package/build/client/_app/immutable/nodes/22.DBrG7gAA.js.gz +0 -0
  527. package/build/client/_app/immutable/nodes/24.DOeLNtFl.js +0 -16
  528. package/build/client/_app/immutable/nodes/24.DOeLNtFl.js.br +0 -0
  529. package/build/client/_app/immutable/nodes/24.DOeLNtFl.js.gz +0 -0
  530. package/build/client/_app/immutable/nodes/25.CcxEi62e.js +0 -6
  531. package/build/client/_app/immutable/nodes/25.CcxEi62e.js.br +0 -0
  532. package/build/client/_app/immutable/nodes/25.CcxEi62e.js.gz +0 -0
  533. package/build/client/_app/immutable/nodes/28.CvW9dVKt.js +0 -4
  534. package/build/client/_app/immutable/nodes/28.CvW9dVKt.js.br +0 -0
  535. package/build/client/_app/immutable/nodes/28.CvW9dVKt.js.gz +0 -0
  536. package/build/client/_app/immutable/nodes/29.CXHlx9Jk.js +0 -6
  537. package/build/client/_app/immutable/nodes/29.CXHlx9Jk.js.br +0 -0
  538. package/build/client/_app/immutable/nodes/29.CXHlx9Jk.js.gz +0 -0
  539. package/build/client/_app/immutable/nodes/3.BlHSJ2NI.js +0 -1
  540. package/build/client/_app/immutable/nodes/3.BlHSJ2NI.js.br +0 -0
  541. package/build/client/_app/immutable/nodes/3.BlHSJ2NI.js.gz +0 -0
  542. package/build/client/_app/immutable/nodes/30.CNTcDjt4.js +0 -2
  543. package/build/client/_app/immutable/nodes/30.CNTcDjt4.js.br +0 -0
  544. package/build/client/_app/immutable/nodes/30.CNTcDjt4.js.gz +0 -0
  545. package/build/client/_app/immutable/nodes/31.DVQjTnFZ.js +0 -2
  546. package/build/client/_app/immutable/nodes/31.DVQjTnFZ.js.br +0 -0
  547. package/build/client/_app/immutable/nodes/31.DVQjTnFZ.js.gz +0 -0
  548. package/build/client/_app/immutable/nodes/33.tYjgQRF8.js +0 -1
  549. package/build/client/_app/immutable/nodes/33.tYjgQRF8.js.br +0 -0
  550. package/build/client/_app/immutable/nodes/33.tYjgQRF8.js.gz +0 -0
  551. package/build/client/_app/immutable/nodes/5.DC_2fGJn.js +0 -1
  552. package/build/client/_app/immutable/nodes/5.DC_2fGJn.js.br +0 -2
  553. package/build/client/_app/immutable/nodes/5.DC_2fGJn.js.gz +0 -0
  554. package/build/client/_app/immutable/nodes/6.C8g8bALA.js +0 -1
  555. package/build/client/_app/immutable/nodes/6.C8g8bALA.js.br +0 -0
  556. package/build/client/_app/immutable/nodes/6.C8g8bALA.js.gz +0 -0
  557. package/build/client/_app/immutable/nodes/7.CzJH6hlQ.js +0 -1
  558. package/build/client/_app/immutable/nodes/7.CzJH6hlQ.js.br +0 -0
  559. package/build/client/_app/immutable/nodes/7.CzJH6hlQ.js.gz +0 -0
  560. package/build/client/_app/immutable/nodes/8.BKVEaqAk.js +0 -3
  561. package/build/client/_app/immutable/nodes/8.BKVEaqAk.js.br +0 -0
  562. package/build/client/_app/immutable/nodes/8.BKVEaqAk.js.gz +0 -0
  563. package/build/client/_app/immutable/nodes/9.BHtrAkH_.js +0 -1
  564. package/build/client/_app/immutable/nodes/9.BHtrAkH_.js.br +0 -0
  565. package/build/client/_app/immutable/nodes/9.BHtrAkH_.js.gz +0 -0
  566. package/build/server/chunks/chunks/AppHeader.js-CFdzxxPk.js +0 -72
  567. package/build/server/chunks/chunks/AppHeader.js-CFdzxxPk.js.map +0 -1
  568. package/build/server/chunks/chunks/SettingsMenu.js-Dp9bcAPe.js +0 -1363
  569. package/build/server/chunks/chunks/SettingsMenu.js-Dp9bcAPe.js.map +0 -1
  570. package/build/server/chunks/chunks/SideNav.js-B1ef7omE.js +0 -71
  571. package/build/server/chunks/chunks/SideNav.js-B1ef7omE.js.map +0 -1
  572. package/build/server/chunks/chunks/access.js-BcvkxfjS.js +0 -756
  573. package/build/server/chunks/chunks/access.js-BcvkxfjS.js.map +0 -1
  574. package/build/server/chunks/chunks/access.server.js-Cg7yYegl.js +0 -12
  575. package/build/server/chunks/chunks/access.server.js-Cg7yYegl.js.map +0 -1
  576. package/build/server/chunks/chunks/access2.server.js-B8CP1AuO.js +0 -62
  577. package/build/server/chunks/chunks/access2.server.js-B8CP1AuO.js.map +0 -1
  578. package/build/server/chunks/chunks/api-errors.js-WdfUbt0r.js +0 -83
  579. package/build/server/chunks/chunks/api-errors.js-WdfUbt0r.js.map +0 -1
  580. package/build/server/chunks/chunks/api.js-DErw1H-D.js +0 -321
  581. package/build/server/chunks/chunks/api.js-DErw1H-D.js.map +0 -1
  582. package/build/server/chunks/chunks/auth-bootstrap.server.js-ByqKAuSj.js +0 -152
  583. package/build/server/chunks/chunks/auth-bootstrap.server.js-ByqKAuSj.js.map +0 -1
  584. package/build/server/chunks/chunks/bootHealth.server.js-Cxedg2Q5.js +0 -90
  585. package/build/server/chunks/chunks/bootHealth.server.js-Cxedg2Q5.js.map +0 -1
  586. package/build/server/chunks/chunks/client.js-BoVg2GeJ.js +0 -59
  587. package/build/server/chunks/chunks/client.js-BoVg2GeJ.js.map +0 -1
  588. package/build/server/chunks/chunks/compute.js-DQbNxqxW.js +0 -430
  589. package/build/server/chunks/chunks/compute.js-DQbNxqxW.js.map +0 -1
  590. package/build/server/chunks/chunks/computeLimits.js-CeI4KbLV.js +0 -48
  591. package/build/server/chunks/chunks/computeLimits.js-CeI4KbLV.js.map +0 -1
  592. package/build/server/chunks/chunks/core-BQtRL5GE.js-B9MmO4om.js +0 -750
  593. package/build/server/chunks/chunks/core-BQtRL5GE.js-B9MmO4om.js.map +0 -1
  594. package/build/server/chunks/chunks/definitions.js-CqxzwiLn.js +0 -496
  595. package/build/server/chunks/chunks/definitions.js-CqxzwiLn.js.map +0 -1
  596. package/build/server/chunks/chunks/engine.server.js-C4sscTkq.js +0 -566
  597. package/build/server/chunks/chunks/engine.server.js-C4sscTkq.js.map +0 -1
  598. package/build/server/chunks/chunks/forms.js-Dr2_1xef.js +0 -2
  599. package/build/server/chunks/chunks/forms.js-Dr2_1xef.js.map +0 -1
  600. package/build/server/chunks/chunks/handlers.js-5PYrmt-n.js +0 -1375
  601. package/build/server/chunks/chunks/handlers.js-5PYrmt-n.js.map +0 -1
  602. package/build/server/chunks/chunks/http.js-QdTyaOX0.js +0 -59
  603. package/build/server/chunks/chunks/http.js-QdTyaOX0.js.map +0 -1
  604. package/build/server/chunks/chunks/instanceAdmins.server.js-W8Rulo90.js +0 -23
  605. package/build/server/chunks/chunks/instanceAdmins.server.js-W8Rulo90.js.map +0 -1
  606. package/build/server/chunks/chunks/internal2.js-BjFnZ91P.js +0 -224
  607. package/build/server/chunks/chunks/internal2.js-BjFnZ91P.js.map +0 -1
  608. package/build/server/chunks/chunks/limits.js-Bb8N4Nid.js +0 -203
  609. package/build/server/chunks/chunks/limits.js-Bb8N4Nid.js.map +0 -1
  610. package/build/server/chunks/chunks/navigation.js-Dr2_1xef.js +0 -2
  611. package/build/server/chunks/chunks/navigation.js-Dr2_1xef.js.map +0 -1
  612. package/build/server/chunks/chunks/package.js-D8HrDrPh.js +0 -82
  613. package/build/server/chunks/chunks/package.js-D8HrDrPh.js.map +0 -1
  614. package/build/server/chunks/chunks/paths.js-CMZHizSB.js +0 -19
  615. package/build/server/chunks/chunks/paths.js-CMZHizSB.js.map +0 -1
  616. package/build/server/chunks/chunks/permissions.server.js-akgNQA6l.js +0 -24
  617. package/build/server/chunks/chunks/permissions.server.js-akgNQA6l.js.map +0 -1
  618. package/build/server/chunks/chunks/projects.js-t4osYcer.js +0 -47
  619. package/build/server/chunks/chunks/projects.js-t4osYcer.js.map +0 -1
  620. package/build/server/chunks/chunks/providers.server.js-Dw01Yoxx.js +0 -5904
  621. package/build/server/chunks/chunks/providers.server.js-Dw01Yoxx.js.map +0 -1
  622. package/build/server/chunks/chunks/request.js-BqYoA9mL.js +0 -119
  623. package/build/server/chunks/chunks/request.js-BqYoA9mL.js.map +0 -1
  624. package/build/server/chunks/chunks/resolve.server.js-C5tbih4o.js +0 -59
  625. package/build/server/chunks/chunks/resolve.server.js-C5tbih4o.js.map +0 -1
  626. package/build/server/chunks/chunks/schema.js-BVfByvmD.js +0 -1783
  627. package/build/server/chunks/chunks/schema.js-BVfByvmD.js.map +0 -1
  628. package/build/server/chunks/chunks/selfUpdate.server.js-CxJaaOWj.js +0 -144
  629. package/build/server/chunks/chunks/selfUpdate.server.js-CxJaaOWj.js.map +0 -1
  630. package/build/server/chunks/chunks/solve.server.js-j-gShs8S.js +0 -304
  631. package/build/server/chunks/chunks/solve.server.js-j-gShs8S.js.map +0 -1
  632. package/build/server/chunks/chunks/state.js-CvdR8gvc.js +0 -76
  633. package/build/server/chunks/chunks/state.js-CvdR8gvc.js.map +0 -1
  634. package/build/server/chunks/chunks/stores.js-CCXGL_6m.js +0 -35
  635. package/build/server/chunks/chunks/stores.js-CCXGL_6m.js.map +0 -1
  636. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DJk_KecR.js +0 -98
  637. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-DJk_KecR.js.map +0 -1
  638. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-D2psO5jn.js +0 -57
  639. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-D2psO5jn.js.map +0 -1
  640. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CDBMxQoR.js +0 -83
  641. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CDBMxQoR.js.map +0 -1
  642. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-yoVJvJs7.js +0 -46
  643. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-yoVJvJs7.js.map +0 -1
  644. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-wHoMTlY4.js +0 -69
  645. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-wHoMTlY4.js.map +0 -1
  646. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-CUu0XkNB.js +0 -62
  647. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-CUu0XkNB.js.map +0 -1
  648. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-C2XgBa4m.js +0 -34
  649. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-C2XgBa4m.js.map +0 -1
  650. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BHVTq9Oj.js +0 -65
  651. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BHVTq9Oj.js.map +0 -1
  652. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-WQwB0lK9.js +0 -80
  653. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-WQwB0lK9.js.map +0 -1
  654. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-CQAf-KgN.js +0 -334
  655. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-CQAf-KgN.js.map +0 -1
  656. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-OSkDmB83.js +0 -85
  657. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-OSkDmB83.js.map +0 -1
  658. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-BLnW9TQS.js +0 -607
  659. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-BLnW9TQS.js.map +0 -1
  660. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-CkN1HILr.js +0 -58
  661. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-CkN1HILr.js.map +0 -1
  662. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-Ch5xkXTD.js +0 -67
  663. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-Ch5xkXTD.js.map +0 -1
  664. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Di9KxJm0.js +0 -83
  665. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-Di9KxJm0.js.map +0 -1
  666. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DCHwefe1.js +0 -62
  667. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DCHwefe1.js.map +0 -1
  668. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-McZuaweF.js +0 -93
  669. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-McZuaweF.js.map +0 -1
  670. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-ABRCeq66.js +0 -59
  671. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-ABRCeq66.js.map +0 -1
  672. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Calh9GKK.js +0 -62
  673. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Calh9GKK.js.map +0 -1
  674. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BxdSGXRh.js +0 -84
  675. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BxdSGXRh.js.map +0 -1
  676. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BYN34BDD.js +0 -63
  677. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BYN34BDD.js.map +0 -1
  678. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-BE6gCe-d.js +0 -40
  679. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-BE6gCe-d.js.map +0 -1
  680. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-e1W1bqgc.js +0 -38
  681. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-e1W1bqgc.js.map +0 -1
  682. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-B1_WO5Um.js +0 -38
  683. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-B1_WO5Um.js.map +0 -1
  684. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-DYV4uVpr.js +0 -38
  685. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-DYV4uVpr.js.map +0 -1
  686. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DgRnEL7_.js +0 -38
  687. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DgRnEL7_.js.map +0 -1
  688. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-CtAJnfCv.js +0 -39
  689. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-CtAJnfCv.js.map +0 -1
  690. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-DuDotXXM.js +0 -208
  691. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-DuDotXXM.js.map +0 -1
  692. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-ZP-ueMnr.js +0 -39
  693. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-ZP-ueMnr.js.map +0 -1
  694. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-DbU8u0jE.js +0 -39
  695. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-DbU8u0jE.js.map +0 -1
  696. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-eX-cAnq9.js +0 -38
  697. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-eX-cAnq9.js.map +0 -1
  698. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-1VTsAuzE.js +0 -39
  699. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-1VTsAuzE.js.map +0 -1
  700. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CkBGpReN.js +0 -38
  701. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CkBGpReN.js.map +0 -1
  702. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CIDUu_SS.js +0 -39
  703. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CIDUu_SS.js.map +0 -1
  704. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-DliCgqjf.js +0 -38
  705. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-DliCgqjf.js.map +0 -1
  706. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-C9lOy1kA.js +0 -39
  707. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-C9lOy1kA.js.map +0 -1
  708. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BOJuDnb_.js +0 -39
  709. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BOJuDnb_.js.map +0 -1
  710. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BJeH95ng.js +0 -38
  711. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BJeH95ng.js.map +0 -1
  712. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-RM-_0oyM.js +0 -38
  713. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/resend/_server.ts.js-RM-_0oyM.js.map +0 -1
  714. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CDCNV9TT.js +0 -39
  715. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CDCNV9TT.js.map +0 -1
  716. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-C2haNMeB.js +0 -38
  717. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-C2haNMeB.js.map +0 -1
  718. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-gKP9Fs8D.js +0 -39
  719. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-gKP9Fs8D.js.map +0 -1
  720. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BdCNnjZ-.js +0 -40
  721. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BdCNnjZ-.js.map +0 -1
  722. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-CbPwCCkP.js +0 -39
  723. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-CbPwCCkP.js.map +0 -1
  724. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-DmhPMzjm.js +0 -39
  725. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-DmhPMzjm.js.map +0 -1
  726. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-B5Btew1x.js +0 -38
  727. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-B5Btew1x.js.map +0 -1
  728. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CKsWgD4_.js +0 -39
  729. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CKsWgD4_.js.map +0 -1
  730. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CQGIAOVe.js +0 -47
  731. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CQGIAOVe.js.map +0 -1
  732. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-qVoXx2Qi.js +0 -53
  733. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-qVoXx2Qi.js.map +0 -1
  734. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-t3IrORF4.js +0 -64
  735. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-t3IrORF4.js.map +0 -1
  736. package/build/server/chunks/entries/hooks.server.js-B-c6ZxZT.js +0 -337
  737. package/build/server/chunks/entries/hooks.server.js-B-c6ZxZT.js.map +0 -1
  738. package/build/server/chunks/entries/pages/_error.svelte.js-BsBttNlI.js +0 -36
  739. package/build/server/chunks/entries/pages/_error.svelte.js-BsBttNlI.js.map +0 -1
  740. package/build/server/chunks/entries/pages/_layout.server.ts.js-dnuMh-Ne.js +0 -34
  741. package/build/server/chunks/entries/pages/_layout.server.ts.js-dnuMh-Ne.js.map +0 -1
  742. package/build/server/chunks/entries/pages/_page.server.ts.js-BtTieY4L.js +0 -55
  743. package/build/server/chunks/entries/pages/_page.server.ts.js-BtTieY4L.js.map +0 -1
  744. package/build/server/chunks/entries/pages/_page.svelte.js-CVwZiBod.js +0 -161
  745. package/build/server/chunks/entries/pages/_page.svelte.js-CVwZiBod.js.map +0 -1
  746. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-BtG78-wA.js +0 -181
  747. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-BtG78-wA.js.map +0 -1
  748. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-WSQ9Oxzj.js +0 -188
  749. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-WSQ9Oxzj.js.map +0 -1
  750. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DIS-M5MX.js +0 -37
  751. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DIS-M5MX.js.map +0 -1
  752. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CUMrLCVm.js +0 -31
  753. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CUMrLCVm.js.map +0 -1
  754. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Cl_wGaKc.js +0 -124
  755. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-Cl_wGaKc.js.map +0 -1
  756. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-BoBMZbLQ.js +0 -76
  757. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-BoBMZbLQ.js.map +0 -1
  758. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BCcU_UXJ.js +0 -394
  759. package/build/server/chunks/entries/pages/admin/_page.svelte.js-BCcU_UXJ.js.map +0 -1
  760. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-MGqlPjZx.js +0 -265
  761. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-MGqlPjZx.js.map +0 -1
  762. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-LYCdJqfj.js +0 -74
  763. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-LYCdJqfj.js.map +0 -1
  764. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-WT01s7dh.js +0 -806
  765. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-WT01s7dh.js.map +0 -1
  766. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-BvL_cS8Z.js +0 -35
  767. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-BvL_cS8Z.js.map +0 -1
  768. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BsMBkEIL.js +0 -86
  769. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BsMBkEIL.js.map +0 -1
  770. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-vQ18AsFq.js +0 -638
  771. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-vQ18AsFq.js.map +0 -1
  772. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-CyvRtUFK.js +0 -42
  773. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-CyvRtUFK.js.map +0 -1
  774. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-q4DhG1E7.js +0 -283
  775. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-q4DhG1E7.js.map +0 -1
  776. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-OAmY_1pd.js +0 -87
  777. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-OAmY_1pd.js.map +0 -1
  778. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BSsdaeHC.js +0 -1394
  779. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BSsdaeHC.js.map +0 -1
  780. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-Dtp3eeil.js +0 -79
  781. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-Dtp3eeil.js.map +0 -1
  782. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BB3VNvxh.js +0 -643
  783. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BB3VNvxh.js.map +0 -1
  784. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DodIav4j.js +0 -63
  785. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DodIav4j.js.map +0 -1
  786. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DlX_NRfz.js +0 -62
  787. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DlX_NRfz.js.map +0 -1
  788. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-hInjPre0.js +0 -539
  789. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-hInjPre0.js.map +0 -1
  790. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-CDQhxFWc.js +0 -90
  791. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-CDQhxFWc.js.map +0 -1
  792. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js--6bDD1Gw.js +0 -120
  793. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js--6bDD1Gw.js.map +0 -1
  794. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-wHooyK-i.js +0 -12937
  795. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-wHooyK-i.js.map +0 -1
  796. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BcYH91Du.js +0 -50
  797. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BcYH91Du.js.map +0 -1
  798. package/build/server/chunks/entries/pages/library/_page.svelte.js-DOX2TqlB.js +0 -313
  799. package/build/server/chunks/entries/pages/library/_page.svelte.js-DOX2TqlB.js.map +0 -1
  800. package/build/server/chunks/entries/pages/login/_page.server.ts.js-6Qhn8cHY.js +0 -101
  801. package/build/server/chunks/entries/pages/login/_page.server.ts.js-6Qhn8cHY.js.map +0 -1
  802. package/build/server/chunks/entries/pages/login/_page.svelte.js-htCOeNcE.js +0 -272
  803. package/build/server/chunks/entries/pages/login/_page.svelte.js-htCOeNcE.js.map +0 -1
  804. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BFrUhP_9.js +0 -19
  805. package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BFrUhP_9.js.map +0 -1
  806. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-DAe7F6rg.js +0 -51
  807. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-DAe7F6rg.js.map +0 -1
  808. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BqKoy1dh.js +0 -93
  809. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BqKoy1dh.js.map +0 -1
  810. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BpBP0yb4.js +0 -3835
  811. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BpBP0yb4.js.map +0 -1
  812. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cz_w0toR.js +0 -116
  813. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cz_w0toR.js.map +0 -1
  814. package/build/server/chunks/entries/pages/setup/_page.svelte.js-Dxqbisrt.js +0 -322
  815. package/build/server/chunks/entries/pages/setup/_page.svelte.js-Dxqbisrt.js.map +0 -1
  816. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-BAvjXyHy.js +0 -28
  817. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-BAvjXyHy.js.map +0 -1
  818. package/build/server/chunks/entries/pages/team/_layout.svelte.js-tQ0BggNG.js +0 -171
  819. package/build/server/chunks/entries/pages/team/_layout.svelte.js-tQ0BggNG.js.map +0 -1
  820. package/build/server/chunks/entries/pages/team/_page.server.ts.js-crZqszJt.js +0 -35
  821. package/build/server/chunks/entries/pages/team/_page.server.ts.js-crZqszJt.js.map +0 -1
  822. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BhBHuful.js +0 -42
  823. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-BhBHuful.js.map +0 -1
  824. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Dw_hM0zq.js +0 -626
  825. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-Dw_hM0zq.js.map +0 -1
  826. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DswnHMAB.js +0 -62
  827. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DswnHMAB.js.map +0 -1
  828. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BompU1-q.js +0 -834
  829. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BompU1-q.js.map +0 -1
  830. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CnC3296I.js +0 -58
  831. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CnC3296I.js.map +0 -1
  832. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-F8oM3mri.js +0 -423
  833. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-F8oM3mri.js.map +0 -1
  834. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BfHbNANm.js +0 -67
  835. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BfHbNANm.js.map +0 -1
  836. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-B0i5_tGt.js +0 -268
  837. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-B0i5_tGt.js.map +0 -1
  838. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-qomlghMU.js +0 -34
  839. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-qomlghMU.js.map +0 -1
  840. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DJZZ2Buf.js +0 -29
  841. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DJZZ2Buf.js.map +0 -1
  842. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-D_GLFyNh.js +0 -322
  843. package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-D_GLFyNh.js.map +0 -1
  844. package/build/server/chunks/handler-D1DXPib9.js +0 -1206
  845. package/build/server/chunks/handler-D1DXPib9.js.map +0 -1
  846. package/build/server/chunks/index.js-BYQq6p11.js +0 -3767
  847. package/build/server/chunks/index.js-BYQq6p11.js.map +0 -1
  848. package/build/server/chunks/manifest.js-BpGfWOKY.js +0 -612
  849. package/build/server/chunks/manifest.js-BpGfWOKY.js.map +0 -1
  850. package/build/server/chunks/nodes/0.js-CREbQp-O.js +0 -27
  851. package/build/server/chunks/nodes/0.js-CREbQp-O.js.map +0 -1
  852. package/build/server/chunks/nodes/1.js-Dxy-eH_U.js +0 -9
  853. package/build/server/chunks/nodes/1.js-Dxy-eH_U.js.map +0 -1
  854. package/build/server/chunks/nodes/10.js-Drp0Eqt4.js +0 -30
  855. package/build/server/chunks/nodes/10.js-Drp0Eqt4.js.map +0 -1
  856. package/build/server/chunks/nodes/11.js-C-9Pdp8G.js +0 -36
  857. package/build/server/chunks/nodes/11.js-C-9Pdp8G.js.map +0 -1
  858. package/build/server/chunks/nodes/12.js-HbFO1cTW.js +0 -28
  859. package/build/server/chunks/nodes/12.js-HbFO1cTW.js.map +0 -1
  860. package/build/server/chunks/nodes/13.js-C5Kc26lb.js +0 -28
  861. package/build/server/chunks/nodes/13.js-C5Kc26lb.js.map +0 -1
  862. package/build/server/chunks/nodes/14.js-Co0FwUo4.js +0 -28
  863. package/build/server/chunks/nodes/14.js-Co0FwUo4.js.map +0 -1
  864. package/build/server/chunks/nodes/15.js-GCBffawi.js +0 -37
  865. package/build/server/chunks/nodes/15.js-GCBffawi.js.map +0 -1
  866. package/build/server/chunks/nodes/16.js-DY9WnV3G.js +0 -30
  867. package/build/server/chunks/nodes/16.js-DY9WnV3G.js.map +0 -1
  868. package/build/server/chunks/nodes/17.js-CwtpSmYF.js +0 -9
  869. package/build/server/chunks/nodes/17.js-CwtpSmYF.js.map +0 -1
  870. package/build/server/chunks/nodes/18.js-DPAxL-xS.js +0 -30
  871. package/build/server/chunks/nodes/18.js-DPAxL-xS.js.map +0 -1
  872. package/build/server/chunks/nodes/19.js-BiYB0dUn.js +0 -24
  873. package/build/server/chunks/nodes/19.js-BiYB0dUn.js.map +0 -1
  874. package/build/server/chunks/nodes/2.js-DBoi5zKb.js +0 -30
  875. package/build/server/chunks/nodes/2.js-DBoi5zKb.js.map +0 -1
  876. package/build/server/chunks/nodes/20.js-DMn95hj8.js +0 -21
  877. package/build/server/chunks/nodes/20.js-DMn95hj8.js.map +0 -1
  878. package/build/server/chunks/nodes/21.js-OWtr64FV.js +0 -40
  879. package/build/server/chunks/nodes/21.js-OWtr64FV.js.map +0 -1
  880. package/build/server/chunks/nodes/22.js-CgrfYomz.js +0 -30
  881. package/build/server/chunks/nodes/22.js-CgrfYomz.js.map +0 -1
  882. package/build/server/chunks/nodes/23.js-DSdFy57h.js +0 -27
  883. package/build/server/chunks/nodes/23.js-DSdFy57h.js.map +0 -1
  884. package/build/server/chunks/nodes/24.js-DTf4j6_g.js +0 -29
  885. package/build/server/chunks/nodes/24.js-DTf4j6_g.js.map +0 -1
  886. package/build/server/chunks/nodes/25.js-BeKjbo3g.js +0 -30
  887. package/build/server/chunks/nodes/25.js-BeKjbo3g.js.map +0 -1
  888. package/build/server/chunks/nodes/26.js-D2vYred6.js +0 -28
  889. package/build/server/chunks/nodes/26.js-D2vYred6.js.map +0 -1
  890. package/build/server/chunks/nodes/28.js-BCL0Bf64.js +0 -28
  891. package/build/server/chunks/nodes/28.js-BCL0Bf64.js.map +0 -1
  892. package/build/server/chunks/nodes/29.js--r9wrPrS.js +0 -28
  893. package/build/server/chunks/nodes/29.js--r9wrPrS.js.map +0 -1
  894. package/build/server/chunks/nodes/3.js-DbW1UeqM.js +0 -9
  895. package/build/server/chunks/nodes/3.js-DbW1UeqM.js.map +0 -1
  896. package/build/server/chunks/nodes/30.js-DpQBqzvz.js +0 -29
  897. package/build/server/chunks/nodes/30.js-DpQBqzvz.js.map +0 -1
  898. package/build/server/chunks/nodes/31.js-CYu7w_lU.js +0 -28
  899. package/build/server/chunks/nodes/31.js-CYu7w_lU.js.map +0 -1
  900. package/build/server/chunks/nodes/32.js-B3FBqYz3.js +0 -28
  901. package/build/server/chunks/nodes/32.js-B3FBqYz3.js.map +0 -1
  902. package/build/server/chunks/nodes/33.js-D6dOCmEr.js +0 -28
  903. package/build/server/chunks/nodes/33.js-D6dOCmEr.js.map +0 -1
  904. package/build/server/chunks/nodes/5.js-bOe5CfEb.js +0 -15
  905. package/build/server/chunks/nodes/5.js-bOe5CfEb.js.map +0 -1
  906. package/build/server/chunks/nodes/6.js-BOWda_QK.js +0 -28
  907. package/build/server/chunks/nodes/6.js-BOWda_QK.js.map +0 -1
  908. package/build/server/chunks/nodes/7.js-Doi5xOT0.js +0 -21
  909. package/build/server/chunks/nodes/7.js-Doi5xOT0.js.map +0 -1
  910. package/build/server/chunks/nodes/8.js-Chz3zPKT.js +0 -32
  911. package/build/server/chunks/nodes/8.js-Chz3zPKT.js.map +0 -1
  912. package/build/server/chunks/nodes/9.js-Bb1RL3WG.js +0 -28
  913. package/build/server/chunks/nodes/9.js-Bb1RL3WG.js.map +0 -1
@@ -1,3835 +0,0 @@
1
- import { X as head, a4 as escape_html, $ as ensure_array_like, T as derived, a9 as store_get, W as attr, a2 as attr_class, _ as stringify, aa as unsubscribe_stores, a6 as bind_props, Z as spread_props, a8 as props_id, a0 as attributes, a3 as attr_style } from '../../../chunks/server.js-fxznQVe4.js';
2
- import '../../../chunks/src.js-Cf1j97Z6.js';
3
- import { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from '../../../chunks/types.js-B_zdqlv_.js';
4
- import { f as createBitsAttrs, q as createId, b as boxWith, k as attachRef, v as boolToStrTrueOrUndef, p as mergeProps } from '../../../chunks/create-id.js-S9AoBzd9.js';
5
- import { I as Icon, c as cn } from '../../../chunks/utils2.js-RqmNbcNh.js';
6
- import { B as Button } from '../../../chunks/button.js-DbB0dwmm.js';
7
- import { A as Arrow_left } from '../../../chunks/arrow-left.js-STi78UNq.js';
8
- import { C as Check } from '../../../chunks/check.js-ZBkcmA-B.js';
9
- import { b as Callout } from '../../../chunks/Callout.js-2vvaMCZa.js';
10
- import { C as Circle } from '../../../chunks/circle.js-DN_KsZqP.js';
11
- import { U as User_plus, C as Copy } from '../../../chunks/user-plus.js-BkFlJcz_.js';
12
- import { D as Dialog_footer, U as Upload, F as File_up, P as Play } from '../../../chunks/dialog-footer.js-WWtvlInW.js';
13
- import { F as Folder_open } from '../../../chunks/folder-open.js-CJnc8m6o.js';
14
- import { S as Search, V as ViewToggle } from '../../../chunks/ViewToggle.js-BV0e_r1y.js';
15
- import { L as Link_2 } from '../../../chunks/link-2.js-BZDNkm4u.js';
16
- import { P as Plus } from '../../../chunks/plus.js-CyKPA-9j.js';
17
- import { S as Search$1 } from '../../../chunks/search.js-p8OoyQ2D.js';
18
- import { S as Settings } from '../../../chunks/settings.js-ClaRhfQF.js';
19
- import { T as Trash_2 } from '../../../chunks/trash-2.js-ByDxap-k.js';
20
- import { T as Triangle_alert } from '../../../chunks/triangle-alert.js-B55Ovp_J.js';
21
- import { U as Users } from '../../../chunks/users.js-BLt400qR.js';
22
- import { X } from '../../../chunks/x.js-DsqVhvY1.js';
23
- import { R as Root, A as Alert_dialog_content, a as Alert_dialog_header, c as Alert_dialog_title, d as Alert_dialog_description, b as Alert_dialog_footer, e as Alert_dialog_cancel, f as Alert_dialog_action } from '../../../chunks/alert-dialog.js-D4VqWclq.js';
24
- import { R as Root$1, D as Dialog_content, a as Dialog_header, b as Dialog_title, c as Dialog_description } from '../../../chunks/dialog.js-ChaJ-n8s.js';
25
- import { L as Label } from '../../../chunks/label.js-B2fFCw6p.js';
26
- import { d as Textarea, T as Tabs, a as Tabs_list, c as Tabs_trigger, b as Tabs_content } from '../../../chunks/tabs-trigger.js-C3PICukN.js';
27
- import { i as invalidateAll, g as goto } from '../../../chunks/client.js-BoVg2GeJ.js';
28
- import { S as SectionHeader } from '../../../chunks/SectionHeader.js-CHWtMRIN.js';
29
- import { E as EmptyState } from '../../../chunks/EmptyState.js-CjCy0_9x.js';
30
- import { B as Badge } from '../../../chunks/badge.js-BN79hFGD.js';
31
- import { I as Input } from '../../../chunks/input.js-nXGVOn5i.js';
32
- import { a as toast } from '../../../chunks/toast-state.svelte.js-DkqKrnCj.js';
33
- import { F as FilterableDropdown } from '../../../chunks/FilterableDropdown.js-D5qHOijP.js';
34
- import { C as ConfirmDialog } from '../../../chunks/ConfirmDialog.js-DRwiZj4l.js';
35
- import { p as page } from '../../../chunks/stores.js-CCXGL_6m.js';
36
- import { D as DefinitionCard, h as huesFor, m as monogram, f as formatUpdated, s as statusRing, a as statusDot } from '../../../chunks/DefinitionCard.js-4gzEHiRL.js';
37
- import { e as emailSubtitle, p as primaryLabel } from '../../../chunks/user-display.js-DK2uDS-J.js';
38
- import { U as UserAvatar } from '../../../chunks/UserAvatar.js-ZRWQAlFC.js';
39
- import '../../../chunks/uneval.js-sOjdN_Ot.js';
40
- import 'clsx';
41
- import 'zod';
42
- import 'tailwind-merge';
43
- import 'tailwind-variants';
44
- import '../../../chunks/info.js-ByvW1nC1.js';
45
- import '../../../chunks/scroll-lock.js-BxB04xoK.js';
46
- import '../../../chunks/index-server.js-gS5cdWCH.js';
47
- import '../../../chunks/events.js-DCr2n6fH.js';
48
- import '../../../chunks/index-server2.js-siA98IdX.js';
49
- import '../../../chunks/dialog-description.js-huVQABpc.js';
50
- import '../../../chunks/shared.js-JbueMana.js';
51
- import '@sveltejs/kit/internal';
52
- import '../../../chunks/exports.js-CPkIuisC.js';
53
- import '../../../chunks/routing.js-C2Q7p_y3.js';
54
- import '../../../chunks/internal2.js-BjFnZ91P.js';
55
- import '../../../chunks/legacy-client.js-B6XuTI3b.js';
56
- import '@sveltejs/kit/internal/server';
57
- import '../../../chunks/chevron-down.js-BDXhP2jb.js';
58
- import '../../../chunks/arrow-right.js-CJ2cNjuS.js';
59
- import '../../../chunks/server2.js-B1Z22rWd.js';
60
- import '../../../chunks/star.js-DiKFn7P4.js';
61
-
62
- //#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.9_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/cloud-upload.svelte
63
- function Cloud_upload($$renderer, $$props) {
64
- let { $$slots, $$events, ...props } = $$props;
65
- Icon($$renderer, spread_props([
66
- { name: "cloud-upload" },
67
- props,
68
- { iconNode: [
69
- ["path", { "d": "M12 13v8" }],
70
- ["path", { "d": "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" }],
71
- ["path", { "d": "m8 17 4-4 4 4" }]
72
- ] }
73
- ]));
74
- }
75
- //#endregion
76
- //#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.9_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/ellipsis.svelte
77
- function Ellipsis($$renderer, $$props) {
78
- let { $$slots, $$events, ...props } = $$props;
79
- Icon($$renderer, spread_props([
80
- { name: "ellipsis" },
81
- props,
82
- { iconNode: [
83
- ["circle", {
84
- "cx": "12",
85
- "cy": "12",
86
- "r": "1"
87
- }],
88
- ["circle", {
89
- "cx": "19",
90
- "cy": "12",
91
- "r": "1"
92
- }],
93
- ["circle", {
94
- "cx": "5",
95
- "cy": "12",
96
- "r": "1"
97
- }]
98
- ] }
99
- ]));
100
- }
101
- //#endregion
102
- //#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.9_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/image.svelte
103
- function Image($$renderer, $$props) {
104
- let { $$slots, $$events, ...props } = $$props;
105
- Icon($$renderer, spread_props([
106
- { name: "image" },
107
- props,
108
- { iconNode: [
109
- ["rect", {
110
- "width": "18",
111
- "height": "18",
112
- "x": "3",
113
- "y": "3",
114
- "rx": "2",
115
- "ry": "2"
116
- }],
117
- ["circle", {
118
- "cx": "9",
119
- "cy": "9",
120
- "r": "2"
121
- }],
122
- ["path", { "d": "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" }]
123
- ] }
124
- ]));
125
- }
126
- //#endregion
127
- //#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.9_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/share-2.svelte
128
- function Share_2($$renderer, $$props) {
129
- let { $$slots, $$events, ...props } = $$props;
130
- Icon($$renderer, spread_props([
131
- { name: "share-2" },
132
- props,
133
- { iconNode: [
134
- ["circle", {
135
- "cx": "18",
136
- "cy": "5",
137
- "r": "3"
138
- }],
139
- ["circle", {
140
- "cx": "6",
141
- "cy": "12",
142
- "r": "3"
143
- }],
144
- ["circle", {
145
- "cx": "18",
146
- "cy": "19",
147
- "r": "3"
148
- }],
149
- ["line", {
150
- "x1": "8.59",
151
- "x2": "15.42",
152
- "y1": "13.51",
153
- "y2": "17.49"
154
- }],
155
- ["line", {
156
- "x1": "15.41",
157
- "x2": "8.59",
158
- "y1": "6.51",
159
- "y2": "10.49"
160
- }]
161
- ] }
162
- ]));
163
- }
164
- //#endregion
165
- //#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.3_@sveltejs+kit@2.70.2_@opentelemetry+api@1_4e0c45487324ec3761a3b8a2bad76a91/node_modules/bits-ui/dist/bits/separator/separator.svelte.js
166
- var separatorAttrs = createBitsAttrs({
167
- component: "separator",
168
- parts: ["root"]
169
- });
170
- var SeparatorRootState = class SeparatorRootState {
171
- static create(opts) {
172
- return new SeparatorRootState(opts);
173
- }
174
- opts;
175
- attachment;
176
- constructor(opts) {
177
- this.opts = opts;
178
- this.attachment = attachRef(opts.ref);
179
- }
180
- #props = derived(() => ({
181
- id: this.opts.id.current,
182
- role: this.opts.decorative.current ? "none" : "separator",
183
- "aria-orientation": this.opts.orientation.current,
184
- "aria-hidden": boolToStrTrueOrUndef(this.opts.decorative.current),
185
- "data-orientation": this.opts.orientation.current,
186
- [separatorAttrs.root]: "",
187
- ...this.attachment
188
- }));
189
- get props() {
190
- return this.#props();
191
- }
192
- set props($$value) {
193
- return this.#props($$value);
194
- }
195
- };
196
- //#endregion
197
- //#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.3_@sveltejs+kit@2.70.2_@opentelemetry+api@1_4e0c45487324ec3761a3b8a2bad76a91/node_modules/bits-ui/dist/bits/separator/components/separator.svelte
198
- function Separator$1($$renderer, $$props) {
199
- $$renderer.component(($$renderer) => {
200
- const uid = props_id($$renderer);
201
- let { id = createId(uid), ref = null, child, children, decorative = false, orientation = "horizontal", $$slots, $$events, ...restProps } = $$props;
202
- const rootState = SeparatorRootState.create({
203
- ref: boxWith(() => ref, (v) => ref = v),
204
- id: boxWith(() => id),
205
- decorative: boxWith(() => decorative),
206
- orientation: boxWith(() => orientation)
207
- });
208
- const mergedProps = derived(() => mergeProps(restProps, rootState.props));
209
- if (child) {
210
- $$renderer.push("<!--[0-->");
211
- child($$renderer, { props: mergedProps() });
212
- $$renderer.push(`<!---->`);
213
- } else {
214
- $$renderer.push("<!--[-1-->");
215
- $$renderer.push(`<div${attributes({ ...mergedProps() })}>`);
216
- children?.($$renderer);
217
- $$renderer.push(`<!----></div>`);
218
- }
219
- $$renderer.push(`<!--]-->`);
220
- bind_props($$props, { ref });
221
- });
222
- }
223
- //#endregion
224
- //#region ../ui/dist/components/primitives/separator/separator.svelte
225
- function Separator($$renderer, $$props) {
226
- $$renderer.component(($$renderer) => {
227
- let { ref = null, class: className, "data-slot": dataSlot = "separator", $$slots, $$events, ...restProps } = $$props;
228
- let $$settled = true;
229
- let $$inner_renderer;
230
- function $$render_inner($$renderer) {
231
- if (Separator$1) {
232
- $$renderer.push("<!--[-->");
233
- Separator$1($$renderer, spread_props([
234
- {
235
- "data-slot": dataSlot,
236
- class: cn("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", className)
237
- },
238
- restProps,
239
- {
240
- get ref() {
241
- return ref;
242
- },
243
- set ref($$value) {
244
- ref = $$value;
245
- $$settled = false;
246
- }
247
- }
248
- ]));
249
- $$renderer.push("<!--]-->");
250
- } else {
251
- $$renderer.push("<!--[!-->");
252
- $$renderer.push("<!--]-->");
253
- }
254
- }
255
- do {
256
- $$settled = true;
257
- $$inner_renderer = $$renderer.copy();
258
- $$render_inner($$inner_renderer);
259
- } while (!$$settled);
260
- $$renderer.subsume($$inner_renderer);
261
- bind_props($$props, { ref });
262
- });
263
- }
264
- //#endregion
265
- //#region ../ui/dist/components/primitives/drawer/Drawer.svelte
266
- function Drawer($$renderer, $$props) {
267
- $$renderer.component(($$renderer) => {
268
- let { onClose, width = "w-125", ariaLabel = "Close drawer", children } = $$props;
269
- $$renderer.push(`<div role="button" tabindex="-1"${attr("aria-label", ariaLabel)} class="inset-0 bg-black/30 fixed z-50"></div> <div${attr_class(`animate-in slide-in-from-right-4 top-0 right-0 fixed z-50 flex h-full border-border bg-background ${stringify(width)} flex-col overflow-y-auto border-l duration-150`)}>`);
270
- children($$renderer);
271
- $$renderer.push(`<!----></div>`);
272
- });
273
- }
274
- //#endregion
275
- //#region ../ui/dist/components/primitives/ImageUploadField.svelte
276
- function ImageUploadField($$renderer, $$props) {
277
- $$renderer.component(($$renderer) => {
278
- let { mode = "url", value = "", disabled = false, isUploading = false, hasFile = false, onModeChange, onUpload, onUrlChange, onFileSelected, inputRef = void 0 } = $$props;
279
- $$renderer.push(`<div class="space-y-2"><div class="gap-1 p-0.5 flex rounded-md border">`);
280
- Button($$renderer, {
281
- size: "sm",
282
- variant: mode !== "upload" ? "default" : "ghost",
283
- onclick: () => onModeChange?.("url"),
284
- class: "h-7 text-xs flex-1",
285
- children: ($$renderer) => {
286
- $$renderer.push(`<!---->URL`);
287
- },
288
- $$slots: { default: true }
289
- });
290
- $$renderer.push(`<!----> `);
291
- Button($$renderer, {
292
- size: "sm",
293
- variant: mode === "upload" ? "default" : "ghost",
294
- onclick: () => onModeChange?.("upload"),
295
- class: "h-7 text-xs flex-1",
296
- children: ($$renderer) => {
297
- $$renderer.push(`<!---->Upload File`);
298
- },
299
- $$slots: { default: true }
300
- });
301
- $$renderer.push(`<!----></div> `);
302
- if (mode === "upload") {
303
- $$renderer.push("<!--[0-->");
304
- $$renderer.push(`<div class="gap-2 sm:flex-row sm:items-center flex flex-col"><input type="file" accept="image/*"${attr("disabled", disabled, true)} 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"/> `);
305
- Button($$renderer, {
306
- size: "sm",
307
- disabled: disabled || !hasFile || isUploading,
308
- onclick: onUpload,
309
- class: "shrink-0",
310
- children: ($$renderer) => {
311
- Upload($$renderer, { class: "mr-2 h-4 w-4" });
312
- $$renderer.push(`<!----> <span class="sm:inline hidden">${escape_html(isUploading ? "Uploading…" : "Upload")}</span>`);
313
- },
314
- $$slots: { default: true }
315
- });
316
- $$renderer.push(`<!----></div>`);
317
- } else {
318
- $$renderer.push("<!--[-1-->");
319
- Input($$renderer, {
320
- type: "text",
321
- value,
322
- disabled,
323
- oninput: (e) => onUrlChange?.(e.target.value),
324
- placeholder: "https://..."
325
- });
326
- }
327
- $$renderer.push(`<!--]--></div>`);
328
- bind_props($$props, { inputRef });
329
- });
330
- }
331
- //#endregion
332
- //#region src/lib/components/definitions/ProjectPicker.svelte
333
- function ProjectPicker($$renderer, $$props) {
334
- $$renderer.component(($$renderer) => {
335
- let { projects, value, onChange, id, placeholder = "Select a project" } = $$props;
336
- const items = derived(() => projects.map((p) => ({
337
- id: p.id,
338
- label: p.name
339
- })));
340
- FilterableDropdown($$renderer, {
341
- items: items(),
342
- value,
343
- onChange,
344
- id,
345
- placeholder,
346
- triggerIcon: Folder_open,
347
- searchPlaceholder: "Filter projects"
348
- });
349
- });
350
- }
351
- //#endregion
352
- //#region src/lib/components/definitions/AddDefinitionDialog.svelte
353
- function AddDefinitionDialog($$renderer, $$props) {
354
- $$renderer.component(($$renderer) => {
355
- let { open = false, isAdding = false, projects = [], defaultProjectId, computeServers = [], defaultComputeServerId = null, showProjectDropdown = false, onOpenChange} = $$props;
356
- let displayName = "";
357
- let description = "";
358
- let category = "";
359
- let tags = [];
360
- let coverImage = "";
361
- let imageMode = "url";
362
- let selectedProjectId = "";
363
- let selectedComputeServerId = "";
364
- let imageInput = void 0;
365
- let imageHasFile = false;
366
- let validating = false;
367
- let validationError = null;
368
- let validationSchema = null;
369
- async function handleSubmit() {
370
- if (!displayName.trim()) {
371
- toast.error("Display name is required");
372
- return;
373
- }
374
- toast.error("A Grasshopper file is required");
375
- }
376
- function resetForm() {
377
- displayName = "";
378
- description = "";
379
- category = "";
380
- tags = [];
381
- coverImage = "";
382
- imageMode = "url";
383
- selectedProjectId = defaultProjectId ?? "";
384
- selectedComputeServerId = "";
385
- validating = false;
386
- validationError = null;
387
- validationSchema = null;
388
- if (imageInput) imageInput.value = "";
389
- imageHasFile = false;
390
- }
391
- function handleOpenChange(newOpen) {
392
- if (!newOpen) resetForm();
393
- onOpenChange?.(newOpen);
394
- }
395
- let $$settled = true;
396
- let $$inner_renderer;
397
- function $$render_inner($$renderer) {
398
- if (Root$1) {
399
- $$renderer.push("<!--[-->");
400
- Root$1($$renderer, {
401
- open,
402
- onOpenChange: handleOpenChange,
403
- children: ($$renderer) => {
404
- if (Dialog_content) {
405
- $$renderer.push("<!--[-->");
406
- Dialog_content($$renderer, {
407
- class: "max-w-xl",
408
- children: ($$renderer) => {
409
- if (Dialog_header) {
410
- $$renderer.push("<!--[-->");
411
- Dialog_header($$renderer, {
412
- children: ($$renderer) => {
413
- if (Dialog_title) {
414
- $$renderer.push("<!--[-->");
415
- Dialog_title($$renderer, {
416
- children: ($$renderer) => {
417
- $$renderer.push(`<!---->Add New Definition`);
418
- },
419
- $$slots: { default: true }
420
- });
421
- $$renderer.push("<!--]-->");
422
- } else {
423
- $$renderer.push("<!--[!-->");
424
- $$renderer.push("<!--]-->");
425
- }
426
- $$renderer.push(` `);
427
- if (Dialog_description) {
428
- $$renderer.push("<!--[-->");
429
- Dialog_description($$renderer, {
430
- children: ($$renderer) => {
431
- $$renderer.push(`<!---->Upload a Grasshopper file and fill in the metadata.`);
432
- },
433
- $$slots: { default: true }
434
- });
435
- $$renderer.push("<!--]-->");
436
- } else {
437
- $$renderer.push("<!--[!-->");
438
- $$renderer.push("<!--]-->");
439
- }
440
- },
441
- $$slots: { default: true }
442
- });
443
- $$renderer.push("<!--]-->");
444
- } else {
445
- $$renderer.push("<!--[!-->");
446
- $$renderer.push("<!--]-->");
447
- }
448
- $$renderer.push(` <div class="space-y-4">`);
449
- if (showProjectDropdown || computeServers.length > 0) {
450
- $$renderer.push("<!--[0-->");
451
- $$renderer.push(`<div${attr_class(`grid gap-3 ${showProjectDropdown && computeServers.length > 0 ? "sm:grid-cols-2" : ""}`)}>`);
452
- if (showProjectDropdown) {
453
- $$renderer.push("<!--[0-->");
454
- $$renderer.push(`<div class="space-y-1">`);
455
- Label($$renderer, {
456
- for: "new-project",
457
- children: ($$renderer) => {
458
- $$renderer.push(`<!---->Project`);
459
- },
460
- $$slots: { default: true }
461
- });
462
- $$renderer.push(`<!----> `);
463
- ProjectPicker($$renderer, {
464
- id: "new-project",
465
- projects,
466
- value: selectedProjectId,
467
- onChange: (id) => selectedProjectId = id
468
- });
469
- $$renderer.push(`<!----></div>`);
470
- } else if (defaultProjectId) {
471
- $$renderer.push("<!--[1-->");
472
- const selectedProject = projects.find((p) => p.id === defaultProjectId);
473
- $$renderer.push(`<div class="space-y-1">`);
474
- Label($$renderer, {
475
- children: ($$renderer) => {
476
- $$renderer.push(`<!---->Project`);
477
- },
478
- $$slots: { default: true }
479
- });
480
- $$renderer.push(`<!----> <div class="bg-muted rounded-md px-3 py-2"><p class="text-sm font-medium">${escape_html(selectedProject?.name ?? "Unknown")}</p></div></div>`);
481
- } else $$renderer.push("<!--[-1-->");
482
- $$renderer.push(`<!--]--> `);
483
- if (computeServers.length > 0) {
484
- $$renderer.push("<!--[0-->");
485
- $$renderer.push(`<div class="space-y-1">`);
486
- Label($$renderer, {
487
- for: "new-server",
488
- children: ($$renderer) => {
489
- $$renderer.push(`<!---->Compute Server`);
490
- },
491
- $$slots: { default: true }
492
- });
493
- $$renderer.push(`<!----> `);
494
- $$renderer.select({
495
- id: "new-server",
496
- value: selectedComputeServerId || (defaultComputeServerId ?? ""),
497
- onchange: (e) => {
498
- const picked = e.currentTarget.value;
499
- selectedComputeServerId = picked === defaultComputeServerId ? "" : picked;
500
- },
501
- 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"
502
- }, ($$renderer) => {
503
- $$renderer.push(`<!--[-->`);
504
- const each_array = ensure_array_like(computeServers);
505
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
506
- let s = each_array[$$index];
507
- $$renderer.option({ value: s.id }, ($$renderer) => {
508
- $$renderer.push(`${escape_html(s.label)}${escape_html(s.id === defaultComputeServerId ? " (Default)" : "")}`);
509
- });
510
- }
511
- $$renderer.push(`<!--]-->`);
512
- });
513
- $$renderer.push(`</div>`);
514
- } else $$renderer.push("<!--[-1-->");
515
- $$renderer.push(`<!--]--></div>`);
516
- } else $$renderer.push("<!--[-1-->");
517
- $$renderer.push(`<!--]--> <div class="space-y-2">`);
518
- Label($$renderer, {
519
- for: "new-file",
520
- children: ($$renderer) => {
521
- $$renderer.push(`<!---->Grasshopper File <span class="text-destructive">*</span>`);
522
- },
523
- $$slots: { default: true }
524
- });
525
- $$renderer.push(`<!----> <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"/> `);
526
- if (validating) {
527
- $$renderer.push("<!--[0-->");
528
- $$renderer.push(`<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>`);
529
- } else if (validationError) {
530
- $$renderer.push("<!--[1-->");
531
- $$renderer.push(`<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">${escape_html(validationError)}</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>`);
532
- } else if (validationSchema) {
533
- $$renderer.push("<!--[2-->");
534
- const inputCount = validationSchema.inputs?.length ?? 0;
535
- const outputCount = validationSchema.outputs?.length ?? 0;
536
- $$renderer.push(`<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">${escape_html(inputCount)} input${escape_html(inputCount === 1 ? "" : "s")},
537
- ${escape_html(outputCount)} output${escape_html(outputCount === 1 ? "" : "s")}</p></div></div>`);
538
- } else $$renderer.push("<!--[-1-->");
539
- $$renderer.push(`<!--]--></div> <div class="space-y-2">`);
540
- Label($$renderer, {
541
- for: "new-dn",
542
- children: ($$renderer) => {
543
- $$renderer.push(`<!---->Display Name <span class="text-destructive">*</span>`);
544
- },
545
- $$slots: { default: true }
546
- });
547
- $$renderer.push(`<!----> `);
548
- Input($$renderer, {
549
- id: "new-dn",
550
- type: "text",
551
- placeholder: "e.g., Parametric Tower",
552
- get value() {
553
- return displayName;
554
- },
555
- set value($$value) {
556
- displayName = $$value;
557
- $$settled = false;
558
- }
559
- });
560
- $$renderer.push(`<!----></div> <div class="space-y-2">`);
561
- Label($$renderer, {
562
- for: "new-desc",
563
- children: ($$renderer) => {
564
- $$renderer.push(`<!---->Description`);
565
- },
566
- $$slots: { default: true }
567
- });
568
- $$renderer.push(`<!----> `);
569
- Textarea($$renderer, {
570
- id: "new-desc",
571
- rows: 3,
572
- placeholder: "Describe what this definition does…",
573
- get value() {
574
- return description;
575
- },
576
- set value($$value) {
577
- description = $$value;
578
- $$settled = false;
579
- }
580
- });
581
- $$renderer.push(`<!----></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">`);
582
- Label($$renderer, {
583
- for: "new-cat",
584
- children: ($$renderer) => {
585
- $$renderer.push(`<!---->Category`);
586
- },
587
- $$slots: { default: true }
588
- });
589
- $$renderer.push(`<!----> <p class="text-muted-foreground text-xs">${escape_html(category?.length ?? 0)}/40</p></div> `);
590
- Input($$renderer, {
591
- id: "new-cat",
592
- type: "text",
593
- maxlength: 40,
594
- placeholder: "e.g., Architecture",
595
- get value() {
596
- return category;
597
- },
598
- set value($$value) {
599
- category = $$value;
600
- $$settled = false;
601
- }
602
- });
603
- $$renderer.push(`<!----></div> <div class="space-y-1"><div class="flex items-center justify-between">`);
604
- Label($$renderer, {
605
- for: "new-tags",
606
- children: ($$renderer) => {
607
- $$renderer.push(`<!---->Tags`);
608
- },
609
- $$slots: { default: true }
610
- });
611
- $$renderer.push(`<!----> <p class="text-muted-foreground text-xs">${escape_html(tags.length)}/5</p></div> `);
612
- if (tags.length > 0) {
613
- $$renderer.push("<!--[0-->");
614
- $$renderer.push(`<div class="mb-2 flex flex-wrap gap-2"><!--[-->`);
615
- const each_array_1 = ensure_array_like(tags);
616
- for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
617
- let tag = each_array_1[$$index_1];
618
- Badge($$renderer, {
619
- variant: "outline",
620
- class: "cursor-pointer gap-1",
621
- children: ($$renderer) => {
622
- $$renderer.push(`<!---->${escape_html(tag)} <button type="button" class="ml-0.5 inline-flex items-center justify-center transition-opacity hover:opacity-70" title="Remove tag">`);
623
- X($$renderer, { class: "h-3 w-3" });
624
- $$renderer.push(`<!----></button>`);
625
- },
626
- $$slots: { default: true }
627
- });
628
- }
629
- $$renderer.push(`<!--]--></div>`);
630
- } else $$renderer.push("<!--[-1-->");
631
- $$renderer.push(`<!--]--> `);
632
- Input($$renderer, {
633
- id: "new-tags",
634
- type: "text",
635
- placeholder: "Add tag and press Enter",
636
- disabled: tags.length >= 5,
637
- onkeydown: (e) => {
638
- if (e.key === "Enter") {
639
- e.preventDefault();
640
- const input = e.currentTarget;
641
- const tag = input.value.trim();
642
- if (tag && !tags.includes(tag) && tags.length < 5) {
643
- tags = [...tags, tag];
644
- input.value = "";
645
- }
646
- }
647
- }
648
- });
649
- $$renderer.push(`<!----></div></div> <div class="space-y-2">`);
650
- Label($$renderer, {
651
- children: ($$renderer) => {
652
- $$renderer.push(`<!---->Cover Image`);
653
- },
654
- $$slots: { default: true }
655
- });
656
- $$renderer.push(`<!----> `);
657
- ImageUploadField($$renderer, {
658
- mode: imageMode,
659
- value: coverImage,
660
- hasFile: imageHasFile,
661
- onModeChange: (m) => imageMode = m,
662
- onUpload: () => {},
663
- onFileSelected: () => imageHasFile = !!imageInput?.files?.length,
664
- onUrlChange: (url) => coverImage = url,
665
- get inputRef() {
666
- return imageInput;
667
- },
668
- set inputRef($$value) {
669
- imageInput = $$value;
670
- $$settled = false;
671
- }
672
- });
673
- $$renderer.push(`<!----></div></div> `);
674
- if (Dialog_footer) {
675
- $$renderer.push("<!--[-->");
676
- Dialog_footer($$renderer, {
677
- class: "gap-2 sm:justify-end",
678
- children: ($$renderer) => {
679
- Button($$renderer, {
680
- variant: "outline",
681
- onclick: () => onOpenChange?.(false),
682
- children: ($$renderer) => {
683
- $$renderer.push(`<!---->Cancel`);
684
- },
685
- $$slots: { default: true }
686
- });
687
- $$renderer.push(`<!----> `);
688
- Button($$renderer, {
689
- onclick: handleSubmit,
690
- disabled: isAdding || validating || !validationSchema,
691
- children: ($$renderer) => {
692
- $$renderer.push(`<!---->${escape_html(isAdding ? "Creating…" : validating ? "Validating…" : "Create Definition")}`);
693
- },
694
- $$slots: { default: true }
695
- });
696
- $$renderer.push(`<!---->`);
697
- },
698
- $$slots: { default: true }
699
- });
700
- $$renderer.push("<!--]-->");
701
- } else {
702
- $$renderer.push("<!--[!-->");
703
- $$renderer.push("<!--]-->");
704
- }
705
- },
706
- $$slots: { default: true }
707
- });
708
- $$renderer.push("<!--]-->");
709
- } else {
710
- $$renderer.push("<!--[!-->");
711
- $$renderer.push("<!--]-->");
712
- }
713
- },
714
- $$slots: { default: true }
715
- });
716
- $$renderer.push("<!--]-->");
717
- } else {
718
- $$renderer.push("<!--[!-->");
719
- $$renderer.push("<!--]-->");
720
- }
721
- }
722
- do {
723
- $$settled = true;
724
- $$inner_renderer = $$renderer.copy();
725
- $$render_inner($$inner_renderer);
726
- } while (!$$settled);
727
- $$renderer.subsume($$inner_renderer);
728
- });
729
- }
730
- //#endregion
731
- //#region src/routes/projects/_components/ProjectSidebar.svelte
732
- function ProjectSidebar($$renderer, $$props) {
733
- $$renderer.component(($$renderer) => {
734
- let { projects, records, activeProjectId, canManageProjects} = $$props;
735
- let filterQuery = "";
736
- const filteredProjects = derived(() => {
737
- const q = filterQuery.trim().toLowerCase();
738
- if (!q) return projects;
739
- return projects.filter((p) => p.name.toLowerCase().includes(q));
740
- });
741
- let $$settled = true;
742
- let $$inner_renderer;
743
- function $$render_inner($$renderer) {
744
- $$renderer.push(`<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> `);
745
- if (canManageProjects) {
746
- $$renderer.push("<!--[0-->");
747
- $$renderer.push(`<button class="text-muted-foreground hover:text-foreground rounded p-0.5 transition-colors" title="New project" aria-label="New project">`);
748
- Plus($$renderer, { class: "h-3.5 w-3.5" });
749
- $$renderer.push(`<!----></button>`);
750
- } else $$renderer.push("<!--[-1-->");
751
- $$renderer.push(`<!--]--></div> `);
752
- $$renderer.push("<!--[-1-->");
753
- $$renderer.push(`<!--]--> `);
754
- if (projects.length > 4) {
755
- $$renderer.push("<!--[0-->");
756
- $$renderer.push(`<div class="relative mx-3 mb-2">`);
757
- Search$1($$renderer, { class: "text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2" });
758
- $$renderer.push(`<!----> <input${attr("value", filterQuery)} 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>`);
759
- } else $$renderer.push("<!--[-1-->");
760
- $$renderer.push(`<!--]--> <nav class="flex-1 space-y-px pr-2 pb-4"><button${attr_class(`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${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"}`)}>`);
761
- if (activeProjectId === null) {
762
- $$renderer.push("<!--[0-->");
763
- $$renderer.push(`<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>`);
764
- } else $$renderer.push("<!--[-1-->");
765
- $$renderer.push(`<!--]--> `);
766
- Folder_open($$renderer, { class: "h-3.5 w-3.5 shrink-0 opacity-70" });
767
- $$renderer.push(`<!----> <span class="flex-1 truncate text-sm font-medium">All projects</span></button> `);
768
- if (filteredProjects().length > 0) {
769
- $$renderer.push("<!--[0-->");
770
- $$renderer.push(`<div class="border-border/60 my-2 border-t"></div>`);
771
- } else $$renderer.push("<!--[-1-->");
772
- $$renderer.push(`<!--]--> <!--[-->`);
773
- const each_array = ensure_array_like(filteredProjects());
774
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
775
- let project = each_array[$$index];
776
- const isActive = activeProjectId === project.id;
777
- const defCount = records.filter((r) => r.projectId === project.id).length;
778
- $$renderer.push(`<button${attr_class(`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${isActive ? "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"}`)}>`);
779
- if (isActive) {
780
- $$renderer.push("<!--[0-->");
781
- $$renderer.push(`<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>`);
782
- } else $$renderer.push("<!--[-1-->");
783
- $$renderer.push(`<!--]--> <span class="flex-1 truncate text-sm font-medium">${escape_html(project.name)}</span> <span class="shrink-0 font-mono text-[11px] tabular-nums opacity-60">${escape_html(defCount)}</span></button>`);
784
- }
785
- $$renderer.push(`<!--]--> `);
786
- if (projects.length === 0) {
787
- $$renderer.push("<!--[0-->");
788
- $$renderer.push(`<p class="text-muted-foreground px-2 py-4 text-center text-xs">No projects yet</p>`);
789
- } else if (filteredProjects().length === 0 && filterQuery);
790
- else $$renderer.push("<!--[-1-->");
791
- $$renderer.push(`<!--]--></nav></aside>`);
792
- }
793
- do {
794
- $$settled = true;
795
- $$inner_renderer = $$renderer.copy();
796
- $$render_inner($$inner_renderer);
797
- } while (!$$settled);
798
- $$renderer.subsume($$inner_renderer);
799
- });
800
- }
801
- //#endregion
802
- //#region src/routes/projects/_components/AddMemberPicker.svelte
803
- function AddMemberPicker($$renderer, $$props) {
804
- $$renderer.component(($$renderer) => {
805
- let { availableUsers} = $$props;
806
- let query = "";
807
- let highlighted = 0;
808
- const matches = derived(() => {
809
- const q = query.trim().toLowerCase();
810
- if (!q) return availableUsers.slice(0, 50);
811
- return availableUsers.filter((u) => {
812
- const name = (u.displayName ?? "").toLowerCase();
813
- const email = (u.email ?? "").toLowerCase();
814
- return name.includes(q) || email.includes(q);
815
- }).slice(0, 50);
816
- });
817
- function userLabel(u) {
818
- return primaryLabel(u, u.id.slice(0, 8));
819
- }
820
- $$renderer.push(`<div class="border-border bg-card rounded-md border">`);
821
- {
822
- $$renderer.push("<!--[0-->");
823
- $$renderer.push(`<div class="border-border relative border-b">`);
824
- Search$1($$renderer, { class: "text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-3.5 w-3.5 -translate-y-1/2" });
825
- $$renderer.push(`<!----> <input${attr("value", query)} autofocus="" 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">`);
826
- X($$renderer, { class: "h-3.5 w-3.5" });
827
- $$renderer.push(`<!----></button></div> <div class="max-h-60 overflow-y-auto py-1">`);
828
- if (matches().length === 0) {
829
- $$renderer.push("<!--[0-->");
830
- $$renderer.push(`<p class="text-muted-foreground px-3 py-6 text-center text-xs">${escape_html(availableUsers.length === 0 ? "Everyone in this org is already on the project." : `No matches for "${query}"`)}</p>`);
831
- } else {
832
- $$renderer.push("<!--[-1-->");
833
- $$renderer.push(`<!--[-->`);
834
- const each_array = ensure_array_like(matches());
835
- for (let i = 0, $$length = each_array.length; i < $$length; i++) {
836
- let user = each_array[i];
837
- $$renderer.push(`<button type="button"${attr("data-idx", i)}${attr_class(`flex w-full items-center gap-3 px-3 py-2 text-left transition-colors ${highlighted === i ? "bg-accent text-accent-foreground" : "hover:bg-muted/60"}`)}>`);
838
- UserAvatar($$renderer, {
839
- name: userLabel(user),
840
- size: "sm"
841
- });
842
- $$renderer.push(`<!----> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium">${escape_html(userLabel(user))}</p> `);
843
- if (emailSubtitle(user)) {
844
- $$renderer.push("<!--[0-->");
845
- $$renderer.push(`<p class="text-muted-foreground truncate font-mono text-xs">${escape_html(user.email)}</p>`);
846
- } else $$renderer.push("<!--[-1-->");
847
- $$renderer.push(`<!--]--></div></button>`);
848
- }
849
- $$renderer.push(`<!--]-->`);
850
- }
851
- $$renderer.push(`<!--]--></div>`);
852
- }
853
- $$renderer.push(`<!--]--></div>`);
854
- });
855
- }
856
- //#endregion
857
- //#region src/routes/projects/_components/ProjectSettingsDialog.svelte
858
- function ProjectSettingsDialog($$renderer, $$props) {
859
- $$renderer.component(($$renderer) => {
860
- let { project, users, open, onOpenChange, onSave, onDelete, onUpdateMemberRole, onRemoveMember } = $$props;
861
- let name = project.name;
862
- let description = project.description ?? "";
863
- let visibility = project.visibility;
864
- let saving = false;
865
- let tab = "general";
866
- let showAddForm = false;
867
- let removing = null;
868
- let confirmingRemove = null;
869
- let showRemoveConfirm = false;
870
- function userLabel(userId) {
871
- const u = users.find((u) => u.id === userId);
872
- return u?.displayName ?? u?.email ?? userId.slice(0, 8);
873
- }
874
- function userEmail(userId) {
875
- return users.find((u) => u.id === userId)?.email;
876
- }
877
- const visibilityHint = derived(() => ({
878
- public: "Any authenticated user can solve this project.",
879
- org: "Any member of the organization can solve this project.",
880
- private: "Only the project members listed under Members can solve this project.",
881
- platform: "Managed by platform admins — access is granted per org or user."
882
- })[visibility]);
883
- const membersGrantAccess = derived(() => project.visibility === "private");
884
- const membershipMeaning = derived(() => ({
885
- public: "Every authenticated user can already view and solve this project, whether or not they are a member. Membership here only grants editing rights.",
886
- org: "Every member of the organization can already view and solve this project, whether or not they are a member here. Membership only grants editing rights.",
887
- private: "This project is private, so this list is exactly who can reach it.",
888
- platform: "Access to a platform project is granted by platform admins per org or user. Membership here only grants editing rights."
889
- })[project.visibility]);
890
- function removalWarning(userId) {
891
- const who = userLabel(userId);
892
- if (membersGrantAccess()) return `Remove ${who} from this project? They lose access to it.`;
893
- return `Remove ${who} from this project? They lose editing rights, but ${project.visibility === "org" ? "every member of the organization" : "anyone who can reach it"} keeps view and solve access — including them. Make the project private if you need to cut off access.`;
894
- }
895
- const availableUsers = derived(() => {
896
- const ids = new Set(project.members.map((m) => m.userId));
897
- return users.filter((u) => !ids.has(u.id));
898
- });
899
- async function save() {
900
- saving = true;
901
- try {
902
- await onSave(project.id, {
903
- name,
904
- description,
905
- visibility
906
- });
907
- } finally {
908
- saving = false;
909
- }
910
- }
911
- async function remove(userId) {
912
- removing = userId;
913
- try {
914
- await onRemoveMember(project.id, userId);
915
- showRemoveConfirm = false;
916
- } finally {
917
- removing = null;
918
- }
919
- }
920
- let $$settled = true;
921
- let $$inner_renderer;
922
- function $$render_inner($$renderer) {
923
- if (Root$1) {
924
- $$renderer.push("<!--[-->");
925
- Root$1($$renderer, {
926
- open,
927
- onOpenChange,
928
- children: ($$renderer) => {
929
- if (Dialog_content) {
930
- $$renderer.push("<!--[-->");
931
- Dialog_content($$renderer, {
932
- class: "flex max-h-[calc(100dvh-2rem)] max-w-lg flex-col overflow-hidden",
933
- children: ($$renderer) => {
934
- if (Dialog_header) {
935
- $$renderer.push("<!--[-->");
936
- Dialog_header($$renderer, {
937
- class: "shrink-0",
938
- children: ($$renderer) => {
939
- if (Dialog_title) {
940
- $$renderer.push("<!--[-->");
941
- Dialog_title($$renderer, {
942
- children: ($$renderer) => {
943
- $$renderer.push(`<!---->Project settings`);
944
- },
945
- $$slots: { default: true }
946
- });
947
- $$renderer.push("<!--]-->");
948
- } else {
949
- $$renderer.push("<!--[!-->");
950
- $$renderer.push("<!--]-->");
951
- }
952
- $$renderer.push(` `);
953
- if (Dialog_description) {
954
- $$renderer.push("<!--[-->");
955
- Dialog_description($$renderer, {
956
- children: ($$renderer) => {
957
- $$renderer.push(`<!---->Manage this project's details and members.`);
958
- },
959
- $$slots: { default: true }
960
- });
961
- $$renderer.push("<!--]-->");
962
- } else {
963
- $$renderer.push("<!--[!-->");
964
- $$renderer.push("<!--]-->");
965
- }
966
- },
967
- $$slots: { default: true }
968
- });
969
- $$renderer.push("<!--]-->");
970
- } else {
971
- $$renderer.push("<!--[!-->");
972
- $$renderer.push("<!--]-->");
973
- }
974
- $$renderer.push(` `);
975
- if (Tabs) {
976
- $$renderer.push("<!--[-->");
977
- Tabs($$renderer, {
978
- class: "mt-2 flex h-120 min-h-0 flex-col",
979
- get value() {
980
- return tab;
981
- },
982
- set value($$value) {
983
- tab = $$value;
984
- $$settled = false;
985
- },
986
- children: ($$renderer) => {
987
- if (Tabs_list) {
988
- $$renderer.push("<!--[-->");
989
- Tabs_list($$renderer, {
990
- class: "grid w-full shrink-0 grid-cols-2",
991
- children: ($$renderer) => {
992
- if (Tabs_trigger) {
993
- $$renderer.push("<!--[-->");
994
- Tabs_trigger($$renderer, {
995
- value: "general",
996
- children: ($$renderer) => {
997
- $$renderer.push(`<!---->General`);
998
- },
999
- $$slots: { default: true }
1000
- });
1001
- $$renderer.push("<!--]-->");
1002
- } else {
1003
- $$renderer.push("<!--[!-->");
1004
- $$renderer.push("<!--]-->");
1005
- }
1006
- $$renderer.push(` `);
1007
- if (Tabs_trigger) {
1008
- $$renderer.push("<!--[-->");
1009
- Tabs_trigger($$renderer, {
1010
- value: "members",
1011
- class: "gap-1.5",
1012
- children: ($$renderer) => {
1013
- Users($$renderer, { class: "h-3.5 w-3.5" });
1014
- $$renderer.push(`<!----> Members <span class="text-muted-foreground ml-1 font-mono text-[11px]">${escape_html(project.members.length)}</span>`);
1015
- },
1016
- $$slots: { default: true }
1017
- });
1018
- $$renderer.push("<!--]-->");
1019
- } else {
1020
- $$renderer.push("<!--[!-->");
1021
- $$renderer.push("<!--]-->");
1022
- }
1023
- },
1024
- $$slots: { default: true }
1025
- });
1026
- $$renderer.push("<!--]-->");
1027
- } else {
1028
- $$renderer.push("<!--[!-->");
1029
- $$renderer.push("<!--]-->");
1030
- }
1031
- $$renderer.push(` `);
1032
- if (Tabs_content) {
1033
- $$renderer.push("<!--[-->");
1034
- Tabs_content($$renderer, {
1035
- value: "general",
1036
- class: "mt-4 min-h-0 flex-1 space-y-5 overflow-y-auto pr-1 data-[state=inactive]:hidden",
1037
- children: ($$renderer) => {
1038
- $$renderer.push(`<div class="space-y-1.5">`);
1039
- Label($$renderer, {
1040
- for: "proj-name",
1041
- children: ($$renderer) => {
1042
- $$renderer.push(`<!---->Name`);
1043
- },
1044
- $$slots: { default: true }
1045
- });
1046
- $$renderer.push(`<!----> `);
1047
- Input($$renderer, {
1048
- id: "proj-name",
1049
- get value() {
1050
- return name;
1051
- },
1052
- set value($$value) {
1053
- name = $$value;
1054
- $$settled = false;
1055
- }
1056
- });
1057
- $$renderer.push(`<!----></div> <div class="space-y-1.5">`);
1058
- Label($$renderer, {
1059
- for: "proj-desc",
1060
- children: ($$renderer) => {
1061
- $$renderer.push(`<!---->Description`);
1062
- },
1063
- $$slots: { default: true }
1064
- });
1065
- $$renderer.push(`<!----> `);
1066
- Textarea($$renderer, {
1067
- id: "proj-desc",
1068
- rows: 5,
1069
- get value() {
1070
- return description;
1071
- },
1072
- set value($$value) {
1073
- description = $$value;
1074
- $$settled = false;
1075
- }
1076
- });
1077
- $$renderer.push(`<!----></div> <div class="space-y-1.5">`);
1078
- Label($$renderer, {
1079
- for: "proj-vis",
1080
- children: ($$renderer) => {
1081
- $$renderer.push(`<!---->Visibility`);
1082
- },
1083
- $$slots: { default: true }
1084
- });
1085
- $$renderer.push(`<!----> `);
1086
- $$renderer.select({
1087
- id: "proj-vis",
1088
- value: visibility,
1089
- class: "border-input bg-background h-10 w-full rounded-md border px-3 text-sm"
1090
- }, ($$renderer) => {
1091
- $$renderer.option({ value: "public" }, ($$renderer) => {
1092
- $$renderer.push(`Public`);
1093
- });
1094
- $$renderer.option({ value: "org" }, ($$renderer) => {
1095
- $$renderer.push(`Org`);
1096
- });
1097
- $$renderer.option({ value: "private" }, ($$renderer) => {
1098
- $$renderer.push(`Private`);
1099
- });
1100
- if (visibility === "platform") {
1101
- $$renderer.push("<!--[0-->");
1102
- $$renderer.option({ value: "platform" }, ($$renderer) => {
1103
- $$renderer.push(`Platform`);
1104
- });
1105
- } else $$renderer.push("<!--[-1-->");
1106
- $$renderer.push(`<!--]-->`);
1107
- });
1108
- $$renderer.push(` <p class="text-muted-foreground text-xs">${escape_html(visibilityHint())}</p></div>`);
1109
- },
1110
- $$slots: { default: true }
1111
- });
1112
- $$renderer.push("<!--]-->");
1113
- } else {
1114
- $$renderer.push("<!--[!-->");
1115
- $$renderer.push("<!--]-->");
1116
- }
1117
- $$renderer.push(` `);
1118
- if (Tabs_content) {
1119
- $$renderer.push("<!--[-->");
1120
- Tabs_content($$renderer, {
1121
- value: "members",
1122
- class: "mt-4 flex min-h-0 flex-1 flex-col gap-3 overflow-hidden data-[state=inactive]:hidden",
1123
- children: ($$renderer) => {
1124
- $$renderer.push(`<p${attr_class(`shrink-0 rounded-md border px-3 py-2 text-xs ${membersGrantAccess() ? "border-border bg-muted/40 text-muted-foreground" : "border-amber-500/40 bg-amber-500/5 text-amber-700 dark:text-amber-400"}`)}>${escape_html(membershipMeaning())}</p> `);
1125
- if (project.members.length === 0 && !showAddForm) {
1126
- $$renderer.push("<!--[0-->");
1127
- EmptyState($$renderer, {
1128
- size: "sm",
1129
- icon: Users,
1130
- title: "No members yet",
1131
- description: membersGrantAccess() ? "Add members to give them access to this project." : "Add members to give them editing rights on this project."
1132
- });
1133
- } else if (project.members.length > 0) {
1134
- $$renderer.push("<!--[1-->");
1135
- $$renderer.push(`<div class="border-border bg-card min-h-0 flex-1 overflow-y-auto rounded-md border"><!--[-->`);
1136
- const each_array = ensure_array_like(project.members);
1137
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1138
- let member = each_array[$$index];
1139
- $$renderer.push(`<div class="border-border flex items-center gap-3 border-b px-3 py-2.5 last:border-0"><div class="shrink-0">`);
1140
- UserAvatar($$renderer, {
1141
- name: userLabel(member.userId),
1142
- size: "sm"
1143
- });
1144
- $$renderer.push(`<!----></div> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium">${escape_html(userLabel(member.userId))}</p> `);
1145
- if (userEmail(member.userId) && userEmail(member.userId) !== userLabel(member.userId)) {
1146
- $$renderer.push("<!--[0-->");
1147
- $$renderer.push(`<p class="text-muted-foreground truncate font-mono text-xs">${escape_html(userEmail(member.userId))}</p>`);
1148
- } else $$renderer.push("<!--[-1-->");
1149
- $$renderer.push(`<!--]--></div> `);
1150
- $$renderer.select({
1151
- value: member.role,
1152
- onchange: (e) => onUpdateMemberRole(project.id, member.userId, e.target.value),
1153
- class: "border-input bg-background h-8 shrink-0 rounded-md border px-2 text-xs outline-none"
1154
- }, ($$renderer) => {
1155
- $$renderer.option({ value: "owner" }, ($$renderer) => {
1156
- $$renderer.push(`Owner`);
1157
- });
1158
- $$renderer.option({ value: "editor" }, ($$renderer) => {
1159
- $$renderer.push(`Editor`);
1160
- });
1161
- $$renderer.option({ value: "viewer" }, ($$renderer) => {
1162
- $$renderer.push(`Viewer`);
1163
- });
1164
- });
1165
- $$renderer.push(` `);
1166
- Button($$renderer, {
1167
- onclick: () => {
1168
- confirmingRemove = member.userId;
1169
- showRemoveConfirm = true;
1170
- },
1171
- disabled: removing === member.userId,
1172
- variant: "ghost",
1173
- size: "icon",
1174
- class: "text-muted-foreground hover:text-destructive h-7 w-7 shrink-0",
1175
- children: ($$renderer) => {
1176
- X($$renderer, { class: "h-3.5 w-3.5" });
1177
- },
1178
- $$slots: { default: true }
1179
- });
1180
- $$renderer.push(`<!----></div>`);
1181
- }
1182
- $$renderer.push(`<!--]--></div>`);
1183
- } else $$renderer.push("<!--[-1-->");
1184
- $$renderer.push(`<!--]--> <div class="shrink-0">`);
1185
- if (showAddForm) {
1186
- $$renderer.push("<!--[0-->");
1187
- AddMemberPicker($$renderer, {
1188
- availableUsers: availableUsers()});
1189
- } else {
1190
- $$renderer.push("<!--[-1-->");
1191
- Button($$renderer, {
1192
- onclick: () => showAddForm = true,
1193
- variant: "outline",
1194
- size: "sm",
1195
- class: "gap-1.5",
1196
- children: ($$renderer) => {
1197
- User_plus($$renderer, { class: "h-3.5 w-3.5" });
1198
- $$renderer.push(`<!----> Add member`);
1199
- },
1200
- $$slots: { default: true }
1201
- });
1202
- }
1203
- $$renderer.push(`<!--]--></div>`);
1204
- },
1205
- $$slots: { default: true }
1206
- });
1207
- $$renderer.push("<!--]-->");
1208
- } else {
1209
- $$renderer.push("<!--[!-->");
1210
- $$renderer.push("<!--]-->");
1211
- }
1212
- },
1213
- $$slots: { default: true }
1214
- });
1215
- $$renderer.push("<!--]-->");
1216
- } else {
1217
- $$renderer.push("<!--[!-->");
1218
- $$renderer.push("<!--]-->");
1219
- }
1220
- $$renderer.push(` <div class="border-border mt-4 flex shrink-0 items-center justify-between border-t pt-4">`);
1221
- Button($$renderer, {
1222
- onclick: () => onDelete(project.id),
1223
- variant: "ghost",
1224
- size: "sm",
1225
- class: "text-destructive hover:text-destructive gap-1.5 px-2",
1226
- children: ($$renderer) => {
1227
- Trash_2($$renderer, { class: "h-3.5 w-3.5" });
1228
- $$renderer.push(`<!----> Delete project`);
1229
- },
1230
- $$slots: { default: true }
1231
- });
1232
- $$renderer.push(`<!----> <div class="flex gap-2">`);
1233
- Button($$renderer, {
1234
- onclick: () => onOpenChange(false),
1235
- variant: "outline",
1236
- size: "sm",
1237
- children: ($$renderer) => {
1238
- $$renderer.push(`<!---->${escape_html(tab === "general" ? "Cancel" : "Close")}`);
1239
- },
1240
- $$slots: { default: true }
1241
- });
1242
- $$renderer.push(`<!----> `);
1243
- if (tab === "general") {
1244
- $$renderer.push("<!--[0-->");
1245
- Button($$renderer, {
1246
- onclick: save,
1247
- disabled: saving,
1248
- size: "sm",
1249
- children: ($$renderer) => {
1250
- $$renderer.push(`<!---->${escape_html(saving ? "Saving…" : "Save")}`);
1251
- },
1252
- $$slots: { default: true }
1253
- });
1254
- } else $$renderer.push("<!--[-1-->");
1255
- $$renderer.push(`<!--]--></div></div>`);
1256
- },
1257
- $$slots: { default: true }
1258
- });
1259
- $$renderer.push("<!--]-->");
1260
- } else {
1261
- $$renderer.push("<!--[!-->");
1262
- $$renderer.push("<!--]-->");
1263
- }
1264
- },
1265
- $$slots: { default: true }
1266
- });
1267
- $$renderer.push("<!--]-->");
1268
- } else {
1269
- $$renderer.push("<!--[!-->");
1270
- $$renderer.push("<!--]-->");
1271
- }
1272
- $$renderer.push(` `);
1273
- ConfirmDialog($$renderer, {
1274
- title: "Remove member?",
1275
- description: confirmingRemove ? removalWarning(confirmingRemove) : void 0,
1276
- confirmLabel: "Remove",
1277
- pendingLabel: "Removing…",
1278
- variant: "destructive",
1279
- onConfirm: () => {
1280
- if (confirmingRemove) return remove(confirmingRemove);
1281
- },
1282
- get open() {
1283
- return showRemoveConfirm;
1284
- },
1285
- set open($$value) {
1286
- showRemoveConfirm = $$value;
1287
- $$settled = false;
1288
- }
1289
- });
1290
- $$renderer.push(`<!---->`);
1291
- }
1292
- do {
1293
- $$settled = true;
1294
- $$inner_renderer = $$renderer.copy();
1295
- $$render_inner($$inner_renderer);
1296
- } while (!$$settled);
1297
- $$renderer.subsume($$inner_renderer);
1298
- });
1299
- }
1300
- //#endregion
1301
- //#region src/routes/projects/_components/StatusBadge.svelte
1302
- function StatusBadge($$renderer, $$props) {
1303
- $$renderer.component(($$renderer) => {
1304
- let { status, class: className = "" } = $$props;
1305
- $$renderer.push(`<span${attr_class(`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[11px] tracking-wide ${stringify(statusRing(status))} ${stringify(className)}`)}><span${attr_class(`h-1.5 w-1.5 rounded-full ${stringify(statusDot(status))}`)}></span> ${escape_html(status)}</span>`);
1306
- });
1307
- }
1308
- //#endregion
1309
- //#region src/routes/projects/_components/DefinitionListView.svelte
1310
- function DefinitionListView($$renderer, $$props) {
1311
- $$renderer.component(($$renderer) => {
1312
- let { records, projects} = $$props;
1313
- const gridTemplate = "grid-template-columns: 40px 1.6fr 0.9fr 0.8fr 0.7fr 0.6fr 36px";
1314
- function projectName(id) {
1315
- return projects.find((p) => p.id === id)?.name ?? "";
1316
- }
1317
- $$renderer.push(`<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"${attr_style(gridTemplate)}><span></span><span>Definition</span><span>Project</span><span>Status</span><span>Updated</span> <span class="text-right">Runs</span><span></span></div> <!--[-->`);
1318
- const each_array = ensure_array_like(records);
1319
- for (let i = 0, $$length = each_array.length; i < $$length; i++) {
1320
- let record = each_array[i];
1321
- $$renderer.push(`<div${attr_class(`grid items-center gap-4 px-4 py-3 text-[13px] ${i < records.length - 1 ? "border-border border-b" : ""}`)}${attr_style(gridTemplate)}>`);
1322
- if (record.coverImage) {
1323
- $$renderer.push("<!--[0-->");
1324
- $$renderer.push(`<div class="flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><img${attr("src", record.coverImage)} alt="" class="h-full w-full object-cover"/></div>`);
1325
- } else {
1326
- $$renderer.push("<!--[-1-->");
1327
- const hues = huesFor(record.guid);
1328
- $$renderer.push(`<div class="tool-cover-fallback flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"${attr_style("", {
1329
- "--tool-h1": hues.h1,
1330
- "--tool-h2": hues.h2
1331
- })}><span class="text-foreground/40 text-base font-semibold">${escape_html(monogram(record.displayName))}</span></div>`);
1332
- }
1333
- $$renderer.push(`<!--]--> <span class="min-w-0"><span class="font-semibold">${escape_html(record.displayName)}</span> `);
1334
- if (record.description) {
1335
- $$renderer.push("<!--[0-->");
1336
- $$renderer.push(`<span class="text-muted-foreground ml-2 text-[12px]">${escape_html(record.description.slice(0, 60))}${escape_html(record.description.length > 60 ? "…" : "")}</span>`);
1337
- } else $$renderer.push("<!--[-1-->");
1338
- $$renderer.push(`<!--]--></span> <span class="text-muted-foreground">${escape_html(projectName(record.projectId))}</span> <span>`);
1339
- StatusBadge($$renderer, { status: record.status });
1340
- $$renderer.push(`<!----></span> <span class="text-muted-foreground font-mono text-[12px]">${escape_html(formatUpdated(record.updatedAt))}</span> <span class="text-right font-mono text-[12px]">${escape_html(record.solveCount.toLocaleString())}</span> <span class="flex justify-end"><button type="button" class="text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1 transition-colors"${attr("aria-label", `Open ${stringify(record.displayName)}`)}>`);
1341
- Ellipsis($$renderer, { class: "h-4 w-4" });
1342
- $$renderer.push(`<!----></button></span></div>`);
1343
- }
1344
- $$renderer.push(`<!--]--></div>`);
1345
- });
1346
- }
1347
- //#endregion
1348
- //#region src/routes/projects/_components/DefinitionDetailDrawer.svelte
1349
- function DefinitionDetailDrawer($$renderer, $$props) {
1350
- $$renderer.component(($$renderer) => {
1351
- let { record, projectName, canEdit, showShare, onClose, onEdit, onOpenRunner, onShare } = $$props;
1352
- Drawer($$renderer, {
1353
- onClose,
1354
- children: ($$renderer) => {
1355
- $$renderer.push(`<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">`);
1356
- StatusBadge($$renderer, { status: record.status });
1357
- $$renderer.push(`<!----> <span class="text-muted-foreground font-mono text-[11px] tracking-wide uppercase">${escape_html(projectName)}</span></div> <h2 class="mt-2.5 text-xl font-semibold tracking-tight">${escape_html(record.displayName)}</h2> `);
1358
- if (record.description) {
1359
- $$renderer.push("<!--[0-->");
1360
- $$renderer.push(`<p class="text-muted-foreground mt-1 text-sm">${escape_html(record.description)}</p>`);
1361
- } else $$renderer.push("<!--[-1-->");
1362
- $$renderer.push(`<!--]--></div> `);
1363
- Button($$renderer, {
1364
- variant: "ghost",
1365
- size: "icon",
1366
- onclick: onClose,
1367
- class: "mt-0.5 h-8 w-8 shrink-0",
1368
- children: ($$renderer) => {
1369
- X($$renderer, { class: "h-4 w-4" });
1370
- },
1371
- $$slots: { default: true }
1372
- });
1373
- $$renderer.push(`<!----></div> <div class="flex-1 space-y-5 overflow-y-auto p-6">`);
1374
- if (record.coverImage) {
1375
- $$renderer.push("<!--[0-->");
1376
- $$renderer.push(`<img${attr("src", record.coverImage)}${attr("alt", record.displayName)} class="border-border aspect-4/3 w-full rounded-lg border object-cover"/>`);
1377
- } else {
1378
- $$renderer.push("<!--[-1-->");
1379
- $$renderer.push(`<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>`);
1380
- }
1381
- $$renderer.push(`<!--]--> <div class="flex gap-2">`);
1382
- Button($$renderer, {
1383
- class: "flex-1",
1384
- onclick: () => onOpenRunner(record.guid, "live"),
1385
- children: ($$renderer) => {
1386
- Play($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
1387
- $$renderer.push(`<!----> Run`);
1388
- },
1389
- $$slots: { default: true }
1390
- });
1391
- $$renderer.push(`<!----> `);
1392
- if (canEdit) {
1393
- $$renderer.push("<!--[0-->");
1394
- if (showShare) {
1395
- $$renderer.push("<!--[0-->");
1396
- Button($$renderer, {
1397
- variant: "outline",
1398
- size: "icon",
1399
- onclick: () => onShare(record),
1400
- title: "Share links",
1401
- children: ($$renderer) => {
1402
- Share_2($$renderer, { class: "h-4 w-4" });
1403
- },
1404
- $$slots: { default: true }
1405
- });
1406
- } else $$renderer.push("<!--[-1-->");
1407
- $$renderer.push(`<!--]--> `);
1408
- Button($$renderer, {
1409
- variant: "outline",
1410
- onclick: () => onEdit(record),
1411
- children: ($$renderer) => {
1412
- $$renderer.push(`<!---->Edit`);
1413
- },
1414
- $$slots: { default: true }
1415
- });
1416
- $$renderer.push(`<!---->`);
1417
- } else $$renderer.push("<!--[-1-->");
1418
- $$renderer.push(`<!--]--></div> `);
1419
- Separator($$renderer, {});
1420
- $$renderer.push(`<!----> <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">${escape_html(formatUpdated(record.updatedAt))} ago</p></div> <div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Runs</p> <p class="mt-1 text-sm">${escape_html(record.solveCount.toLocaleString())}</p></div> `);
1421
- if (record.category) {
1422
- $$renderer.push("<!--[0-->");
1423
- $$renderer.push(`<div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Category</p> <p class="mt-1 text-sm">${escape_html(record.category)}</p></div>`);
1424
- } else $$renderer.push("<!--[-1-->");
1425
- $$renderer.push(`<!--]--></div> `);
1426
- if (record.tags?.length) {
1427
- $$renderer.push("<!--[0-->");
1428
- $$renderer.push(`<div>`);
1429
- Separator($$renderer, { class: "mb-4" });
1430
- $$renderer.push(`<!----> <div class="flex flex-wrap gap-1.5"><!--[-->`);
1431
- const each_array = ensure_array_like(record.tags);
1432
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1433
- let tag = each_array[$$index];
1434
- $$renderer.push(`<span class="bg-muted text-muted-foreground rounded px-2 py-0.5 font-mono text-[11px]">#${escape_html(tag)}</span>`);
1435
- }
1436
- $$renderer.push(`<!--]--></div></div>`);
1437
- } else $$renderer.push("<!--[-1-->");
1438
- $$renderer.push(`<!--]--></div>`);
1439
- }});
1440
- });
1441
- }
1442
- //#endregion
1443
- //#region src/routes/projects/_components/UploadVersionDialog.svelte
1444
- function UploadVersionDialog($$renderer, $$props) {
1445
- $$renderer.component(($$renderer) => {
1446
- let { nextVersionNumber, open, onOpenChange} = $$props;
1447
- let changeNote = "";
1448
- async function submit() {}
1449
- let $$settled = true;
1450
- let $$inner_renderer;
1451
- function $$render_inner($$renderer) {
1452
- if (Root$1) {
1453
- $$renderer.push("<!--[-->");
1454
- Root$1($$renderer, {
1455
- open,
1456
- onOpenChange,
1457
- children: ($$renderer) => {
1458
- if (Dialog_content) {
1459
- $$renderer.push("<!--[-->");
1460
- Dialog_content($$renderer, {
1461
- class: "max-w-md",
1462
- children: ($$renderer) => {
1463
- if (Dialog_header) {
1464
- $$renderer.push("<!--[-->");
1465
- Dialog_header($$renderer, {
1466
- children: ($$renderer) => {
1467
- if (Dialog_title) {
1468
- $$renderer.push("<!--[-->");
1469
- Dialog_title($$renderer, {
1470
- children: ($$renderer) => {
1471
- $$renderer.push(`<!---->Upload new version`);
1472
- },
1473
- $$slots: { default: true }
1474
- });
1475
- $$renderer.push("<!--]-->");
1476
- } else {
1477
- $$renderer.push("<!--[!-->");
1478
- $$renderer.push("<!--]-->");
1479
- }
1480
- $$renderer.push(` `);
1481
- if (Dialog_description) {
1482
- $$renderer.push("<!--[-->");
1483
- Dialog_description($$renderer, {
1484
- children: ($$renderer) => {
1485
- $$renderer.push(`<!---->The upload becomes <strong>v${escape_html(nextVersionNumber)}</strong> as a draft. The live channel stays unchanged
1486
- until you publish.`);
1487
- },
1488
- $$slots: { default: true }
1489
- });
1490
- $$renderer.push("<!--]-->");
1491
- } else {
1492
- $$renderer.push("<!--[!-->");
1493
- $$renderer.push("<!--]-->");
1494
- }
1495
- },
1496
- $$slots: { default: true }
1497
- });
1498
- $$renderer.push("<!--]-->");
1499
- } else {
1500
- $$renderer.push("<!--[!-->");
1501
- $$renderer.push("<!--]-->");
1502
- }
1503
- $$renderer.push(` <div class="mt-4 space-y-4"><div class="space-y-1.5">`);
1504
- Label($$renderer, {
1505
- for: "upload-file",
1506
- children: ($$renderer) => {
1507
- $$renderer.push(`<!---->Grasshopper file`);
1508
- },
1509
- $$slots: { default: true }
1510
- });
1511
- $$renderer.push(`<!----> <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">`);
1512
- File_up($$renderer, { class: "text-muted-foreground h-5 w-5 shrink-0" });
1513
- $$renderer.push(`<!----> <div class="min-w-0 flex-1">`);
1514
- $$renderer.push("<!--[-1-->");
1515
- $$renderer.push(`<p class="text-sm font-medium">Pick a .gh or .ghx file</p> <p class="text-muted-foreground text-xs">Becomes v${escape_html(nextVersionNumber)} draft</p>`);
1516
- $$renderer.push(`<!--]--></div></label> <input id="upload-file" type="file" accept=".gh,.ghx" class="hidden"/></div> <div class="space-y-1.5">`);
1517
- Label($$renderer, {
1518
- for: "upload-note",
1519
- children: ($$renderer) => {
1520
- $$renderer.push(`<!---->What changed? <span class="text-muted-foreground font-normal">(optional)</span>`);
1521
- },
1522
- $$slots: { default: true }
1523
- });
1524
- $$renderer.push(`<!----> `);
1525
- Textarea($$renderer, {
1526
- id: "upload-note",
1527
- rows: 2,
1528
- maxlength: 1e3,
1529
- placeholder: "e.g. Fixed wall thickness calculation",
1530
- get value() {
1531
- return changeNote;
1532
- },
1533
- set value($$value) {
1534
- changeNote = $$value;
1535
- $$settled = false;
1536
- }
1537
- });
1538
- $$renderer.push(`<!----></div></div> `);
1539
- if (Dialog_footer) {
1540
- $$renderer.push("<!--[-->");
1541
- Dialog_footer($$renderer, {
1542
- class: "mt-4",
1543
- children: ($$renderer) => {
1544
- Button($$renderer, {
1545
- variant: "outline",
1546
- onclick: () => onOpenChange(false),
1547
- children: ($$renderer) => {
1548
- $$renderer.push(`<!---->Cancel`);
1549
- },
1550
- $$slots: { default: true }
1551
- });
1552
- $$renderer.push(`<!----> `);
1553
- Button($$renderer, {
1554
- onclick: submit,
1555
- disabled: true,
1556
- children: ($$renderer) => {
1557
- $$renderer.push("<!--[-1-->");
1558
- Upload($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
1559
- $$renderer.push(`<!----> Upload v${escape_html(nextVersionNumber)}`);
1560
- $$renderer.push(`<!--]-->`);
1561
- },
1562
- $$slots: { default: true }
1563
- });
1564
- $$renderer.push(`<!---->`);
1565
- },
1566
- $$slots: { default: true }
1567
- });
1568
- $$renderer.push("<!--]-->");
1569
- } else {
1570
- $$renderer.push("<!--[!-->");
1571
- $$renderer.push("<!--]-->");
1572
- }
1573
- },
1574
- $$slots: { default: true }
1575
- });
1576
- $$renderer.push("<!--]-->");
1577
- } else {
1578
- $$renderer.push("<!--[!-->");
1579
- $$renderer.push("<!--]-->");
1580
- }
1581
- },
1582
- $$slots: { default: true }
1583
- });
1584
- $$renderer.push("<!--]-->");
1585
- } else {
1586
- $$renderer.push("<!--[!-->");
1587
- $$renderer.push("<!--]-->");
1588
- }
1589
- }
1590
- do {
1591
- $$settled = true;
1592
- $$inner_renderer = $$renderer.copy();
1593
- $$render_inner($$inner_renderer);
1594
- } while (!$$settled);
1595
- $$renderer.subsume($$inner_renderer);
1596
- });
1597
- }
1598
- //#endregion
1599
- //#region src/routes/projects/_components/VersionsSection.svelte
1600
- function VersionsSection($$renderer, $$props) {
1601
- $$renderer.component(($$renderer) => {
1602
- let { definitionGuid, liveVersionId, draftVersionId, onOpenRunner } = $$props;
1603
- let versions = [];
1604
- let loading = true;
1605
- let showUploadDialog = false;
1606
- let publishingTarget = null;
1607
- let publishingTargetSet = false;
1608
- let publishing = false;
1609
- let confirmingDelete = null;
1610
- let deletingId = null;
1611
- async function loadVersions() {
1612
- loading = true;
1613
- try {
1614
- const res = await fetch(`/api/v1/definitions/${definitionGuid}/versions`);
1615
- if (!res.ok) throw new Error(`${res.status}`);
1616
- versions = (await res.json()).items;
1617
- } catch {
1618
- toast.error("Failed to load versions");
1619
- } finally {
1620
- loading = false;
1621
- }
1622
- }
1623
- const liveVersion = derived(() => versions.find((v) => v.id === liveVersionId) ?? null);
1624
- const draftVersion = derived(() => versions.find((v) => v.id === draftVersionId) ?? null);
1625
- const draftIsAhead = derived(() => draftVersion() !== null && liveVersion() !== null && draftVersion().id !== liveVersion().id);
1626
- const nextVersionNumber = derived(() => (versions[0]?.versionNumber ?? 0) + 1);
1627
- function formatRelative(iso) {
1628
- const ms = Date.now() - new Date(iso).getTime();
1629
- const minutes = Math.floor(ms / 6e4);
1630
- if (minutes < 1) return "Just now";
1631
- if (minutes < 60) return `${minutes}m ago`;
1632
- const hours = Math.floor(minutes / 60);
1633
- if (hours < 24) return `${hours}h ago`;
1634
- const days = Math.floor(hours / 24);
1635
- if (days === 1) return "Yesterday";
1636
- if (days < 30) return `${days}d ago`;
1637
- return new Date(iso).toLocaleDateString();
1638
- }
1639
- async function publish(target) {
1640
- publishing = true;
1641
- try {
1642
- const body = target ? { versionId: target.id } : {};
1643
- const res = await fetch(`/api/v1/definitions/${definitionGuid}/publish`, {
1644
- method: "POST",
1645
- headers: { "Content-Type": "application/json" },
1646
- body: JSON.stringify(body)
1647
- });
1648
- if (!res.ok) {
1649
- const err = await res.json().catch(() => ({}));
1650
- toast.error(err.message || err.error || "Failed to publish");
1651
- return;
1652
- }
1653
- const result = await res.json();
1654
- toast.success(`v${result.version?.versionNumber ?? "?"} is now live`);
1655
- await loadVersions();
1656
- await invalidateAll();
1657
- } catch {
1658
- toast.error("Failed to publish");
1659
- } finally {
1660
- publishing = false;
1661
- publishingTarget = null;
1662
- publishingTargetSet = false;
1663
- }
1664
- }
1665
- async function deleteVersion(version) {
1666
- deletingId = version.id;
1667
- try {
1668
- const res = await fetch(`/api/v1/definitions/${definitionGuid}/versions/${version.id}`, { method: "DELETE" });
1669
- if (!res.ok) {
1670
- const err = await res.json().catch(() => ({}));
1671
- toast.error(err.message || err.error || "Failed to delete version. Live or draft versions cannot be deleted.");
1672
- return;
1673
- }
1674
- toast.success(`v${version.versionNumber} deleted`);
1675
- await loadVersions();
1676
- await invalidateAll();
1677
- } catch {
1678
- toast.error("Failed to delete version");
1679
- } finally {
1680
- deletingId = null;
1681
- confirmingDelete = null;
1682
- }
1683
- }
1684
- $$renderer.push(`<div class="space-y-4">`);
1685
- if (loading) {
1686
- $$renderer.push("<!--[0-->");
1687
- $$renderer.push(`<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>`);
1688
- } else if (versions.length === 0) {
1689
- $$renderer.push("<!--[1-->");
1690
- $$renderer.push(`<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>`);
1691
- } else {
1692
- $$renderer.push("<!--[-1-->");
1693
- $$renderer.push(`<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> `);
1694
- if (liveVersion()) {
1695
- $$renderer.push("<!--[0-->");
1696
- $$renderer.push(`<span><strong>Live now</strong> — v${escape_html(liveVersion().versionNumber)}</span> `);
1697
- if (draftIsAhead() && draftVersion()) {
1698
- $$renderer.push("<!--[0-->");
1699
- $$renderer.push(`<span class="text-muted-foreground">· newer version uploaded</span>`);
1700
- } else {
1701
- $$renderer.push("<!--[-1-->");
1702
- $$renderer.push(`<span class="text-muted-foreground">· up to date</span>`);
1703
- }
1704
- $$renderer.push(`<!--]-->`);
1705
- } else {
1706
- $$renderer.push("<!--[-1-->");
1707
- $$renderer.push(`<span class="text-muted-foreground">Not yet published — promote a draft to go live</span>`);
1708
- }
1709
- $$renderer.push(`<!--]--></div> `);
1710
- if (draftIsAhead() && draftVersion()) {
1711
- $$renderer.push("<!--[0-->");
1712
- Button($$renderer, {
1713
- size: "sm",
1714
- onclick: () => publish(null),
1715
- disabled: publishing,
1716
- class: "shrink-0",
1717
- children: ($$renderer) => {
1718
- Cloud_upload($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
1719
- $$renderer.push(`<!----> Publish v${escape_html(draftVersion().versionNumber)}`);
1720
- },
1721
- $$slots: { default: true }
1722
- });
1723
- } else $$renderer.push("<!--[-1-->");
1724
- $$renderer.push(`<!--]--></div>`);
1725
- }
1726
- $$renderer.push(`<!--]--> <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
1727
- definition.</p></div> `);
1728
- Button($$renderer, {
1729
- variant: "outline",
1730
- size: "sm",
1731
- onclick: () => showUploadDialog = true,
1732
- class: "shrink-0",
1733
- children: ($$renderer) => {
1734
- Upload($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
1735
- $$renderer.push(`<!----> Upload new version`);
1736
- },
1737
- $$slots: { default: true }
1738
- });
1739
- $$renderer.push(`<!----></div> `);
1740
- if (!loading && versions.length > 0) {
1741
- $$renderer.push("<!--[0-->");
1742
- $$renderer.push(`<div class="space-y-2"><!--[-->`);
1743
- const each_array = ensure_array_like(versions);
1744
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1745
- let version = each_array[$$index];
1746
- const isLive = version.id === liveVersionId;
1747
- const isDraft = version.id === draftVersionId && !isLive;
1748
- $$renderer.push(`<div${attr_class(`rounded-md border p-3 transition-colors ${isLive ? "border-primary/40 bg-accent/40" : "border-border bg-card hover:bg-muted/30"}`)}><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">v${escape_html(version.versionNumber)}</span> `);
1749
- if (isLive) {
1750
- $$renderer.push("<!--[0-->");
1751
- $$renderer.push(`<span class="bg-success/10 text-success rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">live</span>`);
1752
- } else $$renderer.push("<!--[-1-->");
1753
- $$renderer.push(`<!--]--> `);
1754
- if (isDraft) {
1755
- $$renderer.push("<!--[0-->");
1756
- $$renderer.push(`<span class="bg-warning/10 text-warning rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">draft</span>`);
1757
- } else $$renderer.push("<!--[-1-->");
1758
- $$renderer.push(`<!--]--></div> `);
1759
- if (version.changeNote) {
1760
- $$renderer.push("<!--[0-->");
1761
- $$renderer.push(`<p class="mt-1 truncate text-sm">${escape_html(version.changeNote)}</p>`);
1762
- } else $$renderer.push("<!--[-1-->");
1763
- $$renderer.push(`<!--]--> `);
1764
- if (version.originalFilename) {
1765
- $$renderer.push("<!--[0-->");
1766
- $$renderer.push(`<p class="text-muted-foreground mt-1 truncate font-mono text-xs">${escape_html(version.originalFilename)}</p>`);
1767
- } else $$renderer.push("<!--[-1-->");
1768
- $$renderer.push(`<!--]--> <p class="text-muted-foreground mt-1 text-xs">Uploaded ${escape_html(formatRelative(version.uploadedAt))}</p></div> <div class="flex shrink-0 items-center gap-1">`);
1769
- Button($$renderer, {
1770
- size: "sm",
1771
- variant: isLive ? "outline" : "ghost",
1772
- onclick: () => isLive ? onOpenRunner(definitionGuid, "live") : isDraft ? onOpenRunner(definitionGuid, "draft") : onOpenRunner(definitionGuid, void 0, version.id),
1773
- children: ($$renderer) => {
1774
- Play($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
1775
- $$renderer.push(`<!----> Run`);
1776
- },
1777
- $$slots: { default: true }
1778
- });
1779
- $$renderer.push(`<!----> `);
1780
- if (!isLive) {
1781
- $$renderer.push("<!--[0-->");
1782
- Button($$renderer, {
1783
- size: "sm",
1784
- variant: "outline",
1785
- disabled: publishing,
1786
- onclick: () => {
1787
- publishingTarget = version;
1788
- publishingTargetSet = true;
1789
- },
1790
- children: ($$renderer) => {
1791
- $$renderer.push(`<!---->Make live`);
1792
- },
1793
- $$slots: { default: true }
1794
- });
1795
- } else $$renderer.push("<!--[-1-->");
1796
- $$renderer.push(`<!--]--> `);
1797
- if (!isLive && !isDraft) {
1798
- $$renderer.push("<!--[0-->");
1799
- Button($$renderer, {
1800
- size: "sm",
1801
- variant: "ghost",
1802
- onclick: () => confirmingDelete = version,
1803
- disabled: deletingId === version.id,
1804
- class: "text-muted-foreground hover:text-destructive h-8 w-8 p-0",
1805
- "aria-label": "Delete version",
1806
- children: ($$renderer) => {
1807
- Trash_2($$renderer, { class: "h-3.5 w-3.5" });
1808
- },
1809
- $$slots: { default: true }
1810
- });
1811
- } else $$renderer.push("<!--[-1-->");
1812
- $$renderer.push(`<!--]--></div></div></div>`);
1813
- }
1814
- $$renderer.push(`<!--]--></div>`);
1815
- } else $$renderer.push("<!--[-1-->");
1816
- $$renderer.push(`<!--]--></div> `);
1817
- UploadVersionDialog($$renderer, {
1818
- nextVersionNumber: nextVersionNumber(),
1819
- open: showUploadDialog,
1820
- onOpenChange: (o) => showUploadDialog = o});
1821
- $$renderer.push(`<!----> `);
1822
- if (Root) {
1823
- $$renderer.push("<!--[-->");
1824
- Root($$renderer, {
1825
- open: publishingTargetSet,
1826
- onOpenChange: (o) => {
1827
- if (!o) {
1828
- publishingTarget = null;
1829
- publishingTargetSet = false;
1830
- }
1831
- },
1832
- children: ($$renderer) => {
1833
- if (Alert_dialog_content) {
1834
- $$renderer.push("<!--[-->");
1835
- Alert_dialog_content($$renderer, {
1836
- children: ($$renderer) => {
1837
- if (Alert_dialog_header) {
1838
- $$renderer.push("<!--[-->");
1839
- Alert_dialog_header($$renderer, {
1840
- children: ($$renderer) => {
1841
- if (Alert_dialog_title) {
1842
- $$renderer.push("<!--[-->");
1843
- Alert_dialog_title($$renderer, {
1844
- children: ($$renderer) => {
1845
- if (publishingTarget) {
1846
- $$renderer.push("<!--[0-->");
1847
- $$renderer.push(`Make v${escape_html(publishingTarget.versionNumber)} live?`);
1848
- } else {
1849
- $$renderer.push("<!--[-1-->");
1850
- $$renderer.push(`Publish current draft?`);
1851
- }
1852
- $$renderer.push(`<!--]-->`);
1853
- },
1854
- $$slots: { default: true }
1855
- });
1856
- $$renderer.push("<!--]-->");
1857
- } else {
1858
- $$renderer.push("<!--[!-->");
1859
- $$renderer.push("<!--]-->");
1860
- }
1861
- $$renderer.push(` `);
1862
- if (Alert_dialog_description) {
1863
- $$renderer.push("<!--[-->");
1864
- Alert_dialog_description($$renderer, {
1865
- children: ($$renderer) => {
1866
- if (publishingTarget && liveVersion() && publishingTarget.versionNumber < liveVersion().versionNumber) {
1867
- $$renderer.push("<!--[0-->");
1868
- $$renderer.push(`Rolling back to an older version. Anyone running this definition will immediately get v${escape_html(publishingTarget.versionNumber)}
1869
- instead of v${escape_html(liveVersion().versionNumber)}.`);
1870
- } else if (publishingTarget) {
1871
- $$renderer.push("<!--[1-->");
1872
- $$renderer.push(`Anyone running this definition will immediately get v${escape_html(publishingTarget.versionNumber)}
1873
- instead of v${escape_html(liveVersion()?.versionNumber ?? "—")}.`);
1874
- } else {
1875
- $$renderer.push("<!--[-1-->");
1876
- $$renderer.push(`Promotes the current draft to live. Everyone running this definition gets the new version
1877
- immediately.`);
1878
- }
1879
- $$renderer.push(`<!--]-->`);
1880
- },
1881
- $$slots: { default: true }
1882
- });
1883
- $$renderer.push("<!--]-->");
1884
- } else {
1885
- $$renderer.push("<!--[!-->");
1886
- $$renderer.push("<!--]-->");
1887
- }
1888
- },
1889
- $$slots: { default: true }
1890
- });
1891
- $$renderer.push("<!--]-->");
1892
- } else {
1893
- $$renderer.push("<!--[!-->");
1894
- $$renderer.push("<!--]-->");
1895
- }
1896
- $$renderer.push(` `);
1897
- if (Alert_dialog_footer) {
1898
- $$renderer.push("<!--[-->");
1899
- Alert_dialog_footer($$renderer, {
1900
- children: ($$renderer) => {
1901
- if (Alert_dialog_cancel) {
1902
- $$renderer.push("<!--[-->");
1903
- Alert_dialog_cancel($$renderer, {
1904
- children: ($$renderer) => {
1905
- $$renderer.push(`<!---->Cancel`);
1906
- },
1907
- $$slots: { default: true }
1908
- });
1909
- $$renderer.push("<!--]-->");
1910
- } else {
1911
- $$renderer.push("<!--[!-->");
1912
- $$renderer.push("<!--]-->");
1913
- }
1914
- $$renderer.push(` `);
1915
- if (Alert_dialog_action) {
1916
- $$renderer.push("<!--[-->");
1917
- Alert_dialog_action($$renderer, {
1918
- onclick: () => publish(publishingTarget),
1919
- disabled: publishing,
1920
- children: ($$renderer) => {
1921
- $$renderer.push(`<!---->${escape_html(publishing ? "Publishing…" : "Publish")}`);
1922
- },
1923
- $$slots: { default: true }
1924
- });
1925
- $$renderer.push("<!--]-->");
1926
- } else {
1927
- $$renderer.push("<!--[!-->");
1928
- $$renderer.push("<!--]-->");
1929
- }
1930
- },
1931
- $$slots: { default: true }
1932
- });
1933
- $$renderer.push("<!--]-->");
1934
- } else {
1935
- $$renderer.push("<!--[!-->");
1936
- $$renderer.push("<!--]-->");
1937
- }
1938
- },
1939
- $$slots: { default: true }
1940
- });
1941
- $$renderer.push("<!--]-->");
1942
- } else {
1943
- $$renderer.push("<!--[!-->");
1944
- $$renderer.push("<!--]-->");
1945
- }
1946
- },
1947
- $$slots: { default: true }
1948
- });
1949
- $$renderer.push("<!--]-->");
1950
- } else {
1951
- $$renderer.push("<!--[!-->");
1952
- $$renderer.push("<!--]-->");
1953
- }
1954
- $$renderer.push(` `);
1955
- if (Root) {
1956
- $$renderer.push("<!--[-->");
1957
- Root($$renderer, {
1958
- open: !!confirmingDelete,
1959
- onOpenChange: (o) => !o && (confirmingDelete = null),
1960
- children: ($$renderer) => {
1961
- if (Alert_dialog_content) {
1962
- $$renderer.push("<!--[-->");
1963
- Alert_dialog_content($$renderer, {
1964
- children: ($$renderer) => {
1965
- if (Alert_dialog_header) {
1966
- $$renderer.push("<!--[-->");
1967
- Alert_dialog_header($$renderer, {
1968
- children: ($$renderer) => {
1969
- if (Alert_dialog_title) {
1970
- $$renderer.push("<!--[-->");
1971
- Alert_dialog_title($$renderer, {
1972
- children: ($$renderer) => {
1973
- $$renderer.push(`<!---->Delete v${escape_html(confirmingDelete?.versionNumber)}?`);
1974
- },
1975
- $$slots: { default: true }
1976
- });
1977
- $$renderer.push("<!--]-->");
1978
- } else {
1979
- $$renderer.push("<!--[!-->");
1980
- $$renderer.push("<!--]-->");
1981
- }
1982
- $$renderer.push(` `);
1983
- if (Alert_dialog_description) {
1984
- $$renderer.push("<!--[-->");
1985
- Alert_dialog_description($$renderer, {
1986
- children: ($$renderer) => {
1987
- $$renderer.push(`<!---->This permanently removes the version's file. The live and draft versions cannot be deleted —
1988
- repoint first.`);
1989
- },
1990
- $$slots: { default: true }
1991
- });
1992
- $$renderer.push("<!--]-->");
1993
- } else {
1994
- $$renderer.push("<!--[!-->");
1995
- $$renderer.push("<!--]-->");
1996
- }
1997
- },
1998
- $$slots: { default: true }
1999
- });
2000
- $$renderer.push("<!--]-->");
2001
- } else {
2002
- $$renderer.push("<!--[!-->");
2003
- $$renderer.push("<!--]-->");
2004
- }
2005
- $$renderer.push(` `);
2006
- if (Alert_dialog_footer) {
2007
- $$renderer.push("<!--[-->");
2008
- Alert_dialog_footer($$renderer, {
2009
- children: ($$renderer) => {
2010
- if (Alert_dialog_cancel) {
2011
- $$renderer.push("<!--[-->");
2012
- Alert_dialog_cancel($$renderer, {
2013
- children: ($$renderer) => {
2014
- $$renderer.push(`<!---->Cancel`);
2015
- },
2016
- $$slots: { default: true }
2017
- });
2018
- $$renderer.push("<!--]-->");
2019
- } else {
2020
- $$renderer.push("<!--[!-->");
2021
- $$renderer.push("<!--]-->");
2022
- }
2023
- $$renderer.push(` `);
2024
- if (Alert_dialog_action) {
2025
- $$renderer.push("<!--[-->");
2026
- Alert_dialog_action($$renderer, {
2027
- onclick: () => confirmingDelete && deleteVersion(confirmingDelete),
2028
- disabled: !!deletingId,
2029
- children: ($$renderer) => {
2030
- $$renderer.push(`<!---->${escape_html(deletingId ? "Deleting…" : "Delete")}`);
2031
- },
2032
- $$slots: { default: true }
2033
- });
2034
- $$renderer.push("<!--]-->");
2035
- } else {
2036
- $$renderer.push("<!--[!-->");
2037
- $$renderer.push("<!--]-->");
2038
- }
2039
- },
2040
- $$slots: { default: true }
2041
- });
2042
- $$renderer.push("<!--]-->");
2043
- } else {
2044
- $$renderer.push("<!--[!-->");
2045
- $$renderer.push("<!--]-->");
2046
- }
2047
- },
2048
- $$slots: { default: true }
2049
- });
2050
- $$renderer.push("<!--]-->");
2051
- } else {
2052
- $$renderer.push("<!--[!-->");
2053
- $$renderer.push("<!--]-->");
2054
- }
2055
- },
2056
- $$slots: { default: true }
2057
- });
2058
- $$renderer.push("<!--]-->");
2059
- } else {
2060
- $$renderer.push("<!--[!-->");
2061
- $$renderer.push("<!--]-->");
2062
- }
2063
- });
2064
- }
2065
- //#endregion
2066
- //#region src/routes/projects/_components/MintShareLinkDialog.svelte
2067
- function MintShareLinkDialog($$renderer, $$props) {
2068
- $$renderer.component(($$renderer) => {
2069
- let { definitionGuid, open, onOpenChange, onMinted } = $$props;
2070
- let channel = "live";
2071
- let allowSolve = true;
2072
- let label = "";
2073
- let expiresEnabled = false;
2074
- let capEnabled = true;
2075
- let cap = DEFAULT_SHARE_LINK_MAX_SOLVES;
2076
- let creating = false;
2077
- let mintedToken = null;
2078
- let mintedShareUrl = null;
2079
- let copied = false;
2080
- let confirmingHighCap = false;
2081
- let confirmingUncapped = false;
2082
- function submit() {
2083
- if (cap > 1e3) {
2084
- confirmingHighCap = true;
2085
- return;
2086
- }
2087
- createLink();
2088
- }
2089
- async function createLink() {
2090
- creating = true;
2091
- try {
2092
- const body = {
2093
- channel,
2094
- allowSolve,
2095
- ...label.trim() ? { name: label.trim() } : {},
2096
- maxSolves: cap
2097
- };
2098
- const res = await fetch(`/api/v1/definitions/${definitionGuid}/share-links`, {
2099
- method: "POST",
2100
- headers: { "Content-Type": "application/json" },
2101
- body: JSON.stringify(body)
2102
- });
2103
- if (!res.ok) {
2104
- const err = await res.json().catch(() => ({}));
2105
- toast.error(err.message || err.error || "Failed to mint share link");
2106
- return;
2107
- }
2108
- const data = await res.json();
2109
- mintedToken = data.token;
2110
- mintedShareUrl = `${window.location.origin}/library/${definitionGuid}?token=${data.token}`;
2111
- confirmingHighCap = false;
2112
- confirmingUncapped = false;
2113
- onMinted();
2114
- } catch {
2115
- toast.error("Failed to mint share link");
2116
- } finally {
2117
- creating = false;
2118
- }
2119
- }
2120
- async function copyUrl() {
2121
- if (!mintedShareUrl) return;
2122
- try {
2123
- await navigator.clipboard.writeText(mintedShareUrl);
2124
- copied = true;
2125
- setTimeout(() => copied = false, 2e3);
2126
- } catch {
2127
- toast.error("Could not copy to clipboard");
2128
- }
2129
- }
2130
- let $$settled = true;
2131
- let $$inner_renderer;
2132
- function $$render_inner($$renderer) {
2133
- if (Root$1) {
2134
- $$renderer.push("<!--[-->");
2135
- Root$1($$renderer, {
2136
- open,
2137
- onOpenChange,
2138
- children: ($$renderer) => {
2139
- if (Dialog_content) {
2140
- $$renderer.push("<!--[-->");
2141
- Dialog_content($$renderer, {
2142
- class: "max-w-lg",
2143
- children: ($$renderer) => {
2144
- if (!mintedToken) {
2145
- $$renderer.push("<!--[0-->");
2146
- if (Dialog_header) {
2147
- $$renderer.push("<!--[-->");
2148
- Dialog_header($$renderer, {
2149
- children: ($$renderer) => {
2150
- if (Dialog_title) {
2151
- $$renderer.push("<!--[-->");
2152
- Dialog_title($$renderer, {
2153
- children: ($$renderer) => {
2154
- $$renderer.push(`<!---->New share link`);
2155
- },
2156
- $$slots: { default: true }
2157
- });
2158
- $$renderer.push("<!--]-->");
2159
- } else {
2160
- $$renderer.push("<!--[!-->");
2161
- $$renderer.push("<!--]-->");
2162
- }
2163
- $$renderer.push(` `);
2164
- if (Dialog_description) {
2165
- $$renderer.push("<!--[-->");
2166
- Dialog_description($$renderer, {
2167
- children: ($$renderer) => {
2168
- $$renderer.push(`<!---->Anyone with the link gets the access you configure here. Caps and expiry are the
2169
- load-bearing protection — they assume the URL will eventually leak.`);
2170
- },
2171
- $$slots: { default: true }
2172
- });
2173
- $$renderer.push("<!--]-->");
2174
- } else {
2175
- $$renderer.push("<!--[!-->");
2176
- $$renderer.push("<!--]-->");
2177
- }
2178
- },
2179
- $$slots: { default: true }
2180
- });
2181
- $$renderer.push("<!--]-->");
2182
- } else {
2183
- $$renderer.push("<!--[!-->");
2184
- $$renderer.push("<!--]-->");
2185
- }
2186
- $$renderer.push(` <div class="mt-4 space-y-4"><div class="space-y-1.5">`);
2187
- Label($$renderer, {
2188
- for: "sl-channel",
2189
- children: ($$renderer) => {
2190
- $$renderer.push(`<!---->Channel`);
2191
- },
2192
- $$slots: { default: true }
2193
- });
2194
- $$renderer.push(`<!----> `);
2195
- $$renderer.select({
2196
- id: "sl-channel",
2197
- value: channel,
2198
- class: "border-input bg-background h-9 w-full rounded-md border px-3 text-sm"
2199
- }, ($$renderer) => {
2200
- $$renderer.option({ value: "live" }, ($$renderer) => {
2201
- $$renderer.push(`Live — recipients see the published version`);
2202
- });
2203
- $$renderer.option({ value: "draft" }, ($$renderer) => {
2204
- $$renderer.push(`Draft — recipients see the unpublished version`);
2205
- });
2206
- });
2207
- $$renderer.push(` `);
2208
- $$renderer.push("<!--[-1-->");
2209
- $$renderer.push(`<!--]--></div> <div class="space-y-1.5">`);
2210
- Label($$renderer, {
2211
- for: "sl-label",
2212
- children: ($$renderer) => {
2213
- $$renderer.push(`<!---->Label (optional)`);
2214
- },
2215
- $$slots: { default: true }
2216
- });
2217
- $$renderer.push(`<!----> `);
2218
- Input($$renderer, {
2219
- id: "sl-label",
2220
- placeholder: "e.g. Demo for Acme",
2221
- get value() {
2222
- return label;
2223
- },
2224
- set value($$value) {
2225
- label = $$value;
2226
- $$settled = false;
2227
- }
2228
- });
2229
- $$renderer.push(`<!----></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox"${attr("checked", allowSolve, true)} 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
2230
- 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"${attr("checked", capEnabled, true)} 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">Default ${escape_html(DEFAULT_SHARE_LINK_MAX_SOLVES.toLocaleString())}. Recommended. Uncapped
2231
- links are a denial-of-wallet risk if leaked.</p></div></label> `);
2232
- $$renderer.push("<!--[0-->");
2233
- $$renderer.push(`<div class="mt-2 ml-6">`);
2234
- Input($$renderer, {
2235
- type: "number",
2236
- min: 1,
2237
- class: "h-8 w-32 text-sm",
2238
- get value() {
2239
- return cap;
2240
- },
2241
- set value($$value) {
2242
- cap = $$value;
2243
- $$settled = false;
2244
- }
2245
- });
2246
- $$renderer.push(`<!----></div>`);
2247
- $$renderer.push(`<!--]--></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox"${attr("checked", expiresEnabled, true)} 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> `);
2248
- $$renderer.push("<!--[-1-->");
2249
- $$renderer.push(`<!--]--></div></div> `);
2250
- if (Dialog_footer) {
2251
- $$renderer.push("<!--[-->");
2252
- Dialog_footer($$renderer, {
2253
- class: "mt-4",
2254
- children: ($$renderer) => {
2255
- Button($$renderer, {
2256
- variant: "outline",
2257
- onclick: () => onOpenChange(false),
2258
- children: ($$renderer) => {
2259
- $$renderer.push(`<!---->Cancel`);
2260
- },
2261
- $$slots: { default: true }
2262
- });
2263
- $$renderer.push(`<!----> `);
2264
- Button($$renderer, {
2265
- onclick: submit,
2266
- disabled: creating || cap < 1,
2267
- children: ($$renderer) => {
2268
- $$renderer.push(`<!---->${escape_html(creating ? "Creating…" : "Create link")}`);
2269
- },
2270
- $$slots: { default: true }
2271
- });
2272
- $$renderer.push(`<!---->`);
2273
- },
2274
- $$slots: { default: true }
2275
- });
2276
- $$renderer.push("<!--]-->");
2277
- } else {
2278
- $$renderer.push("<!--[!-->");
2279
- $$renderer.push("<!--]-->");
2280
- }
2281
- } else {
2282
- $$renderer.push("<!--[-1-->");
2283
- if (Dialog_header) {
2284
- $$renderer.push("<!--[-->");
2285
- Dialog_header($$renderer, {
2286
- children: ($$renderer) => {
2287
- if (Dialog_title) {
2288
- $$renderer.push("<!--[-->");
2289
- Dialog_title($$renderer, {
2290
- children: ($$renderer) => {
2291
- $$renderer.push(`<!---->Share link ready`);
2292
- },
2293
- $$slots: { default: true }
2294
- });
2295
- $$renderer.push("<!--]-->");
2296
- } else {
2297
- $$renderer.push("<!--[!-->");
2298
- $$renderer.push("<!--]-->");
2299
- }
2300
- $$renderer.push(` `);
2301
- if (Dialog_description) {
2302
- $$renderer.push("<!--[-->");
2303
- Dialog_description($$renderer, {
2304
- children: ($$renderer) => {
2305
- $$renderer.push(`<!---->Copy the link now — this is the only time you'll see it. The server stores only a hash; we
2306
- cannot show it again.`);
2307
- },
2308
- $$slots: { default: true }
2309
- });
2310
- $$renderer.push("<!--]-->");
2311
- } else {
2312
- $$renderer.push("<!--[!-->");
2313
- $$renderer.push("<!--]-->");
2314
- }
2315
- },
2316
- $$slots: { default: true }
2317
- });
2318
- $$renderer.push("<!--]-->");
2319
- } else {
2320
- $$renderer.push("<!--[!-->");
2321
- $$renderer.push("<!--]-->");
2322
- }
2323
- $$renderer.push(` <div class="mt-4 space-y-3">`);
2324
- Callout($$renderer, {
2325
- tone: "warning",
2326
- children: ($$renderer) => {
2327
- $$renderer.push(`<!---->This URL grants the configured access to anyone who receives it. Treat it like a password
2328
- — revoke it immediately if it's compromised.`);
2329
- },
2330
- $$slots: { default: true }
2331
- });
2332
- $$renderer.push(`<!----> <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">${escape_html(mintedShareUrl)}</code> `);
2333
- Button($$renderer, {
2334
- size: "sm",
2335
- variant: copied ? "default" : "outline",
2336
- onclick: copyUrl,
2337
- class: "shrink-0",
2338
- children: ($$renderer) => {
2339
- if (copied) {
2340
- $$renderer.push("<!--[0-->");
2341
- Check($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
2342
- $$renderer.push(`<!----> Copied`);
2343
- } else {
2344
- $$renderer.push("<!--[-1-->");
2345
- Copy($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
2346
- $$renderer.push(`<!----> Copy`);
2347
- }
2348
- $$renderer.push(`<!--]-->`);
2349
- },
2350
- $$slots: { default: true }
2351
- });
2352
- $$renderer.push(`<!----></div></div></div> `);
2353
- if (Dialog_footer) {
2354
- $$renderer.push("<!--[-->");
2355
- Dialog_footer($$renderer, {
2356
- class: "mt-4",
2357
- children: ($$renderer) => {
2358
- Button($$renderer, {
2359
- onclick: () => onOpenChange(false),
2360
- children: ($$renderer) => {
2361
- $$renderer.push(`<!---->Done`);
2362
- },
2363
- $$slots: { default: true }
2364
- });
2365
- },
2366
- $$slots: { default: true }
2367
- });
2368
- $$renderer.push("<!--]-->");
2369
- } else {
2370
- $$renderer.push("<!--[!-->");
2371
- $$renderer.push("<!--]-->");
2372
- }
2373
- }
2374
- $$renderer.push(`<!--]-->`);
2375
- },
2376
- $$slots: { default: true }
2377
- });
2378
- $$renderer.push("<!--]-->");
2379
- } else {
2380
- $$renderer.push("<!--[!-->");
2381
- $$renderer.push("<!--]-->");
2382
- }
2383
- },
2384
- $$slots: { default: true }
2385
- });
2386
- $$renderer.push("<!--]-->");
2387
- } else {
2388
- $$renderer.push("<!--[!-->");
2389
- $$renderer.push("<!--]-->");
2390
- }
2391
- $$renderer.push(` `);
2392
- ConfirmDialog($$renderer, {
2393
- title: "Raise the solve cap?",
2394
- description: `You're raising the cap above the default of ${DEFAULT_SHARE_LINK_MAX_SOLVES}. An uncapped or high-cap link is a denial-of-wallet vector if leaked.`,
2395
- confirmLabel: "Continue",
2396
- pendingLabel: "Creating…",
2397
- variant: "destructive",
2398
- onConfirm: createLink,
2399
- get open() {
2400
- return confirmingHighCap;
2401
- },
2402
- set open($$value) {
2403
- confirmingHighCap = $$value;
2404
- $$settled = false;
2405
- }
2406
- });
2407
- $$renderer.push(`<!----> `);
2408
- ConfirmDialog($$renderer, {
2409
- title: "Remove the solve cap?",
2410
- description: "Removing the cap means an unlimited number of solves on this link. Recommended only for trusted recipients.",
2411
- confirmLabel: "Continue",
2412
- pendingLabel: "Creating…",
2413
- variant: "destructive",
2414
- onConfirm: createLink,
2415
- get open() {
2416
- return confirmingUncapped;
2417
- },
2418
- set open($$value) {
2419
- confirmingUncapped = $$value;
2420
- $$settled = false;
2421
- }
2422
- });
2423
- $$renderer.push(`<!---->`);
2424
- }
2425
- do {
2426
- $$settled = true;
2427
- $$inner_renderer = $$renderer.copy();
2428
- $$render_inner($$inner_renderer);
2429
- } while (!$$settled);
2430
- $$renderer.subsume($$inner_renderer);
2431
- });
2432
- }
2433
- //#endregion
2434
- //#region src/routes/projects/_components/ShareLinkSection.svelte
2435
- function ShareLinkSection($$renderer, $$props) {
2436
- $$renderer.component(($$renderer) => {
2437
- let { definitionGuid } = $$props;
2438
- let links = [];
2439
- let loading = true;
2440
- let showMintDialog = false;
2441
- let confirmingRevoke = null;
2442
- let revokingId = null;
2443
- async function loadLinks() {
2444
- loading = true;
2445
- try {
2446
- const res = await fetch(`/api/v1/definitions/${definitionGuid}/share-links`);
2447
- if (!res.ok) throw new Error(`${res.status}`);
2448
- links = (await res.json()).items;
2449
- } catch {
2450
- toast.error("Failed to load share links");
2451
- } finally {
2452
- loading = false;
2453
- }
2454
- }
2455
- async function revoke(link) {
2456
- revokingId = link.id;
2457
- try {
2458
- if (!(await fetch(`/api/v1/definitions/${definitionGuid}/share-links/${link.id}`, { method: "DELETE" })).ok) {
2459
- toast.error("Failed to revoke link");
2460
- return;
2461
- }
2462
- toast.success("Link revoked");
2463
- await loadLinks();
2464
- } catch {
2465
- toast.error("Failed to revoke link");
2466
- } finally {
2467
- revokingId = null;
2468
- confirmingRevoke = null;
2469
- }
2470
- }
2471
- function formatExpiry(iso = null) {
2472
- if (!iso) return "Never";
2473
- const date = new Date(iso);
2474
- const now = /* @__PURE__ */ new Date();
2475
- const expired = date.getTime() < now.getTime();
2476
- return {
2477
- text: date.toLocaleDateString(),
2478
- expired
2479
- };
2480
- }
2481
- function formatRelative(iso) {
2482
- const ms = Date.now() - new Date(iso).getTime();
2483
- const minutes = Math.floor(ms / 6e4);
2484
- if (minutes < 1) return "just now";
2485
- if (minutes < 60) return `${minutes}m ago`;
2486
- const hours = Math.floor(minutes / 60);
2487
- if (hours < 24) return `${hours}h ago`;
2488
- const days = Math.floor(hours / 24);
2489
- if (days < 30) return `${days}d ago`;
2490
- return new Date(iso).toLocaleDateString();
2491
- }
2492
- const activeLinks = derived(() => links.filter((l) => !l.revokedAt));
2493
- $$renderer.push(`<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
2494
- review links.</p></div> `);
2495
- if (loading) {
2496
- $$renderer.push("<!--[0-->");
2497
- $$renderer.push(`<div class="border-border rounded-md border p-6 text-center"><p class="text-muted-foreground text-xs">Loading…</p></div>`);
2498
- } else if (activeLinks().length === 0) {
2499
- $$renderer.push("<!--[1-->");
2500
- {
2501
- function actions($$renderer) {
2502
- Button($$renderer, {
2503
- size: "sm",
2504
- onclick: () => showMintDialog = true,
2505
- children: ($$renderer) => {
2506
- Plus($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
2507
- $$renderer.push(`<!----> New link`);
2508
- },
2509
- $$slots: { default: true }
2510
- });
2511
- }
2512
- EmptyState($$renderer, {
2513
- size: "sm",
2514
- icon: Link_2,
2515
- title: "No share links yet",
2516
- description: "Mint a link to share this definition without requiring the recipient to have an account.",
2517
- actions});
2518
- }
2519
- } else {
2520
- $$renderer.push("<!--[-1-->");
2521
- $$renderer.push(`<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">${escape_html(activeLinks().length)} active link${escape_html(activeLinks().length === 1 ? "" : "s")}</span> `);
2522
- Button($$renderer, {
2523
- size: "sm",
2524
- variant: "outline",
2525
- onclick: () => showMintDialog = true,
2526
- children: ($$renderer) => {
2527
- Plus($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
2528
- $$renderer.push(`<!----> New link`);
2529
- },
2530
- $$slots: { default: true }
2531
- });
2532
- $$renderer.push(`<!----></div> <!--[-->`);
2533
- const each_array = ensure_array_like(activeLinks());
2534
- for (let i = 0, $$length = each_array.length; i < $$length; i++) {
2535
- let link = each_array[i];
2536
- const expiry = formatExpiry(link.expiresAt);
2537
- const expired = typeof expiry === "object" && expiry.expired;
2538
- const capValue = link.maxSolves;
2539
- const hasCap = capValue !== null && capValue !== void 0;
2540
- const capReached = hasCap && link.solveCount >= capValue;
2541
- $$renderer.push(`<div${attr_class(`flex items-start gap-3 px-4 py-3 ${i < activeLinks().length - 1 ? "border-border border-b" : ""}`)}><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><p class="truncate text-sm font-medium">${escape_html(link.name ?? "Untitled link")}</p> <span${attr_class(`rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${link.channel === "live" ? "bg-success/10 text-success" : "bg-warning/10 text-warning"}`)}>${escape_html(link.channel)}</span> `);
2542
- if (!link.allowSolve) {
2543
- $$renderer.push("<!--[0-->");
2544
- $$renderer.push(`<span class="bg-muted text-muted-foreground rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">view-only</span>`);
2545
- } else $$renderer.push("<!--[-1-->");
2546
- $$renderer.push(`<!--]--> `);
2547
- if (expired) {
2548
- $$renderer.push("<!--[0-->");
2549
- $$renderer.push(`<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">`);
2550
- Triangle_alert($$renderer, { class: "h-2.5 w-2.5" });
2551
- $$renderer.push(`<!----> expired</span>`);
2552
- } else $$renderer.push("<!--[-1-->");
2553
- $$renderer.push(`<!--]--> `);
2554
- if (capReached) {
2555
- $$renderer.push("<!--[0-->");
2556
- $$renderer.push(`<span class="bg-destructive/10 text-destructive rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">cap reached</span>`);
2557
- } else $$renderer.push("<!--[-1-->");
2558
- $$renderer.push(`<!--]--></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">${escape_html(link.solveCount.toLocaleString())}${escape_html(hasCap ? ` / ${capValue.toLocaleString()}` : "")} solves</span> <span>·</span> <span>Expires: ${escape_html(typeof expiry === "object" ? expiry.text : expiry)}</span> <span>·</span> <span>Minted ${escape_html(formatRelative(link.createdAt))}</span></div></div> `);
2559
- Button($$renderer, {
2560
- variant: "ghost",
2561
- size: "icon",
2562
- onclick: () => confirmingRevoke = link,
2563
- disabled: revokingId === link.id,
2564
- class: "text-muted-foreground hover:text-destructive h-7 w-7 shrink-0",
2565
- "aria-label": "Revoke link",
2566
- children: ($$renderer) => {
2567
- Trash_2($$renderer, { class: "h-3.5 w-3.5" });
2568
- },
2569
- $$slots: { default: true }
2570
- });
2571
- $$renderer.push(`<!----></div>`);
2572
- }
2573
- $$renderer.push(`<!--]--></div>`);
2574
- }
2575
- $$renderer.push(`<!--]--></div> `);
2576
- MintShareLinkDialog($$renderer, {
2577
- definitionGuid,
2578
- open: showMintDialog,
2579
- onOpenChange: (o) => showMintDialog = o,
2580
- onMinted: loadLinks
2581
- });
2582
- $$renderer.push(`<!----> `);
2583
- if (Root) {
2584
- $$renderer.push("<!--[-->");
2585
- Root($$renderer, {
2586
- open: !!confirmingRevoke,
2587
- onOpenChange: (o) => !o && (confirmingRevoke = null),
2588
- children: ($$renderer) => {
2589
- if (Alert_dialog_content) {
2590
- $$renderer.push("<!--[-->");
2591
- Alert_dialog_content($$renderer, {
2592
- children: ($$renderer) => {
2593
- if (Alert_dialog_header) {
2594
- $$renderer.push("<!--[-->");
2595
- Alert_dialog_header($$renderer, {
2596
- children: ($$renderer) => {
2597
- if (Alert_dialog_title) {
2598
- $$renderer.push("<!--[-->");
2599
- Alert_dialog_title($$renderer, {
2600
- children: ($$renderer) => {
2601
- $$renderer.push(`<!---->Revoke this link?`);
2602
- },
2603
- $$slots: { default: true }
2604
- });
2605
- $$renderer.push("<!--]-->");
2606
- } else {
2607
- $$renderer.push("<!--[!-->");
2608
- $$renderer.push("<!--]-->");
2609
- }
2610
- $$renderer.push(` `);
2611
- if (Alert_dialog_description) {
2612
- $$renderer.push("<!--[-->");
2613
- Alert_dialog_description($$renderer, {
2614
- children: ($$renderer) => {
2615
- if (confirmingRevoke) {
2616
- $$renderer.push("<!--[0-->");
2617
- $$renderer.push(`<strong>${escape_html(confirmingRevoke.name ?? "This link")}</strong> will stop working immediately. Anyone
2618
- using it will see a "no longer active" page. This cannot be undone.`);
2619
- } else $$renderer.push("<!--[-1-->");
2620
- $$renderer.push(`<!--]-->`);
2621
- },
2622
- $$slots: { default: true }
2623
- });
2624
- $$renderer.push("<!--]-->");
2625
- } else {
2626
- $$renderer.push("<!--[!-->");
2627
- $$renderer.push("<!--]-->");
2628
- }
2629
- },
2630
- $$slots: { default: true }
2631
- });
2632
- $$renderer.push("<!--]-->");
2633
- } else {
2634
- $$renderer.push("<!--[!-->");
2635
- $$renderer.push("<!--]-->");
2636
- }
2637
- $$renderer.push(` `);
2638
- if (Alert_dialog_footer) {
2639
- $$renderer.push("<!--[-->");
2640
- Alert_dialog_footer($$renderer, {
2641
- children: ($$renderer) => {
2642
- if (Alert_dialog_cancel) {
2643
- $$renderer.push("<!--[-->");
2644
- Alert_dialog_cancel($$renderer, {
2645
- children: ($$renderer) => {
2646
- $$renderer.push(`<!---->Cancel`);
2647
- },
2648
- $$slots: { default: true }
2649
- });
2650
- $$renderer.push("<!--]-->");
2651
- } else {
2652
- $$renderer.push("<!--[!-->");
2653
- $$renderer.push("<!--]-->");
2654
- }
2655
- $$renderer.push(` `);
2656
- if (Alert_dialog_action) {
2657
- $$renderer.push("<!--[-->");
2658
- Alert_dialog_action($$renderer, {
2659
- onclick: () => confirmingRevoke && revoke(confirmingRevoke),
2660
- disabled: !!revokingId,
2661
- children: ($$renderer) => {
2662
- $$renderer.push(`<!---->${escape_html(revokingId ? "Revoking…" : "Revoke")}`);
2663
- },
2664
- $$slots: { default: true }
2665
- });
2666
- $$renderer.push("<!--]-->");
2667
- } else {
2668
- $$renderer.push("<!--[!-->");
2669
- $$renderer.push("<!--]-->");
2670
- }
2671
- },
2672
- $$slots: { default: true }
2673
- });
2674
- $$renderer.push("<!--]-->");
2675
- } else {
2676
- $$renderer.push("<!--[!-->");
2677
- $$renderer.push("<!--]-->");
2678
- }
2679
- },
2680
- $$slots: { default: true }
2681
- });
2682
- $$renderer.push("<!--]-->");
2683
- } else {
2684
- $$renderer.push("<!--[!-->");
2685
- $$renderer.push("<!--]-->");
2686
- }
2687
- },
2688
- $$slots: { default: true }
2689
- });
2690
- $$renderer.push("<!--]-->");
2691
- } else {
2692
- $$renderer.push("<!--[!-->");
2693
- $$renderer.push("<!--]-->");
2694
- }
2695
- });
2696
- }
2697
- //#endregion
2698
- //#region src/routes/projects/_components/DefinitionEditDrawer.svelte
2699
- function DefinitionEditDrawer($$renderer, $$props) {
2700
- $$renderer.component(($$renderer) => {
2701
- /** Optional — when set, surfaces a Back link to return to the detail view. */
2702
- let { record, projects, computeServers, defaultComputeServerId = null, isSaving, initialTab = "versions", enableSharing, onClose, onSave, onDelete, onOpenRunner, onBack } = $$props;
2703
- let activeTab = initialTab === "shares" && !enableSharing ? "versions" : initialTab;
2704
- let displayName = record.displayName;
2705
- let description = record.description ?? "";
2706
- let category = record.category ?? "";
2707
- let tags = [...record.tags ?? []];
2708
- let projectId = record.projectId;
2709
- let computeServerId = record.computeServerId ?? null;
2710
- let status = record.status;
2711
- let userImageMode = void 0;
2712
- let coverImageUrl = record.coverImage ?? "";
2713
- let imageInput = void 0;
2714
- let imageHasFile = false;
2715
- let showDeleteConfirm = false;
2716
- let uploadingImage = false;
2717
- let pendingProjectId = null;
2718
- const pendingProject = derived(() => pendingProjectId ? projects.find((p) => p.id === pendingProjectId) ?? null : null);
2719
- const currentProject = derived(() => projects.find((p) => p.id === projectId) ?? null);
2720
- function handleProjectChange(nextId) {
2721
- if (nextId === projectId) return;
2722
- pendingProjectId = nextId;
2723
- }
2724
- function confirmProjectChange() {
2725
- if (pendingProjectId) projectId = pendingProjectId;
2726
- pendingProjectId = null;
2727
- }
2728
- function cancelProjectChange() {
2729
- pendingProjectId = null;
2730
- }
2731
- const imageMode = derived(() => userImageMode ?? (record.coverImage?.startsWith("/api/files/") ? "upload" : "url"));
2732
- const statusItems = [{
2733
- id: "draft",
2734
- label: "Draft — work in progress",
2735
- icon: Circle,
2736
- iconStyle: "color: var(--muted-foreground); fill: var(--muted-foreground);"
2737
- }, {
2738
- id: "published",
2739
- label: "Published — live and visible to runners",
2740
- icon: Circle,
2741
- iconStyle: "color: #22c55e; fill: #22c55e;"
2742
- }];
2743
- const computeServerItems = derived(() => computeServers.map((s) => ({
2744
- id: s.id,
2745
- label: s.id === defaultComputeServerId ? `${s.label} (Default)` : s.label
2746
- })));
2747
- async function handleImageUpload() {
2748
- if (!imageInput?.files?.length) return;
2749
- uploadingImage = true;
2750
- const formData = new FormData();
2751
- formData.append("image", imageInput.files[0]);
2752
- try {
2753
- const res = await fetch(`/api/v1/definitions/${record.guid}/image`, {
2754
- method: "POST",
2755
- body: formData
2756
- });
2757
- if (res.ok) {
2758
- toast.success("Cover image updated");
2759
- await invalidateAll();
2760
- } else {
2761
- const e = await res.json().catch(() => ({}));
2762
- toast.error(e.message || "Image upload failed");
2763
- }
2764
- } catch {
2765
- toast.error("Image upload failed");
2766
- } finally {
2767
- uploadingImage = false;
2768
- if (imageInput) imageInput.value = "";
2769
- imageHasFile = false;
2770
- }
2771
- }
2772
- function save() {
2773
- onSave(record.guid, {
2774
- displayName,
2775
- description: description || null,
2776
- category: category || null,
2777
- tags: tags.length ? tags : null,
2778
- coverImage: coverImageUrl || void 0,
2779
- status,
2780
- projectId: projectId || void 0,
2781
- computeServerId
2782
- });
2783
- }
2784
- let $$settled = true;
2785
- let $$inner_renderer;
2786
- function $$render_inner($$renderer) {
2787
- Drawer($$renderer, {
2788
- onClose,
2789
- ariaLabel: "Close edit drawer",
2790
- children: ($$renderer) => {
2791
- $$renderer.push(`<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">${escape_html(record.displayName)}</h2></div> `);
2792
- Button($$renderer, {
2793
- variant: "ghost",
2794
- size: "icon",
2795
- onclick: onClose,
2796
- class: "h-8 w-8 shrink-0",
2797
- children: ($$renderer) => {
2798
- X($$renderer, { class: "h-4 w-4" });
2799
- },
2800
- $$slots: { default: true }
2801
- });
2802
- $$renderer.push(`<!----></div> `);
2803
- if (onBack) {
2804
- $$renderer.push("<!--[0-->");
2805
- $$renderer.push(`<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">`);
2806
- Arrow_left($$renderer, { class: "h-3 w-3" });
2807
- $$renderer.push(`<!----> Back to definition</button>`);
2808
- } else $$renderer.push("<!--[-1-->");
2809
- $$renderer.push(`<!--]--> `);
2810
- if (Tabs) {
2811
- $$renderer.push("<!--[-->");
2812
- Tabs($$renderer, {
2813
- class: "flex flex-1 flex-col overflow-hidden",
2814
- get value() {
2815
- return activeTab;
2816
- },
2817
- set value($$value) {
2818
- activeTab = $$value;
2819
- $$settled = false;
2820
- },
2821
- children: ($$renderer) => {
2822
- if (Tabs_list) {
2823
- $$renderer.push("<!--[-->");
2824
- Tabs_list($$renderer, {
2825
- class: `mx-6 grid w-auto ${enableSharing ? "grid-cols-3" : "grid-cols-2"} ${onBack ? "mt-2" : "mt-4"}`,
2826
- children: ($$renderer) => {
2827
- if (Tabs_trigger) {
2828
- $$renderer.push("<!--[-->");
2829
- Tabs_trigger($$renderer, {
2830
- value: "details",
2831
- children: ($$renderer) => {
2832
- $$renderer.push(`<!---->Details`);
2833
- },
2834
- $$slots: { default: true }
2835
- });
2836
- $$renderer.push("<!--]-->");
2837
- } else {
2838
- $$renderer.push("<!--[!-->");
2839
- $$renderer.push("<!--]-->");
2840
- }
2841
- $$renderer.push(` `);
2842
- if (Tabs_trigger) {
2843
- $$renderer.push("<!--[-->");
2844
- Tabs_trigger($$renderer, {
2845
- value: "versions",
2846
- children: ($$renderer) => {
2847
- $$renderer.push(`<!---->Versions`);
2848
- },
2849
- $$slots: { default: true }
2850
- });
2851
- $$renderer.push("<!--]-->");
2852
- } else {
2853
- $$renderer.push("<!--[!-->");
2854
- $$renderer.push("<!--]-->");
2855
- }
2856
- $$renderer.push(` `);
2857
- if (enableSharing) {
2858
- $$renderer.push("<!--[0-->");
2859
- if (Tabs_trigger) {
2860
- $$renderer.push("<!--[-->");
2861
- Tabs_trigger($$renderer, {
2862
- value: "shares",
2863
- children: ($$renderer) => {
2864
- $$renderer.push(`<!---->Share links`);
2865
- },
2866
- $$slots: { default: true }
2867
- });
2868
- $$renderer.push("<!--]-->");
2869
- } else {
2870
- $$renderer.push("<!--[!-->");
2871
- $$renderer.push("<!--]-->");
2872
- }
2873
- } else $$renderer.push("<!--[-1-->");
2874
- $$renderer.push(`<!--]-->`);
2875
- },
2876
- $$slots: { default: true }
2877
- });
2878
- $$renderer.push("<!--]-->");
2879
- } else {
2880
- $$renderer.push("<!--[!-->");
2881
- $$renderer.push("<!--]-->");
2882
- }
2883
- $$renderer.push(` `);
2884
- if (Tabs_content) {
2885
- $$renderer.push("<!--[-->");
2886
- Tabs_content($$renderer, {
2887
- value: "versions",
2888
- class: "mt-4 flex-1 overflow-y-auto px-6 py-5",
2889
- children: ($$renderer) => {
2890
- VersionsSection($$renderer, {
2891
- definitionGuid: record.guid,
2892
- liveVersionId: record.liveVersionId,
2893
- draftVersionId: record.draftVersionId,
2894
- onOpenRunner
2895
- });
2896
- },
2897
- $$slots: { default: true }
2898
- });
2899
- $$renderer.push("<!--]-->");
2900
- } else {
2901
- $$renderer.push("<!--[!-->");
2902
- $$renderer.push("<!--]-->");
2903
- }
2904
- $$renderer.push(` `);
2905
- if (Tabs_content) {
2906
- $$renderer.push("<!--[-->");
2907
- Tabs_content($$renderer, {
2908
- value: "details",
2909
- class: "mt-4 flex-1 space-y-5 overflow-y-auto px-6 py-5",
2910
- children: ($$renderer) => {
2911
- $$renderer.push(`<div class="space-y-1.5">`);
2912
- Label($$renderer, {
2913
- for: "edit-name",
2914
- children: ($$renderer) => {
2915
- $$renderer.push(`<!---->Display name`);
2916
- },
2917
- $$slots: { default: true }
2918
- });
2919
- $$renderer.push(`<!----> `);
2920
- Input($$renderer, {
2921
- id: "edit-name",
2922
- get value() {
2923
- return displayName;
2924
- },
2925
- set value($$value) {
2926
- displayName = $$value;
2927
- $$settled = false;
2928
- }
2929
- });
2930
- $$renderer.push(`<!----></div> <div class="space-y-1.5">`);
2931
- Label($$renderer, {
2932
- for: "edit-desc",
2933
- children: ($$renderer) => {
2934
- $$renderer.push(`<!---->Description`);
2935
- },
2936
- $$slots: { default: true }
2937
- });
2938
- $$renderer.push(`<!----> `);
2939
- Textarea($$renderer, {
2940
- id: "edit-desc",
2941
- rows: 3,
2942
- get value() {
2943
- return description;
2944
- },
2945
- set value($$value) {
2946
- description = $$value;
2947
- $$settled = false;
2948
- }
2949
- });
2950
- $$renderer.push(`<!----></div> <div class="space-y-1.5">`);
2951
- Label($$renderer, {
2952
- for: "edit-status",
2953
- children: ($$renderer) => {
2954
- $$renderer.push(`<!---->Status`);
2955
- },
2956
- $$slots: { default: true }
2957
- });
2958
- $$renderer.push(`<!----> `);
2959
- FilterableDropdown($$renderer, {
2960
- id: "edit-status",
2961
- items: statusItems,
2962
- value: status,
2963
- onChange: (id) => status = id
2964
- });
2965
- $$renderer.push(`<!----></div> <div class="grid grid-cols-2 gap-3"><div class="space-y-1.5">`);
2966
- Label($$renderer, {
2967
- for: "edit-cat",
2968
- children: ($$renderer) => {
2969
- $$renderer.push(`<!---->Category`);
2970
- },
2971
- $$slots: { default: true }
2972
- });
2973
- $$renderer.push(`<!----> `);
2974
- Input($$renderer, {
2975
- id: "edit-cat",
2976
- maxlength: 40,
2977
- placeholder: "e.g. Facade",
2978
- get value() {
2979
- return category;
2980
- },
2981
- set value($$value) {
2982
- category = $$value;
2983
- $$settled = false;
2984
- }
2985
- });
2986
- $$renderer.push(`<!----></div> <div class="space-y-1.5"><div class="flex items-center justify-between">`);
2987
- Label($$renderer, {
2988
- for: "edit-tags",
2989
- children: ($$renderer) => {
2990
- $$renderer.push(`<!---->Tags`);
2991
- },
2992
- $$slots: { default: true }
2993
- });
2994
- $$renderer.push(`<!----> <span class="text-muted-foreground text-xs">${escape_html(tags.length)}/5</span></div> `);
2995
- if (tags.length > 0) {
2996
- $$renderer.push("<!--[0-->");
2997
- $$renderer.push(`<div class="mb-1 flex flex-wrap gap-1"><!--[-->`);
2998
- const each_array = ensure_array_like(tags);
2999
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
3000
- let tag = each_array[$$index];
3001
- Badge($$renderer, {
3002
- variant: "outline",
3003
- class: "gap-1 text-xs",
3004
- children: ($$renderer) => {
3005
- $$renderer.push(`<!---->${escape_html(tag)} <button class="hover:opacity-70"${attr("aria-label", `Remove tag ${stringify(tag)}`)}>`);
3006
- X($$renderer, { class: "h-2.5 w-2.5" });
3007
- $$renderer.push(`<!----></button>`);
3008
- },
3009
- $$slots: { default: true }
3010
- });
3011
- }
3012
- $$renderer.push(`<!--]--></div>`);
3013
- } else $$renderer.push("<!--[-1-->");
3014
- $$renderer.push(`<!--]--> `);
3015
- Input($$renderer, {
3016
- id: "edit-tags",
3017
- placeholder: "Add tag + Enter",
3018
- disabled: tags.length >= 5,
3019
- onkeydown: (e) => {
3020
- if (e.key === "Enter") {
3021
- e.preventDefault();
3022
- const el = e.currentTarget;
3023
- const tag = el.value.trim();
3024
- if (tag && !tags.includes(tag) && tags.length < 5) {
3025
- tags = [...tags, tag];
3026
- el.value = "";
3027
- }
3028
- }
3029
- }
3030
- });
3031
- $$renderer.push(`<!----></div></div> `);
3032
- Separator($$renderer, {});
3033
- $$renderer.push(`<!----> <div class="space-y-2"><div class="flex items-center gap-2">`);
3034
- Image($$renderer, { class: "text-muted-foreground h-4 w-4" });
3035
- $$renderer.push(`<!----> `);
3036
- Label($$renderer, {
3037
- children: ($$renderer) => {
3038
- $$renderer.push(`<!---->Cover image`);
3039
- },
3040
- $$slots: { default: true }
3041
- });
3042
- $$renderer.push(`<!----></div> `);
3043
- ImageUploadField($$renderer, {
3044
- mode: imageMode(),
3045
- value: record.coverImage ?? "",
3046
- isUploading: uploadingImage,
3047
- hasFile: imageHasFile,
3048
- onModeChange: (m) => userImageMode = m,
3049
- onUpload: handleImageUpload,
3050
- onFileSelected: () => imageHasFile = !!imageInput?.files?.length,
3051
- onUrlChange: (url) => coverImageUrl = url,
3052
- get inputRef() {
3053
- return imageInput;
3054
- },
3055
- set inputRef($$value) {
3056
- imageInput = $$value;
3057
- $$settled = false;
3058
- }
3059
- });
3060
- $$renderer.push(`<!----></div> `);
3061
- if (projects.length > 1 || computeServers.length > 0) {
3062
- $$renderer.push("<!--[0-->");
3063
- $$renderer.push(`<div class="grid grid-cols-2 gap-3">`);
3064
- if (projects.length > 1) {
3065
- $$renderer.push("<!--[0-->");
3066
- $$renderer.push(`<div class="space-y-1.5">`);
3067
- Label($$renderer, {
3068
- for: "edit-proj",
3069
- children: ($$renderer) => {
3070
- $$renderer.push(`<!---->Project`);
3071
- },
3072
- $$slots: { default: true }
3073
- });
3074
- $$renderer.push(`<!----> `);
3075
- ProjectPicker($$renderer, {
3076
- id: "edit-proj",
3077
- projects,
3078
- value: projectId,
3079
- onChange: handleProjectChange
3080
- });
3081
- $$renderer.push(`<!----></div>`);
3082
- } else $$renderer.push("<!--[-1-->");
3083
- $$renderer.push(`<!--]--> `);
3084
- if (computeServers.length > 0) {
3085
- $$renderer.push("<!--[0-->");
3086
- $$renderer.push(`<div class="space-y-1.5">`);
3087
- Label($$renderer, {
3088
- for: "edit-srv",
3089
- children: ($$renderer) => {
3090
- $$renderer.push(`<!---->Compute server`);
3091
- },
3092
- $$slots: { default: true }
3093
- });
3094
- $$renderer.push(`<!----> `);
3095
- FilterableDropdown($$renderer, {
3096
- id: "edit-srv",
3097
- items: computeServerItems(),
3098
- value: computeServerId ?? defaultComputeServerId ?? "",
3099
- onChange: (picked) => {
3100
- computeServerId = picked === defaultComputeServerId ? null : picked;
3101
- }
3102
- });
3103
- $$renderer.push(`<!----></div>`);
3104
- } else $$renderer.push("<!--[-1-->");
3105
- $$renderer.push(`<!--]--></div>`);
3106
- } else $$renderer.push("<!--[-1-->");
3107
- $$renderer.push(`<!--]-->`);
3108
- },
3109
- $$slots: { default: true }
3110
- });
3111
- $$renderer.push("<!--]-->");
3112
- } else {
3113
- $$renderer.push("<!--[!-->");
3114
- $$renderer.push("<!--]-->");
3115
- }
3116
- $$renderer.push(` `);
3117
- if (enableSharing) {
3118
- $$renderer.push("<!--[0-->");
3119
- if (Tabs_content) {
3120
- $$renderer.push("<!--[-->");
3121
- Tabs_content($$renderer, {
3122
- value: "shares",
3123
- class: "mt-4 flex-1 overflow-y-auto px-6 py-5",
3124
- children: ($$renderer) => {
3125
- ShareLinkSection($$renderer, { definitionGuid: record.guid });
3126
- },
3127
- $$slots: { default: true }
3128
- });
3129
- $$renderer.push("<!--]-->");
3130
- } else {
3131
- $$renderer.push("<!--[!-->");
3132
- $$renderer.push("<!--]-->");
3133
- }
3134
- } else $$renderer.push("<!--[-1-->");
3135
- $$renderer.push(`<!--]-->`);
3136
- },
3137
- $$slots: { default: true }
3138
- });
3139
- $$renderer.push("<!--]-->");
3140
- } else {
3141
- $$renderer.push("<!--[!-->");
3142
- $$renderer.push("<!--]-->");
3143
- }
3144
- $$renderer.push(` <div class="border-border flex shrink-0 items-center justify-between border-t px-6 py-4">`);
3145
- Button($$renderer, {
3146
- variant: "ghost",
3147
- size: "sm",
3148
- onclick: () => showDeleteConfirm = true,
3149
- class: "text-destructive hover:text-destructive gap-1.5 px-2",
3150
- children: ($$renderer) => {
3151
- Trash_2($$renderer, { class: "h-3.5 w-3.5" });
3152
- $$renderer.push(`<!----> Delete`);
3153
- },
3154
- $$slots: { default: true }
3155
- });
3156
- $$renderer.push(`<!----> <div class="flex gap-2">`);
3157
- Button($$renderer, {
3158
- variant: "outline",
3159
- size: "sm",
3160
- onclick: onClose,
3161
- children: ($$renderer) => {
3162
- $$renderer.push(`<!---->Cancel`);
3163
- },
3164
- $$slots: { default: true }
3165
- });
3166
- $$renderer.push(`<!----> `);
3167
- if (activeTab === "details") {
3168
- $$renderer.push("<!--[0-->");
3169
- Button($$renderer, {
3170
- size: "sm",
3171
- disabled: isSaving,
3172
- onclick: save,
3173
- children: ($$renderer) => {
3174
- $$renderer.push(`<!---->${escape_html(isSaving ? "Saving…" : "Save")}`);
3175
- },
3176
- $$slots: { default: true }
3177
- });
3178
- } else $$renderer.push("<!--[-1-->");
3179
- $$renderer.push(`<!--]--></div></div>`);
3180
- }});
3181
- $$renderer.push(`<!----> `);
3182
- if (Root) {
3183
- $$renderer.push("<!--[-->");
3184
- Root($$renderer, {
3185
- open: showDeleteConfirm,
3186
- onOpenChange: (o) => showDeleteConfirm = o,
3187
- children: ($$renderer) => {
3188
- if (Alert_dialog_content) {
3189
- $$renderer.push("<!--[-->");
3190
- Alert_dialog_content($$renderer, {
3191
- children: ($$renderer) => {
3192
- if (Alert_dialog_header) {
3193
- $$renderer.push("<!--[-->");
3194
- Alert_dialog_header($$renderer, {
3195
- children: ($$renderer) => {
3196
- if (Alert_dialog_title) {
3197
- $$renderer.push("<!--[-->");
3198
- Alert_dialog_title($$renderer, {
3199
- children: ($$renderer) => {
3200
- $$renderer.push(`<!---->Delete "${escape_html(record.displayName)}"?`);
3201
- },
3202
- $$slots: { default: true }
3203
- });
3204
- $$renderer.push("<!--]-->");
3205
- } else {
3206
- $$renderer.push("<!--[!-->");
3207
- $$renderer.push("<!--]-->");
3208
- }
3209
- $$renderer.push(` `);
3210
- if (Alert_dialog_description) {
3211
- $$renderer.push("<!--[-->");
3212
- Alert_dialog_description($$renderer, {
3213
- children: ($$renderer) => {
3214
- $$renderer.push(`<!---->This removes the definition and all its files. This cannot be undone.`);
3215
- },
3216
- $$slots: { default: true }
3217
- });
3218
- $$renderer.push("<!--]-->");
3219
- } else {
3220
- $$renderer.push("<!--[!-->");
3221
- $$renderer.push("<!--]-->");
3222
- }
3223
- },
3224
- $$slots: { default: true }
3225
- });
3226
- $$renderer.push("<!--]-->");
3227
- } else {
3228
- $$renderer.push("<!--[!-->");
3229
- $$renderer.push("<!--]-->");
3230
- }
3231
- $$renderer.push(` `);
3232
- if (Alert_dialog_footer) {
3233
- $$renderer.push("<!--[-->");
3234
- Alert_dialog_footer($$renderer, {
3235
- children: ($$renderer) => {
3236
- if (Alert_dialog_cancel) {
3237
- $$renderer.push("<!--[-->");
3238
- Alert_dialog_cancel($$renderer, {
3239
- children: ($$renderer) => {
3240
- $$renderer.push(`<!---->Cancel`);
3241
- },
3242
- $$slots: { default: true }
3243
- });
3244
- $$renderer.push("<!--]-->");
3245
- } else {
3246
- $$renderer.push("<!--[!-->");
3247
- $$renderer.push("<!--]-->");
3248
- }
3249
- $$renderer.push(` `);
3250
- if (Alert_dialog_action) {
3251
- $$renderer.push("<!--[-->");
3252
- Alert_dialog_action($$renderer, {
3253
- onclick: () => onDelete(record.guid),
3254
- children: ($$renderer) => {
3255
- $$renderer.push(`<!---->Delete`);
3256
- },
3257
- $$slots: { default: true }
3258
- });
3259
- $$renderer.push("<!--]-->");
3260
- } else {
3261
- $$renderer.push("<!--[!-->");
3262
- $$renderer.push("<!--]-->");
3263
- }
3264
- },
3265
- $$slots: { default: true }
3266
- });
3267
- $$renderer.push("<!--]-->");
3268
- } else {
3269
- $$renderer.push("<!--[!-->");
3270
- $$renderer.push("<!--]-->");
3271
- }
3272
- },
3273
- $$slots: { default: true }
3274
- });
3275
- $$renderer.push("<!--]-->");
3276
- } else {
3277
- $$renderer.push("<!--[!-->");
3278
- $$renderer.push("<!--]-->");
3279
- }
3280
- },
3281
- $$slots: { default: true }
3282
- });
3283
- $$renderer.push("<!--]-->");
3284
- } else {
3285
- $$renderer.push("<!--[!-->");
3286
- $$renderer.push("<!--]-->");
3287
- }
3288
- $$renderer.push(` `);
3289
- if (Root) {
3290
- $$renderer.push("<!--[-->");
3291
- Root($$renderer, {
3292
- open: pendingProjectId !== null,
3293
- onOpenChange: (o) => {
3294
- if (!o) cancelProjectChange();
3295
- },
3296
- children: ($$renderer) => {
3297
- if (Alert_dialog_content) {
3298
- $$renderer.push("<!--[-->");
3299
- Alert_dialog_content($$renderer, {
3300
- children: ($$renderer) => {
3301
- if (Alert_dialog_header) {
3302
- $$renderer.push("<!--[-->");
3303
- Alert_dialog_header($$renderer, {
3304
- children: ($$renderer) => {
3305
- if (Alert_dialog_title) {
3306
- $$renderer.push("<!--[-->");
3307
- Alert_dialog_title($$renderer, {
3308
- children: ($$renderer) => {
3309
- $$renderer.push(`<!---->Move to a different project?`);
3310
- },
3311
- $$slots: { default: true }
3312
- });
3313
- $$renderer.push("<!--]-->");
3314
- } else {
3315
- $$renderer.push("<!--[!-->");
3316
- $$renderer.push("<!--]-->");
3317
- }
3318
- $$renderer.push(` `);
3319
- if (Alert_dialog_description) {
3320
- $$renderer.push("<!--[-->");
3321
- Alert_dialog_description($$renderer, {
3322
- children: ($$renderer) => {
3323
- $$renderer.push(`<strong>${escape_html(record.displayName)}</strong> will move from <strong>${escape_html(currentProject()?.name ?? "—")}</strong> to <strong>${escape_html(pendingProject()?.name ?? "—")}</strong>. Project members and visibility may change
3324
- accordingly.${escape_html(enableSharing ? " Existing share links keep working." : "")}`);
3325
- },
3326
- $$slots: { default: true }
3327
- });
3328
- $$renderer.push("<!--]-->");
3329
- } else {
3330
- $$renderer.push("<!--[!-->");
3331
- $$renderer.push("<!--]-->");
3332
- }
3333
- },
3334
- $$slots: { default: true }
3335
- });
3336
- $$renderer.push("<!--]-->");
3337
- } else {
3338
- $$renderer.push("<!--[!-->");
3339
- $$renderer.push("<!--]-->");
3340
- }
3341
- $$renderer.push(` `);
3342
- if (Alert_dialog_footer) {
3343
- $$renderer.push("<!--[-->");
3344
- Alert_dialog_footer($$renderer, {
3345
- children: ($$renderer) => {
3346
- if (Alert_dialog_cancel) {
3347
- $$renderer.push("<!--[-->");
3348
- Alert_dialog_cancel($$renderer, {
3349
- onclick: cancelProjectChange,
3350
- children: ($$renderer) => {
3351
- $$renderer.push(`<!---->Cancel`);
3352
- },
3353
- $$slots: { default: true }
3354
- });
3355
- $$renderer.push("<!--]-->");
3356
- } else {
3357
- $$renderer.push("<!--[!-->");
3358
- $$renderer.push("<!--]-->");
3359
- }
3360
- $$renderer.push(` `);
3361
- if (Alert_dialog_action) {
3362
- $$renderer.push("<!--[-->");
3363
- Alert_dialog_action($$renderer, {
3364
- onclick: confirmProjectChange,
3365
- children: ($$renderer) => {
3366
- $$renderer.push(`<!---->Move`);
3367
- },
3368
- $$slots: { default: true }
3369
- });
3370
- $$renderer.push("<!--]-->");
3371
- } else {
3372
- $$renderer.push("<!--[!-->");
3373
- $$renderer.push("<!--]-->");
3374
- }
3375
- },
3376
- $$slots: { default: true }
3377
- });
3378
- $$renderer.push("<!--]-->");
3379
- } else {
3380
- $$renderer.push("<!--[!-->");
3381
- $$renderer.push("<!--]-->");
3382
- }
3383
- },
3384
- $$slots: { default: true }
3385
- });
3386
- $$renderer.push("<!--]-->");
3387
- } else {
3388
- $$renderer.push("<!--[!-->");
3389
- $$renderer.push("<!--]-->");
3390
- }
3391
- },
3392
- $$slots: { default: true }
3393
- });
3394
- $$renderer.push("<!--]-->");
3395
- } else {
3396
- $$renderer.push("<!--[!-->");
3397
- $$renderer.push("<!--]-->");
3398
- }
3399
- }
3400
- do {
3401
- $$settled = true;
3402
- $$inner_renderer = $$renderer.copy();
3403
- $$render_inner($$inner_renderer);
3404
- } while (!$$settled);
3405
- $$renderer.subsume($$inner_renderer);
3406
- });
3407
- }
3408
- //#endregion
3409
- //#region src/routes/projects/+page.svelte
3410
- function _page($$renderer, $$props) {
3411
- $$renderer.component(($$renderer) => {
3412
- var $$store_subs;
3413
- let { data } = $$props;
3414
- const enableSharing = derived(() => !!store_get($$store_subs ??= {}, "$page", page).data.flags?.enableSharing);
3415
- let searchQuery = "";
3416
- let activeProjectId = null;
3417
- let viewMode = "grid";
3418
- let drawerRecord = null;
3419
- let editingDefinitionId = null;
3420
- let editingProjectId = null;
3421
- let deletingProjectId = null;
3422
- let showAddModal = false;
3423
- let editCameFromDetail = false;
3424
- let editInitialTab = "versions";
3425
- let addingDefinition = false;
3426
- let savingDefinitionId = null;
3427
- const filtered = derived(() => {
3428
- let records = data.records;
3429
- if (activeProjectId) records = records.filter((r) => r.projectId === activeProjectId);
3430
- if (searchQuery.trim()) {
3431
- const q = searchQuery.toLowerCase();
3432
- records = records.filter((r) => r.displayName?.toLowerCase().includes(q) || r.description?.toLowerCase().includes(q) || r.tags?.some((t) => t.toLowerCase().includes(q)));
3433
- }
3434
- return records;
3435
- });
3436
- const editingRecord = derived(() => editingDefinitionId ? data.records.find((r) => r.guid === editingDefinitionId) ?? null : null);
3437
- const activeProject = derived(() => activeProjectId ? data.projects.find((p) => p.id === activeProjectId) ?? null : null);
3438
- const canAddDefinition = derived(() => activeProject() ? activeProject().canEdit : data.projects.some((p) => p.canEdit));
3439
- const editableProjects = derived(() => data.projects.filter((p) => p.canEdit));
3440
- const editingProject = derived(() => editingProjectId ? data.projects.find((p) => p.id === editingProjectId) ?? null : null);
3441
- const deletingProject = derived(() => deletingProjectId ? data.projects.find((p) => p.id === deletingProjectId) ?? null : null);
3442
- function projectName(id) {
3443
- return data.projects.find((p) => p.id === id)?.name ?? "";
3444
- }
3445
- function projectVisibility(id) {
3446
- return data.projects.find((p) => p.id === id)?.visibility;
3447
- }
3448
- function serverNameFor(record) {
3449
- const servers = data.computeServers;
3450
- if (servers.length === 0) return void 0;
3451
- const pinned = record.computeServerId ? servers.find((s) => s.id === record.computeServerId) : void 0;
3452
- const fallback = servers.find((s) => s.id === data.defaultComputeServerId) ?? servers[0];
3453
- return (pinned ?? fallback)?.label;
3454
- }
3455
- function recordCanEdit(record) {
3456
- return data.projects.find((p) => p.id === record.projectId)?.canEdit ?? false;
3457
- }
3458
- async function errorMessage(res, fallback) {
3459
- if (res.headers.get("content-type")?.includes("application/json")) {
3460
- const e = await res.json().catch(() => null);
3461
- return e?.message || e?.error?.message || `${fallback} (${res.status})`;
3462
- }
3463
- return `${fallback} (${res.status})`;
3464
- }
3465
- async function saveDefinition(guid, patch) {
3466
- savingDefinitionId = guid;
3467
- try {
3468
- const res = await fetch(`/api/v1/definitions/${guid}`, {
3469
- method: "PATCH",
3470
- headers: { "Content-Type": "application/json" },
3471
- body: JSON.stringify(patch)
3472
- });
3473
- if (res.ok) {
3474
- toast.success("Definition saved");
3475
- editingDefinitionId = null;
3476
- drawerRecord = null;
3477
- await invalidateAll();
3478
- } else toast.error(await errorMessage(res, "Save failed"));
3479
- } catch (e) {
3480
- toast.error("Save failed: " + (e instanceof Error ? e.message : "Unknown error"));
3481
- } finally {
3482
- savingDefinitionId = null;
3483
- }
3484
- }
3485
- async function deleteDefinition(guid) {
3486
- const rec = data.records.find((r) => r.guid === guid);
3487
- try {
3488
- const res = await fetch(`/api/v1/definitions/${guid}`, { method: "DELETE" });
3489
- if (res.ok) {
3490
- toast.success(`"${rec?.displayName ?? "Definition"}" deleted`);
3491
- editingDefinitionId = null;
3492
- await invalidateAll();
3493
- } else toast.error(await errorMessage(res, "Delete failed"));
3494
- } catch {
3495
- toast.error("Delete failed");
3496
- }
3497
- }
3498
- async function saveProject(id, patch) {
3499
- const res = await fetch(`/api/v1/projects/${id}`, {
3500
- method: "PATCH",
3501
- headers: { "Content-Type": "application/json" },
3502
- body: JSON.stringify(patch)
3503
- });
3504
- if (res.ok) {
3505
- toast.success("Project saved");
3506
- editingProjectId = null;
3507
- await invalidateAll();
3508
- } else toast.error(await errorMessage(res, "Failed to save project"));
3509
- }
3510
- async function deleteProject(id) {
3511
- const res = await fetch(`/api/v1/projects/${id}`, { method: "DELETE" });
3512
- if (res.ok) {
3513
- toast.success("Project deleted");
3514
- if (activeProjectId === id) activeProjectId = data.projects.find((p) => p.id !== id)?.id ?? null;
3515
- deletingProjectId = null;
3516
- editingProjectId = null;
3517
- await invalidateAll();
3518
- } else toast.error(await errorMessage(res, "Failed to delete project"));
3519
- }
3520
- async function updateMemberRole(projectId, userId, role) {
3521
- if ((await fetch(`/api/v1/projects/${projectId}/members/${userId}`, {
3522
- method: "PATCH",
3523
- headers: { "Content-Type": "application/json" },
3524
- body: JSON.stringify({ role })
3525
- })).ok) await invalidateAll();
3526
- else toast.error("Failed to update role");
3527
- }
3528
- async function removeMember(projectId, userId) {
3529
- if ((await fetch(`/api/v1/projects/${projectId}/members/${userId}`, { method: "DELETE" })).ok) await invalidateAll();
3530
- else toast.error("Failed to remove member");
3531
- }
3532
- let $$settled = true;
3533
- let $$inner_renderer;
3534
- function $$render_inner($$renderer) {
3535
- head("rqn88j", $$renderer, ($$renderer) => {
3536
- $$renderer.title(($$renderer) => {
3537
- $$renderer.push(`<title>Projects</title>`);
3538
- });
3539
- });
3540
- $$renderer.push(`<div class="flex h-full overflow-hidden">`);
3541
- ProjectSidebar($$renderer, {
3542
- projects: data.projects,
3543
- records: data.records,
3544
- activeProjectId,
3545
- canManageProjects: data.canManageProjects});
3546
- $$renderer.push(`<!----> <div class="flex flex-1 flex-col overflow-hidden"><div class="border-border bg-background shrink-0 border-b px-(--page-px) py-5">`);
3547
- {
3548
- function actions($$renderer) {
3549
- if (data.canManageProjects && activeProject()?.canManage) {
3550
- $$renderer.push("<!--[0-->");
3551
- Button($$renderer, {
3552
- variant: "outline",
3553
- size: "sm",
3554
- onclick: () => editingProjectId = activeProject().id,
3555
- children: ($$renderer) => {
3556
- Settings($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
3557
- $$renderer.push(`<!----> Project settings`);
3558
- },
3559
- $$slots: { default: true }
3560
- });
3561
- } else $$renderer.push("<!--[-1-->");
3562
- $$renderer.push(`<!--]--> `);
3563
- if (canAddDefinition()) {
3564
- $$renderer.push("<!--[0-->");
3565
- Button($$renderer, {
3566
- size: "sm",
3567
- onclick: () => showAddModal = true,
3568
- children: ($$renderer) => {
3569
- Plus($$renderer, { class: "mr-1.5 h-3.5 w-3.5" });
3570
- $$renderer.push(`<!----> Add definition`);
3571
- },
3572
- $$slots: { default: true }
3573
- });
3574
- } else $$renderer.push("<!--[-1-->");
3575
- $$renderer.push(`<!--]-->`);
3576
- }
3577
- SectionHeader($$renderer, {
3578
- class: "mb-0",
3579
- eyebrow: activeProject() ? activeProject().name : "All projects",
3580
- title: "Definitions",
3581
- description: activeProject()?.description ?? (!activeProject() ? "Definitions across every project in this organization." : void 0),
3582
- actions});
3583
- }
3584
- $$renderer.push(`<!----></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">`);
3585
- Search($$renderer, {
3586
- placeholder: "Search by name, description, tags…",
3587
- clearable: true,
3588
- get value() {
3589
- return searchQuery;
3590
- },
3591
- set value($$value) {
3592
- searchQuery = $$value;
3593
- $$settled = false;
3594
- }
3595
- });
3596
- $$renderer.push(`<!----></div> <span class="text-muted-foreground font-mono text-xs tabular-nums">${escape_html(filtered().length)} definition${escape_html(filtered().length === 1 ? "" : "s")}</span> <div class="ml-auto">`);
3597
- ViewToggle($$renderer, {
3598
- mode: viewMode,
3599
- size: "sm",
3600
- onChange: (m) => viewMode = m
3601
- });
3602
- $$renderer.push(`<!----></div></div> `);
3603
- if (filtered().length === 0) {
3604
- $$renderer.push("<!--[0-->");
3605
- EmptyState($$renderer, {
3606
- size: "lg",
3607
- title: "No definitions found",
3608
- description: searchQuery ? "Try adjusting your search" : "Add your first definition to get started"
3609
- });
3610
- } else if (viewMode === "grid") {
3611
- $$renderer.push("<!--[1-->");
3612
- $$renderer.push(`<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"><!--[-->`);
3613
- const each_array = ensure_array_like(filtered());
3614
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
3615
- let record = each_array[$$index];
3616
- DefinitionCard($$renderer, {
3617
- record,
3618
- showStatus: true,
3619
- onOpen: (r) => drawerRecord = r,
3620
- projectName: activeProjectId === null ? projectName(record.projectId) : void 0,
3621
- projectVisibility: activeProjectId === null ? projectVisibility(record.projectId) : void 0,
3622
- serverName: serverNameFor(record)
3623
- });
3624
- }
3625
- $$renderer.push(`<!--]--></div>`);
3626
- } else {
3627
- $$renderer.push("<!--[-1-->");
3628
- DefinitionListView($$renderer, {
3629
- records: filtered(),
3630
- projects: data.projects});
3631
- }
3632
- $$renderer.push(`<!--]--></div></div></div> `);
3633
- if (drawerRecord) {
3634
- $$renderer.push("<!--[0-->");
3635
- DefinitionDetailDrawer($$renderer, {
3636
- record: drawerRecord,
3637
- projectName: projectName(drawerRecord.projectId),
3638
- canEdit: recordCanEdit(drawerRecord),
3639
- showShare: enableSharing(),
3640
- onClose: () => drawerRecord = null,
3641
- onEdit: (r) => {
3642
- editInitialTab = "details";
3643
- editingDefinitionId = r.guid;
3644
- editCameFromDetail = true;
3645
- drawerRecord = null;
3646
- },
3647
- onShare: (r) => {
3648
- editInitialTab = "shares";
3649
- editingDefinitionId = r.guid;
3650
- editCameFromDetail = true;
3651
- drawerRecord = null;
3652
- },
3653
- onOpenRunner: (guid, channel, versionId) => goto()
3654
- });
3655
- } else $$renderer.push("<!--[-1-->");
3656
- $$renderer.push(`<!--]--> `);
3657
- if (editingRecord()) {
3658
- $$renderer.push("<!--[0-->");
3659
- $$renderer.push(`<!---->`);
3660
- DefinitionEditDrawer($$renderer, {
3661
- record: editingRecord(),
3662
- projects: data.projects,
3663
- computeServers: data.computeServers,
3664
- defaultComputeServerId: data.defaultComputeServerId,
3665
- isSaving: savingDefinitionId === editingRecord().guid,
3666
- initialTab: editInitialTab,
3667
- enableSharing: enableSharing(),
3668
- onClose: () => {
3669
- editingDefinitionId = null;
3670
- editCameFromDetail = false;
3671
- editInitialTab = "versions";
3672
- },
3673
- onBack: editCameFromDetail ? () => {
3674
- drawerRecord = editingRecord();
3675
- editingDefinitionId = null;
3676
- editCameFromDetail = false;
3677
- } : void 0,
3678
- onSave: saveDefinition,
3679
- onDelete: deleteDefinition,
3680
- onOpenRunner: (guid, channel, versionId) => goto()
3681
- });
3682
- $$renderer.push(`<!---->`);
3683
- } else $$renderer.push("<!--[-1-->");
3684
- $$renderer.push(`<!--]--> `);
3685
- if (editingProject() && data.canManageProjects && editingProject().canManage) {
3686
- $$renderer.push("<!--[0-->");
3687
- ProjectSettingsDialog($$renderer, {
3688
- project: editingProject(),
3689
- users: data.users,
3690
- open: editingProjectId !== null,
3691
- onOpenChange: (o) => {
3692
- if (!o) editingProjectId = null;
3693
- },
3694
- onSave: saveProject,
3695
- onDelete: (id) => {
3696
- editingProjectId = null;
3697
- deletingProjectId = id;
3698
- },
3699
- onUpdateMemberRole: updateMemberRole,
3700
- onRemoveMember: removeMember
3701
- });
3702
- } else $$renderer.push("<!--[-1-->");
3703
- $$renderer.push(`<!--]--> `);
3704
- if (Root) {
3705
- $$renderer.push("<!--[-->");
3706
- Root($$renderer, {
3707
- open: deletingProjectId !== null,
3708
- onOpenChange: (o) => {
3709
- if (!o) deletingProjectId = null;
3710
- },
3711
- children: ($$renderer) => {
3712
- if (Alert_dialog_content) {
3713
- $$renderer.push("<!--[-->");
3714
- Alert_dialog_content($$renderer, {
3715
- children: ($$renderer) => {
3716
- if (Alert_dialog_header) {
3717
- $$renderer.push("<!--[-->");
3718
- Alert_dialog_header($$renderer, {
3719
- children: ($$renderer) => {
3720
- if (Alert_dialog_title) {
3721
- $$renderer.push("<!--[-->");
3722
- Alert_dialog_title($$renderer, {
3723
- children: ($$renderer) => {
3724
- $$renderer.push(`<!---->Delete "${escape_html(deletingProject()?.name ?? "")}"?`);
3725
- },
3726
- $$slots: { default: true }
3727
- });
3728
- $$renderer.push("<!--]-->");
3729
- } else {
3730
- $$renderer.push("<!--[!-->");
3731
- $$renderer.push("<!--]-->");
3732
- }
3733
- $$renderer.push(` `);
3734
- if (Alert_dialog_description) {
3735
- $$renderer.push("<!--[-->");
3736
- Alert_dialog_description($$renderer, {
3737
- children: ($$renderer) => {
3738
- $$renderer.push(`<!---->This will remove the project and all member assignments. Definitions will become unassigned.`);
3739
- },
3740
- $$slots: { default: true }
3741
- });
3742
- $$renderer.push("<!--]-->");
3743
- } else {
3744
- $$renderer.push("<!--[!-->");
3745
- $$renderer.push("<!--]-->");
3746
- }
3747
- },
3748
- $$slots: { default: true }
3749
- });
3750
- $$renderer.push("<!--]-->");
3751
- } else {
3752
- $$renderer.push("<!--[!-->");
3753
- $$renderer.push("<!--]-->");
3754
- }
3755
- $$renderer.push(` `);
3756
- if (Alert_dialog_footer) {
3757
- $$renderer.push("<!--[-->");
3758
- Alert_dialog_footer($$renderer, {
3759
- children: ($$renderer) => {
3760
- if (Alert_dialog_cancel) {
3761
- $$renderer.push("<!--[-->");
3762
- Alert_dialog_cancel($$renderer, {
3763
- children: ($$renderer) => {
3764
- $$renderer.push(`<!---->Cancel`);
3765
- },
3766
- $$slots: { default: true }
3767
- });
3768
- $$renderer.push("<!--]-->");
3769
- } else {
3770
- $$renderer.push("<!--[!-->");
3771
- $$renderer.push("<!--]-->");
3772
- }
3773
- $$renderer.push(` `);
3774
- if (Alert_dialog_action) {
3775
- $$renderer.push("<!--[-->");
3776
- Alert_dialog_action($$renderer, {
3777
- onclick: () => deletingProjectId && deleteProject(deletingProjectId),
3778
- children: ($$renderer) => {
3779
- $$renderer.push(`<!---->Delete`);
3780
- },
3781
- $$slots: { default: true }
3782
- });
3783
- $$renderer.push("<!--]-->");
3784
- } else {
3785
- $$renderer.push("<!--[!-->");
3786
- $$renderer.push("<!--]-->");
3787
- }
3788
- },
3789
- $$slots: { default: true }
3790
- });
3791
- $$renderer.push("<!--]-->");
3792
- } else {
3793
- $$renderer.push("<!--[!-->");
3794
- $$renderer.push("<!--]-->");
3795
- }
3796
- },
3797
- $$slots: { default: true }
3798
- });
3799
- $$renderer.push("<!--]-->");
3800
- } else {
3801
- $$renderer.push("<!--[!-->");
3802
- $$renderer.push("<!--]-->");
3803
- }
3804
- },
3805
- $$slots: { default: true }
3806
- });
3807
- $$renderer.push("<!--]-->");
3808
- } else {
3809
- $$renderer.push("<!--[!-->");
3810
- $$renderer.push("<!--]-->");
3811
- }
3812
- $$renderer.push(` `);
3813
- AddDefinitionDialog($$renderer, {
3814
- open: showAddModal,
3815
- isAdding: addingDefinition,
3816
- projects: editableProjects(),
3817
- defaultProjectId: activeProject()?.canEdit ? activeProjectId : editableProjects()[0]?.id,
3818
- computeServers: data.computeServers,
3819
- defaultComputeServerId: data.defaultComputeServerId,
3820
- showProjectDropdown: editableProjects().length > 1,
3821
- onOpenChange: (o) => showAddModal = o});
3822
- $$renderer.push(`<!---->`);
3823
- }
3824
- do {
3825
- $$settled = true;
3826
- $$inner_renderer = $$renderer.copy();
3827
- $$render_inner($$inner_renderer);
3828
- } while (!$$settled);
3829
- $$renderer.subsume($$inner_renderer);
3830
- if ($$store_subs) unsubscribe_stores($$store_subs);
3831
- });
3832
- }
3833
-
3834
- export { _page as default };
3835
- //# sourceMappingURL=_page.svelte.js-BpBP0yb4.js.map