@openpalm/ui 0.13.0-beta.1 → 0.13.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/9.vqGkbIg9.css +1 -0
  3. package/build/client/_app/immutable/assets/9.vqGkbIg9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/9.vqGkbIg9.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/BApqEZP1.js +3 -0
  6. package/build/client/_app/immutable/chunks/BApqEZP1.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BApqEZP1.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{D1nSxXur.js → B_jhBV5Z.js} +1 -1
  9. package/build/client/_app/immutable/chunks/B_jhBV5Z.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/B_jhBV5Z.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/C3ad4Ajc.js +1 -0
  12. package/build/client/_app/immutable/chunks/C3ad4Ajc.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/C3ad4Ajc.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/CItB5oU8.js +3 -0
  15. package/build/client/_app/immutable/chunks/CItB5oU8.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/CItB5oU8.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{CvItGqWG.js → DBHgGGCD.js} +1 -1
  18. package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{BMyudKzg.js → DuFsBiCS.js} +1 -1
  21. package/build/client/_app/immutable/chunks/DuFsBiCS.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/DuFsBiCS.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{Db8xkqW6.js → Gis7OmMK.js} +1 -1
  24. package/build/client/_app/immutable/chunks/Gis7OmMK.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/Gis7OmMK.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/S17SDfo_.js +1 -0
  27. package/build/client/_app/immutable/chunks/S17SDfo_.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/S17SDfo_.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.ByeYK7_P.js → app.C4X372ym.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.C4X372ym.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.C4X372ym.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.ggMsTuLf.js +1 -0
  33. package/build/client/_app/immutable/entry/start.ggMsTuLf.js.br +0 -0
  34. package/build/client/_app/immutable/entry/start.ggMsTuLf.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +1 -0
  36. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.DOwkg43h.js → 1.CAn1ptt2.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.CAn1ptt2.js.br +1 -0
  40. package/build/client/_app/immutable/nodes/1.CAn1ptt2.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{10.Cs6atPP0.js → 10.3GZpnfRU.js} +1 -1
  42. package/build/client/_app/immutable/nodes/10.3GZpnfRU.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.3GZpnfRU.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{11.D1ux0xRH.js → 11.D1-UoUiI.js} +2 -2
  45. package/build/client/_app/immutable/nodes/11.D1-UoUiI.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/11.D1-UoUiI.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{4.vRThg0Ke.js → 4.6EwsExLl.js} +1 -1
  48. package/build/client/_app/immutable/nodes/4.6EwsExLl.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.6EwsExLl.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.y3u2P8a-.js → 5.DLFettGd.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.DLFettGd.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.DLFettGd.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/6.inuW_1g7.js +2 -0
  54. package/build/client/_app/immutable/nodes/6.inuW_1g7.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.inuW_1g7.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{7.DQ9bZrdN.js → 7.Dc4BVu5u.js} +2 -2
  57. package/build/client/_app/immutable/nodes/7.Dc4BVu5u.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.Dc4BVu5u.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/9.CJ5rBqR8.js +126 -0
  60. package/build/client/_app/immutable/nodes/9.CJ5rBqR8.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/9.CJ5rBqR8.js.gz +0 -0
  62. package/build/client/_app/version.json +1 -1
  63. package/build/client/_app/version.json.br +1 -1
  64. package/build/client/_app/version.json.gz +0 -0
  65. package/build/server/chunks/{0-D6JYWBmc.js → 0-C44Ua1bY.js} +5 -5
  66. package/build/server/chunks/{0-D6JYWBmc.js.map → 0-C44Ua1bY.js.map} +1 -1
  67. package/build/server/chunks/1-DPdXHBBi.js +9 -0
  68. package/build/server/chunks/{1-QFaO6yhK.js.map → 1-DPdXHBBi.js.map} +1 -1
  69. package/build/server/chunks/{10-BHQuL7xa.js → 10-B6ZAGGzR.js} +3 -3
  70. package/build/server/chunks/{10-BHQuL7xa.js.map → 10-B6ZAGGzR.js.map} +1 -1
  71. package/build/server/chunks/{11-nYH7HWHs.js → 11-Bi4ih8mU.js} +3 -3
  72. package/build/server/chunks/{11-nYH7HWHs.js.map → 11-Bi4ih8mU.js.map} +1 -1
  73. package/build/server/chunks/{3-DflhJGSw.js → 3-DqhvOSLm.js} +7 -7
  74. package/build/server/chunks/{3-DflhJGSw.js.map → 3-DqhvOSLm.js.map} +1 -1
  75. package/build/server/chunks/4-bICPXf8d.js +9 -0
  76. package/build/server/chunks/4-bICPXf8d.js.map +1 -0
  77. package/build/server/chunks/{5-_ostMB1h.js → 5-pYxB3IGQ.js} +3 -3
  78. package/build/server/chunks/{5-_ostMB1h.js.map → 5-pYxB3IGQ.js.map} +1 -1
  79. package/build/server/chunks/6-2tNBfccH.js +9 -0
  80. package/build/server/chunks/6-2tNBfccH.js.map +1 -0
  81. package/build/server/chunks/7-IbStFnJM.js +9 -0
  82. package/build/server/chunks/7-IbStFnJM.js.map +1 -0
  83. package/build/server/chunks/{9-DPtmsJHR.js → 9-PfezrnbG.js} +5 -5
  84. package/build/server/chunks/{9-DPtmsJHR.js.map → 9-PfezrnbG.js.map} +1 -1
  85. package/build/server/chunks/{ChatNavbar-ZxJwQIGL.js → ChatNavbar-f5OrMEL5.js} +8 -8
  86. package/build/server/chunks/{ChatNavbar-ZxJwQIGL.js.map → ChatNavbar-f5OrMEL5.js.map} +1 -1
  87. package/build/server/chunks/{IconServer-ByAeszv0.js → IconServer-C0heXLme.js} +5 -5
  88. package/build/server/chunks/IconServer-C0heXLme.js.map +1 -0
  89. package/build/server/chunks/{IconStop-DFbhUtaJ.js → IconSoundOn-DHtvjphK.js} +4 -10
  90. package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +1 -0
  91. package/build/server/chunks/{format-date-gcou_Av8.js → IconStop-C89_dmt4.js} +9 -3
  92. package/build/server/chunks/IconStop-C89_dmt4.js.map +1 -0
  93. package/build/server/chunks/{_layout.svelte-DFMW9sdO.js → _layout.svelte-BLxvGwKC.js} +5 -3
  94. package/build/server/chunks/_layout.svelte-BLxvGwKC.js.map +1 -0
  95. package/build/server/chunks/{_page.svelte-CborsVrn.js → _page.svelte-BXLl2Q4a.js} +5 -5
  96. package/build/server/chunks/_page.svelte-BXLl2Q4a.js.map +1 -0
  97. package/build/server/chunks/{_page.svelte-DDFJprLE.js → _page.svelte-BgKDQB1v.js} +3 -3
  98. package/build/server/chunks/{_page.svelte-DDFJprLE.js.map → _page.svelte-BgKDQB1v.js.map} +1 -1
  99. package/build/server/chunks/{_page.svelte-Cz3JYioD.js → _page.svelte-Cqsoa84V.js} +11 -11
  100. package/build/server/chunks/_page.svelte-Cqsoa84V.js.map +1 -0
  101. package/build/server/chunks/{_page.svelte-CknIT-b6.js → _page.svelte-DV50Zgo7.js} +3 -3
  102. package/build/server/chunks/{_page.svelte-CknIT-b6.js.map → _page.svelte-DV50Zgo7.js.map} +1 -1
  103. package/build/server/chunks/{_page.svelte-DojSR6TL.js → _page.svelte-DpFvF_2S.js} +30 -14
  104. package/build/server/chunks/_page.svelte-DpFvF_2S.js.map +1 -0
  105. package/build/server/chunks/{_page.svelte-CKJNzmVG.js → _page.svelte-MAzX_A0b.js} +7 -7
  106. package/build/server/chunks/{_page.svelte-CKJNzmVG.js.map → _page.svelte-MAzX_A0b.js.map} +1 -1
  107. package/build/server/chunks/{_page.svelte-BLGF_oAz.js → _page.svelte-fk6X6VPw.js} +11 -11
  108. package/build/server/chunks/{_page.svelte-BLGF_oAz.js.map → _page.svelte-fk6X6VPw.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-BG89__4Y.js → _server.ts-2o4Kzn8i.js} +7 -7
  110. package/build/server/chunks/{_server.ts-BG89__4Y.js.map → _server.ts-2o4Kzn8i.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-DVXK2VD6.js → _server.ts-6-piDAMf.js} +7 -7
  112. package/build/server/chunks/{_server.ts-DVXK2VD6.js.map → _server.ts-6-piDAMf.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-1Vco45Qu.js → _server.ts-6BViNoJ6.js} +6 -6
  114. package/build/server/chunks/{_server.ts-1Vco45Qu.js.map → _server.ts-6BViNoJ6.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-Bj17GHeW.js → _server.ts-B-6OFzv-.js} +6 -6
  116. package/build/server/chunks/{_server.ts-Bj17GHeW.js.map → _server.ts-B-6OFzv-.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-Bbtu4jaC.js → _server.ts-B2iTN8SC.js} +8 -8
  118. package/build/server/chunks/{_server.ts-Bbtu4jaC.js.map → _server.ts-B2iTN8SC.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-B0jGXHG1.js → _server.ts-BB6y3ZlT.js} +6 -6
  120. package/build/server/chunks/{_server.ts-B0jGXHG1.js.map → _server.ts-BB6y3ZlT.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-DrHEkbDq.js → _server.ts-BBxdJ3b2.js} +7 -7
  122. package/build/server/chunks/{_server.ts-DrHEkbDq.js.map → _server.ts-BBxdJ3b2.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-CKcFu8B-.js → _server.ts-BJ27moeF.js} +7 -7
  124. package/build/server/chunks/_server.ts-BJ27moeF.js.map +1 -0
  125. package/build/server/chunks/{_server.ts-D1mP7Ux6.js → _server.ts-BM6hefLc.js} +6 -6
  126. package/build/server/chunks/{_server.ts-D1mP7Ux6.js.map → _server.ts-BM6hefLc.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-BV6i7XBr.js → _server.ts-BNQHTPJK.js} +6 -6
  128. package/build/server/chunks/{_server.ts-BV6i7XBr.js.map → _server.ts-BNQHTPJK.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-CFz_IeN4.js → _server.ts-BNnRODmS.js} +7 -7
  130. package/build/server/chunks/{_server.ts-CFz_IeN4.js.map → _server.ts-BNnRODmS.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-CtiJiKFW.js → _server.ts-BQyuBKbf.js} +6 -6
  132. package/build/server/chunks/{_server.ts-CtiJiKFW.js.map → _server.ts-BQyuBKbf.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-y3HSMNEG.js → _server.ts-BQzhAVgc.js} +2 -2
  134. package/build/server/chunks/{_server.ts-y3HSMNEG.js.map → _server.ts-BQzhAVgc.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Bfkzx4ao.js → _server.ts-BTey3b5e.js} +6 -6
  136. package/build/server/chunks/{_server.ts-Bfkzx4ao.js.map → _server.ts-BTey3b5e.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-B9GH6f46.js → _server.ts-BWeAmxEz.js} +6 -6
  138. package/build/server/chunks/{_server.ts-B9GH6f46.js.map → _server.ts-BWeAmxEz.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-S90K5IJI.js → _server.ts-BageNPqU.js} +7 -7
  140. package/build/server/chunks/{_server.ts-S90K5IJI.js.map → _server.ts-BageNPqU.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-DJxUVpVr.js → _server.ts-BcsSKsVE.js} +6 -6
  142. package/build/server/chunks/{_server.ts-DJxUVpVr.js.map → _server.ts-BcsSKsVE.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-CbkJG3Yk.js → _server.ts-Bd15KCCI.js} +6 -6
  144. package/build/server/chunks/{_server.ts-CbkJG3Yk.js.map → _server.ts-Bd15KCCI.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-BRiu2AFG.js → _server.ts-BiGuckTs.js} +8 -8
  146. package/build/server/chunks/{_server.ts-BRiu2AFG.js.map → _server.ts-BiGuckTs.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-BjEVNsPT.js → _server.ts-BlCDDGQe.js} +6 -6
  148. package/build/server/chunks/{_server.ts-BjEVNsPT.js.map → _server.ts-BlCDDGQe.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-nasuSdo-.js → _server.ts-Bsxn3ZEt.js} +6 -6
  150. package/build/server/chunks/{_server.ts-nasuSdo-.js.map → _server.ts-Bsxn3ZEt.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-9TnX_Hfn.js → _server.ts-BtlVh8sp.js} +3 -3
  152. package/build/server/chunks/{_server.ts-9TnX_Hfn.js.map → _server.ts-BtlVh8sp.js.map} +1 -1
  153. package/build/server/chunks/_server.ts-BunhH3W1.js +58 -0
  154. package/build/server/chunks/_server.ts-BunhH3W1.js.map +1 -0
  155. package/build/server/chunks/{_server.ts-FhE6fUSD.js → _server.ts-BwMkzx-i.js} +7 -7
  156. package/build/server/chunks/{_server.ts-FhE6fUSD.js.map → _server.ts-BwMkzx-i.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-HlB5nMY9.js → _server.ts-Bx0tx6Hd.js} +6 -6
  158. package/build/server/chunks/{_server.ts-HlB5nMY9.js.map → _server.ts-Bx0tx6Hd.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-CyzJdUdD.js → _server.ts-ByVaX_Hp.js} +6 -6
  160. package/build/server/chunks/{_server.ts-CyzJdUdD.js.map → _server.ts-ByVaX_Hp.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-ClO4pSRG.js → _server.ts-C-VVdGFH.js} +6 -6
  162. package/build/server/chunks/{_server.ts-ClO4pSRG.js.map → _server.ts-C-VVdGFH.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-4SFWMa3H.js → _server.ts-C17zuPHB.js} +6 -6
  164. package/build/server/chunks/{_server.ts-4SFWMa3H.js.map → _server.ts-C17zuPHB.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-uqxkiRQ1.js → _server.ts-C24KcaLY.js} +6 -6
  166. package/build/server/chunks/{_server.ts-uqxkiRQ1.js.map → _server.ts-C24KcaLY.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-tchYVZRL.js → _server.ts-C8Tvzew7.js} +2 -2
  168. package/build/server/chunks/{_server.ts-tchYVZRL.js.map → _server.ts-C8Tvzew7.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-Chf0EFLa.js → _server.ts-CA37rdjz.js} +6 -6
  170. package/build/server/chunks/{_server.ts-Chf0EFLa.js.map → _server.ts-CA37rdjz.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-DjFDthjg.js → _server.ts-CBv61dGN.js} +7 -7
  172. package/build/server/chunks/{_server.ts-DjFDthjg.js.map → _server.ts-CBv61dGN.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-HN1FxysS.js → _server.ts-CEgqNbg2.js} +7 -7
  174. package/build/server/chunks/{_server.ts-HN1FxysS.js.map → _server.ts-CEgqNbg2.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Cp6d9DIG.js → _server.ts-CF6j3bbg.js} +6 -6
  176. package/build/server/chunks/{_server.ts-Cp6d9DIG.js.map → _server.ts-CF6j3bbg.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-BYUzlpfe.js → _server.ts-CFlF9O0n.js} +6 -6
  178. package/build/server/chunks/{_server.ts-BYUzlpfe.js.map → _server.ts-CFlF9O0n.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-D2dBUHv-.js → _server.ts-CM8lR2Jk.js} +6 -6
  180. package/build/server/chunks/{_server.ts-D2dBUHv-.js.map → _server.ts-CM8lR2Jk.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-BI2IrCte.js → _server.ts-CMi1odxU.js} +6 -6
  182. package/build/server/chunks/{_server.ts-BI2IrCte.js.map → _server.ts-CMi1odxU.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-1VKTjr08.js → _server.ts-CPolXmaB.js} +7 -7
  184. package/build/server/chunks/{_server.ts-1VKTjr08.js.map → _server.ts-CPolXmaB.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-4eT-crTl.js → _server.ts-CZ-P41xW.js} +6 -6
  186. package/build/server/chunks/{_server.ts-4eT-crTl.js.map → _server.ts-CZ-P41xW.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-Ci1n4eQ3.js → _server.ts-Cc6blM9a.js} +6 -6
  188. package/build/server/chunks/{_server.ts-Ci1n4eQ3.js.map → _server.ts-Cc6blM9a.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-B8p1cZWN.js → _server.ts-CcFK2dxk.js} +6 -6
  190. package/build/server/chunks/{_server.ts-B8p1cZWN.js.map → _server.ts-CcFK2dxk.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-Db2X5ulY.js → _server.ts-CfB1cDLU.js} +7 -7
  192. package/build/server/chunks/{_server.ts-Db2X5ulY.js.map → _server.ts-CfB1cDLU.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-CXt9azl0.js → _server.ts-ChK8wuma.js} +6 -6
  194. package/build/server/chunks/{_server.ts-CXt9azl0.js.map → _server.ts-ChK8wuma.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-Cg_4-N8w.js → _server.ts-ClJrWUgt.js} +2 -2
  196. package/build/server/chunks/{_server.ts-Cg_4-N8w.js.map → _server.ts-ClJrWUgt.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-at5EQV31.js → _server.ts-CpMO1w5D.js} +8 -8
  198. package/build/server/chunks/{_server.ts-at5EQV31.js.map → _server.ts-CpMO1w5D.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-BeCTOV2T.js → _server.ts-CpwGXL04.js} +6 -6
  200. package/build/server/chunks/{_server.ts-BeCTOV2T.js.map → _server.ts-CpwGXL04.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-Y4JoeA12.js → _server.ts-CrUHXfa7.js} +6 -6
  202. package/build/server/chunks/{_server.ts-Y4JoeA12.js.map → _server.ts-CrUHXfa7.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-DJFB76Z4.js → _server.ts-CtNaQ39q.js} +6 -6
  204. package/build/server/chunks/{_server.ts-DJFB76Z4.js.map → _server.ts-CtNaQ39q.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-CYY3W2qh.js → _server.ts-Cu39Y3ON.js} +10 -10
  206. package/build/server/chunks/_server.ts-Cu39Y3ON.js.map +1 -0
  207. package/build/server/chunks/{_server.ts-Rv6Qmjnm.js → _server.ts-CyHlj4Xc.js} +6 -6
  208. package/build/server/chunks/{_server.ts-Rv6Qmjnm.js.map → _server.ts-CyHlj4Xc.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-BvwD-tU2.js → _server.ts-CyMs8VXZ.js} +4 -4
  210. package/build/server/chunks/{_server.ts-BvwD-tU2.js.map → _server.ts-CyMs8VXZ.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-Q1zB1kiD.js → _server.ts-CydVYzX1.js} +6 -6
  212. package/build/server/chunks/{_server.ts-Q1zB1kiD.js.map → _server.ts-CydVYzX1.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-B7jtS1rc.js → _server.ts-CyiErd_B.js} +9 -9
  214. package/build/server/chunks/{_server.ts-B7jtS1rc.js.map → _server.ts-CyiErd_B.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-GuptvcVQ.js → _server.ts-Czl57SUr.js} +6 -6
  216. package/build/server/chunks/{_server.ts-GuptvcVQ.js.map → _server.ts-Czl57SUr.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-C1k-QptM.js → _server.ts-D7I9KZ4H.js} +6 -6
  218. package/build/server/chunks/{_server.ts-C1k-QptM.js.map → _server.ts-D7I9KZ4H.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-B46NQmKl.js → _server.ts-DDweV2eg.js} +6 -6
  220. package/build/server/chunks/{_server.ts-B46NQmKl.js.map → _server.ts-DDweV2eg.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-c64R3qMS.js → _server.ts-DFq2AVjG.js} +6 -6
  222. package/build/server/chunks/{_server.ts-c64R3qMS.js.map → _server.ts-DFq2AVjG.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-BG50sNod.js → _server.ts-DPJJQkZp.js} +6 -6
  224. package/build/server/chunks/{_server.ts-BG50sNod.js.map → _server.ts-DPJJQkZp.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-C7wn5VUY.js → _server.ts-DQFO2xa9.js} +6 -6
  226. package/build/server/chunks/{_server.ts-C7wn5VUY.js.map → _server.ts-DQFO2xa9.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-D81J9NzU.js → _server.ts-DYS4PknE.js} +6 -6
  228. package/build/server/chunks/{_server.ts-D81J9NzU.js.map → _server.ts-DYS4PknE.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-C7uAOfo3.js → _server.ts-DcBrsY-a.js} +8 -8
  230. package/build/server/chunks/{_server.ts-C7uAOfo3.js.map → _server.ts-DcBrsY-a.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-C_qRsJI2.js → _server.ts-DcZIXa7_.js} +6 -6
  232. package/build/server/chunks/{_server.ts-C_qRsJI2.js.map → _server.ts-DcZIXa7_.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-y7XlQItn.js → _server.ts-DdWIcyaa.js} +2 -2
  234. package/build/server/chunks/{_server.ts-y7XlQItn.js.map → _server.ts-DdWIcyaa.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-BLxV2y7p.js → _server.ts-DhZ0i-VZ.js} +7 -7
  236. package/build/server/chunks/{_server.ts-BLxV2y7p.js.map → _server.ts-DhZ0i-VZ.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-DvKpBV-Y.js → _server.ts-DiY7qGzB.js} +2 -2
  238. package/build/server/chunks/{_server.ts-DvKpBV-Y.js.map → _server.ts-DiY7qGzB.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-DhfQc2ah.js → _server.ts-DkWPvbVT.js} +6 -6
  240. package/build/server/chunks/{_server.ts-DhfQc2ah.js.map → _server.ts-DkWPvbVT.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-MvwnQkPT.js → _server.ts-DmuQV3XR.js} +4 -4
  242. package/build/server/chunks/{_server.ts-MvwnQkPT.js.map → _server.ts-DmuQV3XR.js.map} +1 -1
  243. package/build/server/chunks/{_server.ts-BFOoXmaJ.js → _server.ts-DprY8V8n.js} +6 -6
  244. package/build/server/chunks/{_server.ts-BFOoXmaJ.js.map → _server.ts-DprY8V8n.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-CQIXn8xb.js → _server.ts-Dr7DPWfx.js} +7 -7
  246. package/build/server/chunks/{_server.ts-CQIXn8xb.js.map → _server.ts-Dr7DPWfx.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-C5NMGLvR.js → _server.ts-DsRKY-Kc.js} +6 -6
  248. package/build/server/chunks/{_server.ts-C5NMGLvR.js.map → _server.ts-DsRKY-Kc.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-Bu-Ie_Mc.js → _server.ts-DtY45qj6.js} +6 -6
  250. package/build/server/chunks/{_server.ts-Bu-Ie_Mc.js.map → _server.ts-DtY45qj6.js.map} +1 -1
  251. package/build/server/chunks/{_server.ts-Dk7RL-D7.js → _server.ts-DxbCMYot.js} +6 -6
  252. package/build/server/chunks/{_server.ts-Dk7RL-D7.js.map → _server.ts-DxbCMYot.js.map} +1 -1
  253. package/build/server/chunks/{_server.ts-BUE0dmBz.js → _server.ts-DzO2o8u_.js} +6 -6
  254. package/build/server/chunks/{_server.ts-BUE0dmBz.js.map → _server.ts-DzO2o8u_.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-DPw-9Fvz.js → _server.ts-G80g1-Vi.js} +6 -6
  256. package/build/server/chunks/{_server.ts-DPw-9Fvz.js.map → _server.ts-G80g1-Vi.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-CTKwaXm1.js → _server.ts-RjE7mkg4.js} +6 -6
  258. package/build/server/chunks/{_server.ts-CTKwaXm1.js.map → _server.ts-RjE7mkg4.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-C0Zlu5Xy.js → _server.ts-SqpxZ5hM.js} +6 -6
  260. package/build/server/chunks/{_server.ts-C0Zlu5Xy.js.map → _server.ts-SqpxZ5hM.js.map} +1 -1
  261. package/build/server/chunks/{_server.ts-DTOMs2Oo.js → _server.ts-TecIejZG.js} +7 -7
  262. package/build/server/chunks/{_server.ts-DTOMs2Oo.js.map → _server.ts-TecIejZG.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-CUPbFKq2.js → _server.ts-UMlNzGum.js} +6 -6
  264. package/build/server/chunks/{_server.ts-CUPbFKq2.js.map → _server.ts-UMlNzGum.js.map} +1 -1
  265. package/build/server/chunks/{_server.ts-DK409rto.js → _server.ts-WTL-RZDk.js} +6 -6
  266. package/build/server/chunks/{_server.ts-DK409rto.js.map → _server.ts-WTL-RZDk.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-DW3mRh_v.js → _server.ts-YQAFFkYo.js} +7 -7
  268. package/build/server/chunks/{_server.ts-DW3mRh_v.js.map → _server.ts-YQAFFkYo.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-CP02aPdv.js → _server.ts-ZkptKFXP.js} +6 -6
  270. package/build/server/chunks/{_server.ts-CP02aPdv.js.map → _server.ts-ZkptKFXP.js.map} +1 -1
  271. package/build/server/chunks/{_server.ts-CHuyT9rF.js → _server.ts-opJkoWRS.js} +6 -6
  272. package/build/server/chunks/{_server.ts-CHuyT9rF.js.map → _server.ts-opJkoWRS.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-rPbq-4rb.js → _server.ts-s_DZwJLK.js} +6 -6
  274. package/build/server/chunks/{_server.ts-rPbq-4rb.js.map → _server.ts-s_DZwJLK.js.map} +1 -1
  275. package/build/server/chunks/{_server.ts-C43E5b3d.js → _server.ts-ukIYk-_Z.js} +6 -6
  276. package/build/server/chunks/{_server.ts-C43E5b3d.js.map → _server.ts-ukIYk-_Z.js.map} +1 -1
  277. package/build/server/chunks/{_server.ts-CMwOXeFC.js → _server.ts-vXf4p_i0.js} +7 -7
  278. package/build/server/chunks/{_server.ts-CMwOXeFC.js.map → _server.ts-vXf4p_i0.js.map} +1 -1
  279. package/build/server/chunks/{addon-helpers-Cpj40OF3.js → addon-helpers-CEjIrSBN.js} +3 -3
  280. package/build/server/chunks/{addon-helpers-Cpj40OF3.js.map → addon-helpers-CEjIrSBN.js.map} +1 -1
  281. package/build/server/chunks/{akm-D8uSJNzt.js → akm-rRfSaKvH.js} +2 -2
  282. package/build/server/chunks/{akm-D8uSJNzt.js.map → akm-rRfSaKvH.js.map} +1 -1
  283. package/build/server/chunks/{catalog-C9ClLZ62.js → catalog-DMG_Bwji.js} +5 -5
  284. package/build/server/chunks/{catalog-C9ClLZ62.js.map → catalog-DMG_Bwji.js.map} +1 -1
  285. package/build/server/chunks/{client-utk4T8Jl.js → client-BvFq2PRx.js} +2 -2
  286. package/build/server/chunks/{client-utk4T8Jl.js.map → client-BvFq2PRx.js.map} +1 -1
  287. package/build/server/chunks/{compose-args2-cix5m26E.js → compose-args2-C39WGM9r.js} +2 -2
  288. package/build/server/chunks/compose-args2-C39WGM9r.js.map +1 -0
  289. package/build/server/chunks/{config-BV78mCrh.js → config-BndRz7Yl.js} +2 -2
  290. package/build/server/chunks/{config-BV78mCrh.js.map → config-BndRz7Yl.js.map} +1 -1
  291. package/build/server/chunks/{connections-api-CpQ5k7QC.js → connections-api-BvJpsZBj.js} +2 -2
  292. package/build/server/chunks/{connections-api-CpQ5k7QC.js.map → connections-api-BvJpsZBj.js.map} +1 -1
  293. package/build/server/chunks/{docker2-DqIy9JYf.js → docker2-Ba2Whd9Y.js} +2 -2
  294. package/build/server/chunks/docker2-Ba2Whd9Y.js.map +1 -0
  295. package/build/server/chunks/{docker3-DvrSgFLt.js → docker3-DhaO_Pxj.js} +2 -2
  296. package/build/server/chunks/{docker3-DvrSgFLt.js.map → docker3-DhaO_Pxj.js.map} +1 -1
  297. package/build/server/chunks/{endpoints-CU3ehglV.js → endpoints-CuL8lAcu.js} +3 -3
  298. package/build/server/chunks/{endpoints-CU3ehglV.js.map → endpoints-CuL8lAcu.js.map} +1 -1
  299. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  300. package/build/server/chunks/{error.svelte-B9DQG_Wh.js → error.svelte-C8Qx6FF6.js} +4 -4
  301. package/build/server/chunks/{error.svelte-B9DQG_Wh.js.map → error.svelte-C8Qx6FF6.js.map} +1 -1
  302. package/build/server/chunks/{features-DLGlNjZX.js → features-WsEodW5F.js} +3 -3
  303. package/build/server/chunks/{features-DLGlNjZX.js.map → features-WsEodW5F.js.map} +1 -1
  304. package/build/server/chunks/{helpers-7BvhniSt.js → helpers-XmKveZFr.js} +4 -4
  305. package/build/server/chunks/{helpers-7BvhniSt.js.map → helpers-XmKveZFr.js.map} +1 -1
  306. package/build/server/chunks/{hooks.server-CwIkB_d8.js → hooks.server-o4bkPFRD.js} +21 -15
  307. package/build/server/chunks/hooks.server-o4bkPFRD.js.map +1 -0
  308. package/build/server/chunks/{http-D0qKwTqb.js → http-CL5QncYd.js} +2 -2
  309. package/build/server/chunks/{http-D0qKwTqb.js.map → http-CL5QncYd.js.map} +1 -1
  310. package/build/server/chunks/{internal-CVxYC2gp.js → internal-D66tKQSe.js} +3 -3
  311. package/build/server/chunks/{internal-CVxYC2gp.js.map → internal-D66tKQSe.js.map} +1 -1
  312. package/build/server/chunks/{landing-BAWznbys.js → landing-DvVXSE_x.js} +46 -9
  313. package/build/server/chunks/landing-DvVXSE_x.js.map +1 -0
  314. package/build/server/chunks/{paths-lkOb-n87.js → paths-BpdOajoE.js} +2 -2
  315. package/build/server/chunks/{paths-lkOb-n87.js.map → paths-BpdOajoE.js.map} +1 -1
  316. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js +72 -0
  317. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +1 -0
  318. package/build/server/chunks/{session-cookie-WuIYBiMY.js → session-cookie-B0Fc-L8S.js} +2 -2
  319. package/build/server/chunks/{session-cookie-WuIYBiMY.js.map → session-cookie-B0Fc-L8S.js.map} +1 -1
  320. package/build/server/chunks/{setup-deploy-DaMn6d6g.js → setup-deploy-BjJIt1Gf.js} +2 -2
  321. package/build/server/chunks/{setup-deploy-DaMn6d6g.js.map → setup-deploy-BjJIt1Gf.js.map} +1 -1
  322. package/build/server/chunks/{src-CS2sSYOR.js → src-i2v6xhSC.js} +4 -4
  323. package/build/server/chunks/{src-CS2sSYOR.js.map → src-i2v6xhSC.js.map} +1 -1
  324. package/build/server/chunks/{state-BRh7vs9j.js → state-fVG29xFj.js} +2 -2
  325. package/build/server/chunks/{state-BRh7vs9j.js.map → state-fVG29xFj.js.map} +1 -1
  326. package/build/server/chunks/{state2-COVNCCTq.js → state2-Dl7-d1h_.js} +2 -2
  327. package/build/server/chunks/{state2-COVNCCTq.js.map → state2-Dl7-d1h_.js.map} +1 -1
  328. package/build/server/chunks/{voice-state.svelte-bOoc1Vo0.js → voice-state.svelte-BAiqUOIX.js} +2 -2
  329. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +1 -0
  330. package/build/server/index.js +1 -1
  331. package/build/server/manifest.js +102 -95
  332. package/build/server/manifest.js.map +1 -1
  333. package/package.json +3 -3
  334. package/build/client/_app/immutable/assets/9.B0-fGtW-.css +0 -1
  335. package/build/client/_app/immutable/assets/9.B0-fGtW-.css.br +0 -0
  336. package/build/client/_app/immutable/assets/9.B0-fGtW-.css.gz +0 -0
  337. package/build/client/_app/immutable/chunks/BLc6D58Y.js +0 -3
  338. package/build/client/_app/immutable/chunks/BLc6D58Y.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/BLc6D58Y.js.gz +0 -0
  340. package/build/client/_app/immutable/chunks/BMyudKzg.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/BMyudKzg.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/BNkLu9ey.js +0 -3
  343. package/build/client/_app/immutable/chunks/BNkLu9ey.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/BNkLu9ey.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/BkqRukKX.js +0 -1
  346. package/build/client/_app/immutable/chunks/BkqRukKX.js.br +0 -2
  347. package/build/client/_app/immutable/chunks/BkqRukKX.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/CvItGqWG.js.br +0 -0
  349. package/build/client/_app/immutable/chunks/CvItGqWG.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/D1nSxXur.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/D1nSxXur.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/DIM-KrDw.js +0 -1
  353. package/build/client/_app/immutable/chunks/DIM-KrDw.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/DIM-KrDw.js.gz +0 -0
  355. package/build/client/_app/immutable/chunks/Db8xkqW6.js.br +0 -0
  356. package/build/client/_app/immutable/chunks/Db8xkqW6.js.gz +0 -0
  357. package/build/client/_app/immutable/entry/app.ByeYK7_P.js.br +0 -0
  358. package/build/client/_app/immutable/entry/app.ByeYK7_P.js.gz +0 -0
  359. package/build/client/_app/immutable/entry/start.kykyp6T0.js +0 -1
  360. package/build/client/_app/immutable/entry/start.kykyp6T0.js.br +0 -1
  361. package/build/client/_app/immutable/entry/start.kykyp6T0.js.gz +0 -0
  362. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js +0 -1
  363. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/1.DOwkg43h.js.br +0 -0
  366. package/build/client/_app/immutable/nodes/1.DOwkg43h.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.br +0 -0
  370. package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.gz +0 -0
  371. package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js +0 -2
  376. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.br +0 -0
  379. package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.gz +0 -0
  380. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js +0 -126
  381. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.br +0 -0
  382. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.gz +0 -0
  383. package/build/server/chunks/1-QFaO6yhK.js +0 -9
  384. package/build/server/chunks/4-dgm3mFwb.js +0 -9
  385. package/build/server/chunks/4-dgm3mFwb.js.map +0 -1
  386. package/build/server/chunks/6-Bz787Ixu.js +0 -9
  387. package/build/server/chunks/6-Bz787Ixu.js.map +0 -1
  388. package/build/server/chunks/7-Cs4tQiJY.js +0 -9
  389. package/build/server/chunks/7-Cs4tQiJY.js.map +0 -1
  390. package/build/server/chunks/IconServer-ByAeszv0.js.map +0 -1
  391. package/build/server/chunks/IconStop-DFbhUtaJ.js.map +0 -1
  392. package/build/server/chunks/_layout.svelte-DFMW9sdO.js.map +0 -1
  393. package/build/server/chunks/_page.svelte-CborsVrn.js.map +0 -1
  394. package/build/server/chunks/_page.svelte-Cz3JYioD.js.map +0 -1
  395. package/build/server/chunks/_page.svelte-DojSR6TL.js.map +0 -1
  396. package/build/server/chunks/_server.ts-CKcFu8B-.js.map +0 -1
  397. package/build/server/chunks/_server.ts-CYY3W2qh.js.map +0 -1
  398. package/build/server/chunks/compose-args2-cix5m26E.js.map +0 -1
  399. package/build/server/chunks/docker2-DqIy9JYf.js.map +0 -1
  400. package/build/server/chunks/format-date-gcou_Av8.js.map +0 -1
  401. package/build/server/chunks/hooks.server-CwIkB_d8.js.map +0 -1
  402. package/build/server/chunks/landing-BAWznbys.js.map +0 -1
  403. package/build/server/chunks/runtime-context.svelte-FZapSP7A.js +0 -24
  404. package/build/server/chunks/runtime-context.svelte-FZapSP7A.js.map +0 -1
  405. package/build/server/chunks/voice-state.svelte-bOoc1Vo0.js.map +0 -1
  406. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css → IconSoundOn.BsTA83Hx.css} +0 -0
  407. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css.br → IconSoundOn.BsTA83Hx.css.br} +0 -0
  408. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css.gz → IconSoundOn.BsTA83Hx.css.gz} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice-state.svelte-bOoc1Vo0.js","sources":["../../../.svelte-kit/adapter-node/chunks/voice-state.svelte.js"],"sourcesContent":["import \"./dev.js\";\nimport { t as toSpeakableText } from \"./speakable-text.js\";\n//#region src/lib/notifications.svelte.ts\nvar DEFAULT_TIMEOUTS = {\n\tinfo: 4e3,\n\tsuccess: 5e3,\n\terror: 8e3\n};\nvar Notifications = class {\n\ttoasts = [];\n\ttimers = /* @__PURE__ */ new Map();\n\tpush(kind, message, opts = {}) {\n\t\tconst id = opts.replaceId ?? (typeof crypto !== \"undefined\" && \"randomUUID\" in crypto ? crypto.randomUUID() : `t-${Date.now()}-${Math.random().toString(36).slice(2)}`);\n\t\tconst ttlMs = opts.sticky ? null : opts.ttlMs ?? DEFAULT_TIMEOUTS[kind];\n\t\tconst toast = {\n\t\t\tid,\n\t\t\tkind,\n\t\t\tmessage,\n\t\t\tttlMs\n\t\t};\n\t\tconst existingTimer = this.timers.get(id);\n\t\tif (existingTimer) {\n\t\t\tclearTimeout(existingTimer);\n\t\t\tthis.timers.delete(id);\n\t\t}\n\t\tconst existingIdx = this.toasts.findIndex((t) => t.id === id);\n\t\tif (existingIdx >= 0) {\n\t\t\tconst next = [...this.toasts];\n\t\t\tnext[existingIdx] = toast;\n\t\t\tthis.toasts = next;\n\t\t} else this.toasts = [...this.toasts, toast];\n\t\tif (ttlMs !== null) {\n\t\t\tconst timer = setTimeout(() => this.dismiss(id), ttlMs);\n\t\t\tthis.timers.set(id, timer);\n\t\t}\n\t\treturn id;\n\t}\n\tdismiss(id) {\n\t\tconst timer = this.timers.get(id);\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\tthis.timers.delete(id);\n\t\t}\n\t\tthis.toasts = this.toasts.filter((t) => t.id !== id);\n\t}\n\tclear() {\n\t\tfor (const timer of this.timers.values()) clearTimeout(timer);\n\t\tthis.timers.clear();\n\t\tthis.toasts = [];\n\t}\n};\nvar notifications = new Notifications();\n//#endregion\n//#region src/lib/theme-state.svelte.ts\nvar THEME_STORAGE_KEY = \"openpalm.theme\";\nvar THEME_ATTR = \"data-theme\";\nvar DARK_THEME_COLOR = \"#161c22\";\nvar LIGHT_THEME_COLOR = \"#f9fafb\";\nfunction isThemePreference(value) {\n\treturn value === \"light\" || value === \"dark\" || value === \"system\";\n}\nvar ThemeService = class {\n\tpreference = \"system\";\n\tresolved = \"light\";\n\tinitialized = false;\n\t#mediaQuery = null;\n\t#mediaChangeHandler = () => {\n\t\tif (this.preference !== \"system\") return;\n\t\tthis.resolved = this.#resolvePreference(\"system\");\n\t\tthis.#applyResolvedTheme();\n\t};\n\tinit() {\n\t\tif (typeof window === \"undefined\" || this.initialized) return;\n\t\tthis.preference = this.#readStoredPreference();\n\t\tthis.resolved = this.#resolvePreference(this.preference);\n\t\tthis.#subscribeToSystemTheme();\n\t\tthis.#applyResolvedTheme();\n\t\tthis.initialized = true;\n\t}\n\tsetPreference(preference) {\n\t\tthis.preference = preference;\n\t\tthis.resolved = this.#resolvePreference(preference);\n\t\tthis.#writeStoredPreference(preference);\n\t\tthis.#applyResolvedTheme();\n\t}\n\ttoggle() {\n\t\tconst next = this.preference === \"system\" ? \"light\" : this.preference === \"light\" ? \"dark\" : \"system\";\n\t\tthis.setPreference(next);\n\t}\n\tdispose() {\n\t\tif (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === \"function\") this.#mediaQuery.removeEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse this.#mediaQuery.removeListener(this.#mediaChangeHandler);\n\t\tthis.#mediaQuery = null;\n\t\tthis.initialized = false;\n\t}\n\t#readStoredPreference() {\n\t\tif (typeof window === \"undefined\") return \"system\";\n\t\ttry {\n\t\t\tconst stored = window.localStorage.getItem(THEME_STORAGE_KEY);\n\t\t\treturn isThemePreference(stored) ? stored : \"system\";\n\t\t} catch {\n\t\t\treturn \"system\";\n\t\t}\n\t}\n\t#writeStoredPreference(preference) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.localStorage.setItem(THEME_STORAGE_KEY, preference);\n\t\t} catch {}\n\t}\n\t#resolvePreference(preference) {\n\t\tif (preference === \"light\" || preference === \"dark\") return preference;\n\t\tif (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return \"light\";\n\t\treturn window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n\t}\n\t#subscribeToSystemTheme() {\n\t\tif (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return;\n\t\tconst nextQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n\t\tif (this.#mediaQuery === nextQuery) return;\n\t\tif (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === \"function\") this.#mediaQuery.removeEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse this.#mediaQuery.removeListener(this.#mediaChangeHandler);\n\t\tthis.#mediaQuery = nextQuery;\n\t\tif (typeof nextQuery.addEventListener === \"function\") nextQuery.addEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse nextQuery.addListener(this.#mediaChangeHandler);\n\t}\n\t#applyResolvedTheme() {\n\t\tif (typeof document === \"undefined\") return;\n\t\tconst root = document.documentElement;\n\t\troot.setAttribute(THEME_ATTR, this.resolved);\n\t\troot.style.colorScheme = this.resolved;\n\t\tconst themeColorMeta = document.querySelector(\"meta[name=\\\"theme-color\\\"]\");\n\t\tif (themeColorMeta) themeColorMeta.content = this.resolved === \"dark\" ? DARK_THEME_COLOR : LIGHT_THEME_COLOR;\n\t\tconst colorSchemeMeta = document.querySelector(\"meta[name=\\\"color-scheme\\\"]\");\n\t\tif (colorSchemeMeta) colorSchemeMeta.content = this.resolved;\n\t}\n};\nvar themeService = new ThemeService();\n//#endregion\n//#region src/lib/voice/media-recorder.ts\nvar PREFERRED_MIME_TYPES = [\"audio/webm;codecs=opus\", \"audio/webm\"];\nfunction pickMimeType() {\n\tconst MR = globalThis.MediaRecorder;\n\tif (!MR || typeof MR.isTypeSupported !== \"function\") return void 0;\n\tfor (const t of PREFERRED_MIME_TYPES) if (MR.isTypeSupported(t)) return t;\n}\nasync function startRecording() {\n\tif (typeof window === \"undefined\") throw new Error(\"Recording is only available in the browser.\");\n\tif (typeof MediaRecorder === \"undefined\") throw new Error(\"Recording is not supported in this browser.\");\n\tif (!navigator?.mediaDevices?.getUserMedia) throw new Error(\"Recording is not supported in this browser.\");\n\tlet stream;\n\ttry {\n\t\tstream = await navigator.mediaDevices.getUserMedia({ audio: true });\n\t} catch (err) {\n\t\tconst name = err?.name ?? \"\";\n\t\tif (name === \"NotAllowedError\" || name === \"SecurityError\") throw new Error(\"Microphone access denied. Open System Settings → Privacy & Security → Microphone and enable OpenPalm, then restart the app.\", { cause: err });\n\t\tif (name === \"NotFoundError\" || name === \"OverconstrainedError\") throw new Error(\"No microphone was found. Plug in a microphone and try again.\", { cause: err });\n\t\tthrow new Error(`Microphone error: ${err?.message ?? String(err)}`, { cause: err });\n\t}\n\treturn createRecorderSession(stream, true);\n}\n/**\n* Record from an existing MediaStream. Conversation mode records many\n* short utterance segments from one long-lived capture stream, so the\n* caller owns the stream — stop()/cancel() end the recorder but leave\n* the tracks live.\n*/\nfunction recordFromStream(stream) {\n\tif (typeof MediaRecorder === \"undefined\") throw new Error(\"Recording is not supported in this browser.\");\n\treturn createRecorderSession(stream, false);\n}\nfunction createRecorderSession(stream, ownsStream) {\n\tconst mimeType = pickMimeType();\n\tconst recorder = mimeType ? new MediaRecorder(stream, { mimeType }) : new MediaRecorder(stream);\n\tconst chunks = [];\n\trecorder.addEventListener(\"dataavailable\", (ev) => {\n\t\tconst data = ev.data;\n\t\tif (data && data.size > 0) chunks.push(data);\n\t});\n\tlet stopped = false;\n\tlet cancelled = false;\n\tlet stopResolve = null;\n\tlet stopReject = null;\n\tfunction releaseTracks() {\n\t\tif (!ownsStream) return;\n\t\tfor (const track of stream.getTracks()) try {\n\t\t\ttrack.stop();\n\t\t} catch {}\n\t}\n\trecorder.addEventListener(\"stop\", () => {\n\t\treleaseTracks();\n\t\tif (cancelled) return;\n\t\tconst blob = new Blob(chunks, { type: recorder.mimeType || mimeType || \"audio/webm\" });\n\t\tstopResolve?.(blob);\n\t});\n\trecorder.addEventListener(\"error\", (ev) => {\n\t\treleaseTracks();\n\t\tconst err = ev?.error ?? /* @__PURE__ */ new Error(\"Recorder error\");\n\t\tstopReject?.(err);\n\t});\n\trecorder.start();\n\treturn {\n\t\tstop() {\n\t\t\tif (stopped) return Promise.reject(/* @__PURE__ */ new Error(\"Recorder already stopped\"));\n\t\t\tstopped = true;\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tstopResolve = resolve;\n\t\t\t\tstopReject = reject;\n\t\t\t\ttry {\n\t\t\t\t\tif (recorder.state !== \"inactive\") recorder.stop();\n\t\t\t\t} catch (err) {\n\t\t\t\t\treleaseTracks();\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tcancel() {\n\t\t\tif (stopped) return;\n\t\t\tstopped = true;\n\t\t\tcancelled = true;\n\t\t\ttry {\n\t\t\t\tif (recorder.state !== \"inactive\") recorder.stop();\n\t\t\t} catch {}\n\t\t\treleaseTracks();\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/voice/vad.ts\n/**\n* Tuned for a close mic with echoCancellation/noiseSuppression on.\n* Open-speaker setups (assistant audible to the mic) may need `threshold`\n* raised so TTS playback doesn't trigger the detector; echoCancellation\n* makes typical laptop speaker+mic setups workable as-is.\n*/\nvar DEFAULT_VAD_CONFIG = {\n\tthreshold: .02,\n\tstartFrames: 3,\n\tendSilenceMs: 900,\n\tframeIntervalMs: 50\n};\n/**\n* Derive the effective speech threshold from ambient RMS samples collected\n* during the calibration window. Uses the 20th percentile of the samples as\n* the noise floor so a user who starts talking during calibration cannot\n* inflate it — loud speech frames land in the upper percentiles and are\n* ignored. The base threshold is a hard lower bound, so a very quiet room\n* never loosens the gate below the tuned default.\n*/\nfunction calibrateThreshold(samples, base) {\n\tif (samples.length === 0) return base;\n\tconst sorted = [...samples].sort((a, b) => a - b);\n\tconst floor = sorted[Math.floor((sorted.length - 1) * .2)];\n\treturn Math.max(base, floor * 2.75);\n}\n/**\n* Stricter gate applied while the assistant is speaking: 3x the effective\n* (calibrated) threshold and ~400ms of sustained speech (8 frames at 50ms)\n* before a start fires, so TTS bleed and brief noise cannot open a segment\n* mid-reply. End detection keeps the same silence window.\n*/\nfunction deriveStrictVadConfig(base) {\n\treturn {\n\t\t...base,\n\t\tthreshold: base.threshold * 3,\n\t\tstartFrames: 8\n\t};\n}\nfunction initialVadState() {\n\treturn {\n\t\tspeaking: false,\n\t\taboveCount: 0,\n\t\tsilenceMs: 0\n\t};\n}\n/**\n* Advance the hysteresis state machine by one sampled frame. Pure — the\n* caller owns the state and feeds one RMS level per frameIntervalMs.\n*/\nfunction advanceVad(state, rms, config) {\n\tconst above = rms >= config.threshold;\n\tif (!state.speaking) {\n\t\tconst aboveCount = above ? state.aboveCount + 1 : 0;\n\t\tif (aboveCount >= config.startFrames) return {\n\t\t\tstate: {\n\t\t\t\tspeaking: true,\n\t\t\t\taboveCount: 0,\n\t\t\t\tsilenceMs: 0\n\t\t\t},\n\t\t\tevent: \"speech-start\"\n\t\t};\n\t\treturn {\n\t\t\tstate: {\n\t\t\t\tspeaking: false,\n\t\t\t\taboveCount,\n\t\t\t\tsilenceMs: 0\n\t\t\t},\n\t\t\tevent: null\n\t\t};\n\t}\n\tconst silenceMs = above ? 0 : state.silenceMs + config.frameIntervalMs;\n\tif (silenceMs >= config.endSilenceMs) return {\n\t\tstate: {\n\t\t\tspeaking: false,\n\t\t\taboveCount: 0,\n\t\t\tsilenceMs: 0\n\t\t},\n\t\tevent: \"speech-end\"\n\t};\n\treturn {\n\t\tstate: {\n\t\t\tspeaking: true,\n\t\t\taboveCount: 0,\n\t\t\tsilenceMs\n\t\t},\n\t\tevent: null\n\t};\n}\n/**\n* Normalized RMS (0..1) of a time-domain byte buffer as produced by\n* AnalyserNode.getByteTimeDomainData, where 128 is the zero crossing.\n*/\nfunction computeRms(samples) {\n\tif (samples.length === 0) return 0;\n\tlet sum = 0;\n\tfor (let i = 0; i < samples.length; i++) {\n\t\tconst deviation = (samples[i] - 128) / 128;\n\t\tsum += deviation * deviation;\n\t}\n\treturn Math.sqrt(sum / samples.length);\n}\n/**\n* Open the mic and run the detector until stop(). echoCancellation and\n* noiseSuppression keep the assistant's own TTS playback (mostly) out of\n* the capture on laptop speaker+mic setups.\n*/\nasync function startVad(opts) {\n\tif (typeof window === \"undefined\" || !navigator?.mediaDevices?.getUserMedia) throw new Error(\"Voice detection is not supported in this browser.\");\n\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\tif (!Ctor) throw new Error(\"Voice detection is not supported in this browser.\");\n\tlet stream;\n\ttry {\n\t\tstream = await navigator.mediaDevices.getUserMedia({ audio: {\n\t\t\techoCancellation: true,\n\t\t\tnoiseSuppression: true\n\t\t} });\n\t} catch (err) {\n\t\tconst name = err?.name ?? \"\";\n\t\tif (name === \"NotAllowedError\" || name === \"SecurityError\") throw new Error(\"Microphone access denied.\", { cause: err });\n\t\tthrow new Error(`Microphone error: ${err?.message ?? String(err)}`, { cause: err });\n\t}\n\tconst baseConfig = opts.config ?? DEFAULT_VAD_CONFIG;\n\tconst ctx = new Ctor();\n\tconst source = ctx.createMediaStreamSource(stream);\n\tconst analyser = ctx.createAnalyser();\n\tanalyser.fftSize = 1024;\n\tsource.connect(analyser);\n\tconst samples = new Uint8Array(analyser.fftSize);\n\tlet state = initialVadState();\n\tconst calibrationSamples = [];\n\tlet config = baseConfig;\n\tlet strictConfig = deriveStrictVadConfig(baseConfig);\n\tlet calibrated = false;\n\tconst timer = setInterval(() => {\n\t\tanalyser.getByteTimeDomainData(samples);\n\t\tconst rms = computeRms(samples);\n\t\tif (!calibrated) {\n\t\t\tcalibrationSamples.push(rms);\n\t\t\tif (calibrationSamples.length >= 20) {\n\t\t\t\tconfig = {\n\t\t\t\t\t...baseConfig,\n\t\t\t\t\tthreshold: calibrateThreshold(calibrationSamples, baseConfig.threshold)\n\t\t\t\t};\n\t\t\t\tstrictConfig = deriveStrictVadConfig(config);\n\t\t\t\tcalibrated = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst active = opts.isAssistantSpeaking?.() ? strictConfig : config;\n\t\tconst next = advanceVad(state, rms, active);\n\t\tstate = next.state;\n\t\tif (next.event === \"speech-start\") opts.onSpeechStart();\n\t\telse if (next.event === \"speech-end\") opts.onSpeechEnd();\n\t}, baseConfig.frameIntervalMs);\n\treturn {\n\t\tstream,\n\t\tstop() {\n\t\t\tclearInterval(timer);\n\t\t\ttry {\n\t\t\t\tsource.disconnect();\n\t\t\t} catch {}\n\t\t\tctx.close().catch(() => {});\n\t\t\tfor (const track of stream.getTracks()) try {\n\t\t\t\ttrack.stop();\n\t\t\t} catch {}\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/api/core.ts\nvar apiBase = \"\";\nfunction buildHeaders() {\n\treturn {\n\t\t\"x-request-id\": crypto.randomUUID(),\n\t\t\"x-requested-by\": \"ui\"\n\t};\n}\nasync function request(method, path, body, init) {\n\tconst headers = {\n\t\t...body !== void 0 ? { \"content-type\": \"application/json\" } : {},\n\t\t...buildHeaders()\n\t};\n\treturn fetch(`${apiBase}${path}`, {\n\t\t...init,\n\t\tmethod,\n\t\theaders,\n\t\tcredentials: \"include\",\n\t\t...body !== void 0 ? { body: JSON.stringify(body) } : {}\n\t});\n}\nasync function readErrorMessage(res, fallback = `Request failed (HTTP ${res.status})`) {\n\tif ((res.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\tconst data = await res.clone().json().catch((e) => {\n\t\t\tconsole.warn(\"[api] Failed to parse JSON error response:\", e);\n\t\t\treturn null;\n\t\t});\n\t\tif (data && typeof data.message === \"string\" && data.message.length > 0) return data.message;\n\t\tif (data && typeof data.error === \"string\" && data.error.length > 0) return data.error;\n\t}\n\treturn await res.text().catch((e) => {\n\t\tconsole.warn(\"[api] Failed to read error response text:\", e);\n\t\treturn \"\";\n\t}) || fallback;\n}\n/** Throw on 401; throw readErrorMessage on non-OK. Returns the response. */\nasync function requireOk(res, fallback) {\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) throw Object.assign(new Error(await readErrorMessage(res, fallback)), { status: res.status });\n\treturn res;\n}\n//#endregion\n//#region src/lib/api/voice.ts\nasync function fetchVoiceConfig() {\n\treturn await (await requireOk(await request(\"GET\", \"/api/host/voice\"))).json();\n}\n/**\n* POST a recorded audio Blob to /api/transcribe.\n*\n* Goes through the SvelteKit server-side proxy (cookie-auth) which\n* forwards to the configured STT_BASE_URL. Returns the transcript text.\n*/\nasync function transcribeAudio(blob, opts) {\n\tconst form = new FormData();\n\tform.append(\"audio\", blob, \"recording.webm\");\n\tif (opts?.language) form.append(\"language\", opts.language);\n\tif (opts?.prompt) form.append(\"prompt\", opts.prompt);\n\tconst data = await (await requireOk(await fetch(\"/api/transcribe\", {\n\t\tmethod: \"POST\",\n\t\theaders: buildHeaders(),\n\t\tcredentials: \"include\",\n\t\tbody: form\n\t}))).json();\n\treturn typeof data.text === \"string\" ? data.text : \"\";\n}\n//#endregion\n//#region src/lib/voice/audio-playback.ts\n/**\n* AudioPlaybackController — the imperative TTS audio engine extracted from\n* voice-state.svelte.ts. Owns the speak queue, the HTMLAudioElement +\n* blob-URL lifecycle, the browser autoplay-policy fallback, and the\n* per-utterance playback (playOne). The reactive `voiceState` store\n* composes an instance of this and delegates speak/resume/stop to it.\n*\n* The controller never holds reactive `$state` itself — it mutates the\n* host store's reactive fields (status / errorMessage / autoplayBlocked)\n* through the `AudioPlaybackHost` it is constructed with, exactly as the\n* old module-global engine mutated `voiceState` directly.\n*\n* Only touch browser APIs (window, Audio, AudioContext, speechSynthesis)\n* from methods — never at construction — for SSR safety.\n*/\nvar SPEAK_QUEUE_MAX = 20;\nvar AudioPlaybackController = class {\n\thost;\n\t/**\n\t* Optional hook fired when the speak queue fully drains (the last\n\t* utterance reached a terminal state with nothing queued behind it).\n\t* Conversation mode uses this to re-arm listening — an explicit\n\t* callback instead of polling reactive status. Deliberately NOT fired\n\t* from stop(): an explicit stop (barge-in, toggle off) must not re-arm\n\t* anything by itself.\n\t*/\n\tonQueueDrained = null;\n\tactiveAudio = null;\n\tactiveAudioUrl = null;\n\tspeakQueue = [];\n\tbusy = false;\n\tgeneration = 0;\n\toverflowNoticed = false;\n\tpendingAutoplayAudio = null;\n\tpendingAutoplayUrl = null;\n\tconstructor(host) {\n\t\tthis.host = host;\n\t}\n\t/**\n\t* Play a 1-frame silent AudioBuffer through a transient AudioContext to\n\t* register the current user gesture with the browser's autoplay policy.\n\t* Safe to call repeatedly; failures are swallowed.\n\t*/\n\tprimeForAutoplay() {\n\t\tif (typeof window === \"undefined\") return;\n\t\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\t\tif (!Ctor) return;\n\t\ttry {\n\t\t\tconst ctx = new Ctor();\n\t\t\tconst buffer = ctx.createBuffer(1, 1, 22050);\n\t\t\tconst source = ctx.createBufferSource();\n\t\t\tsource.buffer = buffer;\n\t\t\tsource.connect(ctx.destination);\n\t\t\tsource.start(0);\n\t\t\tsetTimeout(() => {\n\t\t\t\tctx.close().catch(() => {});\n\t\t\t}, 100);\n\t\t} catch {}\n\t}\n\tteardownActiveAudio() {\n\t\tif (this.activeAudio) {\n\t\t\tthis.activeAudio.onerror = null;\n\t\t\tthis.activeAudio.onended = null;\n\t\t\ttry {\n\t\t\t\tthis.activeAudio.pause();\n\t\t\t} catch {}\n\t\t\tthis.activeAudio.src = \"\";\n\t\t\tthis.activeAudio = null;\n\t\t}\n\t\tif (this.activeAudioUrl) {\n\t\t\tURL.revokeObjectURL(this.activeAudioUrl);\n\t\t\tthis.activeAudioUrl = null;\n\t\t}\n\t}\n\tteardownPendingAutoplay() {\n\t\tif (this.pendingAutoplayAudio) {\n\t\t\tthis.pendingAutoplayAudio.onerror = null;\n\t\t\tthis.pendingAutoplayAudio.onended = null;\n\t\t\ttry {\n\t\t\t\tthis.pendingAutoplayAudio.pause();\n\t\t\t} catch {}\n\t\t\tthis.pendingAutoplayAudio.src = \"\";\n\t\t\tthis.pendingAutoplayAudio = null;\n\t\t}\n\t\tif (this.pendingAutoplayUrl) {\n\t\t\tURL.revokeObjectURL(this.pendingAutoplayUrl);\n\t\t\tthis.pendingAutoplayUrl = null;\n\t\t}\n\t\tthis.host.autoplayBlocked = false;\n\t}\n\t/**\n\t* User clicked the \"click to resume\" banner — promote the stashed audio\n\t* to the active slot and play. Called from VoiceControl's banner button;\n\t* the click on the button itself satisfies the autoplay-policy gesture\n\t* requirement.\n\t*/\n\tresume() {\n\t\tconst a = this.pendingAutoplayAudio;\n\t\tif (!a) {\n\t\t\tthis.host.autoplayBlocked = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.host.autoplayBlocked = false;\n\t\tthis.host.errorMessage = \"\";\n\t\tthis.host.status = \"speaking\";\n\t\tthis.busy = true;\n\t\tthis.activeAudio = a;\n\t\tthis.activeAudioUrl = this.pendingAutoplayUrl;\n\t\tthis.pendingAutoplayAudio = null;\n\t\tthis.pendingAutoplayUrl = null;\n\t\ta.play().catch(() => {\n\t\t\tthis.host.status = \"idle\";\n\t\t\tthis.host.errorMessage = \"Audio playback failed.\";\n\t\t\tthis.teardownActiveAudio();\n\t\t\tthis.drainNext();\n\t\t});\n\t}\n\t/**\n\t* Read text aloud. Tries server-side TTS via /api/speak first (when the\n\t* configured engine is openpalm-voice or remote); falls back to browser\n\t* speech synthesis. Silent no-op if neither path is available.\n\t*\n\t* If a previous utterance is still synthesizing, playing, or stashed\n\t* behind an autoplay block, queues this one (FIFO, cap 20) instead of\n\t* cutting it off mid-sentence.\n\t*/\n\tasync speak(text) {\n\t\tif (typeof window === \"undefined\" || !text.trim()) return;\n\t\tif (this.busy) {\n\t\t\tthis.speakQueue.push(text);\n\t\t\tlet dropped = 0;\n\t\t\twhile (this.speakQueue.length > SPEAK_QUEUE_MAX) {\n\t\t\t\tthis.speakQueue.shift();\n\t\t\t\tdropped += 1;\n\t\t\t}\n\t\t\tif (dropped > 0 && !this.overflowNoticed) {\n\t\t\t\tthis.overflowNoticed = true;\n\t\t\t\tnotifications.push(\"info\", `Skipped ${dropped} spoken ${dropped === 1 ? \"reply\" : \"replies\"} — too much overlap. Lower the auto-speak chat rate.`);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tawait this.playOne(text);\n\t}\n\t/**\n\t* Advance the pump: play the next queued utterance, or release the busy\n\t* flag so a future speak() can start a fresh burst. Every terminal path\n\t* of an utterance must land here (or hold `busy` deliberately, as the\n\t* autoplay-block stash does).\n\t*/\n\tdrainNext() {\n\t\tconst next = this.speakQueue.shift();\n\t\tif (next) this.playOne(next);\n\t\telse {\n\t\t\tthis.busy = false;\n\t\t\tthis.overflowNoticed = false;\n\t\t\tthis.onQueueDrained?.();\n\t\t}\n\t}\n\t/** Internal: actually trigger the audio for one text chunk. */\n\tasync playOne(text) {\n\t\tif (typeof window === \"undefined\") return;\n\t\tthis.busy = true;\n\t\tconst gen = this.generation;\n\t\tconst speakableText = toSpeakableText(text);\n\t\tif (!speakableText) {\n\t\t\tthis.drainNext();\n\t\t\treturn;\n\t\t}\n\t\tthis.teardownActiveAudio();\n\t\tif (\"speechSynthesis\" in window) window.speechSynthesis.cancel();\n\t\tthis.host.errorMessage = \"\";\n\t\tconst engine = this.host.ttsEngine;\n\t\tconst useServer = engine === \"openpalm-voice\" || engine === \"remote\";\n\t\tif (useServer) {\n\t\t\tlet res;\n\t\t\ttry {\n\t\t\t\tres = await fetch(\"/api/speak\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tcredentials: \"include\",\n\t\t\t\t\tbody: JSON.stringify({ text: speakableText })\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t\tif (gen !== this.generation) return;\n\t\t\tif (res?.ok && res.headers.get(\"content-type\")?.startsWith(\"audio/\")) {\n\t\t\t\tconst blob = await res.blob();\n\t\t\t\tif (gen !== this.generation) return;\n\t\t\t\tconst url = URL.createObjectURL(blob);\n\t\t\t\tconst audio = new Audio(url);\n\t\t\t\tthis.activeAudio = audio;\n\t\t\t\tthis.activeAudioUrl = url;\n\t\t\t\taudio.onended = () => {\n\t\t\t\t\tthis.host.status = \"idle\";\n\t\t\t\t\tthis.teardownActiveAudio();\n\t\t\t\t\tthis.drainNext();\n\t\t\t\t};\n\t\t\t\taudio.onerror = () => {\n\t\t\t\t\tthis.host.status = \"idle\";\n\t\t\t\t\tthis.host.errorMessage = \"Audio playback failed.\";\n\t\t\t\t\tthis.teardownActiveAudio();\n\t\t\t\t\tthis.drainNext();\n\t\t\t\t};\n\t\t\t\tthis.host.status = \"speaking\";\n\t\t\t\ttry {\n\t\t\t\t\tawait audio.play();\n\t\t\t\t} catch {\n\t\t\t\t\tthis.host.status = \"idle\";\n\t\t\t\t\tthis.pendingAutoplayAudio = audio;\n\t\t\t\t\tthis.pendingAutoplayUrl = url;\n\t\t\t\t\tthis.activeAudio = null;\n\t\t\t\t\tthis.activeAudioUrl = null;\n\t\t\t\t\tthis.host.autoplayBlocked = true;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (res && !res.ok) {\n\t\t\t\tconst errMsg = await this.extractSpeakError(res);\n\t\t\t\tthis.host.errorMessage = errMsg;\n\t\t\t}\n\t\t}\n\t\tif (!(\"speechSynthesis\" in window)) {\n\t\t\tthis.drainNext();\n\t\t\treturn;\n\t\t}\n\t\tif (useServer) this.host.errorMessage = \"\";\n\t\tconst utterance = new SpeechSynthesisUtterance(speakableText);\n\t\tutterance.onstart = () => {\n\t\t\tif (gen !== this.generation) return;\n\t\t\tthis.host.status = \"speaking\";\n\t\t};\n\t\tutterance.onend = () => {\n\t\t\tif (gen !== this.generation) return;\n\t\t\tthis.host.status = \"idle\";\n\t\t\tthis.drainNext();\n\t\t};\n\t\tutterance.onerror = () => {\n\t\t\tif (gen !== this.generation) return;\n\t\t\tthis.host.status = \"idle\";\n\t\t\tthis.drainNext();\n\t\t};\n\t\twindow.speechSynthesis.speak(utterance);\n\t}\n\t/**\n\t* Convert a non-OK /api/speak response into a human-readable string.\n\t* Recognises the two common shapes the route returns; falls back to a\n\t* generic message keyed off the HTTP status.\n\t*/\n\tasync extractSpeakError(res) {\n\t\tlet code;\n\t\ttry {\n\t\t\tconst data = await res.clone().json();\n\t\t\tif (typeof data.error === \"string\") code = data.error;\n\t\t} catch {}\n\t\tif (code === \"tts_not_configured\") return \"TTS is not configured.\";\n\t\tif (code === \"upstream_error\" || res.status === 502 || res.status === 503) return \"Voice engine is warming up — try again in a moment.\";\n\t\treturn `TTS failed (HTTP ${res.status}).`;\n\t}\n\t/** Cancel speech synthesis. Drops the entire queue. */\n\tstop() {\n\t\tthis.speakQueue.length = 0;\n\t\tthis.busy = false;\n\t\tthis.generation += 1;\n\t\tthis.overflowNoticed = false;\n\t\tthis.teardownPendingAutoplay();\n\t\tthis.teardownActiveAudio();\n\t\tif (typeof window !== \"undefined\" && \"speechSynthesis\" in window) window.speechSynthesis.cancel();\n\t\tthis.host.status = \"idle\";\n\t}\n};\n//#endregion\n//#region src/lib/voice/voice-state.svelte.ts\nvar MAX_RECORDING_MS = 6e4;\nvar VoiceState = class {\n\tstatus = \"idle\";\n\t/** True when the configured STT engine is actually usable from this browser. */\n\tsttSupported = false;\n\tttsSupported = false;\n\terrorMessage = \"\";\n\t/** Partial transcript text while browser STT is mid-utterance. Cleared on stop/error. */\n\tinterimTranscript = \"\";\n\t/** Active engine resolved from /admin/voice. */\n\tsttEngine = \"disabled\";\n\tttsEngine = \"disabled\";\n\t/** Optional language hint (forwarded to /api/transcribe). */\n\tsttLanguage = \"\";\n\t/** Global toggle: when true, assistant chat replies are spoken automatically. */\n\tttsAutoEnabled = false;\n\t/**\n\t* True when an audio.play() was rejected by the browser's autoplay\n\t* policy and we have a pending utterance waiting for a user gesture.\n\t* The chat UI renders a small \"click to resume\" banner; clicking it\n\t* calls resumeAutoplay() to actually play.\n\t*/\n\tautoplayBlocked = false;\n\t/**\n\t* True while hands-free conversation mode owns the mic (the chat page's\n\t* listen → deliver → speak → listen loop). `status` keeps cycling\n\t* through the normal VoiceStatus values while this is set.\n\t*/\n\tconversationActive = false;\n\t/**\n\t* Set when the configured STT engine is technically present in the\n\t* window but known to fail at runtime on this UA (e.g. iOS Safari\n\t* exposes SpeechRecognition but `start()` immediately errors with\n\t* `service-not-allowed`). The Voice settings tab uses this to hide or\n\t* disable the Browser STT card with the reason as a tooltip.\n\t*/\n\tbrowserSttUnsupportedReason = \"\";\n};\nvar voiceState = new VoiceState();\n/**\n* The imperative TTS audio engine (speak queue, blob-URL lifecycle,\n* autoplay fallback, playOne). The reactive store composes it and\n* delegates the exported speak/resume/stop wrappers below to it; the\n* controller mutates `voiceState`'s reactive fields in place.\n*/\nvar audioPlayback = new AudioPlaybackController(voiceState);\naudioPlayback.onQueueDrained = () => {\n\tif (voiceState.conversationActive && voiceState.status === \"idle\") voiceState.status = \"recording\";\n};\nvar TTS_AUTO_STORAGE_KEY = \"openpalm.tts.auto\";\nvar activeRecording = null;\nvar activeRecognition = null;\nvar recordingTimeout = null;\nvar activeOnResult = null;\nvar conversationRecognition = null;\nvar conversationOnUtterance = null;\nvar conversationSilenceTimer = null;\nvar conversationVad = null;\nvar conversationSegment = null;\nvar conversationSegmentTimeout = null;\n/** Silence after a final browser-STT result before the utterance is delivered. */\nvar CONVERSATION_UTTERANCE_SILENCE_MS = 800;\n/** Hard cap on a single VAD-detected speech segment (remote engine). */\nvar CONVERSATION_SEGMENT_MAX_MS = 3e4;\nvar ttsWarmupFired = false;\n/**\n* Fire-and-forget one priming POST to /api/speak so the voice container is\n* warm before the first real utterance. The response body is discarded and\n* the audio never plays. Server-TTS engines only — browser TTS has no\n* container to warm.\n*/\nfunction warmUpTts() {\n\tif (ttsWarmupFired) return;\n\tif (voiceState.ttsEngine !== \"remote\" && voiceState.ttsEngine !== \"openpalm-voice\") return;\n\tif (typeof window === \"undefined\") return;\n\tttsWarmupFired = true;\n\tfetch(\"/api/speak\", {\n\t\tmethod: \"POST\",\n\t\theaders: { \"content-type\": \"application/json\" },\n\t\tcredentials: \"include\",\n\t\tbody: JSON.stringify({ text: \"ok\" })\n\t}).catch(() => {});\n}\n/** Resolve the SpeechRecognition constructor (Chrome prefixes it). */\nfunction getSpeechRecognitionCtor() {\n\tif (typeof window === \"undefined\") return void 0;\n\treturn window.SpeechRecognition ?? window.webkitSpeechRecognition ?? void 0;\n}\n/**\n* iOS Safari (and all WebKit-based browsers on iOS — Chrome/Edge/Firefox\n* on iOS are required by Apple to use WebKit) exposes SpeechRecognition\n* but `start()` immediately fires `error: service-not-allowed`. Detect\n* the UA up front so the picker can hide the Browser STT card rather\n* than let the user click a mic that silently does nothing.\n*\n* `MSStream` excludes old IE on Windows Phone, which used to spoof iPad\n* in the UA; harmless on modern browsers (always undefined).\n*/\nfunction isIosSafari() {\n\tif (typeof navigator === \"undefined\") return false;\n\tconst ua = navigator.userAgent ?? \"\";\n\tconst isIos = /iPad|iPhone|iPod/.test(ua);\n\tconst msStream = window.MSStream;\n\treturn isIos && !msStream;\n}\nfunction isMediaRecorderSupported() {\n\tif (typeof window === \"undefined\") return false;\n\tif (typeof MediaRecorder === \"undefined\") return false;\n\tif (!navigator?.mediaDevices?.getUserMedia) return false;\n\treturn true;\n}\nfunction resolveEngineSupport(engine) {\n\tswitch (engine) {\n\t\tcase \"browser\":\n\t\t\tif (voiceState.browserSttUnsupportedReason) return false;\n\t\t\treturn Boolean(getSpeechRecognitionCtor());\n\t\tcase \"remote\":\n\t\tcase \"openpalm-voice\": return isMediaRecorderSupported();\n\t\tdefault: return false;\n\t}\n}\nfunction normalizeEngine(raw) {\n\tif (raw === \"browser\" || raw === \"browser-stt\") return \"browser\";\n\tif (raw === \"openpalm-voice\") return \"openpalm-voice\";\n\tif (raw && !raw.startsWith(\"skip-\")) return \"remote\";\n\treturn \"disabled\";\n}\n/**\n* Probe browser capabilities and resolve which STT engine is active.\n* Must be called from onMount or $effect (client-side only).\n*/\nasync function initVoice() {\n\tconst browserTts = typeof window !== \"undefined\" && \"speechSynthesis\" in window;\n\tif (typeof window !== \"undefined\") try {\n\t\tvoiceState.ttsAutoEnabled = window.localStorage.getItem(TTS_AUTO_STORAGE_KEY) === \"1\";\n\t} catch {}\n\ttry {\n\t\tconst cfg = await fetchVoiceConfig();\n\t\tconst stt = cfg.stt ?? {};\n\t\tconst tts = cfg.tts ?? {};\n\t\tconst rawSttEngine = typeof stt.engine === \"string\" ? stt.engine : \"\";\n\t\tconst rawTtsEngine = typeof tts.engine === \"string\" ? tts.engine : \"\";\n\t\tvoiceState.sttLanguage = typeof stt.language === \"string\" ? stt.language : \"\";\n\t\tvoiceState.sttEngine = normalizeEngine(rawSttEngine);\n\t\tvoiceState.ttsEngine = normalizeEngine(rawTtsEngine);\n\t} catch {\n\t\tvoiceState.sttEngine = \"disabled\";\n\t\tvoiceState.ttsEngine = \"disabled\";\n\t}\n\tvoiceState.ttsSupported = voiceState.ttsEngine === \"openpalm-voice\" || voiceState.ttsEngine === \"remote\" || voiceState.ttsEngine === \"browser\" && browserTts;\n\tif (isIosSafari() && getSpeechRecognitionCtor()) {\n\t\tvoiceState.browserSttUnsupportedReason = \"iOS Safari does not support Web Speech recognition\";\n\t\tif (voiceState.sttEngine === \"browser\") voiceState.sttEngine = \"disabled\";\n\t} else voiceState.browserSttUnsupportedReason = \"\";\n\tif (voiceState.sttEngine === \"disabled\" && getSpeechRecognitionCtor() && !voiceState.browserSttUnsupportedReason) voiceState.sttEngine = \"browser\";\n\tif (voiceState.ttsEngine === \"disabled\" && browserTts) {\n\t\tvoiceState.ttsEngine = \"browser\";\n\t\tvoiceState.ttsSupported = true;\n\t}\n\tvoiceState.sttSupported = resolveEngineSupport(voiceState.sttEngine);\n}\n/**\n* Begin speech recognition. Transcript is delivered to `onResult`.\n* Calling while already listening is a no-op.\n*/\nfunction startListening(onResult) {\n\tif (voiceState.conversationActive) stopConversation();\n\tif (voiceState.status === \"recording\" || voiceState.status === \"transcribing\") return;\n\tif (!voiceState.sttSupported || voiceState.sttEngine === \"disabled\") {\n\t\tvoiceState.errorMessage = \"Speech recognition is not available.\";\n\t\treturn;\n\t}\n\tvoiceState.errorMessage = \"\";\n\tactiveOnResult = onResult;\n\tif (voiceState.sttEngine === \"browser\") {\n\t\tstartBrowserRecognition(onResult);\n\t\treturn;\n\t}\n\tstartRemoteRecording();\n}\nfunction startBrowserRecognition(onResult) {\n\tconst SR = getSpeechRecognitionCtor();\n\tif (!SR) {\n\t\tvoiceState.errorMessage = \"Speech recognition is not supported in this browser.\";\n\t\treturn;\n\t}\n\tconst instance = new SR();\n\tactiveRecognition = instance;\n\tinstance.lang = voiceState.sttLanguage || navigator?.language || \"en-US\";\n\tinstance.interimResults = true;\n\tinstance.maxAlternatives = 1;\n\tinstance.continuous = false;\n\tlet finalAccumulated = \"\";\n\tinstance.onresult = (event) => {\n\t\tlet interim = \"\";\n\t\tfor (let i = event.resultIndex; i < event.results.length; i++) {\n\t\t\tconst result = event.results[i];\n\t\t\tif (result.isFinal) finalAccumulated += result[0]?.transcript ?? \"\";\n\t\t\telse interim += result[0]?.transcript ?? \"\";\n\t\t}\n\t\tvoiceState.interimTranscript = finalAccumulated + interim;\n\t};\n\tinstance.onerror = (event) => {\n\t\tif (activeRecognition !== instance) return;\n\t\tconst error = event.error ?? \"\";\n\t\tif (error === \"no-speech\" || error === \"aborted\") {} else if (error === \"not-allowed\") voiceState.errorMessage = \"Microphone access denied.\";\n\t\telse voiceState.errorMessage = `Speech error: ${error}`;\n\t\tvoiceState.interimTranscript = \"\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t};\n\tinstance.onend = () => {\n\t\tif (activeRecognition !== instance) return;\n\t\tif (finalAccumulated.trim() && onResult) onResult(finalAccumulated.trim());\n\t\tvoiceState.interimTranscript = \"\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t};\n\ttry {\n\t\tinstance.start();\n\t\tvoiceState.status = \"recording\";\n\t} catch {\n\t\tvoiceState.errorMessage = \"Failed to start speech recognition.\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t}\n}\nasync function startRemoteRecording() {\n\tlet session;\n\ttry {\n\t\tsession = await startRecording();\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Failed to start recording.\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveOnResult = null;\n\t\treturn;\n\t}\n\tactiveRecording = session;\n\tvoiceState.status = \"recording\";\n\trecordingTimeout = setTimeout(() => {\n\t\tfinalizeRecording();\n\t}, MAX_RECORDING_MS);\n}\nasync function finalizeRecording() {\n\tconst session = activeRecording;\n\tconst onResult = activeOnResult;\n\tif (!session) return;\n\tactiveRecording = null;\n\tactiveOnResult = null;\n\tif (recordingTimeout) {\n\t\tclearTimeout(recordingTimeout);\n\t\trecordingTimeout = null;\n\t}\n\tvoiceState.status = \"transcribing\";\n\tlet blob;\n\ttry {\n\t\tblob = await session.stop();\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Recording failed.\";\n\t\tvoiceState.status = \"idle\";\n\t\treturn;\n\t}\n\tif (blob.size === 0) {\n\t\tvoiceState.status = \"idle\";\n\t\treturn;\n\t}\n\ttry {\n\t\tconst trimmed = (await transcribeAudio(blob, { language: voiceState.sttLanguage || void 0 })).trim();\n\t\tif (trimmed && onResult) onResult(trimmed);\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Transcription failed.\";\n\t} finally {\n\t\tvoiceState.status = \"idle\";\n\t}\n}\n/** Stop the active recording session (whichever engine). */\nfunction stopListening() {\n\tif (activeRecognition) {\n\t\ttry {\n\t\t\tactiveRecognition.stop();\n\t\t} catch {}\n\t\treturn;\n\t}\n\tif (activeRecording) finalizeRecording();\n}\n/**\n* Abort any single-shot capture without delivering a transcript. Nulling\n* the handles first makes the pending onend/onerror callbacks no-ops\n* (they guard on instance identity).\n*/\nfunction cancelSingleShot() {\n\tif (recordingTimeout) {\n\t\tclearTimeout(recordingTimeout);\n\t\trecordingTimeout = null;\n\t}\n\tif (activeRecording) {\n\t\ttry {\n\t\t\tactiveRecording.cancel();\n\t\t} catch {}\n\t\tactiveRecording = null;\n\t}\n\tif (activeRecognition) {\n\t\tconst instance = activeRecognition;\n\t\tactiveRecognition = null;\n\t\ttry {\n\t\t\tinstance.stop();\n\t\t} catch {}\n\t}\n\tactiveOnResult = null;\n\tvoiceState.interimTranscript = \"\";\n\tif (voiceState.status === \"recording\") voiceState.status = \"idle\";\n}\nfunction clearConversationSilenceTimer() {\n\tif (conversationSilenceTimer) {\n\t\tclearTimeout(conversationSilenceTimer);\n\t\tconversationSilenceTimer = null;\n\t}\n}\n/**\n* Begin hands-free conversation mode. Whole utterances (bounded by a\n* silence window) are delivered to `onUtterance` until stopConversation().\n* Takes the mic from any in-flight single-shot capture.\n*/\nfunction startConversation(onUtterance) {\n\tif (voiceState.conversationActive) return;\n\tif (!voiceState.sttSupported || voiceState.sttEngine === \"disabled\") {\n\t\tvoiceState.errorMessage = \"Speech recognition is not available.\";\n\t\treturn;\n\t}\n\tcancelSingleShot();\n\twarmUpTts();\n\tvoiceState.errorMessage = \"\";\n\tvoiceState.conversationActive = true;\n\tconversationOnUtterance = onUtterance;\n\tif (voiceState.sttEngine === \"browser\") {\n\t\tstartConversationRecognition();\n\t\treturn;\n\t}\n\tstartConversationVad();\n}\n/** Exit conversation mode and tear down the listening loop (whichever engine). */\nfunction stopConversation() {\n\tif (!voiceState.conversationActive) return;\n\tvoiceState.conversationActive = false;\n\tconversationOnUtterance = null;\n\tclearConversationSilenceTimer();\n\tif (conversationSegmentTimeout) {\n\t\tclearTimeout(conversationSegmentTimeout);\n\t\tconversationSegmentTimeout = null;\n\t}\n\tif (conversationRecognition) {\n\t\tconst instance = conversationRecognition;\n\t\tconversationRecognition = null;\n\t\ttry {\n\t\t\tinstance.stop();\n\t\t} catch {}\n\t}\n\tif (conversationSegment) {\n\t\ttry {\n\t\t\tconversationSegment.cancel();\n\t\t} catch {}\n\t\tconversationSegment = null;\n\t}\n\tif (conversationVad) {\n\t\tconversationVad.stop();\n\t\tconversationVad = null;\n\t}\n\tvoiceState.interimTranscript = \"\";\n\tif (voiceState.status === \"recording\" || voiceState.status === \"transcribing\") voiceState.status = \"idle\";\n}\nfunction startConversationRecognition() {\n\tconst SR = getSpeechRecognitionCtor();\n\tif (!SR) {\n\t\tvoiceState.errorMessage = \"Speech recognition is not supported in this browser.\";\n\t\tstopConversation();\n\t\treturn;\n\t}\n\tconst instance = new SR();\n\tconversationRecognition = instance;\n\tinstance.lang = voiceState.sttLanguage || navigator?.language || \"en-US\";\n\tinstance.interimResults = true;\n\tinstance.maxAlternatives = 1;\n\tinstance.continuous = true;\n\tlet finalPending = \"\";\n\tconst deliver = () => {\n\t\tclearConversationSilenceTimer();\n\t\tconst text = finalPending.trim();\n\t\tfinalPending = \"\";\n\t\tvoiceState.interimTranscript = \"\";\n\t\tif (text && conversationOnUtterance) conversationOnUtterance(text);\n\t};\n\tinstance.onresult = (event) => {\n\t\tif (conversationRecognition !== instance) return;\n\t\tif (voiceState.status === \"speaking\") {\n\t\t\tstopSpeaking();\n\t\t\tvoiceState.status = \"recording\";\n\t\t}\n\t\tlet interim = \"\";\n\t\tfor (let i = event.resultIndex; i < event.results.length; i++) {\n\t\t\tconst result = event.results[i];\n\t\t\tif (result.isFinal) finalPending += result[0]?.transcript ?? \"\";\n\t\t\telse interim += result[0]?.transcript ?? \"\";\n\t\t}\n\t\tvoiceState.interimTranscript = finalPending + interim;\n\t\tclearConversationSilenceTimer();\n\t\tif (finalPending.trim() && !interim) conversationSilenceTimer = setTimeout(deliver, CONVERSATION_UTTERANCE_SILENCE_MS);\n\t};\n\tinstance.onerror = (event) => {\n\t\tif (conversationRecognition !== instance) return;\n\t\tconst error = event.error ?? \"\";\n\t\tif (error === \"no-speech\" || error === \"aborted\") return;\n\t\tif (error === \"not-allowed\") {\n\t\t\tvoiceState.errorMessage = \"Microphone access denied.\";\n\t\t\tstopConversation();\n\t\t\treturn;\n\t\t}\n\t\tvoiceState.errorMessage = `Speech error: ${error}`;\n\t};\n\tinstance.onend = () => {\n\t\tif (conversationRecognition !== instance) return;\n\t\tif (finalPending.trim()) deliver();\n\t\tif (voiceState.conversationActive) startConversationRecognition();\n\t\telse conversationRecognition = null;\n\t};\n\ttry {\n\t\tinstance.start();\n\t\tif (voiceState.status === \"idle\") voiceState.status = \"recording\";\n\t} catch {\n\t\tvoiceState.errorMessage = \"Failed to start speech recognition.\";\n\t\tconversationRecognition = null;\n\t\tstopConversation();\n\t}\n}\nasync function startConversationVad() {\n\tlet session;\n\ttry {\n\t\tsession = await startVad({\n\t\t\tonSpeechStart: handleConversationSpeechStart,\n\t\t\tonSpeechEnd: () => {\n\t\t\t\tfinishConversationSegment();\n\t\t\t},\n\t\t\tisAssistantSpeaking: () => voiceState.status === \"speaking\"\n\t\t});\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Failed to start listening.\";\n\t\tvoiceState.conversationActive = false;\n\t\tconversationOnUtterance = null;\n\t\treturn;\n\t}\n\tif (!voiceState.conversationActive) {\n\t\tsession.stop();\n\t\treturn;\n\t}\n\tconversationVad = session;\n\tif (voiceState.status === \"idle\") voiceState.status = \"recording\";\n}\nfunction handleConversationSpeechStart() {\n\tif (!voiceState.conversationActive || !conversationVad || conversationSegment) return;\n\ttry {\n\t\tconversationSegment = recordFromStream(conversationVad.stream);\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Failed to start recording.\";\n\t\treturn;\n\t}\n\tvoiceState.status = \"recording\";\n\tconversationSegmentTimeout = setTimeout(() => {\n\t\tfinishConversationSegment();\n\t}, CONVERSATION_SEGMENT_MAX_MS);\n}\nasync function finishConversationSegment() {\n\tconst segment = conversationSegment;\n\tif (!segment) return;\n\tconversationSegment = null;\n\tif (conversationSegmentTimeout) {\n\t\tclearTimeout(conversationSegmentTimeout);\n\t\tconversationSegmentTimeout = null;\n\t}\n\tvoiceState.status = \"transcribing\";\n\tlet blob;\n\ttry {\n\t\tblob = await segment.stop();\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Recording failed.\";\n\t\tif (voiceState.conversationActive && voiceState.status === \"transcribing\") voiceState.status = \"recording\";\n\t\treturn;\n\t}\n\tif (blob.size === 0) {\n\t\tif (voiceState.conversationActive && voiceState.status === \"transcribing\") voiceState.status = \"recording\";\n\t\treturn;\n\t}\n\ttry {\n\t\tconst trimmed = (await transcribeAudio(blob, { language: voiceState.sttLanguage || void 0 })).trim();\n\t\tif (trimmed && conversationOnUtterance && voiceState.conversationActive) {\n\t\t\tstopSpeaking();\n\t\t\tvoiceState.status = \"recording\";\n\t\t\tconversationOnUtterance(trimmed);\n\t\t}\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Transcription failed.\";\n\t} finally {\n\t\tif (voiceState.conversationActive && voiceState.status === \"transcribing\") voiceState.status = \"recording\";\n\t}\n}\n/**\n* Read text aloud. Tries server-side TTS via /api/speak first (when the\n* configured engine is openpalm-voice or remote); falls back to browser\n* speech synthesis. Silent no-op if neither path is available.\n*\n* If a previous utterance is still playing, queues this one (FIFO, cap 20)\n* instead of cutting it off mid-sentence.\n*/\nfunction speakText(text) {\n\treturn audioPlayback.speak(text);\n}\n/** Cancel speech synthesis. Drops the entire queue. */\nfunction stopSpeaking() {\n\taudioPlayback.stop();\n}\n/**\n* Tear down per-component voice resources on unmount. Only cancels\n* any in-flight recording / recognition (including the conversation\n* loop).\n*\n* Deliberately does NOT cancel `speechSynthesis` — that queue is a\n* window-level singleton and the user's auto-TTS toggle is persistent,\n* so a page navigation must not interrupt the assistant mid-utterance.\n* Explicit user actions (logout, mic click, toggle off) call\n* `stopSpeaking` directly.\n*/\nfunction destroyVoice() {\n\tstopConversation();\n\tif (recordingTimeout) {\n\t\tclearTimeout(recordingTimeout);\n\t\trecordingTimeout = null;\n\t}\n\tif (activeRecording) {\n\t\ttry {\n\t\t\tactiveRecording.cancel();\n\t\t} catch {}\n\t\tactiveRecording = null;\n\t}\n\tif (activeRecognition) {\n\t\ttry {\n\t\t\tactiveRecognition.stop();\n\t\t} catch {}\n\t\tactiveRecognition = null;\n\t}\n\tactiveOnResult = null;\n\tvoiceState.interimTranscript = \"\";\n\tvoiceState.status = \"idle\";\n}\n//#endregion\nexport { startListening as a, stopSpeaking as c, buildHeaders as d, readErrorMessage as f, notifications as g, themeService as h, startConversation as i, voiceState as l, requireOk as m, initVoice as n, stopConversation as o, request as p, speakText as r, stopListening as s, destroyVoice as t, fetchVoiceConfig as u };\n"],"names":[],"mappings":"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"}