@openpalm/ui 0.12.3 → 0.12.5
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.iY5Na-jC.css → 0.03HRqLzj.css} +1 -1
- package/build/client/_app/immutable/assets/0.03HRqLzj.css.br +0 -0
- package/build/client/_app/immutable/assets/0.03HRqLzj.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.DImH8cdy.css +1 -0
- package/build/client/_app/immutable/assets/4.DImH8cdy.css.br +0 -0
- package/build/client/_app/immutable/assets/4.DImH8cdy.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DkzfFoKA.css +1 -0
- package/build/client/_app/immutable/assets/7.DkzfFoKA.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DkzfFoKA.css.gz +0 -0
- package/build/client/_app/immutable/assets/{ChatMessage.DDPla6Cg.css → ChatMessage.Ctff5YI9.css} +1 -1
- package/build/client/_app/immutable/assets/ChatMessage.Ctff5YI9.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.Ctff5YI9.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.CjL-3tw0.css +1 -0
- package/build/client/_app/immutable/assets/Navbar.CjL-3tw0.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.CjL-3tw0.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B3YLDmFC.js +1 -0
- package/build/client/_app/immutable/chunks/B3YLDmFC.js.br +2 -0
- package/build/client/_app/immutable/chunks/B3YLDmFC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{sgaXYa0m.js → BbrGxbnk.js} +2 -2
- package/build/client/_app/immutable/chunks/BbrGxbnk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BbrGxbnk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DO47CNbP.js → C-I9DWk0.js} +2 -2
- package/build/client/_app/immutable/chunks/C-I9DWk0.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-I9DWk0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CgKtEGfl.js +1 -0
- package/build/client/_app/immutable/chunks/CgKtEGfl.js.br +0 -0
- package/build/client/_app/immutable/chunks/CgKtEGfl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CAK5Edqg.js → Dj1EWAPK.js} +1 -1
- package/build/client/_app/immutable/chunks/Dj1EWAPK.js.br +0 -0
- package/build/client/_app/immutable/chunks/{CAK5Edqg.js.gz → Dj1EWAPK.js.gz} +0 -0
- package/build/client/_app/immutable/chunks/{Drz9G_H2.js → Gm5hDJqK.js} +1 -1
- package/build/client/_app/immutable/chunks/Gm5hDJqK.js.br +0 -0
- package/build/client/_app/immutable/chunks/Gm5hDJqK.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.6md9OlJ2.js → app.CjdOdvy8.js} +2 -2
- package/build/client/_app/immutable/entry/app.CjdOdvy8.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CjdOdvy8.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DbezVtlc.js +1 -0
- package/build/client/_app/immutable/entry/start.DbezVtlc.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DbezVtlc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.MDxT-fmf.js → 0.6LuHgRwe.js} +1 -1
- package/build/client/_app/immutable/nodes/0.6LuHgRwe.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.6LuHgRwe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CM0yndw4.js → 1.C8fcW3-z.js} +1 -1
- package/build/client/_app/immutable/nodes/1.C8fcW3-z.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C8fcW3-z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.C3UgSGBY.js +134 -0
- package/build/client/_app/immutable/nodes/4.C3UgSGBY.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.C3UgSGBY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.C9NIa29a.js → 5.B9XFxNiH.js} +2 -2
- package/build/client/_app/immutable/nodes/5.B9XFxNiH.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.B9XFxNiH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.cqN5Stp1.js → 6.DbcGHucv.js} +1 -1
- package/build/client/_app/immutable/nodes/6.DbcGHucv.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DbcGHucv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Bba4wYdp.js +2 -0
- package/build/client/_app/immutable/nodes/7.Bba4wYdp.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Bba4wYdp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.DJBNOtRi.js → 8.Cli07s-b.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Cli07s-b.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Cli07s-b.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-BiSWCuvS.js → 0-pjhEnsU9.js} +3 -3
- package/build/server/chunks/{0-BiSWCuvS.js.map → 0-pjhEnsU9.js.map} +1 -1
- package/build/server/chunks/1-CCWcWeB-.js +9 -0
- package/build/server/chunks/{1-DHLtH_NT.js.map → 1-CCWcWeB-.js.map} +1 -1
- package/build/server/chunks/{10-Cn2Dy7hl.js → 10-CNK3uF1Q.js} +5 -5
- package/build/server/chunks/10-CNK3uF1Q.js.map +1 -0
- package/build/server/chunks/4-DWf_ECl3.js +9 -0
- package/build/server/chunks/{4-CCp6hL3j.js.map → 4-DWf_ECl3.js.map} +1 -1
- package/build/server/chunks/5-DdnRlGC3.js +9 -0
- package/build/server/chunks/{5-CHP_UBw9.js.map → 5-DdnRlGC3.js.map} +1 -1
- package/build/server/chunks/6-Ccae3mrA.js +9 -0
- package/build/server/chunks/{6-CgkIqX20.js.map → 6-Ccae3mrA.js.map} +1 -1
- package/build/server/chunks/7-ChMgFav-.js +9 -0
- package/build/server/chunks/{7-BZlbBsX9.js.map → 7-ChMgFav-.js.map} +1 -1
- package/build/server/chunks/{8-D_XxnYIA.js → 8-BZZqMdyC.js} +3 -3
- package/build/server/chunks/{8-D_XxnYIA.js.map → 8-BZZqMdyC.js.map} +1 -1
- package/build/server/chunks/{ChatMessage-1e2ESOBs.js → ChatMessage-BRsKmSHX.js} +2 -2
- package/build/server/chunks/{ChatMessage-1e2ESOBs.js.map → ChatMessage-BRsKmSHX.js.map} +1 -1
- package/build/server/chunks/{Navbar-B0-fGFL_.js → Navbar-BmKhtH9A.js} +3 -3
- package/build/server/chunks/{Navbar-B0-fGFL_.js.map → Navbar-BmKhtH9A.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Bqdqv3S3.js → _page.svelte-9Pkbpuj_.js} +5 -5
- package/build/server/chunks/{_page.svelte-Bqdqv3S3.js.map → _page.svelte-9Pkbpuj_.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DNdlZVFS.js → _page.svelte-CTN6igHK.js} +5 -5
- package/build/server/chunks/{_page.svelte-DNdlZVFS.js.map → _page.svelte-CTN6igHK.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CYV4wWfL.js → _page.svelte-CpfZ7HoC.js} +16 -11
- package/build/server/chunks/_page.svelte-CpfZ7HoC.js.map +1 -0
- package/build/server/chunks/{_page.svelte-EzMb--fb.js → _page.svelte-CrFforkM.js} +3 -3
- package/build/server/chunks/{_page.svelte-EzMb--fb.js.map → _page.svelte-CrFforkM.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CnKBwraZ.js → _page.svelte-D_wbKTRP.js} +111 -26
- package/build/server/chunks/_page.svelte-D_wbKTRP.js.map +1 -0
- package/build/server/chunks/{_server.ts-Mg95_8F-.js → _server.ts-4DfIozNZ.js} +5 -5
- package/build/server/chunks/{_server.ts-Mg95_8F-.js.map → _server.ts-4DfIozNZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BM0luqg_.js → _server.ts-4MXWuUGn.js} +7 -7
- package/build/server/chunks/{_server.ts-BM0luqg_.js.map → _server.ts-4MXWuUGn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0L3seRh.js → _server.ts-6C6B5LPj.js} +5 -5
- package/build/server/chunks/{_server.ts-B0L3seRh.js.map → _server.ts-6C6B5LPj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsEwDImR.js → _server.ts-7i00xmU7.js} +5 -5
- package/build/server/chunks/{_server.ts-CsEwDImR.js.map → _server.ts-7i00xmU7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-c-7O7nSF.js → _server.ts-AWmzn9Ei.js} +5 -5
- package/build/server/chunks/{_server.ts-c-7O7nSF.js.map → _server.ts-AWmzn9Ei.js.map} +1 -1
- package/build/server/chunks/{_server.ts-M-fzAyjj.js → _server.ts-AYPPlPcE.js} +5 -5
- package/build/server/chunks/_server.ts-AYPPlPcE.js.map +1 -0
- package/build/server/chunks/{_server.ts-BITp3a_v.js → _server.ts-B378kkJ3.js} +5 -5
- package/build/server/chunks/{_server.ts-BITp3a_v.js.map → _server.ts-B378kkJ3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VW0g_Tvb.js → _server.ts-B4LmSE9a.js} +5 -5
- package/build/server/chunks/{_server.ts-VW0g_Tvb.js.map → _server.ts-B4LmSE9a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B22aQonK.js → _server.ts-B7UV2HK1.js} +2 -2
- package/build/server/chunks/{_server.ts-B22aQonK.js.map → _server.ts-B7UV2HK1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dv-WpTLz.js → _server.ts-BCOT6TjN.js} +5 -5
- package/build/server/chunks/{_server.ts-Dv-WpTLz.js.map → _server.ts-BCOT6TjN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BQZjbMf8.js → _server.ts-BChtMFwE.js} +5 -5
- package/build/server/chunks/{_server.ts-BQZjbMf8.js.map → _server.ts-BChtMFwE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VUY0ZQed.js → _server.ts-BFqNKX9-.js} +5 -5
- package/build/server/chunks/{_server.ts-VUY0ZQed.js.map → _server.ts-BFqNKX9-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNWXdf7z.js → _server.ts-BJ_2imNH.js} +6 -6
- package/build/server/chunks/{_server.ts-BNWXdf7z.js.map → _server.ts-BJ_2imNH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhoSTBK-.js → _server.ts-BM3ivna6.js} +20 -10
- package/build/server/chunks/_server.ts-BM3ivna6.js.map +1 -0
- package/build/server/chunks/{_server.ts-CxsLly54.js → _server.ts-BNURY9TS.js} +5 -5
- package/build/server/chunks/_server.ts-BNURY9TS.js.map +1 -0
- package/build/server/chunks/{_server.ts-64CJ3e0t.js → _server.ts-BPYks0Y7.js} +5 -5
- package/build/server/chunks/_server.ts-BPYks0Y7.js.map +1 -0
- package/build/server/chunks/{_server.ts-KhkI1RGi.js → _server.ts-BRJySzuk.js} +6 -6
- package/build/server/chunks/{_server.ts-KhkI1RGi.js.map → _server.ts-BRJySzuk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFm_Hd2O.js → _server.ts-BSbUfKzE.js} +7 -7
- package/build/server/chunks/_server.ts-BSbUfKzE.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCMUj81G.js → _server.ts-BYKmh2Cd.js} +6 -6
- package/build/server/chunks/{_server.ts-BCMUj81G.js.map → _server.ts-BYKmh2Cd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BCzxvSLS.js → _server.ts-B_6wamaS.js} +6 -6
- package/build/server/chunks/{_server.ts-BCzxvSLS.js.map → _server.ts-B_6wamaS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-hTPh1NnS.js → _server.ts-BbO_qS7O.js} +5 -5
- package/build/server/chunks/{_server.ts-hTPh1NnS.js.map → _server.ts-BbO_qS7O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJuecwBg.js → _server.ts-Be0ekB2x.js} +5 -5
- package/build/server/chunks/{_server.ts-DJuecwBg.js.map → _server.ts-Be0ekB2x.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DO8wnB3g.js → _server.ts-BfpMnZOI.js} +5 -5
- package/build/server/chunks/{_server.ts-DO8wnB3g.js.map → _server.ts-BfpMnZOI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHlzEfZF.js → _server.ts-BgdZ49kQ.js} +4 -4
- package/build/server/chunks/_server.ts-BgdZ49kQ.js.map +1 -0
- package/build/server/chunks/{_server.ts-LkEnfz4f.js → _server.ts-BimWavgo.js} +6 -6
- package/build/server/chunks/{_server.ts-LkEnfz4f.js.map → _server.ts-BimWavgo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ZyzQPXeQ.js → _server.ts-BlhHYpxu.js} +6 -6
- package/build/server/chunks/_server.ts-BlhHYpxu.js.map +1 -0
- package/build/server/chunks/{_server.ts-CU7VZJ6f.js → _server.ts-BncDwlAM.js} +7 -7
- package/build/server/chunks/{_server.ts-CU7VZJ6f.js.map → _server.ts-BncDwlAM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkIJ4wAj.js → _server.ts-Bq9eX-3y.js} +5 -5
- package/build/server/chunks/{_server.ts-CkIJ4wAj.js.map → _server.ts-Bq9eX-3y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vQaP8yat.js → _server.ts-C2AXTxHg.js} +6 -6
- package/build/server/chunks/{_server.ts-vQaP8yat.js.map → _server.ts-C2AXTxHg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DhDSn7j7.js → _server.ts-C3RpHeA8.js} +5 -5
- package/build/server/chunks/_server.ts-C3RpHeA8.js.map +1 -0
- package/build/server/chunks/{_server.ts-DafQt9jy.js → _server.ts-CD4DKXJZ.js} +5 -5
- package/build/server/chunks/{_server.ts-DafQt9jy.js.map → _server.ts-CD4DKXJZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ck827FB_.js → _server.ts-CG16D3SY.js} +5 -5
- package/build/server/chunks/{_server.ts-Ck827FB_.js.map → _server.ts-CG16D3SY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNFp71jg.js → _server.ts-CIGwu7Rv.js} +5 -5
- package/build/server/chunks/{_server.ts-CNFp71jg.js.map → _server.ts-CIGwu7Rv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CyyWfC2T.js → _server.ts-CIYWOnnF.js} +5 -5
- package/build/server/chunks/{_server.ts-CyyWfC2T.js.map → _server.ts-CIYWOnnF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bw9PMVxW.js → _server.ts-CMZjwvn9.js} +5 -5
- package/build/server/chunks/{_server.ts-Bw9PMVxW.js.map → _server.ts-CMZjwvn9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByX2JplS.js → _server.ts-CRMZhRTH.js} +5 -5
- package/build/server/chunks/_server.ts-CRMZhRTH.js.map +1 -0
- package/build/server/chunks/{_server.ts-DxBcS53H.js → _server.ts-CRleBnMm.js} +5 -5
- package/build/server/chunks/_server.ts-CRleBnMm.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dm0PNurt.js → _server.ts-CU0mW3h1.js} +6 -6
- package/build/server/chunks/{_server.ts-Dm0PNurt.js.map → _server.ts-CU0mW3h1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrOcARFE.js → _server.ts-Ce2ZRKAR.js} +5 -5
- package/build/server/chunks/{_server.ts-DrOcARFE.js.map → _server.ts-Ce2ZRKAR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DpeFN0xU.js → _server.ts-CfJ7iDJa.js} +5 -5
- package/build/server/chunks/{_server.ts-DpeFN0xU.js.map → _server.ts-CfJ7iDJa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DNWOks8X.js → _server.ts-CfNm3_4O.js} +2 -2
- package/build/server/chunks/{_server.ts-DNWOks8X.js.map → _server.ts-CfNm3_4O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xeuXigqn.js → _server.ts-Cg0rW5Ut.js} +5 -5
- package/build/server/chunks/{_server.ts-xeuXigqn.js.map → _server.ts-Cg0rW5Ut.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fAYxIyIR.js → _server.ts-CkCKp55w.js} +7 -7
- package/build/server/chunks/{_server.ts-fAYxIyIR.js.map → _server.ts-CkCKp55w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8SaErJq.js → _server.ts-CoUmpZaT.js} +5 -5
- package/build/server/chunks/_server.ts-CoUmpZaT.js.map +1 -0
- package/build/server/chunks/{_server.ts-DWan6n03.js → _server.ts-CqsJ8wae.js} +5 -5
- package/build/server/chunks/{_server.ts-DWan6n03.js.map → _server.ts-CqsJ8wae.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ba9XjYRd.js → _server.ts-Cr3ByesR.js} +5 -5
- package/build/server/chunks/_server.ts-Cr3ByesR.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cs62GxYE.js → _server.ts-D-vCeexM.js} +5 -5
- package/build/server/chunks/_server.ts-D-vCeexM.js.map +1 -0
- package/build/server/chunks/{_server.ts-nzuxBifp.js → _server.ts-D0LGHfwk.js} +5 -5
- package/build/server/chunks/{_server.ts-nzuxBifp.js.map → _server.ts-D0LGHfwk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-kfLUsZiO.js → _server.ts-D2fUBbti.js} +5 -5
- package/build/server/chunks/{_server.ts-kfLUsZiO.js.map → _server.ts-D2fUBbti.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D58CNDu8.js → _server.ts-D4MxN356.js} +2 -2
- package/build/server/chunks/{_server.ts-D58CNDu8.js.map → _server.ts-D4MxN356.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmlWOD93.js → _server.ts-D5NudFEC.js} +6 -6
- package/build/server/chunks/{_server.ts-BmlWOD93.js.map → _server.ts-D5NudFEC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Yzrl5mD-.js → _server.ts-D5WKwbH6.js} +6 -6
- package/build/server/chunks/{_server.ts-Yzrl5mD-.js.map → _server.ts-D5WKwbH6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CUH3naAY.js → _server.ts-D6XsxcOL.js} +6 -6
- package/build/server/chunks/{_server.ts-CUH3naAY.js.map → _server.ts-D6XsxcOL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtkOMkr7.js → _server.ts-D6snuyug.js} +5 -5
- package/build/server/chunks/{_server.ts-BtkOMkr7.js.map → _server.ts-D6snuyug.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CgeiAKdV.js → _server.ts-D9jM-zYf.js} +5 -5
- package/build/server/chunks/{_server.ts-CgeiAKdV.js.map → _server.ts-D9jM-zYf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-NrXaVOq8.js → _server.ts-DD9BtnQo.js} +7 -7
- package/build/server/chunks/_server.ts-DD9BtnQo.js.map +1 -0
- package/build/server/chunks/{_server.ts-bPaUU6cX.js → _server.ts-DE3HYcqn.js} +5 -5
- package/build/server/chunks/{_server.ts-bPaUU6cX.js.map → _server.ts-DE3HYcqn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-u1wafOIS.js → _server.ts-DPgJ_FII.js} +5 -5
- package/build/server/chunks/{_server.ts-u1wafOIS.js.map → _server.ts-DPgJ_FII.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbI6rEYt.js → _server.ts-DTrKpzyY.js} +7 -7
- package/build/server/chunks/{_server.ts-DbI6rEYt.js.map → _server.ts-DTrKpzyY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DSJbBXMK.js → _server.ts-DV4E6jus.js} +5 -5
- package/build/server/chunks/{_server.ts-DSJbBXMK.js.map → _server.ts-DV4E6jus.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xSzkBuVc.js → _server.ts-DX2bpJhj.js} +5 -5
- package/build/server/chunks/_server.ts-DX2bpJhj.js.map +1 -0
- package/build/server/chunks/{_server.ts-CJBakoFV.js → _server.ts-DcjjRTuk.js} +5 -5
- package/build/server/chunks/{_server.ts-CJBakoFV.js.map → _server.ts-DcjjRTuk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-z-6hnUCv.js → _server.ts-DfrOqcLw.js} +5 -5
- package/build/server/chunks/{_server.ts-z-6hnUCv.js.map → _server.ts-DfrOqcLw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p06G7x-b.js → _server.ts-Dh7z60hJ.js} +5 -5
- package/build/server/chunks/{_server.ts-p06G7x-b.js.map → _server.ts-Dh7z60hJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdpBv_pL.js → _server.ts-Dii70IHB.js} +5 -5
- package/build/server/chunks/{_server.ts-BdpBv_pL.js.map → _server.ts-Dii70IHB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-91I7ynkH.js → _server.ts-Do1ZN3ik.js} +2 -2
- package/build/server/chunks/{_server.ts-91I7ynkH.js.map → _server.ts-Do1ZN3ik.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7Y7eqdw.js → _server.ts-Dohre8oq.js} +5 -5
- package/build/server/chunks/{_server.ts-C7Y7eqdw.js.map → _server.ts-Dohre8oq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DtftyqNM.js → _server.ts-Dp45LWzz.js} +5 -5
- package/build/server/chunks/{_server.ts-DtftyqNM.js.map → _server.ts-Dp45LWzz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cz7ADgFl.js → _server.ts-Dq9Rf2QT.js} +5 -5
- package/build/server/chunks/{_server.ts-Cz7ADgFl.js.map → _server.ts-Dq9Rf2QT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Daz7JGpW.js → _server.ts-DrkLSnQA.js} +8 -8
- package/build/server/chunks/{_server.ts-Daz7JGpW.js.map → _server.ts-DrkLSnQA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BBecKdll.js → _server.ts-DseFXx6h.js} +5 -5
- package/build/server/chunks/{_server.ts-BBecKdll.js.map → _server.ts-DseFXx6h.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BI2C6qUe.js → _server.ts-DuTNKVSD.js} +15 -7
- package/build/server/chunks/_server.ts-DuTNKVSD.js.map +1 -0
- package/build/server/chunks/{_server.ts-CIndR_iz.js → _server.ts-F1lZinPD.js} +5 -5
- package/build/server/chunks/_server.ts-F1lZinPD.js.map +1 -0
- package/build/server/chunks/{_server.ts-GZ5EYJAh.js → _server.ts-II_TqXR4.js} +5 -5
- package/build/server/chunks/{_server.ts-GZ5EYJAh.js.map → _server.ts-II_TqXR4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-GQs26Eo5.js → _server.ts-LfrSVvpe.js} +5 -5
- package/build/server/chunks/{_server.ts-GQs26Eo5.js.map → _server.ts-LfrSVvpe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2h6Okpv.js → _server.ts-MkkSU-Ac.js} +5 -5
- package/build/server/chunks/{_server.ts-C2h6Okpv.js.map → _server.ts-MkkSU-Ac.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGcrE6M7.js → _server.ts-ODKqhaDX.js} +5 -5
- package/build/server/chunks/_server.ts-ODKqhaDX.js.map +1 -0
- package/build/server/chunks/{_server.ts-CkJZABtl.js → _server.ts-ZCgDZEto.js} +5 -5
- package/build/server/chunks/{_server.ts-CkJZABtl.js.map → _server.ts-ZCgDZEto.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWTds10O.js → _server.ts-bWP8B_W9.js} +6 -6
- package/build/server/chunks/{_server.ts-CWTds10O.js.map → _server.ts-bWP8B_W9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPCcS7yj.js → _server.ts-doEXECUj.js} +5 -5
- package/build/server/chunks/_server.ts-doEXECUj.js.map +1 -0
- package/build/server/chunks/{_server.ts-LLv_O4kj.js → _server.ts-eGescw1n.js} +6 -6
- package/build/server/chunks/{_server.ts-LLv_O4kj.js.map → _server.ts-eGescw1n.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BpUM4_Zi.js → _server.ts-iFUG8d50.js} +5 -5
- package/build/server/chunks/{_server.ts-BpUM4_Zi.js.map → _server.ts-iFUG8d50.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBbsu7xm.js → _server.ts-liUR98Id.js} +5 -5
- package/build/server/chunks/{_server.ts-DBbsu7xm.js.map → _server.ts-liUR98Id.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrxxAVPm.js → _server.ts-rkzt0r-q.js} +2 -2
- package/build/server/chunks/_server.ts-rkzt0r-q.js.map +1 -0
- package/build/server/chunks/{_server.ts-VQhKGldS.js → _server.ts-uoojnzF7.js} +4 -4
- package/build/server/chunks/{_server.ts-VQhKGldS.js.map → _server.ts-uoojnzF7.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-66VnIGag.js → addon-helpers-D0ci-2fI.js} +3 -3
- package/build/server/chunks/addon-helpers-D0ci-2fI.js.map +1 -0
- package/build/server/chunks/{akm-CWrixfEU.js → akm-DSUFwfHT.js} +2 -2
- package/build/server/chunks/{akm-CWrixfEU.js.map → akm-DSUFwfHT.js.map} +1 -1
- package/build/server/chunks/{catalog-COqzRW3r.js → catalog-FV5L8Vb5.js} +5 -5
- package/build/server/chunks/{catalog-COqzRW3r.js.map → catalog-FV5L8Vb5.js.map} +1 -1
- package/build/server/chunks/{client-DM1VhaMs.js → client-CKQ-rMY8.js} +2 -2
- package/build/server/chunks/{client-DM1VhaMs.js.map → client-CKQ-rMY8.js.map} +1 -1
- package/build/server/chunks/{config-Db8mj1nW.js → config-Cto-_Sk-.js} +2 -2
- package/build/server/chunks/{config-Db8mj1nW.js.map → config-Cto-_Sk-.js.map} +1 -1
- package/build/server/chunks/{docker-D0cbFh2g.js → docker-N9OFlekP.js} +2 -2
- package/build/server/chunks/{docker-D0cbFh2g.js.map → docker-N9OFlekP.js.map} +1 -1
- package/build/server/chunks/{endpoints-CSJcyuQ5.js → endpoints-CZLzwKSe.js} +2 -2
- package/build/server/chunks/{endpoints-CSJcyuQ5.js.map → endpoints-CZLzwKSe.js.map} +1 -1
- package/build/server/chunks/{environment-Di_KLnnZ.js → environment-CPQfTi-2.js} +2 -2
- package/build/server/chunks/{environment-Di_KLnnZ.js.map → environment-CPQfTi-2.js.map} +1 -1
- package/build/server/chunks/{error.svelte-3KB3-NVK.js → error.svelte-D7Su22fk.js} +4 -4
- package/build/server/chunks/{error.svelte-3KB3-NVK.js.map → error.svelte-D7Su22fk.js.map} +1 -1
- package/build/server/chunks/{helpers-7s-OT4v_.js → helpers-BQN_GfNX.js} +3 -3
- package/build/server/chunks/{helpers-7s-OT4v_.js.map → helpers-BQN_GfNX.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DFXp6Fpb.js → hooks.server-CaTwUceN.js} +7 -7
- package/build/server/chunks/hooks.server-CaTwUceN.js.map +1 -0
- package/build/server/chunks/{http-BWePsoTg.js → http-jg3xKKrA.js} +2 -2
- package/build/server/chunks/{http-BWePsoTg.js.map → http-jg3xKKrA.js.map} +1 -1
- package/build/server/chunks/{internal-CMoDKelY.js → internal-BhlliPeJ.js} +3 -3
- package/build/server/chunks/{internal-CMoDKelY.js.map → internal-BhlliPeJ.js.map} +1 -1
- package/build/server/chunks/{migration-status-xL4GH9I1.js → migration-status-s4j5m70T.js} +2 -2
- package/build/server/chunks/{migration-status-xL4GH9I1.js.map → migration-status-s4j5m70T.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CjB6mIOV.js → session-cookie-DwScW3GM.js} +2 -2
- package/build/server/chunks/{session-cookie-CjB6mIOV.js.map → session-cookie-DwScW3GM.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-BxEUM8fd.js → setup-deploy-CjrxgHX7.js} +2 -2
- package/build/server/chunks/{setup-deploy-BxEUM8fd.js.map → setup-deploy-CjrxgHX7.js.map} +1 -1
- package/build/server/chunks/{src-DtWMUJLN.js → src-C-1qVAJa.js} +19 -12
- package/build/server/chunks/src-C-1qVAJa.js.map +1 -0
- package/build/server/chunks/{state-B9HoCQnp.js → state-bB0lw7NQ.js} +2 -2
- package/build/server/chunks/{state-B9HoCQnp.js.map → state-bB0lw7NQ.js.map} +1 -1
- package/build/server/chunks/{state2-B_F3w1a9.js → state2-enrfDTyM.js} +2 -2
- package/build/server/chunks/{state2-B_F3w1a9.js.map → state2-enrfDTyM.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +94 -94
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/0.iY5Na-jC.css.br +0 -0
- package/build/client/_app/immutable/assets/0.iY5Na-jC.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.S0ueu2e9.css +0 -1
- package/build/client/_app/immutable/assets/4.S0ueu2e9.css.br +0 -0
- package/build/client/_app/immutable/assets/4.S0ueu2e9.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BzioASK3.css +0 -1
- package/build/client/_app/immutable/assets/7.BzioASK3.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BzioASK3.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.DDPla6Cg.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.DDPla6Cg.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +0 -1
- 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/chunks/CAK5Edqg.js.br +0 -0
- package/build/client/_app/immutable/chunks/DO47CNbP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DO47CNbP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DYDX4LXd.js +0 -1
- package/build/client/_app/immutable/chunks/DYDX4LXd.js.br +0 -2
- package/build/client/_app/immutable/chunks/DYDX4LXd.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DjDrL9ap.js +0 -1
- package/build/client/_app/immutable/chunks/DjDrL9ap.js.br +0 -0
- package/build/client/_app/immutable/chunks/DjDrL9ap.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Drz9G_H2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Drz9G_H2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/sgaXYa0m.js.br +0 -0
- package/build/client/_app/immutable/chunks/sgaXYa0m.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.6md9OlJ2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.6md9OlJ2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B4TE50J5.js +0 -1
- package/build/client/_app/immutable/entry/start.B4TE50J5.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B4TE50J5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.MDxT-fmf.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.MDxT-fmf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CM0yndw4.js.br +0 -3
- package/build/client/_app/immutable/nodes/1.CM0yndw4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BfOOWhHl.js +0 -132
- package/build/client/_app/immutable/nodes/4.BfOOWhHl.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BfOOWhHl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.C9NIa29a.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.C9NIa29a.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.cqN5Stp1.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.cqN5Stp1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C9bMWAVS.js +0 -1
- package/build/client/_app/immutable/nodes/7.C9bMWAVS.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C9bMWAVS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DJBNOtRi.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DJBNOtRi.js.gz +0 -0
- package/build/server/chunks/1-DHLtH_NT.js +0 -9
- package/build/server/chunks/10-Cn2Dy7hl.js.map +0 -1
- package/build/server/chunks/4-CCp6hL3j.js +0 -9
- package/build/server/chunks/5-CHP_UBw9.js +0 -9
- package/build/server/chunks/6-CgkIqX20.js +0 -9
- package/build/server/chunks/7-BZlbBsX9.js +0 -9
- package/build/server/chunks/_page.svelte-CYV4wWfL.js.map +0 -1
- package/build/server/chunks/_page.svelte-CnKBwraZ.js.map +0 -1
- package/build/server/chunks/_server.ts-64CJ3e0t.js.map +0 -1
- package/build/server/chunks/_server.ts-B8SaErJq.js.map +0 -1
- package/build/server/chunks/_server.ts-BGcrE6M7.js.map +0 -1
- package/build/server/chunks/_server.ts-BHlzEfZF.js.map +0 -1
- package/build/server/chunks/_server.ts-BI2C6qUe.js.map +0 -1
- package/build/server/chunks/_server.ts-Ba9XjYRd.js.map +0 -1
- package/build/server/chunks/_server.ts-BhoSTBK-.js.map +0 -1
- package/build/server/chunks/_server.ts-ByX2JplS.js.map +0 -1
- package/build/server/chunks/_server.ts-CFm_Hd2O.js.map +0 -1
- package/build/server/chunks/_server.ts-CIndR_iz.js.map +0 -1
- package/build/server/chunks/_server.ts-CrxxAVPm.js.map +0 -1
- package/build/server/chunks/_server.ts-Cs62GxYE.js.map +0 -1
- package/build/server/chunks/_server.ts-CxsLly54.js.map +0 -1
- package/build/server/chunks/_server.ts-DPCcS7yj.js.map +0 -1
- package/build/server/chunks/_server.ts-DhDSn7j7.js.map +0 -1
- package/build/server/chunks/_server.ts-DxBcS53H.js.map +0 -1
- package/build/server/chunks/_server.ts-M-fzAyjj.js.map +0 -1
- package/build/server/chunks/_server.ts-NrXaVOq8.js.map +0 -1
- package/build/server/chunks/_server.ts-ZyzQPXeQ.js.map +0 -1
- package/build/server/chunks/_server.ts-xSzkBuVc.js.map +0 -1
- package/build/server/chunks/addon-helpers-66VnIGag.js.map +0 -1
- package/build/server/chunks/hooks.server-DFXp6Fpb.js.map +0 -1
- package/build/server/chunks/src-DtWMUJLN.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{B as e,H as t,V as n,at as r,nt as i,r as a,t as o,tt as s}from"./BBI__kVO.js";import{a as c,i as l,n as u,r as d,t as f}from"./CymRgjIC.js";new URL(`sveltekit-internal://`);function p(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function m(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function h({href:e}){return e.split(`#`)[0]}function g(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function _(){}function v(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var y=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&b.delete(x(e)),y(e,t));var b=new Map;function te(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&b.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=u(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ne(e,t,n){if(b.size>0){let t=x(e,n),r=b.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);b.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${v(...e)}"]`}return n}var S=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,re=/^\/\((?:.+)\)$/;function ie(e){let t=[];return{pattern:e===`/`||re.test(e)?/^\/$/:RegExp(`^${oe(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ce(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ce(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=S.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ce(e)}).join(``)}).join(``)}/?$`),params:t}}function ae(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function oe(e){return e.slice(1).split(`/`).filter(ae)}function se(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function ce(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function le({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ie(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return se(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ue(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function de(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var C=globalThis.__sveltekit_1s5abqd?.base??``,fe=globalThis.__sveltekit_1s5abqd?.assets??C??``,pe=`0.12.3`,me=`sveltekit:snapshot`,he=`sveltekit:scroll`,ge=`sveltekit:states`,w=`sveltekit:history`,T=`sveltekit:navigation`,E={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},D=location.origin;function _e(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function O(){return{x:pageXOffset,y:pageYOffset}}function k(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ve={...E,"":E.hover};function ye(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function be(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ye(e)}}function xe(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ee(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===D&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Se(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=k(s,`preload-code`)),i===null&&(i=k(s,`preload-data`)),t===null&&(t=k(s,`keepfocus`)),n===null&&(n=k(s,`noscroll`)),a===null&&(a=k(s,`reload`)),o===null&&(o=k(s,`replacestate`)),s=ye(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ve[r??`off`],preload_data:ve[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ce(e){let t=r(e),n=!0;function i(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:i,set:a,subscribe:o}}var we={v:_};function Te(){let{set:e,subscribe:t}=r(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${fe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==pe;return n&&(e(!0),we.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ee(e,t,n){return e.origin!==D||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function De(e){}var Oe=2**32-1,ke=Oe-1;function Ae(e){return!(!Number.isInteger(e)||e<0||e>ke)}function je(e){return!(!Number.isInteger(e)||e<0||e>Oe)}function Me(e){return Uint8Array.fromBase64(e).buffer}function Ne(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function Pe(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var Fe=typeof Uint8Array.fromBase64==`function`,Ie=typeof process==`object`&&process.versions?.node!==void 0,Le=Fe?Me:Ie?Ne:Pe;function Re(e,t){if(typeof e==`number`)return a(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let n=e,r=Array(n.length),i=null;function a(e,o=!1){if(e===-1)return;if(e===-3)return NaN;if(e===-4)return 1/0;if(e===-5)return-1/0;if(e===-6)return-0;if(o||typeof e!=`number`)throw Error(`Invalid input`);if(e in r)return r[e];let s=n[e];if(!s||typeof s!=`object`)r[e]=s;else if(Array.isArray(s))if(typeof s[0]==`string`){let o=s[0],c=t&&Object.hasOwn(t,o)?t[o]:void 0;if(c){let t=s[1];if(typeof t!=`number`&&(t=n.push(s[1])-1),i??=new Set,i.has(t))throw Error(`Invalid circular reference`);return i.add(t),r[e]=c(a(t)),i.delete(t),r[e]}switch(o){case`Date`:r[e]=new Date(s[1]);break;case`Set`:let t=new Set;r[e]=t;for(let e=1;e<s.length;e+=1)t.add(a(s[e]));break;case`Map`:let i=new Map;r[e]=i;for(let e=1;e<s.length;e+=2)i.set(a(s[e]),a(s[e+1]));break;case`RegExp`:r[e]=new RegExp(s[1],s[2]);break;case`Object`:{let t=s[1];if(typeof n[t]==`object`&&n[t][0]!==`BigInt`)throw Error(`Invalid input`);r[e]=Object(a(t));break}case`BigInt`:r[e]=BigInt(s[1]);break;case`null`:let c=Object.create(null);r[e]=c;for(let e=1;e<s.length;e+=2){if(s[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");c[s[e]]=a(s[e+1])}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(n[s[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=globalThis[o],i=a(s[1]);r[e]=s[2]===void 0?new t(i):new t(i,s[2],s[3]);break}case`ArrayBuffer`:{let t=s[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);r[e]=Le(t);break}case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:{let t=o.slice(9);r[e]=Temporal[t].from(s[1]);break}case`URL`:r[e]=new URL(s[1]);break;case`URLSearchParams`:r[e]=new URLSearchParams(s[1]);break;default:throw Error(`Unknown type ${o}`)}}else if(s[0]===-7){let t=s[1];if(!je(t))throw Error(`Invalid input`);let n=[];r[e]=n,n[ke]=void 0,delete n[ke];for(let e=2;e<s.length;e+=2){let r=s[e];if(!Ae(r)||r>=t)throw Error(`Invalid input`);n[r]=a(s[e+1])}n.length=t}else{let t=Array(s.length);r[e]=t;for(let e=0;e<s.length;e+=1){let n=s[e];n!==-2&&(t[e]=a(n))}}else{let t={};r[e]=t;for(let e of Object.keys(s)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");let n=s[e];t[e]=a(n)}}return r[e]}return a(0)}var ze=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...ze,`entries`]);var Be=new Set([...ze]);new Set([...Be,`actions`,`entries`]),new Set([`GET`,`POST`,`PATCH`,`PUT`,`DELETE`,`OPTIONS`,`HEAD`,`fallback`,`prerender`,`trailingSlash`,`config`,`entries`]);function Ve(e){return e.filter(e=>e!=null)}var He=`x-sveltekit-invalidated`,Ue=`x-sveltekit-trailing-slash`;function We(e,t){return e+`/`+t}function Ge(e){return e instanceof d||e instanceof c?e.status:500}function Ke(e){return e instanceof c?e.text:`Internal Error`}var A,j,M,qe=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Je=`a:`;qe?(A={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Je)},j={current:null},M={current:!1}):(A=new class{#e=i({});get data(){return e(this.#e)}set data(e){s(this.#e,e)}#t=i(null);get form(){return e(this.#t)}set form(e){s(this.#t,e)}#n=i(null);get error(){return e(this.#n)}set error(e){s(this.#n,e)}#r=i({});get params(){return e(this.#r)}set params(e){s(this.#r,e)}#i=i({id:null});get route(){return e(this.#i)}set route(e){s(this.#i,e)}#a=i({});get state(){return e(this.#a)}set state(e){s(this.#a,e)}#o=i(-1);get status(){return e(this.#o)}set status(e){s(this.#o,e)}#s=i(new URL(Je));get url(){return e(this.#s)}set url(e){s(this.#s,e)}},j=new class{#e=i(null);get current(){return e(this.#e)}set current(e){s(this.#e,e)}},M=new class{#e=i(!1);get current(){return e(this.#e)}set current(e){s(this.#e,e)}},we.v=()=>M.current=!0);function Ye(e){Object.assign(A,e)}var Xe={spanContext(){return Ze},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Ze={traceId:``,spanId:``,traceFlags:0};async function*Qe(e){let t=!1,n=``,r=new TextDecoder;for(;;){let i=n.indexOf(`
|
|
1
|
+
import{B as e,H as t,V as n,at as r,nt as i,r as a,t as o,tt as s}from"./BBI__kVO.js";import{a as c,i as l,n as u,r as d,t as f}from"./CymRgjIC.js";new URL(`sveltekit-internal://`);function p(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function m(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function h({href:e}){return e.split(`#`)[0]}function g(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function _(){}function v(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var y=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&b.delete(x(e)),y(e,t));var b=new Map;function te(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&b.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=u(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ne(e,t,n){if(b.size>0){let t=x(e,n),r=b.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);b.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${v(...e)}"]`}return n}var S=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,re=/^\/\((?:.+)\)$/;function ie(e){let t=[];return{pattern:e===`/`||re.test(e)?/^\/$/:RegExp(`^${oe(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ce(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ce(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=S.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ce(e)}).join(``)}).join(``)}/?$`),params:t}}function ae(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function oe(e){return e.slice(1).split(`/`).filter(ae)}function se(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function ce(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function le({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ie(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return se(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ue(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function de(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var C=globalThis.__sveltekit_1ohvf37?.base??``,fe=globalThis.__sveltekit_1ohvf37?.assets??C??``,pe=`0.12.5`,me=`sveltekit:snapshot`,he=`sveltekit:scroll`,ge=`sveltekit:states`,w=`sveltekit:history`,T=`sveltekit:navigation`,E={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},D=location.origin;function _e(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function O(){return{x:pageXOffset,y:pageYOffset}}function k(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ve={...E,"":E.hover};function ye(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function be(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ye(e)}}function xe(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ee(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===D&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Se(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=k(s,`preload-code`)),i===null&&(i=k(s,`preload-data`)),t===null&&(t=k(s,`keepfocus`)),n===null&&(n=k(s,`noscroll`)),a===null&&(a=k(s,`reload`)),o===null&&(o=k(s,`replacestate`)),s=ye(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ve[r??`off`],preload_data:ve[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ce(e){let t=r(e),n=!0;function i(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:i,set:a,subscribe:o}}var we={v:_};function Te(){let{set:e,subscribe:t}=r(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${fe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==pe;return n&&(e(!0),we.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ee(e,t,n){return e.origin!==D||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function De(e){}var Oe=2**32-1,ke=Oe-1;function Ae(e){return!(!Number.isInteger(e)||e<0||e>ke)}function je(e){return!(!Number.isInteger(e)||e<0||e>Oe)}function Me(e){return Uint8Array.fromBase64(e).buffer}function Ne(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function Pe(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var Fe=typeof Uint8Array.fromBase64==`function`,Ie=typeof process==`object`&&process.versions?.node!==void 0,Le=Fe?Me:Ie?Ne:Pe;function Re(e,t){if(typeof e==`number`)return a(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let n=e,r=Array(n.length),i=null;function a(e,o=!1){if(e===-1)return;if(e===-3)return NaN;if(e===-4)return 1/0;if(e===-5)return-1/0;if(e===-6)return-0;if(o||typeof e!=`number`)throw Error(`Invalid input`);if(e in r)return r[e];let s=n[e];if(!s||typeof s!=`object`)r[e]=s;else if(Array.isArray(s))if(typeof s[0]==`string`){let o=s[0],c=t&&Object.hasOwn(t,o)?t[o]:void 0;if(c){let t=s[1];if(typeof t!=`number`&&(t=n.push(s[1])-1),i??=new Set,i.has(t))throw Error(`Invalid circular reference`);return i.add(t),r[e]=c(a(t)),i.delete(t),r[e]}switch(o){case`Date`:r[e]=new Date(s[1]);break;case`Set`:let t=new Set;r[e]=t;for(let e=1;e<s.length;e+=1)t.add(a(s[e]));break;case`Map`:let i=new Map;r[e]=i;for(let e=1;e<s.length;e+=2)i.set(a(s[e]),a(s[e+1]));break;case`RegExp`:r[e]=new RegExp(s[1],s[2]);break;case`Object`:{let t=s[1];if(typeof n[t]==`object`&&n[t][0]!==`BigInt`)throw Error(`Invalid input`);r[e]=Object(a(t));break}case`BigInt`:r[e]=BigInt(s[1]);break;case`null`:let c=Object.create(null);r[e]=c;for(let e=1;e<s.length;e+=2){if(s[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");c[s[e]]=a(s[e+1])}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(n[s[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=globalThis[o],i=a(s[1]);r[e]=s[2]===void 0?new t(i):new t(i,s[2],s[3]);break}case`ArrayBuffer`:{let t=s[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);r[e]=Le(t);break}case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:{let t=o.slice(9);r[e]=Temporal[t].from(s[1]);break}case`URL`:r[e]=new URL(s[1]);break;case`URLSearchParams`:r[e]=new URLSearchParams(s[1]);break;default:throw Error(`Unknown type ${o}`)}}else if(s[0]===-7){let t=s[1];if(!je(t))throw Error(`Invalid input`);let n=[];r[e]=n,n[ke]=void 0,delete n[ke];for(let e=2;e<s.length;e+=2){let r=s[e];if(!Ae(r)||r>=t)throw Error(`Invalid input`);n[r]=a(s[e+1])}n.length=t}else{let t=Array(s.length);r[e]=t;for(let e=0;e<s.length;e+=1){let n=s[e];n!==-2&&(t[e]=a(n))}}else{let t={};r[e]=t;for(let e of Object.keys(s)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");let n=s[e];t[e]=a(n)}}return r[e]}return a(0)}var ze=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...ze,`entries`]);var Be=new Set([...ze]);new Set([...Be,`actions`,`entries`]),new Set([`GET`,`POST`,`PATCH`,`PUT`,`DELETE`,`OPTIONS`,`HEAD`,`fallback`,`prerender`,`trailingSlash`,`config`,`entries`]);function Ve(e){return e.filter(e=>e!=null)}var He=`x-sveltekit-invalidated`,Ue=`x-sveltekit-trailing-slash`;function We(e,t){return e+`/`+t}function Ge(e){return e instanceof d||e instanceof c?e.status:500}function Ke(e){return e instanceof c?e.text:`Internal Error`}var A,j,M,qe=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Je=`a:`;qe?(A={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Je)},j={current:null},M={current:!1}):(A=new class{#e=i({});get data(){return e(this.#e)}set data(e){s(this.#e,e)}#t=i(null);get form(){return e(this.#t)}set form(e){s(this.#t,e)}#n=i(null);get error(){return e(this.#n)}set error(e){s(this.#n,e)}#r=i({});get params(){return e(this.#r)}set params(e){s(this.#r,e)}#i=i({id:null});get route(){return e(this.#i)}set route(e){s(this.#i,e)}#a=i({});get state(){return e(this.#a)}set state(e){s(this.#a,e)}#o=i(-1);get status(){return e(this.#o)}set status(e){s(this.#o,e)}#s=i(new URL(Je));get url(){return e(this.#s)}set url(e){s(this.#s,e)}},j=new class{#e=i(null);get current(){return e(this.#e)}set current(e){s(this.#e,e)}},M=new class{#e=i(!1);get current(){return e(this.#e)}set current(e){s(this.#e,e)}},we.v=()=>M.current=!0);function Ye(e){Object.assign(A,e)}var Xe={spanContext(){return Ze},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Ze={traceId:``,spanId:``,traceFlags:0};async function*Qe(e){let t=!1,n=``,r=new TextDecoder;for(;;){let i=n.indexOf(`
|
|
2
2
|
`);for(;i!==-1;){let e=n.slice(0,i).trim();n=n.slice(i+1),e&&(yield JSON.parse(e)),i=n.indexOf(`
|
|
3
|
-
`)}if(t){let e=n.trim();e&&(yield JSON.parse(e));return}let a=await e.read();t=a.done,a.value&&(n+=r.decode(a.value,{stream:!0})),t&&(n+=r.decode())}}var{onMount:$e,tick:et}=o,tt=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=ue(`sveltekit:scroll`)??{},F=ue(`sveltekit:snapshot`)??{},I={url:Ce({}),page:Ce({}),navigating:r(null),updated:Te()};function nt(e){P[e]=O()}function rt(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function L(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(_)}async function it(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(C||`/`);e&&await e.update()}}var at,ot,R,z,st,B,V=[],H=[],U=null;function ct(){U?.fork?.then(e=>e?.discard()),U=null}var lt=new Map,ut=new Set,dt=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},ft=!1,pt=!1,mt=!0,K=!1,q=!1,ht=!1,gt=!1,_t,J,Y,X,Z=new Set,vt=new Map,yt=new Map;async function bt(e,t,n){globalThis.__sveltekit_1s5abqd&&(globalThis.__sveltekit_1s5abqd.query,globalThis.__sveltekit_1s5abqd.prerender),document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),at=le(e),z=document.documentElement,st=t,ot=e.nodes[0],R=e.nodes[1],ot(),R(),J=history.state?.[w],Y=history.state?.[T],J||(J=Y=Date.now(),history.replaceState({...history.state,[w]:J,[T]:Y},``));let r=P[J];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Zt(st,n)):(await Q({type:`enter`,url:_e(B.hash?an(new URL(location.href)):location.href),replace_state:!0}),i()),Xt()}function xt(){V.length=0,gt=!1}function St(e){H.some(e=>e?.snapshot)&&(F[e]=H.map(e=>e?.snapshot?.capture()))}function Ct(e){F[e]?.forEach((e,t)=>{H[t]?.snapshot?.restore(e)})}function wt(){nt(J),de(he,P),St(Y),de(me,F)}async function Tt(e,n,r,i){let a,o;n.invalidateAll&&ct(),await Q({type:`goto`,url:_e(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){gt=!0,a=new Set;for(let[e,t]of vt)for(let n of t.keys())a.add(We(e,n));o=new Set;for(let[e,t]of yt)for(let n of t.keys())o.add(We(e,n))}n.invalidate&&n.invalidate.forEach(Yt)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of vt)for(let[n,{resource:r}]of t)a?.has(We(e,n))&&r.refresh();for(let[e,t]of yt)for(let[n,{resource:r}]of t)o?.has(We(e,n))&&r.reconnect()})}async function Et(e){if(e.id!==U?.id){ct();let t={};Z.add(t),U={id:e.id,token:t,promise:It({...e,preload:t}).then(e=>(Z.delete(t),e.type===`loaded`&&e.state.error&&ct(),e)),fork:null}}return U.promise}async function Dt(e){let t=(await Bt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function Ot(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};if(G={...e.state,nav:r},Ye(e.props.page),_t=new B.root({target:t,props:{...e.props,stores:I,components:H},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ct(Y),n){let e={from:null,to:{...r,scroll:P[J]??O()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}pt=!0}async function kt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(C&&(e.pathname===C||e.pathname===C+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=p(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ve(n).map(e=>e.node.component),page:rn(A)}};s!==void 0&&(l.props.form=s);let u={},d=!A,f=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${f}`]=u),f+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==A.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:A.data}),l}async function At({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Xe,current:Xe},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:g(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},B.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=jt(t,r,n);return s&&e(i.href),a},setHeaders:_,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function jt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:pt?ne(r,i.href,t):te(r,t)}}function Mt(e,t,n,r,i,a){if(gt)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(V.some(t=>t(new URL(e))))return!0;return!1}function Nt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Pt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Ft({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:rn(A),constructors:[]}}}async function It({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(U?.id===e)return Z.delete(U.token),U.promise;let{errors:o,layouts:s,leaf:c}=i,u=[...s,c];o.forEach(e=>e?.().catch(_)),u.forEach(e=>e?.[1]().catch(_));let f=null,p=G.url?e!==Ht(G.url):!1,m=G.route?i.id!==G.route.id:!1,ee=Pt(G.url,n),h=!1;{let t=u.map((e,t)=>{let n=G.branch[t],i=!!e?.[0]&&(n?.loader!==e[1]||Mt(h,m,p,ee,n.server?.uses,r));return i&&(h=!0),i});if(t.some(Boolean)){try{f=await Qt(n,t)}catch(t){let o=await $(t,{url:n,params:r,route:{id:e}});return Z.has(a)?Ft({error:o,url:n,params:r,route:i}):Rt({status:Ge(t),error:o,url:n,route:i})}if(f.type===`redirect`)return f}}let g=f?.nodes,v=!1,y=u.map(async(e,t)=>{if(!e)return;let a=G.branch[t],o=g?.[t];if((!o||o.type===`skip`)&&e[1]===a?.loader&&!Mt(v,m,p,ee,a.universal?.uses,r))return a;if(v=!0,o?.type===`error`)throw o;return At({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await y[n])?.data);return e},server_data_node:Nt(o===void 0&&e[0]?{type:`skip`}:o??null,e[0]?a?.server:void 0)})});for(let e of y)e.catch(_);let b=[];for(let e=0;e<u.length;e+=1)if(u[e])try{b.push(await y[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(Z.has(a))return Ft({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Ge(t),c;if(g?.includes(t))s=t.status??s,c=t.error;else if(t instanceof d)c=t.body;else{if(await I.updated.check())return await it(),await L(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let u=await Lt(e,b,o);return u?kt({url:n,params:r,branch:b.slice(0,u.idx).concat(u.node),errors:o,status:s,error:c,route:i}):await Wt(n,{id:i.id},c,s)}else b.push(void 0);return kt({url:n,params:r,branch:b,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Lt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Rt({status:e,error:t,url:n,route:r}){let i={},a=null;if(B.server_loads[0]===0)try{let e=await Qt(n,[!0]);if(e.type!==`data`||e.nodes[0]&&e.nodes[0].type!==`data`)throw 0;a=e.nodes[0]??null}catch{(n.origin!==D||n.pathname!==location.pathname||ft)&&await L(n)}try{return kt({url:n,params:i,branch:[await At({loader:ot,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Nt(a)}),{node:await R(),loader:R,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof l)return Tt(new URL(e.location,location.href),{},0);throw e}}async function zt(e){let t=e.href;if(lt.has(t))return lt.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>jt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();lt.set(t,r),n=await r}catch{lt.delete(t);return}return n}async function Bt(e,t){if(e&&!Ee(e,C,B.hash)){let n=await zt(e);if(!n)return;let r=Vt(n);for(let n of at){let i=n.exec(r);if(i)return{id:Ht(e),invalidating:t,route:n,params:ee(i),url:e}}}}function Vt(e){return m(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(C.length))||`/`}function Ht(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Ut({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=nn(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return K||ut.forEach(e=>e(c)),o?null:s}async function Q({type:e,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l={},redirect_count:u=0,nav_token:d={},accept:f=_,block:p=_,event:m}){let ee=X;X=d;let h=await Bt(r,!1),g=e===`enter`?nn(G,h,r,e):Ut({url:r,type:e,delta:i?.delta,intent:h,scroll:i?.scroll,event:m});if(!g){p(),X===d&&(X=ee);return}let v=J,y=Y;f(),K=!0,pt&&g.navigation.type!==`enter`&&I.navigating.set(j.current=g.navigation);let b=h&&await It(h);if(!b){if(Ee(r,C,B.hash))return await L(r,s);b=await Wt(r,{id:null},await $(new c(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,X!==d)return g.reject(Error(`navigation aborted`)),!1;if(b.type===`redirect`){if(u<20){await Q({type:e,url:new URL(b.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l,redirect_count:u+1,nav_token:d}),g.fulfil(void 0);return}b=await Rt({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}})}else b.props.page.status>=400&&await I.updated.check()&&(await it(),await L(r,s));if(xt(),nt(v),St(y),b.props.page.url.pathname!==r.pathname&&(r.pathname=b.props.page.url.pathname),l=i?i.state:l,!i){let e=+!s,t={[w]:J+=e,[T]:Y+=e,[ge]:l};(s?history.replaceState:history.pushState).call(history,t,``,r),s||rt(J,Y)}let te=h&&U?.id===h.id?U.fork:null;U?.fork&&!te&&ct(),U=null,b.props.page.state=l;let ne;if(pt){let e=(await Promise.all(Array.from(dt,e=>e(g.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let t=g.navigation.to;G={...b.state,nav:{params:t.params,route:t.route,url:t.url}},b.props.page&&(b.props.page.url=r);let i=te&&await te;i?ne=i.commit():(N=null,_t.$set(b.props),N&&Object.assign(b.props.page,N),Ye(b.props.page),ne=n?.()),ht=!0}else await Ot(b,st,!1);let{activeElement:x}=document;if(await ne,await t(),await t(),X!==d)return g.reject(Error(`navigation aborted`)),!1;b.props.page&&N&&Object.assign(b.props.page,N);let S=null;if(mt){let e=i?i.scroll:o?O():null;e?scrollTo(e.x,e.y):(S=r.hash&&document.getElementById(on(r)))?S.scrollIntoView():scrollTo(0,0)}let re=document.activeElement!==x&&document.activeElement!==document.body;!a&&!re&&tn(r,!S),mt=!0,K=!1,e===`popstate`&&Ct(Y),g.fulfil(void 0),g.navigation.to&&(g.navigation.to.scroll=O()),W.forEach(e=>e(g.navigation)),I.navigating.set(j.current=null)}async function Wt(e,t,n,r,i){return e.origin===D&&e.pathname===location.pathname&&!ft?await Rt({status:r,error:n,url:e,route:t}):await L(e,i)}function Gt(){let e,t={element:void 0,href:void 0},n;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,E.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],E.tap)}z.addEventListener(`mousedown`,r),z.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Dt(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=be(e,z),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=xe(i,C,B.hash);if(s||c)return;let l=Se(i),u=o&&Ht(G.url)===Ht(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=E.tap;let e=await Bt(o,!1);if(!e)return;Et(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,Dt(o))}function o(){i.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:r}=xe(e,C,B.hash);if(n||r)continue;let a=Se(e);a.reload||(a.preload_code===E.viewport&&i.observe(e),a.preload_code===E.eager&&Dt(t))}}W.add(o),o()}function $(e,t){if(e instanceof d)return e.body;let n=Ge(e),r=Ke(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Kt(e,t){$e(()=>(e.add(t),()=>{e.delete(t)}))}function qt(e){Kt(W,e)}function Jt(e,t={}){return e=new URL(_e(e)),e.origin===D?Tt(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Yt(e){if(typeof e==`function`)V.push(e);else{let{href:t}=new URL(e,location.href);V.push(e=>e.href===t)}}function Xt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(wt(),!K){let e=nn(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};ut.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&wt()}),!navigator.connection?.saveData&&!/2g/.test(navigator.connection?.effectiveType)&&Gt(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=be(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=xe(n,C,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Se(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===h(location);if(i||s.reload&&(!u||!l)){Ut({url:r,type:`link`,event:t})?K=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(q=!0,nt(J),e(r),!s.replace_state)return;q=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ee(r,C,!1))return;let i=e.target,a=Se(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!en)if(t.state?.[`sveltekit:history`]){let n=t.state[w];if(X={},n===J)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[T],s=G.url?h(location)===h(G.url):!1;if(o===Y&&(ht||s)){i!==A.state&&(A.state=i),e(a),P[J]=O(),r&&scrollTo(r.x,r.y),J=n;return}let c=n-J;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{J=n,Y=o},block:()=>{history.go(-c)},nav_token:X,event:t})}else q||(e(new URL(location.href)),B.hash&&location.reload())}),addEventListener(`hashchange`,()=>{q&&(q=!1,history.replaceState({...history.state,[w]:++J,[T]:Y},``,location.href))});for(let e of document.querySelectorAll(`link`))tt.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(j.current=null)});function e(e){G.url=A.url=e,I.page.set(rn(A)),I.page.notify()}}async function Zt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){ft=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await Bt(u,!1)||{}),d=at.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=$t(r.uses)),At({loader:B.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Nt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await kt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l){await L(new URL(t.location,location.href));return}f=await Rt({status:Ge(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await Ot(f,e,p)}async function Qt(e,t){let n=new URL(e);n.pathname=f(e.pathname),e.pathname.endsWith(`/`)&&n.searchParams.append(Ue,`1`),n.searchParams.append(He,t.map(e=>e?`1`:`0`).join(``));let r=await(0,window.fetch)(n.href,{});if(!r.ok){let e;throw r.headers.get(`content-type`)?.includes(`application/json`)?e=await r.json():r.status===404?e=`Not Found`:r.status===500&&(e=`Internal Error`),new d(r.status,e)}return new Promise(async e=>{let t=new Map,n=r.body.getReader();function i(e){return Re(e,{...B.decoders,Promise:e=>new Promise((n,r)=>{t.set(e,{fulfil:n,reject:r})})})}for await(let r of Qe(n)){if(r.type===`redirect`)return e(r);if(r.type===`data`)r.nodes?.forEach(e=>{e?.type===`data`&&(e.uses=$t(e.uses),e.data=i(e.data))}),e(r);else if(r.type===`chunk`){let{id:e,data:n,error:a}=r,o=t.get(e);t.delete(e),a?o.reject(i(a)):o.fulfil(i(n))}}})}function $t(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var en=!1;function tn(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=on(e);if(n&&document.getElementById(n)){let{x:r,y:i}=O();setTimeout(()=>{let a=history.state;en=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),en=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function nn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(_),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:O()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function rn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function an(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function on(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{j as a,De as c,I as i,pe as l,Jt as n,A as o,bt as r,M as s,qt as t};
|
|
3
|
+
`)}if(t){let e=n.trim();e&&(yield JSON.parse(e));return}let a=await e.read();t=a.done,a.value&&(n+=r.decode(a.value,{stream:!0})),t&&(n+=r.decode())}}var{onMount:$e,tick:et}=o,tt=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=ue(`sveltekit:scroll`)??{},F=ue(`sveltekit:snapshot`)??{},I={url:Ce({}),page:Ce({}),navigating:r(null),updated:Te()};function nt(e){P[e]=O()}function rt(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function L(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(_)}async function it(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(C||`/`);e&&await e.update()}}var at,ot,R,z,st,B,V=[],H=[],U=null;function ct(){U?.fork?.then(e=>e?.discard()),U=null}var lt=new Map,ut=new Set,dt=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},ft=!1,pt=!1,mt=!0,K=!1,q=!1,ht=!1,gt=!1,_t,J,Y,X,Z=new Set,vt=new Map,yt=new Map;async function bt(e,t,n){globalThis.__sveltekit_1ohvf37&&(globalThis.__sveltekit_1ohvf37.query,globalThis.__sveltekit_1ohvf37.prerender),document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),at=le(e),z=document.documentElement,st=t,ot=e.nodes[0],R=e.nodes[1],ot(),R(),J=history.state?.[w],Y=history.state?.[T],J||(J=Y=Date.now(),history.replaceState({...history.state,[w]:J,[T]:Y},``));let r=P[J];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Zt(st,n)):(await Q({type:`enter`,url:_e(B.hash?an(new URL(location.href)):location.href),replace_state:!0}),i()),Xt()}function xt(){V.length=0,gt=!1}function St(e){H.some(e=>e?.snapshot)&&(F[e]=H.map(e=>e?.snapshot?.capture()))}function Ct(e){F[e]?.forEach((e,t)=>{H[t]?.snapshot?.restore(e)})}function wt(){nt(J),de(he,P),St(Y),de(me,F)}async function Tt(e,n,r,i){let a,o;n.invalidateAll&&ct(),await Q({type:`goto`,url:_e(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){gt=!0,a=new Set;for(let[e,t]of vt)for(let n of t.keys())a.add(We(e,n));o=new Set;for(let[e,t]of yt)for(let n of t.keys())o.add(We(e,n))}n.invalidate&&n.invalidate.forEach(Yt)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of vt)for(let[n,{resource:r}]of t)a?.has(We(e,n))&&r.refresh();for(let[e,t]of yt)for(let[n,{resource:r}]of t)o?.has(We(e,n))&&r.reconnect()})}async function Et(e){if(e.id!==U?.id){ct();let t={};Z.add(t),U={id:e.id,token:t,promise:It({...e,preload:t}).then(e=>(Z.delete(t),e.type===`loaded`&&e.state.error&&ct(),e)),fork:null}}return U.promise}async function Dt(e){let t=(await Bt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function Ot(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};if(G={...e.state,nav:r},Ye(e.props.page),_t=new B.root({target:t,props:{...e.props,stores:I,components:H},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ct(Y),n){let e={from:null,to:{...r,scroll:P[J]??O()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}pt=!0}async function kt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(C&&(e.pathname===C||e.pathname===C+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=p(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ve(n).map(e=>e.node.component),page:rn(A)}};s!==void 0&&(l.props.form=s);let u={},d=!A,f=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${f}`]=u),f+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==A.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:A.data}),l}async function At({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Xe,current:Xe},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:g(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},B.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=jt(t,r,n);return s&&e(i.href),a},setHeaders:_,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function jt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:pt?ne(r,i.href,t):te(r,t)}}function Mt(e,t,n,r,i,a){if(gt)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(V.some(t=>t(new URL(e))))return!0;return!1}function Nt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Pt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Ft({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:rn(A),constructors:[]}}}async function It({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(U?.id===e)return Z.delete(U.token),U.promise;let{errors:o,layouts:s,leaf:c}=i,u=[...s,c];o.forEach(e=>e?.().catch(_)),u.forEach(e=>e?.[1]().catch(_));let f=null,p=G.url?e!==Ht(G.url):!1,m=G.route?i.id!==G.route.id:!1,ee=Pt(G.url,n),h=!1;{let t=u.map((e,t)=>{let n=G.branch[t],i=!!e?.[0]&&(n?.loader!==e[1]||Mt(h,m,p,ee,n.server?.uses,r));return i&&(h=!0),i});if(t.some(Boolean)){try{f=await Qt(n,t)}catch(t){let o=await $(t,{url:n,params:r,route:{id:e}});return Z.has(a)?Ft({error:o,url:n,params:r,route:i}):Rt({status:Ge(t),error:o,url:n,route:i})}if(f.type===`redirect`)return f}}let g=f?.nodes,v=!1,y=u.map(async(e,t)=>{if(!e)return;let a=G.branch[t],o=g?.[t];if((!o||o.type===`skip`)&&e[1]===a?.loader&&!Mt(v,m,p,ee,a.universal?.uses,r))return a;if(v=!0,o?.type===`error`)throw o;return At({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await y[n])?.data);return e},server_data_node:Nt(o===void 0&&e[0]?{type:`skip`}:o??null,e[0]?a?.server:void 0)})});for(let e of y)e.catch(_);let b=[];for(let e=0;e<u.length;e+=1)if(u[e])try{b.push(await y[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(Z.has(a))return Ft({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Ge(t),c;if(g?.includes(t))s=t.status??s,c=t.error;else if(t instanceof d)c=t.body;else{if(await I.updated.check())return await it(),await L(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let u=await Lt(e,b,o);return u?kt({url:n,params:r,branch:b.slice(0,u.idx).concat(u.node),errors:o,status:s,error:c,route:i}):await Wt(n,{id:i.id},c,s)}else b.push(void 0);return kt({url:n,params:r,branch:b,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Lt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Rt({status:e,error:t,url:n,route:r}){let i={},a=null;if(B.server_loads[0]===0)try{let e=await Qt(n,[!0]);if(e.type!==`data`||e.nodes[0]&&e.nodes[0].type!==`data`)throw 0;a=e.nodes[0]??null}catch{(n.origin!==D||n.pathname!==location.pathname||ft)&&await L(n)}try{return kt({url:n,params:i,branch:[await At({loader:ot,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Nt(a)}),{node:await R(),loader:R,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof l)return Tt(new URL(e.location,location.href),{},0);throw e}}async function zt(e){let t=e.href;if(lt.has(t))return lt.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>jt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();lt.set(t,r),n=await r}catch{lt.delete(t);return}return n}async function Bt(e,t){if(e&&!Ee(e,C,B.hash)){let n=await zt(e);if(!n)return;let r=Vt(n);for(let n of at){let i=n.exec(r);if(i)return{id:Ht(e),invalidating:t,route:n,params:ee(i),url:e}}}}function Vt(e){return m(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(C.length))||`/`}function Ht(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Ut({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=nn(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return K||ut.forEach(e=>e(c)),o?null:s}async function Q({type:e,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l={},redirect_count:u=0,nav_token:d={},accept:f=_,block:p=_,event:m}){let ee=X;X=d;let h=await Bt(r,!1),g=e===`enter`?nn(G,h,r,e):Ut({url:r,type:e,delta:i?.delta,intent:h,scroll:i?.scroll,event:m});if(!g){p(),X===d&&(X=ee);return}let v=J,y=Y;f(),K=!0,pt&&g.navigation.type!==`enter`&&I.navigating.set(j.current=g.navigation);let b=h&&await It(h);if(!b){if(Ee(r,C,B.hash))return await L(r,s);b=await Wt(r,{id:null},await $(new c(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,X!==d)return g.reject(Error(`navigation aborted`)),!1;if(b.type===`redirect`){if(u<20){await Q({type:e,url:new URL(b.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:l,redirect_count:u+1,nav_token:d}),g.fulfil(void 0);return}b=await Rt({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}})}else b.props.page.status>=400&&await I.updated.check()&&(await it(),await L(r,s));if(xt(),nt(v),St(y),b.props.page.url.pathname!==r.pathname&&(r.pathname=b.props.page.url.pathname),l=i?i.state:l,!i){let e=+!s,t={[w]:J+=e,[T]:Y+=e,[ge]:l};(s?history.replaceState:history.pushState).call(history,t,``,r),s||rt(J,Y)}let te=h&&U?.id===h.id?U.fork:null;U?.fork&&!te&&ct(),U=null,b.props.page.state=l;let ne;if(pt){let e=(await Promise.all(Array.from(dt,e=>e(g.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let t=g.navigation.to;G={...b.state,nav:{params:t.params,route:t.route,url:t.url}},b.props.page&&(b.props.page.url=r);let i=te&&await te;i?ne=i.commit():(N=null,_t.$set(b.props),N&&Object.assign(b.props.page,N),Ye(b.props.page),ne=n?.()),ht=!0}else await Ot(b,st,!1);let{activeElement:x}=document;if(await ne,await t(),await t(),X!==d)return g.reject(Error(`navigation aborted`)),!1;b.props.page&&N&&Object.assign(b.props.page,N);let S=null;if(mt){let e=i?i.scroll:o?O():null;e?scrollTo(e.x,e.y):(S=r.hash&&document.getElementById(on(r)))?S.scrollIntoView():scrollTo(0,0)}let re=document.activeElement!==x&&document.activeElement!==document.body;!a&&!re&&tn(r,!S),mt=!0,K=!1,e===`popstate`&&Ct(Y),g.fulfil(void 0),g.navigation.to&&(g.navigation.to.scroll=O()),W.forEach(e=>e(g.navigation)),I.navigating.set(j.current=null)}async function Wt(e,t,n,r,i){return e.origin===D&&e.pathname===location.pathname&&!ft?await Rt({status:r,error:n,url:e,route:t}):await L(e,i)}function Gt(){let e,t={element:void 0,href:void 0},n;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,E.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],E.tap)}z.addEventListener(`mousedown`,r),z.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Dt(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=be(e,z),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=xe(i,C,B.hash);if(s||c)return;let l=Se(i),u=o&&Ht(G.url)===Ht(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=E.tap;let e=await Bt(o,!1);if(!e)return;Et(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,Dt(o))}function o(){i.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:r}=xe(e,C,B.hash);if(n||r)continue;let a=Se(e);a.reload||(a.preload_code===E.viewport&&i.observe(e),a.preload_code===E.eager&&Dt(t))}}W.add(o),o()}function $(e,t){if(e instanceof d)return e.body;let n=Ge(e),r=Ke(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Kt(e,t){$e(()=>(e.add(t),()=>{e.delete(t)}))}function qt(e){Kt(W,e)}function Jt(e,t={}){return e=new URL(_e(e)),e.origin===D?Tt(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Yt(e){if(typeof e==`function`)V.push(e);else{let{href:t}=new URL(e,location.href);V.push(e=>e.href===t)}}function Xt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(wt(),!K){let e=nn(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};ut.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&wt()}),!navigator.connection?.saveData&&!/2g/.test(navigator.connection?.effectiveType)&&Gt(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=be(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=xe(n,C,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Se(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===h(location);if(i||s.reload&&(!u||!l)){Ut({url:r,type:`link`,event:t})?K=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(q=!0,nt(J),e(r),!s.replace_state)return;q=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ee(r,C,!1))return;let i=e.target,a=Se(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!en)if(t.state?.[`sveltekit:history`]){let n=t.state[w];if(X={},n===J)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[T],s=G.url?h(location)===h(G.url):!1;if(o===Y&&(ht||s)){i!==A.state&&(A.state=i),e(a),P[J]=O(),r&&scrollTo(r.x,r.y),J=n;return}let c=n-J;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{J=n,Y=o},block:()=>{history.go(-c)},nav_token:X,event:t})}else q||(e(new URL(location.href)),B.hash&&location.reload())}),addEventListener(`hashchange`,()=>{q&&(q=!1,history.replaceState({...history.state,[w]:++J,[T]:Y},``,location.href))});for(let e of document.querySelectorAll(`link`))tt.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(j.current=null)});function e(e){G.url=A.url=e,I.page.set(rn(A)),I.page.notify()}}async function Zt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){ft=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await Bt(u,!1)||{}),d=at.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=$t(r.uses)),At({loader:B.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Nt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await kt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l){await L(new URL(t.location,location.href));return}f=await Rt({status:Ge(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await Ot(f,e,p)}async function Qt(e,t){let n=new URL(e);n.pathname=f(e.pathname),e.pathname.endsWith(`/`)&&n.searchParams.append(Ue,`1`),n.searchParams.append(He,t.map(e=>e?`1`:`0`).join(``));let r=await(0,window.fetch)(n.href,{});if(!r.ok){let e;throw r.headers.get(`content-type`)?.includes(`application/json`)?e=await r.json():r.status===404?e=`Not Found`:r.status===500&&(e=`Internal Error`),new d(r.status,e)}return new Promise(async e=>{let t=new Map,n=r.body.getReader();function i(e){return Re(e,{...B.decoders,Promise:e=>new Promise((n,r)=>{t.set(e,{fulfil:n,reject:r})})})}for await(let r of Qe(n)){if(r.type===`redirect`)return e(r);if(r.type===`data`)r.nodes?.forEach(e=>{e?.type===`data`&&(e.uses=$t(e.uses),e.data=i(e.data))}),e(r);else if(r.type===`chunk`){let{id:e,data:n,error:a}=r,o=t.get(e);t.delete(e),a?o.reject(i(a)):o.fulfil(i(n))}}})}function $t(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var en=!1;function tn(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=on(e);if(n&&document.getElementById(n)){let{x:r,y:i}=O();setTimeout(()=>{let a=history.state;en=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),en=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function nn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(_),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:O()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function rn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function an(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function on(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{j as a,De as c,I as i,pe as l,Jt as n,A as o,bt as r,M as s,qt as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,C as r,E as i,F as a,G as o,I as s,K as c,L as l,M as u,N as d,P as f,Q as p,Z as m,_ as h,a as g,b as _,ct as v,dt as y,et as b,f as x,ft as S,g as C,it as w,j as T,k as E,n as D,nt as O,r as k,st as A,tt as j,v as M,y as N}from"./BBI__kVO.js";import{n as P,t as F}from"./
|
|
1
|
+
import{$ as e,A as t,B as n,C as r,E as i,F as a,G as o,I as s,K as c,L as l,M as u,N as d,P as f,Q as p,Z as m,_ as h,a as g,b as _,ct as v,dt as y,et as b,f as x,ft as S,g as C,it as w,j as T,k as E,n as D,nt as O,r as k,st as A,tt as j,v as M,y as N}from"./BBI__kVO.js";import{n as P,t as F}from"./BbrGxbnk.js";import"./xihTtKlq.js";import{L as I,X as L,Z as R,a as ee,at as z,c as te,gt as B,i as ne,it as V,l as re,mt as ie,n as ae,o as H,pt as oe,r as se,rt as ce,s as le,t as U,u as W,v as ue}from"./CgKtEGfl.js";import{t as G}from"./Gm5hDJqK.js";import"./B3YLDmFC.js";import{t as de}from"./Oz5B_hgH.js";var fe=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}),pe=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`});function me(e){return e?fe.format(e):``}function he(e){return e?pe.format(e):``}function ge(e){if(!e)return``;let t=Math.max(0,(Date.now()-e)/1e3);if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);if(i===1)return`yesterday`;if(i<7)return`${i}d ago`;let a=Math.floor(i/7);if(a<5)return`${a}w ago`;let o=Math.floor(i/30);return o<12?`${o}mo ago`:`${Math.floor(i/365)}y ago`}var _e=d(`<span class="icon-btn-label svelte-vx1yib"> </span>`),ve=d(`<a><!> <!></a>`),ye=d(`<span class="icon-btn-label svelte-vx1yib"> </span>`),be=d(`<button><!> <!></button>`);function K(n,i){let a=g(i,`disabled`,3,!1),s=g(i,`type`,3,`button`),c=g(i,`selected`,3,!1),d=g(i,`tone`,3,`primary`);var f=u(),h=p(f),_=n=>{var s=ve();let u;var f=m(s);r(f,()=>i.icon);var p=e(f,2),h=e=>{var n=_e(),r=m(n,!0);S(n),o(()=>t(r,i.label)),T(e,n)};E(p,e=>{i.label&&e(h)}),S(s),o(()=>{u=N(s,1,`icon-btn svelte-vx1yib`,null,u,{"has-label":i.label,selected:c(),"tone-danger":d()===`danger`}),x(s,`href`,i.href),x(s,`title`,i.title??i.ariaLabel??i.label),x(s,`aria-label`,i.ariaLabel??i.label),x(s,`aria-disabled`,a()||void 0)}),l(`click`,s,function(...e){i.onclick?.apply(this,e)}),T(n,s)},v=n=>{var u=be();let f;var p=m(u);r(p,()=>i.icon);var h=e(p,2),g=e=>{var n=ye(),r=m(n,!0);S(n),o(()=>t(r,i.label)),T(e,n)};E(h,e=>{i.label&&e(g)}),S(u),o(()=>{f=N(u,1,`icon-btn svelte-vx1yib`,null,f,{"has-label":i.label,selected:c(),"tone-danger":d()===`danger`}),x(u,`type`,s()),u.disabled=a(),x(u,`title`,i.title??i.ariaLabel??i.label),x(u,`aria-label`,i.ariaLabel??i.label),x(u,`aria-pressed`,i.ariaPressed)}),l(`click`,u,function(...e){i.onclick?.apply(this,e)}),T(n,u)};E(h,e=>{i.href?e(_):e(v,-1)}),T(n,f)}s([`click`]);function xe(e,t){let r=g(t,`disabled`,3,!1),i=g(t,`tone`,3,`primary`);{let a=w(()=>t.pressed&&t.selectedIcon?t.selectedIcon:t.icon);K(e,{get icon(){return n(a)},get label(){return t.label},get title(){return t.title},get ariaLabel(){return t.ariaLabel},get disabled(){return r()},get tone(){return i()},get selected(){return t.pressed},get ariaPressed(){return t.pressed},get onclick(){return t.onToggle}})}}var Se=`openpalm.chat.advanced`,q=new class{#e=O(!1);get enabled(){return n(this.#e)}set enabled(e){j(this.#e,e,!0)}#t=O(!1);get initialized(){return n(this.#t)}set initialized(e){j(this.#t,e,!0)}init(){typeof window>`u`||this.initialized||(this.enabled=this.#n(),this.initialized=!0)}setEnabled(e){this.enabled=e,this.#r(e)}toggle(){let e=!this.enabled;return this.setEnabled(e),e}preferredChatPath(){return this.enabled?`/advanced`:`/chat`}#n(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(Se)===`1`}catch{return!1}}#r(e){if(!(typeof window>`u`))try{window.localStorage.setItem(Se,e?`1`:`0`)}catch{}}};function J(e,t){let n=e?.[t];return typeof n==`string`?n:void 0}function Ce(e){if(e.type!==`message.part.updated`)return null;let t=e.properties?.part;return typeof t?.id==`string`&&typeof t.type==`string`?{partID:t.id,type:t.type}:null}function we(e,t,n){let r=e.properties??{};if(J(r,`sessionID`)!==t)return null;if(e.type===`session.next.text.delta`)return J(r,`delta`)??J(r,`text`)??null;if(e.type===`message.part.delta`){let e=J(r,`field`);if(e&&e!==`text`)return null;let t=J(r,`partID`);return t&&n?.has(t)?null:J(r,`delta`)??null}return null}function Te(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`&&typeof e.type==`string`)return e.type}function Ee(e,t){let n=e.properties??{};if(J(n,`sessionID`)!==t)return!1;if(e.type===`session.idle`)return!0;if(e.type===`session.status`){let e=Te(n.status);return e===`idle`||e===`completed`||e===`done`}return!1}function De(e){if(typeof e==`string`)return e;if(e!=null){if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return}}}function Y(...e){for(let t of e){let e=De(t);if(e)return e}}function Oe(e,t){let n=e.properties??{};if(J(n,`sessionID`)!==t)return null;let r=n.part??n.tool;if(e.type===`message.part.updated`&&r&&(r.type===`tool`||r.state)){let e=r.state??{};return{callID:String(r.callID??r.id??``),tool:String(r.tool??`tool`),status:String(e.status??`running`),title:typeof e.title==`string`?e.title:void 0,detail:Y(e.input,e.metadata,e.progress,e.output),output:De(e.output),error:typeof e.error==`string`?e.error:void 0}}if(e.type.startsWith(`session.next.tool.`)){let t=e.type.replace(`session.next.tool.`,``);return{callID:J(n,`callID`)??``,tool:J(n,`tool`)??`tool`,status:t===`completed`?`completed`:t===`failed`?`error`:t===`called`?`running`:J(n,`status`)??`running`,title:J(n,`title`)??J(n,`tool`),detail:Y(n.message,n.delta,n.progress,n.input,n.metadata),output:Y(n.output,n.result),error:Y(n.error)}}return null}function ke(e,t){return e.type===`session.error`&&J(e.properties,`sessionID`)===t}function Ae(e,t){if(e.type!==`permission.asked`||J(e.properties,`sessionID`)!==t)return null;let n=J(e.properties,`id`);if(!n)return null;let r=Array.isArray(e.properties?.patterns)?e.properties.patterns.filter(e=>typeof e==`string`):[],i=Array.isArray(e.properties?.always)?e.properties.always.filter(e=>typeof e==`string`):[],a=e.properties?.tool;return{requestID:n,permission:J(e.properties,`permission`)??`tool`,patterns:r,always:i,tool:J(a,`callID`)??J(e.properties,`permission`)??`tool`,detail:Y(e.properties?.metadata,e.properties?.message)??``}}function je(e,t){if(e.type!==`question.asked`||J(e.properties,`sessionID`)!==t)return null;let n=J(e.properties,`id`);if(!n)return null;let r=Array.isArray(e.properties?.questions)?e.properties.questions:[],i=[];for(let e of r){let t=e,n=Array.isArray(t.options)?t.options.map(e=>e).filter(e=>typeof e.label==`string`).map(e=>({label:e.label,description:typeof e.description==`string`?e.description:``})):[];i.push({question:typeof t.question==`string`?t.question:``,header:typeof t.header==`string`?t.header:``,options:n})}return i.length===0?null:{requestID:n,questions:i}}function Me(e,t){let n=e.properties??{};return J(n,`sessionID`)!==t||e.type!==`session.next.step.started`&&e.type!==`session.next.step.ended`?null:{id:J(n,`stepID`)??J(n,`id`)??e.type,title:J(n,`title`)??J(n,`step`)??(e.type===`session.next.step.started`?`Working`:`Step complete`),status:e.type===`session.next.step.ended`?`completed`:`running`,detail:Y(n.detail,n.message)}}var Ne=1e3,Pe=3e4,Fe=`/proxy/assistant/event`;function Ie(e){let t={},n=[];for(let r of e.split(`
|
|
2
2
|
`))!r||r.startsWith(`:`)||(r.startsWith(`data:`)?n.push(r.replace(/^data:\s?/,``)):r.startsWith(`event:`)?t.event=r.replace(/^event:\s?/,``):r.startsWith(`id:`)&&(t.id=r.replace(/^id:\s?/,``)));return n.length>0&&(t.data=n.join(`
|
|
3
3
|
`)),t}function Le(e,t){let n=t.properties?.info,r=n?.id;if(r)switch(t.type){case`session.created`:e.onCreated(r);return;case`session.updated`:e.onUpdated(r,{title:n?.title,updatedAt:n?.time?.updated});return;case`session.deleted`:e.onDeleted(r);return;default:return}}function Re(e){let t=!1,n=new AbortController,r,i=e=>new Promise(t=>{let r=setTimeout(t,e);n.signal.addEventListener(`abort`,()=>{clearTimeout(r),t()},{once:!0})});async function a(){let t={accept:`text/event-stream`};r!==void 0&&(t[`Last-Event-ID`]=r);let i=await fetch(Fe,{method:`GET`,headers:t,credentials:`include`,signal:n.signal});if(!i.ok||!i.body)throw Error(`SSE stream failed: ${i.status} ${i.statusText}`);e.onConnect?.();let a=i.body.pipeThrough(new TextDecoderStream).getReader(),o=``;try{for(;;){let{done:t,value:n}=await a.read();if(t)break;o+=n;let i=o.split(`
|
|
4
4
|
|
|
5
|
-
`);o=i.pop()??``;for(let t of i){if(!t)continue;let n=Ie(t);if(n.id!==void 0&&(r=n.id),!n.data)continue;let i;try{i=JSON.parse(n.data)}catch(e){console.warn(`[session-events] Bad JSON in SSE frame`,e);continue}e.onEvent?.(i),Le(e,i)}}}finally{try{a.releaseLock()}catch{}}}return(async()=>{let r=0;for(;!t;)try{r++,await a(),r=0,t||await i(500)}catch(a){if(t)return;let o=a instanceof Error?a:Error(String(a));o.name!==`AbortError`&&(console.warn(`[session-events] SSE error, reconnecting`,o),e.onDisconnect?.(o)),await i(Math.min(Ne*2**Math.max(0,r-1),Pe)),n.signal.aborted&&!t&&(n=new AbortController)}})(),()=>{t=!0;try{n.abort()}catch{}}}var ze=`openpalm.desktop.notify`,Be=`openpalm.desktop.notify.preview`;function Ve(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}}function He(e,t){if(!(typeof window>`u`))try{window.localStorage.setItem(e,t?`1`:`0`)}catch{}}function Ue(){return Ve(ze)}function We(){return Ve(Be)}function Ge(e){He(ze,e)}function Ke(e){He(Be,e)}function qe(){return typeof document>`u`||document.hasFocus()||!Ue()?!1:typeof window<`u`&&typeof window.openpalm?.notify==`function`}function Je(e){if(!qe())return;let t=We()&&e.trim()?e.trim():`Assistant replied`;window.openpalm?.notify?.(`OpenPalm`,t)}function Ye(){qe()&&window.openpalm?.notify?.(`OpenPalm`,`Assistant error`)}var Xe=15e4;function X(){return{sessions:[],sessionsLoaded:!1,sessionsLoading:!1,sessionsError:``,activeSessionId:null}}var Z=new class{#e=O(b(new Map));get byEndpoint(){return n(this.#e)}set byEndpoint(e){j(this.#e,e,!0)}#t=O(`default`);get activeEndpointId(){return n(this.#t)}set activeEndpointId(e){j(this.#t,e,!0)}#n=O(b([]));get entries(){return n(this.#n)}set entries(e){j(this.#n,e,!0)}#r=O(!1);get entriesLoading(){return n(this.#r)}set entriesLoading(e){j(this.#r,e,!0)}#i=O(!1);get sending(){return n(this.#i)}set sending(e){j(this.#i,e,!0)}#a=O(``);get error(){return n(this.#a)}set error(e){j(this.#a,e,!0)}#o=O(``);get pendingAssistantText(){return n(this.#o)}set pendingAssistantText(e){j(this.#o,e,!0)}#s=O(b([]));get pendingToolStates(){return n(this.#s)}set pendingToolStates(e){j(this.#s,e,!0)}#c=O(null);get pendingPermission(){return n(this.#c)}set pendingPermission(e){j(this.#c,e,!0)}#l=O(null);get pendingQuestion(){return n(this.#l)}set pendingQuestion(e){j(this.#l,e,!0)}#u=O(!1);get liveConnected(){return n(this.#u)}set liveConnected(e){j(this.#u,e,!0)}_unsubscribeEvents=null;_pendingTurn=null;#d=w(()=>this.byEndpoint.get(this.activeEndpointId)?.activeSessionId??null);get activeSessionId(){return n(this.#d)}set activeSessionId(e){j(this.#d,e)}setEndpointState(e,t){let n={...this.byEndpoint.get(e)??X(),...t};return this.byEndpoint=new Map(this.byEndpoint).set(e,n),n}async onEndpointChanged(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}this.activeEndpointId=e,this.entries=[],this.error=``,this.byEndpoint.get(e)?.sessionsLoaded||await this.loadSessions();let t=this.byEndpoint.get(e)??X(),n=t.sessions,r=t.activeSessionId,i=null;r&&n.some(e=>e.id===r)?i=r:n.length>0&&(i=n[0].id),i!==t.activeSessionId&&this.setEndpointState(e,{activeSessionId:i}),i&&await this.openSession(i),this._resubscribeEvents()}_resubscribeEvents(){if(this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from previous event stream`,e)}this._unsubscribeEvents=null}this.liveConnected=!1,this._unsubscribeEvents=Re({onCreated:e=>{this._onSessionCreated(e)},onUpdated:(e,t)=>{this._onSessionUpdated(e,t)},onDeleted:e=>{this._onSessionDeleted(e)},onEvent:e=>{this._onLiveEvent(e)},onConnect:()=>{this.liveConnected=!0},onDisconnect:()=>{this.liveConnected=!1,this._pendingTurn&&this._failPendingTurn(Error(`Assistant event stream disconnected.`))}})}_toRawEvent(e){return{type:e.type,properties:e.properties??{}}}_upsertPendingToolState(e){let t=e.callID||`${e.tool}:${this.pendingToolStates.length}`,n={id:t,kind:`tool`,tool:e.tool,status:e.status,title:e.title??e.tool,detail:e.detail??``,output:e.output??``,error:e.error??``,updatedAt:Date.now()};if(!this.pendingToolStates.find(e=>e.id===t)){this.pendingToolStates=[...this.pendingToolStates,n];return}this.pendingToolStates=this.pendingToolStates.map(e=>e.id===t?{...e,...n}:e)}_upsertPendingStepState(e){let t={id:e.id,kind:`step`,tool:`step`,status:e.status,title:e.title,detail:e.detail??``,output:``,error:``,updatedAt:Date.now()};if(!this.pendingToolStates.find(t=>t.id===e.id)){this.pendingToolStates=[...this.pendingToolStates,t];return}this.pendingToolStates=this.pendingToolStates.map(n=>n.id===e.id?{...n,...t}:n)}_resetPendingRenderState(){this.pendingAssistantText=``,this.pendingToolStates=[],this.pendingPermission=null,this.pendingQuestion=null}_appendAssistantReply(e,t){let n={id:crypto.randomUUID(),role:`assistant`,text:e,timestamp:Date.now(),...t&&t.length>0?{toolStates:[...t]}:{}};this.entries=[...this.entries,n]}_clearPendingTurn(){let e=this._pendingTurn;return e?(clearTimeout(e.timeout),this._pendingTurn=null,e):null}_finishPendingTurn(e){let t=this._clearPendingTurn();if(!t)return;let n=(e??this.pendingAssistantText).trim()||`(no response)`;if(this.pendingQuestion?.status===`answered`&&this.pendingQuestion.message){let e={id:crypto.randomUUID(),type:`note`,label:`Question answered`,text:this.pendingQuestion.message,timestamp:Date.now()};this.entries=[...this.entries,e]}let r=this.pendingToolStates.length>0?[...this.pendingToolStates]:void 0;this._appendAssistantReply(n,r),this._resetPendingRenderState(),this._bumpSession(t.sessionId),W.ttsSupported&&W.ttsAutoEnabled&&n&&n!==`(no response)`&&H(n,{mode:`chat_reply`,userText:t.userText,assistantText:n}),Je(n===`(no response)`?``:n),t.resolve()}_failPendingTurn(e){let t=this._clearPendingTurn();t&&(this._resetPendingRenderState(),t.reject(e))}_bumpSession(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t);if(!n)return;let r=Date.now(),i=n.sessions.find(t=>t.id===e),a=i?{...i,updatedAt:r}:{id:e,title:``,createdAt:r,updatedAt:r},o=n.sessions.filter(t=>t.id!==e);this.setEndpointState(t,{sessions:[a,...o]})}_onLiveEvent(e){let t=this._pendingTurn;if(!t)return;let n=this._toRawEvent(e);if(t.endpointId!==this.activeEndpointId)return;let r=Ce(n);r?.type===`reasoning`&&t.reasoningPartIds.add(r.partID);let i=we(n,t.sessionId,t.reasoningPartIds);i&&(this.pendingAssistantText+=i);let a=Oe(n,t.sessionId);a&&this._upsertPendingToolState(a);let o=Me(n,t.sessionId);o&&this._upsertPendingStepState(o);let s=Ae(n,t.sessionId);s&&(this.pendingPermission={...s,status:`pending`,decision:``,message:``});let c=je(n,t.sessionId);if(c&&(this.pendingQuestion={...c,status:`pending`,answers:c.questions.map(()=>``),message:``}),ke(n,t.sessionId)){this._failPendingTurn(Error(`Assistant session ended unexpectedly.`));return}Ee(n,t.sessionId)&&this._finishPendingTurn()}_onSessionCreated(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t)??X();if(n.sessions.some(t=>t.id===e))return;let r=Date.now(),i={id:e,title:``,createdAt:r,updatedAt:r};this.setEndpointState(t,{sessions:[i,...n.sessions],sessionsLoaded:!0})}_onSessionUpdated(e,t){let n=this.activeEndpointId,r=this.byEndpoint.get(n);if(!r)return;let i=r.sessions.findIndex(t=>t.id===e);if(i===-1)return;let a=r.sessions[i],o=[{...a,title:t?.title??a.title,updatedAt:t?.updatedAt??Date.now()},...r.sessions.filter(t=>t.id!==e)];o.sort((e,t)=>t.updatedAt-e.updatedAt),this.setEndpointState(n,{sessions:o})}async _onSessionDeleted(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t);if(!n||!n.sessions.some(t=>t.id===e))return;let r=n.sessions.filter(t=>t.id!==e),i=n.activeSessionId===e,a=i?r[0]?.id??null:n.activeSessionId;this.setEndpointState(t,{sessions:r,activeSessionId:a}),i&&(this.entries=[],a&&await this.openSession(a))}async loadSessions(){let e=this.activeEndpointId;this.setEndpointState(e,{sessionsLoading:!0,sessionsError:``});try{let t=await L();this.setEndpointState(e,{sessions:t,sessionsLoaded:!0,sessionsLoading:!1,sessionsError:``})}catch(t){let n=t,r=n.status===503||n.status===502?`Assistant is not reachable.`:n.message??`Failed to load sessions.`;this.setEndpointState(e,{sessionsLoading:!1,sessionsError:r})}}async openSession(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}let t=this.activeEndpointId;this.setEndpointState(t,{activeSessionId:e}),this.entries=[],this._resetPendingRenderState(),this.entriesLoading=!0,this.error=``;try{let n=await R(e);this.activeEndpointId===t&&this.byEndpoint.get(t)?.activeSessionId===e&&(this.entries=n)}catch(e){let t=e;t.status===503||t.status===502?this.error=`Assistant is not reachable. Try reconnecting.`:t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Failed to load messages.`}finally{this.entriesLoading=!1}}async startNewSession(){if(this.sending)return this.error=`Wait for the current reply to finish before switching.`,null;let e=this.activeEndpointId;this.error=``;try{let{id:t}=await ue(),n=Date.now(),r={id:t,title:``,createdAt:n,updatedAt:n},i=this.byEndpoint.get(e)??X();return this.setEndpointState(e,{sessions:[r,...i.sessions.filter(e=>e.id!==t)],sessionsLoaded:!0,activeSessionId:t}),this.entries=[],this._resetPendingRenderState(),t}catch(e){let t=e;return this.error=`Failed to start session: ${t.message??`unknown error`}`,null}}async send(e){let t=e.trim();if(!t)return;if(this.pendingQuestion&&this.pendingQuestion.questions.length===1&&this.sending){await this.answerQuestion(t);return}if(this.pendingQuestion&&this.sending){this.pendingQuestion={...this.pendingQuestion,status:`error`,message:`This question has multiple parts and must be answered with the provided controls.`};return}if(this.sending)return;let n=this.activeSessionId;if(!n&&(n=await this.startNewSession(),!n))return;let r={id:crypto.randomUUID(),role:`user`,text:t,timestamp:Date.now()};this.entries=[...this.entries,r],this._resetPendingRenderState(),this.error=``,this.sending=!0,W.ttsSupported&&W.ttsAutoEnabled&&H(`Working on it.`,{mode:`chat_ack`,userText:t});try{if(this._unsubscribeEvents&&this.liveConnected)await new Promise((e,r)=>{let i=setTimeout(()=>{this._failPendingTurn(Error(`Timed out waiting for the assistant response.`))},Xe);this._pendingTurn={endpointId:this.activeEndpointId,sessionId:n,userText:t,reasoningPartIds:new Set,resolve:e,reject:r,timeout:i},ie(n,t).catch(e=>{this._failPendingTurn(e instanceof Error?e:Error(String(e)))})});else{let e=(await z(n,t)).parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``).trim()||`(no response)`,r=this.pendingToolStates.length>0?[...this.pendingToolStates]:void 0;this._appendAssistantReply(e,r),this._resetPendingRenderState(),this._bumpSession(n),W.ttsSupported&&W.ttsAutoEnabled&&e!==`(no response)`&&H(e,{mode:`chat_reply`,userText:t,assistantText:e}),Je(e===`(no response)`?``:e)}}catch(e){let t=e;this._resetPendingRenderState(),t.status===503||t.status===502?(this.error=`Assistant is not reachable. Try reconnecting.`,this.setEndpointState(this.activeEndpointId,{activeSessionId:null})):t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Message failed.`,Ye()}finally{this.sending=!1}}async answerPermission(e){if(!this.pendingPermission||this.pendingPermission.status===`submitting`)return;let t=this.pendingPermission;this.pendingPermission={...t,status:`submitting`,decision:e,message:``};try{await ce(t.requestID,e),this.pendingPermission={...t,status:`resolved`,decision:e,message:e===`once`?`Allowed ${t.permission} once. Waiting for the assistant to continue...`:e===`always`?`Always allowed future matching ${t.permission} requests.`:`Denied ${t.permission}. Waiting for the assistant to continue...`}}catch(n){let r=n instanceof Error?n.message:`Failed to record permission reply.`;this.pendingPermission={...t,status:`error`,decision:e,message:r}}}setQuestionAnswer(e,t){if(!this.pendingQuestion||e<0||e>=this.pendingQuestion.questions.length)return;let n=[...this.pendingQuestion.answers];n[e]=t,this.pendingQuestion={...this.pendingQuestion,answers:n,message:``}}async answerQuestion(e){if(!this.pendingQuestion||this.pendingQuestion.status===`submitting`)return;let t=this.pendingQuestion,n=t.questions.length===1&&typeof e==`string`?[e.trim()]:t.answers.map(e=>e.trim());if(n.some(e=>!e)){this.pendingQuestion={...t,status:`error`,message:`Answer every question before submitting.`};return}this.pendingQuestion={...t,status:`submitting`,answers:n,message:``};try{await V(t.requestID,n.map(e=>[e])),this.pendingQuestion={...t,status:`answered`,answers:n,message:`Answer sent.`}}catch(e){let r=e instanceof Error?e.message:`Failed to send answer.`;this.pendingQuestion={...t,status:`error`,answers:n,message:r}}}async rejectQuestion(){if(!this.pendingQuestion||this.pendingQuestion.status===`submitting`)return;let e=this.pendingQuestion;this.pendingQuestion={...e,status:`submitting`,message:``};try{await oe(e.requestID),this.pendingQuestion={...e,status:`rejected`,message:`Question declined.`}}catch(t){let n=t instanceof Error?t.message:`Failed to reject question.`;this.pendingQuestion={...e,status:`error`,message:n}}}reset(){if(re(),this._clearPendingTurn(),this.entries=[],this.error=``,this._resetPendingRenderState(),this.byEndpoint=new Map,this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from event stream during reset`,e)}this._unsubscribeEvents=null}this.liveConnected=!1}};function Ze(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/=+$/g,``)}function Qe(){return Z.activeSessionId}function $e(e){let t=new URLSearchParams;e&&t.set(`session`,e);let n=t.toString();return n?`/advanced?${n}`:`/advanced`}function et(e,t){let n=new URLSearchParams;e&&n.set(`session`,e),t?.newChat&&n.set(`new`,`1`);let r=n.toString();return r?`/chat?${r}`:`/chat`}function tt(e,t,n){return!t||!n?e:`${e.replace(/\/$/,``)}/${Ze(n)}/session/${encodeURIComponent(t)}`}var nt=e=>{T(e,rt())},rt=f(`<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>`);function it(e,t){v(t,!0);let r=w(()=>G.url?.pathname??``),i=w(()=>n(r)===`/admin`||n(r).startsWith(`/admin/`));w(()=>n(r)===`/advanced`||n(r).startsWith(`/advanced/`));function a(){let e=q.toggle();if(n(i))return;let t=G.url.searchParams.get(`session`)??Qe();P(e?$e(t):et(t))}xe(e,{get pressed(){return q.enabled},onToggle:a,ariaLabel:`Advanced mode`,title:`Advanced mode (embedded OpenCode)`,get icon(){return nt}}),A()}var at=d(`<footer class="drawer-footer svelte-1u2o1qj"><!></footer>`),ot=d(`<div class="drawer-scrim svelte-1u2o1qj"></div> <div class="drawer svelte-1u2o1qj" role="dialog" aria-modal="true" tabindex="-1"><header class="drawer-header svelte-1u2o1qj"><!> <h3 class="drawer-title svelte-1u2o1qj"> </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"><!></div> <!></div>`,1);function Q(n,i){v(i,!0);let a=g(i,`width`,3,`32rem`);function s(e){return Array.from(e.querySelectorAll(`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)).filter(e=>!e.hasAttribute(`hidden`)&&e.getAttribute(`aria-hidden`)!==`true`)}function c(e){let t=document.activeElement,n=e.querySelector(`.drawer-body`);return((n&&s(n)[0])??s(e)[0]??e).focus(),()=>t?.focus?.()}function d(e){if(e.key===`Escape`){i.onClose();return}if(e.key!==`Tab`)return;let t=e.currentTarget,n=s(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n[0],a=n[n.length-1],o=document.activeElement;e.shiftKey&&(o===r||o===t)?(e.preventDefault(),a.focus()):!e.shiftKey&&o===a&&(e.preventDefault(),r.focus())}var f=u(),h=p(f),y=n=>{var s=ot(),f=p(s),h=e(f,2),g=m(h),v=m(g),y=e=>{var t=u();r(p(t),()=>i.headerStart),T(e,t)};E(v,e=>{i.headerStart&&e(y)});var b=e(v,2),C=m(b,!0);S(b);var w=e(b,2);S(g);var D=e(g,2);r(m(D),()=>i.children),S(D);var O=e(D,2),k=e=>{var t=at();r(m(t),()=>i.footer),S(t),T(e,t)};E(O,e=>{i.footer&&e(k)}),S(h),_(h,()=>c),o(()=>{M(h,`--drawer-width: ${a()??``}`),x(h,`aria-label`,i.title),t(C,i.title)}),l(`click`,f,function(...e){i.onClose?.apply(this,e)}),l(`keydown`,h,d),l(`click`,w,function(...e){i.onClose?.apply(this,e)}),T(n,s)};E(h,e=>{i.open&&e(y)}),T(n,f),A()}s([`click`,`keydown`]);var st=e=>{T(e,ct())},ct=f(`<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>`),lt=d(`<a class="settings-link svelte-4kbm5j" href="/admin">Manage this assistant...</a>`),ut=d(`<div class="settings-drawer svelte-4kbm5j"><label class="field svelte-4kbm5j" for="theme-preference"><span class="field-label svelte-4kbm5j">Theme</span> <select id="theme-preference" class="field-select svelte-4kbm5j"><option>System</option><option>Light</option><option>Dark</option></select></label> <nav class="settings-links svelte-4kbm5j" aria-label="Settings links"><!> <a class="settings-link svelte-4kbm5j" href="/admin/endpoints">Manage assistant connections...</a></nav></div>`),dt=d(`<!> <!>`,1);function ft(t,r){v(r,!0);let i=g(r,`showManageAssistant`,3,!0),a=O(!1);F(()=>{j(a,!1)});function s(e){let t=e.currentTarget.value;(t===`light`||t===`dark`||t===`system`)&&U.setPreference(t)}var c=dt(),u=p(c);K(u,{get icon(){return st},ariaLabel:`Settings`,title:`Settings`,get selected(){return n(a)},get ariaPressed(){return n(a)},onclick:()=>j(a,!0)}),Q(e(u,2),{get open(){return n(a)},title:`Settings`,onClose:()=>j(a,!1),width:`24rem`,children:(t,n)=>{var r=ut(),c=m(r),u=e(m(c),2),d=m(u);d.value=d.__value=`system`;var f=e(d);f.value=f.__value=`light`;var p=e(f);p.value=p.__value=`dark`,S(u);var g;C(u),S(c);var _=e(c,2),v=m(_),y=e=>{var t=lt();l(`click`,t,()=>j(a,!1)),T(e,t)};E(v,e=>{i()&&e(y)});var b=e(v,2);S(_),S(r),o(()=>{g!==(g=U.preference)&&(u.value=(u.__value=U.preference)??``,h(u,U.preference))}),l(`change`,u,s),l(`click`,b,()=>j(a,!1)),T(t,r)},$$slots:{default:!0}}),T(t,c),A()}s([`change`,`click`]);var $=new class{#e=O(b([]));get endpoints(){return n(this.#e)}set endpoints(e){j(this.#e,e,!0)}#t=O(`default`);get activeId(){return n(this.#t)}set activeId(e){j(this.#t,e,!0)}#n=O(!1);get loading(){return n(this.#n)}set loading(e){j(this.#n,e,!0)}#r=O(!1);get loaded(){return n(this.#r)}set loaded(e){j(this.#r,e,!0)}#i=O(``);get error(){return n(this.#i)}set error(e){j(this.#i,e,!0)}#a=w(()=>this.endpoints.find(e=>e.id===this.activeId)??this.endpoints[0]??null);get active(){return n(this.#a)}set active(e){j(this.#a,e)}async load(e=!1){if(!this.loading&&!(this.loaded&&!e)){this.loading=!0,this.error=``;try{let{endpoints:e,activeId:t}=await I();this.endpoints=e,this.activeId=t,this.loaded=!0}catch(e){let t=e;t.status!==401&&(this.error=t.message??`Failed to load endpoints`)}finally{this.loading=!1}}}async activate(e){if(e===this.activeId)return;if(Z.sending)throw this.error=`Wait for the current reply to finish before switching.`,Error(this.error);let t=this.activeId;this.activeId=e;try{await B(e),await Z.onEndpointChanged(e)}catch(e){this.activeId=t;let n=e;throw this.error=n.message??`Failed to switch endpoint`,e}}};function pt(e){if(!e)return!0;try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`host.docker.internal`}catch{return!0}}var mt=d(`<p class="list-error svelte-dlw00e" role="alert"> </p>`),ht=d(`<span class="sr-only svelte-dlw00e">(current)</span>`),gt=d(`<button type="button"><span class="item-text svelte-dlw00e"><span class="item-label svelte-dlw00e"> <!></span> <span class="item-url svelte-dlw00e"> </span></span></button>`),_t=d(`<a class="list-item link svelte-dlw00e" href="/admin">Manage this assistant…</a>`),vt=d(`<div class="endpoint-list svelte-dlw00e"><!> <div class="group" role="group" aria-label="Assistant endpoints"></div> <div class="divider svelte-dlw00e"></div> <!> <a class="list-item link svelte-dlw00e" href="/admin/endpoints">Manage assistant connections…</a></div>`);function yt(r,a){v(a,!0);let s=w(()=>$.active),c=w(()=>$.endpoints),u=w(()=>pt(n(s)?.url)),d=O(!1);async function f(e){if(!n(d)){if(e===n(s)?.id){a.onChosen?.();return}j(d,!0);try{await $.activate(e),a.onChosen?.()}catch{}finally{j(d,!1)}}}var p=vt(),h=m(p),g=e=>{var n=mt(),r=m(n,!0);S(n),o(()=>t(r,$.error)),T(e,n)};E(h,e=>{$.error&&e(g)});var _=e(h,2);i(_,21,()=>n(c),e=>e.id,(r,i)=>{var a=gt();let c;var u=m(a),p=m(u),h=m(p,!0),g=e(h),_=e=>{T(e,ht())};E(g,e=>{n(i).id===n(s)?.id&&e(_)}),S(p);var v=e(p,2),y=m(v,!0);S(v),S(u),S(a),o(()=>{c=N(a,1,`list-item svelte-dlw00e`,null,c,{active:n(i).id===n(s)?.id}),x(a,`aria-current`,n(i).id===n(s)?.id?`true`:void 0),a.disabled=n(d),t(h,n(i).label),t(y,n(i).url)}),l(`click`,a,()=>f(n(i).id)),T(r,a)}),S(_);var y=e(_,4),b=e=>{var t=_t();l(`click`,t,()=>a.onChosen?.()),T(e,t)};E(y,e=>{n(u)&&e(b)});var C=e(y,2);S(p),l(`click`,C,()=>a.onChosen?.()),T(r,p),A()}s([`click`]);var bt=d(`<button type="button" class="trigger svelte-48xr05" aria-haspopup="dialog"><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"> </span> <span class="caret svelte-48xr05" aria-hidden="true">▾</span></button> <!>`,1);function xt(r,i){v(i,!0);let a=O(!1),s=w(()=>$.active);k(()=>{$.load()});var c=bt(),u=p(c),d=e(m(u),4),f=m(d,!0);S(d),y(2),S(u),Q(e(u,2),{get open(){return n(a)},title:`Assistant endpoint`,onClose:()=>j(a,!1),width:`26rem`,children:(e,t)=>{yt(e,{onChosen:()=>j(a,!1)})},$$slots:{default:!0}}),o(()=>{x(u,`aria-expanded`,n(a)),x(u,`aria-label`,n(s)?`Assistant endpoint: ${n(s).label}`:`Assistant endpoints`),x(u,`title`,n(s)?`Connected to: ${n(s).label} (${n(s).url})`:`Assistant endpoints`),u.disabled=$.loading,t(f,n(s)?.label??`Endpoint…`)}),l(`click`,u,()=>j(a,!0)),T(r,c),A()}s([`click`]);var St=/^New session - (\d{4}-\d{2}-\d{2}T[0-9:.]+Z?)$/;function Ct(e){let t=(e??``).trim();if(!t)return`Untitled session`;let n=St.exec(t);if(n){let e=Date.parse(n[1]);if(!Number.isNaN(e))return he(e)}return t}function wt(e,r){v(r,!0);let i=w(()=>Ct(r.title));y();var s=a();o(()=>t(s,n(i))),T(e,s),A()}var Tt=d(`<div class="notice svelte-1o6rxhb">Wait for the current reply to finish before switching.</div>`),Et=d(`<div class="empty svelte-1o6rxhb"><!><span>Loading sessions…</span></div>`),Dt=d(`<div class="list-error svelte-1o6rxhb"><span class="svelte-1o6rxhb"> </span> <button type="button" class="retry-btn svelte-1o6rxhb">Retry</button></div>`),Ot=d(`<div class="empty svelte-1o6rxhb">No sessions yet. Start the first one.</div>`),kt=d(`<span class="sr-only svelte-1o6rxhb">(current)</span>`),At=d(`<button type="button"><span class="item-text svelte-1o6rxhb"><span class="item-label svelte-1o6rxhb"><!><!></span> <span class="item-meta svelte-1o6rxhb"> </span></span></button>`),jt=d(`<button type="button" class="show-all svelte-1o6rxhb"> </button>`),Mt=d(`<div class="session-list svelte-1o6rxhb" role="group" aria-label="Sessions"></div> <!>`,1),Nt=d(`<div class="session-body svelte-1o6rxhb"><!> <!> <div class="divider svelte-1o6rxhb"></div> <button type="button" class="list-item new-btn svelte-1o6rxhb"><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>`);function Pt(r,a){v(a,!0);let s=O(!1),c=w(()=>$.active),u=w(()=>n(c)?Z.byEndpoint.get(n(c).id)??null:null),d=w(()=>n(u)?.sessions??[]),f=w(()=>n(u)?.sessionsLoading??!1),h=w(()=>n(u)?.sessionsError??``),g=w(()=>Z.activeSessionId),_=w(()=>n(s)?n(d):n(d).slice(0,50)),b=w(()=>Math.max(0,n(d).length-50));k(()=>{n(c)&&!n(u)?.sessionsLoaded&&!n(f)&&Z.loadSessions()});async function C(e){Z.sending||(await Z.openSession(e),a.onChosen?.())}async function D(){Z.sending||(await Z.startNewSession(),a.onChosen?.())}async function M(){await Z.loadSessions()}var P=Nt(),F=m(P),I=e=>{T(e,Tt())};E(F,e=>{Z.sending&&e(I)});var L=e(F,2),R=e=>{var t=Et();de(m(t),{size:12}),y(),S(t),T(e,t)},ee=r=>{var i=Dt(),a=m(i),s=m(a,!0);S(a);var c=e(a,2);S(i),o(()=>t(s,n(h))),l(`click`,c,M),T(r,i)},te=e=>{T(e,Ot())},z=r=>{var a=Mt(),c=p(a);i(c,21,()=>n(_),e=>e.id,(r,i)=>{var a=At();let s;var c=m(a),u=m(c),d=m(u);wt(d,{get title(){return n(i).title}});var f=e(d),p=e=>{T(e,kt())};E(f,e=>{n(i).id===n(g)&&e(p)}),S(u);var h=e(u,2),_=m(h,!0);S(h),S(c),S(a),o((e,r)=>{s=N(a,1,`list-item session-item svelte-1o6rxhb`,null,s,{active:n(i).id===n(g)}),x(a,`aria-current`,n(i).id===n(g)?`true`:void 0),a.disabled=Z.sending,x(a,`title`,e),t(_,r)},[()=>he(n(i).updatedAt),()=>ge(n(i).updatedAt)]),l(`click`,a,()=>C(n(i).id)),T(r,a)}),S(c);var u=e(c,2),d=e=>{var r=jt(),i=m(r);S(r),o(()=>t(i,`Show all (${n(b)??``} more)`)),l(`click`,r,()=>j(s,!0)),T(e,r)};E(u,e=>{!n(s)&&n(b)>0&&e(d)}),T(r,a)};E(L,e=>{n(f)?e(R):n(h)?e(ee,1):n(d).length===0?e(te,2):e(z,-1)});var B=e(L,4);S(P),o(()=>B.disabled=Z.sending),l(`click`,B,D),T(r,P),A()}s([`click`]);var Ft=d(`<button type="button" class="trigger svelte-cihcnl" aria-haspopup="dialog" aria-label="Sessions"><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 aria-hidden="true"></span> <span class="label svelte-cihcnl"> </span> <span class="caret svelte-cihcnl" aria-hidden="true">▾</span></button> <!>`,1);function It(r,i){v(i,!0);let a=O(!1),s=w(()=>$.active),c=w(()=>n(s)?Z.byEndpoint.get(n(s).id)??null:null),u=w(()=>n(c)?.sessions??[]),d=w(()=>Z.activeSessionId),f=w(()=>Z.liveConnected),h=w(()=>n(u).find(e=>e.id===n(d))??null),g=w(()=>n(h)?Ct(n(h).title):`New session`);var _=Ft(),b=p(_),C=e(m(b),2);let E;var D=e(C,2),k=m(D,!0);S(D),y(2),S(b);var M=e(b,2);{let e=w(()=>n(s)?.label??`this endpoint`);Q(M,{get open(){return n(a)},get title(){return`Sessions on ${n(e)??``}`},onClose:()=>j(a,!1),width:`26rem`,children:(e,t)=>{Pt(e,{onChosen:()=>j(a,!1)})},$$slots:{default:!0}})}o(()=>{x(b,`aria-expanded`,n(a)),x(b,`title`,n(g)),E=N(C,1,`dot svelte-cihcnl`,null,E,{connected:n(f)}),x(C,`title`,n(f)?`Live updates connected`:`Live updates disconnected`),t(k,n(g))}),l(`click`,b,()=>j(a,!0)),T(r,_),A()}s([`click`]);var Lt=d(`<span class="voice-interim svelte-7elv0w" aria-hidden="true"> </span>`),Rt=d(`<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>`),zt=f(`<path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path><path d="M19.07 4.93a10 10 0 0 1 0 14.14"></path>`,1),Bt=f(`<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>`,1),Vt=d(`<button><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7elv0w"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="svelte-7elv0w"></polygon><!></svg></button>`),Ht=f(`<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>`),Ut=d(`<span class="voice-spinner svelte-7elv0w" aria-hidden="true"></span>`),Wt=d(`<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>`,1),Gt=f(`<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>`),Kt=d(`<div class="voice-control svelte-7elv0w" role="toolbar" aria-label="Voice controls"><!> <!> <!> <button><!></button> <span class="sr-only svelte-7elv0w" aria-live="polite"> </span></div>`);function qt(r,i){v(i,!0);let a=O(!1),s=null;k(()=>{se().then(()=>{j(a,!0)}),s=window.openpalm?.onGlobalMicToggle?.(()=>{b()})??null}),D(()=>{typeof window<`u`&&window.openpalm?.setTrayMicRecording?.(!1),s?.(),s=null,ae()}),c(()=>{n(a)&&window.openpalm?.setTrayMicRecording?.(n(f))});let u=w(()=>n(a)&&W.sttEngine!==`disabled`&&W.sttSupported),d=w(()=>n(a)&&W.ttsSupported),f=w(()=>W.status===`recording`),h=w(()=>W.status===`transcribing`),g=w(()=>!n(f)&&!n(h)&&Z.sending),_=w(()=>W.status===`speaking`);async function b(){if(n(g))return;if(n(f)){te();return}if(n(h))return;re();let e=window.openpalm;if(e?.requestMicPermission){let t=await e.requestMicPermission();if(t===`denied-no-prompt`){W.errorMessage=`This OpenPalm build cannot request microphone access on macOS. Please update to the latest version of the desktop app.`;return}if(t===`denied`||t===`restricted`){W.errorMessage=`Microphone access is turned off. In the System Settings window that just opened, enable OpenPalm under Microphone, then quit and reopen the app.`;return}}le(e=>{let t=e.trim();t&&Z.send(t)})}function C(){ee(!W.ttsAutoEnabled)}var M=Kt(),P=m(M),F=e=>{var n=Lt(),r=m(n,!0);S(n),o(e=>{x(n,`title`,W.interimTranscript),t(r,e)},[()=>W.interimTranscript.length>48?W.interimTranscript.slice(0,48)+`…`:W.interimTranscript]),T(e,n)};E(P,e=>{n(f)&&W.interimTranscript&&e(F)});var I=e(P,2),L=e=>{var t=Rt();l(`click`,t,()=>ne()),T(e,t)};E(I,e=>{W.autoplayBlocked&&e(L)});var R=e(I,2),z=t=>{var r=Vt();let i;var a=m(r),s=e(m(a)),c=t=>{var r=zt(),i=p(r);let a;var s=e(i);let c;o(()=>{a=N(i,0,`svelte-7elv0w`,null,a,{"wave-anim":n(_)}),c=N(s,0,`svelte-7elv0w`,null,c,{"wave-anim-2":n(_)})}),T(t,r)},u=e=>{var t=Bt();y(),T(e,t)};E(s,e=>{W.ttsAutoEnabled?e(c):e(u,-1)}),S(a),S(r),o(()=>{i=N(r,1,`voice-btn svelte-7elv0w`,null,i,{"voice-btn-on":W.ttsAutoEnabled,"voice-btn-speaking":n(_)}),x(r,`aria-label`,W.ttsAutoEnabled?`Turn off spoken responses`:`Turn on spoken responses`),x(r,`aria-pressed`,W.ttsAutoEnabled),x(r,`title`,n(_)?`Speaking — click to turn off spoken responses`:W.ttsAutoEnabled?`Spoken responses are on — click to turn off`:`Spoken responses are off — click to turn on`)}),l(`click`,r,C),T(t,r)};E(R,e=>{n(d)&&e(z)});var B=e(R,2);let V;var ie=m(B),oe=e=>{T(e,Ht())},H=e=>{T(e,Ut())},ce=e=>{var t=Wt();y(2),T(e,t)},U=e=>{T(e,Gt())};E(ie,e=>{n(u)?n(h)||n(g)?e(H,1):n(f)?e(ce,2):e(U,-1):e(oe)}),S(B);var ue=e(B,2),G=m(ue,!0);S(ue),S(M),o(()=>{V=N(B,1,`voice-btn svelte-7elv0w`,null,V,{"voice-btn-active":n(f),"voice-btn-processing":n(g)||n(h),"voice-btn-disabled":!n(u)}),B.disabled=!n(u)||n(g),x(B,`aria-label`,n(u)?n(f)?`Stop recording`:n(h)?`Transcribing…`:n(g)?`Sending message…`:`Start recording`:`Voice input unavailable`),x(B,`aria-pressed`,n(f)),x(B,`title`,n(u)?n(f)?`Stop recording`:n(h)?`Transcribing…`:n(g)?`Sending message…`:`Speak — message will be sent to the selected assistant`:`Voice input is unavailable — no speech-to-text engine is configured for this browser`),t(G,n(f)&&W.interimTranscript?W.interimTranscript:n(f)?`Recording`:n(h)?`Transcribing`:n(g)?`Sending message to assistant`:n(_)?`Assistant is speaking`:W.ttsAutoEnabled?`Spoken responses on`:``)}),l(`click`,B,b),T(r,M),A()}s([`click`]);var Jt=e=>{T(e,Yt())},Yt=f(`<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>`),Xt=d(`<span class="chat-selectors svelte-66bgq1"><!> <!></span>`),Zt=d(`<header class="navbar svelte-66bgq1"><div class="navbar-inner svelte-66bgq1"><a class="navbar-brand svelte-66bgq1" 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"><!> <!> <!> <!></div></div></header>`);function Qt(t,r){v(r,!0);let i=w(()=>G.url?.pathname??``),a=w(()=>n(i)===`/admin`||n(i).startsWith(`/admin/`)),s=w(()=>n(i)===`/chat`||n(i).startsWith(`/chat/`)),c=w(()=>n(i)===`/advanced`||n(i).startsWith(`/advanced/`)),l=w(()=>n(s)||n(c)),u=w(()=>pt($.active?.url)),d=w(()=>{let e=G.url.searchParams.get(`session`)??Qe();return q.enabled?$e(e):et(e)});k(()=>{q.init()});var f=Zt(),p=m(f),h=m(p),g=e(h,2),_=m(g),y=e=>{K(e,{get href(){return n(d)},ariaLabel:`Back to chat`,title:`Chat`,get icon(){return Jt}})},b=e=>{ft(e,{get showManageAssistant(){return n(u)}})};E(_,e=>{n(a)?e(y):n(l)&&e(b,1)});var C=e(_,2),D=t=>{var n=Xt(),r=m(n);xt(r,{}),It(e(r,2),{}),S(n),T(t,n)};E(C,e=>{n(l)&&e(D)});var O=e(C,2);it(O,{}),qt(e(O,2),{}),S(g),S(p),S(f),o(()=>x(h,`href`,n(d))),T(t,f),A()}export{K as _,Q as a,Z as c,Ge as d,Ke as f,q as g,Oe as h,$ as i,Ue as l,Me as m,Pt as n,tt as o,Re as p,yt as r,$e as s,Qt as t,We as u,me as v};
|
|
5
|
+
`);o=i.pop()??``;for(let t of i){if(!t)continue;let n=Ie(t);if(n.id!==void 0&&(r=n.id),!n.data)continue;let i;try{i=JSON.parse(n.data)}catch(e){console.warn(`[session-events] Bad JSON in SSE frame`,e);continue}e.onEvent?.(i),Le(e,i)}}}finally{try{a.releaseLock()}catch{}}}return(async()=>{let r=0;for(;!t;)try{r++,await a(),r=0,t||await i(500)}catch(a){if(t)return;let o=a instanceof Error?a:Error(String(a));o.name!==`AbortError`&&(console.warn(`[session-events] SSE error, reconnecting`,o),e.onDisconnect?.(o)),await i(Math.min(Ne*2**Math.max(0,r-1),Pe)),n.signal.aborted&&!t&&(n=new AbortController)}})(),()=>{t=!0;try{n.abort()}catch{}}}var ze=`openpalm.desktop.notify`,Be=`openpalm.desktop.notify.preview`;function Ve(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`1`}catch{return!1}}function He(e,t){if(!(typeof window>`u`))try{window.localStorage.setItem(e,t?`1`:`0`)}catch{}}function Ue(){return Ve(ze)}function We(){return Ve(Be)}function Ge(e){He(ze,e)}function Ke(e){He(Be,e)}function qe(){return typeof document>`u`||document.hasFocus()||!Ue()?!1:typeof window<`u`&&typeof window.openpalm?.notify==`function`}function Je(e){if(!qe())return;let t=We()&&e.trim()?e.trim():`Assistant replied`;window.openpalm?.notify?.(`OpenPalm`,t)}function Ye(){qe()&&window.openpalm?.notify?.(`OpenPalm`,`Assistant error`)}var Xe=15e4;function X(){return{sessions:[],sessionsLoaded:!1,sessionsLoading:!1,sessionsError:``,activeSessionId:null}}var Z=new class{#e=O(b(new Map));get byEndpoint(){return n(this.#e)}set byEndpoint(e){j(this.#e,e,!0)}#t=O(`default`);get activeEndpointId(){return n(this.#t)}set activeEndpointId(e){j(this.#t,e,!0)}#n=O(b([]));get entries(){return n(this.#n)}set entries(e){j(this.#n,e,!0)}#r=O(!1);get entriesLoading(){return n(this.#r)}set entriesLoading(e){j(this.#r,e,!0)}#i=O(!1);get sending(){return n(this.#i)}set sending(e){j(this.#i,e,!0)}#a=O(``);get error(){return n(this.#a)}set error(e){j(this.#a,e,!0)}#o=O(``);get pendingAssistantText(){return n(this.#o)}set pendingAssistantText(e){j(this.#o,e,!0)}#s=O(b([]));get pendingToolStates(){return n(this.#s)}set pendingToolStates(e){j(this.#s,e,!0)}#c=O(null);get pendingPermission(){return n(this.#c)}set pendingPermission(e){j(this.#c,e,!0)}#l=O(null);get pendingQuestion(){return n(this.#l)}set pendingQuestion(e){j(this.#l,e,!0)}#u=O(!1);get liveConnected(){return n(this.#u)}set liveConnected(e){j(this.#u,e,!0)}_unsubscribeEvents=null;_pendingTurn=null;#d=w(()=>this.byEndpoint.get(this.activeEndpointId)?.activeSessionId??null);get activeSessionId(){return n(this.#d)}set activeSessionId(e){j(this.#d,e)}setEndpointState(e,t){let n={...this.byEndpoint.get(e)??X(),...t};return this.byEndpoint=new Map(this.byEndpoint).set(e,n),n}async onEndpointChanged(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}this.activeEndpointId=e,this.entries=[],this.error=``,this.byEndpoint.get(e)?.sessionsLoaded||await this.loadSessions();let t=this.byEndpoint.get(e)??X(),n=t.sessions,r=t.activeSessionId,i=null;r&&n.some(e=>e.id===r)?i=r:n.length>0&&(i=n[0].id),i!==t.activeSessionId&&this.setEndpointState(e,{activeSessionId:i}),i&&await this.openSession(i),this._resubscribeEvents()}_resubscribeEvents(){if(this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from previous event stream`,e)}this._unsubscribeEvents=null}this.liveConnected=!1,this._unsubscribeEvents=Re({onCreated:e=>{this._onSessionCreated(e)},onUpdated:(e,t)=>{this._onSessionUpdated(e,t)},onDeleted:e=>{this._onSessionDeleted(e)},onEvent:e=>{this._onLiveEvent(e)},onConnect:()=>{this.liveConnected=!0},onDisconnect:()=>{this.liveConnected=!1,this._pendingTurn&&this._failPendingTurn(Error(`Assistant event stream disconnected.`))}})}_toRawEvent(e){return{type:e.type,properties:e.properties??{}}}_upsertPendingToolState(e){let t=e.callID||`${e.tool}:${this.pendingToolStates.length}`,n={id:t,kind:`tool`,tool:e.tool,status:e.status,title:e.title??e.tool,detail:e.detail??``,output:e.output??``,error:e.error??``,updatedAt:Date.now()};if(!this.pendingToolStates.find(e=>e.id===t)){this.pendingToolStates=[...this.pendingToolStates,n];return}this.pendingToolStates=this.pendingToolStates.map(e=>e.id===t?{...e,...n}:e)}_upsertPendingStepState(e){let t={id:e.id,kind:`step`,tool:`step`,status:e.status,title:e.title,detail:e.detail??``,output:``,error:``,updatedAt:Date.now()};if(!this.pendingToolStates.find(t=>t.id===e.id)){this.pendingToolStates=[...this.pendingToolStates,t];return}this.pendingToolStates=this.pendingToolStates.map(n=>n.id===e.id?{...n,...t}:n)}_resetPendingRenderState(){this.pendingAssistantText=``,this.pendingToolStates=[],this.pendingPermission=null,this.pendingQuestion=null}_appendAssistantReply(e,t){let n={id:crypto.randomUUID(),role:`assistant`,text:e,timestamp:Date.now(),...t&&t.length>0?{toolStates:[...t]}:{}};this.entries=[...this.entries,n]}_clearPendingTurn(){let e=this._pendingTurn;return e?(clearTimeout(e.timeout),this._pendingTurn=null,e):null}_finishPendingTurn(e){let t=this._clearPendingTurn();if(!t)return;let n=(e??this.pendingAssistantText).trim()||`(no response)`;if(this.pendingQuestion?.status===`answered`&&this.pendingQuestion.message){let e={id:crypto.randomUUID(),type:`note`,label:`Question answered`,text:this.pendingQuestion.message,timestamp:Date.now()};this.entries=[...this.entries,e]}let r=this.pendingToolStates.length>0?[...this.pendingToolStates]:void 0;this._appendAssistantReply(n,r),this._resetPendingRenderState(),this._bumpSession(t.sessionId),W.ttsSupported&&W.ttsAutoEnabled&&n&&n!==`(no response)`&&H(n,{mode:`chat_reply`,userText:t.userText,assistantText:n}),Je(n===`(no response)`?``:n),t.resolve()}_failPendingTurn(e){let t=this._clearPendingTurn();t&&(this._resetPendingRenderState(),t.reject(e))}_bumpSession(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t);if(!n)return;let r=Date.now(),i=n.sessions.find(t=>t.id===e),a=i?{...i,updatedAt:r}:{id:e,title:``,createdAt:r,updatedAt:r},o=n.sessions.filter(t=>t.id!==e);this.setEndpointState(t,{sessions:[a,...o]})}_onLiveEvent(e){let t=this._pendingTurn;if(!t)return;let n=this._toRawEvent(e);if(t.endpointId!==this.activeEndpointId)return;let r=Ce(n);r?.type===`reasoning`&&t.reasoningPartIds.add(r.partID);let i=we(n,t.sessionId,t.reasoningPartIds);i&&(this.pendingAssistantText+=i);let a=Oe(n,t.sessionId);a&&this._upsertPendingToolState(a);let o=Me(n,t.sessionId);o&&this._upsertPendingStepState(o);let s=Ae(n,t.sessionId);s&&(this.pendingPermission={...s,status:`pending`,decision:``,message:``});let c=je(n,t.sessionId);if(c&&(this.pendingQuestion={...c,status:`pending`,answers:c.questions.map(()=>``),message:``}),ke(n,t.sessionId)){this._failPendingTurn(Error(`Assistant session ended unexpectedly.`));return}Ee(n,t.sessionId)&&this._finishPendingTurn()}_onSessionCreated(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t)??X();if(n.sessions.some(t=>t.id===e))return;let r=Date.now(),i={id:e,title:``,createdAt:r,updatedAt:r};this.setEndpointState(t,{sessions:[i,...n.sessions],sessionsLoaded:!0})}_onSessionUpdated(e,t){let n=this.activeEndpointId,r=this.byEndpoint.get(n);if(!r)return;let i=r.sessions.findIndex(t=>t.id===e);if(i===-1)return;let a=r.sessions[i],o=[{...a,title:t?.title??a.title,updatedAt:t?.updatedAt??Date.now()},...r.sessions.filter(t=>t.id!==e)];o.sort((e,t)=>t.updatedAt-e.updatedAt),this.setEndpointState(n,{sessions:o})}async _onSessionDeleted(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t);if(!n||!n.sessions.some(t=>t.id===e))return;let r=n.sessions.filter(t=>t.id!==e),i=n.activeSessionId===e,a=i?r[0]?.id??null:n.activeSessionId;this.setEndpointState(t,{sessions:r,activeSessionId:a}),i&&(this.entries=[],a&&await this.openSession(a))}async loadSessions(){let e=this.activeEndpointId;this.setEndpointState(e,{sessionsLoading:!0,sessionsError:``});try{let t=await R();this.setEndpointState(e,{sessions:t,sessionsLoaded:!0,sessionsLoading:!1,sessionsError:``})}catch(t){let n=t,r=n.status===503||n.status===502?`Assistant is not reachable.`:n.message??`Failed to load sessions.`;this.setEndpointState(e,{sessionsLoading:!1,sessionsError:r})}}async openSession(e){if(this.sending){this.error=`Wait for the current reply to finish before switching.`;return}let t=this.activeEndpointId;this.setEndpointState(t,{activeSessionId:e}),this.entries=[],this._resetPendingRenderState(),this.entriesLoading=!0,this.error=``;try{let n=await L(e);this.activeEndpointId===t&&this.byEndpoint.get(t)?.activeSessionId===e&&(this.entries=n)}catch(e){let t=e;t.status===503||t.status===502?this.error=`Assistant is not reachable. Try reconnecting.`:t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Failed to load messages.`}finally{this.entriesLoading=!1}}async startNewSession(){if(this.sending)return this.error=`Wait for the current reply to finish before switching.`,null;let e=this.activeEndpointId;this.error=``;try{let{id:t}=await ue(),n=Date.now(),r={id:t,title:``,createdAt:n,updatedAt:n},i=this.byEndpoint.get(e)??X();return this.setEndpointState(e,{sessions:[r,...i.sessions.filter(e=>e.id!==t)],sessionsLoaded:!0,activeSessionId:t}),this.entries=[],this._resetPendingRenderState(),t}catch(e){let t=e;return this.error=`Failed to start session: ${t.message??`unknown error`}`,null}}async send(e){let t=e.trim();if(!t)return;if(this.pendingQuestion&&this.pendingQuestion.questions.length===1&&this.sending){await this.answerQuestion(t);return}if(this.pendingQuestion&&this.sending){this.pendingQuestion={...this.pendingQuestion,status:`error`,message:`This question has multiple parts and must be answered with the provided controls.`};return}if(this.sending)return;let n=this.activeSessionId;if(!n&&(n=await this.startNewSession(),!n))return;let r={id:crypto.randomUUID(),role:`user`,text:t,timestamp:Date.now()};this.entries=[...this.entries,r],this._resetPendingRenderState(),this.error=``,this.sending=!0,W.ttsSupported&&W.ttsAutoEnabled&&H(`Working on it.`,{mode:`chat_ack`,userText:t});try{if(this._unsubscribeEvents&&this.liveConnected)await new Promise((e,r)=>{let i=setTimeout(()=>{this._failPendingTurn(Error(`Timed out waiting for the assistant response.`))},Xe);this._pendingTurn={endpointId:this.activeEndpointId,sessionId:n,userText:t,reasoningPartIds:new Set,resolve:e,reject:r,timeout:i},B(n,t).catch(e=>{this._failPendingTurn(e instanceof Error?e:Error(String(e)))})});else{let e=(await oe(n,t)).parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``).trim()||`(no response)`,r=this.pendingToolStates.length>0?[...this.pendingToolStates]:void 0;this._appendAssistantReply(e,r),this._resetPendingRenderState(),this._bumpSession(n),W.ttsSupported&&W.ttsAutoEnabled&&e!==`(no response)`&&H(e,{mode:`chat_reply`,userText:t,assistantText:e}),Je(e===`(no response)`?``:e)}}catch(e){let t=e;this._resetPendingRenderState(),t.status===503||t.status===502?(this.error=`Assistant is not reachable. Try reconnecting.`,this.setEndpointState(this.activeEndpointId,{activeSessionId:null})):t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Message failed.`,Ye()}finally{this.sending=!1}}async answerPermission(e){if(!this.pendingPermission||this.pendingPermission.status===`submitting`)return;let t=this.pendingPermission;this.pendingPermission={...t,status:`submitting`,decision:e,message:``};try{await V(t.requestID,e),this.pendingPermission={...t,status:`resolved`,decision:e,message:e===`once`?`Allowed ${t.permission} once. Waiting for the assistant to continue...`:e===`always`?`Always allowed future matching ${t.permission} requests.`:`Denied ${t.permission}. Waiting for the assistant to continue...`}}catch(n){let r=n instanceof Error?n.message:`Failed to record permission reply.`;this.pendingPermission={...t,status:`error`,decision:e,message:r}}}setQuestionAnswer(e,t){if(!this.pendingQuestion||e<0||e>=this.pendingQuestion.questions.length)return;let n=[...this.pendingQuestion.answers];n[e]=t,this.pendingQuestion={...this.pendingQuestion,answers:n,message:``}}async answerQuestion(e){if(!this.pendingQuestion||this.pendingQuestion.status===`submitting`)return;let t=this.pendingQuestion,n=t.questions.length===1&&typeof e==`string`?[e.trim()]:t.answers.map(e=>e.trim());if(n.some(e=>!e)){this.pendingQuestion={...t,status:`error`,message:`Answer every question before submitting.`};return}this.pendingQuestion={...t,status:`submitting`,answers:n,message:``};try{await z(t.requestID,n.map(e=>[e])),this.pendingQuestion={...t,status:`answered`,answers:n,message:`Answer sent.`}}catch(e){let r=e instanceof Error?e.message:`Failed to send answer.`;this.pendingQuestion={...t,status:`error`,answers:n,message:r}}}async rejectQuestion(){if(!this.pendingQuestion||this.pendingQuestion.status===`submitting`)return;let e=this.pendingQuestion;this.pendingQuestion={...e,status:`submitting`,message:``};try{await ce(e.requestID),this.pendingQuestion={...e,status:`rejected`,message:`Question declined.`}}catch(t){let n=t instanceof Error?t.message:`Failed to reject question.`;this.pendingQuestion={...e,status:`error`,message:n}}}reset(){if(re(),this._clearPendingTurn(),this.entries=[],this.error=``,this._resetPendingRenderState(),this.byEndpoint=new Map,this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from event stream during reset`,e)}this._unsubscribeEvents=null}this.liveConnected=!1}};function Ze(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/=+$/g,``)}function Qe(){return Z.activeSessionId}function $e(e){let t=new URLSearchParams;e&&t.set(`session`,e);let n=t.toString();return n?`/advanced?${n}`:`/advanced`}function et(e,t){let n=new URLSearchParams;e&&n.set(`session`,e),t?.newChat&&n.set(`new`,`1`);let r=n.toString();return r?`/chat?${r}`:`/chat`}function tt(e,t,n){return!t||!n?e:`${e.replace(/\/$/,``)}/${Ze(n)}/session/${encodeURIComponent(t)}`}var nt=e=>{T(e,rt())},rt=f(`<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>`);function it(e,t){v(t,!0);let r=w(()=>G.url?.pathname??``),i=w(()=>n(r)===`/admin`||n(r).startsWith(`/admin/`));w(()=>n(r)===`/advanced`||n(r).startsWith(`/advanced/`));function a(){let e=q.toggle();if(n(i))return;let t=G.url.searchParams.get(`session`)??Qe();P(e?$e(t):et(t))}xe(e,{get pressed(){return q.enabled},onToggle:a,ariaLabel:`Advanced mode`,title:`Advanced mode (embedded OpenCode)`,get icon(){return nt}}),A()}var at=d(`<footer class="drawer-footer svelte-1u2o1qj"><!></footer>`),ot=d(`<div class="drawer-scrim svelte-1u2o1qj"></div> <div class="drawer svelte-1u2o1qj" role="dialog" aria-modal="true" tabindex="-1"><header class="drawer-header svelte-1u2o1qj"><!> <h3 class="drawer-title svelte-1u2o1qj"> </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"><!></div> <!></div>`,1);function Q(n,i){v(i,!0);let a=g(i,`width`,3,`32rem`);function s(e){return Array.from(e.querySelectorAll(`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)).filter(e=>!e.hasAttribute(`hidden`)&&e.getAttribute(`aria-hidden`)!==`true`)}function c(e){let t=document.activeElement,n=e.querySelector(`.drawer-body`);return((n&&s(n)[0])??s(e)[0]??e).focus(),()=>t?.focus?.()}function d(e){if(e.key===`Escape`){i.onClose();return}if(e.key!==`Tab`)return;let t=e.currentTarget,n=s(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n[0],a=n[n.length-1],o=document.activeElement;e.shiftKey&&(o===r||o===t)?(e.preventDefault(),a.focus()):!e.shiftKey&&o===a&&(e.preventDefault(),r.focus())}var f=u(),h=p(f),y=n=>{var s=ot(),f=p(s),h=e(f,2),g=m(h),v=m(g),y=e=>{var t=u();r(p(t),()=>i.headerStart),T(e,t)};E(v,e=>{i.headerStart&&e(y)});var b=e(v,2),C=m(b,!0);S(b);var w=e(b,2);S(g);var D=e(g,2);r(m(D),()=>i.children),S(D);var O=e(D,2),k=e=>{var t=at();r(m(t),()=>i.footer),S(t),T(e,t)};E(O,e=>{i.footer&&e(k)}),S(h),_(h,()=>c),o(()=>{M(h,`--drawer-width: ${a()??``}`),x(h,`aria-label`,i.title),t(C,i.title)}),l(`click`,f,function(...e){i.onClose?.apply(this,e)}),l(`keydown`,h,d),l(`click`,w,function(...e){i.onClose?.apply(this,e)}),T(n,s)};E(h,e=>{i.open&&e(y)}),T(n,f),A()}s([`click`,`keydown`]);var st=e=>{T(e,ct())},ct=f(`<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>`),lt=d(`<a class="settings-link svelte-4kbm5j" href="/admin">Manage this assistant...</a>`),ut=d(`<div class="settings-drawer svelte-4kbm5j"><label class="field svelte-4kbm5j" for="theme-preference"><span class="field-label svelte-4kbm5j">Theme</span> <select id="theme-preference" class="field-select svelte-4kbm5j"><option>System</option><option>Light</option><option>Dark</option></select></label> <nav class="settings-links svelte-4kbm5j" aria-label="Settings links"><!> <a class="settings-link svelte-4kbm5j" href="/admin/endpoints">Manage assistant connections...</a></nav></div>`),dt=d(`<!> <!>`,1);function ft(t,r){v(r,!0);let i=g(r,`showManageAssistant`,3,!0),a=O(!1);F(()=>{j(a,!1)});function s(e){let t=e.currentTarget.value;(t===`light`||t===`dark`||t===`system`)&&U.setPreference(t)}var c=dt(),u=p(c);K(u,{get icon(){return st},ariaLabel:`Settings`,title:`Settings`,get selected(){return n(a)},get ariaPressed(){return n(a)},onclick:()=>j(a,!0)}),Q(e(u,2),{get open(){return n(a)},title:`Settings`,onClose:()=>j(a,!1),width:`24rem`,children:(t,n)=>{var r=ut(),c=m(r),u=e(m(c),2),d=m(u);d.value=d.__value=`system`;var f=e(d);f.value=f.__value=`light`;var p=e(f);p.value=p.__value=`dark`,S(u);var g;C(u),S(c);var _=e(c,2),v=m(_),y=e=>{var t=lt();l(`click`,t,()=>j(a,!1)),T(e,t)};E(v,e=>{i()&&e(y)});var b=e(v,2);S(_),S(r),o(()=>{g!==(g=U.preference)&&(u.value=(u.__value=U.preference)??``,h(u,U.preference))}),l(`change`,u,s),l(`click`,b,()=>j(a,!1)),T(t,r)},$$slots:{default:!0}}),T(t,c),A()}s([`change`,`click`]);var $=new class{#e=O(b([]));get endpoints(){return n(this.#e)}set endpoints(e){j(this.#e,e,!0)}#t=O(`default`);get activeId(){return n(this.#t)}set activeId(e){j(this.#t,e,!0)}#n=O(!1);get loading(){return n(this.#n)}set loading(e){j(this.#n,e,!0)}#r=O(!1);get loaded(){return n(this.#r)}set loaded(e){j(this.#r,e,!0)}#i=O(``);get error(){return n(this.#i)}set error(e){j(this.#i,e,!0)}#a=w(()=>this.endpoints.find(e=>e.id===this.activeId)??this.endpoints[0]??null);get active(){return n(this.#a)}set active(e){j(this.#a,e)}async load(e=!1){if(!this.loading&&!(this.loaded&&!e)){this.loading=!0,this.error=``;try{let{endpoints:e,activeId:t}=await I();this.endpoints=e,this.activeId=t,this.loaded=!0}catch(e){let t=e;t.status!==401&&(this.error=t.message??`Failed to load endpoints`)}finally{this.loading=!1}}}async activate(e){if(e===this.activeId)return;if(Z.sending)throw this.error=`Wait for the current reply to finish before switching.`,Error(this.error);let t=this.activeId;this.activeId=e;try{await ie(e),await Z.onEndpointChanged(e)}catch(e){this.activeId=t;let n=e;throw this.error=n.message??`Failed to switch endpoint`,e}}};function pt(e){if(!e)return!0;try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`host.docker.internal`}catch{return!0}}var mt=d(`<p class="list-error svelte-dlw00e" role="alert"> </p>`),ht=d(`<span class="sr-only svelte-dlw00e">(current)</span>`),gt=d(`<button type="button"><span class="item-text svelte-dlw00e"><span class="item-label svelte-dlw00e"> <!></span> <span class="item-url svelte-dlw00e"> </span></span></button>`),_t=d(`<a class="list-item link svelte-dlw00e" href="/admin">Manage this assistant…</a>`),vt=d(`<div class="endpoint-list svelte-dlw00e"><!> <div class="group" role="group" aria-label="Assistant endpoints"></div> <div class="divider svelte-dlw00e"></div> <!> <a class="list-item link svelte-dlw00e" href="/admin/endpoints">Manage assistant connections…</a></div>`);function yt(r,a){v(a,!0);let s=w(()=>$.active),c=w(()=>$.endpoints),u=w(()=>pt(n(s)?.url)),d=O(!1);async function f(e){if(!n(d)){if(e===n(s)?.id){a.onChosen?.();return}j(d,!0);try{await $.activate(e),a.onChosen?.()}catch{}finally{j(d,!1)}}}var p=vt(),h=m(p),g=e=>{var n=mt(),r=m(n,!0);S(n),o(()=>t(r,$.error)),T(e,n)};E(h,e=>{$.error&&e(g)});var _=e(h,2);i(_,21,()=>n(c),e=>e.id,(r,i)=>{var a=gt();let c;var u=m(a),p=m(u),h=m(p,!0),g=e(h),_=e=>{T(e,ht())};E(g,e=>{n(i).id===n(s)?.id&&e(_)}),S(p);var v=e(p,2),y=m(v,!0);S(v),S(u),S(a),o(()=>{c=N(a,1,`list-item svelte-dlw00e`,null,c,{active:n(i).id===n(s)?.id}),x(a,`aria-current`,n(i).id===n(s)?.id?`true`:void 0),a.disabled=n(d),t(h,n(i).label),t(y,n(i).url)}),l(`click`,a,()=>f(n(i).id)),T(r,a)}),S(_);var y=e(_,4),b=e=>{var t=_t();l(`click`,t,()=>a.onChosen?.()),T(e,t)};E(y,e=>{n(u)&&e(b)});var C=e(y,2);S(p),l(`click`,C,()=>a.onChosen?.()),T(r,p),A()}s([`click`]);var bt=d(`<button type="button" class="trigger svelte-48xr05" aria-haspopup="dialog"><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"> </span> <span class="caret svelte-48xr05" aria-hidden="true">▾</span></button> <!>`,1);function xt(r,i){v(i,!0);let a=O(!1),s=w(()=>$.active);k(()=>{$.load()});var c=bt(),u=p(c),d=e(m(u),4),f=m(d,!0);S(d),y(2),S(u),Q(e(u,2),{get open(){return n(a)},title:`Assistant endpoint`,onClose:()=>j(a,!1),width:`26rem`,children:(e,t)=>{yt(e,{onChosen:()=>j(a,!1)})},$$slots:{default:!0}}),o(()=>{x(u,`aria-expanded`,n(a)),x(u,`aria-label`,n(s)?`Assistant endpoint: ${n(s).label}`:`Assistant endpoints`),x(u,`title`,n(s)?`Connected to: ${n(s).label} (${n(s).url})`:`Assistant endpoints`),u.disabled=$.loading,t(f,n(s)?.label??`Endpoint…`)}),l(`click`,u,()=>j(a,!0)),T(r,c),A()}s([`click`]);var St=/^New session - (\d{4}-\d{2}-\d{2}T[0-9:.]+Z?)$/;function Ct(e){let t=(e??``).trim();if(!t)return`Untitled session`;let n=St.exec(t);if(n){let e=Date.parse(n[1]);if(!Number.isNaN(e))return he(e)}return t}function wt(e,r){v(r,!0);let i=w(()=>Ct(r.title));y();var s=a();o(()=>t(s,n(i))),T(e,s),A()}var Tt=d(`<div class="notice svelte-1o6rxhb">Wait for the current reply to finish before switching.</div>`),Et=d(`<div class="empty svelte-1o6rxhb"><!><span>Loading sessions…</span></div>`),Dt=d(`<div class="list-error svelte-1o6rxhb"><span class="svelte-1o6rxhb"> </span> <button type="button" class="retry-btn svelte-1o6rxhb">Retry</button></div>`),Ot=d(`<div class="empty svelte-1o6rxhb">No sessions yet. Start the first one.</div>`),kt=d(`<span class="sr-only svelte-1o6rxhb">(current)</span>`),At=d(`<button type="button"><span class="item-text svelte-1o6rxhb"><span class="item-label svelte-1o6rxhb"><!><!></span> <span class="item-meta svelte-1o6rxhb"> </span></span></button>`),jt=d(`<button type="button" class="show-all svelte-1o6rxhb"> </button>`),Mt=d(`<div class="session-list svelte-1o6rxhb" role="group" aria-label="Sessions"></div> <!>`,1),Nt=d(`<div class="session-body svelte-1o6rxhb"><!> <!> <div class="divider svelte-1o6rxhb"></div> <button type="button" class="list-item new-btn svelte-1o6rxhb"><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>`);function Pt(r,a){v(a,!0);let s=O(!1),c=w(()=>$.active),u=w(()=>n(c)?Z.byEndpoint.get(n(c).id)??null:null),d=w(()=>n(u)?.sessions??[]),f=w(()=>n(u)?.sessionsLoading??!1),h=w(()=>n(u)?.sessionsError??``),g=w(()=>Z.activeSessionId),_=w(()=>n(s)?n(d):n(d).slice(0,50)),b=w(()=>Math.max(0,n(d).length-50));k(()=>{n(c)&&!n(u)?.sessionsLoaded&&!n(f)&&Z.loadSessions()});async function C(e){Z.sending||(await Z.openSession(e),a.onChosen?.())}async function D(){Z.sending||(await Z.startNewSession(),a.onChosen?.())}async function M(){await Z.loadSessions()}var P=Nt(),F=m(P),I=e=>{T(e,Tt())};E(F,e=>{Z.sending&&e(I)});var L=e(F,2),R=e=>{var t=Et();de(m(t),{size:12}),y(),S(t),T(e,t)},ee=r=>{var i=Dt(),a=m(i),s=m(a,!0);S(a);var c=e(a,2);S(i),o(()=>t(s,n(h))),l(`click`,c,M),T(r,i)},z=e=>{T(e,Ot())},te=r=>{var a=Mt(),c=p(a);i(c,21,()=>n(_),e=>e.id,(r,i)=>{var a=At();let s;var c=m(a),u=m(c),d=m(u);wt(d,{get title(){return n(i).title}});var f=e(d),p=e=>{T(e,kt())};E(f,e=>{n(i).id===n(g)&&e(p)}),S(u);var h=e(u,2),_=m(h,!0);S(h),S(c),S(a),o((e,r)=>{s=N(a,1,`list-item session-item svelte-1o6rxhb`,null,s,{active:n(i).id===n(g)}),x(a,`aria-current`,n(i).id===n(g)?`true`:void 0),a.disabled=Z.sending,x(a,`title`,e),t(_,r)},[()=>he(n(i).updatedAt),()=>ge(n(i).updatedAt)]),l(`click`,a,()=>C(n(i).id)),T(r,a)}),S(c);var u=e(c,2),d=e=>{var r=jt(),i=m(r);S(r),o(()=>t(i,`Show all (${n(b)??``} more)`)),l(`click`,r,()=>j(s,!0)),T(e,r)};E(u,e=>{!n(s)&&n(b)>0&&e(d)}),T(r,a)};E(L,e=>{n(f)?e(R):n(h)?e(ee,1):n(d).length===0?e(z,2):e(te,-1)});var B=e(L,4);S(P),o(()=>B.disabled=Z.sending),l(`click`,B,D),T(r,P),A()}s([`click`]);var Ft=d(`<button type="button" class="trigger svelte-cihcnl" aria-haspopup="dialog" aria-label="Sessions"><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 aria-hidden="true"></span> <span class="label svelte-cihcnl"> </span> <span class="caret svelte-cihcnl" aria-hidden="true">▾</span></button> <!>`,1);function It(r,i){v(i,!0);let a=O(!1),s=w(()=>$.active),c=w(()=>n(s)?Z.byEndpoint.get(n(s).id)??null:null),u=w(()=>n(c)?.sessions??[]),d=w(()=>Z.activeSessionId),f=w(()=>Z.liveConnected),h=w(()=>n(u).find(e=>e.id===n(d))??null),g=w(()=>n(h)?Ct(n(h).title):`New session`);var _=Ft(),b=p(_),C=e(m(b),2);let E;var D=e(C,2),k=m(D,!0);S(D),y(2),S(b);var M=e(b,2);{let e=w(()=>n(s)?.label??`this endpoint`);Q(M,{get open(){return n(a)},get title(){return`Sessions on ${n(e)??``}`},onClose:()=>j(a,!1),width:`26rem`,children:(e,t)=>{Pt(e,{onChosen:()=>j(a,!1)})},$$slots:{default:!0}})}o(()=>{x(b,`aria-expanded`,n(a)),x(b,`title`,n(g)),E=N(C,1,`dot svelte-cihcnl`,null,E,{connected:n(f)}),x(C,`title`,n(f)?`Live updates connected`:`Live updates disconnected`),t(k,n(g))}),l(`click`,b,()=>j(a,!0)),T(r,_),A()}s([`click`]);var Lt=d(`<span class="voice-interim svelte-7elv0w" aria-hidden="true"> </span>`),Rt=d(`<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>`),zt=f(`<path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path><path d="M19.07 4.93a10 10 0 0 1 0 14.14"></path>`,1),Bt=f(`<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>`,1),Vt=d(`<button><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7elv0w"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="svelte-7elv0w"></polygon><!></svg></button>`),Ht=f(`<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>`),Ut=d(`<span class="voice-spinner svelte-7elv0w" aria-hidden="true"></span>`),Wt=d(`<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>`,1),Gt=f(`<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>`),Kt=d(`<div class="voice-control svelte-7elv0w" role="toolbar" aria-label="Voice controls"><!> <!> <!> <button><!></button> <span class="sr-only svelte-7elv0w" aria-live="polite"> </span></div>`);function qt(r,i){v(i,!0);let a=O(!1),s=null;k(()=>{se().then(()=>{j(a,!0)}),s=window.openpalm?.onGlobalMicToggle?.(()=>{b()})??null}),D(()=>{typeof window<`u`&&window.openpalm?.setTrayMicRecording?.(!1),s?.(),s=null,ae()}),c(()=>{n(a)&&window.openpalm?.setTrayMicRecording?.(n(f))});let u=w(()=>n(a)&&W.sttEngine!==`disabled`&&W.sttSupported),d=w(()=>n(a)&&W.ttsSupported),f=w(()=>W.status===`recording`),h=w(()=>W.status===`transcribing`),g=w(()=>!n(f)&&!n(h)&&Z.sending),_=w(()=>W.status===`speaking`);async function b(){if(n(g))return;if(n(f)){te();return}if(n(h))return;re();let e=window.openpalm;if(e?.requestMicPermission){let t=await e.requestMicPermission();if(t===`denied-no-prompt`){W.errorMessage=`This OpenPalm build cannot request microphone access on macOS. Please update to the latest version of the desktop app.`;return}if(t===`denied`||t===`restricted`){W.errorMessage=`Microphone access is turned off. In the System Settings window that just opened, enable OpenPalm under Microphone, then quit and reopen the app.`;return}}le(e=>{let t=e.trim();t&&Z.send(t)})}function C(){ee(!W.ttsAutoEnabled)}var M=Kt(),P=m(M),F=e=>{var n=Lt(),r=m(n,!0);S(n),o(e=>{x(n,`title`,W.interimTranscript),t(r,e)},[()=>W.interimTranscript.length>48?W.interimTranscript.slice(0,48)+`…`:W.interimTranscript]),T(e,n)};E(P,e=>{n(f)&&W.interimTranscript&&e(F)});var I=e(P,2),L=e=>{var t=Rt();l(`click`,t,()=>ne()),T(e,t)};E(I,e=>{W.autoplayBlocked&&e(L)});var R=e(I,2),z=t=>{var r=Vt();let i;var a=m(r),s=e(m(a)),c=t=>{var r=zt(),i=p(r);let a;var s=e(i);let c;o(()=>{a=N(i,0,`svelte-7elv0w`,null,a,{"wave-anim":n(_)}),c=N(s,0,`svelte-7elv0w`,null,c,{"wave-anim-2":n(_)})}),T(t,r)},u=e=>{var t=Bt();y(),T(e,t)};E(s,e=>{W.ttsAutoEnabled?e(c):e(u,-1)}),S(a),S(r),o(()=>{i=N(r,1,`voice-btn svelte-7elv0w`,null,i,{"voice-btn-on":W.ttsAutoEnabled,"voice-btn-speaking":n(_)}),x(r,`aria-label`,W.ttsAutoEnabled?`Turn off spoken responses`:`Turn on spoken responses`),x(r,`aria-pressed`,W.ttsAutoEnabled),x(r,`title`,n(_)?`Speaking — click to turn off spoken responses`:W.ttsAutoEnabled?`Spoken responses are on — click to turn off`:`Spoken responses are off — click to turn on`)}),l(`click`,r,C),T(t,r)};E(R,e=>{n(d)&&e(z)});var B=e(R,2);let V;var ie=m(B),H=e=>{T(e,Ht())},oe=e=>{T(e,Ut())},ce=e=>{var t=Wt();y(2),T(e,t)},U=e=>{T(e,Gt())};E(ie,e=>{n(u)?n(h)||n(g)?e(oe,1):n(f)?e(ce,2):e(U,-1):e(H)}),S(B);var ue=e(B,2),G=m(ue,!0);S(ue),S(M),o(()=>{V=N(B,1,`voice-btn svelte-7elv0w`,null,V,{"voice-btn-active":n(f),"voice-btn-processing":n(g)||n(h),"voice-btn-disabled":!n(u)}),B.disabled=!n(u)||n(g),x(B,`aria-label`,n(u)?n(f)?`Stop recording`:n(h)?`Transcribing…`:n(g)?`Sending message…`:`Start recording`:`Voice input unavailable`),x(B,`aria-pressed`,n(f)),x(B,`title`,n(u)?n(f)?`Stop recording`:n(h)?`Transcribing…`:n(g)?`Sending message…`:`Speak — message will be sent to the selected assistant`:`Voice input is unavailable — no speech-to-text engine is configured for this browser`),t(G,n(f)&&W.interimTranscript?W.interimTranscript:n(f)?`Recording`:n(h)?`Transcribing`:n(g)?`Sending message to assistant`:n(_)?`Assistant is speaking`:W.ttsAutoEnabled?`Spoken responses on`:``)}),l(`click`,B,b),T(r,M),A()}s([`click`]);var Jt=e=>{T(e,Yt())},Yt=f(`<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>`),Xt=d(`<span class="chat-selectors svelte-66bgq1"><!> <!></span>`),Zt=d(`<header class="navbar svelte-66bgq1"><div class="navbar-inner svelte-66bgq1"><a class="navbar-brand svelte-66bgq1" 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"><!> <!> <!> <!></div></div></header>`);function Qt(t,r){v(r,!0);let i=w(()=>G.url?.pathname??``),a=w(()=>n(i)===`/admin`||n(i).startsWith(`/admin/`)),s=w(()=>n(i)===`/chat`||n(i).startsWith(`/chat/`)),c=w(()=>n(i)===`/advanced`||n(i).startsWith(`/advanced/`)),l=w(()=>n(s)||n(c)),u=w(()=>pt($.active?.url)),d=w(()=>{let e=G.url.searchParams.get(`session`)??Qe();return q.enabled?$e(e):et(e)});k(()=>{q.init()});var f=Zt(),p=m(f),h=m(p),g=e(h,2),_=m(g),y=e=>{K(e,{get href(){return n(d)},ariaLabel:`Back to chat`,title:`Chat`,get icon(){return Jt}})},b=e=>{ft(e,{get showManageAssistant(){return n(u)}})};E(_,e=>{n(a)?e(y):n(l)&&e(b,1)});var C=e(_,2),D=t=>{var n=Xt(),r=m(n);xt(r,{}),It(e(r,2),{}),S(n),T(t,n)};E(C,e=>{n(l)&&e(D)});var O=e(C,2);it(O,{}),qt(e(O,2),{}),S(g),S(p),S(f),o(()=>x(h,`href`,n(d))),T(t,f),A()}export{K as _,Q as a,Z as c,Ge as d,Ke as f,q as g,Oe as h,$ as i,Ue as l,Me as m,Pt as n,tt as o,Re as p,yt as r,$e as s,Qt as t,We as u,me as v};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,et as t,nt as n,tt as r}from"./BBI__kVO.js";var i=[`audio/webm;codecs=opus`,`audio/webm`];function a(){let e=globalThis.MediaRecorder;if(!(!e||typeof e.isTypeSupported!=`function`)){for(let t of i)if(e.isTypeSupported(t))return t}}async function o(){if(typeof window>`u`)throw Error(`Recording is only available in the browser.`);if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)throw Error(`Recording is not supported in this browser.`);let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name??``;throw Error(t===`NotAllowedError`||t===`SecurityError`?`Microphone access denied. Open System Settings → Privacy & Security → Microphone and enable OpenPalm, then restart the app.`:t===`NotFoundError`||t===`OverconstrainedError`?`No microphone was found. Plug in a microphone and try again.`:`Microphone error: ${e?.message??String(e)}`)}let t=a(),n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e),r=[];n.addEventListener(`dataavailable`,e=>{let t=e.data;t&&t.size>0&&r.push(t)});let i=!1,o=!1,s=null,c=null;function l(){for(let t of e.getTracks())try{t.stop()}catch{}}return n.addEventListener(`stop`,()=>{if(l(),o)return;let e=new Blob(r,{type:n.mimeType||t||`audio/webm`});s?.(e)}),n.addEventListener(`error`,e=>{l();let t=e?.error??Error(`Recorder error`);c?.(t)}),n.start(),{stop(){return i?Promise.reject(Error(`Recorder already stopped`)):(i=!0,new Promise((e,t)=>{s=e,c=t;try{n.state!==`inactive`&&n.stop()}catch(e){l(),t(e)}}))},cancel(){if(!i){i=!0,o=!0;try{n.state!==`inactive`&&n.stop()}catch{}l()}}}}function s(e){if(typeof e==`string`)return e;if(e==null)return``;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return``}}function c(...e){for(let t of e){let e=s(t);if(e)return e}return``}function l(e,t){if(e.type!==`tool`&&!e.state)return null;let n=e.state?.status??`running`;return{id:e.callID??e.id??t,kind:`tool`,tool:e.tool??`tool`,status:n,title:e.state?.title??e.tool??`tool`,detail:c(e.state?.input,e.state?.metadata,e.state?.progress,e.state?.output),output:s(e.state?.output),error:e.state?.error??``,updatedAt:Date.now()}}var ee=``;function u(){return{"x-request-id":crypto.randomUUID(),"x-requested-by":`ui`}}async function d(e,t,n){let r={...n===void 0?{}:{"content-type":`application/json`},...u()};return fetch(`${ee}${t}`,{method:e,headers:r,credentials:`include`,...n===void 0?{}:{body:JSON.stringify(n)}})}async function f(e,t=`Request failed (HTTP ${e.status})`){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.clone().json().catch(e=>(console.warn(`[api] Failed to parse JSON error response:`,e),null));if(t&&typeof t.message==`string`&&t.message.length>0)return t.message;if(t&&typeof t.error==`string`&&t.error.length>0)return t.error}return await e.text().catch(e=>(console.warn(`[api] Failed to read error response text:`,e),``))||t}async function p(e,t){if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!e.ok)throw Error(await f(e,t));return e}async function m(){let[e,t]=await Promise.all([d(`GET`,`/health`),d(`GET`,`/guardian/health`).catch(e=>(console.warn(`[api] Guardian health check failed:`,e),null))]),n=await e.json(),r=null;if(t)try{r=await t.json()}catch(e){console.warn(`[api] Failed to parse guardian health response:`,e),r={status:`unavailable`,service:`guardian`}}return{admin:n,guardian:r}}async function te(){return await(await p(await d(`GET`,`/admin/containers/list`))).json()}async function ne(e,t){await p(await d(`POST`,{start:`/admin/containers/up`,stop:`/admin/containers/down`,restart:`/admin/containers/restart`}[e],{service:t}))}async function re(){let e=await d(`POST`,`/admin/update`,{});if(e.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!(e.headers.get(`content-type`)??``).includes(`application/json`))throw Error(await f(e,`Apply failed (HTTP ${e.status})`));return await e.json()}async function ie(){return await(await p(await d(`POST`,`/admin/upgrade`,{}))).json()}async function ae(){return await(await p(await d(`GET`,`/admin/versions`))).json()}async function oe(){try{let e=await d(`GET`,`/admin/versions/releases`);return e.ok?await e.json():{releases:[]}}catch{return{releases:[]}}}async function se(){try{let e=await d(`GET`,`/admin/versions/ui`);return e.ok?await e.json():{versions:[]}}catch{return{versions:[]}}}var h=class extends Error{code=`downgrade_confirmation_required`;currentVersion;targetVersion;constructor(e,t,n){super(e),this.name=`DowngradeConfirmationRequiredError`,this.currentVersion=t,this.targetVersion=n}};async function ce(e,t={}){let n=await d(`PATCH`,`/admin/stack-version`,{tag:e,...t.confirmDowngrade?{confirmDowngrade:!0}:{}});if(n.status===409){let t={};try{t=await n.clone().json()}catch{}if(t.error===`downgrade_confirmation_required`)throw new h(t.message??`This is a downgrade and requires confirmation.`,t.details?.currentVersion??``,t.details?.targetVersion??e)}return await p(n),await n.json()}async function le(e){return await(await p(await d(`POST`,`/admin/migrate-preview`,{tag:e}))).json()}async function ue(){return await(await p(await d(`GET`,`/admin/backups`))).json()}async function de(e){return await(await p(await d(`POST`,`/admin/backups`,{keep:e}))).json()}async function fe(){return await(await p(await d(`GET`,`/admin/secret-notice`))).json()}async function pe(){return await(await p(await d(`DELETE`,`/admin/secret-notice`))).json()}async function me(){return await(await p(await d(`GET`,`/admin/unlock`))).json()}async function he(){return await(await p(await d(`POST`,`/admin/unlock`))).json()}async function ge(e){return await(await p(await d(`POST`,`/admin/ui-version`,{tag:e}))).json()}async function _e(){return await(await p(await d(`GET`,`/admin/automations`))).json()}async function ve(e){return await(await p(await d(`POST`,`/admin/automations/${encodeURIComponent(e)}/run`))).json()}async function ye(e,t=200){let n=new URLSearchParams({limit:String(t)});return await(await p(await d(`GET`,`/admin/automations/${encodeURIComponent(e)}/log?${n.toString()}`))).json()}async function be(e){let t=new URLSearchParams;e?.service&&t.set(`service`,e.service),e?.tail&&t.set(`tail`,String(e.tail)),e?.since&&t.set(`since`,e.since);let n=t.toString();return await(await p(await d(`GET`,`/admin/logs${n?`?${n}`:``}`))).json()}async function xe(){return(await(await p(await d(`GET`,`/admin/addons`))).json()).addons}async function Se(e,t,n){let r={enabled:t};return n&&(r.env=n),await(await p(await d(`POST`,`/admin/addons/${encodeURIComponent(e)}`,r))).json()}async function g(e){return(await(await p(await d(`GET`,`/admin/addons/${encodeURIComponent(e)}/credentials`))).json()).fields}async function _(e,t){return await(await p(await d(`POST`,`/admin/addons/${encodeURIComponent(e)}/credentials`,{values:t}))).json()}async function v(){return await(await p(await d(`GET`,`/admin/secrets`))).json()}async function y(e){return await(await p(await d(`GET`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function b(e,t){return await(await p(await d(`PUT`,`/admin/secrets/${encodeURIComponent(e)}`,{value:t}))).json()}async function x(e){return await(await p(await d(`DELETE`,`/admin/secrets/${encodeURIComponent(e)}`))).json()}async function S(e){return await(await p(await d(`GET`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function C(e,t){return await(await p(await d(`PUT`,`/admin/automations/${encodeURIComponent(e)}/file`,{content:t}))).json()}async function w(e){return await(await p(await d(`DELETE`,`/admin/automations/${encodeURIComponent(e)}/file`))).json()}async function T(){return await(await p(await d(`GET`,`/admin/voice`))).json()}async function E(e){let t=await d(`PUT`,`/admin/voice`,e);if(t.status===401)throw Object.assign(Error(`Invalid password.`),{status:401});if(t.status===200||t.status===202||t.status===502)return{...await t.json(),status:t.status};throw Error(await f(t))}async function D(e,t){let n=new FormData;n.append(`audio`,e,`recording.webm`),t?.language&&n.append(`language`,t.language),t?.prompt&&n.append(`prompt`,t.prompt);let r=await(await p(await fetch(`/api/transcribe`,{method:`POST`,headers:u(),credentials:`include`,body:n}))).json();return typeof r.text==`string`?r.text:``}async function O(){return await(await p(await d(`GET`,`/admin/akm`))).json()}async function k(e){return await(await p(await d(`PATCH`,`/admin/akm`,e))).json()}async function A(){return await(await p(await d(`POST`,`/admin/akm/embedding/detect`,{}))).json()}async function j(e){return await(await p(await d(`POST`,`/admin/akm/embedding/test`,e))).json()}async function Ce(){return await(await p(await d(`POST`,`/admin/akm/reindex`,{}))).json()}async function we(){return await(await p(await d(`GET`,`/admin/assistant`))).json()}async function Te(e){return await(await p(await d(`PUT`,`/admin/assistant`,e))).json()}async function Ee(){return await(await p(await d(`GET`,`/admin/akm/health`))).json()}async function De(){return await(await p(await d(`GET`,`/admin/akm/stats`))).json()}async function Oe(){return await(await p(await d(`GET`,`/admin/akm/host-sharing`))).json()}async function ke(e={}){return await(await p(await d(`PUT`,`/admin/akm/host-sharing`,e))).json()}async function Ae(){return await(await p(await d(`DELETE`,`/admin/akm/host-sharing`))).json()}async function je(){await p(await d(`POST`,`/admin/containers/pull`,{}))}async function Me(){return await(await p(await d(`GET`,`/admin/endpoints`))).json()}async function Ne(e){return await(await p(await d(`POST`,`/admin/endpoints`,e))).json()}async function Pe(e,t){return await(await p(await d(`PATCH`,`/admin/endpoints/${encodeURIComponent(e)}`,t))).json()}async function Fe(e){await p(await d(`DELETE`,`/admin/endpoints/${encodeURIComponent(e)}`))}async function Ie(e){return await(await p(await d(`POST`,`/admin/endpoints/active`,{id:e}))).json()}async function Le(){return await(await p(await d(`POST`,`/proxy/assistant/session`,{}))).json()}async function Re(){let e=(await(await p(await d(`GET`,`/proxy/assistant/session`))).json()).map(e=>({id:e.id,title:e.title??``,createdAt:e.time?.created??0,updatedAt:e.time?.updated??e.time?.created??0}));return e.sort((e,t)=>t.updatedAt-e.updatedAt),e}async function ze(e){let t=await(await p(await d(`GET`,`/proxy/assistant/session/${encodeURIComponent(e)}/message`))).json(),n=[];for(let e of t){let t=e.info.time?.created??Date.now(),r=``,i=0,a=[];e.parts.forEach((t,n)=>{if(t.type===`text`&&t.text){r+=t.text;return}if(t.type===`tool`||t.state){let r=l(t,`${e.info.id}:${n}`);if(!r)return;a.push(r)}}),(()=>{let o=r.trim();if(r=``,!(!o&&a.length===0)){if(o){let r={id:i===0?e.info.id:`${e.info.id}:text:${i}`,role:e.info.role,text:o,timestamp:t};a.length>0&&(r.toolStates=[...a],a.length=0),n.push(r),i+=1}else if(a.length>0){let r={id:`${e.info.id}:tools:${i}`,type:`tool-group`,toolStates:[...a],timestamp:t};a.length=0,n.push(r),i+=1}}})()}return n}async function Be(e,t){let n=await fetch(`/proxy/assistant/session/${encodeURIComponent(e)}/message`,{method:`POST`,headers:{"content-type":`application/json`,...u()},credentials:`include`,body:JSON.stringify({parts:[{type:`text`,text:t}]}),signal:AbortSignal.timeout(15e4)});if(n.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!n.ok){let e=await f(n);throw Object.assign(Error(e),{status:n.status})}return await n.json()}async function Ve(e,t){let n=await fetch(`/proxy/assistant/session/${encodeURIComponent(e)}/message`,{method:`POST`,headers:{"content-type":`application/json`,...u()},credentials:`include`,body:JSON.stringify({parts:[{type:`text`,text:t}]}),signal:AbortSignal.timeout(15e4)});if(n.status===401)throw Object.assign(Error(`Sign-in required.`),{status:401});if(!n.ok){let e=await f(n);throw Object.assign(Error(e),{status:n.status})}}async function He(e,t){await(await p(await d(`POST`,`/proxy/assistant/permission/${encodeURIComponent(e)}/reply`,{reply:t}))).text().catch(()=>``)}async function Ue(e,t){await(await p(await d(`POST`,`/proxy/assistant/question/${encodeURIComponent(e)}/reply`,{answers:t}))).text().catch(()=>``)}async function We(e){await(await p(await d(`POST`,`/proxy/assistant/question/${encodeURIComponent(e)}/reject`,{}))).text().catch(()=>``)}async function Ge(){try{return(await fetch(`/proxy/assistant/provider`,{method:`GET`,headers:u(),credentials:`include`,signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}var Ke={info:4e3,success:5e3,error:8e3},M=new class{#e=n(t([]));get toasts(){return e(this.#e)}set toasts(e){r(this.#e,e,!0)}timers=new Map;push(e,t,n={}){let r=n.replaceId??(typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`t-${Date.now()}-${Math.random().toString(36).slice(2)}`),i=n.sticky?null:n.ttlMs??Ke[e],a={id:r,kind:e,message:t,ttlMs:i},o=this.timers.get(r);o&&(clearTimeout(o),this.timers.delete(r));let s=this.toasts.findIndex(e=>e.id===r);if(s>=0){let e=[...this.toasts];e[s]=a,this.toasts=e}else this.toasts=[...this.toasts,a];if(i!==null){let e=setTimeout(()=>this.dismiss(r),i);this.timers.set(r,e)}return r}dismiss(e){let t=this.timers.get(e);t&&(clearTimeout(t),this.timers.delete(e)),this.toasts=this.toasts.filter(t=>t.id!==e)}clear(){for(let e of this.timers.values())clearTimeout(e);this.timers.clear(),this.toasts=[]}},qe=6e4,N=new class{#e=n(`idle`);get status(){return e(this.#e)}set status(e){r(this.#e,e,!0)}#t=n(!1);get sttSupported(){return e(this.#t)}set sttSupported(e){r(this.#t,e,!0)}#n=n(!1);get ttsSupported(){return e(this.#n)}set ttsSupported(e){r(this.#n,e,!0)}#r=n(``);get errorMessage(){return e(this.#r)}set errorMessage(e){r(this.#r,e,!0)}#i=n(``);get interimTranscript(){return e(this.#i)}set interimTranscript(e){r(this.#i,e,!0)}#a=n(`disabled`);get sttEngine(){return e(this.#a)}set sttEngine(e){r(this.#a,e,!0)}#o=n(`disabled`);get ttsEngine(){return e(this.#o)}set ttsEngine(e){r(this.#o,e,!0)}#s=n(``);get sttLanguage(){return e(this.#s)}set sttLanguage(e){r(this.#s,e,!0)}#c=n(!1);get ttsAutoEnabled(){return e(this.#c)}set ttsAutoEnabled(e){r(this.#c,e,!0)}#l=n(!1);get autoplayBlocked(){return e(this.#l)}set autoplayBlocked(e){r(this.#l,e,!0)}#u=n(``);get browserSttUnsupportedReason(){return e(this.#u)}set browserSttUnsupportedReason(e){r(this.#u,e,!0)}},P=`openpalm.tts.auto`,F=null,I=null,L=null,R=null;function Je(e){let t=N.ttsAutoEnabled;if(N.ttsAutoEnabled=e,typeof window<`u`)try{window.localStorage.setItem(P,e?`1`:`0`)}catch{}if(!e){Q();return}t||Ye()}function Ye(){if(typeof window>`u`)return;let e=window.AudioContext??window.webkitAudioContext;if(e)try{let t=new e,n=t.createBuffer(1,1,22050),r=t.createBufferSource();r.buffer=n,r.connect(t.destination),r.start(0),setTimeout(()=>{t.close().catch(()=>{})},100)}catch{}}function z(){if(!(typeof window>`u`))return window.SpeechRecognition??window.webkitSpeechRecognition??void 0}function Xe(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent??``,t=/iPad|iPhone|iPod/.test(e),n=window.MSStream;return t&&!n}function Ze(){return!(typeof window>`u`||typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)}function Qe(e){switch(e){case`browser`:return N.browserSttUnsupportedReason?!1:!!z();case`remote`:case`openpalm-voice`:return Ze();default:return!1}}function B(e){return e===`browser`||e===`browser-stt`?`browser`:e===`openpalm-voice`?`openpalm-voice`:e&&!e.startsWith(`skip-`)?`remote`:`disabled`}async function $e(){let e=typeof window<`u`&&`speechSynthesis`in window;if(typeof window<`u`)try{N.ttsAutoEnabled=window.localStorage.getItem(P)===`1`}catch{}try{let e=await T(),t=e.stt??{},n=e.tts??{},r=typeof t.engine==`string`?t.engine:``,i=typeof n.engine==`string`?n.engine:``;N.sttLanguage=typeof t.language==`string`?t.language:``,N.sttEngine=B(r),N.ttsEngine=B(i)}catch{N.sttEngine=`disabled`,N.ttsEngine=`disabled`}N.ttsSupported=N.ttsEngine===`openpalm-voice`||N.ttsEngine===`remote`||N.ttsEngine===`browser`&&e,Xe()&&z()?(N.browserSttUnsupportedReason=`iOS Safari does not support Web Speech recognition`,N.sttEngine===`browser`&&(N.sttEngine=`disabled`)):N.browserSttUnsupportedReason=``,N.sttEngine===`disabled`&&z()&&!N.browserSttUnsupportedReason&&(N.sttEngine=`browser`),N.sttSupported=Qe(N.sttEngine)}function et(e){if(!(N.status===`recording`||N.status===`transcribing`)){if(!N.sttSupported||N.sttEngine===`disabled`){N.errorMessage=`Speech recognition is not available.`;return}if(N.errorMessage=``,R=e,N.sttEngine===`browser`){tt(e);return}nt()}}function tt(e){let t=z();if(!t){N.errorMessage=`Speech recognition is not supported in this browser.`;return}let n=new t;I=n,n.lang=N.sttLanguage||navigator?.language||`en-US`,n.interimResults=!0,n.maxAlternatives=1,n.continuous=!1;let r=``;n.onresult=e=>{let t=``;for(let n=e.resultIndex;n<e.results.length;n++){let i=e.results[n];i.isFinal?r+=i[0]?.transcript??``:t+=i[0]?.transcript??``}N.interimTranscript=r+t},n.onerror=e=>{if(I!==n)return;let t=e.error??``;t===`no-speech`||t===`aborted`||(t===`not-allowed`?N.errorMessage=`Microphone access denied.`:N.errorMessage=`Speech error: ${t}`),N.interimTranscript=``,N.status=`idle`,I=null,R=null},n.onend=()=>{I===n&&(r.trim()&&e&&e(r.trim()),N.interimTranscript=``,N.status=`idle`,I=null,R=null)};try{n.start(),N.status=`recording`}catch{N.errorMessage=`Failed to start speech recognition.`,N.status=`idle`,I=null,R=null}}async function nt(){let e;try{e=await o()}catch(e){N.errorMessage=e instanceof Error?e.message:`Failed to start recording.`,N.status=`idle`,R=null;return}F=e,N.status=`recording`,L=setTimeout(()=>{V()},qe)}async function V(){let e=F,t=R;if(!e)return;F=null,R=null,L&&=(clearTimeout(L),null),N.status=`transcribing`;let n;try{n=await e.stop()}catch(e){N.errorMessage=e instanceof Error?e.message:`Recording failed.`,N.status=`idle`;return}if(n.size===0){N.status=`idle`;return}try{let e=(await D(n,{language:N.sttLanguage||void 0})).trim();e&&t&&t(e)}catch(e){N.errorMessage=e instanceof Error?e.message:`Transcription failed.`}finally{N.status=`idle`}}function rt(){if(I){try{I.stop()}catch{}return}F&&V()}var H=null,U=null,it=3,W=[],G=!1,K=null,q=null;function J(){if(H){H.onerror=null,H.onended=null;try{H.pause()}catch{}H.src=``,H=null}U&&=(URL.revokeObjectURL(U),null)}function Y(){if(K){K.onerror=null,K.onended=null;try{K.pause()}catch{}K.src=``,K=null}q&&=(URL.revokeObjectURL(q),null),N.autoplayBlocked=!1}function at(){let e=K;if(!e){N.autoplayBlocked=!1;return}N.autoplayBlocked=!1,N.errorMessage=``,N.status=`speaking`,H=e,U=q,K=null,q=null,e.play().catch(()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,J()})}async function ot(e,t){if(!(typeof window>`u`||!e.trim())){if(N.status===`speaking`){W.push({text:e,options:t});let n=0;for(;W.length>it;)W.shift(),n+=1;n>0&&!G&&(G=!0,M.push(`info`,`Skipped ${n} spoken ${n===1?`reply`:`replies`} — too much overlap. Lower the auto-speak chat rate.`));return}await X(e,t)}}async function X(e,t){if(typeof window>`u`||!e.trim())return;Y(),J(),`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.errorMessage=``;let n=N.ttsEngine,r=n===`openpalm-voice`||n===`remote`;if(r){let n;try{n=await fetch(`/api/speak`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({text:e,...t?.mode&&t.mode!==`plain`?{mode:t.mode}:{},...t?.userText?{userText:t.userText}:{},...t?.assistantText?{assistantText:t.assistantText}:{}})})}catch{}if(n&&n.ok&&n.headers.get(`content-type`)?.startsWith(`audio/`)){let e=await n.blob(),t=URL.createObjectURL(e),r=new Audio(t);H=r,U=t,r.onended=()=>{N.status=`idle`,J();let e=W.shift();e?X(e.text,e.options):G=!1},r.onerror=()=>{N.status=`idle`,N.errorMessage=`Audio playback failed.`,J();let e=W.shift();e?X(e.text,e.options):G=!1},N.status=`speaking`;try{await r.play()}catch{N.status=`idle`,K=r,q=t,H=null,U=null,N.autoplayBlocked=!0}return}n&&!n.ok&&(N.errorMessage=await Z(n))}if(!(`speechSynthesis`in window))return;r&&(N.errorMessage=``);let i=new SpeechSynthesisUtterance(e);i.onstart=()=>{N.status=`speaking`},i.onend=()=>{N.status=`idle`;let e=W.shift();e?X(e.text,e.options):G=!1},i.onerror=()=>{N.status=`idle`;let e=W.shift();e?X(e.text,e.options):G=!1},window.speechSynthesis.speak(i)}async function Z(e){let t;try{let n=await e.clone().json();typeof n.error==`string`&&(t=n.error)}catch{}return t===`tts_not_configured`?`TTS is not configured.`:t===`upstream_error`||e.status===502||e.status===503?`Voice engine is warming up — try again in a moment.`:`TTS failed (HTTP ${e.status}).`}function Q(){W.length=0,G=!1,Y(),J(),typeof window<`u`&&`speechSynthesis`in window&&window.speechSynthesis.cancel(),N.status=`idle`}function st(){if(L&&=(clearTimeout(L),null),F){try{F.cancel()}catch{}F=null}if(I){try{I.stop()}catch{}I=null}R=null,N.interimTranscript=``,N.status=`idle`}var $=`openpalm.theme`,ct=`data-theme`,lt=`#161c22`,ut=`#f9fafb`;function dt(e){return e===`light`||e===`dark`||e===`system`}var ft=new class{#e=n(`system`);get preference(){return e(this.#e)}set preference(e){r(this.#e,e,!0)}#t=n(`light`);get resolved(){return e(this.#t)}set resolved(e){r(this.#t,e,!0)}#n=n(!1);get initialized(){return e(this.#n)}set initialized(e){r(this.#n,e,!0)}#r=null;#i=()=>{this.preference===`system`&&(this.resolved=this.#s(`system`),this.#l())};init(){typeof window>`u`||this.initialized||(this.preference=this.#a(),this.resolved=this.#s(this.preference),this.#c(),this.#l(),this.initialized=!0)}setPreference(e){this.preference=e,this.resolved=this.#s(e),this.#o(e),this.#l()}toggle(){this.setPreference(this.resolved===`dark`?`light`:`dark`)}dispose(){this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=null,this.initialized=!1}#a(){if(typeof window>`u`)return`system`;try{let e=window.localStorage.getItem($);return dt(e)?e:`system`}catch{return`system`}}#o(e){if(!(typeof window>`u`))try{window.localStorage.setItem($,e)}catch{}}#s(e){return e===`light`||e===`dark`?e:typeof window>`u`||typeof window.matchMedia!=`function`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}#c(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);this.#r!==e&&(this.#r&&(typeof this.#r.removeEventListener==`function`?this.#r.removeEventListener(`change`,this.#i):this.#r.removeListener(this.#i)),this.#r=e,typeof e.addEventListener==`function`?e.addEventListener(`change`,this.#i):e.addListener(this.#i))}#l(){if(typeof document>`u`)return;let e=document.documentElement;e.setAttribute(ct,this.resolved),e.style.colorScheme=this.resolved;let t=document.querySelector(`meta[name="theme-color"]`);t&&(t.content=this.resolved===`dark`?lt:ut);let n=document.querySelector(`meta[name="color-scheme"]`);n&&(n.content=this.resolved)}};export{Ge as $,Ee as A,me as B,Ae as C,g as D,ke as E,ue as F,be as G,y as H,te as I,ae as J,S as K,Me as L,we as M,ye as N,xe as O,_e as P,le as Q,m as R,A as S,ge as T,v as U,oe as V,fe as W,ze as X,T as Y,Re as Z,Ne as _,j as _t,Je as a,Ue as at,x as b,ie as bt,rt as c,k as ct,M as d,C as dt,de as et,h as f,E as ft,ne as g,Ve as gt,he as h,ce as ht,at as i,He as it,De as j,O as k,Q as l,Te as lt,u as m,Ie as mt,st as n,Ce as nt,ot as o,ve as ot,re as p,Be as pt,se as q,$e as r,We as rt,et as s,_ as st,ft as t,je as tt,N as u,b as ut,Le as v,Se as vt,pe as w,w as x,Fe as y,Pe as yt,Oe as z};
|
|
Binary file
|
|
Binary file
|