@openpalm/ui 0.11.0-rc.3 → 0.11.0-rc.4

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 (264) hide show
  1. package/README.md +50 -19
  2. package/build/.openpalm-ui-version +1 -1
  3. package/build/client/_app/immutable/assets/{7.BHUsSUvX.css → 7.BimnqtTb.css} +1 -1
  4. package/build/client/_app/immutable/assets/7.BimnqtTb.css.br +0 -0
  5. package/build/client/_app/immutable/assets/7.BimnqtTb.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/{AuthGate.DKS99Rrq.css → AuthGate._EJNXKUm.css} +1 -1
  7. package/build/client/_app/immutable/assets/AuthGate._EJNXKUm.css.br +0 -0
  8. package/build/client/_app/immutable/assets/AuthGate._EJNXKUm.css.gz +0 -0
  9. package/build/client/_app/immutable/chunks/CmvkId2p.js +1 -0
  10. package/build/client/_app/immutable/chunks/CmvkId2p.js.br +0 -0
  11. package/build/client/_app/immutable/chunks/CmvkId2p.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/DKrt-Ofe.js +5 -0
  13. package/build/client/_app/immutable/chunks/DKrt-Ofe.js.br +0 -0
  14. package/build/client/_app/immutable/chunks/DKrt-Ofe.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/{DtBQ-3uX.js → DTwNbG18.js} +1 -1
  16. package/build/client/_app/immutable/chunks/DTwNbG18.js.br +2 -0
  17. package/build/client/_app/immutable/chunks/DTwNbG18.js.gz +0 -0
  18. package/build/client/_app/immutable/entry/{app.D0MBBfeD.js → app.D2QrHH7_.js} +2 -2
  19. package/build/client/_app/immutable/entry/app.D2QrHH7_.js.br +0 -0
  20. package/build/client/_app/immutable/entry/app.D2QrHH7_.js.gz +0 -0
  21. package/build/client/_app/immutable/entry/start.BM5p1xOI.js +1 -0
  22. package/build/client/_app/immutable/entry/start.BM5p1xOI.js.br +0 -0
  23. package/build/client/_app/immutable/entry/start.BM5p1xOI.js.gz +0 -0
  24. package/build/client/_app/immutable/nodes/{1.BL-nh2RB.js → 1.vc1gswpN.js} +1 -1
  25. package/build/client/_app/immutable/nodes/1.vc1gswpN.js.br +0 -0
  26. package/build/client/_app/immutable/nodes/1.vc1gswpN.js.gz +0 -0
  27. package/build/client/_app/immutable/nodes/{4.DVARHw9M.js → 4.DD0APCkW.js} +1 -1
  28. package/build/client/_app/immutable/nodes/4.DD0APCkW.js.br +0 -0
  29. package/build/client/_app/immutable/nodes/4.DD0APCkW.js.gz +0 -0
  30. package/build/client/_app/immutable/nodes/{5.BqSl_ppl.js → 5.BIkQUR1G.js} +1 -1
  31. package/build/client/_app/immutable/nodes/5.BIkQUR1G.js.br +0 -0
  32. package/build/client/_app/immutable/nodes/5.BIkQUR1G.js.gz +0 -0
  33. package/build/client/_app/immutable/nodes/{6.75q8hd55.js → 6.DVDakR8k.js} +1 -1
  34. package/build/client/_app/immutable/nodes/6.DVDakR8k.js.br +0 -0
  35. package/build/client/_app/immutable/nodes/6.DVDakR8k.js.gz +0 -0
  36. package/build/client/_app/immutable/nodes/{7.CJwMJZue.js → 7.wMxDFXAt.js} +1 -1
  37. package/build/client/_app/immutable/nodes/7.wMxDFXAt.js.br +0 -0
  38. package/build/client/_app/immutable/nodes/7.wMxDFXAt.js.gz +0 -0
  39. package/build/client/_app/version.json +1 -1
  40. package/build/client/_app/version.json.br +1 -1
  41. package/build/client/_app/version.json.gz +0 -0
  42. package/build/server/chunks/1-BwC-cEPZ.js +9 -0
  43. package/build/server/chunks/{1-CMQKOdKD.js.map → 1-BwC-cEPZ.js.map} +1 -1
  44. package/build/server/chunks/4-BHTk326s.js +9 -0
  45. package/build/server/chunks/{4-DLPu7Zn2.js.map → 4-BHTk326s.js.map} +1 -1
  46. package/build/server/chunks/5-BZDwO3BH.js +9 -0
  47. package/build/server/chunks/{5-D2qJw2oW.js.map → 5-BZDwO3BH.js.map} +1 -1
  48. package/build/server/chunks/6-DtvUY6SF.js +9 -0
  49. package/build/server/chunks/{6-Dtj1x2xS.js.map → 6-DtvUY6SF.js.map} +1 -1
  50. package/build/server/chunks/7-C9TeiPbc.js +9 -0
  51. package/build/server/chunks/{7-DmB_gD85.js.map → 7-C9TeiPbc.js.map} +1 -1
  52. package/build/server/chunks/{AuthGate-DCzipUOa.js → AuthGate-CdtQ21Tn.js} +14 -6
  53. package/build/server/chunks/AuthGate-CdtQ21Tn.js.map +1 -0
  54. package/build/server/chunks/{_page.svelte-D6iSQwSa.js → _page.svelte-2puUmKay.js} +4 -5
  55. package/build/server/chunks/{_page.svelte-D6iSQwSa.js.map → _page.svelte-2puUmKay.js.map} +1 -1
  56. package/build/server/chunks/{_page.svelte-B9uFpwlC.js → _page.svelte-Cb3M2n38.js} +4 -5
  57. package/build/server/chunks/{_page.svelte-B9uFpwlC.js.map → _page.svelte-Cb3M2n38.js.map} +1 -1
  58. package/build/server/chunks/{_page.svelte-CXnzFLVM.js → _page.svelte-DYWY35Zz.js} +4 -5
  59. package/build/server/chunks/{_page.svelte-CXnzFLVM.js.map → _page.svelte-DYWY35Zz.js.map} +1 -1
  60. package/build/server/chunks/{_page.svelte-CLlVK06N.js → _page.svelte-DkYHUL4U.js} +4 -5
  61. package/build/server/chunks/{_page.svelte-CLlVK06N.js.map → _page.svelte-DkYHUL4U.js.map} +1 -1
  62. package/build/server/chunks/{_server.ts-BgsLpMRV.js → _server.ts-31Ih8YM7.js} +6 -6
  63. package/build/server/chunks/{_server.ts-BgsLpMRV.js.map → _server.ts-31Ih8YM7.js.map} +1 -1
  64. package/build/server/chunks/{_server.ts-BKUT0g1w.js → _server.ts-7SYeoL8H.js} +4 -4
  65. package/build/server/chunks/{_server.ts-BKUT0g1w.js.map → _server.ts-7SYeoL8H.js.map} +1 -1
  66. package/build/server/chunks/{_server.ts-DfGAcelA.js → _server.ts-7YQtir-c.js} +6 -6
  67. package/build/server/chunks/{_server.ts-DfGAcelA.js.map → _server.ts-7YQtir-c.js.map} +1 -1
  68. package/build/server/chunks/{_server.ts-EQcQPIxU.js → _server.ts-B4-U2IgV.js} +4 -4
  69. package/build/server/chunks/{_server.ts-EQcQPIxU.js.map → _server.ts-B4-U2IgV.js.map} +1 -1
  70. package/build/server/chunks/{_server.ts-kjqHYD8N.js → _server.ts-B5ewU2jA.js} +4 -4
  71. package/build/server/chunks/{_server.ts-kjqHYD8N.js.map → _server.ts-B5ewU2jA.js.map} +1 -1
  72. package/build/server/chunks/{_server.ts-DhZYsdNy.js → _server.ts-B7hqA-QH.js} +4 -4
  73. package/build/server/chunks/{_server.ts-DhZYsdNy.js.map → _server.ts-B7hqA-QH.js.map} +1 -1
  74. package/build/server/chunks/{_server.ts-DDw-3STN.js → _server.ts-BHy1FIWT.js} +4 -4
  75. package/build/server/chunks/{_server.ts-DDw-3STN.js.map → _server.ts-BHy1FIWT.js.map} +1 -1
  76. package/build/server/chunks/{_server.ts-CT_87l-n.js → _server.ts-BIRnkRp-.js} +4 -4
  77. package/build/server/chunks/{_server.ts-CT_87l-n.js.map → _server.ts-BIRnkRp-.js.map} +1 -1
  78. package/build/server/chunks/{_server.ts-DXkkp8dY.js → _server.ts-BN0-6jX7.js} +4 -4
  79. package/build/server/chunks/{_server.ts-DXkkp8dY.js.map → _server.ts-BN0-6jX7.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-DXZGlkbn.js → _server.ts-BNHq_0XB.js} +5 -5
  81. package/build/server/chunks/{_server.ts-DXZGlkbn.js.map → _server.ts-BNHq_0XB.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-9rxck4Bq.js → _server.ts-BOcqQDtZ.js} +4 -4
  83. package/build/server/chunks/{_server.ts-9rxck4Bq.js.map → _server.ts-BOcqQDtZ.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-CZNebjxj.js → _server.ts-BPbPm6_H.js} +4 -4
  85. package/build/server/chunks/{_server.ts-CZNebjxj.js.map → _server.ts-BPbPm6_H.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-CUYnnr4e.js → _server.ts-BUzhYY5b.js} +4 -4
  87. package/build/server/chunks/{_server.ts-CUYnnr4e.js.map → _server.ts-BUzhYY5b.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DQFt8uqd.js → _server.ts-BajIVU3T.js} +4 -4
  89. package/build/server/chunks/{_server.ts-DQFt8uqd.js.map → _server.ts-BajIVU3T.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-CXxVw4DS.js → _server.ts-BdqgSniA.js} +4 -4
  91. package/build/server/chunks/{_server.ts-CXxVw4DS.js.map → _server.ts-BdqgSniA.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-BgvH4tTI.js → _server.ts-BheY_Hpx.js} +4 -4
  93. package/build/server/chunks/{_server.ts-BgvH4tTI.js.map → _server.ts-BheY_Hpx.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-DHvirvMi.js → _server.ts-BnsyzAfd.js} +4 -4
  95. package/build/server/chunks/{_server.ts-DHvirvMi.js.map → _server.ts-BnsyzAfd.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-DlAVNe3N.js → _server.ts-Br304l_4.js} +3 -3
  97. package/build/server/chunks/{_server.ts-DlAVNe3N.js.map → _server.ts-Br304l_4.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-BQuqaIiA.js → _server.ts-Broe0WRV.js} +4 -4
  99. package/build/server/chunks/{_server.ts-BQuqaIiA.js.map → _server.ts-Broe0WRV.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-BR50MxK6.js → _server.ts-BwNngfUJ.js} +4 -4
  101. package/build/server/chunks/{_server.ts-BR50MxK6.js.map → _server.ts-BwNngfUJ.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-C5dSIi-F.js → _server.ts-Bz5eysrP.js} +5 -5
  103. package/build/server/chunks/{_server.ts-C5dSIi-F.js.map → _server.ts-Bz5eysrP.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-CqaBfyP8.js → _server.ts-C4qYb4T-.js} +2 -2
  105. package/build/server/chunks/{_server.ts-CqaBfyP8.js.map → _server.ts-C4qYb4T-.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-B0Fde1SO.js → _server.ts-C6WJsZ0G.js} +6 -6
  107. package/build/server/chunks/{_server.ts-B0Fde1SO.js.map → _server.ts-C6WJsZ0G.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-BX6vXBw6.js → _server.ts-CBKtVzEl.js} +4 -4
  109. package/build/server/chunks/{_server.ts-BX6vXBw6.js.map → _server.ts-CBKtVzEl.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-CMXy3OdG.js → _server.ts-CCMxf_7S.js} +4 -4
  111. package/build/server/chunks/{_server.ts-CMXy3OdG.js.map → _server.ts-CCMxf_7S.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-BGOf6ZAe.js → _server.ts-CD9ePvQZ.js} +4 -4
  113. package/build/server/chunks/{_server.ts-BGOf6ZAe.js.map → _server.ts-CD9ePvQZ.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-ByWgyQWs.js → _server.ts-CED6YvVP.js} +4 -4
  115. package/build/server/chunks/{_server.ts-ByWgyQWs.js.map → _server.ts-CED6YvVP.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-PxpDZztC.js → _server.ts-CHxBpqNs.js} +4 -4
  117. package/build/server/chunks/{_server.ts-PxpDZztC.js.map → _server.ts-CHxBpqNs.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-CUJncs7u.js → _server.ts-CJa40B0Z.js} +4 -4
  119. package/build/server/chunks/{_server.ts-CUJncs7u.js.map → _server.ts-CJa40B0Z.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-aEcRsOln.js → _server.ts-CLzZwKQq.js} +6 -6
  121. package/build/server/chunks/{_server.ts-aEcRsOln.js.map → _server.ts-CLzZwKQq.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-DRITlKJZ.js → _server.ts-CZVFChDK.js} +5 -5
  123. package/build/server/chunks/{_server.ts-DRITlKJZ.js.map → _server.ts-CZVFChDK.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-CjD_N1lk.js → _server.ts-CaHJSZZ1.js} +4 -4
  125. package/build/server/chunks/{_server.ts-CjD_N1lk.js.map → _server.ts-CaHJSZZ1.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-3Q27Je1p.js → _server.ts-Cc4BIEOJ.js} +4 -4
  127. package/build/server/chunks/{_server.ts-3Q27Je1p.js.map → _server.ts-Cc4BIEOJ.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-BMxPCfPF.js → _server.ts-Cct9ZWnS.js} +4 -4
  129. package/build/server/chunks/{_server.ts-BMxPCfPF.js.map → _server.ts-Cct9ZWnS.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-BGo79CrH.js → _server.ts-CmcnDpcq.js} +4 -4
  131. package/build/server/chunks/{_server.ts-BGo79CrH.js.map → _server.ts-CmcnDpcq.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-DUIcweGe.js → _server.ts-CoCYLLcy.js} +4 -4
  133. package/build/server/chunks/{_server.ts-DUIcweGe.js.map → _server.ts-CoCYLLcy.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-D79sBzeS.js → _server.ts-CsB6omUv.js} +4 -4
  135. package/build/server/chunks/{_server.ts-D79sBzeS.js.map → _server.ts-CsB6omUv.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-CQL1JlrR.js → _server.ts-CuVTkFXh.js} +4 -4
  137. package/build/server/chunks/{_server.ts-CQL1JlrR.js.map → _server.ts-CuVTkFXh.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-Cx5w0uV8.js → _server.ts-CzmHtvBP.js} +4 -4
  139. package/build/server/chunks/{_server.ts-Cx5w0uV8.js.map → _server.ts-CzmHtvBP.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-BbgQGbyq.js → _server.ts-D2MVikBE.js} +4 -4
  141. package/build/server/chunks/{_server.ts-BbgQGbyq.js.map → _server.ts-D2MVikBE.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-8W7d7SoL.js → _server.ts-D2a0wAaS.js} +4 -4
  143. package/build/server/chunks/{_server.ts-8W7d7SoL.js.map → _server.ts-D2a0wAaS.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-BOZd9IEG.js → _server.ts-D2eLvAHH.js} +4 -4
  145. package/build/server/chunks/{_server.ts-BOZd9IEG.js.map → _server.ts-D2eLvAHH.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-B1F39kvX.js → _server.ts-DAti5TMB.js} +4 -4
  147. package/build/server/chunks/{_server.ts-B1F39kvX.js.map → _server.ts-DAti5TMB.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-B3IxKvYj.js → _server.ts-DDJ_6hbd.js} +4 -4
  149. package/build/server/chunks/{_server.ts-B3IxKvYj.js.map → _server.ts-DDJ_6hbd.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-RXSRu6ve.js → _server.ts-DG6Qxh-v.js} +4 -4
  151. package/build/server/chunks/{_server.ts-RXSRu6ve.js.map → _server.ts-DG6Qxh-v.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-lKesIiS8.js → _server.ts-DGvfj1AD.js} +4 -4
  153. package/build/server/chunks/{_server.ts-lKesIiS8.js.map → _server.ts-DGvfj1AD.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-C-Elv1Q4.js → _server.ts-DGwGBkiZ.js} +2 -2
  155. package/build/server/chunks/{_server.ts-C-Elv1Q4.js.map → _server.ts-DGwGBkiZ.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-BZ-j5EzC.js → _server.ts-DIt7oZ78.js} +4 -4
  157. package/build/server/chunks/{_server.ts-BZ-j5EzC.js.map → _server.ts-DIt7oZ78.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-E0fukP1O.js → _server.ts-DStLQ6G7.js} +4 -4
  159. package/build/server/chunks/{_server.ts-E0fukP1O.js.map → _server.ts-DStLQ6G7.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-Z9Mn2O3V.js → _server.ts-DUC-QWMj.js} +4 -4
  161. package/build/server/chunks/{_server.ts-Z9Mn2O3V.js.map → _server.ts-DUC-QWMj.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-g6AfW6Yv.js → _server.ts-DVdN-5bk.js} +4 -4
  163. package/build/server/chunks/{_server.ts-g6AfW6Yv.js.map → _server.ts-DVdN-5bk.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-BmanVk6i.js → _server.ts-DW3vY8LS.js} +2 -2
  165. package/build/server/chunks/{_server.ts-BmanVk6i.js.map → _server.ts-DW3vY8LS.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts--lBTTJTc.js → _server.ts-DXLqkvU1.js} +5 -5
  167. package/build/server/chunks/{_server.ts--lBTTJTc.js.map → _server.ts-DXLqkvU1.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-BHY6pU_t.js → _server.ts-DbBkQ5gv.js} +4 -4
  169. package/build/server/chunks/{_server.ts-BHY6pU_t.js.map → _server.ts-DbBkQ5gv.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-I35XVwCd.js → _server.ts-DgTJfsxX.js} +5 -5
  171. package/build/server/chunks/{_server.ts-I35XVwCd.js.map → _server.ts-DgTJfsxX.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-BG1Q5Cg7.js → _server.ts-DglztWzk.js} +4 -4
  173. package/build/server/chunks/{_server.ts-BG1Q5Cg7.js.map → _server.ts-DglztWzk.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BDRe9Abk.js → _server.ts-Dwklttlo.js} +2 -2
  175. package/build/server/chunks/{_server.ts-BDRe9Abk.js.map → _server.ts-Dwklttlo.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BY8Bwuii.js → _server.ts-FzTKvasI.js} +5 -5
  177. package/build/server/chunks/{_server.ts-BY8Bwuii.js.map → _server.ts-FzTKvasI.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-C2ePDxiK.js → _server.ts-R7dMpaPA.js} +2 -2
  179. package/build/server/chunks/{_server.ts-C2ePDxiK.js.map → _server.ts-R7dMpaPA.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-DG8rrhwk.js → _server.ts-UM7mXEsQ.js} +5 -5
  181. package/build/server/chunks/{_server.ts-DG8rrhwk.js.map → _server.ts-UM7mXEsQ.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-4KkJ4SW0.js → _server.ts-Ur_t9bMU.js} +4 -4
  183. package/build/server/chunks/{_server.ts-4KkJ4SW0.js.map → _server.ts-Ur_t9bMU.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-CZtZD9XA.js → _server.ts-VHHuwb3V.js} +4 -4
  185. package/build/server/chunks/{_server.ts-CZtZD9XA.js.map → _server.ts-VHHuwb3V.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-BaVWFrdS.js → _server.ts-XmCgdAim.js} +4 -4
  187. package/build/server/chunks/{_server.ts-BaVWFrdS.js.map → _server.ts-XmCgdAim.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-BOZ6j_Dh.js → _server.ts-ZcRUavo2.js} +4 -4
  189. package/build/server/chunks/{_server.ts-BOZ6j_Dh.js.map → _server.ts-ZcRUavo2.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-DVcfUcfK.js → _server.ts-djChqJ3l.js} +4 -4
  191. package/build/server/chunks/{_server.ts-DVcfUcfK.js.map → _server.ts-djChqJ3l.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-BQIKbZE5.js → _server.ts-lmcyfcf5.js} +4 -4
  193. package/build/server/chunks/{_server.ts-BQIKbZE5.js.map → _server.ts-lmcyfcf5.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-D0VWz3Eu.js → _server.ts-ncFk6KuU.js} +4 -4
  195. package/build/server/chunks/{_server.ts-D0VWz3Eu.js.map → _server.ts-ncFk6KuU.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-DtxwCTTn.js → _server.ts-sAx1xFio.js} +4 -4
  197. package/build/server/chunks/{_server.ts-DtxwCTTn.js.map → _server.ts-sAx1xFio.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-GPzYT0sb.js → _server.ts-zY_DK-6S.js} +4 -4
  199. package/build/server/chunks/{_server.ts-GPzYT0sb.js.map → _server.ts-zY_DK-6S.js.map} +1 -1
  200. package/build/server/chunks/{addon-helpers-8efgpHMX.js → addon-helpers-DM77guzq.js} +2 -2
  201. package/build/server/chunks/{addon-helpers-8efgpHMX.js.map → addon-helpers-DM77guzq.js.map} +1 -1
  202. package/build/server/chunks/{config-1dyh_9h4.js → config-BE8RNUzZ.js} +2 -2
  203. package/build/server/chunks/{config-1dyh_9h4.js.map → config-BE8RNUzZ.js.map} +1 -1
  204. package/build/server/chunks/{docker-DggffvOl.js → docker-BFje1OYT.js} +2 -2
  205. package/build/server/chunks/{docker-DggffvOl.js.map → docker-BFje1OYT.js.map} +1 -1
  206. package/build/server/chunks/{endpoints-kaPFORka.js → endpoints-Dz6qhKXB.js} +2 -2
  207. package/build/server/chunks/{endpoints-kaPFORka.js.map → endpoints-Dz6qhKXB.js.map} +1 -1
  208. package/build/server/chunks/{error.svelte-BhAtOJnJ.js → error.svelte-8jbbCpmR.js} +3 -3
  209. package/build/server/chunks/{error.svelte-BhAtOJnJ.js.map → error.svelte-8jbbCpmR.js.map} +1 -1
  210. package/build/server/chunks/{helpers-B8h4zchW.js → helpers-C1fMEpiP.js} +3 -3
  211. package/build/server/chunks/{helpers-B8h4zchW.js.map → helpers-C1fMEpiP.js.map} +1 -1
  212. package/build/server/chunks/{hooks.server-DERyGNuF.js → hooks.server-C6uX-Qkd.js} +4 -4
  213. package/build/server/chunks/{hooks.server-DERyGNuF.js.map → hooks.server-C6uX-Qkd.js.map} +1 -1
  214. package/build/server/chunks/{http-8UL6GfDM.js → http-CmL_uneS.js} +2 -2
  215. package/build/server/chunks/{http-8UL6GfDM.js.map → http-CmL_uneS.js.map} +1 -1
  216. package/build/server/chunks/{internal-CGO6-n-l.js → internal-BJjTqjxK.js} +3 -3
  217. package/build/server/chunks/{internal-CGO6-n-l.js.map → internal-BJjTqjxK.js.map} +1 -1
  218. package/build/server/chunks/{setup-deploy-M7it9qqu.js → setup-deploy-tjcmiBUv.js} +2 -2
  219. package/build/server/chunks/{setup-deploy-M7it9qqu.js.map → setup-deploy-tjcmiBUv.js.map} +1 -1
  220. package/build/server/chunks/{src-BsgfqG_-.js → src-BWQ05CjI.js} +4 -3
  221. package/build/server/chunks/src-BWQ05CjI.js.map +1 -0
  222. package/build/server/chunks/{state-CxWVaiQ-.js → state-CKV51p4g.js} +2 -2
  223. package/build/server/chunks/{state-CxWVaiQ-.js.map → state-CKV51p4g.js.map} +1 -1
  224. package/build/server/index.js +32 -2
  225. package/build/server/index.js.map +1 -1
  226. package/build/server/manifest.js +75 -75
  227. package/build/server/manifest.js.map +1 -1
  228. package/package.json +7 -2
  229. package/build/client/_app/immutable/assets/7.BHUsSUvX.css.br +0 -0
  230. package/build/client/_app/immutable/assets/7.BHUsSUvX.css.gz +0 -0
  231. package/build/client/_app/immutable/assets/AuthGate.DKS99Rrq.css.br +0 -0
  232. package/build/client/_app/immutable/assets/AuthGate.DKS99Rrq.css.gz +0 -0
  233. package/build/client/_app/immutable/chunks/BH5NAaCV.js +0 -1
  234. package/build/client/_app/immutable/chunks/BH5NAaCV.js.br +0 -0
  235. package/build/client/_app/immutable/chunks/BH5NAaCV.js.gz +0 -0
  236. package/build/client/_app/immutable/chunks/CF3TKiGr.js +0 -5
  237. package/build/client/_app/immutable/chunks/CF3TKiGr.js.br +0 -0
  238. package/build/client/_app/immutable/chunks/CF3TKiGr.js.gz +0 -0
  239. package/build/client/_app/immutable/chunks/DtBQ-3uX.js.br +0 -0
  240. package/build/client/_app/immutable/chunks/DtBQ-3uX.js.gz +0 -0
  241. package/build/client/_app/immutable/entry/app.D0MBBfeD.js.br +0 -0
  242. package/build/client/_app/immutable/entry/app.D0MBBfeD.js.gz +0 -0
  243. package/build/client/_app/immutable/entry/start.CG9MKItr.js +0 -1
  244. package/build/client/_app/immutable/entry/start.CG9MKItr.js.br +0 -0
  245. package/build/client/_app/immutable/entry/start.CG9MKItr.js.gz +0 -0
  246. package/build/client/_app/immutable/nodes/1.BL-nh2RB.js.br +0 -0
  247. package/build/client/_app/immutable/nodes/1.BL-nh2RB.js.gz +0 -0
  248. package/build/client/_app/immutable/nodes/4.DVARHw9M.js.br +0 -0
  249. package/build/client/_app/immutable/nodes/4.DVARHw9M.js.gz +0 -0
  250. package/build/client/_app/immutable/nodes/5.BqSl_ppl.js.br +0 -0
  251. package/build/client/_app/immutable/nodes/5.BqSl_ppl.js.gz +0 -0
  252. package/build/client/_app/immutable/nodes/6.75q8hd55.js.br +0 -0
  253. package/build/client/_app/immutable/nodes/6.75q8hd55.js.gz +0 -0
  254. package/build/client/_app/immutable/nodes/7.CJwMJZue.js.br +0 -0
  255. package/build/client/_app/immutable/nodes/7.CJwMJZue.js.gz +0 -0
  256. package/build/server/chunks/1-CMQKOdKD.js +0 -9
  257. package/build/server/chunks/4-DLPu7Zn2.js +0 -9
  258. package/build/server/chunks/5-D2qJw2oW.js +0 -9
  259. package/build/server/chunks/6-Dtj1x2xS.js +0 -9
  260. package/build/server/chunks/7-DmB_gD85.js +0 -9
  261. package/build/server/chunks/AuthGate-DCzipUOa.js.map +0 -1
  262. package/build/server/chunks/environment-9I43EDnv.js +0 -36
  263. package/build/server/chunks/environment-9I43EDnv.js.map +0 -1
  264. package/build/server/chunks/src-BsgfqG_-.js.map +0 -1
