@openpalm/ui 0.11.0-rc.6 → 0.11.0-rc.8

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 (259) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/6.COn4HE1H.css +1 -0
  3. package/build/client/_app/immutable/assets/6.COn4HE1H.css.br +0 -0
  4. package/build/client/_app/immutable/assets/{6.DJenXolA.css.gz → 6.COn4HE1H.css.gz} +0 -0
  5. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css +1 -0
  6. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css.br +0 -0
  7. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CJ4t2a2c.js → BBQSZM0g.js} +1 -1
  9. package/build/client/_app/immutable/chunks/BBQSZM0g.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BBQSZM0g.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{DtQA2RPv.js → DEBerhwE.js} +1 -1
  12. package/build/client/_app/immutable/chunks/DEBerhwE.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DEBerhwE.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/Dh6kjuFV.js +5 -0
  15. package/build/client/_app/immutable/chunks/Dh6kjuFV.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/Dh6kjuFV.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.DaV1p_yf.js → app.0vcs9lcu.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.0vcs9lcu.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.0vcs9lcu.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.DAyPxTR9.js +1 -0
  21. package/build/client/_app/immutable/entry/start.DAyPxTR9.js.br +0 -0
  22. package/build/client/_app/immutable/entry/start.DAyPxTR9.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{1.BcYYXdgz.js → 1.2imZJYi3.js} +1 -1
  24. package/build/client/_app/immutable/nodes/1.2imZJYi3.js.br +2 -0
  25. package/build/client/_app/immutable/nodes/1.2imZJYi3.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.Cttl54lU.js → 4.UvLQ-_B8.js} +1 -1
  27. package/build/client/_app/immutable/nodes/4.UvLQ-_B8.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/4.UvLQ-_B8.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{5.dN79W272.js → 5.CeFLRSVn.js} +1 -1
  30. package/build/client/_app/immutable/nodes/5.CeFLRSVn.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/5.CeFLRSVn.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{6.CyAbk8Zx.js → 6.wrEWx8_F.js} +1 -1
  33. package/build/client/_app/immutable/nodes/6.wrEWx8_F.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/6.wrEWx8_F.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{7.BiwhNQmS.js → 7.B4rrIsb5.js} +1 -1
  36. package/build/client/_app/immutable/nodes/7.B4rrIsb5.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/7.B4rrIsb5.js.gz +0 -0
  38. package/build/client/_app/version.json +1 -1
  39. package/build/client/_app/version.json.br +1 -1
  40. package/build/client/_app/version.json.gz +0 -0
  41. package/build/server/chunks/1-BZ9i5Jda.js +9 -0
  42. package/build/server/chunks/{1-DrJ3Bkxz.js.map → 1-BZ9i5Jda.js.map} +1 -1
  43. package/build/server/chunks/{4-CrmPw4La.js → 4-dMZNaZg5.js} +4 -4
  44. package/build/server/chunks/{4-CrmPw4La.js.map → 4-dMZNaZg5.js.map} +1 -1
  45. package/build/server/chunks/{5-CtHPRN1L.js → 5-B3VmLYHv.js} +4 -4
  46. package/build/server/chunks/{5-CtHPRN1L.js.map → 5-B3VmLYHv.js.map} +1 -1
  47. package/build/server/chunks/6-BOy95v6X.js +9 -0
  48. package/build/server/chunks/{6-CO8aswdn.js.map → 6-BOy95v6X.js.map} +1 -1
  49. package/build/server/chunks/{7-hc1cB6hI.js → 7-BHe0Dd-L.js} +4 -4
  50. package/build/server/chunks/{7-hc1cB6hI.js.map → 7-BHe0Dd-L.js.map} +1 -1
  51. package/build/server/chunks/{AuthGate-DZ0ZMuag.js → AuthGate-CV3twHl8.js} +66 -24
  52. package/build/server/chunks/AuthGate-CV3twHl8.js.map +1 -0
  53. package/build/server/chunks/{_page.svelte-CCe0W6d_.js → _page.svelte-BSWlh0cc.js} +4 -4
  54. package/build/server/chunks/{_page.svelte-CCe0W6d_.js.map → _page.svelte-BSWlh0cc.js.map} +1 -1
  55. package/build/server/chunks/{_page.svelte-Cj-Ei5f0.js → _page.svelte-C0Y9xjuf.js} +4 -4
  56. package/build/server/chunks/{_page.svelte-Cj-Ei5f0.js.map → _page.svelte-C0Y9xjuf.js.map} +1 -1
  57. package/build/server/chunks/{_page.svelte-oqyV-Sbu.js → _page.svelte-CaA7RITG.js} +4 -4
  58. package/build/server/chunks/{_page.svelte-oqyV-Sbu.js.map → _page.svelte-CaA7RITG.js.map} +1 -1
  59. package/build/server/chunks/{_page.svelte-0LBL-kWB.js → _page.svelte-CgREWagG.js} +4 -4
  60. package/build/server/chunks/{_page.svelte-0LBL-kWB.js.map → _page.svelte-CgREWagG.js.map} +1 -1
  61. package/build/server/chunks/{_server.ts-X4eLzYa3.js → _server.ts-5CjguYY3.js} +4 -4
  62. package/build/server/chunks/{_server.ts-X4eLzYa3.js.map → _server.ts-5CjguYY3.js.map} +1 -1
  63. package/build/server/chunks/{_server.ts-DkOQZuRC.js → _server.ts-B3tjtq2m.js} +4 -4
  64. package/build/server/chunks/{_server.ts-DkOQZuRC.js.map → _server.ts-B3tjtq2m.js.map} +1 -1
  65. package/build/server/chunks/{_server.ts-BwGHtnRM.js → _server.ts-B4N5gO26.js} +4 -4
  66. package/build/server/chunks/{_server.ts-BwGHtnRM.js.map → _server.ts-B4N5gO26.js.map} +1 -1
  67. package/build/server/chunks/{_server.ts-DrhLq9je.js → _server.ts-B6FENZO7.js} +4 -4
  68. package/build/server/chunks/{_server.ts-DrhLq9je.js.map → _server.ts-B6FENZO7.js.map} +1 -1
  69. package/build/server/chunks/{_server.ts-C5bAGAi7.js → _server.ts-B8JtVHLy.js} +4 -4
  70. package/build/server/chunks/{_server.ts-C5bAGAi7.js.map → _server.ts-B8JtVHLy.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-D7qmDX8Q.js → _server.ts-BR9OrjcE.js} +4 -4
  72. package/build/server/chunks/{_server.ts-D7qmDX8Q.js.map → _server.ts-BR9OrjcE.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-CeRAfDvp.js → _server.ts-BYdXdnje.js} +4 -4
  74. package/build/server/chunks/{_server.ts-CeRAfDvp.js.map → _server.ts-BYdXdnje.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-DAOUg3-k.js → _server.ts-BaxRyhZ8.js} +4 -4
  76. package/build/server/chunks/{_server.ts-DAOUg3-k.js.map → _server.ts-BaxRyhZ8.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-u7HOQxSc.js → _server.ts-BclZ3UFT.js} +4 -4
  78. package/build/server/chunks/{_server.ts-u7HOQxSc.js.map → _server.ts-BclZ3UFT.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-DnpsO93M.js → _server.ts-Bd_I8GjG.js} +4 -4
  80. package/build/server/chunks/{_server.ts-DnpsO93M.js.map → _server.ts-Bd_I8GjG.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-D4fc4Lga.js → _server.ts-Bdry_CdG.js} +4 -4
  82. package/build/server/chunks/{_server.ts-D4fc4Lga.js.map → _server.ts-Bdry_CdG.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-hNck8JSQ.js → _server.ts-Bg8OpPuA.js} +5 -5
  84. package/build/server/chunks/{_server.ts-hNck8JSQ.js.map → _server.ts-Bg8OpPuA.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-B45wZgyy.js → _server.ts-BjrO7pvn.js} +5 -5
  86. package/build/server/chunks/{_server.ts-B45wZgyy.js.map → _server.ts-BjrO7pvn.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-BviOfIbS.js → _server.ts-BkoJOqrr.js} +4 -4
  88. package/build/server/chunks/{_server.ts-BviOfIbS.js.map → _server.ts-BkoJOqrr.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-D9ykShFh.js → _server.ts-Bl0YOh50.js} +4 -4
  90. package/build/server/chunks/{_server.ts-D9ykShFh.js.map → _server.ts-Bl0YOh50.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-DJsZ93rI.js → _server.ts-BmZlEy27.js} +4 -4
  92. package/build/server/chunks/{_server.ts-DJsZ93rI.js.map → _server.ts-BmZlEy27.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-CpKo_OmL.js → _server.ts-Bq2S1OMq.js} +4 -4
  94. package/build/server/chunks/{_server.ts-CpKo_OmL.js.map → _server.ts-Bq2S1OMq.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-DrBuaoVz.js → _server.ts-BwHojI4i.js} +2 -2
  96. package/build/server/chunks/{_server.ts-DrBuaoVz.js.map → _server.ts-BwHojI4i.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-l6P5GPNF.js → _server.ts-C-lN2ZUO.js} +2 -2
  98. package/build/server/chunks/{_server.ts-l6P5GPNF.js.map → _server.ts-C-lN2ZUO.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-C1Tej7yY.js → _server.ts-C1DcK_rP.js} +6 -6
  100. package/build/server/chunks/{_server.ts-C1Tej7yY.js.map → _server.ts-C1DcK_rP.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-19QmVay0.js → _server.ts-C1y3X6iK.js} +5 -5
  102. package/build/server/chunks/{_server.ts-19QmVay0.js.map → _server.ts-C1y3X6iK.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-C10Bwaam.js → _server.ts-C5s-OXCm.js} +4 -4
  104. package/build/server/chunks/{_server.ts-C10Bwaam.js.map → _server.ts-C5s-OXCm.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-L40fgGK2.js → _server.ts-CAKTZL2t.js} +5 -5
  106. package/build/server/chunks/{_server.ts-L40fgGK2.js.map → _server.ts-CAKTZL2t.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-B3QTVRYG.js → _server.ts-CDtOOD3Q.js} +4 -4
  108. package/build/server/chunks/{_server.ts-B3QTVRYG.js.map → _server.ts-CDtOOD3Q.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-Dp3aS528.js → _server.ts-CG409cWi.js} +4 -4
  110. package/build/server/chunks/{_server.ts-Dp3aS528.js.map → _server.ts-CG409cWi.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-CejCgHrV.js → _server.ts-CJL8da0o.js} +4 -4
  112. package/build/server/chunks/{_server.ts-CejCgHrV.js.map → _server.ts-CJL8da0o.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-CboC8Emy.js → _server.ts-CLBKpKeH.js} +6 -6
  114. package/build/server/chunks/{_server.ts-CboC8Emy.js.map → _server.ts-CLBKpKeH.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-B8HFj-Dx.js → _server.ts-CLiYOnOv.js} +4 -4
  116. package/build/server/chunks/{_server.ts-B8HFj-Dx.js.map → _server.ts-CLiYOnOv.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-BlC-qzze.js → _server.ts-CQqURrHY.js} +4 -4
  118. package/build/server/chunks/{_server.ts-BlC-qzze.js.map → _server.ts-CQqURrHY.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-I4AR1K-d.js → _server.ts-CSgPjCYv.js} +4 -4
  120. package/build/server/chunks/{_server.ts-I4AR1K-d.js.map → _server.ts-CSgPjCYv.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-Css6k_3m.js → _server.ts-C_fNO73y.js} +4 -4
  122. package/build/server/chunks/{_server.ts-Css6k_3m.js.map → _server.ts-C_fNO73y.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-LH7_dhbT.js → _server.ts-CcTt5aAs.js} +2 -2
  124. package/build/server/chunks/{_server.ts-LH7_dhbT.js.map → _server.ts-CcTt5aAs.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-BgjZfCV7.js → _server.ts-CfLbEufw.js} +4 -4
  126. package/build/server/chunks/{_server.ts-BgjZfCV7.js.map → _server.ts-CfLbEufw.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-DJ7YX-XH.js → _server.ts-CqHMhINi.js} +4 -4
  128. package/build/server/chunks/{_server.ts-DJ7YX-XH.js.map → _server.ts-CqHMhINi.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-CTMWM7jo.js → _server.ts-CrU9r7-F.js} +4 -4
  130. package/build/server/chunks/{_server.ts-CTMWM7jo.js.map → _server.ts-CrU9r7-F.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-tHI7RAXv.js → _server.ts-CtZuKotA.js} +4 -4
  132. package/build/server/chunks/{_server.ts-tHI7RAXv.js.map → _server.ts-CtZuKotA.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-grXc3lpo.js → _server.ts-D-sjM5kn.js} +4 -4
  134. package/build/server/chunks/{_server.ts-grXc3lpo.js.map → _server.ts-D-sjM5kn.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Cj7yoyyc.js → _server.ts-D2wlMMJl.js} +4 -4
  136. package/build/server/chunks/{_server.ts-Cj7yoyyc.js.map → _server.ts-D2wlMMJl.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-DDfVjae-.js → _server.ts-D7L27_xI.js} +2 -2
  138. package/build/server/chunks/{_server.ts-DDfVjae-.js.map → _server.ts-D7L27_xI.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-Cp1Z8TiT.js → _server.ts-DMKIHwKi.js} +4 -4
  140. package/build/server/chunks/{_server.ts-Cp1Z8TiT.js.map → _server.ts-DMKIHwKi.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-C41Rea-i.js → _server.ts-DTyZan5L.js} +4 -4
  142. package/build/server/chunks/{_server.ts-C41Rea-i.js.map → _server.ts-DTyZan5L.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-DkZ1Mmoh.js → _server.ts-DVekHgMN.js} +5 -5
  144. package/build/server/chunks/{_server.ts-DkZ1Mmoh.js.map → _server.ts-DVekHgMN.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-CUuEa0Vv.js → _server.ts-DWLkr6Qg.js} +4 -4
  146. package/build/server/chunks/{_server.ts-CUuEa0Vv.js.map → _server.ts-DWLkr6Qg.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-B6qNkB4n.js → _server.ts-DWN6TJv0.js} +2 -2
  148. package/build/server/chunks/{_server.ts-B6qNkB4n.js.map → _server.ts-DWN6TJv0.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-oPUaAhwQ.js → _server.ts-D_dO8hvJ.js} +4 -4
  150. package/build/server/chunks/{_server.ts-oPUaAhwQ.js.map → _server.ts-D_dO8hvJ.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-BVLer_FF.js → _server.ts-Da9y6lio.js} +6 -6
  152. package/build/server/chunks/{_server.ts-BVLer_FF.js.map → _server.ts-Da9y6lio.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-CZLR8h_a.js → _server.ts-DbO3cg55.js} +4 -4
  154. package/build/server/chunks/{_server.ts-CZLR8h_a.js.map → _server.ts-DbO3cg55.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-C9GXq1YZ.js → _server.ts-DclRsTpW.js} +4 -4
  156. package/build/server/chunks/{_server.ts-C9GXq1YZ.js.map → _server.ts-DclRsTpW.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-D_ktEzQJ.js → _server.ts-DdlF1vjy.js} +4 -4
  158. package/build/server/chunks/{_server.ts-D_ktEzQJ.js.map → _server.ts-DdlF1vjy.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-BkL5Ectn.js → _server.ts-De7IOs2z.js} +4 -4
  160. package/build/server/chunks/{_server.ts-BkL5Ectn.js.map → _server.ts-De7IOs2z.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-DjqRdwzV.js → _server.ts-DmyOp1yq.js} +4 -4
  162. package/build/server/chunks/{_server.ts-DjqRdwzV.js.map → _server.ts-DmyOp1yq.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-B2zo-DK5.js → _server.ts-DnKTcT9x.js} +3 -3
  164. package/build/server/chunks/{_server.ts-B2zo-DK5.js.map → _server.ts-DnKTcT9x.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-BETfAVwa.js → _server.ts-Dq82kHyx.js} +4 -4
  166. package/build/server/chunks/{_server.ts-BETfAVwa.js.map → _server.ts-Dq82kHyx.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-B3k7cThn.js → _server.ts-DqVJ1NqI.js} +4 -4
  168. package/build/server/chunks/{_server.ts-B3k7cThn.js.map → _server.ts-DqVJ1NqI.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-BoZlbX_k.js → _server.ts-DzWtvjem.js} +4 -4
  170. package/build/server/chunks/{_server.ts-BoZlbX_k.js.map → _server.ts-DzWtvjem.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-B395XNkL.js → _server.ts-EZS5Qan4.js} +4 -4
  172. package/build/server/chunks/{_server.ts-B395XNkL.js.map → _server.ts-EZS5Qan4.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-8jHBLHCk.js → _server.ts-I0iKpsyr.js} +5 -5
  174. package/build/server/chunks/{_server.ts-8jHBLHCk.js.map → _server.ts-I0iKpsyr.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-C3dlXrHW.js → _server.ts-P4pmd9NX.js} +4 -4
  176. package/build/server/chunks/{_server.ts-C3dlXrHW.js.map → _server.ts-P4pmd9NX.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-vLpDptQT.js → _server.ts-UF_kxNaU.js} +4 -4
  178. package/build/server/chunks/{_server.ts-vLpDptQT.js.map → _server.ts-UF_kxNaU.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-E9Jx4RZl.js → _server.ts-b3mVtmkb.js} +4 -4
  180. package/build/server/chunks/{_server.ts-E9Jx4RZl.js.map → _server.ts-b3mVtmkb.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-BRK4Ir_R.js → _server.ts-dhkEt2p6.js} +4 -4
  182. package/build/server/chunks/{_server.ts-BRK4Ir_R.js.map → _server.ts-dhkEt2p6.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-XYviVWKw.js → _server.ts-eK_9jY-9.js} +4 -4
  184. package/build/server/chunks/{_server.ts-XYviVWKw.js.map → _server.ts-eK_9jY-9.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-CDbwBsKE.js → _server.ts-fsEmx9mw.js} +4 -4
  186. package/build/server/chunks/{_server.ts-CDbwBsKE.js.map → _server.ts-fsEmx9mw.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-Oeuvw5C1.js → _server.ts-l4CK3c4j.js} +4 -4
  188. package/build/server/chunks/{_server.ts-Oeuvw5C1.js.map → _server.ts-l4CK3c4j.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-C1dtzbLs.js → _server.ts-otJRaSSq.js} +5 -5
  190. package/build/server/chunks/{_server.ts-C1dtzbLs.js.map → _server.ts-otJRaSSq.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-Dzi_uR57.js → _server.ts-rXhjnBtw.js} +4 -4
  192. package/build/server/chunks/{_server.ts-Dzi_uR57.js.map → _server.ts-rXhjnBtw.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-DnY4rmOV.js → _server.ts-wZ88P3nX.js} +6 -6
  194. package/build/server/chunks/{_server.ts-DnY4rmOV.js.map → _server.ts-wZ88P3nX.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-3XBYy8_r.js → _server.ts-xO4nhxDx.js} +4 -4
  196. package/build/server/chunks/{_server.ts-3XBYy8_r.js.map → _server.ts-xO4nhxDx.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-DUCEhzWJ.js → _server.ts-yimewsjO.js} +4 -4
  198. package/build/server/chunks/{_server.ts-DUCEhzWJ.js.map → _server.ts-yimewsjO.js.map} +1 -1
  199. package/build/server/chunks/{addon-helpers-CbNmFpKY.js → addon-helpers-BpnH-GEc.js} +2 -2
  200. package/build/server/chunks/{addon-helpers-CbNmFpKY.js.map → addon-helpers-BpnH-GEc.js.map} +1 -1
  201. package/build/server/chunks/{config-CWdj6ZuI.js → config-0LFudKuE.js} +2 -2
  202. package/build/server/chunks/{config-CWdj6ZuI.js.map → config-0LFudKuE.js.map} +1 -1
  203. package/build/server/chunks/{docker-CjX7RsXx.js → docker-B23w4kr6.js} +2 -2
  204. package/build/server/chunks/{docker-CjX7RsXx.js.map → docker-B23w4kr6.js.map} +1 -1
  205. package/build/server/chunks/{endpoints-eF0TVirP.js → endpoints-Drq_J-2Z.js} +2 -2
  206. package/build/server/chunks/{endpoints-eF0TVirP.js.map → endpoints-Drq_J-2Z.js.map} +1 -1
  207. package/build/server/chunks/{error.svelte-BCEnO98F.js → error.svelte-D5JFoLSX.js} +3 -3
  208. package/build/server/chunks/{error.svelte-BCEnO98F.js.map → error.svelte-D5JFoLSX.js.map} +1 -1
  209. package/build/server/chunks/{helpers-BlYXYNks.js → helpers-CX6xRBmt.js} +3 -3
  210. package/build/server/chunks/{helpers-BlYXYNks.js.map → helpers-CX6xRBmt.js.map} +1 -1
  211. package/build/server/chunks/{hooks.server-MxqwJ1Ug.js → hooks.server-BEVMYNQ4.js} +8 -4
  212. package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +1 -0
  213. package/build/server/chunks/{http-CbN2XzaU.js → http-VqOG8hyj.js} +2 -2
  214. package/build/server/chunks/{http-CbN2XzaU.js.map → http-VqOG8hyj.js.map} +1 -1
  215. package/build/server/chunks/{internal-r__KO0cl.js → internal-DJnSEu6D.js} +3 -3
  216. package/build/server/chunks/{internal-r__KO0cl.js.map → internal-DJnSEu6D.js.map} +1 -1
  217. package/build/server/chunks/{setup-deploy-DTpn9m1O.js → setup-deploy-B4oSSFYi.js} +2 -2
  218. package/build/server/chunks/{setup-deploy-DTpn9m1O.js.map → setup-deploy-B4oSSFYi.js.map} +1 -1
  219. package/build/server/chunks/{src-BuTsJttD.js → src-BkvQ5Uuf.js} +17 -20
  220. package/build/server/chunks/src-BkvQ5Uuf.js.map +1 -0
  221. package/build/server/chunks/{state-BMvo7e8L.js → state-ChhzSrVm.js} +2 -2
  222. package/build/server/chunks/{state-BMvo7e8L.js.map → state-ChhzSrVm.js.map} +1 -1
  223. package/build/server/index.js +1 -1
  224. package/build/server/index.js.map +1 -1
  225. package/build/server/manifest.js +75 -75
  226. package/build/server/manifest.js.map +1 -1
  227. package/package.json +1 -1
  228. package/build/client/_app/immutable/assets/6.DJenXolA.css +0 -1
  229. package/build/client/_app/immutable/assets/6.DJenXolA.css.br +0 -0
  230. package/build/client/_app/immutable/assets/AuthGate._EJNXKUm.css +0 -1
  231. package/build/client/_app/immutable/assets/AuthGate._EJNXKUm.css.br +0 -0
  232. package/build/client/_app/immutable/assets/AuthGate._EJNXKUm.css.gz +0 -0
  233. package/build/client/_app/immutable/chunks/CJ4t2a2c.js.br +0 -0
  234. package/build/client/_app/immutable/chunks/CJ4t2a2c.js.gz +0 -0
  235. package/build/client/_app/immutable/chunks/D6tVMRB1.js +0 -5
  236. package/build/client/_app/immutable/chunks/D6tVMRB1.js.br +0 -0
  237. package/build/client/_app/immutable/chunks/D6tVMRB1.js.gz +0 -0
  238. package/build/client/_app/immutable/chunks/DtQA2RPv.js.br +0 -0
  239. package/build/client/_app/immutable/chunks/DtQA2RPv.js.gz +0 -0
  240. package/build/client/_app/immutable/entry/app.DaV1p_yf.js.br +0 -0
  241. package/build/client/_app/immutable/entry/app.DaV1p_yf.js.gz +0 -0
  242. package/build/client/_app/immutable/entry/start.DwrTolTH.js +0 -1
  243. package/build/client/_app/immutable/entry/start.DwrTolTH.js.br +0 -0
  244. package/build/client/_app/immutable/entry/start.DwrTolTH.js.gz +0 -0
  245. package/build/client/_app/immutable/nodes/1.BcYYXdgz.js.br +0 -0
  246. package/build/client/_app/immutable/nodes/1.BcYYXdgz.js.gz +0 -0
  247. package/build/client/_app/immutable/nodes/4.Cttl54lU.js.br +0 -0
  248. package/build/client/_app/immutable/nodes/4.Cttl54lU.js.gz +0 -0
  249. package/build/client/_app/immutable/nodes/5.dN79W272.js.br +0 -0
  250. package/build/client/_app/immutable/nodes/5.dN79W272.js.gz +0 -0
  251. package/build/client/_app/immutable/nodes/6.CyAbk8Zx.js.br +0 -0
  252. package/build/client/_app/immutable/nodes/6.CyAbk8Zx.js.gz +0 -0
  253. package/build/client/_app/immutable/nodes/7.BiwhNQmS.js.br +0 -0
  254. package/build/client/_app/immutable/nodes/7.BiwhNQmS.js.gz +0 -0
  255. package/build/server/chunks/1-DrJ3Bkxz.js +0 -9
  256. package/build/server/chunks/6-CO8aswdn.js +0 -9
  257. package/build/server/chunks/AuthGate-DZ0ZMuag.js.map +0 -1
  258. package/build/server/chunks/hooks.server-MxqwJ1Ug.js.map +0 -1
  259. package/build/server/chunks/src-BuTsJttD.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  const index = 7;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('./_page.svelte-Cj-Ei5f0.js')).default;
