@openpalm/ui 0.11.0-rc.9 → 0.11.0
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.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/0.DlIhzko8.css +1 -0
- package/build/client/_app/immutable/assets/0.DlIhzko8.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DlIhzko8.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.CLTnoKrH.css +1 -0
- package/build/client/_app/immutable/assets/4.CLTnoKrH.css.br +0 -0
- package/build/client/_app/immutable/assets/4.CLTnoKrH.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css +1 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.br +0 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +1 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css +1 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +4 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.cpz_TytB.css +1 -0
- package/build/client/_app/immutable/assets/9.cpz_TytB.css.br +0 -0
- package/build/client/_app/immutable/assets/9.cpz_TytB.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +1 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +1 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +2 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css +1 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.br +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/1sXFUT7r.js +1 -0
- package/build/client/_app/immutable/chunks/1sXFUT7r.js.br +2 -0
- package/build/client/_app/immutable/chunks/1sXFUT7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js +1 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNcdU8Ou.js +3 -0
- package/build/client/_app/immutable/chunks/BNcdU8Ou.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNcdU8Ou.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js +1 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Cb_i8bV9.js → BQrb5YOM.js} +1 -1
- package/build/client/_app/immutable/chunks/BQrb5YOM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BQrb5YOM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BuFlayix.js → CymRgjIC.js} +1 -1
- package/build/client/_app/immutable/chunks/CymRgjIC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CymRgjIC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/HJd0QhDi.js +1 -0
- package/build/client/_app/immutable/chunks/HJd0QhDi.js.br +0 -0
- package/build/client/_app/immutable/chunks/HJd0QhDi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Mj3AXROx.js +5 -0
- package/build/client/_app/immutable/chunks/Mj3AXROx.js.br +0 -0
- package/build/client/_app/immutable/chunks/Mj3AXROx.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.8wJBndTj.js +2 -0
- package/build/client/_app/immutable/entry/app.8wJBndTj.js.br +0 -0
- package/build/client/_app/immutable/entry/app.8wJBndTj.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B6QaWAof.js +1 -0
- package/build/client/_app/immutable/entry/start.B6QaWAof.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B6QaWAof.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.rwRC6zAi.js +1 -0
- package/build/client/_app/immutable/nodes/0.rwRC6zAi.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.rwRC6zAi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BeVZsPun.js +1 -0
- package/build/client/_app/immutable/nodes/1.BeVZsPun.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.BeVZsPun.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BAthCCnr.js +19 -0
- package/build/client/_app/immutable/nodes/4.BAthCCnr.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BAthCCnr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js +4 -0
- package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6._GM9bF5h.js +1 -0
- package/build/client/_app/immutable/nodes/6._GM9bF5h.js.br +0 -0
- package/build/client/_app/immutable/nodes/6._GM9bF5h.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Cx4EVpki.js +15 -0
- package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.p0qRhws4.js +1 -0
- package/build/client/_app/immutable/nodes/8.p0qRhws4.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.p0qRhws4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.C1MP3zci.js +2 -0
- package/build/client/_app/immutable/nodes/9.C1MP3zci.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.C1MP3zci.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-CTzT7i_m.js +9 -0
- package/build/server/chunks/{0-BV-dSgKl.js.map → 0-CTzT7i_m.js.map} +1 -1
- package/build/server/chunks/1-DTcDogB5.js +9 -0
- package/build/server/chunks/{1-BaC08_Sf.js.map → 1-DTcDogB5.js.map} +1 -1
- package/build/server/chunks/2-DQWoUtW1.js +9 -0
- package/build/server/chunks/{2-C2y4ydWU.js.map → 2-DQWoUtW1.js.map} +1 -1
- package/build/server/chunks/{3-BgeGdVvT.js → 3-COIGgysA.js} +2 -2
- package/build/server/chunks/{3-BgeGdVvT.js.map → 3-COIGgysA.js.map} +1 -1
- package/build/server/chunks/4-Dn-0_RAr.js +9 -0
- package/build/server/chunks/4-Dn-0_RAr.js.map +1 -0
- package/build/server/chunks/5-Cbcb8WMr.js +9 -0
- package/build/server/chunks/5-Cbcb8WMr.js.map +1 -0
- package/build/server/chunks/6-CUZpLn9e.js +9 -0
- package/build/server/chunks/6-CUZpLn9e.js.map +1 -0
- package/build/server/chunks/7-C0-ssq7j.js +9 -0
- package/build/server/chunks/7-C0-ssq7j.js.map +1 -0
- package/build/server/chunks/8-CIt0k_cP.js +35 -0
- package/build/server/chunks/8-CIt0k_cP.js.map +1 -0
- package/build/server/chunks/9-B8DzptsC.js +9 -0
- package/build/server/chunks/9-B8DzptsC.js.map +1 -0
- package/build/server/chunks/Navbar-F9NE4GcT.js +1003 -0
- package/build/server/chunks/Navbar-F9NE4GcT.js.map +1 -0
- package/build/server/chunks/Spinner-Bk6e83RX.js +12 -0
- package/build/server/chunks/Spinner-Bk6e83RX.js.map +1 -0
- package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js +306 -0
- package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-B93aaRP_.js → _layout.svelte-BV7A7zff.js} +2 -2
- package/build/server/chunks/{_layout.svelte-B93aaRP_.js.map → _layout.svelte-BV7A7zff.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-CcloHuB_.js → _layout.svelte-COQuY-BN.js} +8 -8
- package/build/server/chunks/_layout.svelte-COQuY-BN.js.map +1 -0
- package/build/server/chunks/_page.svelte--GbfGVnN.js +37 -0
- package/build/server/chunks/_page.svelte--GbfGVnN.js.map +1 -0
- package/build/server/chunks/_page.svelte-BgAgZqQA.js +2590 -0
- package/build/server/chunks/_page.svelte-BgAgZqQA.js.map +1 -0
- package/build/server/chunks/{_page.svelte-24A1xNrb.js → _page.svelte-CqEu-vpE.js} +78 -81
- package/build/server/chunks/_page.svelte-CqEu-vpE.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D0gMlmzQ.js → _page.svelte-DLAHj-kk.js} +6 -14
- package/build/server/chunks/_page.svelte-DLAHj-kk.js.map +1 -0
- package/build/server/chunks/_page.svelte-DeJqqBhp.js +70 -0
- package/build/server/chunks/_page.svelte-DeJqqBhp.js.map +1 -0
- package/build/server/chunks/_page.svelte-DnwUHFZ8.js +27 -0
- package/build/server/chunks/_page.svelte-DnwUHFZ8.js.map +1 -0
- package/build/server/chunks/{_server.ts-C_fNO73y.js → _server.ts-8iOMau6K.js} +8 -8
- package/build/server/chunks/{_server.ts-C_fNO73y.js.map → _server.ts-8iOMau6K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTyZan5L.js → _server.ts-B2RCiGeA.js} +8 -8
- package/build/server/chunks/{_server.ts-DTyZan5L.js.map → _server.ts-B2RCiGeA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMKIHwKi.js → _server.ts-B8sdNvW5.js} +8 -8
- package/build/server/chunks/{_server.ts-DMKIHwKi.js.map → _server.ts-B8sdNvW5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcTt5aAs.js → _server.ts-BAsbrtjL.js} +6 -6
- package/build/server/chunks/{_server.ts-CcTt5aAs.js.map → _server.ts-BAsbrtjL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-dhkEt2p6.js → _server.ts-BCcQdRne.js} +8 -8
- package/build/server/chunks/{_server.ts-dhkEt2p6.js.map → _server.ts-BCcQdRne.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq82kHyx.js → _server.ts-BD0Jit8e.js} +8 -8
- package/build/server/chunks/{_server.ts-Dq82kHyx.js.map → _server.ts-BD0Jit8e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rXhjnBtw.js → _server.ts-BD6Urice.js} +8 -8
- package/build/server/chunks/{_server.ts-rXhjnBtw.js.map → _server.ts-BD6Urice.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwHojI4i.js → _server.ts-BG3UvxEU.js} +6 -6
- package/build/server/chunks/{_server.ts-BwHojI4i.js.map → _server.ts-BG3UvxEU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js → _server.ts-BQZSWSLy.js} +9 -9
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js.map → _server.ts-BQZSWSLy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B4N5gO26.js → _server.ts-BTGThm9P.js} +8 -8
- package/build/server/chunks/{_server.ts-B4N5gO26.js.map → _server.ts-BTGThm9P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fsEmx9mw.js → _server.ts-BVCET3CA.js} +8 -8
- package/build/server/chunks/{_server.ts-fsEmx9mw.js.map → _server.ts-BVCET3CA.js.map} +1 -1
- package/build/server/chunks/_server.ts-BVYIqRK2.js +101 -0
- package/build/server/chunks/_server.ts-BVYIqRK2.js.map +1 -0
- package/build/server/chunks/{_server.ts-DqVJ1NqI.js → _server.ts-BYTWLTxk.js} +8 -8
- package/build/server/chunks/{_server.ts-DqVJ1NqI.js.map → _server.ts-BYTWLTxk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSgPjCYv.js → _server.ts-BZ8wMJ7l.js} +8 -8
- package/build/server/chunks/{_server.ts-CSgPjCYv.js.map → _server.ts-BZ8wMJ7l.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5CjguYY3.js → _server.ts-Ban3zjRc.js} +8 -8
- package/build/server/chunks/{_server.ts-5CjguYY3.js.map → _server.ts-Ban3zjRc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js → _server.ts-BaxB3oQq.js} +8 -8
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js.map → _server.ts-BaxB3oQq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdlF1vjy.js → _server.ts-Bj_nJzpo.js} +8 -8
- package/build/server/chunks/{_server.ts-DdlF1vjy.js.map → _server.ts-Bj_nJzpo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-wZ88P3nX.js → _server.ts-BkGQezlX.js} +10 -10
- package/build/server/chunks/{_server.ts-wZ88P3nX.js.map → _server.ts-BkGQezlX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2wlMMJl.js → _server.ts-BlMOxGWA.js} +8 -8
- package/build/server/chunks/{_server.ts-D2wlMMJl.js.map → _server.ts-BlMOxGWA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js → _server.ts-BrExNZ-2.js} +8 -8
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js.map → _server.ts-BrExNZ-2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-b3mVtmkb.js → _server.ts-C1CpbG3_.js} +8 -8
- package/build/server/chunks/{_server.ts-b3mVtmkb.js.map → _server.ts-C1CpbG3_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbO3cg55.js → _server.ts-C44tS0KC.js} +8 -8
- package/build/server/chunks/{_server.ts-DbO3cg55.js.map → _server.ts-C44tS0KC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xO4nhxDx.js → _server.ts-C5uu6b2a.js} +8 -8
- package/build/server/chunks/{_server.ts-xO4nhxDx.js.map → _server.ts-C5uu6b2a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DnKTcT9x.js → _server.ts-C5wVttUW.js} +7 -7
- package/build/server/chunks/{_server.ts-DnKTcT9x.js.map → _server.ts-C5wVttUW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6FENZO7.js → _server.ts-C7D2sok_.js} +8 -8
- package/build/server/chunks/{_server.ts-B6FENZO7.js.map → _server.ts-C7D2sok_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js → _server.ts-C8YMhHYj.js} +8 -8
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js.map → _server.ts-C8YMhHYj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqHMhINi.js → _server.ts-CC-mpNNj.js} +8 -8
- package/build/server/chunks/{_server.ts-CqHMhINi.js.map → _server.ts-CC-mpNNj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLiYOnOv.js → _server.ts-CG1nihTT.js} +8 -8
- package/build/server/chunks/{_server.ts-CLiYOnOv.js.map → _server.ts-CG1nihTT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js → _server.ts-CH8VLn03.js} +8 -8
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js.map → _server.ts-CH8VLn03.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js → _server.ts-COORKWSc.js} +8 -8
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js.map → _server.ts-COORKWSc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-UF_kxNaU.js → _server.ts-CPzbkayh.js} +8 -8
- package/build/server/chunks/{_server.ts-UF_kxNaU.js.map → _server.ts-CPzbkayh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BYdXdnje.js → _server.ts-CQPWD_WN.js} +8 -8
- package/build/server/chunks/{_server.ts-BYdXdnje.js.map → _server.ts-CQPWD_WN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js → _server.ts-CSs35mBJ.js} +8 -8
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js.map → _server.ts-CSs35mBJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtZuKotA.js → _server.ts-CsUi6NWt.js} +31 -8
- package/build/server/chunks/_server.ts-CsUi6NWt.js.map +1 -0
- package/build/server/chunks/{_server.ts-I0iKpsyr.js → _server.ts-Cw2YXWgK.js} +9 -9
- package/build/server/chunks/{_server.ts-I0iKpsyr.js.map → _server.ts-Cw2YXWgK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CfLbEufw.js → _server.ts-D0FZ3wh5.js} +8 -8
- package/build/server/chunks/{_server.ts-CfLbEufw.js.map → _server.ts-D0FZ3wh5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eK_9jY-9.js → _server.ts-D4zkfcxH.js} +8 -8
- package/build/server/chunks/{_server.ts-eK_9jY-9.js.map → _server.ts-D4zkfcxH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmyOp1yq.js → _server.ts-D5Q5mczv.js} +8 -8
- package/build/server/chunks/{_server.ts-DmyOp1yq.js.map → _server.ts-D5Q5mczv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-P4pmd9NX.js → _server.ts-D9HJ0cWI.js} +8 -8
- package/build/server/chunks/{_server.ts-P4pmd9NX.js.map → _server.ts-D9HJ0cWI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1y3X6iK.js → _server.ts-DAb50kOu.js} +9 -9
- package/build/server/chunks/{_server.ts-C1y3X6iK.js.map → _server.ts-DAb50kOu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bdry_CdG.js → _server.ts-DFL8Mq_R.js} +8 -8
- package/build/server/chunks/{_server.ts-Bdry_CdG.js.map → _server.ts-DFL8Mq_R.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmZlEy27.js → _server.ts-DLHN_6MC.js} +8 -8
- package/build/server/chunks/{_server.ts-BmZlEy27.js.map → _server.ts-DLHN_6MC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BclZ3UFT.js → _server.ts-DQE5fd19.js} +8 -8
- package/build/server/chunks/{_server.ts-BclZ3UFT.js.map → _server.ts-DQE5fd19.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BR9OrjcE.js → _server.ts-DQcL5wr_.js} +8 -8
- package/build/server/chunks/{_server.ts-BR9OrjcE.js.map → _server.ts-DQcL5wr_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1DcK_rP.js → _server.ts-DRxZJQd6.js} +10 -10
- package/build/server/chunks/{_server.ts-C1DcK_rP.js.map → _server.ts-DRxZJQd6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVekHgMN.js → _server.ts-DXOh4EZe.js} +9 -9
- package/build/server/chunks/{_server.ts-DVekHgMN.js.map → _server.ts-DXOh4EZe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-De7IOs2z.js → _server.ts-DbMkM72G.js} +7 -7
- package/build/server/chunks/{_server.ts-De7IOs2z.js.map → _server.ts-DbMkM72G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yimewsjO.js → _server.ts-DcQTtmS3.js} +8 -8
- package/build/server/chunks/{_server.ts-yimewsjO.js.map → _server.ts-DcQTtmS3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-otJRaSSq.js → _server.ts-DgIgXukK.js} +9 -9
- package/build/server/chunks/{_server.ts-otJRaSSq.js.map → _server.ts-DgIgXukK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CAKTZL2t.js → _server.ts-DjlikYHH.js} +9 -9
- package/build/server/chunks/{_server.ts-CAKTZL2t.js.map → _server.ts-DjlikYHH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-l4CK3c4j.js → _server.ts-DjnK1iz8.js} +8 -8
- package/build/server/chunks/{_server.ts-l4CK3c4j.js.map → _server.ts-DjnK1iz8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3tjtq2m.js → _server.ts-DrM8VAOS.js} +8 -8
- package/build/server/chunks/{_server.ts-B3tjtq2m.js.map → _server.ts-DrM8VAOS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-EZS5Qan4.js → _server.ts-DtC0SjIr.js} +8 -8
- package/build/server/chunks/{_server.ts-EZS5Qan4.js.map → _server.ts-DtC0SjIr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8JtVHLy.js → _server.ts-DuBJyo4e.js} +8 -8
- package/build/server/chunks/{_server.ts-B8JtVHLy.js.map → _server.ts-DuBJyo4e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js → _server.ts-EBySP1Ew.js} +6 -6
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js.map → _server.ts-EBySP1Ew.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLBKpKeH.js → _server.ts-IkgMCbAi.js} +10 -10
- package/build/server/chunks/{_server.ts-CLBKpKeH.js.map → _server.ts-IkgMCbAi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl0YOh50.js → _server.ts-Me1rXUGo.js} +8 -8
- package/build/server/chunks/{_server.ts-Bl0YOh50.js.map → _server.ts-Me1rXUGo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjrO7pvn.js → _server.ts-Mycnkmlz.js} +9 -9
- package/build/server/chunks/{_server.ts-BjrO7pvn.js.map → _server.ts-Mycnkmlz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrU9r7-F.js → _server.ts-N6WIc0vw.js} +8 -8
- package/build/server/chunks/{_server.ts-CrU9r7-F.js.map → _server.ts-N6WIc0vw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CJL8da0o.js → _server.ts-XOLGzzNk.js} +8 -8
- package/build/server/chunks/{_server.ts-CJL8da0o.js.map → _server.ts-XOLGzzNk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5s-OXCm.js → _server.ts-ZE9PYnxj.js} +8 -8
- package/build/server/chunks/{_server.ts-C5s-OXCm.js.map → _server.ts-ZE9PYnxj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-sjM5kn.js → _server.ts-__xVWUvt.js} +8 -8
- package/build/server/chunks/{_server.ts-D-sjM5kn.js.map → _server.ts-__xVWUvt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzWtvjem.js → _server.ts-_o3Yebl6.js} +8 -8
- package/build/server/chunks/{_server.ts-DzWtvjem.js.map → _server.ts-_o3Yebl6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQqURrHY.js → _server.ts-ccd1enMp.js} +8 -8
- package/build/server/chunks/{_server.ts-CQqURrHY.js.map → _server.ts-ccd1enMp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWN6TJv0.js → _server.ts-iAOP7FW1.js} +5 -5
- package/build/server/chunks/{_server.ts-DWN6TJv0.js.map → _server.ts-iAOP7FW1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG409cWi.js → _server.ts-l3A6IOvJ.js} +8 -8
- package/build/server/chunks/{_server.ts-CG409cWi.js.map → _server.ts-l3A6IOvJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BkoJOqrr.js → _server.ts-pLeJl6U2.js} +7 -7
- package/build/server/chunks/{_server.ts-BkoJOqrr.js.map → _server.ts-pLeJl6U2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Da9y6lio.js → _server.ts-sEc4S_v5.js} +10 -10
- package/build/server/chunks/{_server.ts-Da9y6lio.js.map → _server.ts-sEc4S_v5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DclRsTpW.js → _server.ts-vp9n_72N.js} +8 -8
- package/build/server/chunks/{_server.ts-DclRsTpW.js.map → _server.ts-vp9n_72N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7L27_xI.js → _server.ts-ypkZ9bJf.js} +5 -5
- package/build/server/chunks/{_server.ts-D7L27_xI.js.map → _server.ts-ypkZ9bJf.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js → addon-helpers-B0E6L7iO.js} +2 -2
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js.map → addon-helpers-B0E6L7iO.js.map} +1 -1
- package/build/server/chunks/{state-D0tEXcn4.js → client-D0taHWmu.js} +29 -56
- package/build/server/chunks/client-D0taHWmu.js.map +1 -0
- package/build/server/chunks/{config-0LFudKuE.js → config-2pnPob92.js} +2 -2
- package/build/server/chunks/{config-0LFudKuE.js.map → config-2pnPob92.js.map} +1 -1
- package/build/server/chunks/{dev-DjANv7AF.js → dev-B6xUe35c.js} +23 -2
- package/build/server/chunks/dev-B6xUe35c.js.map +1 -0
- package/build/server/chunks/{docker-B23w4kr6.js → docker-D17EjIlp.js} +2 -2
- package/build/server/chunks/{docker-B23w4kr6.js.map → docker-D17EjIlp.js.map} +1 -1
- package/build/server/chunks/{endpoints-Drq_J-2Z.js → endpoints-DoIeO5WL.js} +2 -2
- package/build/server/chunks/{endpoints-Drq_J-2Z.js.map → endpoints-DoIeO5WL.js.map} +1 -1
- package/build/server/chunks/environment-B38QRFKh.js +36 -0
- package/build/server/chunks/environment-B38QRFKh.js.map +1 -0
- package/build/server/chunks/{error.svelte-B_yfxYYS.js → error.svelte-DB6X8EVo.js} +6 -5
- package/build/server/chunks/{error.svelte-B_yfxYYS.js.map → error.svelte-DB6X8EVo.js.map} +1 -1
- package/build/server/chunks/{helpers-CX6xRBmt.js → helpers-CeQwqpAT.js} +14 -4
- package/build/server/chunks/helpers-CeQwqpAT.js.map +1 -0
- package/build/server/chunks/{hooks.server-BEVMYNQ4.js → hooks.server-2io-2N7D.js} +14 -8
- package/build/server/chunks/hooks.server-2io-2N7D.js.map +1 -0
- package/build/server/chunks/{http-VqOG8hyj.js → http-CHmjTVGA.js} +2 -2
- package/build/server/chunks/{http-VqOG8hyj.js.map → http-CHmjTVGA.js.map} +1 -1
- package/build/server/chunks/{internal-DRqRyEjV.js → internal-ClL4rso0.js} +4 -4
- package/build/server/chunks/internal-ClL4rso0.js.map +1 -0
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js → setup-deploy-53S0fflh.js} +2 -2
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js.map → setup-deploy-53S0fflh.js.map} +1 -1
- package/build/server/chunks/{src-BkvQ5Uuf.js → src-D9YnoOnU.js} +3793 -3438
- package/build/server/chunks/src-D9YnoOnU.js.map +1 -0
- package/build/server/chunks/state-CO78UOQH.js +62 -0
- package/build/server/chunks/state-CO78UOQH.js.map +1 -0
- package/build/server/chunks/{theme-state.svelte-PtPMmKGN.js → theme-state.svelte-CE13yM0n.js} +18 -27
- package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -0
- package/build/server/index.js +3 -33
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +95 -80
- package/build/server/manifest.js.map +1 -1
- package/package.json +8 -6
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css +0 -1
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css +0 -1
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.COn4HE1H.css +0 -1
- package/build/client/_app/immutable/assets/6.COn4HE1H.css.br +0 -0
- package/build/client/_app/immutable/assets/6.COn4HE1H.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.gblpY08p.css +0 -1
- package/build/client/_app/immutable/assets/7.gblpY08p.css.br +0 -0
- package/build/client/_app/immutable/assets/7.gblpY08p.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css +0 -1
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css +0 -1
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.br +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.gz +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css +0 -1
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.br +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B7bBnuEe.js +0 -1
- package/build/client/_app/immutable/chunks/B7bBnuEe.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7bBnuEe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BW39ik5x.js +0 -1
- package/build/client/_app/immutable/chunks/BW39ik5x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BW39ik5x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js +0 -3
- package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DXseS2Vw.js +0 -1
- package/build/client/_app/immutable/chunks/DXseS2Vw.js.br +0 -0
- package/build/client/_app/immutable/chunks/DXseS2Vw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/os2NZ37U.js +0 -1
- package/build/client/_app/immutable/chunks/os2NZ37U.js.br +0 -1
- package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/yIwPo_wo.js +0 -5
- package/build/client/_app/immutable/chunks/yIwPo_wo.js.br +0 -0
- package/build/client/_app/immutable/chunks/yIwPo_wo.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js +0 -2
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.br +0 -0
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js +0 -1
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js.br +0 -0
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js +0 -1
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js +0 -1
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +0 -1
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +0 -1
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js +0 -19
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js +0 -4
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js +0 -1
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js +0 -15
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js +0 -2
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.gz +0 -0
- package/build/server/chunks/0-BV-dSgKl.js +0 -9
- package/build/server/chunks/1-BaC08_Sf.js +0 -9
- package/build/server/chunks/2-C2y4ydWU.js +0 -9
- package/build/server/chunks/4-aThWANXD.js +0 -9
- package/build/server/chunks/4-aThWANXD.js.map +0 -1
- package/build/server/chunks/5-DLhgTDFN.js +0 -9
- package/build/server/chunks/5-DLhgTDFN.js.map +0 -1
- package/build/server/chunks/6-DwkLbgop.js +0 -9
- package/build/server/chunks/6-DwkLbgop.js.map +0 -1
- package/build/server/chunks/7-D5gXKRbq.js +0 -9
- package/build/server/chunks/7-D5gXKRbq.js.map +0 -1
- package/build/server/chunks/8-b9MOJ1zI.js +0 -9
- package/build/server/chunks/8-b9MOJ1zI.js.map +0 -1
- package/build/server/chunks/AuthGate-DL3Htqtl.js +0 -773
- package/build/server/chunks/AuthGate-DL3Htqtl.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CcloHuB_.js.map +0 -1
- package/build/server/chunks/_page.svelte-24A1xNrb.js.map +0 -1
- package/build/server/chunks/_page.svelte-BNcatsUe.js +0 -414
- package/build/server/chunks/_page.svelte-BNcatsUe.js.map +0 -1
- package/build/server/chunks/_page.svelte-CQXBb6Vv.js +0 -106
- package/build/server/chunks/_page.svelte-CQXBb6Vv.js.map +0 -1
- package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +0 -1
- package/build/server/chunks/_page.svelte-DJuM-_YW.js +0 -66
- package/build/server/chunks/_page.svelte-DJuM-_YW.js.map +0 -1
- package/build/server/chunks/_server.ts-CtZuKotA.js.map +0 -1
- package/build/server/chunks/dev-DjANv7AF.js.map +0 -1
- package/build/server/chunks/helpers-CX6xRBmt.js.map +0 -1
- package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +0 -1
- package/build/server/chunks/internal-DRqRyEjV.js.map +0 -1
- package/build/server/chunks/src-BkvQ5Uuf.js.map +0 -1
- package/build/server/chunks/state-D0tEXcn4.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-PtPMmKGN.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar-F9NE4GcT.js","sources":["../../../.svelte-kit/adapter-node/chunks/Navbar.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, r as attr_style, u as stringify } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport { F as setActiveEndpoint, M as listSessions, P as sendChatMessage, a as speakText, c as stopSpeaking, j as getSessionMessages, l as voiceState, m as createSession, n as destroyVoice, t as themeService, x as fetchEndpoints } from \"./theme-state.svelte.js\";\nimport { t as goto } from \"./client.js\";\nimport { t as page } from \"./state.js\";\nimport \"./navigation.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/format-date.ts\nvar TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\nvar DATE_TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\tyear: \"numeric\",\n\tmonth: \"short\",\n\tday: \"numeric\",\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\n/** Time of day, e.g. \"3:42 PM\" (locale-aware). Empty string for a falsy input. */\nfunction formatTime(ts) {\n\tif (!ts) return \"\";\n\treturn TIME_FMT.format(ts);\n}\n/**\n* Absolute date + time, e.g. \"Jun 7, 2026, 3:42 PM\". Use for tooltips / full\n* context where a relative label alone is ambiguous. Empty for a falsy input.\n*/\nfunction formatDateTime(ts) {\n\tif (!ts) return \"\";\n\treturn DATE_TIME_FMT.format(ts);\n}\n/**\n* Compact relative time, e.g. \"just now\", \"5m ago\", \"yesterday\", \"3w ago\".\n* Empty string for a falsy input. No date-fns dependency — that would be ~30 KB\n* for these few cases.\n*/\nfunction formatRelativeTime(ts) {\n\tif (!ts) return \"\";\n\tconst diffSec = Math.max(0, (Date.now() - ts) / 1e3);\n\tif (diffSec < 60) return \"just now\";\n\tconst min = Math.floor(diffSec / 60);\n\tif (min < 60) return `${min}m ago`;\n\tconst hr = Math.floor(min / 60);\n\tif (hr < 24) return `${hr}h ago`;\n\tconst day = Math.floor(hr / 24);\n\tif (day === 1) return \"yesterday\";\n\tif (day < 7) return `${day}d ago`;\n\tconst wk = Math.floor(day / 7);\n\tif (wk < 5) return `${wk}w ago`;\n\tconst mo = Math.floor(day / 30);\n\tif (mo < 12) return `${mo}mo ago`;\n\treturn `${Math.floor(day / 365)}y ago`;\n}\n//#endregion\n//#region src/lib/components/common/IconButton.svelte\nfunction IconButton($$renderer, $$props) {\n\t/** Icon contents (an inline <svg> or spinner). */\n\t/** Optional visible label; when present the button grows from a square to a pill. */\n\t/** Render as an anchor instead of a button when a destination is given. */\n\t/** \"On\"/active look (used by ToggleButton and active states). */\n\t/** Colour of the selected state. */\n\t/** Mirrors the toggle state for assistive tech (set by ToggleButton). */\n\tlet { icon, label, title, ariaLabel, disabled = false, href, onclick, type = \"button\", selected = false, tone = \"primary\", ariaPressed } = $$props;\n\tif (href) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<a${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"href\", href)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-disabled\", disabled || void 0)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></a>`);\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<button${attr_class(\"icon-btn svelte-vx1yib\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"type\", type)}${attr(\"disabled\", disabled, true)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-pressed\", ariaPressed)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-vx1yib\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></button>`);\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\n//#endregion\n//#region src/lib/components/common/ToggleButton.svelte\nfunction ToggleButton($$renderer, $$props) {\n\t/** Icon shown when off (and when on, if no selectedIcon is given). */\n\t/** Optional distinct icon shown when on. */\n\t/** Colour of the on state. */\n\tlet { pressed, onToggle, icon, selectedIcon, label, title, ariaLabel, disabled = false, tone = \"primary\" } = $$props;\n\tIconButton($$renderer, {\n\t\ticon: pressed && selectedIcon ? selectedIcon : icon,\n\t\tlabel,\n\t\ttitle,\n\t\tariaLabel,\n\t\tdisabled,\n\t\ttone,\n\t\tselected: pressed,\n\t\tariaPressed: pressed,\n\t\tonclick: onToggle\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/ModeSwitch.svelte\nfunction advancedIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><path d=\"m7 9 3 3-3 3\"></path><line x1=\"13\" y1=\"15\" x2=\"17\" y2=\"15\"></line></svg>`);\n}\nfunction ModeSwitch($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdvanced = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tfunction toggle() {\n\t\t\tgoto(onAdvanced() ? \"/chat\" : \"/advanced\");\n\t\t}\n\t\tToggleButton($$renderer, {\n\t\t\tpressed: onAdvanced(),\n\t\t\tonToggle: toggle,\n\t\t\tariaLabel: \"Advanced mode\",\n\t\t\ttitle: \"Advanced mode (embedded OpenCode)\",\n\t\t\ticon: advancedIcon\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/common/Drawer.svelte\nfunction Drawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Optional content rendered at the start of the header (e.g. a back button). */\n\t\t/** Drawer width (CSS length). */\n\t\tlet { open, title, onClose, children, footer, headerStart, width = \"32rem\" } = $$props;\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"drawer-scrim svelte-1u2o1qj\"></div> <div class=\"drawer svelte-1u2o1qj\"${attr_style(`--drawer-width: ${stringify(width)}`)} role=\"dialog\" aria-modal=\"true\"${attr(\"aria-label\", title)} tabindex=\"-1\"><header class=\"drawer-header svelte-1u2o1qj\">`);\n\t\t\tif (headerStart) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\theaderStart($$renderer);\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <h3 class=\"drawer-title svelte-1u2o1qj\">${escape_html(title)}</h3> <button class=\"drawer-close svelte-1u2o1qj\" aria-label=\"Close\"><svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path></svg></button></header> <div class=\"drawer-body svelte-1u2o1qj\">`);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (footer) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<footer class=\"drawer-footer svelte-1u2o1qj\">`);\n\t\t\t\tfooter($$renderer);\n\t\t\t\t$$renderer.push(`<!----></footer>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/SettingsDrawer.svelte\nfunction gearIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"></path></svg>`);\n}\nfunction SettingsDrawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { showManageAssistant = true } = $$props;\n\t\tlet open = false;\n\t\tfunction setTheme(event) {\n\t\t\tconst next = event.currentTarget.value;\n\t\t\tif (next === \"light\" || next === \"dark\" || next === \"system\") themeService.setPreference(next);\n\t\t}\n\t\tIconButton($$renderer, {\n\t\t\ticon: gearIcon,\n\t\t\tariaLabel: \"Settings\",\n\t\t\ttitle: \"Settings\",\n\t\t\tselected: open,\n\t\t\tariaPressed: open,\n\t\t\tonclick: () => open = true\n\t\t});\n\t\t$$renderer.push(`<!----> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Settings\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"24rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<div class=\"settings-drawer svelte-4kbm5j\"><label class=\"field svelte-4kbm5j\" for=\"theme-preference\"><span class=\"field-label svelte-4kbm5j\">Theme</span> `);\n\t\t\t\t$$renderer.select({\n\t\t\t\t\tid: \"theme-preference\",\n\t\t\t\t\tclass: \"field-select\",\n\t\t\t\t\tvalue: themeService.preference,\n\t\t\t\t\tonchange: setTheme\n\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t$$renderer.option({ value: \"system\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`System`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"light\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Light`);\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.option({ value: \"dark\" }, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`Dark`);\n\t\t\t\t\t});\n\t\t\t\t}, \"svelte-4kbm5j\");\n\t\t\t\t$$renderer.push(`</label> <nav class=\"settings-links svelte-4kbm5j\" aria-label=\"Settings links\">`);\n\t\t\t\tif (showManageAssistant) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<a class=\"settings-link svelte-4kbm5j\" href=\"/admin\">Manage this assistant...</a>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <a class=\"settings-link svelte-4kbm5j\" href=\"/admin/endpoints\">Manage assistant connections...</a></nav></div>`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/chat/session-events.ts\nvar INITIAL_BACKOFF_MS = 1e3;\nvar MAX_BACKOFF_MS = 3e4;\nvar STREAM_URL = \"/proxy/assistant/event\";\n/**\n* Parse one `\\n\\n`-delimited SSE frame. Multi-line `data:` fields are\n* concatenated with `\\n` per the SSE spec.\n*/\nfunction parseFrame(chunk) {\n\tconst frame = {};\n\tconst dataLines = [];\n\tfor (const rawLine of chunk.split(\"\\n\")) {\n\t\tif (!rawLine || rawLine.startsWith(\":\")) continue;\n\t\tif (rawLine.startsWith(\"data:\")) dataLines.push(rawLine.replace(/^data:\\s?/, \"\"));\n\t\telse if (rawLine.startsWith(\"event:\")) frame.event = rawLine.replace(/^event:\\s?/, \"\");\n\t\telse if (rawLine.startsWith(\"id:\")) frame.id = rawLine.replace(/^id:\\s?/, \"\");\n\t}\n\tif (dataLines.length > 0) frame.data = dataLines.join(\"\\n\");\n\treturn frame;\n}\nfunction dispatch(handlers, payload) {\n\tconst info = payload.properties?.info;\n\tconst id = info?.id;\n\tif (!id) return;\n\tswitch (payload.type) {\n\t\tcase \"session.created\":\n\t\t\thandlers.onCreated(id);\n\t\t\treturn;\n\t\tcase \"session.updated\":\n\t\t\thandlers.onUpdated(id, {\n\t\t\t\ttitle: info?.title,\n\t\t\t\tupdatedAt: info?.time?.updated\n\t\t\t});\n\t\t\treturn;\n\t\tcase \"session.deleted\":\n\t\t\thandlers.onDeleted(id);\n\t\t\treturn;\n\t\tdefault: return;\n\t}\n}\n/**\n* Open an SSE connection to `/proxy/assistant/event` and dispatch\n* session-scoped events. Returns an unsubscribe function that aborts the\n* stream and prevents reconnection.\n*/\nfunction subscribeSessionEvents(handlers) {\n\tlet stopped = false;\n\tlet controller = new AbortController();\n\tlet lastEventId;\n\tconst sleep = (ms) => new Promise((resolve) => {\n\t\tconst timer = setTimeout(resolve, ms);\n\t\tcontroller.signal.addEventListener(\"abort\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tresolve();\n\t\t}, { once: true });\n\t});\n\tasync function readStream() {\n\t\tconst headers = { accept: \"text/event-stream\" };\n\t\tif (lastEventId !== void 0) headers[\"Last-Event-ID\"] = lastEventId;\n\t\tconst response = await fetch(STREAM_URL, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders,\n\t\t\tcredentials: \"include\",\n\t\t\tsignal: controller.signal\n\t\t});\n\t\tif (!response.ok || !response.body) throw new Error(`SSE stream failed: ${response.status} ${response.statusText}`);\n\t\thandlers.onConnect?.();\n\t\tconst reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n\t\tlet buffer = \"\";\n\t\ttry {\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\t\t\t\tbuffer += value;\n\t\t\t\tconst chunks = buffer.split(\"\\n\\n\");\n\t\t\t\tbuffer = chunks.pop() ?? \"\";\n\t\t\t\tfor (const chunk of chunks) {\n\t\t\t\t\tif (!chunk) continue;\n\t\t\t\t\tconst frame = parseFrame(chunk);\n\t\t\t\t\tif (frame.id !== void 0) lastEventId = frame.id;\n\t\t\t\t\tif (!frame.data) continue;\n\t\t\t\t\tlet payload;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpayload = JSON.parse(frame.data);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.warn(\"[session-events] Bad JSON in SSE frame\", err);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(handlers, payload);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\treader.releaseLock();\n\t\t\t} catch {}\n\t\t}\n\t}\n\t(async () => {\n\t\tlet attempt = 0;\n\t\twhile (!stopped) try {\n\t\t\tattempt++;\n\t\t\tawait readStream();\n\t\t\tattempt = 0;\n\t\t\tif (!stopped) await sleep(500);\n\t\t} catch (err) {\n\t\t\tif (stopped) return;\n\t\t\tconst error = err instanceof Error ? err : new Error(String(err));\n\t\t\tif (error.name !== \"AbortError\") {\n\t\t\t\tconsole.warn(\"[session-events] SSE error, reconnecting\", error);\n\t\t\t\thandlers.onDisconnect?.(error);\n\t\t\t}\n\t\t\tawait sleep(Math.min(INITIAL_BACKOFF_MS * 2 ** Math.max(0, attempt - 1), MAX_BACKOFF_MS));\n\t\t\tif (controller.signal.aborted && !stopped) controller = new AbortController();\n\t\t}\n\t})();\n\treturn () => {\n\t\tstopped = true;\n\t\ttry {\n\t\t\tcontroller.abort();\n\t\t} catch {}\n\t};\n}\n//#endregion\n//#region src/lib/chat/chat-state.svelte.ts\nfunction emptyEndpointState() {\n\treturn {\n\t\tsessions: [],\n\t\tsessionsLoaded: false,\n\t\tsessionsLoading: false,\n\t\tsessionsError: \"\",\n\t\tactiveSessionId: null\n\t};\n}\nvar ChatService = class {\n\t/**\n\t* Per-endpoint session cache. Reassigned on every mutation so Svelte 5\n\t* picks up the change. Never mutate the existing Map in place.\n\t*/\n\tbyEndpoint = /* @__PURE__ */ new Map();\n\t/**\n\t* Mirrored from `endpointsService.activeId` via `onEndpointChanged()`\n\t* so the chat layer doesn't have to import the endpoint store.\n\t*/\n\tactiveEndpointId = \"default\";\n\t/** Messages for the currently rendered session only. */\n\tentries = [];\n\tentriesLoading = false;\n\tsending = false;\n\terror = \"\";\n\t/**\n\t* Set true while the SSE event stream is connected. Surfaced by the\n\t* SessionPicker as a tiny green/gray dot so the operator can see at a\n\t* glance whether live updates are flowing.\n\t*/\n\tliveConnected = false;\n\t/**\n\t* Active SSE subscription handle. Reassigned on every endpoint switch.\n\t* Plain field (not `$state`) — only the chat service touches it.\n\t*/\n\t_unsubscribeEvents = null;\n\t#activeSessionId = derived(() => this.byEndpoint.get(this.activeEndpointId)?.activeSessionId ?? null);\n\tget activeSessionId() {\n\t\treturn this.#activeSessionId();\n\t}\n\tset activeSessionId($$value) {\n\t\treturn this.#activeSessionId($$value);\n\t}\n\tsetEndpointState(id, patch) {\n\t\tconst next = {\n\t\t\t...this.byEndpoint.get(id) ?? emptyEndpointState(),\n\t\t\t...patch\n\t\t};\n\t\tthis.byEndpoint = new Map(this.byEndpoint).set(id, next);\n\t\treturn next;\n\t}\n\t/**\n\t* Handle an endpoint switch: load sessions, restore prior or pick\n\t* newest, fetch messages. Mid-generation switches are blocked.\n\t*/\n\tasync onEndpointChanged(id) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tthis.activeEndpointId = id;\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tif (!this.byEndpoint.get(id)?.sessionsLoaded) await this.loadSessions();\n\t\tconst state = this.byEndpoint.get(id) ?? emptyEndpointState();\n\t\tconst sessions = state.sessions;\n\t\tconst previous = state.activeSessionId;\n\t\tlet nextSessionId = null;\n\t\tif (previous && sessions.some((s) => s.id === previous)) nextSessionId = previous;\n\t\telse if (sessions.length > 0) nextSessionId = sessions[0].id;\n\t\tif (nextSessionId !== state.activeSessionId) this.setEndpointState(id, { activeSessionId: nextSessionId });\n\t\tif (nextSessionId) await this.openSession(nextSessionId);\n\t\tthis._resubscribeEvents();\n\t}\n\t/**\n\t* Tear down any prior SSE subscription and open a new one. Handlers\n\t* dispatch session.created / updated / deleted into the per-endpoint\n\t* cache, mirroring out-of-band changes (CLI, other clients).\n\t*/\n\t_resubscribeEvents() {\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from previous event stream\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t\tthis._unsubscribeEvents = subscribeSessionEvents({\n\t\t\tonCreated: (id) => {\n\t\t\t\tthis._onSessionCreated(id);\n\t\t\t},\n\t\t\tonUpdated: (id, info) => {\n\t\t\t\tthis._onSessionUpdated(id, info);\n\t\t\t},\n\t\t\tonDeleted: (id) => {\n\t\t\t\tthis._onSessionDeleted(id);\n\t\t\t},\n\t\t\tonConnect: () => {\n\t\t\t\tthis.liveConnected = true;\n\t\t\t},\n\t\t\tonDisconnect: () => {\n\t\t\t\tthis.liveConnected = false;\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* A session was created out-of-band — prepend to the active endpoint's\n\t* list if not already known. Do not auto-switch to it: the user owns\n\t* navigation.\n\t*/\n\t_onSessionCreated(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\tif (prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst now = Date.now();\n\t\tconst summary = {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions: [summary, ...prev.sessions],\n\t\t\tsessionsLoaded: true\n\t\t});\n\t}\n\t/**\n\t* A session was touched out-of-band — patch its updatedAt (and title if\n\t* the event carries one) and re-sort. Do NOT refetch messages: if the\n\t* user is viewing this session, leave the in-memory entries alone for\n\t* v1. A follow-up phase can reconcile message deltas via the assistant\n\t* event stream.\n\t*/\n\t_onSessionUpdated(sessionId, info) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst idx = prev.sessions.findIndex((s) => s.id === sessionId);\n\t\tif (idx === -1) return;\n\t\tconst existing = prev.sessions[idx];\n\t\tconst sessions = [{\n\t\t\t...existing,\n\t\t\ttitle: info?.title ?? existing.title,\n\t\t\tupdatedAt: info?.updatedAt ?? Date.now()\n\t\t}, ...prev.sessions.filter((s) => s.id !== sessionId)];\n\t\tsessions.sort((a, b) => b.updatedAt - a.updatedAt);\n\t\tthis.setEndpointState(endpointId, { sessions });\n\t}\n\t/**\n\t* A session was deleted out-of-band. Remove it from the list; if it was\n\t* the active session, fall back to the newest remaining session (or\n\t* null) and reload its messages.\n\t*/\n\tasync _onSessionDeleted(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tif (!prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst sessions = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tconst wasActive = prev.activeSessionId === sessionId;\n\t\tconst nextActive = wasActive ? sessions[0]?.id ?? null : prev.activeSessionId;\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions,\n\t\t\tactiveSessionId: nextActive\n\t\t});\n\t\tif (wasActive) {\n\t\t\tthis.entries = [];\n\t\t\tif (nextActive) await this.openSession(nextActive);\n\t\t}\n\t}\n\t/** Fetch the session list for the active endpoint. */\n\tasync loadSessions() {\n\t\tconst id = this.activeEndpointId;\n\t\tthis.setEndpointState(id, {\n\t\t\tsessionsLoading: true,\n\t\t\tsessionsError: \"\"\n\t\t});\n\t\ttry {\n\t\t\tconst sessions = await listSessions();\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessions,\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: \"\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tconst message = err.status === 503 || err.status === 502 ? \"Assistant is not reachable.\" : err.message ?? \"Failed to load sessions.\";\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: message\n\t\t\t});\n\t\t}\n\t}\n\t/** Select a session and render its messages. */\n\tasync openSession(sessionId) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t\tthis.entries = [];\n\t\tthis.entriesLoading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst messages = await getSessionMessages(sessionId);\n\t\t\tif (this.activeEndpointId === endpointId && this.byEndpoint.get(endpointId)?.activeSessionId === sessionId) this.entries = messages;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status === 503 || err.status === 502) this.error = \"Assistant is not reachable. Try reconnecting.\";\n\t\t\telse if (err.status === 401) this.error = \"Sign-in required.\";\n\t\t\telse this.error = err.message ?? \"Failed to load messages.\";\n\t\t} finally {\n\t\t\tthis.entriesLoading = false;\n\t\t}\n\t}\n\t/** Create a new session on the active endpoint and select it. */\n\tasync startNewSession() {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn null;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { id } = await createSession();\n\t\t\tconst now = Date.now();\n\t\t\tconst summary = {\n\t\t\t\tid,\n\t\t\t\ttitle: \"\",\n\t\t\t\tcreatedAt: now,\n\t\t\t\tupdatedAt: now\n\t\t\t};\n\t\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\t\tthis.setEndpointState(endpointId, {\n\t\t\t\tsessions: [summary, ...prev.sessions.filter((s) => s.id !== id)],\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tactiveSessionId: id\n\t\t\t});\n\t\t\tthis.entries = [];\n\t\t\treturn id;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = `Failed to start session: ${err.message ?? \"unknown error\"}`;\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t* Send a message in the active session. If none is active, create one\n\t* first (matches the \"zero sessions\" empty-state flow).\n\t*/\n\tasync send(text) {\n\t\tif (this.sending) return;\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tlet sessionId = this.activeSessionId;\n\t\tif (!sessionId) {\n\t\t\tsessionId = await this.startNewSession();\n\t\t\tif (!sessionId) return;\n\t\t}\n\t\tconst userEntry = {\n\t\t\tid: crypto.randomUUID(),\n\t\t\trole: \"user\",\n\t\t\ttext: trimmed,\n\t\t\ttimestamp: Date.now()\n\t\t};\n\t\tthis.entries = [...this.entries, userEntry];\n\t\tthis.error = \"\";\n\t\tthis.sending = true;\n\t\ttry {\n\t\t\tconst replyText = (await sendChatMessage(sessionId, trimmed)).parts.filter((p) => p.type === \"text\" && p.text).map((p) => p.text ?? \"\").join(\"\");\n\t\t\tconst assistantEntry = {\n\t\t\t\tid: crypto.randomUUID(),\n\t\t\t\trole: \"assistant\",\n\t\t\t\ttext: replyText || \"(no response)\",\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, assistantEntry];\n\t\t\tconst endpointId = this.activeEndpointId;\n\t\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\t\tif (prev) {\n\t\t\t\tconst now = Date.now();\n\t\t\t\tconst existing = prev.sessions.find((s) => s.id === sessionId);\n\t\t\t\tconst updated = existing ? {\n\t\t\t\t\t...existing,\n\t\t\t\t\tupdatedAt: now\n\t\t\t\t} : {\n\t\t\t\t\tid: sessionId,\n\t\t\t\t\ttitle: \"\",\n\t\t\t\t\tcreatedAt: now,\n\t\t\t\t\tupdatedAt: now\n\t\t\t\t};\n\t\t\t\tconst rest = prev.sessions.filter((s) => s.id !== sessionId);\n\t\t\t\tthis.setEndpointState(endpointId, { sessions: [updated, ...rest] });\n\t\t\t}\n\t\t\tif (voiceState.ttsSupported && voiceState.ttsAutoEnabled && replyText) speakText(replyText);\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status === 503 || err.status === 502) {\n\t\t\t\tthis.error = \"Assistant is not reachable. Try reconnecting.\";\n\t\t\t\tthis.setEndpointState(this.activeEndpointId, { activeSessionId: null });\n\t\t\t} else if (err.status === 401) this.error = \"Sign-in required.\";\n\t\t\telse this.error = err.message ?? \"Message failed.\";\n\t\t} finally {\n\t\t\tthis.sending = false;\n\t\t}\n\t}\n\treset() {\n\t\tstopSpeaking();\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis.byEndpoint = /* @__PURE__ */ new Map();\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from event stream during reset\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t}\n};\nvar chat = new ChatService();\n//#endregion\n//#region src/lib/endpoints-state.svelte.ts\nvar EndpointsService = class {\n\tendpoints = [];\n\tactiveId = \"default\";\n\tloading = false;\n\tloaded = false;\n\terror = \"\";\n\t#active = derived(() => this.endpoints.find((e) => e.id === this.activeId) ?? this.endpoints[0] ?? null);\n\tget active() {\n\t\treturn this.#active();\n\t}\n\tset active($$value) {\n\t\treturn this.#active($$value);\n\t}\n\tasync load(force = false) {\n\t\tif (this.loading) return;\n\t\tif (this.loaded && !force) return;\n\t\tthis.loading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { endpoints, activeId } = await fetchEndpoints();\n\t\t\tthis.endpoints = endpoints;\n\t\t\tthis.activeId = activeId;\n\t\t\tthis.loaded = true;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status !== 401) this.error = err.message ?? \"Failed to load endpoints\";\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\tasync activate(id) {\n\t\tif (id === this.activeId) return;\n\t\tif (chat.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\tthrow new Error(this.error);\n\t\t}\n\t\tconst previous = this.activeId;\n\t\tthis.activeId = id;\n\t\ttry {\n\t\t\tawait setActiveEndpoint(id);\n\t\t\tawait chat.onEndpointChanged(id);\n\t\t} catch (e) {\n\t\t\tthis.activeId = previous;\n\t\t\tconst err = e;\n\t\t\tthis.error = err.message ?? \"Failed to switch endpoint\";\n\t\t\tthrow e;\n\t\t}\n\t}\n};\nvar endpointsService = new EndpointsService();\n//#endregion\n//#region src/lib/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/components/chat/EndpointList.svelte\nfunction EndpointList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after the active endpoint changes (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst showManageAssistant = derived(() => isLocalAssistantUrl(active()?.url));\n\t\tlet switching = false;\n\t\t$$renderer.push(`<div class=\"endpoint-list svelte-dlw00e\">`);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"list-error svelte-dlw00e\" role=\"alert\">${escape_html(endpointsService.error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"group\" role=\"group\" aria-label=\"Assistant endpoints\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(endpoints());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet ep = each_array[$$index];\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"list-item svelte-dlw00e\", void 0, { \"active\": ep.id === active()?.id })}${attr(\"aria-current\", ep.id === active()?.id ? \"true\" : void 0)}${attr(\"disabled\", switching, true)}><span class=\"item-text svelte-dlw00e\"><span class=\"item-label svelte-dlw00e\">${escape_html(ep.label)}`);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-dlw00e\">(current)</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-url svelte-dlw00e\">${escape_html(ep.url)}</span></span></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"divider svelte-dlw00e\"></div> `);\n\t\tif (showManageAssistant()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a class=\"list-item link svelte-dlw00e\" href=\"/admin\">Manage this assistant…</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <a class=\"list-item link svelte-dlw00e\" href=\"/admin/endpoints\">Manage assistant connections…</a></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/EndpointSwitcher.svelte\nfunction EndpointSwitcher($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\n\t\tconst active = derived(() => endpointsService.active);\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-48xr05\" aria-haspopup=\"dialog\"${attr(\"aria-expanded\", open)}${attr(\"aria-label\", active() ? `Assistant endpoint: ${active().label}` : \"Assistant endpoints\")}${attr(\"title\", active() ? `Connected to: ${active().label} (${active().url})` : \"Assistant endpoints\")}${attr(\"disabled\", endpointsService.loading, true)}><svg class=\"trigger-icon svelte-48xr05\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" y1=\"6\" x2=\"6.01\" y2=\"6\"></line><line x1=\"6\" y1=\"18\" x2=\"6.01\" y2=\"18\"></line></svg> <span class=\"dot svelte-48xr05\" aria-hidden=\"true\"></span> <span class=\"label svelte-48xr05\">${escape_html(active()?.label ?? \"Endpoint…\")}</span> <span class=\"caret svelte-48xr05\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: \"Assistant endpoint\",\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tEndpointList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\tlet { onChosen } = $$props;\n\t\tconst SESSION_LIST_CAP = 50;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst loading = derived(() => endpointState()?.sessionsLoading ?? false);\n\t\tconst error = derived(() => endpointState()?.sessionsError ?? \"\");\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><span>Loading sessions…</span></div>`);\n\t\t} else if (error()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">Retry</button></div>`);\n\t\t} else if (sessions().length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">No sessions yet. Start the first one.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"session-list svelte-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet s = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(s.updatedAt))}</span></span></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (overflowCount() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"show-all svelte-1o6rxhb\">Show all (${escape_html(overflowCount())} more)</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionPicker.svelte\nfunction SessionPicker($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet open = false;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst liveConnected = derived(() => chat.liveConnected);\n\t\tconst activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);\n\t\tconst triggerLabel = derived(() => activeSummary() ? resolveSessionTitle(activeSummary().title) : \"New session\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"trigger svelte-cihcnl\" aria-haspopup=\"dialog\"${attr(\"aria-expanded\", open)} aria-label=\"Sessions\"${attr(\"title\", triggerLabel())}><svg class=\"trigger-icon svelte-cihcnl\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z\"></path><path d=\"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1\"></path></svg> <span${attr_class(\"dot svelte-cihcnl\", void 0, { \"connected\": liveConnected() })} aria-hidden=\"true\"${attr(\"title\", liveConnected() ? \"Live updates connected\" : \"Live updates disconnected\")}></span> <span class=\"label svelte-cihcnl\">${escape_html(triggerLabel())}</span> <span class=\"caret svelte-cihcnl\" aria-hidden=\"true\">▾</span></button> `);\n\t\tDrawer($$renderer, {\n\t\t\topen,\n\t\t\ttitle: `Sessions on ${stringify(active()?.label ?? \"this endpoint\")}`,\n\t\t\tonClose: () => open = false,\n\t\t\twidth: \"26rem\",\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tSessionList($$renderer, { onChosen: () => open = false });\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!---->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/VoiceControl.svelte\nfunction VoiceControl($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst MAX_INTERIM_CHARS = 48;\n\t\tlet mounted = false;\n\t\tlet removeGlobalMicToggle = null;\n\t\tonDestroy(() => {\n\t\t\twindow.openpalm?.setTrayMicRecording?.(false);\n\t\t\tremoveGlobalMicToggle?.();\n\t\t\tremoveGlobalMicToggle = null;\n\t\t\tdestroyVoice();\n\t\t});\n\t\tlet supported = derived(() => mounted);\n\t\tlet ttsAvailable = derived(() => mounted);\n\t\tlet isRecording = derived(() => voiceState.status === \"recording\");\n\t\tlet isTranscribing = derived(() => voiceState.status === \"transcribing\");\n\t\tlet isProcessing = derived(() => !isRecording() && !isTranscribing() && chat.sending);\n\t\tlet isSpeaking = derived(() => voiceState.status === \"speaking\");\n\t\t$$renderer.push(`<div class=\"voice-control svelte-7elv0w\" role=\"toolbar\" aria-label=\"Voice controls\">`);\n\t\tif (isRecording() && voiceState.interimTranscript) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-interim svelte-7elv0w\" aria-hidden=\"true\"${attr(\"title\", voiceState.interimTranscript)}>${escape_html(voiceState.interimTranscript.length > MAX_INTERIM_CHARS ? voiceState.interimTranscript.slice(0, MAX_INTERIM_CHARS) + \"…\" : voiceState.interimTranscript)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (voiceState.autoplayBlocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"voice-autoplay-banner svelte-7elv0w\" aria-label=\"Resume paused audio\" title=\"Audio was blocked by the browser. Click to resume.\"><svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line></svg> <span class=\"svelte-7elv0w\">Audio paused — click to resume</span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (ttsAvailable()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\t\"voice-btn-on\": voiceState.ttsAutoEnabled,\n\t\t\t\t\"voice-btn-speaking\": isSpeaking()\n\t\t\t})}${attr(\"aria-label\", voiceState.ttsAutoEnabled ? \"Turn off spoken responses\" : \"Turn on spoken responses\")}${attr(\"aria-pressed\", voiceState.ttsAutoEnabled)}${attr(\"title\", isSpeaking() ? \"Speaking — click to turn off spoken responses\" : voiceState.ttsAutoEnabled ? \"Spoken responses are on — click to turn off\" : \"Spoken responses are off — click to turn on\")}><svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-7elv0w\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" class=\"svelte-7elv0w\"></polygon>`);\n\t\t\tif (voiceState.ttsAutoEnabled) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim\": isSpeaking() })}></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"${attr_class(\"svelte-7elv0w\", void 0, { \"wave-anim-2\": isSpeaking() })}></path>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\" class=\"svelte-7elv0w\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\" class=\"svelte-7elv0w\"></line>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></svg></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button${attr_class(\"voice-btn svelte-7elv0w\", void 0, {\n\t\t\t\"voice-btn-active\": isRecording(),\n\t\t\t\"voice-btn-processing\": isProcessing() || isTranscribing(),\n\t\t\t\"voice-btn-disabled\": !supported()\n\t\t})}${attr(\"disabled\", !supported() || isProcessing(), true)}${attr(\"aria-label\", !supported() ? \"Voice input unavailable\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Start recording\")}${attr(\"aria-pressed\", isRecording())}${attr(\"title\", !supported() ? \"Voice input is unavailable — no speech-to-text engine is configured for this browser\" : isRecording() ? \"Stop recording\" : isTranscribing() ? \"Transcribing…\" : isProcessing() ? \"Sending message…\" : \"Speak — message will be sent to the selected assistant\")}>`);\n\t\tif (!supported()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-7elv0w\"><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" class=\"svelte-7elv0w\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\" class=\"svelte-7elv0w\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t} else if (isTranscribing() || isProcessing()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<span class=\"voice-spinner svelte-7elv0w\" aria-hidden=\"true\"></span>`);\n\t\t} else if (isRecording()) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"svelte-7elv0w\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"1.5\" class=\"svelte-7elv0w\"></rect></svg> <span class=\"voice-pulse svelte-7elv0w\" aria-hidden=\"true\"></span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-7elv0w\"><path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" class=\"svelte-7elv0w\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" class=\"svelte-7elv0w\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" class=\"svelte-7elv0w\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" class=\"svelte-7elv0w\"></line></svg>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button> <span class=\"sr-only svelte-7elv0w\" aria-live=\"polite\">${escape_html(isRecording() && voiceState.interimTranscript ? voiceState.interimTranscript : isRecording() ? \"Recording\" : isTranscribing() ? \"Transcribing\" : isProcessing() ? \"Sending message to assistant\" : isSpeaking() ? \"Assistant is speaking\" : voiceState.ttsAutoEnabled ? \"Spoken responses on\" : \"\")}</span></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chrome/Navbar.svelte\nfunction chatIcon($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path></svg>`);\n}\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onAdmin = derived(() => pathname() === \"/admin\" || pathname().startsWith(\"/admin/\"));\n\t\tconst onChatSurface = derived(() => pathname() === \"/chat\" || pathname().startsWith(\"/chat/\"));\n\t\tconst onAdvancedSurface = derived(() => pathname() === \"/advanced\" || pathname().startsWith(\"/advanced/\"));\n\t\tconst isLocalAssistant = derived(() => {\n\t\t\treturn isLocalAssistantUrl(endpointsService.active?.url);\n\t\t});\n\t\t$$renderer.push(`<header class=\"navbar svelte-66bgq1\"><div class=\"navbar-inner svelte-66bgq1\"><a class=\"navbar-brand svelte-66bgq1\" href=\"/chat\" aria-label=\"OpenPalm — go to chat\"><span class=\"brand-icon svelte-66bgq1\" aria-hidden=\"true\"><img src=\"/logo-128.png\" alt=\"\" class=\"svelte-66bgq1\"/></span> <span class=\"brand-text svelte-66bgq1\">OpenPalm</span></a> <div class=\"navbar-actions svelte-66bgq1\">`);\n\t\tif (onAdmin()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: \"/chat\",\n\t\t\t\tariaLabel: \"Back to chat\",\n\t\t\t\ttitle: \"Chat\",\n\t\t\t\ticon: chatIcon\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tSettingsDrawer($$renderer, { showManageAssistant: isLocalAssistant() });\n\t\t$$renderer.push(`<!----> `);\n\t\tif (onChatSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"chat-selectors svelte-66bgq1\">`);\n\t\t\tEndpointSwitcher($$renderer, {});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tSessionPicker($$renderer, {});\n\t\t\t$$renderer.push(`<!----></span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (onChatSurface() || onAdvancedSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tModeSwitch($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tVoiceControl($$renderer, {});\n\t\t$$renderer.push(`<!----></div></div></header>`);\n\t});\n}\n//#endregion\nexport { chat as a, formatTime as c, endpointsService as i, SessionList as n, Drawer as o, EndpointList as r, IconButton as s, Navbar as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { f as attr_style, d as attr, a8 as stringify } from './dev-B6xUe35c.js';
|
|
2
|
+
|
|
3
|
+
//#region src/lib/components/common/Spinner.svelte
|
|
4
|
+
function Spinner($$renderer, $$props) {
|
|
5
|
+
/** Diameter in px. */
|
|
6
|
+
/** When set, exposes the spinner to assistive tech as a status. */
|
|
7
|
+
let { size = 14, label } = $$props;
|
|
8
|
+
$$renderer.push(`<span class="spinner svelte-1fmz04p"${attr_style(`--spinner-size: ${stringify(size)}px`)}${attr("role", label ? "status" : void 0)}${attr("aria-label", label)}${attr("aria-hidden", label ? void 0 : "true")}></span>`);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { Spinner as S };
|
|
12
|
+
//# sourceMappingURL=Spinner-Bk6e83RX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner-Bk6e83RX.js","sources":["../../../.svelte-kit/adapter-node/chunks/Spinner.js"],"sourcesContent":["import { V as attr, r as attr_style, u as stringify } from \"./dev.js\";\n//#region src/lib/components/common/Spinner.svelte\nfunction Spinner($$renderer, $$props) {\n\t/** Diameter in px. */\n\t/** When set, exposes the spinner to assistive tech as a status. */\n\tlet { size = 14, label } = $$props;\n\t$$renderer.push(`<span class=\"spinner svelte-1fmz04p\"${attr_style(`--spinner-size: ${stringify(size)}px`)}${attr(\"role\", label ? \"status\" : void 0)}${attr(\"aria-label\", label)}${attr(\"aria-hidden\", label ? void 0 : \"true\")}></span>`);\n}\n//#endregion\nexport { Spinner as t };\n"],"names":[],"mappings":";;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC;AACA;AACA,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO;AACnC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1O;;;;"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { p as ensure_array_like, e as attr_class, d as attr, r as escape_html, a8 as stringify, o as derived } from './dev-B6xUe35c.js';
|
|
2
|
+
|
|
3
|
+
var STEP_LABELS = [
|
|
4
|
+
"System Check",
|
|
5
|
+
"Get Started",
|
|
6
|
+
"Providers",
|
|
7
|
+
"Models",
|
|
8
|
+
"Voice",
|
|
9
|
+
"Options",
|
|
10
|
+
"Review"
|
|
11
|
+
];
|
|
12
|
+
var TTS_OPTIONS = [
|
|
13
|
+
{
|
|
14
|
+
id: "openpalm-voice",
|
|
15
|
+
name: "OpenPalm Voice",
|
|
16
|
+
type: "local",
|
|
17
|
+
recommended: true,
|
|
18
|
+
desc: "Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "openai-tts",
|
|
22
|
+
name: "OpenAI TTS",
|
|
23
|
+
type: "cloud",
|
|
24
|
+
desc: "Cloud voices. Uses your OpenAI API key"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: "browser-tts",
|
|
28
|
+
name: "Browser Built-in",
|
|
29
|
+
type: "builtin",
|
|
30
|
+
desc: "Native speech synthesis. No setup needed"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "skip-tts",
|
|
34
|
+
name: "Skip — text only",
|
|
35
|
+
type: "skip",
|
|
36
|
+
desc: "Add TTS later from the dashboard"
|
|
37
|
+
}
|
|
38
|
+
];
|
|
39
|
+
var STT_OPTIONS = [
|
|
40
|
+
{
|
|
41
|
+
id: "openpalm-voice",
|
|
42
|
+
name: "OpenPalm Voice",
|
|
43
|
+
type: "local",
|
|
44
|
+
recommended: true,
|
|
45
|
+
desc: "Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "openai-stt",
|
|
49
|
+
name: "OpenAI Whisper",
|
|
50
|
+
type: "cloud",
|
|
51
|
+
desc: "Cloud Whisper API. Uses OpenAI key"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "browser-stt",
|
|
55
|
+
name: "Browser Built-in",
|
|
56
|
+
type: "builtin",
|
|
57
|
+
desc: "Web Speech API. No setup"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: "skip-stt",
|
|
61
|
+
name: "Skip — text only",
|
|
62
|
+
type: "skip",
|
|
63
|
+
desc: "Add STT later from the dashboard"
|
|
64
|
+
}
|
|
65
|
+
];
|
|
66
|
+
/**
|
|
67
|
+
* Per-engine configuration fields. Empty `fields` means "no extra settings".
|
|
68
|
+
* `provider` is written to stack.env as OP_TTS_PROVIDER / OP_STT_PROVIDER
|
|
69
|
+
* so the voice channel can resolve the runtime URL.
|
|
70
|
+
*
|
|
71
|
+
* Shared between the setup wizard's VoiceStep and the admin Capabilities tab.
|
|
72
|
+
*/
|
|
73
|
+
var BASE_URL_FIELD = (placeholder, hint) => ({
|
|
74
|
+
key: "baseURL",
|
|
75
|
+
label: "Endpoint URL",
|
|
76
|
+
placeholder,
|
|
77
|
+
hint
|
|
78
|
+
});
|
|
79
|
+
var TTS_ENGINES = {
|
|
80
|
+
"openpalm-voice": {
|
|
81
|
+
id: "openpalm-voice",
|
|
82
|
+
provider: "openpalm-voice",
|
|
83
|
+
fields: []
|
|
84
|
+
},
|
|
85
|
+
"openai-tts": {
|
|
86
|
+
id: "openai-tts",
|
|
87
|
+
provider: "openai",
|
|
88
|
+
fields: [
|
|
89
|
+
BASE_URL_FIELD("https://api.openai.com/v1", "Leave empty to use the default OpenAI endpoint. Override for proxies / Azure-compat."),
|
|
90
|
+
{
|
|
91
|
+
key: "model",
|
|
92
|
+
label: "Model",
|
|
93
|
+
options: [
|
|
94
|
+
"tts-1",
|
|
95
|
+
"tts-1-hd",
|
|
96
|
+
"gpt-4o-mini-tts"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "voice",
|
|
101
|
+
label: "Voice",
|
|
102
|
+
options: [
|
|
103
|
+
"alloy",
|
|
104
|
+
"echo",
|
|
105
|
+
"fable",
|
|
106
|
+
"onyx",
|
|
107
|
+
"nova",
|
|
108
|
+
"shimmer"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"browser-tts": {
|
|
114
|
+
id: "browser-tts",
|
|
115
|
+
fields: []
|
|
116
|
+
},
|
|
117
|
+
"skip-tts": {
|
|
118
|
+
id: "skip-tts",
|
|
119
|
+
fields: []
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
var STT_ENGINES = {
|
|
123
|
+
"openpalm-voice": {
|
|
124
|
+
id: "openpalm-voice",
|
|
125
|
+
provider: "openpalm-voice",
|
|
126
|
+
fields: []
|
|
127
|
+
},
|
|
128
|
+
"openai-stt": {
|
|
129
|
+
id: "openai-stt",
|
|
130
|
+
provider: "openai",
|
|
131
|
+
fields: [
|
|
132
|
+
BASE_URL_FIELD("https://api.openai.com/v1", "Leave empty to use the default OpenAI endpoint."),
|
|
133
|
+
{
|
|
134
|
+
key: "model",
|
|
135
|
+
label: "Model",
|
|
136
|
+
options: [
|
|
137
|
+
"whisper-1",
|
|
138
|
+
"gpt-4o-mini-transcribe",
|
|
139
|
+
"gpt-4o-transcribe"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
key: "language",
|
|
144
|
+
label: "Language",
|
|
145
|
+
placeholder: "en",
|
|
146
|
+
hint: "A language code like `en` or `fr`, or leave blank to detect automatically."
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"browser-stt": {
|
|
151
|
+
id: "browser-stt",
|
|
152
|
+
fields: [{
|
|
153
|
+
key: "language",
|
|
154
|
+
label: "Language",
|
|
155
|
+
placeholder: "en-US",
|
|
156
|
+
hint: "A language code like `en` or `fr`, or leave blank to detect automatically."
|
|
157
|
+
}]
|
|
158
|
+
},
|
|
159
|
+
"skip-stt": {
|
|
160
|
+
id: "skip-stt",
|
|
161
|
+
fields: []
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
//#endregion
|
|
165
|
+
//#region src/lib/components/voice/VoiceEngineSelector.svelte
|
|
166
|
+
function VoiceEngineSelector($$renderer, $$props) {
|
|
167
|
+
$$renderer.component(($$renderer) => {
|
|
168
|
+
let { kind, value, onchange, reachable, reachabilityEngineId, disabledEngines, hiddenEngines, engineOptions, engineConfigs } = $$props;
|
|
169
|
+
const allOptions = derived(() => engineOptions ?? (kind === "tts" ? TTS_OPTIONS : STT_OPTIONS));
|
|
170
|
+
const engines = derived(() => engineConfigs ?? (kind === "tts" ? TTS_ENGINES : STT_ENGINES));
|
|
171
|
+
const options = derived(() => hiddenEngines ? allOptions().filter((o) => !hiddenEngines.has(o.id)) : allOptions());
|
|
172
|
+
function updateField(key, val) {
|
|
173
|
+
const next = { ...value };
|
|
174
|
+
if (val) next[key] = val;
|
|
175
|
+
else delete next[key];
|
|
176
|
+
onchange(next);
|
|
177
|
+
}
|
|
178
|
+
$$renderer.push(`<div class="engine-list svelte-1e5u5jo"><!--[-->`);
|
|
179
|
+
const each_array = ensure_array_like(options());
|
|
180
|
+
for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
|
|
181
|
+
let o = each_array[$$index_2];
|
|
182
|
+
const selected = value.engine === o.id;
|
|
183
|
+
const config = engines()[o.id];
|
|
184
|
+
const engineState = disabledEngines?.[o.id];
|
|
185
|
+
const isDisabled = engineState?.disabled ?? false;
|
|
186
|
+
$$renderer.push(`<button type="button"${attr_class("engine-card svelte-1e5u5jo", void 0, {
|
|
187
|
+
"engine-card--selected": selected,
|
|
188
|
+
"engine-card--disabled": isDisabled
|
|
189
|
+
})}${attr("disabled", isDisabled, true)}><div class="engine-body svelte-1e5u5jo"><span class="engine-name svelte-1e5u5jo">${escape_html(o.name)}</span> <span class="engine-desc svelte-1e5u5jo">${escape_html(o.desc)}</span> `);
|
|
190
|
+
if (isDisabled && engineState?.reason) {
|
|
191
|
+
$$renderer.push("<!--[0-->");
|
|
192
|
+
$$renderer.push(`<span class="engine-subtitle svelte-1e5u5jo">${escape_html(engineState.reason)}</span>`);
|
|
193
|
+
} else $$renderer.push("<!--[-1-->");
|
|
194
|
+
$$renderer.push(`<!--]--> `);
|
|
195
|
+
if (o.id === (reachabilityEngineId ?? (kind === "tts" ? "openai-tts" : "openai-stt")) && reachable?.remoteConfigured) {
|
|
196
|
+
$$renderer.push("<!--[0-->");
|
|
197
|
+
$$renderer.push(`<span${attr_class("engine-reachability svelte-1e5u5jo", void 0, { "engine-reachability--ok": reachable.remoteReachable })}>${escape_html(reachable.remoteReachable ? "● Endpoint reachable" : "○ Endpoint not reachable")}</span>`);
|
|
198
|
+
} else $$renderer.push("<!--[-1-->");
|
|
199
|
+
$$renderer.push(`<!--]--></div> `);
|
|
200
|
+
if (o.recommended) {
|
|
201
|
+
$$renderer.push("<!--[0-->");
|
|
202
|
+
$$renderer.push(`<span class="badge badge-recommended">Recommended</span>`);
|
|
203
|
+
} else $$renderer.push("<!--[-1-->");
|
|
204
|
+
$$renderer.push(`<!--]--></button> `);
|
|
205
|
+
if (selected && config && config.fields.length > 0) {
|
|
206
|
+
$$renderer.push("<!--[0-->");
|
|
207
|
+
$$renderer.push(`<div class="engine-config svelte-1e5u5jo"><!--[-->`);
|
|
208
|
+
const each_array_1 = ensure_array_like(config.fields);
|
|
209
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
210
|
+
let field = each_array_1[$$index_1];
|
|
211
|
+
$$renderer.push(`<div class="form-field"><label class="form-label"${attr("for", `voice-${stringify(kind)}-${stringify(field.key)}`)}>${escape_html(field.label)}</label> `);
|
|
212
|
+
if (field.options) {
|
|
213
|
+
$$renderer.push("<!--[0-->");
|
|
214
|
+
$$renderer.select({
|
|
215
|
+
id: `voice-${stringify(kind)}-${stringify(field.key)}`,
|
|
216
|
+
class: "form-input",
|
|
217
|
+
value: value[field.key] ?? "",
|
|
218
|
+
onchange: (e) => updateField(field.key, e.currentTarget.value)
|
|
219
|
+
}, ($$renderer) => {
|
|
220
|
+
$$renderer.option({ value: "" }, ($$renderer) => {
|
|
221
|
+
$$renderer.push(`— default —`);
|
|
222
|
+
});
|
|
223
|
+
$$renderer.push(`<!--[-->`);
|
|
224
|
+
const each_array_2 = ensure_array_like(field.options);
|
|
225
|
+
for (let $$index = 0, $$length = each_array_2.length; $$index < $$length; $$index++) {
|
|
226
|
+
let opt = each_array_2[$$index];
|
|
227
|
+
$$renderer.option({ value: opt }, ($$renderer) => {
|
|
228
|
+
$$renderer.push(`${escape_html(opt)}`);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
$$renderer.push(`<!--]-->`);
|
|
232
|
+
});
|
|
233
|
+
} else {
|
|
234
|
+
$$renderer.push("<!--[-1-->");
|
|
235
|
+
$$renderer.push(`<input${attr("id", `voice-${stringify(kind)}-${stringify(field.key)}`)}${attr("type", field.key === "baseURL" ? "url" : "text")} class="form-input"${attr("value", value[field.key] ?? "")}${attr("placeholder", field.placeholder ?? "")} autocomplete="off"${attr("spellcheck", field.key === "baseURL" ? false : void 0)}/>`);
|
|
236
|
+
}
|
|
237
|
+
$$renderer.push(`<!--]--> `);
|
|
238
|
+
if (field.hint) {
|
|
239
|
+
$$renderer.push("<!--[0-->");
|
|
240
|
+
$$renderer.push(`<span class="field-hint svelte-1e5u5jo">${escape_html(field.hint)}</span>`);
|
|
241
|
+
} else $$renderer.push("<!--[-1-->");
|
|
242
|
+
$$renderer.push(`<!--]--></div>`);
|
|
243
|
+
}
|
|
244
|
+
$$renderer.push(`<!--]--></div>`);
|
|
245
|
+
} else $$renderer.push("<!--[-1-->");
|
|
246
|
+
$$renderer.push(`<!--]-->`);
|
|
247
|
+
}
|
|
248
|
+
$$renderer.push(`<!--]--></div>`);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
//#endregion
|
|
252
|
+
//#region src/lib/components/voice/VoiceProfileSelector.svelte
|
|
253
|
+
function VoiceProfileSelector($$renderer, $$props) {
|
|
254
|
+
$$renderer.component(($$renderer) => {
|
|
255
|
+
let { profiles, selectedProfile, onchange, showDescription } = $$props;
|
|
256
|
+
const selectedInfo = derived(() => profiles.find((p) => p.id === selectedProfile) ?? profiles[0]);
|
|
257
|
+
showDescription ??= true;
|
|
258
|
+
if (profiles.length === 0) $$renderer.push("<!--[0-->");
|
|
259
|
+
else if (profiles.length === 1) {
|
|
260
|
+
$$renderer.push("<!--[1-->");
|
|
261
|
+
$$renderer.push(`<p class="profile-single svelte-11ub9pr">Using ${escape_html(selectedInfo()?.label ?? selectedInfo()?.id ?? "selected")}.</p>`);
|
|
262
|
+
} else {
|
|
263
|
+
$$renderer.push("<!--[-1-->");
|
|
264
|
+
if (showDescription) {
|
|
265
|
+
$$renderer.push("<!--[0-->");
|
|
266
|
+
$$renderer.push(`<p class="profile-desc svelte-11ub9pr">Select the profile that matches your hardware. GPU profiles are auto-selected when available.</p>`);
|
|
267
|
+
} else $$renderer.push("<!--[-1-->");
|
|
268
|
+
$$renderer.push(`<!--]--> <div class="form-field"><label class="form-label" for="voice-profile">Profile</label> `);
|
|
269
|
+
$$renderer.select({
|
|
270
|
+
id: "voice-profile",
|
|
271
|
+
class: "form-input",
|
|
272
|
+
value: selectedProfile,
|
|
273
|
+
onchange: (e) => onchange(e.currentTarget.value)
|
|
274
|
+
}, ($$renderer) => {
|
|
275
|
+
$$renderer.push(`<!--[-->`);
|
|
276
|
+
const each_array = ensure_array_like(profiles);
|
|
277
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
278
|
+
let profile = each_array[$$index];
|
|
279
|
+
$$renderer.option({
|
|
280
|
+
value: profile.id,
|
|
281
|
+
disabled: profile.available === false,
|
|
282
|
+
title: profile.available === false ? profile.reason ?? "Not available on this host" : void 0
|
|
283
|
+
}, ($$renderer) => {
|
|
284
|
+
$$renderer.push(`${escape_html(profile.label ?? profile.id)}${escape_html(profile.available === false ? " — unavailable" : "")}`);
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
$$renderer.push(`<!--]-->`);
|
|
288
|
+
});
|
|
289
|
+
$$renderer.push(` `);
|
|
290
|
+
if (selectedInfo()?.requires) {
|
|
291
|
+
$$renderer.push("<!--[0-->");
|
|
292
|
+
$$renderer.push(`<span class="field-hint svelte-11ub9pr">Requires: ${escape_html(selectedInfo().requires)}</span>`);
|
|
293
|
+
} else $$renderer.push("<!--[-1-->");
|
|
294
|
+
$$renderer.push(`<!--]--> `);
|
|
295
|
+
if (selectedInfo()?.available === false) {
|
|
296
|
+
$$renderer.push("<!--[0-->");
|
|
297
|
+
$$renderer.push(`<span class="field-hint field-hint--warning svelte-11ub9pr">${escape_html(selectedInfo().reason ?? "This profile is not available on the current host.")}</span>`);
|
|
298
|
+
} else $$renderer.push("<!--[-1-->");
|
|
299
|
+
$$renderer.push(`<!--]--></div>`);
|
|
300
|
+
}
|
|
301
|
+
$$renderer.push(`<!--]-->`);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export { STEP_LABELS as S, VoiceEngineSelector as V, VoiceProfileSelector as a };
|
|
306
|
+
//# sourceMappingURL=VoiceProfileSelector-CbOV_v5A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceProfileSelector-CbOV_v5A.js","sources":["../../../.svelte-kit/adapter-node/chunks/VoiceProfileSelector.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"./dev.js\";\n//#region src/lib/wizard/constants.ts\nvar PROVIDER_GROUPS = [\n\t{\n\t\tid: \"recommended\",\n\t\tlabel: \"Recommended\",\n\t\tdesc: \"Best options to get started quickly\"\n\t},\n\t{\n\t\tid: \"local\",\n\t\tlabel: \"Local\",\n\t\tdesc: \"Run models on your own hardware\"\n\t},\n\t{\n\t\tid: \"cloud\",\n\t\tlabel: \"Cloud\",\n\t\tdesc: \"Hosted inference providers\"\n\t},\n\t{\n\t\tid: \"advanced\",\n\t\tlabel: \"Advanced\",\n\t\tdesc: \"Additional providers\"\n\t}\n];\nvar PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tkind: \"local\",\n\t\tgroup: \"recommended\",\n\t\torder: 1,\n\t\ticon: \"🦙\",\n\t\tdesc: \"Run open models on your hardware\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:11434\",\n\t\tllmModel: \"llama3.2\",\n\t\tembModel: \"nomic-embed-text\",\n\t\tembDims: 768,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"huggingface\",\n\t\tname: \"Hugging Face\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 2,\n\t\ticon: \"🤗\",\n\t\tdesc: \"10,000+ open models via Inference Providers\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"hf_...\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tllmModel: \"Qwen/Qwen3-32B\",\n\t\tembModel: \"intfloat/multilingual-e5-large\",\n\t\tembDims: 1024,\n\t\tkeyPrefix: \"hf_\"\n\t},\n\t{\n\t\tid: \"openai\",\n\t\tname: \"OpenAI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 3,\n\t\ticon: \"◐\",\n\t\tdesc: \"GPT and o-series reasoning models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.openai.com\",\n\t\tllmModel: \"gpt-4o\",\n\t\tembModel: \"text-embedding-3-small\",\n\t\tembDims: 1536\n\t},\n\t{\n\t\tid: \"google\",\n\t\tname: \"Google\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 4,\n\t\ticon: \"◆\",\n\t\tdesc: \"Gemini models with large context\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"AIza...\",\n\t\tbaseUrl: \"https://generativelanguage.googleapis.com\",\n\t\tllmModel: \"gemini-2.5-flash\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tkeyPrefix: \"AI\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 1,\n\t\ticon: \"🐳\",\n\t\tdesc: \"Docker-managed model runtime\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:12434\",\n\t\tllmModel: \"ai/llama3.2\",\n\t\tembModel: \"ai/mxbai-embed-large-v1\",\n\t\tembDims: 1024,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 2,\n\t\ticon: \"🔬\",\n\t\tdesc: \"Desktop app for local inference\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:1234\",\n\t\tllmModel: \"loaded-model\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"groq\",\n\t\tname: \"Groq\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 1,\n\t\ticon: \"⚡\",\n\t\tdesc: \"Ultra-fast inference\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"gsk_...\",\n\t\tbaseUrl: \"https://api.groq.com/openai\",\n\t\tllmModel: \"llama-3.3-70b-versatile\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"mistral\",\n\t\tname: \"Mistral\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 2,\n\t\ticon: \"◆\",\n\t\tdesc: \"Mistral & Codestral models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.mistral.ai\",\n\t\tllmModel: \"mistral-large-latest\",\n\t\tembModel: \"mistral-embed\",\n\t\tembDims: 1024\n\t},\n\t{\n\t\tid: \"together\",\n\t\tname: \"Together AI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 3,\n\t\ticon: \"✦\",\n\t\tdesc: \"Open models at scale\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.together.xyz\",\n\t\tllmModel: \"meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"deepseek\",\n\t\tname: \"DeepSeek\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 1,\n\t\ticon: \"◎\",\n\t\tdesc: \"DeepSeek chat & reasoning\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.deepseek.com\",\n\t\tllmModel: \"deepseek-chat\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"xai\",\n\t\tname: \"xAI (Grok)\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 2,\n\t\ticon: \"✦\",\n\t\tdesc: \"Grok models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"xai-...\",\n\t\tbaseUrl: \"https://api.x.ai\",\n\t\tllmModel: \"grok-2\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 3,\n\t\ticon: \"🔧\",\n\t\tdesc: \"Connect any AI server that uses the standard OpenAI API format.\",\n\t\tneedsKey: false,\n\t\tneedsUrl: true,\n\t\toptionalKey: true,\n\t\tplaceholder: \"API key (optional)\",\n\t\tbaseUrl: \"\",\n\t\tllmModel: \"\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t}\n];\nvar KNOWN_EMB_DIMS = {\n\t\"text-embedding-3-small\": 1536,\n\t\"text-embedding-3-large\": 3072,\n\t\"text-embedding-ada-002\": 1536,\n\t\"nomic-embed-text\": 768,\n\t\"mxbai-embed-large\": 1024,\n\t\"mxbai-embed-large-v1\": 1024,\n\t\"ai/mxbai-embed-large-v1\": 1024,\n\t\"mistral-embed\": 1024,\n\t\"all-minilm\": 384,\n\t\"snowflake-arctic-embed\": 1024,\n\t\"intfloat/multilingual-e5-large\": 1024\n};\nvar STEP_LABELS = [\n\t\"System Check\",\n\t\"Get Started\",\n\t\"Providers\",\n\t\"Models\",\n\t\"Voice\",\n\t\"Options\",\n\t\"Review\"\n];\nvar TTS_OPTIONS = [\n\t{\n\t\tid: \"openpalm-voice\",\n\t\tname: \"OpenPalm Voice\",\n\t\ttype: \"local\",\n\t\trecommended: true,\n\t\tdesc: \"Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.\"\n\t},\n\t{\n\t\tid: \"openai-tts\",\n\t\tname: \"OpenAI TTS\",\n\t\ttype: \"cloud\",\n\t\tdesc: \"Cloud voices. Uses your OpenAI API key\"\n\t},\n\t{\n\t\tid: \"browser-tts\",\n\t\tname: \"Browser Built-in\",\n\t\ttype: \"builtin\",\n\t\tdesc: \"Native speech synthesis. No setup needed\"\n\t},\n\t{\n\t\tid: \"skip-tts\",\n\t\tname: \"Skip — text only\",\n\t\ttype: \"skip\",\n\t\tdesc: \"Add TTS later from the dashboard\"\n\t}\n];\nvar STT_OPTIONS = [\n\t{\n\t\tid: \"openpalm-voice\",\n\t\tname: \"OpenPalm Voice\",\n\t\ttype: \"local\",\n\t\trecommended: true,\n\t\tdesc: \"Bundled Kokoro TTS + Whisper STT — runs locally, no cloud. First install downloads ~2.4 GB.\"\n\t},\n\t{\n\t\tid: \"openai-stt\",\n\t\tname: \"OpenAI Whisper\",\n\t\ttype: \"cloud\",\n\t\tdesc: \"Cloud Whisper API. Uses OpenAI key\"\n\t},\n\t{\n\t\tid: \"browser-stt\",\n\t\tname: \"Browser Built-in\",\n\t\ttype: \"builtin\",\n\t\tdesc: \"Web Speech API. No setup\"\n\t},\n\t{\n\t\tid: \"skip-stt\",\n\t\tname: \"Skip — text only\",\n\t\ttype: \"skip\",\n\t\tdesc: \"Add STT later from the dashboard\"\n\t}\n];\n/**\n* Per-engine configuration fields. Empty `fields` means \"no extra settings\".\n* `provider` is written to stack.env as OP_TTS_PROVIDER / OP_STT_PROVIDER\n* so the voice channel can resolve the runtime URL.\n*\n* Shared between the setup wizard's VoiceStep and the admin Capabilities tab.\n*/\nvar BASE_URL_FIELD = (placeholder, hint) => ({\n\tkey: \"baseURL\",\n\tlabel: \"Endpoint URL\",\n\tplaceholder,\n\thint\n});\nvar TTS_ENGINES = {\n\t\"openpalm-voice\": {\n\t\tid: \"openpalm-voice\",\n\t\tprovider: \"openpalm-voice\",\n\t\tfields: []\n\t},\n\t\"openai-tts\": {\n\t\tid: \"openai-tts\",\n\t\tprovider: \"openai\",\n\t\tfields: [\n\t\t\tBASE_URL_FIELD(\"https://api.openai.com/v1\", \"Leave empty to use the default OpenAI endpoint. Override for proxies / Azure-compat.\"),\n\t\t\t{\n\t\t\t\tkey: \"model\",\n\t\t\t\tlabel: \"Model\",\n\t\t\t\toptions: [\n\t\t\t\t\t\"tts-1\",\n\t\t\t\t\t\"tts-1-hd\",\n\t\t\t\t\t\"gpt-4o-mini-tts\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"voice\",\n\t\t\t\tlabel: \"Voice\",\n\t\t\t\toptions: [\n\t\t\t\t\t\"alloy\",\n\t\t\t\t\t\"echo\",\n\t\t\t\t\t\"fable\",\n\t\t\t\t\t\"onyx\",\n\t\t\t\t\t\"nova\",\n\t\t\t\t\t\"shimmer\"\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t\"browser-tts\": {\n\t\tid: \"browser-tts\",\n\t\tfields: []\n\t},\n\t\"skip-tts\": {\n\t\tid: \"skip-tts\",\n\t\tfields: []\n\t}\n};\nvar STT_ENGINES = {\n\t\"openpalm-voice\": {\n\t\tid: \"openpalm-voice\",\n\t\tprovider: \"openpalm-voice\",\n\t\tfields: []\n\t},\n\t\"openai-stt\": {\n\t\tid: \"openai-stt\",\n\t\tprovider: \"openai\",\n\t\tfields: [\n\t\t\tBASE_URL_FIELD(\"https://api.openai.com/v1\", \"Leave empty to use the default OpenAI endpoint.\"),\n\t\t\t{\n\t\t\t\tkey: \"model\",\n\t\t\t\tlabel: \"Model\",\n\t\t\t\toptions: [\n\t\t\t\t\t\"whisper-1\",\n\t\t\t\t\t\"gpt-4o-mini-transcribe\",\n\t\t\t\t\t\"gpt-4o-transcribe\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"language\",\n\t\t\t\tlabel: \"Language\",\n\t\t\t\tplaceholder: \"en\",\n\t\t\t\thint: \"A language code like `en` or `fr`, or leave blank to detect automatically.\"\n\t\t\t}\n\t\t]\n\t},\n\t\"browser-stt\": {\n\t\tid: \"browser-stt\",\n\t\tfields: [{\n\t\t\tkey: \"language\",\n\t\t\tlabel: \"Language\",\n\t\t\tplaceholder: \"en-US\",\n\t\t\thint: \"A language code like `en` or `fr`, or leave blank to detect automatically.\"\n\t\t}]\n\t},\n\t\"skip-stt\": {\n\t\tid: \"skip-stt\",\n\t\tfields: []\n\t}\n};\nvar CHANNELS = [\n\t{\n\t\tid: \"api\",\n\t\tname: \"API\",\n\t\ticon: \"🔌\",\n\t\tdesc: \"OpenAI-compatible REST API endpoint\"\n\t},\n\t{\n\t\tid: \"discord\",\n\t\tname: \"Discord\",\n\t\ticon: \"🎮\",\n\t\tdesc: \"Connect to a Discord server\",\n\t\tcredentials: [{\n\t\t\tkey: \"botToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"Paste Discord bot token\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"applicationId\",\n\t\t\tlabel: \"Application ID\",\n\t\t\tplaceholder: \"Discord application ID\",\n\t\t\tsecret: false\n\t\t}]\n\t},\n\t{\n\t\tid: \"slack\",\n\t\tname: \"Slack\",\n\t\ticon: \"💼\",\n\t\tdesc: \"Access via Slack bot\",\n\t\tcredentials: [{\n\t\t\tkey: \"slackBotToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"xoxb-...\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"slackAppToken\",\n\t\t\tlabel: \"App Token\",\n\t\t\tplaceholder: \"xapp-...\",\n\t\t\trequired: true\n\t\t}]\n\t}\n];\nvar LOCAL_PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:11434\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:12434\"\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:1234\"\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"\"\n\t}\n];\n//#endregion\n//#region src/lib/components/voice/VoiceEngineSelector.svelte\nfunction VoiceEngineSelector($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { kind, value, onchange, reachable, reachabilityEngineId, disabledEngines, hiddenEngines, engineOptions, engineConfigs } = $$props;\n\t\tconst allOptions = derived(() => engineOptions ?? (kind === \"tts\" ? TTS_OPTIONS : STT_OPTIONS));\n\t\tconst engines = derived(() => engineConfigs ?? (kind === \"tts\" ? TTS_ENGINES : STT_ENGINES));\n\t\tconst options = derived(() => hiddenEngines ? allOptions().filter((o) => !hiddenEngines.has(o.id)) : allOptions());\n\t\tfunction updateField(key, val) {\n\t\t\tconst next = { ...value };\n\t\t\tif (val) next[key] = val;\n\t\t\telse delete next[key];\n\t\t\tonchange(next);\n\t\t}\n\t\t$$renderer.push(`<div class=\"engine-list svelte-1e5u5jo\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(options());\n\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\tlet o = each_array[$$index_2];\n\t\t\tconst selected = value.engine === o.id;\n\t\t\tconst config = engines()[o.id];\n\t\t\tconst engineState = disabledEngines?.[o.id];\n\t\t\tconst isDisabled = engineState?.disabled ?? false;\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"engine-card svelte-1e5u5jo\", void 0, {\n\t\t\t\t\"engine-card--selected\": selected,\n\t\t\t\t\"engine-card--disabled\": isDisabled\n\t\t\t})}${attr(\"disabled\", isDisabled, true)}><div class=\"engine-body svelte-1e5u5jo\"><span class=\"engine-name svelte-1e5u5jo\">${escape_html(o.name)}</span> <span class=\"engine-desc svelte-1e5u5jo\">${escape_html(o.desc)}</span> `);\n\t\t\tif (isDisabled && engineState?.reason) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"engine-subtitle svelte-1e5u5jo\">${escape_html(engineState.reason)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (o.id === (reachabilityEngineId ?? (kind === \"tts\" ? \"openai-tts\" : \"openai-stt\")) && reachable?.remoteConfigured) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span${attr_class(\"engine-reachability svelte-1e5u5jo\", void 0, { \"engine-reachability--ok\": reachable.remoteReachable })}>${escape_html(reachable.remoteReachable ? \"● Endpoint reachable\" : \"○ Endpoint not reachable\")}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (o.recommended) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge badge-recommended\">Recommended</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></button> `);\n\t\t\tif (selected && config && config.fields.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"engine-config svelte-1e5u5jo\"><!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(config.fields);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet field = each_array_1[$$index_1];\n\t\t\t\t\t$$renderer.push(`<div class=\"form-field\"><label class=\"form-label\"${attr(\"for\", `voice-${stringify(kind)}-${stringify(field.key)}`)}>${escape_html(field.label)}</label> `);\n\t\t\t\t\tif (field.options) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.select({\n\t\t\t\t\t\t\tid: `voice-${stringify(kind)}-${stringify(field.key)}`,\n\t\t\t\t\t\t\tclass: \"form-input\",\n\t\t\t\t\t\t\tvalue: value[field.key] ?? \"\",\n\t\t\t\t\t\t\tonchange: (e) => updateField(field.key, e.currentTarget.value)\n\t\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`— default —`);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(field.options);\n\t\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array_2.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\t\tlet opt = each_array_2[$$index];\n\t\t\t\t\t\t\t\t$$renderer.option({ value: opt }, ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`${escape_html(opt)}`);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<input${attr(\"id\", `voice-${stringify(kind)}-${stringify(field.key)}`)}${attr(\"type\", field.key === \"baseURL\" ? \"url\" : \"text\")} class=\"form-input\"${attr(\"value\", value[field.key] ?? \"\")}${attr(\"placeholder\", field.placeholder ?? \"\")} autocomplete=\"off\"${attr(\"spellcheck\", field.key === \"baseURL\" ? false : void 0)}/>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (field.hint) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"field-hint svelte-1e5u5jo\">${escape_html(field.hint)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/voice/VoiceProfileSelector.svelte\nfunction VoiceProfileSelector($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { profiles, selectedProfile, onchange, showDescription } = $$props;\n\t\tconst selectedInfo = derived(() => profiles.find((p) => p.id === selectedProfile) ?? profiles[0]);\n\t\tshowDescription ??= true;\n\t\tif (profiles.length === 0) $$renderer.push(\"<!--[0-->\");\n\t\telse if (profiles.length === 1) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<p class=\"profile-single svelte-11ub9pr\">Using ${escape_html(selectedInfo()?.label ?? selectedInfo()?.id ?? \"selected\")}.</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tif (showDescription) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"profile-desc svelte-11ub9pr\">Select the profile that matches your hardware. GPU profiles are auto-selected when available.</p>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <div class=\"form-field\"><label class=\"form-label\" for=\"voice-profile\">Profile</label> `);\n\t\t\t$$renderer.select({\n\t\t\t\tid: \"voice-profile\",\n\t\t\t\tclass: \"form-input\",\n\t\t\t\tvalue: selectedProfile,\n\t\t\t\tonchange: (e) => onchange(e.currentTarget.value)\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(profiles);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet profile = each_array[$$index];\n\t\t\t\t\t$$renderer.option({\n\t\t\t\t\t\tvalue: profile.id,\n\t\t\t\t\t\tdisabled: profile.available === false,\n\t\t\t\t\t\ttitle: profile.available === false ? profile.reason ?? \"Not available on this host\" : void 0\n\t\t\t\t\t}, ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`${escape_html(profile.label ?? profile.id)}${escape_html(profile.available === false ? \" — unavailable\" : \"\")}`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(` `);\n\t\t\tif (selectedInfo()?.requires) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"field-hint svelte-11ub9pr\">Requires: ${escape_html(selectedInfo().requires)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (selectedInfo()?.available === false) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"field-hint field-hint--warning svelte-11ub9pr\">${escape_html(selectedInfo().reason ?? \"This profile is not available on the current host.\")}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { LOCAL_PROVIDERS as a, STEP_LABELS as c, KNOWN_EMB_DIMS as i, STT_OPTIONS as l, VoiceEngineSelector as n, PROVIDERS as o, CHANNELS as r, PROVIDER_GROUPS as s, VoiceProfileSelector as t, TTS_OPTIONS as u };\n"],"names":[],"mappings":"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"}
|