package/README.md CHANGED
@@ -1,33 +1,45 @@
1
- # packages/ui
1
+ # @openpalm/ui
2
2
 
3
- Optional SvelteKit UI and API for OpenPalm.
4
- OpenPalm remains compose-first and manual-first; the admin addon is a convenience layer for inspecting state and performing stack actions through Docker Socket Proxy.
3
+ `@openpalm/ui` is the published OpenPalm web UI package.
5
4
 
6
- ## Responsibilities
5
+ It provides the browser UI and authenticated admin API used to manage an OpenPalm installation: chat access, stack status, connections, addons, automations, and operator workflows.
7
6
 
8
- - Web UI for stack status, addons, connections, and automations
9
- - Authenticated `/admin/*` API used by the UI and assistant tools
10
- - Thin control-plane consumer built on `@openpalm/lib`
11
- - Reads the shipped addon catalog from `registry/addons/` and enabled runtime overlays from `stack/addons/`
12
- - Exposes addon schema details and points operators to `knowledge/env/user.env` for values
7
+ This package is part of the OpenPalm monorepo, but it is versioned and published as its own npm package.
13
8
 
14
- ## Notes on internals
9
+ ## What It Is
15
10
 
16
- - Some module names still use historical terms like `staging`
17
- - The current runtime model is direct write + Docker Compose over `~/.openpalm/`
18
- - `registry/` is the shipped catalog source; `stack/addons/` are active runtime addon overlays; `knowledge/tasks/` holds active AKM task files
19
- - Compose overlays under `stack/addons/` are deployment truth; admin does not replace that model
11
+ - A SvelteKit app for the OpenPalm operator experience
12
+ - The authenticated `/admin/*` API used by the UI and related tools
13
+ - A thin control-plane consumer built on `@openpalm/lib`
14
+ - The web UI that can be bundled into Electron or run as a host-served Node app
15
+
16
+ ## What It Is Not
17
+
18
+ - It is not a standalone replacement for the rest of OpenPalm
19
+ - It is not the source of truth for stack orchestration logic
20
+ - It does not replace the compose-first, file-based operating model
20
21
 
21
- ## Structure
22
+ OpenPalm remains manual-first and compose-first. This package adds a user-facing management surface on top of that model.
23
+
24
+ ## Features
25
+
26
+ - Operator chat UI and embedded Advanced OpenCode view
27
+ - Admin pages for status, versions, providers, endpoints, logs, addons, and automations
28
+ - Authenticated admin API routes for the browser UI
29
+ - Shared theme/token system used by the OpenPalm web experience
30
+
31
+ ## Package Layout
22
32
 
23
33
  ```text
24
34
  src/
25
- ├── lib/server/ # server-side wrappers around @openpalm/lib + admin helpers
26
- ├── lib/components/ # Svelte UI components
27
- └── routes/admin/ # admin API endpoints
35
+ ├── app.css # global tokens and shared UI styles
36
+ ├── lib/components/ # Svelte UI components
37
+ ├── lib/server/ # server-side wrappers around @openpalm/lib + admin helpers
38
+ ├── routes/admin/ # admin API endpoints and admin-facing pages
39
+ └── routes/ # user-facing app routes
28
40
  ```
29
41
 
30
- ## Development
42
+ ## Running It In This Repo
31
43
 
32
44
  The recommended local-dev loop uses Vite HMR pointed at an isolated
33
45
  `.dev/` `OP_HOME` so your real install at `~/.openpalm/` is never touched.
@@ -106,6 +118,25 @@ bun run ui:test:unit # vitest
106
118
  bun run ui:build # production SvelteKit build
