@selvajs/selva 4.0.0 → 4.2.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 (337) hide show
  1. package/build/client/_app/immutable/assets/0.vgCL98o5.css +1 -0
  2. package/build/client/_app/immutable/assets/0.vgCL98o5.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.vgCL98o5.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{DGr_EUx4.js → 2n-qzJg2.js} +1 -1
  5. package/build/client/_app/immutable/chunks/2n-qzJg2.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/2n-qzJg2.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DT5O4b-_.js → BQ0arxbK.js} +1 -1
  8. package/build/client/_app/immutable/chunks/BQ0arxbK.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BQ0arxbK.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{7DlWX6a_.js → C1kpvSgW.js} +1 -1
  11. package/build/client/_app/immutable/chunks/C1kpvSgW.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/C1kpvSgW.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{C_pyGEAV.js → C98bdhQ5.js} +1 -1
  14. package/build/client/_app/immutable/chunks/C98bdhQ5.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/C98bdhQ5.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/D-Fls4-N.js +1 -0
  17. package/build/client/_app/immutable/chunks/D-Fls4-N.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/D-Fls4-N.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{7OGPJeUM.js → D37hHIb0.js} +1 -1
  20. package/build/client/_app/immutable/chunks/D37hHIb0.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/D37hHIb0.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{D0kO1GS0.js → DNu_no60.js} +1 -1
  23. package/build/client/_app/immutable/chunks/DNu_no60.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DNu_no60.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/snZK0J5H.js +1 -0
  26. package/build/client/_app/immutable/chunks/snZK0J5H.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/snZK0J5H.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/app.1YljYqLj.js +2 -0
  29. package/build/client/_app/immutable/entry/app.1YljYqLj.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.1YljYqLj.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.C41rnrMx.js +1 -0
  32. package/build/client/_app/immutable/entry/start.C41rnrMx.js.br +0 -0
  33. package/build/client/_app/immutable/entry/start.C41rnrMx.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{1.NC0eJqYH.js → 1.5JE3G8iG.js} +1 -1
  35. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js +2 -0
  38. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{13.DoCSNk6B.js → 13.D5OdE_HH.js} +1 -1
  41. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{14.CGaF6W-i.js → 14.UGx5pLUS.js} +1 -1
  44. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/15.czhLtsoD.js +13 -0
  47. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{16.CK0W0845.js → 16.CqZNgdz-.js} +1 -1
  50. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{17.BLCtgsLP.js → 17.B1PHOW1Y.js} +1 -1
  53. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{19.Dx5b18Qv.js → 19.ClB_k0uw.js} +1 -1
  56. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{2.BxDq9fgp.js → 2.uPLLf3gR.js} +1 -1
  59. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{20.Q9tlws_F.js → 20.C5BF7igP.js} +1 -1
  62. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{21.Bbzr4DP5.js → 21.B1xX86Nz.js} +1 -1
  65. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/23.BWuAu45o.js +16 -0
  68. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{24.B-_Qylvh.js → 24.DSWGE_q2.js} +1 -1
  71. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{27.CKQ1fXCy.js → 27.CjlEhW_1.js} +1 -1
  74. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{28.COTXtjAd.js → 28.U-BnDxlP.js} +1 -1
  77. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{29.C1uWJrpk.js → 29.cl9udKxV.js} +1 -1
  80. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{3.D5k6nFAD.js → 3.UKn7Q9OQ.js} +1 -1
  83. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{30.iBr8WuRu.js → 30.DPqPYAg4.js} +1 -1
  86. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{5.BNy6hwdy.js → 5.CbYguvwB.js} +1 -1
  89. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.br +2 -0
  90. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{6.CaYtdaf2.js → 6.DZgUvAex.js} +1 -1
  92. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{7.C1W_YRKU.js → 7.Cv7r8DBm.js} +1 -1
  95. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{8.B9sIt6MS.js → 8.zr3bqaC_.js} +1 -1
  98. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/9.B2PU0xej.js +1 -0
  101. package/build/client/_app/immutable/nodes/9.B2PU0xej.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/9.B2PU0xej.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/server/chunks/{0-RraSrE7U.js → 0-v49L2HZX.js} +3 -3
  107. package/build/server/chunks/{0-RraSrE7U.js.map → 0-v49L2HZX.js.map} +1 -1
  108. package/build/server/chunks/{1-C99xqG8L.js → 1-B8xC9fBg.js} +2 -2
  109. package/build/server/chunks/{1-C99xqG8L.js.map → 1-B8xC9fBg.js.map} +1 -1
  110. package/build/server/chunks/{10-CpPov-q6.js → 10-BowWygfm.js} +4 -3
  111. package/build/server/chunks/{10-CpPov-q6.js.map → 10-BowWygfm.js.map} +1 -1
  112. package/build/server/chunks/{11-CgEVkMbf.js → 11-BLjiJpX4.js} +5 -5
  113. package/build/server/chunks/11-BLjiJpX4.js.map +1 -0
  114. package/build/server/chunks/{13-BsoV45dx.js → 13-CZeQX-Gk.js} +2 -2
  115. package/build/server/chunks/{13-BsoV45dx.js.map → 13-CZeQX-Gk.js.map} +1 -1
  116. package/build/server/chunks/{14-B3BJJIn3.js → 14-VgzSpObZ.js} +2 -2
  117. package/build/server/chunks/{14-B3BJJIn3.js.map → 14-VgzSpObZ.js.map} +1 -1
  118. package/build/server/chunks/{15-BqYjEVaA.js → 15-CKqEgZmF.js} +6 -5
  119. package/build/server/chunks/15-CKqEgZmF.js.map +1 -0
  120. package/build/server/chunks/{16-CQEqybxD.js → 16-9hO-6bzO.js} +5 -4
  121. package/build/server/chunks/{16-CQEqybxD.js.map → 16-9hO-6bzO.js.map} +1 -1
  122. package/build/server/chunks/{17-DPHGdRIj.js → 17-B9Aw6HdC.js} +2 -2
  123. package/build/server/chunks/{17-DPHGdRIj.js.map → 17-B9Aw6HdC.js.map} +1 -1
  124. package/build/server/chunks/{19-CkJN0M4_.js → 19-C9FaW__N.js} +2 -2
  125. package/build/server/chunks/{19-CkJN0M4_.js.map → 19-C9FaW__N.js.map} +1 -1
  126. package/build/server/chunks/{2-BJb8QIPX.js → 2-CwQhh3Hg.js} +5 -4
  127. package/build/server/chunks/{2-BJb8QIPX.js.map → 2-CwQhh3Hg.js.map} +1 -1
  128. package/build/server/chunks/{20-DGeV-MBL.js → 20-52YCUMK3.js} +6 -7
  129. package/build/server/chunks/20-52YCUMK3.js.map +1 -0
  130. package/build/server/chunks/{21-BQWXIChZ.js → 21-Dcz_2iKy.js} +2 -2
  131. package/build/server/chunks/{21-BQWXIChZ.js.map → 21-Dcz_2iKy.js.map} +1 -1
  132. package/build/server/chunks/{23-BmGaVmjO.js → 23-C-gTGofY.js} +5 -5
  133. package/build/server/chunks/{23-BmGaVmjO.js.map → 23-C-gTGofY.js.map} +1 -1
  134. package/build/server/chunks/{24-DC5Qi8Sm.js → 24-ukwP0nYw.js} +2 -2
  135. package/build/server/chunks/{24-DC5Qi8Sm.js.map → 24-ukwP0nYw.js.map} +1 -1
  136. package/build/server/chunks/{27-CJsZbiCR.js → 27-C9kRY1qj.js} +2 -2
  137. package/build/server/chunks/{27-CJsZbiCR.js.map → 27-C9kRY1qj.js.map} +1 -1
  138. package/build/server/chunks/{28-D6UoeYd3.js → 28-X583jLPJ.js} +2 -2
  139. package/build/server/chunks/{28-D6UoeYd3.js.map → 28-X583jLPJ.js.map} +1 -1
  140. package/build/server/chunks/{29-DZgNMmXD.js → 29-PJhSN-Wu.js} +2 -2
  141. package/build/server/chunks/{29-DZgNMmXD.js.map → 29-PJhSN-Wu.js.map} +1 -1
  142. package/build/server/chunks/{3-OhWAE0Wx.js → 3-DZiroZZA.js} +2 -2
  143. package/build/server/chunks/{3-OhWAE0Wx.js.map → 3-DZiroZZA.js.map} +1 -1
  144. package/build/server/chunks/{30-B_GStKPy.js → 30-DvqVphAd.js} +2 -2
  145. package/build/server/chunks/{30-B_GStKPy.js.map → 30-DvqVphAd.js.map} +1 -1
  146. package/build/server/chunks/{5-DLhfWemT.js → 5-QlPeCe4d.js} +2 -2
  147. package/build/server/chunks/{5-DLhfWemT.js.map → 5-QlPeCe4d.js.map} +1 -1
  148. package/build/server/chunks/{6-DnjCwAlp.js → 6-3t8NszBJ.js} +2 -2
  149. package/build/server/chunks/{6-DnjCwAlp.js.map → 6-3t8NszBJ.js.map} +1 -1
  150. package/build/server/chunks/{7-leNovc1s.js → 7-DgFxSLWj.js} +2 -2
  151. package/build/server/chunks/{7-leNovc1s.js.map → 7-DgFxSLWj.js.map} +1 -1
  152. package/build/server/chunks/{8-CAx64_UW.js → 8-BKivPkMd.js} +2 -2
  153. package/build/server/chunks/{8-CAx64_UW.js.map → 8-BKivPkMd.js.map} +1 -1
  154. package/build/server/chunks/{9-Dq-RLXVq.js → 9-COv3kpjW.js} +3 -3
  155. package/build/server/chunks/{9-Dq-RLXVq.js.map → 9-COv3kpjW.js.map} +1 -1
  156. package/build/server/chunks/{_page.svelte-DAu2h8jG.js → _page.svelte-CSZEgmHp.js} +5 -5
  157. package/build/server/chunks/_page.svelte-CSZEgmHp.js.map +1 -0
  158. package/build/server/chunks/{_page.svelte-DFgszLSu.js → _page.svelte-DSPm244d.js} +32 -11
  159. package/build/server/chunks/_page.svelte-DSPm244d.js.map +1 -0
  160. package/build/server/chunks/{_page.svelte-BXyLutv1.js → _page.svelte-DSYaUquf.js} +4 -17
  161. package/build/server/chunks/_page.svelte-DSYaUquf.js.map +1 -0
  162. package/build/server/chunks/{_page.svelte-Dz-6_oW1.js → _page.svelte-DlnKE8Z9.js} +382 -35
  163. package/build/server/chunks/_page.svelte-DlnKE8Z9.js.map +1 -0
  164. package/build/server/chunks/{_server.ts-aUFaewu4.js → _server.ts-17aVSHOa.js} +4 -3
  165. package/build/server/chunks/{_server.ts-aUFaewu4.js.map → _server.ts-17aVSHOa.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-BLC5g2H_.js → _server.ts-4eVxyBg6.js} +4 -3
  167. package/build/server/chunks/{_server.ts-BLC5g2H_.js.map → _server.ts-4eVxyBg6.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-BeyEUs6I.js → _server.ts-8ahOmk_6.js} +4 -3
  169. package/build/server/chunks/{_server.ts-BeyEUs6I.js.map → _server.ts-8ahOmk_6.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-DXqr0BIr.js → _server.ts-B0qq-nxh.js} +3 -3
  171. package/build/server/chunks/{_server.ts-DXqr0BIr.js.map → _server.ts-B0qq-nxh.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-BTWwyruR.js → _server.ts-B7X5-4kS.js} +4 -3
  173. package/build/server/chunks/{_server.ts-BTWwyruR.js.map → _server.ts-B7X5-4kS.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-CqCIfPI0.js → _server.ts-B7Z1RMy4.js} +4 -3
  175. package/build/server/chunks/{_server.ts-CqCIfPI0.js.map → _server.ts-B7Z1RMy4.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-CnVtonm0.js → _server.ts-BL7-YPnc.js} +4 -3
  177. package/build/server/chunks/{_server.ts-CnVtonm0.js.map → _server.ts-BL7-YPnc.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-B-1avpfE.js → _server.ts-BRjl7H1o.js} +4 -3
  179. package/build/server/chunks/{_server.ts-B-1avpfE.js.map → _server.ts-BRjl7H1o.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-k9Y_t-wX.js → _server.ts-B_KQteIy.js} +4 -3
  181. package/build/server/chunks/{_server.ts-k9Y_t-wX.js.map → _server.ts-B_KQteIy.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-Bkr-33U0.js → _server.ts-BiJbME_l.js} +3 -4
  183. package/build/server/chunks/_server.ts-BiJbME_l.js.map +1 -0
  184. package/build/server/chunks/{_server.ts-Dw630Jb2.js → _server.ts-Bq2BT6_L.js} +3 -4
  185. package/build/server/chunks/_server.ts-Bq2BT6_L.js.map +1 -0
  186. package/build/server/chunks/{_server.ts-C3CKmKpW.js → _server.ts-BqsgEogJ.js} +4 -3
  187. package/build/server/chunks/{_server.ts-C3CKmKpW.js.map → _server.ts-BqsgEogJ.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-C2A_Oiwe.js → _server.ts-BtXdHfbr.js} +4 -3
  189. package/build/server/chunks/{_server.ts-C2A_Oiwe.js.map → _server.ts-BtXdHfbr.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-EOYMi5x8.js → _server.ts-C-8S5O0H.js} +4 -3
  191. package/build/server/chunks/{_server.ts-EOYMi5x8.js.map → _server.ts-C-8S5O0H.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-BUEUSAPc.js → _server.ts-C3sOwl5l.js} +4 -3
  193. package/build/server/chunks/{_server.ts-BUEUSAPc.js.map → _server.ts-C3sOwl5l.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-BHizTPVg.js → _server.ts-CKvfxWeo.js} +4 -3
  195. package/build/server/chunks/{_server.ts-BHizTPVg.js.map → _server.ts-CKvfxWeo.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-D9iabXf8.js → _server.ts-CMKxt34Z.js} +4 -3
  197. package/build/server/chunks/{_server.ts-D9iabXf8.js.map → _server.ts-CMKxt34Z.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-C-w9ogA2.js → _server.ts-COWH7HN8.js} +4 -3
  199. package/build/server/chunks/{_server.ts-C-w9ogA2.js.map → _server.ts-COWH7HN8.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-Dp3_io85.js → _server.ts-CUcFObAP.js} +4 -3
  201. package/build/server/chunks/{_server.ts-Dp3_io85.js.map → _server.ts-CUcFObAP.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-Bm14E-bx.js → _server.ts-CW_1VZGk.js} +4 -3
  203. package/build/server/chunks/{_server.ts-Bm14E-bx.js.map → _server.ts-CW_1VZGk.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-DWAwxfXk.js → _server.ts-CXYPZtry.js} +4 -3
  205. package/build/server/chunks/{_server.ts-DWAwxfXk.js.map → _server.ts-CXYPZtry.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-C52CTPlo.js → _server.ts-Cbe4naEr.js} +4 -3
  207. package/build/server/chunks/{_server.ts-C52CTPlo.js.map → _server.ts-Cbe4naEr.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-BIQdiZfW.js → _server.ts-D4mOhrFH.js} +4 -3
  209. package/build/server/chunks/{_server.ts-BIQdiZfW.js.map → _server.ts-D4mOhrFH.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-DzG1eKRC.js → _server.ts-DK7t4rlY.js} +4 -3
  211. package/build/server/chunks/{_server.ts-DzG1eKRC.js.map → _server.ts-DK7t4rlY.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-BXJAFFdr.js → _server.ts-DMnMoi_a.js} +4 -3
  213. package/build/server/chunks/{_server.ts-BXJAFFdr.js.map → _server.ts-DMnMoi_a.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-BTSLBiLL.js → _server.ts-DgTNMZbG.js} +3 -3
  215. package/build/server/chunks/{_server.ts-BTSLBiLL.js.map → _server.ts-DgTNMZbG.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-DiJ2px88.js → _server.ts-DpkIJe-d.js} +4 -3
  217. package/build/server/chunks/{_server.ts-DiJ2px88.js.map → _server.ts-DpkIJe-d.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-CpC3cdzG.js → _server.ts-DsFj_8lL.js} +4 -3
  219. package/build/server/chunks/{_server.ts-CpC3cdzG.js.map → _server.ts-DsFj_8lL.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DcRwP_gQ.js → _server.ts-Dsoq_gsI.js} +3 -3
  221. package/build/server/chunks/{_server.ts-DcRwP_gQ.js.map → _server.ts-Dsoq_gsI.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BKtKkHZS.js → _server.ts-Du-NpBy4.js} +11 -6
  223. package/build/server/chunks/_server.ts-Du-NpBy4.js.map +1 -0
  224. package/build/server/chunks/{_server.ts-DuC2r20u.js → _server.ts-EnuOtr_j.js} +8 -6
  225. package/build/server/chunks/_server.ts-EnuOtr_j.js.map +1 -0
  226. package/build/server/chunks/_server.ts-ODEutN30.js +75 -0
  227. package/build/server/chunks/_server.ts-ODEutN30.js.map +1 -0
  228. package/build/server/chunks/{_server.ts-BOCvzY_U.js → _server.ts-bONEWPMV.js} +4 -3
  229. package/build/server/chunks/{_server.ts-BOCvzY_U.js.map → _server.ts-bONEWPMV.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-CJ8oDVHC.js → _server.ts-t9_veBtJ.js} +3 -2
  231. package/build/server/chunks/{_server.ts-CJ8oDVHC.js.map → _server.ts-t9_veBtJ.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-DDHHklcd.js → _server.ts-vURDyV-V.js} +4 -3
  233. package/build/server/chunks/{_server.ts-DDHHklcd.js.map → _server.ts-vURDyV-V.js.map} +1 -1
  234. package/build/server/chunks/{access.server-CGwRj2TY.js → access.server-BBglojso.js} +3 -2
  235. package/build/server/chunks/{access.server-CGwRj2TY.js.map → access.server-BBglojso.js.map} +1 -1
  236. package/build/server/chunks/{api-errors-b2AR_m1A.js → api-errors-agQVBoep.js} +21 -3
  237. package/build/server/chunks/api-errors-agQVBoep.js.map +1 -0
  238. package/build/server/chunks/refresh-cw-CiiW6Kvx.js +22 -0
  239. package/build/server/chunks/refresh-cw-CiiW6Kvx.js.map +1 -0
  240. package/build/server/chunks/{resolve.server2-BXKCfGfg.js → resolve.server-BXKCfGfg.js} +1 -1
  241. package/build/server/chunks/resolve.server-BXKCfGfg.js.map +1 -0
  242. package/build/server/chunks/triangle-alert-DuaFagu6.js +20 -0
  243. package/build/server/chunks/triangle-alert-DuaFagu6.js.map +1 -0
  244. package/build/server/index.js +1 -1
  245. package/build/server/index.js.map +1 -1
  246. package/build/server/manifest.js +67 -60
  247. package/build/server/manifest.js.map +1 -1
  248. package/package.json +5 -5
  249. package/build/client/_app/immutable/assets/0.D882LCPK.css +0 -1
  250. package/build/client/_app/immutable/assets/0.D882LCPK.css.br +0 -0
  251. package/build/client/_app/immutable/assets/0.D882LCPK.css.gz +0 -0
  252. package/build/client/_app/immutable/chunks/7DlWX6a_.js.br +0 -0
  253. package/build/client/_app/immutable/chunks/7DlWX6a_.js.gz +0 -0
  254. package/build/client/_app/immutable/chunks/7OGPJeUM.js.br +0 -0
  255. package/build/client/_app/immutable/chunks/7OGPJeUM.js.gz +0 -0
  256. package/build/client/_app/immutable/chunks/C_pyGEAV.js.br +0 -0
  257. package/build/client/_app/immutable/chunks/C_pyGEAV.js.gz +0 -0
  258. package/build/client/_app/immutable/chunks/D0kO1GS0.js.br +0 -0
  259. package/build/client/_app/immutable/chunks/D0kO1GS0.js.gz +0 -0
  260. package/build/client/_app/immutable/chunks/DGr_EUx4.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/DGr_EUx4.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/DT5O4b-_.js.br +0 -0
  263. package/build/client/_app/immutable/chunks/DT5O4b-_.js.gz +0 -0
  264. package/build/client/_app/immutable/entry/app.DFWfpqb0.js +0 -2
  265. package/build/client/_app/immutable/entry/app.DFWfpqb0.js.br +0 -0
  266. package/build/client/_app/immutable/entry/app.DFWfpqb0.js.gz +0 -0
  267. package/build/client/_app/immutable/entry/start.-fCdkvY6.js +0 -1
  268. package/build/client/_app/immutable/entry/start.-fCdkvY6.js.br +0 -2
  269. package/build/client/_app/immutable/entry/start.-fCdkvY6.js.gz +0 -0
  270. package/build/client/_app/immutable/nodes/1.NC0eJqYH.js.br +0 -0
  271. package/build/client/_app/immutable/nodes/1.NC0eJqYH.js.gz +0 -0
  272. package/build/client/_app/immutable/nodes/11.DegwSwS4.js +0 -2
  273. package/build/client/_app/immutable/nodes/11.DegwSwS4.js.br +0 -0
  274. package/build/client/_app/immutable/nodes/11.DegwSwS4.js.gz +0 -0
  275. package/build/client/_app/immutable/nodes/13.DoCSNk6B.js.br +0 -0
  276. package/build/client/_app/immutable/nodes/13.DoCSNk6B.js.gz +0 -0
  277. package/build/client/_app/immutable/nodes/14.CGaF6W-i.js.br +0 -0
  278. package/build/client/_app/immutable/nodes/14.CGaF6W-i.js.gz +0 -0
  279. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js +0 -16
  280. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js.br +0 -0
  281. package/build/client/_app/immutable/nodes/15.CCL52sqQ.js.gz +0 -0
  282. package/build/client/_app/immutable/nodes/16.CK0W0845.js.br +0 -0
  283. package/build/client/_app/immutable/nodes/16.CK0W0845.js.gz +0 -0
  284. package/build/client/_app/immutable/nodes/17.BLCtgsLP.js.br +0 -0
  285. package/build/client/_app/immutable/nodes/17.BLCtgsLP.js.gz +0 -0
  286. package/build/client/_app/immutable/nodes/19.Dx5b18Qv.js.br +0 -0
  287. package/build/client/_app/immutable/nodes/19.Dx5b18Qv.js.gz +0 -0
  288. package/build/client/_app/immutable/nodes/2.BxDq9fgp.js.br +0 -0
  289. package/build/client/_app/immutable/nodes/2.BxDq9fgp.js.gz +0 -0
  290. package/build/client/_app/immutable/nodes/20.Q9tlws_F.js.br +0 -0
  291. package/build/client/_app/immutable/nodes/20.Q9tlws_F.js.gz +0 -0
  292. package/build/client/_app/immutable/nodes/21.Bbzr4DP5.js.br +0 -0
  293. package/build/client/_app/immutable/nodes/21.Bbzr4DP5.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js +0 -16
  295. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js.br +0 -0
  296. package/build/client/_app/immutable/nodes/23.fhNJrKbS.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/24.B-_Qylvh.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/24.B-_Qylvh.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/27.CKQ1fXCy.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/27.CKQ1fXCy.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/28.COTXtjAd.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/28.COTXtjAd.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/29.C1uWJrpk.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/29.C1uWJrpk.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/3.D5k6nFAD.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/3.D5k6nFAD.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/30.iBr8WuRu.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/30.iBr8WuRu.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/5.BNy6hwdy.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/5.BNy6hwdy.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/6.CaYtdaf2.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/6.CaYtdaf2.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/7.C1W_YRKU.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/7.C1W_YRKU.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/8.B9sIt6MS.js.br +0 -0
  316. package/build/client/_app/immutable/nodes/8.B9sIt6MS.js.gz +0 -0
  317. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js +0 -1
  318. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js.br +0 -0
  319. package/build/client/_app/immutable/nodes/9.K1-nNvYh.js.gz +0 -0
  320. package/build/server/chunks/11-CgEVkMbf.js.map +0 -1
  321. package/build/server/chunks/15-BqYjEVaA.js.map +0 -1
  322. package/build/server/chunks/20-DGeV-MBL.js.map +0 -1
  323. package/build/server/chunks/_page.svelte-BXyLutv1.js.map +0 -1
  324. package/build/server/chunks/_page.svelte-DAu2h8jG.js.map +0 -1
  325. package/build/server/chunks/_page.svelte-DFgszLSu.js.map +0 -1
  326. package/build/server/chunks/_page.svelte-Dz-6_oW1.js.map +0 -1
  327. package/build/server/chunks/_server.ts-BKtKkHZS.js.map +0 -1
  328. package/build/server/chunks/_server.ts-Bkr-33U0.js.map +0 -1
  329. package/build/server/chunks/_server.ts-DuC2r20u.js.map +0 -1
  330. package/build/server/chunks/_server.ts-Dw630Jb2.js.map +0 -1
  331. package/build/server/chunks/api-errors-b2AR_m1A.js.map +0 -1
  332. package/build/server/chunks/resolve.server-C5wZnxS_.js +0 -11
  333. package/build/server/chunks/resolve.server-C5wZnxS_.js.map +0 -1
  334. package/build/server/chunks/resolve.server2-BXKCfGfg.js.map +0 -1
  335. /package/build/client/_app/immutable/nodes/{0.kNRjuE1r.js → 0.Y-xP5pet.js} +0 -0
  336. /package/build/client/_app/immutable/nodes/{0.kNRjuE1r.js.br → 0.Y-xP5pet.js.br} +0 -0
  337. /package/build/client/_app/immutable/nodes/{0.kNRjuE1r.js.gz → 0.Y-xP5pet.js.gz} +0 -0
