@selvajs/selva 2.0.1 → 2.0.3

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 (451) hide show
  1. package/build/client/.!34937!selva_example_0_1_0.gh +0 -0
  2. package/build/client/_app/immutable/assets/0.B0phAlf7.css.gz +0 -0
  3. package/build/client/_app/immutable/assets/20.5bKkcx-V.css +1 -0
  4. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.br +0 -0
  5. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/1s2jTHrf.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/2XlIPTRw.js.gz +0 -0
  9. package/build/client/_app/immutable/chunks/2_FEXmq1.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/2dX6Wjni.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/4tskcAVN.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/AEyooZaf.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B1aRL9Hz.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B8uG8z2c.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/B8zY50Bc.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BCse3N0b.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BGxzXVpM.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/BM4_iXSA.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BMGykAfL.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BNScKugQ.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BNzEBMy8.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BU9URCkw.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BSyJ0ZuA.js → BV1oWdGD.js} +1 -1
  24. package/build/client/_app/immutable/chunks/BV1oWdGD.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/BV1oWdGD.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BW4xleRz.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/BZmrLQwT.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BapAUJpM.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/Bb9xebuT.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BjkQG7dw.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/Bnpwcepm.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BoR6OKl6.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/Br5bpmJC.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/BxCHY0iG.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/C1Sz0rtw.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/C1aQuqo_.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/C26nmevH.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/C8ko2SLk.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CAMhfNhW.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/{CS49LPny.js → CCx3W8-n.js} +1 -1
  43. package/build/client/_app/immutable/chunks/CCx3W8-n.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/CCx3W8-n.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/{4PBDTLFF.js → CISf22d1.js} +1 -1
  47. package/build/client/_app/immutable/chunks/CISf22d1.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/CISf22d1.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CRRzXoPz.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/CXh1ITwj.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CcYNc8-G.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/Cdcajer6.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/Ce2MupFq.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CfP1DoGT.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/CfhPDo21.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/CkW8YtSm.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/CoR7xVWs.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/CpGv0MSX.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/Cvr8AlQE.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/D0QMYypb.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/D40b34QZ.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/D6MI_dhi.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/D7l1JayF.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/D99uXqZb.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/{VmqnFAi3.js → DDJVj3K_.js} +1 -1
  69. package/build/client/_app/immutable/chunks/DDJVj3K_.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DDJVj3K_.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/DEBBEmC0.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/DNsLImlA.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/{BMwGnr2J.js → DPB6Jpno.js} +1 -1
  74. package/build/client/_app/immutable/chunks/DPB6Jpno.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/DPB6Jpno.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/DRDjLZb3.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/DTJeGfAL.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/DZFqETAQ.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/D_wr-JLf.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/Doks8ISn.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/E3yOQTT0.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/P4Np3c9O.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/_OLpdTiI.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/azBeeLR0.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/gMllmzma.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/hRoV10UM.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/iEBlyxZv.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/jFKgkeON.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{smW5maEe.js → mn4wqSK3.js} +1 -1
  95. package/build/client/_app/immutable/chunks/mn4wqSK3.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/mn4wqSK3.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/ooPBmYPj.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/pRg-f8xU.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/uINs3xv3.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/wamM80bu.js.gz +0 -0
  101. package/build/client/_app/immutable/entry/{app.GElcRZPp.js → app.BRKh5QNI.js} +2 -2
  102. package/build/client/_app/immutable/entry/app.BRKh5QNI.js.br +0 -0
  103. package/build/client/_app/immutable/entry/app.BRKh5QNI.js.gz +0 -0
  104. package/build/client/_app/immutable/entry/start.DzTy4Sar.js +1 -0
  105. package/build/client/_app/immutable/entry/start.DzTy4Sar.js.br +2 -0
  106. package/build/client/_app/immutable/entry/start.DzTy4Sar.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/{0.r0PA_Sxw.js → 0.KJ-PiM1c.js} +1 -1
  108. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/{1.CTfA0FAT.js → 1.CTs6oCZo.js} +1 -1
  111. package/build/client/_app/immutable/nodes/1.CTs6oCZo.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/1.CTs6oCZo.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js +3 -0
  114. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/{11.Dk81DreT.js → 11.DemYOq3i.js} +1 -1
  117. package/build/client/_app/immutable/nodes/11.DemYOq3i.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/11.DemYOq3i.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/{13.B3m9NRrd.js → 13.DpdyenfK.js} +1 -1
  121. package/build/client/_app/immutable/nodes/13.DpdyenfK.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/13.DpdyenfK.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/{14.9MmuwEpn.js → 14.CwVi2ClP.js} +1 -1
  124. package/build/client/_app/immutable/nodes/14.CwVi2ClP.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/14.CwVi2ClP.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js +13 -0
  127. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.gz +0 -0
  129. package/build/client/_app/immutable/nodes/{16.BMWgVDGJ.js → 16.DzXblhpf.js} +2 -2
  130. package/build/client/_app/immutable/nodes/16.DzXblhpf.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/16.DzXblhpf.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/{17.Bch7V784.js → 17.cWP9UUvo.js} +1 -1
  133. package/build/client/_app/immutable/nodes/17.cWP9UUvo.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/17.cWP9UUvo.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/{19.DQtOUgti.js → 19.C2JJyvh1.js} +1 -1
  137. package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{2.CyCY9Gpy.js → 2.CEtR_jy5.js} +1 -1
  140. package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{20.CT0e7phi.js → 20.CpAqrbNF.js} +6 -6
  143. package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/{21.C43xF0qL.js → 21.BW8K2thc.js} +1 -1
  146. package/build/client/_app/immutable/nodes/21.BW8K2thc.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/21.BW8K2thc.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/{23.CFT1SOUF.js → 23.BnfqaaSO.js} +1 -1
  149. package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/{24.BjGP5G3P.js → 24.XyeC_rUv.js} +1 -1
  152. package/build/client/_app/immutable/nodes/24.XyeC_rUv.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/24.XyeC_rUv.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js.gz +0 -0
  155. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js.gz +0 -0
  156. package/build/client/_app/immutable/nodes/{27.BS48zWld.js → 27.CEXct3Wc.js} +1 -1
  157. package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.br +0 -0
  158. package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.gz +0 -0
  159. package/build/client/_app/immutable/nodes/{28.eQk5ZqHl.js → 28.B9Yr7s3f.js} +1 -1
  160. package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.br +0 -0
  161. package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/{29.-im11HaY.js → 29.9THa6mgW.js} +1 -1
  163. package/build/client/_app/immutable/nodes/29.9THa6mgW.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/29.9THa6mgW.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/{3.CfPrUs70.js → 3.B8tp0KuP.js} +1 -1
  166. package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/{30.DUz5JI16.js → 30.B0_ohaRg.js} +1 -1
  169. package/build/client/_app/immutable/nodes/30.B0_ohaRg.js.br +0 -0
  170. package/build/client/_app/immutable/nodes/30.B0_ohaRg.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js.gz +0 -0
  173. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/{5.D4jMtb1M.js → 5.CEvQHcz8.js} +1 -1
  175. package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/{6.BhoBomwz.js → 6.MiARQsow.js} +1 -1
  178. package/build/client/_app/immutable/nodes/6.MiARQsow.js.br +0 -0
  179. package/build/client/_app/immutable/nodes/6.MiARQsow.js.gz +0 -0
  180. package/build/client/_app/immutable/nodes/{7.CaJkp9fo.js → 7.4E9V6GcT.js} +1 -1
  181. package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/{8.Bt2DWfca.js → 8.D8g6Vds-.js} +1 -1
  184. package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/{9.C5-qch-V.js → 9.CaxIeYLY.js} +1 -1
  187. package/build/client/_app/immutable/nodes/9.CaxIeYLY.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/9.CaxIeYLY.js.gz +0 -0
  189. package/build/client/_app/version.json +1 -1
  190. package/build/client/_app/version.json.br +0 -0
  191. package/build/client/_app/version.json.gz +0 -0
  192. package/build/client/favicon/favicon.svg.gz +0 -0
  193. package/build/client/robots.txt.gz +0 -0
  194. package/build/server/chunks/{0-BXYXs3Xm.js → 0-wC8vebb2.js} +4 -4
  195. package/build/server/chunks/{0-BXYXs3Xm.js.map → 0-wC8vebb2.js.map} +1 -1
  196. package/build/server/chunks/{1-V8dFtmbb.js → 1-tkiRaJm3.js} +2 -2
  197. package/build/server/chunks/{1-V8dFtmbb.js.map → 1-tkiRaJm3.js.map} +1 -1
  198. package/build/server/chunks/{10-J_ZMrbXX.js → 10-8FzClb5u.js} +6 -6
  199. package/build/server/chunks/{10-J_ZMrbXX.js.map → 10-8FzClb5u.js.map} +1 -1
  200. package/build/server/chunks/{11-C54ZyrYp.js → 11-CwBAHKO1.js} +6 -6
  201. package/build/server/chunks/{11-C54ZyrYp.js.map → 11-CwBAHKO1.js.map} +1 -1
  202. package/build/server/chunks/{12-CrOqT0Q5.js → 12-C_P4jkDv.js} +2 -2
  203. package/build/server/chunks/{12-CrOqT0Q5.js.map → 12-C_P4jkDv.js.map} +1 -1
  204. package/build/server/chunks/{13-DVoUfflf.js → 13-CEgpkJsl.js} +3 -3
  205. package/build/server/chunks/{13-DVoUfflf.js.map → 13-CEgpkJsl.js.map} +1 -1
  206. package/build/server/chunks/{14-DkBYx89e.js → 14-CuLH3sOJ.js} +3 -3
  207. package/build/server/chunks/{14-DkBYx89e.js.map → 14-CuLH3sOJ.js.map} +1 -1
  208. package/build/server/chunks/{15-CNzxJkd-.js → 15-DHGAmNDS.js} +4 -4
  209. package/build/server/chunks/{15-CNzxJkd-.js.map → 15-DHGAmNDS.js.map} +1 -1
  210. package/build/server/chunks/{16-cz9yc7Nq.js → 16-BqSmZ0au.js} +6 -6
  211. package/build/server/chunks/{16-cz9yc7Nq.js.map → 16-BqSmZ0au.js.map} +1 -1
  212. package/build/server/chunks/{17-BLqAW2P3.js → 17-BwPRBUof.js} +2 -2
  213. package/build/server/chunks/{17-BLqAW2P3.js.map → 17-BwPRBUof.js.map} +1 -1
  214. package/build/server/chunks/{18-DFxW4YE_.js → 18-DeVS-pOT.js} +2 -2
  215. package/build/server/chunks/{18-DFxW4YE_.js.map → 18-DeVS-pOT.js.map} +1 -1
  216. package/build/server/chunks/{19-BZm3F7yF.js → 19-3FI-gBIF.js} +3 -3
  217. package/build/server/chunks/{19-BZm3F7yF.js.map → 19-3FI-gBIF.js.map} +1 -1
  218. package/build/server/chunks/{2-CNp1ZQp0.js → 2-BktREpTN.js} +5 -5
  219. package/build/server/chunks/{2-CNp1ZQp0.js.map → 2-BktREpTN.js.map} +1 -1
  220. package/build/server/chunks/{20-BXy_jr30.js → 20-D8O4C_84.js} +12 -12
  221. package/build/server/chunks/{20-BXy_jr30.js.map → 20-D8O4C_84.js.map} +1 -1
  222. package/build/server/chunks/{21-DSjRU6S2.js → 21-COO7ITK8.js} +3 -3
  223. package/build/server/chunks/{21-DSjRU6S2.js.map → 21-COO7ITK8.js.map} +1 -1
  224. package/build/server/chunks/{23-CjL9FJFA.js → 23-ckQZBIac.js} +6 -6
  225. package/build/server/chunks/{23-CjL9FJFA.js.map → 23-ckQZBIac.js.map} +1 -1
  226. package/build/server/chunks/{24-D9rqHSTE.js → 24-Byj6-QiB.js} +4 -4
  227. package/build/server/chunks/{24-D9rqHSTE.js.map → 24-Byj6-QiB.js.map} +1 -1
  228. package/build/server/chunks/{25-DstWRI72.js → 25-ef6c33Ul.js} +2 -2
  229. package/build/server/chunks/{25-DstWRI72.js.map → 25-ef6c33Ul.js.map} +1 -1
  230. package/build/server/chunks/{27-nNwc75ro.js → 27-C6KaTD0c.js} +4 -4
  231. package/build/server/chunks/{27-nNwc75ro.js.map → 27-C6KaTD0c.js.map} +1 -1
  232. package/build/server/chunks/{28-CvOKckIC.js → 28-BM0TT8tW.js} +3 -3
  233. package/build/server/chunks/{28-CvOKckIC.js.map → 28-BM0TT8tW.js.map} +1 -1
  234. package/build/server/chunks/{29-omUxa3rd.js → 29-8EsvqAjE.js} +3 -3
  235. package/build/server/chunks/{29-omUxa3rd.js.map → 29-8EsvqAjE.js.map} +1 -1
  236. package/build/server/chunks/{3-D43IIYqW.js → 3-CGZK9ryR.js} +2 -2
  237. package/build/server/chunks/{3-D43IIYqW.js.map → 3-CGZK9ryR.js.map} +1 -1
  238. package/build/server/chunks/{30-BMQ7Cr8A.js → 30-CtB6i9os.js} +3 -3
  239. package/build/server/chunks/{30-BMQ7Cr8A.js.map → 30-CtB6i9os.js.map} +1 -1
  240. package/build/server/chunks/{31-Cba3pMW9.js → 31-CirH19D6.js} +2 -2
  241. package/build/server/chunks/{31-Cba3pMW9.js.map → 31-CirH19D6.js.map} +1 -1
  242. package/build/server/chunks/{32-BmfoNY4G.js → 32-CZojKYOy.js} +2 -2
  243. package/build/server/chunks/{32-BmfoNY4G.js.map → 32-CZojKYOy.js.map} +1 -1
  244. package/build/server/chunks/{5-lJnHNLmp.js → 5-BGu6jqGh.js} +2 -2
  245. package/build/server/chunks/{5-lJnHNLmp.js.map → 5-BGu6jqGh.js.map} +1 -1
  246. package/build/server/chunks/{6-BydCaB4v.js → 6-CrVzle0G.js} +3 -3
  247. package/build/server/chunks/{6-BydCaB4v.js.map → 6-CrVzle0G.js.map} +1 -1
  248. package/build/server/chunks/{7-D4q4IBnf.js → 7-CyQgvlZo.js} +2 -2
  249. package/build/server/chunks/{7-D4q4IBnf.js.map → 7-CyQgvlZo.js.map} +1 -1
  250. package/build/server/chunks/{8-1AErDsjI.js → 8-DQerDMPb.js} +3 -3
  251. package/build/server/chunks/{8-1AErDsjI.js.map → 8-DQerDMPb.js.map} +1 -1
  252. package/build/server/chunks/{9-Cr4VDcCh.js → 9-g58PTujZ.js} +4 -4
  253. package/build/server/chunks/{9-Cr4VDcCh.js.map → 9-g58PTujZ.js.map} +1 -1
  254. package/build/server/chunks/{_layout.svelte-Px4pdCxU.js → _layout.svelte-xYAKGoE5.js} +4 -4
  255. package/build/server/chunks/{_layout.svelte-Px4pdCxU.js.map → _layout.svelte-xYAKGoE5.js.map} +1 -1
  256. package/build/server/chunks/{_page.svelte-D6lEOLLp.js → _page.svelte-BR8dze-7.js} +14 -14
  257. package/build/server/chunks/_page.svelte-BR8dze-7.js.map +1 -0
  258. package/build/server/chunks/{_page.svelte-KapMJV5_.js → _page.svelte-BsU27A26.js} +3 -3
  259. package/build/server/chunks/_page.svelte-BsU27A26.js.map +1 -0
  260. package/build/server/chunks/{_page.svelte-5X2iRv32.js → _page.svelte-CaOLJFdL.js} +2 -2
  261. package/build/server/chunks/_page.svelte-CaOLJFdL.js.map +1 -0
  262. package/build/server/chunks/{_page.svelte-BcFniUOO.js → _page.svelte-DG_7CM7u.js} +5 -5
  263. package/build/server/chunks/{_page.svelte-BcFniUOO.js.map → _page.svelte-DG_7CM7u.js.map} +1 -1
  264. package/build/server/chunks/{_page.svelte-CX9DKxIH.js → _page.svelte-DS9orYLw.js} +2 -2
  265. package/build/server/chunks/_page.svelte-DS9orYLw.js.map +1 -0
  266. package/build/server/chunks/{_server.ts-CmUr8pln.js → _server.ts-1HIleN3S.js} +4 -4
  267. package/build/server/chunks/{_server.ts-CmUr8pln.js.map → _server.ts-1HIleN3S.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-C-XniPo8.js → _server.ts-1nksAmT8.js} +4 -4
  269. package/build/server/chunks/{_server.ts-C-XniPo8.js.map → _server.ts-1nksAmT8.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-7hKc3tb_.js → _server.ts-AE1drj36.js} +4 -4
  271. package/build/server/chunks/{_server.ts-7hKc3tb_.js.map → _server.ts-AE1drj36.js.map} +1 -1
  272. package/build/server/chunks/{_server.ts-DBh0rJrm.js → _server.ts-B0gZCMdj.js} +4 -4
  273. package/build/server/chunks/{_server.ts-DBh0rJrm.js.map → _server.ts-B0gZCMdj.js.map} +1 -1
  274. package/build/server/chunks/{_server.ts-_NTv7i9z.js → _server.ts-BSoy1Ljl.js} +4 -4
  275. package/build/server/chunks/{_server.ts-_NTv7i9z.js.map → _server.ts-BSoy1Ljl.js.map} +1 -1
  276. package/build/server/chunks/{_server.ts-CAcgx11J.js → _server.ts-BTi2idVf.js} +4 -4
  277. package/build/server/chunks/{_server.ts-CAcgx11J.js.map → _server.ts-BTi2idVf.js.map} +1 -1
  278. package/build/server/chunks/{_server.ts-D-QkfF2o.js → _server.ts-BYlDwqEg.js} +5 -5
  279. package/build/server/chunks/{_server.ts-D-QkfF2o.js.map → _server.ts-BYlDwqEg.js.map} +1 -1
  280. package/build/server/chunks/{_server.ts-CcQbKaET.js → _server.ts-BbzbsVfr.js} +4 -4
  281. package/build/server/chunks/{_server.ts-CcQbKaET.js.map → _server.ts-BbzbsVfr.js.map} +1 -1
  282. package/build/server/chunks/{_server.ts-BLHjzdRp.js → _server.ts-BdKZ7aOG.js} +4 -4
  283. package/build/server/chunks/{_server.ts-BLHjzdRp.js.map → _server.ts-BdKZ7aOG.js.map} +1 -1
  284. package/build/server/chunks/{_server.ts-BpkR7TzP.js → _server.ts-BgsmlYb6.js} +3 -3
  285. package/build/server/chunks/{_server.ts-BpkR7TzP.js.map → _server.ts-BgsmlYb6.js.map} +1 -1
  286. package/build/server/chunks/{_server.ts-BUc1sqlR.js → _server.ts-BnN8EQwQ.js} +4 -4
  287. package/build/server/chunks/{_server.ts-BUc1sqlR.js.map → _server.ts-BnN8EQwQ.js.map} +1 -1
  288. package/build/server/chunks/{_server.ts-pDmNGXOa.js → _server.ts-ByhZiyPJ.js} +4 -4
  289. package/build/server/chunks/{_server.ts-pDmNGXOa.js.map → _server.ts-ByhZiyPJ.js.map} +1 -1
  290. package/build/server/chunks/{_server.ts-D1AD48e8.js → _server.ts-C2YLv0RS.js} +4 -4
  291. package/build/server/chunks/{_server.ts-D1AD48e8.js.map → _server.ts-C2YLv0RS.js.map} +1 -1
  292. package/build/server/chunks/{_server.ts-Ch_RLYHQ.js → _server.ts-C3Cn_AWJ.js} +4 -4
  293. package/build/server/chunks/{_server.ts-Ch_RLYHQ.js.map → _server.ts-C3Cn_AWJ.js.map} +1 -1
  294. package/build/server/chunks/{_server.ts-Z87uowZI.js → _server.ts-C9ggXEGb.js} +4 -4
  295. package/build/server/chunks/{_server.ts-Z87uowZI.js.map → _server.ts-C9ggXEGb.js.map} +1 -1
  296. package/build/server/chunks/{_server.ts-B0wiCYbB.js → _server.ts-CKHs57oZ.js} +2 -2
  297. package/build/server/chunks/{_server.ts-B0wiCYbB.js.map → _server.ts-CKHs57oZ.js.map} +1 -1
  298. package/build/server/chunks/{_server.ts-C4WRZSco.js → _server.ts-CM4aZGc-.js} +3 -3
  299. package/build/server/chunks/{_server.ts-C4WRZSco.js.map → _server.ts-CM4aZGc-.js.map} +1 -1
  300. package/build/server/chunks/{_server.ts-la-ySldK.js → _server.ts-CN851WSH.js} +4 -4
  301. package/build/server/chunks/{_server.ts-la-ySldK.js.map → _server.ts-CN851WSH.js.map} +1 -1
  302. package/build/server/chunks/{_server.ts-Dmo73WWA.js → _server.ts-CNPmzTy6.js} +4 -4
  303. package/build/server/chunks/{_server.ts-Dmo73WWA.js.map → _server.ts-CNPmzTy6.js.map} +1 -1
  304. package/build/server/chunks/{_server.ts-C0F30GT4.js → _server.ts-CZW4ge6f.js} +4 -4
  305. package/build/server/chunks/{_server.ts-C0F30GT4.js.map → _server.ts-CZW4ge6f.js.map} +1 -1
  306. package/build/server/chunks/{_server.ts-DxKERFAd.js → _server.ts-CaERLUlr.js} +3 -3
  307. package/build/server/chunks/{_server.ts-DxKERFAd.js.map → _server.ts-CaERLUlr.js.map} +1 -1
  308. package/build/server/chunks/{_server.ts-CmGWhrdf.js → _server.ts-Cb4DODkC.js} +5 -5
  309. package/build/server/chunks/{_server.ts-CmGWhrdf.js.map → _server.ts-Cb4DODkC.js.map} +1 -1
  310. package/build/server/chunks/{_server.ts-DNPb5zS6.js → _server.ts-CbQpXSqd.js} +4 -4
  311. package/build/server/chunks/{_server.ts-DNPb5zS6.js.map → _server.ts-CbQpXSqd.js.map} +1 -1
  312. package/build/server/chunks/{_server.ts-Bb3Kpo0Y.js → _server.ts-Ch4yLIuo.js} +3 -3
  313. package/build/server/chunks/{_server.ts-Bb3Kpo0Y.js.map → _server.ts-Ch4yLIuo.js.map} +1 -1
  314. package/build/server/chunks/{_server.ts-B_MVq_5r.js → _server.ts-Cjz2LZbt.js} +4 -4
  315. package/build/server/chunks/{_server.ts-B_MVq_5r.js.map → _server.ts-Cjz2LZbt.js.map} +1 -1
  316. package/build/server/chunks/{_server.ts-BJWFkEuu.js → _server.ts-CyhcRpfW.js} +5 -5
  317. package/build/server/chunks/{_server.ts-BJWFkEuu.js.map → _server.ts-CyhcRpfW.js.map} +1 -1
  318. package/build/server/chunks/{_server.ts-BemU6FO1.js → _server.ts-CzJ60KtY.js} +5 -5
  319. package/build/server/chunks/{_server.ts-BemU6FO1.js.map → _server.ts-CzJ60KtY.js.map} +1 -1
  320. package/build/server/chunks/{_server.ts-BpAINcOs.js → _server.ts-D71yVIcY.js} +5 -15
  321. package/build/server/chunks/_server.ts-D71yVIcY.js.map +1 -0
  322. package/build/server/chunks/{_server.ts-CkXnisqg.js → _server.ts-DWL7YPsQ.js} +5 -5
  323. package/build/server/chunks/{_server.ts-CkXnisqg.js.map → _server.ts-DWL7YPsQ.js.map} +1 -1
  324. package/build/server/chunks/{_server.ts-BkKg2yyC.js → _server.ts-DnpbPKKN.js} +4 -4
  325. package/build/server/chunks/{_server.ts-BkKg2yyC.js.map → _server.ts-DnpbPKKN.js.map} +1 -1
  326. package/build/server/chunks/{_server.ts-gic0t4mu.js → _server.ts-Dnqx5-qU.js} +6 -6
  327. package/build/server/chunks/{_server.ts-gic0t4mu.js.map → _server.ts-Dnqx5-qU.js.map} +1 -1
  328. package/build/server/chunks/{_server.ts-CaHe7mo6.js → _server.ts-DrYz0SSH.js} +4 -4
  329. package/build/server/chunks/{_server.ts-CaHe7mo6.js.map → _server.ts-DrYz0SSH.js.map} +1 -1
  330. package/build/server/chunks/{_server.ts-DJUYnHrj.js → _server.ts-DraBBcmz.js} +4 -4
  331. package/build/server/chunks/{_server.ts-DJUYnHrj.js.map → _server.ts-DraBBcmz.js.map} +1 -1
  332. package/build/server/chunks/{_server.ts-MOiQ4br_.js → _server.ts-I3zLnhsz.js} +4 -4
  333. package/build/server/chunks/{_server.ts-MOiQ4br_.js.map → _server.ts-I3zLnhsz.js.map} +1 -1
  334. package/build/server/chunks/{_server.ts-DXPhlUCi.js → _server.ts-gCCprE5T.js} +4 -4
  335. package/build/server/chunks/{_server.ts-DXPhlUCi.js.map → _server.ts-gCCprE5T.js.map} +1 -1
  336. package/build/server/chunks/{_server.ts-BrZXNFlK.js → _server.ts-k0TOB-E9.js} +5 -5
  337. package/build/server/chunks/{_server.ts-BrZXNFlK.js.map → _server.ts-k0TOB-E9.js.map} +1 -1
  338. package/build/server/chunks/{_server.ts-CFIgn6q6.js → _server.ts-qFzkA4h-.js} +8 -8
  339. package/build/server/chunks/{_server.ts-CFIgn6q6.js.map → _server.ts-qFzkA4h-.js.map} +1 -1
  340. package/build/server/chunks/{_server.ts-0ncRaWJ_.js → _server.ts-v9eUA-cx.js} +4 -4
  341. package/build/server/chunks/{_server.ts-0ncRaWJ_.js.map → _server.ts-v9eUA-cx.js.map} +1 -1
  342. package/build/server/chunks/{access.server-GvriCjXN.js → access.server-DVG3xnR_.js} +3 -3
  343. package/build/server/chunks/{access.server-GvriCjXN.js.map → access.server-DVG3xnR_.js.map} +1 -1
  344. package/build/server/chunks/{api-errors-Dk5z97zb.js → api-errors-DGHmIOGJ.js} +2 -2
  345. package/build/server/chunks/{api-errors-Dk5z97zb.js.map → api-errors-DGHmIOGJ.js.map} +1 -1
  346. package/build/server/chunks/{auth-bootstrap.server-CfD5CPTj.js → auth-bootstrap.server-oox9p1sN.js} +10 -3
  347. package/build/server/chunks/auth-bootstrap.server-oox9p1sN.js.map +1 -0
  348. package/build/server/chunks/{bootHealth.server-Bn7taneH.js → bootHealth.server-DQx_qsNh.js} +2 -2
  349. package/build/server/chunks/{bootHealth.server-Bn7taneH.js.map → bootHealth.server-DQx_qsNh.js.map} +1 -1
  350. package/build/server/chunks/{hooks.server-CMWyl1Gd.js → hooks.server-aaRldGQ_.js} +4 -4
  351. package/build/server/chunks/{hooks.server-CMWyl1Gd.js.map → hooks.server-aaRldGQ_.js.map} +1 -1
  352. package/build/server/chunks/{permissions.server-Co6VKW9f.js → permissions.server-qrbshNHz.js} +2 -2
  353. package/build/server/chunks/{permissions.server-Co6VKW9f.js.map → permissions.server-qrbshNHz.js.map} +1 -1
  354. package/build/server/chunks/{providers.server-C32WKtDL.js → providers.server-Duyx-08B.js} +68 -68
  355. package/build/server/chunks/providers.server-Duyx-08B.js.map +1 -0
  356. package/build/server/chunks/{resolve.server-DYsU4jL3.js → resolve.server-BwfjDyaT.js} +3 -3
  357. package/build/server/chunks/{resolve.server-DYsU4jL3.js.map → resolve.server-BwfjDyaT.js.map} +1 -1
  358. package/build/server/chunks/{resolve.server2-Co65XNMI.js → resolve.server2-DjZg4oZg.js} +3 -3
  359. package/build/server/chunks/{resolve.server2-Co65XNMI.js.map → resolve.server2-DjZg4oZg.js.map} +1 -1
  360. package/build/server/chunks/{token.server-B8XVPI0F.js → token.server-CBtuQZt0.js} +2 -2
  361. package/build/server/chunks/token.server-CBtuQZt0.js.map +1 -0
  362. package/build/server/chunks/{utils2-Sy-_rI-0.js → utils2-QuTTpZq0.js} +2 -2
  363. package/build/server/chunks/{utils2-Sy-_rI-0.js.map → utils2-QuTTpZq0.js.map} +1 -1
  364. package/build/server/index.js +2 -2
  365. package/build/server/index.js.map +1 -1
  366. package/build/server/manifest.js +70 -70
  367. package/build/server/manifest.js.map +1 -1
  368. package/package.json +6 -7
  369. package/templates/.env.example +3 -2
  370. package/templates/ecosystem.config.cjs +7 -5
  371. package/build/client/_app/immutable/assets/20.DvtWUFNX.css +0 -1
  372. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.br +0 -0
  373. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.gz +0 -0
  374. package/build/client/_app/immutable/chunks/4PBDTLFF.js.br +0 -0
  375. package/build/client/_app/immutable/chunks/4PBDTLFF.js.gz +0 -0
  376. package/build/client/_app/immutable/chunks/BMwGnr2J.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/BMwGnr2J.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.br +0 -0
  379. package/build/client/_app/immutable/chunks/BSyJ0ZuA.js.gz +0 -0
  380. package/build/client/_app/immutable/chunks/CS49LPny.js.br +0 -0
  381. package/build/client/_app/immutable/chunks/CS49LPny.js.gz +0 -0
  382. package/build/client/_app/immutable/chunks/VmqnFAi3.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/VmqnFAi3.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/smW5maEe.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/smW5maEe.js.gz +0 -0
  386. package/build/client/_app/immutable/entry/app.GElcRZPp.js.br +0 -0
  387. package/build/client/_app/immutable/entry/app.GElcRZPp.js.gz +0 -0
  388. package/build/client/_app/immutable/entry/start.D-b3nSOP.js +0 -1
  389. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.br +0 -0
  390. package/build/client/_app/immutable/entry/start.D-b3nSOP.js.gz +0 -0
  391. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.br +0 -0
  392. package/build/client/_app/immutable/nodes/0.r0PA_Sxw.js.gz +0 -0
  393. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.br +0 -0
  394. package/build/client/_app/immutable/nodes/1.CTfA0FAT.js.gz +0 -0
  395. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js +0 -3
  396. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/10.Bl4yPogx.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.br +0 -0
  399. package/build/client/_app/immutable/nodes/11.Dk81DreT.js.gz +0 -0
  400. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.br +0 -0
  401. package/build/client/_app/immutable/nodes/13.B3m9NRrd.js.gz +0 -0
  402. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.br +0 -0
  403. package/build/client/_app/immutable/nodes/14.9MmuwEpn.js.gz +0 -0
  404. package/build/client/_app/immutable/nodes/15.94-Zje0s.js +0 -13
  405. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.br +0 -0
  406. package/build/client/_app/immutable/nodes/15.94-Zje0s.js.gz +0 -0
  407. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.br +0 -0
  408. package/build/client/_app/immutable/nodes/16.BMWgVDGJ.js.gz +0 -0
  409. package/build/client/_app/immutable/nodes/17.Bch7V784.js.br +0 -0
  410. package/build/client/_app/immutable/nodes/17.Bch7V784.js.gz +0 -0
  411. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.br +0 -0
  412. package/build/client/_app/immutable/nodes/19.DQtOUgti.js.gz +0 -0
  413. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.br +0 -0
  414. package/build/client/_app/immutable/nodes/2.CyCY9Gpy.js.gz +0 -0
  415. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.br +0 -0
  416. package/build/client/_app/immutable/nodes/20.CT0e7phi.js.gz +0 -0
  417. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.br +0 -0
  418. package/build/client/_app/immutable/nodes/21.C43xF0qL.js.gz +0 -0
  419. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.br +0 -0
  420. package/build/client/_app/immutable/nodes/23.CFT1SOUF.js.gz +0 -0
  421. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.br +0 -0
  422. package/build/client/_app/immutable/nodes/24.BjGP5G3P.js.gz +0 -0
  423. package/build/client/_app/immutable/nodes/27.BS48zWld.js.br +0 -0
  424. package/build/client/_app/immutable/nodes/27.BS48zWld.js.gz +0 -0
  425. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.br +0 -0
  426. package/build/client/_app/immutable/nodes/28.eQk5ZqHl.js.gz +0 -0
  427. package/build/client/_app/immutable/nodes/29.-im11HaY.js.br +0 -0
  428. package/build/client/_app/immutable/nodes/29.-im11HaY.js.gz +0 -0
  429. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.br +0 -0
  430. package/build/client/_app/immutable/nodes/3.CfPrUs70.js.gz +0 -0
  431. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.br +0 -0
  432. package/build/client/_app/immutable/nodes/30.DUz5JI16.js.gz +0 -0
  433. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.br +0 -0
  434. package/build/client/_app/immutable/nodes/5.D4jMtb1M.js.gz +0 -0
  435. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.br +0 -0
  436. package/build/client/_app/immutable/nodes/6.BhoBomwz.js.gz +0 -0
  437. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.br +0 -0
  438. package/build/client/_app/immutable/nodes/7.CaJkp9fo.js.gz +0 -0
  439. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.br +0 -0
  440. package/build/client/_app/immutable/nodes/8.Bt2DWfca.js.gz +0 -0
  441. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.br +0 -0
  442. package/build/client/_app/immutable/nodes/9.C5-qch-V.js.gz +0 -0
  443. package/build/server/chunks/_page.svelte-5X2iRv32.js.map +0 -1
  444. package/build/server/chunks/_page.svelte-CX9DKxIH.js.map +0 -1
  445. package/build/server/chunks/_page.svelte-D6lEOLLp.js.map +0 -1
  446. package/build/server/chunks/_page.svelte-KapMJV5_.js.map +0 -1
  447. package/build/server/chunks/_server.ts-BpAINcOs.js.map +0 -1
  448. package/build/server/chunks/auth-bootstrap.server-CfD5CPTj.js.map +0 -1
  449. package/build/server/chunks/providers.server-C32WKtDL.js.map +0 -1
  450. package/build/server/chunks/token.server-B8XVPI0F.js.map +0 -1
  451. package/templates/selva.config.example.js +0 -338
