@openpalm/ui 0.11.0 → 0.11.1

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 (330) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{0.DlIhzko8.css → 0.CFC7xzus.css} +1 -1
  3. package/build/client/_app/immutable/assets/0.CFC7xzus.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.CFC7xzus.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.B_s_XYKm.css +1 -0
  6. package/build/client/_app/immutable/assets/4.B_s_XYKm.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.B_s_XYKm.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css +1 -0
  9. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.br +0 -0
  10. package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css +1 -0
  12. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.br +0 -0
  13. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.gz +0 -0
  14. package/build/client/_app/immutable/chunks/BsFaG4Si.js +1 -0
  15. package/build/client/_app/immutable/chunks/BsFaG4Si.js.br +2 -0
  16. package/build/client/_app/immutable/chunks/BsFaG4Si.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{HJd0QhDi.js → C5xMso3V.js} +1 -1
  18. package/build/client/_app/immutable/chunks/C5xMso3V.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C5xMso3V.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{BNcdU8Ou.js → DPsWof9T.js} +2 -2
  21. package/build/client/_app/immutable/chunks/DPsWof9T.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/DPsWof9T.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/jhtvkF_A.js +1 -0
  24. package/build/client/_app/immutable/chunks/jhtvkF_A.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/jhtvkF_A.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{Mj3AXROx.js → s4upGypb.js} +1 -1
  27. package/build/client/_app/immutable/chunks/s4upGypb.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/s4upGypb.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.8wJBndTj.js → app.BhaNzXRa.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.BhaNzXRa.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.BhaNzXRa.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.mqdezZzO.js +1 -0
  33. package/build/client/_app/immutable/entry/start.mqdezZzO.js.br +0 -0
  34. package/build/client/_app/immutable/entry/start.mqdezZzO.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{1.BeVZsPun.js → 1.B8IsMtPo.js} +1 -1
  36. package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.br +1 -0
  37. package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{4.BAthCCnr.js → 4.Jf5TbLTF.js} +9 -9
  39. package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{5.Ci-IDy_L.js → 5.BXOM2W9q.js} +1 -1
  42. package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{6._GM9bF5h.js → 6.fVxTNYsE.js} +1 -1
  45. package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{7.Cx4EVpki.js → 7.E4FAL2cc.js} +1 -1
  48. package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{8.p0qRhws4.js → 8.By5-pJpM.js} +1 -1
  51. package/build/client/_app/immutable/nodes/8.By5-pJpM.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/8.By5-pJpM.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js +2 -0
  54. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.gz +0 -0
  56. package/build/client/_app/version.json +1 -1
  57. package/build/client/_app/version.json.br +1 -1
  58. package/build/client/_app/version.json.gz +0 -0
  59. package/build/client/setup/wizard.css +134 -389
  60. package/build/client/setup/wizard.css.br +0 -0
  61. package/build/client/setup/wizard.css.gz +0 -0
  62. package/build/server/chunks/{0-CTzT7i_m.js → 0-BK7D9z9V.js} +3 -3
  63. package/build/server/chunks/{0-CTzT7i_m.js.map → 0-BK7D9z9V.js.map} +1 -1
  64. package/build/server/chunks/1-DiEYpQIN.js +9 -0
  65. package/build/server/chunks/{1-DTcDogB5.js.map → 1-DiEYpQIN.js.map} +1 -1
  66. package/build/server/chunks/4-pHqpXb3H.js +9 -0
  67. package/build/server/chunks/{4-Dn-0_RAr.js.map → 4-pHqpXb3H.js.map} +1 -1
  68. package/build/server/chunks/5-D48D_0uX.js +9 -0
  69. package/build/server/chunks/{5-Cbcb8WMr.js.map → 5-D48D_0uX.js.map} +1 -1
  70. package/build/server/chunks/{6-CUZpLn9e.js → 6-CQ5NktVc.js} +3 -3
  71. package/build/server/chunks/{6-CUZpLn9e.js.map → 6-CQ5NktVc.js.map} +1 -1
  72. package/build/server/chunks/7-Cbs2uIrU.js +9 -0
  73. package/build/server/chunks/{7-C0-ssq7j.js.map → 7-Cbs2uIrU.js.map} +1 -1
  74. package/build/server/chunks/{8-CIt0k_cP.js → 8-Cp8CGb0N.js} +3 -3
  75. package/build/server/chunks/{8-CIt0k_cP.js.map → 8-Cp8CGb0N.js.map} +1 -1
  76. package/build/server/chunks/9-BKnkc58p.js +9 -0
  77. package/build/server/chunks/{9-B8DzptsC.js.map → 9-BKnkc58p.js.map} +1 -1
  78. package/build/server/chunks/{Navbar-F9NE4GcT.js → Navbar-PVEly3CX.js} +3 -3
  79. package/build/server/chunks/{Navbar-F9NE4GcT.js.map → Navbar-PVEly3CX.js.map} +1 -1
  80. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -1
  81. package/build/server/chunks/{_page.svelte-CqEu-vpE.js → _page.svelte-B1SlSu-R.js} +5 -5
  82. package/build/server/chunks/{_page.svelte-CqEu-vpE.js.map → _page.svelte-B1SlSu-R.js.map} +1 -1
  83. package/build/server/chunks/{_page.svelte-DnwUHFZ8.js → _page.svelte-BY2APmQv.js} +5 -5
  84. package/build/server/chunks/{_page.svelte-DnwUHFZ8.js.map → _page.svelte-BY2APmQv.js.map} +1 -1
  85. package/build/server/chunks/{_page.svelte-DLAHj-kk.js → _page.svelte-CDCe-J7o.js} +4 -2
  86. package/build/server/chunks/_page.svelte-CDCe-J7o.js.map +1 -0
  87. package/build/server/chunks/{_page.svelte-BgAgZqQA.js → _page.svelte-CF6Wb9iE.js} +6 -6
  88. package/build/server/chunks/_page.svelte-CF6Wb9iE.js.map +1 -0
  89. package/build/server/chunks/{_page.svelte-DeJqqBhp.js → _page.svelte-DadWXVrr.js} +5 -5
  90. package/build/server/chunks/{_page.svelte-DeJqqBhp.js.map → _page.svelte-DadWXVrr.js.map} +1 -1
  91. package/build/server/chunks/{_page.svelte--GbfGVnN.js → _page.svelte-DtrBTed5.js} +3 -3
  92. package/build/server/chunks/{_page.svelte--GbfGVnN.js.map → _page.svelte-DtrBTed5.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-CPzbkayh.js → _server.ts-31Wp0zcV.js} +4 -4
  94. package/build/server/chunks/{_server.ts-CPzbkayh.js.map → _server.ts-31Wp0zcV.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-DFL8Mq_R.js → _server.ts-8c17N53a.js} +4 -4
  96. package/build/server/chunks/{_server.ts-DFL8Mq_R.js.map → _server.ts-8c17N53a.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-BD6Urice.js → _server.ts-B0CeVe_2.js} +4 -4
  98. package/build/server/chunks/{_server.ts-BD6Urice.js.map → _server.ts-B0CeVe_2.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-C8YMhHYj.js → _server.ts-B2vBBz6Q.js} +4 -4
  100. package/build/server/chunks/{_server.ts-C8YMhHYj.js.map → _server.ts-B2vBBz6Q.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-DRxZJQd6.js → _server.ts-B3uweiKb.js} +6 -6
  102. package/build/server/chunks/{_server.ts-DRxZJQd6.js.map → _server.ts-B3uweiKb.js.map} +1 -1
  103. package/build/server/chunks/_server.ts-B8pCRdwo.js +95 -0
  104. package/build/server/chunks/_server.ts-B8pCRdwo.js.map +1 -0
  105. package/build/server/chunks/{_server.ts-IkgMCbAi.js → _server.ts-BBsksu6b.js} +6 -6
  106. package/build/server/chunks/{_server.ts-IkgMCbAi.js.map → _server.ts-BBsksu6b.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-B8sdNvW5.js → _server.ts-BDBz43vs.js} +4 -4
  108. package/build/server/chunks/{_server.ts-B8sdNvW5.js.map → _server.ts-BDBz43vs.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-sEc4S_v5.js → _server.ts-BLePivrN.js} +6 -6
  110. package/build/server/chunks/{_server.ts-sEc4S_v5.js.map → _server.ts-BLePivrN.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-D5Q5mczv.js → _server.ts-BMHPNIdu.js} +4 -4
  112. package/build/server/chunks/{_server.ts-D5Q5mczv.js.map → _server.ts-BMHPNIdu.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-Bj_nJzpo.js → _server.ts-BN3w-iUI.js} +4 -4
  114. package/build/server/chunks/{_server.ts-Bj_nJzpo.js.map → _server.ts-BN3w-iUI.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-C5uu6b2a.js → _server.ts-BYUfQeRr.js} +6 -5
  116. package/build/server/chunks/_server.ts-BYUfQeRr.js.map +1 -0
  117. package/build/server/chunks/{_server.ts-DQE5fd19.js → _server.ts-BdEX6joM.js} +4 -4
  118. package/build/server/chunks/{_server.ts-DQE5fd19.js.map → _server.ts-BdEX6joM.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-DjlikYHH.js → _server.ts-Bde_Pi6A.js} +5 -5
  120. package/build/server/chunks/{_server.ts-DjlikYHH.js.map → _server.ts-Bde_Pi6A.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-DgIgXukK.js → _server.ts-Bh_r4-Vs.js} +5 -5
  122. package/build/server/chunks/{_server.ts-DgIgXukK.js.map → _server.ts-Bh_r4-Vs.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-DbMkM72G.js → _server.ts-Big7vXEo.js} +4 -4
  124. package/build/server/chunks/{_server.ts-DbMkM72G.js.map → _server.ts-Big7vXEo.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-D0FZ3wh5.js → _server.ts-Bl-41j0D.js} +4 -4
  126. package/build/server/chunks/{_server.ts-D0FZ3wh5.js.map → _server.ts-Bl-41j0D.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-8iOMau6K.js → _server.ts-BnWc1lOg.js} +4 -4
  128. package/build/server/chunks/{_server.ts-8iOMau6K.js.map → _server.ts-BnWc1lOg.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-BQZSWSLy.js → _server.ts-BoQ46bw9.js} +5 -5
  130. package/build/server/chunks/{_server.ts-BQZSWSLy.js.map → _server.ts-BoQ46bw9.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-BlMOxGWA.js → _server.ts-BwgtyrgF.js} +7 -7
  132. package/build/server/chunks/_server.ts-BwgtyrgF.js.map +1 -0
  133. package/build/server/chunks/{_server.ts-Mycnkmlz.js → _server.ts-By47s5kb.js} +5 -5
  134. package/build/server/chunks/{_server.ts-Mycnkmlz.js.map → _server.ts-By47s5kb.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-CsUi6NWt.js → _server.ts-C-9V_-cK.js} +4 -4
  136. package/build/server/chunks/{_server.ts-CsUi6NWt.js.map → _server.ts-C-9V_-cK.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-DuBJyo4e.js → _server.ts-C-xID91b.js} +4 -4
  138. package/build/server/chunks/{_server.ts-DuBJyo4e.js.map → _server.ts-C-xID91b.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-BkGQezlX.js → _server.ts-C1GoICVF.js} +6 -6
  140. package/build/server/chunks/{_server.ts-BkGQezlX.js.map → _server.ts-C1GoICVF.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-ypkZ9bJf.js → _server.ts-C25PdnDT.js} +2 -2
  142. package/build/server/chunks/{_server.ts-ypkZ9bJf.js.map → _server.ts-C25PdnDT.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-BD0Jit8e.js → _server.ts-CCwIt_KL.js} +4 -4
  144. package/build/server/chunks/{_server.ts-BD0Jit8e.js.map → _server.ts-CCwIt_KL.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-BVYIqRK2.js → _server.ts-CKNmPEUu.js} +4 -4
  146. package/build/server/chunks/{_server.ts-BVYIqRK2.js.map → _server.ts-CKNmPEUu.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-DXOh4EZe.js → _server.ts-COMRHDN4.js} +7 -6
  148. package/build/server/chunks/_server.ts-COMRHDN4.js.map +1 -0
  149. package/build/server/chunks/{_server.ts-CC-mpNNj.js → _server.ts-CU1go_Ga.js} +4 -4
  150. package/build/server/chunks/{_server.ts-CC-mpNNj.js.map → _server.ts-CU1go_Ga.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-CH8VLn03.js → _server.ts-CbZzxQR_.js} +4 -4
  152. package/build/server/chunks/{_server.ts-CH8VLn03.js.map → _server.ts-CbZzxQR_.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-vp9n_72N.js → _server.ts-Cm9oppJJ.js} +4 -4
  154. package/build/server/chunks/{_server.ts-vp9n_72N.js.map → _server.ts-Cm9oppJJ.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-BG3UvxEU.js → _server.ts-CmMcnrpu.js} +2 -2
  156. package/build/server/chunks/{_server.ts-BG3UvxEU.js.map → _server.ts-CmMcnrpu.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-N6WIc0vw.js → _server.ts-CqkM3R41.js} +4 -4
  158. package/build/server/chunks/{_server.ts-N6WIc0vw.js.map → _server.ts-CqkM3R41.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-C7D2sok_.js → _server.ts-Cszg5Fas.js} +4 -4
  160. package/build/server/chunks/{_server.ts-C7D2sok_.js.map → _server.ts-Cszg5Fas.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-BrExNZ-2.js → _server.ts-CxJxINit.js} +4 -4
  162. package/build/server/chunks/{_server.ts-BrExNZ-2.js.map → _server.ts-CxJxINit.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-C5wVttUW.js → _server.ts-D-9t8-nD.js} +3 -3
  164. package/build/server/chunks/{_server.ts-C5wVttUW.js.map → _server.ts-D-9t8-nD.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-DtC0SjIr.js → _server.ts-D1bJgR3K.js} +4 -4
  166. package/build/server/chunks/{_server.ts-DtC0SjIr.js.map → _server.ts-D1bJgR3K.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-CQPWD_WN.js → _server.ts-D2DzSUG5.js} +4 -4
  168. package/build/server/chunks/{_server.ts-CQPWD_WN.js.map → _server.ts-D2DzSUG5.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-D4zkfcxH.js → _server.ts-D2HqJdkr.js} +4 -4
  170. package/build/server/chunks/{_server.ts-D4zkfcxH.js.map → _server.ts-D2HqJdkr.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-BZ8wMJ7l.js → _server.ts-D2QOo_fa.js} +4 -4
  172. package/build/server/chunks/{_server.ts-BZ8wMJ7l.js.map → _server.ts-D2QOo_fa.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-BCcQdRne.js → _server.ts-D4Vu3KCM.js} +4 -4
  174. package/build/server/chunks/{_server.ts-BCcQdRne.js.map → _server.ts-D4Vu3KCM.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-l3A6IOvJ.js → _server.ts-D68iKpcP.js} +4 -4
  176. package/build/server/chunks/{_server.ts-l3A6IOvJ.js.map → _server.ts-D68iKpcP.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-B2RCiGeA.js → _server.ts-D7vymw_o.js} +4 -4
  178. package/build/server/chunks/{_server.ts-B2RCiGeA.js.map → _server.ts-D7vymw_o.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-DrM8VAOS.js → _server.ts-DL9CCFsk.js} +4 -4
  180. package/build/server/chunks/{_server.ts-DrM8VAOS.js.map → _server.ts-DL9CCFsk.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-CSs35mBJ.js → _server.ts-DSBUjxDK.js} +4 -4
  182. package/build/server/chunks/{_server.ts-CSs35mBJ.js.map → _server.ts-DSBUjxDK.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-BVCET3CA.js → _server.ts-DSlYMYYk.js} +4 -4
  184. package/build/server/chunks/{_server.ts-BVCET3CA.js.map → _server.ts-DSlYMYYk.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-_o3Yebl6.js → _server.ts-DTJuIcDg.js} +4 -4
  186. package/build/server/chunks/{_server.ts-_o3Yebl6.js.map → _server.ts-DTJuIcDg.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-DAb50kOu.js → _server.ts-DUmy4wsR.js} +5 -5
  188. package/build/server/chunks/{_server.ts-DAb50kOu.js.map → _server.ts-DUmy4wsR.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-Ban3zjRc.js → _server.ts-DfFo95a7.js} +4 -4
  190. package/build/server/chunks/{_server.ts-Ban3zjRc.js.map → _server.ts-DfFo95a7.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-BYTWLTxk.js → _server.ts-Dfx9HNlr.js} +6 -7
  192. package/build/server/chunks/_server.ts-Dfx9HNlr.js.map +1 -0
  193. package/build/server/chunks/{_server.ts-DcQTtmS3.js → _server.ts-DgQDDDEz.js} +4 -4
  194. package/build/server/chunks/{_server.ts-DcQTtmS3.js.map → _server.ts-DgQDDDEz.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-DjnK1iz8.js → _server.ts-DgZ2d-BT.js} +4 -4
  196. package/build/server/chunks/{_server.ts-DjnK1iz8.js.map → _server.ts-DgZ2d-BT.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-ccd1enMp.js → _server.ts-DijnYBzX.js} +4 -4
  198. package/build/server/chunks/{_server.ts-ccd1enMp.js.map → _server.ts-DijnYBzX.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-COORKWSc.js → _server.ts-DlzI77bJ.js} +4 -4
  200. package/build/server/chunks/{_server.ts-COORKWSc.js.map → _server.ts-DlzI77bJ.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-Me1rXUGo.js → _server.ts-DnBzi352.js} +4 -4
  202. package/build/server/chunks/{_server.ts-Me1rXUGo.js.map → _server.ts-DnBzi352.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CG1nihTT.js → _server.ts-Dnh6b7-J.js} +4 -4
  204. package/build/server/chunks/{_server.ts-CG1nihTT.js.map → _server.ts-Dnh6b7-J.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-BTGThm9P.js → _server.ts-Dvh0Hoso.js} +4 -4
  206. package/build/server/chunks/{_server.ts-BTGThm9P.js.map → _server.ts-Dvh0Hoso.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-XOLGzzNk.js → _server.ts-DwB3oRpy.js} +4 -4
  208. package/build/server/chunks/{_server.ts-XOLGzzNk.js.map → _server.ts-DwB3oRpy.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-pLeJl6U2.js → _server.ts-DxGR3bmq.js} +4 -4
  210. package/build/server/chunks/{_server.ts-pLeJl6U2.js.map → _server.ts-DxGR3bmq.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-EBySP1Ew.js → _server.ts-DzbC2VQR.js} +2 -2
  212. package/build/server/chunks/{_server.ts-EBySP1Ew.js.map → _server.ts-DzbC2VQR.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-D9HJ0cWI.js → _server.ts-GxTTkaRQ.js} +4 -4
  214. package/build/server/chunks/{_server.ts-D9HJ0cWI.js.map → _server.ts-GxTTkaRQ.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-Cw2YXWgK.js → _server.ts-K4R4Q6b_.js} +5 -5
  216. package/build/server/chunks/{_server.ts-Cw2YXWgK.js.map → _server.ts-K4R4Q6b_.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-DQcL5wr_.js → _server.ts-MNOR6YaX.js} +4 -4
  218. package/build/server/chunks/{_server.ts-DQcL5wr_.js.map → _server.ts-MNOR6YaX.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-__xVWUvt.js → _server.ts-MtHT_432.js} +4 -4
  220. package/build/server/chunks/{_server.ts-__xVWUvt.js.map → _server.ts-MtHT_432.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-C44tS0KC.js → _server.ts-Om-m3OOe.js} +4 -4
  222. package/build/server/chunks/{_server.ts-C44tS0KC.js.map → _server.ts-Om-m3OOe.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-iAOP7FW1.js → _server.ts-URUUrX13.js} +4 -12
  224. package/build/server/chunks/_server.ts-URUUrX13.js.map +1 -0
  225. package/build/server/chunks/{_server.ts-ZE9PYnxj.js → _server.ts-__ul4l8J.js} +4 -4
  226. package/build/server/chunks/_server.ts-__ul4l8J.js.map +1 -0
  227. package/build/server/chunks/{_server.ts-DLHN_6MC.js → _server.ts-oqC79KoF.js} +4 -4
  228. package/build/server/chunks/{_server.ts-DLHN_6MC.js.map → _server.ts-oqC79KoF.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-C1CpbG3_.js → _server.ts-w34_y9d_.js} +4 -4
  230. package/build/server/chunks/{_server.ts-C1CpbG3_.js.map → _server.ts-w34_y9d_.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-BaxB3oQq.js → _server.ts-yvQ-qjyI.js} +4 -4
  232. package/build/server/chunks/{_server.ts-BaxB3oQq.js.map → _server.ts-yvQ-qjyI.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-BAsbrtjL.js → _server.ts-zHkS9Tnj.js} +2 -2
  234. package/build/server/chunks/{_server.ts-BAsbrtjL.js.map → _server.ts-zHkS9Tnj.js.map} +1 -1
  235. package/build/server/chunks/{addon-helpers-B0E6L7iO.js → addon-helpers-CZyPj8WN.js} +3 -3
  236. package/build/server/chunks/{addon-helpers-B0E6L7iO.js.map → addon-helpers-CZyPj8WN.js.map} +1 -1
  237. package/build/server/chunks/{client-D0taHWmu.js → client-CiyZ88m2.js} +2 -2
  238. package/build/server/chunks/{client-D0taHWmu.js.map → client-CiyZ88m2.js.map} +1 -1
  239. package/build/server/chunks/{config-2pnPob92.js → config-BKCgm_AV.js} +2 -2
  240. package/build/server/chunks/{config-2pnPob92.js.map → config-BKCgm_AV.js.map} +1 -1
  241. package/build/server/chunks/{docker-D17EjIlp.js → docker-8AuF7CwZ.js} +2 -2
  242. package/build/server/chunks/{docker-D17EjIlp.js.map → docker-8AuF7CwZ.js.map} +1 -1
  243. package/build/server/chunks/{endpoints-DoIeO5WL.js → endpoints-DaDle7pk.js} +2 -2
  244. package/build/server/chunks/{endpoints-DoIeO5WL.js.map → endpoints-DaDle7pk.js.map} +1 -1
  245. package/build/server/chunks/{environment-B38QRFKh.js → environment-Cp1uhq6U.js} +2 -2
  246. package/build/server/chunks/{environment-B38QRFKh.js.map → environment-Cp1uhq6U.js.map} +1 -1
  247. package/build/server/chunks/{error.svelte-DB6X8EVo.js → error.svelte-m6KMTHAJ.js} +4 -4
  248. package/build/server/chunks/{error.svelte-DB6X8EVo.js.map → error.svelte-m6KMTHAJ.js.map} +1 -1
  249. package/build/server/chunks/{helpers-CeQwqpAT.js → helpers-BACi22nU.js} +34 -8
  250. package/build/server/chunks/helpers-BACi22nU.js.map +1 -0
  251. package/build/server/chunks/{hooks.server-2io-2N7D.js → hooks.server-BdyM6mgJ.js} +13 -4
  252. package/build/server/chunks/hooks.server-BdyM6mgJ.js.map +1 -0
  253. package/build/server/chunks/{http-CHmjTVGA.js → http-B8eIxVUs.js} +2 -2
  254. package/build/server/chunks/{http-CHmjTVGA.js.map → http-B8eIxVUs.js.map} +1 -1
  255. package/build/server/chunks/{internal-ClL4rso0.js → internal-BxEwVWRz.js} +3 -3
  256. package/build/server/chunks/{internal-ClL4rso0.js.map → internal-BxEwVWRz.js.map} +1 -1
  257. package/build/server/chunks/session-cookie-CFbH9CoY.js +74 -0
  258. package/build/server/chunks/session-cookie-CFbH9CoY.js.map +1 -0
  259. package/build/server/chunks/{setup-deploy-53S0fflh.js → setup-deploy-Ck_d_qcE.js} +2 -2
  260. package/build/server/chunks/{setup-deploy-53S0fflh.js.map → setup-deploy-Ck_d_qcE.js.map} +1 -1
  261. package/build/server/chunks/{src-D9YnoOnU.js → src-CQbie-rx.js} +252 -67
  262. package/build/server/chunks/src-CQbie-rx.js.map +1 -0
  263. package/build/server/chunks/{state-CO78UOQH.js → state-oN2SUx4y.js} +2 -2
  264. package/build/server/chunks/{state-CO78UOQH.js.map → state-oN2SUx4y.js.map} +1 -1
  265. package/build/server/index.js +2 -2
  266. package/build/server/manifest.js +86 -79
  267. package/build/server/manifest.js.map +1 -1
  268. package/package.json +2 -2
  269. package/build/client/_app/immutable/assets/0.DlIhzko8.css.br +0 -0
  270. package/build/client/_app/immutable/assets/0.DlIhzko8.css.gz +0 -0
  271. package/build/client/_app/immutable/assets/4.CLTnoKrH.css +0 -1
  272. package/build/client/_app/immutable/assets/4.CLTnoKrH.css.br +0 -0
  273. package/build/client/_app/immutable/assets/4.CLTnoKrH.css.gz +0 -0
  274. package/build/client/_app/immutable/assets/9.cpz_TytB.css +0 -1
  275. package/build/client/_app/immutable/assets/9.cpz_TytB.css.br +0 -0
  276. package/build/client/_app/immutable/assets/9.cpz_TytB.css.gz +0 -0
  277. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css +0 -1
  278. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.br +0 -0
  279. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.gz +0 -0
  280. package/build/client/_app/immutable/chunks/1sXFUT7r.js +0 -1
  281. package/build/client/_app/immutable/chunks/1sXFUT7r.js.br +0 -2
  282. package/build/client/_app/immutable/chunks/1sXFUT7r.js.gz +0 -0
  283. package/build/client/_app/immutable/chunks/BNcdU8Ou.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/BNcdU8Ou.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/BQrb5YOM.js +0 -1
  286. package/build/client/_app/immutable/chunks/BQrb5YOM.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/BQrb5YOM.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/HJd0QhDi.js.br +0 -0
  289. package/build/client/_app/immutable/chunks/HJd0QhDi.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/Mj3AXROx.js.br +0 -0
  291. package/build/client/_app/immutable/chunks/Mj3AXROx.js.gz +0 -0
  292. package/build/client/_app/immutable/entry/app.8wJBndTj.js.br +0 -0
  293. package/build/client/_app/immutable/entry/app.8wJBndTj.js.gz +0 -0
  294. package/build/client/_app/immutable/entry/start.B6QaWAof.js +0 -1
  295. package/build/client/_app/immutable/entry/start.B6QaWAof.js.br +0 -0
  296. package/build/client/_app/immutable/entry/start.B6QaWAof.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/1.BeVZsPun.js.br +0 -1
  298. package/build/client/_app/immutable/nodes/1.BeVZsPun.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/4.BAthCCnr.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/4.BAthCCnr.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/6._GM9bF5h.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/6._GM9bF5h.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/8.p0qRhws4.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/8.p0qRhws4.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/9.C1MP3zci.js +0 -2
  310. package/build/client/_app/immutable/nodes/9.C1MP3zci.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/9.C1MP3zci.js.gz +0 -0
  312. package/build/server/chunks/1-DTcDogB5.js +0 -9
  313. package/build/server/chunks/4-Dn-0_RAr.js +0 -9
  314. package/build/server/chunks/5-Cbcb8WMr.js +0 -9
  315. package/build/server/chunks/7-C0-ssq7j.js +0 -9
  316. package/build/server/chunks/9-B8DzptsC.js +0 -9
  317. package/build/server/chunks/_page.svelte-BgAgZqQA.js.map +0 -1
  318. package/build/server/chunks/_page.svelte-DLAHj-kk.js.map +0 -1
  319. package/build/server/chunks/_server.ts-BYTWLTxk.js.map +0 -1
  320. package/build/server/chunks/_server.ts-BlMOxGWA.js.map +0 -1
  321. package/build/server/chunks/_server.ts-C5uu6b2a.js.map +0 -1
  322. package/build/server/chunks/_server.ts-DXOh4EZe.js.map +0 -1
  323. package/build/server/chunks/_server.ts-ZE9PYnxj.js.map +0 -1
  324. package/build/server/chunks/_server.ts-iAOP7FW1.js.map +0 -1
  325. package/build/server/chunks/helpers-CeQwqpAT.js.map +0 -1
  326. package/build/server/chunks/hooks.server-2io-2N7D.js.map +0 -1
  327. package/build/server/chunks/src-D9YnoOnU.js.map +0 -1
  328. /package/build/client/_app/immutable/nodes/{0.rwRC6zAi.js → 0.0pi4RS6G.js} +0 -0
  329. /package/build/client/_app/immutable/nodes/{0.rwRC6zAi.js.br → 0.0pi4RS6G.js.br} +0 -0
  330. /package/build/client/_app/immutable/nodes/{0.rwRC6zAi.js.gz → 0.0pi4RS6G.js.gz} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar-F9NE4GcT.js","sources":["../../../.svelte-kit/adapter-node/chunks/Navbar.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, r as attr_style, u as stringify } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport { F as setActiveEndpoint, M as listSessions, P as sendChatMessage, a as speakText, c as stopSpeaking, j as getSessionMessages, l as voiceState, m as createSession, n as destroyVoice, t as themeService, x as fetchEndpoints } from \"./theme-state.svelte.js\";\nimport { t as goto } from \"./client.js\";\nimport { t as page } from \"./state.js\";\nimport \"./navigation.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/format-date.ts\nvar TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\nvar DATE_TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\tyear: \"numeric\",\n\tmonth: \"short\",\n\tday: \"numeric\",\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\n/** Time of day, e.g. \"3:42 PM\" (locale-aware). Empty string for a falsy input. */\nfunction formatTime(ts) {\n\tif (!ts) return \"\";\n\treturn TIME_FMT.format(ts);\n}\n/**\n* Absolute date + time, e.g. \"Jun 7, 2026, 3:42 PM\". Use for tooltips / full\n* context where a relative label alone is ambiguous. Empty for a falsy input.\n*/\nfunction formatDateTime(ts) {\n\tif (!ts) return \"\";\n\treturn DATE_TIME_FMT.format(ts);\n}\n/**\n* Compact relative time, e.g. \"just now\", \"5m ago\", \"yesterday\", \"3w ago\".\n* Empty string for a falsy input. No date-fns dependency — that would be ~30 KB\n* for these few cases.\n*/\nfunction formatRelativeTime(ts) {\n\tif (!ts) return \"\";\n\tconst diffSec = Math.max(0, (Date.now() - ts) / 1e3);\n\tif (diffSec < 60) return \"just now\";\n\tconst min = Math.floor(diffSec / 60);\n\tif (min < 60) return `${min}m ago`;\n\tconst hr = Math.floor(min / 60);\n\tif (hr < 24) return `${hr}h ago`;\n\tconst day = Math.floor(hr / 24);\n\tif (day === 1) return \"yesterday\";\n\tif (day < 7) return `${day}d ago`;\n\tconst wk = Math.floor(day / 7);\n\tif (wk < 5) return `${wk}w ago`;\n\tconst mo = Math.floor(day / 30);\n\tif (mo < 12) return `${mo}mo ago`;\n\treturn `${Math.floor(day / 365)}y ago`;\n}\n//#endregion\n//#region src/lib/components/common/IconButton.svelte\nfunction IconButton($$renderer, $$props) {\n\t/** Icon contents (an inline <svg> or spinner). */\n\t/** Optional visible label; when present the button grows from a square to a pill. */\n\t/** Render as an anchor instead of a button when a destination is given. */\n\t/** \"On\"/active look (used by ToggleButton and active states). */\n\t/** Colour of the selected state. */\n\t/** Mirrors the toggle state for assistive tech (set by ToggleButton). */\n\tlet { icon, label, title, ariaLabel, disabled = false, href, onclick, type = \"button\", selected = false, tone = \"primary\", ariaPressed } = $$props;\n\tif (href) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<a${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"href\", href)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-disabled\", disabled || void 0)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></a>`);\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<button${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"type\", type)}${attr(\"disabled\", disabled, true)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-pressed\", ariaPressed)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></button>`);\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\n//#endregion\n//#region src/lib/components/common/ToggleButton.svelte\nfunction ToggleButton($$renderer, $$props) {\n\t/** Icon shown when off (and when on, if no selectedIcon is given). */\n\t/** Optional distinct icon shown when on. */\n\t/** Colour of the on state. */\n\tlet { pressed, onToggle, icon, selectedIcon, label, title, ariaLabel, disabled = false, tone = \"primary\" } = $$props;\n\tIconButton($$renderer, {\n\t\ticon: pressed && selectedIcon ? selectedIcon : icon,\n\t\tlabel,\n\t\ttitle,\n\t\tariaLabel,\n\t\tdisabled,\n\t\ttone,\n\t\tselected: pressed,\n\t\tariaPressed: pressed,\n\t\tonclick: onToggle\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/ModeSwitch.svelte\nfunction advancedIcon($$renderer) {\n\t$$renderer.push(`<svg 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}\nfunction ModeSwitch($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdvanced = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tfunction toggle() {\n\t\t\tgoto(onAdvanced() ? \"/chat\" : \"/advanced\");\n\t\t}\n\t\tToggleButton($$renderer, {\n\t\t\tpressed: onAdvanced(),\n\t\t\tonToggle: toggle,\n\t\t\tariaLabel: \"Advanced mode\",\n\t\t\ttitle: \"Advanced mode (embedded OpenCode)\",\n\t\t\ticon: advancedIcon\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/common/Drawer.svelte\nfunction Drawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Optional content rendered at the start of the header (e.g. a back button). */\n\t\t/** Drawer width (CSS length). */\n\t\tlet { open, title, onClose, children, footer, headerStart, width = \"32rem\" } = $$props;\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"drawer-scrim svelte-1u2o1qj\"></div> <div class=\"drawer svelte-1u2o1qj\"${attr_style(`--drawer-width: ${stringify(width)}`)} role=\"dialog\" aria-modal=\"true\"${attr(\"aria-label\", title)} tabindex=\"-1\"><header class=\"drawer-header svelte-1u2o1qj\">`);\n\t\t\tif (headerStart) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\theaderStart($$renderer);\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <h3 class=\"drawer-title svelte-1u2o1qj\">${escape_html(title)}</h3> <button class=\"drawer-close svelte-1u2o1qj\" aria-label=\"Close\"><svg aria-hidden=\"true\" width=\"18\" height=\"18\" 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></header> <div class=\"drawer-body svelte-1u2o1qj\">`);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (footer) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<footer class=\"drawer-footer svelte-1u2o1qj\">`);\n\t\t\t\tfooter($$renderer);\n\t\t\t\t$$renderer.push(`<!----></footer>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/SettingsDrawer.svelte\nfunction gearIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"></path></svg>`);\n}\nfunction SettingsDrawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { showManageAssistant = true } = $$props;\n\t\tlet open = false;\n\t\tfunction setTheme(event) {\n\t\t\tconst next = event.currentTarget.value;\n\t\t\tif (next === \"light\" || next === \"dark\" || next === \"system\") themeService.setPreference(next);\n\t\t}\n\t\tIconButton($$renderer, {\n\t\t\ticon: gearIcon,\n\t\t\tariaLabel: \"Settings\",\n\t\t\ttitle: \"Settings\",\n\t\t\tselected: open,\n\t\t\tariaPressed: open,\n\t\t\tonclick: () => open = true\n\t\t});\n\t\t$$renderer.push(`<!----> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Settings\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"24rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<div class=\"settings-drawer svelte-4kbm5j\"><label class=\"field svelte-4kbm5j\" for=\"theme-preference\"><span class=\"field-label svelte-4kbm5j\">Theme</span> `);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tid: \"theme-preference\",\n\t\t\t\t\tclass: \"field-select\",\n\t\t\t\t\tvalue: themeService.preference,\n\t\t\t\t\tonchange: setTheme\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"system\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`System`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"light\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Light`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"dark\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Dark`);\n\t\t\t\t\t});\n\t\t\t\t}, \"svelte-4kbm5j\");\n\t\t\t\t$$renderer.push(`</label> <nav class=\"settings-links svelte-4kbm5j\" aria-label=\"Settings links\">`);\n\t\t\t\tif (showManageAssistant) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<a class=\"settings-link svelte-4kbm5j\" href=\"/admin\">Manage this assistant...</a>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <a class=\"settings-link svelte-4kbm5j\" href=\"/admin/endpoints\">Manage assistant connections...</a></nav></div>`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\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/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/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/components/chat/EndpointList.svelte\nfunction EndpointList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after the active endpoint changes (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst showManageAssistant = derived(() => isLocalAssistantUrl(active()?.url));\n\t\tlet switching = false;\n\t\t$$renderer.push(`<div class=\"endpoint-list svelte-dlw00e\">`);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"list-error svelte-dlw00e\" role=\"alert\">${escape_html(endpointsService.error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"group\" role=\"group\" aria-label=\"Assistant endpoints\"><!--[-->`);\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(\"list-item svelte-dlw00e\", void 0, { \"active\": ep.id === active()?.id })}${attr(\"aria-current\", ep.id === active()?.id ? \"true\" : void 0)}${attr(\"disabled\", switching, true)}><span class=\"item-text svelte-dlw00e\"><span class=\"item-label svelte-dlw00e\">${escape_html(ep.label)}`);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-dlw00e\">(current)</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-url svelte-dlw00e\">${escape_html(ep.url)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"divider svelte-dlw00e\"></div> `);\n\t\tif (showManageAssistant()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a class=\"list-item link svelte-dlw00e\" href=\"/admin\">Manage this assistant…</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <a class=\"list-item link svelte-dlw00e\" href=\"/admin/endpoints\">Manage assistant connections…</a></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/EndpointSwitcher.svelte\nfunction EndpointSwitcher($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\n\t\tconst active = derived(() => endpointsService.active);\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-48xr05\" aria-haspopup=\"dialog\"${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-48xr05\" 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-48xr05\" aria-hidden=\"true\"></span> <span class=\"label svelte-48xr05\">${escape_html(active()?.label ?? \"Endpoint…\")}</span> <span class=\"caret svelte-48xr05\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Assistant endpoint\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tEndpointList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\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 visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><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=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">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-1o6rxhb\">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-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\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(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(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-1o6rxhb\">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 class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionPicker.svelte\nfunction SessionPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\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 activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst liveConnected = derived(() => chat.liveConnected);\n\t\tconst activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);\n\t\tconst triggerLabel = derived(() => activeSummary() ? resolveSessionTitle(activeSummary().title) : \"New session\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-cihcnl\" aria-haspopup=\"dialog\"${attr(\"aria-expanded\", open)} aria-label=\"Sessions\"${attr(\"title\", triggerLabel())}><svg class=\"trigger-icon svelte-cihcnl\" 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-cihcnl\", void 0, { \"connected\": liveConnected() })} aria-hidden=\"true\"${attr(\"title\", liveConnected() ? \"Live updates connected\" : \"Live updates disconnected\")}></span> <span class=\"label svelte-cihcnl\">${escape_html(triggerLabel())}</span> <span class=\"caret svelte-cihcnl\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: `Sessions on ${stringify(active()?.label ?? \"this endpoint\")}`,\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tSessionList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/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\tlet removeGlobalMicToggle = null;\n\t\tonDestroy(() => {\n\t\t\twindow.openpalm?.setTrayMicRecording?.(false);\n\t\t\tremoveGlobalMicToggle?.();\n\t\t\tremoveGlobalMicToggle = null;\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\t$$renderer.push(`<div class=\"voice-control svelte-7elv0w\" role=\"toolbar\" aria-label=\"Voice controls\">`);\n\t\tif (isRecording() && voiceState.interimTranscript) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-interim svelte-7elv0w\" 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} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (voiceState.autoplayBlocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"voice-autoplay-banner svelte-7elv0w\" 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-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line></svg> <span class=\"svelte-7elv0w\">Audio paused — click to resume</span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (ttsAvailable()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\t\"voice-btn-on\": voiceState.ttsAutoEnabled,\n\t\t\t\t\"voice-btn-speaking\": isSpeaking()\n\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-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon>`);\n\t\t\tif (voiceState.ttsAutoEnabled) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim\": isSpeaking() })}></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim-2\": isSpeaking() })}></path>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></svg></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\"voice-btn-active\": isRecording(),\n\t\t\t\"voice-btn-processing\": isProcessing() || isTranscribing(),\n\t\t\t\"voice-btn-disabled\": !supported()\n\t\t})}${attr(\"disabled\", !supported() || isProcessing(), true)}${attr(\"aria-label\", !supported() ? \"Voice input unavailable\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Start recording\")}${attr(\"aria-pressed\", isRecording())}${attr(\"title\", !supported() ? \"Voice input is unavailable — no speech-to-text engine is configured for this browser\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Speak — message will be sent to the selected assistant\")}>`);\n\t\tif (!supported()) {\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\" class=\"svelte-7elv0w\"><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" class=\"svelte-7elv0w\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\" class=\"svelte-7elv0w\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t} else if (isTranscribing() || isProcessing()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-spinner svelte-7elv0w\" aria-hidden=\"true\"></span>`);\n\t\t} else if (isRecording()) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"svelte-7elv0w\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"1.5\" class=\"svelte-7elv0w\"></rect></svg> <span class=\"voice-pulse svelte-7elv0w\" aria-hidden=\"true\"></span>`);\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\" class=\"svelte-7elv0w\"><path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" class=\"svelte-7elv0w\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button> <span class=\"sr-only svelte-7elv0w\" 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});\n}\n//#endregion\n//#region src/lib/components/chrome/Navbar.svelte\nfunction chatIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" 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}\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdmin = derived(() => pathname() === \"/admin\" || pathname().startsWith(\"/admin/\"));\n\t\tconst onChatSurface = derived(() => pathname() === \"/chat\" || pathname().startsWith(\"/chat/\"));\n\t\tconst onAdvancedSurface = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tconst isLocalAssistant = derived(() => {\n\t\t\treturn isLocalAssistantUrl(endpointsService.active?.url);\n\t\t});\n\t\t$$renderer.push(`<header class=\"navbar svelte-66bgq1\"><div class=\"navbar-inner svelte-66bgq1\"><a class=\"navbar-brand svelte-66bgq1\" href=\"/chat\" aria-label=\"OpenPalm — go to chat\"><span class=\"brand-icon svelte-66bgq1\" aria-hidden=\"true\"><img src=\"/logo-128.png\" alt=\"\" class=\"svelte-66bgq1\"/></span> <span class=\"brand-text svelte-66bgq1\">OpenPalm</span></a> <div class=\"navbar-actions svelte-66bgq1\">`);\n\t\tif (onAdmin()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: \"/chat\",\n\t\t\t\tariaLabel: \"Back to chat\",\n\t\t\t\ttitle: \"Chat\",\n\t\t\t\ticon: chatIcon\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tSettingsDrawer($$renderer, { showManageAssistant: isLocalAssistant() });\n\t\t$$renderer.push(`<!----> `);\n\t\tif (onChatSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"chat-selectors svelte-66bgq1\">`);\n\t\t\tEndpointSwitcher($$renderer, {});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tSessionPicker($$renderer, {});\n\t\t\t$$renderer.push(`<!----></span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (onChatSurface() || onAdvancedSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tModeSwitch($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tVoiceControl($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div></header>`);\n\t});\n}\n//#endregion\nexport { chat as a, formatTime as c, endpointsService as i, SessionList as n, Drawer as o, EndpointList as r, IconButton as s, Navbar as t };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navbar-PVEly3CX.js","sources":["../../../.svelte-kit/adapter-node/chunks/Navbar.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, r as attr_style, u as stringify } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport { F as setActiveEndpoint, M as listSessions, P as sendChatMessage, a as speakText, c as stopSpeaking, j as getSessionMessages, l as voiceState, m as createSession, n as destroyVoice, t as themeService, x as fetchEndpoints } from \"./theme-state.svelte.js\";\nimport { t as goto } from \"./client.js\";\nimport { t as page } from \"./state.js\";\nimport \"./navigation.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/format-date.ts\nvar TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\nvar DATE_TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\tyear: \"numeric\",\n\tmonth: \"short\",\n\tday: \"numeric\",\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\n/** Time of day, e.g. \"3:42 PM\" (locale-aware). Empty string for a falsy input. */\nfunction formatTime(ts) {\n\tif (!ts) return \"\";\n\treturn TIME_FMT.format(ts);\n}\n/**\n* Absolute date + time, e.g. \"Jun 7, 2026, 3:42 PM\". Use for tooltips / full\n* context where a relative label alone is ambiguous. Empty for a falsy input.\n*/\nfunction formatDateTime(ts) {\n\tif (!ts) return \"\";\n\treturn DATE_TIME_FMT.format(ts);\n}\n/**\n* Compact relative time, e.g. \"just now\", \"5m ago\", \"yesterday\", \"3w ago\".\n* Empty string for a falsy input. No date-fns dependency — that would be ~30 KB\n* for these few cases.\n*/\nfunction formatRelativeTime(ts) {\n\tif (!ts) return \"\";\n\tconst diffSec = Math.max(0, (Date.now() - ts) / 1e3);\n\tif (diffSec < 60) return \"just now\";\n\tconst min = Math.floor(diffSec / 60);\n\tif (min < 60) return `${min}m ago`;\n\tconst hr = Math.floor(min / 60);\n\tif (hr < 24) return `${hr}h ago`;\n\tconst day = Math.floor(hr / 24);\n\tif (day === 1) return \"yesterday\";\n\tif (day < 7) return `${day}d ago`;\n\tconst wk = Math.floor(day / 7);\n\tif (wk < 5) return `${wk}w ago`;\n\tconst mo = Math.floor(day / 30);\n\tif (mo < 12) return `${mo}mo ago`;\n\treturn `${Math.floor(day / 365)}y ago`;\n}\n//#endregion\n//#region src/lib/components/common/IconButton.svelte\nfunction IconButton($$renderer, $$props) {\n\t/** Icon contents (an inline <svg> or spinner). */\n\t/** Optional visible label; when present the button grows from a square to a pill. */\n\t/** Render as an anchor instead of a button when a destination is given. */\n\t/** \"On\"/active look (used by ToggleButton and active states). */\n\t/** Colour of the selected state. */\n\t/** Mirrors the toggle state for assistive tech (set by ToggleButton). */\n\tlet { icon, label, title, ariaLabel, disabled = false, href, onclick, type = \"button\", selected = false, tone = \"primary\", ariaPressed } = $$props;\n\tif (href) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<a${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"href\", href)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-disabled\", disabled || void 0)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></a>`);\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<button${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"type\", type)}${attr(\"disabled\", disabled, true)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-pressed\", ariaPressed)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></button>`);\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\n//#endregion\n//#region src/lib/components/common/ToggleButton.svelte\nfunction ToggleButton($$renderer, $$props) {\n\t/** Icon shown when off (and when on, if no selectedIcon is given). */\n\t/** Optional distinct icon shown when on. */\n\t/** Colour of the on state. */\n\tlet { pressed, onToggle, icon, selectedIcon, label, title, ariaLabel, disabled = false, tone = \"primary\" } = $$props;\n\tIconButton($$renderer, {\n\t\ticon: pressed && selectedIcon ? selectedIcon : icon,\n\t\tlabel,\n\t\ttitle,\n\t\tariaLabel,\n\t\tdisabled,\n\t\ttone,\n\t\tselected: pressed,\n\t\tariaPressed: pressed,\n\t\tonclick: onToggle\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/ModeSwitch.svelte\nfunction advancedIcon($$renderer) {\n\t$$renderer.push(`<svg 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}\nfunction ModeSwitch($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdvanced = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tfunction toggle() {\n\t\t\tgoto(onAdvanced() ? \"/chat\" : \"/advanced\");\n\t\t}\n\t\tToggleButton($$renderer, {\n\t\t\tpressed: onAdvanced(),\n\t\t\tonToggle: toggle,\n\t\t\tariaLabel: \"Advanced mode\",\n\t\t\ttitle: \"Advanced mode (embedded OpenCode)\",\n\t\t\ticon: advancedIcon\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/common/Drawer.svelte\nfunction Drawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Optional content rendered at the start of the header (e.g. a back button). */\n\t\t/** Drawer width (CSS length). */\n\t\tlet { open, title, onClose, children, footer, headerStart, width = \"32rem\" } = $$props;\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"drawer-scrim svelte-1u2o1qj\"></div> <div class=\"drawer svelte-1u2o1qj\"${attr_style(`--drawer-width: ${stringify(width)}`)} role=\"dialog\" aria-modal=\"true\"${attr(\"aria-label\", title)} tabindex=\"-1\"><header class=\"drawer-header svelte-1u2o1qj\">`);\n\t\t\tif (headerStart) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\theaderStart($$renderer);\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <h3 class=\"drawer-title svelte-1u2o1qj\">${escape_html(title)}</h3> <button class=\"drawer-close svelte-1u2o1qj\" aria-label=\"Close\"><svg aria-hidden=\"true\" width=\"18\" height=\"18\" 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></header> <div class=\"drawer-body svelte-1u2o1qj\">`);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (footer) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<footer class=\"drawer-footer svelte-1u2o1qj\">`);\n\t\t\t\tfooter($$renderer);\n\t\t\t\t$$renderer.push(`<!----></footer>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/SettingsDrawer.svelte\nfunction gearIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"></path></svg>`);\n}\nfunction SettingsDrawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { showManageAssistant = true } = $$props;\n\t\tlet open = false;\n\t\tfunction setTheme(event) {\n\t\t\tconst next = event.currentTarget.value;\n\t\t\tif (next === \"light\" || next === \"dark\" || next === \"system\") themeService.setPreference(next);\n\t\t}\n\t\tIconButton($$renderer, {\n\t\t\ticon: gearIcon,\n\t\t\tariaLabel: \"Settings\",\n\t\t\ttitle: \"Settings\",\n\t\t\tselected: open,\n\t\t\tariaPressed: open,\n\t\t\tonclick: () => open = true\n\t\t});\n\t\t$$renderer.push(`<!----> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Settings\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"24rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<div class=\"settings-drawer svelte-4kbm5j\"><label class=\"field svelte-4kbm5j\" for=\"theme-preference\"><span class=\"field-label svelte-4kbm5j\">Theme</span> `);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tid: \"theme-preference\",\n\t\t\t\t\tclass: \"field-select\",\n\t\t\t\t\tvalue: themeService.preference,\n\t\t\t\t\tonchange: setTheme\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"system\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`System`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"light\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Light`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"dark\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Dark`);\n\t\t\t\t\t});\n\t\t\t\t}, \"svelte-4kbm5j\");\n\t\t\t\t$$renderer.push(`</label> <nav class=\"settings-links svelte-4kbm5j\" aria-label=\"Settings links\">`);\n\t\t\t\tif (showManageAssistant) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<a class=\"settings-link svelte-4kbm5j\" href=\"/admin\">Manage this assistant...</a>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <a class=\"settings-link svelte-4kbm5j\" href=\"/admin/endpoints\">Manage assistant connections...</a></nav></div>`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\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/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/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/components/chat/EndpointList.svelte\nfunction EndpointList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after the active endpoint changes (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst showManageAssistant = derived(() => isLocalAssistantUrl(active()?.url));\n\t\tlet switching = false;\n\t\t$$renderer.push(`<div class=\"endpoint-list svelte-dlw00e\">`);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"list-error svelte-dlw00e\" role=\"alert\">${escape_html(endpointsService.error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"group\" role=\"group\" aria-label=\"Assistant endpoints\"><!--[-->`);\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(\"list-item svelte-dlw00e\", void 0, { \"active\": ep.id === active()?.id })}${attr(\"aria-current\", ep.id === active()?.id ? \"true\" : void 0)}${attr(\"disabled\", switching, true)}><span class=\"item-text svelte-dlw00e\"><span class=\"item-label svelte-dlw00e\">${escape_html(ep.label)}`);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-dlw00e\">(current)</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-url svelte-dlw00e\">${escape_html(ep.url)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"divider svelte-dlw00e\"></div> `);\n\t\tif (showManageAssistant()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a class=\"list-item link svelte-dlw00e\" href=\"/admin\">Manage this assistant…</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <a class=\"list-item link svelte-dlw00e\" href=\"/admin/endpoints\">Manage assistant connections…</a></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/EndpointSwitcher.svelte\nfunction EndpointSwitcher($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\n\t\tconst active = derived(() => endpointsService.active);\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-48xr05\" aria-haspopup=\"dialog\"${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-48xr05\" 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-48xr05\" aria-hidden=\"true\"></span> <span class=\"label svelte-48xr05\">${escape_html(active()?.label ?? \"Endpoint…\")}</span> <span class=\"caret svelte-48xr05\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Assistant endpoint\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tEndpointList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\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 visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><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=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">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-1o6rxhb\">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-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\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(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(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-1o6rxhb\">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 class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionPicker.svelte\nfunction SessionPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\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 activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst liveConnected = derived(() => chat.liveConnected);\n\t\tconst activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);\n\t\tconst triggerLabel = derived(() => activeSummary() ? resolveSessionTitle(activeSummary().title) : \"New session\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-cihcnl\" aria-haspopup=\"dialog\"${attr(\"aria-expanded\", open)} aria-label=\"Sessions\"${attr(\"title\", triggerLabel())}><svg class=\"trigger-icon svelte-cihcnl\" 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-cihcnl\", void 0, { \"connected\": liveConnected() })} aria-hidden=\"true\"${attr(\"title\", liveConnected() ? \"Live updates connected\" : \"Live updates disconnected\")}></span> <span class=\"label svelte-cihcnl\">${escape_html(triggerLabel())}</span> <span class=\"caret svelte-cihcnl\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: `Sessions on ${stringify(active()?.label ?? \"this endpoint\")}`,\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tSessionList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/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\tlet removeGlobalMicToggle = null;\n\t\tonDestroy(() => {\n\t\t\twindow.openpalm?.setTrayMicRecording?.(false);\n\t\t\tremoveGlobalMicToggle?.();\n\t\t\tremoveGlobalMicToggle = null;\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\t$$renderer.push(`<div class=\"voice-control svelte-7elv0w\" role=\"toolbar\" aria-label=\"Voice controls\">`);\n\t\tif (isRecording() && voiceState.interimTranscript) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-interim svelte-7elv0w\" 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} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (voiceState.autoplayBlocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"voice-autoplay-banner svelte-7elv0w\" 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-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line></svg> <span class=\"svelte-7elv0w\">Audio paused — click to resume</span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (ttsAvailable()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\t\"voice-btn-on\": voiceState.ttsAutoEnabled,\n\t\t\t\t\"voice-btn-speaking\": isSpeaking()\n\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-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon>`);\n\t\t\tif (voiceState.ttsAutoEnabled) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim\": isSpeaking() })}></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim-2\": isSpeaking() })}></path>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></svg></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\"voice-btn-active\": isRecording(),\n\t\t\t\"voice-btn-processing\": isProcessing() || isTranscribing(),\n\t\t\t\"voice-btn-disabled\": !supported()\n\t\t})}${attr(\"disabled\", !supported() || isProcessing(), true)}${attr(\"aria-label\", !supported() ? \"Voice input unavailable\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Start recording\")}${attr(\"aria-pressed\", isRecording())}${attr(\"title\", !supported() ? \"Voice input is unavailable — no speech-to-text engine is configured for this browser\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Speak — message will be sent to the selected assistant\")}>`);\n\t\tif (!supported()) {\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\" class=\"svelte-7elv0w\"><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" class=\"svelte-7elv0w\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\" class=\"svelte-7elv0w\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t} else if (isTranscribing() || isProcessing()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-spinner svelte-7elv0w\" aria-hidden=\"true\"></span>`);\n\t\t} else if (isRecording()) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"svelte-7elv0w\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"1.5\" class=\"svelte-7elv0w\"></rect></svg> <span class=\"voice-pulse svelte-7elv0w\" aria-hidden=\"true\"></span>`);\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\" class=\"svelte-7elv0w\"><path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" class=\"svelte-7elv0w\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button> <span class=\"sr-only svelte-7elv0w\" 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});\n}\n//#endregion\n//#region src/lib/components/chrome/Navbar.svelte\nfunction chatIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" 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}\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdmin = derived(() => pathname() === \"/admin\" || pathname().startsWith(\"/admin/\"));\n\t\tconst onChatSurface = derived(() => pathname() === \"/chat\" || pathname().startsWith(\"/chat/\"));\n\t\tconst onAdvancedSurface = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tconst isLocalAssistant = derived(() => {\n\t\t\treturn isLocalAssistantUrl(endpointsService.active?.url);\n\t\t});\n\t\t$$renderer.push(`<header class=\"navbar svelte-66bgq1\"><div class=\"navbar-inner svelte-66bgq1\"><a class=\"navbar-brand svelte-66bgq1\" href=\"/chat\" aria-label=\"OpenPalm — go to chat\"><span class=\"brand-icon svelte-66bgq1\" aria-hidden=\"true\"><img src=\"/logo-128.png\" alt=\"\" class=\"svelte-66bgq1\"/></span> <span class=\"brand-text svelte-66bgq1\">OpenPalm</span></a> <div class=\"navbar-actions svelte-66bgq1\">`);\n\t\tif (onAdmin()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: \"/chat\",\n\t\t\t\tariaLabel: \"Back to chat\",\n\t\t\t\ttitle: \"Chat\",\n\t\t\t\ticon: chatIcon\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tSettingsDrawer($$renderer, { showManageAssistant: isLocalAssistant() });\n\t\t$$renderer.push(`<!----> `);\n\t\tif (onChatSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"chat-selectors svelte-66bgq1\">`);\n\t\t\tEndpointSwitcher($$renderer, {});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tSessionPicker($$renderer, {});\n\t\t\t$$renderer.push(`<!----></span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (onChatSurface() || onAdvancedSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tModeSwitch($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tVoiceControl($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div></header>`);\n\t});\n}\n//#endregion\nexport { chat as a, formatTime as c, endpointsService as i, SessionList as n, Drawer as o, EndpointList as r, IconButton as s, Navbar as t };\n"],"names":[],"mappings":"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"}