4
- const imports = ["_app/immutable/nodes/7.BiwhNQmS.js","_app/immutable/chunks/BwTF6U35.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D6tVMRB1.js","_app/immutable/chunks/CJ4t2a2c.js","_app/immutable/chunks/DtQA2RPv.js","_app/immutable/chunks/BuFlayix.js","_app/immutable/chunks/DXseS2Vw.js"];
5
- const stylesheets = ["_app/immutable/assets/AuthGate._EJNXKUm.css","_app/immutable/assets/7.BimnqtTb.css"];
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-C0Y9xjuf.js')).default;
4
+ const imports = ["_app/immutable/nodes/7.B4rrIsb5.js","_app/immutable/chunks/BwTF6U35.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/Dh6kjuFV.js","_app/immutable/chunks/BBQSZM0g.js","_app/immutable/chunks/DEBerhwE.js","_app/immutable/chunks/BuFlayix.js","_app/immutable/chunks/DXseS2Vw.js"];
5
+ const stylesheets = ["_app/immutable/assets/AuthGate.qEXYiiu8.css","_app/immutable/assets/7.BimnqtTb.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=7-hc1cB6hI.js.map
9
+ //# sourceMappingURL=7-BHe0Dd-L.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"7-hc1cB6hI.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/chat/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.BiwhNQmS.js\",\"_app/immutable/chunks/BwTF6U35.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D6tVMRB1.js\",\"_app/immutable/chunks/CJ4t2a2c.js\",\"_app/immutable/chunks/DtQA2RPv.js\",\"_app/immutable/chunks/BuFlayix.js\",\"_app/immutable/chunks/DXseS2Vw.js\"];\nexport const stylesheets = [\"_app/immutable/assets/AuthGate._EJNXKUm.css\",\"_app/immutable/assets/7.BimnqtTb.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAuC,CAAC,EAAE;AACrG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"7-BHe0Dd-L.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/chat/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.B4rrIsb5.js\",\"_app/immutable/chunks/BwTF6U35.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/Dh6kjuFV.js\",\"_app/immutable/chunks/BBQSZM0g.js\",\"_app/immutable/chunks/DEBerhwE.js\",\"_app/immutable/chunks/BuFlayix.js\",\"_app/immutable/chunks/DXseS2Vw.js\"];\nexport const stylesheets = [\"_app/immutable/assets/AuthGate.qEXYiiu8.css\",\"_app/immutable/assets/7.BimnqtTb.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAuC,CAAC,EAAE;AACrG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { d as attr, p as escape_html, m as derived, n as ensure_array_like, e as attr_class } from './dev-DjANv7AF.js';
2
- import { o as onDestroy, p as page } from './state-BMvo7e8L.js';
2
+ import { o as onDestroy, p as page } from './state-ChhzSrVm.js';
3
3
  import { g as fetchEndpoints, o as setActiveEndpoint, m as listSessions, l as getSessionMessages, c as createSession, s as sendChatMessage, v as voiceState, q as speakText, r as stopSpeaking, d as destroyVoice, t as themeService } from './theme-state.svelte-wqhXqgCA.js';
4
4
 
5
5
  //#region package.json
6
- var version = "0.11.0-rc.6";
6
+ var version = "0.11.0-rc.8";
7
7
  //#endregion
8
8
  //#region src/lib/chat/session-events.ts
9
9
  var INITIAL_BACKOFF_MS = 1e3;
@@ -579,21 +579,33 @@ var endpointsService = new EndpointsService();
579
579
  //#region src/lib/components/EndpointSwitcher.svelte
580
580
  function EndpointSwitcher($$renderer, $$props) {
581
581
  $$renderer.component(($$renderer) => {
582
- let open = false;
582
+ const menuId = "endpoint-menu";
583
+ let switching = false;
584
+ let isOpen = false;
583
585
  const active = derived(() => endpointsService.active);
584
- $$renderer.push(`<div class="switcher svelte-1gh51ee"><button type="button" class="trigger svelte-1gh51ee" aria-haspopup="menu"${attr("aria-expanded", open)}${attr("aria-label", active() ? `Assistant endpoint: ${active().label}` : "Assistant endpoints")}${attr("title", active() ? `Connected to: ${active().label} (${active().url})` : "Assistant endpoints")}${attr("disabled", endpointsService.loading, true)}><svg class="trigger-icon svelte-1gh51ee" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> <span class="dot svelte-1gh51ee" aria-hidden="true"></span> <span class="label svelte-1gh51ee">${escape_html(active()?.label ?? "Endpoint…")}</span> <span class="caret svelte-1gh51ee" aria-hidden="true">▾</span></button> `);
585
- $$renderer.push("<!--[-1-->");
586
- $$renderer.push(`<!--]--></div>`);
586
+ const endpoints = derived(() => endpointsService.endpoints);
587
+ const hasChoices = derived(() => endpoints().length > 1);
588
+ $$renderer.push(`<div class="switcher svelte-1gh51ee"><button type="button" class="trigger svelte-1gh51ee" id="endpoint-trigger"${attr("popovertarget", hasChoices() ? menuId : void 0)} aria-haspopup="menu"${attr("aria-expanded", isOpen)}${attr("aria-controls", menuId)}${attr("aria-label", active() ? `Assistant endpoint: ${active().label}` : "Assistant endpoints")}${attr("title", active() ? `Connected to: ${active().label} (${active().url})` : "Assistant endpoints")}${attr("disabled", endpointsService.loading, true)}><svg class="trigger-icon svelte-1gh51ee" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> <span class="dot svelte-1gh51ee" aria-hidden="true"></span> <span class="label svelte-1gh51ee">${escape_html(active()?.label ?? "Endpoint…")}</span> <span class="caret svelte-1gh51ee" aria-hidden="true">▾</span></button> <div${attr("id", menuId)} class="menu svelte-1gh51ee" popover="auto" role="menu" tabindex="-1"><div class="menu-header svelte-1gh51ee">Assistant endpoint</div> <!--[-->`);
589
+ const each_array = ensure_array_like(endpoints());
590
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
591
+ let ep = each_array[$$index];
592
+ $$renderer.push(`<button type="button"${attr_class("menu-item svelte-1gh51ee", void 0, { "active": ep.id === active()?.id })} role="menuitemradio"${attr("aria-checked", ep.id === active()?.id)}${attr("popovertarget", menuId)} popovertargetaction="hide"${attr("disabled", switching, true)}><span class="check svelte-1gh51ee" aria-hidden="true">${escape_html(ep.id === active()?.id ? "●" : "○")}</span> <span class="menu-item-text svelte-1gh51ee"><span class="menu-item-label svelte-1gh51ee">${escape_html(ep.label)}</span> <span class="menu-item-url svelte-1gh51ee">${escape_html(ep.url)}</span></span></button>`);
593
+ }
594
+ $$renderer.push(`<!--]--> <div class="menu-divider svelte-1gh51ee"></div> <a class="menu-item link svelte-1gh51ee" href="/admin/endpoints" role="menuitem">Manage endpoints…</a></div></div>`);
587
595
  });
588
596
  }
