@selvajs/selva 4.6.0-beta.2 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/build/client/_app/immutable/assets/0.Cj1PUDYF.css +1 -0
  2. package/build/client/_app/immutable/assets/0.Cj1PUDYF.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.Cj1PUDYF.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{Dj6REzZ0.js → B3863r4K.js} +1 -1
  5. package/build/client/_app/immutable/chunks/B3863r4K.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/B3863r4K.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{o-qHmMxg.js → B7HUdsZm.js} +1 -1
  8. package/build/client/_app/immutable/chunks/B7HUdsZm.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/B7HUdsZm.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{KecTfFG2.js → ByprRtK5.js} +1 -1
  11. package/build/client/_app/immutable/chunks/ByprRtK5.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/ByprRtK5.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{Cd8uUagh.js → Cf84tWpN.js} +1 -1
  14. package/build/client/_app/immutable/chunks/Cf84tWpN.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Cf84tWpN.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{D-RnPGVi.js → CoQ9fTF5.js} +1 -1
  17. package/build/client/_app/immutable/chunks/CoQ9fTF5.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CoQ9fTF5.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{DE1IAae-.js → CpLycSEC.js} +4 -4
  20. package/build/client/_app/immutable/chunks/CpLycSEC.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/CpLycSEC.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{BNlGWnEa.js → DYVN_iHa.js} +2 -2
  23. package/build/client/_app/immutable/chunks/DYVN_iHa.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DYVN_iHa.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{Dh9wssNG.js → Dc6oAxlV.js} +1 -1
  26. package/build/client/_app/immutable/chunks/Dc6oAxlV.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/Dc6oAxlV.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/app.C2qtLXu2.js +2 -0
  29. package/build/client/_app/immutable/entry/app.C2qtLXu2.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.C2qtLXu2.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.8SkoDI6l.js +1 -0
  32. package/build/client/_app/immutable/entry/start.8SkoDI6l.js.br +2 -0
  33. package/build/client/_app/immutable/entry/start.8SkoDI6l.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{1.h5RSNGbs.js → 1.BZeDeTb6.js} +1 -1
  35. package/build/client/_app/immutable/nodes/1.BZeDeTb6.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/1.BZeDeTb6.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{11.BrUohDzR.js → 11.RXCFeYZu.js} +1 -1
  38. package/build/client/_app/immutable/nodes/11.RXCFeYZu.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/11.RXCFeYZu.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{13.RPUAXFD4.js → 13.wdYbd877.js} +1 -1
  41. package/build/client/_app/immutable/nodes/13.wdYbd877.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/13.wdYbd877.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{14.DD25MrcN.js → 14.DD7XD9GU.js} +1 -1
  44. package/build/client/_app/immutable/nodes/14.DD7XD9GU.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/14.DD7XD9GU.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{15.2borWKNj.js → 15.DY0SZIUd.js} +13 -13
  47. package/build/client/_app/immutable/nodes/15.DY0SZIUd.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/15.DY0SZIUd.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{16.AnMZqiO6.js → 16.C1v8VywM.js} +1 -1
  50. package/build/client/_app/immutable/nodes/16.C1v8VywM.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/16.C1v8VywM.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{17.MCt65051.js → 17.o9x0mNbV.js} +1 -1
  53. package/build/client/_app/immutable/nodes/17.o9x0mNbV.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/17.o9x0mNbV.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{19.6aT-fTMy.js → 19.CUaj7-cs.js} +1 -1
  56. package/build/client/_app/immutable/nodes/19.CUaj7-cs.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/19.CUaj7-cs.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{2.DTLt5gvF.js → 2.Byp7Cy5O.js} +1 -1
  59. package/build/client/_app/immutable/nodes/2.Byp7Cy5O.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/2.Byp7Cy5O.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{20.CpXK8jYA.js → 20.BBJjjtVo.js} +64 -64
  62. package/build/client/_app/immutable/nodes/20.BBJjjtVo.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/20.BBJjjtVo.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{21.hMALoCev.js → 21.H0xJhKOR.js} +1 -1
  65. package/build/client/_app/immutable/nodes/21.H0xJhKOR.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/21.H0xJhKOR.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js +16 -0
  68. package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{24.D4e0bX6T.js → 24.BdClZySL.js} +1 -1
  71. package/build/client/_app/immutable/nodes/24.BdClZySL.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/24.BdClZySL.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{27.CBtqq6qp.js → 27.Sx8VQZPb.js} +1 -1
  74. package/build/client/_app/immutable/nodes/27.Sx8VQZPb.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/27.Sx8VQZPb.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{28.2dbj6GEG.js → 28.DM3lB66C.js} +1 -1
  77. package/build/client/_app/immutable/nodes/28.DM3lB66C.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/28.DM3lB66C.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{29.Cni5D37m.js → 29.DMxRfN-X.js} +1 -1
  80. package/build/client/_app/immutable/nodes/29.DMxRfN-X.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/29.DMxRfN-X.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{3.CfZ37YEr.js → 3.Ch9SZOx0.js} +1 -1
  83. package/build/client/_app/immutable/nodes/3.Ch9SZOx0.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/3.Ch9SZOx0.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{30.B5u2_6d1.js → 30.B4uslO3W.js} +1 -1
  86. package/build/client/_app/immutable/nodes/30.B4uslO3W.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/30.B4uslO3W.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{5.Co5caC3o.js → 5.sJES-uLE.js} +1 -1
  89. package/build/client/_app/immutable/nodes/5.sJES-uLE.js.br +1 -0
  90. package/build/client/_app/immutable/nodes/5.sJES-uLE.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{6.PNCZDQUQ.js → 6.Dnp2ke2O.js} +1 -1
  92. package/build/client/_app/immutable/nodes/6.Dnp2ke2O.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/6.Dnp2ke2O.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{7.B-MS6ohL.js → 7.D0_g6ne3.js} +1 -1
  95. package/build/client/_app/immutable/nodes/7.D0_g6ne3.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/7.D0_g6ne3.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{8.BuLcFKAl.js → 8.Ba7__1HU.js} +1 -1
  98. package/build/client/_app/immutable/nodes/8.Ba7__1HU.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/8.Ba7__1HU.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/9.BqTmDQ0D.js +1 -0
  101. package/build/client/_app/immutable/nodes/9.BqTmDQ0D.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/9.BqTmDQ0D.js.gz +0 -0
  103. package/build/client/_app/version.json +1 -1
  104. package/build/client/_app/version.json.br +0 -0
  105. package/build/client/_app/version.json.gz +0 -0
  106. package/build/handler.js +4 -4
  107. package/build/index.js +4 -4
  108. package/build/server/chunks/chunks/{AppHeader.js-DPS1L7af.js → AppHeader.js-D1BAf8Eq.js} +2 -2
  109. package/build/server/chunks/chunks/{AppHeader.js-DPS1L7af.js.map → AppHeader.js-D1BAf8Eq.js.map} +1 -1
  110. package/build/server/chunks/chunks/{UserChip.js-BD3_PDH3.js → UserChip.js-DIRuYUCH.js} +2 -2
  111. package/build/server/chunks/chunks/{UserChip.js-BD3_PDH3.js.map → UserChip.js-DIRuYUCH.js.map} +1 -1
  112. package/build/server/chunks/chunks/{access.server.js-7luP5O4P.js → access.server.js-x_KrjYJP.js} +16 -6
  113. package/build/server/chunks/chunks/access.server.js-x_KrjYJP.js.map +1 -0
  114. package/build/server/chunks/chunks/{api-errors.js-DjgsTHzx.js → api-errors.js-B1VX-zf8.js} +4 -4
  115. package/build/server/chunks/chunks/{api-errors.js-DjgsTHzx.js.map → api-errors.js-B1VX-zf8.js.map} +1 -1
  116. package/build/server/chunks/chunks/{auth-bootstrap.server.js-Bg-Qy-YX.js → auth-bootstrap.server.js-C3M4bN44.js} +3 -3
  117. package/build/server/chunks/chunks/{auth-bootstrap.server.js-Bg-Qy-YX.js.map → auth-bootstrap.server.js-C3M4bN44.js.map} +1 -1
  118. package/build/server/chunks/chunks/{bootHealth.server.js-C24EAEVt.js → bootHealth.server.js-o9cAZ837.js} +3 -3
  119. package/build/server/chunks/chunks/{bootHealth.server.js-C24EAEVt.js.map → bootHealth.server.js-o9cAZ837.js.map} +1 -1
  120. package/build/server/chunks/chunks/{context.js-CYsGbpHa.js → context.js-D8E0GFTw.js} +57 -2
  121. package/build/server/chunks/chunks/context.js-D8E0GFTw.js.map +1 -0
  122. package/build/server/chunks/chunks/{index4.js-CMkITbZa.js → index3.js-CMkITbZa.js} +1 -1
  123. package/build/server/chunks/chunks/{index4.js-CMkITbZa.js.map → index3.js-CMkITbZa.js.map} +1 -1
  124. package/build/server/chunks/chunks/{index3.js-DBDmmwF4.js → index4.js-DBDmmwF4.js} +1 -1
  125. package/build/server/chunks/chunks/{index3.js-DBDmmwF4.js.map → index4.js-DBDmmwF4.js.map} +1 -1
  126. package/build/server/chunks/chunks/{internal.js-Xh6As0I_.js → internal.js-DFETyO32.js} +3 -3
  127. package/build/server/chunks/chunks/{internal.js-Xh6As0I_.js.map → internal.js-DFETyO32.js.map} +1 -1
  128. package/build/server/chunks/chunks/{package.js-CRz9GLaw.js → package.js-CGBcIxLn.js} +2 -2
  129. package/build/server/chunks/chunks/package.js-CGBcIxLn.js.map +1 -0
  130. package/build/server/chunks/chunks/{permissions-compat.server.js-BRYePqvR.js → permissions-compat.server.js-BfoBZYSH.js} +2 -2
  131. package/build/server/chunks/chunks/{permissions-compat.server.js-BRYePqvR.js.map → permissions-compat.server.js-BfoBZYSH.js.map} +1 -1
  132. package/build/server/chunks/chunks/{permissions.server.js-D61RQTaQ.js → permissions.server.js-B1Spnvnp.js} +2 -2
  133. package/build/server/chunks/chunks/{permissions.server.js-D61RQTaQ.js.map → permissions.server.js-B1Spnvnp.js.map} +1 -1
  134. package/build/server/chunks/chunks/{providers.server.js-CvFPEaVE.js → providers.server.js-Sbk117pY.js} +99 -12
  135. package/build/server/chunks/chunks/providers.server.js-Sbk117pY.js.map +1 -0
  136. package/build/server/chunks/chunks/{resolve.server.js-C-Ts05L6.js → resolve.server.js-oRLjLsp2.js} +3 -3
  137. package/build/server/chunks/chunks/{resolve.server.js-C-Ts05L6.js.map → resolve.server.js-oRLjLsp2.js.map} +1 -1
  138. package/build/server/chunks/chunks/{types2.js-DdHhYSMF.js → types.js-DdHhYSMF.js} +1 -1
  139. package/build/server/chunks/chunks/types.js-DdHhYSMF.js.map +1 -0
  140. package/build/server/chunks/chunks/{utils4.js-CzzZn2eq.js → utils4.js-DvnSECfA.js} +2 -2
  141. package/build/server/chunks/chunks/{utils4.js-CzzZn2eq.js.map → utils4.js-DvnSECfA.js.map} +1 -1
  142. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-BgLRpUtK.js → _server.ts.js-At2WPXTO.js} +6 -6
  143. package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-BgLRpUtK.js.map → _server.ts.js-At2WPXTO.js.map} +1 -1
  144. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-D5dm9VRE.js → _server.ts.js-C7IxEmV_.js} +6 -6
  145. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-D5dm9VRE.js.map → _server.ts.js-C7IxEmV_.js.map} +1 -1
  146. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-DH93ywqu.js → _server.ts.js-C3wKOPU7.js} +6 -6
  147. package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-DH93ywqu.js.map → _server.ts.js-C3wKOPU7.js.map} +1 -1
  148. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-34QzYRnZ.js → _server.ts.js-DPXSSURv.js} +6 -6
  149. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-34QzYRnZ.js.map → _server.ts.js-DPXSSURv.js.map} +1 -1
  150. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C3h2a4jh.js +78 -0
  151. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C3h2a4jh.js.map +1 -0
  152. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-DUYn5akM.js → _server.ts.js-CWC6GVdY.js} +6 -6
  153. package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-DUYn5akM.js.map → _server.ts.js-CWC6GVdY.js.map} +1 -1
  154. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-CSz_2jk0.js → _server.ts.js-CS5ErY1M.js} +6 -6
  155. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-CSz_2jk0.js.map → _server.ts.js-CS5ErY1M.js.map} +1 -1
  156. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-LYhsZcY-.js → _server.ts.js-DU_gLDs6.js} +6 -6
  157. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-LYhsZcY-.js.map → _server.ts.js-DU_gLDs6.js.map} +1 -1
  158. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-C4K7fnEv.js → _server.ts.js-DMxdDGgQ.js} +6 -6
  159. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-C4K7fnEv.js.map → _server.ts.js-DMxdDGgQ.js.map} +1 -1
  160. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CUPY6YtC.js → _server.ts.js-DvyK27Fl.js} +6 -6
  161. package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CUPY6YtC.js.map → _server.ts.js-DvyK27Fl.js.map} +1 -1
  162. package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-DRad-P2w.js → _server.ts.js-CWBVKNdf.js} +6 -6
  163. package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-DRad-P2w.js.map → _server.ts.js-CWBVKNdf.js.map} +1 -1
  164. package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-B8GIFRxz.js → _server.ts.js-Bm7Ktrs8.js} +6 -6
  165. package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-B8GIFRxz.js.map → _server.ts.js-Bm7Ktrs8.js.map} +1 -1
  166. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-D0CEHD1q.js → _server.ts.js-Bo9FJ97l.js} +8 -8
  167. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-D0CEHD1q.js.map → _server.ts.js-Bo9FJ97l.js.map} +1 -1
  168. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CcyFddp3.js → _server.ts.js-DIwBwpnn.js} +6 -6
  169. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CcyFddp3.js.map → _server.ts.js-DIwBwpnn.js.map} +1 -1
  170. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-CH64KfJa.js → _server.ts.js-C1svi-Ld.js} +8 -8
  171. package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-CH64KfJa.js.map → _server.ts.js-C1svi-Ld.js.map} +1 -1
  172. package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-PDUSGtWL.js → _server.ts.js-D_9YzrC7.js} +12 -11
  173. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D_9YzrC7.js.map +1 -0
  174. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-CRdaMbr5.js → _server.ts.js-CS7DNpIB.js} +6 -6
  175. package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-CRdaMbr5.js.map → _server.ts.js-CS7DNpIB.js.map} +1 -1
  176. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js-CcVYY8qB.js → _server.ts.js-C1bI6fx_.js} +6 -7
  177. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-C1bI6fx_.js.map +1 -0
  178. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dty9JTwS.js → _server.ts.js-DG0bgqAW.js} +6 -7
  179. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-DG0bgqAW.js.map +1 -0
  180. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-B5Ff8JLF.js → _server.ts.js-vURofqUH.js} +6 -6
  181. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-B5Ff8JLF.js.map → _server.ts.js-vURofqUH.js.map} +1 -1
  182. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BsxirCwS.js → _server.ts.js-tDF_TKqq.js} +6 -6
  183. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BsxirCwS.js.map → _server.ts.js-tDF_TKqq.js.map} +1 -1
  184. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DTHTIL25.js → _server.ts.js-BKFS4e1E.js} +6 -6
  185. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DTHTIL25.js.map → _server.ts.js-BKFS4e1E.js.map} +1 -1
  186. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-BSk-XMi6.js → _server.ts.js-BTVUUKaO.js} +7 -7
  187. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-BTVUUKaO.js.map +1 -0
  188. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DHaix4jV.js → _server.ts.js-BPTGDGrE.js} +6 -6
  189. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DHaix4jV.js.map → _server.ts.js-BPTGDGrE.js.map} +1 -1
  190. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-DgsqUpvy.js → _server.ts.js-DmpMY-tz.js} +6 -6
  191. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-DgsqUpvy.js.map → _server.ts.js-DmpMY-tz.js.map} +1 -1
  192. package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-CSlXv8pl.js → _server.ts.js-CgDtxILD.js} +6 -7
  193. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-CgDtxILD.js.map +1 -0
  194. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-JYCUGi0C.js +66 -0
  195. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-JYCUGi0C.js.map +1 -0
  196. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js---TaqOG4.js → _server.ts.js-CcG69a2b.js} +4 -4
  197. package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js---TaqOG4.js.map → _server.ts.js-CcG69a2b.js.map} +1 -1
  198. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-D8PLQyfl.js → _server.ts.js-CpTViiM7.js} +6 -6
  199. package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-D8PLQyfl.js.map → _server.ts.js-CpTViiM7.js.map} +1 -1
  200. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-bw5-SMCA.js → _server.ts.js-DveWNfQf.js} +7 -7
  201. package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-bw5-SMCA.js.map → _server.ts.js-DveWNfQf.js.map} +1 -1
  202. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-xb3Bmd1T.js → _server.ts.js-DvBZkOHM.js} +5 -5
  203. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-xb3Bmd1T.js.map → _server.ts.js-DvBZkOHM.js.map} +1 -1
  204. package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-Md2vW_JR.js → _server.ts.js-jFG7Wq0K.js} +6 -6
  205. package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-Md2vW_JR.js.map → _server.ts.js-jFG7Wq0K.js.map} +1 -1
  206. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BnDxcUMX.js → _server.ts.js-B2ycg2AE.js} +6 -6
  207. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BnDxcUMX.js.map → _server.ts.js-B2ycg2AE.js.map} +1 -1
  208. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BDBuktWA.js → _server.ts.js-CNP_RE3t.js} +6 -6
  209. package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BDBuktWA.js.map → _server.ts.js-CNP_RE3t.js.map} +1 -1
  210. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-C6jztoDj.js → _server.ts.js-Bn5xwjry.js} +6 -6
  211. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-C6jztoDj.js.map → _server.ts.js-Bn5xwjry.js.map} +1 -1
  212. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-bnRRtqNM.js → _server.ts.js-BM6OdR6F.js} +6 -6
  213. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-bnRRtqNM.js.map → _server.ts.js-BM6OdR6F.js.map} +1 -1
  214. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-CwPJVSlh.js → _server.ts.js-kZpX0JUe.js} +6 -6
  215. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-CwPJVSlh.js.map → _server.ts.js-kZpX0JUe.js.map} +1 -1
  216. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-DFtwR98t.js → _server.ts.js-B-9USbyM.js} +6 -6
  217. package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-DFtwR98t.js.map → _server.ts.js-B-9USbyM.js.map} +1 -1
  218. package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-RrX9l-Lx.js → _server.ts.js-BBxTiBOV.js} +6 -6
  219. package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-RrX9l-Lx.js.map → _server.ts.js-BBxTiBOV.js.map} +1 -1
  220. package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-BD35FhKQ.js → _server.ts.js-C2ENZLn1.js} +6 -6
  221. package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-BD35FhKQ.js.map → _server.ts.js-C2ENZLn1.js.map} +1 -1
  222. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-4f91Kqiq.js → _server.ts.js-DQkl2H6i.js} +5 -5
  223. package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-4f91Kqiq.js.map → _server.ts.js-DQkl2H6i.js.map} +1 -1
  224. package/build/server/chunks/entries/{hooks.server.js-COXVYevB.js → hooks.server.js-CEJghe6K.js} +14 -8
  225. package/build/server/chunks/entries/hooks.server.js-CEJghe6K.js.map +1 -0
  226. package/build/server/chunks/entries/pages/{_layout.server.ts.js-GUqRaAWY.js → _layout.server.ts.js-BJt_Hh-8.js} +2 -2
  227. package/build/server/chunks/entries/pages/{_layout.server.ts.js-GUqRaAWY.js.map → _layout.server.ts.js-BJt_Hh-8.js.map} +1 -1
  228. package/build/server/chunks/entries/pages/{_page.svelte.js-DGriO6RK.js → _page.svelte.js-DYHX2cXS.js} +4 -4
  229. package/build/server/chunks/entries/pages/{_page.svelte.js-DGriO6RK.js.map → _page.svelte.js-DYHX2cXS.js.map} +1 -1
  230. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-fXauaTHa.js → _page.server.ts.js-p0Ur2D2z.js} +3 -3
  231. package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-fXauaTHa.js.map → _page.server.ts.js-p0Ur2D2z.js.map} +1 -1
  232. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-C0CrUKMc.js → _layout.server.ts.js-CwHlKomC.js} +3 -3
  233. package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-C0CrUKMc.js.map → _layout.server.ts.js-CwHlKomC.js.map} +1 -1
  234. package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-m5w7AtPm.js → _layout.svelte.js-BQTc-1yu.js} +4 -4
  235. package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-m5w7AtPm.js.map → _layout.svelte.js-BQTc-1yu.js.map} +1 -1
  236. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-C8t8e0PN.js +46 -0
  237. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-C8t8e0PN.js.map +1 -0
  238. package/build/server/chunks/entries/pages/admin/_page.svelte.js-pR3aIlUh.js +343 -0
  239. package/build/server/chunks/entries/pages/admin/_page.svelte.js-pR3aIlUh.js.map +1 -0
  240. package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-CmQyI84L.js → _page.server.ts.js-B2E4712L.js} +4 -4
  241. package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-CmQyI84L.js.map → _page.server.ts.js-B2E4712L.js.map} +1 -1
  242. package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-DKnhcr0i.js → _page.svelte.js-Qrf4BkvU.js} +2 -2
  243. package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-DKnhcr0i.js.map → _page.svelte.js-Qrf4BkvU.js.map} +1 -1
  244. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-DbdS__5V.js → _page.server.ts.js-X7vOXVx_.js} +5 -5
  245. package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-DbdS__5V.js.map → _page.server.ts.js-X7vOXVx_.js.map} +1 -1
  246. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-B5gIXJYU.js → _page.server.ts.js-C9ThvUZW.js} +3 -3
  247. package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-B5gIXJYU.js.map → _page.server.ts.js-C9ThvUZW.js.map} +1 -1
  248. package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DZo022zC.js → _page.server.ts.js-CbYQUdsT.js} +3 -3
  249. package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DZo022zC.js.map → _page.server.ts.js-CbYQUdsT.js.map} +1 -1
  250. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-DMCzmhaO.js → _page.server.ts.js-Bwzbc5U7.js} +3 -3
  251. package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-DMCzmhaO.js.map → _page.server.ts.js-Bwzbc5U7.js.map} +1 -1
  252. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DLtoSAtZ.js → _page.server.ts.js-CVJE8A-M.js} +5 -5
  253. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DLtoSAtZ.js.map → _page.server.ts.js-CVJE8A-M.js.map} +1 -1
  254. package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-D40qz7h1.js → _page.svelte.js-DCVW0G-O.js} +11 -9
  255. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DCVW0G-O.js.map +1 -0
  256. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-CoesHwNn.js → _page.server.ts.js-5CoqZYu7.js} +5 -5
  257. package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-CoesHwNn.js.map → _page.server.ts.js-5CoqZYu7.js.map} +1 -1
  258. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-B8lliTJb.js → _page.svelte.js-C4nuIM5S.js} +2 -2
  259. package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-B8lliTJb.js.map → _page.svelte.js-C4nuIM5S.js.map} +1 -1
  260. package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-CytdSW2U.js → _page.server.ts.js-CJVxmsjJ.js} +2 -2
  261. package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-CytdSW2U.js.map → _page.server.ts.js-CJVxmsjJ.js.map} +1 -1
  262. package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-Bg8aqgge.js → _page.server.ts.js-CdsnDM7L.js} +32 -13
  263. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-CdsnDM7L.js.map +1 -0
  264. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-64m55aas.js → _page.svelte.js-BKgJcySA.js} +25 -8
  265. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BKgJcySA.js.map +1 -0
  266. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-D4HeAIm2.js → _page.server.ts.js-CGuuDwN6.js} +3 -3
  267. package/build/server/chunks/entries/pages/library/{_page.server.ts.js-D4HeAIm2.js.map → _page.server.ts.js-CGuuDwN6.js.map} +1 -1
  268. package/build/server/chunks/entries/pages/library/{_page.svelte.js-DCyL3B8c.js → _page.svelte.js-5i6dSCN0.js} +4 -4
  269. package/build/server/chunks/entries/pages/library/{_page.svelte.js-DCyL3B8c.js.map → _page.svelte.js-5i6dSCN0.js.map} +1 -1
  270. package/build/server/chunks/entries/pages/login/{_page.server.ts.js-F5J46dSA.js → _page.server.ts.js-DKowuYxD.js} +2 -2
  271. package/build/server/chunks/entries/pages/login/{_page.server.ts.js-F5J46dSA.js.map → _page.server.ts.js-DKowuYxD.js.map} +1 -1
  272. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-DKAa-WX1.js → _layout.server.ts.js-CNMJpFAK.js} +2 -2
  273. package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-DKAa-WX1.js.map → _layout.server.ts.js-CNMJpFAK.js.map} +1 -1
  274. package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-CnS5vZg7.js → _layout.svelte.js-BhualuOA.js} +4 -4
  275. package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-CnS5vZg7.js.map → _layout.svelte.js-BhualuOA.js.map} +1 -1
  276. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BjETS8O4.js → _page.server.ts.js-DUSltMia.js} +5 -5
  277. package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BjETS8O4.js.map → _page.server.ts.js-DUSltMia.js.map} +1 -1
  278. package/build/server/chunks/entries/pages/projects/{_page.svelte.js-CAqDXDn_.js → _page.svelte.js-BJ2zx31e.js} +20 -36
  279. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BJ2zx31e.js.map +1 -0
  280. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CB9mBWz8.js → _page.server.ts.js-Bi43FW5A.js} +4 -4
  281. package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CB9mBWz8.js.map → _page.server.ts.js-Bi43FW5A.js.map} +1 -1
  282. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-BS38iHNQ.js → _layout.server.ts.js-kTT4BcsF.js} +2 -2
  283. package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-BS38iHNQ.js.map → _layout.server.ts.js-kTT4BcsF.js.map} +1 -1
  284. package/build/server/chunks/entries/pages/team/{_layout.svelte.js-DsH0R5CP.js → _layout.svelte.js-fvMFVC5K.js} +4 -4
  285. package/build/server/chunks/entries/pages/team/{_layout.svelte.js-DsH0R5CP.js.map → _layout.svelte.js-fvMFVC5K.js.map} +1 -1
  286. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DaPu8CKH.js → _page.server.ts.js-BM0HjGiv.js} +2 -2
  287. package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DaPu8CKH.js.map → _page.server.ts.js-BM0HjGiv.js.map} +1 -1
  288. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-Dzz9klWW.js → _page.server.ts.js-DSVbfXjJ.js} +4 -4
  289. package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-Dzz9klWW.js.map → _page.server.ts.js-DSVbfXjJ.js.map} +1 -1
  290. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BXhljlWE.js → _page.server.ts.js-B8od5Y-v.js} +3 -3
  291. package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BXhljlWE.js.map → _page.server.ts.js-B8od5Y-v.js.map} +1 -1
  292. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-Dy7GTJgI.js → _page.svelte.js-DwmoagP7.js} +2 -2
  293. package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-Dy7GTJgI.js.map → _page.svelte.js-DwmoagP7.js.map} +1 -1
  294. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-AfkRGQXS.js → _page.server.ts.js-BU18iBCr.js} +3 -3
  295. package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-AfkRGQXS.js.map → _page.server.ts.js-BU18iBCr.js.map} +1 -1
  296. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js--s1Cxd4d.js → _page.server.ts.js-DQR8CiW5.js} +3 -3
  297. package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js--s1Cxd4d.js.map → _page.server.ts.js-DQR8CiW5.js.map} +1 -1
  298. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-D8NAShTy.js → _page.server.ts.js-Ds2Ncl_k.js} +3 -3
  299. package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-D8NAShTy.js.map → _page.server.ts.js-Ds2Ncl_k.js.map} +1 -1
  300. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-CcFjlszF.js → _page.server.ts.js-BPApcgSj.js} +2 -2
  301. package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-CcFjlszF.js.map → _page.server.ts.js-BPApcgSj.js.map} +1 -1
  302. package/build/server/chunks/{handler-eGoBEmyE.js → handler-CCM1mFE_.js} +3 -3
  303. package/build/server/chunks/{handler-eGoBEmyE.js.map → handler-CCM1mFE_.js.map} +1 -1
  304. package/build/server/chunks/{index.js-CQyjqGjX.js → index.js-BijxEH4l.js} +2 -2
  305. package/build/server/chunks/{index.js-CQyjqGjX.js.map → index.js-BijxEH4l.js.map} +1 -1
  306. package/build/server/chunks/{manifest.js-CxNOAaGX.js → manifest.js-DGqOiurT.js} +79 -72
  307. package/build/server/chunks/manifest.js-DGqOiurT.js.map +1 -0
  308. package/build/server/chunks/nodes/{0.js-PcSktsRm.js → 0.js-CSowTy6s.js} +6 -6
  309. package/build/server/chunks/nodes/{0.js-PcSktsRm.js.map → 0.js-CSowTy6s.js.map} +1 -1
  310. package/build/server/chunks/nodes/{1.js-ChXxsPw8.js → 1.js-JkhEKVKD.js} +2 -2
  311. package/build/server/chunks/nodes/{1.js-ChXxsPw8.js.map → 1.js-JkhEKVKD.js.map} +1 -1
  312. package/build/server/chunks/nodes/{10.js-lAWyY09k.js → 10.js-H0usRAOJ.js} +8 -8
  313. package/build/server/chunks/nodes/{10.js-lAWyY09k.js.map → 10.js-H0usRAOJ.js.map} +1 -1
  314. package/build/server/chunks/nodes/{11.js-wBUVvXW0.js → 11.js-zU1ghV-s.js} +8 -8
  315. package/build/server/chunks/nodes/{11.js-wBUVvXW0.js.map → 11.js-zU1ghV-s.js.map} +1 -1
  316. package/build/server/chunks/nodes/{12.js-DKvWtkL1.js → 12.js-Hi7yiemE.js} +4 -4
  317. package/build/server/chunks/nodes/{12.js-DKvWtkL1.js.map → 12.js-Hi7yiemE.js.map} +1 -1
  318. package/build/server/chunks/nodes/{13.js-MWWbkVdz.js → 13.js-BecfMvrP.js} +5 -5
  319. package/build/server/chunks/nodes/{13.js-MWWbkVdz.js.map → 13.js-BecfMvrP.js.map} +1 -1
  320. package/build/server/chunks/nodes/{14.js-DQIXjqDn.js → 14.js-C_XeyRH1.js} +5 -5
  321. package/build/server/chunks/nodes/{14.js-DQIXjqDn.js.map → 14.js-C_XeyRH1.js.map} +1 -1
  322. package/build/server/chunks/nodes/{15.js-tr_0nQ1v.js → 15.js-Xfq1Hlsv.js} +10 -10
  323. package/build/server/chunks/nodes/{15.js-tr_0nQ1v.js.map → 15.js-Xfq1Hlsv.js.map} +1 -1
  324. package/build/server/chunks/nodes/{16.js--K69LBee.js → 16.js-DNAhQw2R.js} +10 -10
  325. package/build/server/chunks/nodes/{16.js--K69LBee.js.map → 16.js-DNAhQw2R.js.map} +1 -1
  326. package/build/server/chunks/nodes/{17.js-3ynjiEFj.js → 17.js-zS4c5CqT.js} +2 -2
  327. package/build/server/chunks/nodes/{17.js-3ynjiEFj.js.map → 17.js-zS4c5CqT.js.map} +1 -1
  328. package/build/server/chunks/nodes/{18.js-D85x42Pd.js → 18.js-DGcj7w2M.js} +4 -4
  329. package/build/server/chunks/nodes/{18.js-D85x42Pd.js.map → 18.js-DGcj7w2M.js.map} +1 -1
  330. package/build/server/chunks/nodes/{19.js-Cd61FaK8.js → 19.js-CCl0PnaY.js} +6 -6
  331. package/build/server/chunks/nodes/{19.js-Cd61FaK8.js.map → 19.js-CCl0PnaY.js.map} +1 -1
  332. package/build/server/chunks/nodes/{2.js-Chf3iuzZ.js → 2.js-DDmfVBSG.js} +9 -9
  333. package/build/server/chunks/nodes/{2.js-Chf3iuzZ.js.map → 2.js-DDmfVBSG.js.map} +1 -1
  334. package/build/server/chunks/nodes/{20.js-Dk1BWuh0.js → 20.js-DRI5Uoa0.js} +10 -10
  335. package/build/server/chunks/nodes/{20.js-Dk1BWuh0.js.map → 20.js-DRI5Uoa0.js.map} +1 -1
  336. package/build/server/chunks/nodes/{21.js-BYpV6WJ_.js → 21.js-HQMDLLY8.js} +5 -5
  337. package/build/server/chunks/nodes/{21.js-BYpV6WJ_.js.map → 21.js-HQMDLLY8.js.map} +1 -1
  338. package/build/server/chunks/nodes/{23.js-CXSDFivZ.js → 23.js-CUtU6P7T.js} +9 -9
  339. package/build/server/chunks/nodes/{23.js-CXSDFivZ.js.map → 23.js-CUtU6P7T.js.map} +1 -1
  340. package/build/server/chunks/nodes/{24.js-Bli5zZo9.js → 24.js-DEB1MpJO.js} +6 -6
  341. package/build/server/chunks/nodes/{24.js-Bli5zZo9.js.map → 24.js-DEB1MpJO.js.map} +1 -1
  342. package/build/server/chunks/nodes/{25.js-D7N3t-6a.js → 25.js-Dz_tw4Pc.js} +4 -4
  343. package/build/server/chunks/nodes/{25.js-D7N3t-6a.js.map → 25.js-Dz_tw4Pc.js.map} +1 -1
  344. package/build/server/chunks/nodes/{27.js-4swICaaU.js → 27.js-BFJkH0a-.js} +6 -6
  345. package/build/server/chunks/nodes/{27.js-4swICaaU.js.map → 27.js-BFJkH0a-.js.map} +1 -1
  346. package/build/server/chunks/nodes/{28.js-DDulqtuY.js → 28.js-Dmzn1oyt.js} +6 -6
  347. package/build/server/chunks/nodes/{28.js-DDulqtuY.js.map → 28.js-Dmzn1oyt.js.map} +1 -1
  348. package/build/server/chunks/nodes/{29.js-Dwc6d9G9.js → 29.js-CYk1T9YK.js} +5 -5
  349. package/build/server/chunks/nodes/{29.js-Dwc6d9G9.js.map → 29.js-CYk1T9YK.js.map} +1 -1
  350. package/build/server/chunks/nodes/{3.js-huEbI-kz.js → 3.js-CQMjn48j.js} +2 -2
  351. package/build/server/chunks/nodes/{3.js-huEbI-kz.js.map → 3.js-CQMjn48j.js.map} +1 -1
  352. package/build/server/chunks/nodes/{30.js-BakSwhvf.js → 30.js-IFuEWY3z.js} +5 -5
  353. package/build/server/chunks/nodes/{30.js-BakSwhvf.js.map → 30.js-IFuEWY3z.js.map} +1 -1
  354. package/build/server/chunks/nodes/{31.js-2-KePkFt.js → 31.js-C6TEDhTN.js} +4 -4
  355. package/build/server/chunks/nodes/{31.js-2-KePkFt.js.map → 31.js-C6TEDhTN.js.map} +1 -1
  356. package/build/server/chunks/nodes/{32.js-GzMFQ-NT.js → 32.js-B2ywocPi.js} +4 -4
  357. package/build/server/chunks/nodes/{32.js-GzMFQ-NT.js.map → 32.js-B2ywocPi.js.map} +1 -1
  358. package/build/server/chunks/nodes/{5.js-DoQQZ_BT.js → 5.js-tGFha7PK.js} +5 -5
  359. package/build/server/chunks/nodes/{5.js-DoQQZ_BT.js.map → 5.js-tGFha7PK.js.map} +1 -1
  360. package/build/server/chunks/nodes/{6.js-BIFmdlrm.js → 6.js-rduNGbyy.js} +6 -6
  361. package/build/server/chunks/nodes/{6.js-BIFmdlrm.js.map → 6.js-rduNGbyy.js.map} +1 -1
  362. package/build/server/chunks/nodes/{7.js-BRw0-0zy.js → 7.js-C5KuvcoZ.js} +3 -3
  363. package/build/server/chunks/nodes/{7.js-BRw0-0zy.js.map → 7.js-C5KuvcoZ.js.map} +1 -1
  364. package/build/server/chunks/nodes/{8.js-BnwlKqWj.js → 8.js-LI48HZY1.js} +5 -5
  365. package/build/server/chunks/nodes/{8.js-BnwlKqWj.js.map → 8.js-LI48HZY1.js.map} +1 -1
  366. package/build/server/chunks/nodes/9.js-ocRRXGJE.js +23 -0
  367. package/build/server/chunks/nodes/9.js-ocRRXGJE.js.map +1 -0
  368. package/package.json +5 -5
  369. package/build/client/_app/immutable/assets/0.Df7_lxfV.css +0 -1
  370. package/build/client/_app/immutable/assets/0.Df7_lxfV.css.br +0 -0
  371. package/build/client/_app/immutable/assets/0.Df7_lxfV.css.gz +0 -0
  372. package/build/client/_app/immutable/chunks/BNlGWnEa.js.br +0 -0
  373. package/build/client/_app/immutable/chunks/BNlGWnEa.js.gz +0 -0
  374. package/build/client/_app/immutable/chunks/Cd8uUagh.js.br +0 -0
  375. package/build/client/_app/immutable/chunks/Cd8uUagh.js.gz +0 -0
  376. package/build/client/_app/immutable/chunks/D-RnPGVi.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/D-RnPGVi.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/DE1IAae-.js.br +0 -0
  379. package/build/client/_app/immutable/chunks/DE1IAae-.js.gz +0 -0
  380. package/build/client/_app/immutable/chunks/Dh9wssNG.js.br +0 -0
  381. package/build/client/_app/immutable/chunks/Dh9wssNG.js.gz +0 -0
  382. package/build/client/_app/immutable/chunks/Dj6REzZ0.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/Dj6REzZ0.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/KecTfFG2.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/KecTfFG2.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/o-qHmMxg.js.br +0 -0
  387. package/build/client/_app/immutable/chunks/o-qHmMxg.js.gz +0 -0
  388. package/build/client/_app/immutable/entry/app.BeT-AHPr.js +0 -2
  389. package/build/client/_app/immutable/entry/app.BeT-AHPr.js.br +0 -0
  390. package/build/client/_app/immutable/entry/app.BeT-AHPr.js.gz +0 -0
  391. package/build/client/_app/immutable/entry/start.CrvouL8l.js +0 -1
  392. package/build/client/_app/immutable/entry/start.CrvouL8l.js.br +0 -2
  393. package/build/client/_app/immutable/entry/start.CrvouL8l.js.gz +0 -0
  394. package/build/client/_app/immutable/nodes/1.h5RSNGbs.js.br +0 -0
  395. package/build/client/_app/immutable/nodes/1.h5RSNGbs.js.gz +0 -0
  396. package/build/client/_app/immutable/nodes/11.BrUohDzR.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/11.BrUohDzR.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/13.RPUAXFD4.js.br +0 -0
  399. package/build/client/_app/immutable/nodes/13.RPUAXFD4.js.gz +0 -0
  400. package/build/client/_app/immutable/nodes/14.DD25MrcN.js.br +0 -0
  401. package/build/client/_app/immutable/nodes/14.DD25MrcN.js.gz +0 -0
  402. package/build/client/_app/immutable/nodes/15.2borWKNj.js.br +0 -0
  403. package/build/client/_app/immutable/nodes/15.2borWKNj.js.gz +0 -0
  404. package/build/client/_app/immutable/nodes/16.AnMZqiO6.js.br +0 -0
  405. package/build/client/_app/immutable/nodes/16.AnMZqiO6.js.gz +0 -0
  406. package/build/client/_app/immutable/nodes/17.MCt65051.js.br +0 -0
  407. package/build/client/_app/immutable/nodes/17.MCt65051.js.gz +0 -0
  408. package/build/client/_app/immutable/nodes/19.6aT-fTMy.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/19.6aT-fTMy.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/2.DTLt5gvF.js.br +0 -0
  411. package/build/client/_app/immutable/nodes/2.DTLt5gvF.js.gz +0 -0
  412. package/build/client/_app/immutable/nodes/20.CpXK8jYA.js.br +0 -0
  413. package/build/client/_app/immutable/nodes/20.CpXK8jYA.js.gz +0 -0
  414. package/build/client/_app/immutable/nodes/21.hMALoCev.js.br +0 -0
  415. package/build/client/_app/immutable/nodes/21.hMALoCev.js.gz +0 -0
  416. package/build/client/_app/immutable/nodes/23.BHMRNMwo.js +0 -16
  417. package/build/client/_app/immutable/nodes/23.BHMRNMwo.js.br +0 -0
  418. package/build/client/_app/immutable/nodes/23.BHMRNMwo.js.gz +0 -0
  419. package/build/client/_app/immutable/nodes/24.D4e0bX6T.js.br +0 -0
  420. package/build/client/_app/immutable/nodes/24.D4e0bX6T.js.gz +0 -0
  421. package/build/client/_app/immutable/nodes/27.CBtqq6qp.js.br +0 -0
  422. package/build/client/_app/immutable/nodes/27.CBtqq6qp.js.gz +0 -0
  423. package/build/client/_app/immutable/nodes/28.2dbj6GEG.js.br +0 -0
  424. package/build/client/_app/immutable/nodes/28.2dbj6GEG.js.gz +0 -0
  425. package/build/client/_app/immutable/nodes/29.Cni5D37m.js.br +0 -0
  426. package/build/client/_app/immutable/nodes/29.Cni5D37m.js.gz +0 -0
  427. package/build/client/_app/immutable/nodes/3.CfZ37YEr.js.br +0 -0
  428. package/build/client/_app/immutable/nodes/3.CfZ37YEr.js.gz +0 -0
  429. package/build/client/_app/immutable/nodes/30.B5u2_6d1.js.br +0 -0
  430. package/build/client/_app/immutable/nodes/30.B5u2_6d1.js.gz +0 -0
  431. package/build/client/_app/immutable/nodes/5.Co5caC3o.js.br +0 -0
  432. package/build/client/_app/immutable/nodes/5.Co5caC3o.js.gz +0 -0
  433. package/build/client/_app/immutable/nodes/6.PNCZDQUQ.js.br +0 -0
  434. package/build/client/_app/immutable/nodes/6.PNCZDQUQ.js.gz +0 -0
  435. package/build/client/_app/immutable/nodes/7.B-MS6ohL.js.br +0 -0
  436. package/build/client/_app/immutable/nodes/7.B-MS6ohL.js.gz +0 -0
  437. package/build/client/_app/immutable/nodes/8.BuLcFKAl.js.br +0 -0
  438. package/build/client/_app/immutable/nodes/8.BuLcFKAl.js.gz +0 -0
  439. package/build/client/_app/immutable/nodes/9.KKtWtrqc.js +0 -1
  440. package/build/client/_app/immutable/nodes/9.KKtWtrqc.js.br +0 -0
  441. package/build/client/_app/immutable/nodes/9.KKtWtrqc.js.gz +0 -0
  442. package/build/server/chunks/chunks/access.server.js-7luP5O4P.js.map +0 -1
  443. package/build/server/chunks/chunks/context.js-CYsGbpHa.js.map +0 -1
  444. package/build/server/chunks/chunks/package.js-CRz9GLaw.js.map +0 -1
  445. package/build/server/chunks/chunks/providers.server.js-CvFPEaVE.js.map +0 -1
  446. package/build/server/chunks/chunks/types.js-DxzJoaA4.js +0 -11
  447. package/build/server/chunks/chunks/types.js-DxzJoaA4.js.map +0 -1
  448. package/build/server/chunks/chunks/types2.js-DdHhYSMF.js.map +0 -1
  449. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-PDUSGtWL.js.map +0 -1
  450. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-CcVYY8qB.js.map +0 -1
  451. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-Dty9JTwS.js.map +0 -1
  452. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-BSk-XMi6.js.map +0 -1
  453. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-CSlXv8pl.js.map +0 -1
  454. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BNV_mEcx.js +0 -51
  455. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BNV_mEcx.js.map +0 -1
  456. package/build/server/chunks/entries/hooks.server.js-COXVYevB.js.map +0 -1
  457. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Ch_K9Eqm.js +0 -32
  458. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Ch_K9Eqm.js.map +0 -1
  459. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Cazj7gb_.js +0 -173
  460. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Cazj7gb_.js.map +0 -1
  461. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-D40qz7h1.js.map +0 -1
  462. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Bg8aqgge.js.map +0 -1
  463. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-64m55aas.js.map +0 -1
  464. package/build/server/chunks/entries/pages/projects/_page.svelte.js-CAqDXDn_.js.map +0 -1
  465. package/build/server/chunks/manifest.js-CxNOAaGX.js.map +0 -1
  466. package/build/server/chunks/nodes/9.js-BfWwYBB0.js +0 -23
  467. package/build/server/chunks/nodes/9.js-BfWwYBB0.js.map +0 -1
  468. /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js → 0.CpKGgbSx.js} +0 -0
  469. /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js.br → 0.CpKGgbSx.js.br} +0 -0
  470. /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js.gz → 0.CpKGgbSx.js.gz} +0 -0
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DbHFFbkB.js","../chunks/DsnmJJEf.js","../chunks/BtOVeLcI.js","../chunks/BoLtD6vo.js","../chunks/8uBOzWQA.js","../chunks/JFdtrT5G.js","../chunks/CTTkX-27.js","../chunks/22C0ZkpD.js","../chunks/BNpXeuQ_.js","../chunks/aGXM-hZQ.js","../chunks/BdIvVr5K.js","../chunks/C4cbQnXC.js","../chunks/DAQN5y4A.js","../chunks/ChEZL1UP.js","../chunks/ClDgNAKE.js","../chunks/DTLLn7uD.js","../assets/0.Df7_lxfV.css","../nodes/1.h5RSNGbs.js","../chunks/Cd8uUagh.js","../chunks/BNlGWnEa.js","../chunks/Dxp1VkzK.js","../chunks/mlApEF2J.js","../chunks/BuC_QZkR.js","../chunks/ADO9qhNc.js","../chunks/CY6l1SkO.js","../chunks/Mn4D08zE.js","../chunks/BawNisij.js","../nodes/2.DTLt5gvF.js","../chunks/D-RnPGVi.js","../chunks/o-qHmMxg.js","../chunks/jiMRToiE.js","../chunks/B89jPufp.js","../chunks/Bf2Kb0d4.js","../chunks/MGblXd4C.js","../chunks/SM988pE-.js","../chunks/Ca8xAcDY.js","../chunks/BapAUJpM.js","../chunks/DllGpGf3.js","../chunks/C2PlvXZq.js","../chunks/Bj6y_fSA.js","../chunks/Dj6REzZ0.js","../chunks/BTfzafVu.js","../chunks/BYQ2KYuV.js","../chunks/DApsDFvQ.js","../chunks/Dh9wssNG.js","../chunks/3KyAYBE4.js","../chunks/CaaCaK-C.js","../chunks/BRHPfB44.js","../chunks/DP9Ywoqu.js","../nodes/3.CfZ37YEr.js","../nodes/4.BSBCh_uY.js","../nodes/5.Co5caC3o.js","../nodes/6.PNCZDQUQ.js","../chunks/KecTfFG2.js","../chunks/1awtB_xB.js","../chunks/DgJBZX8M.js","../chunks/cwYjabEo.js","../chunks/BYVjhRZj.js","../nodes/7.B-MS6ohL.js","../nodes/8.BuLcFKAl.js","../chunks/CiRf7cog.js","../chunks/wegQDfR0.js","../chunks/CJvX1bCR.js","../chunks/Bfsx6G_D.js","../nodes/9.KKtWtrqc.js","../chunks/DLMu-EPf.js","../chunks/TMQByngI.js","../chunks/Bixcgta2.js","../nodes/10.X7rNYygL.js","../chunks/DQiSgNnB.js","../chunks/DNdxyuBP.js","../chunks/LZnjyP_x.js","../chunks/3w4Rd2x8.js","../assets/index.CV-KWLNP.css","../chunks/5fK69wOi.js","../nodes/11.BrUohDzR.js","../chunks/CkeXmJE0.js","../chunks/Ct6ntSZV.js","../chunks/BnS8rxFx.js","../chunks/EVm4fAGL.js","../chunks/BRrDIFjJ.js","../chunks/BuBobyR7.js","../chunks/Cbu9Tg11.js","../chunks/CuRUkrho.js","../nodes/12.Bdebe5Rr.js","../chunks/sxUC6FDI.js","../nodes/13.RPUAXFD4.js","../nodes/14.DD25MrcN.js","../chunks/DQtEKe83.js","../chunks/BVUbFuzT.js","../nodes/15.2borWKNj.js","../chunks/C0Xb3vka.js","../chunks/T404WsWw.js","../chunks/C38beKZN.js","../nodes/16.AnMZqiO6.js","../chunks/DE1IAae-.js","../chunks/CfYcWYC1.js","../chunks/B36B-q5q.js","../nodes/17.MCt65051.js","../nodes/18.CQUwzcDA.js","../nodes/19.6aT-fTMy.js","../chunks/6P6fn4fQ.js","../chunks/CitY1SZ1.js","../nodes/20.CpXK8jYA.js","../chunks/CFq1UfS7.js","../chunks/k1GnUs7f.js","../chunks/BzBbrBKd.js","../assets/20.Bne67Vgr.css","../nodes/21.hMALoCev.js","../nodes/23.BHMRNMwo.js","../chunks/CeolKPEY.js","../chunks/B3OAhCNZ.js","../nodes/24.D4e0bX6T.js","../nodes/25.DNwr0QCW.js","../nodes/26.Db6OQMMh.js","../nodes/27.CBtqq6qp.js","../nodes/28.2dbj6GEG.js","../nodes/29.Cni5D37m.js","../nodes/30.B5u2_6d1.js","../nodes/31.BmGk5kzS.js","../nodes/32.C8wOZK7U.js"])))=>i.map(i=>d[i]);
2
- import{_ as r}from"../chunks/BapAUJpM.js";import{h as V,az as $,g as s,L as tt,al as rt,ak as et,p as at,aB as ot,j as _t,K as it,f as E,d as mt,a as st,s as k,u as L,c as ut,r as nt,t as ct}from"../chunks/BtOVeLcI.js";import{h as dt,m as lt,u as vt,s as Et}from"../chunks/BNpXeuQ_.js";import"../chunks/DsnmJJEf.js";import{a as ft}from"../chunks/C4cbQnXC.js";import{i as I}from"../chunks/DAQN5y4A.js";import{a as c,c as g,f as B,t as pt}from"../chunks/BoLtD6vo.js";import{p as T,c as A,b as D}from"../chunks/ChEZL1UP.js";function gt(_){return class extends ht{constructor(t){super({component:_,...t})}}}class ht{#r;#t;constructor(t){var o=new Map,u=(a,e)=>{var n=et(e,!1,!1);return o.set(a,n),n};const m=new Proxy({...t.props||{},$$events:{}},{get(a,e){return s(o.get(e)??u(e,Reflect.get(a,e)))},has(a,e){return e===$?!0:(s(o.get(e)??u(e,Reflect.get(a,e))),Reflect.has(a,e))},set(a,e,n){return V(o.get(e)??u(e,n),n),Reflect.set(a,e,n)}});this.#t=(t.hydrate?dt:lt)(t.component,{target:t.target,anchor:t.anchor,props:m,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError}),(!t?.props?.$$host||t.sync===!1)&&tt(),this.#r=m.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||rt(this,a,{get(){return this.#t[a]},set(e){this.#t[a]=e},enumerable:!0});this.#t.$set=a=>{Object.assign(m,a)},this.#t.$destroy=()=>{vt(this.#t)}}$set(t){this.#t.$set(t)}$on(t,o){this.#r[t]=this.#r[t]||[];const u=(...m)=>o.call(this,...m);return this.#r[t].push(u),()=>{this.#r[t]=this.#r[t].filter(m=>m!==u)}}$destroy(){this.#t.$destroy()}}const wt={};var Pt=B('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),Ot=B("<!> <!>",1);function Rt(_,t){at(t,!0);let o=T(t,"components",23,()=>[]),u=T(t,"data_0",3,null),m=T(t,"data_1",3,null),a=T(t,"data_2",3,null);ot(()=>t.stores.page.set(t.page)),_t(()=>{t.stores,t.page,t.constructors,o(),t.form,u(),m(),a(),t.stores.page.notify()});let e=k(!1),n=k(!1),w=k(null);ft(()=>{const i=t.stores.page.subscribe(()=>{s(e)&&(V(n,!0),it().then(()=>{V(w,document.title||"untitled page",!0)}))});return V(e,!0),i});const K=L(()=>t.constructors[2]);var C=Ot(),S=E(C);{var Y=i=>{const d=L(()=>t.constructors[0]);var l=g(),h=E(l);A(h,()=>s(d),(v,f)=>{D(f(v,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(P,At)=>{var z=g(),J=E(z);{var N=p=>{const y=L(()=>t.constructors[1]);var O=g(),b=E(O);A(b,()=>s(y),(j,x)=>{D(x(j,{get data(){return m()},get form(){return t.form},get params(){return t.page.params},children:(R,Dt)=>{var M=g(),U=E(M);A(U,()=>s(K),(W,X)=>{D(X(W,{get data(){return a()},get form(){return t.form},get params(){return t.page.params}}),Z=>o()[2]=Z,()=>o()?.[2])}),c(R,M)},$$slots:{default:!0}}),R=>o()[1]=R,()=>o()?.[1])}),c(p,O)},Q=p=>{const y=L(()=>t.constructors[1]);var O=g(),b=E(O);A(b,()=>s(y),(j,x)=>{D(x(j,{get data(){return m()},get form(){return t.form},get params(){return t.page.params}}),R=>o()[1]=R,()=>o()?.[1])}),c(p,O)};I(J,p=>{t.constructors[2]?p(N):p(Q,-1)})}c(P,z)},$$slots:{default:!0}}),P=>o()[0]=P,()=>o()?.[0])}),c(i,l)},q=i=>{const d=L(()=>t.constructors[0]);var l=g(),h=E(l);A(h,()=>s(d),(v,f)=>{D(f(v,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),P=>o()[0]=P,()=>o()?.[0])}),c(i,l)};I(S,i=>{t.constructors[1]?i(Y):i(q,-1)})}var F=mt(S,2);{var H=i=>{var d=Pt(),l=ut(d);{var h=v=>{var f=pt();ct(()=>Et(f,s(w))),c(v,f)};I(l,v=>{s(n)&&v(h)})}nt(d),c(i,d)};I(F,i=>{s(e)&&i(H)})}c(_,C),st()}const Ct=gt(Rt),St=[()=>r(()=>import("../nodes/0.DbHFFbkB.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url),()=>r(()=>import("../nodes/1.h5RSNGbs.js"),__vite__mapDeps([17,1,2,18,19,11,8,3,20,12,5,13,7,21,22,4,23,24,25,26]),import.meta.url),()=>r(()=>import("../nodes/2.DTLt5gvF.js"),__vite__mapDeps([27,1,2,3,4,5,28,12,13,8,18,19,11,7,22,29,9,10,21,23,30,31,32,33,34,35,36,25,37,38,39,40,41,42,43,44,45,46,47,48]),import.meta.url),()=>r(()=>import("../nodes/3.CfZ37YEr.js"),__vite__mapDeps([49,1,2,3,18,19,11,8,20,12,5,13,7,21,22,4,23,24,25,26]),import.meta.url),()=>r(()=>import("../nodes/4.BSBCh_uY.js"),__vite__mapDeps([50,1,2,3,4,5]),import.meta.url),()=>r(()=>import("../nodes/5.Co5caC3o.js"),__vite__mapDeps([51,1,2,3,4,5,28,12,13,8,18,19,11,7,22,29,9,10,21,23,30,31,32,33,34,35,36,25,37,38,39,40,41,42,43]),import.meta.url),()=>r(()=>import("../nodes/6.PNCZDQUQ.js"),__vite__mapDeps([52,1,2,13,5,8,3,4,12,53,19,11,28,18,7,22,29,9,10,21,23,30,31,32,33,34,35,36,25,37,38,39,40,41,42,43,44,54,55,56,57,47]),import.meta.url),()=>r(()=>import("../nodes/7.B-MS6ohL.js"),__vite__mapDeps([58,1,2,8,3,12,5,6,18,19,11,28,4,13,7,22,29,9,10,21,23,30,31,32,33,34,35,36,25,37,38,39,40,41,42,43]),import.meta.url),()=>r(()=>import("../nodes/8.BuLcFKAl.js"),__vite__mapDeps([59,1,2,8,3,12,5,13,6,7,18,19,11,21,22,4,23,25,60,61,32,62,63]),import.meta.url),()=>r(()=>import("../nodes/9.KKtWtrqc.js"),__vite__mapDeps([64,1,2,8,3,7,13,5,6,18,19,11,65,26,4,22,66,67,12,24,42,45,47]),import.meta.url),()=>r(()=>import("../nodes/10.X7rNYygL.js"),__vite__mapDeps([68,1,2,8,3,12,5,7,13,6,67,4,26,22,69,61,32,70,33,71,72,38,34,10,11,63,73,62,21,23,35,24,48,74,39]),import.meta.url),()=>r(()=>import("../nodes/11.BrUohDzR.js"),__vite__mapDeps([75,1,11,2,8,3,12,5,7,13,6,19,76,67,4,26,22,77,47,78,21,23,62,63,79,80,81,82,83,15,72,38]),import.meta.url),()=>r(()=>import("../nodes/12.Bdebe5Rr.js"),__vite__mapDeps([84,1,2,8,3,12,5,13,6,67,4,7,26,22,77,45,85]),import.meta.url),()=>r(()=>import("../nodes/13.RPUAXFD4.js"),__vite__mapDeps([86,1,2,8,3,12,5,7,13,6,19,11,67,4,21,22,23,78,26,77,46,85,61,32,62,63,15]),import.meta.url),()=>r(()=>import("../nodes/14.DD25MrcN.js"),__vite__mapDeps([87,1,2,8,3,12,5,7,13,6,63,19,11,88,22,4,67,89,32,33,10,43,41,26,21,23,78,61,62,81,77,85,15,35]),import.meta.url),()=>r(()=>import("../nodes/15.2borWKNj.js"),__vite__mapDeps([90,1,2,8,3,12,5,34,4,33,32,7,13,10,6,24,22,91,26,21,23,80,92,31,37,93,40,19,11,63,69,67]),import.meta.url),()=>r(()=>import("../nodes/16.AnMZqiO6.js"),__vite__mapDeps([94,1,2,8,3,12,5,7,13,6,19,11,95,22,4,96,21,23,81,38,39,67,26,62,63,15,35,77,69,78,24,91,97]),import.meta.url),()=>r(()=>import("../nodes/17.MCt65051.js"),__vite__mapDeps([98,1,2,3,13,5,8,6,18,19,11,97,22,4,7,60,23]),import.meta.url),()=>r(()=>import("../nodes/18.CQUwzcDA.js"),__vite__mapDeps([99,1,2,6]),import.meta.url),()=>r(()=>import("../nodes/19.6aT-fTMy.js"),__vite__mapDeps([100,1,2,8,3,12,5,7,19,11,101,4,63,13,22,102,35,83,47,66,28,18,29,9,10,21,23,30,31,32,33,34,36,25,37,38,39,40,41,42,43,67,77,15]),import.meta.url),()=>r(()=>import("../nodes/20.CpXK8jYA.js"),__vite__mapDeps([103,36,1,2,3,12,5,29,4,7,8,13,9,10,21,22,23,30,31,32,33,34,35,25,37,38,39,40,19,11,18,47,63,76,102,70,71,72,73,104,14,89,26,24,91,61,62,93,105,82,106,107]),import.meta.url),()=>r(()=>import("../nodes/21.hMALoCev.js"),__vite__mapDeps([108,1,2,8,3,12,5,7,13,6,18,19,11,25,22,4,60,23,21,61,32,62,63]),import.meta.url),()=>r(()=>import("../chunks/BapAUJpM.js").then(_=>_.a),[],import.meta.url),()=>r(()=>import("../nodes/23.BHMRNMwo.js"),__vite__mapDeps([109,1,2,13,5,8,3,12,34,4,33,32,7,10,6,19,11,53,110,63,22,38,102,71,105,30,31,35,61,62,89,21,23,104,74,15,78,96,42,81,77,111,101,83,47,66,92,95,37,57,79,88,67,41]),import.meta.url),()=>r(()=>import("../nodes/24.D4e0bX6T.js"),__vite__mapDeps([112,1,2,8,3,12,5,7,13,6,18,19,11,25,22,4,60,23,21,61,32,62,63]),import.meta.url),()=>r(()=>import("../nodes/25.DNwr0QCW.js"),__vite__mapDeps([113,1,2,8,3,12,5,7,13,6,65,26,4,22,66,67,24,45,42,54]),import.meta.url),()=>r(()=>import("../nodes/26.Db6OQMMh.js"),__vite__mapDeps([114,1,2,3,13,5,8,6,67,4,12,7,26,22,69,24,56]),import.meta.url),()=>r(()=>import("../nodes/27.CBtqq6qp.js"),__vite__mapDeps([115,1,2,8,3,12,5,7,13,6,18,19,11,67,4,21,22,23,15,24,91,26,110,63,38,102,71,77,47,74,78,62,81,82,83]),import.meta.url),()=>r(()=>import("../nodes/28.2dbj6GEG.js"),__vite__mapDeps([116,1,2,8,3,12,5,7,13,6,19,11,95,22,4,67,21,23,97,24,91,26,77,111,15,62,63,35,81]),import.meta.url),()=>r(()=>import("../nodes/29.Cni5D37m.js"),__vite__mapDeps([117,1,2,8,3,12,5,7,13,6,19,11,67,4,26,22,77,54,85,92,31,32,33,34,10,21,23,81,15,78,62,63]),import.meta.url),()=>r(()=>import("../nodes/30.B5u2_6d1.js"),__vite__mapDeps([118,1,2,8,3,12,5,13,6,7,19,11,67,4,26,22,77,105,85,92,31,32,33,34,10,21,23,55,15]),import.meta.url),()=>r(()=>import("../nodes/31.BmGk5kzS.js"),__vite__mapDeps([119,1,2,8,3,12,5,13,6,67,4,7,24,22,91,26,81]),import.meta.url),()=>r(()=>import("../nodes/32.C8wOZK7U.js"),__vite__mapDeps([120,1,2,3,13,5,8,6,67,4,12,7,26,22,69,24,57]),import.meta.url)],zt=[0,2,5,6],Mt={"/":[-8],"/accept-invite":[-9],"/admin":[-10,[2],[3]],"/admin/audit":[-11,[2],[3]],"/admin/compute":[-12,[2],[3]],"/admin/organizations":[-13,[2],[3]],"/admin/projects":[-14,[2],[3]],"/admin/projects/[id]":[-15,[2],[3]],"/admin/system":[-16,[2],[3]],"/admin/users":[-17,[2],[3]],"/auth/email/sent":[17],"/auth/email/start":[-19],"/library":[-20,[4]],"/library/[guid]":[-21,[4]],"/login":[-22],"/logout":[22],"/projects":[-24,[5]],"/setup":[-25],"/team":[-26,[6]],"/team/activity":[26,[6]],"/team/compute":[-28,[6]],"/team/members":[-29,[6]],"/team/projects":[-30,[6]],"/team/reclaim":[-31,[6]],"/team/settings":[-32,[6]],"/team/shares":[-33,[6]]},G={handleError:(({error:_})=>{console.error(_)}),reroute:(()=>{}),transport:{}},Lt=Object.fromEntries(Object.entries(G.transport).map(([_,t])=>[_,t.decode])),Bt=Object.fromEntries(Object.entries(G.transport).map(([_,t])=>[_,t.encode])),Gt=!1,Kt=(_,t)=>Lt[_](t);export{Kt as decode,Lt as decoders,Mt as dictionary,Bt as encoders,Gt as hash,G as hooks,wt as matchers,St as nodes,Ct as root,zt as server_loads};
@@ -1 +0,0 @@
1
- import{l as o,d as r}from"../chunks/BNlGWnEa.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{l as o,d as r}from"../chunks/BNlGWnEa.js";export{o as load_css,r as start};
2
- 
@@ -1,16 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{s as m,F as Lt,g as e,u as O,h as o,p as et,f,a as tt,c as s,i as Ur,r as n,aC as Er,d as a,t as X,n as u,b as ot,j as yt,bg as Fr,e as Or,$ as Lr}from"../chunks/BtOVeLcI.js";import{s as qt,r as Ft,p as Xe,c as _,b as Qt,d as Rr,a as Mr}from"../chunks/ChEZL1UP.js";import{e as $r,a as at,d as wt,s as U}from"../chunks/BNpXeuQ_.js";import{p as zr,c as Ge,a as r,f as i,t as T}from"../chunks/BoLtD6vo.js";import{i as H}from"../chunks/DAQN5y4A.js";import{k as Vr}from"../chunks/SM988pE-.js";import{f as Gr,a as jt,c as pt,e as mt,i as yr,g as wr,b as Xt,r as St,j as nr}from"../chunks/22C0ZkpD.js";import{h as Br}from"../chunks/CTTkX-27.js";import{i as ct,g as hr}from"../chunks/BNlGWnEa.js";import{p as qr}from"../chunks/KecTfFG2.js";import{F as ir}from"../chunks/CeolKPEY.js";import{F as Pr}from"../chunks/k1GnUs7f.js";import{D as Yt,a as Vt,b as Gt,c as Bt,R as Zt}from"../chunks/jiMRToiE.js";import{L as Qe}from"../chunks/wegQDfR0.js";import{I as ft}from"../chunks/CJvX1bCR.js";import{c as er,d as kr,T as jr,a as Mt,b as zt}from"../chunks/BVUbFuzT.js";import{B as Ie}from"../chunks/mlApEF2J.js";import{U as fr,D as Wt,P as lr,F as Jr}from"../chunks/CFq1UfS7.js";import{B as Sr}from"../chunks/5fK69wOi.js";import{X as Pt}from"../chunks/Ca8xAcDY.js";import{t as Ce}from"../chunks/DTLLn7uD.js";import{b as pr,c as sr}from"../chunks/Bfsx6G_D.js";import{P as Kt}from"../chunks/BnS8rxFx.js";import{S as Cr}from"../chunks/CitY1SZ1.js";import{U as dr}from"../chunks/CfYcWYC1.js";import{U as xr}from"../chunks/BYQ2KYuV.js";import{T as tr}from"../chunks/BuBobyR7.js";import{E as mr}from"../chunks/Ct6ntSZV.js";import{U as Hr}from"../chunks/B3OAhCNZ.js";import{s as Wr,a as Kr,f as Dr,m as Qr,h as Xr,S as Yr,V as Zr,D as ea}from"../chunks/6P6fn4fQ.js";import{I as rr,c as ta}from"../chunks/BuC_QZkR.js";import{s as cr}from"../chunks/8uBOzWQA.js";import{a as ra,p as aa,c as oa,b as na,d as Ht,m as sa}from"../chunks/Bf2Kb0d4.js";import{R as Ct,A as Dt,a as It,b as Nt,c as Tt,d as At,e as Ut,f as Et}from"../chunks/T404WsWw.js";import{C as ia}from"../chunks/DE1IAae-.js";import{T as vr}from"../chunks/DllGpGf3.js";import{C as la}from"../chunks/LZnjyP_x.js";import{L as da}from"../chunks/BYVjhRZj.js";import{C as br}from"../chunks/EVm4fAGL.js";import{A as ca}from"../chunks/DQtEKe83.js";import{S as va}from"../chunks/Bixcgta2.js";import{S as ua}from"../chunks/BTfzafVu.js";const fa=Symbol();class pa extends URLSearchParams{#e=m(0);#a=ga();#t=!1;#r(){if(!this.#a||this.#t)return;this.#t=!0;const t=this.toString();this.#a.search=t&&`?${t}`,this.#t=!1}[fa](t){if(!this.#t){this.#t=!0;for(const p of[...super.keys()])super.delete(p);for(const[p,j]of t)super.append(p,j);Lt(this.#e),this.#t=!1}}append(t,p){super.append(t,p),this.#r(),Lt(this.#e)}delete(t,p){var j=super.has(t,p);super.delete(t,p),j&&(this.#r(),Lt(this.#e))}get(t){return e(this.#e),super.get(t)}getAll(t){return e(this.#e),super.getAll(t)}has(t,p){return e(this.#e),super.has(t,p)}keys(){return e(this.#e),super.keys()}set(t,p){var j=super.getAll(t).join("");super.set(t,p),j!==super.getAll(t).join("")&&(this.#r(),Lt(this.#e))}sort(){super.sort(),this.#r(),Lt(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}let ma=null;function ga(){return ma}function _a(Pe,t){let p=Ft(t,["$$slots","$$events","$$legacy"]);const j=[["path",{d:"M12 13v8"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"}],["path",{d:"m8 17 4-4 4 4"}]];rr(Pe,qt({name:"cloud-upload"},()=>p,{get iconNode(){return j}}))}function ha(Pe,t){let p=Ft(t,["$$slots","$$events","$$legacy"]);const j=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];rr(Pe,qt({name:"ellipsis"},()=>p,{get iconNode(){return j}}))}function xa(Pe,t){let p=Ft(t,["$$slots","$$events","$$legacy"]);const j=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}],["circle",{cx:"9",cy:"9",r:"2"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}]];rr(Pe,qt({name:"image"},()=>p,{get iconNode(){return j}}))}function ba(Pe,t){let p=Ft(t,["$$slots","$$events","$$legacy"]);const j=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];rr(Pe,qt({name:"share-2"},()=>p,{get iconNode(){return j}}))}const $a=oa({component:"separator",parts:["root"]});class gr{static create(t){return new gr(t)}opts;attachment;constructor(t){this.opts=t,this.attachment=ra(t.ref)}#e=O(()=>({id:this.opts.id.current,role:this.opts.decorative.current?"none":"separator","aria-orientation":this.opts.orientation.current,"aria-hidden":aa(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[$a.root]:"",...this.attachment}));get props(){return e(this.#e)}set props(t){o(this.#e,t)}}var ya=i("<div><!></div>");function wa(Pe,t){const p=zr();et(t,!0);let j=Xe(t,"id",19,()=>na(p)),E=Xe(t,"ref",15,null),L=Xe(t,"decorative",3,!1),B=Xe(t,"orientation",3,"horizontal"),h=Ft(t,["$$slots","$$events","$$legacy","id","ref","child","children","decorative","orientation"]);const w=gr.create({ref:Ht(()=>E(),oe=>E(oe)),id:Ht(()=>j()),decorative:Ht(()=>L()),orientation:Ht(()=>B())}),q=O(()=>sa(h,w.props));var ie=Ge(),M=f(ie);{var be=oe=>{var te=Ge(),we=f(te);cr(we,()=>t.child,()=>({props:e(q)})),r(oe,te)},$e=oe=>{var te=ya();Gr(te,()=>({...e(q)}));var we=s(te);cr(we,()=>t.children??Ur),n(te),r(oe,te)};H(M,oe=>{t.child?oe(be):oe($e,-1)})}r(Pe,ie),tt()}function ur(Pe,t){et(t,!0);let p=Xe(t,"ref",15,null),j=Xe(t,"data-slot",3,"separator"),E=Ft(t,["$$slots","$$events","$$legacy","ref","class","data-slot"]);var L=Ge(),B=f(L);{let h=O(()=>ta("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",t.class));_(B,()=>wa,(w,q)=>{q(w,qt({get"data-slot"(){return j()},get class(){return e(h)}},()=>E,{get ref(){return p()},set ref(ie){p(ie)}}))})}r(Pe,L),tt()}var Pa=i('<div role="button" tabindex="-1" class="inset-0 bg-black/30 fixed z-50"></div> <div><!></div>',1);function Ir(Pe,t){et(t,!0);let p=Xe(t,"width",3,"w-125"),j=Xe(t,"ariaLabel",3,"Close drawer");function E(q){q.key==="Escape"&&t.onClose()}var L=Pa();$r("keydown",Er,E);var B=f(L),h=a(B,2),w=s(h);cr(w,()=>t.children),n(h),X(()=>{jt(B,"aria-label",j()),pt(h,1,`animate-in slide-in-from-right-4 top-0 right-0 fixed z-50 flex h-full border-border bg-background ${p()??""} flex-col overflow-y-auto border-l duration-150`)}),at("click",B,function(...q){t.onClose?.apply(this,q)}),at("keydown",B,E),r(Pe,L),tt()}wt(["click","keydown"]);var ka=i('<!> <span class="sm:inline hidden"> </span>',1),ja=i('<div class="gap-2 sm:flex-row sm:items-center flex flex-col"><input type="file" accept="image/*" class="h-10 px-3 py-2 text-sm file:text-sm file:font-medium flex flex-1 rounded-md border border-input bg-background file:border-0 file:bg-transparent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:opacity-50"/> <!></div>'),Sa=i('<div class="space-y-2"><div class="gap-1 p-0.5 flex rounded-md border"><!> <!></div> <!></div>');function Nr(Pe,t){et(t,!0);let p=Xe(t,"mode",3,"url"),j=Xe(t,"value",3,""),E=Xe(t,"disabled",3,!1),L=Xe(t,"isUploading",3,!1),B=Xe(t,"hasFile",3,!1),h=Xe(t,"inputRef",15);var w=Sa(),q=s(w),ie=s(q);{let te=O(()=>p()!=="upload"?"default":"ghost");Ie(ie,{size:"sm",get variant(){return e(te)},onclick:()=>t.onModeChange?.("url"),class:"h-7 text-xs flex-1",children:(we,S)=>{u();var A=T("URL");r(we,A)},$$slots:{default:!0}})}var M=a(ie,2);{let te=O(()=>p()==="upload"?"default":"ghost");Ie(M,{size:"sm",get variant(){return e(te)},onclick:()=>t.onModeChange?.("upload"),class:"h-7 text-xs flex-1",children:(we,S)=>{u();var A=T("Upload File");r(we,A)},$$slots:{default:!0}})}n(q);var be=a(q,2);{var $e=te=>{var we=ja(),S=s(we);Qt(S,fe=>h(fe),()=>h());var A=a(S,2);{let fe=O(()=>E()||!B()||L());Ie(A,{size:"sm",get disabled(){return e(fe)},get onclick(){return t.onUpload},class:"shrink-0",children:(F,re)=>{var pe=ka(),ve=f(pe);fr(ve,{class:"mr-2 h-4 w-4"});var Ne=a(ve,2),je=s(Ne,!0);n(Ne),X(()=>U(je,L()?"Uploading…":"Upload")),r(F,pe)},$$slots:{default:!0}})}n(we),X(()=>S.disabled=E()),at("change",S,function(...fe){t.onFileSelected?.apply(this,fe)}),r(te,we)},oe=te=>{ft(te,{type:"text",get value(){return j()},get disabled(){return E()},oninput:we=>t.onUrlChange?.(we.target.value),placeholder:"https://..."})};H(be,te=>{p()==="upload"?te($e):te(oe,-1)})}n(w),r(Pe,w),tt()}wt(["change"]);const Rt=1e3;function Tr(Pe,t){et(t,!0);let p=Xe(t,"placeholder",3,"Select a project");const j=O(()=>t.projects.map(E=>({id:E.id,label:E.name})));ir(Pe,{get items(){return e(j)},get value(){return t.value},get onChange(){return t.onChange},get id(){return t.id},get placeholder(){return p()},get triggerIcon(){return Pr},searchPlaceholder:"Filter projects"}),tt()}var Ca=i("<!> <!>",1),Da=i('<div class="space-y-1"><!> <!></div>'),Ia=i('<div class="space-y-1"><!> <div class="bg-muted rounded-md px-3 py-2"><p class="text-sm font-medium"> </p></div></div>'),Na=i("<option> </option>"),Ta=i('<div class="space-y-1"><!> <select id="new-server" class="border-input bg-background focus-visible:ring-ring h-10 w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:outline-none"></select></div>'),Aa=i("<div><!> <!></div>"),Ua=i('Grasshopper File <span class="text-destructive">*</span>',1),Ea=i('<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>'),Fa=i(`<div class="border-destructive/40 bg-destructive/5 rounded-md border p-3"><p class="text-destructive text-xs font-medium">Validation failed</p> <p class="text-destructive/80 mt-0.5 text-xs"> </p> <p class="text-destructive/60 mt-1 text-xs">This definition can't be uploaded until it validates against an online compute server.</p></div>`),Oa=i('<div class="border-success/30 bg-success/5 flex items-center gap-3 rounded-md border p-3"><div class="min-w-0 flex-1"><p class="text-success text-xs font-medium">Valid Selva definition</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></div>'),La=i('Display Name <span class="text-destructive">*</span>',1),Ra=i(' <button type="button" class="ml-0.5 inline-flex items-center justify-center transition-opacity hover:opacity-70" title="Remove tag"><!></button>',1),Ma=i('<div class="mb-2 flex flex-wrap gap-2"></div>'),za=i("<!> <!>",1),Va=i('<!> <div class="space-y-4"><!> <div class="space-y-2"><!> <input id="new-file" type="file" accept=".gh,.ghx" class="border-input bg-background focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50"/> <!></div> <div class="space-y-2"><!> <!></div> <div class="space-y-2"><!> <!></div> <div class="grid grid-cols-1 gap-3 md:grid-cols-2"><div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!></div> <div class="space-y-1"><div class="flex items-center justify-between"><!> <p class="text-muted-foreground text-xs"> </p></div> <!> <!></div></div> <div class="space-y-2"><!> <!></div></div> <!>',1);function Ga(Pe,t){et(t,!0);let p=Xe(t,"open",3,!1),j=Xe(t,"isAdding",3,!1),E=Xe(t,"projects",19,()=>[]),L=Xe(t,"computeServers",19,()=>[]),B=Xe(t,"defaultComputeServerId",3,null),h=Xe(t,"showProjectDropdown",3,!1),w=m(""),q=m(""),ie=m(""),M=m(ot([])),be=m(""),$e=m("url"),oe=m(""),te=m("");yt(()=>{t.defaultProjectId&&o(oe,t.defaultProjectId,!0)});let we=m(null);yt(()=>{if(!e(oe)||!e(A))return;const l=[e(oe),e(te),e(A).name,e(A).size,e(A).lastModified].join("|");l===e(we)||e(re)||(o(we,l,!0),Ue())});let S=m(void 0),A=m(null),fe=m(void 0),F=m(!1),re=m(!1),pe=m(null),ve=m(null);function Ne(l){return`${(l/(1024*1024)).toFixed(1)} MB`}function je(l){return l.name.replace(/\.(gh|ghx)$/i,"").replace(/[_-]/g," ").replace(/\b\w/g,$=>$.toUpperCase())}function Ae(){const l=e(S)?.files?.[0]??null;o(pe,null),o(ve,null),o(q,""),o(M,[],!0),o(A,l,!0),o(w,l?je(l):"",!0)}async function Ue(){const l=e(A);if(!(!l||!e(oe))){o(re,!0);try{const $=new FormData;$.append("files",l);const P=new URLSearchParams(e(te)?{projectId:e(oe),computeServerId:e(te)}:{projectId:e(oe)}).toString(),c=await fetch(`/api/compute/schema?${P}`,{method:"POST",body:$});if(!c.ok){const y=await c.json().catch(()=>null);if(c.status===413){o(pe,y?.message??`This Grasshopper file is too large to upload (${Ne(l.size)}). Reduce its size or raise the server's upload limit.`,!0);return}o(pe,y?.message??(c.status===503?"Compute server is unreachable. It must be online to upload a definition.":"Validation failed"),!0);return}const g=(await c.json())?.[0];if(!g){o(pe,"No valid Selva schema found in this definition.");return}o(ve,g,!0),g.name&&o(w,g.name,!0),g.description&&o(q,g.description,!0),g.tags?.length&&o(M,g.tags,!0)}catch{o(pe,"Compute server is unreachable. It must be online to upload a definition.")}finally{o(re,!1)}}}async function me(){if(!e(w).trim()){Ce.error("Display name is required");return}if(!e(S)?.files||e(S).files.length===0){Ce.error("A Grasshopper file is required");return}if(h()&&!e(oe)){Ce.error("Please pick a project");return}if(!e(ve)){Ce.error(e(pe)??"The definition must be validated against an online compute server first");return}const l=new FormData;l.append("displayName",e(w).trim()),l.append("description",e(q)),l.append("category",e(ie)),l.append("tags",e(M).join(",")),e($e)==="upload"&&e(fe)?.files?.[0]?l.append("image",e(fe).files[0]):e($e)==="url"&&e(be).trim()&&l.append("coverImage",e(be).trim()),l.append("file",e(S).files[0]),e(oe)&&l.append("projectId",e(oe)),e(te)&&l.append("computeServerId",e(te));try{await t.onSubmit?.(l)}catch{}}function C(){o(w,""),o(q,""),o(ie,""),o(M,[],!0),o(be,""),o($e,"url"),o(oe,t.defaultProjectId??"",!0),o(te,""),o(re,!1),o(pe,null),o(ve,null),e(S)&&(e(S).value=""),o(A,null),o(we,null),e(fe)&&(e(fe).value=""),o(F,!1)}function D(l){l||C(),t.onOpenChange?.(l)}yt(()=>{p()||C()});var V=Ge(),Y=f(V);_(Y,()=>Zt,(l,$)=>{$(l,{get open(){return p()},onOpenChange:D,children:(P,c)=>{var v=Ge(),g=f(v);_(g,()=>Yt,(y,W)=>{W(y,{class:"max-w-xl",children:(I,K)=>{var ee=Va(),he=f(ee);_(he,()=>Vt,(_e,De)=>{De(_e,{children:(Ee,Ke)=>{var Ye=Ca(),it=f(Ye);_(it,()=>Gt,(Fe,Le)=>{Le(Fe,{children:(We,Me)=>{u();var st=T("Add New Definition");r(We,st)},$$slots:{default:!0}})});var Ze=a(it,2);_(Ze,()=>Bt,(Fe,Le)=>{Le(Fe,{children:(We,Me)=>{u();var st=T("Upload a Grasshopper file and fill in the metadata.");r(We,st)},$$slots:{default:!0}})}),r(Ee,Ye)},$$slots:{default:!0}})});var le=a(he,2),ne=s(le);{var xe=_e=>{var De=Aa(),Ee=s(De);{var Ke=Fe=>{var Le=Da(),We=s(Le);Qe(We,{for:"new-project",children:(st,dt)=>{u();var lt=T("Project");r(st,lt)},$$slots:{default:!0}});var Me=a(We,2);Tr(Me,{id:"new-project",get projects(){return E()},get value(){return e(oe)},onChange:st=>o(oe,st,!0)}),n(Le),r(Fe,Le)},Ye=Fe=>{const Le=O(()=>E().find(Se=>Se.id===t.defaultProjectId));var We=Ia(),Me=s(We);Qe(Me,{children:(Se,Be)=>{u();var qe=T("Project");r(Se,qe)},$$slots:{default:!0}});var st=a(Me,2),dt=s(st),lt=s(dt,!0);n(dt),n(st),n(We),X(()=>U(lt,e(Le)?.name??"Unknown")),r(Fe,We)};H(Ee,Fe=>{h()?Fe(Ke):t.defaultProjectId&&Fe(Ye,1)})}var it=a(Ee,2);{var Ze=Fe=>{var Le=Ta(),We=s(Le);Qe(We,{for:"new-server",children:(dt,lt)=>{u();var Se=T("Compute Server");r(dt,Se)},$$slots:{default:!0}});var Me=a(We,2);mt(Me,21,L,dt=>dt.id,(dt,lt)=>{var Se=Na(),Be=s(Se);n(Se);var qe={};X(()=>{U(Be,`${e(lt).label??""}${e(lt).id===B()?" (Default)":""}`),qe!==(qe=e(lt).id)&&(Se.value=(Se.__value=e(lt).id)??"")}),r(dt,Se)}),n(Me);var st;yr(Me),n(Le),X(()=>{st!==(st=e(te)||(B()??""))&&(Me.value=(Me.__value=e(te)||(B()??""))??"",wr(Me,e(te)||(B()??"")))}),at("change",Me,dt=>{const lt=dt.currentTarget.value;o(te,lt===B()?"":lt,!0)}),r(Fe,Le)};H(it,Fe=>{L().length>0&&Fe(Ze)})}n(De),X(()=>pt(De,1,`grid gap-3 ${h()&&L().length>0?"sm:grid-cols-2":""}`)),r(_e,De)};H(ne,_e=>{(h()||L().length>0)&&_e(xe)})}var de=a(ne,2),R=s(de);Qe(R,{for:"new-file",children:(_e,De)=>{u();var Ee=Ua();u(),r(_e,Ee)},$$slots:{default:!0}});var z=a(R,2);Qt(z,_e=>o(S,_e),()=>e(S));var N=a(z,2);{var k=_e=>{var De=Ea();r(_e,De)},Q=_e=>{var De=Fa(),Ee=a(s(De),2),Ke=s(Ee,!0);n(Ee),u(2),n(De),X(()=>U(Ke,e(pe))),r(_e,De)},se=_e=>{var De=Oa(),Ee=s(De),Ke=a(s(Ee),2),Ye=s(Ke);n(Ke),n(Ee),n(De),X(()=>U(Ye,`${e(ve).inputs.length??""} input${e(ve).inputs.length===1?"":"s"},
2
- ${e(ve).outputs.length??""} output${e(ve).outputs.length===1?"":"s"}`)),r(_e,De)};H(N,_e=>{e(re)?_e(k):e(pe)?_e(Q,1):e(ve)&&_e(se,2)})}n(de);var ge=a(de,2),ae=s(ge);Qe(ae,{for:"new-dn",children:(_e,De)=>{u();var Ee=La();u(),r(_e,Ee)},$$slots:{default:!0}});var ue=a(ae,2);ft(ue,{id:"new-dn",type:"text",placeholder:"e.g., Parametric Tower",get value(){return e(w)},set value(_e){o(w,_e,!0)}}),n(ge);var ke=a(ge,2),Ve=s(ke);Qe(Ve,{for:"new-desc",children:(_e,De)=>{u();var Ee=T("Description");r(_e,Ee)},$$slots:{default:!0}});var G=a(Ve,2);er(G,{id:"new-desc",rows:3,placeholder:"Describe what this definition does…",get value(){return e(q)},set value(_e){o(q,_e,!0)}}),n(ke);var Z=a(ke,2),ce=s(Z),J=s(ce),Te=s(J);Qe(Te,{for:"new-cat",children:(_e,De)=>{u();var Ee=T("Category");r(_e,Ee)},$$slots:{default:!0}});var d=a(Te,2),x=s(d);n(d),n(J);var b=a(J,2);ft(b,{id:"new-cat",type:"text",maxlength:40,placeholder:"e.g., Architecture",get value(){return e(ie)},set value(_e){o(ie,_e,!0)}}),n(ce);var ye=a(ce,2),Re=s(ye),Oe=s(Re);Qe(Oe,{for:"new-tags",children:(_e,De)=>{u();var Ee=T("Tags");r(_e,Ee)},$$slots:{default:!0}});var ze=a(Oe,2),Je=s(ze);n(ze),n(Re);var rt=a(Re,2);{var He=_e=>{var De=Ma();mt(De,20,()=>e(M),Ee=>Ee,(Ee,Ke)=>{Sr(Ee,{variant:"outline",class:"cursor-pointer gap-1",children:(Ye,it)=>{u();var Ze=Ra(),Fe=f(Ze),Le=a(Fe),We=s(Le);Pt(We,{class:"h-3 w-3"}),n(Le),X(()=>U(Fe,`${Ke??""} `)),at("click",Le,()=>{o(M,e(M).filter(Me=>Me!==Ke),!0)}),r(Ye,Ze)},$$slots:{default:!0}})}),n(De),r(_e,De)};H(rt,_e=>{e(M).length>0&&_e(He)})}var vt=a(rt,2);{let _e=O(()=>e(M).length>=5);ft(vt,{id:"new-tags",type:"text",placeholder:"Add tag and press Enter",get disabled(){return e(_e)},onkeydown:De=>{if(De.key==="Enter"){De.preventDefault();const Ee=De.currentTarget,Ke=Ee.value.trim();Ke&&!e(M).includes(Ke)&&e(M).length<5&&(o(M,[...e(M),Ke],!0),Ee.value="")}}})}n(ye),n(Z);var ut=a(Z,2),nt=s(ut);Qe(nt,{children:(_e,De)=>{u();var Ee=T("Cover Image");r(_e,Ee)},$$slots:{default:!0}});var gt=a(nt,2);Nr(gt,{get mode(){return e($e)},get value(){return e(be)},get hasFile(){return e(F)},onModeChange:_e=>o($e,_e,!0),onUpload:()=>{},onFileSelected:()=>o(F,!!e(fe)?.files?.length),onUrlChange:_e=>o(be,_e,!0),get inputRef(){return e(fe)},set inputRef(_e){o(fe,_e,!0)}}),n(ut),n(le);var bt=a(le,2);_(bt,()=>Wt,(_e,De)=>{De(_e,{class:"gap-2 sm:justify-end",children:(Ee,Ke)=>{var Ye=za(),it=f(Ye);Ie(it,{variant:"outline",onclick:()=>t.onOpenChange?.(!1),children:(Fe,Le)=>{u();var We=T("Cancel");r(Fe,We)},$$slots:{default:!0}});var Ze=a(it,2);{let Fe=O(()=>j()||e(re)||!e(ve));Ie(Ze,{onclick:me,get disabled(){return e(Fe)},children:(Le,We)=>{u();var Me=T();X(()=>U(Me,j()?"Creating…":e(re)?"Validating…":"Create Definition")),r(Le,Me)},$$slots:{default:!0}})}r(Ee,Ye)},$$slots:{default:!0}})}),X(()=>{U(x,`${e(ie)?.length??0??""}/40`),U(Je,`${e(M).length??""}/5`)}),at("change",z,Ae),r(I,ee)},$$slots:{default:!0}})}),r(P,v)},$$slots:{default:!0}})}),r(Pe,V),tt()}wt(["change","click"]);var Ba=i('<button class="text-muted-foreground hover:text-foreground rounded p-0.5 transition-colors" title="New project" aria-label="New project"><!></button>'),qa=i('<div class="border-border bg-muted/40 mx-3 mb-3 space-y-2 rounded-md border p-3"><!> <select class="border-input bg-background w-full rounded-md border px-2.5 py-1.5 text-xs outline-none"><option>Public</option><option>Org</option><option>Private</option></select> <div class="flex gap-1.5"><!> <!></div></div>'),Ja=i('<div class="relative mx-3 mb-2"><!> <input placeholder="Filter projects" class="border-input bg-background placeholder:text-muted-foreground focus:border-ring h-7 w-full rounded-md border pr-2 pl-7 text-xs transition-colors outline-none"/></div>'),Ha=i('<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>'),Wa=i('<div class="border-border/60 my-2 border-t"></div>'),Ka=i('<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>'),Qa=i('<button><!> <span class="flex-1 truncate text-sm font-medium"> </span> <span class="shrink-0 font-mono text-[11px] tabular-nums opacity-60"> </span></button>'),Xa=i('<p class="text-muted-foreground px-2 py-4 text-center text-xs">No projects yet</p>'),Ya=i('<p class="text-muted-foreground px-2 py-4 text-center text-xs"> </p>'),Za=i('<aside class="border-border bg-background flex w-60 shrink-0 flex-col overflow-y-auto border-r"><div class="flex items-center justify-between px-4 pt-5 pb-3"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase">Projects</span> <!></div> <!> <!> <nav class="flex-1 space-y-px pr-2 pb-4"><button><!> <!> <span class="flex-1 truncate text-sm font-medium">All projects</span></button> <!> <!> <!></nav></aside>');function eo(Pe,t){et(t,!0);let p=m(!1),j=m(""),E=m(""),L=m("public"),B=m(!1),h=m("");const w=O(()=>{const C=e(h).trim().toLowerCase();return C?t.projects.filter(D=>D.name.toLowerCase().includes(C)):t.projects});async function q(){if(e(j).trim()){o(B,!0);try{await t.onCreate({name:e(j).trim(),description:e(E),visibility:e(L)}),o(j,""),o(E,""),o(L,"public"),o(p,!1)}finally{o(B,!1)}}}var ie=Za(),M=s(ie),be=a(s(M),2);{var $e=C=>{var D=Ba(),V=s(D);Kt(V,{class:"h-3.5 w-3.5"}),n(D),at("click",D,()=>o(p,!e(p))),r(C,D)};H(be,C=>{t.canManageProjects&&C($e)})}n(M);var oe=a(M,2);{var te=C=>{var D=qa(),V=s(D);ft(V,{placeholder:"Project name",class:"h-8 text-xs",get value(){return e(j)},set value(y){o(j,y,!0)}});var Y=a(V,2),l=s(Y);l.value=l.__value="public";var $=a(l);$.value=$.__value="org";var P=a($);P.value=P.__value="private",n(Y);var c=a(Y,2),v=s(c);{let y=O(()=>e(B)||!e(j).trim());Ie(v,{onclick:q,get disabled(){return e(y)},size:"sm",class:"h-6 flex-1 text-xs",children:(W,I)=>{u();var K=T();X(()=>U(K,e(B)?"…":"Create")),r(W,K)},$$slots:{default:!0}})}var g=a(v,2);Ie(g,{onclick:()=>o(p,!1),variant:"ghost",size:"sm",class:"h-6 px-2 text-xs",children:(y,W)=>{Pt(y,{class:"h-3 w-3"})},$$slots:{default:!0}}),n(c),n(D),Xt(Y,()=>e(L),y=>o(L,y)),r(C,D)};H(oe,C=>{e(p)&&t.canManageProjects&&C(te)})}var we=a(oe,2);{var S=C=>{var D=Ja(),V=s(D);Cr(V,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2"});var Y=a(V,2);St(Y),n(D),pr(Y,()=>e(h),l=>o(h,l)),r(C,D)};H(we,C=>{t.projects.length>4&&C(S)})}var A=a(we,2),fe=s(A),F=s(fe);{var re=C=>{var D=Ha();r(C,D)};H(F,C=>{t.activeProjectId===null&&C(re)})}var pe=a(F,2);Pr(pe,{class:"h-3.5 w-3.5 shrink-0 opacity-70"}),u(2),n(fe);var ve=a(fe,2);{var Ne=C=>{var D=Wa();r(C,D)};H(ve,C=>{e(w).length>0&&C(Ne)})}var je=a(ve,2);mt(je,17,()=>e(w),C=>C.id,(C,D)=>{const V=O(()=>t.activeProjectId===e(D).id),Y=O(()=>t.records.filter(W=>W.projectId===e(D).id).length);var l=Qa(),$=s(l);{var P=W=>{var I=Ka();r(W,I)};H($,W=>{e(V)&&W(P)})}var c=a($,2),v=s(c,!0);n(c);var g=a(c,2),y=s(g,!0);n(g),n(l),X(()=>{pt(l,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${e(V)?"bg-accent text-accent-foreground rounded-r-md pl-4":"text-muted-foreground hover:bg-muted/60 hover:text-foreground mx-2 rounded-md pl-2.5"}`),U(v,e(D).name),U(y,e(Y))}),at("click",l,()=>t.onSelect(e(D).id)),r(C,l)});var Ae=a(je,2);{var Ue=C=>{var D=Xa();r(C,D)},me=C=>{var D=Ya(),V=s(D);n(D),X(()=>U(V,`No matches for "${e(h)??""}"`)),r(C,D)};H(Ae,C=>{t.projects.length===0?C(Ue):e(w).length===0&&e(h)&&C(me,1)})}n(A),n(ie),X(()=>pt(fe,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${t.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"}`)),at("click",fe,()=>t.onSelect(null)),r(Pe,ie),tt()}wt(["click"]);var to=i('<p class="text-muted-foreground px-3 py-6 text-center text-xs"> </p>'),ro=i('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),ao=i('<button type="button"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div></button>'),oo=i('<div class="border-border relative border-b"><!> <input placeholder="Search by name or email" class="placeholder:text-muted-foreground h-9 w-full rounded-t-md bg-transparent pr-9 pl-9 text-sm outline-none"/> <button type="button" class="text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2 rounded p-1" aria-label="Cancel"><!></button></div> <div class="max-h-60 overflow-y-auto py-1"><!></div>',1),no=i('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),so=i('<div class="flex items-center gap-3 p-2.5"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!> <!></div>'),io=i('<div class="border-border bg-card rounded-md border"><!></div>');function lo(Pe,t){et(t,!0);let p=m(""),j=m(0),E=m(null),L=m("viewer"),B=m(void 0);const h=O(()=>{const S=e(p).trim().toLowerCase();return S?t.availableUsers.filter(A=>{const fe=(A.displayName??"").toLowerCase(),F=(A.email??"").toLowerCase();return fe.includes(S)||F.includes(S)}).slice(0,50):t.availableUsers.slice(0,50)});yt(()=>{e(h),o(j,0)});function w(S){return S.displayName??S.email??S.id.slice(0,8)}function q(S){o(E,S,!0),o(p,"")}async function ie(){e(E)&&(await t.onAdd(e(E).id,e(L)),o(E,null),o(L,"viewer"))}function M(S){if(!e(E))if(S.key==="ArrowDown")S.preventDefault(),o(j,Math.min(e(j)+1,e(h).length-1),!0),be();else if(S.key==="ArrowUp")S.preventDefault(),o(j,Math.max(e(j)-1,0),!0),be();else if(S.key==="Enter"){S.preventDefault();const A=e(h)[e(j)];A&&q(A)}else S.key==="Escape"&&(S.preventDefault(),t.onCancel())}function be(){e(B)?.querySelector(`[data-idx="${e(j)}"]`)?.scrollIntoView({block:"nearest"})}var $e=io(),oe=s($e);{var te=S=>{var A=oo(),fe=f(A),F=s(fe);Cr(F,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-3.5 w-3.5 -translate-y-1/2"});var re=a(F,2);St(re),Fr(re,!0);var pe=a(re,2),ve=s(pe);Pt(ve,{class:"h-3.5 w-3.5"}),n(pe),n(fe);var Ne=a(fe,2),je=s(Ne);{var Ae=me=>{var C=to(),D=s(C,!0);n(C),X(()=>U(D,t.availableUsers.length===0?"Everyone in this org is already on the project.":`No matches for "${e(p)}"`)),r(me,C)},Ue=me=>{var C=Ge(),D=f(C);mt(D,19,()=>e(h),V=>V.id,(V,Y,l)=>{var $=ao(),P=s($);{let I=O(()=>w(e(Y)));dr(P,{get name(){return e(I)},size:"sm"})}var c=a(P,2),v=s(c),g=s(v,!0);n(v);var y=a(v,2);{var W=I=>{var K=ro(),ee=s(K,!0);n(K),X(()=>U(ee,e(Y).email)),r(I,K)};H(y,I=>{e(Y).displayName&&e(Y).email&&I(W)})}n(c),n($),X(I=>{jt($,"data-idx",e(l)),pt($,1,`flex w-full items-center gap-3 px-3 py-2 text-left transition-colors ${e(j)===e(l)?"bg-accent text-accent-foreground":"hover:bg-muted/60"}`),U(g,I)},[()=>w(e(Y))]),at("click",$,()=>q(e(Y))),$r("mouseenter",$,()=>o(j,e(l),!0)),r(V,$)}),r(me,C)};H(je,me=>{e(h).length===0?me(Ae):me(Ue,-1)})}n(Ne),Qt(Ne,me=>o(B,me),()=>e(B)),at("keydown",re,M),pr(re,()=>e(p),me=>o(p,me)),at("click",pe,function(...me){t.onCancel?.apply(this,me)}),r(S,A)},we=S=>{var A=so(),fe=s(A);{let V=O(()=>w(e(E)));dr(fe,{get name(){return e(V)},size:"sm"})}var F=a(fe,2),re=s(F),pe=s(re,!0);n(re);var ve=a(re,2);{var Ne=V=>{var Y=no(),l=s(Y,!0);n(Y),X(()=>U(l,e(E).email)),r(V,Y)};H(ve,V=>{e(E).email&&e(E).displayName&&V(Ne)})}n(F);var je=a(F,2),Ae=s(je);Ae.value=Ae.__value="owner";var Ue=a(Ae);Ue.value=Ue.__value="editor";var me=a(Ue);me.value=me.__value="viewer",n(je);var C=a(je,2);Ie(C,{onclick:ie,get disabled(){return t.adding},size:"sm",children:(V,Y)=>{u();var l=T();X(()=>U(l,t.adding?"Adding…":"Add")),r(V,l)},$$slots:{default:!0}});var D=a(C,2);Ie(D,{onclick:()=>o(E,null),variant:"ghost",size:"icon",class:"text-muted-foreground h-8 w-8","aria-label":"Pick a different user",children:(V,Y)=>{Pt(V,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}}),n(A),X(V=>U(pe,V),[()=>w(e(E))]),Xt(je,()=>e(L),V=>o(L,V)),r(S,A)};H(oe,S=>{e(E)?S(we,-1):S(te)})}n($e),r(Pe,$e),tt()}wt(["keydown","click"]);var co=i("<!> <!>",1),vo=i('<!> Members <span class="text-muted-foreground ml-1 font-mono text-[11px]"> </span>',1),uo=i("<!> <!>",1),fo=i("<!> Delete project",1),po=i('<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <select id="proj-vis" class="border-input bg-background h-10 w-full rounded-md border px-3 text-sm"><option>Public — any authenticated user can solve</option><option>Org — any org member can solve</option><option>Private — only project members can solve</option></select></div> <div class="flex items-center justify-between pt-2"><!> <div class="flex gap-2"><!> <!></div></div>',1),mo=i('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),go=i('<div class="border-border flex items-center gap-3 border-b px-3 py-2.5 last:border-0"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div> <select class="border-input bg-background h-8 rounded-md border px-2 text-xs outline-none"><option>Owner</option><option>Editor</option><option>Viewer</option></select> <!></div>'),_o=i('<div class="border-border bg-card overflow-hidden rounded-md border"></div>'),ho=i("<!> Add member",1),xo=i("<!> <!>",1),bo=i("<!> <!> <!>",1),$o=i("<!> <!>",1);function yo(Pe,t){et(t,!0);let p=m(ot(t.project.name)),j=m(ot(t.project.description??"")),E=m(ot(t.project.visibility)),L=m(!1),B=m(!1),h=m(!1),w=m(null);function q(S){const A=t.users.find(fe=>fe.id===S);return A?.displayName??A?.email??S.slice(0,8)}function ie(S){return t.users.find(A=>A.id===S)?.email}const M=O(()=>{const S=new Set(t.project.members.map(A=>A.userId));return t.users.filter(A=>!S.has(A.id))});async function be(){o(L,!0);try{await t.onSave(t.project.id,{name:e(p),description:e(j),visibility:e(E)})}finally{o(L,!1)}}async function $e(S,A){o(h,!0);try{await t.onAddMember(t.project.id,S,A),o(B,!1)}finally{o(h,!1)}}async function oe(S){o(w,S,!0);try{await t.onRemoveMember(t.project.id,S)}finally{o(w,null)}}var te=Ge(),we=f(te);_(we,()=>Zt,(S,A)=>{A(S,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(fe,F)=>{var re=Ge(),pe=f(re);_(pe,()=>Yt,(ve,Ne)=>{Ne(ve,{class:"max-w-lg",children:(je,Ae)=>{var Ue=$o(),me=f(Ue);_(me,()=>Vt,(D,V)=>{V(D,{children:(Y,l)=>{var $=co(),P=f($);_(P,()=>Gt,(v,g)=>{g(v,{children:(y,W)=>{u();var I=T("Project settings");r(y,I)},$$slots:{default:!0}})});var c=a(P,2);_(c,()=>Bt,(v,g)=>{g(v,{children:(y,W)=>{u();var I=T("Manage this project's details and members.");r(y,I)},$$slots:{default:!0}})}),r(Y,$)},$$slots:{default:!0}})});var C=a(me,2);_(C,()=>kr,(D,V)=>{V(D,{value:"general",class:"mt-2",children:(Y,l)=>{var $=bo(),P=f($);_(P,()=>jr,(g,y)=>{y(g,{class:"grid w-full grid-cols-2",children:(W,I)=>{var K=uo(),ee=f(K);_(ee,()=>Mt,(le,ne)=>{ne(le,{value:"general",children:(xe,de)=>{u();var R=T("General");r(xe,R)},$$slots:{default:!0}})});var he=a(ee,2);_(he,()=>Mt,(le,ne)=>{ne(le,{value:"members",class:"gap-1.5",children:(xe,de)=>{var R=vo(),z=f(R);xr(z,{class:"h-3.5 w-3.5"});var N=a(z,2),k=s(N,!0);n(N),X(()=>U(k,t.project.members.length)),r(xe,R)},$$slots:{default:!0}})}),r(W,K)},$$slots:{default:!0}})});var c=a(P,2);_(c,()=>zt,(g,y)=>{y(g,{value:"general",class:"mt-4 space-y-4",children:(W,I)=>{var K=po(),ee=f(K),he=s(ee);Qe(he,{for:"proj-name",children:(G,Z)=>{u();var ce=T("Name");r(G,ce)},$$slots:{default:!0}});var le=a(he,2);ft(le,{id:"proj-name",get value(){return e(p)},set value(G){o(p,G,!0)}}),n(ee);var ne=a(ee,2),xe=s(ne);Qe(xe,{for:"proj-desc",children:(G,Z)=>{u();var ce=T("Description");r(G,ce)},$$slots:{default:!0}});var de=a(xe,2);er(de,{id:"proj-desc",rows:2,get value(){return e(j)},set value(G){o(j,G,!0)}}),n(ne);var R=a(ne,2),z=s(R);Qe(z,{for:"proj-vis",children:(G,Z)=>{u();var ce=T("Visibility");r(G,ce)},$$slots:{default:!0}});var N=a(z,2),k=s(N);k.value=k.__value="public";var Q=a(k);Q.value=Q.__value="org";var se=a(Q);se.value=se.__value="private",n(N),n(R);var ge=a(R,2),ae=s(ge);Ie(ae,{onclick:()=>t.onDelete(t.project.id),variant:"ghost",size:"sm",class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(G,Z)=>{var ce=fo(),J=f(ce);tr(J,{class:"h-3.5 w-3.5"}),u(),r(G,ce)},$$slots:{default:!0}});var ue=a(ae,2),ke=s(ue);Ie(ke,{onclick:()=>t.onOpenChange(!1),variant:"outline",size:"sm",children:(G,Z)=>{u();var ce=T("Cancel");r(G,ce)},$$slots:{default:!0}});var Ve=a(ke,2);Ie(Ve,{onclick:be,get disabled(){return e(L)},size:"sm",children:(G,Z)=>{u();var ce=T();X(()=>U(ce,e(L)?"Saving…":"Save")),r(G,ce)},$$slots:{default:!0}}),n(ue),n(ge),Xt(N,()=>e(E),G=>o(E,G)),r(W,K)},$$slots:{default:!0}})});var v=a(c,2);_(v,()=>zt,(g,y)=>{y(g,{value:"members",class:"mt-4 space-y-3",children:(W,I)=>{var K=xo(),ee=f(K);{var he=R=>{mr(R,{size:"sm",get icon(){return xr},title:"No members yet",description:"Add members to control who can edit this project."})},le=R=>{var z=_o();mt(z,21,()=>t.project.members,N=>`${N.projectId}:${N.userId}`,(N,k)=>{var Q=go(),se=s(Q);{let b=O(()=>q(e(k).userId));dr(se,{get name(){return e(b)},size:"sm"})}var ge=a(se,2),ae=s(ge),ue=s(ae,!0);n(ae);var ke=a(ae,2);{var Ve=b=>{var ye=mo(),Re=s(ye,!0);n(ye),X(Oe=>U(Re,Oe),[()=>ie(e(k).userId)]),r(b,ye)},G=O(()=>ie(e(k).userId)&&ie(e(k).userId)!==q(e(k).userId));H(ke,b=>{e(G)&&b(Ve)})}n(ge);var Z=a(ge,2),ce=s(Z);ce.value=ce.__value="owner";var J=a(ce);J.value=J.__value="editor";var Te=a(J);Te.value=Te.__value="viewer",n(Z);var d;yr(Z);var x=a(Z,2);{let b=O(()=>e(w)===e(k).userId);Ie(x,{onclick:()=>oe(e(k).userId),get disabled(){return e(b)},variant:"ghost",size:"icon",class:"text-muted-foreground hover:text-destructive h-7 w-7",children:(ye,Re)=>{Pt(ye,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}n(Q),X(b=>{U(ue,b),d!==(d=e(k).role)&&(Z.value=(Z.__value=e(k).role)??"",wr(Z,e(k).role))},[()=>q(e(k).userId)]),at("change",Z,b=>t.onUpdateMemberRole(t.project.id,e(k).userId,b.target.value)),r(N,Q)}),n(z),r(R,z)};H(ee,R=>{t.project.members.length===0&&!e(B)?R(he):t.project.members.length>0&&R(le,1)})}var ne=a(ee,2);{var xe=R=>{lo(R,{get availableUsers(){return e(M)},get adding(){return e(h)},onAdd:$e,onCancel:()=>o(B,!1)})},de=R=>{Ie(R,{onclick:()=>o(B,!0),variant:"outline",size:"sm",class:"gap-1.5",children:(z,N)=>{var k=ho(),Q=f(k);Hr(Q,{class:"h-3.5 w-3.5"}),u(),r(z,k)},$$slots:{default:!0}})};H(ne,R=>{e(B)?R(xe):R(de,-1)})}r(W,K)},$$slots:{default:!0}})}),r(Y,$)},$$slots:{default:!0}})}),r(je,Ue)},$$slots:{default:!0}})}),r(fe,re)},$$slots:{default:!0}})}),r(Pe,te),tt()}wt(["change"]);var wo=i("<span><span></span> </span>");function Ar(Pe,t){et(t,!0);let p=Xe(t,"class",3,"");var j=wo(),E=s(j),L=a(E);n(j),X((B,h)=>{pt(j,1,`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[11px] tracking-wide ${B??""} ${p()??""}`),pt(E,1,`h-1.5 w-1.5 rounded-full ${h??""}`),U(L,` ${t.status??""}`)},[()=>Wr(t.status),()=>Kr(t.status)]),r(Pe,j),tt()}var Po=i('<div class="flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><img alt="" class="h-full w-full object-cover"/></div>'),ko=i('<div class="tool-cover-fallback flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-md"><span class="text-foreground/40 text-base font-semibold"> </span></div>'),jo=i('<span class="text-muted-foreground ml-2 text-[12px]"> </span>'),So=i('<div><!> <span class="min-w-0"><span class="font-semibold"> </span> <!></span> <span class="text-muted-foreground"> </span> <span><!></span> <span class="text-muted-foreground font-mono text-[12px]"> </span> <span class="text-right font-mono text-[12px]"> </span> <span class="flex justify-end"><button type="button" class="text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1 transition-colors"><!></button></span></div>'),Co=i('<div class="border-border bg-card overflow-hidden rounded-xl border"><div class="border-border bg-muted/50 text-muted-foreground grid border-b px-4 py-2.5 font-mono text-[10.5px] tracking-widest uppercase"><span></span><span>Definition</span><span>Project</span><span>Status</span><span>Updated</span> <span class="text-right">Runs</span><span></span></div> <!></div>');function Do(Pe,t){et(t,!0);const p="grid-template-columns: 40px 1.6fr 0.9fr 0.8fr 0.7fr 0.6fr 36px";function j(h){return t.projects.find(w=>w.id===h)?.name??""}var E=Co(),L=s(E);nr(L,p);var B=a(L,2);mt(B,19,()=>t.records,h=>h.guid,(h,w,q)=>{var ie=So();nr(ie,p);var M=s(ie);{var be=D=>{var V=Po(),Y=s(V);n(V),X(()=>jt(Y,"src",e(w).coverImage)),r(D,V)},$e=D=>{const V=O(()=>Xr(e(w).guid));var Y=ko();let l;var $=s(Y),P=s($,!0);n($),n(Y),X(c=>{l=nr(Y,"",l,{"--tool-h1":e(V).h1,"--tool-h2":e(V).h2}),U(P,c)},[()=>Qr(e(w).displayName)]),r(D,Y)};H(M,D=>{e(w).coverImage?D(be):D($e,-1)})}var oe=a(M,2),te=s(oe),we=s(te,!0);n(te);var S=a(te,2);{var A=D=>{var V=jo(),Y=s(V);n(V),X(l=>U(Y,`${l??""}${e(w).description.length>60?"…":""}`),[()=>e(w).description.slice(0,60)]),r(D,V)};H(S,D=>{e(w).description&&D(A)})}n(oe);var fe=a(oe,2),F=s(fe,!0);n(fe);var re=a(fe,2),pe=s(re);Ar(pe,{get status(){return e(w).status}}),n(re);var ve=a(re,2),Ne=s(ve,!0);n(ve);var je=a(ve,2),Ae=s(je,!0);n(je);var Ue=a(je,2),me=s(Ue),C=s(me);ha(C,{class:"h-4 w-4"}),n(me),n(Ue),n(ie),X((D,V,Y)=>{pt(ie,1,`grid items-center gap-4 px-4 py-3 text-[13px] ${e(q)<t.records.length-1?"border-border border-b":""}`),U(we,e(w).displayName),U(F,D),U(Ne,V),U(Ae,Y),jt(me,"aria-label",`Open ${e(w).displayName??""}`)},[()=>j(e(w).projectId),()=>Dr(e(w).updatedAt),()=>e(w).solveCount.toLocaleString()]),at("click",me,()=>t.onOpen(e(w))),r(h,ie)}),n(E),r(Pe,E),tt()}wt(["click"]);var Io=i('<p class="text-muted-foreground mt-1 text-sm"> </p>'),No=i('<img class="border-border aspect-4/3 w-full rounded-lg border object-cover"/>'),To=i('<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>'),Ao=i("<!> Run",1),Uo=i("<!> <!>",1),Eo=i('<div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Category</p> <p class="mt-1 text-sm"> </p></div>'),Fo=i('<span class="bg-muted text-muted-foreground rounded px-2 py-0.5 font-mono text-[11px]"> </span>'),Oo=i('<div><!> <div class="flex flex-wrap gap-1.5"></div></div>'),Lo=i('<div class="border-border flex items-start justify-between gap-4 border-b p-6"><div class="min-w-0"><div class="flex items-center gap-2"><!> <span class="text-muted-foreground font-mono text-[11px] tracking-wide uppercase"> </span></div> <h2 class="mt-2.5 text-xl font-semibold tracking-tight"> </h2> <!></div> <!></div> <div class="flex-1 space-y-5 overflow-y-auto p-6"><!> <div class="flex gap-2"><!> <!></div> <!> <div class="grid grid-cols-2 gap-x-4 gap-y-3"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Updated</p> <p class="mt-1 text-sm"> </p></div> <div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Runs</p> <p class="mt-1 text-sm"> </p></div> <!></div> <!></div>',1);function Ro(Pe,t){et(t,!0),Ir(Pe,{get onClose(){return t.onClose},children:(p,j)=>{var E=Lo(),L=f(E),B=s(L),h=s(B),w=s(h);Ar(w,{get status(){return t.record.status}});var q=a(w,2),ie=s(q,!0);n(q),n(h);var M=a(h,2),be=s(M,!0);n(M);var $e=a(M,2);{var oe=c=>{var v=Io(),g=s(v,!0);n(v),X(()=>U(g,t.record.description)),r(c,v)};H($e,c=>{t.record.description&&c(oe)})}n(B);var te=a(B,2);Ie(te,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"mt-0.5 h-8 w-8 shrink-0",children:(c,v)=>{Pt(c,{class:"h-4 w-4"})},$$slots:{default:!0}}),n(L);var we=a(L,2),S=s(we);{var A=c=>{var v=No();X(()=>{jt(v,"src",t.record.coverImage),jt(v,"alt",t.record.displayName)}),r(c,v)},fe=c=>{var v=To();r(c,v)};H(S,c=>{t.record.coverImage?c(A):c(fe,-1)})}var F=a(S,2),re=s(F);Ie(re,{class:"flex-1",onclick:()=>t.onOpenRunner(t.record.guid,"live"),children:(c,v)=>{var g=Ao(),y=f(g);lr(y,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(c,g)},$$slots:{default:!0}});var pe=a(re,2);{var ve=c=>{var v=Uo(),g=f(v);{var y=I=>{Ie(I,{variant:"outline",size:"icon",onclick:()=>t.onShare(t.record),title:"Share links",children:(K,ee)=>{ba(K,{class:"h-4 w-4"})},$$slots:{default:!0}})};H(g,I=>{t.showShare&&I(y)})}var W=a(g,2);Ie(W,{variant:"outline",onclick:()=>t.onEdit(t.record),children:(I,K)=>{u();var ee=T("Edit");r(I,ee)},$$slots:{default:!0}}),r(c,v)};H(pe,c=>{t.canEdit&&c(ve)})}n(F);var Ne=a(F,2);ur(Ne,{});var je=a(Ne,2),Ae=s(je),Ue=a(s(Ae),2),me=s(Ue);n(Ue),n(Ae);var C=a(Ae,2),D=a(s(C),2),V=s(D,!0);n(D),n(C);var Y=a(C,2);{var l=c=>{var v=Eo(),g=a(s(v),2),y=s(g,!0);n(g),n(v),X(()=>U(y,t.record.category)),r(c,v)};H(Y,c=>{t.record.category&&c(l)})}n(je);var $=a(je,2);{var P=c=>{var v=Oo(),g=s(v);ur(g,{class:"mb-4"});var y=a(g,2);mt(y,20,()=>t.record.tags,W=>W,(W,I)=>{var K=Fo(),ee=s(K);n(K),X(()=>U(ee,`#${I??""}`)),r(W,K)}),n(y),n(v),r(c,v)};H($,c=>{t.record.tags?.length&&c(P)})}n(we),X((c,v)=>{U(ie,t.projectName),U(be,t.record.displayName),U(me,`${c??""} ago`),U(V,v)},[()=>Dr(t.record.updatedAt),()=>t.record.solveCount.toLocaleString()]),r(p,E)},$$slots:{default:!0}}),tt()}var Mo=i(`The upload becomes <strong> </strong> as a draft. The live channel stays unchanged
3
- until you publish.`,1),zo=i("<!> <!>",1),Vo=i('<p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs">Click to choose a different file</p>',1),Go=i('<p class="text-sm font-medium">Pick a .gh or .ghx file</p> <p class="text-muted-foreground text-xs"> </p>',1),Bo=i('What changed? <span class="text-muted-foreground font-normal">(optional)</span>',1),qo=i("<!> ",1),Jo=i("<!> <!>",1),Ho=i('<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <label for="upload-file" class="border-border hover:bg-accent/30 flex cursor-pointer items-center gap-3 rounded-md border-2 border-dashed px-4 py-5 transition-colors"><!> <div class="min-w-0 flex-1"><!></div></label> <input id="upload-file" type="file" accept=".gh,.ghx" class="hidden"/></div> <div class="space-y-1.5"><!> <!></div></div> <!>',1);function Wo(Pe,t){et(t,!0);let p=m(void 0),j=m(null),E=m(""),L=m(!1);yt(()=>{t.open||B()});function B(){o(j,null),o(E,""),o(L,!1),e(p)&&(e(p).value="")}function h(){o(j,e(p)?.files?.[0]?.name??null,!0)}async function w(){if(!e(p)?.files?.length)return;o(L,!0);const M=new FormData;M.append("file",e(p).files[0]),e(E).trim()&&M.append("changeNote",e(E).trim());try{const be=await fetch(`/api/definitions/${t.definitionGuid}`,{method:"POST",body:M});if(be.ok){const $e=await be.json();Ce.success(`v${$e.version?.versionNumber??t.nextVersionNumber} uploaded as draft`),t.onUploaded(),await ct(),t.onOpenChange(!1)}else{const $e=await be.json().catch(()=>({}));Ce.error($e.message||$e.error||"Upload failed")}}catch{Ce.error("Upload failed")}finally{o(L,!1)}}var q=Ge(),ie=f(q);_(ie,()=>Zt,(M,be)=>{be(M,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:($e,oe)=>{var te=Ge(),we=f(te);_(we,()=>Yt,(S,A)=>{A(S,{class:"max-w-md",children:(fe,F)=>{var re=Ho(),pe=f(re);_(pe,()=>Vt,(v,g)=>{g(v,{children:(y,W)=>{var I=zo(),K=f(I);_(K,()=>Gt,(he,le)=>{le(he,{children:(ne,xe)=>{u();var de=T("Upload new version");r(ne,de)},$$slots:{default:!0}})});var ee=a(K,2);_(ee,()=>Bt,(he,le)=>{le(he,{children:(ne,xe)=>{u();var de=Mo(),R=a(f(de)),z=s(R);n(R),u(),X(()=>U(z,`v${t.nextVersionNumber??""}`)),r(ne,de)},$$slots:{default:!0}})}),r(y,I)},$$slots:{default:!0}})});var ve=a(pe,2),Ne=s(ve),je=s(Ne);Qe(je,{for:"upload-file",children:(v,g)=>{u();var y=T("Grasshopper file");r(v,y)},$$slots:{default:!0}});var Ae=a(je,2),Ue=s(Ae);Jr(Ue,{class:"text-muted-foreground h-5 w-5 shrink-0"});var me=a(Ue,2),C=s(me);{var D=v=>{var g=Vo(),y=f(g),W=s(y,!0);n(y),u(2),X(()=>U(W,e(j))),r(v,g)},V=v=>{var g=Go(),y=a(f(g),2),W=s(y);n(y),X(()=>U(W,`Becomes v${t.nextVersionNumber??""} draft`)),r(v,g)};H(C,v=>{e(j)?v(D):v(V,-1)})}n(me),n(Ae);var Y=a(Ae,2);Qt(Y,v=>o(p,v),()=>e(p)),n(Ne);var l=a(Ne,2),$=s(l);Qe($,{for:"upload-note",children:(v,g)=>{u();var y=Bo();u(),r(v,y)},$$slots:{default:!0}});var P=a($,2);er(P,{id:"upload-note",rows:2,maxlength:1e3,placeholder:"e.g. Fixed wall thickness calculation",get value(){return e(E)},set value(v){o(E,v,!0)}}),n(l),n(ve);var c=a(ve,2);_(c,()=>Wt,(v,g)=>{g(v,{class:"mt-4",children:(y,W)=>{var I=Jo(),K=f(I);Ie(K,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(he,le)=>{u();var ne=T("Cancel");r(he,ne)},$$slots:{default:!0}});var ee=a(K,2);{let he=O(()=>e(L)||!e(j));Ie(ee,{onclick:w,get disabled(){return e(he)},children:(le,ne)=>{var xe=Ge(),de=f(xe);{var R=N=>{var k=T("Uploading…");r(N,k)},z=N=>{var k=qo(),Q=f(k);fr(Q,{class:"mr-1.5 h-3.5 w-3.5"});var se=a(Q);X(()=>U(se,` Upload v${t.nextVersionNumber??""}`)),r(N,k)};H(de,N=>{e(L)?N(R):N(z,-1)})}r(le,xe)},$$slots:{default:!0}})}r(y,I)},$$slots:{default:!0}})}),at("change",Y,h),r(fe,re)},$$slots:{default:!0}})}),r($e,te)},$$slots:{default:!0}})}),r(Pe,q),tt()}wt(["change"]);var Ko=i('<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>'),Qo=i('<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>'),Xo=i('<span class="text-muted-foreground">· newer version uploaded</span>'),Yo=i('<span class="text-muted-foreground">· up to date</span>'),Zo=i("<span><strong>Live now</strong> </span> <!>",1),en=i('<span class="text-muted-foreground">Not yet published — promote a draft to go live</span>'),tn=i("<!> ",1),rn=i('<div class="border-border bg-muted/30 flex items-center justify-between gap-3 rounded-md border px-4 py-3"><div class="flex min-w-0 items-center gap-2 text-sm"><span class="bg-success h-2 w-2 shrink-0 rounded-full"></span> <!></div> <!></div>'),an=i("<!> Upload new version",1),on=i('<span class="bg-success/10 text-success rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">live</span>'),nn=i('<span class="bg-warning/10 text-warning rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">draft</span>'),sn=i('<p class="mt-1 truncate text-sm"> </p>'),ln=i('<p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p>'),dn=i("<!> Run",1),cn=i("<!> Run",1),vn=i("<!> <!>",1),un=i('<div><div class="flex items-start justify-between gap-3"><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-2"><span class="font-mono text-sm font-semibold"> </span> <!> <!></div> <!> <p class="text-muted-foreground mt-1 text-xs"> </p></div> <div class="flex shrink-0 items-center gap-1"><!> <!></div></div></div>'),fn=i('<div class="space-y-2"></div>'),pn=i("<!> <!>",1),mn=i("<!> <!>",1),gn=i("<!> <!>",1),_n=i("<!> <!>",1),hn=i("<!> <!>",1),xn=i("<!> <!>",1),bn=i(`<div class="space-y-4"><!> <div class="flex items-center justify-between gap-3"><div><h3 class="text-base font-semibold tracking-tight">Versions</h3> <p class="text-muted-foreground mt-1 text-xs">Each upload becomes a version. The live version is what runs when someone uses this
4
- definition.</p></div> <!></div> <!></div> <!> <!> <!>`,1);function $n(Pe,t){et(t,!0);let p=m(ot([])),j=m(null),E=m(null),L=m(!0),B=m(!1),h=m(null),w=m(!1),q=m(!1),ie=m(null),M=m(null);yt(()=>{t.definitionGuid,be()});async function be(){o(L,!0);try{const l=await fetch(`/api/definitions/${t.definitionGuid}/versions`);if(!l.ok)throw new Error(`${l.status}`);const $=await l.json();o(p,$.versions,!0),o(j,$.liveVersionId,!0),o(E,$.draftVersionId,!0)}catch{Ce.error("Failed to load versions")}finally{o(L,!1)}}const $e=O(()=>e(p).find(l=>l.id===e(j))??null),oe=O(()=>e(p).find(l=>l.id===e(E))??null),te=O(()=>e(oe)!==null&&e($e)!==null&&e(oe).id!==e($e).id),we=O(()=>(e(p)[0]?.versionNumber??0)+1);function S(l){const $=Date.now()-new Date(l).getTime(),P=Math.floor($/6e4);if(P<1)return"Just now";if(P<60)return`${P}m ago`;const c=Math.floor(P/60);if(c<24)return`${c}h ago`;const v=Math.floor(c/24);return v===1?"Yesterday":v<30?`${v}d ago`:new Date(l).toLocaleDateString()}async function A(l){o(q,!0);try{const $=l?{versionId:l.id}:{},P=await fetch(`/api/definitions/${t.definitionGuid}/publish`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify($)});if(!P.ok){const v=await P.json().catch(()=>({}));Ce.error(v.message||v.error||"Failed to publish");return}const c=await P.json();Ce.success(`v${c.version?.versionNumber??"?"} is now live`),await be(),await ct()}catch{Ce.error("Failed to publish")}finally{o(q,!1),o(h,null),o(w,!1)}}async function fe(l){o(M,l.id,!0);try{const $=await fetch(`/api/definitions/${t.definitionGuid}/versions/${l.id}`,{method:"DELETE"});if(!$.ok){const P=await $.json().catch(()=>({}));Ce.error(P.message||P.error||"Failed to delete version. Live or draft versions cannot be deleted.");return}Ce.success(`v${l.versionNumber} deleted`),await be(),await ct()}catch{Ce.error("Failed to delete version")}finally{o(M,null),o(ie,null)}}var F=bn(),re=f(F),pe=s(re);{var ve=l=>{var $=Ko();r(l,$)},Ne=l=>{var $=Qo();r(l,$)},je=l=>{var $=rn(),P=s($),c=a(s(P),2);{var v=I=>{var K=Zo(),ee=f(K),he=a(s(ee));n(ee);var le=a(ee,2);{var ne=de=>{var R=Xo();r(de,R)},xe=de=>{var R=Yo();r(de,R)};H(le,de=>{e(te)&&e(oe)?de(ne):de(xe,-1)})}X(()=>U(he,` — v${e($e).versionNumber??""}`)),r(I,K)},g=I=>{var K=en();r(I,K)};H(c,I=>{e($e)?I(v):I(g,-1)})}n(P);var y=a(P,2);{var W=I=>{Ie(I,{size:"sm",onclick:()=>A(null),get disabled(){return e(q)},class:"shrink-0",children:(K,ee)=>{var he=tn(),le=f(he);_a(le,{class:"mr-1.5 h-3.5 w-3.5"});var ne=a(le);X(()=>U(ne,` Publish v${e(oe).versionNumber??""}`)),r(K,he)},$$slots:{default:!0}})};H(y,I=>{e(te)&&e(oe)&&I(W)})}n($),r(l,$)};H(pe,l=>{e(L)?l(ve):e(p).length===0?l(Ne,1):l(je,-1)})}var Ae=a(pe,2),Ue=a(s(Ae),2);Ie(Ue,{variant:"outline",size:"sm",onclick:()=>o(B,!0),class:"shrink-0",children:(l,$)=>{var P=an(),c=f(P);fr(c,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(l,P)},$$slots:{default:!0}}),n(Ae);var me=a(Ae,2);{var C=l=>{var $=fn();mt($,21,()=>e(p),P=>P.id,(P,c)=>{const v=O(()=>e(c).id===e(j)),g=O(()=>e(c).id===e(E)&&!e(v));var y=un(),W=s(y),I=s(W),K=s(I),ee=s(K),he=s(ee);n(ee);var le=a(ee,2);{var ne=G=>{var Z=on();r(G,Z)};H(le,G=>{e(v)&&G(ne)})}var xe=a(le,2);{var de=G=>{var Z=nn();r(G,Z)};H(xe,G=>{e(g)&&G(de)})}n(K);var R=a(K,2);{var z=G=>{var Z=sn(),ce=s(Z,!0);n(Z),X(()=>U(ce,e(c).changeNote)),r(G,Z)},N=G=>{var Z=ln(),ce=s(Z,!0);n(Z),X(()=>U(ce,e(c).originalFilename)),r(G,Z)};H(R,G=>{e(c).changeNote?G(z):e(c).originalFilename&&G(N,1)})}var k=a(R,2),Q=s(k);n(k),n(I);var se=a(I,2),ge=s(se);{var ae=G=>{Ie(G,{size:"sm",variant:"outline",onclick:()=>t.onOpenRunner(t.definitionGuid,"live"),children:(Z,ce)=>{var J=dn(),Te=f(J);lr(Te,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(Z,J)},$$slots:{default:!0}})},ue=G=>{var Z=vn(),ce=f(Z);{var J=d=>{Ie(d,{size:"sm",variant:"ghost",onclick:()=>t.onOpenRunner(t.definitionGuid,"draft"),children:(x,b)=>{var ye=cn(),Re=f(ye);lr(Re,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(x,ye)},$$slots:{default:!0}})};H(ce,d=>{e(g)&&d(J)})}var Te=a(ce,2);Ie(Te,{size:"sm",variant:"outline",get disabled(){return e(q)},onclick:()=>{o(h,e(c),!0),o(w,!0)},children:(d,x)=>{u();var b=T("Make live");r(d,b)},$$slots:{default:!0}}),r(G,Z)};H(ge,G=>{e(v)?G(ae):G(ue,-1)})}var ke=a(ge,2);{var Ve=G=>{{let Z=O(()=>e(M)===e(c).id);Ie(G,{size:"sm",variant:"ghost",onclick:()=>o(ie,e(c),!0),get disabled(){return e(Z)},class:"text-muted-foreground hover:text-destructive h-8 w-8 p-0","aria-label":"Delete version",children:(ce,J)=>{tr(ce,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}};H(ke,G=>{!e(v)&&!e(g)&&G(Ve)})}n(se),n(W),n(y),X(G=>{pt(y,1,`rounded-md border p-3 transition-colors ${e(v)?"border-primary/40 bg-accent/40":"border-border bg-card hover:bg-muted/30"}`),U(he,`v${e(c).versionNumber??""}`),U(Q,`Uploaded ${G??""}`)},[()=>S(e(c).uploadedAt)]),r(P,y)}),n($),r(l,$)};H(me,l=>{!e(L)&&e(p).length>0&&l(C)})}n(re);var D=a(re,2);Wo(D,{get definitionGuid(){return t.definitionGuid},get nextVersionNumber(){return e(we)},get open(){return e(B)},onOpenChange:l=>o(B,l,!0),onUploaded:be});var V=a(D,2);_(V,()=>Ct,(l,$)=>{$(l,{get open(){return e(w)},onOpenChange:P=>{P||(o(h,null),o(w,!1))},children:(P,c)=>{var v=Ge(),g=f(v);_(g,()=>Dt,(y,W)=>{W(y,{children:(I,K)=>{var ee=gn(),he=f(ee);_(he,()=>It,(ne,xe)=>{xe(ne,{children:(de,R)=>{var z=pn(),N=f(z);_(N,()=>Nt,(Q,se)=>{se(Q,{children:(ge,ae)=>{var ue=Ge(),ke=f(ue);{var Ve=Z=>{var ce=T();X(()=>U(ce,`Make v${e(h).versionNumber??""} live?`)),r(Z,ce)},G=Z=>{var ce=T("Publish current draft?");r(Z,ce)};H(ke,Z=>{e(h)?Z(Ve):Z(G,-1)})}r(ge,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Tt,(Q,se)=>{se(Q,{children:(ge,ae)=>{var ue=Ge(),ke=f(ue);{var Ve=ce=>{var J=T();X(()=>U(J,`Rolling back to an older version. Anyone running this definition will immediately get v${e(h).versionNumber??""}
5
- instead of v${e($e).versionNumber??""}.`)),r(ce,J)},G=ce=>{var J=T();X(()=>U(J,`Anyone running this definition will immediately get v${e(h).versionNumber??""}
6
- instead of v${e($e)?.versionNumber??"—"??""}.`)),r(ce,J)},Z=ce=>{var J=T(`Promotes the current draft to live. Everyone running this definition gets the new version
7
- immediately.`);r(ce,J)};H(ke,ce=>{e(h)&&e($e)&&e(h).versionNumber<e($e).versionNumber?ce(Ve):e(h)?ce(G,1):ce(Z,-1)})}r(ge,ue)},$$slots:{default:!0}})}),r(de,z)},$$slots:{default:!0}})});var le=a(he,2);_(le,()=>At,(ne,xe)=>{xe(ne,{children:(de,R)=>{var z=mn(),N=f(z);_(N,()=>Ut,(Q,se)=>{se(Q,{children:(ge,ae)=>{u();var ue=T("Cancel");r(ge,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Et,(Q,se)=>{se(Q,{onclick:()=>A(e(h)),get disabled(){return e(q)},children:(ge,ae)=>{u();var ue=T();X(()=>U(ue,e(q)?"Publishing…":"Publish")),r(ge,ue)},$$slots:{default:!0}})}),r(de,z)},$$slots:{default:!0}})}),r(I,ee)},$$slots:{default:!0}})}),r(P,v)},$$slots:{default:!0}})});var Y=a(V,2);{let l=O(()=>!!e(ie));_(Y,()=>Ct,($,P)=>{P($,{get open(){return e(l)},onOpenChange:c=>!c&&o(ie,null),children:(c,v)=>{var g=Ge(),y=f(g);_(y,()=>Dt,(W,I)=>{I(W,{children:(K,ee)=>{var he=xn(),le=f(he);_(le,()=>It,(xe,de)=>{de(xe,{children:(R,z)=>{var N=_n(),k=f(N);_(k,()=>Nt,(se,ge)=>{ge(se,{children:(ae,ue)=>{u();var ke=T();X(()=>U(ke,`Delete v${e(ie)?.versionNumber??""}?`)),r(ae,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Tt,(se,ge)=>{ge(se,{children:(ae,ue)=>{u();var ke=T(`This permanently removes the version's file. The live and draft versions cannot be deleted —
8
- repoint first.`);r(ae,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})});var ne=a(le,2);_(ne,()=>At,(xe,de)=>{de(xe,{children:(R,z)=>{var N=hn(),k=f(N);_(k,()=>Ut,(se,ge)=>{ge(se,{children:(ae,ue)=>{u();var ke=T("Cancel");r(ae,ke)},$$slots:{default:!0}})});var Q=a(k,2);{let se=O(()=>!!e(M));_(Q,()=>Et,(ge,ae)=>{ae(ge,{onclick:()=>e(ie)&&fe(e(ie)),get disabled(){return e(se)},children:(ue,ke)=>{u();var Ve=T();X(()=>U(Ve,e(M)?"Deleting…":"Delete")),r(ue,Ve)},$$slots:{default:!0}})})}r(R,N)},$$slots:{default:!0}})}),r(K,he)},$$slots:{default:!0}})}),r(c,g)},$$slots:{default:!0}})})}r(Pe,F),tt()}var yn=i("<!> <!>",1),wn=i('<p class="text-warning flex items-start gap-1.5 text-xs"><!> Draft links expose the unpublished version. Use only for reviewers.</p>'),Pn=i('<div class="mt-2 ml-6"><!></div>'),kn=i('<div class="mt-2 ml-6"><input type="datetime-local" class="border-input bg-background h-8 rounded-md border px-2 text-sm"/></div>'),jn=i("<!> <!>",1),Sn=i(`<!> <div class="mt-4 space-y-4"><div class="space-y-1.5"><!> <select id="sl-channel" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>Live — recipients see the published version</option><option>Draft — recipients see the unpublished version</option></select> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm font-medium">Allow solve</p> <p class="text-muted-foreground mt-0.5 text-xs">When off, recipients can view the schema and parameters but can't run solves. When
9
- on, every solve counts against the cap.</p></div></label></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Cap total solves</p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label> <!></div> <div class="border-border rounded-md border p-3"><label class="flex cursor-pointer items-start gap-3"><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0 flex-1"><p class="text-sm font-medium">Set expiry</p> <p class="text-muted-foreground mt-0.5 text-xs">The link stops working after this date. Off = never expires.</p></div></label> <!></div></div> <!>`,1),Cn=i("<!> <!>",1),Dn=i("<!> Copied",1),In=i("<!> Copy",1),Nn=i(`<!> <div class="mt-4 space-y-3"><div class="border-warning/40 bg-warning/5 rounded-md border p-3"><p class="text-warning flex items-start gap-2 text-xs"><!> <span>This URL grants the configured access to anyone who receives it. Treat it like a
10
- password — revoke it immediately if it's compromised.</span></p></div> <div class="border-border bg-muted/40 rounded-md border p-3"><p class="text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase">Share URL</p> <div class="flex items-start gap-2"><code class="bg-background min-w-0 flex-1 rounded p-2 font-mono text-xs break-all"> </code> <!></div></div></div> <!>`,1);function Tn(Pe,t){et(t,!0);let p=m("live"),j=m(!0),E=m(""),L=m(!1),B=m(""),h=m(!0),w=m(ot(Rt)),q=m(!1),ie=m(null),M=m(null),be=m(!1);yt(()=>{t.open||$e()});function $e(){o(p,"live"),o(j,!0),o(E,""),o(L,!1),o(B,""),o(h,!0),o(w,Rt,!0),o(ie,null),o(M,null),o(be,!1)}async function oe(){if(!(e(h)&&e(w)>Rt&&!confirm(`You're raising the cap above the default of ${Rt}. An uncapped or high-cap link is a denial-of-wallet vector if leaked. Continue?`))&&!(!e(h)&&!confirm("Removing the cap means an unlimited number of solves on this link. Recommended only for trusted recipients. Continue?"))){o(q,!0);try{const A={channel:e(p),allowSolve:e(j),...e(E).trim()?{name:e(E).trim()}:{},maxSolves:e(h)?e(w):null,...e(L)&&e(B)?{expiresAt:new Date(e(B)).toISOString()}:{}},fe=await fetch(`/api/definitions/${t.definitionGuid}/share-links`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)});if(!fe.ok){const re=await fe.json().catch(()=>({}));Ce.error(re.message||re.error||"Failed to mint share link");return}const F=await fe.json();o(ie,F.token,!0),o(M,`${window.location.origin}/library/${t.definitionGuid}?token=${F.token}`),t.onMinted()}catch{Ce.error("Failed to mint share link")}finally{o(q,!1)}}}async function te(){if(e(M))try{await navigator.clipboard.writeText(e(M)),o(be,!0),setTimeout(()=>o(be,!1),2e3)}catch{Ce.error("Could not copy to clipboard")}}var we=Ge(),S=f(we);_(S,()=>Zt,(A,fe)=>{fe(A,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(F,re)=>{var pe=Ge(),ve=f(pe);_(ve,()=>Yt,(Ne,je)=>{je(Ne,{class:"max-w-lg",children:(Ae,Ue)=>{var me=Ge(),C=f(me);{var D=Y=>{var l=Sn(),$=f(l);_($,()=>Vt,(J,Te)=>{Te(J,{children:(d,x)=>{var b=yn(),ye=f(b);_(ye,()=>Gt,(Oe,ze)=>{ze(Oe,{children:(Je,rt)=>{u();var He=T("New share link");r(Je,He)},$$slots:{default:!0}})});var Re=a(ye,2);_(Re,()=>Bt,(Oe,ze)=>{ze(Oe,{children:(Je,rt)=>{u();var He=T(`Anyone with the link gets the access you configure here. Caps and expiry are the
11
- load-bearing protection — they assume the URL will eventually leak.`);r(Je,He)},$$slots:{default:!0}})}),r(d,b)},$$slots:{default:!0}})});var P=a($,2),c=s(P),v=s(c);Qe(v,{for:"sl-channel",children:(J,Te)=>{u();var d=T("Channel");r(J,d)},$$slots:{default:!0}});var g=a(v,2),y=s(g);y.value=y.__value="live";var W=a(y);W.value=W.__value="draft",n(g);var I=a(g,2);{var K=J=>{var Te=wn(),d=s(Te);vr(d,{class:"mt-0.5 h-3 w-3 shrink-0"}),u(),n(Te),r(J,Te)};H(I,J=>{e(p)==="draft"&&J(K)})}n(c);var ee=a(c,2),he=s(ee);Qe(he,{for:"sl-label",children:(J,Te)=>{u();var d=T("Label (optional)");r(J,d)},$$slots:{default:!0}});var le=a(he,2);ft(le,{id:"sl-label",placeholder:"e.g. Demo for Acme",get value(){return e(E)},set value(J){o(E,J,!0)}}),n(ee);var ne=a(ee,2),xe=s(ne),de=s(xe);St(de),u(2),n(xe),n(ne);var R=a(ne,2),z=s(R),N=s(z);St(N);var k=a(N,2),Q=a(s(k),2),se=s(Q);n(Q),n(k),n(z);var ge=a(z,2);{var ae=J=>{var Te=Pn(),d=s(Te);ft(d,{type:"number",min:1,class:"h-8 w-32 text-sm",get value(){return e(w)},set value(x){o(w,x,!0)}}),n(Te),r(J,Te)};H(ge,J=>{e(h)&&J(ae)})}n(R);var ue=a(R,2),ke=s(ue),Ve=s(ke);St(Ve),u(2),n(ke);var G=a(ke,2);{var Z=J=>{var Te=kn(),d=s(Te);St(d),n(Te),pr(d,()=>e(B),x=>o(B,x)),r(J,Te)};H(G,J=>{e(L)&&J(Z)})}n(ue),n(P);var ce=a(P,2);_(ce,()=>Wt,(J,Te)=>{Te(J,{class:"mt-4",children:(d,x)=>{var b=jn(),ye=f(b);Ie(ye,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(Oe,ze)=>{u();var Je=T("Cancel");r(Oe,Je)},$$slots:{default:!0}});var Re=a(ye,2);{let Oe=O(()=>e(q)||e(L)&&!e(B)||e(h)&&e(w)<1);Ie(Re,{onclick:oe,get disabled(){return e(Oe)},children:(ze,Je)=>{u();var rt=T();X(()=>U(rt,e(q)?"Creating…":"Create link")),r(ze,rt)},$$slots:{default:!0}})}r(d,b)},$$slots:{default:!0}})}),X(J=>U(se,`Default ${J??""}. Recommended. Uncapped
12
- links are a denial-of-wallet risk if leaked.`),[()=>Rt.toLocaleString()]),Xt(g,()=>e(p),J=>o(p,J)),sr(de,()=>e(j),J=>o(j,J)),sr(N,()=>e(h),J=>o(h,J)),sr(Ve,()=>e(L),J=>o(L,J)),r(Y,l)},V=Y=>{var l=Nn(),$=f(l);_($,()=>Vt,(le,ne)=>{ne(le,{children:(xe,de)=>{var R=Cn(),z=f(R);_(z,()=>Gt,(k,Q)=>{Q(k,{children:(se,ge)=>{u();var ae=T("Share link ready");r(se,ae)},$$slots:{default:!0}})});var N=a(z,2);_(N,()=>Bt,(k,Q)=>{Q(k,{children:(se,ge)=>{u();var ae=T(`Copy the link now — this is the only time you'll see it. The server stores only a hash; we
13
- cannot show it again.`);r(se,ae)},$$slots:{default:!0}})}),r(xe,R)},$$slots:{default:!0}})});var P=a($,2),c=s(P),v=s(c),g=s(v);vr(g,{class:"mt-0.5 h-3.5 w-3.5 shrink-0"}),u(2),n(v),n(c);var y=a(c,2),W=a(s(y),2),I=s(W),K=s(I,!0);n(I);var ee=a(I,2);{let le=O(()=>e(be)?"default":"outline");Ie(ee,{size:"sm",get variant(){return e(le)},onclick:te,class:"shrink-0",children:(ne,xe)=>{var de=Ge(),R=f(de);{var z=k=>{var Q=Dn(),se=f(Q);la(se,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(k,Q)},N=k=>{var Q=In(),se=f(Q);ia(se,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(k,Q)};H(R,k=>{e(be)?k(z):k(N,-1)})}r(ne,de)},$$slots:{default:!0}})}n(W),n(y),n(P);var he=a(P,2);_(he,()=>Wt,(le,ne)=>{ne(le,{class:"mt-4",children:(xe,de)=>{Ie(xe,{onclick:()=>t.onOpenChange(!1),children:(R,z)=>{u();var N=T("Done");r(R,N)},$$slots:{default:!0}})},$$slots:{default:!0}})}),X(()=>U(K,e(M))),r(Y,l)};H(C,Y=>{e(ie)?Y(V,-1):Y(D)})}r(Ae,me)},$$slots:{default:!0}})}),r(F,pe)},$$slots:{default:!0}})}),r(Pe,we),tt()}var An=i('<div class="border-border rounded-md border p-6 text-center"><p class="text-muted-foreground text-xs">Loading…</p></div>'),Un=i("<!> New link",1),En=i("<!> New link",1),Fn=i('<span class="bg-muted text-muted-foreground rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">view-only</span>'),On=i('<span class="bg-destructive/10 text-destructive flex items-center gap-1 rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase"><!> expired</span>'),Ln=i('<span class="bg-destructive/10 text-destructive rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">cap reached</span>'),Rn=i('<div><div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><p class="truncate text-sm font-medium"> </p> <span> </span> <!> <!> <!></div> <div class="text-muted-foreground mt-1 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-xs"><span class="font-mono tabular-nums"> </span> <span>·</span> <span> </span> <span>·</span> <span> </span></div></div> <!></div>'),Mn=i('<div class="border-border bg-card overflow-hidden rounded-md border"><div class="border-border bg-muted/40 flex items-center justify-between gap-3 border-b px-4 py-2"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase"> </span> <!></div> <!></div>'),zn=i(`<strong> </strong> will stop working immediately. Anyone
14
- using it will see a "no longer active" page. This cannot be undone.`,1),Vn=i("<!> <!>",1),Gn=i("<!> <!>",1),Bn=i("<!> <!>",1),qn=i(`<div class="space-y-4"><div><h3 class="text-base font-semibold tracking-tight">Share links</h3> <p class="text-muted-foreground mt-1 text-xs">Per-definition tokens that grant access without an account. Use for client demos, embeds, and
15
- review links.</p></div> <!></div> <!> <!>`,1);function Jn(Pe,t){et(t,!0);let p=m(ot([])),j=m(!0),E=m(!1),L=m(null),B=m(null);yt(()=>{t.definitionGuid,h()});async function h(){o(j,!0);try{const F=await fetch(`/api/definitions/${t.definitionGuid}/share-links`);if(!F.ok)throw new Error(`${F.status}`);const re=await F.json();o(p,re.links,!0)}catch{Ce.error("Failed to load share links")}finally{o(j,!1)}}async function w(F){o(B,F.id,!0);try{if(!(await fetch(`/api/definitions/${t.definitionGuid}/share-links/${F.id}`,{method:"DELETE"})).ok){Ce.error("Failed to revoke link");return}Ce.success("Link revoked"),await h()}catch{Ce.error("Failed to revoke link")}finally{o(B,null),o(L,null)}}function q(F=null){if(!F)return"Never";const re=new Date(F),pe=new Date,ve=re.getTime()<pe.getTime();return{text:re.toLocaleDateString(),expired:ve}}function ie(F){const re=Date.now()-new Date(F).getTime(),pe=Math.floor(re/6e4);if(pe<1)return"just now";if(pe<60)return`${pe}m ago`;const ve=Math.floor(pe/60);if(ve<24)return`${ve}h ago`;const Ne=Math.floor(ve/24);return Ne<30?`${Ne}d ago`:new Date(F).toLocaleDateString()}const M=O(()=>e(p).filter(F=>!F.revokedAt));var be=qn(),$e=f(be),oe=a(s($e),2);{var te=F=>{var re=An();r(F,re)},we=F=>{mr(F,{size:"sm",get icon(){return da},title:"No share links yet",description:"Mint a link to share this definition without requiring the recipient to have an account.",actions:pe=>{Ie(pe,{size:"sm",onclick:()=>o(E,!0),children:(ve,Ne)=>{var je=Un(),Ae=f(je);Kt(Ae,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(ve,je)},$$slots:{default:!0}})},$$slots:{actions:!0}})},S=F=>{var re=Mn(),pe=s(re),ve=s(pe),Ne=s(ve);n(ve);var je=a(ve,2);Ie(je,{size:"sm",variant:"outline",onclick:()=>o(E,!0),children:(Ue,me)=>{var C=En(),D=f(C);Kt(D,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(Ue,C)},$$slots:{default:!0}}),n(pe);var Ae=a(pe,2);mt(Ae,19,()=>e(M),Ue=>Ue.id,(Ue,me,C)=>{const D=O(()=>q(e(me).expiresAt)),V=O(()=>typeof e(D)=="object"&&e(D).expired),Y=O(()=>e(me).maxSolves),l=O(()=>e(Y)!==null&&e(Y)!==void 0),$=O(()=>e(l)&&e(me).solveCount>=e(Y));var P=Rn(),c=s(P),v=s(c),g=s(v),y=s(g,!0);n(g);var W=a(g,2),I=s(W,!0);n(W);var K=a(W,2);{var ee=ae=>{var ue=Fn();r(ae,ue)};H(K,ae=>{e(me).allowSolve||ae(ee)})}var he=a(K,2);{var le=ae=>{var ue=On(),ke=s(ue);vr(ke,{class:"h-2.5 w-2.5"}),u(),n(ue),r(ae,ue)};H(he,ae=>{e(V)&&ae(le)})}var ne=a(he,2);{var xe=ae=>{var ue=Ln();r(ae,ue)};H(ne,ae=>{e($)&&ae(xe)})}n(v);var de=a(v,2),R=s(de),z=s(R);n(R);var N=a(R,4),k=s(N);n(N);var Q=a(N,4),se=s(Q);n(Q),n(de),n(c);var ge=a(c,2);{let ae=O(()=>e(B)===e(me).id);Ie(ge,{variant:"ghost",size:"icon",onclick:()=>o(L,e(me),!0),get disabled(){return e(ae)},class:"text-muted-foreground hover:text-destructive h-7 w-7 shrink-0","aria-label":"Revoke link",children:(ue,ke)=>{tr(ue,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}n(P),X((ae,ue,ke)=>{pt(P,1,`flex items-start gap-3 px-4 py-3 ${e(C)<e(M).length-1?"border-border border-b":""}`),U(y,e(me).name??"Untitled link"),pt(W,1,`rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${e(me).channel==="live"?"bg-success/10 text-success":"bg-warning/10 text-warning"}`),U(I,e(me).channel),U(z,`${ae??""}${ue??""} solves`),U(k,`Expires: ${(typeof e(D)=="object"?e(D).text:e(D))??""}`),U(se,`Minted ${ke??""}`)},[()=>e(me).solveCount.toLocaleString(),()=>e(l)?` / ${e(Y).toLocaleString()}`:"",()=>ie(e(me).createdAt)]),r(Ue,P)}),n(re),X(()=>U(Ne,`${e(M).length??""} active link${e(M).length===1?"":"s"}`)),r(F,re)};H(oe,F=>{e(j)?F(te):e(M).length===0?F(we,1):F(S,-1)})}n($e);var A=a($e,2);Tn(A,{get definitionGuid(){return t.definitionGuid},get open(){return e(E)},onOpenChange:F=>o(E,F,!0),onMinted:h});var fe=a(A,2);{let F=O(()=>!!e(L));_(fe,()=>Ct,(re,pe)=>{pe(re,{get open(){return e(F)},onOpenChange:ve=>!ve&&o(L,null),children:(ve,Ne)=>{var je=Ge(),Ae=f(je);_(Ae,()=>Dt,(Ue,me)=>{me(Ue,{children:(C,D)=>{var V=Bn(),Y=f(V);_(Y,()=>It,($,P)=>{P($,{children:(c,v)=>{var g=Vn(),y=f(g);_(y,()=>Nt,(I,K)=>{K(I,{children:(ee,he)=>{u();var le=T("Revoke this link?");r(ee,le)},$$slots:{default:!0}})});var W=a(y,2);_(W,()=>Tt,(I,K)=>{K(I,{children:(ee,he)=>{var le=Ge(),ne=f(le);{var xe=de=>{var R=zn(),z=f(R),N=s(z,!0);n(z),u(),X(()=>U(N,e(L).name??"This link")),r(de,R)};H(ne,de=>{e(L)&&de(xe)})}r(ee,le)},$$slots:{default:!0}})}),r(c,g)},$$slots:{default:!0}})});var l=a(Y,2);_(l,()=>At,($,P)=>{P($,{children:(c,v)=>{var g=Gn(),y=f(g);_(y,()=>Ut,(I,K)=>{K(I,{children:(ee,he)=>{u();var le=T("Cancel");r(ee,le)},$$slots:{default:!0}})});var W=a(y,2);{let I=O(()=>!!e(B));_(W,()=>Et,(K,ee)=>{ee(K,{onclick:()=>e(L)&&w(e(L)),get disabled(){return e(I)},children:(he,le)=>{u();var ne=T();X(()=>U(ne,e(B)?"Revoking…":"Revoke")),r(he,ne)},$$slots:{default:!0}})})}r(c,g)},$$slots:{default:!0}})}),r(C,V)},$$slots:{default:!0}})}),r(ve,je)},$$slots:{default:!0}})})}r(Pe,be),tt()}var Hn=i('<button type="button" class="text-muted-foreground hover:text-foreground mx-6 mt-4 inline-flex items-center gap-1.5 self-start text-xs transition-colors"><!> Back to definition</button>'),Wn=i("<!> <!> <!>",1),Kn=i(' <button class="hover:opacity-70"><!></button>',1),Qn=i('<div class="mb-1 flex flex-wrap gap-1"></div>'),Xn=i('<div class="space-y-1.5"><!> <!></div>'),Yn=i('<div class="space-y-1.5"><!> <!></div>'),Zn=i('<div class="grid grid-cols-2 gap-3"><!> <!></div>'),es=i('<div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="space-y-1.5"><!> <!></div> <div class="space-y-1.5"><div class="flex items-center justify-between"><!> <span class="text-muted-foreground text-xs"> </span></div> <!> <!></div></div> <!> <div class="space-y-2"><div class="flex items-center gap-2"><!> <!></div> <!></div> <!>',1),ts=i("<!> <!> <!> <!>",1),rs=i("<!> Delete",1),as=i('<div class="border-border flex shrink-0 items-center justify-between border-b px-6 py-4"><div><p class="text-muted-foreground font-mono text-[10.5px] tracking-widest uppercase">Editing</p> <h2 class="mt-0.5 text-base font-semibold"> </h2></div> <!></div> <!> <!> <div class="border-border flex shrink-0 items-center justify-between border-t px-6 py-4"><!> <div class="flex gap-2"><!> <!></div></div>',1),os=i("<!> <!>",1),ns=i("<!> <!>",1),ss=i("<!> <!>",1),is=i("<strong> </strong> will move from <strong> </strong> to <strong> </strong> ",1),ls=i("<!> <!>",1),ds=i("<!> <!>",1),cs=i("<!> <!>",1),vs=i("<!> <!> <!>",1);function us(Pe,t){et(t,!0);let p=Xe(t,"defaultComputeServerId",3,null),j=Xe(t,"initialTab",3,"versions"),E=m(ot(j()==="shares"&&!t.enableSharing?"versions":j())),L=m(ot(t.record.displayName)),B=m(ot(t.record.description??"")),h=m(ot(t.record.category??"")),w=m(ot([...t.record.tags??[]])),q=m(ot(t.record.projectId)),ie=m(ot(t.record.computeServerId??null)),M=m(ot(t.record.status)),be=m(void 0),$e=m(ot(t.record.coverImage??"")),oe=m(void 0),te=m(!1),we=m(!1),S=m(!1),A=m(null);const fe=O(()=>e(A)?t.projects.find(l=>l.id===e(A))??null:null),F=O(()=>t.projects.find(l=>l.id===e(q))??null);function re(l){l!==e(q)&&o(A,l,!0)}function pe(){e(A)&&o(q,e(A),!0),o(A,null)}function ve(){o(A,null)}const Ne=O(()=>e(be)??(t.record.coverImage?.startsWith("/api/definitions/")?"upload":"url")),je=[{id:"draft",label:"Draft — work in progress",icon:br,iconStyle:"color: var(--muted-foreground); fill: var(--muted-foreground);"},{id:"published",label:"Published — live and visible to runners",icon:br,iconStyle:"color: #22c55e; fill: #22c55e;"}],Ae=O(()=>t.computeServers.map(l=>({id:l.id,label:l.id===p()?`${l.label} (Default)`:l.label})));async function Ue(){if(!e(oe)?.files?.length)return;o(S,!0);const l=new FormData;l.append("image",e(oe).files[0]);try{const $=await fetch(`/api/definitions/${t.record.guid}/image`,{method:"POST",body:l});if($.ok)Ce.success("Cover image updated"),await ct();else{const P=await $.json().catch(()=>({}));Ce.error(P.message||"Image upload failed")}}catch{Ce.error("Image upload failed")}finally{o(S,!1),e(oe)&&(e(oe).value=""),o(te,!1)}}function me(){t.onSave(t.record.guid,{displayName:e(L),description:e(B)||void 0,category:e(h)||void 0,tags:e(w).length?e(w):void 0,coverImage:e($e)||void 0,status:e(M),projectId:e(q)||void 0,computeServerId:e(ie)})}var C=vs(),D=f(C);Ir(D,{get onClose(){return t.onClose},ariaLabel:"Close edit drawer",children:(l,$)=>{var P=as(),c=f(P),v=s(c),g=a(s(v),2),y=s(g,!0);n(g),n(v);var W=a(v,2);Ie(W,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"h-8 w-8 shrink-0",children:(z,N)=>{Pt(z,{class:"h-4 w-4"})},$$slots:{default:!0}}),n(c);var I=a(c,2);{var K=z=>{var N=Hn(),k=s(N);ca(k,{class:"h-3 w-3"}),u(),n(N),at("click",N,function(...Q){t.onBack?.apply(this,Q)}),r(z,N)};H(I,z=>{t.onBack&&z(K)})}var ee=a(I,2);_(ee,()=>kr,(z,N)=>{N(z,{class:"flex flex-1 flex-col overflow-hidden",get value(){return e(E)},set value(k){o(E,k,!0)},children:(k,Q)=>{var se=ts(),ge=f(se);{let G=O(()=>`mx-6 grid w-auto ${t.enableSharing?"grid-cols-3":"grid-cols-2"} ${t.onBack?"mt-2":"mt-4"}`);_(ge,()=>jr,(Z,ce)=>{ce(Z,{get class(){return e(G)},children:(J,Te)=>{var d=Wn(),x=f(d);_(x,()=>Mt,(Oe,ze)=>{ze(Oe,{value:"details",children:(Je,rt)=>{u();var He=T("Details");r(Je,He)},$$slots:{default:!0}})});var b=a(x,2);_(b,()=>Mt,(Oe,ze)=>{ze(Oe,{value:"versions",children:(Je,rt)=>{u();var He=T("Versions");r(Je,He)},$$slots:{default:!0}})});var ye=a(b,2);{var Re=Oe=>{var ze=Ge(),Je=f(ze);_(Je,()=>Mt,(rt,He)=>{He(rt,{value:"shares",children:(vt,ut)=>{u();var nt=T("Share links");r(vt,nt)},$$slots:{default:!0}})}),r(Oe,ze)};H(ye,Oe=>{t.enableSharing&&Oe(Re)})}r(J,d)},$$slots:{default:!0}})})}var ae=a(ge,2);_(ae,()=>zt,(G,Z)=>{Z(G,{value:"versions",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(ce,J)=>{$n(ce,{get definitionGuid(){return t.record.guid},get onOpenRunner(){return t.onOpenRunner}})},$$slots:{default:!0}})});var ue=a(ae,2);_(ue,()=>zt,(G,Z)=>{Z(G,{value:"details",class:"mt-4 flex-1 space-y-5 overflow-y-auto px-6 py-5",children:(ce,J)=>{var Te=es(),d=f(Te),x=s(d);Qe(x,{for:"edit-name",children:(Se,Be)=>{u();var qe=T("Display name");r(Se,qe)},$$slots:{default:!0}});var b=a(x,2);ft(b,{id:"edit-name",get value(){return e(L)},set value(Se){o(L,Se,!0)}}),n(d);var ye=a(d,2),Re=s(ye);Qe(Re,{for:"edit-desc",children:(Se,Be)=>{u();var qe=T("Description");r(Se,qe)},$$slots:{default:!0}});var Oe=a(Re,2);er(Oe,{id:"edit-desc",rows:3,get value(){return e(B)},set value(Se){o(B,Se,!0)}}),n(ye);var ze=a(ye,2),Je=s(ze);Qe(Je,{for:"edit-status",children:(Se,Be)=>{u();var qe=T("Status");r(Se,qe)},$$slots:{default:!0}});var rt=a(Je,2);ir(rt,{id:"edit-status",get items(){return je},get value(){return e(M)},onChange:Se=>o(M,Se,!0)}),n(ze);var He=a(ze,2),vt=s(He),ut=s(vt);Qe(ut,{for:"edit-cat",children:(Se,Be)=>{u();var qe=T("Category");r(Se,qe)},$$slots:{default:!0}});var nt=a(ut,2);ft(nt,{id:"edit-cat",maxlength:40,placeholder:"e.g. Facade",get value(){return e(h)},set value(Se){o(h,Se,!0)}}),n(vt);var gt=a(vt,2),bt=s(gt),_e=s(bt);Qe(_e,{for:"edit-tags",children:(Se,Be)=>{u();var qe=T("Tags");r(Se,qe)},$$slots:{default:!0}});var De=a(_e,2),Ee=s(De);n(De),n(bt);var Ke=a(bt,2);{var Ye=Se=>{var Be=Qn();mt(Be,20,()=>e(w),qe=>qe,(qe,$t)=>{Sr(qe,{variant:"outline",class:"gap-1 text-xs",children:(ar,_r)=>{u();var _t=Kn(),ht=f(_t),xt=a(ht),Ot=s(xt);Pt(Ot,{class:"h-2.5 w-2.5"}),n(xt),X(()=>{U(ht,`${$t??""} `),jt(xt,"aria-label",`Remove tag ${$t??""}`)}),at("click",xt,()=>o(w,e(w).filter(kt=>kt!==$t),!0)),r(ar,_t)},$$slots:{default:!0}})}),n(Be),r(Se,Be)};H(Ke,Se=>{e(w).length>0&&Se(Ye)})}var it=a(Ke,2);{let Se=O(()=>e(w).length>=5);ft(it,{id:"edit-tags",placeholder:"Add tag + Enter",get disabled(){return e(Se)},onkeydown:Be=>{if(Be.key==="Enter"){Be.preventDefault();const qe=Be.currentTarget,$t=qe.value.trim();$t&&!e(w).includes($t)&&e(w).length<5&&(o(w,[...e(w),$t],!0),qe.value="")}}})}n(gt),n(He);var Ze=a(He,2);ur(Ze,{});var Fe=a(Ze,2),Le=s(Fe),We=s(Le);xa(We,{class:"text-muted-foreground h-4 w-4"});var Me=a(We,2);Qe(Me,{children:(Se,Be)=>{u();var qe=T("Cover image");r(Se,qe)},$$slots:{default:!0}}),n(Le);var st=a(Le,2);{let Se=O(()=>t.record.coverImage??"");Nr(st,{get mode(){return e(Ne)},get value(){return e(Se)},get isUploading(){return e(S)},get hasFile(){return e(te)},onModeChange:Be=>o(be,Be,!0),onUpload:Ue,onFileSelected:()=>o(te,!!e(oe)?.files?.length),onUrlChange:Be=>o($e,Be,!0),get inputRef(){return e(oe)},set inputRef(Be){o(oe,Be,!0)}})}n(Fe);var dt=a(Fe,2);{var lt=Se=>{var Be=Zn(),qe=s(Be);{var $t=_t=>{var ht=Xn(),xt=s(ht);Qe(xt,{for:"edit-proj",children:(kt,Jt)=>{u();var or=T("Project");r(kt,or)},$$slots:{default:!0}});var Ot=a(xt,2);Tr(Ot,{id:"edit-proj",get projects(){return t.projects},get value(){return e(q)},onChange:re}),n(ht),r(_t,ht)};H(qe,_t=>{t.projects.length>1&&_t($t)})}var ar=a(qe,2);{var _r=_t=>{var ht=Yn(),xt=s(ht);Qe(xt,{for:"edit-srv",children:(kt,Jt)=>{u();var or=T("Compute server");r(kt,or)},$$slots:{default:!0}});var Ot=a(xt,2);{let kt=O(()=>e(ie)??p()??"");ir(Ot,{id:"edit-srv",get items(){return e(Ae)},get value(){return e(kt)},onChange:Jt=>{o(ie,Jt===p()?null:Jt,!0)}})}n(ht),r(_t,ht)};H(ar,_t=>{t.computeServers.length>0&&_t(_r)})}n(Be),r(Se,Be)};H(dt,Se=>{(t.projects.length>1||t.computeServers.length>0)&&Se(lt)})}X(()=>U(Ee,`${e(w).length??""}/5`)),r(ce,Te)},$$slots:{default:!0}})});var ke=a(ue,2);{var Ve=G=>{var Z=Ge(),ce=f(Z);_(ce,()=>zt,(J,Te)=>{Te(J,{value:"shares",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(d,x)=>{Jn(d,{get definitionGuid(){return t.record.guid}})},$$slots:{default:!0}})}),r(G,Z)};H(ke,G=>{t.enableSharing&&G(Ve)})}r(k,se)},$$slots:{default:!0}})});var he=a(ee,2),le=s(he);Ie(le,{variant:"ghost",size:"sm",onclick:()=>o(we,!0),class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(z,N)=>{var k=rs(),Q=f(k);tr(Q,{class:"h-3.5 w-3.5"}),u(),r(z,k)},$$slots:{default:!0}});var ne=a(le,2),xe=s(ne);Ie(xe,{variant:"outline",size:"sm",get onclick(){return t.onClose},children:(z,N)=>{u();var k=T("Cancel");r(z,k)},$$slots:{default:!0}});var de=a(xe,2);{var R=z=>{Ie(z,{size:"sm",get disabled(){return t.isSaving},onclick:me,children:(N,k)=>{u();var Q=T();X(()=>U(Q,t.isSaving?"Saving…":"Save")),r(N,Q)},$$slots:{default:!0}})};H(de,z=>{e(E)==="details"&&z(R)})}n(ne),n(he),X(()=>U(y,t.record.displayName)),r(l,P)},$$slots:{default:!0}});var V=a(D,2);_(V,()=>Ct,(l,$)=>{$(l,{get open(){return e(we)},onOpenChange:P=>o(we,P,!0),children:(P,c)=>{var v=Ge(),g=f(v);_(g,()=>Dt,(y,W)=>{W(y,{children:(I,K)=>{var ee=ss(),he=f(ee);_(he,()=>It,(ne,xe)=>{xe(ne,{children:(de,R)=>{var z=os(),N=f(z);_(N,()=>Nt,(Q,se)=>{se(Q,{children:(ge,ae)=>{u();var ue=T();X(()=>U(ue,`Delete "${t.record.displayName??""}"?`)),r(ge,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Tt,(Q,se)=>{se(Q,{children:(ge,ae)=>{u();var ue=T("This removes the definition and all its files. This cannot be undone.");r(ge,ue)},$$slots:{default:!0}})}),r(de,z)},$$slots:{default:!0}})});var le=a(he,2);_(le,()=>At,(ne,xe)=>{xe(ne,{children:(de,R)=>{var z=ns(),N=f(z);_(N,()=>Ut,(Q,se)=>{se(Q,{children:(ge,ae)=>{u();var ue=T("Cancel");r(ge,ue)},$$slots:{default:!0}})});var k=a(N,2);_(k,()=>Et,(Q,se)=>{se(Q,{onclick:()=>t.onDelete(t.record.guid),children:(ge,ae)=>{u();var ue=T("Delete");r(ge,ue)},$$slots:{default:!0}})}),r(de,z)},$$slots:{default:!0}})}),r(I,ee)},$$slots:{default:!0}})}),r(P,v)},$$slots:{default:!0}})});var Y=a(V,2);{let l=O(()=>e(A)!==null);_(Y,()=>Ct,($,P)=>{P($,{get open(){return e(l)},onOpenChange:c=>{c||ve()},children:(c,v)=>{var g=Ge(),y=f(g);_(y,()=>Dt,(W,I)=>{I(W,{children:(K,ee)=>{var he=cs(),le=f(he);_(le,()=>It,(xe,de)=>{de(xe,{children:(R,z)=>{var N=ls(),k=f(N);_(k,()=>Nt,(se,ge)=>{ge(se,{children:(ae,ue)=>{u();var ke=T("Move to a different project?");r(ae,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Tt,(se,ge)=>{ge(se,{children:(ae,ue)=>{var ke=is(),Ve=f(ke),G=s(Ve,!0);n(Ve);var Z=a(Ve,2),ce=s(Z,!0);n(Z);var J=a(Z,2),Te=s(J,!0);n(J);var d=a(J);X(()=>{U(G,t.record.displayName),U(ce,e(F)?.name??"—"),U(Te,e(fe)?.name??"—"),U(d,`. Project members and visibility may change
16
- accordingly.${t.enableSharing?" Existing share links keep working.":""}`)}),r(ae,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})});var ne=a(le,2);_(ne,()=>At,(xe,de)=>{de(xe,{children:(R,z)=>{var N=ds(),k=f(N);_(k,()=>Ut,(se,ge)=>{ge(se,{onclick:ve,children:(ae,ue)=>{u();var ke=T("Cancel");r(ae,ke)},$$slots:{default:!0}})});var Q=a(k,2);_(Q,()=>Et,(se,ge)=>{ge(se,{onclick:pe,children:(ae,ue)=>{u();var ke=T("Move");r(ae,ke)},$$slots:{default:!0}})}),r(R,N)},$$slots:{default:!0}})}),r(K,he)},$$slots:{default:!0}})}),r(c,g)},$$slots:{default:!0}})})}r(Pe,C),tt()}wt(["click"]);var fs=i("<!> Project settings",1),ps=i("<!> Add definition",1),ms=i("<!> <!>",1),gs=i('<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"></div>'),_s=i("<!> <!>",1),hs=i("<!> <!>",1),xs=i("<!> <!>",1),bs=i('<div class="flex h-full overflow-hidden"><!> <div class="flex flex-1 flex-col overflow-hidden"><div class="border-border bg-background shrink-0 border-b px-(--page-px) py-5"><!></div> <div class="flex-1 overflow-y-auto px-(--page-px) py-5"><div class="mb-5 flex items-center gap-3"><div class="max-w-lg flex-1"><!></div> <span class="text-muted-foreground font-mono text-xs tabular-nums"> </span> <div class="ml-auto"><!></div></div> <!></div></div></div> <!> <!> <!> <!> <!>',1);function ci(Pe,t){et(t,!0);const p=()=>Rr(qr,"$page",j),[j,E]=Mr(),L=O(()=>!!p().data.flags?.enableSharing);let B=m(""),h=m(null),w=m("grid");yt(()=>{const d=p().url.searchParams.get("project");if(d){const x=t.data.projects.find(b=>b.slug===d);x&&o(h,x.id,!0)}});let q=m(null),ie=m(null),M=m(null),be=m(null),$e=m(!1),oe=m(!1),te=m("versions"),we=m(!1),S=m(null);const A=O(()=>{let d=t.data.records;if(e(h)&&(d=d.filter(x=>x.projectId===e(h))),e(B).trim()){const x=e(B).toLowerCase();d=d.filter(b=>b.displayName?.toLowerCase().includes(x)||b.description?.toLowerCase().includes(x)||b.tags?.some(ye=>ye.toLowerCase().includes(x)))}return d}),fe=O(()=>e(ie)?t.data.records.find(d=>d.guid===e(ie))??null:null),F=O(()=>e(h)?t.data.projects.find(d=>d.id===e(h))??null:null),re=O(()=>e(F)?e(F).canEdit:t.data.projects.some(d=>d.canEdit)),pe=O(()=>t.data.projects.filter(d=>d.canEdit)),ve=O(()=>e(M)?t.data.projects.find(d=>d.id===e(M))??null:null),Ne=O(()=>e(be)?t.data.projects.find(d=>d.id===e(be))??null:null);function je(d){return t.data.projects.find(x=>x.id===d)?.name??""}function Ae(d){return t.data.projects.find(x=>x.id===d)?.visibility}function Ue(d){const x=t.data.computeServers;if(x.length===0)return;const b=d.computeServerId?x.find(Re=>Re.id===d.computeServerId):void 0,ye=x.find(Re=>Re.id===t.data.defaultComputeServerId)??x[0];return(b??ye)?.label}function me(d){return t.data.projects.find(x=>x.id===d.projectId)?.canEdit??!1}async function C(d,x){if(d.headers.get("content-type")?.includes("application/json")){const b=await d.json().catch(()=>null);return b?.message||b?.error?.message||`${x} (${d.status})`}return`${x} (${d.status})`}async function D(d,x){o(S,d,!0);try{const b=await fetch(`/api/definitions/${d}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});b.ok?(Ce.success("Definition saved"),o(ie,null),o(q,null),await ct()):Ce.error(await C(b,"Save failed"))}catch(b){Ce.error("Save failed: "+(b instanceof Error?b.message:"Unknown error"))}finally{o(S,null)}}async function V(d){const x=t.data.records.find(b=>b.guid===d);try{const b=await fetch(`/api/definitions/${d}`,{method:"DELETE"});b.ok?(Ce.success(`"${x?.displayName??"Definition"}" deleted`),o(ie,null),await ct()):Ce.error(await C(b,"Delete failed"))}catch{Ce.error("Delete failed")}}async function Y(d){o(we,!0);try{const x=await fetch("/api/definitions",{method:"POST",body:d});if(x.ok)Ce.success(`"${d.get("displayName")}" created`),o($e,!1),await ct();else{const b=await C(x,"Failed to create definition");throw Ce.error(b),new Error(b)}}finally{o(we,!1)}}async function l(d){const x=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)});if(x.ok){const b=await x.json().catch(()=>null);Ce.success(`Project "${d.name}" created`),await ct(),b?.id&&o(h,b.id,!0)}else throw Ce.error(await C(x,"Failed to create project")),new Error("create project failed")}async function $(d,x){const b=await fetch(`/api/projects/${d}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});b.ok?(Ce.success("Project saved"),o(M,null),await ct()):Ce.error(await C(b,"Failed to save project"))}async function P(d){const x=await fetch(`/api/projects/${d}`,{method:"DELETE"});x.ok?(Ce.success("Project deleted"),e(h)===d&&o(h,t.data.projects.find(b=>b.id!==d)?.id??null,!0),o(be,null),o(M,null),await ct()):Ce.error(await C(x,"Failed to delete project"))}async function c(d,x,b){const ye=await fetch(`/api/projects/${d}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:x,role:b})});ye.ok?(Ce.success("Member added"),await ct()):Ce.error(await C(ye,"Failed to add member"))}async function v(d,x,b){(await fetch(`/api/projects/${d}/members/${x}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:b})})).ok?await ct():Ce.error("Failed to update role")}async function g(d,x){(await fetch(`/api/projects/${d}/members/${x}`,{method:"DELETE"})).ok?await ct():Ce.error("Failed to remove member")}var y=bs();Br("rqn88j",d=>{Or(()=>{Lr.title="Projects"})});var W=f(y),I=s(W);eo(I,{get projects(){return t.data.projects},get records(){return t.data.records},get activeProjectId(){return e(h)},get canManageProjects(){return t.data.canManageProjects},onSelect:d=>{o(h,d,!0);const x=t.data.projects.find(b=>b.id===d);if(x){const b=new pa(p().url.search);b.set("project",x.slug),window.history.replaceState(null,"",`?${b}`)}},onCreate:l});var K=a(I,2),ee=s(K),he=s(ee);{const d=ye=>{var Re=ms(),Oe=f(Re);{var ze=He=>{Ie(He,{variant:"outline",size:"sm",onclick:()=>o(M,e(F).id,!0),children:(vt,ut)=>{var nt=fs(),gt=f(nt);ua(gt,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(vt,nt)},$$slots:{default:!0}})};H(Oe,He=>{t.data.canManageProjects&&e(F)&&He(ze)})}var Je=a(Oe,2);{var rt=He=>{Ie(He,{size:"sm",onclick:()=>o($e,!0),children:(vt,ut)=>{var nt=ps(),gt=f(nt);Kt(gt,{class:"mr-1.5 h-3.5 w-3.5"}),u(),r(vt,nt)},$$slots:{default:!0}})};H(Je,He=>{e(re)&&He(rt)})}r(ye,Re)};let x=O(()=>e(F)?e(F).name:"All projects"),b=O(()=>e(F)?.description??(e(F)?void 0:"Definitions across every project in this organization."));va(he,{class:"mb-0",get eyebrow(){return e(x)},title:"Definitions",get description(){return e(b)},actions:d,$$slots:{actions:!0}})}n(ee);var le=a(ee,2),ne=s(le),xe=s(ne),de=s(xe);Yr(de,{placeholder:"Search by name, description, tags…",clearable:!0,get value(){return e(B)},set value(d){o(B,d,!0)}}),n(xe);var R=a(xe,2),z=s(R);n(R);var N=a(R,2),k=s(N);Zr(k,{get mode(){return e(w)},size:"sm",onChange:d=>o(w,d,!0)}),n(N),n(ne);var Q=a(ne,2);{var se=d=>{{let x=O(()=>e(B)?"Try adjusting your search":"Add your first definition to get started");mr(d,{size:"lg",title:"No definitions found",get description(){return e(x)}})}},ge=d=>{var x=gs();mt(x,21,()=>e(A),b=>b.guid,(b,ye)=>{{let Re=O(()=>e(h)===null?je(e(ye).projectId):void 0),Oe=O(()=>e(h)===null?Ae(e(ye).projectId):void 0),ze=O(()=>Ue(e(ye)));ea(b,{get record(){return e(ye)},showStatus:!0,onOpen:Je=>o(q,Je,!0),get projectName(){return e(Re)},get projectVisibility(){return e(Oe)},get serverName(){return e(ze)}})}}),n(x),r(d,x)},ae=d=>{Do(d,{get records(){return e(A)},get projects(){return t.data.projects},onOpen:x=>o(q,x,!0)})};H(Q,d=>{e(A).length===0?d(se):e(w)==="grid"?d(ge,1):d(ae,-1)})}n(le),n(K),n(W);var ue=a(W,2);{var ke=d=>{{let x=O(()=>je(e(q).projectId)),b=O(()=>me(e(q)));Ro(d,{get record(){return e(q)},get projectName(){return e(x)},get canEdit(){return e(b)},get showShare(){return e(L)},onClose:()=>o(q,null),onEdit:ye=>{o(te,"details"),o(ie,ye.guid,!0),o(oe,!0),o(q,null)},onShare:ye=>{o(te,"shares"),o(ie,ye.guid,!0),o(oe,!0),o(q,null)},onOpenRunner:(ye,Re)=>hr(`/library/${ye}${Re==="draft"?"?channel=draft":""}`)})}};H(ue,d=>{e(q)&&d(ke)})}var Ve=a(ue,2);{var G=d=>{var x=Ge(),b=f(x);Vr(b,()=>e(te),ye=>{{let Re=O(()=>e(S)===e(fe).guid),Oe=O(()=>e(oe)?()=>{o(q,e(fe),!0),o(ie,null),o(oe,!1)}:void 0);us(ye,{get record(){return e(fe)},get projects(){return t.data.projects},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get isSaving(){return e(Re)},get initialTab(){return e(te)},get enableSharing(){return e(L)},onClose:()=>{o(ie,null),o(oe,!1),o(te,"versions")},get onBack(){return e(Oe)},onSave:D,onDelete:V,onOpenRunner:(ze,Je)=>hr(`/library/${ze}${Je==="draft"?"?channel=draft":""}`)})}}),r(d,x)};H(Ve,d=>{e(fe)&&d(G)})}var Z=a(Ve,2);{var ce=d=>{{let x=O(()=>e(M)!==null);yo(d,{get project(){return e(ve)},get users(){return t.data.users},get open(){return e(x)},onOpenChange:b=>{b||o(M,null)},onSave:$,onDelete:b=>{o(M,null),o(be,b,!0)},onAddMember:c,onUpdateMemberRole:v,onRemoveMember:g})}};H(Z,d=>{e(ve)&&t.data.canManageProjects&&d(ce)})}var J=a(Z,2);{let d=O(()=>e(be)!==null);_(J,()=>Ct,(x,b)=>{b(x,{get open(){return e(d)},onOpenChange:ye=>{ye||o(be,null)},children:(ye,Re)=>{var Oe=Ge(),ze=f(Oe);_(ze,()=>Dt,(Je,rt)=>{rt(Je,{children:(He,vt)=>{var ut=xs(),nt=f(ut);_(nt,()=>It,(bt,_e)=>{_e(bt,{children:(De,Ee)=>{var Ke=_s(),Ye=f(Ke);_(Ye,()=>Nt,(Ze,Fe)=>{Fe(Ze,{children:(Le,We)=>{u();var Me=T();X(()=>U(Me,`Delete "${e(Ne)?.name??""??""}"?`)),r(Le,Me)},$$slots:{default:!0}})});var it=a(Ye,2);_(it,()=>Tt,(Ze,Fe)=>{Fe(Ze,{children:(Le,We)=>{u();var Me=T("This will remove the project and all member assignments. Definitions will become unassigned.");r(Le,Me)},$$slots:{default:!0}})}),r(De,Ke)},$$slots:{default:!0}})});var gt=a(nt,2);_(gt,()=>At,(bt,_e)=>{_e(bt,{children:(De,Ee)=>{var Ke=hs(),Ye=f(Ke);_(Ye,()=>Ut,(Ze,Fe)=>{Fe(Ze,{children:(Le,We)=>{u();var Me=T("Cancel");r(Le,Me)},$$slots:{default:!0}})});var it=a(Ye,2);_(it,()=>Et,(Ze,Fe)=>{Fe(Ze,{onclick:()=>e(be)&&P(e(be)),children:(Le,We)=>{u();var Me=T("Delete");r(Le,Me)},$$slots:{default:!0}})}),r(De,Ke)},$$slots:{default:!0}})}),r(He,ut)},$$slots:{default:!0}})}),r(ye,Oe)},$$slots:{default:!0}})})}var Te=a(J,2);{let d=O(()=>e(F)?.canEdit?e(h):e(pe)[0]?.id),x=O(()=>e(pe).length>1);Ga(Te,{get open(){return e($e)},get isAdding(){return e(we)},get projects(){return e(pe)},get defaultProjectId(){return e(d)},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get showProjectDropdown(){return e(x)},onOpenChange:b=>o($e,b,!0),onSubmit:Y})}X(()=>U(z,`${e(A).length??""} definition${e(A).length===1?"":"s"}`)),r(Pe,y),tt(),E()}export{ci as component};
@@ -1 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{p as D,a as H,e as L,g as x,u as A,c as $,d,$ as O,r as l,f as w,n as q,t as E}from"../chunks/BtOVeLcI.js";import{s as F}from"../chunks/BNpXeuQ_.js";import{a as n,f as m,c as J}from"../chunks/BoLtD6vo.js";import{e as K}from"../chunks/22C0ZkpD.js";import{s as b,r as N,c}from"../chunks/ChEZL1UP.js";import{h as Q}from"../chunks/CTTkX-27.js";import{p as R}from"../chunks/Cd8uUagh.js";import{S as T}from"../chunks/DLMu-EPf.js";import{S as W}from"../chunks/Bixcgta2.js";import{C as X,a as Y}from"../chunks/CY6l1SkO.js";import{I as j}from"../chunks/BuC_QZkR.js";import{C as Z,a as ee}from"../chunks/BawNisij.js";import{U as ae}from"../chunks/BYQ2KYuV.js";import{B as te}from"../chunks/3KyAYBE4.js";import{S as se}from"../chunks/BRHPfB44.js";function re(r,e){let o=N(e,["$$slots","$$events","$$legacy"]);const t=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];j(r,b({name:"layout-dashboard"},()=>o,{get iconNode(){return t}}))}function oe(r,e){let o=N(e,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];j(r,b({name:"package"},()=>o,{get iconNode(){return t}}))}var ne=m("<!> Installed version",1),ie=m('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),de=m("<!> <!>",1),le=m('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!></div>');function Ne(r,e){D(e,!0);const o=A(()=>R.data.branding.name),t=a=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(a),U=A(()=>[{href:"/admin/users",icon:ae,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:t("manage_instance_users")},{href:"/admin/organizations",icon:te,value:"Organizations",label:"All orgs on this instance",show:t("instance_admin")},{href:"/admin/compute",icon:se,value:"Compute",label:"Servers, status & config",show:t("manage_compute")},{href:"/projects",icon:re,value:"Content",label:"Definitions & projects",show:t("instance_admin")}].filter(a=>a.show));var p=le();Q("1jef3w8",a=>{L(()=>{O.title="Admin · General"})});var y=$(p);W(y,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${x(o)??""} instance — users, compute, and content.`}});var f=d(y,2);K(f,21,()=>x(U),a=>a.href,(a,u)=>{T(a,b(()=>x(u)))}),l(f);var z=d(f,2);c(z,()=>ee,(a,u)=>{u(a,{children:(I,ce)=>{var C=de(),P=w(C);c(P,()=>X,(h,v)=>{v(h,{children:(g,B)=>{var s=J(),i=w(s);c(i,()=>Y,(_,G)=>{G(_,{class:"flex items-center gap-2 text-sm font-medium",children:(M,me)=>{var S=ne(),V=w(S);oe(V,{class:"text-muted-foreground h-4 w-4"}),q(),n(M,S)},$$slots:{default:!0}})}),n(g,s)},$$slots:{default:!0}})});var k=d(P,2);c(k,()=>Z,(h,v)=>{v(h,{children:(g,B)=>{var s=ie(),i=d($(s),2),_=$(i);l(i),l(s),E(()=>F(_,`v${e.data.version??""}`)),n(g,s)},$$slots:{default:!0}})}),n(I,C)},$$slots:{default:!0}})}),l(p),n(r,p),H()}export{Ne as component};
@@ -1 +0,0 @@
1
- {"version":3,"file":"access.server.js-7luP5O4P.js","sources":["../../../../.svelte-kit/output/server/chunks/access.server.js"],"sourcesContent":["import { redirect, error } from \"@sveltejs/kit\";\nimport { A as ALL_PLATFORM_PERMISSIONS, h as hasPermission } from \"./context.js\";\nimport { n as getDefinitionMeta, c as getOrganizationProvider, f as flag, j as getProjectProvider, k as getPlatformProjectGrantStore } from \"./providers.server.js\";\nimport { h as handleApiError } from \"./api-errors.js\";\nfunction isInstanceAdmin(platformPermissions) {\n return platformPermissions.includes(\"instance_admin\");\n}\nfunction withAdminBypass(platformPermissions, rule) {\n if (isInstanceAdmin(platformPermissions)) return true;\n return rule();\n}\nfunction canView(input) {\n const {\n project,\n member,\n orgMember,\n allowCrossOrgPublic,\n enablePlatformProjects,\n platformPermissions,\n platformGrants,\n actingOrgId,\n userId\n } = input;\n if (!project) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n if (isInstanceAdmin(platformPermissions)) return true;\n return platformGrants.some(\n (g) => g.granteeType === \"user\" && g.granteeId === userId || g.granteeType === \"org\" && g.granteeId === actingOrgId\n );\n }\n if (project.visibility === \"private\") return member !== null;\n if (project.visibility === \"org\") return orgMember !== null;\n if (project.visibility === \"public\") return allowCrossOrgPublic ? true : orgMember !== null;\n return false;\n}\nfunction canSolve(input) {\n const {\n project,\n enablePlatformProjects,\n platformPermissions,\n platformGrants,\n actingOrgId,\n userId\n } = input;\n if (!project) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n if (isInstanceAdmin(platformPermissions)) return true;\n return platformGrants.some(\n (g) => g.canSolve && (g.granteeType === \"user\" && g.granteeId === userId || g.granteeType === \"org\" && g.granteeId === actingOrgId)\n );\n }\n return canView(input);\n}\nfunction canEdit(input) {\n const { member, project, enablePlatformProjects, platformPermissions } = input;\n if (project?.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n return isInstanceAdmin(platformPermissions);\n }\n return member?.role === \"owner\" || member?.role === \"editor\";\n}\nfunction canManage(input) {\n if (input.project?.visibility === \"platform\") {\n if (!input.enablePlatformProjects) return false;\n return isInstanceAdmin(input.platformPermissions);\n }\n return input.member?.role === \"owner\";\n}\nfunction canEditProjectSettings(input) {\n if (input.project?.visibility === \"platform\") {\n if (!input.enablePlatformProjects) return false;\n return isInstanceAdmin(input.platformPermissions);\n }\n return input.member?.role === \"owner\";\n}\nfunction canChangeVisibilityToPublic(input) {\n const role = input.orgMember?.role;\n return role === \"owner\" || role === \"admin\";\n}\nfunction canEditDefinition(input) {\n const { project, definition, member, userId, platformPermissions, enablePlatformProjects } = input;\n if (!project || !definition) return false;\n if (project.visibility === \"platform\") {\n if (!enablePlatformProjects) return false;\n return isInstanceAdmin(platformPermissions);\n }\n if (member?.role === \"owner\" || member?.role === \"editor\") return true;\n if (project.autoJoinOnUpload && userId === definition.ownerId) return true;\n return false;\n}\nfunction canReclaim(input) {\n const { project, orgMember, actingOrgId } = input;\n if (!project || !actingOrgId) return false;\n if (project.visibility === \"platform\") return false;\n if (actingOrgId !== project.orgId) return false;\n const role = orgMember?.role;\n return role === \"owner\" || role === \"admin\";\n}\nfunction canCreateProject(input) {\n const { orgMember, orgPermissions, actingOrgId, targetOrgId } = input;\n if (actingOrgId !== targetOrgId) return false;\n const role = orgMember?.role;\n if (role === \"owner\" || role === \"admin\") return true;\n if (role === \"member\" && orgPermissions.includes(\"manage_projects\")) return true;\n return false;\n}\nfunction checkOwnerRemoval(input) {\n if (input.target.role !== \"owner\") return \"ok\";\n const ownerCount = input.allMembers.filter((m) => m.role === \"owner\").length;\n if (ownerCount <= 1) return \"sole_owner\";\n if (!input.confirmed) return \"needs_confirm\";\n return \"ok\";\n}\nconst throwProviderError = handleApiError;\nfunction requireAuthed(locals) {\n const { user, ctx } = locals;\n if (!user || !ctx) throw error(401, \"Unauthorized\");\n return { user, ctx };\n}\nfunction requirePermission(locals, permission) {\n const { user, ctx } = requireAuthed(locals);\n if (!hasPermission(ctx, permission)) {\n throw error(403, `You don't have permission to do this.`);\n }\n return user;\n}\nfunction assertPagePermission(locals, permission) {\n const { user, ctx } = requireAuthed(locals);\n if (!hasPermission(ctx, permission)) {\n redirect(303, \"/admin\");\n }\n return user;\n}\nconst requireManageInstanceUsers = (locals) => requirePermission(locals, \"manage_instance_users\");\nconst requireManageCompute = (locals) => requirePermission(locals, \"manage_compute\");\nconst requireManageOrgMembers = (locals) => requirePermission(locals, \"manage_org_members\");\nconst requireManageOrgCompute = (locals) => requirePermission(locals, \"manage_org_compute\");\nconst requireManageDefinitions = (locals) => requirePermission(locals, \"manage_definitions\");\nconst requireManageProjects = (locals) => requirePermission(locals, \"manage_projects\");\nconst assertManageInstanceUsers = (locals) => assertPagePermission(locals, \"manage_instance_users\");\nconst assertManageCompute = (locals) => assertPagePermission(locals, \"manage_compute\");\nconst assertManageDefinitions = (locals) => assertPagePermission(locals, \"manage_definitions\");\nconst assertManageProjects = (locals) => assertPagePermission(locals, \"manage_projects\");\nconst requireInstanceAdmin = (locals) => requirePermission(locals, \"instance_admin\");\nfunction requireAnyPlatformPermission(locals) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = ALL_PLATFORM_PERMISSIONS.some((p) => hasPermission(ctx, p));\n if (!allowed) throw error(403, `You don't have permission to do this.`);\n return user;\n}\nfunction assertAnyPlatformPermission(locals) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = ALL_PLATFORM_PERMISSIONS.some((p) => hasPermission(ctx, p));\n if (!allowed) redirect(303, \"/library\");\n return user;\n}\nasync function managementBypassOrRun(ctx, check) {\n if (hasPermission(ctx, \"instance_admin\")) return true;\n return await check();\n}\nasync function contentCheck(check) {\n return await check();\n}\nasync function loadProjectOr404(ctx, projectId) {\n const project = await getProjectProvider().getProject(ctx, projectId);\n if (!project) throw error(404, \"Project not found\");\n return project;\n}\nasync function buildProjectAccessInput(ctx, project, overrides = {}) {\n const allowCrossOrgPublic = flag(\"ALLOW_CROSS_ORG_PUBLIC\");\n const enablePlatformProjects = flag(\"ENABLE_PLATFORM_PROJECTS\");\n let member = null;\n let orgMember = null;\n let platformGrants = [];\n if (project.visibility === \"platform\") {\n if (enablePlatformProjects) {\n platformGrants = await getPlatformProjectGrantStore().listByProject(ctx, project.id);\n }\n } else if (project.visibility === \"private\") {\n member = await getProjectProvider().getProjectMember(ctx, project.id, ctx.userId);\n } else {\n const skipOrgMember = project.visibility === \"public\" && allowCrossOrgPublic;\n [member, orgMember] = await Promise.all([\n getProjectProvider().getProjectMember(ctx, project.id, ctx.userId),\n skipOrgMember ? Promise.resolve(null) : getOrganizationProvider().getOrgMember(ctx, project.orgId, ctx.userId)\n ]);\n }\n return {\n orgPermissions: ctx.orgPermissions,\n platformPermissions: ctx.platformPermissions,\n project,\n member,\n orgMember,\n allowCrossOrgPublic,\n enablePlatformProjects,\n platformGrants,\n actingOrgId: ctx.actingOrgId ?? null,\n userId: ctx.userId,\n ...overrides\n };\n}\nfunction projectAccessInputFromRows(ctx, project, rows) {\n return {\n orgPermissions: ctx.orgPermissions,\n platformPermissions: ctx.platformPermissions,\n project,\n member: rows.member ?? null,\n orgMember: rows.orgMember ?? null,\n allowCrossOrgPublic: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n platformGrants: rows.platformGrants ?? [],\n actingOrgId: ctx.actingOrgId ?? null,\n userId: ctx.userId\n };\n}\nasync function requireCanEdit(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canEdit(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"You do not have permission to edit this project.\");\n return user;\n}\nasync function requireCanCreateDefinition(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await contentCheck(async () => {\n if (project.autoJoinOnUpload) return true;\n return canEdit(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) {\n throw error(403, \"You do not have permission to upload definitions to this project.\");\n }\n return { user, ctx, project };\n}\nasync function requireTargetIsOrgMember(locals, orgId, targetUserId) {\n const { ctx } = requireAuthed(locals);\n const member = await getOrganizationProvider().getOrgMember(ctx, orgId, targetUserId);\n if (!member) {\n throw error(400, \"User must be a member of this organization to be added to a project.\");\n }\n}\nasync function requireCanReclaim(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const orgMember = await getOrganizationProvider().getOrgMember(ctx, project.orgId, ctx.userId);\n return canReclaim({\n project,\n orgMember,\n actingOrgId: ctx.actingOrgId ?? null\n });\n });\n if (!allowed) {\n throw error(403, \"Only org owners or admins of this project’s org can reclaim it.\");\n }\n return { user, ctx, project };\n}\nasync function requireCanCreateProject(locals, targetOrgId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const orgMember = await getOrganizationProvider().getOrgMember(ctx, targetOrgId, ctx.userId);\n return canCreateProject({\n orgPermissions: ctx.orgPermissions,\n orgMember,\n actingOrgId: ctx.actingOrgId ?? null,\n targetOrgId\n });\n });\n if (!allowed) throw error(403, \"You do not have permission to create projects in this org.\");\n return { user, ctx };\n}\nasync function requireCanManage(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canManage(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"Only project owners can manage this project.\");\n return user;\n}\nasync function requireCanManageMembers(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await managementBypassOrRun(ctx, async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canManage(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"Only project owners can manage members.\");\n return user;\n}\nasync function requireCanEditProjectSettings(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await managementBypassOrRun(\n ctx,\n async () => canEditProjectSettings(await buildProjectAccessInput(ctx, project))\n );\n if (!allowed) throw error(403, \"Only project owners can edit project settings.\");\n return { user, ctx, project };\n}\nasync function requireCanViewProject(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const project = await loadProjectOr404(ctx, projectId);\n return canView(await buildProjectAccessInput(ctx, project));\n });\n if (!allowed) throw error(403, \"You do not have access to this project.\");\n return user;\n}\nasync function requireCanSolve(locals, projectId) {\n const { user, ctx } = requireAuthed(locals);\n const project = await loadProjectOr404(ctx, projectId);\n const allowed = await contentCheck(\n async () => canSolve(await buildProjectAccessInput(ctx, project))\n );\n if (!allowed) throw error(403, \"You do not have access to this project.\");\n return { user, ctx, project };\n}\nasync function requireEditableDefinition(locals, guid) {\n const { ctx } = requireAuthed(locals);\n const record = await getDefinitionMeta().get(ctx, guid);\n if (!record) throw error(404, \"Definition not found\");\n const allowed = await contentCheck(async () => {\n const [project, member] = await Promise.all([\n getProjectProvider().getProject(ctx, record.projectId),\n getProjectProvider().getProjectMember(ctx, record.projectId, ctx.userId)\n ]);\n return canEditDefinition({\n project,\n definition: record,\n member,\n userId: ctx.userId,\n platformPermissions: ctx.platformPermissions,\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\")\n });\n });\n if (!allowed) throw error(403, \"You do not have permission to edit this definition.\");\n return { record, ctx };\n}\nasync function requireCanEditDefinition(locals, projectId, definitionGuid) {\n const { user, ctx } = requireAuthed(locals);\n const allowed = await contentCheck(async () => {\n const [project, definition, member] = await Promise.all([\n getProjectProvider().getProject(ctx, projectId),\n getDefinitionMeta().get(ctx, definitionGuid),\n getProjectProvider().getProjectMember(ctx, projectId, ctx.userId)\n ]);\n return canEditDefinition({\n project,\n definition,\n member,\n userId: ctx.userId,\n platformPermissions: ctx.platformPermissions,\n enablePlatformProjects: flag(\"ENABLE_PLATFORM_PROJECTS\")\n });\n });\n if (!allowed) throw error(403, \"You do not have permission to edit this definition.\");\n return user;\n}\nconst access_server = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n assertAnyPlatformPermission,\n assertManageCompute,\n assertManageDefinitions,\n assertManageInstanceUsers,\n assertManageProjects,\n assertPagePermission,\n projectAccessInputFromRows,\n requireAnyPlatformPermission,\n requireCanCreateDefinition,\n requireCanCreateProject,\n requireCanEdit,\n requireCanEditDefinition,\n requireCanEditProjectSettings,\n requireCanManage,\n requireCanManageMembers,\n requireCanReclaim,\n requireCanSolve,\n requireCanViewProject,\n requireEditableDefinition,\n requireInstanceAdmin,\n requireManageCompute,\n requireManageDefinitions,\n requireManageInstanceUsers,\n requireManageOrgCompute,\n requireManageOrgMembers,\n requireManageProjects,\n requirePermission,\n requireTargetIsOrgMember,\n throwProviderError\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n canEdit as A,\n access_server as B,\n assertAnyPlatformPermission as a,\n requireInstanceAdmin as b,\n requirePermission as c,\n requireManageInstanceUsers as d,\n assertPagePermission as e,\n assertManageCompute as f,\n assertManageInstanceUsers as g,\n requireCanEditDefinition as h,\n requireCanSolve as i,\n requireCanCreateDefinition as j,\n requireEditableDefinition as k,\n requireCanViewProject as l,\n requireManageOrgMembers as m,\n requireManageOrgCompute as n,\n requireCanCreateProject as o,\n requireCanManage as p,\n requireCanEditProjectSettings as q,\n requireManageCompute as r,\n canChangeVisibilityToPublic as s,\n requireCanManageMembers as t,\n requireTargetIsOrgMember as u,\n checkOwnerRemoval as v,\n withAdminBypass as w,\n requireCanReclaim as x,\n canView as y,\n projectAccessInputFromRows as z\n};\n"],"names":[],"mappings":"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"}