@openpalm/ui 0.11.0-rc.11 → 0.11.0-rc.13

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 (239) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.nenI9xO9.css +1 -0
  3. package/build/client/_app/immutable/assets/0.nenI9xO9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.nenI9xO9.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.j3F-W7h_.css +1 -0
  6. package/build/client/_app/immutable/assets/4.j3F-W7h_.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.j3F-W7h_.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/7.CzC8JVIO.css +1 -0
  9. package/build/client/_app/immutable/assets/7.CzC8JVIO.css.br +0 -0
  10. package/build/client/_app/immutable/assets/7.CzC8JVIO.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/8.cpz_TytB.css +1 -0
  12. package/build/client/_app/immutable/assets/8.cpz_TytB.css.br +0 -0
  13. package/build/client/_app/immutable/assets/8.cpz_TytB.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css +1 -0
  15. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css.br +0 -0
  16. package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css +1 -0
  18. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css.br +0 -0
  19. package/build/client/_app/immutable/assets/ModeSwitch.DVIv_V4C.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +1 -0
  21. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +2 -0
  22. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
  23. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css +1 -0
  24. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.br +0 -0
  25. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.gz +0 -0
  26. package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
  27. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/B1uQvvlv.js +5 -0
  30. package/build/client/_app/immutable/chunks/B1uQvvlv.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/B1uQvvlv.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{DpdFx-ph.js → BBdT9Cjm.js} +1 -1
  33. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/{BxZ6a55y.js → BPh8tqAg.js} +1 -1
  36. package/build/client/_app/immutable/chunks/BPh8tqAg.js.br +2 -0
  37. package/build/client/_app/immutable/chunks/BPh8tqAg.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BQ0vnNWj.js +1 -0
  39. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
  40. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/{CJkMgfFh.js → BQrb5YOM.js} +1 -1
  42. package/build/client/_app/immutable/chunks/BQrb5YOM.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BQrb5YOM.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
  45. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
  46. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/CrcMJfbz.js +1 -0
  48. package/build/client/_app/immutable/chunks/CrcMJfbz.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/CrcMJfbz.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/E7W0MQkU.js +1 -0
  51. package/build/client/_app/immutable/chunks/E7W0MQkU.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/E7W0MQkU.js.gz +0 -0
  53. package/build/client/_app/immutable/entry/app.9wfmQKXa.js +2 -0
  54. package/build/client/_app/immutable/entry/app.9wfmQKXa.js.br +0 -0
  55. package/build/client/_app/immutable/entry/app.9wfmQKXa.js.gz +0 -0
  56. package/build/client/_app/immutable/entry/start.BzWuQgSn.js +1 -0
  57. package/build/client/_app/immutable/entry/start.BzWuQgSn.js.br +0 -0
  58. package/build/client/_app/immutable/entry/start.BzWuQgSn.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/0.DxAGOZgx.js +1 -0
  60. package/build/client/_app/immutable/nodes/0.DxAGOZgx.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/0.DxAGOZgx.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/1.B-z3blIe.js +1 -0
  63. package/build/client/_app/immutable/nodes/1.B-z3blIe.js.br +1 -0
  64. package/build/client/_app/immutable/nodes/1.B-z3blIe.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
  66. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/3.DHPuQEyR.js +1 -0
  69. package/build/client/_app/immutable/nodes/3.DHPuQEyR.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/3.DHPuQEyR.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js +18 -0
  72. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/5.BrAtimvQ.js +4 -0
  75. package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js +1 -0
  78. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/{7.fFA0e6kz.js → 7.B5KYnWwU.js} +7 -7
  81. package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.br +0 -0
  82. package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.gz +0 -0
  83. package/build/client/_app/immutable/nodes/8.2jRmEBBC.js +2 -0
  84. package/build/client/_app/immutable/nodes/8.2jRmEBBC.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/8.2jRmEBBC.js.gz +0 -0
  86. package/build/client/_app/version.json +1 -1
  87. package/build/client/_app/version.json.br +1 -1
  88. package/build/client/_app/version.json.gz +0 -0
  89. package/build/server/chunks/0-CP9GcQBP.js +9 -0
  90. package/build/server/chunks/{0-TTdZdv8o.js.map → 0-CP9GcQBP.js.map} +1 -1
  91. package/build/server/chunks/1-BDxTrwG3.js +9 -0
  92. package/build/server/chunks/{1-BhLqDyOn.js.map → 1-BDxTrwG3.js.map} +1 -1
  93. package/build/server/chunks/2-DQWoUtW1.js +9 -0
  94. package/build/server/chunks/{2-C2y4ydWU.js.map → 2-DQWoUtW1.js.map} +1 -1
  95. package/build/server/chunks/{3-BgeGdVvT.js → 3-gylRjzeN.js} +2 -2
  96. package/build/server/chunks/{3-BgeGdVvT.js.map → 3-gylRjzeN.js.map} +1 -1
  97. package/build/server/chunks/4-CBgm4iSo.js +9 -0
  98. package/build/server/chunks/4-CBgm4iSo.js.map +1 -0
  99. package/build/server/chunks/5-CD1fuYOe.js +9 -0
  100. package/build/server/chunks/5-CD1fuYOe.js.map +1 -0
  101. package/build/server/chunks/6-B6tmbcQ8.js +9 -0
  102. package/build/server/chunks/6-B6tmbcQ8.js.map +1 -0
  103. package/build/server/chunks/7-m4KLf_Gx.js +9 -0
  104. package/build/server/chunks/7-m4KLf_Gx.js.map +1 -0
  105. package/build/server/chunks/8-CmPpxrjv.js +9 -0
  106. package/build/server/chunks/8-CmPpxrjv.js.map +1 -0
  107. package/build/server/chunks/{AuthGate-C3ZisQbA.js → AuthGate-BcB49fE5.js} +44 -41
  108. package/build/server/chunks/AuthGate-BcB49fE5.js.map +1 -0
  109. package/build/server/chunks/ModeSwitch-D26evPMy.js +15 -0
  110. package/build/server/chunks/ModeSwitch-D26evPMy.js.map +1 -0
  111. package/build/server/chunks/Spinner-Bk6e83RX.js +12 -0
  112. package/build/server/chunks/Spinner-Bk6e83RX.js.map +1 -0
  113. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js +306 -0
  114. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -0
  115. package/build/server/chunks/{_layout.svelte-B93aaRP_.js → _layout.svelte-BV7A7zff.js} +2 -2
  116. package/build/server/chunks/{_layout.svelte-B93aaRP_.js.map → _layout.svelte-BV7A7zff.js.map} +1 -1
  117. package/build/server/chunks/{_layout.svelte-CcloHuB_.js → _layout.svelte-C8ggVfth.js} +8 -8
  118. package/build/server/chunks/_layout.svelte-C8ggVfth.js.map +1 -0
  119. package/build/server/chunks/_page.svelte-CEjRvc8B.js +2579 -0
  120. package/build/server/chunks/_page.svelte-CEjRvc8B.js.map +1 -0
  121. package/build/server/chunks/{_page.svelte-C6H2En_w.js → _page.svelte-Cy4kcLwu.js} +7 -6
  122. package/build/server/chunks/{_page.svelte-C6H2En_w.js.map → _page.svelte-Cy4kcLwu.js.map} +1 -1
  123. package/build/server/chunks/{_page.svelte-D0gMlmzQ.js → _page.svelte-DLAHj-kk.js} +6 -14
  124. package/build/server/chunks/_page.svelte-DLAHj-kk.js.map +1 -0
  125. package/build/server/chunks/{_page.svelte-DA9eUO0x.js → _page.svelte-DrWHHwCU.js} +8 -7
  126. package/build/server/chunks/{_page.svelte-DA9eUO0x.js.map → _page.svelte-DrWHHwCU.js.map} +1 -1
  127. package/build/server/chunks/{_page.svelte-Arw4vnr_.js → _page.svelte-WWZsjJuR.js} +25 -22
  128. package/build/server/chunks/_page.svelte-WWZsjJuR.js.map +1 -0
  129. package/build/server/chunks/{dev-DjANv7AF.js → dev-B6xUe35c.js} +23 -2
  130. package/build/server/chunks/{dev-DjANv7AF.js.map → dev-B6xUe35c.js.map} +1 -1
  131. package/build/server/chunks/{error.svelte-CEMlYvrw.js → error.svelte-CcHm-30A.js} +4 -4
  132. package/build/server/chunks/{error.svelte-CEMlYvrw.js.map → error.svelte-CcHm-30A.js.map} +1 -1
  133. package/build/server/chunks/{internal-CStLdOSk.js → internal-B08Y9iTe.js} +3 -3
  134. package/build/server/chunks/{internal-CStLdOSk.js.map → internal-B08Y9iTe.js.map} +1 -1
  135. package/build/server/chunks/{state-BCMZi_P3.js → state-CFHLgqLs.js} +3 -3
  136. package/build/server/chunks/{state-BCMZi_P3.js.map → state-CFHLgqLs.js.map} +1 -1
  137. package/build/server/chunks/{theme-state.svelte-PtPMmKGN.js → theme-state.svelte-y-mfJax7.js} +9 -2
  138. package/build/server/chunks/theme-state.svelte-y-mfJax7.js.map +1 -0
  139. package/build/server/index.js +2 -2
  140. package/build/server/index.js.map +1 -1
  141. package/build/server/manifest.js +10 -10
  142. package/build/server/manifest.js.map +1 -1
  143. package/package.json +1 -1
  144. package/build/client/_app/immutable/assets/0.p3iHeEvq.css +0 -1
  145. package/build/client/_app/immutable/assets/0.p3iHeEvq.css.br +0 -0
  146. package/build/client/_app/immutable/assets/0.p3iHeEvq.css.gz +0 -0
  147. package/build/client/_app/immutable/assets/4.DhrSl6jB.css +0 -1
  148. package/build/client/_app/immutable/assets/4.DhrSl6jB.css.br +0 -0
  149. package/build/client/_app/immutable/assets/4.DhrSl6jB.css.gz +0 -0
  150. package/build/client/_app/immutable/assets/7.Cucah5cY.css +0 -1
  151. package/build/client/_app/immutable/assets/7.Cucah5cY.css.br +0 -0
  152. package/build/client/_app/immutable/assets/7.Cucah5cY.css.gz +0 -0
  153. package/build/client/_app/immutable/assets/8.DjrHy5wu.css +0 -1
  154. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
  155. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
  156. package/build/client/_app/immutable/assets/AuthGate.B8fOC_pJ.css +0 -1
  157. package/build/client/_app/immutable/assets/AuthGate.B8fOC_pJ.css.br +0 -0
  158. package/build/client/_app/immutable/assets/AuthGate.B8fOC_pJ.css.gz +0 -0
  159. package/build/client/_app/immutable/assets/ModeSwitch.RmRIDur-.css +0 -1
  160. package/build/client/_app/immutable/assets/ModeSwitch.RmRIDur-.css.br +0 -0
  161. package/build/client/_app/immutable/assets/ModeSwitch.RmRIDur-.css.gz +0 -0
  162. package/build/client/_app/immutable/assets/VoiceProfileSelector.CM_o2XIa.css +0 -1
  163. package/build/client/_app/immutable/assets/VoiceProfileSelector.CM_o2XIa.css.br +0 -0
  164. package/build/client/_app/immutable/assets/VoiceProfileSelector.CM_o2XIa.css.gz +0 -0
  165. package/build/client/_app/immutable/chunks/7rWcSIlt.js +0 -1
  166. package/build/client/_app/immutable/chunks/7rWcSIlt.js.br +0 -0
  167. package/build/client/_app/immutable/chunks/7rWcSIlt.js.gz +0 -0
  168. package/build/client/_app/immutable/chunks/B7ArSvo1.js +0 -1
  169. package/build/client/_app/immutable/chunks/B7ArSvo1.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/B7ArSvo1.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/BwTF6U35.js +0 -3
  172. package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/BxZ6a55y.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/BxZ6a55y.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/CJkMgfFh.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/CJkMgfFh.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/CaNTMSit.js +0 -5
  179. package/build/client/_app/immutable/chunks/CaNTMSit.js.br +0 -0
  180. package/build/client/_app/immutable/chunks/CaNTMSit.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/DpdFx-ph.js.br +0 -0
  182. package/build/client/_app/immutable/chunks/DpdFx-ph.js.gz +0 -0
  183. package/build/client/_app/immutable/chunks/os2NZ37U.js +0 -1
  184. package/build/client/_app/immutable/chunks/os2NZ37U.js.br +0 -1
  185. package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
  186. package/build/client/_app/immutable/entry/app.CzMd4RbT.js +0 -2
  187. package/build/client/_app/immutable/entry/app.CzMd4RbT.js.br +0 -0
  188. package/build/client/_app/immutable/entry/app.CzMd4RbT.js.gz +0 -0
  189. package/build/client/_app/immutable/entry/start.QaKTVCwD.js +0 -1
  190. package/build/client/_app/immutable/entry/start.QaKTVCwD.js.br +0 -0
  191. package/build/client/_app/immutable/entry/start.QaKTVCwD.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/0.BUaVTC13.js +0 -1
  193. package/build/client/_app/immutable/nodes/0.BUaVTC13.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/0.BUaVTC13.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/1.D9TRUzbv.js +0 -1
  196. package/build/client/_app/immutable/nodes/1.D9TRUzbv.js.br +0 -2
  197. package/build/client/_app/immutable/nodes/1.D9TRUzbv.js.gz +0 -0
  198. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +0 -1
  199. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +0 -1
  202. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
  203. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
  204. package/build/client/_app/immutable/nodes/4.5fL8qHix.js +0 -18
  205. package/build/client/_app/immutable/nodes/4.5fL8qHix.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/4.5fL8qHix.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/5.DAAeB39N.js +0 -4
  208. package/build/client/_app/immutable/nodes/5.DAAeB39N.js.br +0 -0
  209. package/build/client/_app/immutable/nodes/5.DAAeB39N.js.gz +0 -0
  210. package/build/client/_app/immutable/nodes/6.CmMKgobq.js +0 -1
  211. package/build/client/_app/immutable/nodes/6.CmMKgobq.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/6.CmMKgobq.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/7.fFA0e6kz.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/7.fFA0e6kz.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/8.Rc3xcFgu.js +0 -2
  216. package/build/client/_app/immutable/nodes/8.Rc3xcFgu.js.br +0 -0
  217. package/build/client/_app/immutable/nodes/8.Rc3xcFgu.js.gz +0 -0
  218. package/build/server/chunks/0-TTdZdv8o.js +0 -9
  219. package/build/server/chunks/1-BhLqDyOn.js +0 -9
  220. package/build/server/chunks/2-C2y4ydWU.js +0 -9
  221. package/build/server/chunks/4-D6mAJO8F.js +0 -9
  222. package/build/server/chunks/4-D6mAJO8F.js.map +0 -1
  223. package/build/server/chunks/5-D5Apamdo.js +0 -9
  224. package/build/server/chunks/5-D5Apamdo.js.map +0 -1
  225. package/build/server/chunks/6-aCBWYjjQ.js +0 -9
  226. package/build/server/chunks/6-aCBWYjjQ.js.map +0 -1
  227. package/build/server/chunks/7-NlChqFlW.js +0 -9
  228. package/build/server/chunks/7-NlChqFlW.js.map +0 -1
  229. package/build/server/chunks/8-EJHw3wqt.js +0 -9
  230. package/build/server/chunks/8-EJHw3wqt.js.map +0 -1
  231. package/build/server/chunks/AuthGate-C3ZisQbA.js.map +0 -1
  232. package/build/server/chunks/ModeSwitch-B9a33ugm.js +0 -15
  233. package/build/server/chunks/ModeSwitch-B9a33ugm.js.map +0 -1
  234. package/build/server/chunks/_layout.svelte-CcloHuB_.js.map +0 -1
  235. package/build/server/chunks/_page.svelte-4WHOZ298.js +0 -408
  236. package/build/server/chunks/_page.svelte-4WHOZ298.js.map +0 -1
  237. package/build/server/chunks/_page.svelte-Arw4vnr_.js.map +0 -1
  238. package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +0 -1
  239. package/build/server/chunks/theme-state.svelte-PtPMmKGN.js.map +0 -1