589
597
  //#endregion
590
598
  //#region src/lib/components/SessionPicker.svelte
591
599
  function SessionPicker($$renderer, $$props) {
592
600
  $$renderer.component(($$renderer) => {
593
- let open = false;
601
+ const menuId = "session-menu";
602
+ let isOpen = false;
603
+ const SESSION_LIST_CAP = 50;
594
604
  const active = derived(() => endpointsService.active);
595
605
  const endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);
596
606
  const sessions = derived(() => endpointState()?.sessions ?? []);
607
+ const loading = derived(() => endpointState()?.sessionsLoading ?? false);
608
+ const error = derived(() => endpointState()?.sessionsError ?? "");
597
609
  const activeSessionId = derived(() => chat.activeSessionId);
598
610
  const activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);
599
611
  const triggerLabel = derived(() => activeSummary() ? activeSummary().title || `Untitled · ${formatRelative(activeSummary().updatedAt)}` : "New session");
@@ -605,6 +617,8 @@ function SessionPicker($$renderer, $$props) {
605
617
  * snapshot.
606
618
  */
607
619
  const liveConnected = derived(() => chat.liveConnected);
620
+ const visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));
621
+ const overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));
608
622
  /**
609
623
  * Tiny relative-time helper. No date-fns dep — that would be ~30 KB for
610
624
  * 4 cases.
@@ -626,9 +640,37 @@ function SessionPicker($$renderer, $$props) {
626
640
  if (mo < 12) return `${mo}mo ago`;
627
641
  return `${Math.floor(day / 365)}y ago`;
628
642
  }
629
- $$renderer.push(`<div class="picker svelte-1owsj0q"><button type="button" class="trigger svelte-1owsj0q" aria-haspopup="menu"${attr("aria-expanded", open)} aria-label="Sessions"${attr("title", triggerLabel())}><svg class="trigger-icon svelte-1owsj0q" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg> <span${attr_class("dot svelte-1owsj0q", void 0, { "connected": liveConnected() })} aria-hidden="true"${attr("title", liveConnected() ? "Live updates connected" : "Live updates disconnected")}></span> <span class="label svelte-1owsj0q">${escape_html(triggerLabel())}</span> <span class="caret svelte-1owsj0q" aria-hidden="true">▾</span></button> `);
630
- $$renderer.push("<!--[-1-->");
631
- $$renderer.push(`<!--]--></div>`);
643
+ $$renderer.push(`<div class="picker svelte-1owsj0q"><button type="button" class="trigger svelte-1owsj0q" id="session-trigger"${attr("popovertarget", menuId)} aria-haspopup="menu"${attr("aria-expanded", isOpen)}${attr("aria-controls", menuId)} aria-label="Sessions"${attr("title", triggerLabel())}><svg class="trigger-icon svelte-1owsj0q" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg> <span${attr_class("dot svelte-1owsj0q", void 0, { "connected": liveConnected() })} aria-hidden="true"${attr("title", liveConnected() ? "Live updates connected" : "Live updates disconnected")}></span> <span class="label svelte-1owsj0q">${escape_html(triggerLabel())}</span> <span class="caret svelte-1owsj0q" aria-hidden="true">▾</span></button> <div${attr("id", menuId)} class="menu svelte-1owsj0q" popover="auto" role="menu" tabindex="-1"><div class="menu-header svelte-1owsj0q">Sessions on ${escape_html(active()?.label ?? "this endpoint")}</div> `);
644
+ if (chat.sending) {
645
+ $$renderer.push("<!--[0-->");
646
+ $$renderer.push(`<div class="notice svelte-1owsj0q">Wait for the current reply to finish before switching.</div>`);
647
+ } else $$renderer.push("<!--[-1-->");
648
+ $$renderer.push(`<!--]--> <button type="button" class="menu-item new-btn svelte-1owsj0q" role="menuitem"${attr("popovertarget", menuId)} popovertargetaction="hide"${attr("disabled", chat.sending, true)}><span class="check svelte-1owsj0q" aria-hidden="true">+</span> <span class="menu-item-text svelte-1owsj0q"><span class="menu-item-label svelte-1owsj0q">New session</span></span></button> <div class="menu-divider svelte-1owsj0q"></div> `);
649
+ if (loading()) {
650
+ $$renderer.push("<!--[0-->");
651
+ $$renderer.push(`<div class="empty svelte-1owsj0q"><span class="spinner svelte-1owsj0q" aria-hidden="true"></span> <span>Loading sessions…</span></div>`);
652
+ } else if (error()) {
653
+ $$renderer.push("<!--[1-->");
654
+ $$renderer.push(`<div class="error svelte-1owsj0q"><span class="svelte-1owsj0q">${escape_html(error())}</span> <button type="button" class="retry-btn svelte-1owsj0q">Retry</button></div>`);
655
+ } else if (sessions().length === 0) {
656
+ $$renderer.push("<!--[2-->");
657
+ $$renderer.push(`<div class="empty svelte-1owsj0q">No sessions yet. Start the first one.</div>`);
658
+ } else {
659
+ $$renderer.push("<!--[-1-->");
660
+ $$renderer.push(`<div class="session-list svelte-1owsj0q" role="none"><!--[-->`);
661
+ const each_array = ensure_array_like(visibleSessions());
662
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
663
+ let s = each_array[$$index];
664
+ $$renderer.push(`<button type="button"${attr_class("menu-item session-item svelte-1owsj0q", void 0, { "active": s.id === activeSessionId() })} role="menuitemradio"${attr("aria-checked", s.id === activeSessionId())}${attr("popovertarget", menuId)} popovertargetaction="hide"${attr("disabled", chat.sending, true)}><span class="check svelte-1owsj0q" aria-hidden="true">${escape_html(s.id === activeSessionId() ? "●" : "○")}</span> <span class="menu-item-text svelte-1owsj0q"><span class="menu-item-label svelte-1owsj0q">${escape_html(s.title || "Untitled")}</span> <span class="menu-item-meta svelte-1owsj0q">${escape_html(formatRelative(s.updatedAt))}</span></span></button>`);
665
+ }
666
+ $$renderer.push(`<!--]--></div> `);
667
+ if (overflowCount() > 0) {
668
+ $$renderer.push("<!--[0-->");
669
+ $$renderer.push(`<button type="button" class="show-all svelte-1owsj0q">Show all (${escape_html(overflowCount())} more)</button>`);
670
+ } else $$renderer.push("<!--[-1-->");
671
+ $$renderer.push(`<!--]-->`);
672
+ }
673
+ $$renderer.push(`<!--]--></div></div>`);
632
674
  });
633
675
  }
634
676
  //#endregion
@@ -674,37 +716,37 @@ function Navbar($$renderer, $$props) {
674
716
  return pathname() === href || pathname().startsWith(href + "/");
675
717
  }
676
718
  let mobileMenuOpen = false;
677
- $$renderer.push(`<nav class="navbar svelte-rfuq4y" aria-label="Main navigation"><div class="navbar-inner svelte-rfuq4y"><div class="navbar-brand svelte-rfuq4y"><span class="brand-icon svelte-rfuq4y"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-rfuq4y"/></span> <div><span class="brand-text svelte-rfuq4y">OpenPalm</span> <span class="version-badge svelte-rfuq4y">ui v${escape_html(version)}</span></div></div> <div class="navbar-nav svelte-rfuq4y" aria-label="Primary navigation"><!--[-->`);
719
+ $$renderer.push(`<header class="navbar svelte-rfuq4y"><div class="navbar-inner svelte-rfuq4y"><div class="navbar-brand svelte-rfuq4y"><span class="brand-icon svelte-rfuq4y" aria-hidden="true"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-rfuq4y"/></span> <span class="brand-text svelte-rfuq4y">OpenPalm</span> <span class="version-badge svelte-rfuq4y">ui v${escape_html(version)}</span></div> <nav class="navbar-nav svelte-rfuq4y" aria-label="Primary navigation"><!--[-->`);
678
720
  const each_array = ensure_array_like(NAV_ITEMS);
679
721
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
680
722
  let item = each_array[$$index];
681
- $$renderer.push(`<a${attr("href", item.href)}${attr_class("nav-btn svelte-rfuq4y", void 0, { "active": isActive(item.href) })}${attr("aria-current", isActive(item.href) ? "page" : void 0)}${attr("title", item.label)}>`);
723
+ $$renderer.push(`<a${attr("href", item.href)}${attr_class("nav-tab svelte-rfuq4y", void 0, { "active": isActive(item.href) })}${attr("aria-current", isActive(item.href) ? "page" : void 0)}>`);
682
724
  if (item.icon === "chat") {
683
725
  $$renderer.push("<!--[0-->");
684
- $$renderer.push(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>`);
726
+ $$renderer.push(`<svg class="nav-icon svelte-rfuq4y" aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>`);
685
727
  } else if (item.icon === "advanced") {
686
728
  $$renderer.push("<!--[1-->");
687
- $$renderer.push(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="m7 9 3 3-3 3"></path><line x1="13" y1="15" x2="17" y2="15"></line></svg>`);
729
+ $$renderer.push(`<svg class="nav-icon svelte-rfuq4y" aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="m7 9 3 3-3 3"></path><line x1="13" y1="15" x2="17" y2="15"></line></svg>`);
688
730
  } else {
689
731
  $$renderer.push("<!--[-1-->");
690
- $$renderer.push(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>`);
732
+ $$renderer.push(`<svg class="nav-icon svelte-rfuq4y" aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>`);
691
733
  }
692
734
  $$renderer.push(`<!--]--> <span class="nav-label svelte-rfuq4y">${escape_html(item.label)}</span></a>`);
693
735
  }
694
- $$renderer.push(`<!--]--></div> <div class="navbar-actions svelte-rfuq4y"><div class="desktop-actions svelte-rfuq4y">`);
695
- ThemeToggle($$renderer);
696
- $$renderer.push(`<!----> `);
736
+ $$renderer.push(`<!--]--></nav> <div id="navbar-drawer"${attr_class("navbar-actions svelte-rfuq4y", void 0, { "open": mobileMenuOpen })}${attr("role", void 0)}${attr("aria-modal", void 0)}${attr("aria-labelledby", void 0)}><div class="drawer-header svelte-rfuq4y"><h2 class="drawer-title svelte-rfuq4y" id="navbar-drawer-title">Settings</h2> <button type="button" class="drawer-close svelte-rfuq4y" aria-label="Close settings menu"${attr("tabindex", -1)}><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div> <div class="drawer-body svelte-rfuq4y"><div class="drawer-section svelte-rfuq4y"><div class="section-label svelte-rfuq4y">Endpoint</div> <div class="control-row svelte-rfuq4y">`);
697
737
  EndpointSwitcher($$renderer);
698
- $$renderer.push(`<!----> `);
738
+ $$renderer.push(`<!----></div></div> <div class="drawer-section svelte-rfuq4y"><div class="section-label svelte-rfuq4y">Session</div> <div class="control-row svelte-rfuq4y">`);
699
739
  SessionPicker($$renderer);
700
- $$renderer.push(`<!----> `);
740
+ $$renderer.push(`<!----></div></div> <div class="drawer-section svelte-rfuq4y"><div class="section-label svelte-rfuq4y">Voice</div> <div class="control-row control-row--voice svelte-rfuq4y">`);
701
741
  VoiceControl($$renderer);
702
- $$renderer.push(`<!----></div> <button type="button" class="mobile-menu-btn svelte-rfuq4y"${attr("aria-label", "Open menu")}${attr("aria-expanded", mobileMenuOpen)} aria-controls="mobile-navbar-drawer"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">`);
742
+ $$renderer.push(`<!----></div></div> <div class="drawer-section svelte-rfuq4y"><div class="utility-row svelte-rfuq4y"><div class="utility-labels svelte-rfuq4y"><span class="utility-title svelte-rfuq4y">Theme</span> <span class="utility-copy svelte-rfuq4y">Switch between light and dark mode.</span></div> `);
743
+ ThemeToggle($$renderer);
744
+ $$renderer.push(`<!----></div></div></div></div> <button type="button" class="mobile-menu-btn svelte-rfuq4y"${attr("aria-label", "Open settings menu")}${attr("aria-expanded", mobileMenuOpen)} aria-controls="navbar-drawer" aria-haspopup="dialog"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">`);
703
745
  $$renderer.push("<!--[-1-->");
704
746
  $$renderer.push(`<path d="M3 6h18"></path><path d="M3 12h18"></path><path d="M3 18h18"></path>`);
705
- $$renderer.push(`<!--]--></svg> <span class="mobile-menu-label svelte-rfuq4y">Menu</span></button></div></div></nav> `);
747
+ $$renderer.push(`<!--]--></svg></button> `);
706
748
  $$renderer.push("<!--[-1-->");
707
- $$renderer.push(`<!--]-->`);
749
+ $$renderer.push(`<!--]--></div></header>`);
708
750
  });
709
751
  }
710
752
  //#endregion
@@ -731,4 +773,4 @@ function AuthGate($$renderer, $$props) {
731
773
  }
732
774
 
733
775
  export { AuthGate as A, Navbar as N, chat as c, endpointsService as e };
734
- //# sourceMappingURL=AuthGate-DZ0ZMuag.js.map
776
+ //# sourceMappingURL=AuthGate-CV3twHl8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthGate-CV3twHl8.js","sources":["../../../.svelte-kit/adapter-node/chunks/AuthGate.js"],"sourcesContent":["import { B as attr, V as escape_html, a as ensure_array_like, i as derived, n as attr_class } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport { A as setActiveEndpoint, D as listSessions, E as getSessionMessages, _ as fetchEndpoints, a as stopSpeaking, d as createSession, i as speakText, k as sendChatMessage, n as destroyVoice, o as voiceState, t as themeService } from \"./theme-state.svelte.js\";\nimport { t as page } from \"./state.js\";\n//#region package.json\nvar version = \"0.11.0-rc.8\";\n//#endregion\n//#region src/lib/chat/session-events.ts\nvar INITIAL_BACKOFF_MS = 1e3;\nvar MAX_BACKOFF_MS = 3e4;\nvar STREAM_URL = \"/proxy/assistant/event\";\n/**\n* Parse one `\\n\\n`-delimited SSE frame. Multi-line `data:` fields are\n* concatenated with `\\n` per the SSE spec.\n*/\nfunction parseFrame(chunk) {\n\tconst frame = {};\n\tconst dataLines = [];\n\tfor (const rawLine of chunk.split(\"\\n\")) {\n\t\tif (!rawLine || rawLine.startsWith(\":\")) continue;\n\t\tif (rawLine.startsWith(\"data:\")) dataLines.push(rawLine.replace(/^data:\\s?/, \"\"));\n\t\telse if (rawLine.startsWith(\"event:\")) frame.event = rawLine.replace(/^event:\\s?/, \"\");\n\t\telse if (rawLine.startsWith(\"id:\")) frame.id = rawLine.replace(/^id:\\s?/, \"\");\n\t}\n\tif (dataLines.length > 0) frame.data = dataLines.join(\"\\n\");\n\treturn frame;\n}\nfunction dispatch(handlers, payload) {\n\tconst info = payload.properties?.info;\n\tconst id = info?.id;\n\tif (!id) return;\n\tswitch (payload.type) {\n\t\tcase \"session.created\":\n\t\t\thandlers.onCreated(id);\n\t\t\treturn;\n\t\tcase \"session.updated\":\n\t\t\thandlers.onUpdated(id, {\n\t\t\t\ttitle: info?.title,\n\t\t\t\tupdatedAt: info?.time?.updated\n\t\t\t});\n\t\t\treturn;\n\t\tcase \"session.deleted\":\n\t\t\thandlers.onDeleted(id);\n\t\t\treturn;\n\t\tdefault: return;\n\t}\n}\n/**\n* Open an SSE connection to `/proxy/assistant/event` and dispatch\n* session-scoped events. Returns an unsubscribe function that aborts the\n* stream and prevents reconnection.\n*/\nfunction subscribeSessionEvents(handlers) {\n\tlet stopped = false;\n\tlet controller = new AbortController();\n\tlet lastEventId;\n\tconst sleep = (ms) => new Promise((resolve) => {\n\t\tconst timer = setTimeout(resolve, ms);\n\t\tcontroller.signal.addEventListener(\"abort\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tresolve();\n\t\t}, { once: true });\n\t});\n\tasync function readStream() {\n\t\tconst headers = { accept: \"text/event-stream\" };\n\t\tif (lastEventId !== void 0) headers[\"Last-Event-ID\"] = lastEventId;\n\t\tconst response = await fetch(STREAM_URL, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders,\n\t\t\tcredentials: \"include\",\n\t\t\tsignal: controller.signal\n\t\t});\n\t\tif (!response.ok || !response.body) throw new Error(`SSE stream failed: ${response.status} ${response.statusText}`);\n\t\thandlers.onConnect?.();\n\t\tconst reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n\t\tlet buffer = \"\";\n\t\ttry {\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\t\t\t\tbuffer += value;\n\t\t\t\tconst chunks = buffer.split(\"\\n\\n\");\n\t\t\t\tbuffer = chunks.pop() ?? \"\";\n\t\t\t\tfor (const chunk of chunks) {\n\t\t\t\t\tif (!chunk) continue;\n\t\t\t\t\tconst frame = parseFrame(chunk);\n\t\t\t\t\tif (frame.id !== void 0) lastEventId = frame.id;\n\t\t\t\t\tif (!frame.data) continue;\n\t\t\t\t\tlet payload;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpayload = JSON.parse(frame.data);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.warn(\"[session-events] Bad JSON in SSE frame\", err);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(handlers, payload);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\treader.releaseLock();\n\t\t\t} catch {}\n\t\t}\n\t}\n\t(async () => {\n\t\tlet attempt = 0;\n\t\twhile (!stopped) try {\n\t\t\tattempt++;\n\t\t\tawait readStream();\n\t\t\tattempt = 0;\n\t\t\tif (!stopped) await sleep(500);\n\t\t} catch (err) {\n\t\t\tif (stopped) return;\n\t\t\tconst error = err instanceof Error ? err : new Error(String(err));\n\t\t\tif (error.name !== \"AbortError\") {\n\t\t\t\tconsole.warn(\"[session-events] SSE error, reconnecting\", error);\n\t\t\t\thandlers.onDisconnect?.(error);\n\t\t\t}\n\t\t\tawait sleep(Math.min(INITIAL_BACKOFF_MS * 2 ** Math.max(0, attempt - 1), MAX_BACKOFF_MS));\n\t\t\tif (controller.signal.aborted && !stopped) controller = new AbortController();\n\t\t}\n\t})();\n\treturn () => {\n\t\tstopped = true;\n\t\ttry {\n\t\t\tcontroller.abort();\n\t\t} catch {}\n\t};\n}\n//#endregion\n//#region src/lib/chat/chat-state.svelte.ts\nfunction emptyEndpointState() {\n\treturn {\n\t\tsessions: [],\n\t\tsessionsLoaded: false,\n\t\tsessionsLoading: false,\n\t\tsessionsError: \"\",\n\t\tactiveSessionId: null\n\t};\n}\nvar ChatService = class {\n\t/**\n\t* Per-endpoint session cache. Reassigned on every mutation so Svelte 5\n\t* picks up the change. Never mutate the existing Map in place.\n\t*/\n\tbyEndpoint = /* @__PURE__ */ new Map();\n\t/**\n\t* Mirrored from `endpointsService.activeId` via `onEndpointChanged()`\n\t* so the chat layer doesn't have to import the endpoint store.\n\t*/\n\tactiveEndpointId = \"default\";\n\t/** Messages for the currently rendered session only. */\n\tentries = [];\n\tentriesLoading = false;\n\tsending = false;\n\terror = \"\";\n\t/**\n\t* Set true while the SSE event stream is connected. Surfaced by the\n\t* SessionPicker as a tiny green/gray dot so the operator can see at a\n\t* glance whether live updates are flowing.\n\t*/\n\tliveConnected = false;\n\t/**\n\t* Active SSE subscription handle. Reassigned on every endpoint switch.\n\t* Plain field (not `$state`) — only the chat service touches it.\n\t*/\n\t_unsubscribeEvents = null;\n\t#activeSessionId = derived(() => this.byEndpoint.get(this.activeEndpointId)?.activeSessionId ?? null);\n\tget activeSessionId() {\n\t\treturn this.#activeSessionId();\n\t}\n\tset activeSessionId($$value) {\n\t\treturn this.#activeSessionId($$value);\n\t}\n\tsetEndpointState(id, patch) {\n\t\tconst next = {\n\t\t\t...this.byEndpoint.get(id) ?? emptyEndpointState(),\n\t\t\t...patch\n\t\t};\n\t\tthis.byEndpoint = new Map(this.byEndpoint).set(id, next);\n\t\treturn next;\n\t}\n\t/**\n\t* Handle an endpoint switch: load sessions, restore prior or pick\n\t* newest, fetch messages. Mid-generation switches are blocked.\n\t*/\n\tasync onEndpointChanged(id) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tthis.activeEndpointId = id;\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tif (!this.byEndpoint.get(id)?.sessionsLoaded) await this.loadSessions();\n\t\tconst state = this.byEndpoint.get(id) ?? emptyEndpointState();\n\t\tconst sessions = state.sessions;\n\t\tconst previous = state.activeSessionId;\n\t\tlet nextSessionId = null;\n\t\tif (previous && sessions.some((s) => s.id === previous)) nextSessionId = previous;\n\t\telse if (sessions.length > 0) nextSessionId = sessions[0].id;\n\t\tif (nextSessionId !== state.activeSessionId) this.setEndpointState(id, { activeSessionId: nextSessionId });\n\t\tif (nextSessionId) await this.openSession(nextSessionId);\n\t\tthis._resubscribeEvents();\n\t}\n\t/**\n\t* Tear down any prior SSE subscription and open a new one. Handlers\n\t* dispatch session.created / updated / deleted into the per-endpoint\n\t* cache, mirroring out-of-band changes (CLI, other clients).\n\t*/\n\t_resubscribeEvents() {\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from previous event stream\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t\tthis._unsubscribeEvents = subscribeSessionEvents({\n\t\t\tonCreated: (id) => {\n\t\t\t\tthis._onSessionCreated(id);\n\t\t\t},\n\t\t\tonUpdated: (id, info) => {\n\t\t\t\tthis._onSessionUpdated(id, info);\n\t\t\t},\n\t\t\tonDeleted: (id) => {\n\t\t\t\tthis._onSessionDeleted(id);\n\t\t\t},\n\t\t\tonConnect: () => {\n\t\t\t\tthis.liveConnected = true;\n\t\t\t},\n\t\t\tonDisconnect: () => {\n\t\t\t\tthis.liveConnected = false;\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* A session was created out-of-band — prepend to the active endpoint's\n\t* list if not already known. Do not auto-switch to it: the user owns\n\t* navigation.\n\t*/\n\t_onSessionCreated(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\tif (prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst now = Date.now();\n\t\tconst summary = {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions: [summary, ...prev.sessions],\n\t\t\tsessionsLoaded: true\n\t\t});\n\t}\n\t/**\n\t* A session was touched out-of-band — patch its updatedAt (and title if\n\t* the event carries one) and re-sort. Do NOT refetch messages: if the\n\t* user is viewing this session, leave the in-memory entries alone for\n\t* v1. A follow-up phase can reconcile message deltas via the assistant\n\t* event stream.\n\t*/\n\t_onSessionUpdated(sessionId, info) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst idx = prev.sessions.findIndex((s) => s.id === sessionId);\n\t\tif (idx === -1) return;\n\t\tconst existing = prev.sessions[idx];\n\t\tconst sessions = [{\n\t\t\t...existing,\n\t\t\ttitle: info?.title ?? existing.title,\n\t\t\tupdatedAt: info?.updatedAt ?? Date.now()\n\t\t}, ...prev.sessions.filter((s) => s.id !== sessionId)];\n\t\tsessions.sort((a, b) => b.updatedAt - a.updatedAt);\n\t\tthis.setEndpointState(endpointId, { sessions });\n\t}\n\t/**\n\t* A session was deleted out-of-band. Remove it from the list; if it was\n\t* the active session, fall back to the newest remaining session (or\n\t* null) and reload its messages.\n\t*/\n\tasync _onSessionDeleted(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tif (!prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst sessions = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tconst wasActive = prev.activeSessionId === sessionId;\n\t\tconst nextActive = wasActive ? sessions[0]?.id ?? null : prev.activeSessionId;\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions,\n\t\t\tactiveSessionId: nextActive\n\t\t});\n\t\tif (wasActive) {\n\t\t\tthis.entries = [];\n\t\t\tif (nextActive) await this.openSession(nextActive);\n\t\t}\n\t}\n\t/** Fetch the session list for the active endpoint. */\n\tasync loadSessions() {\n\t\tconst id = this.activeEndpointId;\n\t\tthis.setEndpointState(id, {\n\t\t\tsessionsLoading: true,\n\t\t\tsessionsError: \"\"\n\t\t});\n\t\ttry {\n\t\t\tconst sessions = await listSessions();\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessions,\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: \"\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tconst message = err.status === 503 || err.status === 502 ? \"Assistant is not reachable.\" : err.message ?? \"Failed to load sessions.\";\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: message\n\t\t\t});\n\t\t}\n\t}\n\t/** Select a session and render its messages. */\n\tasync openSession(sessionId) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t\tthis.entries = [];\n\t\tthis.entriesLoading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst messages = await getSessionMessages(sessionId);\n\t\t\tif (this.activeEndpointId === endpointId && this.byEndpoint.get(endpointId)?.activeSessionId === sessionId) this.entries = messages;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status === 503 || err.status === 502) this.error = \"Assistant is not reachable. Try reconnecting.\";\n\t\t\telse if (err.status === 401) this.error = \"Sign-in required.\";\n\t\t\telse this.error = err.message ?? \"Failed to load messages.\";\n\t\t} finally {\n\t\t\tthis.entriesLoading = false;\n\t\t}\n\t}\n\t/** Create a new session on the active endpoint and select it. */\n\tasync startNewSession() {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn null;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { id } = await createSession();\n\t\t\tconst now = Date.now();\n\t\t\tconst summary = {\n\t\t\t\tid,\n\t\t\t\ttitle: \"\",\n\t\t\t\tcreatedAt: now,\n\t\t\t\tupdatedAt: now\n\t\t\t};\n\t\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\t\tthis.setEndpointState(endpointId, {\n\t\t\t\tsessions: [summary, ...prev.sessions.filter((s) => s.id !== id)],\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tactiveSessionId: id\n\t\t\t});\n\t\t\tthis.entries = [];\n\t\t\treturn id;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = `Failed to start session: ${err.message ?? \"unknown error\"}`;\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t* Send a message in the active session. If none is active, create one\n\t* first (matches the \"zero sessions\" empty-state flow).\n\t*/\n\tasync send(text) {\n\t\tif (this.sending) return;\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tlet sessionId = this.activeSessionId;\n\t\tif (!sessionId) {\n\t\t\tsessionId = await this.startNewSession();\n\t\t\tif (!sessionId) return;\n\t\t}\n\t\tconst userEntry = {\n\t\t\tid: crypto.randomUUID(),\n\t\t\trole: \"user\",\n\t\t\ttext: trimmed,\n\t\t\ttimestamp: Date.now()\n\t\t};\n\t\tthis.entries = [...this.entries, userEntry];\n\t\tthis.error = \"\";\n\t\tthis.sending = true;\n\t\ttry {\n\t\t\tconst replyText = (await sendChatMessage(sessionId, trimmed)).parts.filter((p) => p.type === \"text\" && p.text).map((p) => p.text ?? \"\").join(\"\");\n\t\t\tconst assistantEntry = {\n\t\t\t\tid: crypto.randomUUID(),\n\t\t\t\trole: \"assistant\",\n\t\t\t\ttext: replyText || \"(no response)\",\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, assistantEntry];\n\t\t\tconst endpointId = this.activeEndpointId;\n\t\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\t\tif (prev) {\n\t\t\t\tconst now = Date.now();\n\t\t\t\tconst existing = prev.sessions.find((s) => s.id === sessionId);\n\t\t\t\tconst updated = existing ? {\n\t\t\t\t\t...existing,\n\t\t\t\t\tupdatedAt: now\n\t\t\t\t} : {\n\t\t\t\t\tid: sessionId,\n\t\t\t\t\ttitle: \"\",\n\t\t\t\t\tcreatedAt: now,\n\t\t\t\t\tupdatedAt: now\n\t\t\t\t};\n\t\t\t\tconst rest = prev.sessions.filter((s) => s.id !== sessionId);\n\t\t\t\tthis.setEndpointState(endpointId, { sessions: [updated, ...rest] });\n\t\t\t}\n\t\t\tif (voiceState.ttsSupported && voiceState.ttsAutoEnabled && replyText) speakText(replyText);\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status === 503 || err.status === 502) {\n\t\t\t\tthis.error = \"Assistant is not reachable. Try reconnecting.\";\n\t\t\t\tthis.setEndpointState(this.activeEndpointId, { activeSessionId: null });\n\t\t\t} else if (err.status === 401) this.error = \"Sign-in required.\";\n\t\t\telse this.error = err.message ?? \"Message failed.\";\n\t\t} finally {\n\t\t\tthis.sending = false;\n\t\t}\n\t}\n\treset() {\n\t\tstopSpeaking();\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis.byEndpoint = /* @__PURE__ */ new Map();\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from event stream during reset\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t}\n};\nvar chat = new ChatService();\n//#endregion\n//#region src/lib/components/VoiceControl.svelte\nfunction VoiceControl($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst MAX_INTERIM_CHARS = 48;\n\t\tlet mounted = false;\n\t\tonDestroy(() => {\n\t\t\tdestroyVoice();\n\t\t});\n\t\tlet supported = derived(() => mounted);\n\t\tlet ttsAvailable = derived(() => mounted);\n\t\tlet isRecording = derived(() => voiceState.status === \"recording\");\n\t\tlet isTranscribing = derived(() => voiceState.status === \"transcribing\");\n\t\tlet isProcessing = derived(() => !isRecording() && !isTranscribing() && chat.sending);\n\t\tlet isSpeaking = derived(() => voiceState.status === \"speaking\");\n\t\tif (supported() || ttsAvailable() || voiceState.autoplayBlocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"voice-control svelte-1a5q9sh\" role=\"toolbar\" aria-label=\"Voice controls\">`);\n\t\t\tif (isRecording() && voiceState.interimTranscript) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"voice-interim svelte-1a5q9sh\" aria-hidden=\"true\"${attr(\"title\", voiceState.interimTranscript)}>${escape_html(voiceState.interimTranscript.length > MAX_INTERIM_CHARS ? voiceState.interimTranscript.slice(0, MAX_INTERIM_CHARS) + \"…\" : voiceState.interimTranscript)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (voiceState.autoplayBlocked) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"voice-autoplay-banner svelte-1a5q9sh\" aria-label=\"Resume paused audio\" title=\"Audio was blocked by the browser. Click to resume.\"><svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1a5q9sh\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-1a5q9sh\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-1a5q9sh\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-1a5q9sh\"></line></svg> <span class=\"svelte-1a5q9sh\">Audio paused — click to resume</span></button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ttsAvailable()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button${attr_class(\"voice-btn svelte-1a5q9sh\", void 0, {\n\t\t\t\t\t\"voice-btn-on\": voiceState.ttsAutoEnabled,\n\t\t\t\t\t\"voice-btn-speaking\": isSpeaking()\n\t\t\t\t})}${attr(\"aria-label\", voiceState.ttsAutoEnabled ? \"Turn off spoken responses\" : \"Turn on spoken responses\")}${attr(\"aria-pressed\", voiceState.ttsAutoEnabled)}${attr(\"title\", isSpeaking() ? \"Speaking — click to turn off spoken responses\" : voiceState.ttsAutoEnabled ? \"Spoken responses are on — click to turn off\" : \"Spoken responses are off — click to turn on\")}><svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1a5q9sh\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-1a5q9sh\"></polygon>`);\n\t\t\t\tif (voiceState.ttsAutoEnabled) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"${attr_class(\"svelte-1a5q9sh\", void 0, { \"wave-anim\": isSpeaking() })}></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"${attr_class(\"svelte-1a5q9sh\", void 0, { \"wave-anim-2\": isSpeaking() })}></path>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-1a5q9sh\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-1a5q9sh\"></line>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></svg></button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (supported()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button${attr_class(\"voice-btn svelte-1a5q9sh\", void 0, {\n\t\t\t\t\t\"voice-btn-active\": isRecording(),\n\t\t\t\t\t\"voice-btn-processing\": isProcessing() || isTranscribing()\n\t\t\t\t})}${attr(\"disabled\", isProcessing(), true)}${attr(\"aria-label\", isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Start recording\")}${attr(\"aria-pressed\", isRecording())}${attr(\"title\", isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Speak — message will be sent to the selected assistant\")}>`);\n\t\t\t\tif (isTranscribing() || isProcessing()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"voice-spinner svelte-1a5q9sh\" aria-hidden=\"true\"></span>`);\n\t\t\t\t} else if (isRecording()) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"svelte-1a5q9sh\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"1.5\" class=\"svelte-1a5q9sh\"></rect></svg> <span class=\"voice-pulse svelte-1a5q9sh\" aria-hidden=\"true\"></span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1a5q9sh\"><path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" class=\"svelte-1a5q9sh\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" class=\"svelte-1a5q9sh\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-1a5q9sh\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-1a5q9sh\"></line></svg>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <span class=\"sr-only svelte-1a5q9sh\" aria-live=\"polite\">${escape_html(isRecording() && voiceState.interimTranscript ? voiceState.interimTranscript : isRecording() ? \"Recording\" : isTranscribing() ? \"Transcribing\" : isProcessing() ? \"Sending message to assistant\" : isSpeaking() ? \"Assistant is speaking\" : voiceState.ttsAutoEnabled ? \"Spoken responses on\" : \"\")}</span></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/endpoints-state.svelte.ts\nvar EndpointsService = class {\n\tendpoints = [];\n\tactiveId = \"default\";\n\tloading = false;\n\tloaded = false;\n\terror = \"\";\n\t#active = derived(() => this.endpoints.find((e) => e.id === this.activeId) ?? this.endpoints[0] ?? null);\n\tget active() {\n\t\treturn this.#active();\n\t}\n\tset active($$value) {\n\t\treturn this.#active($$value);\n\t}\n\tasync load(force = false) {\n\t\tif (this.loading) return;\n\t\tif (this.loaded && !force) return;\n\t\tthis.loading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { endpoints, activeId } = await fetchEndpoints();\n\t\t\tthis.endpoints = endpoints;\n\t\t\tthis.activeId = activeId;\n\t\t\tthis.loaded = true;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status !== 401) this.error = err.message ?? \"Failed to load endpoints\";\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\tasync activate(id) {\n\t\tif (id === this.activeId) return;\n\t\tif (chat.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\tthrow new Error(this.error);\n\t\t}\n\t\tconst previous = this.activeId;\n\t\tthis.activeId = id;\n\t\ttry {\n\t\t\tawait setActiveEndpoint(id);\n\t\t\tawait chat.onEndpointChanged(id);\n\t\t} catch (e) {\n\t\t\tthis.activeId = previous;\n\t\t\tconst err = e;\n\t\t\tthis.error = err.message ?? \"Failed to switch endpoint\";\n\t\t\tthrow e;\n\t\t}\n\t}\n};\nvar endpointsService = new EndpointsService();\n//#endregion\n//#region src/lib/components/EndpointSwitcher.svelte\nfunction EndpointSwitcher($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst menuId = \"endpoint-menu\";\n\t\tlet switching = false;\n\t\tlet isOpen = false;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst hasChoices = derived(() => endpoints().length > 1);\n\t\t$$renderer.push(`<div class=\"switcher svelte-1gh51ee\"><button type=\"button\" class=\"trigger svelte-1gh51ee\" id=\"endpoint-trigger\"${attr(\"popovertarget\", hasChoices() ? menuId : void 0)} aria-haspopup=\"menu\"${attr(\"aria-expanded\", isOpen)}${attr(\"aria-controls\", menuId)}${attr(\"aria-label\", active() ? `Assistant endpoint: ${active().label}` : \"Assistant endpoints\")}${attr(\"title\", active() ? `Connected to: ${active().label} (${active().url})` : \"Assistant endpoints\")}${attr(\"disabled\", endpointsService.loading, true)}><svg class=\"trigger-icon svelte-1gh51ee\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" y1=\"6\" x2=\"6.01\" y2=\"6\"></line><line x1=\"6\" y1=\"18\" x2=\"6.01\" y2=\"18\"></line></svg> <span class=\"dot svelte-1gh51ee\" aria-hidden=\"true\"></span> <span class=\"label svelte-1gh51ee\">${escape_html(active()?.label ?? \"Endpoint…\")}</span> <span class=\"caret svelte-1gh51ee\" aria-hidden=\"true\">▾</span></button> <div${attr(\"id\", menuId)} class=\"menu svelte-1gh51ee\" popover=\"auto\" role=\"menu\" tabindex=\"-1\"><div class=\"menu-header svelte-1gh51ee\">Assistant endpoint</div> <!--[-->`);\n\t\tconst each_array = ensure_array_like(endpoints());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet ep = each_array[$$index];\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"menu-item svelte-1gh51ee\", void 0, { \"active\": ep.id === active()?.id })} role=\"menuitemradio\"${attr(\"aria-checked\", ep.id === active()?.id)}${attr(\"popovertarget\", menuId)} popovertargetaction=\"hide\"${attr(\"disabled\", switching, true)}><span class=\"check svelte-1gh51ee\" aria-hidden=\"true\">${escape_html(ep.id === active()?.id ? \"●\" : \"○\")}</span> <span class=\"menu-item-text svelte-1gh51ee\"><span class=\"menu-item-label svelte-1gh51ee\">${escape_html(ep.label)}</span> <span class=\"menu-item-url svelte-1gh51ee\">${escape_html(ep.url)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div class=\"menu-divider svelte-1gh51ee\"></div> <a class=\"menu-item link svelte-1gh51ee\" href=\"/admin/endpoints\" role=\"menuitem\">Manage endpoints…</a></div></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/SessionPicker.svelte\nfunction SessionPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst menuId = \"session-menu\";\n\t\tlet isOpen = false;\n\t\tconst SESSION_LIST_CAP = 50;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst loading = derived(() => endpointState()?.sessionsLoading ?? false);\n\t\tconst error = derived(() => endpointState()?.sessionsError ?? \"\");\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);\n\t\tconst triggerLabel = derived(() => activeSummary() ? activeSummary().title || `Untitled · ${formatRelative(activeSummary().updatedAt)}` : \"New session\");\n\t\t/**\n\t\t* Live-updates indicator. True when the chat service's SSE stream to\n\t\t* `/proxy/assistant/event` is connected — out-of-band session changes\n\t\t* (CLI, other clients) will flow through. Shown as a tiny dot so the\n\t\t* operator can tell at a glance whether the picker is reactive or\n\t\t* snapshot.\n\t\t*/\n\t\tconst liveConnected = derived(() => chat.liveConnected);\n\t\tconst visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t/**\n\t\t* Tiny relative-time helper. No date-fns dep — that would be ~30 KB for\n\t\t* 4 cases.\n\t\t*/\n\t\tfunction formatRelative(ts) {\n\t\t\tif (!ts) return \"\";\n\t\t\tconst diffSec = Math.max(0, (Date.now() - ts) / 1e3);\n\t\t\tif (diffSec < 60) return \"just now\";\n\t\t\tconst min = Math.floor(diffSec / 60);\n\t\t\tif (min < 60) return `${min}m ago`;\n\t\t\tconst hr = Math.floor(min / 60);\n\t\t\tif (hr < 24) return `${hr}h ago`;\n\t\t\tconst day = Math.floor(hr / 24);\n\t\t\tif (day === 1) return \"yesterday\";\n\t\t\tif (day < 7) return `${day}d ago`;\n\t\t\tconst wk = Math.floor(day / 7);\n\t\t\tif (wk < 5) return `${wk}w ago`;\n\t\t\tconst mo = Math.floor(day / 30);\n\t\t\tif (mo < 12) return `${mo}mo ago`;\n\t\t\treturn `${Math.floor(day / 365)}y ago`;\n\t\t}\n\t\t$$renderer.push(`<div class=\"picker svelte-1owsj0q\"><button type=\"button\" class=\"trigger svelte-1owsj0q\" id=\"session-trigger\"${attr(\"popovertarget\", menuId)} aria-haspopup=\"menu\"${attr(\"aria-expanded\", isOpen)}${attr(\"aria-controls\", menuId)} aria-label=\"Sessions\"${attr(\"title\", triggerLabel())}><svg class=\"trigger-icon svelte-1owsj0q\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z\"></path><path d=\"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1\"></path></svg> <span${attr_class(\"dot svelte-1owsj0q\", void 0, { \"connected\": liveConnected() })} aria-hidden=\"true\"${attr(\"title\", liveConnected() ? \"Live updates connected\" : \"Live updates disconnected\")}></span> <span class=\"label svelte-1owsj0q\">${escape_html(triggerLabel())}</span> <span class=\"caret svelte-1owsj0q\" aria-hidden=\"true\">▾</span></button> <div${attr(\"id\", menuId)} class=\"menu svelte-1owsj0q\" popover=\"auto\" role=\"menu\" tabindex=\"-1\"><div class=\"menu-header svelte-1owsj0q\">Sessions on ${escape_html(active()?.label ?? \"this endpoint\")}</div> `);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1owsj0q\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"menu-item new-btn svelte-1owsj0q\" role=\"menuitem\"${attr(\"popovertarget\", menuId)} popovertargetaction=\"hide\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1owsj0q\" aria-hidden=\"true\">+</span> <span class=\"menu-item-text svelte-1owsj0q\"><span class=\"menu-item-label svelte-1owsj0q\">New session</span></span></button> <div class=\"menu-divider svelte-1owsj0q\"></div> `);\n\t\tif (loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1owsj0q\"><span class=\"spinner svelte-1owsj0q\" aria-hidden=\"true\"></span> <span>Loading sessions…</span></div>`);\n\t\t} else if (error()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"error svelte-1owsj0q\"><span class=\"svelte-1owsj0q\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1owsj0q\">Retry</button></div>`);\n\t\t} else if (sessions().length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1owsj0q\">No sessions yet. Start the first one.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"session-list svelte-1owsj0q\" role=\"none\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet s = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"menu-item session-item svelte-1owsj0q\", void 0, { \"active\": s.id === activeSessionId() })} role=\"menuitemradio\"${attr(\"aria-checked\", s.id === activeSessionId())}${attr(\"popovertarget\", menuId)} popovertargetaction=\"hide\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1owsj0q\" aria-hidden=\"true\">${escape_html(s.id === activeSessionId() ? \"●\" : \"○\")}</span> <span class=\"menu-item-text svelte-1owsj0q\"><span class=\"menu-item-label svelte-1owsj0q\">${escape_html(s.title || \"Untitled\")}</span> <span class=\"menu-item-meta svelte-1owsj0q\">${escape_html(formatRelative(s.updatedAt))}</span></span></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (overflowCount() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"show-all svelte-1owsj0q\">Show all (${escape_html(overflowCount())} more)</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/ThemeToggle.svelte\nfunction ThemeToggle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst isDark = derived(() => themeService.resolved === \"dark\");\n\t\tconst label = derived(() => isDark() ? \"Switch to light mode\" : \"Switch to dark mode\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"theme-toggle svelte-1cmi4dh\"${attr(\"aria-label\", label())}${attr(\"aria-pressed\", isDark())}${attr(\"title\", label())}>`);\n\t\tif (isDark()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M12 2v2\"></path><path d=\"M12 20v2\"></path><path d=\"m4.93 4.93 1.41 1.41\"></path><path d=\"m17.66 17.66 1.41 1.41\"></path><path d=\"M2 12h2\"></path><path d=\"M20 12h2\"></path><path d=\"m6.34 17.66-1.41 1.41\"></path><path d=\"m19.07 4.93-1.41 1.41\"></path></svg>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9z\"></path></svg>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/Navbar.svelte\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst NAV_ITEMS = [\n\t\t\t{\n\t\t\t\thref: \"/chat\",\n\t\t\t\tlabel: \"Chat\",\n\t\t\t\ticon: \"chat\"\n\t\t\t},\n\t\t\t{\n\t\t\t\thref: \"/advanced\",\n\t\t\t\tlabel: \"Advanced\",\n\t\t\t\ticon: \"advanced\"\n\t\t\t},\n\t\t\t{\n\t\t\t\thref: \"/admin\",\n\t\t\t\tlabel: \"Admin\",\n\t\t\t\ticon: \"admin\"\n\t\t\t}\n\t\t];\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tfunction isActive(href) {\n\t\t\treturn pathname() === href || pathname().startsWith(href + \"/\");\n\t\t}\n\t\tlet mobileMenuOpen = false;\n\t\t$$renderer.push(`<header class=\"navbar svelte-rfuq4y\"><div class=\"navbar-inner svelte-rfuq4y\"><div class=\"navbar-brand svelte-rfuq4y\"><span class=\"brand-icon svelte-rfuq4y\" aria-hidden=\"true\"><img src=\"/logo-128.png\" alt=\"OpenPalm Logo\" class=\"svelte-rfuq4y\"/></span> <span class=\"brand-text svelte-rfuq4y\">OpenPalm</span> <span class=\"version-badge svelte-rfuq4y\">ui v${escape_html(version)}</span></div> <nav class=\"navbar-nav svelte-rfuq4y\" aria-label=\"Primary navigation\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(NAV_ITEMS);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet item = each_array[$$index];\n\t\t\t$$renderer.push(`<a${attr(\"href\", item.href)}${attr_class(\"nav-tab svelte-rfuq4y\", void 0, { \"active\": isActive(item.href) })}${attr(\"aria-current\", isActive(item.href) ? \"page\" : void 0)}>`);\n\t\t\tif (item.icon === \"chat\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<svg class=\"nav-icon svelte-rfuq4y\" aria-hidden=\"true\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path></svg>`);\n\t\t\t} else if (item.icon === \"advanced\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<svg class=\"nav-icon svelte-rfuq4y\" aria-hidden=\"true\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><path d=\"m7 9 3 3-3 3\"></path><line x1=\"13\" y1=\"15\" x2=\"17\" y2=\"15\"></line></svg>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<svg class=\"nav-icon svelte-rfuq4y\" aria-hidden=\"true\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"></line><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"></line><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"></line><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"></line><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"></line><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"></line><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"></line></svg>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <span class=\"nav-label svelte-rfuq4y\">${escape_html(item.label)}</span></a>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></nav> <div id=\"navbar-drawer\"${attr_class(\"navbar-actions svelte-rfuq4y\", void 0, { \"open\": mobileMenuOpen })}${attr(\"role\", void 0)}${attr(\"aria-modal\", void 0)}${attr(\"aria-labelledby\", void 0)}><div class=\"drawer-header svelte-rfuq4y\"><h2 class=\"drawer-title svelte-rfuq4y\" id=\"navbar-drawer-title\">Settings</h2> <button type=\"button\" class=\"drawer-close svelte-rfuq4y\" aria-label=\"Close settings menu\"${attr(\"tabindex\", -1)}><svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path></svg></button></div> <div class=\"drawer-body svelte-rfuq4y\"><div class=\"drawer-section svelte-rfuq4y\"><div class=\"section-label svelte-rfuq4y\">Endpoint</div> <div class=\"control-row svelte-rfuq4y\">`);\n\t\tEndpointSwitcher($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div> <div class=\"drawer-section svelte-rfuq4y\"><div class=\"section-label svelte-rfuq4y\">Session</div> <div class=\"control-row svelte-rfuq4y\">`);\n\t\tSessionPicker($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div> <div class=\"drawer-section svelte-rfuq4y\"><div class=\"section-label svelte-rfuq4y\">Voice</div> <div class=\"control-row control-row--voice svelte-rfuq4y\">`);\n\t\tVoiceControl($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div> <div class=\"drawer-section svelte-rfuq4y\"><div class=\"utility-row svelte-rfuq4y\"><div class=\"utility-labels svelte-rfuq4y\"><span class=\"utility-title svelte-rfuq4y\">Theme</span> <span class=\"utility-copy svelte-rfuq4y\">Switch between light and dark mode.</span></div> `);\n\t\tThemeToggle($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div></div></div> <button type=\"button\" class=\"mobile-menu-btn svelte-rfuq4y\"${attr(\"aria-label\", \"Open settings menu\")}${attr(\"aria-expanded\", mobileMenuOpen)} aria-controls=\"navbar-drawer\" aria-haspopup=\"dialog\"><svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\">`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<path d=\"M3 6h18\"></path><path d=\"M3 12h18\"></path><path d=\"M3 18h18\"></path>`);\n\t\t$$renderer.push(`<!--]--></svg></button> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div></header>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/AuthGate.svelte\nfunction AuthGate($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { onSuccess, loading, error } = $$props;\n\t\tlet tokenInput = \"\";\n\t\t$$renderer.push(`<main class=\"auth-gate svelte-1vviwqr\" aria-label=\"Admin login gate\"><section class=\"auth-card svelte-1vviwqr\"><div class=\"auth-brand svelte-1vviwqr\"><span class=\"brand-icon svelte-1vviwqr\"><img src=\"/logo-128.png\" alt=\"OpenPalm Logo\" class=\"svelte-1vviwqr\"/></span> <div><h1 class=\"svelte-1vviwqr\">OpenPalm Console</h1> <p class=\"svelte-1vviwqr\">Enter your admin password to unlock the control plane.</p></div></div> <form class=\"auth-form svelte-1vviwqr\"><label for=\"admin-token\" class=\"svelte-1vviwqr\">Admin Password</label> <input type=\"text\" name=\"username\" autocomplete=\"username\" value=\"admin\" class=\"sr-only svelte-1vviwqr\" tabindex=\"-1\" aria-hidden=\"true\"/> <div class=\"token-input-wrapper svelte-1vviwqr\"><input id=\"admin-token\" name=\"admin-token\"${attr(\"type\", \"password\")}${attr(\"value\", tokenInput)} placeholder=\"Enter admin password\" autocomplete=\"current-password\" class=\"svelte-1vviwqr\"/> <button type=\"button\" class=\"btn-toggle svelte-1vviwqr\"${attr(\"aria-label\", \"Show token\")}>`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle></svg>`);\n\t\t$$renderer.push(`<!--]--></button></div> `);\n\t\tif (error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"auth-error svelte-1vviwqr\" role=\"alert\">${escape_html(error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-primary\" type=\"submit\"${attr(\"disabled\", loading || !tokenInput.trim(), true)}>`);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"spinner\"></span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> Unlock Console</button></form></section></main>`);\n\t});\n}\n//#endregion\nexport { chat as i, Navbar as n, endpointsService as r, AuthGate as t };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { B as head, e as attr_class, d as attr, a6 as stringify, p as escape_html, n as ensure_array_like, m as derived } from './dev-DjANv7AF.js';
2
- import { o as onDestroy } from './state-BMvo7e8L.js';
2
+ import { o as onDestroy } from './state-ChhzSrVm.js';
3
3
  import { h as fetchHealth, e as fetchContainers, f as fetchAutomations, k as fetchVersions, i as fetchReleases, j as fetchUiVersions, a as applyChanges, u as upgradeStack, p as setStackVersion, b as downloadUiVersion } from './theme-state.svelte-wqhXqgCA.js';
4
- import { A as AuthGate, N as Navbar } from './AuthGate-DZ0ZMuag.js';
5
- import './internal-r__KO0cl.js';
4
+ import { A as AuthGate, N as Navbar } from './AuthGate-CV3twHl8.js';
5
+ import './internal-DJnSEu6D.js';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import 'node:module';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -543,4 +543,4 @@ function _page($$renderer, $$props) {
543
543
  }
544
544
 
545
545
  export { _page as default };
546
- //# sourceMappingURL=_page.svelte-CCe0W6d_.js.map
546
+ //# sourceMappingURL=_page.svelte-BSWlh0cc.js.map