@@ -1,16 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{ba as x,au as Lt,af as e,bk as L,a_ as n,aQ as at,ac as g,aN as ot,V as s,aK as Ur,aW as o,a as Mr,b7 as a,be as W,aJ as f,aP as it,bl as yt,M as Er,a8 as Or,$ as Lr}from"../chunks/DEk358l3.js";import{p as We,r as ut,c as h,a as mt,b as Qt,d as Rr,s as Fr}from"../chunks/DCBLBrrW.js";import{f as xr,e as nt,d as wt,s as U}from"../chunks/T-Nslbso.js";import{p as zr,c as ze,a as r,f as i,t as T}from"../chunks/DS1KfRtl.js";import{i as J}from"../chunks/BnZOgasr.js";import{k as Vr}from"../chunks/CYyqq9B1.js";import{a as Gr,g as jt,j as pt,e as gt,f as br,s as $r,b as Yt,r as St,k as or}from"../chunks/6CzuHfQM.js";import{h as Br}from"../chunks/DfVTcmam.js";import{i as ct,g as mr}from"../chunks/D0kO1GS0.js";import{p as qr}from"../chunks/DGr_EUx4.js";import{F as sr}from"../chunks/B-Kuf-9K.js";import{F as yr}from"../chunks/BaMCSMGs.js";import{D as Xt,b as Vt,c as Gt,a as Bt,R as Zt}from"../chunks/BeM-GIFh.js";import{L as He}from"../chunks/Uv0-HWHq.js";import{I as ft}from"../chunks/CDmA5ezP.js";import{d as er,T as wr,b as kr,c as Ft,a as zt}from"../chunks/BsKtJj5h.js";import{B as De}from"../chunks/CGKZc1Kf.js";import{U as Jr,D as Wt}from"../chunks/CynIvqMH.js";import{B as Pr}from"../chunks/Bma65zV8.js";import{X as kt}from"../chunks/Dr-qnmvi.js";import{t as Se}from"../chunks/BfHBnYuG.js";import{c as ur,b as nr}from"../chunks/C46MGZre.js";import{P as Kt}from"../chunks/BOsr6E_d.js";import{I as bt}from"../chunks/CE_gxD9G.js";import{U as ir}from"../chunks/KIV0kKdR.js";import{U as _r}from"../chunks/BihI7LuH.js";import{T as tr}from"../chunks/DqK2lhM-.js";import{E as fr}from"../chunks/BnIDUuJL.js";import{U as Hr}from"../chunks/DdEmEaOR.js";import{a as Wr,s as Kr,f as jr,m as Qr,h as Yr,S as Xr,V as Zr,D as ea}from"../chunks/-UMoMsui.js";import{s as lr}from"../chunks/9DES--UJ.js";import{c as ta}from"../chunks/BIIXkPqf.js";import{a as ra,d as aa,k as oa,l as na,h as Ht,v as sa}from"../chunks/BTm-dDt9.js";import{R as Dt,b as Nt,e as It,f as At,c as Tt,d as Ut,a as Mt,A as Et}from"../chunks/CNC_mCsM.js";import{C as ia}from"../chunks/DkVLFJC2.js";import{L as la}from"../chunks/DfbumCTS.js";import{C as hr}from"../chunks/DtFVCiwY.js";import{A as da}from"../chunks/BpQqe39G.js";import{S as ca}from"../chunks/BiG82jCv.js";import{S as va}from"../chunks/Diyh8RG-.js";const ua=Symbol();class fa extends URLSearchParams{#e=x(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}[ua](t){if(!this.#t){this.#t=!0;for(const c of[...super.keys()])super.delete(c);for(const[c,_]of t)super.append(c,_);Lt(this.#e),this.#t=!1}}append(t,c){super.append(t,c),this.#r(),Lt(this.#e)}delete(t,c){var _=super.has(t,c);super.delete(t,c),_&&(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,c){return e(this.#e),super.has(t,c)}keys(){return e(this.#e),super.keys()}set(t,c){var _=super.getAll(t).join("");super.set(t,c),_!==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 pa=null;function ga(){return pa}const ma=oa({component:"separator",parts:["root"]});class pr{static create(t){return new pr(t)}opts;attachment;constructor(t){this.opts=t,this.attachment=ra(t.ref)}#e=L(()=>({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,[ma.root]:"",...this.attachment}));get props(){return e(this.#e)}set props(t){n(this.#e,t)}}var _a=i("<div><!></div>");function ha(ge,t){const c=zr();at(t,!0);let _=We(t,"id",19,()=>na(c)),E=We(t,"ref",15,null),O=We(t,"decorative",3,!1),B=We(t,"orientation",3,"horizontal"),b=ut(t,["$$slots","$$events","$$legacy","id","ref","child","children","decorative","orientation"]);const k=pr.create({ref:Ht(()=>E(),le=>E(le)),id:Ht(()=>_()),decorative:Ht(()=>O()),orientation:Ht(()=>B())}),q=L(()=>sa(b,k.props));var ne=ze(),z=g(ne);{var he=le=>{var de=ze(),xe=g(de);lr(xe,()=>t.child,()=>({props:e(q)})),r(le,de)},ye=le=>{var de=_a();Gr(de,()=>({...e(q)}));var xe=s(de);lr(xe,()=>t.children??Ur),o(de),r(le,de)};J(z,le=>{t.child?le(he):le(ye,-1)})}r(ge,ne),ot()}function dr(ge,t){at(t,!0);let c=We(t,"ref",15,null),_=We(t,"data-slot",3,"separator"),E=ut(t,["$$slots","$$events","$$legacy","ref","class","data-slot"]);var O=ze(),B=g(O);{let b=L(()=>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));h(B,()=>ha,(k,q)=>{q(k,mt({get"data-slot"(){return _()},get class(){return e(b)}},()=>E,{get ref(){return c()},set ref(ne){c(ne)}}))})}r(ge,O),ot()}var xa=i('<div role="button" tabindex="-1" class="inset-0 bg-black/30 fixed z-50"></div> <div><!></div>',1);function Cr(ge,t){at(t,!0);let c=We(t,"width",3,"w-125"),_=We(t,"ariaLabel",3,"Close drawer");function E(q){q.key==="Escape"&&t.onClose()}var O=xa();xr("keydown",Mr,E);var B=g(O),b=a(B,2),k=s(b);lr(k,()=>t.children),o(b),W(()=>{jt(B,"aria-label",_()),pt(b,1,`animate-in slide-in-from-right-4 top-0 right-0 fixed z-50 flex h-full border-border bg-background ${c()??""} flex-col overflow-y-auto border-l duration-150`)}),nt("click",B,function(...q){t.onClose?.apply(this,q)}),nt("keydown",B,E),r(ge,O),ot()}wt(["click","keydown"]);var ba=i('<!> <span class="sm:inline hidden"> </span>',1),$a=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>'),ya=i('<div class="space-y-2"><div class="gap-1 p-0.5 flex rounded-md border"><!> <!></div> <!></div>');function Sr(ge,t){at(t,!0);let c=We(t,"mode",3,"url"),_=We(t,"value",3,""),E=We(t,"disabled",3,!1),O=We(t,"isUploading",3,!1),B=We(t,"hasFile",3,!1),b=We(t,"inputRef",15);var k=ya(),q=s(k),ne=s(q);{let de=L(()=>c()!=="upload"?"default":"ghost");De(ne,{size:"sm",get variant(){return e(de)},onclick:()=>t.onModeChange?.("url"),class:"h-7 text-xs flex-1",children:(xe,N)=>{f();var R=T("URL");r(xe,R)},$$slots:{default:!0}})}var z=a(ne,2);{let de=L(()=>c()==="upload"?"default":"ghost");De(z,{size:"sm",get variant(){return e(de)},onclick:()=>t.onModeChange?.("upload"),class:"h-7 text-xs flex-1",children:(xe,N)=>{f();var R=T("Upload File");r(xe,R)},$$slots:{default:!0}})}o(q);var he=a(q,2);{var ye=de=>{var xe=$a(),N=s(xe);Qt(N,pe=>b(pe),()=>b());var R=a(N,2);{let pe=L(()=>E()||!B()||O());De(R,{size:"sm",get disabled(){return e(pe)},get onclick(){return t.onUpload},class:"shrink-0",children:(A,Q)=>{var ke=ba(),we=g(ke);Jr(we,{class:"mr-2 h-4 w-4"});var Ne=a(we,2),je=s(Ne,!0);o(Ne),W(()=>U(je,O()?"Uploading…":"Upload")),r(A,ke)},$$slots:{default:!0}})}o(xe),W(()=>N.disabled=E()),nt("change",N,function(...pe){t.onFileSelected?.apply(this,pe)}),r(de,xe)},le=de=>{ft(de,{type:"text",get value(){return _()},get disabled(){return E()},oninput:xe=>t.onUrlChange?.(xe.target.value),placeholder:"https://..."})};J(he,de=>{c()==="upload"?de(ye):de(le,-1)})}o(k),r(ge,k),ot()}wt(["change"]);function wa(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"M20 6 9 17l-5-5"}]];bt(ge,mt({name:"check"},()=>c,{get iconNode(){return _}}))}function ka(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["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"}]];bt(ge,mt({name:"cloud-upload"},()=>c,{get iconNode(){return _}}))}function Pa(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];bt(ge,mt({name:"ellipsis"},()=>c,{get iconNode(){return _}}))}function ja(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M12 12v6"}],["path",{d:"m15 15-3-3-3 3"}]];bt(ge,mt({name:"file-up"},()=>c,{get iconNode(){return _}}))}function Ca(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["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"}]];bt(ge,mt({name:"image"},()=>c,{get iconNode(){return _}}))}function cr(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];bt(ge,mt({name:"play"},()=>c,{get iconNode(){return _}}))}function Dr(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"m21 21-4.34-4.34"}],["circle",{cx:"11",cy:"11",r:"8"}]];bt(ge,mt({name:"search"},()=>c,{get iconNode(){return _}}))}function Sa(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["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"}]];bt(ge,mt({name:"share-2"},()=>c,{get iconNode(){return _}}))}function vr(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}],["path",{d:"M12 9v4"}],["path",{d:"M12 17h.01"}]];bt(ge,mt({name:"triangle-alert"},()=>c,{get iconNode(){return _}}))}function Nr(ge,t){let c=ut(t,["$$slots","$$events","$$legacy"]);const _=[["path",{d:"M12 3v12"}],["path",{d:"m17 8-5-5-5 5"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}]];bt(ge,mt({name:"upload"},()=>c,{get iconNode(){return _}}))}const Rt=1e3;function Ir(ge,t){at(t,!0);let c=We(t,"placeholder",3,"Select a project");const _=L(()=>t.projects.map(E=>({id:E.id,label:E.name})));sr(ge,{get items(){return e(_)},get value(){return t.value},get onChange(){return t.onChange},get id(){return t.id},get placeholder(){return c()},get triggerIcon(){return yr},searchPlaceholder:"Filter projects"}),ot()}var Da=i("<!> <!>",1),Na=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>'),Aa=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>'),Ua=i("<div><!> <!></div>"),Ma=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>'),Oa=i('<div class="border-warning/40 bg-warning/5 rounded-md border p-3"><p class="text-warning text-xs font-medium">Validation warning</p> <p class="text-warning/80 mt-0.5 text-xs"> </p> <p class="text-warning/60 mt-1 text-xs">You can still upload the file.</p></div>'),La=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>'),Ra=i('Display Name <span class="text-destructive">*</span>',1),Fa=i(' <button type="button" class="ml-0.5 inline-flex items-center justify-center transition-opacity hover:opacity-70" title="Remove tag"><!></button>',1),za=i('<div class="mb-2 flex flex-wrap gap-2"></div>'),Va=i("<!> <!>",1),Ga=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 Ba(ge,t){at(t,!0);let c=We(t,"open",3,!1),_=We(t,"isAdding",3,!1),E=We(t,"projects",19,()=>[]),O=We(t,"computeServers",19,()=>[]),B=We(t,"defaultComputeServerId",3,null),b=We(t,"showProjectDropdown",3,!1),k=x(""),q=x(""),ne=x(""),z=x(it([])),he=x(""),ye=x("url"),le=x(""),de=x("");yt(()=>{t.defaultProjectId&&n(le,t.defaultProjectId,!0)}),yt(()=>{e(le)&&e(xe)?.files?.length&&!e(Q)&&!e(pe)&&we()});let xe=x(void 0),N=x(void 0),R=x(!1),pe=x(!1),A=x(null),Q=x(null);function ke(ce){return ce.name.replace(/\.(gh|ghx)$/i,"").replace(/[_-]/g," ").replace(/\b\w/g,me=>me.toUpperCase())}async function we(){const ce=e(xe)?.files?.[0];if(n(A,null),n(Q,null),n(q,""),n(z,[],!0),!ce){n(k,"");return}if(n(k,ke(ce),!0),!!e(le)){n(pe,!0);try{const me=new FormData;me.append("files",ce);const m=await fetch(`/api/compute/schema?projectId=${encodeURIComponent(e(le))}`,{method:"POST",body:me});if(m.status===404)return;const $=await m.json();if(!m.ok){n(A,$?.message??"Validation failed",!0);return}const d=$?.[0];if(!d)return;n(Q,d,!0),d.name&&n(k,d.name,!0),d.description&&n(q,d.description,!0),d.tags?.length&&n(z,d.tags,!0)}catch{}finally{n(pe,!1)}}}async function Ne(){if(!e(k).trim()){Se.error("Display name is required");return}if(!e(xe)?.files||e(xe).files.length===0){Se.error("A Grasshopper file is required");return}if(b()&&!e(le)){Se.error("Please pick a project");return}const ce=new FormData;ce.append("displayName",e(k).trim()),ce.append("description",e(q)),ce.append("category",e(ne)),ce.append("tags",e(z).join(",")),e(ye)==="upload"&&e(N)?.files?.[0]?ce.append("image",e(N).files[0]):e(ye)==="url"&&e(he).trim()&&ce.append("coverImage",e(he).trim()),ce.append("file",e(xe).files[0]),e(le)&&ce.append("projectId",e(le)),e(de)&&ce.append("computeServerId",e(de));try{await t.onSubmit?.(ce)}catch{}}function je(){n(k,""),n(q,""),n(ne,""),n(z,[],!0),n(he,""),n(ye,"url"),n(le,t.defaultProjectId??"",!0),n(de,""),n(pe,!1),n(A,null),n(Q,null),e(xe)&&(e(xe).value=""),e(N)&&(e(N).value=""),n(R,!1)}function Te(ce){ce||je(),t.onOpenChange?.(ce)}yt(()=>{c()||je()});var Ie=ze(),Z=g(Ie);h(Z,()=>Zt,(ce,me)=>{me(ce,{get open(){return c()},onOpenChange:Te,children:(m,$)=>{var d=ze(),j=g(d);h(j,()=>Xt,(y,v)=>{v(y,{class:"max-w-xl",children:(p,P)=>{var I=Ga(),ee=g(I);h(ee,()=>Vt,(oe,Ce)=>{Ce(oe,{children:(Ae,Qe)=>{var rt=Da(),lt=g(rt);h(lt,()=>Gt,(Ee,Ge)=>{Ge(Ee,{children:(Re,Oe)=>{f();var qe=T("Add New Definition");r(Re,qe)},$$slots:{default:!0}})});var st=a(lt,2);h(st,()=>Bt,(Ee,Ge)=>{Ge(Ee,{children:(Re,Oe)=>{f();var qe=T("Upload a Grasshopper file and fill in the metadata.");r(Re,qe)},$$slots:{default:!0}})}),r(Ae,rt)},$$slots:{default:!0}})});var w=a(ee,2),M=s(w);{var Y=oe=>{var Ce=Ua(),Ae=s(Ce);{var Qe=Ee=>{var Ge=Na(),Re=s(Ge);He(Re,{for:"new-project",children:(qe,tt)=>{f();var Je=T("Project");r(qe,Je)},$$slots:{default:!0}});var Oe=a(Re,2);Ir(Oe,{id:"new-project",get projects(){return E()},get value(){return e(le)},onChange:qe=>n(le,qe,!0)}),o(Ge),r(Ee,Ge)},rt=Ee=>{const Ge=L(()=>E().find(dt=>dt.id===t.defaultProjectId));var Re=Ia(),Oe=s(Re);He(Oe,{children:(dt,qt)=>{f();var Ct=T("Project");r(dt,Ct)},$$slots:{default:!0}});var qe=a(Oe,2),tt=s(qe),Je=s(tt,!0);o(tt),o(qe),o(Re),W(()=>U(Je,e(Ge)?.name??"Unknown")),r(Ee,Re)};J(Ae,Ee=>{b()?Ee(Qe):t.defaultProjectId&&Ee(rt,1)})}var lt=a(Ae,2);{var st=Ee=>{var Ge=Ta(),Re=s(Ge);He(Re,{for:"new-server",children:(tt,Je)=>{f();var dt=T("Compute Server");r(tt,dt)},$$slots:{default:!0}});var Oe=a(Re,2);gt(Oe,21,O,tt=>tt.id,(tt,Je)=>{var dt=Aa(),qt=s(dt);o(dt);var Ct={};W(()=>{U(qt,`${e(Je).label??""}${e(Je).id===B()?" (Default)":""}`),Ct!==(Ct=e(Je).id)&&(dt.value=(dt.__value=e(Je).id)??"")}),r(tt,dt)}),o(Oe);var qe;br(Oe),o(Ge),W(()=>{qe!==(qe=e(de)||(B()??""))&&(Oe.value=(Oe.__value=e(de)||(B()??""))??"",$r(Oe,e(de)||(B()??"")))}),nt("change",Oe,tt=>{const Je=tt.currentTarget.value;n(de,Je===B()?"":Je,!0)}),r(Ee,Ge)};J(lt,Ee=>{O().length>0&&Ee(st)})}o(Ce),W(()=>pt(Ce,1,`grid gap-3 ${b()&&O().length>0?"sm:grid-cols-2":""}`)),r(oe,Ce)};J(M,oe=>{(b()||O().length>0)&&oe(Y)})}var ve=a(M,2),se=s(ve);He(se,{for:"new-file",children:(oe,Ce)=>{f();var Ae=Ma();f(),r(oe,Ae)},$$slots:{default:!0}});var te=a(se,2);Qt(te,oe=>n(xe,oe),()=>e(xe));var be=a(te,2);{var ie=oe=>{var Ce=Ea();r(oe,Ce)},V=oe=>{var Ce=Oa(),Ae=a(s(Ce),2),Qe=s(Ae,!0);o(Ae),f(2),o(Ce),W(()=>U(Qe,e(A))),r(oe,Ce)},G=oe=>{var Ce=La(),Ae=s(Ce),Qe=a(s(Ae),2),rt=s(Qe);o(Qe),o(Ae),o(Ce),W(()=>U(rt,`${e(Q).inputs.length??""} input${e(Q).inputs.length===1?"":"s"},
2
- ${e(Q).outputs.length??""} output${e(Q).outputs.length===1?"":"s"}`)),r(oe,Ce)};J(be,oe=>{e(pe)?oe(ie):e(A)?oe(V,1):e(Q)&&oe(G,2)})}o(ve);var S=a(ve,2),C=s(S);He(C,{for:"new-dn",children:(oe,Ce)=>{f();var Ae=Ra();f(),r(oe,Ae)},$$slots:{default:!0}});var H=a(C,2);ft(H,{id:"new-dn",type:"text",placeholder:"e.g., Parametric Tower",get value(){return e(k)},set value(oe){n(k,oe,!0)}}),o(S);var X=a(S,2),_e=s(X);He(_e,{for:"new-desc",children:(oe,Ce)=>{f();var Ae=T("Description");r(oe,Ae)},$$slots:{default:!0}});var re=a(_e,2);er(re,{id:"new-desc",rows:3,placeholder:"Describe what this definition does…",get value(){return e(q)},set value(oe){n(q,oe,!0)}}),o(X);var ue=a(X,2),Pe=s(ue),Fe=s(Pe),F=s(Fe);He(F,{for:"new-cat",children:(oe,Ce)=>{f();var Ae=T("Category");r(oe,Ae)},$$slots:{default:!0}});var ae=a(F,2),fe=s(ae);o(ae),o(Fe);var K=a(Fe,2);ft(K,{id:"new-cat",type:"text",maxlength:40,placeholder:"e.g., Architecture",get value(){return e(ne)},set value(oe){n(ne,oe,!0)}}),o(Pe);var l=a(Pe,2),u=s(l),D=s(u);He(D,{for:"new-tags",children:(oe,Ce)=>{f();var Ae=T("Tags");r(oe,Ae)},$$slots:{default:!0}});var $e=a(D,2),Ue=s($e);o($e),o(u);var Ve=a(u,2);{var Le=oe=>{var Ce=za();gt(Ce,20,()=>e(z),Ae=>Ae,(Ae,Qe)=>{Pr(Ae,{variant:"outline",class:"cursor-pointer gap-1",children:(rt,lt)=>{f();var st=Fa(),Ee=g(st),Ge=a(Ee),Re=s(Ge);kt(Re,{class:"h-3 w-3"}),o(Ge),W(()=>U(Ee,`${Qe??""} `)),nt("click",Ge,()=>{n(z,e(z).filter(Oe=>Oe!==Qe),!0)}),r(rt,st)},$$slots:{default:!0}})}),o(Ce),r(oe,Ce)};J(Ve,oe=>{e(z).length>0&&oe(Le)})}var Be=a(Ve,2);{let oe=L(()=>e(z).length>=5);ft(Be,{id:"new-tags",type:"text",placeholder:"Add tag and press Enter",get disabled(){return e(oe)},onkeydown:Ce=>{if(Ce.key==="Enter"){Ce.preventDefault();const Ae=Ce.currentTarget,Qe=Ae.value.trim();Qe&&!e(z).includes(Qe)&&e(z).length<5&&(n(z,[...e(z),Qe],!0),Ae.value="")}}})}o(l),o(ue);var Xe=a(ue,2),Ke=s(Xe);He(Ke,{children:(oe,Ce)=>{f();var Ae=T("Cover Image");r(oe,Ae)},$$slots:{default:!0}});var et=a(Ke,2);Sr(et,{get mode(){return e(ye)},get value(){return e(he)},get hasFile(){return e(R)},onModeChange:oe=>n(ye,oe,!0),onUpload:()=>{},onFileSelected:()=>n(R,!!e(N)?.files?.length),onUrlChange:oe=>n(he,oe,!0),get inputRef(){return e(N)},set inputRef(oe){n(N,oe,!0)}}),o(Xe),o(w);var vt=a(w,2);h(vt,()=>Wt,(oe,Ce)=>{Ce(oe,{class:"gap-2 sm:justify-end",children:(Ae,Qe)=>{var rt=Va(),lt=g(rt);De(lt,{variant:"outline",onclick:()=>t.onOpenChange?.(!1),children:(Ee,Ge)=>{f();var Re=T("Cancel");r(Ee,Re)},$$slots:{default:!0}});var st=a(lt,2);{let Ee=L(()=>_()||e(pe));De(st,{onclick:Ne,get disabled(){return e(Ee)},children:(Ge,Re)=>{f();var Oe=T();W(()=>U(Oe,_()?"Creating…":e(pe)?"Validating…":"Create Definition")),r(Ge,Oe)},$$slots:{default:!0}})}r(Ae,rt)},$$slots:{default:!0}})}),W(()=>{U(fe,`${e(ne)?.length??0??""}/40`),U(Ue,`${e(z).length??""}/5`)}),nt("change",te,we),r(p,I)},$$slots:{default:!0}})}),r(m,d)},$$slots:{default:!0}})}),r(ge,Ie),ot()}wt(["change","click"]);var qa=i('<button class="text-muted-foreground hover:text-foreground rounded p-0.5 transition-colors" title="New project" aria-label="New project"><!></button>'),Ja=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>'),Ha=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>'),Wa=i('<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>'),Ka=i('<div class="border-border/60 my-2 border-t"></div>'),Qa=i('<span class="bg-primary absolute top-0 bottom-0 left-0 w-0.75" aria-hidden="true"></span>'),Ya=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>'),Za=i('<p class="text-muted-foreground px-2 py-4 text-center text-xs"> </p>'),eo=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> <span class="shrink-0 font-mono text-[11px] tabular-nums opacity-60"> </span></button> <!> <!> <!></nav></aside>');function to(ge,t){at(t,!0);let c=x(!1),_=x(""),E=x(""),O=x("public"),B=x(!1),b=x("");const k=L(()=>{const m=e(b).trim().toLowerCase();return m?t.projects.filter($=>$.name.toLowerCase().includes(m)):t.projects});async function q(){if(e(_).trim()){n(B,!0);try{await t.onCreate({name:e(_).trim(),description:e(E),visibility:e(O)}),n(_,""),n(E,""),n(O,"public"),n(c,!1)}finally{n(B,!1)}}}var ne=eo(),z=s(ne),he=a(s(z),2);{var ye=m=>{var $=qa(),d=s($);Kt(d,{class:"h-3.5 w-3.5"}),o($),nt("click",$,()=>n(c,!e(c))),r(m,$)};J(he,m=>{t.canManageProjects&&m(ye)})}o(z);var le=a(z,2);{var de=m=>{var $=Ja(),d=s($);ft(d,{placeholder:"Project name",class:"h-8 text-xs",get value(){return e(_)},set value(w){n(_,w,!0)}});var j=a(d,2),y=s(j);y.value=y.__value="public";var v=a(y);v.value=v.__value="org";var p=a(v);p.value=p.__value="private",o(j);var P=a(j,2),I=s(P);{let w=L(()=>e(B)||!e(_).trim());De(I,{onclick:q,get disabled(){return e(w)},size:"sm",class:"h-6 flex-1 text-xs",children:(M,Y)=>{f();var ve=T();W(()=>U(ve,e(B)?"…":"Create")),r(M,ve)},$$slots:{default:!0}})}var ee=a(I,2);De(ee,{onclick:()=>n(c,!1),variant:"ghost",size:"sm",class:"h-6 px-2 text-xs",children:(w,M)=>{kt(w,{class:"h-3 w-3"})},$$slots:{default:!0}}),o(P),o($),Yt(j,()=>e(O),w=>n(O,w)),r(m,$)};J(le,m=>{e(c)&&t.canManageProjects&&m(de)})}var xe=a(le,2);{var N=m=>{var $=Ha(),d=s($);Dr(d,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2"});var j=a(d,2);St(j),o($),ur(j,()=>e(b),y=>n(b,y)),r(m,$)};J(xe,m=>{t.projects.length>4&&m(N)})}var R=a(xe,2),pe=s(R),A=s(pe);{var Q=m=>{var $=Wa();r(m,$)};J(A,m=>{t.activeProjectId===null&&m(Q)})}var ke=a(A,2);yr(ke,{class:"h-3.5 w-3.5 shrink-0 opacity-70"});var we=a(ke,4),Ne=s(we,!0);o(we),o(pe);var je=a(pe,2);{var Te=m=>{var $=Ka();r(m,$)};J(je,m=>{e(k).length>0&&m(Te)})}var Ie=a(je,2);gt(Ie,17,()=>e(k),m=>m.id,(m,$)=>{const d=L(()=>t.activeProjectId===e($).id),j=L(()=>t.records.filter(M=>M.projectId===e($).id).length);var y=Ya(),v=s(y);{var p=M=>{var Y=Qa();r(M,Y)};J(v,M=>{e(d)&&M(p)})}var P=a(v,2),I=s(P,!0);o(P);var ee=a(P,2),w=s(ee,!0);o(ee),o(y),W(()=>{pt(y,1,`group relative flex w-full items-center gap-2 py-1.5 pr-2.5 text-left transition-colors ${e(d)?"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(I,e($).name),U(w,e(j))}),nt("click",y,()=>t.onSelect(e($).id)),r(m,y)});var Z=a(Ie,2);{var ce=m=>{var $=Xa();r(m,$)},me=m=>{var $=Za(),d=s($);o($),W(()=>U(d,`No matches for "${e(b)??""}"`)),r(m,$)};J(Z,m=>{t.projects.length===0?m(ce):e(k).length===0&&e(b)&&m(me,1)})}o(R),o(ne),W(()=>{pt(pe,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"}`),U(Ne,t.records.length)}),nt("click",pe,()=>t.onSelect(null)),r(ge,ne),ot()}wt(["click"]);var ro=i('<p class="text-muted-foreground px-3 py-6 text-center text-xs"> </p>'),ao=i('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),oo=i('<button type="button"><!> <div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <!></div></button>'),no=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),so=i('<p class="text-muted-foreground truncate font-mono text-xs"> </p>'),io=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>'),lo=i('<div class="border-border bg-card rounded-md border"><!></div>');function co(ge,t){at(t,!0);let c=x(""),_=x(0),E=x(null),O=x("viewer"),B=x(void 0);const b=L(()=>{const N=e(c).trim().toLowerCase();return N?t.availableUsers.filter(R=>{const pe=(R.displayName??"").toLowerCase(),A=(R.email??"").toLowerCase();return pe.includes(N)||A.includes(N)}).slice(0,50):t.availableUsers.slice(0,50)});yt(()=>{e(b),n(_,0)});function k(N){return N.displayName??N.email??N.id.slice(0,8)}function q(N){n(E,N,!0),n(c,"")}async function ne(){e(E)&&(await t.onAdd(e(E).id,e(O)),n(E,null),n(O,"viewer"))}function z(N){if(!e(E))if(N.key==="ArrowDown")N.preventDefault(),n(_,Math.min(e(_)+1,e(b).length-1),!0),he();else if(N.key==="ArrowUp")N.preventDefault(),n(_,Math.max(e(_)-1,0),!0),he();else if(N.key==="Enter"){N.preventDefault();const R=e(b)[e(_)];R&&q(R)}else N.key==="Escape"&&(N.preventDefault(),t.onCancel())}function he(){e(B)?.querySelector(`[data-idx="${e(_)}"]`)?.scrollIntoView({block:"nearest"})}var ye=lo(),le=s(ye);{var de=N=>{var R=no(),pe=g(R),A=s(pe);Dr(A,{class:"text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-3.5 w-3.5 -translate-y-1/2"});var Q=a(A,2);St(Q),Er(Q,!0);var ke=a(Q,2),we=s(ke);kt(we,{class:"h-3.5 w-3.5"}),o(ke),o(pe);var Ne=a(pe,2),je=s(Ne);{var Te=Z=>{var ce=ro(),me=s(ce,!0);o(ce),W(()=>U(me,t.availableUsers.length===0?"Everyone in this org is already on the project.":`No matches for "${e(c)}"`)),r(Z,ce)},Ie=Z=>{var ce=ze(),me=g(ce);gt(me,19,()=>e(b),m=>m.id,(m,$,d)=>{var j=oo(),y=s(j);{let w=L(()=>k(e($)));ir(y,{get name(){return e(w)},size:"sm"})}var v=a(y,2),p=s(v),P=s(p,!0);o(p);var I=a(p,2);{var ee=w=>{var M=ao(),Y=s(M,!0);o(M),W(()=>U(Y,e($).email)),r(w,M)};J(I,w=>{e($).displayName&&e($).email&&w(ee)})}o(v),o(j),W(w=>{jt(j,"data-idx",e(d)),pt(j,1,`flex w-full items-center gap-3 px-3 py-2 text-left transition-colors ${e(_)===e(d)?"bg-accent text-accent-foreground":"hover:bg-muted/60"}`),U(P,w)},[()=>k(e($))]),nt("click",j,()=>q(e($))),xr("mouseenter",j,()=>n(_,e(d),!0)),r(m,j)}),r(Z,ce)};J(je,Z=>{e(b).length===0?Z(Te):Z(Ie,-1)})}o(Ne),Qt(Ne,Z=>n(B,Z),()=>e(B)),nt("keydown",Q,z),ur(Q,()=>e(c),Z=>n(c,Z)),nt("click",ke,function(...Z){t.onCancel?.apply(this,Z)}),r(N,R)},xe=N=>{var R=io(),pe=s(R);{let m=L(()=>k(e(E)));ir(pe,{get name(){return e(m)},size:"sm"})}var A=a(pe,2),Q=s(A),ke=s(Q,!0);o(Q);var we=a(Q,2);{var Ne=m=>{var $=so(),d=s($,!0);o($),W(()=>U(d,e(E).email)),r(m,$)};J(we,m=>{e(E).email&&e(E).displayName&&m(Ne)})}o(A);var je=a(A,2),Te=s(je);Te.value=Te.__value="owner";var Ie=a(Te);Ie.value=Ie.__value="editor";var Z=a(Ie);Z.value=Z.__value="viewer",o(je);var ce=a(je,2);De(ce,{onclick:ne,get disabled(){return t.adding},size:"sm",children:(m,$)=>{f();var d=T();W(()=>U(d,t.adding?"Adding…":"Add")),r(m,d)},$$slots:{default:!0}});var me=a(ce,2);De(me,{onclick:()=>n(E,null),variant:"ghost",size:"icon",class:"text-muted-foreground h-8 w-8","aria-label":"Pick a different user",children:(m,$)=>{kt(m,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}}),o(R),W(m=>U(ke,m),[()=>k(e(E))]),Yt(je,()=>e(O),m=>n(O,m)),r(N,R)};J(le,N=>{e(E)?N(xe,-1):N(de)})}o(ye),r(ge,ye),ot()}wt(["keydown","click"]);var vo=i("<!> <!>",1),uo=i('<!> Members <span class="text-muted-foreground ml-1 font-mono text-[11px]"> </span>',1),fo=i("<!> <!>",1),po=i("<!> Delete project",1),go=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>'),_o=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>'),ho=i('<div class="border-border bg-card overflow-hidden rounded-md border"></div>'),xo=i("<!> Add member",1),bo=i("<!> <!>",1),$o=i("<!> <!> <!>",1),yo=i("<!> <!>",1);function wo(ge,t){at(t,!0);let c=x(it(t.project.name)),_=x(it(t.project.description??"")),E=x(it(t.project.visibility)),O=x(!1),B=x(!1),b=x(!1),k=x(null);function q(N){const R=t.users.find(pe=>pe.id===N);return R?.displayName??R?.email??N.slice(0,8)}function ne(N){return t.users.find(R=>R.id===N)?.email}const z=L(()=>{const N=new Set(t.project.members.map(R=>R.userId));return t.users.filter(R=>!N.has(R.id))});async function he(){n(O,!0);try{await t.onSave(t.project.id,{name:e(c),description:e(_),visibility:e(E)})}finally{n(O,!1)}}async function ye(N,R){n(b,!0);try{await t.onAddMember(t.project.id,N,R),n(B,!1)}finally{n(b,!1)}}async function le(N){n(k,N,!0);try{await t.onRemoveMember(t.project.id,N)}finally{n(k,null)}}var de=ze(),xe=g(de);h(xe,()=>Zt,(N,R)=>{R(N,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(pe,A)=>{var Q=ze(),ke=g(Q);h(ke,()=>Xt,(we,Ne)=>{Ne(we,{class:"max-w-lg",children:(je,Te)=>{var Ie=yo(),Z=g(Ie);h(Z,()=>Vt,(me,m)=>{m(me,{children:($,d)=>{var j=vo(),y=g(j);h(y,()=>Gt,(p,P)=>{P(p,{children:(I,ee)=>{f();var w=T("Project settings");r(I,w)},$$slots:{default:!0}})});var v=a(y,2);h(v,()=>Bt,(p,P)=>{P(p,{children:(I,ee)=>{f();var w=T("Manage this project's details and members.");r(I,w)},$$slots:{default:!0}})}),r($,j)},$$slots:{default:!0}})});var ce=a(Z,2);h(ce,()=>wr,(me,m)=>{m(me,{value:"general",class:"mt-2",children:($,d)=>{var j=$o(),y=g(j);h(y,()=>kr,(P,I)=>{I(P,{class:"grid w-full grid-cols-2",children:(ee,w)=>{var M=fo(),Y=g(M);h(Y,()=>Ft,(se,te)=>{te(se,{value:"general",children:(be,ie)=>{f();var V=T("General");r(be,V)},$$slots:{default:!0}})});var ve=a(Y,2);h(ve,()=>Ft,(se,te)=>{te(se,{value:"members",class:"gap-1.5",children:(be,ie)=>{var V=uo(),G=g(V);_r(G,{class:"h-3.5 w-3.5"});var S=a(G,2),C=s(S,!0);o(S),W(()=>U(C,t.project.members.length)),r(be,V)},$$slots:{default:!0}})}),r(ee,M)},$$slots:{default:!0}})});var v=a(y,2);h(v,()=>zt,(P,I)=>{I(P,{value:"general",class:"mt-4 space-y-4",children:(ee,w)=>{var M=go(),Y=g(M),ve=s(Y);He(ve,{for:"proj-name",children:(F,ae)=>{f();var fe=T("Name");r(F,fe)},$$slots:{default:!0}});var se=a(ve,2);ft(se,{id:"proj-name",get value(){return e(c)},set value(F){n(c,F,!0)}}),o(Y);var te=a(Y,2),be=s(te);He(be,{for:"proj-desc",children:(F,ae)=>{f();var fe=T("Description");r(F,fe)},$$slots:{default:!0}});var ie=a(be,2);er(ie,{id:"proj-desc",rows:2,get value(){return e(_)},set value(F){n(_,F,!0)}}),o(te);var V=a(te,2),G=s(V);He(G,{for:"proj-vis",children:(F,ae)=>{f();var fe=T("Visibility");r(F,fe)},$$slots:{default:!0}});var S=a(G,2),C=s(S);C.value=C.__value="public";var H=a(C);H.value=H.__value="org";var X=a(H);X.value=X.__value="private",o(S),o(V);var _e=a(V,2),re=s(_e);De(re,{onclick:()=>t.onDelete(t.project.id),variant:"ghost",size:"sm",class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(F,ae)=>{var fe=po(),K=g(fe);tr(K,{class:"h-3.5 w-3.5"}),f(),r(F,fe)},$$slots:{default:!0}});var ue=a(re,2),Pe=s(ue);De(Pe,{onclick:()=>t.onOpenChange(!1),variant:"outline",size:"sm",children:(F,ae)=>{f();var fe=T("Cancel");r(F,fe)},$$slots:{default:!0}});var Fe=a(Pe,2);De(Fe,{onclick:he,get disabled(){return e(O)},size:"sm",children:(F,ae)=>{f();var fe=T();W(()=>U(fe,e(O)?"Saving…":"Save")),r(F,fe)},$$slots:{default:!0}}),o(ue),o(_e),Yt(S,()=>e(E),F=>n(E,F)),r(ee,M)},$$slots:{default:!0}})});var p=a(v,2);h(p,()=>zt,(P,I)=>{I(P,{value:"members",class:"mt-4 space-y-3",children:(ee,w)=>{var M=bo(),Y=g(M);{var ve=V=>{fr(V,{size:"sm",get icon(){return _r},title:"No members yet",description:"Add members to control who can edit this project."})},se=V=>{var G=ho();gt(G,21,()=>t.project.members,S=>`${S.projectId}:${S.userId}`,(S,C)=>{var H=_o(),X=s(H);{let $e=L(()=>q(e(C).userId));ir(X,{get name(){return e($e)},size:"sm"})}var _e=a(X,2),re=s(_e),ue=s(re,!0);o(re);var Pe=a(re,2);{var Fe=$e=>{var Ue=mo(),Ve=s(Ue,!0);o(Ue),W(Le=>U(Ve,Le),[()=>ne(e(C).userId)]),r($e,Ue)},F=L(()=>ne(e(C).userId)&&ne(e(C).userId)!==q(e(C).userId));J(Pe,$e=>{e(F)&&$e(Fe)})}o(_e);var ae=a(_e,2),fe=s(ae);fe.value=fe.__value="owner";var K=a(fe);K.value=K.__value="editor";var l=a(K);l.value=l.__value="viewer",o(ae);var u;br(ae);var D=a(ae,2);{let $e=L(()=>e(k)===e(C).userId);De(D,{onclick:()=>le(e(C).userId),get disabled(){return e($e)},variant:"ghost",size:"icon",class:"text-muted-foreground hover:text-destructive h-7 w-7",children:(Ue,Ve)=>{kt(Ue,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}o(H),W($e=>{U(ue,$e),u!==(u=e(C).role)&&(ae.value=(ae.__value=e(C).role)??"",$r(ae,e(C).role))},[()=>q(e(C).userId)]),nt("change",ae,$e=>t.onUpdateMemberRole(t.project.id,e(C).userId,$e.target.value)),r(S,H)}),o(G),r(V,G)};J(Y,V=>{t.project.members.length===0&&!e(B)?V(ve):t.project.members.length>0&&V(se,1)})}var te=a(Y,2);{var be=V=>{co(V,{get availableUsers(){return e(z)},get adding(){return e(b)},onAdd:ye,onCancel:()=>n(B,!1)})},ie=V=>{De(V,{onclick:()=>n(B,!0),variant:"outline",size:"sm",class:"gap-1.5",children:(G,S)=>{var C=xo(),H=g(C);Hr(H,{class:"h-3.5 w-3.5"}),f(),r(G,C)},$$slots:{default:!0}})};J(te,V=>{e(B)?V(be):V(ie,-1)})}r(ee,M)},$$slots:{default:!0}})}),r($,j)},$$slots:{default:!0}})}),r(je,Ie)},$$slots:{default:!0}})}),r(pe,Q)},$$slots:{default:!0}})}),r(ge,de),ot()}wt(["change"]);var ko=i("<span><span></span> </span>");function Ar(ge,t){at(t,!0);let c=We(t,"class",3,"");var _=ko(),E=s(_),O=a(E);o(_),W((B,b)=>{pt(_,1,`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[11px] tracking-wide ${B??""} ${c()??""}`),pt(E,1,`h-1.5 w-1.5 rounded-full ${b??""}`),U(O,` ${t.status??""}`)},[()=>Wr(t.status),()=>Kr(t.status)]),r(ge,_),ot()}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>'),jo=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>'),Co=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>'),Do=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 No(ge,t){at(t,!0);const c="grid-template-columns: 40px 1.6fr 0.9fr 0.8fr 0.7fr 0.6fr 36px";function _(b){return t.projects.find(k=>k.id===b)?.name??""}var E=Do(),O=s(E);or(O,c);var B=a(O,2);gt(B,19,()=>t.records,b=>b.guid,(b,k,q)=>{var ne=So();or(ne,c);var z=s(ne);{var he=me=>{var m=Po(),$=s(m);o(m),W(()=>jt($,"src",e(k).coverImage)),r(me,m)},ye=me=>{const m=L(()=>Yr(e(k).guid));var $=jo();let d;var j=s($),y=s(j,!0);o(j),o($),W(v=>{d=or($,"",d,{"--tool-h1":e(m).h1,"--tool-h2":e(m).h2}),U(y,v)},[()=>Qr(e(k).displayName)]),r(me,$)};J(z,me=>{e(k).coverImage?me(he):me(ye,-1)})}var le=a(z,2),de=s(le),xe=s(de,!0);o(de);var N=a(de,2);{var R=me=>{var m=Co(),$=s(m);o(m),W(d=>U($,`${d??""}${e(k).description.length>60?"…":""}`),[()=>e(k).description.slice(0,60)]),r(me,m)};J(N,me=>{e(k).description&&me(R)})}o(le);var pe=a(le,2),A=s(pe,!0);o(pe);var Q=a(pe,2),ke=s(Q);Ar(ke,{get status(){return e(k).status}}),o(Q);var we=a(Q,2),Ne=s(we,!0);o(we);var je=a(we,2),Te=s(je,!0);o(je);var Ie=a(je,2),Z=s(Ie),ce=s(Z);Pa(ce,{class:"h-4 w-4"}),o(Z),o(Ie),o(ne),W((me,m,$)=>{pt(ne,1,`grid items-center gap-4 px-4 py-3 text-[13px] ${e(q)<t.records.length-1?"border-border border-b":""}`),U(xe,e(k).displayName),U(A,me),U(Ne,m),U(Te,$),jt(Z,"aria-label",`Open ${e(k).displayName??""}`)},[()=>_(e(k).projectId),()=>jr(e(k).updatedAt),()=>e(k).solveCount.toLocaleString()]),nt("click",Z,()=>t.onOpen(e(k))),r(b,ne)}),o(E),r(ge,E),ot()}wt(["click"]);var Io=i('<p class="text-muted-foreground mt-1 text-sm"> </p>'),Ao=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>'),Uo=i("<!> Run",1),Mo=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>'),Oo=i('<span class="bg-muted text-muted-foreground rounded px-2 py-0.5 font-mono text-[11px]"> </span>'),Lo=i('<div><!> <div class="flex flex-wrap gap-1.5"></div></div>'),Ro=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 Fo(ge,t){at(t,!0),Cr(ge,{get onClose(){return t.onClose},children:(c,_)=>{var E=Ro(),O=g(E),B=s(O),b=s(B),k=s(b);Ar(k,{get status(){return t.record.status}});var q=a(k,2),ne=s(q,!0);o(q),o(b);var z=a(b,2),he=s(z,!0);o(z);var ye=a(z,2);{var le=v=>{var p=Io(),P=s(p,!0);o(p),W(()=>U(P,t.record.description)),r(v,p)};J(ye,v=>{t.record.description&&v(le)})}o(B);var de=a(B,2);De(de,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"mt-0.5 h-8 w-8 shrink-0",children:(v,p)=>{kt(v,{class:"h-4 w-4"})},$$slots:{default:!0}}),o(O);var xe=a(O,2),N=s(xe);{var R=v=>{var p=Ao();W(()=>{jt(p,"src",t.record.coverImage),jt(p,"alt",t.record.displayName)}),r(v,p)},pe=v=>{var p=To();r(v,p)};J(N,v=>{t.record.coverImage?v(R):v(pe,-1)})}var A=a(N,2),Q=s(A);De(Q,{class:"flex-1",onclick:()=>t.onOpenRunner(t.record.guid,"live"),children:(v,p)=>{var P=Uo(),I=g(P);cr(I,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(v,P)},$$slots:{default:!0}});var ke=a(Q,2);{var we=v=>{var p=Mo(),P=g(p);{var I=w=>{De(w,{variant:"outline",size:"icon",onclick:()=>t.onShare(t.record),title:"Share links",children:(M,Y)=>{Sa(M,{class:"h-4 w-4"})},$$slots:{default:!0}})};J(P,w=>{t.showShare&&w(I)})}var ee=a(P,2);De(ee,{variant:"outline",onclick:()=>t.onEdit(t.record),children:(w,M)=>{f();var Y=T("Edit");r(w,Y)},$$slots:{default:!0}}),r(v,p)};J(ke,v=>{t.canEdit&&v(we)})}o(A);var Ne=a(A,2);dr(Ne,{});var je=a(Ne,2),Te=s(je),Ie=a(s(Te),2),Z=s(Ie);o(Ie),o(Te);var ce=a(Te,2),me=a(s(ce),2),m=s(me,!0);o(me),o(ce);var $=a(ce,2);{var d=v=>{var p=Eo(),P=a(s(p),2),I=s(P,!0);o(P),o(p),W(()=>U(I,t.record.category)),r(v,p)};J($,v=>{t.record.category&&v(d)})}o(je);var j=a(je,2);{var y=v=>{var p=Lo(),P=s(p);dr(P,{class:"mb-4"});var I=a(P,2);gt(I,20,()=>t.record.tags,ee=>ee,(ee,w)=>{var M=Oo(),Y=s(M);o(M),W(()=>U(Y,`#${w??""}`)),r(ee,M)}),o(I),o(p),r(v,p)};J(j,v=>{t.record.tags?.length&&v(y)})}o(xe),W((v,p)=>{U(ne,t.projectName),U(he,t.record.displayName),U(Z,`${v??""} ago`),U(m,p)},[()=>jr(t.record.updatedAt),()=>t.record.solveCount.toLocaleString()]),r(c,E)},$$slots:{default:!0}}),ot()}var zo=i(`The upload becomes <strong> </strong> as a draft. The live channel stays unchanged
3
- until you publish.`,1),Vo=i("<!> <!>",1),Go=i('<p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs">Click to choose a different file</p>',1),Bo=i('<p class="text-sm font-medium">Pick a .gh or .ghx file</p> <p class="text-muted-foreground text-xs"> </p>',1),qo=i('What changed? <span class="text-muted-foreground font-normal">(optional)</span>',1),Jo=i("<!> ",1),Ho=i("<!> <!>",1),Wo=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 Ko(ge,t){at(t,!0);let c=x(void 0),_=x(null),E=x(""),O=x(!1);yt(()=>{t.open||B()});function B(){n(_,null),n(E,""),n(O,!1),e(c)&&(e(c).value="")}function b(){n(_,e(c)?.files?.[0]?.name??null,!0)}async function k(){if(!e(c)?.files?.length)return;n(O,!0);const z=new FormData;z.append("file",e(c).files[0]),e(E).trim()&&z.append("changeNote",e(E).trim());try{const he=await fetch(`/api/definitions/${t.definitionGuid}`,{method:"POST",body:z});if(he.ok){const ye=await he.json();Se.success(`v${ye.version?.versionNumber??t.nextVersionNumber} uploaded as draft`),t.onUploaded(),await ct(),t.onOpenChange(!1)}else{const ye=await he.json().catch(()=>({}));Se.error(ye.message||ye.error||"Upload failed")}}catch{Se.error("Upload failed")}finally{n(O,!1)}}var q=ze(),ne=g(q);h(ne,()=>Zt,(z,he)=>{he(z,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(ye,le)=>{var de=ze(),xe=g(de);h(xe,()=>Xt,(N,R)=>{R(N,{class:"max-w-md",children:(pe,A)=>{var Q=Wo(),ke=g(Q);h(ke,()=>Vt,(p,P)=>{P(p,{children:(I,ee)=>{var w=Vo(),M=g(w);h(M,()=>Gt,(ve,se)=>{se(ve,{children:(te,be)=>{f();var ie=T("Upload new version");r(te,ie)},$$slots:{default:!0}})});var Y=a(M,2);h(Y,()=>Bt,(ve,se)=>{se(ve,{children:(te,be)=>{f();var ie=zo(),V=a(g(ie)),G=s(V);o(V),f(),W(()=>U(G,`v${t.nextVersionNumber??""}`)),r(te,ie)},$$slots:{default:!0}})}),r(I,w)},$$slots:{default:!0}})});var we=a(ke,2),Ne=s(we),je=s(Ne);He(je,{for:"upload-file",children:(p,P)=>{f();var I=T("Grasshopper file");r(p,I)},$$slots:{default:!0}});var Te=a(je,2),Ie=s(Te);ja(Ie,{class:"text-muted-foreground h-5 w-5 shrink-0"});var Z=a(Ie,2),ce=s(Z);{var me=p=>{var P=Go(),I=g(P),ee=s(I,!0);o(I),f(2),W(()=>U(ee,e(_))),r(p,P)},m=p=>{var P=Bo(),I=a(g(P),2),ee=s(I);o(I),W(()=>U(ee,`Becomes v${t.nextVersionNumber??""} draft`)),r(p,P)};J(ce,p=>{e(_)?p(me):p(m,-1)})}o(Z),o(Te);var $=a(Te,2);Qt($,p=>n(c,p),()=>e(c)),o(Ne);var d=a(Ne,2),j=s(d);He(j,{for:"upload-note",children:(p,P)=>{f();var I=qo();f(),r(p,I)},$$slots:{default:!0}});var y=a(j,2);er(y,{id:"upload-note",rows:2,maxlength:1e3,placeholder:"e.g. Fixed wall thickness calculation",get value(){return e(E)},set value(p){n(E,p,!0)}}),o(d),o(we);var v=a(we,2);h(v,()=>Wt,(p,P)=>{P(p,{class:"mt-4",children:(I,ee)=>{var w=Ho(),M=g(w);De(M,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(ve,se)=>{f();var te=T("Cancel");r(ve,te)},$$slots:{default:!0}});var Y=a(M,2);{let ve=L(()=>e(O)||!e(_));De(Y,{onclick:k,get disabled(){return e(ve)},children:(se,te)=>{var be=ze(),ie=g(be);{var V=S=>{var C=T("Uploading…");r(S,C)},G=S=>{var C=Jo(),H=g(C);Nr(H,{class:"mr-1.5 h-3.5 w-3.5"});var X=a(H);W(()=>U(X,` Upload v${t.nextVersionNumber??""}`)),r(S,C)};J(ie,S=>{e(O)?S(V):S(G,-1)})}r(se,be)},$$slots:{default:!0}})}r(I,w)},$$slots:{default:!0}})}),nt("change",$,b),r(pe,Q)},$$slots:{default:!0}})}),r(ye,de)},$$slots:{default:!0}})}),r(ge,q),ot()}wt(["change"]);var Qo=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>'),Yo=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>'),Zo=i('<span class="text-muted-foreground">· up to date</span>'),en=i("<span><strong>Live now</strong> </span> <!>",1),tn=i('<span class="text-muted-foreground">Not yet published — promote a draft to go live</span>'),rn=i("<!> ",1),an=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>'),on=i("<!> Upload new version",1),nn=i('<span class="bg-success/10 text-success rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">live</span>'),sn=i('<span class="bg-warning/10 text-warning rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">draft</span>'),ln=i('<p class="mt-1 truncate text-sm"> </p>'),dn=i('<p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p>'),cn=i("<!> Run",1),vn=i("<!> Run",1),un=i("<!> <!>",1),fn=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>'),pn=i('<div class="space-y-2"></div>'),gn=i("<!> <!>",1),mn=i("<!> <!>",1),_n=i("<!> <!>",1),hn=i("<!> <!>",1),xn=i("<!> <!>",1),bn=i("<!> <!>",1),$n=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 yn(ge,t){at(t,!0);let c=x(it([])),_=x(null),E=x(null),O=x(!0),B=x(!1),b=x(null),k=x(!1),q=x(!1),ne=x(null),z=x(null);yt(()=>{t.definitionGuid,he()});async function he(){n(O,!0);try{const d=await fetch(`/api/definitions/${t.definitionGuid}/versions`);if(!d.ok)throw new Error(`${d.status}`);const j=await d.json();n(c,j.versions,!0),n(_,j.liveVersionId,!0),n(E,j.draftVersionId,!0)}catch{Se.error("Failed to load versions")}finally{n(O,!1)}}const ye=L(()=>e(c).find(d=>d.id===e(_))??null),le=L(()=>e(c).find(d=>d.id===e(E))??null),de=L(()=>e(le)!==null&&e(ye)!==null&&e(le).id!==e(ye).id),xe=L(()=>(e(c)[0]?.versionNumber??0)+1);function N(d){const j=Date.now()-new Date(d).getTime(),y=Math.floor(j/6e4);if(y<1)return"Just now";if(y<60)return`${y}m ago`;const v=Math.floor(y/60);if(v<24)return`${v}h ago`;const p=Math.floor(v/24);return p===1?"Yesterday":p<30?`${p}d ago`:new Date(d).toLocaleDateString()}async function R(d){n(q,!0);try{const j=d?{versionId:d.id}:{},y=await fetch(`/api/definitions/${t.definitionGuid}/publish`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)});if(!y.ok){const p=await y.json().catch(()=>({}));Se.error(p.message||p.error||"Failed to publish");return}const v=await y.json();Se.success(`v${v.version?.versionNumber??"?"} is now live`),await he(),await ct()}catch{Se.error("Failed to publish")}finally{n(q,!1),n(b,null),n(k,!1)}}async function pe(d){n(z,d.id,!0);try{const j=await fetch(`/api/definitions/${t.definitionGuid}/versions/${d.id}`,{method:"DELETE"});if(!j.ok){const y=await j.json().catch(()=>({}));Se.error(y.message||y.error||"Failed to delete version. Live or draft versions cannot be deleted.");return}Se.success(`v${d.versionNumber} deleted`),await he(),await ct()}catch{Se.error("Failed to delete version")}finally{n(z,null),n(ne,null)}}var A=$n(),Q=g(A),ke=s(Q);{var we=d=>{var j=Qo();r(d,j)},Ne=d=>{var j=Yo();r(d,j)},je=d=>{var j=an(),y=s(j),v=a(s(y),2);{var p=w=>{var M=en(),Y=g(M),ve=a(s(Y));o(Y);var se=a(Y,2);{var te=ie=>{var V=Xo();r(ie,V)},be=ie=>{var V=Zo();r(ie,V)};J(se,ie=>{e(de)&&e(le)?ie(te):ie(be,-1)})}W(()=>U(ve,` — v${e(ye).versionNumber??""}`)),r(w,M)},P=w=>{var M=tn();r(w,M)};J(v,w=>{e(ye)?w(p):w(P,-1)})}o(y);var I=a(y,2);{var ee=w=>{De(w,{size:"sm",onclick:()=>R(null),get disabled(){return e(q)},class:"shrink-0",children:(M,Y)=>{var ve=rn(),se=g(ve);ka(se,{class:"mr-1.5 h-3.5 w-3.5"});var te=a(se);W(()=>U(te,` Publish v${e(le).versionNumber??""}`)),r(M,ve)},$$slots:{default:!0}})};J(I,w=>{e(de)&&e(le)&&w(ee)})}o(j),r(d,j)};J(ke,d=>{e(O)?d(we):e(c).length===0?d(Ne,1):d(je,-1)})}var Te=a(ke,2),Ie=a(s(Te),2);De(Ie,{variant:"outline",size:"sm",onclick:()=>n(B,!0),class:"shrink-0",children:(d,j)=>{var y=on(),v=g(y);Nr(v,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(d,y)},$$slots:{default:!0}}),o(Te);var Z=a(Te,2);{var ce=d=>{var j=pn();gt(j,21,()=>e(c),y=>y.id,(y,v)=>{const p=L(()=>e(v).id===e(_)),P=L(()=>e(v).id===e(E)&&!e(p));var I=fn(),ee=s(I),w=s(ee),M=s(w),Y=s(M),ve=s(Y);o(Y);var se=a(Y,2);{var te=F=>{var ae=nn();r(F,ae)};J(se,F=>{e(p)&&F(te)})}var be=a(se,2);{var ie=F=>{var ae=sn();r(F,ae)};J(be,F=>{e(P)&&F(ie)})}o(M);var V=a(M,2);{var G=F=>{var ae=ln(),fe=s(ae,!0);o(ae),W(()=>U(fe,e(v).changeNote)),r(F,ae)},S=F=>{var ae=dn(),fe=s(ae,!0);o(ae),W(()=>U(fe,e(v).originalFilename)),r(F,ae)};J(V,F=>{e(v).changeNote?F(G):e(v).originalFilename&&F(S,1)})}var C=a(V,2),H=s(C);o(C),o(w);var X=a(w,2),_e=s(X);{var re=F=>{De(F,{size:"sm",variant:"outline",onclick:()=>t.onOpenRunner(t.definitionGuid,"live"),children:(ae,fe)=>{var K=cn(),l=g(K);cr(l,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(ae,K)},$$slots:{default:!0}})},ue=F=>{var ae=un(),fe=g(ae);{var K=u=>{De(u,{size:"sm",variant:"ghost",onclick:()=>t.onOpenRunner(t.definitionGuid,"draft"),children:(D,$e)=>{var Ue=vn(),Ve=g(Ue);cr(Ve,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(D,Ue)},$$slots:{default:!0}})};J(fe,u=>{e(P)&&u(K)})}var l=a(fe,2);De(l,{size:"sm",variant:"outline",get disabled(){return e(q)},onclick:()=>{n(b,e(v),!0),n(k,!0)},children:(u,D)=>{f();var $e=T("Make live");r(u,$e)},$$slots:{default:!0}}),r(F,ae)};J(_e,F=>{e(p)?F(re):F(ue,-1)})}var Pe=a(_e,2);{var Fe=F=>{{let ae=L(()=>e(z)===e(v).id);De(F,{size:"sm",variant:"ghost",onclick:()=>n(ne,e(v),!0),get disabled(){return e(ae)},class:"text-muted-foreground hover:text-destructive h-8 w-8 p-0","aria-label":"Delete version",children:(fe,K)=>{tr(fe,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}};J(Pe,F=>{!e(p)&&!e(P)&&F(Fe)})}o(X),o(ee),o(I),W(F=>{pt(I,1,`rounded-md border p-3 transition-colors ${e(p)?"border-primary/40 bg-accent/40":"border-border bg-card hover:bg-muted/30"}`),U(ve,`v${e(v).versionNumber??""}`),U(H,`Uploaded ${F??""}`)},[()=>N(e(v).uploadedAt)]),r(y,I)}),o(j),r(d,j)};J(Z,d=>{!e(O)&&e(c).length>0&&d(ce)})}o(Q);var me=a(Q,2);Ko(me,{get definitionGuid(){return t.definitionGuid},get nextVersionNumber(){return e(xe)},get open(){return e(B)},onOpenChange:d=>n(B,d,!0),onUploaded:he});var m=a(me,2);h(m,()=>Dt,(d,j)=>{j(d,{get open(){return e(k)},onOpenChange:y=>{y||(n(b,null),n(k,!1))},children:(y,v)=>{var p=ze(),P=g(p);h(P,()=>Nt,(I,ee)=>{ee(I,{children:(w,M)=>{var Y=_n(),ve=g(Y);h(ve,()=>It,(te,be)=>{be(te,{children:(ie,V)=>{var G=gn(),S=g(G);h(S,()=>At,(H,X)=>{X(H,{children:(_e,re)=>{var ue=ze(),Pe=g(ue);{var Fe=ae=>{var fe=T();W(()=>U(fe,`Make v${e(b).versionNumber??""} live?`)),r(ae,fe)},F=ae=>{var fe=T("Publish current draft?");r(ae,fe)};J(Pe,ae=>{e(b)?ae(Fe):ae(F,-1)})}r(_e,ue)},$$slots:{default:!0}})});var C=a(S,2);h(C,()=>Tt,(H,X)=>{X(H,{children:(_e,re)=>{var ue=ze(),Pe=g(ue);{var Fe=fe=>{var K=T();W(()=>U(K,`Rolling back to an older version. Anyone running this definition will immediately get v${e(b).versionNumber??""}
5
- instead of v${e(ye).versionNumber??""}.`)),r(fe,K)},F=fe=>{var K=T();W(()=>U(K,`Anyone running this definition will immediately get v${e(b).versionNumber??""}
6
- instead of v${e(ye)?.versionNumber??"—"??""}.`)),r(fe,K)},ae=fe=>{var K=T(`Promotes the current draft to live. Everyone running this definition gets the new version
7
- immediately.`);r(fe,K)};J(Pe,fe=>{e(b)&&e(ye)&&e(b).versionNumber<e(ye).versionNumber?fe(Fe):e(b)?fe(F,1):fe(ae,-1)})}r(_e,ue)},$$slots:{default:!0}})}),r(ie,G)},$$slots:{default:!0}})});var se=a(ve,2);h(se,()=>Ut,(te,be)=>{be(te,{children:(ie,V)=>{var G=mn(),S=g(G);h(S,()=>Mt,(H,X)=>{X(H,{children:(_e,re)=>{f();var ue=T("Cancel");r(_e,ue)},$$slots:{default:!0}})});var C=a(S,2);h(C,()=>Et,(H,X)=>{X(H,{onclick:()=>R(e(b)),get disabled(){return e(q)},children:(_e,re)=>{f();var ue=T();W(()=>U(ue,e(q)?"Publishing…":"Publish")),r(_e,ue)},$$slots:{default:!0}})}),r(ie,G)},$$slots:{default:!0}})}),r(w,Y)},$$slots:{default:!0}})}),r(y,p)},$$slots:{default:!0}})});var $=a(m,2);{let d=L(()=>!!e(ne));h($,()=>Dt,(j,y)=>{y(j,{get open(){return e(d)},onOpenChange:v=>!v&&n(ne,null),children:(v,p)=>{var P=ze(),I=g(P);h(I,()=>Nt,(ee,w)=>{w(ee,{children:(M,Y)=>{var ve=bn(),se=g(ve);h(se,()=>It,(be,ie)=>{ie(be,{children:(V,G)=>{var S=hn(),C=g(S);h(C,()=>At,(X,_e)=>{_e(X,{children:(re,ue)=>{f();var Pe=T();W(()=>U(Pe,`Delete v${e(ne)?.versionNumber??""}?`)),r(re,Pe)},$$slots:{default:!0}})});var H=a(C,2);h(H,()=>Tt,(X,_e)=>{_e(X,{children:(re,ue)=>{f();var Pe=T(`This permanently removes the version's file. The live and draft versions cannot be deleted —
8
- repoint first.`);r(re,Pe)},$$slots:{default:!0}})}),r(V,S)},$$slots:{default:!0}})});var te=a(se,2);h(te,()=>Ut,(be,ie)=>{ie(be,{children:(V,G)=>{var S=xn(),C=g(S);h(C,()=>Mt,(X,_e)=>{_e(X,{children:(re,ue)=>{f();var Pe=T("Cancel");r(re,Pe)},$$slots:{default:!0}})});var H=a(C,2);{let X=L(()=>!!e(z));h(H,()=>Et,(_e,re)=>{re(_e,{onclick:()=>e(ne)&&pe(e(ne)),get disabled(){return e(X)},children:(ue,Pe)=>{f();var Fe=T();W(()=>U(Fe,e(z)?"Deleting…":"Delete")),r(ue,Fe)},$$slots:{default:!0}})})}r(V,S)},$$slots:{default:!0}})}),r(M,ve)},$$slots:{default:!0}})}),r(v,P)},$$slots:{default:!0}})})}r(ge,A),ot()}var wn=i("<!> <!>",1),kn=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>'),jn=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>'),Cn=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),Dn=i("<!> <!>",1),Nn=i("<!> Copied",1),In=i("<!> Copy",1),An=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(ge,t){at(t,!0);let c=x("live"),_=x(!0),E=x(""),O=x(!1),B=x(""),b=x(!0),k=x(it(Rt)),q=x(!1),ne=x(null),z=x(null),he=x(!1);yt(()=>{t.open||ye()});function ye(){n(c,"live"),n(_,!0),n(E,""),n(O,!1),n(B,""),n(b,!0),n(k,Rt,!0),n(ne,null),n(z,null),n(he,!1)}async function le(){if(!(e(b)&&e(k)>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(b)&&!confirm("Removing the cap means an unlimited number of solves on this link. Recommended only for trusted recipients. Continue?"))){n(q,!0);try{const R={channel:e(c),allowSolve:e(_),...e(E).trim()?{name:e(E).trim()}:{},maxSolves:e(b)?e(k):null,...e(O)&&e(B)?{expiresAt:new Date(e(B)).toISOString()}:{}},pe=await fetch(`/api/definitions/${t.definitionGuid}/share-links`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(R)});if(!pe.ok){const Q=await pe.json().catch(()=>({}));Se.error(Q.message||Q.error||"Failed to mint share link");return}const A=await pe.json();n(ne,A.token,!0),n(z,`${window.location.origin}/library/${t.definitionGuid}?token=${A.token}`),t.onMinted()}catch{Se.error("Failed to mint share link")}finally{n(q,!1)}}}async function de(){if(e(z))try{await navigator.clipboard.writeText(e(z)),n(he,!0),setTimeout(()=>n(he,!1),2e3)}catch{Se.error("Could not copy to clipboard")}}var xe=ze(),N=g(xe);h(N,()=>Zt,(R,pe)=>{pe(R,{get open(){return t.open},get onOpenChange(){return t.onOpenChange},children:(A,Q)=>{var ke=ze(),we=g(ke);h(we,()=>Xt,(Ne,je)=>{je(Ne,{class:"max-w-lg",children:(Te,Ie)=>{var Z=ze(),ce=g(Z);{var me=$=>{var d=Sn(),j=g(d);h(j,()=>Vt,(K,l)=>{l(K,{children:(u,D)=>{var $e=wn(),Ue=g($e);h(Ue,()=>Gt,(Le,Be)=>{Be(Le,{children:(Xe,Ke)=>{f();var et=T("New share link");r(Xe,et)},$$slots:{default:!0}})});var Ve=a(Ue,2);h(Ve,()=>Bt,(Le,Be)=>{Be(Le,{children:(Xe,Ke)=>{f();var et=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(Xe,et)},$$slots:{default:!0}})}),r(u,$e)},$$slots:{default:!0}})});var y=a(j,2),v=s(y),p=s(v);He(p,{for:"sl-channel",children:(K,l)=>{f();var u=T("Channel");r(K,u)},$$slots:{default:!0}});var P=a(p,2),I=s(P);I.value=I.__value="live";var ee=a(I);ee.value=ee.__value="draft",o(P);var w=a(P,2);{var M=K=>{var l=kn(),u=s(l);vr(u,{class:"mt-0.5 h-3 w-3 shrink-0"}),f(),o(l),r(K,l)};J(w,K=>{e(c)==="draft"&&K(M)})}o(v);var Y=a(v,2),ve=s(Y);He(ve,{for:"sl-label",children:(K,l)=>{f();var u=T("Label (optional)");r(K,u)},$$slots:{default:!0}});var se=a(ve,2);ft(se,{id:"sl-label",placeholder:"e.g. Demo for Acme",get value(){return e(E)},set value(K){n(E,K,!0)}}),o(Y);var te=a(Y,2),be=s(te),ie=s(be);St(ie),f(2),o(be),o(te);var V=a(te,2),G=s(V),S=s(G);St(S);var C=a(S,2),H=a(s(C),2),X=s(H);o(H),o(C),o(G);var _e=a(G,2);{var re=K=>{var l=Pn(),u=s(l);ft(u,{type:"number",min:1,class:"h-8 w-32 text-sm",get value(){return e(k)},set value(D){n(k,D,!0)}}),o(l),r(K,l)};J(_e,K=>{e(b)&&K(re)})}o(V);var ue=a(V,2),Pe=s(ue),Fe=s(Pe);St(Fe),f(2),o(Pe);var F=a(Pe,2);{var ae=K=>{var l=jn(),u=s(l);St(u),o(l),ur(u,()=>e(B),D=>n(B,D)),r(K,l)};J(F,K=>{e(O)&&K(ae)})}o(ue),o(y);var fe=a(y,2);h(fe,()=>Wt,(K,l)=>{l(K,{class:"mt-4",children:(u,D)=>{var $e=Cn(),Ue=g($e);De(Ue,{variant:"outline",onclick:()=>t.onOpenChange(!1),children:(Le,Be)=>{f();var Xe=T("Cancel");r(Le,Xe)},$$slots:{default:!0}});var Ve=a(Ue,2);{let Le=L(()=>e(q)||e(O)&&!e(B)||e(b)&&e(k)<1);De(Ve,{onclick:le,get disabled(){return e(Le)},children:(Be,Xe)=>{f();var Ke=T();W(()=>U(Ke,e(q)?"Creating…":"Create link")),r(Be,Ke)},$$slots:{default:!0}})}r(u,$e)},$$slots:{default:!0}})}),W(K=>U(X,`Default ${K??""}. Recommended. Uncapped
12
- links are a denial-of-wallet risk if leaked.`),[()=>Rt.toLocaleString()]),Yt(P,()=>e(c),K=>n(c,K)),nr(ie,()=>e(_),K=>n(_,K)),nr(S,()=>e(b),K=>n(b,K)),nr(Fe,()=>e(O),K=>n(O,K)),r($,d)},m=$=>{var d=An(),j=g(d);h(j,()=>Vt,(se,te)=>{te(se,{children:(be,ie)=>{var V=Dn(),G=g(V);h(G,()=>Gt,(C,H)=>{H(C,{children:(X,_e)=>{f();var re=T("Share link ready");r(X,re)},$$slots:{default:!0}})});var S=a(G,2);h(S,()=>Bt,(C,H)=>{H(C,{children:(X,_e)=>{f();var re=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(X,re)},$$slots:{default:!0}})}),r(be,V)},$$slots:{default:!0}})});var y=a(j,2),v=s(y),p=s(v),P=s(p);vr(P,{class:"mt-0.5 h-3.5 w-3.5 shrink-0"}),f(2),o(p),o(v);var I=a(v,2),ee=a(s(I),2),w=s(ee),M=s(w,!0);o(w);var Y=a(w,2);{let se=L(()=>e(he)?"default":"outline");De(Y,{size:"sm",get variant(){return e(se)},onclick:de,class:"shrink-0",children:(te,be)=>{var ie=ze(),V=g(ie);{var G=C=>{var H=Nn(),X=g(H);wa(X,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(C,H)},S=C=>{var H=In(),X=g(H);ia(X,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(C,H)};J(V,C=>{e(he)?C(G):C(S,-1)})}r(te,ie)},$$slots:{default:!0}})}o(ee),o(I),o(y);var ve=a(y,2);h(ve,()=>Wt,(se,te)=>{te(se,{class:"mt-4",children:(be,ie)=>{De(be,{onclick:()=>t.onOpenChange(!1),children:(V,G)=>{f();var S=T("Done");r(V,S)},$$slots:{default:!0}})},$$slots:{default:!0}})}),W(()=>U(M,e(z))),r($,d)};J(ce,$=>{e(ne)?$(m,-1):$(me)})}r(Te,Z)},$$slots:{default:!0}})}),r(A,ke)},$$slots:{default:!0}})}),r(ge,xe),ot()}var Un=i('<div class="border-border rounded-md border p-6 text-center"><p class="text-muted-foreground text-xs">Loading…</p></div>'),Mn=i("<!> New link",1),En=i("<!> New link",1),On=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>'),Ln=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>'),Rn=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>'),Fn=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>'),zn=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>'),Vn=i(`<strong> </strong> will stop working immediately. Anyone
14
- using it will see a "no longer active" page. This cannot be undone.`,1),Gn=i("<!> <!>",1),Bn=i("<!> <!>",1),qn=i("<!> <!>",1),Jn=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 Hn(ge,t){at(t,!0);let c=x(it([])),_=x(!0),E=x(!1),O=x(null),B=x(null);yt(()=>{t.definitionGuid,b()});async function b(){n(_,!0);try{const A=await fetch(`/api/definitions/${t.definitionGuid}/share-links`);if(!A.ok)throw new Error(`${A.status}`);const Q=await A.json();n(c,Q.links,!0)}catch{Se.error("Failed to load share links")}finally{n(_,!1)}}async function k(A){n(B,A.id,!0);try{if(!(await fetch(`/api/definitions/${t.definitionGuid}/share-links/${A.id}`,{method:"DELETE"})).ok){Se.error("Failed to revoke link");return}Se.success("Link revoked"),await b()}catch{Se.error("Failed to revoke link")}finally{n(B,null),n(O,null)}}function q(A){if(!A)return"Never";const Q=new Date(A),ke=new Date,we=Q.getTime()<ke.getTime();return{text:Q.toLocaleDateString(),expired:we}}function ne(A){const Q=Date.now()-new Date(A).getTime(),ke=Math.floor(Q/6e4);if(ke<1)return"just now";if(ke<60)return`${ke}m ago`;const we=Math.floor(ke/60);if(we<24)return`${we}h ago`;const Ne=Math.floor(we/24);return Ne<30?`${Ne}d ago`:new Date(A).toLocaleDateString()}const z=L(()=>e(c).filter(A=>!A.revokedAt));var he=Jn(),ye=g(he),le=a(s(ye),2);{var de=A=>{var Q=Un();r(A,Q)},xe=A=>{fr(A,{size:"sm",get icon(){return la},title:"No share links yet",description:"Mint a link to share this definition without requiring the recipient to have an account.",actions:ke=>{De(ke,{size:"sm",onclick:()=>n(E,!0),children:(we,Ne)=>{var je=Mn(),Te=g(je);Kt(Te,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(we,je)},$$slots:{default:!0}})},$$slots:{actions:!0}})},N=A=>{var Q=zn(),ke=s(Q),we=s(ke),Ne=s(we);o(we);var je=a(we,2);De(je,{size:"sm",variant:"outline",onclick:()=>n(E,!0),children:(Ie,Z)=>{var ce=En(),me=g(ce);Kt(me,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(Ie,ce)},$$slots:{default:!0}}),o(ke);var Te=a(ke,2);gt(Te,19,()=>e(z),Ie=>Ie.id,(Ie,Z,ce)=>{const me=L(()=>q(e(Z).expiresAt)),m=L(()=>typeof e(me)=="object"&&e(me).expired),$=L(()=>e(Z).maxSolves),d=L(()=>e($)!==null&&e($)!==void 0),j=L(()=>e(d)&&e(Z).solveCount>=e($));var y=Fn(),v=s(y),p=s(v),P=s(p),I=s(P,!0);o(P);var ee=a(P,2),w=s(ee,!0);o(ee);var M=a(ee,2);{var Y=re=>{var ue=On();r(re,ue)};J(M,re=>{e(Z).allowSolve||re(Y)})}var ve=a(M,2);{var se=re=>{var ue=Ln(),Pe=s(ue);vr(Pe,{class:"h-2.5 w-2.5"}),f(),o(ue),r(re,ue)};J(ve,re=>{e(m)&&re(se)})}var te=a(ve,2);{var be=re=>{var ue=Rn();r(re,ue)};J(te,re=>{e(j)&&re(be)})}o(p);var ie=a(p,2),V=s(ie),G=s(V);o(V);var S=a(V,4),C=s(S);o(S);var H=a(S,4),X=s(H);o(H),o(ie),o(v);var _e=a(v,2);{let re=L(()=>e(B)===e(Z).id);De(_e,{variant:"ghost",size:"icon",onclick:()=>n(O,e(Z),!0),get disabled(){return e(re)},class:"text-muted-foreground hover:text-destructive h-7 w-7 shrink-0","aria-label":"Revoke link",children:(ue,Pe)=>{tr(ue,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}o(y),W((re,ue,Pe)=>{pt(y,1,`flex items-start gap-3 px-4 py-3 ${e(ce)<e(z).length-1?"border-border border-b":""}`),U(I,e(Z).name??"Untitled link"),pt(ee,1,`rounded-full px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${e(Z).channel==="live"?"bg-success/10 text-success":"bg-warning/10 text-warning"}`),U(w,e(Z).channel),U(G,`${re??""}${ue??""} solves`),U(C,`Expires: ${(typeof e(me)=="object"?e(me).text:e(me))??""}`),U(X,`Minted ${Pe??""}`)},[()=>e(Z).solveCount.toLocaleString(),()=>e(d)?` / ${e($).toLocaleString()}`:"",()=>ne(e(Z).createdAt)]),r(Ie,y)}),o(Q),W(()=>U(Ne,`${e(z).length??""} active link${e(z).length===1?"":"s"}`)),r(A,Q)};J(le,A=>{e(_)?A(de):e(z).length===0?A(xe,1):A(N,-1)})}o(ye);var R=a(ye,2);Tn(R,{get definitionGuid(){return t.definitionGuid},get open(){return e(E)},onOpenChange:A=>n(E,A,!0),onMinted:b});var pe=a(R,2);{let A=L(()=>!!e(O));h(pe,()=>Dt,(Q,ke)=>{ke(Q,{get open(){return e(A)},onOpenChange:we=>!we&&n(O,null),children:(we,Ne)=>{var je=ze(),Te=g(je);h(Te,()=>Nt,(Ie,Z)=>{Z(Ie,{children:(ce,me)=>{var m=qn(),$=g(m);h($,()=>It,(j,y)=>{y(j,{children:(v,p)=>{var P=Gn(),I=g(P);h(I,()=>At,(w,M)=>{M(w,{children:(Y,ve)=>{f();var se=T("Revoke this link?");r(Y,se)},$$slots:{default:!0}})});var ee=a(I,2);h(ee,()=>Tt,(w,M)=>{M(w,{children:(Y,ve)=>{var se=ze(),te=g(se);{var be=ie=>{var V=Vn(),G=g(V),S=s(G,!0);o(G),f(),W(()=>U(S,e(O).name??"This link")),r(ie,V)};J(te,ie=>{e(O)&&ie(be)})}r(Y,se)},$$slots:{default:!0}})}),r(v,P)},$$slots:{default:!0}})});var d=a($,2);h(d,()=>Ut,(j,y)=>{y(j,{children:(v,p)=>{var P=Bn(),I=g(P);h(I,()=>Mt,(w,M)=>{M(w,{children:(Y,ve)=>{f();var se=T("Cancel");r(Y,se)},$$slots:{default:!0}})});var ee=a(I,2);{let w=L(()=>!!e(B));h(ee,()=>Et,(M,Y)=>{Y(M,{onclick:()=>e(O)&&k(e(O)),get disabled(){return e(w)},children:(ve,se)=>{f();var te=T();W(()=>U(te,e(B)?"Revoking…":"Revoke")),r(ve,te)},$$slots:{default:!0}})})}r(v,P)},$$slots:{default:!0}})}),r(ce,m)},$$slots:{default:!0}})}),r(we,je)},$$slots:{default:!0}})})}r(ge,he),ot()}var Wn=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>'),Kn=i("<!> <!> <!>",1),Qn=i(' <button class="hover:opacity-70"><!></button>',1),Yn=i('<div class="mb-1 flex flex-wrap gap-1"></div>'),Xn=i('<div class="space-y-1.5"><!> <!></div>'),Zn=i('<div class="space-y-1.5"><!> <!></div>'),es=i('<div class="grid grid-cols-2 gap-3"><!> <!></div>'),ts=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),rs=i("<!> <!> <!> <!>",1),as=i("<!> Delete",1),os=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),ns=i("<!> <!>",1),ss=i("<!> <!>",1),is=i("<!> <!>",1),ls=i("<strong> </strong> will move from <strong> </strong> to <strong> </strong> ",1),ds=i("<!> <!>",1),cs=i("<!> <!>",1),vs=i("<!> <!>",1),us=i("<!> <!> <!>",1);function fs(ge,t){at(t,!0);let c=We(t,"defaultComputeServerId",3,null),_=We(t,"initialTab",3,"versions"),E=x(it(_()==="shares"&&!t.enableSharing?"versions":_())),O=x(it(t.record.displayName)),B=x(it(t.record.description??"")),b=x(it(t.record.category??"")),k=x(it([...t.record.tags??[]])),q=x(it(t.record.projectId)),ne=x(it(t.record.computeServerId??null)),z=x(it(t.record.status)),he=x(void 0),ye=x(it(t.record.coverImage??"")),le=x(void 0),de=x(!1),xe=x(!1),N=x(!1),R=x(null);const pe=L(()=>e(R)?t.projects.find(d=>d.id===e(R))??null:null),A=L(()=>t.projects.find(d=>d.id===e(q))??null);function Q(d){d!==e(q)&&n(R,d,!0)}function ke(){e(R)&&n(q,e(R),!0),n(R,null)}function we(){n(R,null)}const Ne=L(()=>e(he)??(t.record.coverImage?.startsWith("/api/definitions/")?"upload":"url")),je=[{id:"draft",label:"Draft — work in progress",icon:hr,iconStyle:"color: var(--muted-foreground); fill: var(--muted-foreground);"},{id:"published",label:"Published — live and visible to runners",icon:hr,iconStyle:"color: #22c55e; fill: #22c55e;"}],Te=L(()=>t.computeServers.map(d=>({id:d.id,label:d.id===c()?`${d.label} (Default)`:d.label})));async function Ie(){if(!e(le)?.files?.length)return;n(N,!0);const d=new FormData;d.append("image",e(le).files[0]);try{const j=await fetch(`/api/definitions/${t.record.guid}/image`,{method:"POST",body:d});if(j.ok)Se.success("Cover image updated"),await ct();else{const y=await j.json().catch(()=>({}));Se.error(y.message||"Image upload failed")}}catch{Se.error("Image upload failed")}finally{n(N,!1),e(le)&&(e(le).value=""),n(de,!1)}}function Z(){t.onSave(t.record.guid,{displayName:e(O),description:e(B)||void 0,category:e(b)||void 0,tags:e(k).length?e(k):void 0,coverImage:e(ye)||void 0,status:e(z),projectId:e(q)||void 0,computeServerId:e(ne)})}var ce=us(),me=g(ce);Cr(me,{get onClose(){return t.onClose},ariaLabel:"Close edit drawer",children:(d,j)=>{var y=os(),v=g(y),p=s(v),P=a(s(p),2),I=s(P,!0);o(P),o(p);var ee=a(p,2);De(ee,{variant:"ghost",size:"icon",get onclick(){return t.onClose},class:"h-8 w-8 shrink-0",children:(G,S)=>{kt(G,{class:"h-4 w-4"})},$$slots:{default:!0}}),o(v);var w=a(v,2);{var M=G=>{var S=Wn(),C=s(S);da(C,{class:"h-3 w-3"}),f(),o(S),nt("click",S,function(...H){t.onBack?.apply(this,H)}),r(G,S)};J(w,G=>{t.onBack&&G(M)})}var Y=a(w,2);h(Y,()=>wr,(G,S)=>{S(G,{class:"flex flex-1 flex-col overflow-hidden",get value(){return e(E)},set value(C){n(E,C,!0)},children:(C,H)=>{var X=rs(),_e=g(X);{let F=L(()=>`mx-6 grid w-auto ${t.enableSharing?"grid-cols-3":"grid-cols-2"} ${t.onBack?"mt-2":"mt-4"}`);h(_e,()=>kr,(ae,fe)=>{fe(ae,{get class(){return e(F)},children:(K,l)=>{var u=Kn(),D=g(u);h(D,()=>Ft,(Le,Be)=>{Be(Le,{value:"details",children:(Xe,Ke)=>{f();var et=T("Details");r(Xe,et)},$$slots:{default:!0}})});var $e=a(D,2);h($e,()=>Ft,(Le,Be)=>{Be(Le,{value:"versions",children:(Xe,Ke)=>{f();var et=T("Versions");r(Xe,et)},$$slots:{default:!0}})});var Ue=a($e,2);{var Ve=Le=>{var Be=ze(),Xe=g(Be);h(Xe,()=>Ft,(Ke,et)=>{et(Ke,{value:"shares",children:(vt,oe)=>{f();var Ce=T("Share links");r(vt,Ce)},$$slots:{default:!0}})}),r(Le,Be)};J(Ue,Le=>{t.enableSharing&&Le(Ve)})}r(K,u)},$$slots:{default:!0}})})}var re=a(_e,2);h(re,()=>zt,(F,ae)=>{ae(F,{value:"versions",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(fe,K)=>{yn(fe,{get definitionGuid(){return t.record.guid},get onOpenRunner(){return t.onOpenRunner}})},$$slots:{default:!0}})});var ue=a(re,2);h(ue,()=>zt,(F,ae)=>{ae(F,{value:"details",class:"mt-4 flex-1 space-y-5 overflow-y-auto px-6 py-5",children:(fe,K)=>{var l=ts(),u=g(l),D=s(u);He(D,{for:"edit-name",children:(Me,Ye)=>{f();var Ze=T("Display name");r(Me,Ze)},$$slots:{default:!0}});var $e=a(D,2);ft($e,{id:"edit-name",get value(){return e(O)},set value(Me){n(O,Me,!0)}}),o(u);var Ue=a(u,2),Ve=s(Ue);He(Ve,{for:"edit-desc",children:(Me,Ye)=>{f();var Ze=T("Description");r(Me,Ze)},$$slots:{default:!0}});var Le=a(Ve,2);er(Le,{id:"edit-desc",rows:3,get value(){return e(B)},set value(Me){n(B,Me,!0)}}),o(Ue);var Be=a(Ue,2),Xe=s(Be);He(Xe,{for:"edit-status",children:(Me,Ye)=>{f();var Ze=T("Status");r(Me,Ze)},$$slots:{default:!0}});var Ke=a(Xe,2);sr(Ke,{id:"edit-status",get items(){return je},get value(){return e(z)},onChange:Me=>n(z,Me,!0)}),o(Be);var et=a(Be,2),vt=s(et),oe=s(vt);He(oe,{for:"edit-cat",children:(Me,Ye)=>{f();var Ze=T("Category");r(Me,Ze)},$$slots:{default:!0}});var Ce=a(oe,2);ft(Ce,{id:"edit-cat",maxlength:40,placeholder:"e.g. Facade",get value(){return e(b)},set value(Me){n(b,Me,!0)}}),o(vt);var Ae=a(vt,2),Qe=s(Ae),rt=s(Qe);He(rt,{for:"edit-tags",children:(Me,Ye)=>{f();var Ze=T("Tags");r(Me,Ze)},$$slots:{default:!0}});var lt=a(rt,2),st=s(lt);o(lt),o(Qe);var Ee=a(Qe,2);{var Ge=Me=>{var Ye=Yn();gt(Ye,20,()=>e(k),Ze=>Ze,(Ze,$t)=>{Pr(Ze,{variant:"outline",class:"gap-1 text-xs",children:(rr,gr)=>{f();var _t=Qn(),ht=g(_t),xt=a(ht),Ot=s(xt);kt(Ot,{class:"h-2.5 w-2.5"}),o(xt),W(()=>{U(ht,`${$t??""} `),jt(xt,"aria-label",`Remove tag ${$t??""}`)}),nt("click",xt,()=>n(k,e(k).filter(Pt=>Pt!==$t),!0)),r(rr,_t)},$$slots:{default:!0}})}),o(Ye),r(Me,Ye)};J(Ee,Me=>{e(k).length>0&&Me(Ge)})}var Re=a(Ee,2);{let Me=L(()=>e(k).length>=5);ft(Re,{id:"edit-tags",placeholder:"Add tag + Enter",get disabled(){return e(Me)},onkeydown:Ye=>{if(Ye.key==="Enter"){Ye.preventDefault();const Ze=Ye.currentTarget,$t=Ze.value.trim();$t&&!e(k).includes($t)&&e(k).length<5&&(n(k,[...e(k),$t],!0),Ze.value="")}}})}o(Ae),o(et);var Oe=a(et,2);dr(Oe,{});var qe=a(Oe,2),tt=s(qe),Je=s(tt);Ca(Je,{class:"text-muted-foreground h-4 w-4"});var dt=a(Je,2);He(dt,{children:(Me,Ye)=>{f();var Ze=T("Cover image");r(Me,Ze)},$$slots:{default:!0}}),o(tt);var qt=a(tt,2);{let Me=L(()=>t.record.coverImage??"");Sr(qt,{get mode(){return e(Ne)},get value(){return e(Me)},get isUploading(){return e(N)},get hasFile(){return e(de)},onModeChange:Ye=>n(he,Ye,!0),onUpload:Ie,onFileSelected:()=>n(de,!!e(le)?.files?.length),onUrlChange:Ye=>n(ye,Ye,!0),get inputRef(){return e(le)},set inputRef(Ye){n(le,Ye,!0)}})}o(qe);var Ct=a(qe,2);{var Tr=Me=>{var Ye=es(),Ze=s(Ye);{var $t=_t=>{var ht=Xn(),xt=s(ht);He(xt,{for:"edit-proj",children:(Pt,Jt)=>{f();var ar=T("Project");r(Pt,ar)},$$slots:{default:!0}});var Ot=a(xt,2);Ir(Ot,{id:"edit-proj",get projects(){return t.projects},get value(){return e(q)},onChange:Q}),o(ht),r(_t,ht)};J(Ze,_t=>{t.projects.length>1&&_t($t)})}var rr=a(Ze,2);{var gr=_t=>{var ht=Zn(),xt=s(ht);He(xt,{for:"edit-srv",children:(Pt,Jt)=>{f();var ar=T("Compute server");r(Pt,ar)},$$slots:{default:!0}});var Ot=a(xt,2);{let Pt=L(()=>e(ne)??c()??"");sr(Ot,{id:"edit-srv",get items(){return e(Te)},get value(){return e(Pt)},onChange:Jt=>{n(ne,Jt===c()?null:Jt,!0)}})}o(ht),r(_t,ht)};J(rr,_t=>{t.computeServers.length>0&&_t(gr)})}o(Ye),r(Me,Ye)};J(Ct,Me=>{(t.projects.length>1||t.computeServers.length>0)&&Me(Tr)})}W(()=>U(st,`${e(k).length??""}/5`)),r(fe,l)},$$slots:{default:!0}})});var Pe=a(ue,2);{var Fe=F=>{var ae=ze(),fe=g(ae);h(fe,()=>zt,(K,l)=>{l(K,{value:"shares",class:"mt-4 flex-1 overflow-y-auto px-6 py-5",children:(u,D)=>{Hn(u,{get definitionGuid(){return t.record.guid}})},$$slots:{default:!0}})}),r(F,ae)};J(Pe,F=>{t.enableSharing&&F(Fe)})}r(C,X)},$$slots:{default:!0}})});var ve=a(Y,2),se=s(ve);De(se,{variant:"ghost",size:"sm",onclick:()=>n(xe,!0),class:"text-destructive hover:text-destructive gap-1.5 px-2",children:(G,S)=>{var C=as(),H=g(C);tr(H,{class:"h-3.5 w-3.5"}),f(),r(G,C)},$$slots:{default:!0}});var te=a(se,2),be=s(te);De(be,{variant:"outline",size:"sm",get onclick(){return t.onClose},children:(G,S)=>{f();var C=T("Cancel");r(G,C)},$$slots:{default:!0}});var ie=a(be,2);{var V=G=>{De(G,{size:"sm",get disabled(){return t.isSaving},onclick:Z,children:(S,C)=>{f();var H=T();W(()=>U(H,t.isSaving?"Saving…":"Save")),r(S,H)},$$slots:{default:!0}})};J(ie,G=>{e(E)==="details"&&G(V)})}o(te),o(ve),W(()=>U(I,t.record.displayName)),r(d,y)},$$slots:{default:!0}});var m=a(me,2);h(m,()=>Dt,(d,j)=>{j(d,{get open(){return e(xe)},onOpenChange:y=>n(xe,y,!0),children:(y,v)=>{var p=ze(),P=g(p);h(P,()=>Nt,(I,ee)=>{ee(I,{children:(w,M)=>{var Y=is(),ve=g(Y);h(ve,()=>It,(te,be)=>{be(te,{children:(ie,V)=>{var G=ns(),S=g(G);h(S,()=>At,(H,X)=>{X(H,{children:(_e,re)=>{f();var ue=T();W(()=>U(ue,`Delete "${t.record.displayName??""}"?`)),r(_e,ue)},$$slots:{default:!0}})});var C=a(S,2);h(C,()=>Tt,(H,X)=>{X(H,{children:(_e,re)=>{f();var ue=T("This removes the definition and all its files. This cannot be undone.");r(_e,ue)},$$slots:{default:!0}})}),r(ie,G)},$$slots:{default:!0}})});var se=a(ve,2);h(se,()=>Ut,(te,be)=>{be(te,{children:(ie,V)=>{var G=ss(),S=g(G);h(S,()=>Mt,(H,X)=>{X(H,{children:(_e,re)=>{f();var ue=T("Cancel");r(_e,ue)},$$slots:{default:!0}})});var C=a(S,2);h(C,()=>Et,(H,X)=>{X(H,{onclick:()=>t.onDelete(t.record.guid),children:(_e,re)=>{f();var ue=T("Delete");r(_e,ue)},$$slots:{default:!0}})}),r(ie,G)},$$slots:{default:!0}})}),r(w,Y)},$$slots:{default:!0}})}),r(y,p)},$$slots:{default:!0}})});var $=a(m,2);{let d=L(()=>e(R)!==null);h($,()=>Dt,(j,y)=>{y(j,{get open(){return e(d)},onOpenChange:v=>{v||we()},children:(v,p)=>{var P=ze(),I=g(P);h(I,()=>Nt,(ee,w)=>{w(ee,{children:(M,Y)=>{var ve=vs(),se=g(ve);h(se,()=>It,(be,ie)=>{ie(be,{children:(V,G)=>{var S=ds(),C=g(S);h(C,()=>At,(X,_e)=>{_e(X,{children:(re,ue)=>{f();var Pe=T("Move to a different project?");r(re,Pe)},$$slots:{default:!0}})});var H=a(C,2);h(H,()=>Tt,(X,_e)=>{_e(X,{children:(re,ue)=>{var Pe=ls(),Fe=g(Pe),F=s(Fe,!0);o(Fe);var ae=a(Fe,2),fe=s(ae,!0);o(ae);var K=a(ae,2),l=s(K,!0);o(K);var u=a(K);W(()=>{U(F,t.record.displayName),U(fe,e(A)?.name??"—"),U(l,e(pe)?.name??"—"),U(u,`. Project members and visibility may change
16
- accordingly.${t.enableSharing?" Existing share links keep working.":""}`)}),r(re,Pe)},$$slots:{default:!0}})}),r(V,S)},$$slots:{default:!0}})});var te=a(se,2);h(te,()=>Ut,(be,ie)=>{ie(be,{children:(V,G)=>{var S=cs(),C=g(S);h(C,()=>Mt,(X,_e)=>{_e(X,{onclick:we,children:(re,ue)=>{f();var Pe=T("Cancel");r(re,Pe)},$$slots:{default:!0}})});var H=a(C,2);h(H,()=>Et,(X,_e)=>{_e(X,{onclick:ke,children:(re,ue)=>{f();var Pe=T("Move");r(re,Pe)},$$slots:{default:!0}})}),r(V,S)},$$slots:{default:!0}})}),r(M,ve)},$$slots:{default:!0}})}),r(v,P)},$$slots:{default:!0}})})}r(ge,ce),ot()}wt(["click"]);var ps=i("<!> Project settings",1),gs=i("<!> Add definition",1),ms=i("<!> <!>",1),_s=i('<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"></div>'),hs=i("<!> <!>",1),xs=i("<!> <!>",1),bs=i("<!> <!>",1),$s=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 di(ge,t){at(t,!0);const c=()=>Rr(qr,"$page",_),[_,E]=Fr(),O=L(()=>!!c().data.flags?.enableSharing);let B=x(""),b=x(null),k=x("grid");yt(()=>{const l=c().url.searchParams.get("project");if(l){const u=t.data.projects.find(D=>D.slug===l);u&&n(b,u.id,!0)}});let q=x(null),ne=x(null),z=x(null),he=x(null),ye=x(!1),le=x(!1),de=x("versions"),xe=x(!1),N=x(null);const R=L(()=>{let l=t.data.records;if(e(b)&&(l=l.filter(u=>u.projectId===e(b))),e(B).trim()){const u=e(B).toLowerCase();l=l.filter(D=>D.displayName?.toLowerCase().includes(u)||D.description?.toLowerCase().includes(u)||D.tags?.some($e=>$e.toLowerCase().includes(u)))}return l}),pe=L(()=>e(ne)?t.data.records.find(l=>l.guid===e(ne))??null:null),A=L(()=>e(b)?t.data.projects.find(l=>l.id===e(b))??null:null),Q=L(()=>e(A)?e(A).canEdit:t.data.projects.some(l=>l.canEdit)),ke=L(()=>t.data.projects.filter(l=>l.canEdit)),we=L(()=>e(z)?t.data.projects.find(l=>l.id===e(z))??null:null),Ne=L(()=>e(he)?t.data.projects.find(l=>l.id===e(he))??null:null);function je(l){return t.data.projects.find(u=>u.id===l)?.name??""}function Te(l){return t.data.projects.find(u=>u.id===l)?.visibility}function Ie(l){return t.data.projects.find(u=>u.id===l.projectId)?.canEdit??!1}async function Z(l,u){if(l.headers.get("content-type")?.includes("application/json")){const D=await l.json().catch(()=>null);return D?.message||D?.error?.message||`${u} (${l.status})`}return`${u} (${l.status})`}async function ce(l,u){n(N,l,!0);try{const D=await fetch(`/api/definitions/${l}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});D.ok?(Se.success("Definition saved"),n(ne,null),n(q,null),await ct()):Se.error(await Z(D,"Save failed"))}catch(D){Se.error("Save failed: "+(D instanceof Error?D.message:"Unknown error"))}finally{n(N,null)}}async function me(l){const u=t.data.records.find(D=>D.guid===l);try{const D=await fetch(`/api/definitions/${l}`,{method:"DELETE"});D.ok?(Se.success(`"${u?.displayName??"Definition"}" deleted`),n(ne,null),await ct()):Se.error(await Z(D,"Delete failed"))}catch{Se.error("Delete failed")}}async function m(l){n(xe,!0);try{const u=await fetch("/api/definitions",{method:"POST",body:l});if(u.ok)Se.success(`"${l.get("displayName")}" created`),n(ye,!1),await ct();else{const D=await Z(u,"Failed to create definition");throw Se.error(D),new Error(D)}}finally{n(xe,!1)}}async function $(l){const u=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(u.ok){const D=await u.json().catch(()=>null);Se.success(`Project "${l.name}" created`),await ct(),D?.id&&n(b,D.id,!0)}else throw Se.error(await Z(u,"Failed to create project")),new Error("create project failed")}async function d(l,u){const D=await fetch(`/api/projects/${l}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});D.ok?(Se.success("Project saved"),n(z,null),await ct()):Se.error(await Z(D,"Failed to save project"))}async function j(l){const u=await fetch(`/api/projects/${l}`,{method:"DELETE"});u.ok?(Se.success("Project deleted"),e(b)===l&&n(b,t.data.projects.find(D=>D.id!==l)?.id??null,!0),n(he,null),n(z,null),await ct()):Se.error(await Z(u,"Failed to delete project"))}async function y(l,u,D){const $e=await fetch(`/api/projects/${l}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:u,role:D})});$e.ok?(Se.success("Member added"),await ct()):Se.error(await Z($e,"Failed to add member"))}async function v(l,u,D){(await fetch(`/api/projects/${l}/members/${u}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:D})})).ok?await ct():Se.error("Failed to update role")}async function p(l,u){(await fetch(`/api/projects/${l}/members/${u}`,{method:"DELETE"})).ok?await ct():Se.error("Failed to remove member")}var P=$s();Br("rqn88j",l=>{Or(()=>{Lr.title="Projects"})});var I=g(P),ee=s(I);to(ee,{get projects(){return t.data.projects},get records(){return t.data.records},get activeProjectId(){return e(b)},get canManageProjects(){return t.data.canManageProjects},onSelect:l=>{n(b,l,!0);const u=t.data.projects.find(D=>D.id===l);if(u){const D=new fa(c().url.search);D.set("project",u.slug),window.history.replaceState(null,"",`?${D}`)}},onCreate:$});var w=a(ee,2),M=s(w),Y=s(M);{const l=$e=>{var Ue=ms(),Ve=g(Ue);{var Le=Ke=>{De(Ke,{variant:"outline",size:"sm",onclick:()=>n(z,e(A).id,!0),children:(et,vt)=>{var oe=ps(),Ce=g(oe);va(Ce,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(et,oe)},$$slots:{default:!0}})};J(Ve,Ke=>{t.data.canManageProjects&&e(A)&&Ke(Le)})}var Be=a(Ve,2);{var Xe=Ke=>{De(Ke,{size:"sm",onclick:()=>n(ye,!0),children:(et,vt)=>{var oe=gs(),Ce=g(oe);Kt(Ce,{class:"mr-1.5 h-3.5 w-3.5"}),f(),r(et,oe)},$$slots:{default:!0}})};J(Be,Ke=>{e(Q)&&Ke(Xe)})}r($e,Ue)};let u=L(()=>e(A)?e(A).name:"All projects"),D=L(()=>e(A)?.description??(e(A)?void 0:"Definitions across every project in this organization."));ca(Y,{class:"mb-0",get eyebrow(){return e(u)},title:"Definitions",get description(){return e(D)},actions:l,$$slots:{actions:!0}})}o(M);var ve=a(M,2),se=s(ve),te=s(se),be=s(te);Xr(be,{placeholder:"Search by name, description, tags…",clearable:!0,get value(){return e(B)},set value(l){n(B,l,!0)}}),o(te);var ie=a(te,2),V=s(ie);o(ie);var G=a(ie,2),S=s(G);Zr(S,{get mode(){return e(k)},size:"sm",onChange:l=>n(k,l,!0)}),o(G),o(se);var C=a(se,2);{var H=l=>{{let u=L(()=>e(B)?"Try adjusting your search":"Add your first definition to get started");fr(l,{size:"lg",title:"No definitions found",get description(){return e(u)}})}},X=l=>{var u=_s();gt(u,21,()=>e(R),D=>D.guid,(D,$e)=>{{let Ue=L(()=>e(b)===null?je(e($e).projectId):void 0),Ve=L(()=>e(b)===null?Te(e($e).projectId):void 0);ea(D,{get record(){return e($e)},showStatus:!0,onOpen:Le=>n(q,Le,!0),get projectName(){return e(Ue)},get projectVisibility(){return e(Ve)}})}}),o(u),r(l,u)},_e=l=>{No(l,{get records(){return e(R)},get projects(){return t.data.projects},onOpen:u=>n(q,u,!0)})};J(C,l=>{e(R).length===0?l(H):e(k)==="grid"?l(X,1):l(_e,-1)})}o(ve),o(w),o(I);var re=a(I,2);{var ue=l=>{{let u=L(()=>je(e(q).projectId)),D=L(()=>Ie(e(q)));Fo(l,{get record(){return e(q)},get projectName(){return e(u)},get canEdit(){return e(D)},get showShare(){return e(O)},onClose:()=>n(q,null),onEdit:$e=>{n(de,"details"),n(ne,$e.guid,!0),n(le,!0),n(q,null)},onShare:$e=>{n(de,"shares"),n(ne,$e.guid,!0),n(le,!0),n(q,null)},onOpenRunner:($e,Ue)=>mr(`/library/${$e}${Ue==="draft"?"?channel=draft":""}`)})}};J(re,l=>{e(q)&&l(ue)})}var Pe=a(re,2);{var Fe=l=>{var u=ze(),D=g(u);Vr(D,()=>e(de),$e=>{{let Ue=L(()=>e(N)===e(pe).guid),Ve=L(()=>e(le)?()=>{n(q,e(pe),!0),n(ne,null),n(le,!1)}:void 0);fs($e,{get record(){return e(pe)},get projects(){return t.data.projects},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get isSaving(){return e(Ue)},get initialTab(){return e(de)},get enableSharing(){return e(O)},onClose:()=>{n(ne,null),n(le,!1),n(de,"versions")},get onBack(){return e(Ve)},onSave:ce,onDelete:me,onOpenRunner:(Le,Be)=>mr(`/library/${Le}${Be==="draft"?"?channel=draft":""}`)})}}),r(l,u)};J(Pe,l=>{e(pe)&&l(Fe)})}var F=a(Pe,2);{var ae=l=>{{let u=L(()=>e(z)!==null);wo(l,{get project(){return e(we)},get users(){return t.data.users},get open(){return e(u)},onOpenChange:D=>{D||n(z,null)},onSave:d,onDelete:D=>{n(z,null),n(he,D,!0)},onAddMember:y,onUpdateMemberRole:v,onRemoveMember:p})}};J(F,l=>{e(we)&&t.data.canManageProjects&&l(ae)})}var fe=a(F,2);{let l=L(()=>e(he)!==null);h(fe,()=>Dt,(u,D)=>{D(u,{get open(){return e(l)},onOpenChange:$e=>{$e||n(he,null)},children:($e,Ue)=>{var Ve=ze(),Le=g(Ve);h(Le,()=>Nt,(Be,Xe)=>{Xe(Be,{children:(Ke,et)=>{var vt=bs(),oe=g(vt);h(oe,()=>It,(Ae,Qe)=>{Qe(Ae,{children:(rt,lt)=>{var st=hs(),Ee=g(st);h(Ee,()=>At,(Re,Oe)=>{Oe(Re,{children:(qe,tt)=>{f();var Je=T();W(()=>U(Je,`Delete "${e(Ne)?.name??""??""}"?`)),r(qe,Je)},$$slots:{default:!0}})});var Ge=a(Ee,2);h(Ge,()=>Tt,(Re,Oe)=>{Oe(Re,{children:(qe,tt)=>{f();var Je=T("This will remove the project and all member assignments. Definitions will become unassigned.");r(qe,Je)},$$slots:{default:!0}})}),r(rt,st)},$$slots:{default:!0}})});var Ce=a(oe,2);h(Ce,()=>Ut,(Ae,Qe)=>{Qe(Ae,{children:(rt,lt)=>{var st=xs(),Ee=g(st);h(Ee,()=>Mt,(Re,Oe)=>{Oe(Re,{children:(qe,tt)=>{f();var Je=T("Cancel");r(qe,Je)},$$slots:{default:!0}})});var Ge=a(Ee,2);h(Ge,()=>Et,(Re,Oe)=>{Oe(Re,{onclick:()=>e(he)&&j(e(he)),children:(qe,tt)=>{f();var Je=T("Delete");r(qe,Je)},$$slots:{default:!0}})}),r(rt,st)},$$slots:{default:!0}})}),r(Ke,vt)},$$slots:{default:!0}})}),r($e,Ve)},$$slots:{default:!0}})})}var K=a(fe,2);{let l=L(()=>e(A)?.canEdit?e(b):e(ke)[0]?.id),u=L(()=>e(ke).length>1);Ba(K,{get open(){return e(ye)},get isAdding(){return e(xe)},get projects(){return e(ke)},get defaultProjectId(){return e(l)},get computeServers(){return t.data.computeServers},get defaultComputeServerId(){return t.data.defaultComputeServerId},get showProjectDropdown(){return e(u)},onOpenChange:D=>n(ye,D,!0),onSubmit:m})}W(()=>U(V,`${e(R).length??""} definition${e(R).length===1?"":"s"}`)),r(ge,P),ot(),E()}export{di as component};
@@ -1 +0,0 @@
1
- import"../chunks/DsnmJJEf.js";import{aQ as O,aN as Q,a8 as V,$ as q,V as l,af as S,b7 as c,aW as o,ac as N,aJ as E,be as F,bk as G}from"../chunks/DEk358l3.js";import{s as P}from"../chunks/T-Nslbso.js";import{a as m,f as h,c as K}from"../chunks/DS1KfRtl.js";import{e as M,g as R}from"../chunks/6CzuHfQM.js";import{a as z,r as H,c as p}from"../chunks/DCBLBrrW.js";import{h as T}from"../chunks/DfVTcmam.js";import{p as X}from"../chunks/7OGPJeUM.js";import{S as Y}from"../chunks/BGIAOk5X.js";import{S as Z}from"../chunks/BiG82jCv.js";import{C as ee,a as ae}from"../chunks/CnXIg_dO.js";import{I as B}from"../chunks/CE_gxD9G.js";import{a as te,C as se}from"../chunks/B1z9if9B.js";import{U as re}from"../chunks/BihI7LuH.js";import{B as oe}from"../chunks/C3WxOOC9.js";import{S as ne}from"../chunks/DeMiewtM.js";function ie(n,e){let i=H(e,["$$slots","$$events","$$legacy"]);const t=[["circle",{cx:"12",cy:"12",r:"3"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12"}]];B(n,z({name:"git-commit-horizontal"},()=>i,{get iconNode(){return t}}))}function de(n,e){let i=H(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"}]];B(n,z({name:"layout-dashboard"},()=>i,{get iconNode(){return t}}))}var le=h("<!> Web app build",1),ce=h('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs"> </code> <span class="text-muted-foreground text-xs"> </span> <span class="text-muted-foreground text-xs"> </span></div>'),me=h("<!> <!>",1),fe=h('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!></div>');function Ue(n,e){O(e,!0);const i=G(()=>X.data.branding.name),t={hash:"601c8f8",fullHash:"601c8f8324ae6b22a11ef108c7075174bd25c8af",message:"feat: add tests for upload schema-validation gate functionality",date:"2026-05-29 20:42:45 +0200"},f=a=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(a),I=G(()=>[{href:"/admin/users",icon:re,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:f("manage_instance_users")},{href:"/admin/organizations",icon:oe,value:"Organizations",label:"All orgs on this instance",show:f("instance_admin")},{href:"/admin/compute",icon:ne,value:"Compute",label:"Servers, status & config",show:f("manage_compute")},{href:"/projects",icon:de,value:"Content",label:"Definitions & projects",show:f("instance_admin")}].filter(a=>a.show));var g=fe();T("1jef3w8",a=>{V(()=>{q.title="Admin · General"})});var A=l(g);Z(A,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${S(i)??""} instance — users, compute, and content.`}});var v=c(A,2);M(v,21,()=>S(I),a=>a.href,(a,_)=>{Y(a,z(()=>S(_)))}),o(v);var W=c(v,2);p(W,()=>se,(a,_)=>{_(a,{children:(k,ue)=>{var U=me(),j=N(U);p(j,()=>ee,(x,$)=>{$(x,{children:(b,J)=>{var s=K(),r=N(s);p(r,()=>ae,(y,d)=>{d(y,{class:"flex items-center gap-2 text-sm font-medium",children:(w,C)=>{var u=le(),L=N(u);ie(L,{class:"text-muted-foreground h-4 w-4"}),E(),m(w,u)},$$slots:{default:!0}})}),m(b,s)},$$slots:{default:!0}})});var D=c(j,2);p(D,()=>te,(x,$)=>{$(x,{children:(b,J)=>{var s=ce(),r=l(s),y=l(r,!0);o(r);var d=c(r,2),w=l(d,!0);o(d);var C=c(d,2),u=l(C,!0);o(C),o(s),F(()=>{R(r,"title",t.fullHash),P(y,t.hash),P(w,t.message),P(u,t.date)}),m(b,s)},$$slots:{default:!0}})}),m(k,U)},$$slots:{default:!0}})}),o(g),m(n,g),Q()}export{Ue as component};
@@ -1 +0,0 @@
1
- {"version":3,"file":"11-CgEVkMbf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/compute/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["import { e as getComputeServerConfigStore, t as tenancy, k as getOrganizationProvider } from \"../../../../chunks/providers.server.js\";\nimport { c as assertManageCompute } from \"../../../../chunks/access.server.js\";\nimport \"../../../../chunks/context.js\";\nimport { p as platformServers } from \"../../../../chunks/utils2.js\";\nconst load = async ({ locals }) => {\n assertManageCompute(locals);\n try {\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const servers = platformServers(config).map(({ apiKey, ...rest }) => ({\n ...rest,\n hasApiKey: !!apiKey\n }));\n let orgs = [];\n if (tenancy !== \"single\") {\n const orgsPage = await getOrganizationProvider().listOrgs(locals.ctx, { limit: 500 });\n orgs = orgsPage.items.map((o) => ({ id: o.id, name: o.name, slug: o.slug }));\n }\n return {\n servers,\n defaultServerId: config.defaultServerId ?? servers[0]?.id ?? \"\",\n orgs,\n tenancy\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) {\n throw err;\n }\n return { servers: [], defaultServerId: \"\", orgs: [], tenancy };\n }\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/compute/_page.server.ts.js';\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/compute/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/compute/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/11.DegwSwS4.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/D0kO1GS0.js\",\"_app/immutable/chunks/C33A5aSj.js\",\"_app/immutable/chunks/BiG82jCv.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/BnIDUuJL.js\",\"_app/immutable/chunks/DeMiewtM.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BOsr6E_d.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CDmA5ezP.js\",\"_app/immutable/chunks/C46MGZre.js\",\"_app/immutable/chunks/DtFVCiwY.js\",\"_app/immutable/chunks/DqK2lhM-.js\",\"_app/immutable/chunks/Cbu9Tg11.js\",\"_app/immutable/chunks/BEFa4rcT.js\",\"_app/immutable/chunks/BfHBnYuG.js\",\"_app/immutable/chunks/CIHhLSqA.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,mBAAmB,CAAC,MAAM,CAAC;AAC7B,EAAE,IAAI;AACN,IAAI,MAAM,MAAM,GAAG,MAAM,2BAA2B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC5E,IAAI,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM;AAC1E,MAAM,GAAG,IAAI;AACb,MAAM,SAAS,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,IAAI,GAAG,EAAE;AACjB,IAAI,IAAI,OAAO,KAAK,QAAQ,EAAE;AAC9B,MAAM,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC3F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAClF,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,OAAO;AACb,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;AACrE,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE;AAC3D,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE;AAClE,EAAE;AACF,CAAC;;;;;;;AC3BW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAgD,CAAC,EAAE;AAE9G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzmC,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"15-BqYjEVaA.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/system/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/15.js"],"sourcesContent":["import { j as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nconst version = \"4.0.0\";\nconst pkg = {\n version\n};\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canManageUpdates = ctx ? hasPermission(ctx, \"manage_updates\") : false;\n const flags = {\n ALLOW_CROSS_ORG_PUBLIC: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: flag(\"ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: flag(\"ENABLE_SHARING\")\n };\n return { canManageUpdates, flags, version: pkg.version };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/system/_page.server.ts.js';\n\nexport const index = 15;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/system/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/system/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/15.CCL52sqQ.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/CnXIg_dO.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/DRpLcVdK.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/CNC_mCsM.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/BiG82jCv.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,OAAO,GAAG,OAAO;AACvB,MAAM,GAAG,GAAG;AACZ,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC1D,IAAI,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAClE,IAAI,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAClD,IAAI,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAC9D,IAAI,cAAc,EAAE,IAAI,CAAC,gBAAgB;AACzC,GAAG;AACH,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;AAC1D,CAAC;;;;;;;ACfW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACj5B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"20-DGeV-MBL.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/library/_guid_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/20.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { o as getStorageProvider, i as getDefinitionMeta, n as getProjectProvider } from \"../../../../chunks/providers.server.js\";\nimport { q as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server2.js\";\nimport { b as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { GrasshopperClient } from \"@selvajs/compute/grasshopper\";\nimport { f as fetchSchemaFromCompute } from \"../../../../chunks/api-errors.js\";\nimport { r as resolveServerForOrg } from \"../../../../chunks/resolve.server.js\";\nclass DefinitionLoadError extends Error {\n constructor(kind, message, cause) {\n super(message);\n this.kind = kind;\n this.cause = cause;\n this.name = \"DefinitionLoadError\";\n }\n kind;\n cause;\n}\nasync function loadDefinitionForRender(ctx, record, channel) {\n const storage = getStorageProvider();\n const meta = getDefinitionMeta();\n const projects = getProjectProvider();\n const versionId = channel === \"draft\" ? record.draftVersionId : record.liveVersionId;\n if (!versionId)\n throw new DefinitionLoadError(\"data\", `Definition '${record.guid}' has no ${channel} version`);\n const version = await meta.getVersion(ctx, versionId);\n if (!version)\n throw new DefinitionLoadError(\"data\", `${channel} version missing for '${record.guid}'`);\n const definitionSource = await storage.get(version.fileKey);\n if (!definitionSource)\n throw new DefinitionLoadError(\"data\", `Definition file for '${record.guid}' not found on disk`);\n const project = await projects.getProject(ctx, record.projectId);\n let computeServer;\n try {\n computeServer = await resolveServerForOrg(ctx, project?.orgId ?? null, {\n definitionPin: record.computeServerId ?? null\n });\n } catch (err) {\n throw new DefinitionLoadError(\n \"missing-config\",\n \"No compute server configured for this definition\",\n err\n );\n }\n let client;\n try {\n client = await GrasshopperClient.create({\n serverUrl: computeServer.serverUrl,\n apiKey: computeServer.apiKey\n });\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\n \"connect\",\n `Failed to connect to Rhino Compute server: ${message}`,\n err\n );\n }\n try {\n const [definition, fetchedSchema] = await Promise.all([\n client.getIO(definitionSource),\n version.schema ? Promise.resolve(version.schema) : fetchSchemaFromCompute(definitionSource, computeServer)\n ]);\n if (!definition) {\n throw new Error(`Failed to get definition IO — server returned undefined`);\n }\n return {\n version,\n definitionSource,\n computeServer,\n schema: mergeComputeDefaults(fetchedSchema, definition.inputs)\n };\n } catch (err) {\n if (err instanceof DefinitionLoadError) throw err;\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\"schema\", message, err);\n }\n}\nfunction mergeComputeDefaults(schema, computeInputs) {\n const byParamId = new Map(computeInputs.map((input) => [input.id, input]));\n return {\n ...schema,\n inputs: schema.inputs.map((schemaInput) => {\n const computeInput = byParamId.get(schemaInput.id);\n if (computeInput?.paramType === \"Color\" && computeInput.default !== void 0) {\n const toHex = (value) => value.toString(16).padStart(2, \"0\");\n const parts = String(computeInput.default).split(\",\").map((s) => parseInt(s.trim(), 10));\n if (parts.length === 3) {\n computeInput.default = `#${toHex(parts[0])}${toHex(parts[1])}${toHex(parts[2])}`;\n } else if (parts.length === 4) {\n computeInput.default = `#${toHex(parts[1])}${toHex(parts[2])}${toHex(parts[3])}`;\n }\n }\n if (computeInput && computeInput.default !== void 0) {\n return { ...schemaInput, default: computeInput.default };\n }\n return schemaInput;\n })\n };\n}\nconst load = (async ({ params, locals, request, url }) => {\n const meta = getDefinitionMeta();\n const guid = params.guid;\n const channel = url.searchParams.get(\"channel\") === \"draft\" ? \"draft\" : \"live\";\n const clientDefUrl = `local:${guid}`;\n let shareToken = null;\n try {\n const sharedAccess = channel === \"live\" ? await tryResolveShareToken(request, url, guid, \"live\", { requireSolve: false }) : null;\n if (sharedAccess) {\n shareToken = url.searchParams.get(\"token\");\n } else if (!locals.ctx || !locals.user) {\n throw error(401, \"Unauthorized: You must be logged in to access definitions\");\n }\n const ctx = sharedAccess?.ctx ?? locals.ctx;\n const record = await meta.get(ctx, guid);\n if (!record) throw new Error(`Definition '${guid}' not found`);\n if (!sharedAccess) await requireCanSolve(locals, record.projectId);\n if (channel === \"draft\") {\n const { requireEditableDefinition } = await import(\"../../../../chunks/access.server.js\").then((n) => n.a);\n await requireEditableDefinition(locals, guid);\n }\n const loaded = await loadDefinitionForRender(ctx, record, channel);\n return {\n schema: loaded.schema,\n ghDefinition: clientDefUrl,\n currentDefinition: guid,\n serverLabel: loaded.computeServer.label,\n channel,\n // Forward to the client so /api/compute/solve calls can include it.\n // Null when the request was user-authenticated (session cookie carries auth).\n shareToken,\n // Same deadline the server enforces on /api/compute, so the client's\n // AbortController matches the server's Promise.race.\n solveTimeoutMs: MAX_SOLVE_DURATION_MS\n };\n } catch (err) {\n if (err instanceof Error && \"status\" in err) throw err;\n if (err instanceof DefinitionLoadError) {\n if (err.kind === \"missing-config\") {\n throw error(\n 503,\n \"No compute server configured. Ask an admin to add one in /admin/compute.\"\n );\n }\n if (err.kind === \"connect\") {\n console.error(\"[PageLoad] Compute server connection failed:\", err.message);\n throw error(503, err.message);\n }\n if (err.kind === \"schema\") {\n console.error(\"[PageLoad] Definition loading failed:\", err.message);\n if (process.env.NODE_ENV === \"development\") {\n const hint = `\n\nTroubleshooting:\n1. Check /api/health/compute to diagnose server connectivity\n2. Check the browser console for more details`;\n throw error(500, `Failed to load definition from ${clientDefUrl}: ${err.message}${hint}`);\n }\n throw error(500, `Failed to load definition: ${err.message}`);\n }\n }\n if (err instanceof Error) {\n console.warn(`[App Load] Failed to load definition '${guid}':`, err);\n throw error(400, `Failed to load definition '${guid}': ${err.message}`);\n }\n throw err;\n }\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/library/_guid_/_page.server.ts.js';\n\nexport const index = 20;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/library/_guid_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/library/[guid]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/20.Q9tlws_F.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/jO1WSR3P.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DeMiewtM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/7DlWX6a_.js\",\"_app/immutable/chunks/B6yEy6Wb.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CeS0GhtF.js\",\"_app/immutable/chunks/BeM-GIFh.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/D1xkoVpc.js\",\"_app/immutable/chunks/BM8Ok6pJ.js\",\"_app/immutable/chunks/7OGPJeUM.js\",\"_app/immutable/chunks/D0kO1GS0.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/C46MGZre.js\",\"_app/immutable/chunks/C33A5aSj.js\",\"_app/immutable/chunks/Bwn5lHBl.js\",\"_app/immutable/chunks/DZM0bVcB.js\",\"_app/immutable/chunks/Cal8_SqL.js\",\"_app/immutable/chunks/BJTJCSLB.js\",\"_app/immutable/chunks/BsKtJj5h.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/CnXIg_dO.js\",\"_app/immutable/chunks/DRpLcVdK.js\",\"_app/immutable/chunks/Uv0-HWHq.js\",\"_app/immutable/chunks/CDmA5ezP.js\",\"_app/immutable/chunks/Cbu9Tg11.js\",\"_app/immutable/chunks/CynIvqMH.js\"];\nexport const stylesheets = [\"_app/immutable/assets/index.CV-KWLNP.css\",\"_app/immutable/assets/20.DvtWUFNX.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}