@@ -1,6 +1,6 @@
1
- import"../chunks/DsnmJJEf.js";import{p as st,c as o,r as a,s,g as e,t as S,a as nt,u as g,b as W,e as F,h as et,i as lt,f as ee,$ as ct,j as l}from"../chunks/ooPBmYPj.js";import{d as ot,s as y,a as Me}from"../chunks/BMGykAfL.js";import{a as i,f as u,c as Qe,t as ke}from"../chunks/_OLpdTiI.js";import{i as T}from"../chunks/C8ko2SLk.js";import{c as xe,a as De,e as ce,r as Fe,h as ze,b as mt}from"../chunks/C1aQuqo_.js";import{c as pe}from"../chunks/CcYNc8-G.js";import{h as ut}from"../chunks/BM4_iXSA.js";import{i as Pe}from"../chunks/4PBDTLFF.js";import{a as Re,O as Ze,A as Te,C as vt}from"../chunks/DNsLImlA.js";import{U as gt}from"../chunks/CfP1DoGT.js";import{B as te}from"../chunks/azBeeLR0.js";import{T as it}from"../chunks/4tskcAVN.js";import{C as ft}from"../chunks/BU9URCkw.js";import{C as _t}from"../chunks/hRoV10UM.js";import{S as pt}from"../chunks/BZmrLQwT.js";import{C as tt,a as at}from"../chunks/wamM80bu.js";import{I as Ve}from"../chunks/jFKgkeON.js";import{t as E}from"../chunks/Ce2MupFq.js";import{X as xt}from"../chunks/CEnIp_6Y.js";import{E as rt}from"../chunks/AEyooZaf.js";import{S as ht}from"../chunks/BCse3N0b.js";import{P as bt}from"../chunks/D6MI_dhi.js";import{C as yt,a as wt}from"../chunks/uINs3xv3.js";import{C as kt}from"../chunks/D7l1JayF.js";import{M as Pt}from"../chunks/CfhPDo21.js";var At=u("<span> </span>"),Ct=u('<span class="border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">disabled</span>'),It=u("<span> </span>"),Ot=u('<div class="mt-1.5 flex flex-wrap gap-1"></div>'),Et=u('<label><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm leading-tight font-medium"> </p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label>'),St=u(`<p class="text-muted-foreground text-sm"><strong class="text-foreground capitalize"> </strong> automatically
1
+ import"../chunks/DsnmJJEf.js";import{p as st,c as o,r as a,s,g as e,t as S,a as nt,u as g,b as W,e as F,h as et,i as lt,f as ee,$ as ct,j as l}from"../chunks/ooPBmYPj.js";import{d as ot,s as y,a as Me}from"../chunks/BMGykAfL.js";import{a as i,f as u,c as Qe,t as ke}from"../chunks/_OLpdTiI.js";import{i as T}from"../chunks/C8ko2SLk.js";import{c as xe,a as De,e as ce,r as Fe,h as ze,b as mt}from"../chunks/C1aQuqo_.js";import{c as pe}from"../chunks/CcYNc8-G.js";import{h as ut}from"../chunks/BM4_iXSA.js";import{i as Pe}from"../chunks/CISf22d1.js";import{a as Re,O as Ze,A as Te,C as vt}from"../chunks/DNsLImlA.js";import{U as gt}from"../chunks/CfP1DoGT.js";import{B as te}from"../chunks/azBeeLR0.js";import{T as it}from"../chunks/4tskcAVN.js";import{C as ft}from"../chunks/BU9URCkw.js";import{C as _t}from"../chunks/hRoV10UM.js";import{S as pt}from"../chunks/BZmrLQwT.js";import{C as tt,a as at}from"../chunks/wamM80bu.js";import{I as Ve}from"../chunks/jFKgkeON.js";import{t as E}from"../chunks/Ce2MupFq.js";import{X as xt}from"../chunks/CEnIp_6Y.js";import{E as rt}from"../chunks/AEyooZaf.js";import{S as ht}from"../chunks/BCse3N0b.js";import{P as bt}from"../chunks/D6MI_dhi.js";import{C as yt,a as wt}from"../chunks/uINs3xv3.js";import{C as kt}from"../chunks/D7l1JayF.js";import{M as Pt}from"../chunks/CfhPDo21.js";var At=u("<span> </span>"),Ct=u('<span class="border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase">disabled</span>'),It=u("<span> </span>"),Ot=u('<div class="mt-1.5 flex flex-wrap gap-1"></div>'),Et=u('<label><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm leading-tight font-medium"> </p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label>'),St=u(`<p class="text-muted-foreground text-sm"><strong class="text-foreground capitalize"> </strong> automatically
2
2
  receive all organization permissions. To grant a custom subset, change the role to <span class="font-mono">member</span>.</p>`),Tt=u('<label><input type="checkbox" class="mt-0.5 shrink-0"/> <div class="min-w-0"><p class="text-sm leading-tight font-medium"> </p> <p class="text-muted-foreground mt-0.5 text-xs"> </p></div></label>'),Mt=u('<div class="grid gap-2 sm:grid-cols-2"></div>'),Rt=u('<div class="mt-4 ml-10 space-y-4"><section><h4 class="text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase">Platform</h4> <div class="grid gap-2 sm:grid-cols-2"></div></section> <section><h4 class="text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase">Organization</h4> <!></section></div>'),Lt=u('<div><div class="flex items-center gap-3"><button type="button" class="text-muted-foreground hover:text-foreground shrink-0 rounded-sm p-0.5"><!></button> <!> <div class="min-w-0 flex-1"><div class="flex items-center gap-2"><p class="truncate text-sm font-medium"> </p> <!> <!></div> <p class="text-muted-foreground truncate font-mono text-xs"> </p> <!></div> <!></div> <!></div>');function Nt(Be,t){st(t,!0);const Ae={instance_admin:"Instance admin",manage_instance_users:"Manage instance users",manage_compute:"Manage compute",manage_updates:"Manage updates",manage_org_members:"Manage members",manage_org_compute:"Manage org compute",manage_definitions:"Manage definitions",manage_projects:"Manage projects"},Le={instance_admin:"Full access to every action on the instance.",manage_instance_users:"Create, disable, and delete any user on the instance.",manage_compute:"Configure the instance Rhino.Compute pool.",manage_updates:"Run the application update script.",manage_org_members:"Invite, remove, and change roles of org members.",manage_org_compute:"Configure this org's BYO compute server.",manage_definitions:"Upload, edit, and delete any definition in the org.",manage_projects:"Create, edit, and delete any project in the org."},Ne={owner:"border-amber-500/40 text-amber-600 dark:text-amber-400 bg-amber-500/5",admin:"border-blue-500/40 text-blue-600 dark:text-blue-400 bg-blue-500/5",member:"border-border text-muted-foreground"},He=g(()=>t.user.displayName?`${t.user.displayName} · ${t.user.email??t.user.id}`:t.user.email??t.user.id),X=g(()=>t.user.orgRole==="owner"||t.user.orgRole==="admin"),ae=g(()=>t.user.permissions.filter(n=>Re.includes(n)?!0:!e(X)));function re(n){return Re.includes(n)}function se(n){return Ze.includes(n)}function me(n){const w=t.user.permissions.includes(n),M=re(n)&&!t.isPlatformAdmin,r=n==="instance_admin"&&t.soleInstanceAdmin,d=!re(n)&&se(n)&&t.user.orgRole==="member";return{checked:w,locked:M||r||d,soleAdminLock:r,platformLocked:M,memberExcluded:d}}var $=Lt(),V=o($),z=o(V),ne=o(z);{var he=n=>{ft(n,{class:"h-4 w-4"})},ue=n=>{_t(n,{class:"h-4 w-4"})};T(ne,n=>{t.expanded?n(he):n(ue,-1)})}a(z);var be=s(z,2);{let n=g(()=>t.user.displayName??t.user.email??t.user.id);gt(be,{get name(){return e(n)}})}var Ce=s(be,2),ve=o(Ce),ge=o(ve),Ie=o(ge,!0);a(ge);var Ue=s(ge,2);{var $e=n=>{var w=At(),M=o(w,!0);a(w),S(()=>{xe(w,1,`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${Ne[t.user.orgRole]}`),y(M,t.user.orgRole)}),i(n,w)};T(Ue,n=>{t.user.orgRole&&n($e)})}var Je=s(Ue,2);{var Ge=n=>{var w=Ct();i(n,w)};T(Je,n=>{t.user.disabled&&n(Ge)})}a(ve);var Oe=s(ve,2),Ye=o(Oe,!0);a(Oe);var We=s(Oe,2);{var Xe=n=>{var w=Ot();ce(w,20,()=>e(ae),M=>M,(M,r)=>{var d=It(),h=o(d,!0);a(d),S(U=>{xe(d,1,U),y(h,Ae[r])},[()=>`rounded-full px-2 py-0.5 font-mono text-[10px] ${re(r)?"bg-amber-500/10 text-amber-700 dark:text-amber-400":"bg-muted text-muted-foreground"}`]),i(M,d)}),a(w),i(n,w)};T(We,n=>{!t.expanded&&e(ae).length>0&&n(Xe)})}a(Ce);var qe=s(Ce,2);{let n=g(()=>t.deleting||t.soleInstanceAdmin),w=g(()=>t.soleInstanceAdmin?"Cannot delete the only instance admin. Promote another user first.":"Delete user");te(qe,{size:"sm",variant:"ghost",get disabled(){return e(n)},get onclick(){return t.onDelete},get title(){return e(w)},class:"text-destructive hover:text-destructive h-8 w-8 shrink-0 p-0",children:(M,r)=>{it(M,{class:"h-4 w-4"})},$$slots:{default:!0}})}a(V);var Ee=s(V,2);{var je=n=>{var w=Rt(),M=o(w),r=s(o(M),2);ce(r,20,()=>Re,R=>R,(R,A)=>{const C=g(()=>me(A));var k=Et(),j=o(k);Fe(j);var O=s(j,2),p=o(O),B=o(p,!0);a(p);var H=s(p,2),L=o(H,!0);a(H),a(O),a(k),S(()=>{xe(k,1,`flex items-start gap-2 rounded-md border p-2.5 ${e(C).locked?"border-border cursor-not-allowed opacity-60":"border-border hover:bg-accent/40 cursor-pointer"}`),De(k,"title",e(C).soleAdminLock?"Cannot remove the only instance admin.":void 0),ze(j,e(C).checked),j.disabled=t.updating||e(C).locked,y(B,Ae[A]),y(L,Le[A])}),Me("change",j,P=>t.onTogglePermission(A,P.target.checked)),i(R,k)}),a(r),a(M);var d=s(M,2),h=s(o(d),2);{var U=R=>{var A=St(),C=o(A),k=o(C);a(C),W(3),a(A),S(()=>y(k,`${t.user.orgRole??""}s`)),i(R,A)},le=R=>{var A=Mt();ce(A,20,()=>Te,C=>C,(C,k)=>{const j=g(()=>me(k));var O=Tt(),p=o(O);Fe(p);var B=s(p,2),H=o(B),L=o(H,!0);a(H);var P=s(H,2),I=o(P,!0);a(P),a(B),a(O),S(()=>{xe(O,1,`flex items-start gap-2 rounded-md border p-2.5 ${e(j).locked?"border-border cursor-not-allowed opacity-60":"border-border hover:bg-accent/40 cursor-pointer"}`),De(O,"title",e(j).memberExcluded?"Only owners and admins can hold this permission.":void 0),ze(p,e(j).checked),p.disabled=t.updating||e(j).locked,y(L,Ae[k]),y(I,Le[k])}),Me("change",p,Z=>t.onTogglePermission(k,Z.target.checked)),i(C,O)}),a(A),i(R,A)};T(h,R=>{e(X)?R(U):R(le,-1)})}a(d),a(w),i(n,w)};T(Ee,n=>{t.expanded&&n(je)})}a($),S(()=>{xe($,1,`px-4 py-3 ${t.expanded?"bg-accent/20":""}`),De(z,"aria-label",t.expanded?"Collapse permissions":"Expand permissions"),y(Ie,e(He)),y(Ye,t.user.id)}),Me("click",z,function(...n){t.onToggleExpand?.apply(this,n)}),i(Be,$),nt()}ot(["click","change"]);var Ut=u("<!> Invite user",1),jt=u("<!> ",1),Dt=u("<!> <!>",1),Ft=u("<option> </option>"),zt=u('<p class="text-muted-foreground mb-2 text-xs"> <span class="font-mono">member</span> to grant a custom subset.</p>'),Bt=u('<label><input type="checkbox"/> </label>'),Ht=u(`<div class="bg-muted/40 space-y-3 rounded-lg border p-4"><p class="text-sm font-medium">Invite user</p> <p class="text-muted-foreground text-xs">The invitee sets their own password when they open the link. No password leaves your
3
3
  machine.</p> <div class="grid gap-3 sm:grid-cols-2"><!> <select class="border-input bg-background h-9 rounded-md border px-3 text-sm"></select></div> <div><p class="mb-2 text-xs font-medium">Organization permissions</p> <!> <div class="flex flex-wrap gap-3"></div></div> <div class="flex gap-2"><!> <!></div></div>`),$t=u("<!> Copy",1),Jt=u('<div class="flex items-start gap-3 rounded-lg border border-green-500/30 bg-green-500/5 p-4"><div class="min-w-0 flex-1"><p class="text-sm font-medium">Invite ready — copy the link and share it</p> <p class="text-muted-foreground mt-1 truncate font-mono text-xs"> </p></div> <!> <!></div>'),Gt=u('<p class="text-muted-foreground text-xs"> </p>'),Yt=u('<label><input type="checkbox"/> </label>'),Wt=u(`<div class="bg-muted/40 space-y-3 rounded-lg border p-4"><p class="text-sm font-medium">New User</p> <div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <!> <div><p class="mb-2 text-xs font-medium">Permissions</p> <p class="text-muted-foreground mb-2 text-xs">New users are added as <span class="font-mono">member</span>. Promote them to owner or
4
4
  admin from the user list to grant full organization access.</p> <div class="flex flex-wrap gap-3"></div></div> <div class="flex gap-2"><!> <!></div></div>`),Xt=u(`Set <code class="text-xs">DATA_PATH</code> (local provider) or check your provider
5
- wiring in <code class="text-xs">selva.config.ts</code>.`,1),qt=u('<div class="divide-y rounded-lg border"></div>'),Kt=u("<!> <!> <!> <!>",1),Qt=u("<!> <!>",1),Vt=u('<div class="flex items-center justify-between gap-4 px-4 py-3"><div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs"> </p></div> <!></div>'),Zt=u('<div class="divide-y rounded-lg border"></div>'),ea=u("<!> <!>",1),ta=u('<div class="space-y-6"><!> <!> <!></div>');function Oa(Be,t){st(t,!0);const Ae=[...Re,...Te],Le=g(()=>t.data.isPlatformAdmin?Ae:[...Te]),Ne={instance_admin:"Instance Admin (all)",manage_instance_users:"Manage Instance Users",manage_compute:"Manage Compute (instance)",manage_updates:"Manage Updates",manage_org_members:"Manage Org Members",manage_org_compute:"Manage Org Compute",manage_definitions:"Manage Definitions",manage_projects:"Manage Projects"},He=["owner","admin","member"];let X=F(!1),ae=F(""),re=F(""),se=F(et([])),me=F(!1),$=F(!1),V=F(""),z=F("member"),ne=F(et([])),he=F(!1),ue=F(null),be=F(null);const Ce=g(()=>e(z)==="member"?Te.filter(r=>!Ze.includes(r)):[...Te]);let ve=F(null),ge=F(null),Ie=F(null);const Ue=g(()=>(t.data.users??[]).filter(r=>!r.disabled&&r.platformPermissions.includes("instance_admin")).length),$e=r=>e(Ue)===1&&!r.disabled&&r.platformPermissions.includes("instance_admin");function Je(r,d){d?l(se,[...e(se),r],!0):l(se,e(se).filter(h=>h!==r),!0)}async function Ge(){l(me,!0);try{const r=await fetch("/admin/api/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e(ae),...t.data.provider.userCreation==="email-password"&&{password:e(re)},permissions:e(se)})});if(r.ok)E.success(`User "${e(ae)}" created`),l(ae,""),l(re,""),l(se,[],!0),l(X,!1),await Pe();else{const d=await r.json().catch(()=>({error:"Unknown error"}));E.error(d.message||d.error||"Failed to create user")}}catch{E.error("Failed to create user")}finally{l(me,!1)}}async function Oe(r,d){l(ge,r,!0);try{const h=await fetch(`/admin/api/users/${r}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({permissions:d})});if(h.ok)E.success("Permissions updated"),await Pe();else{const U=await h.json().catch(()=>({}));E.error(U.message||U.error||"Failed to update permissions"),await Pe()}}catch{E.error("Failed to update permissions")}finally{l(ge,null)}}function Ye(r,d){d?l(ne,[...e(ne),r],!0):l(ne,e(ne).filter(h=>h!==r),!0)}async function We(){l(he,!0);try{const r=await fetch("/api/invites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e(V),orgRole:e(z),permissions:e(ne)})});if(r.ok){const{acceptUrl:d}=await r.json();l(ue,d,!0),E.success(`Invite created for ${e(V)}`),l(V,""),l(z,"member"),l(ne,[],!0),l($,!1),await Pe()}else{const d=await r.json().catch(()=>({error:"Unknown error"}));E.error(d.message||d.error||"Failed to create invite")}}catch{E.error("Failed to create invite")}finally{l(he,!1)}}async function Xe(r,d){if(confirm(`Revoke invite for "${d}"?`)){l(be,r,!0);try{(await fetch(`/api/invites/${r}`,{method:"DELETE"})).ok?(E.success("Invite revoked"),await Pe()):E.error("Failed to revoke invite")}catch{E.error("Failed to revoke invite")}finally{l(be,null)}}}async function qe(r,d){if(confirm(`Delete user "${d}"? This cannot be undone.`)){l(ve,r,!0);try{const h=await fetch(`/admin/api/users/${r}`,{method:"DELETE"});if(h.ok)E.success(`User "${d}" deleted`),await Pe();else{const U=await h.json().catch(()=>({}));E.error(U.message||U.error||"Failed to delete user")}}catch{E.error("Failed to delete user")}finally{l(ve,null)}}}var Ee=ta();ut("1p497kv",r=>{lt(()=>{ct.title="Admin · Users"})});var je=o(Ee);{const r=h=>{var U=Qe(),le=ee(U);{var R=A=>{var C=Dt(),k=ee(C);{var j=p=>{{let B=g(()=>e($)?"outline":"default");te(p,{onclick:()=>{l($,!e($)),e($)&&l(X,!1)},get variant(){return e(B)},children:(H,L)=>{var P=Ut(),I=ee(P);Pt(I,{class:"mr-2 h-4 w-4"}),W(),i(H,P)},$$slots:{default:!0}})}};T(k,p=>{t.data.provider.userCreation==="email-password"&&p(j)})}var O=s(k,2);{let p=g(()=>e(X)?"outline":"secondary");te(O,{onclick:()=>{l(X,!e(X)),e(X)&&l($,!1)},get variant(){return e(p)},children:(B,H)=>{var L=jt(),P=ee(L);bt(P,{class:"mr-2 h-4 w-4"});var I=s(P);S(()=>y(I,` ${t.data.provider.userCreation==="email-only"?"Allowlist user":"Add user"}`)),i(B,L)},$$slots:{default:!0}})}i(A,C)};T(le,A=>{t.data.users!==null&&t.data.provider.userCreation!=="none"&&A(R)})}i(h,U)};let d=g(()=>t.data.users===null?"The current auth provider does not expose a user store. Configure DATA_PATH (local provider) or check your provider wiring.":`${t.data.users.length} user${t.data.users.length===1?"":"s"} on this instance.`);pt(je,{eyebrow:"Admin",title:"Users",get description(){return e(d)},actions:r,$$slots:{actions:!0}})}var n=s(je,2);pe(n,()=>at,(r,d)=>{d(r,{children:(h,U)=>{var le=Qe(),R=ee(le);pe(R,()=>tt,(A,C)=>{C(A,{class:"space-y-4 pt-6",children:(k,j)=>{var O=Kt(),p=ee(O);{var B=m=>{var _=Ht(),x=s(o(_),4),f=o(x);Ve(f,{type:"email",placeholder:"Email",get value(){return e(V)},set value(b){l(V,b,!0)}});var q=s(f,2);ce(q,20,()=>He,b=>b,(b,c)=>{var v=Ft(),N=o(v,!0);a(v);var G={};S(()=>{y(N,c),G!==(G=c)&&(v.value=(v.__value=c)??"")}),i(b,v)}),a(q),a(x);var Y=s(x,2),D=s(o(Y),2);{var K=b=>{var c=zt(),v=o(c);W(2),a(c),S(()=>y(v,`${e(z)==="owner"?"Owners":"Admins"} automatically receive all organization
5
+ selection in <code class="text-xs">.env</code>.`,1),qt=u('<div class="divide-y rounded-lg border"></div>'),Kt=u("<!> <!> <!> <!>",1),Qt=u("<!> <!>",1),Vt=u('<div class="flex items-center justify-between gap-4 px-4 py-3"><div class="min-w-0 flex-1"><p class="truncate text-sm font-medium"> </p> <p class="text-muted-foreground text-xs"> </p></div> <!></div>'),Zt=u('<div class="divide-y rounded-lg border"></div>'),ea=u("<!> <!>",1),ta=u('<div class="space-y-6"><!> <!> <!></div>');function Oa(Be,t){st(t,!0);const Ae=[...Re,...Te],Le=g(()=>t.data.isPlatformAdmin?Ae:[...Te]),Ne={instance_admin:"Instance Admin (all)",manage_instance_users:"Manage Instance Users",manage_compute:"Manage Compute (instance)",manage_updates:"Manage Updates",manage_org_members:"Manage Org Members",manage_org_compute:"Manage Org Compute",manage_definitions:"Manage Definitions",manage_projects:"Manage Projects"},He=["owner","admin","member"];let X=F(!1),ae=F(""),re=F(""),se=F(et([])),me=F(!1),$=F(!1),V=F(""),z=F("member"),ne=F(et([])),he=F(!1),ue=F(null),be=F(null);const Ce=g(()=>e(z)==="member"?Te.filter(r=>!Ze.includes(r)):[...Te]);let ve=F(null),ge=F(null),Ie=F(null);const Ue=g(()=>(t.data.users??[]).filter(r=>!r.disabled&&r.platformPermissions.includes("instance_admin")).length),$e=r=>e(Ue)===1&&!r.disabled&&r.platformPermissions.includes("instance_admin");function Je(r,d){d?l(se,[...e(se),r],!0):l(se,e(se).filter(h=>h!==r),!0)}async function Ge(){l(me,!0);try{const r=await fetch("/admin/api/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e(ae),...t.data.provider.userCreation==="email-password"&&{password:e(re)},permissions:e(se)})});if(r.ok)E.success(`User "${e(ae)}" created`),l(ae,""),l(re,""),l(se,[],!0),l(X,!1),await Pe();else{const d=await r.json().catch(()=>({error:"Unknown error"}));E.error(d.message||d.error||"Failed to create user")}}catch{E.error("Failed to create user")}finally{l(me,!1)}}async function Oe(r,d){l(ge,r,!0);try{const h=await fetch(`/admin/api/users/${r}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({permissions:d})});if(h.ok)E.success("Permissions updated"),await Pe();else{const U=await h.json().catch(()=>({}));E.error(U.message||U.error||"Failed to update permissions"),await Pe()}}catch{E.error("Failed to update permissions")}finally{l(ge,null)}}function Ye(r,d){d?l(ne,[...e(ne),r],!0):l(ne,e(ne).filter(h=>h!==r),!0)}async function We(){l(he,!0);try{const r=await fetch("/api/invites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e(V),orgRole:e(z),permissions:e(ne)})});if(r.ok){const{acceptUrl:d}=await r.json();l(ue,d,!0),E.success(`Invite created for ${e(V)}`),l(V,""),l(z,"member"),l(ne,[],!0),l($,!1),await Pe()}else{const d=await r.json().catch(()=>({error:"Unknown error"}));E.error(d.message||d.error||"Failed to create invite")}}catch{E.error("Failed to create invite")}finally{l(he,!1)}}async function Xe(r,d){if(confirm(`Revoke invite for "${d}"?`)){l(be,r,!0);try{(await fetch(`/api/invites/${r}`,{method:"DELETE"})).ok?(E.success("Invite revoked"),await Pe()):E.error("Failed to revoke invite")}catch{E.error("Failed to revoke invite")}finally{l(be,null)}}}async function qe(r,d){if(confirm(`Delete user "${d}"? This cannot be undone.`)){l(ve,r,!0);try{const h=await fetch(`/admin/api/users/${r}`,{method:"DELETE"});if(h.ok)E.success(`User "${d}" deleted`),await Pe();else{const U=await h.json().catch(()=>({}));E.error(U.message||U.error||"Failed to delete user")}}catch{E.error("Failed to delete user")}finally{l(ve,null)}}}var Ee=ta();ut("1p497kv",r=>{lt(()=>{ct.title="Admin · Users"})});var je=o(Ee);{const r=h=>{var U=Qe(),le=ee(U);{var R=A=>{var C=Dt(),k=ee(C);{var j=p=>{{let B=g(()=>e($)?"outline":"default");te(p,{onclick:()=>{l($,!e($)),e($)&&l(X,!1)},get variant(){return e(B)},children:(H,L)=>{var P=Ut(),I=ee(P);Pt(I,{class:"mr-2 h-4 w-4"}),W(),i(H,P)},$$slots:{default:!0}})}};T(k,p=>{t.data.provider.userCreation==="email-password"&&p(j)})}var O=s(k,2);{let p=g(()=>e(X)?"outline":"secondary");te(O,{onclick:()=>{l(X,!e(X)),e(X)&&l($,!1)},get variant(){return e(p)},children:(B,H)=>{var L=jt(),P=ee(L);bt(P,{class:"mr-2 h-4 w-4"});var I=s(P);S(()=>y(I,` ${t.data.provider.userCreation==="email-only"?"Allowlist user":"Add user"}`)),i(B,L)},$$slots:{default:!0}})}i(A,C)};T(le,A=>{t.data.users!==null&&t.data.provider.userCreation!=="none"&&A(R)})}i(h,U)};let d=g(()=>t.data.users===null?"The current auth provider does not expose a user store. Configure DATA_PATH (local provider) or check your provider wiring.":`${t.data.users.length} user${t.data.users.length===1?"":"s"} on this instance.`);pt(je,{eyebrow:"Admin",title:"Users",get description(){return e(d)},actions:r,$$slots:{actions:!0}})}var n=s(je,2);pe(n,()=>at,(r,d)=>{d(r,{children:(h,U)=>{var le=Qe(),R=ee(le);pe(R,()=>tt,(A,C)=>{C(A,{class:"space-y-4 pt-6",children:(k,j)=>{var O=Kt(),p=ee(O);{var B=m=>{var _=Ht(),x=s(o(_),4),f=o(x);Ve(f,{type:"email",placeholder:"Email",get value(){return e(V)},set value(b){l(V,b,!0)}});var q=s(f,2);ce(q,20,()=>He,b=>b,(b,c)=>{var v=Ft(),N=o(v,!0);a(v);var G={};S(()=>{y(N,c),G!==(G=c)&&(v.value=(v.__value=c)??"")}),i(b,v)}),a(q),a(x);var Y=s(x,2),D=s(o(Y),2);{var K=b=>{var c=zt(),v=o(c);W(2),a(c),S(()=>y(v,`${e(z)==="owner"?"Owners":"Admins"} automatically receive all organization
6
6
  permissions. Pick `)),i(b,c)};T(D,b=>{e(z)!=="member"&&b(K)})}var J=s(D,2);ce(J,20,()=>e(Ce),b=>b,(b,c)=>{const v=g(()=>e(z)!=="member");var N=Bt(),G=o(N);Fe(G);var we=s(G);a(N),S(de=>{xe(N,1,`flex items-center gap-1.5 text-xs ${e(v)?"cursor-not-allowed opacity-60":"cursor-pointer"}`),ze(G,de),G.disabled=e(v),y(we,` ${Ne[c]??""}`)},[()=>e(v)||e(ne).includes(c)]),Me("change",G,de=>Ye(c,de.target.checked)),i(b,N)}),a(J),a(Y);var Q=s(Y,2),ie=o(Q);{let b=g(()=>e(he)||!e(V));te(ie,{onclick:We,get disabled(){return e(b)},children:(c,v)=>{W();var N=ke();S(()=>y(N,e(he)?"Creating…":"Create invite")),i(c,N)},$$slots:{default:!0}})}var ye=s(ie,2);te(ye,{variant:"outline",onclick:()=>l($,!1),children:(b,c)=>{W();var v=ke("Cancel");i(b,v)},$$slots:{default:!0}}),a(Q),a(_),mt(q,()=>e(z),b=>l(z,b)),i(m,_)};T(p,m=>{e($)&&m(B)})}var H=s(p,2);{var L=m=>{var _=Jt(),x=o(_),f=s(o(x),2),q=o(f,!0);a(f),a(x);var Y=s(x,2);te(Y,{size:"sm",variant:"outline",onclick:async()=>{try{await navigator.clipboard.writeText(e(ue)),E.success("Invite link copied")}catch{E.error("Could not copy to clipboard")}},children:(K,J)=>{var Q=$t(),ie=ee(Q);vt(ie,{class:"mr-1.5 h-3.5 w-3.5"}),W(),i(K,Q)},$$slots:{default:!0}});var D=s(Y,2);te(D,{size:"sm",variant:"ghost",onclick:()=>l(ue,null),children:(K,J)=>{xt(K,{class:"h-4 w-4"})},$$slots:{default:!0}}),a(_),S(()=>y(q,e(ue))),i(m,_)};T(H,m=>{e(ue)&&m(L)})}var P=s(H,2);{var I=m=>{var _=Wt(),x=s(o(_),2),f=o(x);Ve(f,{type:"email",placeholder:"Email",get value(){return e(ae)},set value(c){l(ae,c,!0)}});var q=s(f,2);{var Y=c=>{Ve(c,{type:"password",placeholder:"Password (min 8 chars)",get value(){return e(re)},set value(v){l(re,v,!0)}})};T(q,c=>{t.data.provider.userCreation==="email-password"&&c(Y)})}a(x);var D=s(x,2);{var K=c=>{var v=Gt(),N=o(v);a(v),S(()=>y(N,`This user will authenticate via ${t.data.provider.name??""}. No password is stored.`)),i(c,v)};T(D,c=>{t.data.provider.userCreation==="email-only"&&c(K)})}var J=s(D,2),Q=s(o(J),4);ce(Q,20,()=>e(Le),c=>c,(c,v)=>{const N=g(()=>Ze.includes(v)),G=g(()=>Re.includes(v)),we=g(()=>e(N)&&!e(G));var de=Yt(),Se=o(de);Fe(Se);var dt=s(Se);a(de),S(Ke=>{xe(de,1,`flex items-center gap-1.5 text-xs ${e(we)?"cursor-not-allowed opacity-60":"cursor-pointer"}`),De(de,"title",e(we)?"Only owners and admins can hold this permission":void 0),ze(Se,Ke),Se.disabled=e(we),y(dt,` ${Ne[v]??""}`)},[()=>!e(we)&&e(se).includes(v)]),Me("change",Se,Ke=>Je(v,Ke.target.checked)),i(c,de)}),a(Q),a(J);var ie=s(J,2),ye=o(ie);{let c=g(()=>e(me)||!e(ae)||t.data.provider.userCreation==="email-password"&&!e(re));te(ye,{onclick:Ge,get disabled(){return e(c)},children:(v,N)=>{W();var G=ke();S(()=>y(G,e(me)?"Creating…":"Create User")),i(v,G)},$$slots:{default:!0}})}var b=s(ye,2);te(b,{variant:"outline",onclick:()=>l(X,!1),children:(c,v)=>{W();var N=ke("Cancel");i(c,N)},$$slots:{default:!0}}),a(ie),a(_),i(m,_)};T(P,m=>{e(X)&&m(I)})}var Z=s(P,2);{var fe=m=>{rt(m,{get icon(){return ht},title:"User store unavailable",body:x=>{W();var f=Xt();W(4),i(x,f)},$$slots:{body:!0}})},oe=m=>{rt(m,{title:"No users yet",description:"Add your first user above."})},_e=m=>{var _=qt();ce(_,21,()=>t.data.users,x=>x.id,(x,f)=>{{let q=g(()=>e(Ie)===e(f).id),Y=g(()=>$e(e(f))),D=g(()=>e(ge)===e(f).id),K=g(()=>e(ve)===e(f).id);Nt(x,{get user(){return e(f)},get expanded(){return e(q)},get isPlatformAdmin(){return t.data.isPlatformAdmin},get soleInstanceAdmin(){return e(Y)},get updating(){return e(D)},get deleting(){return e(K)},onToggleExpand:()=>l(Ie,e(Ie)===e(f).id?null:e(f).id,!0),onTogglePermission:async(J,Q)=>{const ie=Q?[...e(f).permissions,J]:e(f).permissions.filter(ye=>ye!==J);await Oe(e(f).id,ie)},onDelete:()=>qe(e(f).id,e(f).email??e(f).id)})}}),a(_),i(m,_)};T(Z,m=>{t.data.users===null?m(fe):t.data.users.length===0?m(oe,1):m(_e,-1)})}i(k,O)},$$slots:{default:!0}})}),i(h,le)},$$slots:{default:!0}})});var w=s(n,2);{var M=r=>{var d=Qe(),h=ee(d);pe(h,()=>at,(U,le)=>{le(U,{children:(R,A)=>{var C=ea(),k=ee(C);pe(k,()=>yt,(O,p)=>{p(O,{children:(B,H)=>{var L=Qt(),P=ee(L);pe(P,()=>wt,(Z,fe)=>{fe(Z,{children:(oe,_e)=>{W();var m=ke("Invites");i(oe,m)},$$slots:{default:!0}})});var I=s(P,2);pe(I,()=>kt,(Z,fe)=>{fe(Z,{children:(oe,_e)=>{W();var m=ke();S((_,x)=>y(m,`${_??""} pending, ${x??""} accepted`),[()=>t.data.invites.filter(_=>!_.acceptedAt).length,()=>t.data.invites.filter(_=>_.acceptedAt).length]),i(oe,m)},$$slots:{default:!0}})}),i(B,L)},$$slots:{default:!0}})});var j=s(k,2);pe(j,()=>tt,(O,p)=>{p(O,{children:(B,H)=>{var L=Zt();ce(L,21,()=>t.data.invites,P=>P.id,(P,I)=>{const Z=g(()=>Date.parse(e(I).expiresAt)<=Date.now()),fe=g(()=>e(I).acceptedAt?"Accepted":e(Z)?"Expired":"Pending");var oe=Vt(),_e=o(oe),m=o(_e),_=o(m,!0);a(m);var x=s(m,2),f=o(x);a(x),a(_e);var q=s(_e,2);{var Y=D=>{{let K=g(()=>e(be)===e(I).id);te(D,{size:"sm",variant:"ghost",get disabled(){return e(K)},onclick:()=>Xe(e(I).id,e(I).email),class:"text-destructive hover:text-destructive",children:(J,Q)=>{it(J,{class:"h-4 w-4"})},$$slots:{default:!0}})}};T(q,D=>{!e(I).acceptedAt&&!e(Z)&&D(Y)})}a(oe),S(D=>{y(_,e(I).email),y(f,`${e(fe)??""} · ${e(I).orgRole??""} · expires ${D??""}`)},[()=>new Date(e(I).expiresAt).toLocaleDateString()]),i(P,oe)}),a(L),i(B,L)},$$slots:{default:!0}})}),i(R,C)},$$slots:{default:!0}})}),i(r,d)};T(w,r=>{t.data.invites.length>0&&r(M)})}a(Ee),i(Be,Ee),nt()}ot(["change"]);export{Oa as component};
@@ -1,2 +1,2 @@
1
- import"../chunks/DsnmJJEf.js";import{p as y,a as b,d as w,c as e,$ as A,r as t,s as C,f as j,b as l}from"../chunks/ooPBmYPj.js";import{a as s,f as M,c as P,t as q}from"../chunks/_OLpdTiI.js";import{c as m}from"../chunks/CcYNc8-G.js";import{h as z}from"../chunks/BM4_iXSA.js";import{p as B}from"../chunks/smW5maEe.js";import{M as I}from"../chunks/CfhPDo21.js";import{A as T,a as W}from"../chunks/BW4xleRz.js";var D=M('<div class="bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8"><div class="w-full max-w-sm space-y-6 text-center"><div class="flex justify-center"><div class="bg-muted rounded-full p-4"><!></div></div> <div class="space-y-2"><h2 class="text-foreground text-2xl font-bold tracking-tight">Check your email</h2> <p class="text-muted-foreground text-sm">We sent you a sign-in link. Click the link in the email to continue.</p></div> <!> <a class="text-muted-foreground hover:text-foreground text-sm underline" href="/login">Back to sign in</a></div></div>');function R(c,p){y(p,!0);var r=D();z("l70sov",n=>{w(()=>{A.title=`Check your email - ${B.data.branding.name??""}`})});var o=e(r),a=e(o),i=e(a),f=e(i);I(f,{class:"text-foreground size-8"}),t(i),t(a);var u=C(a,4);m(u,()=>W,(n,v)=>{v(n,{children:(h,E)=>{var d=P(),g=j(d);m(g,()=>T,(x,$)=>{$(x,{children:(_,F)=>{l();var k=q(`The link expires in a few minutes. If it doesn't arrive, check your spam folder or request a
1
+ import"../chunks/DsnmJJEf.js";import{p as y,a as b,d as w,c as e,$ as A,r as t,s as C,f as j,b as l}from"../chunks/ooPBmYPj.js";import{a as s,f as M,c as P,t as q}from"../chunks/_OLpdTiI.js";import{c as m}from"../chunks/CcYNc8-G.js";import{h as z}from"../chunks/BM4_iXSA.js";import{p as B}from"../chunks/mn4wqSK3.js";import{M as I}from"../chunks/CfhPDo21.js";import{A as T,a as W}from"../chunks/BW4xleRz.js";var D=M('<div class="bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8"><div class="w-full max-w-sm space-y-6 text-center"><div class="flex justify-center"><div class="bg-muted rounded-full p-4"><!></div></div> <div class="space-y-2"><h2 class="text-foreground text-2xl font-bold tracking-tight">Check your email</h2> <p class="text-muted-foreground text-sm">We sent you a sign-in link. Click the link in the email to continue.</p></div> <!> <a class="text-muted-foreground hover:text-foreground text-sm underline" href="/login">Back to sign in</a></div></div>');function R(c,p){y(p,!0);var r=D();z("l70sov",n=>{w(()=>{A.title=`Check your email - ${B.data.branding.name??""}`})});var o=e(r),a=e(o),i=e(a),f=e(i);I(f,{class:"text-foreground size-8"}),t(i),t(a);var u=C(a,4);m(u,()=>W,(n,v)=>{v(n,{children:(h,E)=>{var d=P(),g=j(d);m(g,()=>T,(x,$)=>{$(x,{children:(_,F)=>{l();var k=q(`The link expires in a few minutes. If it doesn't arrive, check your spam folder or request a
2
2
  new one from the sign-in page.`);s(_,k)},$$slots:{default:!0}})}),s(h,d)},$$slots:{default:!0}})}),l(2),t(o),t(r),s(c,r),b()}export{R as component};
@@ -1,2 +1,2 @@
1
- import"../chunks/DsnmJJEf.js";import{t as R,c as o,n as Gt,r,p as mt,a as bt,g as t,u as p,s as i,f as kt,j as C,e as q,b as Pt}from"../chunks/ooPBmYPj.js";import{d as _t,a as $,s as G}from"../chunks/BMGykAfL.js";import{a as l,f as c,c as St}from"../chunks/_OLpdTiI.js";import{i as N}from"../chunks/C8ko2SLk.js";import{c as it,a as dt,d as Et,e as X,j as wt,b as gt}from"../chunks/C1aQuqo_.js";import{g as Ot,i as Vt}from"../chunks/4PBDTLFF.js";import{m as zt,h as Ht,S as Ut,V as Wt,D as qt}from"../chunks/Dl4WTuMB.js";import{s as Qt,r as Xt,p as pt}from"../chunks/CcYNc8-G.js";import{S as Jt}from"../chunks/CoR7xVWs.js";import{A as At}from"../chunks/P4Np3c9O.js";import{A as Kt}from"../chunks/CS49LPny.js";import{s as Yt}from"../chunks/BNScKugQ.js";import{S as Zt}from"../chunks/BZmrLQwT.js";import{I as $t}from"../chunks/Bnpwcepm.js";import{X as te}from"../chunks/CEnIp_6Y.js";import{E as jt}from"../chunks/AEyooZaf.js";import{t as ee}from"../chunks/Ce2MupFq.js";function re(L,a){let g=Xt(a,["$$slots","$$events","$$legacy"]);const u=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"}]];$t(L,Qt({name:"funnel"},()=>g,{get iconNode(){return u}}))}var ae=c("<main><!></main>");function oe(L,a){let g=pt(a,"class",3,"");var u=ae(),w=o(u);Yt(w,()=>a.children??Gt),r(u),R(()=>it(u,1,`px-(--page-px) py-(--page-py) ${g()}`)),l(L,u)}var ne=c('<button type="button"><!></button>');function se(L,a){mt(a,!0);let g=pt(a,"busy",3,!1),u=pt(a,"variant",3,"overlay");const w="absolute top-2 right-2 flex h-7 w-7 items-center justify-center rounded-full backdrop-blur-sm transition-all disabled:opacity-60",s="flex h-7 w-7 items-center justify-center rounded-full transition-colors disabled:opacity-60";var j=ne(),k=o(j);{let F=p(()=>a.starred?"fill-current":"");Jt(k,{get class(){return`h-3.5 w-3.5 ${t(F)??""}`}})}r(j),R(()=>{dt(j,"title",a.starred?"Unstar":"Star"),dt(j,"aria-label",a.starred?"Unstar definition":"Star definition"),dt(j,"aria-pressed",a.starred),j.disabled=g(),it(j,1,Et(u()==="overlay"?`${w} ${a.starred?"bg-amber-400/90 text-white":"bg-black/40 text-white opacity-0 group-hover:opacity-100 hover:bg-black/55"}`:`${s} ${a.starred?"text-amber-500 hover:bg-amber-50":"text-muted-foreground hover:text-foreground hover:bg-muted"}`))}),$("click",j,F=>{F.stopPropagation(),F.preventDefault(),a.onToggle()}),l(L,j),bt()}_t(["click"]);var ie=c('<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>'),le=c('<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>'),de=c('<p class="text-muted-foreground truncate text-[12px]"> </p>'),ue=c('<span class="bg-muted text-muted-foreground rounded px-1.5 py-px font-mono text-[10.5px]"> </span>'),ce=c('<button type="button"><!> <div class="min-w-0"><p class="truncate text-[13.5px] font-semibold"> </p> <!></div> <div class="flex flex-wrap items-center gap-1"><!></div> <span class="text-muted-foreground font-mono text-[12px]"> </span> <div class="flex items-center justify-end gap-1"><!> <!></div></button>'),ve=c('<div class="border-border bg-card overflow-hidden rounded-xl border"></div>');function fe(L,a){mt(a,!0);const g="grid-template-columns: 40px minmax(0, 1.7fr) minmax(0, 1fr) 90px 36px";var u=ve();X(u,23,()=>a.records,w=>w.guid,(w,s,j)=>{var k=ce();wt(k,g);var F=o(k);{var Q=v=>{var e=ie(),_=o(e);r(e),R(()=>dt(_,"src",t(s).coverImage)),l(v,e)},tt=v=>{const e=p(()=>Ht(t(s).guid));var _=le();let B;var nt=o(_),z=o(nt,!0);r(nt),r(_),R(Z=>{B=wt(_,"",B,{"--tool-h1":t(e).h1,"--tool-h2":t(e).h2}),G(z,Z)},[()=>zt(t(s).displayName)]),l(v,_)};N(F,v=>{t(s).coverImage?v(Q):v(tt,-1)})}var U=i(F,2),et=o(U),P=o(et,!0);r(et);var rt=i(et,2);{var at=v=>{var e=de(),_=o(e,!0);r(e),R(()=>G(_,t(s).description)),l(v,e)};N(rt,v=>{t(s).description&&v(at)})}r(U);var ot=i(U,2),ut=o(ot);{var ct=v=>{var e=St(),_=kt(e);X(_,16,()=>t(s).tags.slice(0,3),B=>B,(B,nt)=>{var z=ue(),Z=o(z);r(z),R(()=>G(Z,`#${nt??""}`)),l(B,z)}),l(v,e)};N(ut,v=>{t(s).tags?.length&&v(ct)})}r(ot);var V=i(ot,2),J=o(V,!0);r(V);var K=i(V,2),Y=o(K);{let v=p(()=>a.starredIds.has(t(s).guid)),e=p(()=>a.starBusyGuid===t(s).guid);se(Y,{get starred(){return t(v)},get busy(){return t(e)},variant:"chip",onToggle:()=>a.onToggleStar(t(s).guid)})}var lt=i(Y,2);At(lt,{class:"text-muted-foreground h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"}),r(K),r(k),R(v=>{k.disabled=a.loadingGuid===t(s).guid,it(k,1,`hover:bg-muted/40 group grid w-full items-center gap-4 px-4 py-3 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-60
1
+ import"../chunks/DsnmJJEf.js";import{t as R,c as o,n as Gt,r,p as mt,a as bt,g as t,u as p,s as i,f as kt,j as C,e as q,b as Pt}from"../chunks/ooPBmYPj.js";import{d as _t,a as $,s as G}from"../chunks/BMGykAfL.js";import{a as l,f as c,c as St}from"../chunks/_OLpdTiI.js";import{i as N}from"../chunks/C8ko2SLk.js";import{c as it,a as dt,d as Et,e as X,j as wt,b as gt}from"../chunks/C1aQuqo_.js";import{g as Ot,i as Vt}from"../chunks/CISf22d1.js";import{m as zt,h as Ht,S as Ut,V as Wt,D as qt}from"../chunks/Dl4WTuMB.js";import{s as Qt,r as Xt,p as pt}from"../chunks/CcYNc8-G.js";import{S as Jt}from"../chunks/CoR7xVWs.js";import{A as At}from"../chunks/P4Np3c9O.js";import{A as Kt}from"../chunks/CCx3W8-n.js";import{s as Yt}from"../chunks/BNScKugQ.js";import{S as Zt}from"../chunks/BZmrLQwT.js";import{I as $t}from"../chunks/Bnpwcepm.js";import{X as te}from"../chunks/CEnIp_6Y.js";import{E as jt}from"../chunks/AEyooZaf.js";import{t as ee}from"../chunks/Ce2MupFq.js";function re(L,a){let g=Xt(a,["$$slots","$$events","$$legacy"]);const u=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"}]];$t(L,Qt({name:"funnel"},()=>g,{get iconNode(){return u}}))}var ae=c("<main><!></main>");function oe(L,a){let g=pt(a,"class",3,"");var u=ae(),w=o(u);Yt(w,()=>a.children??Gt),r(u),R(()=>it(u,1,`px-(--page-px) py-(--page-py) ${g()}`)),l(L,u)}var ne=c('<button type="button"><!></button>');function se(L,a){mt(a,!0);let g=pt(a,"busy",3,!1),u=pt(a,"variant",3,"overlay");const w="absolute top-2 right-2 flex h-7 w-7 items-center justify-center rounded-full backdrop-blur-sm transition-all disabled:opacity-60",s="flex h-7 w-7 items-center justify-center rounded-full transition-colors disabled:opacity-60";var j=ne(),k=o(j);{let F=p(()=>a.starred?"fill-current":"");Jt(k,{get class(){return`h-3.5 w-3.5 ${t(F)??""}`}})}r(j),R(()=>{dt(j,"title",a.starred?"Unstar":"Star"),dt(j,"aria-label",a.starred?"Unstar definition":"Star definition"),dt(j,"aria-pressed",a.starred),j.disabled=g(),it(j,1,Et(u()==="overlay"?`${w} ${a.starred?"bg-amber-400/90 text-white":"bg-black/40 text-white opacity-0 group-hover:opacity-100 hover:bg-black/55"}`:`${s} ${a.starred?"text-amber-500 hover:bg-amber-50":"text-muted-foreground hover:text-foreground hover:bg-muted"}`))}),$("click",j,F=>{F.stopPropagation(),F.preventDefault(),a.onToggle()}),l(L,j),bt()}_t(["click"]);var ie=c('<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>'),le=c('<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>'),de=c('<p class="text-muted-foreground truncate text-[12px]"> </p>'),ue=c('<span class="bg-muted text-muted-foreground rounded px-1.5 py-px font-mono text-[10.5px]"> </span>'),ce=c('<button type="button"><!> <div class="min-w-0"><p class="truncate text-[13.5px] font-semibold"> </p> <!></div> <div class="flex flex-wrap items-center gap-1"><!></div> <span class="text-muted-foreground font-mono text-[12px]"> </span> <div class="flex items-center justify-end gap-1"><!> <!></div></button>'),ve=c('<div class="border-border bg-card overflow-hidden rounded-xl border"></div>');function fe(L,a){mt(a,!0);const g="grid-template-columns: 40px minmax(0, 1.7fr) minmax(0, 1fr) 90px 36px";var u=ve();X(u,23,()=>a.records,w=>w.guid,(w,s,j)=>{var k=ce();wt(k,g);var F=o(k);{var Q=v=>{var e=ie(),_=o(e);r(e),R(()=>dt(_,"src",t(s).coverImage)),l(v,e)},tt=v=>{const e=p(()=>Ht(t(s).guid));var _=le();let B;var nt=o(_),z=o(nt,!0);r(nt),r(_),R(Z=>{B=wt(_,"",B,{"--tool-h1":t(e).h1,"--tool-h2":t(e).h2}),G(z,Z)},[()=>zt(t(s).displayName)]),l(v,_)};N(F,v=>{t(s).coverImage?v(Q):v(tt,-1)})}var U=i(F,2),et=o(U),P=o(et,!0);r(et);var rt=i(et,2);{var at=v=>{var e=de(),_=o(e,!0);r(e),R(()=>G(_,t(s).description)),l(v,e)};N(rt,v=>{t(s).description&&v(at)})}r(U);var ot=i(U,2),ut=o(ot);{var ct=v=>{var e=St(),_=kt(e);X(_,16,()=>t(s).tags.slice(0,3),B=>B,(B,nt)=>{var z=ue(),Z=o(z);r(z),R(()=>G(Z,`#${nt??""}`)),l(B,z)}),l(v,e)};N(ut,v=>{t(s).tags?.length&&v(ct)})}r(ot);var V=i(ot,2),J=o(V,!0);r(V);var K=i(V,2),Y=o(K);{let v=p(()=>a.starredIds.has(t(s).guid)),e=p(()=>a.starBusyGuid===t(s).guid);se(Y,{get starred(){return t(v)},get busy(){return t(e)},variant:"chip",onToggle:()=>a.onToggleStar(t(s).guid)})}var lt=i(Y,2);At(lt,{class:"text-muted-foreground h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"}),r(K),r(k),R(v=>{k.disabled=a.loadingGuid===t(s).guid,it(k,1,`hover:bg-muted/40 group grid w-full items-center gap-4 px-4 py-3 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-60
2
2
  ${t(j)<a.records.length-1?"border-border border-b":""}`),G(P,t(s).displayName),G(J,v)},[()=>t(s).solveCount>0?`${t(s).solveCount.toLocaleString()} runs`:"—"]),$("click",k,()=>a.onOpen(t(s).guid)),l(w,k)}),r(u),l(L,u),bt()}_t(["click"]);function ge(L){const a=Date.now()-new Date(L).getTime(),g=Math.floor(a/6e4);if(g<1)return"just now";if(g<60)return`${g}m ago`;const u=Math.floor(g/60);return u<24?`${u}h ago`:`${Math.floor(u/24)}d ago`}var pe=c('<span class="bg-primary text-primary-foreground rounded-full px-1.5 py-px font-mono text-[10px]"> </span>'),me=c('<button type="button"><!> Filters <!></button>'),be=c('<button type="button" class="text-muted-foreground hover:text-foreground inline-flex h-9 items-center gap-1 rounded-md px-2 text-xs transition-colors"><!> Clear</button>'),_e=c("<option> </option>"),xe=c('<div class="space-y-1.5"><label class="text-muted-foreground text-xs font-medium" for="filter-project">Project</label> <select id="filter-project" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>All projects</option><!></select></div>'),he=c("<option> </option>"),ye=c('<div class="space-y-1.5"><label class="text-muted-foreground text-xs font-medium" for="filter-category">Category</label> <select id="filter-category" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>All categories</option><!></select></div>'),we=c("<option> </option>"),je=c('<div class="space-y-1.5"><label class="text-muted-foreground text-xs font-medium" for="filter-tag">Tag</label> <select id="filter-tag" class="border-input bg-background h-9 w-full rounded-md border px-3 text-sm"><option>All tags</option><!></select></div>'),ke=c('<div class="border-border bg-card rounded-md border p-4"><div class="grid gap-4 sm:grid-cols-3"><!> <!> <!></div></div>'),Se=c('<button style="grid-template-columns: 1fr 120px auto"><span class="truncate font-medium"> </span> <span class="text-muted-foreground font-mono text-xs"> </span> <span class="flex items-center gap-1 text-xs font-medium opacity-0 transition-opacity group-hover:opacity-100">Resume <!></span></button>'),Ae=c('<section><div class="mb-3 flex items-baseline justify-between"><span class="text-muted-foreground text-xs font-medium tracking-wider uppercase">Recent runs</span> <span class="text-muted-foreground text-xs">Resume where you left off</span></div> <div class="border-border bg-card overflow-hidden rounded-md border"></div></section>'),Ie=c('<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"></div>'),Te=c('<button class="text-muted-foreground hover:text-foreground text-xs underline underline-offset-2">Clear all filters</button>'),Ce=c('<div class="space-y-6"><!> <div class="flex flex-wrap items-center gap-2"><div class="min-w-60 flex-1"><!></div> <!> <!></div> <!> <!> <!></div>');function Xe(L,a){mt(a,!0);let g=q(""),u=q(null),w=q(null),s=q(null),j=q("grid"),k=q(null),F=q(null),Q=q(!1);const tt=p(()=>new Set(a.data.starredRecords.map(e=>e.guid))),U=p(()=>[...a.data.starredRecords,...a.data.records]),et=p(()=>new Set(t(U).map(e=>e.projectId))),P=p(()=>Object.values(a.data.projects).filter(e=>t(et).has(e.id))),rt=p(()=>Array.from(new Set(t(U).map(e=>e.category).filter(e=>!!e))).sort()),at=p(()=>Array.from(new Set(t(U).flatMap(e=>e.tags??[]))).sort());function ot(e){return a.data.projects[e]?.name??""}function ut(e){return a.data.projectMap[e]?.visibility}function ct(e){if(t(u)&&e.projectId!==t(u)||t(w)&&e.category!==t(w)||t(s)&&!(e.tags??[]).includes(t(s)))return!1;if(t(g).trim()){const _=t(g).toLowerCase();if(![e.displayName,e.description,e.category,...e.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(_))return!1}return!0}const V=p(()=>t(U).filter(ct)),J=p(()=>[t(u),t(w),t(s)].filter(e=>e!==null).length),K=p(()=>t(g).trim()!==""||t(J)>0);function Y(e){C(k,e,!0),Ot(`/library/${e}`).catch(()=>{C(k,null)})}async function lt(e){C(F,e,!0);const _=t(tt).has(e);try{const B=await fetch(`/api/me/starred/${e}`,{method:_?"DELETE":"POST"});if(!B.ok)throw new Error(`${B.status}`);await Vt()}catch{ee.error(_?"Failed to unstar":"Failed to star")}finally{C(F,null)}}function v(){C(g,""),C(u,null),C(w,null),C(s,null),C(Q,!1)}Kt(L,{homeUrl:"/library",children:(e,_)=>{oe(e,{children:(B,nt)=>{var z=Ce(),Z=o(z);{const n=x=>{Wt(x,{get mode(){return t(j)},onChange:S=>C(j,S,!0)})};let d=p(()=>`${t(V).length} tool${t(V).length===1?"":"s"}${t(P).length>0?` across ${t(P).length} project${t(P).length===1?"":"s"}`:""}.`);Zt(Z,{eyebrow:"Workspace",title:"Library",get description(){return t(d)},actions:n,$$slots:{actions:!0}})}var vt=i(Z,2),ft=o(vt),It=o(ft);Ut(It,{placeholder:"Search tools, descriptions, tags…",clearable:!0,class:"h-9 rounded-md text-sm",get value(){return t(g)},set value(n){C(g,n,!0)}}),r(ft);var xt=i(ft,2);{var Tt=n=>{var d=me(),x=o(d);re(x,{class:"h-3.5 w-3.5"});var S=i(x,2);{var E=A=>{var h=pe(),M=o(h,!0);r(h),R(()=>G(M,t(J))),l(A,h)};N(S,A=>{t(J)>0&&A(E)})}r(d),R(()=>it(d,1,`relative inline-flex h-9 items-center gap-1.5 rounded-md border px-3 text-sm transition-colors ${t(Q)||t(J)>0?"border-border bg-accent text-accent-foreground":"border-input bg-background text-foreground hover:bg-muted/40"}`)),$("click",d,()=>C(Q,!t(Q))),l(n,d)};N(xt,n=>{(t(rt).length>0||t(at).length>0||t(P).length>1)&&n(Tt)})}var Ct=i(xt,2);{var Nt=n=>{var d=be(),x=o(d);te(x,{class:"h-3 w-3"}),Pt(),r(d),$("click",d,v),l(n,d)};N(Ct,n=>{t(K)&&n(Nt)})}r(vt);var ht=i(vt,2);{var Rt=n=>{var d=ke(),x=o(d),S=o(x);{var E=m=>{var I=xe(),y=i(o(I),2),T=o(y);T.value=(T.__value=null)??"";var H=i(T);X(H,17,()=>t(P),f=>f.id,(f,D)=>{var b=_e(),st=o(b,!0);r(b);var W={};R(()=>{G(st,t(D).name),W!==(W=t(D).id)&&(b.value=(b.__value=t(D).id)??"")}),l(f,b)}),r(y),r(I),gt(y,()=>t(u),f=>C(u,f)),l(m,I)};N(S,m=>{t(P).length>1&&m(E)})}var A=i(S,2);{var h=m=>{var I=ye(),y=i(o(I),2),T=o(y);T.value=(T.__value=null)??"";var H=i(T);X(H,16,()=>t(rt),f=>f,(f,D)=>{var b=he(),st=o(b,!0);r(b);var W={};R(()=>{G(st,D),W!==(W=D)&&(b.value=(b.__value=D)??"")}),l(f,b)}),r(y),r(I),gt(y,()=>t(w),f=>C(w,f)),l(m,I)};N(A,m=>{t(rt).length>0&&m(h)})}var M=i(A,2);{var O=m=>{var I=je(),y=i(o(I),2),T=o(y);T.value=(T.__value=null)??"";var H=i(T);X(H,16,()=>t(at),f=>f,(f,D)=>{var b=we(),st=o(b);r(b);var W={};R(()=>{G(st,`#${D??""}`),W!==(W=D)&&(b.value=(b.__value=D)??"")}),l(f,b)}),r(y),r(I),gt(y,()=>t(s),f=>C(s,f)),l(m,I)};N(M,m=>{t(at).length>0&&m(O)})}r(x),r(d),l(n,d)};N(ht,n=>{t(Q)&&n(Rt)})}var yt=i(ht,2);{var Ft=n=>{var d=Ae(),x=i(o(d),2);X(x,23,()=>a.data.recentRuns.slice(0,5),S=>S.runId,(S,E,A)=>{var h=Se(),M=o(h),O=o(M,!0);r(M);var m=i(M,2),I=o(m,!0);r(m);var y=i(m,2),T=i(o(y));At(T,{class:"h-3 w-3"}),r(y),r(h),R((H,f)=>{h.disabled=t(k)===t(E).definitionId,it(h,1,H),G(O,t(E).definitionName),G(I,f)},[()=>`group hover:bg-muted/40 grid w-full items-center gap-4 px-4 py-3 text-left text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${t(A)<Math.min(a.data.recentRuns.length,5)-1?"border-border border-b":""}`,()=>ge(t(E).timestamp)]),$("click",h,()=>Y(t(E).definitionId)),l(S,h)}),r(x),r(d),l(n,d)};N(yt,n=>{a.data.recentRuns.length>0&&!t(K)&&n(Ft)})}var Bt=i(yt,2);{var Lt=n=>{var d=St(),x=kt(d);{var S=A=>{var h=Ie();X(h,21,()=>t(V),M=>M.guid,(M,O)=>{{let m=p(()=>t(tt).has(t(O).guid)),I=p(()=>t(k)===t(O).guid),y=p(()=>t(F)===t(O).guid),T=p(()=>t(P).length>1?ot(t(O).projectId):void 0),H=p(()=>t(P).length>1?ut(t(O).projectId):void 0);qt(M,{get record(){return t(O)},get starred(){return t(m)},get loading(){return t(I)},get starBusy(){return t(y)},get projectName(){return t(T)},get projectVisibility(){return t(H)},onOpen:f=>Y(f.guid),onToggleStar:lt})}}),r(h),l(A,h)},E=A=>{fe(A,{get records(){return t(V)},get starredIds(){return t(tt)},get loadingGuid(){return t(k)},get starBusyGuid(){return t(F)},onOpen:Y,onToggleStar:lt})};N(x,A=>{t(j)==="grid"?A(S):A(E,-1)})}l(n,d)},Mt=n=>{jt(n,{size:"lg",title:"No tools match your filters",actions:x=>{var S=Te();$("click",S,v),l(x,S)},$$slots:{actions:!0}})},Dt=n=>{jt(n,{size:"lg",title:"No tools available yet",description:"Ask an admin to publish a Grasshopper definition."})};N(Bt,n=>{t(V).length>0?n(Lt):t(K)?n(Mt,1):n(Dt,-1)})}r(z),l(B,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),bt()}_t(["click"]);export{Xe as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as m,a as d,c as l,n as c,r as f,g as p,u}from"../chunks/ooPBmYPj.js";import{a as h,f as g}from"../chunks/_OLpdTiI.js";import{s as _}from"../chunks/BNScKugQ.js";import{A as v}from"../chunks/CS49LPny.js";import{S as x,G as b}from"../chunks/VmqnFAi3.js";import{B as w}from"../chunks/BNzEBMy8.js";import{F as S}from"../chunks/Cvr8AlQE.js";import{U as y}from"../chunks/BxCHY0iG.js";import{S as P}from"../chunks/DRDjLZb3.js";import{S as A}from"../chunks/E3yOQTT0.js";import{S as G}from"../chunks/2dX6Wjni.js";var U=g('<div class="px-(--page-px) py-(--page-py)"><!></div>');function J(s,a){m(a,!0);const e=i=>a.data.platformPermissions.includes("instance_admin")||a.data.platformPermissions.includes(i)?!0:a.data.orgPermissions.includes(i),n=u(()=>[{href:"/admin",label:"General",icon:b,show:!0},{href:"/admin/organizations",label:"Organizations",icon:w,match:"prefix",show:e("instance_admin")&&a.data.tenancy!=="single"},{href:"/admin/projects",label:"Projects",icon:S,match:"prefix",show:e("instance_admin")},{href:"/admin/users",label:"Users",icon:y,match:"prefix",show:e("manage_instance_users")},{href:"/admin/compute",label:"Compute",icon:P,match:"prefix",show:e("manage_compute")},{href:"/admin/system",label:"System",icon:A,match:"prefix",show:e("manage_updates")},{href:"/admin/audit",label:"Audit log",icon:G,match:"prefix",show:e("instance_admin")&&a.data.auditAvailable}].filter(i=>i.show));v(s,{sidenav:r=>{x(r,{get items(){return p(n)},eyebrow:"Platform"})},children:(r,j)=>{var t=U(),o=l(t);_(o,()=>a.children??c),f(t),h(r,t)},$$slots:{sidenav:!0,default:!0}}),d()}export{J as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as m,a as d,c as l,n as c,r as f,g as p,u}from"../chunks/ooPBmYPj.js";import{a as h,f as g}from"../chunks/_OLpdTiI.js";import{s as _}from"../chunks/BNScKugQ.js";import{A as v}from"../chunks/CCx3W8-n.js";import{S as x,G as b}from"../chunks/DDJVj3K_.js";import{B as w}from"../chunks/BNzEBMy8.js";import{F as S}from"../chunks/Cvr8AlQE.js";import{U as y}from"../chunks/BxCHY0iG.js";import{S as P}from"../chunks/DRDjLZb3.js";import{S as A}from"../chunks/E3yOQTT0.js";import{S as G}from"../chunks/2dX6Wjni.js";var U=g('<div class="px-(--page-px) py-(--page-py)"><!></div>');function J(s,a){m(a,!0);const e=i=>a.data.platformPermissions.includes("instance_admin")||a.data.platformPermissions.includes(i)?!0:a.data.orgPermissions.includes(i),n=u(()=>[{href:"/admin",label:"General",icon:b,show:!0},{href:"/admin/organizations",label:"Organizations",icon:w,match:"prefix",show:e("instance_admin")&&a.data.tenancy!=="single"},{href:"/admin/projects",label:"Projects",icon:S,match:"prefix",show:e("instance_admin")},{href:"/admin/users",label:"Users",icon:y,match:"prefix",show:e("manage_instance_users")},{href:"/admin/compute",label:"Compute",icon:P,match:"prefix",show:e("manage_compute")},{href:"/admin/system",label:"System",icon:A,match:"prefix",show:e("manage_updates")},{href:"/admin/audit",label:"Audit log",icon:G,match:"prefix",show:e("instance_admin")&&a.data.auditAvailable}].filter(i=>i.show));v(s,{sidenav:r=>{x(r,{get items(){return p(n)},eyebrow:"Platform"})},children:(r,j)=>{var t=U(),o=l(t);_(o,()=>a.children??c),f(t),h(r,t)},$$slots:{sidenav:!0,default:!0}}),d()}export{J as component};