@@ -1 +1 @@
1
- import{I as e,Q as t,X as n,Z as r}from"./BwTF6U35.js";var i=[`audio/webm;codecs=opus`,`audio/webm`];function a(){let e=globalThis.MediaRecorder;if(!(!e||typeof e.isTypeSupported!=`function`)){for(let t of i)if(e.isTypeSupported(t))return t}}async function o(){if(typeof window>`u`)throw Error(`Recording is only available in the browser.`);if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)throw Error(`Recording is not supported in this browser.`);let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name??``;throw Error(t===`NotAllowedError`||t===`SecurityError`?`Microphone access denied`:t===`NotFoundError`||t===`OverconstrainedError`?`No microphone was found`:`Microphone error: ${e?.message??String(e)}`)}let t=a(),n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e),r=[];n.addEventListener(`dataavailable`,e=>{let t=e.data;t&&t.size>0&&r.push(t)});let i=!1,o=!1,s=null,c=null;function l(){for(let t of e.getTracks())try{t.stop()}catch{}}return n.addEventListener(`stop`,()=>{if(l(),o)return;let e=new Blob(r,{type:n.mimeType||t||`audio/webm`});s?.(e)}),n.addEventListener(`error`,e=>{l();let t=e?.error??Error(`Recorder error`);c?.(t)}),n.start(),{stop(){return i?Promise.reject(Error(`Recorder already stopped`)):(i=!0,new Promise((e,t)=>{s=e,c=t;try{n.state!==`inactive`&&n.stop()}catch(e){l(),t(e)}}))},cancel(){if(!i){i=!0,o=!0;try{n.state!==`inactive`&&n.stop()}catch{}l()}}}}var s=``;function c(){return{"x-request-id":crypto.randomUUID(),"x-requested-by":`ui`}}async function l(e,t,n){let r={...n===void 0?{}:{"content-type":`application/json`},...c()};return fetch(`${s}${t}`,{method:e,headers:r,credentials:`include`,...n===void 0?{}:{body:JSON.stringify(n)}})}async function u(e,t=`Request failed (HTTP ${e.status})`){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.clone().json().catch(e=>(console.warn(`[api] Failed to parse JSON error response:`,e),null));if(t&&typeof t.message==`string`&&t.message.length>0)return t.message;if(t&&typeof t.error==`string`&&t.error.length>0)return t.error}return await e.text().catch(e=>(console.warn(`[api] Failed to read error response text:`,e),``))||t}async function d(e,t){if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!e.ok)throw Error(await u(e,t));return e}async function ee(){let[e,t]=await Promise.all([l(`GET`,`/health`),l(`GET`,`/guardian/health`).catch(e=>(console.warn(`[api] Guardian health check failed:`,e),null))]),n=await e.json(),r=null;if(t)try{r=await t.json()}catch(e){console.warn(`[api] Failed to parse guardian health response:`,e),r={status:`unavailable`,service:`guardian`}}return{admin:n,guardian:r}}async function te(){return await(await d(await l(`GET`,`/admin/containers/list`))).json()}async function ne(e,t){await d(await l(`POST`,{start:`/admin/containers/up`,stop:`/admin/containers/down`,restart:`/admin/containers/restart`}[e],{service:t}))}async function re(){let e=await l(`POST`,`/admin/update`,{});if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!(e.headers.get(`content-type`)??``).includes(`application/json`))throw Error(await u(e,`Apply failed (HTTP ${e.status})`));return await e.json()}async function ie(){return await(await d(await l(`POST`,`/admin/upgrade`,{}))).json()}async function ae(){return await(await d(await l(`GET`,`/admin/versions`))).json()}async function oe(){try{let e=await l(`GET`,`/admin/versions/releases`);return e.ok?await e.json():{releases:[]}}catch{return{releases:[]}}}async function se(){try{let e=await l(`GET`,`/admin/versions/ui`);return e.ok?await e.json():{versions:[]}}catch{return{versions:[]}}}async function ce(e){return await(await d(await l(`PATCH`,`/admin/stack-version`,{tag:e}))).json()}async function le(e){return await(await d(await l(`POST`,`/admin/ui-version`,{tag:e}))).json()}async function ue(){return await(await d(await l(`GET`,`/admin/automations`))).json()}async function de(e){let t=new URLSearchParams;e?.service&&t.set(`service`,e.service),e?.tail&&t.set(`tail`,String(e.tail)),e?.since&&t.set(`since`,e.since);let n=t.toString();return await(await d(await l(`GET`,`/admin/logs${n?`?${n}`:``}`))).json()}async function fe(){return(await(await d(await l(`GET`,`/admin/addons`))).json()).addons}async function pe(e,t,n){let r={enabled:t};return n&&(r.env=n),await(await d(await l(`POST`,`/admin/addons/${encodeURIComponent(e)}`,r))).json()}async function me(e){return(await(await d(await l(`GET`,`/admin/addons/${encodeURIComponent(e)}/credentials`))).json()).fields}async function he(e,t){return await(await d(await l(`POST`,`/admin/addons/${encodeURIComponent(e)}/credentials`,{values:t}))).json()}async function ge(){return await(await d(await l(`GET`,`/admin/secrets`))).json()}async function _e(e){return await(await d(await l(`GET`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function ve(e,t){return await(await d(await l(`PUT`,`/admin/secrets/${encodeURIComponent(e)}`,{value:t}))).json()}async function ye(e){return await(await d(await l(`DELETE`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function be(e){return await(await d(await l(`GET`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function xe(e,t){return await(await d(await l(`PUT`,`/admin/automations/${encodeURIComponent(e)}/file`,{content:t}))).json()}async function Se(e){return await(await d(await l(`DELETE`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function f(){return await(await d(await l(`GET`,`/admin/voice`))).json()}async function p(e){let t=await l(`PUT`,`/admin/voice`,e);if(t.status===401)throw Object.assign(Error(`Invalid password.`),{status:401});if(t.status===200||t.status===202||t.status===502)return{...await t.json(),status:t.status};throw Error(await u(t))}async function m(e,t){let n=new FormData;n.append(`audio`,e,`recording.webm`),t?.language&&n.append(`language`,t.language),t?.prompt&&n.append(`prompt`,t.prompt);let r=await(await d(await fetch(`/api/transcribe`,{method:`POST`,headers:c(),credentials:`include`,body:n}))).json();return typeof r.text==`string`?r.text:``}async function h(){return await(await d(await l(`GET`,`/admin/akm`))).json()}async function g(e){return await(await d(await l(`PATCH`,`/admin/akm`,e))).json()}async function _(){return await(await d(await l(`GET`,`/admin/akm/health`))).json()}async function v(){return await(await d(await l(`GET`,`/admin/akm/host-sharing`))).json()}async function y(e={}){return await(await d(await l(`PUT`,`/admin/akm/host-sharing`,e))).json()}async function b(){return await(await d(await l(`DELETE`,`/admin/akm/host-sharing`))).json()}async function x(){await d(await l(`POST`,`/admin/containers/pull`,{}))}async function S(){return await(await d(await l(`GET`,`/admin/endpoints`))).json()}async function C(e){return await(await d(await l(`POST`,`/admin/endpoints`,e))).json()}async function w(e,t){return await(await d(await l(`PATCH`,`/admin/endpoints/${encodeURIComponent(e)}`,t))).json()}async function T(e){await d(await l(`DELETE`,`/admin/endpoints/${encodeURIComponent(e)}`))}async function E(e){return await(await d(await l(`POST`,`/admin/endpoints/active`,{id:e}))).json()}async function D(){return await(await d(await l(`POST`,`/proxy/assistant/session`,{}))).json()}async function O(){let e=(await(await d(await l(`GET`,`/proxy/assistant/session`))).json()).map(e=>({id:e.id,title:e.title??``,createdAt:e.time?.created??0,updatedAt:e.time?.updated??e.time?.created??0}));return e.sort((e,t)=>t.updatedAt-e.updatedAt),e}async function k(e){let t=await(await d(await l(`GET`,`/proxy/assistant/session/${encodeURIComponent(e)}/message`))).json(),n=[];for(let e of t){let t=e.parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``);t&&n.push({id:e.info.id,role:e.info.role,text:t,timestamp:e.info.time?.created??Date.now()})}return n}async function A(e,t){let n=await fetch(`/proxy/assistant/session/${encodeURIComponent(e)}/message`,{method:`POST`,headers:{"content-type":`application/json`,...c()},credentials:`include`,body:JSON.stringify({parts:[{type:`text`,text:t}]}),signal:AbortSignal.timeout(15e4)});if(n.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!n.ok){let e=await u(n);throw Object.assign(Error(e),{status:n.status})}return await n.json()}async function j(){try{return(await fetch(`/proxy/assistant/provider`,{method:`GET`,headers:c(),credentials:`include`,signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}var Ce={info:4e3,success:5e3,error:8e3},M=new class{#e=t(n([]));get toasts(){return e(this.#e)}set toasts(e){r(this.#e,e,!0)}timers=new Map;push(e,t,n={}){let r=n.replaceId??(typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`t-${Date.now()}-${Math.random().toString(36).slice(2)}`),i=n.sticky?null:n.ttlMs??Ce[e],a={id:r,kind:e,message:t,ttlMs:i},o=this.timers.get(r);o&&(clearTimeout(o),this.timers.delete(r));let s=this.toasts.findIndex(e=>e.id===r);if(s>=0){let e=[...this.toasts];e[s]=a,this.toasts=e}else this.toasts=[...this.toasts,a];if(i!==null){let e=setTimeout(()=>this.dismiss(r),i);this.timers.set(r,e)}return r}dismiss(e){let t=this.timers.get(e);t&&(clearTimeout(t),this.timers.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}clear(){for(let e of this.timers.values())clearTimeout(e);this.timers.clear(),this.toasts=[]}},we=6e4,N=new class{#e=t(`idle`);get status(){return e(this.#e)}set status(e){r(this.#e,e,!0)}#t=t(!1);get sttSupported(){return e(this.#t)}set sttSupported(e){r(this.#t,e,!0)}#n=t(!1);get ttsSupported(){return e(this.#n)}set ttsSupported(e){r(this.#n,e,!0)}#r=t(``);get errorMessage(){return e(this.#r)}set errorMessage(e){r(this.#r,e,!0)}#i=t(``);get interimTranscript(){return e(this.#i)}set interimTranscript(e){r(this.#i,e,!0)}#a=t(`disabled`);get sttEngine(){return e(this.#a)}set sttEngine(e){r(this.#a,e,!0)}#o=t(`disabled`);get ttsEngine(){return e(this.#o)}set ttsEngine(e){r(this.#o,e,!0)}#s=t(``);get sttLanguage(){return e(this.#s)}set sttLanguage(e){r(this.#s,e,!0)}#c=t(!1);get ttsAutoEnabled(){return e(this.#c)}set ttsAutoEnabled(e){r(this.#c,e,!0)}#l=t(!1);get autoplayBlocked(){return e(this.#l)}set autoplayBlocked(e){r(this.#l,e,!0)}#u=t(``);get browserSttUnsupportedReason(){return e(this.#u)}set browserSttUnsupportedReason(e){r(this.#u,e,!0)}},P=`openpalm.tts.auto`,F=null,I=null,L=null,R=null;function z(e){let t=N.ttsAutoEnabled;if(N.ttsAutoEnabled=e,typeof window<`u`)try{window.localStorage.setItem(P,e?`1`:`0`)}catch{}if(!e){Q();return}t||Te()}function Te(){if(typeof window>`u`)return;let e=window.AudioContext??window.webkitAudioContext;if(e)try{let t=new e,n=t.createBuffer(1,1,22050),r=t.createBufferSource();r.buffer=n,r.connect(t.destination),r.start(0),setTimeout(()=>{t.close().catch(()=>{})},100)}catch{}}function B(){if(!(typeof window>`u`))return window.SpeechRecognition??window.webkitSpeechRecognition??void 0}function Ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent??``,t=/iPad|iPhone|iPod/.test(e),n=window.MSStream;return t&&!n}function De(){return!(typeof window>`u`||typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)}function Oe(e){switch(e){case`browser`:return N.browserSttUnsupportedReason?!1:!!B();case`remote`:case`openpalm-voice`:return De();default:return!1}}function V(e){return e===`browser`||e===`browser-stt`?`browser`:e===`openpalm-voice`?`openpalm-voice`:e&&!e.startsWith(`skip-`)?`remote`:`disabled`}async function ke(){let e=typeof window<`u`&&`speechSynthesis`in window;if(typeof window<`u`)try{N.ttsAutoEnabled=window.localStorage.getItem(P)===`1`}catch{}try{let e=await f(),t=e.stt??{},n=e.tts??{},r=typeof t.engine==`string`?t.engine:``,i=typeof n.engine==`string`?n.engine:``;N.sttLanguage=typeof t.language==`string`?t.language:``,N.sttEngine=V(r),N.ttsEngine=V(i)}catch{N.sttEngine=`disabled`,N.ttsEngine=`disabled`}N.ttsSupported=N.ttsEngine===`openpalm-voice`||N.ttsEngine===`remote`||N.ttsEngine===`browser`&&e,Ee()&&B()?(N.browserSttUnsupportedReason=`iOS Safari does not support Web Speech recognition`,N.sttEngine===`browser`&&(N.sttEngine=`disabled`)):N.browserSttUnsupportedReason=``,N.sttEngine===`disabled`&&B()&&!N.browserSttUnsupportedReason&&(N.sttEngine=`browser`),N.sttSupported=Oe(N.sttEngine)}function Ae(e){if(!(N.status===`recording`||N.status===`transcribing`)){if(!N.sttSupported||N.sttEngine===`disabled`){N.errorMessage=`Speech recognition is not available.`;return}if(N.errorMessage=``,R=e,N.sttEngine===`browser`){je(e);return}Me()}}function je(e){let t=B();if(!t){N.errorMessage=`Speech recognition is not supported in this browser.`;return}let n=new t;I=n,n.lang=N.sttLanguage||navigator?.language||`en-US`,n.interimResults=!0,n.maxAlternatives=1,n.continuous=!1;let r=``;n.onresult=e=>{let t=``;for(let n=e.resultIndex;n<e.results.length;n++){let i=e.results[n];i.isFinal?r+=i[0]?.transcript??``:t+=i[0]?.transcript??``}N.interimTranscript=r+t},n.onerror=e=>{if(I!==n)return;let t=e.error??``;t===`no-speech`||t===`aborted`||(t===`not-allowed`?N.errorMessage=`Microphone access denied.`:N.errorMessage=`Speech error: ${t}`),N.interimTranscript=``,N.status=`idle`,I=null,R=null},n.onend=()=>{I===n&&(r.trim()&&e&&e(r.trim()),N.interimTranscript=``,N.status=`idle`,I=null,R=null)};try{n.start(),N.status=`recording`}catch{N.errorMessage=`Failed to start speech recognition.`,N.status=`idle`,I=null,R=null}}async function Me(){let e;try{e=await o()}catch(e){N.errorMessage=e instanceof Error?e.message:`Failed to start recording.`,N.status=`idle`,R=null;return}F=e,N.status=`recording`,L=setTimeout(()=>{H()},we)}async function H(){let e=F,t=R;if(!e)return;F=null,R=null,L&&=(clearTimeout(L),null),N.status=`transcribing`;let n;try{n=await e.stop()}catch(e){N.errorMessage=e instanceof Error?e.message:`Recording failed.`,N.status=`idle`;return}if(n.size===0){N.status=`idle`;return}try{let e=(await m(n,{language:N.sttLanguage||void 0})).trim();e&&t&&t(e)}catch(e){N.errorMessage=e instanceof Error?e.message:`Transcription failed.`}finally{N.status=`idle`}}function Ne(){if(I){try{I.stop()}catch{}return}F&&H()}var U=null,W=null,Pe=3,G=[],K=!1,q=null,J=null;function Y(){if(U){U.onerror=null,U.onended=null;try{U.pause()}catch{}U.src=``,U=null}W&&=(URL.revokeObjectURL(W),null)}function X(){if(q){q.onerror=null,q.onended=null;try{q.pause()}catch{}q.src=``,q=null}J&&=(URL.revokeObjectURL(J),null),N.autoplayBlocked=!1}function Fe(){let e=q;if(!e){N.autoplayBlocked=!1;return}N.autoplayBlocked=!1,N.errorMessage=``,N.status=`speaking`,U=e,W=J,q=null,J=null,e.play().catch(()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,Y()})}async function Ie(e){if(!(typeof window>`u`||!e.trim())){if(N.status===`speaking`){G.push(e);let t=0;for(;G.length>Pe;)G.shift(),t+=1;t>0&&!K&&(K=!0,M.push(`info`,`Skipped ${t} spoken ${t===1?`reply`:`replies`} — too much overlap. Lower the auto-speak chat rate.`));return}await Z(e)}}async function Z(e){if(typeof window>`u`||!e.trim())return;X(),Y(),`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.errorMessage=``;let t=N.ttsEngine,n=t===`openpalm-voice`||t===`remote`;if(n){let t;try{t=await fetch(`/api/speak`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({text:e})})}catch{}if(t&&t.ok&&t.headers.get(`content-type`)?.startsWith(`audio/`)){let e=await t.blob(),n=URL.createObjectURL(e),r=new Audio(n);U=r,W=n,r.onended=()=>{N.status=`idle`,Y();let e=G.shift();e?Z(e):K=!1},r.onerror=()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,Y();let e=G.shift();e?Z(e):K=!1},N.status=`speaking`;try{await r.play()}catch{N.status=`idle`,q=r,J=n,U=null,W=null,N.autoplayBlocked=!0}return}t&&!t.ok&&(N.errorMessage=await Le(t))}if(!(`speechSynthesis`in window))return;n&&(N.errorMessage=``);let r=new SpeechSynthesisUtterance(e);r.onstart=()=>{N.status=`speaking`},r.onend=()=>{N.status=`idle`;let e=G.shift();e?Z(e):K=!1},r.onerror=()=>{N.status=`idle`;let e=G.shift();e?Z(e):K=!1},window.speechSynthesis.speak(r)}async function Le(e){let t;try{let n=await e.clone().json();typeof n.error==`string`&&(t=n.error)}catch{}return t===`tts_not_configured`?`TTS is not configured.`:t===`upstream_error`||e.status===502||e.status===503?`Voice engine is warming up — try again in a moment.`:`TTS failed (HTTP ${e.status}).`}function Q(){G.length=0,K=!1,X(),Y(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.status=`idle`}function Re(){if(L&&=(clearTimeout(L),null),F){try{F.cancel()}catch{}F=null}if(I){try{I.stop()}catch{}I=null}R=null,N.interimTranscript=``,N.status=`idle`}var $=`openpalm.theme`,ze=`data-theme`,Be=`#161c22`,Ve=`#f9fafb`;function He(e){return e===`light`||e===`dark`||e===`system`}var Ue=new class{#e=t(`system`);get preference(){return e(this.#e)}set preference(e){r(this.#e,e,!0)}#t=t(`light`);get resolved(){return e(this.#t)}set resolved(e){r(this.#t,e,!0)}#n=t(!1);get initialized(){return e(this.#n)}set initialized(e){r(this.#n,e,!0)}#r=null;#i=()=>{this.preference===`system`&&(this.resolved=this.#s(`system`),this.#l())};init(){typeof window>`u`||this.initialized||(this.preference=this.#a(),this.resolved=this.#s(this.preference),this.#c(),this.#l(),this.initialized=!0)}setPreference(e){this.preference=e,this.resolved=this.#s(e),this.#o(e),this.#l()}toggle(){this.setPreference(this.resolved===`dark`?`light`:`dark`)}dispose(){this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=null,this.initialized=!1}#a(){if(typeof window>`u`)return`system`;try{let e=window.localStorage.getItem($);return He(e)?e:`system`}catch{return`system`}}#o(e){if(!(typeof window>`u`))try{window.localStorage.setItem($,e)}catch{}}#s(e){return e===`light`||e===`dark`?e:typeof window>`u`||typeof window.matchMedia!=`function`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}#c(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);this.#r!==e&&(this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=e,typeof e.addEventListener==`function`?e.addEventListener(`change`,this.#i):e.addListener(this.#i))}#l(){if(typeof document>`u`)return;let e=document.documentElement;e.setAttribute(ze,this.resolved),e.style.colorScheme=this.resolved;let t=document.querySelector(`meta[name="theme-color"]`);t&&(t.content=this.resolved===`dark`?Be:Ve);let n=document.querySelector(`meta[name="color-scheme"]`);n&&(n.content=this.resolved)}};export{w as $,ee as A,k as B,me as C,ue as D,_ as E,de as F,g as G,j as H,be as I,p as J,ve as K,se as L,oe as M,_e as N,te as O,ge as P,pe as Q,ae as R,y as S,h as T,x as U,O as V,he as W,E as X,A as Y,ce as Z,T as _,z as a,b,Ne as c,M as d,ie as et,re as f,D as g,C as h,Fe as i,v as j,S as k,Q as l,ne as m,Re as n,Ie as o,c as p,xe as q,ke as r,Ae as s,Ue as t,N as u,ye as v,fe as w,le as x,Se as y,f as z};
1
+ import{$ as e,L as t,Q as n,Z as r}from"./0swOyi-5.js";var i=[`audio/webm;codecs=opus`,`audio/webm`];function a(){let e=globalThis.MediaRecorder;if(!(!e||typeof e.isTypeSupported!=`function`)){for(let t of i)if(e.isTypeSupported(t))return t}}async function o(){if(typeof window>`u`)throw Error(`Recording is only available in the browser.`);if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)throw Error(`Recording is not supported in this browser.`);let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name??``;throw Error(t===`NotAllowedError`||t===`SecurityError`?`Microphone access denied`:t===`NotFoundError`||t===`OverconstrainedError`?`No microphone was found`:`Microphone error: ${e?.message??String(e)}`)}let t=a(),n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e),r=[];n.addEventListener(`dataavailable`,e=>{let t=e.data;t&&t.size>0&&r.push(t)});let i=!1,o=!1,s=null,c=null;function l(){for(let t of e.getTracks())try{t.stop()}catch{}}return n.addEventListener(`stop`,()=>{if(l(),o)return;let e=new Blob(r,{type:n.mimeType||t||`audio/webm`});s?.(e)}),n.addEventListener(`error`,e=>{l();let t=e?.error??Error(`Recorder error`);c?.(t)}),n.start(),{stop(){return i?Promise.reject(Error(`Recorder already stopped`)):(i=!0,new Promise((e,t)=>{s=e,c=t;try{n.state!==`inactive`&&n.stop()}catch(e){l(),t(e)}}))},cancel(){if(!i){i=!0,o=!0;try{n.state!==`inactive`&&n.stop()}catch{}l()}}}}var s=``;function c(){return{"x-request-id":crypto.randomUUID(),"x-requested-by":`ui`}}async function l(e,t,n){let r={...n===void 0?{}:{"content-type":`application/json`},...c()};return fetch(`${s}${t}`,{method:e,headers:r,credentials:`include`,...n===void 0?{}:{body:JSON.stringify(n)}})}async function u(e,t=`Request failed (HTTP ${e.status})`){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.clone().json().catch(e=>(console.warn(`[api] Failed to parse JSON error response:`,e),null));if(t&&typeof t.message==`string`&&t.message.length>0)return t.message;if(t&&typeof t.error==`string`&&t.error.length>0)return t.error}return await e.text().catch(e=>(console.warn(`[api] Failed to read error response text:`,e),``))||t}async function d(e,t){if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!e.ok)throw Error(await u(e,t));return e}async function ee(){let[e,t]=await Promise.all([l(`GET`,`/health`),l(`GET`,`/guardian/health`).catch(e=>(console.warn(`[api] Guardian health check failed:`,e),null))]),n=await e.json(),r=null;if(t)try{r=await t.json()}catch(e){console.warn(`[api] Failed to parse guardian health response:`,e),r={status:`unavailable`,service:`guardian`}}return{admin:n,guardian:r}}async function te(){return await(await d(await l(`GET`,`/admin/containers/list`))).json()}async function ne(e,t){await d(await l(`POST`,{start:`/admin/containers/up`,stop:`/admin/containers/down`,restart:`/admin/containers/restart`}[e],{service:t}))}async function re(){let e=await l(`POST`,`/admin/update`,{});if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!(e.headers.get(`content-type`)??``).includes(`application/json`))throw Error(await u(e,`Apply failed (HTTP ${e.status})`));return await e.json()}async function ie(){return await(await d(await l(`POST`,`/admin/upgrade`,{}))).json()}async function ae(){return await(await d(await l(`GET`,`/admin/versions`))).json()}async function oe(){try{let e=await l(`GET`,`/admin/versions/releases`);return e.ok?await e.json():{releases:[]}}catch{return{releases:[]}}}async function se(){try{let e=await l(`GET`,`/admin/versions/ui`);return e.ok?await e.json():{versions:[]}}catch{return{versions:[]}}}async function ce(e){return await(await d(await l(`PATCH`,`/admin/stack-version`,{tag:e}))).json()}async function le(e){return await(await d(await l(`POST`,`/admin/ui-version`,{tag:e}))).json()}async function ue(){return await(await d(await l(`GET`,`/admin/automations`))).json()}async function de(e){let t=new URLSearchParams;e?.service&&t.set(`service`,e.service),e?.tail&&t.set(`tail`,String(e.tail)),e?.since&&t.set(`since`,e.since);let n=t.toString();return await(await d(await l(`GET`,`/admin/logs${n?`?${n}`:``}`))).json()}async function fe(){return(await(await d(await l(`GET`,`/admin/addons`))).json()).addons}async function pe(e,t,n){let r={enabled:t};return n&&(r.env=n),await(await d(await l(`POST`,`/admin/addons/${encodeURIComponent(e)}`,r))).json()}async function me(e){return(await(await d(await l(`GET`,`/admin/addons/${encodeURIComponent(e)}/credentials`))).json()).fields}async function he(e,t){return await(await d(await l(`POST`,`/admin/addons/${encodeURIComponent(e)}/credentials`,{values:t}))).json()}async function ge(){return await(await d(await l(`GET`,`/admin/secrets`))).json()}async function _e(e){return await(await d(await l(`GET`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function ve(e,t){return await(await d(await l(`PUT`,`/admin/secrets/${encodeURIComponent(e)}`,{value:t}))).json()}async function ye(e){return await(await d(await l(`DELETE`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function be(e){return await(await d(await l(`GET`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function xe(e,t){return await(await d(await l(`PUT`,`/admin/automations/${encodeURIComponent(e)}/file`,{content:t}))).json()}async function Se(e){return await(await d(await l(`DELETE`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function f(){return await(await d(await l(`GET`,`/admin/voice`))).json()}async function p(e){let t=await l(`PUT`,`/admin/voice`,e);if(t.status===401)throw Object.assign(Error(`Invalid password.`),{status:401});if(t.status===200||t.status===202||t.status===502)return{...await t.json(),status:t.status};throw Error(await u(t))}async function m(e,t){let n=new FormData;n.append(`audio`,e,`recording.webm`),t?.language&&n.append(`language`,t.language),t?.prompt&&n.append(`prompt`,t.prompt);let r=await(await d(await fetch(`/api/transcribe`,{method:`POST`,headers:c(),credentials:`include`,body:n}))).json();return typeof r.text==`string`?r.text:``}async function h(){return await(await d(await l(`GET`,`/admin/akm`))).json()}async function g(e){return await(await d(await l(`PATCH`,`/admin/akm`,e))).json()}async function _(){return await(await d(await l(`GET`,`/admin/akm/health`))).json()}async function v(){return await(await d(await l(`GET`,`/admin/akm/host-sharing`))).json()}async function y(e={}){return await(await d(await l(`PUT`,`/admin/akm/host-sharing`,e))).json()}async function b(){return await(await d(await l(`DELETE`,`/admin/akm/host-sharing`))).json()}async function x(){await d(await l(`POST`,`/admin/containers/pull`,{}))}async function S(){return await(await d(await l(`GET`,`/admin/endpoints`))).json()}async function C(e){return await(await d(await l(`POST`,`/admin/endpoints`,e))).json()}async function w(e,t){return await(await d(await l(`PATCH`,`/admin/endpoints/${encodeURIComponent(e)}`,t))).json()}async function T(e){await d(await l(`DELETE`,`/admin/endpoints/${encodeURIComponent(e)}`))}async function E(e){return await(await d(await l(`POST`,`/admin/endpoints/active`,{id:e}))).json()}async function D(){return await(await d(await l(`POST`,`/proxy/assistant/session`,{}))).json()}async function O(){let e=(await(await d(await l(`GET`,`/proxy/assistant/session`))).json()).map(e=>({id:e.id,title:e.title??``,createdAt:e.time?.created??0,updatedAt:e.time?.updated??e.time?.created??0}));return e.sort((e,t)=>t.updatedAt-e.updatedAt),e}async function k(e){let t=await(await d(await l(`GET`,`/proxy/assistant/session/${encodeURIComponent(e)}/message`))).json(),n=[];for(let e of t){let t=e.parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``);t&&n.push({id:e.info.id,role:e.info.role,text:t,timestamp:e.info.time?.created??Date.now()})}return n}async function A(e,t){let n=await fetch(`/proxy/assistant/session/${encodeURIComponent(e)}/message`,{method:`POST`,headers:{"content-type":`application/json`,...c()},credentials:`include`,body:JSON.stringify({parts:[{type:`text`,text:t}]}),signal:AbortSignal.timeout(15e4)});if(n.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!n.ok){let e=await u(n);throw Object.assign(Error(e),{status:n.status})}return await n.json()}async function j(){try{return(await fetch(`/proxy/assistant/provider`,{method:`GET`,headers:c(),credentials:`include`,signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}var Ce={info:4e3,success:5e3,error:8e3},M=new class{#e=e(r([]));get toasts(){return t(this.#e)}set toasts(e){n(this.#e,e,!0)}timers=new Map;push(e,t,n={}){let r=n.replaceId??(typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`t-${Date.now()}-${Math.random().toString(36).slice(2)}`),i=n.sticky?null:n.ttlMs??Ce[e],a={id:r,kind:e,message:t,ttlMs:i},o=this.timers.get(r);o&&(clearTimeout(o),this.timers.delete(r));let s=this.toasts.findIndex(e=>e.id===r);if(s>=0){let e=[...this.toasts];e[s]=a,this.toasts=e}else this.toasts=[...this.toasts,a];if(i!==null){let e=setTimeout(()=>this.dismiss(r),i);this.timers.set(r,e)}return r}dismiss(e){let t=this.timers.get(e);t&&(clearTimeout(t),this.timers.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}clear(){for(let e of this.timers.values())clearTimeout(e);this.timers.clear(),this.toasts=[]}},we=6e4,N=new class{#e=e(`idle`);get status(){return t(this.#e)}set status(e){n(this.#e,e,!0)}#t=e(!1);get sttSupported(){return t(this.#t)}set sttSupported(e){n(this.#t,e,!0)}#n=e(!1);get ttsSupported(){return t(this.#n)}set ttsSupported(e){n(this.#n,e,!0)}#r=e(``);get errorMessage(){return t(this.#r)}set errorMessage(e){n(this.#r,e,!0)}#i=e(``);get interimTranscript(){return t(this.#i)}set interimTranscript(e){n(this.#i,e,!0)}#a=e(`disabled`);get sttEngine(){return t(this.#a)}set sttEngine(e){n(this.#a,e,!0)}#o=e(`disabled`);get ttsEngine(){return t(this.#o)}set ttsEngine(e){n(this.#o,e,!0)}#s=e(``);get sttLanguage(){return t(this.#s)}set sttLanguage(e){n(this.#s,e,!0)}#c=e(!1);get ttsAutoEnabled(){return t(this.#c)}set ttsAutoEnabled(e){n(this.#c,e,!0)}#l=e(!1);get autoplayBlocked(){return t(this.#l)}set autoplayBlocked(e){n(this.#l,e,!0)}#u=e(``);get browserSttUnsupportedReason(){return t(this.#u)}set browserSttUnsupportedReason(e){n(this.#u,e,!0)}},P=`openpalm.tts.auto`,F=null,I=null,L=null,R=null;function z(e){let t=N.ttsAutoEnabled;if(N.ttsAutoEnabled=e,typeof window<`u`)try{window.localStorage.setItem(P,e?`1`:`0`)}catch{}if(!e){Q();return}t||Te()}function Te(){if(typeof window>`u`)return;let e=window.AudioContext??window.webkitAudioContext;if(e)try{let t=new e,n=t.createBuffer(1,1,22050),r=t.createBufferSource();r.buffer=n,r.connect(t.destination),r.start(0),setTimeout(()=>{t.close().catch(()=>{})},100)}catch{}}function B(){if(!(typeof window>`u`))return window.SpeechRecognition??window.webkitSpeechRecognition??void 0}function Ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent??``,t=/iPad|iPhone|iPod/.test(e),n=window.MSStream;return t&&!n}function De(){return!(typeof window>`u`||typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)}function Oe(e){switch(e){case`browser`:return N.browserSttUnsupportedReason?!1:!!B();case`remote`:case`openpalm-voice`:return De();default:return!1}}function V(e){return e===`browser`||e===`browser-stt`?`browser`:e===`openpalm-voice`?`openpalm-voice`:e&&!e.startsWith(`skip-`)?`remote`:`disabled`}async function ke(){let e=typeof window<`u`&&`speechSynthesis`in window;if(typeof window<`u`)try{N.ttsAutoEnabled=window.localStorage.getItem(P)===`1`}catch{}try{let e=await f(),t=e.stt??{},n=e.tts??{},r=typeof t.engine==`string`?t.engine:``,i=typeof n.engine==`string`?n.engine:``;N.sttLanguage=typeof t.language==`string`?t.language:``,N.sttEngine=V(r),N.ttsEngine=V(i)}catch{N.sttEngine=`disabled`,N.ttsEngine=`disabled`}N.ttsSupported=N.ttsEngine===`openpalm-voice`||N.ttsEngine===`remote`||N.ttsEngine===`browser`&&e,Ee()&&B()?(N.browserSttUnsupportedReason=`iOS Safari does not support Web Speech recognition`,N.sttEngine===`browser`&&(N.sttEngine=`disabled`)):N.browserSttUnsupportedReason=``,N.sttEngine===`disabled`&&B()&&!N.browserSttUnsupportedReason&&(N.sttEngine=`browser`),N.sttSupported=Oe(N.sttEngine)}function Ae(e){if(!(N.status===`recording`||N.status===`transcribing`)){if(!N.sttSupported||N.sttEngine===`disabled`){N.errorMessage=`Speech recognition is not available.`;return}if(N.errorMessage=``,R=e,N.sttEngine===`browser`){je(e);return}Me()}}function je(e){let t=B();if(!t){N.errorMessage=`Speech recognition is not supported in this browser.`;return}let n=new t;I=n,n.lang=N.sttLanguage||navigator?.language||`en-US`,n.interimResults=!0,n.maxAlternatives=1,n.continuous=!1;let r=``;n.onresult=e=>{let t=``;for(let n=e.resultIndex;n<e.results.length;n++){let i=e.results[n];i.isFinal?r+=i[0]?.transcript??``:t+=i[0]?.transcript??``}N.interimTranscript=r+t},n.onerror=e=>{if(I!==n)return;let t=e.error??``;t===`no-speech`||t===`aborted`||(t===`not-allowed`?N.errorMessage=`Microphone access denied.`:N.errorMessage=`Speech error: ${t}`),N.interimTranscript=``,N.status=`idle`,I=null,R=null},n.onend=()=>{I===n&&(r.trim()&&e&&e(r.trim()),N.interimTranscript=``,N.status=`idle`,I=null,R=null)};try{n.start(),N.status=`recording`}catch{N.errorMessage=`Failed to start speech recognition.`,N.status=`idle`,I=null,R=null}}async function Me(){let e;try{e=await o()}catch(e){N.errorMessage=e instanceof Error?e.message:`Failed to start recording.`,N.status=`idle`,R=null;return}F=e,N.status=`recording`,L=setTimeout(()=>{H()},we)}async function H(){let e=F,t=R;if(!e)return;F=null,R=null,L&&=(clearTimeout(L),null),N.status=`transcribing`;let n;try{n=await e.stop()}catch(e){N.errorMessage=e instanceof Error?e.message:`Recording failed.`,N.status=`idle`;return}if(n.size===0){N.status=`idle`;return}try{let e=(await m(n,{language:N.sttLanguage||void 0})).trim();e&&t&&t(e)}catch(e){N.errorMessage=e instanceof Error?e.message:`Transcription failed.`}finally{N.status=`idle`}}function Ne(){if(I){try{I.stop()}catch{}return}F&&H()}var U=null,W=null,Pe=3,G=[],K=!1,q=null,J=null;function Y(){if(U){U.onerror=null,U.onended=null;try{U.pause()}catch{}U.src=``,U=null}W&&=(URL.revokeObjectURL(W),null)}function X(){if(q){q.onerror=null,q.onended=null;try{q.pause()}catch{}q.src=``,q=null}J&&=(URL.revokeObjectURL(J),null),N.autoplayBlocked=!1}function Fe(){let e=q;if(!e){N.autoplayBlocked=!1;return}N.autoplayBlocked=!1,N.errorMessage=``,N.status=`speaking`,U=e,W=J,q=null,J=null,e.play().catch(()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,Y()})}async function Ie(e){if(!(typeof window>`u`||!e.trim())){if(N.status===`speaking`){G.push(e);let t=0;for(;G.length>Pe;)G.shift(),t+=1;t>0&&!K&&(K=!0,M.push(`info`,`Skipped ${t} spoken ${t===1?`reply`:`replies`} — too much overlap. Lower the auto-speak chat rate.`));return}await Z(e)}}async function Z(e){if(typeof window>`u`||!e.trim())return;X(),Y(),`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.errorMessage=``;let t=N.ttsEngine,n=t===`openpalm-voice`||t===`remote`;if(n){let t;try{t=await fetch(`/api/speak`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({text:e})})}catch{}if(t&&t.ok&&t.headers.get(`content-type`)?.startsWith(`audio/`)){let e=await t.blob(),n=URL.createObjectURL(e),r=new Audio(n);U=r,W=n,r.onended=()=>{N.status=`idle`,Y();let e=G.shift();e?Z(e):K=!1},r.onerror=()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,Y();let e=G.shift();e?Z(e):K=!1},N.status=`speaking`;try{await r.play()}catch{N.status=`idle`,q=r,J=n,U=null,W=null,N.autoplayBlocked=!0}return}t&&!t.ok&&(N.errorMessage=await Le(t))}if(!(`speechSynthesis`in window))return;n&&(N.errorMessage=``);let r=new SpeechSynthesisUtterance(e);r.onstart=()=>{N.status=`speaking`},r.onend=()=>{N.status=`idle`;let e=G.shift();e?Z(e):K=!1},r.onerror=()=>{N.status=`idle`;let e=G.shift();e?Z(e):K=!1},window.speechSynthesis.speak(r)}async function Le(e){let t;try{let n=await e.clone().json();typeof n.error==`string`&&(t=n.error)}catch{}return t===`tts_not_configured`?`TTS is not configured.`:t===`upstream_error`||e.status===502||e.status===503?`Voice engine is warming up — try again in a moment.`:`TTS failed (HTTP ${e.status}).`}function Q(){G.length=0,K=!1,X(),Y(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.status=`idle`}function Re(){if(L&&=(clearTimeout(L),null),F){try{F.cancel()}catch{}F=null}if(I){try{I.stop()}catch{}I=null}R=null,N.interimTranscript=``,N.status=`idle`}var $=`openpalm.theme`,ze=`data-theme`,Be=`#161c22`,Ve=`#f9fafb`;function He(e){return e===`light`||e===`dark`||e===`system`}var Ue=new class{#e=e(`system`);get preference(){return t(this.#e)}set preference(e){n(this.#e,e,!0)}#t=e(`light`);get resolved(){return t(this.#t)}set resolved(e){n(this.#t,e,!0)}#n=e(!1);get initialized(){return t(this.#n)}set initialized(e){n(this.#n,e,!0)}#r=null;#i=()=>{this.preference===`system`&&(this.resolved=this.#s(`system`),this.#l())};init(){typeof window>`u`||this.initialized||(this.preference=this.#a(),this.resolved=this.#s(this.preference),this.#c(),this.#l(),this.initialized=!0)}setPreference(e){this.preference=e,this.resolved=this.#s(e),this.#o(e),this.#l()}toggle(){this.setPreference(this.resolved===`dark`?`light`:`dark`)}dispose(){this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=null,this.initialized=!1}#a(){if(typeof window>`u`)return`system`;try{let e=window.localStorage.getItem($);return He(e)?e:`system`}catch{return`system`}}#o(e){if(!(typeof window>`u`))try{window.localStorage.setItem($,e)}catch{}}#s(e){return e===`light`||e===`dark`?e:typeof window>`u`||typeof window.matchMedia!=`function`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}#c(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);this.#r!==e&&(this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=e,typeof e.addEventListener==`function`?e.addEventListener(`change`,this.#i):e.addListener(this.#i))}#l(){if(typeof document>`u`)return;let e=document.documentElement;e.setAttribute(ze,this.resolved),e.style.colorScheme=this.resolved;let t=document.querySelector(`meta[name="theme-color"]`);t&&(t.content=this.resolved===`dark`?Be:Ve);let n=document.querySelector(`meta[name="color-scheme"]`);n&&(n.content=this.resolved)}};export{w as $,ee as A,k as B,me as C,ue as D,_ as E,de as F,g as G,j as H,be as I,p as J,ve as K,se as L,oe as M,_e as N,te as O,ge as P,pe as Q,ae as R,y as S,h as T,x as U,O as V,he as W,E as X,A as Y,ce as Z,T as _,z as a,b,Ne as c,M as d,ie as et,re as f,D as g,C as h,Fe as i,v as j,S as k,Q as l,ne as m,Re as n,Ie as o,c as p,xe as q,ke as r,Ae as s,Ue as t,N as u,ye as v,fe as w,le as x,Se as y,f as z};
@@ -1 +1 @@
1
- import"./BwTF6U35.js";import{i as e,n as t,r as n}from"./B7ArSvo1.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"./0swOyi-5.js";import{i as e,n as t,r as n}from"./E7W0MQkU.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
+ �`dkNe{��)PM�Q���/i"qfw47%҉�}��?�tq͊�� �R���P�!��y8��YS.��Z�Wy���e������*֩���6��v�sr�H4JO(���xa�����;i��
2
+ /&ucR-�K[���+���U��ׂ����r�,|c�W�Gr�@���,��C���4���X�5�;������AI������c���M��yr�WĈN^�V%�ģ��g�?�i�) ,�}f0� ߀� �"���j��Lt�{
@@ -0,0 +1 @@
1
+ import{H as e,_ as t,a as n,d as r,j as i,k as a}from"./0swOyi-5.js";import"./xihTtKlq.js";var o=i(`<span class="spinner svelte-1fmz04p"></span>`);function s(i,s){let c=n(s,`size`,3,14);var l=o();e(()=>{t(l,`--spinner-size: ${c()??``}px`),r(l,`role`,s.label?`status`:void 0),r(l,`aria-label`,s.label),r(l,`aria-hidden`,s.label?void 0:`true`)}),a(i,l)}export{s as t};
@@ -0,0 +1 @@
1
+ m dK�iO��-*��N�W4���(�#ͩ�o�U�˃@��L#-�-� �9ܙ���Ƙ���,I�i��d!�r`��ֿ�5c�%y.߶��d�u��{ٷ��z1�܄}�����$%���Ϫ|�?�Z��[e�n� `���;�Ա�w�1U�\;�O^?��?�j���Z#�pC'���C��b�$�ؘ��Y�LB��Ƹ�t��'N$ӵ���$ l��~N�V�]
@@ -1 +1 @@
1
- import{A as e,D as t,E as n,I as r,J as i,N as a,O as o,P as s,V as c,Y as l,a as u,ct as d,d as f,et as p,g as m,h,it as g,k as _,p as v,q as y,rt as b,u as x,v as S,w as C}from"./BwTF6U35.js";import"./xihTtKlq.js";var w=[{id:`recommended`,label:`Recommended`,desc:`Best options to get started quickly`},{id:`local`,label:`Local`,desc:`Run models on your own hardware`},{id:`cloud`,label:`Cloud`,desc:`Hosted inference providers`},{id:`advanced`,label:`Advanced`,desc:`Additional providers`}],T=[{id:`ollama`,name:`Ollama`,kind:`local`,group:`recommended`,order:1,icon:`🦙`,desc:`Run open models on your hardware`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:11434`,llmModel:`llama3.2`,embModel:`nomic-embed-text`,embDims:768,canDetect:!0},{id:`huggingface`,name:`Hugging Face`,kind:`cloud`,group:`recommended`,order:2,icon:`🤗`,desc:`10,000+ open models via Inference Providers`,needsKey:!0,placeholder:`hf_...`,baseUrl:`https://router.huggingface.co/v1`,llmModel:`Qwen/Qwen3-32B`,embModel:`intfloat/multilingual-e5-large`,embDims:1024,keyPrefix:`hf_`},{id:`openai`,name:`OpenAI`,kind:`cloud`,group:`recommended`,order:3,icon:`◐`,desc:`GPT and o-series reasoning models`,needsKey:!0,placeholder:`sk-...`,baseUrl:`https://api.openai.com`,llmModel:`gpt-4o`,embModel:`text-embedding-3-small`,embDims:1536},{id:`google`,name:`Google`,kind:`cloud`,group:`recommended`,order:4,icon:`◆`,desc:`Gemini models with large context`,needsKey:!0,placeholder:`AIza...`,baseUrl:`https://generativelanguage.googleapis.com`,llmModel:`gemini-2.5-flash`,embModel:``,embDims:0,keyPrefix:`AI`},{id:`model-runner`,name:`Docker Model Runner`,kind:`local`,group:`local`,order:1,icon:`🐳`,desc:`Docker-managed model runtime`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:12434`,llmModel:`ai/llama3.2`,embModel:`ai/mxbai-embed-large-v1`,embDims:1024,canDetect:!0},{id:`lmstudio`,name:`LM Studio`,kind:`local`,group:`local`,order:2,icon:`🔬`,desc:`Desktop app for local inference`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:1234`,llmModel:`loaded-model`,embModel:``,embDims:0,canDetect:!0},{id:`groq`,name:`Groq`,kind:`cloud`,group:`cloud`,order:1,icon:`⚡`,desc:`Ultra-fast inference`,needsKey:!0,placeholder:`gsk_...`,baseUrl:`https://api.groq.com/openai`,llmModel:`llama-3.3-70b-versatile`,embModel:``,embDims:0},{id:`mistral`,name:`Mistral`,kind:`cloud`,group:`cloud`,order:2,icon:`◆`,desc:`Mistral & Codestral models`,needsKey:!0,placeholder:`...`,baseUrl:`https://api.mistral.ai`,llmModel:`mistral-large-latest`,embModel:`mistral-embed`,embDims:1024},{id:`together`,name:`Together AI`,kind:`cloud`,group:`cloud`,order:3,icon:`✦`,desc:`Open models at scale`,needsKey:!0,placeholder:`...`,baseUrl:`https://api.together.xyz`,llmModel:`meta-llama/Llama-3.3-70B-Instruct-Turbo`,embModel:``,embDims:0},{id:`deepseek`,name:`DeepSeek`,kind:`cloud`,group:`advanced`,order:1,icon:`◎`,desc:`DeepSeek chat & reasoning`,needsKey:!0,placeholder:`sk-...`,baseUrl:`https://api.deepseek.com`,llmModel:`deepseek-chat`,embModel:``,embDims:0},{id:`xai`,name:`xAI (Grok)`,kind:`cloud`,group:`advanced`,order:2,icon:`✦`,desc:`Grok models`,needsKey:!0,placeholder:`xai-...`,baseUrl:`https://api.x.ai`,llmModel:`grok-2`,embModel:``,embDims:0},{id:`openai-compatible`,name:`Custom API server`,kind:`cloud`,group:`advanced`,order:3,icon:`🔧`,desc:`Connect any AI server that uses the standard OpenAI API format.`,needsKey:!1,needsUrl:!0,optionalKey:!0,placeholder:`API key (optional)`,baseUrl:``,llmModel:``,embModel:``,embDims:0}],E={"text-embedding-3-small":1536,"text-embedding-3-large":3072,"text-embedding-ada-002":1536,"nomic-embed-text":768,"mxbai-embed-large":1024,"mxbai-embed-large-v1":1024,"ai/mxbai-embed-large-v1":1024,"mistral-embed":1024,"all-minilm":384,"snowflake-arctic-embed":1024,"intfloat/multilingual-e5-large":1024},D=[`System Check`,`Get Started`,`Providers`,`Models`,`Voice`,`Options`,`Review`],O=[{id:`openpalm-voice`,name:`OpenPalm Voice`,type:`local`,recommended:!0,desc:`Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.`},{id:`openai-tts`,name:`OpenAI TTS`,type:`cloud`,desc:`Cloud voices. Uses your OpenAI API key`},{id:`browser-tts`,name:`Browser Built-in`,type:`builtin`,desc:`Native speech synthesis. No setup needed`},{id:`skip-tts`,name:`Skip — text only`,type:`skip`,desc:`Add TTS later from the dashboard`}],k=[{id:`openpalm-voice`,name:`OpenPalm Voice`,type:`local`,recommended:!0,desc:`Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.`},{id:`openai-stt`,name:`OpenAI Whisper`,type:`cloud`,desc:`Cloud Whisper API. Uses OpenAI key`},{id:`browser-stt`,name:`Browser Built-in`,type:`builtin`,desc:`Web Speech API. No setup`},{id:`skip-stt`,name:`Skip — text only`,type:`skip`,desc:`Add STT later from the dashboard`}],A=(e,t)=>({key:`baseURL`,label:`Endpoint URL`,placeholder:e,hint:t}),j={"openpalm-voice":{id:`openpalm-voice`,provider:`openpalm-voice`,fields:[]},"openai-tts":{id:`openai-tts`,provider:`openai`,fields:[A(`https://api.openai.com/v1`,`Leave empty to use the default OpenAI endpoint. Override for proxies / Azure-compat.`),{key:`model`,label:`Model`,options:[`tts-1`,`tts-1-hd`,`gpt-4o-mini-tts`]},{key:`voice`,label:`Voice`,options:[`alloy`,`echo`,`fable`,`onyx`,`nova`,`shimmer`]}]},"browser-tts":{id:`browser-tts`,fields:[]},"skip-tts":{id:`skip-tts`,fields:[]}},M={"openpalm-voice":{id:`openpalm-voice`,provider:`openpalm-voice`,fields:[]},"openai-stt":{id:`openai-stt`,provider:`openai`,fields:[A(`https://api.openai.com/v1`,`Leave empty to use the default OpenAI endpoint.`),{key:`model`,label:`Model`,options:[`whisper-1`,`gpt-4o-mini-transcribe`,`gpt-4o-transcribe`]},{key:`language`,label:`Language`,placeholder:`en`,hint:"A language code like `en` or `fr`, or leave blank to detect automatically."}]},"browser-stt":{id:`browser-stt`,fields:[{key:`language`,label:`Language`,placeholder:`en-US`,hint:"A language code like `en` or `fr`, or leave blank to detect automatically."}]},"skip-stt":{id:`skip-stt`,fields:[]}},N=[{id:`api`,name:`API`,icon:`🔌`,desc:`OpenAI-compatible REST API endpoint`},{id:`discord`,name:`Discord`,icon:`🎮`,desc:`Connect to a Discord server`,credentials:[{key:`botToken`,label:`Bot Token`,placeholder:`Paste Discord bot token`,required:!0},{key:`applicationId`,label:`Application ID`,placeholder:`Discord application ID`,secret:!1}]},{id:`slack`,name:`Slack`,icon:`💼`,desc:`Access via Slack bot`,credentials:[{key:`slackBotToken`,label:`Bot Token`,placeholder:`xoxb-...`,required:!0},{key:`slackAppToken`,label:`App Token`,placeholder:`xapp-...`,required:!0}]}],P=[{id:`ollama`,name:`Ollama`,env:[],models:{},localUrl:`http://localhost:11434`},{id:`model-runner`,name:`Docker Model Runner`,env:[],models:{},localUrl:`http://localhost:12434`},{id:`lmstudio`,name:`LM Studio`,env:[],models:{},localUrl:`http://localhost:1234`},{id:`openai-compatible`,name:`Custom API server`,env:[],models:{},localUrl:``}],F=e(`<span class="engine-subtitle svelte-1e5u5jo"> </span>`),I=e(`<span> </span>`),L=e(`<span class="badge badge-recommended">Recommended</span>`),R=e(`<option> </option>`),z=e(`<select class="form-input"><option>— default —</option><!></select>`),B=e(`<input class="form-input" autocomplete="off"/>`),V=e(`<span class="field-hint svelte-1e5u5jo"> </span>`),H=e(`<div class="form-field"><label class="form-label"> </label> <!> <!></div>`),U=e(`<div class="engine-config svelte-1e5u5jo"></div>`),W=e(`<button type="button"><div class="engine-body svelte-1e5u5jo"><span class="engine-name svelte-1e5u5jo"> </span> <span class="engine-desc svelte-1e5u5jo"> </span> <!> <!></div> <!></button> <!>`,1),G=e(`<div class="engine-list svelte-1e5u5jo"></div>`);function K(e,a){g(a,!0);let u=p(()=>a.engineOptions??(a.kind===`tts`?O:k)),_=p(()=>a.engineConfigs??(a.kind===`tts`?j:M)),w=p(()=>a.hiddenEngines?r(u).filter(e=>!a.hiddenEngines.has(e.id)):r(u));function T(e){if(a.disabledEngines?.[e]?.disabled)return;let t=r(_)[e],n=new Set(t?.fields.map(e=>e.key)),i={engine:e,provider:t?.provider,...n.has(`baseURL`)&&a.value.baseURL?{baseURL:a.value.baseURL}:{},...n.has(`model`)&&a.value.model?{model:a.value.model}:{},...n.has(`voice`)&&a.value.voice?{voice:a.value.voice}:{},...n.has(`language`)&&a.value.language?{language:a.value.language}:{}};a.onchange(i)}function E(e,t){let n={...a.value};t?n[e]=t:delete n[e],a.onchange(n)}var D=G();C(D,21,()=>r(w),e=>e.id,(e,u)=>{let g=p(()=>a.value.engine===r(u).id),b=p(()=>r(_)[r(u).id]),w=p(()=>a.disabledEngines?.[r(u).id]),D=p(()=>r(w)?.disabled??!1);var O=W(),k=i(O);let A;var j=y(k),M=y(j),N=y(M,!0);d(M);var P=l(M,2),G=y(P,!0);d(P);var K=l(P,2),q=e=>{var n=F(),i=y(n,!0);d(n),c(()=>t(i,r(w).reason)),o(e,n)};n(K,e=>{r(D)&&r(w)?.reason&&e(q)});var J=l(K,2),Y=e=>{var n=I();let r;var i=y(n,!0);d(n),c(()=>{r=S(n,1,`engine-reachability svelte-1e5u5jo`,null,r,{"engine-reachability--ok":a.reachable.remoteReachable}),t(i,a.reachable.remoteReachable?`● Endpoint reachable`:`○ Endpoint not reachable`)}),o(e,n)};n(J,e=>{r(u).id===(a.reachabilityEngineId??(a.kind===`tts`?`openai-tts`:`openai-stt`))&&a.reachable?.remoteConfigured&&e(Y)}),d(j);var X=l(j,2),Z=e=>{o(e,L())};n(X,e=>{r(u).recommended&&e(Z)}),d(k);var Q=l(k,2),$=e=>{var i=U();C(i,21,()=>r(b).fields,e=>e.key,(e,i)=>{var u=H(),p=y(u),g=y(p,!0);d(p);var _=l(p,2),b=e=>{var n=z(),u=y(n);u.value=u.__value=``,C(l(u),16,()=>r(i).options,e=>e,(e,n)=>{var r=R(),i=y(r,!0);d(r);var a={};c(()=>{t(i,n),a!==(a=n)&&(r.value=(r.__value=n)??``)}),o(e,r)}),d(n);var p;h(n),c(()=>{f(n,`id`,`voice-${a.kind??``}-${r(i).key??``}`),p!==(p=a.value[r(i).key]??``)&&(n.value=(n.__value=a.value[r(i).key]??``)??``,m(n,a.value[r(i).key]??``))}),s(`change`,n,e=>E(r(i).key,e.currentTarget.value)),o(e,n)},S=e=>{var t=B();x(t),c(()=>{f(t,`id`,`voice-${a.kind??``}-${r(i).key??``}`),f(t,`type`,r(i).key===`baseURL`?`url`:`text`),v(t,a.value[r(i).key]??``),f(t,`placeholder`,r(i).placeholder??``),f(t,`spellcheck`,r(i).key===`baseURL`?!1:void 0)}),s(`input`,t,e=>E(r(i).key,e.currentTarget.value)),o(e,t)};n(_,e=>{r(i).options?e(b):e(S,-1)});var w=l(_,2),T=e=>{var n=V(),a=y(n,!0);d(n),c(()=>t(a,r(i).hint)),o(e,n)};n(w,e=>{r(i).hint&&e(T)}),d(u),c(()=>{f(p,`for`,`voice-${a.kind??``}-${r(i).key??``}`),t(g,r(i).label)}),o(e,u)}),d(i),o(e,i)};n(Q,e=>{r(g)&&r(b)&&r(b).fields.length>0&&e($)}),c(()=>{A=S(k,1,`engine-card svelte-1e5u5jo`,null,A,{"engine-card--selected":r(g),"engine-card--disabled":r(D)}),k.disabled=r(D),t(N,r(u).name),t(G,r(u).desc)}),s(`click`,k,()=>T(r(u).id)),o(e,O)}),d(D),o(e,D),b()}a([`click`,`change`,`input`]);var q=e(`<p class="profile-single svelte-11ub9pr"> </p>`),J=e(`<p class="profile-desc svelte-11ub9pr">Select the profile that matches your hardware. GPU profiles are auto-selected when available.</p>`),Y=e(`<option> </option>`),X=e(`<span class="field-hint svelte-11ub9pr"> </span>`),Z=e(`<span class="field-hint field-hint--warning svelte-11ub9pr"> </span>`),Q=e(`<!> <div class="form-field"><label class="form-label" for="voice-profile">Profile</label> <select id="voice-profile" class="form-input"></select> <!> <!></div>`,1);function $(e,a){g(a,!0);let v=u(a,`showDescription`,7),x=p(()=>a.profiles.find(e=>e.id===a.selectedProfile)??a.profiles[0]);v(v()??!0);var S=_(),w=i(S),T=e=>{},E=e=>{var n=q(),i=y(n);d(n),c(()=>t(i,`Using ${r(x)?.label??r(x)?.id??`selected`??``}.`)),o(e,n)},D=e=>{var u=Q(),p=i(u),g=e=>{o(e,J())};n(p,e=>{v()&&e(g)});var _=l(p,2),b=l(y(_),2);C(b,21,()=>a.profiles,e=>e.id,(e,n)=>{var i=Y(),a=y(i);d(i);var s={};c(()=>{i.disabled=r(n).available===!1,f(i,`title`,r(n).available===!1?r(n).reason??`Not available on this host`:void 0),t(a,`${r(n).label??r(n).id??``}${r(n).available===!1?` — unavailable`:``}`),s!==(s=r(n).id)&&(i.value=(i.__value=r(n).id)??``)}),o(e,i)}),d(b);var S;h(b);var w=l(b,2),T=e=>{var n=X(),i=y(n);d(n),c(()=>t(i,`Requires: ${r(x).requires??``}`)),o(e,n)};n(w,e=>{r(x)?.requires&&e(T)});var E=l(w,2),D=e=>{var n=Z(),i=y(n,!0);d(n),c(()=>t(i,r(x).reason??`This profile is not available on the current host.`)),o(e,n)};n(E,e=>{r(x)?.available===!1&&e(D)}),d(_),c(()=>{S!==(S=a.selectedProfile)&&(b.value=(b.__value=a.selectedProfile)??``,m(b,a.selectedProfile))}),s(`change`,b,e=>a.onchange(e.currentTarget.value)),o(e,u)};n(w,e=>{a.profiles.length===0?e(T):a.profiles.length===1?e(E,1):e(D,-1)}),o(e,S),b()}a([`change`]);export{P as a,D as c,E as i,k as l,K as n,T as o,N as r,w as s,$ as t,O as u};
1
+ import{A as e,D as t,F as n,H as r,J as i,L as a,O as o,P as s,T as c,X as l,Y as u,a as d,at as f,d as p,g as m,h,it as g,j as _,k as v,lt as y,p as b,tt as x,u as S,v as C}from"./0swOyi-5.js";import"./xihTtKlq.js";var w=[{id:`recommended`,label:`Recommended`,desc:`Best options to get started quickly`},{id:`local`,label:`Local`,desc:`Run models on your own hardware`},{id:`cloud`,label:`Cloud`,desc:`Hosted inference providers`},{id:`advanced`,label:`Advanced`,desc:`Additional providers`}],T=[{id:`ollama`,name:`Ollama`,kind:`local`,group:`recommended`,order:1,icon:`🦙`,desc:`Run open models on your hardware`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:11434`,llmModel:`llama3.2`,embModel:`nomic-embed-text`,embDims:768,canDetect:!0},{id:`huggingface`,name:`Hugging Face`,kind:`cloud`,group:`recommended`,order:2,icon:`🤗`,desc:`10,000+ open models via Inference Providers`,needsKey:!0,placeholder:`hf_...`,baseUrl:`https://router.huggingface.co/v1`,llmModel:`Qwen/Qwen3-32B`,embModel:`intfloat/multilingual-e5-large`,embDims:1024,keyPrefix:`hf_`},{id:`openai`,name:`OpenAI`,kind:`cloud`,group:`recommended`,order:3,icon:`◐`,desc:`GPT and o-series reasoning models`,needsKey:!0,placeholder:`sk-...`,baseUrl:`https://api.openai.com`,llmModel:`gpt-4o`,embModel:`text-embedding-3-small`,embDims:1536},{id:`google`,name:`Google`,kind:`cloud`,group:`recommended`,order:4,icon:`◆`,desc:`Gemini models with large context`,needsKey:!0,placeholder:`AIza...`,baseUrl:`https://generativelanguage.googleapis.com`,llmModel:`gemini-2.5-flash`,embModel:``,embDims:0,keyPrefix:`AI`},{id:`model-runner`,name:`Docker Model Runner`,kind:`local`,group:`local`,order:1,icon:`🐳`,desc:`Docker-managed model runtime`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:12434`,llmModel:`ai/llama3.2`,embModel:`ai/mxbai-embed-large-v1`,embDims:1024,canDetect:!0},{id:`lmstudio`,name:`LM Studio`,kind:`local`,group:`local`,order:2,icon:`🔬`,desc:`Desktop app for local inference`,needsKey:!1,placeholder:``,baseUrl:`http://localhost:1234`,llmModel:`loaded-model`,embModel:``,embDims:0,canDetect:!0},{id:`groq`,name:`Groq`,kind:`cloud`,group:`cloud`,order:1,icon:`⚡`,desc:`Ultra-fast inference`,needsKey:!0,placeholder:`gsk_...`,baseUrl:`https://api.groq.com/openai`,llmModel:`llama-3.3-70b-versatile`,embModel:``,embDims:0},{id:`mistral`,name:`Mistral`,kind:`cloud`,group:`cloud`,order:2,icon:`◆`,desc:`Mistral & Codestral models`,needsKey:!0,placeholder:`...`,baseUrl:`https://api.mistral.ai`,llmModel:`mistral-large-latest`,embModel:`mistral-embed`,embDims:1024},{id:`together`,name:`Together AI`,kind:`cloud`,group:`cloud`,order:3,icon:`✦`,desc:`Open models at scale`,needsKey:!0,placeholder:`...`,baseUrl:`https://api.together.xyz`,llmModel:`meta-llama/Llama-3.3-70B-Instruct-Turbo`,embModel:``,embDims:0},{id:`deepseek`,name:`DeepSeek`,kind:`cloud`,group:`advanced`,order:1,icon:`◎`,desc:`DeepSeek chat & reasoning`,needsKey:!0,placeholder:`sk-...`,baseUrl:`https://api.deepseek.com`,llmModel:`deepseek-chat`,embModel:``,embDims:0},{id:`xai`,name:`xAI (Grok)`,kind:`cloud`,group:`advanced`,order:2,icon:`✦`,desc:`Grok models`,needsKey:!0,placeholder:`xai-...`,baseUrl:`https://api.x.ai`,llmModel:`grok-2`,embModel:``,embDims:0},{id:`openai-compatible`,name:`Custom API server`,kind:`cloud`,group:`advanced`,order:3,icon:`🔧`,desc:`Connect any AI server that uses the standard OpenAI API format.`,needsKey:!1,needsUrl:!0,optionalKey:!0,placeholder:`API key (optional)`,baseUrl:``,llmModel:``,embModel:``,embDims:0}],E={"text-embedding-3-small":1536,"text-embedding-3-large":3072,"text-embedding-ada-002":1536,"nomic-embed-text":768,"mxbai-embed-large":1024,"mxbai-embed-large-v1":1024,"ai/mxbai-embed-large-v1":1024,"mistral-embed":1024,"all-minilm":384,"snowflake-arctic-embed":1024,"intfloat/multilingual-e5-large":1024},D=[`System Check`,`Get Started`,`Providers`,`Models`,`Voice`,`Options`,`Review`],O=[{id:`openpalm-voice`,name:`OpenPalm Voice`,type:`local`,recommended:!0,desc:`Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.`},{id:`openai-tts`,name:`OpenAI TTS`,type:`cloud`,desc:`Cloud voices. Uses your OpenAI API key`},{id:`browser-tts`,name:`Browser Built-in`,type:`builtin`,desc:`Native speech synthesis. No setup needed`},{id:`skip-tts`,name:`Skip — text only`,type:`skip`,desc:`Add TTS later from the dashboard`}],k=[{id:`openpalm-voice`,name:`OpenPalm Voice`,type:`local`,recommended:!0,desc:`Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.`},{id:`openai-stt`,name:`OpenAI Whisper`,type:`cloud`,desc:`Cloud Whisper API. Uses OpenAI key`},{id:`browser-stt`,name:`Browser Built-in`,type:`builtin`,desc:`Web Speech API. No setup`},{id:`skip-stt`,name:`Skip — text only`,type:`skip`,desc:`Add STT later from the dashboard`}],A=(e,t)=>({key:`baseURL`,label:`Endpoint URL`,placeholder:e,hint:t}),j={"openpalm-voice":{id:`openpalm-voice`,provider:`openpalm-voice`,fields:[]},"openai-tts":{id:`openai-tts`,provider:`openai`,fields:[A(`https://api.openai.com/v1`,`Leave empty to use the default OpenAI endpoint. Override for proxies / Azure-compat.`),{key:`model`,label:`Model`,options:[`tts-1`,`tts-1-hd`,`gpt-4o-mini-tts`]},{key:`voice`,label:`Voice`,options:[`alloy`,`echo`,`fable`,`onyx`,`nova`,`shimmer`]}]},"browser-tts":{id:`browser-tts`,fields:[]},"skip-tts":{id:`skip-tts`,fields:[]}},M={"openpalm-voice":{id:`openpalm-voice`,provider:`openpalm-voice`,fields:[]},"openai-stt":{id:`openai-stt`,provider:`openai`,fields:[A(`https://api.openai.com/v1`,`Leave empty to use the default OpenAI endpoint.`),{key:`model`,label:`Model`,options:[`whisper-1`,`gpt-4o-mini-transcribe`,`gpt-4o-transcribe`]},{key:`language`,label:`Language`,placeholder:`en`,hint:"A language code like `en` or `fr`, or leave blank to detect automatically."}]},"browser-stt":{id:`browser-stt`,fields:[{key:`language`,label:`Language`,placeholder:`en-US`,hint:"A language code like `en` or `fr`, or leave blank to detect automatically."}]},"skip-stt":{id:`skip-stt`,fields:[]}},N=[{id:`api`,name:`API`,icon:`🔌`,desc:`OpenAI-compatible REST API endpoint`},{id:`discord`,name:`Discord`,icon:`🎮`,desc:`Connect to a Discord server`,credentials:[{key:`botToken`,label:`Bot Token`,placeholder:`Paste Discord bot token`,required:!0},{key:`applicationId`,label:`Application ID`,placeholder:`Discord application ID`,secret:!1}]},{id:`slack`,name:`Slack`,icon:`💼`,desc:`Access via Slack bot`,credentials:[{key:`slackBotToken`,label:`Bot Token`,placeholder:`xoxb-...`,required:!0},{key:`slackAppToken`,label:`App Token`,placeholder:`xapp-...`,required:!0}]}],P=[{id:`ollama`,name:`Ollama`,env:[],models:{},localUrl:`http://localhost:11434`},{id:`model-runner`,name:`Docker Model Runner`,env:[],models:{},localUrl:`http://localhost:12434`},{id:`lmstudio`,name:`LM Studio`,env:[],models:{},localUrl:`http://localhost:1234`},{id:`openai-compatible`,name:`Custom API server`,env:[],models:{},localUrl:``}],F=_(`<span class="engine-subtitle svelte-1e5u5jo"> </span>`),I=_(`<span> </span>`),L=_(`<span class="badge badge-recommended">Recommended</span>`),R=_(`<option> </option>`),z=_(`<select class="form-input"><option>— default —</option><!></select>`),B=_(`<input class="form-input" autocomplete="off"/>`),V=_(`<span class="field-hint svelte-1e5u5jo"> </span>`),H=_(`<div class="form-field"><label class="form-label"> </label> <!> <!></div>`),U=_(`<div class="engine-config svelte-1e5u5jo"></div>`),W=_(`<button type="button"><div class="engine-body svelte-1e5u5jo"><span class="engine-name svelte-1e5u5jo"> </span> <span class="engine-desc svelte-1e5u5jo"> </span> <!> <!></div> <!></button> <!>`,1),G=_(`<div class="engine-list svelte-1e5u5jo"></div>`);function K(e,s){f(s,!0);let d=x(()=>s.engineOptions??(s.kind===`tts`?O:k)),_=x(()=>s.engineConfigs??(s.kind===`tts`?j:M)),w=x(()=>s.hiddenEngines?a(d).filter(e=>!s.hiddenEngines.has(e.id)):a(d));function T(e){if(s.disabledEngines?.[e]?.disabled)return;let t=a(_)[e],n=new Set(t?.fields.map(e=>e.key)),r={engine:e,provider:t?.provider,...n.has(`baseURL`)&&s.value.baseURL?{baseURL:s.value.baseURL}:{},...n.has(`model`)&&s.value.model?{model:s.value.model}:{},...n.has(`voice`)&&s.value.voice?{voice:s.value.voice}:{},...n.has(`language`)&&s.value.language?{language:s.value.language}:{}};s.onchange(r)}function E(e,t){let n={...s.value};t?n[e]=t:delete n[e],s.onchange(n)}var D=G();c(D,21,()=>a(w),e=>e.id,(e,d)=>{let f=x(()=>s.value.engine===a(d).id),g=x(()=>a(_)[a(d).id]),w=x(()=>s.disabledEngines?.[a(d).id]),D=x(()=>a(w)?.disabled??!1);var O=W(),k=u(O);let A;var j=i(k),M=i(j),N=i(M,!0);y(M);var P=l(M,2),G=i(P,!0);y(P);var K=l(P,2),q=e=>{var t=F(),n=i(t,!0);y(t),r(()=>o(n,a(w).reason)),v(e,t)};t(K,e=>{a(D)&&a(w)?.reason&&e(q)});var J=l(K,2),Y=e=>{var t=I();let n;var a=i(t,!0);y(t),r(()=>{n=C(t,1,`engine-reachability svelte-1e5u5jo`,null,n,{"engine-reachability--ok":s.reachable.remoteReachable}),o(a,s.reachable.remoteReachable?`● Endpoint reachable`:`○ Endpoint not reachable`)}),v(e,t)};t(J,e=>{a(d).id===(s.reachabilityEngineId??(s.kind===`tts`?`openai-tts`:`openai-stt`))&&s.reachable?.remoteConfigured&&e(Y)}),y(j);var X=l(j,2),Z=e=>{v(e,L())};t(X,e=>{a(d).recommended&&e(Z)}),y(k);var Q=l(k,2),$=e=>{var u=U();c(u,21,()=>a(g).fields,e=>e.key,(e,u)=>{var d=H(),f=i(d),g=i(f,!0);y(f);var _=l(f,2),x=e=>{var t=z(),d=i(t);d.value=d.__value=``,c(l(d),16,()=>a(u).options,e=>e,(e,t)=>{var n=R(),a=i(n,!0);y(n);var s={};r(()=>{o(a,t),s!==(s=t)&&(n.value=(n.__value=t)??``)}),v(e,n)}),y(t);var f;h(t),r(()=>{p(t,`id`,`voice-${s.kind??``}-${a(u).key??``}`),f!==(f=s.value[a(u).key]??``)&&(t.value=(t.__value=s.value[a(u).key]??``)??``,m(t,s.value[a(u).key]??``))}),n(`change`,t,e=>E(a(u).key,e.currentTarget.value)),v(e,t)},C=e=>{var t=B();S(t),r(()=>{p(t,`id`,`voice-${s.kind??``}-${a(u).key??``}`),p(t,`type`,a(u).key===`baseURL`?`url`:`text`),b(t,s.value[a(u).key]??``),p(t,`placeholder`,a(u).placeholder??``),p(t,`spellcheck`,a(u).key===`baseURL`?!1:void 0)}),n(`input`,t,e=>E(a(u).key,e.currentTarget.value)),v(e,t)};t(_,e=>{a(u).options?e(x):e(C,-1)});var w=l(_,2),T=e=>{var t=V(),n=i(t,!0);y(t),r(()=>o(n,a(u).hint)),v(e,t)};t(w,e=>{a(u).hint&&e(T)}),y(d),r(()=>{p(f,`for`,`voice-${s.kind??``}-${a(u).key??``}`),o(g,a(u).label)}),v(e,d)}),y(u),v(e,u)};t(Q,e=>{a(f)&&a(g)&&a(g).fields.length>0&&e($)}),r(()=>{A=C(k,1,`engine-card svelte-1e5u5jo`,null,A,{"engine-card--selected":a(f),"engine-card--disabled":a(D)}),k.disabled=a(D),o(N,a(d).name),o(G,a(d).desc)}),n(`click`,k,()=>T(a(d).id)),v(e,O)}),y(D),v(e,D),g()}s([`click`,`change`,`input`]);var q=_(`<p class="profile-single svelte-11ub9pr"> </p>`),J=_(`<p class="profile-desc svelte-11ub9pr">Select the profile that matches your hardware. GPU profiles are auto-selected when available.</p>`),Y=_(`<option> </option>`),X=_(`<span class="field-hint svelte-11ub9pr"> </span>`),Z=_(`<span class="field-hint field-hint--warning svelte-11ub9pr"> </span>`),Q=_(`<!> <div class="form-field"><label class="form-label" for="voice-profile">Profile</label> <select id="voice-profile" class="form-input"></select> <!> <!></div>`,1);function $(s,_){f(_,!0);let b=d(_,`showDescription`,7),S=x(()=>_.profiles.find(e=>e.id===_.selectedProfile)??_.profiles[0]);b(b()??!0);var C=e(),w=u(C),T=e=>{},E=e=>{var t=q(),n=i(t);y(t),r(()=>o(n,`Using ${a(S)?.label??a(S)?.id??`selected`??``}.`)),v(e,t)},D=e=>{var s=Q(),d=u(s),f=e=>{v(e,J())};t(d,e=>{b()&&e(f)});var g=l(d,2),x=l(i(g),2);c(x,21,()=>_.profiles,e=>e.id,(e,t)=>{var n=Y(),s=i(n);y(n);var c={};r(()=>{n.disabled=a(t).available===!1,p(n,`title`,a(t).available===!1?a(t).reason??`Not available on this host`:void 0),o(s,`${a(t).label??a(t).id??``}${a(t).available===!1?` — unavailable`:``}`),c!==(c=a(t).id)&&(n.value=(n.__value=a(t).id)??``)}),v(e,n)}),y(x);var C;h(x);var w=l(x,2),T=e=>{var t=X(),n=i(t);y(t),r(()=>o(n,`Requires: ${a(S).requires??``}`)),v(e,t)};t(w,e=>{a(S)?.requires&&e(T)});var E=l(w,2),D=e=>{var t=Z(),n=i(t,!0);y(t),r(()=>o(n,a(S).reason??`This profile is not available on the current host.`)),v(e,t)};t(E,e=>{a(S)?.available===!1&&e(D)}),y(g),r(()=>{C!==(C=_.selectedProfile)&&(x.value=(x.__value=_.selectedProfile)??``,m(x,_.selectedProfile))}),n(`change`,x,e=>_.onchange(e.currentTarget.value)),v(e,s)};t(w,e=>{_.profiles.length===0?e(T):_.profiles.length===1?e(E,1):e(D,-1)}),v(s,C),g()}s([`change`]);export{P as a,D as c,E as i,k as l,K as n,T as o,N as r,w as s,$ as t,O as u};
@@ -0,0 +1 @@
1
+ import{st as e}from"./0swOyi-5.js";e();
@@ -0,0 +1 @@
1
+ �import{st as e}from"./0swOyi-5.js";e();
@@ -0,0 +1 @@
1
+ import{H as e,J as t,L as n,X as r,at as i,d as a,it as o,j as s,k as c,lt as l,tt as u,v as d}from"./0swOyi-5.js";import"./xihTtKlq.js";import{t as f}from"./BPh8tqAg.js";var p=s(`<nav class="mode-switch svelte-dn9fn0" aria-label="Chat mode"><a href="/chat"><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-dn9fn0"><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> <span>Chat</span></a> <a href="/advanced"><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-dn9fn0"><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> <span>Advanced</span></a></nav>`);function m(s,m){i(m,!0);let h=u(()=>f.url?.pathname??``),g=u(()=>n(h)===`/chat`||n(h).startsWith(`/chat/`)),_=u(()=>n(h)===`/advanced`||n(h).startsWith(`/advanced/`));var v=p(),y=t(v);let b;var x=r(y,2);let S;l(v),e(()=>{b=d(y,1,`mode-tab svelte-dn9fn0`,null,b,{active:n(g)}),a(y,`aria-current`,n(g)?`page`:void 0),S=d(x,1,`mode-tab svelte-dn9fn0`,null,S,{active:n(_)}),a(x,`aria-current`,n(_)?`page`:void 0)}),c(s,v),o()}export{m as t};
@@ -0,0 +1 @@
1
+ import{$ as e,L as t,Q as n,R as r,nt as i,r as a,t as o,z as s}from"./0swOyi-5.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_nyq445?.base??``,fe=globalThis.__sveltekit_nyq445?.assets??S??``,pe=`0.11.0-rc.13`,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=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var we={v:g};function Te(){let{set:e,subscribe:t}=i(!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=e({});get data(){return t(this.#e)}set data(e){n(this.#e,e)}#t=e(null);get form(){return t(this.#t)}set form(e){n(this.#t,e)}#n=e(null);get error(){return t(this.#n)}set error(e){n(this.#n,e)}#r=e({});get params(){return t(this.#r)}set params(e){n(this.#r,e)}#i=e({id:null});get route(){return t(this.#i)}set route(e){n(this.#i,e)}#a=e({});get state(){return t(this.#a)}set state(e){n(this.#a,e)}#o=e(-1);get status(){return t(this.#o)}set status(e){n(this.#o,e)}#s=e(new URL(Pe));get url(){return t(this.#s)}set url(e){n(this.#s,e)}},j=new class{#e=e(null);get current(){return t(this.#e)}set current(e){n(this.#e,e)}},M=new class{#e=e(!1);get current(){return t(this.#e)}set current(e){n(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:i(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_nyq445&&(globalThis.__sveltekit_nyq445.query,globalThis.__sveltekit_nyq445.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,r){let i,a;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:r,accept:()=>{if(t.invalidateAll){et=!0,i=new Set;for(let[e,t]of rt)for(let n of t.keys())i.add(k(e,n));a=new Set;for(let[e,t]of it)for(let n of t.keys())a.add(k(e,n))}t.invalidate&&t.invalidate.forEach(jt)}}),t.invalidateAll&&s().then(s).then(()=>{for(let[e,t]of rt)for(let[n,{resource:r}]of t)i?.has(k(e,n))&&r.refresh();for(let[e,t]of it)for(let[n,{resource:r}]of t)a?.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:t,popped:n,keepfocus:i,noscroll:a,replace_state:o,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(t,!1),_=e===`enter`?Lt(K,h,t,e):Ot({url:t,type:e,delta:n?.delta,intent:h,scroll:n?.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(t,S,B.hash))return await L(t,o);y=await kt(t,{id:null},await $(new c(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=h?.url||t,Z!==d)return _.reject(Error(`navigation aborted`)),!1;if(y.type===`redirect`){if(u<20){await Q({type:e,url:new URL(y.location,t),popped:n,keepfocus:i,noscroll:a,replace_state:o,state:l,redirect_count:u+1,nav_token:d}),_.fulfil(void 0);return}y=await Ct({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else y.props.page.status>=400&&await I.updated.check()&&(await Ue(),await L(t,o));if(ot(),Ve(te),st(v),y.props.page.url.pathname!==t.pathname&&(t.pathname=y.props.page.url.pathname),l=n?n.state:l,!n){let e=+!o,n={[C]:Y+=e,[w]:X+=e,[ge]:l};(o?history.replaceState:history.pushState).call(history,n,``,t),o||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 n=_.navigation.to;K={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=t);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=r?.()),$e=!0}else await pt(y,Ke,!1);let{activeElement:re}=document;if(await b,await s(),await s(),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=n?n.scroll:a?E():null;e?scrollTo(e.x,e.y):(x=t.hash&&document.getElementById(Bt(t)))?x.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==re&&document.activeElement!==document.body;!i&&!ie&&It(t,!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,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DxAGOZgx.js","../chunks/0swOyi-5.js","../chunks/xihTtKlq.js","../chunks/BBdT9Cjm.js","../assets/0.nenI9xO9.css","../nodes/1.B-z3blIe.js","../chunks/BPh8tqAg.js","../chunks/E7W0MQkU.js","../chunks/BuFlayix.js","../nodes/2.B-8ehRO1.js","../chunks/Bmfn2m9N.js","../nodes/3.DHPuQEyR.js","../nodes/4.DOO_QIq1.js","../chunks/B1uQvvlv.js","../chunks/BQ0vnNWj.js","../assets/Spinner.BtzHSsat.css","../assets/AuthGate._tqG1OIX.css","../chunks/BQrb5YOM.js","../assets/VoiceProfileSelector.B8FTffwl.css","../assets/4.j3F-W7h_.css","../nodes/5.BrAtimvQ.js","../assets/5.Cj0Mk9Gn.css","../nodes/6.CDpI1TrW.js","../chunks/CrcMJfbz.js","../assets/ModeSwitch.DVIv_V4C.css","../assets/6.B0Z8tVIH.css","../nodes/7.B5KYnWwU.js","../assets/7.CzC8JVIO.css","../nodes/8.2jRmEBBC.js","../assets/8.cpz_TytB.css"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,D as n,H as r,J as i,L as a,N as o,O as s,Q as c,U as l,W as u,X as d,Y as f,a as p,at as m,i as h,it as g,j as _,k as v,lt as y,r as b,s as x,tt as S,x as C,z as w}from"../chunks/0swOyi-5.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=_(`<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=_(`<!> <!>`,1);function k(h,_){m(_,!0);let T=p(_,`components`,23,()=>[]),E=p(_,`data_0`,3,null),k=p(_,`data_1`,3,null),A=p(_,`data_2`,3,null);u(()=>_.stores.page.set(_.page)),l(()=>{_.stores,_.page,_.constructors,T(),_.form,E(),k(),A(),_.stores.page.notify()});let j=e(!1),M=e(!1),N=e(null);b(()=>{let e=_.stores.page.subscribe(()=>{a(j)&&(c(M,!0),w().then(()=>{c(N,document.title||`untitled page`,!0)}))});return c(j,!0),e});let P=S(()=>_.constructors[2]);var F=O(),I=f(F),L=e=>{let r=S(()=>_.constructors[0]);var i=t();C(f(i),()=>a(r),(e,r)=>{x(r(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params},children:(e,r)=>{var i=t(),o=f(i),s=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,n)=>{x(n(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params},children:(e,n)=>{var r=t();C(f(r),()=>a(P),(e,t)=>{x(t(e,{get data(){return A()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),v(e,r)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)},c=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)};n(o,e=>{_.constructors[2]?e(s):e(c,-1)}),v(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,i)},R=e=>{let n=S(()=>_.constructors[0]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,r)};n(I,e=>{_.constructors[1]?e(L):e(R,-1)});var z=d(I,2),B=e=>{var t=D(),c=i(t),l=e=>{var t=o();r(()=>s(t,a(N))),v(e,t)};n(c,e=>{a(M)&&e(l)}),y(t),v(e,t)};n(z,e=>{a(j)&&e(B)}),v(h,F),g()}var A=h(k),j=[()=>T(()=>import(`../nodes/0.DxAGOZgx.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.B-z3blIe.js`),__vite__mapDeps([5,1,6,7,8,2]),import.meta.url),()=>T(()=>import(`../nodes/2.B-8ehRO1.js`),__vite__mapDeps([9,1,2,10]),import.meta.url),()=>T(()=>import(`../nodes/3.DHPuQEyR.js`),__vite__mapDeps([11,1,8,2,10]),import.meta.url),()=>T(()=>import(`../nodes/4.DOO_QIq1.js`),__vite__mapDeps([12,1,2,3,13,6,7,8,14,15,16,17,18,19]),import.meta.url),()=>T(()=>import(`../nodes/5.BrAtimvQ.js`),__vite__mapDeps([20,1,2,3,13,6,7,8,14,15,16,21]),import.meta.url),()=>T(()=>import(`../nodes/6.CDpI1TrW.js`),__vite__mapDeps([22,1,2,13,6,7,8,3,14,15,16,23,24,25]),import.meta.url),()=>T(()=>import(`../nodes/7.B5KYnWwU.js`),__vite__mapDeps([26,1,2,3,13,6,7,8,14,15,16,23,24,27]),import.meta.url),()=>T(()=>import(`../nodes/8.2jRmEBBC.js`),__vite__mapDeps([28,1,2,14,15,17,18,29]),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/E7W0MQkU.js";export{e as load_css,t as start};
@@ -0,0 +1 @@
1
+ import{$ as e,A as t,D as n,F as r,H as i,J as a,L as o,M as s,N as c,O as l,P as u,Q as d,S as f,T as p,U as m,X as h,Y as g,at as _,d as v,it as y,j as b,k as x,lt as S,r as C,ut as w,v as T}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{d as E,t as D,u as O}from"../chunks/BBdT9Cjm.js";var k=b(`<a target="_blank" rel="noopener noreferrer" class="update-banner-link svelte-1u6ojbd">Download</a>`),A=b(`<div class="update-banner svelte-1u6ojbd" role="status"><span class="update-banner-icon svelte-1u6ojbd" aria-hidden="true"><svg 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 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></span> <span class="update-banner-text svelte-1u6ojbd">A new version of OpenPalm is available — <strong> </strong> <!></span> <!> <button type="button" class="update-banner-dismiss svelte-1u6ojbd" aria-label="Dismiss">×</button></div>`);function j(s,u){_(u,!0);let f=e(null),p=e(!1);function m(e){return`openpalm.updateBanner.dismissed.${e}`}C(async()=>{try{let e=await fetch(`/api/electron/update-status`);if(!e.ok)return;let t=await e.json();if(!t.inElectron||!t.updateAvailable||!t.latestVersion||typeof localStorage<`u`&&localStorage.getItem(m(t.latestVersion)))return;d(f,t,!0)}catch{}});function b(){o(f)?.latestVersion&&typeof localStorage<`u`&&localStorage.setItem(m(o(f).latestVersion),`1`),d(p,!0)}var w=t(),T=g(w),E=e=>{var t=A(),s=h(a(t),2),u=h(a(s)),d=a(u);S(u);var p=h(u,2),m=e=>{var t=c();i(()=>l(t,`(you have v${o(f).currentVersion??``})`)),x(e,t)};n(p,e=>{o(f).currentVersion&&e(m)}),S(s);var g=h(s,2),_=e=>{var t=k();i(()=>v(t,`href`,o(f).latestUrl)),x(e,t)};n(g,e=>{o(f).latestUrl&&e(_)});var y=h(g,2);S(t),i(()=>l(d,`v${o(f).latestVersion??``}`)),r(`click`,y,b),x(e,t)};n(T,e=>{o(f)&&!o(p)&&e(E)}),x(s,w),y()}u([`click`]);var M=s(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>`),N=s(`<svg 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="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),P=s(`<svg 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="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>`),F=b(`<div><span class="toast-icon svelte-c82lj3" aria-hidden="true"><!> <span class="sr-only svelte-c82lj3"> </span></span> <span class="toast-message svelte-c82lj3"> </span> <button type="button" class="toast-dismiss svelte-c82lj3" aria-label="Dismiss">&times;</button></div>`),I=b(`<div class="toast-stack svelte-c82lj3" aria-live="polite"></div>`);function L(e,s){_(s,!0);let c=null;m(()=>{let e=O.errorMessage;e&&(c=E.push(`error`,e,{replaceId:c??void 0}),O.errorMessage=``)});function u(e){E.dismiss(e.id),e.id===c&&(c=null)}function d(e){return e.kind===`success`?`Success`:e.kind===`error`?`Error`:`Notice`}var f=t(),b=g(f),C=e=>{var t=I();p(t,21,()=>E.toasts,e=>e.id,(e,t)=>{var s=F(),c=a(s),f=a(c),p=e=>{x(e,M())},m=e=>{x(e,N())},g=e=>{x(e,P())};n(f,e=>{o(t).kind===`success`?e(p):o(t).kind===`error`?e(m,1):e(g,-1)});var _=h(f,2),y=a(_);S(_),S(c);var b=h(c,2),C=a(b,!0);S(b);var w=h(b,2);S(s),i(e=>{T(s,1,`toast toast-${o(t).kind??``}`,`svelte-c82lj3`),v(s,`role`,o(t).kind===`error`?`alert`:`status`),v(s,`aria-live`,o(t).kind===`error`?`assertive`:`polite`),l(y,`${e??``}:`),l(C,o(t).message)},[()=>d(o(t))]),r(`click`,w,()=>u(o(t))),x(e,s)}),S(t),x(e,t)};n(b,e=>{E.toasts.length>0&&e(C)}),x(e,f),y()}u([`click`]);var R=b(`<!> <!> <!>`,1);function z(e,t){_(t,!0),C(()=>{D.init()});var n=R(),r=g(n);j(r,{});var i=h(r,2);f(i,()=>t.children??w),L(h(i,2),{}),x(e,n),y()}export{z as component};
@@ -0,0 +1 @@
1
+ import{H as e,J as t,O as n,X as r,Y as i,at as a,it as o,j as s,k as c,lt as l}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/BPh8tqAg.js";var d=s(`<h1> </h1> <p> </p>`,1);function f(s,f){a(f,!0);var p=d(),m=i(p),h=t(m,!0);l(m);var g=r(m,2),_=t(g,!0);l(g),e(()=>{n(h,u.status),n(_,u.error?.message)}),c(s,p),o()}export{f as component};
@@ -0,0 +1 @@
1
+ w`�*ۊR ��j\#���e���n�/�#}��զ5)�ũ-++�&��We$.! ��c]�D��V@�1� ��A��h�N�S-pc ܎�W�ߕZ�n�E�zC\N7�ڭ��2N�
@@ -0,0 +1 @@
1
+ import{A as e,C as t,Y as n,k as r}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import"../chunks/Bmfn2m9N.js";function i(i,a){var o=e();t(n(o),a,`default`,{},null),r(i,o)}export{i as component};
@@ -0,0 +1 @@
1
+ import{dt as e}from"../chunks/0swOyi-5.js";import{r as t}from"../chunks/BuFlayix.js";import"../chunks/xihTtKlq.js";import"../chunks/Bmfn2m9N.js";function n(e,n){throw new t(e,n.toString())}var r=e({load:()=>i}),i=()=>{n(302,`/chat`)};function a(e){}export{a as component,r as universal};