107
119
  ```
108
120
 
121
+ ## Building And Publishing
122
+
123
+ This package is published from the monorepo as `@openpalm/ui`.
124
+
125
+ The production build is the SvelteKit `adapter-node` output in `build/`:
126
+
127
+ ```bash
128
+ bun run ui:build
129
+ ```
130
+
131
+ The build step also stamps the UI version into `.openpalm-ui-version` so OpenPalm can tell which UI build is newer when multiple UI channels exist.
132
+
133
+ ## Runtime Notes
134
+
135
+ - The current runtime model is direct write + Docker Compose over `~/.openpalm/`
136
+ - Some module names still use historical terms like `staging`
137
+ - `registry/` is the shipped catalog source; `stack/addons/` are active runtime addon overlays; `knowledge/tasks/` holds active AKM task files
138
+ - Compose overlays under `stack/addons/` are deployment truth; the admin UI does not replace that model
139
+
109
140
  ## API auth
110
141
 
111
142
  Protected endpoints require an `op_session` cookie. The browser obtains the
@@ -1 +1 @@
1
- 0.11.0-rc.3
1
+ 0.11.0-rc.4
@@ -1 +1 @@
1
- .thread-divider.svelte-1ebqwt{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.06em;display:flex}.divider-line.svelte-1ebqwt{background:var(--color-border);flex:1;height:1px}.divider-label.svelte-1ebqwt{padding:0 var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);flex-shrink:0}.message.svelte-1ebqwt{flex-direction:column;max-width:80%;display:flex}.message-user.svelte-1ebqwt{align-self:flex-end;align-items:flex-end}.message-assistant.svelte-1ebqwt{align-self:flex-start;align-items:flex-start}.message-bubble.svelte-1ebqwt{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);line-height:var(--leading-normal)}.message-user.svelte-1ebqwt .message-bubble:where(.svelte-1ebqwt){background:var(--color-primary);color:#000;border-bottom-right-radius:var(--radius-sm)}.message-assistant.svelte-1ebqwt .message-bubble:where(.svelte-1ebqwt){background:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.message-text.svelte-1ebqwt{font-size:var(--text-base);word-break:break-word}.message-user.svelte-1ebqwt .message-text:where(.svelte-1ebqwt):not(.markdown-body){white-space:pre-wrap}.markdown-body.svelte-1ebqwt p{margin:0 0 var(--space-2) 0}.markdown-body.svelte-1ebqwt p:last-child{margin-bottom:0}.markdown-body.svelte-1ebqwt ul,.markdown-body.svelte-1ebqwt ol{margin:0 0 var(--space-2) 0;padding-left:var(--space-5)}.markdown-body.svelte-1ebqwt li{margin:var(--space-1) 0}.markdown-body.svelte-1ebqwt li>p{margin:0}.markdown-body.svelte-1ebqwt code{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:1px 6px;font-size:.9em}.markdown-body.svelte-1ebqwt pre{margin:var(--space-2) 0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9em;overflow-x:auto}.markdown-body.svelte-1ebqwt pre code{background:0 0;border:0;padding:0}.markdown-body.svelte-1ebqwt a{color:var(--color-primary);text-decoration:underline}.markdown-body.svelte-1ebqwt a:hover{text-decoration:none}.markdown-body.svelte-1ebqwt blockquote{margin:var(--space-2) 0;padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-text-secondary)}.markdown-body.svelte-1ebqwt h1,.markdown-body.svelte-1ebqwt h2,.markdown-body.svelte-1ebqwt h3,.markdown-body.svelte-1ebqwt h4{margin:var(--space-3) 0 var(--space-2);font-weight:var(--font-bold);line-height:var(--leading-tight,1.25)}.markdown-body.svelte-1ebqwt h1{font-size:1.4em}.markdown-body.svelte-1ebqwt h2{font-size:1.25em}.markdown-body.svelte-1ebqwt h3{font-size:1.1em}.markdown-body.svelte-1ebqwt h4{font-size:1em}.markdown-body.svelte-1ebqwt hr{margin:var(--space-3) 0;border:0;border-top:1px solid var(--color-border)}.markdown-body.svelte-1ebqwt table{border-collapse:collapse;margin:var(--space-2) 0;font-size:.9em}.markdown-body.svelte-1ebqwt th,.markdown-body.svelte-1ebqwt td{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);text-align:left}.message-meta.svelte-1ebqwt{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary)}.chat-input-row.svelte-5wsbgm{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg);justify-items:center;width:-webkit-fill-available;width:-moz-available;width:stretch}.input-area.svelte-5wsbgm{align-items:flex-end;gap:var(--space-2);width:-webkit-fill-available;width:-moz-available;width:stretch;max-width:var(--max-width);display:flex}textarea.svelte-5wsbgm{min-height:40px;max-height:160px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;transition:border-color var(--transition-fast);flex:1;overflow-y:auto}textarea.svelte-5wsbgm:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}textarea.svelte-5wsbgm:disabled{opacity:.65;cursor:not-allowed}.send-btn.svelte-5wsbgm{background:var(--color-primary);border-radius:var(--radius-md);color:#000;cursor:pointer;width:40px;height:40px;transition:background var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.send-btn.svelte-5wsbgm:hover:not(:disabled){background:var(--color-primary-hover)}.send-btn.svelte-5wsbgm:disabled{opacity:.45;cursor:not-allowed}.spinner.svelte-5wsbgm{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite svelte-5wsbgm-spin;display:inline-block}@keyframes svelte-5wsbgm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-5wsbgm{animation:none}}.chat-layout.svelte-23dtxz{height:calc(100dvh - var(--nav-height));flex-direction:column;margin:0;display:flex}.messages-area.svelte-23dtxz{gap:var(--space-3);padding:var(--space-4) var(--space-6);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.empty-state.svelte-23dtxz{text-align:center;color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-8);margin:auto}.session-loading.svelte-23dtxz{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-4);margin:auto;display:flex}.spinner.svelte-23dtxz{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite svelte-23dtxz-spin;display:inline-block}@keyframes svelte-23dtxz-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-23dtxz{animation:none}}.chat-error-banner.svelte-23dtxz{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-danger-bg);font-size:var(--text-sm);color:var(--color-danger);border-top:1px solid #fa525240;display:flex}.chat-error-banner.svelte-23dtxz span:where(.svelte-23dtxz):first-child{flex:1}.reconnect-btn.svelte-23dtxz{font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--color-danger);border-radius:var(--radius-full);color:var(--color-danger);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;padding:3px 10px}.reconnect-btn.svelte-23dtxz:hover{background:var(--color-danger);color:#fff}.dismiss-btn.svelte-23dtxz{width:24px;height:24px;color:var(--color-danger);cursor:pointer;font-size:var(--text-lg);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.dismiss-btn.svelte-23dtxz:hover{background:#fa525226}@media (width<=768px){.messages-area.svelte-23dtxz{padding:var(--space-3) var(--space-4)}}
1
+ .thread-divider.svelte-1ebqwt{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.06em;display:flex}.divider-line.svelte-1ebqwt{background:var(--color-border);flex:1;height:1px}.divider-label.svelte-1ebqwt{padding:0 var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);flex-shrink:0}.message.svelte-1ebqwt{flex-direction:column;max-width:80%;display:flex}.message-user.svelte-1ebqwt{align-self:flex-end;align-items:flex-end}.message-assistant.svelte-1ebqwt{align-self:flex-start;align-items:flex-start}.message-bubble.svelte-1ebqwt{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);line-height:var(--leading-normal)}.message-user.svelte-1ebqwt .message-bubble:where(.svelte-1ebqwt){background:var(--color-primary);color:#000;border-bottom-right-radius:var(--radius-sm)}.message-assistant.svelte-1ebqwt .message-bubble:where(.svelte-1ebqwt){background:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.message-text.svelte-1ebqwt{font-size:var(--text-base);word-break:break-word}.message-user.svelte-1ebqwt .message-text:where(.svelte-1ebqwt):not(.markdown-body){white-space:pre-wrap}.markdown-body.svelte-1ebqwt p{margin:0 0 var(--space-2) 0}.markdown-body.svelte-1ebqwt p:last-child{margin-bottom:0}.markdown-body.svelte-1ebqwt ul,.markdown-body.svelte-1ebqwt ol{margin:0 0 var(--space-2) 0;padding-left:var(--space-5)}.markdown-body.svelte-1ebqwt li{margin:var(--space-1) 0}.markdown-body.svelte-1ebqwt li>p{margin:0}.markdown-body.svelte-1ebqwt code{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:1px 6px;font-size:.9em}.markdown-body.svelte-1ebqwt pre{margin:var(--space-2) 0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9em;overflow-x:auto}.markdown-body.svelte-1ebqwt pre code{background:0 0;border:0;padding:0}.markdown-body.svelte-1ebqwt a{color:var(--color-primary);text-decoration:underline}.markdown-body.svelte-1ebqwt a:hover{text-decoration:none}.markdown-body.svelte-1ebqwt blockquote{margin:var(--space-2) 0;padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-text-secondary)}.markdown-body.svelte-1ebqwt h1,.markdown-body.svelte-1ebqwt h2,.markdown-body.svelte-1ebqwt h3,.markdown-body.svelte-1ebqwt h4{margin:var(--space-3) 0 var(--space-2);font-weight:var(--font-bold);line-height:var(--leading-tight,1.25)}.markdown-body.svelte-1ebqwt h1{font-size:1.4em}.markdown-body.svelte-1ebqwt h2{font-size:1.25em}.markdown-body.svelte-1ebqwt h3{font-size:1.1em}.markdown-body.svelte-1ebqwt h4{font-size:1em}.markdown-body.svelte-1ebqwt hr{margin:var(--space-3) 0;border:0;border-top:1px solid var(--color-border)}.markdown-body.svelte-1ebqwt table{border-collapse:collapse;margin:var(--space-2) 0;font-size:.9em}.markdown-body.svelte-1ebqwt th,.markdown-body.svelte-1ebqwt td{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);text-align:left}.message-meta.svelte-1ebqwt{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary)}.chat-input-row.svelte-5wsbgm{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg);justify-items:center;width:-webkit-fill-available;width:-moz-available;width:stretch}.input-area.svelte-5wsbgm{align-items:flex-end;gap:var(--space-2);width:-webkit-fill-available;width:-moz-available;width:stretch;max-width:var(--max-width);display:flex}textarea.svelte-5wsbgm{min-height:40px;max-height:160px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;transition:border-color var(--transition-fast);flex:1;overflow-y:auto}textarea.svelte-5wsbgm:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}textarea.svelte-5wsbgm:disabled{opacity:.65;cursor:not-allowed}.send-btn.svelte-5wsbgm{background:var(--color-primary);border-radius:var(--radius-md);color:#000;cursor:pointer;width:40px;height:40px;transition:background var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.send-btn.svelte-5wsbgm:hover:not(:disabled){background:var(--color-primary-hover)}.send-btn.svelte-5wsbgm:disabled{opacity:.45;cursor:not-allowed}.spinner.svelte-5wsbgm{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite svelte-5wsbgm-spin;display:inline-block}@keyframes svelte-5wsbgm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-5wsbgm{animation:none}}.chat-layout.svelte-23dtxz{height:calc(100dvh - var(--nav-height));flex-direction:column;margin:0;display:flex}.messages-area.svelte-23dtxz{gap:var(--space-3);padding:var(--space-4) var(--space-6);scroll-behavior:smooth;flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.messages-area.svelte-23dtxz>*{width:min(80ch,90svw)}.empty-state.svelte-23dtxz{text-align:center;color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-8);margin:auto}.session-loading.svelte-23dtxz{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-4);margin:auto;display:flex}.spinner.svelte-23dtxz{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite svelte-23dtxz-spin;display:inline-block}@keyframes svelte-23dtxz-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-23dtxz{animation:none}}.chat-error-banner.svelte-23dtxz{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-danger-bg);font-size:var(--text-sm);color:var(--color-danger);border-top:1px solid #fa525240;display:flex}.chat-error-banner.svelte-23dtxz span:where(.svelte-23dtxz):first-child{flex:1}.reconnect-btn.svelte-23dtxz{font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--color-danger);border-radius:var(--radius-full);color:var(--color-danger);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;padding:3px 10px}.reconnect-btn.svelte-23dtxz:hover{background:var(--color-danger);color:#fff}.dismiss-btn.svelte-23dtxz{width:24px;height:24px;color:var(--color-danger);cursor:pointer;font-size:var(--text-lg);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.dismiss-btn.svelte-23dtxz:hover{background:#fa525226}@media (width<=768px){.messages-area.svelte-23dtxz{padding:var(--space-3) var(--space-4)}}
@@ -1 +1 @@
1
- .voice-control.svelte-1a5q9sh{align-items:center;gap:var(--space-2);display:flex}.voice-interim.svelte-1a5q9sh{max-width:200px;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:2px var(--space-2);background:var(--color-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:1;min-width:0;overflow:hidden}.voice-autoplay-banner.svelte-1a5q9sh{align-items:center;gap:var(--space-2);padding:4px var(--space-3);background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-md);height:32px;color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:filter var(--transition-fast);display:inline-flex}.voice-autoplay-banner.svelte-1a5q9sh:hover{filter:brightness(1.05)}.voice-autoplay-banner.svelte-1a5q9sh:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.voice-btn.svelte-1a5q9sh{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.voice-btn.svelte-1a5q9sh:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-hover)}.voice-btn.svelte-1a5q9sh:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.voice-btn-active.svelte-1a5q9sh{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.voice-btn-active.svelte-1a5q9sh:hover{color:var(--color-danger);border-color:var(--color-danger)}.voice-btn-on.svelte-1a5q9sh{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.voice-btn-on.svelte-1a5q9sh:hover{color:var(--color-primary);border-color:var(--color-primary)}.voice-btn-speaking.svelte-1a5q9sh{background:var(--color-primary-subtle);box-shadow:0 0 0 2px var(--color-primary-subtle)}.voice-btn-processing.svelte-1a5q9sh{color:var(--color-text-tertiary);cursor:not-allowed}.voice-pulse.svelte-1a5q9sh{border:2px solid var(--color-danger);border-radius:var(--radius-md);opacity:0;pointer-events:none;animation:1.5s ease-out infinite svelte-1a5q9sh-voice-pulse-anim;position:absolute;inset:-3px}.voice-spinner.svelte-1a5q9sh{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite svelte-1a5q9sh-voice-spinner-anim;display:inline-block}@keyframes svelte-1a5q9sh-voice-spinner-anim{to{transform:rotate(360deg)}}.wave-anim.svelte-1a5q9sh{transform-origin:11px 12px;animation:1.2s ease-in-out infinite svelte-1a5q9sh-wave-pulse-anim}.wave-anim-2.svelte-1a5q9sh{transform-origin:11px 12px;animation:1.2s ease-in-out .3s infinite svelte-1a5q9sh-wave-pulse-anim}@keyframes svelte-1a5q9sh-wave-pulse-anim{0%,to{opacity:.4}50%{opacity:1}}@keyframes svelte-1a5q9sh-voice-pulse-anim{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.voice-pulse.svelte-1a5q9sh,.voice-spinner.svelte-1a5q9sh,.wave-anim.svelte-1a5q9sh,.wave-anim-2.svelte-1a5q9sh{animation:none}.voice-pulse.svelte-1a5q9sh{opacity:.4}}.sr-only.svelte-1a5q9sh{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.switcher.svelte-1gh51ee{position:relative}.trigger.svelte-1gh51ee{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);height:32px;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;max-width:240px;display:inline-flex;overflow:hidden}.trigger.svelte-1gh51ee:hover:not(:disabled){background:var(--color-surface-hover)}.trigger.svelte-1gh51ee:disabled{opacity:.6;cursor:progress}.trigger-icon.svelte-1gh51ee{color:var(--color-text-secondary);flex-shrink:0;display:none}.dot.svelte-1gh51ee{background:var(--color-success,#16a34a);border-radius:50%;flex-shrink:0;width:8px;height:8px}.label.svelte-1gh51ee{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.caret.svelte-1gh51ee{opacity:.6;font-size:10px}@media (width<=600px){.trigger.svelte-1gh51ee{justify-content:center;gap:0;width:32px;max-width:32px;padding:0}.trigger-icon.svelte-1gh51ee{display:inline-block}.dot.svelte-1gh51ee,.label.svelte-1gh51ee,.caret.svelte-1gh51ee{display:none}}.menu.svelte-1gh51ee{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);min-width:min(280px,100vw - 24px);max-width:min(360px,100vw - 24px);box-shadow:var(--shadow-lg);padding:var(--space-2);position:absolute;top:calc(100% + 6px);right:0}@media (width<=600px){.menu.svelte-1gh51ee{top:calc(var(--nav-height) + 6px);right:var(--space-3);position:fixed}}.menu-header.svelte-1gh51ee{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.menu-item.svelte-1gh51ee{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,6px);cursor:pointer;text-align:left;font:inherit;color:var(--color-text);background:0 0;border:0;display:flex}.menu-item.svelte-1gh51ee:hover:not(:disabled),.menu-item.svelte-1gh51ee:focus-visible{background:var(--color-bg-tertiary)}.menu-item.svelte-1gh51ee:disabled{opacity:.6;cursor:progress}.menu-item.active.svelte-1gh51ee{background:var(--color-bg-tertiary)}.check.svelte-1gh51ee{width:14px;color:var(--color-primary);flex-shrink:0}.menu-item-text.svelte-1gh51ee{flex-direction:column;display:flex;overflow:hidden}.menu-item-label.svelte-1gh51ee{font-weight:500;font-size:var(--text-sm)}.menu-item-url.svelte-1gh51ee{font-size:var(--text-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-divider.svelte-1gh51ee{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.menu-item.link.svelte-1gh51ee{color:var(--color-primary);text-decoration:none}.picker.svelte-1owsj0q{position:relative}.trigger.svelte-1owsj0q{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);height:32px;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;max-width:240px;display:inline-flex;overflow:hidden}.trigger.svelte-1owsj0q:hover{background:var(--color-surface-hover)}.trigger-icon.svelte-1owsj0q{color:var(--color-text-secondary);flex-shrink:0}.dot.svelte-1owsj0q{background:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .12s}.dot.connected.svelte-1owsj0q{background:var(--color-success,#16a34a)}.label.svelte-1owsj0q{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.caret.svelte-1owsj0q{opacity:.6;font-size:10px}@media (width<=600px){.trigger.svelte-1owsj0q{justify-content:center;gap:0;width:32px;max-width:32px;padding:0}.label.svelte-1owsj0q,.caret.svelte-1owsj0q,.dot.svelte-1owsj0q{display:none}}.menu.svelte-1owsj0q{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);min-width:min(300px,100vw - 24px);max-width:min(380px,100vw - 24px);box-shadow:var(--shadow-lg);padding:var(--space-2);position:absolute;top:calc(100% + 6px);right:0}@media (width<=600px){.menu.svelte-1owsj0q{top:calc(var(--nav-height) + 6px);right:var(--space-3);position:fixed}}.menu-header.svelte-1owsj0q{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.menu-item.svelte-1owsj0q{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,6px);cursor:pointer;text-align:left;font:inherit;color:var(--color-text);background:0 0;border:0;display:flex}.menu-item.svelte-1owsj0q:hover:not(:disabled),.menu-item.svelte-1owsj0q:focus-visible{background:var(--color-bg-tertiary)}.menu-item.svelte-1owsj0q:disabled{opacity:.6;cursor:not-allowed}.menu-item.active.svelte-1owsj0q{background:var(--color-bg-tertiary)}.new-btn.svelte-1owsj0q{color:var(--color-primary);font-weight:500}.check.svelte-1owsj0q{text-align:center;width:14px;color:var(--color-primary);flex-shrink:0}.menu-item-text.svelte-1owsj0q{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.menu-item-label.svelte-1owsj0q{font-weight:500;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-item-meta.svelte-1owsj0q{font-size:var(--text-xs);color:var(--color-text-secondary)}.menu-divider.svelte-1owsj0q{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.session-list.svelte-1owsj0q{max-height:60vh;overflow-y:auto}.empty.svelte-1owsj0q,.error.svelte-1owsj0q{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.error.svelte-1owsj0q{color:var(--color-danger)}.error.svelte-1owsj0q span:where(.svelte-1owsj0q):first-child{flex:1}.retry-btn.svelte-1owsj0q{font-size:var(--text-xs);border:1px solid var(--color-danger);border-radius:var(--radius-full);color:var(--color-danger);cursor:pointer;background:0 0;padding:2px 8px}.retry-btn.svelte-1owsj0q:hover{background:var(--color-danger);color:var(--color-text-inverse)}.notice.svelte-1owsj0q{margin:0 var(--space-2) var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-sm,6px)}.show-all.svelte-1owsj0q{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-primary);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:0}.show-all.svelte-1owsj0q:hover{background:var(--color-bg-tertiary)}.spinner.svelte-1owsj0q{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite svelte-1owsj0q-spin;display:inline-block}@keyframes svelte-1owsj0q-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-1owsj0q{animation:none}}.theme-toggle.svelte-1cmi4dh{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle.svelte-1cmi4dh:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-hover)}.theme-toggle.svelte-1cmi4dh:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.theme-toggle[aria-pressed=true].svelte-1cmi4dh{color:var(--color-primary);background:var(--color-bg-tertiary);border-color:var(--color-border)}.navbar.svelte-rfuq4y{z-index:50;background:var(--color-navbar-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.navbar-inner.svelte-rfuq4y{width:100%;padding:0 var(--space-6);height:var(--nav-height);align-items:center;gap:var(--space-4);display:flex}.navbar-brand.svelte-rfuq4y{margin-right:var(--space-2)}.navbar-actions.svelte-rfuq4y{margin-left:auto}.navbar-brand.svelte-rfuq4y{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-icon.svelte-rfuq4y{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-icon.svelte-rfuq4y img:where(.svelte-rfuq4y){max-width:34px}.brand-text.svelte-rfuq4y{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.01em}.navbar-actions.svelte-rfuq4y{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.version-badge.svelte-rfuq4y{font-size:calc(var(--text-xs) - 2.5pt);font-weight:var(--font-medium);font-family:var(--font-mono);color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-radius:var(--radius-full);letter-spacing:.02em;padding:2px 8px}.navbar-nav.svelte-rfuq4y{align-items:center;gap:var(--space-1);display:flex}.nav-btn.svelte-rfuq4y{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.nav-btn.svelte-rfuq4y:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav-btn.svelte-rfuq4y:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-btn.active.svelte-rfuq4y{color:var(--color-primary);background:var(--color-bg-tertiary);border-color:var(--color-border)}@media (width<=768px){.navbar-inner.svelte-rfuq4y{padding:0 var(--space-4)}}@media (width<=600px){.navbar-inner.svelte-rfuq4y{gap:var(--space-2)}.navbar-actions.svelte-rfuq4y{gap:var(--space-1)}.nav-label.svelte-rfuq4y{display:none}.nav-btn.svelte-rfuq4y{padding:0 var(--space-2)}}@media (width<=480px){.version-badge.svelte-rfuq4y{display:none}.brand-text.svelte-rfuq4y{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=360px){.brand-text.svelte-rfuq4y{display:none}.navbar-actions.svelte-rfuq4y{gap:4px}.navbar-inner.svelte-rfuq4y{padding:0 var(--space-3)}}.auth-gate.svelte-1vviwqr{max-width:none;height:100dvh;padding:var(--space-6);box-sizing:border-box;background-color:var(--color-bg-secondary);background-image:url(../../../fu.png);background-position:left -2% bottom -2%;background-repeat:no-repeat;background-size:35%;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.auth-card.svelte-1vviwqr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:var(--space-6);box-sizing:border-box;margin-bottom:10vh}.auth-brand.svelte-1vviwqr{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.auth-brand.svelte-1vviwqr h1:where(.svelte-1vviwqr){font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text)}.auth-brand.svelte-1vviwqr p:where(.svelte-1vviwqr){font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:4px}.brand-icon.svelte-1vviwqr{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-icon.svelte-1vviwqr img:where(.svelte-1vviwqr){max-width:34px}.auth-form.svelte-1vviwqr{gap:var(--space-3);display:grid}.auth-form.svelte-1vviwqr label:where(.svelte-1vviwqr){font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.auth-form.svelte-1vviwqr input:where(.svelte-1vviwqr):not(.sr-only){border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;height:40px;color:var(--color-text);font-size:var(--text-sm);padding:0 12px}.auth-form.svelte-1vviwqr input:where(.svelte-1vviwqr):not(.sr-only):focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.auth-error.svelte-1vviwqr{color:var(--color-danger);font-size:var(--text-sm);margin:0}.sr-only.svelte-1vviwqr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.token-input-wrapper.svelte-1vviwqr{align-items:center;gap:var(--space-2);display:flex}.token-input-wrapper.svelte-1vviwqr input:where(.svelte-1vviwqr){flex:1}.btn-toggle.svelte-1vviwqr{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-toggle.svelte-1vviwqr:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-hover)}.btn-toggle.svelte-1vviwqr:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (width<=480px){.auth-gate.svelte-1vviwqr{padding:var(--space-3);background-size:45%}.auth-card.svelte-1vviwqr{padding:var(--space-4);margin-bottom:5vh}.auth-brand.svelte-1vviwqr h1:where(.svelte-1vviwqr){font-size:var(--text-lg)}}
1
+ .voice-control.svelte-1a5q9sh{align-items:center;gap:var(--space-2);display:flex}.voice-interim.svelte-1a5q9sh{max-width:200px;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:2px var(--space-2);background:var(--color-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:1;min-width:0;overflow:hidden}.voice-autoplay-banner.svelte-1a5q9sh{align-items:center;gap:var(--space-2);padding:4px var(--space-3);background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-md);height:32px;color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:filter var(--transition-fast);display:inline-flex}.voice-autoplay-banner.svelte-1a5q9sh:hover{filter:brightness(1.05)}.voice-autoplay-banner.svelte-1a5q9sh:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.voice-btn.svelte-1a5q9sh{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.voice-btn.svelte-1a5q9sh:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-hover)}.voice-btn.svelte-1a5q9sh:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.voice-btn-active.svelte-1a5q9sh{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.voice-btn-active.svelte-1a5q9sh:hover{color:var(--color-danger);border-color:var(--color-danger)}.voice-btn-on.svelte-1a5q9sh{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.voice-btn-on.svelte-1a5q9sh:hover{color:var(--color-primary);border-color:var(--color-primary)}.voice-btn-speaking.svelte-1a5q9sh{background:var(--color-primary-subtle);box-shadow:0 0 0 2px var(--color-primary-subtle)}.voice-btn-processing.svelte-1a5q9sh{color:var(--color-text-tertiary);cursor:not-allowed}.voice-pulse.svelte-1a5q9sh{border:2px solid var(--color-danger);border-radius:var(--radius-md);opacity:0;pointer-events:none;animation:1.5s ease-out infinite svelte-1a5q9sh-voice-pulse-anim;position:absolute;inset:-3px}.voice-spinner.svelte-1a5q9sh{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite svelte-1a5q9sh-voice-spinner-anim;display:inline-block}@keyframes svelte-1a5q9sh-voice-spinner-anim{to{transform:rotate(360deg)}}.wave-anim.svelte-1a5q9sh{transform-origin:11px 12px;animation:1.2s ease-in-out infinite svelte-1a5q9sh-wave-pulse-anim}.wave-anim-2.svelte-1a5q9sh{transform-origin:11px 12px;animation:1.2s ease-in-out .3s infinite svelte-1a5q9sh-wave-pulse-anim}@keyframes svelte-1a5q9sh-wave-pulse-anim{0%,to{opacity:.4}50%{opacity:1}}@keyframes svelte-1a5q9sh-voice-pulse-anim{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.voice-pulse.svelte-1a5q9sh,.voice-spinner.svelte-1a5q9sh,.wave-anim.svelte-1a5q9sh,.wave-anim-2.svelte-1a5q9sh{animation:none}.voice-pulse.svelte-1a5q9sh{opacity:.4}}.sr-only.svelte-1a5q9sh{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.switcher.svelte-1gh51ee{position:relative}.trigger.svelte-1gh51ee{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);height:32px;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;max-width:240px;display:inline-flex;overflow:hidden}.trigger.svelte-1gh51ee:hover:not(:disabled){background:var(--color-surface-hover)}.trigger.svelte-1gh51ee:disabled{opacity:.6;cursor:progress}.trigger-icon.svelte-1gh51ee{color:var(--color-text-secondary);flex-shrink:0;display:none}.dot.svelte-1gh51ee{background:var(--color-success,#16a34a);border-radius:50%;flex-shrink:0;width:8px;height:8px}.label.svelte-1gh51ee{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.caret.svelte-1gh51ee{opacity:.6;font-size:10px}@media (width<=600px){.trigger.svelte-1gh51ee{justify-content:center;gap:0;width:32px;max-width:32px;padding:0}.trigger-icon.svelte-1gh51ee{display:inline-block}.dot.svelte-1gh51ee,.label.svelte-1gh51ee,.caret.svelte-1gh51ee{display:none}}.menu.svelte-1gh51ee{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);min-width:min(280px,100vw - 24px);max-width:min(360px,100vw - 24px);box-shadow:var(--shadow-lg);padding:var(--space-2);position:absolute;top:calc(100% + 6px);right:0}@media (width<=600px){.menu.svelte-1gh51ee{top:calc(var(--nav-height) + 6px);right:var(--space-3);position:fixed}}.menu-header.svelte-1gh51ee{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.menu-item.svelte-1gh51ee{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,6px);cursor:pointer;text-align:left;font:inherit;color:var(--color-text);background:0 0;border:0;display:flex}.menu-item.svelte-1gh51ee:hover:not(:disabled),.menu-item.svelte-1gh51ee:focus-visible{background:var(--color-bg-tertiary)}.menu-item.svelte-1gh51ee:disabled{opacity:.6;cursor:progress}.menu-item.active.svelte-1gh51ee{background:var(--color-bg-tertiary)}.check.svelte-1gh51ee{width:14px;color:var(--color-primary);flex-shrink:0}.menu-item-text.svelte-1gh51ee{flex-direction:column;display:flex;overflow:hidden}.menu-item-label.svelte-1gh51ee{font-weight:500;font-size:var(--text-sm)}.menu-item-url.svelte-1gh51ee{font-size:var(--text-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-divider.svelte-1gh51ee{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.menu-item.link.svelte-1gh51ee{color:var(--color-primary);text-decoration:none}.picker.svelte-1owsj0q{position:relative}.trigger.svelte-1owsj0q{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);height:32px;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;max-width:240px;display:inline-flex;overflow:hidden}.trigger.svelte-1owsj0q:hover{background:var(--color-surface-hover)}.trigger-icon.svelte-1owsj0q{color:var(--color-text-secondary);flex-shrink:0}.dot.svelte-1owsj0q{background:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .12s}.dot.connected.svelte-1owsj0q{background:var(--color-success,#16a34a)}.label.svelte-1owsj0q{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.caret.svelte-1owsj0q{opacity:.6;font-size:10px}@media (width<=600px){.trigger.svelte-1owsj0q{justify-content:center;gap:0;width:32px;max-width:32px;padding:0}.label.svelte-1owsj0q,.caret.svelte-1owsj0q,.dot.svelte-1owsj0q{display:none}}.menu.svelte-1owsj0q{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);min-width:min(300px,100vw - 24px);max-width:min(380px,100vw - 24px);box-shadow:var(--shadow-lg);padding:var(--space-2);position:absolute;top:calc(100% + 6px);right:0}@media (width<=600px){.menu.svelte-1owsj0q{top:calc(var(--nav-height) + 6px);right:var(--space-3);position:fixed}}.menu-header.svelte-1owsj0q{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.menu-item.svelte-1owsj0q{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,6px);cursor:pointer;text-align:left;font:inherit;color:var(--color-text);background:0 0;border:0;display:flex}.menu-item.svelte-1owsj0q:hover:not(:disabled),.menu-item.svelte-1owsj0q:focus-visible{background:var(--color-bg-tertiary)}.menu-item.svelte-1owsj0q:disabled{opacity:.6;cursor:not-allowed}.menu-item.active.svelte-1owsj0q{background:var(--color-bg-tertiary)}.new-btn.svelte-1owsj0q{color:var(--color-primary);font-weight:500}.check.svelte-1owsj0q{text-align:center;width:14px;color:var(--color-primary);flex-shrink:0}.menu-item-text.svelte-1owsj0q{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.menu-item-label.svelte-1owsj0q{font-weight:500;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-item-meta.svelte-1owsj0q{font-size:var(--text-xs);color:var(--color-text-secondary)}.menu-divider.svelte-1owsj0q{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.session-list.svelte-1owsj0q{max-height:60vh;overflow-y:auto}.empty.svelte-1owsj0q,.error.svelte-1owsj0q{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.error.svelte-1owsj0q{color:var(--color-danger)}.error.svelte-1owsj0q span:where(.svelte-1owsj0q):first-child{flex:1}.retry-btn.svelte-1owsj0q{font-size:var(--text-xs);border:1px solid var(--color-danger);border-radius:var(--radius-full);color:var(--color-danger);cursor:pointer;background:0 0;padding:2px 8px}.retry-btn.svelte-1owsj0q:hover{background:var(--color-danger);color:var(--color-text-inverse)}.notice.svelte-1owsj0q{margin:0 var(--space-2) var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-sm,6px)}.show-all.svelte-1owsj0q{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-primary);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:0}.show-all.svelte-1owsj0q:hover{background:var(--color-bg-tertiary)}.spinner.svelte-1owsj0q{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite svelte-1owsj0q-spin;display:inline-block}@keyframes svelte-1owsj0q-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-1owsj0q{animation:none}}.theme-toggle.svelte-1cmi4dh{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle.svelte-1cmi4dh:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-hover)}.theme-toggle.svelte-1cmi4dh:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.theme-toggle[aria-pressed=true].svelte-1cmi4dh{color:var(--color-primary);background:var(--color-bg-tertiary);border-color:var(--color-border)}.navbar.svelte-rfuq4y{z-index:50;background:var(--color-navbar-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.navbar-inner.svelte-rfuq4y{width:100%;padding:0 var(--space-6);height:var(--nav-height);align-items:center;gap:var(--space-4);display:flex}.navbar-brand.svelte-rfuq4y{margin-right:var(--space-2)}.navbar-actions.svelte-rfuq4y{margin-left:auto}.navbar-brand.svelte-rfuq4y{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-icon.svelte-rfuq4y{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-icon.svelte-rfuq4y img:where(.svelte-rfuq4y){max-width:34px}.brand-text.svelte-rfuq4y{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.01em}.navbar-actions.svelte-rfuq4y{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.version-badge.svelte-rfuq4y{font-size:calc(var(--text-xs) - 2.5pt);font-weight:var(--font-medium);font-family:var(--font-mono);color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-radius:var(--radius-full);letter-spacing:.02em;padding:2px 8px}.navbar-nav.svelte-rfuq4y{align-items:center;gap:var(--space-1);display:flex}.desktop-actions.svelte-rfuq4y{align-items:center;gap:var(--space-2);display:flex}.mobile-menu-btn.svelte-rfuq4y{justify-content:center;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);display:none}.mobile-menu-btn.svelte-rfuq4y:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-hover)}.mobile-menu-btn.svelte-rfuq4y:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.mobile-sheet-overlay.svelte-rfuq4y{z-index:299}.mobile-sheet.svelte-rfuq4y{z-index:300;width:min(420px,100vw)}.mobile-sheet-body.svelte-rfuq4y{gap:var(--space-5);flex-direction:column;display:flex}.mobile-sheet-section.svelte-rfuq4y{gap:var(--space-3);flex-direction:column;display:flex}.mobile-section-label.svelte-rfuq4y{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.mobile-nav-list.svelte-rfuq4y{gap:var(--space-2);flex-direction:column;display:flex}.mobile-nav-link.svelte-rfuq4y{min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--font-medium);align-items:center;text-decoration:none;display:flex}.mobile-nav-link.active.svelte-rfuq4y{color:var(--color-primary);border-color:var(--color-border);background:var(--color-bg-tertiary)}.mobile-control-row.svelte-rfuq4y{width:100%}.mobile-control-row.svelte-rfuq4y .trigger{justify-content:flex-start;width:100%;max-width:none}.mobile-control-row--voice.svelte-rfuq4y .voice-control{gap:var(--space-2);flex-wrap:wrap}.mobile-utility-row.svelte-rfuq4y{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.mobile-utility-labels.svelte-rfuq4y{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.mobile-utility-title.svelte-rfuq4y{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.mobile-utility-copy.svelte-rfuq4y{color:var(--color-text-secondary);font-size:var(--text-xs)}.nav-btn.svelte-rfuq4y{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.nav-btn.svelte-rfuq4y:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav-btn.svelte-rfuq4y:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-btn.active.svelte-rfuq4y{color:var(--color-primary);background:var(--color-bg-tertiary);border-color:var(--color-border)}@media (width<=768px){.navbar-inner.svelte-rfuq4y{padding:0 var(--space-4)}}@media (width<=600px){.navbar-inner.svelte-rfuq4y{gap:var(--space-2)}.navbar-actions.svelte-rfuq4y{gap:var(--space-1)}.desktop-actions.svelte-rfuq4y{display:none}.mobile-menu-btn.svelte-rfuq4y{display:inline-flex}.nav-label.svelte-rfuq4y{display:inline}.navbar-nav.svelte-rfuq4y{margin-left:auto;margin-right:var(--space-1)}.navbar-nav.svelte-rfuq4y a:not([href=\/chat]){display:none}}@media (width<=480px){.version-badge.svelte-rfuq4y,.brand-text.svelte-rfuq4y{display:none}}@media (width<=360px){.navbar-actions.svelte-rfuq4y{gap:4px}.mobile-menu-label.svelte-rfuq4y{display:none}.mobile-menu-btn.svelte-rfuq4y{gap:0;width:32px;padding:0}.navbar-inner.svelte-rfuq4y{padding:0 var(--space-3)}}.auth-gate.svelte-1vviwqr{max-width:none;height:100dvh;padding:var(--space-6);box-sizing:border-box;background-color:var(--color-bg-secondary);background-image:url(../../../fu.png);background-position:left -2% bottom -2%;background-repeat:no-repeat;background-size:35%;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.auth-card.svelte-1vviwqr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:var(--space-6);box-sizing:border-box;margin-bottom:10vh}.auth-brand.svelte-1vviwqr{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.auth-brand.svelte-1vviwqr h1:where(.svelte-1vviwqr){font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text)}.auth-brand.svelte-1vviwqr p:where(.svelte-1vviwqr){font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:4px}.brand-icon.svelte-1vviwqr{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-icon.svelte-1vviwqr img:where(.svelte-1vviwqr){max-width:34px}.auth-form.svelte-1vviwqr{gap:var(--space-3);display:grid}.auth-form.svelte-1vviwqr label:where(.svelte-1vviwqr){font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.auth-form.svelte-1vviwqr input:where(.svelte-1vviwqr):not(.sr-only){border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;height:40px;color:var(--color-text);font-size:var(--text-sm);padding:0 12px}.auth-form.svelte-1vviwqr input:where(.svelte-1vviwqr):not(.sr-only):focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.auth-error.svelte-1vviwqr{color:var(--color-danger);font-size:var(--text-sm);margin:0}.sr-only.svelte-1vviwqr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.token-input-wrapper.svelte-1vviwqr{align-items:center;gap:var(--space-2);display:flex}.token-input-wrapper.svelte-1vviwqr input:where(.svelte-1vviwqr){flex:1}.btn-toggle.svelte-1vviwqr{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-toggle.svelte-1vviwqr:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-hover)}.btn-toggle.svelte-1vviwqr:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (width<=480px){.auth-gate.svelte-1vviwqr{padding:var(--space-3);background-size:45%}.auth-card.svelte-1vviwqr{padding:var(--space-4);margin-bottom:5vh}.auth-brand.svelte-1vviwqr h1:where(.svelte-1vviwqr){font-size:var(--text-lg)}}
@@ -0,0 +1 @@
1
+ import{I as e,L as t,Q as n,R as r,Z as i,r as a,t as o,tt as s}from"./BwTF6U35.js";import{i as c,n as l,r as u,t as d}from"./BuFlayix.js";new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function _(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var te=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(b(e)),te(e,t));var v=new Map;function y(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=d(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ne(e,t,n){if(v.size>0){let t=b(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${_(...e)}"]`}return n}var re=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,x=/^\/\((?:.+)\)$/;function ie(e){let t=[];return{pattern:e===`/`||x.test(e)?/^\/$/:RegExp(`^${oe(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ce(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ce(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=re.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ce(e)}).join(``)}).join(``)}/?$`),params:t}}function ae(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function oe(e){return e.slice(1).split(`/`).filter(ae)}function se(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function ce(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function le({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ie(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return se(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ue(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function de(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_1i7l36r?.base??``,fe=globalThis.__sveltekit_1i7l36r?.assets??S??``,pe=`0.11.0-rc.4`,me=`sveltekit:snapshot`,he=`sveltekit:scroll`,ge=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},_e=location.origin;function ve(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ye={...T,"":T.hover};function be(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function xe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=be(e)}}function Se(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ee(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===_e&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function O(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=be(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ye[r??`off`],preload_data:ye[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ce(e){let t=s(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function a(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:a}}var we={v:g};function Te(){let{set:e,subscribe:t}=s(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${fe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==pe;return n&&(e(!0),we.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ee(e,t,n){return e.origin!==_e||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function De(e){}var Oe=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Oe,`entries`]);var ke=new Set([...Oe]);new Set([...ke,`actions`,`entries`]),new Set([`GET`,`POST`,`PATCH`,`PUT`,`DELETE`,`OPTIONS`,`HEAD`,`fallback`,`prerender`,`trailingSlash`,`config`,`entries`]);function Ae(e){return e.filter(e=>e!=null)}function k(e,t){return e+`/`+t}function je(e){return e instanceof l||e instanceof c?e.status:500}function Me(e){return e instanceof c?e.text:`Internal Error`}var A,j,M,Ne=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Pe=`a:`;Ne?(A={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Pe)},j={current:null},M={current:!1}):(A=new class{#e=n({});get data(){return e(this.#e)}set data(e){i(this.#e,e)}#t=n(null);get form(){return e(this.#t)}set form(e){i(this.#t,e)}#n=n(null);get error(){return e(this.#n)}set error(e){i(this.#n,e)}#r=n({});get params(){return e(this.#r)}set params(e){i(this.#r,e)}#i=n({id:null});get route(){return e(this.#i)}set route(e){i(this.#i,e)}#a=n({});get state(){return e(this.#a)}set state(e){i(this.#a,e)}#o=n(-1);get status(){return e(this.#o)}set status(e){i(this.#o,e)}#s=n(new URL(Pe));get url(){return e(this.#s)}set url(e){i(this.#s,e)}},j=new class{#e=n(null);get current(){return e(this.#e)}set current(e){i(this.#e,e)}},M=new class{#e=n(!1);get current(){return e(this.#e)}set current(e){i(this.#e,e)}},we.v=()=>M.current=!0);function Fe(e){Object.assign(A,e)}var Ie={spanContext(){return Le},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Le={traceId:``,spanId:``,traceFlags:0},{onMount:Re,tick:ze}=o,Be=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=ue(`sveltekit:scroll`)??{},F=ue(`sveltekit:snapshot`)??{},I={url:Ce({}),page:Ce({}),navigating:s(null),updated:Te()};function Ve(e){P[e]=E()}function He(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function L(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function Ue(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var We,Ge,R,z,Ke,B,V=[],H=[],U=null;function W(){U?.fork?.then(e=>e?.discard()),U=null}var qe=new Map,Je=new Set,Ye=new Set,G=new Set,K={branch:[],error:null,url:null,nav:null},Xe=!1,Ze=!1,Qe=!0,q=!1,J=!1,$e=!1,et=!1,tt,Y,X,Z,nt=new Set,rt=new Map,it=new Map;async function at(e,t,n){globalThis.__sveltekit_1i7l36r&&(globalThis.__sveltekit_1i7l36r.query,globalThis.__sveltekit_1i7l36r.prerender),document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),We=le(e),z=document.documentElement,Ke=t,Ge=e.nodes[0],R=e.nodes[1],Ge(),R(),Y=history.state?.[C],X=history.state?.[w],Y||(Y=X=Date.now(),history.replaceState({...history.state,[C]:Y,[w]:X},``));let r=P[Y];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Nt(Ke,n)):(await Q({type:`enter`,url:ve(B.hash?zt(new URL(location.href)):location.href),replace_state:!0}),i()),Mt()}function ot(){V.length=0,et=!1}function st(e){H.some(e=>e?.snapshot)&&(F[e]=H.map(e=>e?.snapshot?.capture()))}function ct(e){F[e]?.forEach((e,t)=>{H[t]?.snapshot?.restore(e)})}function lt(){Ve(Y),de(he,P),st(X),de(me,F)}async function ut(e,t,n,i){let a,o;t.invalidateAll&&W(),await Q({type:`goto`,url:ve(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:i,accept:()=>{if(t.invalidateAll){et=!0,a=new Set;for(let[e,t]of rt)for(let n of t.keys())a.add(k(e,n));o=new Set;for(let[e,t]of it)for(let n of t.keys())o.add(k(e,n))}t.invalidate&&t.invalidate.forEach(jt)}}),t.invalidateAll&&r().then(r).then(()=>{for(let[e,t]of rt)for(let[n,{resource:r}]of t)a?.has(k(e,n))&&r.refresh();for(let[e,t]of it)for(let[n,{resource:r}]of t)o?.has(k(e,n))&&r.reconnect()})}async function dt(e){if(e.id!==U?.id){W();let t={};nt.add(t),U={id:e.id,token:t,promise:xt({...e,preload:t}).then(e=>(nt.delete(t),e.type===`loaded`&&e.state.error&&W(),e)),fork:null}}return U.promise}async function ft(e){let t=(await Tt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function pt(e,t,n){let r={params:K.params,route:{id:K.route?.id??null},url:new URL(location.href)};if(K={...e.state,nav:r},Fe(e.props.page),tt=new B.root({target:t,props:{...e.props,stores:I,components:H},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),ct(X),n){let e={from:null,to:{...r,scroll:P[Y]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};G.forEach(t=>t(e))}Ze=!0}async function mt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ae(n).map(e=>e.node.component),page:Rt(A)}};s!==void 0&&(l.props.form=s);let u={},d=!A,p=0;for(let e=0;e<Math.max(n.length,K.branch.length);e+=1){let t=n[e],r=K.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!K.url||e.href!==K.url.href||K.error!==a||s!==void 0&&s!==A.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:A.data}),l}async function ht({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Ie,current:Ie},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},B.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=gt(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function gt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:Ze?ne(r,i.href,t):y(r,t)}}function _t(e,t,n,r,i,a){if(et)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==K.params[e])return!0;for(let e of i.dependencies)if(V.some(t=>t(new URL(e))))return!0;return!1}function vt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function yt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function bt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Rt(A),constructors:[]}}}async function xt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(U?.id===e)return nt.delete(U.token),U.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=K.url?e!==Dt(K.url):!1,p=K.route?i.id!==K.route.id:!1,ee=yt(K.url,n),m=!1,h=d.map(async(e,t)=>{if(!e)return;let a=K.branch[t];return e[1]===a?.loader&&!_t(m,p,f,ee,a.universal?.uses,r)?a:(m=!0,ht({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await h[n])?.data);return e},server_data_node:vt(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of h)e.catch(g);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await h[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(nt.has(a))return bt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=je(t),c;if(t instanceof l)c=t.body;else{if(await I.updated.check())return await Ue(),await L(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await St(e,_,o);return d?mt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await kt(n,{id:i.id},c,s)}else _.push(void 0);return mt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function St(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ct({status:e,error:t,url:n,route:r}){let i={};try{return mt({url:n,params:i,branch:[await ht({loader:Ge,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:vt(null)}),{node:await R(),loader:R,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof u)return ut(new URL(e.location,location.href),{},0);throw e}}async function wt(e){let t=e.href;if(qe.has(t))return qe.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>gt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();qe.set(t,r),n=await r}catch{qe.delete(t);return}return n}async function Tt(e,t){if(e&&!Ee(e,S,B.hash)){let n=await wt(e);if(!n)return;let r=Et(n);for(let n of We){let i=n.exec(r);if(i)return{id:Dt(e),invalidating:t,route:n,params:ee(i),url:e}}}}function Et(e){return p(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function Dt(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Ot({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Lt(K,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return q||Je.forEach(e=>e(c)),o?null:s}async function Q({type:e,url:n,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l={},redirect_count:u=0,nav_token:d={},accept:f=g,block:p=g,event:ee}){let m=Z;Z=d;let h=await Tt(n,!1),_=e===`enter`?Lt(K,h,n,e):Ot({url:n,type:e,delta:i?.delta,intent:h,scroll:i?.scroll,event:ee});if(!_){p(),Z===d&&(Z=m);return}let te=Y,v=X;f(),q=!0,Ze&&_.navigation.type!==`enter`&&I.navigating.set(j.current=_.navigation);let y=h&&await xt(h);if(!y){if(Ee(n,S,B.hash))return await L(n,s);y=await kt(n,{id:null},await $(new c(404,`Not Found`,`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404,s)}if(n=h?.url||n,Z!==d)return _.reject(Error(`navigation aborted`)),!1;if(y.type===`redirect`){if(u<20){await Q({type:e,url:new URL(y.location,n),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l,redirect_count:u+1,nav_token:d}),_.fulfil(void 0);return}y=await Ct({status:500,error:await $(Error(`Redirect loop`),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}})}else y.props.page.status>=400&&await I.updated.check()&&(await Ue(),await L(n,s));if(ot(),Ve(te),st(v),y.props.page.url.pathname!==n.pathname&&(n.pathname=y.props.page.url.pathname),l=i?i.state:l,!i){let e=+!s,t={[C]:Y+=e,[w]:X+=e,[ge]:l};(s?history.replaceState:history.pushState).call(history,t,``,n),s||He(Y,X)}let ne=h&&U?.id===h.id?U.fork:null;U?.fork&&!ne&&W(),U=null,y.props.page.state=l;let b;if(Ze){let e=(await Promise.all(Array.from(Ye,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{G.delete(e)})}e.push(t),e.forEach(e=>{G.add(e)})}let r=_.navigation.to;K={...y.state,nav:{params:r.params,route:r.route,url:r.url}},y.props.page&&(y.props.page.url=n);let i=ne&&await ne;i?b=i.commit():(N=null,tt.$set(y.props),N&&Object.assign(y.props.page,N),Fe(y.props.page),b=t?.()),$e=!0}else await pt(y,Ke,!1);let{activeElement:re}=document;if(await b,await r(),await r(),Z!==d)return _.reject(Error(`navigation aborted`)),!1;y.props.page&&N&&Object.assign(y.props.page,N);let x=null;if(Qe){let e=i?i.scroll:o?E():null;e?scrollTo(e.x,e.y):(x=n.hash&&document.getElementById(Bt(n)))?x.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ie&&It(n,!x),Qe=!0,q=!1,e===`popstate`&&ct(X),_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=E()),G.forEach(e=>e(_.navigation)),I.navigating.set(j.current=null)}async function kt(e,t,n,r,i){return e.origin===_e&&e.pathname===location.pathname&&!Xe?await Ct({status:r,error:n,url:e,route:t}):await L(e,i)}function At(){let e,t={element:void 0,href:void 0},n;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,T.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],T.tap)}z.addEventListener(`mousedown`,r),z.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(ft(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=xe(e,z),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=Se(i,S,B.hash);if(s||c)return;let l=O(i),u=o&&Dt(K.url)===Dt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=T.tap;let e=await Tt(o,!1);if(!e)return;dt(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,ft(o))}function o(){i.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:r}=Se(e,S,B.hash);if(n||r)continue;let a=O(e);a.reload||(a.preload_code===T.viewport&&i.observe(e),a.preload_code===T.eager&&ft(t))}}G.add(o),o()}function $(e,t){if(e instanceof l)return e.body;let n=je(e),r=Me(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function jt(e){if(typeof e==`function`)V.push(e);else{let{href:t}=new URL(e,location.href);V.push(e=>e.href===t)}}function Mt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(lt(),!q){let e=Lt(K,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Je.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&lt()}),!navigator.connection?.saveData&&!/2g/.test(navigator.connection?.effectiveType)&&At(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=xe(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=Se(n,S,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=O(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Ot({url:r,type:`link`,event:t})?q=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=K.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(J=!0,Ve(Y),e(r),!s.replace_state)return;J=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ee(r,S,!1))return;let i=e.target,a=O(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Ft)if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(Z={},n===Y)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=K.url?m(location)===m(K.url):!1;if(o===X&&($e||s)){i!==A.state&&(A.state=i),e(a),P[Y]=E(),r&&scrollTo(r.x,r.y),Y=n;return}let c=n-Y;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{Y=n,X=o},block:()=>{history.go(-c)},nav_token:Z,event:t})}else J||(e(new URL(location.href)),B.hash&&location.reload())}),addEventListener(`hashchange`,()=>{J&&(J=!1,history.replaceState({...history.state,[C]:++Y,[w]:X},``,location.href))});for(let e of document.querySelectorAll(`link`))Be.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(j.current=null)});function e(e){K.url=A.url=e,I.page.set(Rt(A)),I.page.notify()}}async function Nt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){Xe=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await Tt(l,!1)||{}),d=We.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Pt(r.uses)),ht({loader:B.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:vt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await mt({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u){await L(new URL(t.location,location.href));return}f=await Ct({status:je(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await pt(f,e,p)}function Pt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Ft=!1;function It(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Bt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Ft=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Ft=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Lt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Rt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function zt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Bt(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{M as a,A as i,I as n,De as o,j as r,at as t};
@@ -0,0 +1,5 @@
1
+ import{A as e,D as t,E as n,F as r,I as i,J as a,N as o,O as s,P as c,Q as l,V as u,X as d,Y as f,Z as p,ct as m,d as h,et as g,it as _,j as v,k as y,l as b,n as x,q as S,r as C,rt as w,s as T,st as E,u as D,v as O,w as k}from"./BwTF6U35.js";import"./xihTtKlq.js";import{B as A,J as j,O as M,Y as N,a as P,c as F,g as I,i as L,l as R,n as z,o as B,r as V,s as H,t as U,u as W,z as G}from"./DXseS2Vw.js";import{t as K}from"./DTwNbG18.js";var q=1e3,J=3e4,Y=`/proxy/assistant/event`;function ee(e){let t={},n=[];for(let r of e.split(`
2
+ `))!r||r.startsWith(`:`)||(r.startsWith(`data:`)?n.push(r.replace(/^data:\s?/,``)):r.startsWith(`event:`)?t.event=r.replace(/^event:\s?/,``):r.startsWith(`id:`)&&(t.id=r.replace(/^id:\s?/,``)));return n.length>0&&(t.data=n.join(`
3
+ `)),t}function te(e,t){let n=t.properties?.info,r=n?.id;if(r)switch(t.type){case`session.created`:e.onCreated(r);return;case`session.updated`:e.onUpdated(r,{title:n?.title,updatedAt:n?.time?.updated});return;case`session.deleted`:e.onDeleted(r);return;default:return}}function ne(e){let t=!1,n=new AbortController,r,i=e=>new Promise(t=>{let r=setTimeout(t,e);n.signal.addEventListener(`abort`,()=>{clearTimeout(r),t()},{once:!0})});async function a(){let t={accept:`text/event-stream`};r!==void 0&&(t[`Last-Event-ID`]=r);let i=await fetch(Y,{method:`GET`,headers:t,credentials:`include`,signal:n.signal});if(!i.ok||!i.body)throw Error(`SSE stream failed: ${i.status} ${i.statusText}`);e.onConnect?.();let a=i.body.pipeThrough(new TextDecoderStream).getReader(),o=``;try{for(;;){let{done:t,value:n}=await a.read();if(t)break;o+=n;let i=o.split(`
4
+
5
+ `);o=i.pop()??``;for(let t of i){if(!t)continue;let n=ee(t);if(n.id!==void 0&&(r=n.id),!n.data)continue;let i;try{i=JSON.parse(n.data)}catch(e){console.warn(`[session-events] Bad JSON in SSE frame`,e);continue}te(e,i)}}}finally{try{a.releaseLock()}catch{}}}return(async()=>{let r=0;for(;!t;)try{r++,await a(),r=0,t||await i(500)}catch(a){if(t)return;let o=a instanceof Error?a:Error(String(a));o.name!==`AbortError`&&(console.warn(`[session-events] SSE error, reconnecting`,o),e.onDisconnect?.(o)),await i(Math.min(q*2**Math.max(0,r-1),J)),n.signal.aborted&&!t&&(n=new AbortController)}})(),()=>{t=!0;try{n.abort()}catch{}}}function X(){return{sessions:[],sessionsLoaded:!1,sessionsLoading:!1,sessionsError:``,activeSessionId:null}}var Z=new class{#e=l(d(new Map));get byEndpoint(){return i(this.#e)}set byEndpoint(e){p(this.#e,e,!0)}#t=l(`default`);get activeEndpointId(){return i(this.#t)}set activeEndpointId(e){p(this.#t,e,!0)}#n=l(d([]));get entries(){return i(this.#n)}set entries(e){p(this.#n,e,!0)}#r=l(!1);get entriesLoading(){return i(this.#r)}set entriesLoading(e){p(this.#r,e,!0)}#i=l(!1);get sending(){return i(this.#i)}set sending(e){p(this.#i,e,!0)}#a=l(``);get error(){return i(this.#a)}set error(e){p(this.#a,e,!0)}#o=l(!1);get liveConnected(){return i(this.#o)}set liveConnected(e){p(this.#o,e,!0)}_unsubscribeEvents=null;#s=g(()=>this.byEndpoint.get(this.activeEndpointId)?.activeSessionId??null);get activeSessionId(){return i(this.#s)}set activeSessionId(e){p(this.#s,e)}setEndpointState(e,t){let n={...this.byEndpoint.get(e)??X(),...t};return this.byEndpoint=new Map(this.byEndpoint).set(e,n),n}async onEndpointChanged(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}this.activeEndpointId=e,this.entries=[],this.error=``,this.byEndpoint.get(e)?.sessionsLoaded||await this.loadSessions();let t=this.byEndpoint.get(e)??X(),n=t.sessions,r=t.activeSessionId,i=null;r&&n.some(e=>e.id===r)?i=r:n.length>0&&(i=n[0].id),i!==t.activeSessionId&&this.setEndpointState(e,{activeSessionId:i}),i&&await this.openSession(i),this._resubscribeEvents()}_resubscribeEvents(){if(this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from previous event stream`,e)}this._unsubscribeEvents=null}this.liveConnected=!1,this._unsubscribeEvents=ne({onCreated:e=>{this._onSessionCreated(e)},onUpdated:(e,t)=>{this._onSessionUpdated(e,t)},onDeleted:e=>{this._onSessionDeleted(e)},onConnect:()=>{this.liveConnected=!0},onDisconnect:()=>{this.liveConnected=!1}})}_onSessionCreated(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t)??X();if(n.sessions.some(t=>t.id===e))return;let r=Date.now(),i={id:e,title:``,createdAt:r,updatedAt:r};this.setEndpointState(t,{sessions:[i,...n.sessions],sessionsLoaded:!0})}_onSessionUpdated(e,t){let n=this.activeEndpointId,r=this.byEndpoint.get(n);if(!r)return;let i=r.sessions.findIndex(t=>t.id===e);if(i===-1)return;let a=r.sessions[i],o=[{...a,title:t?.title??a.title,updatedAt:t?.updatedAt??Date.now()},...r.sessions.filter(t=>t.id!==e)];o.sort((e,t)=>t.updatedAt-e.updatedAt),this.setEndpointState(n,{sessions:o})}async _onSessionDeleted(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t);if(!n||!n.sessions.some(t=>t.id===e))return;let r=n.sessions.filter(t=>t.id!==e),i=n.activeSessionId===e,a=i?r[0]?.id??null:n.activeSessionId;this.setEndpointState(t,{sessions:r,activeSessionId:a}),i&&(this.entries=[],a&&await this.openSession(a))}async loadSessions(){let e=this.activeEndpointId;this.setEndpointState(e,{sessionsLoading:!0,sessionsError:``});try{let t=await A();this.setEndpointState(e,{sessions:t,sessionsLoaded:!0,sessionsLoading:!1,sessionsError:``})}catch(t){let n=t,r=n.status===503||n.status===502?`Assistant is not reachable.`:n.message??`Failed to load sessions.`;this.setEndpointState(e,{sessionsLoading:!1,sessionsError:r})}}async openSession(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}let t=this.activeEndpointId;this.setEndpointState(t,{activeSessionId:e}),this.entries=[],this.entriesLoading=!0,this.error=``;try{let n=await G(e);this.activeEndpointId===t&&this.byEndpoint.get(t)?.activeSessionId===e&&(this.entries=n)}catch(e){let t=e;t.status===503||t.status===502?this.error=`Assistant is not reachable. Try reconnecting.`:t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Failed to load messages.`}finally{this.entriesLoading=!1}}async startNewSession(){if(this.sending)return this.error=`Wait for the current reply to finish before switching.`,null;let e=this.activeEndpointId;this.error=``;try{let{id:t}=await I(),n=Date.now(),r={id:t,title:``,createdAt:n,updatedAt:n},i=this.byEndpoint.get(e)??X();return this.setEndpointState(e,{sessions:[r,...i.sessions.filter(e=>e.id!==t)],sessionsLoaded:!0,activeSessionId:t}),this.entries=[],t}catch(e){let t=e;return this.error=`Failed to start session: ${t.message??`unknown error`}`,null}}async send(e){if(this.sending)return;let t=e.trim();if(!t)return;let n=this.activeSessionId;if(!n&&(n=await this.startNewSession(),!n))return;let r={id:crypto.randomUUID(),role:`user`,text:t,timestamp:Date.now()};this.entries=[...this.entries,r],this.error=``,this.sending=!0;try{let e=(await j(n,t)).parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``),r={id:crypto.randomUUID(),role:`assistant`,text:e||`(no response)`,timestamp:Date.now()};this.entries=[...this.entries,r];let i=this.activeEndpointId,a=this.byEndpoint.get(i);if(a){let e=Date.now(),t=a.sessions.find(e=>e.id===n),r=t?{...t,updatedAt:e}:{id:n,title:``,createdAt:e,updatedAt:e},o=a.sessions.filter(e=>e.id!==n);this.setEndpointState(i,{sessions:[r,...o]})}W.ttsSupported&&W.ttsAutoEnabled&&e&&B(e)}catch(e){let t=e;t.status===503||t.status===502?(this.error=`Assistant is not reachable. Try reconnecting.`,this.setEndpointState(this.activeEndpointId,{activeSessionId:null})):t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Message failed.`}finally{this.sending=!1}}reset(){if(R(),this.entries=[],this.error=``,this.byEndpoint=new Map,this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from event stream during reset`,e)}this._unsubscribeEvents=null}this.liveConnected=!1}},re=e(`<span class="voice-interim svelte-1a5q9sh" aria-hidden="true"> </span>`),ie=e(`<button type="button" class="voice-autoplay-banner svelte-1a5q9sh" aria-label="Resume paused audio" title="Audio was blocked by the browser. Click to resume."><svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1a5q9sh"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="svelte-1a5q9sh"></polygon><line x1="23" y1="9" x2="17" y2="15" class="svelte-1a5q9sh"></line><line x1="17" y1="9" x2="23" y2="15" class="svelte-1a5q9sh"></line></svg> <span class="svelte-1a5q9sh">Audio paused — click to resume</span></button>`),ae=v(`<path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path><path d="M19.07 4.93a10 10 0 0 1 0 14.14"></path>`,1),oe=v(`<line x1="23" y1="9" x2="17" y2="15" class="svelte-1a5q9sh"></line><line x1="17" y1="9" x2="23" y2="15" class="svelte-1a5q9sh"></line>`,1),se=e(`<button><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1a5q9sh"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="svelte-1a5q9sh"></polygon><!></svg></button>`),ce=e(`<span class="voice-spinner svelte-1a5q9sh" aria-hidden="true"></span>`),le=e(`<svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class="svelte-1a5q9sh"><rect x="6" y="6" width="12" height="12" rx="1.5" class="svelte-1a5q9sh"></rect></svg> <span class="voice-pulse svelte-1a5q9sh" aria-hidden="true"></span>`,1),ue=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1a5q9sh"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" class="svelte-1a5q9sh"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" class="svelte-1a5q9sh"></path><line x1="12" y1="19" x2="12" y2="23" class="svelte-1a5q9sh"></line><line x1="8" y1="23" x2="16" y2="23" class="svelte-1a5q9sh"></line></svg>`),de=e(`<button><!></button>`),fe=e(`<div class="voice-control svelte-1a5q9sh" role="toolbar" aria-label="Voice controls"><!> <!> <!> <!> <span class="sr-only svelte-1a5q9sh" aria-live="polite"> </span></div>`);function Q(e,r){_(r,!0);let o=l(!1);C(()=>{V().then(()=>{p(o,!0)})}),x(()=>{z()});let d=g(()=>i(o)&&W.sttEngine!==`disabled`&&W.sttSupported),v=g(()=>i(o)&&W.ttsSupported),b=g(()=>W.status===`recording`),T=g(()=>W.status===`transcribing`),D=g(()=>!i(b)&&!i(T)&&Z.sending),k=g(()=>W.status===`speaking`);function A(){if(i(b)){F();return}i(T)||(R(),H(e=>{let t=e.trim();t&&Z.send(t)}))}function j(){P(!W.ttsAutoEnabled)}var M=y(),N=a(M),I=e=>{var r=fe(),o=S(r),l=e=>{var n=re(),r=S(n,!0);m(n),u(e=>{h(n,`title`,W.interimTranscript),t(r,e)},[()=>W.interimTranscript.length>48?W.interimTranscript.slice(0,48)+`…`:W.interimTranscript]),s(e,n)};n(o,e=>{i(b)&&W.interimTranscript&&e(l)});var p=f(o,2),g=e=>{var t=ie();c(`click`,t,()=>L()),s(e,t)};n(p,e=>{W.autoplayBlocked&&e(g)});var _=f(p,2),y=e=>{var t=se();let r;var o=S(t),l=f(S(o)),d=e=>{var t=ae(),n=a(t);let r;var o=f(n);let c;u(()=>{r=O(n,0,`svelte-1a5q9sh`,null,r,{"wave-anim":i(k)}),c=O(o,0,`svelte-1a5q9sh`,null,c,{"wave-anim-2":i(k)})}),s(e,t)},p=e=>{var t=oe();E(),s(e,t)};n(l,e=>{W.ttsAutoEnabled?e(d):e(p,-1)}),m(o),m(t),u(()=>{r=O(t,1,`voice-btn svelte-1a5q9sh`,null,r,{"voice-btn-on":W.ttsAutoEnabled,"voice-btn-speaking":i(k)}),h(t,`aria-label`,W.ttsAutoEnabled?`Turn off spoken responses`:`Turn on spoken responses`),h(t,`aria-pressed`,W.ttsAutoEnabled),h(t,`title`,i(k)?`Speaking — click to turn off spoken responses`:W.ttsAutoEnabled?`Spoken responses are on — click to turn off`:`Spoken responses are off — click to turn on`)}),c(`click`,t,j),s(e,t)};n(_,e=>{i(v)&&e(y)});var x=f(_,2),C=e=>{var t=de();let r;var a=S(t),o=e=>{s(e,ce())},l=e=>{var t=le();E(2),s(e,t)},d=e=>{s(e,ue())};n(a,e=>{i(T)||i(D)?e(o):i(b)?e(l,1):e(d,-1)}),m(t),u(()=>{r=O(t,1,`voice-btn svelte-1a5q9sh`,null,r,{"voice-btn-active":i(b),"voice-btn-processing":i(D)||i(T)}),t.disabled=i(D),h(t,`aria-label`,i(b)?`Stop recording`:i(T)?`Transcribing…`:i(D)?`Sending message…`:`Start recording`),h(t,`aria-pressed`,i(b)),h(t,`title`,i(b)?`Stop recording`:i(T)?`Transcribing…`:i(D)?`Sending message…`:`Speak — message will be sent to the selected assistant`)}),c(`click`,t,A),s(e,t)};n(x,e=>{i(d)&&e(C)});var w=f(x,2),M=S(w,!0);m(w),m(r),u(()=>t(M,i(b)&&W.interimTranscript?W.interimTranscript:i(b)?`Recording`:i(T)?`Transcribing`:i(D)?`Sending message to assistant`:i(k)?`Assistant is speaking`:W.ttsAutoEnabled?`Spoken responses on`:``)),s(e,r)};n(N,e=>{(i(d)||i(v)||W.autoplayBlocked)&&e(I)}),s(e,M),w()}o([`click`]);var $=new class{#e=l(d([]));get endpoints(){return i(this.#e)}set endpoints(e){p(this.#e,e,!0)}#t=l(`default`);get activeId(){return i(this.#t)}set activeId(e){p(this.#t,e,!0)}#n=l(!1);get loading(){return i(this.#n)}set loading(e){p(this.#n,e,!0)}#r=l(!1);get loaded(){return i(this.#r)}set loaded(e){p(this.#r,e,!0)}#i=l(``);get error(){return i(this.#i)}set error(e){p(this.#i,e,!0)}#a=g(()=>this.endpoints.find(e=>e.id===this.activeId)??this.endpoints[0]??null);get active(){return i(this.#a)}set active(e){p(this.#a,e)}async load(e=!1){if(!this.loading&&!(this.loaded&&!e)){this.loading=!0,this.error=``;try{let{endpoints:e,activeId:t}=await M();this.endpoints=e,this.activeId=t,this.loaded=!0}catch(e){let t=e;t.status!==401&&(this.error=t.message??`Failed to load endpoints`)}finally{this.loading=!1}}}async activate(e){if(e===this.activeId)return;if(Z.sending)throw this.error=`Wait for the current reply to finish before switching.`,Error(this.error);let t=this.activeId;this.activeId=e;try{await N(e),await Z.onEndpointChanged(e)}catch(e){this.activeId=t;let n=e;throw this.error=n.message??`Failed to switch endpoint`,e}}},pe=e(`<button type="button" role="menuitemradio"><span class="check svelte-1gh51ee" aria-hidden="true"> </span> <span class="menu-item-text svelte-1gh51ee"><span class="menu-item-label svelte-1gh51ee"> </span> <span class="menu-item-url svelte-1gh51ee"> </span></span></button>`),me=e(`<div class="menu svelte-1gh51ee" role="menu"><div class="menu-header svelte-1gh51ee">Assistant endpoint</div> <!> <div class="menu-divider svelte-1gh51ee"></div> <a class="menu-item link svelte-1gh51ee" href="/admin/endpoints" role="menuitem">Manage endpoints…</a></div>`),he=e(`<div class="switcher svelte-1gh51ee"><button type="button" class="trigger svelte-1gh51ee" aria-haspopup="menu"><svg class="trigger-icon svelte-1gh51ee" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> <span class="dot svelte-1gh51ee" aria-hidden="true"></span> <span class="label svelte-1gh51ee"> </span> <span class="caret svelte-1gh51ee" aria-hidden="true">▾</span></button> <!></div>`);function ge(e,r){_(r,!0);let a=l(!1),o=l(!1),d=l(void 0),v=g(()=>$.active),y=g(()=>$.endpoints),b=g(()=>i(y).length>1);C(()=>{$.load();function e(e){if(!i(a))return;let t=e.target;i(d)&&t&&!i(d).contains(t)&&p(a,!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)});async function x(e){if(!i(o)){if(e===i(v)?.id){p(a,!1);return}p(o,!0);try{await $.activate(e),p(a,!1)}catch{}finally{p(o,!1)}}}function D(){if(!i(b)&&!i(a)){window.location.href=`/admin/endpoints`;return}p(a,!i(a))}var A=he(),j=S(A),M=f(S(j),4),N=S(M,!0);m(M),E(2),m(j);var P=f(j,2),F=e=>{var n=me(),r=f(S(n),2);k(r,17,()=>i(y),e=>e.id,(e,n)=>{var r=pe();let a;var l=S(r),d=S(l,!0);m(l);var p=f(l,2),g=S(p),_=S(g,!0);m(g);var y=f(g,2),b=S(y,!0);m(y),m(p),m(r),u(()=>{a=O(r,1,`menu-item svelte-1gh51ee`,null,a,{active:i(n).id===i(v)?.id}),h(r,`aria-checked`,i(n).id===i(v)?.id),r.disabled=i(o),t(d,i(n).id===i(v)?.id?`●`:`○`),t(_,i(n).label),t(b,i(n).url)}),c(`click`,r,()=>x(i(n).id)),s(e,r)});var l=f(r,4);m(n),c(`click`,l,()=>p(a,!1)),s(e,n)};n(P,e=>{i(a)&&e(F)}),m(A),T(A,e=>p(d,e),()=>i(d)),u(()=>{h(j,`aria-expanded`,i(a)),h(j,`aria-label`,i(v)?`Assistant endpoint: ${i(v).label}`:`Assistant endpoints`),h(j,`title`,i(v)?`Connected to: ${i(v).label} (${i(v).url})`:`Assistant endpoints`),j.disabled=i(o)||$.loading,t(N,i(v)?.label??`Endpoint…`)}),c(`click`,j,D),s(e,A),w()}o([`click`]);var _e=e(`<div class="notice svelte-1owsj0q">Wait for the current reply to finish before switching.</div>`),ve=e(`<div class="empty svelte-1owsj0q"><span class="spinner svelte-1owsj0q" aria-hidden="true"></span> <span>Loading sessions…</span></div>`),ye=e(`<div class="error svelte-1owsj0q"><span class="svelte-1owsj0q"> </span> <button type="button" class="retry-btn svelte-1owsj0q">Retry</button></div>`),be=e(`<div class="empty svelte-1owsj0q">No sessions yet. Start the first one.</div>`),xe=e(`<button type="button" role="menuitemradio"><span class="check svelte-1owsj0q" aria-hidden="true"> </span> <span class="menu-item-text svelte-1owsj0q"><span class="menu-item-label svelte-1owsj0q"> </span> <span class="menu-item-meta svelte-1owsj0q"> </span></span></button>`),Se=e(`<button type="button" class="show-all svelte-1owsj0q"> </button>`),Ce=e(`<div class="session-list svelte-1owsj0q" role="none"></div> <!>`,1),we=e(`<div class="menu svelte-1owsj0q" role="menu"><div class="menu-header svelte-1owsj0q"> </div> <!> <button type="button" class="menu-item new-btn svelte-1owsj0q" role="menuitem"><span class="check svelte-1owsj0q" aria-hidden="true">+</span> <span class="menu-item-text svelte-1owsj0q"><span class="menu-item-label svelte-1owsj0q">New session</span></span></button> <div class="menu-divider svelte-1owsj0q"></div> <!></div>`),Te=e(`<div class="picker svelte-1owsj0q"><button type="button" class="trigger svelte-1owsj0q" aria-haspopup="menu" aria-label="Sessions"><svg class="trigger-icon svelte-1owsj0q" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg> <span aria-hidden="true"></span> <span class="label svelte-1owsj0q"> </span> <span class="caret svelte-1owsj0q" aria-hidden="true">▾</span></button> <!></div>`);function Ee(e,r){_(r,!0);let o=l(!1),d=l(!1),v=l(void 0),y=g(()=>$.active),b=g(()=>i(y)?Z.byEndpoint.get(i(y).id)??null:null),x=g(()=>i(b)?.sessions??[]),D=g(()=>i(b)?.sessionsLoading??!1),A=g(()=>i(b)?.sessionsError??``),j=g(()=>Z.activeSessionId),M=g(()=>i(x).find(e=>e.id===i(j))??null),N=g(()=>i(M)?i(M).title||`Untitled · ${L(i(M).updatedAt)}`:`New session`),P=g(()=>Z.liveConnected),F=g(()=>i(d)?i(x):i(x).slice(0,50)),I=g(()=>Math.max(0,i(x).length-50));C(()=>{function e(e){if(!i(o))return;let t=e.target;i(v)&&t&&!i(v).contains(t)&&p(o,!1)}function t(e){e.key===`Escape`&&i(o)&&p(o,!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}});function L(e){if(!e)return``;let t=Math.max(0,(Date.now()-e)/1e3);if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);if(i===1)return`yesterday`;if(i<7)return`${i}d ago`;let a=Math.floor(i/7);if(a<5)return`${a}w ago`;let o=Math.floor(i/30);return o<12?`${o}mo ago`:`${Math.floor(i/365)}y ago`}async function R(){i(o)||i(y)&&!i(b)?.sessionsLoaded&&!i(D)&&Z.loadSessions(),p(o,!i(o))}async function z(e){if(!Z.sending){if(e===i(j)){p(o,!1);return}p(o,!1),await Z.openSession(e)}}async function B(){Z.sending||(p(o,!1),await Z.startNewSession())}async function V(){await Z.loadSessions()}var H=Te(),U=S(H),W=f(S(U),2);let G;var K=f(W,2),q=S(K,!0);m(K),E(2),m(U);var J=f(U,2),Y=e=>{var r=we(),o=S(r),l=S(o);m(o);var g=f(o,2),_=e=>{s(e,_e())};n(g,e=>{Z.sending&&e(_)});var v=f(g,2),b=f(v,4),C=e=>{s(e,ve())},w=e=>{var n=ye(),r=S(n),a=S(r,!0);m(r);var o=f(r,2);m(n),u(()=>t(a,i(A))),c(`click`,o,V),s(e,n)},T=e=>{s(e,be())},E=e=>{var r=Ce(),o=a(r);k(o,21,()=>i(F),e=>e.id,(e,n)=>{var r=xe();let a;var o=S(r),l=S(o,!0);m(o);var d=f(o,2),p=S(d),g=S(p,!0);m(p);var _=f(p,2),v=S(_,!0);m(_),m(d),m(r),u(e=>{a=O(r,1,`menu-item session-item svelte-1owsj0q`,null,a,{active:i(n).id===i(j)}),h(r,`aria-checked`,i(n).id===i(j)),r.disabled=Z.sending,t(l,i(n).id===i(j)?`●`:`○`),t(g,i(n).title||`Untitled`),t(v,e)},[()=>L(i(n).updatedAt)]),c(`click`,r,()=>z(i(n).id)),s(e,r)}),m(o);var l=f(o,2),g=e=>{var n=Se(),r=S(n);m(n),u(()=>t(r,`Show all (${i(I)??``} more)`)),c(`click`,n,()=>p(d,!0)),s(e,n)};n(l,e=>{!i(d)&&i(I)>0&&e(g)}),s(e,r)};n(b,e=>{i(D)?e(C):i(A)?e(w,1):i(x).length===0?e(T,2):e(E,-1)}),m(r),u(()=>{t(l,`Sessions on ${i(y)?.label??`this endpoint`??``}`),v.disabled=Z.sending}),c(`click`,v,B),s(e,r)};n(J,e=>{i(o)&&e(Y)}),m(H),T(H,e=>p(v,e),()=>i(v)),u(()=>{h(U,`aria-expanded`,i(o)),h(U,`title`,i(N)),G=O(W,1,`dot svelte-1owsj0q`,null,G,{connected:i(P)}),h(W,`title`,i(P)?`Live updates connected`:`Live updates disconnected`),t(q,i(N))}),c(`click`,U,R),s(e,H),w()}o([`click`]);var De=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg>`),Oe=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9z"></path></svg>`),ke=e(`<button type="button" class="theme-toggle svelte-1cmi4dh"><!></button>`);function Ae(e,t){_(t,!0);let r=g(()=>U.resolved===`dark`),a=g(()=>i(r)?`Switch to light mode`:`Switch to dark mode`);function o(){U.toggle()}var l=ke(),d=S(l),f=e=>{s(e,De())},p=e=>{s(e,Oe())};n(d,e=>{i(r)?e(f):e(p,-1)}),m(l),u(()=>{h(l,`aria-label`,i(a)),h(l,`aria-pressed`,i(r)),h(l,`title`,i(a))}),c(`click`,l,o),s(e,l),w()}o([`click`]);var je=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>`),Me=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="m7 9 3 3-3 3"></path><line x1="13" y1="15" x2="17" y2="15"></line></svg>`),Ne=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>`),Pe=e(`<a><!> <span class="nav-label svelte-rfuq4y"> </span></a>`),Fe=v(`<path d="M18 6 6 18"></path><path d="m6 6 12 12"></path>`,1),Ie=v(`<path d="M3 6h18"></path><path d="M3 12h18"></path><path d="M3 18h18"></path>`,1),Le=e(`<a> </a>`),Re=e(`<div class="sheet-overlay mobile-sheet-overlay svelte-rfuq4y" role="presentation"></div> <div id="mobile-navbar-drawer" class="sheet mobile-sheet svelte-rfuq4y" role="dialog" aria-modal="true" aria-labelledby="mobile-navbar-title"><header class="sheet-header"><h2 class="sheet-title" id="mobile-navbar-title">OpenPalm Menu</h2> <button type="button" class="sheet-close" aria-label="Close menu">×</button></header> <div class="sheet-body mobile-sheet-body svelte-rfuq4y"><section class="mobile-sheet-section svelte-rfuq4y"><div class="mobile-section-label svelte-rfuq4y">Navigate</div> <div class="mobile-nav-list svelte-rfuq4y"></div></section> <section class="mobile-sheet-section svelte-rfuq4y"><div class="mobile-section-label svelte-rfuq4y">Conversation</div> <div class="mobile-control-row svelte-rfuq4y"><!></div> <div class="mobile-control-row svelte-rfuq4y"><!></div></section> <section class="mobile-sheet-section svelte-rfuq4y"><div class="mobile-section-label svelte-rfuq4y">Controls</div> <div class="mobile-utility-row svelte-rfuq4y"><div class="mobile-utility-labels svelte-rfuq4y"><span class="mobile-utility-title svelte-rfuq4y">Theme</span> <span class="mobile-utility-copy svelte-rfuq4y">Switch between light and dark mode.</span></div> <!></div> <div class="mobile-control-row mobile-control-row--voice svelte-rfuq4y"><!></div></section></div></div>`,1),ze=e(`<nav class="navbar svelte-rfuq4y" aria-label="Main navigation"><div class="navbar-inner svelte-rfuq4y"><div class="navbar-brand svelte-rfuq4y"><span class="brand-icon svelte-rfuq4y"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-rfuq4y"/></span> <div><span class="brand-text svelte-rfuq4y">OpenPalm</span> <span class="version-badge svelte-rfuq4y"> </span></div></div> <div class="navbar-nav svelte-rfuq4y" aria-label="Primary navigation"></div> <div class="navbar-actions svelte-rfuq4y"><div class="desktop-actions svelte-rfuq4y"><!> <!> <!> <!></div> <button type="button" class="mobile-menu-btn svelte-rfuq4y" aria-controls="mobile-navbar-drawer"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><!></svg> <span class="mobile-menu-label svelte-rfuq4y">Menu</span></button></div></div></nav> <!>`,1);function Be(e,r){_(r,!0);let o=[{href:`/chat`,label:`Chat`,icon:`chat`},{href:`/advanced`,label:`Advanced`,icon:`advanced`},{href:`/admin`,label:`Admin`,icon:`admin`}],d=g(()=>K.url?.pathname??``);function v(e){return i(d)===e||i(d).startsWith(e+`/`)}let y=l(!1);function b(){p(y,!1)}function x(){p(y,!i(y))}C(()=>{function e(e){e.key===`Escape`&&i(y)&&p(y,!1)}return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}});var T=ze(),D=a(T),A=S(D),j=S(A),M=f(S(j),2),N=f(S(M),2),P=S(N);m(N),m(M),m(j);var F=f(j,2);k(F,21,()=>o,e=>e.href,(e,r)=>{var a=Pe();let o;var c=S(a),l=e=>{s(e,je())},d=e=>{s(e,Me())},p=e=>{s(e,Ne())};n(c,e=>{i(r).icon===`chat`?e(l):i(r).icon===`advanced`?e(d,1):e(p,-1)});var g=f(c,2),_=S(g,!0);m(g),m(a),u((e,n)=>{h(a,`href`,i(r).href),o=O(a,1,`nav-btn svelte-rfuq4y`,null,o,e),h(a,`aria-current`,n),h(a,`title`,i(r).label),t(_,i(r).label)},[()=>({active:v(i(r).href)}),()=>v(i(r).href)?`page`:void 0]),s(e,a)}),m(F);var I=f(F,2),L=S(I),R=S(L);Ae(R,{});var z=f(R,2);ge(z,{});var B=f(z,2);Ee(B,{}),Q(f(B,2),{}),m(L);var V=f(L,2),H=S(V),U=S(H),W=e=>{var t=Fe();E(),s(e,t)},G=e=>{var t=Ie();E(2),s(e,t)};n(U,e=>{i(y)?e(W):e(G,-1)}),m(H),E(2),m(V),m(I),m(A),m(D);var q=f(D,2),J=e=>{var n=Re(),r=a(n),l=f(r,2),d=S(l),p=f(S(d),2);m(d);var g=f(d,2),_=S(g),y=f(S(_),2);k(y,21,()=>o.filter(e=>e.href!==`/chat`),e=>e.href,(e,n)=>{var r=Le();let a;var o=S(r,!0);m(r),u((e,s)=>{h(r,`href`,i(n).href),a=O(r,1,`mobile-nav-link svelte-rfuq4y`,null,a,e),h(r,`aria-current`,s),t(o,i(n).label)},[()=>({active:v(i(n).href)}),()=>v(i(n).href)?`page`:void 0]),c(`click`,r,b),s(e,r)}),m(y),m(_);var x=f(_,2),C=f(S(x),2);Ee(S(C),{}),m(C);var w=f(C,2);ge(S(w),{}),m(w),m(x);var T=f(x,2),E=f(S(T),2);Ae(f(S(E),2),{}),m(E);var D=f(E,2);Q(S(D),{}),m(D),m(T),m(g),m(l),c(`click`,r,b),c(`click`,p,b),s(e,n)};n(q,e=>{i(y)&&e(J)}),u(()=>{t(P,`ui v0.11.0-rc.4`),h(V,`aria-label`,i(y)?`Close menu`:`Open menu`),h(V,`aria-expanded`,i(y))}),c(`click`,V,x),s(e,T),w()}o([`click`]);var Ve=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"></path><path d="M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"></path><line x1="1" y1="1" x2="23" y2="23"></line><path d="M14.12 14.12a3 3 0 1 1-4.24-4.24"></path></svg>`),He=v(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>`),Ue=e(`<p class="auth-error svelte-1vviwqr" role="alert"> </p>`),We=e(`<span class="spinner"></span>`),Ge=e(`<main class="auth-gate svelte-1vviwqr" aria-label="Admin login gate"><section class="auth-card svelte-1vviwqr"><div class="auth-brand svelte-1vviwqr"><span class="brand-icon svelte-1vviwqr"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-1vviwqr"/></span> <div><h1 class="svelte-1vviwqr">OpenPalm Console</h1> <p class="svelte-1vviwqr">Enter your admin password to unlock the control plane.</p></div></div> <form class="auth-form svelte-1vviwqr"><label for="admin-token" class="svelte-1vviwqr">Admin Password</label> <input type="text" name="username" autocomplete="username" value="admin" class="sr-only svelte-1vviwqr" tabindex="-1" aria-hidden="true"/> <div class="token-input-wrapper svelte-1vviwqr"><input id="admin-token" name="admin-token" placeholder="Enter admin password" autocomplete="current-password" class="svelte-1vviwqr"/> <button type="button" class="btn-toggle svelte-1vviwqr"><!></button></div> <!> <button class="btn btn-primary" type="submit"><!> Unlock Console</button></form></section></main>`);function Ke(e,a){_(a,!0);let o=l(``),d=l(!1),g=l(void 0);async function v(e){e.preventDefault();let t=i(o).trim();if(!t||a.loading){i(g)?.focus();return}await a.onSuccess(t)||(i(g)?.focus(),i(g)?.select())}var y=Ge(),x=S(y),C=f(S(x),2),O=f(f(S(C),2),2),k=S(O);D(k),T(k,e=>p(g,e),()=>i(g));var A=f(k,2),j=S(A),M=e=>{s(e,Ve())},N=e=>{s(e,He())};n(j,e=>{i(d)?e(M):e(N,-1)}),m(A),m(O);var P=f(O,2),F=e=>{var n=Ue(),r=S(n,!0);m(n),u(()=>t(r,a.error)),s(e,n)};n(P,e=>{a.error&&e(F)});var I=f(P,2),L=S(I),R=e=>{s(e,We())};n(L,e=>{a.loading&&e(R)}),E(),m(I),m(C),m(x),m(y),u(e=>{h(k,`type`,i(d)?`text`:`password`),h(A,`aria-label`,i(d)?`Hide token`:`Show token`),I.disabled=e},[()=>a.loading||!i(o).trim()]),r(`submit`,C,v),b(k,()=>i(o),e=>p(o,e)),c(`click`,A,()=>p(d,!i(d))),s(e,y),w()}o([`click`]);export{Z as i,Be as n,$ as r,Ke as t};
@@ -1 +1 @@
1
- import"./BwTF6U35.js";import{i as e,n as t,r as n}from"./BH5NAaCV.js";var r={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};Object.defineProperty({get from(){return n.current?n.current.from:null},get to(){return n.current?n.current.to:null},get type(){return n.current?n.current.type:null},get willUnload(){return n.current?n.current.willUnload:null},get delta(){return n.current?n.current.delta:null},get complete(){return n.current?n.current.complete:null}},"current",{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),t.updated.check;var i=r;export{i as t};
1
+ import"./BwTF6U35.js";import{i as e,n as t,r as n}from"./CmvkId2p.js";var r={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};Object.defineProperty({get from(){return n.current?n.current.from:null},get to(){return n.current?n.current.to:null},get type(){return n.current?n.current.type:null},get willUnload(){return n.current?n.current.willUnload:null},get delta(){return n.current?n.current.delta:null},get complete(){return n.current?n.current.complete:null}},"current",{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),t.updated.check;var i=r;export{i as t};
@@ -0,0 +1,2 @@
1
+ �`�lNe�WE�_=����#M$���D:Ѿ�q|�G���"�Y�U�/b�������i���-�� ���z��K`(�Ř�|�F봧-
2
+ ���l��y�"�@c�h��PxE�)
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.C-6HAZZl.js","../chunks/BwTF6U35.js","../chunks/xihTtKlq.js","../chunks/DXseS2Vw.js","../assets/0.BoT18krG.css","../nodes/1.BL-nh2RB.js","../chunks/DtBQ-3uX.js","../chunks/BH5NAaCV.js","../chunks/BuFlayix.js","../nodes/2.ojh8oE7F.js","../chunks/os2NZ37U.js","../nodes/3.DeAC3yVJ.js","../nodes/4.DVARHw9M.js","../chunks/CF3TKiGr.js","../assets/AuthGate.DKS99Rrq.css","../chunks/Cb_i8bV9.js","../assets/VoiceProfileSelector.Dp7tWdKe.css","../assets/4.D9MwgTDo.css","../nodes/5.BqSl_ppl.js","../assets/5.Cj0Mk9Gn.css","../nodes/6.75q8hd55.js","../assets/6.DJenXolA.css","../nodes/7.CJwMJZue.js","../assets/7.BHUsSUvX.css","../nodes/8.Cb4MWMah.js","../assets/8.DjrHy5wu.css"])))=>i.map(i=>d[i]);
2
- import{A as e,D as t,E as n,H as r,I as i,J as a,M as o,O as s,Q as c,R as l,U as u,V as d,Y as f,Z as p,a as m,b as h,ct as g,et as _,i as v,it as y,k as b,q as x,r as S,rt as C,s as w}from"../chunks/BwTF6U35.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=e(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=e(`<!> <!>`,1);function k(e,v){y(v,!0);let T=m(v,`components`,23,()=>[]),E=m(v,`data_0`,3,null),k=m(v,`data_1`,3,null),A=m(v,`data_2`,3,null);u(()=>v.stores.page.set(v.page)),r(()=>{v.stores,v.page,v.constructors,T(),v.form,E(),k(),A(),v.stores.page.notify()});let j=c(!1),M=c(!1),N=c(null);S(()=>{let e=v.stores.page.subscribe(()=>{i(j)&&(p(M,!0),l().then(()=>{p(N,document.title||`untitled page`,!0)}))});return p(j,!0),e});let P=_(()=>v.constructors[2]);var F=O(),I=a(F),L=e=>{let t=_(()=>v.constructors[0]);var r=b();h(a(r),()=>i(t),(e,t)=>{w(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params},children:(e,t)=>{var r=b(),o=a(r),c=e=>{let t=_(()=>v.constructors[1]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params},children:(e,t)=>{var n=b();h(a(n),()=>i(P),(e,t)=>{w(t(e,{get data(){return A()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),s(e,n)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)},l=e=>{let t=_(()=>v.constructors[1]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)};n(o,e=>{v.constructors[2]?e(c):e(l,-1)}),s(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,r)},R=e=>{let t=_(()=>v.constructors[0]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)};n(I,e=>{v.constructors[1]?e(L):e(R,-1)});var z=f(I,2),B=e=>{var r=D(),a=x(r),c=e=>{var n=o();d(()=>t(n,i(N))),s(e,n)};n(a,e=>{i(M)&&e(c)}),g(r),s(e,r)};n(z,e=>{i(j)&&e(B)}),s(e,F),C()}var A=v(k),j=[()=>T(()=>import(`../nodes/0.C-6HAZZl.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.BL-nh2RB.js`),__vite__mapDeps([5,1,6,7,8,2]),import.meta.url),()=>T(()=>import(`../nodes/2.ojh8oE7F.js`),__vite__mapDeps([9,1,2,10]),import.meta.url),()=>T(()=>import(`../nodes/3.DeAC3yVJ.js`),__vite__mapDeps([11,1,8,2,10]),import.meta.url),()=>T(()=>import(`../nodes/4.DVARHw9M.js`),__vite__mapDeps([12,1,2,3,13,7,8,6,14,15,16,17]),import.meta.url),()=>T(()=>import(`../nodes/5.BqSl_ppl.js`),__vite__mapDeps([18,1,2,3,13,7,8,6,14,19]),import.meta.url),()=>T(()=>import(`../nodes/6.75q8hd55.js`),__vite__mapDeps([20,1,2,13,7,8,6,3,14,21]),import.meta.url),()=>T(()=>import(`../nodes/7.CJwMJZue.js`),__vite__mapDeps([22,1,2,3,13,7,8,6,14,23]),import.meta.url),()=>T(()=>import(`../nodes/8.Cb4MWMah.js`),__vite__mapDeps([24,1,2,15,16,25]),import.meta.url)],M=[],N={"/":[3],"/admin":[4],"/admin/endpoints":[5],"/advanced":[6],"/chat":[7],"/setup":[8,[2]]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.C-6HAZZl.js","../chunks/BwTF6U35.js","../chunks/xihTtKlq.js","../chunks/DXseS2Vw.js","../assets/0.BoT18krG.css","../nodes/1.vc1gswpN.js","../chunks/DTwNbG18.js","../chunks/CmvkId2p.js","../chunks/BuFlayix.js","../nodes/2.ojh8oE7F.js","../chunks/os2NZ37U.js","../nodes/3.DeAC3yVJ.js","../nodes/4.DD0APCkW.js","../chunks/DKrt-Ofe.js","../assets/AuthGate._EJNXKUm.css","../chunks/Cb_i8bV9.js","../assets/VoiceProfileSelector.Dp7tWdKe.css","../assets/4.D9MwgTDo.css","../nodes/5.BIkQUR1G.js","../assets/5.Cj0Mk9Gn.css","../nodes/6.DVDakR8k.js","../assets/6.DJenXolA.css","../nodes/7.wMxDFXAt.js","../assets/7.BimnqtTb.css","../nodes/8.Cb4MWMah.js","../assets/8.DjrHy5wu.css"])))=>i.map(i=>d[i]);
2
+ import{A as e,D as t,E as n,H as r,I as i,J as a,M as o,O as s,Q as c,R as l,U as u,V as d,Y as f,Z as p,a as m,b as h,ct as g,et as _,i as v,it as y,k as b,q as x,r as S,rt as C,s as w}from"../chunks/BwTF6U35.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=e(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=e(`<!> <!>`,1);function k(e,v){y(v,!0);let T=m(v,`components`,23,()=>[]),E=m(v,`data_0`,3,null),k=m(v,`data_1`,3,null),A=m(v,`data_2`,3,null);u(()=>v.stores.page.set(v.page)),r(()=>{v.stores,v.page,v.constructors,T(),v.form,E(),k(),A(),v.stores.page.notify()});let j=c(!1),M=c(!1),N=c(null);S(()=>{let e=v.stores.page.subscribe(()=>{i(j)&&(p(M,!0),l().then(()=>{p(N,document.title||`untitled page`,!0)}))});return p(j,!0),e});let P=_(()=>v.constructors[2]);var F=O(),I=a(F),L=e=>{let t=_(()=>v.constructors[0]);var r=b();h(a(r),()=>i(t),(e,t)=>{w(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params},children:(e,t)=>{var r=b(),o=a(r),c=e=>{let t=_(()=>v.constructors[1]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params},children:(e,t)=>{var n=b();h(a(n),()=>i(P),(e,t)=>{w(t(e,{get data(){return A()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),s(e,n)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)},l=e=>{let t=_(()=>v.constructors[1]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return k()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)};n(o,e=>{v.constructors[2]?e(c):e(l,-1)}),s(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,r)},R=e=>{let t=_(()=>v.constructors[0]);var n=b();h(a(n),()=>i(t),(e,t)=>{w(t(e,{get data(){return E()},get form(){return v.form},get params(){return v.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)};n(I,e=>{v.constructors[1]?e(L):e(R,-1)});var z=f(I,2),B=e=>{var r=D(),a=x(r),c=e=>{var n=o();d(()=>t(n,i(N))),s(e,n)};n(a,e=>{i(M)&&e(c)}),g(r),s(e,r)};n(z,e=>{i(j)&&e(B)}),s(e,F),C()}var A=v(k),j=[()=>T(()=>import(`../nodes/0.C-6HAZZl.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.vc1gswpN.js`),__vite__mapDeps([5,1,6,7,8,2]),import.meta.url),()=>T(()=>import(`../nodes/2.ojh8oE7F.js`),__vite__mapDeps([9,1,2,10]),import.meta.url),()=>T(()=>import(`../nodes/3.DeAC3yVJ.js`),__vite__mapDeps([11,1,8,2,10]),import.meta.url),()=>T(()=>import(`../nodes/4.DD0APCkW.js`),__vite__mapDeps([12,1,2,13,6,7,8,3,14,15,16,17]),import.meta.url),()=>T(()=>import(`../nodes/5.BIkQUR1G.js`),__vite__mapDeps([18,1,2,13,6,7,8,3,14,19]),import.meta.url),()=>T(()=>import(`../nodes/6.DVDakR8k.js`),__vite__mapDeps([20,1,2,13,6,7,8,3,14,21]),import.meta.url),()=>T(()=>import(`../nodes/7.wMxDFXAt.js`),__vite__mapDeps([22,1,2,13,6,7,8,3,14,23]),import.meta.url),()=>T(()=>import(`../nodes/8.Cb4MWMah.js`),__vite__mapDeps([24,1,2,15,16,25]),import.meta.url)],M=[],N={"/":[3],"/admin":[4],"/admin/endpoints":[5],"/advanced":[6],"/chat":[7],"/setup":[8,[2]]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
@@ -0,0 +1 @@
1
+ import{o as e,t}from"../chunks/CmvkId2p.js";export{e as load_css,t as start};
@@ -1 +1 @@
1
- import{A as e,D as t,J as n,O as r,V as i,Y as a,ct as o,it as s,q as c,rt as l}from"../chunks/BwTF6U35.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/DtBQ-3uX.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){s(f,!0);var p=d(),m=n(p),h=c(m,!0);o(m);var g=a(m,2),_=c(g,!0);o(g),i(()=>{t(h,u.status),t(_,u.error?.message)}),r(e,p),l()}export{f as component};
1
+ import{A as e,D as t,J as n,O as r,V as i,Y as a,ct as o,it as s,q as c,rt as l}from"../chunks/BwTF6U35.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/DTwNbG18.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){s(f,!0);var p=d(),m=n(p),h=c(m,!0);o(m);var g=a(m,2),_=c(g,!0);o(g),i(()=>{t(h,u.status),t(_,u.error?.message)}),r(e,p),l()}export{f as component};