@openpalm/ui 0.11.2 → 0.11.3-rc.1
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/chunks/BzMbI6G9.js +5 -0
- package/build/client/_app/immutable/chunks/BzMbI6G9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BzMbI6G9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLZB-lDO.js +1 -0
- package/build/client/_app/immutable/chunks/DLZB-lDO.js.br +2 -0
- package/build/client/_app/immutable/chunks/DLZB-lDO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DbYMkvQX.js +3 -0
- package/build/client/_app/immutable/chunks/DbYMkvQX.js.br +0 -0
- package/build/client/_app/immutable/chunks/DbYMkvQX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Q60SYwq0.js +1 -0
- package/build/client/_app/immutable/chunks/Q60SYwq0.js.br +0 -0
- package/build/client/_app/immutable/chunks/Q60SYwq0.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.jhM1F9Lz.js → app.6RzKsf7V.js} +2 -2
- package/build/client/_app/immutable/entry/app.6RzKsf7V.js.br +0 -0
- package/build/client/_app/immutable/entry/app.6RzKsf7V.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CqKzCNEy.js +1 -0
- package/build/client/_app/immutable/entry/start.CqKzCNEy.js.br +1 -0
- package/build/client/_app/immutable/entry/start.CqKzCNEy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CAM0_CnR.js → 1.CU5j754b.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CU5j754b.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.CU5j754b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.BInZ_Tt5.js → 4.R4lRKhe8.js} +1 -1
- package/build/client/_app/immutable/nodes/4.R4lRKhe8.js.br +0 -0
- package/build/client/_app/immutable/nodes/{4.BInZ_Tt5.js.gz → 4.R4lRKhe8.js.gz} +0 -0
- package/build/client/_app/immutable/nodes/{5.e3eblL7D.js → 5.NUXXVDlQ.js} +1 -1
- package/build/client/_app/immutable/nodes/5.NUXXVDlQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.NUXXVDlQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.D6wSITV7.js → 6.DCGzb_pK.js} +1 -1
- package/build/client/_app/immutable/nodes/6.DCGzb_pK.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DCGzb_pK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.C1W_OsSf.js → 7.DuxnfDxB.js} +1 -1
- package/build/client/_app/immutable/nodes/7.DuxnfDxB.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DuxnfDxB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.9E6jSDDa.js → 8.DLc2iN5h.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DLc2iN5h.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DLc2iN5h.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.CutxJ3jN.js → 9.CFQabEMi.js} +3 -3
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.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/1-Bf3C8Sem.js +9 -0
- package/build/server/chunks/{1-DGZd-zFK.js.map → 1-Bf3C8Sem.js.map} +1 -1
- package/build/server/chunks/4-Cow1n2qH.js +9 -0
- package/build/server/chunks/{4-D9UtUsJp.js.map → 4-Cow1n2qH.js.map} +1 -1
- package/build/server/chunks/5-CacEvwL6.js +9 -0
- package/build/server/chunks/{5-B_4lRh2I.js.map → 5-CacEvwL6.js.map} +1 -1
- package/build/server/chunks/{6-BLnRcxu-.js → 6-kzDGNRbL.js} +3 -3
- package/build/server/chunks/{6-BLnRcxu-.js.map → 6-kzDGNRbL.js.map} +1 -1
- package/build/server/chunks/7-DCR9r57x.js +9 -0
- package/build/server/chunks/{7-Ce9mKDNS.js.map → 7-DCR9r57x.js.map} +1 -1
- package/build/server/chunks/{8-DZdi94I7.js → 8-CI7yb1Ce.js} +3 -3
- package/build/server/chunks/{8-DZdi94I7.js.map → 8-CI7yb1Ce.js.map} +1 -1
- package/build/server/chunks/{9-DbwaI7nh.js → 9-CGVsBC0_.js} +2 -2
- package/build/server/chunks/{9-DbwaI7nh.js.map → 9-CGVsBC0_.js.map} +1 -1
- package/build/server/chunks/{Navbar-BHPXjl1A.js → Navbar-D5G8jm15.js} +6 -3
- package/build/server/chunks/Navbar-D5G8jm15.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Cp6aBilY.js → _page.svelte-B-lalOw2.js} +5 -5
- package/build/server/chunks/{_page.svelte-Cp6aBilY.js.map → _page.svelte-B-lalOw2.js.map} +1 -1
- package/build/server/chunks/_page.svelte-B0M8mXzs.js.map +1 -1
- package/build/server/chunks/{_page.svelte-BXZROSm4.js → _page.svelte-BCxCH8fC.js} +5 -5
- package/build/server/chunks/{_page.svelte-BXZROSm4.js.map → _page.svelte-BCxCH8fC.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Ra8DEIk0.js → _page.svelte-BZNq9li9.js} +3 -3
- package/build/server/chunks/{_page.svelte-Ra8DEIk0.js.map → _page.svelte-BZNq9li9.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C4_2jNl6.js → _page.svelte-BuetGcnd.js} +6 -6
- package/build/server/chunks/{_page.svelte-C4_2jNl6.js.map → _page.svelte-BuetGcnd.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CXkNPL1p.js → _page.svelte-CDzTRckl.js} +5 -5
- package/build/server/chunks/{_page.svelte-CXkNPL1p.js.map → _page.svelte-CDzTRckl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-OVKLVpsS.js → _server.ts-3bIOrNCW.js} +4 -4
- package/build/server/chunks/{_server.ts-OVKLVpsS.js.map → _server.ts-3bIOrNCW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IJ68pRcj.js → _server.ts-6j35W-bb.js} +5 -5
- package/build/server/chunks/{_server.ts-IJ68pRcj.js.map → _server.ts-6j35W-bb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cix_DzOZ.js → _server.ts-7Wf3G6xc.js} +4 -4
- package/build/server/chunks/{_server.ts-Cix_DzOZ.js.map → _server.ts-7Wf3G6xc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5pMviGH3.js → _server.ts-B3DUJf6P.js} +16 -4
- package/build/server/chunks/_server.ts-B3DUJf6P.js.map +1 -0
- package/build/server/chunks/{_server.ts-DuJ8w3d8.js → _server.ts-B8V8xLOX.js} +4 -4
- package/build/server/chunks/{_server.ts-DuJ8w3d8.js.map → _server.ts-B8V8xLOX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C901uAGV.js → _server.ts-BGZDhLXh.js} +8 -7
- package/build/server/chunks/_server.ts-BGZDhLXh.js.map +1 -0
- package/build/server/chunks/{_server.ts-CyUtNvIJ.js → _server.ts-BOha2L_A.js} +4 -4
- package/build/server/chunks/{_server.ts-CyUtNvIJ.js.map → _server.ts-BOha2L_A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-6KmCyX4_.js → _server.ts-BPBMdkDE.js} +6 -6
- package/build/server/chunks/{_server.ts-6KmCyX4_.js.map → _server.ts-BPBMdkDE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJqeSuwW.js → _server.ts-BTFkcp50.js} +4 -4
- package/build/server/chunks/{_server.ts-BJqeSuwW.js.map → _server.ts-BTFkcp50.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5gUeFJE.js → _server.ts-BU9Dy6Ga.js} +5 -5
- package/build/server/chunks/{_server.ts-D5gUeFJE.js.map → _server.ts-BU9Dy6Ga.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DiJOVzSl.js → _server.ts-B_PD1-BE.js} +4 -4
- package/build/server/chunks/{_server.ts-DiJOVzSl.js.map → _server.ts-B_PD1-BE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-crIb-8QZ.js → _server.ts-BbzfnU5x.js} +5 -5
- package/build/server/chunks/{_server.ts-crIb-8QZ.js.map → _server.ts-BbzfnU5x.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bvp4YpaT.js → _server.ts-Bc4WPPlv.js} +6 -6
- package/build/server/chunks/{_server.ts-Bvp4YpaT.js.map → _server.ts-Bc4WPPlv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-zCuG209p.js → _server.ts-BkpQZcF0.js} +4 -4
- package/build/server/chunks/{_server.ts-zCuG209p.js.map → _server.ts-BkpQZcF0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByXfEYZ3.js → _server.ts-ByC7qKzo.js} +4 -4
- package/build/server/chunks/{_server.ts-ByXfEYZ3.js.map → _server.ts-ByC7qKzo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MVqFnsqa.js → _server.ts-C1m2Gw5U.js} +4 -4
- package/build/server/chunks/{_server.ts-MVqFnsqa.js.map → _server.ts-C1m2Gw5U.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_JYwlDL.js → _server.ts-C2-tZdFx.js} +4 -4
- package/build/server/chunks/{_server.ts-C_JYwlDL.js.map → _server.ts-C2-tZdFx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CK0Rxw5K.js → _server.ts-C2qehtMf.js} +4 -4
- package/build/server/chunks/{_server.ts-CK0Rxw5K.js.map → _server.ts-C2qehtMf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BH3-HO5r.js → _server.ts-CF-JUFSB.js} +6 -6
- package/build/server/chunks/{_server.ts-BH3-HO5r.js.map → _server.ts-CF-JUFSB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dhzz7tHs.js → _server.ts-CGHhMNs3.js} +5 -5
- package/build/server/chunks/{_server.ts-Dhzz7tHs.js.map → _server.ts-CGHhMNs3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-o9s65uGr.js → _server.ts-CP6bZaJJ.js} +4 -4
- package/build/server/chunks/{_server.ts-o9s65uGr.js.map → _server.ts-CP6bZaJJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-RHuSC2x-.js → _server.ts-CS7JXLT-.js} +4 -4
- package/build/server/chunks/{_server.ts-RHuSC2x-.js.map → _server.ts-CS7JXLT-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DFJDEcdK.js → _server.ts-CSZYdKIz.js} +2 -2
- package/build/server/chunks/{_server.ts-DFJDEcdK.js.map → _server.ts-CSZYdKIz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8jv4dTo.js → _server.ts-CS_9GHcK.js} +4 -4
- package/build/server/chunks/{_server.ts-B8jv4dTo.js.map → _server.ts-CS_9GHcK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CjcbK3K2.js → _server.ts-CXZAOFJM.js} +4 -4
- package/build/server/chunks/{_server.ts-CjcbK3K2.js.map → _server.ts-CXZAOFJM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRaaz800.js → _server.ts-ChEUjFy2.js} +4 -4
- package/build/server/chunks/{_server.ts-BRaaz800.js.map → _server.ts-ChEUjFy2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmCX_RO-.js → _server.ts-CnU909WV.js} +5 -5
- package/build/server/chunks/{_server.ts-BmCX_RO-.js.map → _server.ts-CnU909WV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6CQ4cXn.js → _server.ts-Cnjv0PV3.js} +4 -4
- package/build/server/chunks/{_server.ts-C6CQ4cXn.js.map → _server.ts-Cnjv0PV3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6xE00MS.js → _server.ts-Ctm2JarS.js} +4 -4
- package/build/server/chunks/{_server.ts-C6xE00MS.js.map → _server.ts-Ctm2JarS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkyeWLQD.js → _server.ts-CuWvzlxI.js} +5 -5
- package/build/server/chunks/{_server.ts-CkyeWLQD.js.map → _server.ts-CuWvzlxI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-c5vxACJj.js → _server.ts-D-CG_91w.js} +4 -4
- package/build/server/chunks/{_server.ts-c5vxACJj.js.map → _server.ts-D-CG_91w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XII8m8Um.js → _server.ts-D-p2Hm9n.js} +2 -2
- package/build/server/chunks/{_server.ts-XII8m8Um.js.map → _server.ts-D-p2Hm9n.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BqQPs0i_.js → _server.ts-D-s-9ge-.js} +3 -3
- package/build/server/chunks/{_server.ts-BqQPs0i_.js.map → _server.ts-D-s-9ge-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D4X4auyD.js → _server.ts-D2KqxMre.js} +4 -4
- package/build/server/chunks/{_server.ts-D4X4auyD.js.map → _server.ts-D2KqxMre.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8sMZCw-.js → _server.ts-D2iTW5_-.js} +4 -4
- package/build/server/chunks/{_server.ts-D8sMZCw-.js.map → _server.ts-D2iTW5_-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqlfB-aA.js → _server.ts-D5p0zu-y.js} +4 -4
- package/build/server/chunks/{_server.ts-CqlfB-aA.js.map → _server.ts-D5p0zu-y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DhyOE-KP.js → _server.ts-D86uN0DZ.js} +2 -2
- package/build/server/chunks/{_server.ts-DhyOE-KP.js.map → _server.ts-D86uN0DZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIcZeBAF.js → _server.ts-D8p-Zc8Z.js} +4 -4
- package/build/server/chunks/{_server.ts-CIcZeBAF.js.map → _server.ts-D8p-Zc8Z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRAfEDvT.js → _server.ts-D9bBTzrV.js} +4 -4
- package/build/server/chunks/{_server.ts-BRAfEDvT.js.map → _server.ts-D9bBTzrV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-X6kwNmZX.js → _server.ts-DJLROGuC.js} +4 -4
- package/build/server/chunks/{_server.ts-X6kwNmZX.js.map → _server.ts-DJLROGuC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHIP51pX.js → _server.ts-DKKKZx7q.js} +4 -4
- package/build/server/chunks/{_server.ts-BHIP51pX.js.map → _server.ts-DKKKZx7q.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DxDXTfuq.js → _server.ts-DP-NPkMD.js} +4 -4
- package/build/server/chunks/{_server.ts-DxDXTfuq.js.map → _server.ts-DP-NPkMD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CK8sJWT2.js → _server.ts-D_da58Nk.js} +5 -5
- package/build/server/chunks/{_server.ts-CK8sJWT2.js.map → _server.ts-D_da58Nk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CKf5jMDy.js → _server.ts-DaLBPART.js} +4 -4
- package/build/server/chunks/{_server.ts-CKf5jMDy.js.map → _server.ts-DaLBPART.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrRcF8Ie.js → _server.ts-DgRjI1W8.js} +4 -4
- package/build/server/chunks/{_server.ts-CrRcF8Ie.js.map → _server.ts-DgRjI1W8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B4Atr7Pb.js → _server.ts-DjfCGqvA.js} +4 -4
- package/build/server/chunks/{_server.ts-B4Atr7Pb.js.map → _server.ts-DjfCGqvA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CaSXmkds.js → _server.ts-Dkk8XP3m.js} +4 -4
- package/build/server/chunks/{_server.ts-CaSXmkds.js.map → _server.ts-Dkk8XP3m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5cUQhLR.js → _server.ts-Dl07R_n2.js} +5 -5
- package/build/server/chunks/{_server.ts-C5cUQhLR.js.map → _server.ts-Dl07R_n2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C90P5trG.js → _server.ts-Do2sgBif.js} +8 -7
- package/build/server/chunks/_server.ts-Do2sgBif.js.map +1 -0
- package/build/server/chunks/{_server.ts-BHxlYhmn.js → _server.ts-DrJ5_e35.js} +2 -2
- package/build/server/chunks/{_server.ts-BHxlYhmn.js.map → _server.ts-DrJ5_e35.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXkRiweb.js → _server.ts-Ds9OIz3V.js} +4 -4
- package/build/server/chunks/{_server.ts-CXkRiweb.js.map → _server.ts-Ds9OIz3V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPo93T4Q.js → _server.ts-DuMzNLkr.js} +6 -6
- package/build/server/chunks/{_server.ts-CPo93T4Q.js.map → _server.ts-DuMzNLkr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWhPqSHs.js → _server.ts-Dv1tbIPB.js} +4 -4
- package/build/server/chunks/{_server.ts-CWhPqSHs.js.map → _server.ts-Dv1tbIPB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DseLSghB.js → _server.ts-DvES1wiN.js} +4 -4
- package/build/server/chunks/{_server.ts-DseLSghB.js.map → _server.ts-DvES1wiN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bwx3Gjwd.js → _server.ts-DwufWrL8.js} +4 -4
- package/build/server/chunks/{_server.ts-Bwx3Gjwd.js.map → _server.ts-DwufWrL8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DE0m1Q4L.js → _server.ts-DypIhw8E.js} +4 -4
- package/build/server/chunks/{_server.ts-DE0m1Q4L.js.map → _server.ts-DypIhw8E.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRefcV0Z.js → _server.ts-I_df3rNy.js} +2 -2
- package/build/server/chunks/{_server.ts-BRefcV0Z.js.map → _server.ts-I_df3rNy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHZefY3G.js → _server.ts-JqtP_8OZ.js} +4 -4
- package/build/server/chunks/{_server.ts-BHZefY3G.js.map → _server.ts-JqtP_8OZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fDATxtr3.js → _server.ts-KbEJb9iF.js} +4 -4
- package/build/server/chunks/{_server.ts-fDATxtr3.js.map → _server.ts-KbEJb9iF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPhVV-jJ.js → _server.ts-KdUnJtGx.js} +4 -4
- package/build/server/chunks/{_server.ts-DPhVV-jJ.js.map → _server.ts-KdUnJtGx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGUpdnPV.js → _server.ts-LnGYpCfy.js} +4 -4
- package/build/server/chunks/{_server.ts-BGUpdnPV.js.map → _server.ts-LnGYpCfy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-HwlPZi53.js → _server.ts-MPuOqnb6.js} +5 -5
- package/build/server/chunks/{_server.ts-HwlPZi53.js.map → _server.ts-MPuOqnb6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFtUB8Hj.js → _server.ts-Q2jLnu8r.js} +4 -4
- package/build/server/chunks/{_server.ts-CFtUB8Hj.js.map → _server.ts-Q2jLnu8r.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3N5nJb3.js → _server.ts-URmO6EQw.js} +4 -4
- package/build/server/chunks/{_server.ts-B3N5nJb3.js.map → _server.ts-URmO6EQw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq4ZhGok.js → _server.ts-XOD7SUR4.js} +4 -4
- package/build/server/chunks/{_server.ts-Dq4ZhGok.js.map → _server.ts-XOD7SUR4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CN5s8RLB.js → _server.ts-XQi6MDkU.js} +6 -6
- package/build/server/chunks/{_server.ts-CN5s8RLB.js.map → _server.ts-XQi6MDkU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CnCzNcH9.js → _server.ts-lwKsNmQt.js} +4 -4
- package/build/server/chunks/{_server.ts-CnCzNcH9.js.map → _server.ts-lwKsNmQt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DDFiq1Ud.js → _server.ts-m1ayiB8O.js} +4 -4
- package/build/server/chunks/{_server.ts-DDFiq1Ud.js.map → _server.ts-m1ayiB8O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CdM6LezY.js → _server.ts-qmijt9h5.js} +4 -4
- package/build/server/chunks/{_server.ts-CdM6LezY.js.map → _server.ts-qmijt9h5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DxDpkTu4.js → _server.ts-t7MfsyTJ.js} +4 -4
- package/build/server/chunks/{_server.ts-DxDpkTu4.js.map → _server.ts-t7MfsyTJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CKlHRDZS.js → _server.ts-z2KYSfCP.js} +4 -4
- package/build/server/chunks/{_server.ts-CKlHRDZS.js.map → _server.ts-z2KYSfCP.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-BY7Y68Or.js → addon-helpers-xb9eIaVn.js} +2 -2
- package/build/server/chunks/{addon-helpers-BY7Y68Or.js.map → addon-helpers-xb9eIaVn.js.map} +1 -1
- package/build/server/chunks/{client-ArAeRoxk.js → client-CXNrwMy2.js} +28 -3
- package/build/server/chunks/{client-ArAeRoxk.js.map → client-CXNrwMy2.js.map} +1 -1
- package/build/server/chunks/{config-CjX55Ht6.js → config-0V4UPT81.js} +2 -2
- package/build/server/chunks/{config-CjX55Ht6.js.map → config-0V4UPT81.js.map} +1 -1
- package/build/server/chunks/{docker-NqrL9zHp.js → docker-CKOdzi6A.js} +2 -2
- package/build/server/chunks/{docker-NqrL9zHp.js.map → docker-CKOdzi6A.js.map} +1 -1
- package/build/server/chunks/{endpoints-Ci6CJJnc.js → endpoints-uSe3ORbp.js} +2 -2
- package/build/server/chunks/{endpoints-Ci6CJJnc.js.map → endpoints-uSe3ORbp.js.map} +1 -1
- package/build/server/chunks/{environment-Bpg55mjq.js → environment-DdkeH_HT.js} +2 -2
- package/build/server/chunks/{environment-Bpg55mjq.js.map → environment-DdkeH_HT.js.map} +1 -1
- package/build/server/chunks/{error.svelte-CpFwRtRX.js → error.svelte-DZ8Z0DRg.js} +4 -4
- package/build/server/chunks/{error.svelte-CpFwRtRX.js.map → error.svelte-DZ8Z0DRg.js.map} +1 -1
- package/build/server/chunks/{helpers-BqYJlSJg.js → helpers-D4ot6bJ_.js} +3 -3
- package/build/server/chunks/{helpers-BqYJlSJg.js.map → helpers-D4ot6bJ_.js.map} +1 -1
- package/build/server/chunks/{hooks.server-CRMfHyDz.js → hooks.server-CksTzt9Y.js} +5 -5
- package/build/server/chunks/{hooks.server-CRMfHyDz.js.map → hooks.server-CksTzt9Y.js.map} +1 -1
- package/build/server/chunks/{http-CghRhEH6.js → http-DWdG8RlO.js} +2 -2
- package/build/server/chunks/{http-CghRhEH6.js.map → http-DWdG8RlO.js.map} +1 -1
- package/build/server/chunks/{internal-W1HfYnMF.js → internal-BbfLl3-2.js} +3 -3
- package/build/server/chunks/{internal-W1HfYnMF.js.map → internal-BbfLl3-2.js.map} +1 -1
- package/build/server/chunks/{session-cookie-BGqzaS8B.js → session-cookie-CY2ZiP5t.js} +2 -2
- package/build/server/chunks/{session-cookie-BGqzaS8B.js.map → session-cookie-CY2ZiP5t.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-Cg9faOlI.js → setup-deploy-CN1g3_cR.js} +2 -7
- package/build/server/chunks/setup-deploy-CN1g3_cR.js.map +1 -0
- package/build/server/chunks/{src-b3nBkyhY.js → src-DkGZ5D6n.js} +855 -855
- package/build/server/chunks/{src-b3nBkyhY.js.map → src-DkGZ5D6n.js.map} +1 -1
- package/build/server/chunks/{state-BIeW4-XD.js → state-CyX6jYFl.js} +2 -2
- package/build/server/chunks/{state-BIeW4-XD.js.map → state-CyX6jYFl.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +79 -79
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/5ZqlzR7j.js +0 -3
- package/build/client/_app/immutable/chunks/5ZqlzR7j.js.br +0 -0
- package/build/client/_app/immutable/chunks/5ZqlzR7j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bu0cBnLr.js +0 -1
- package/build/client/_app/immutable/chunks/Bu0cBnLr.js.br +0 -2
- package/build/client/_app/immutable/chunks/Bu0cBnLr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CEPSqAnS.js +0 -1
- package/build/client/_app/immutable/chunks/CEPSqAnS.js.br +0 -0
- package/build/client/_app/immutable/chunks/CEPSqAnS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ltAtEuyp.js +0 -5
- package/build/client/_app/immutable/chunks/ltAtEuyp.js.br +0 -0
- package/build/client/_app/immutable/chunks/ltAtEuyp.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.jhM1F9Lz.js.br +0 -0
- package/build/client/_app/immutable/entry/app.jhM1F9Lz.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Dc1B22-x.js +0 -1
- package/build/client/_app/immutable/entry/start.Dc1B22-x.js.br +0 -1
- package/build/client/_app/immutable/entry/start.Dc1B22-x.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CAM0_CnR.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.CAM0_CnR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BInZ_Tt5.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.e3eblL7D.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.e3eblL7D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D6wSITV7.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D6wSITV7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C1W_OsSf.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C1W_OsSf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.9E6jSDDa.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.9E6jSDDa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CutxJ3jN.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CutxJ3jN.js.gz +0 -0
- package/build/server/chunks/1-DGZd-zFK.js +0 -9
- package/build/server/chunks/4-D9UtUsJp.js +0 -9
- package/build/server/chunks/5-B_4lRh2I.js +0 -9
- package/build/server/chunks/7-Ce9mKDNS.js +0 -9
- package/build/server/chunks/Navbar-BHPXjl1A.js.map +0 -1
- package/build/server/chunks/_server.ts-5pMviGH3.js.map +0 -1
- package/build/server/chunks/_server.ts-C901uAGV.js.map +0 -1
- package/build/server/chunks/_server.ts-C90P5trG.js.map +0 -1
- package/build/server/chunks/setup-deploy-Cg9faOlI.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
0.11.
|
|
1
|
+
0.11.3-rc.1
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{$ as e,A as t,D as n,F as r,H as i,J as a,L as o,M as s,N as c,O as l,P as u,Q as d,S as f,T as p,U as m,X as h,Y as g,Z as _,_ as v,a as y,at as b,ct as x,d as S,g as C,h as w,it as T,j as E,k as D,lt as O,n as k,r as A,tt as j,v as M,y as N}from"./0swOyi-5.js";import{n as P,t as F}from"./DbYMkvQX.js";import"./xihTtKlq.js";import{B as I,V as L,X as R,Y as z,a as B,c as V,g as H,i as ee,k as U,l as W,n as te,o as ne,r as re,s as ie,t as G,u as K}from"./BBdT9Cjm.js";import{t as q}from"./Q60SYwq0.js";import"./DLZB-lDO.js";import{t as ae}from"./BQ0vnNWj.js";var oe=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}),J=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`});function se(e){return e?oe.format(e):``}function ce(e){return e?J.format(e):``}function le(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 ue=E(`<span class="icon-btn-label svelte-vx1yib"> </span>`),de=E(`<a><!> <!></a>`),fe=E(`<span class="icon-btn-label svelte-vx1yib"> </span>`),pe=E(`<button><!> <!></button>`);function Y(e,o){let s=y(o,`disabled`,3,!1),c=y(o,`type`,3,`button`),u=y(o,`selected`,3,!1),d=y(o,`tone`,3,`primary`);var p=t(),m=g(p),_=e=>{var t=de();let c;var p=a(t);f(p,()=>o.icon);var m=h(p,2),g=e=>{var t=ue(),n=a(t,!0);O(t),i(()=>l(n,o.label)),D(e,t)};n(m,e=>{o.label&&e(g)}),O(t),i(()=>{c=M(t,1,`icon-btn svelte-vx1yib`,null,c,{"has-label":o.label,selected:u(),"tone-danger":d()===`danger`}),S(t,`href`,o.href),S(t,`title`,o.title??o.ariaLabel??o.label),S(t,`aria-label`,o.ariaLabel??o.label),S(t,`aria-disabled`,s()||void 0)}),r(`click`,t,function(...e){o.onclick?.apply(this,e)}),D(e,t)},v=e=>{var t=pe();let p;var m=a(t);f(m,()=>o.icon);var g=h(m,2),_=e=>{var t=fe(),n=a(t,!0);O(t),i(()=>l(n,o.label)),D(e,t)};n(g,e=>{o.label&&e(_)}),O(t),i(()=>{p=M(t,1,`icon-btn svelte-vx1yib`,null,p,{"has-label":o.label,selected:u(),"tone-danger":d()===`danger`}),S(t,`type`,c()),t.disabled=s(),S(t,`title`,o.title??o.ariaLabel??o.label),S(t,`aria-label`,o.ariaLabel??o.label),S(t,`aria-pressed`,o.ariaPressed)}),r(`click`,t,function(...e){o.onclick?.apply(this,e)}),D(e,t)};n(m,e=>{o.href?e(_):e(v,-1)}),D(e,p)}u([`click`]);function me(e,t){let n=y(t,`disabled`,3,!1),r=y(t,`tone`,3,`primary`);{let i=j(()=>t.pressed&&t.selectedIcon?t.selectedIcon:t.icon);Y(e,{get icon(){return o(i)},get label(){return t.label},get title(){return t.title},get ariaLabel(){return t.ariaLabel},get disabled(){return n()},get tone(){return r()},get selected(){return t.pressed},get ariaPressed(){return t.pressed},get onclick(){return t.onToggle}})}}var he=e=>{D(e,ge())},ge=s(`<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 _e(e,t){b(t,!0);let n=j(()=>q.url?.pathname??``),r=j(()=>o(n)===`/advanced`||o(n).startsWith(`/advanced/`));function i(){P(o(r)?`/chat`:`/advanced`)}me(e,{get pressed(){return o(r)},onToggle:i,ariaLabel:`Advanced mode`,title:`Advanced mode (embedded OpenCode)`,get icon(){return he}}),T()}var ve=E(`<footer class="drawer-footer svelte-1u2o1qj"><!></footer>`),ye=E(`<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 X(e,o){b(o,!0);let s=y(o,`width`,3,`32rem`);function c(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 u(e){let t=document.activeElement,n=e.querySelector(`.drawer-body`);return((n&&c(n)[0])??c(e)[0]??e).focus(),()=>t?.focus?.()}function d(e){if(e.key===`Escape`){o.onClose();return}if(e.key!==`Tab`)return;let t=e.currentTarget,n=c(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n[0],i=n[n.length-1],a=document.activeElement;e.shiftKey&&(a===r||a===t)?(e.preventDefault(),i.focus()):!e.shiftKey&&a===i&&(e.preventDefault(),r.focus())}var p=t(),m=g(p),_=e=>{var c=ye(),p=g(c),m=h(p,2),_=a(m),y=a(_),b=e=>{var n=t();f(g(n),()=>o.headerStart),D(e,n)};n(y,e=>{o.headerStart&&e(b)});var x=h(y,2),C=a(x,!0);O(x);var w=h(x,2);O(_);var T=h(_,2);f(a(T),()=>o.children),O(T);var E=h(T,2),k=e=>{var t=ve();f(a(t),()=>o.footer),O(t),D(e,t)};n(E,e=>{o.footer&&e(k)}),O(m),N(m,()=>u),i(()=>{v(m,`--drawer-width: ${s()??``}`),S(m,`aria-label`,o.title),l(C,o.title)}),r(`click`,p,function(...e){o.onClose?.apply(this,e)}),r(`keydown`,m,d),r(`click`,w,function(...e){o.onClose?.apply(this,e)}),D(e,c)};n(m,e=>{o.open&&e(_)}),D(e,p),T()}u([`click`,`keydown`]);var be=e=>{D(e,xe())},xe=s(`<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>`),Se=E(`<a class="settings-link svelte-4kbm5j" href="/admin">Manage this assistant...</a>`),Ce=E(`<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>`),we=E(`<!> <!>`,1);function Te(t,s){b(s,!0);let c=y(s,`showManageAssistant`,3,!0),l=e(!1);F(()=>{d(l,!1)});function u(e){let t=e.currentTarget.value;(t===`light`||t===`dark`||t===`system`)&&G.setPreference(t)}var f=we(),p=g(f);Y(p,{get icon(){return be},ariaLabel:`Settings`,title:`Settings`,get selected(){return o(l)},get ariaPressed(){return o(l)},onclick:()=>d(l,!0)}),X(h(p,2),{get open(){return o(l)},title:`Settings`,onClose:()=>d(l,!1),width:`24rem`,children:(e,t)=>{var o=Ce(),s=a(o),f=h(a(s),2),p=a(f);p.value=p.__value=`system`;var m=h(p);m.value=m.__value=`light`;var g=h(m);g.value=g.__value=`dark`,O(f);var _;w(f),O(s);var v=h(s,2),y=a(v),b=e=>{var t=Se();r(`click`,t,()=>d(l,!1)),D(e,t)};n(y,e=>{c()&&e(b)});var x=h(y,2);O(v),O(o),i(()=>{_!==(_=G.preference)&&(f.value=(f.__value=G.preference)??``,C(f,G.preference))}),r(`change`,f,u),r(`click`,x,()=>d(l,!1)),D(e,o)},$$slots:{default:!0}}),D(t,f),T()}u([`change`,`click`]);var Ee=1e3,De=3e4,Oe=`/proxy/assistant/event`;function ke(e){let t={},n=[];for(let r of e.split(`
|
|
2
|
+
`))!r||r.startsWith(`:`)||(r.startsWith(`data:`)?n.push(r.replace(/^data:\s?/,``)):r.startsWith(`event:`)?t.event=r.replace(/^event:\s?/,``):r.startsWith(`id:`)&&(t.id=r.replace(/^id:\s?/,``)));return n.length>0&&(t.data=n.join(`
|
|
3
|
+
`)),t}function Ae(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 je(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(Oe,{method:`GET`,headers:t,credentials:`include`,signal:n.signal});if(!i.ok||!i.body)throw Error(`SSE stream failed: ${i.status} ${i.statusText}`);e.onConnect?.();let a=i.body.pipeThrough(new TextDecoderStream).getReader(),o=``;try{for(;;){let{done:t,value:n}=await a.read();if(t)break;o+=n;let i=o.split(`
|
|
4
|
+
|
|
5
|
+
`);o=i.pop()??``;for(let t of i){if(!t)continue;let n=ke(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}Ae(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(Ee*2**Math.max(0,r-1),De)),n.signal.aborted&&!t&&(n=new AbortController)}})(),()=>{t=!0;try{n.abort()}catch{}}}function Z(){return{sessions:[],sessionsLoaded:!1,sessionsLoading:!1,sessionsError:``,activeSessionId:null}}var Q=new class{#e=e(_(new Map));get byEndpoint(){return o(this.#e)}set byEndpoint(e){d(this.#e,e,!0)}#t=e(`default`);get activeEndpointId(){return o(this.#t)}set activeEndpointId(e){d(this.#t,e,!0)}#n=e(_([]));get entries(){return o(this.#n)}set entries(e){d(this.#n,e,!0)}#r=e(!1);get entriesLoading(){return o(this.#r)}set entriesLoading(e){d(this.#r,e,!0)}#i=e(!1);get sending(){return o(this.#i)}set sending(e){d(this.#i,e,!0)}#a=e(``);get error(){return o(this.#a)}set error(e){d(this.#a,e,!0)}#o=e(!1);get liveConnected(){return o(this.#o)}set liveConnected(e){d(this.#o,e,!0)}_unsubscribeEvents=null;#s=j(()=>this.byEndpoint.get(this.activeEndpointId)?.activeSessionId??null);get activeSessionId(){return o(this.#s)}set activeSessionId(e){d(this.#s,e)}setEndpointState(e,t){let n={...this.byEndpoint.get(e)??Z(),...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)??Z(),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=je({onCreated:e=>{this._onSessionCreated(e)},onUpdated:(e,t)=>{this._onSessionUpdated(e,t)},onDeleted:e=>{this._onSessionDeleted(e)},onConnect:()=>{this.liveConnected=!0},onDisconnect:()=>{this.liveConnected=!1}})}_onSessionCreated(e){let t=this.activeEndpointId,n=this.byEndpoint.get(t)??Z();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.entriesLoading=!0,this.error=``;try{let n=await I(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 H(),n=Date.now(),r={id:t,title:``,createdAt:n,updatedAt:n},i=this.byEndpoint.get(e)??Z();return this.setEndpointState(e,{sessions:[r,...i.sessions.filter(e=>e.id!==t)],sessionsLoaded:!0,activeSessionId:t}),this.entries=[],t}catch(e){let t=e;return this.error=`Failed to start session: ${t.message??`unknown error`}`,null}}async send(e){if(this.sending)return;let t=e.trim();if(!t)return;let n=this.activeSessionId;if(!n&&(n=await this.startNewSession(),!n))return;let r={id:crypto.randomUUID(),role:`user`,text:t,timestamp:Date.now()};this.entries=[...this.entries,r],this.error=``,this.sending=!0;try{let e=(await z(n,t)).parts.filter(e=>e.type===`text`&&e.text).map(e=>e.text??``).join(``),r={id:crypto.randomUUID(),role:`assistant`,text:e||`(no response)`,timestamp:Date.now()};this.entries=[...this.entries,r];let i=this.activeEndpointId,a=this.byEndpoint.get(i);if(a){let e=Date.now(),t=a.sessions.find(e=>e.id===n),r=t?{...t,updatedAt:e}:{id:n,title:``,createdAt:e,updatedAt:e},o=a.sessions.filter(e=>e.id!==n);this.setEndpointState(i,{sessions:[r,...o]})}K.ttsSupported&&K.ttsAutoEnabled&&e&&ne(e)}catch(e){let t=e;t.status===503||t.status===502?(this.error=`Assistant is not reachable. Try reconnecting.`,this.setEndpointState(this.activeEndpointId,{activeSessionId:null})):t.status===401?this.error=`Sign-in required.`:this.error=t.message??`Message failed.`}finally{this.sending=!1}}reset(){if(W(),this.entries=[],this.error=``,this.byEndpoint=new Map,this._unsubscribeEvents){try{this._unsubscribeEvents()}catch(e){console.warn(`[chat] failed to unsubscribe from event stream during reset`,e)}this._unsubscribeEvents=null}this.liveConnected=!1}},$=new class{#e=e(_([]));get endpoints(){return o(this.#e)}set endpoints(e){d(this.#e,e,!0)}#t=e(`default`);get activeId(){return o(this.#t)}set activeId(e){d(this.#t,e,!0)}#n=e(!1);get loading(){return o(this.#n)}set loading(e){d(this.#n,e,!0)}#r=e(!1);get loaded(){return o(this.#r)}set loaded(e){d(this.#r,e,!0)}#i=e(``);get error(){return o(this.#i)}set error(e){d(this.#i,e,!0)}#a=j(()=>this.endpoints.find(e=>e.id===this.activeId)??this.endpoints[0]??null);get active(){return o(this.#a)}set active(e){d(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 U();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(Q.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 R(e),await Q.onEndpointChanged(e)}catch(e){this.activeId=t;let n=e;throw this.error=n.message??`Failed to switch endpoint`,e}}};function Me(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 Ne=E(`<p class="list-error svelte-dlw00e" role="alert"> </p>`),Pe=E(`<span class="sr-only svelte-dlw00e">(current)</span>`),Fe=E(`<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>`),Ie=E(`<a class="list-item link svelte-dlw00e" href="/admin">Manage this assistant…</a>`),Le=E(`<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 Re(t,s){b(s,!0);let c=j(()=>$.active),u=j(()=>$.endpoints),f=j(()=>Me(o(c)?.url)),m=e(!1);async function g(e){if(!o(m)){if(e===o(c)?.id){s.onChosen?.();return}d(m,!0);try{await $.activate(e),s.onChosen?.()}catch{}finally{d(m,!1)}}}var _=Le(),v=a(_),y=e=>{var t=Ne(),n=a(t,!0);O(t),i(()=>l(n,$.error)),D(e,t)};n(v,e=>{$.error&&e(y)});var x=h(v,2);p(x,21,()=>o(u),e=>e.id,(e,t)=>{var s=Fe();let u;var d=a(s),f=a(d),p=a(f,!0),_=h(p),v=e=>{D(e,Pe())};n(_,e=>{o(t).id===o(c)?.id&&e(v)}),O(f);var y=h(f,2),b=a(y,!0);O(y),O(d),O(s),i(()=>{u=M(s,1,`list-item svelte-dlw00e`,null,u,{active:o(t).id===o(c)?.id}),S(s,`aria-current`,o(t).id===o(c)?.id?`true`:void 0),s.disabled=o(m),l(p,o(t).label),l(b,o(t).url)}),r(`click`,s,()=>g(o(t).id)),D(e,s)}),O(x);var C=h(x,4),w=e=>{var t=Ie();r(`click`,t,()=>s.onChosen?.()),D(e,t)};n(C,e=>{o(f)&&e(w)});var E=h(C,2);O(_),r(`click`,E,()=>s.onChosen?.()),D(t,_),T()}u([`click`]);var ze=E(`<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 Be(t,n){b(n,!0);let s=e(!1),c=j(()=>$.active);A(()=>{$.load()});var u=ze(),f=g(u),p=h(a(f),4),m=a(p,!0);O(p),x(2),O(f),X(h(f,2),{get open(){return o(s)},title:`Assistant endpoint`,onClose:()=>d(s,!1),width:`26rem`,children:(e,t)=>{Re(e,{onChosen:()=>d(s,!1)})},$$slots:{default:!0}}),i(()=>{S(f,`aria-expanded`,o(s)),S(f,`aria-label`,o(c)?`Assistant endpoint: ${o(c).label}`:`Assistant endpoints`),S(f,`title`,o(c)?`Connected to: ${o(c).label} (${o(c).url})`:`Assistant endpoints`),f.disabled=$.loading,l(m,o(c)?.label??`Endpoint…`)}),r(`click`,f,()=>d(s,!0)),D(t,u),T()}u([`click`]);var Ve=/^New session - (\d{4}-\d{2}-\d{2}T[0-9:.]+Z?)$/;function He(e){let t=(e??``).trim();if(!t)return`Untitled session`;let n=Ve.exec(t);if(n){let e=Date.parse(n[1]);if(!Number.isNaN(e))return ce(e)}return t}function Ue(e,t){b(t,!0);let n=j(()=>He(t.title));x();var r=c();i(()=>l(r,o(n))),D(e,r),T()}var We=E(`<div class="notice svelte-1o6rxhb">Wait for the current reply to finish before switching.</div>`),Ge=E(`<div class="empty svelte-1o6rxhb"><!><span>Loading sessions…</span></div>`),Ke=E(`<div class="list-error svelte-1o6rxhb"><span class="svelte-1o6rxhb"> </span> <button type="button" class="retry-btn svelte-1o6rxhb">Retry</button></div>`),qe=E(`<div class="empty svelte-1o6rxhb">No sessions yet. Start the first one.</div>`),Je=E(`<span class="sr-only svelte-1o6rxhb">(current)</span>`),Ye=E(`<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>`),Xe=E(`<button type="button" class="show-all svelte-1o6rxhb"> </button>`),Ze=E(`<div class="session-list svelte-1o6rxhb" role="group" aria-label="Sessions"></div> <!>`,1),Qe=E(`<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 $e(t,s){b(s,!0);let c=e(!1),u=j(()=>$.active),f=j(()=>o(u)?Q.byEndpoint.get(o(u).id)??null:null),m=j(()=>o(f)?.sessions??[]),_=j(()=>o(f)?.sessionsLoading??!1),v=j(()=>o(f)?.sessionsError??``),y=j(()=>Q.activeSessionId),C=j(()=>o(c)?o(m):o(m).slice(0,50)),w=j(()=>Math.max(0,o(m).length-50));A(()=>{o(u)&&!o(f)?.sessionsLoaded&&!o(_)&&Q.loadSessions()});async function E(e){Q.sending||(await Q.openSession(e),s.onChosen?.())}async function k(){Q.sending||(await Q.startNewSession(),s.onChosen?.())}async function N(){await Q.loadSessions()}var P=Qe(),F=a(P),I=e=>{D(e,We())};n(F,e=>{Q.sending&&e(I)});var L=h(F,2),R=e=>{var t=Ge();ae(a(t),{size:12}),x(),O(t),D(e,t)},z=e=>{var t=Ke(),n=a(t),s=a(n,!0);O(n);var c=h(n,2);O(t),i(()=>l(s,o(v))),r(`click`,c,N),D(e,t)},B=e=>{D(e,qe())},V=e=>{var t=Ze(),s=g(t);p(s,21,()=>o(C),e=>e.id,(e,t)=>{var s=Ye();let c;var u=a(s),d=a(u),f=a(d);Ue(f,{get title(){return o(t).title}});var p=h(f),m=e=>{D(e,Je())};n(p,e=>{o(t).id===o(y)&&e(m)}),O(d);var g=h(d,2),_=a(g,!0);O(g),O(u),O(s),i((e,n)=>{c=M(s,1,`list-item session-item svelte-1o6rxhb`,null,c,{active:o(t).id===o(y)}),S(s,`aria-current`,o(t).id===o(y)?`true`:void 0),s.disabled=Q.sending,S(s,`title`,e),l(_,n)},[()=>ce(o(t).updatedAt),()=>le(o(t).updatedAt)]),r(`click`,s,()=>E(o(t).id)),D(e,s)}),O(s);var u=h(s,2),f=e=>{var t=Xe(),n=a(t);O(t),i(()=>l(n,`Show all (${o(w)??``} more)`)),r(`click`,t,()=>d(c,!0)),D(e,t)};n(u,e=>{!o(c)&&o(w)>0&&e(f)}),D(e,t)};n(L,e=>{o(_)?e(R):o(v)?e(z,1):o(m).length===0?e(B,2):e(V,-1)});var H=h(L,4);O(P),i(()=>H.disabled=Q.sending),r(`click`,H,k),D(t,P),T()}u([`click`]);var et=E(`<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 tt(t,n){b(n,!0);let s=e(!1),c=j(()=>$.active),u=j(()=>o(c)?Q.byEndpoint.get(o(c).id)??null:null),f=j(()=>o(u)?.sessions??[]),p=j(()=>Q.activeSessionId),m=j(()=>Q.liveConnected),_=j(()=>o(f).find(e=>e.id===o(p))??null),v=j(()=>o(_)?He(o(_).title):`New session`);var y=et(),C=g(y),w=h(a(C),2);let E;var k=h(w,2),A=a(k,!0);O(k),x(2),O(C);var N=h(C,2);{let e=j(()=>o(c)?.label??`this endpoint`);X(N,{get open(){return o(s)},get title(){return`Sessions on ${o(e)??``}`},onClose:()=>d(s,!1),width:`26rem`,children:(e,t)=>{$e(e,{onChosen:()=>d(s,!1)})},$$slots:{default:!0}})}i(()=>{S(C,`aria-expanded`,o(s)),S(C,`title`,o(v)),E=M(w,1,`dot svelte-cihcnl`,null,E,{connected:o(m)}),S(w,`title`,o(m)?`Live updates connected`:`Live updates disconnected`),l(A,o(v))}),r(`click`,C,()=>d(s,!0)),D(t,y),T()}u([`click`]);var nt=E(`<span class="voice-interim svelte-7elv0w" aria-hidden="true"> </span>`),rt=E(`<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>`),it=s(`<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),at=s(`<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),ot=E(`<button><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7elv0w"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="svelte-7elv0w"></polygon><!></svg></button>`),st=s(`<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>`),ct=E(`<span class="voice-spinner svelte-7elv0w" aria-hidden="true"></span>`),lt=E(`<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),ut=s(`<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>`),dt=E(`<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 ft(t,s){b(s,!0);let c=e(!1),u=null;A(()=>{re().then(()=>{d(c,!0)}),u=window.openpalm?.onGlobalMicToggle?.(()=>{w()})??null}),k(()=>{window.openpalm?.setTrayMicRecording?.(!1),u?.(),u=null,te()}),m(()=>{o(c)&&window.openpalm?.setTrayMicRecording?.(o(_))});let f=j(()=>o(c)&&K.sttEngine!==`disabled`&&K.sttSupported),p=j(()=>o(c)&&K.ttsSupported),_=j(()=>K.status===`recording`),v=j(()=>K.status===`transcribing`),y=j(()=>!o(_)&&!o(v)&&Q.sending),C=j(()=>K.status===`speaking`);function w(){if(!o(y)){if(o(_)){V();return}o(v)||(W(),ie(e=>{let t=e.trim();t&&Q.send(t)}))}}function E(){B(!K.ttsAutoEnabled)}var N=dt(),P=a(N),F=e=>{var t=nt(),n=a(t,!0);O(t),i(e=>{S(t,`title`,K.interimTranscript),l(n,e)},[()=>K.interimTranscript.length>48?K.interimTranscript.slice(0,48)+`…`:K.interimTranscript]),D(e,t)};n(P,e=>{o(_)&&K.interimTranscript&&e(F)});var I=h(P,2),L=e=>{var t=rt();r(`click`,t,()=>ee()),D(e,t)};n(I,e=>{K.autoplayBlocked&&e(L)});var R=h(I,2),z=e=>{var t=ot();let s;var c=a(t),l=h(a(c)),u=e=>{var t=it(),n=g(t);let r;var a=h(n);let s;i(()=>{r=M(n,0,`svelte-7elv0w`,null,r,{"wave-anim":o(C)}),s=M(a,0,`svelte-7elv0w`,null,s,{"wave-anim-2":o(C)})}),D(e,t)},d=e=>{var t=at();x(),D(e,t)};n(l,e=>{K.ttsAutoEnabled?e(u):e(d,-1)}),O(c),O(t),i(()=>{s=M(t,1,`voice-btn svelte-7elv0w`,null,s,{"voice-btn-on":K.ttsAutoEnabled,"voice-btn-speaking":o(C)}),S(t,`aria-label`,K.ttsAutoEnabled?`Turn off spoken responses`:`Turn on spoken responses`),S(t,`aria-pressed`,K.ttsAutoEnabled),S(t,`title`,o(C)?`Speaking — click to turn off spoken responses`:K.ttsAutoEnabled?`Spoken responses are on — click to turn off`:`Spoken responses are off — click to turn on`)}),r(`click`,t,E),D(e,t)};n(R,e=>{o(p)&&e(z)});var H=h(R,2);let U;var ne=a(H),G=e=>{D(e,st())},q=e=>{D(e,ct())},ae=e=>{var t=lt();x(2),D(e,t)},oe=e=>{D(e,ut())};n(ne,e=>{o(f)?o(v)||o(y)?e(q,1):o(_)?e(ae,2):e(oe,-1):e(G)}),O(H);var J=h(H,2),se=a(J,!0);O(J),O(N),i(()=>{U=M(H,1,`voice-btn svelte-7elv0w`,null,U,{"voice-btn-active":o(_),"voice-btn-processing":o(y)||o(v),"voice-btn-disabled":!o(f)}),H.disabled=!o(f)||o(y),S(H,`aria-label`,o(f)?o(_)?`Stop recording`:o(v)?`Transcribing…`:o(y)?`Sending message…`:`Start recording`:`Voice input unavailable`),S(H,`aria-pressed`,o(_)),S(H,`title`,o(f)?o(_)?`Stop recording`:o(v)?`Transcribing…`:o(y)?`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`),l(se,o(_)&&K.interimTranscript?K.interimTranscript:o(_)?`Recording`:o(v)?`Transcribing`:o(y)?`Sending message to assistant`:o(C)?`Assistant is speaking`:K.ttsAutoEnabled?`Spoken responses on`:``)}),r(`click`,H,w),D(t,N),T()}u([`click`]);var pt=e=>{D(e,mt())},mt=s(`<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>`),ht=E(`<span class="chat-selectors svelte-66bgq1"><!> <!></span>`),gt=E(`<header class="navbar svelte-66bgq1"><div class="navbar-inner svelte-66bgq1"><a class="navbar-brand svelte-66bgq1" href="/chat" aria-label="OpenPalm — go to chat"><span class="brand-icon svelte-66bgq1" aria-hidden="true"><img src="/logo-128.png" alt="" class="svelte-66bgq1"/></span> <span class="brand-text svelte-66bgq1">OpenPalm</span></a> <div class="navbar-actions svelte-66bgq1"><!> <!> <!> <!> <!></div></div></header>`);function _t(e,t){b(t,!0);let r=j(()=>q.url?.pathname??``),i=j(()=>o(r)===`/admin`||o(r).startsWith(`/admin/`)),s=j(()=>o(r)===`/chat`||o(r).startsWith(`/chat/`)),c=j(()=>o(r)===`/advanced`||o(r).startsWith(`/advanced/`)),l=j(()=>Me($.active?.url));var u=gt(),d=a(u),f=h(a(d),2),p=a(f),m=e=>{Y(e,{href:`/chat`,ariaLabel:`Back to chat`,title:`Chat`,get icon(){return pt}})};n(p,e=>{o(i)&&e(m)});var g=h(p,2);Te(g,{get showManageAssistant(){return o(l)}});var _=h(g,2),v=e=>{var t=ht(),n=a(t);Be(n,{}),tt(h(n,2),{}),O(t),D(e,t)};n(_,e=>{o(s)&&e(v)});var y=h(_,2),x=e=>{_e(e,{})};n(y,e=>{(o(s)||o(c))&&e(x)}),ft(h(y,2),{}),O(f),O(d),O(u),D(e,u),T()}export{Q as a,se as c,$ as i,$e as n,X as o,Re as r,Y as s,_t as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DbYMkvQX.js";
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{$ as e,L as t,Q as n,R as r,nt as i,r as a,t as o,z as s}from"./0swOyi-5.js";import{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_w1khad?.base??``,fe=globalThis.__sveltekit_w1khad?.assets??C??``,pe=`0.11.3-rc.1`,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=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var we={v:_};function Te(){let{set:e,subscribe:t}=i(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${fe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==pe;return n&&(e(!0),we.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ee(e,t,n){return e.origin!==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=e({});get data(){return t(this.#e)}set data(e){n(this.#e,e)}#t=e(null);get form(){return t(this.#t)}set form(e){n(this.#t,e)}#n=e(null);get error(){return t(this.#n)}set error(e){n(this.#n,e)}#r=e({});get params(){return t(this.#r)}set params(e){n(this.#r,e)}#i=e({id:null});get route(){return t(this.#i)}set route(e){n(this.#i,e)}#a=e({});get state(){return t(this.#a)}set state(e){n(this.#a,e)}#o=e(-1);get status(){return t(this.#o)}set status(e){n(this.#o,e)}#s=e(new URL(Je));get url(){return t(this.#s)}set url(e){n(this.#s,e)}},j=new class{#e=e(null);get current(){return t(this.#e)}set current(e){n(this.#e,e)}},M=new class{#e=e(!1);get current(){return t(this.#e)}set current(e){n(this.#e,e)}},we.v=()=>M.current=!0);function 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
|
+
`);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:i(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_w1khad&&(globalThis.__sveltekit_w1khad.query,globalThis.__sveltekit_w1khad.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,t,n,r){let i,a;t.invalidateAll&&ct(),await Q({type:`goto`,url:_e(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{if(t.invalidateAll){gt=!0,i=new Set;for(let[e,t]of vt)for(let n of t.keys())i.add(We(e,n));a=new Set;for(let[e,t]of yt)for(let n of t.keys())a.add(We(e,n))}t.invalidate&&t.invalidate.forEach(Yt)}}),t.invalidateAll&&s().then(s).then(()=>{for(let[e,t]of vt)for(let[n,{resource:r}]of t)i?.has(We(e,n))&&r.refresh();for(let[e,t]of yt)for(let[n,{resource:r}]of t)a?.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:t,popped:n,keepfocus:i,noscroll:a,replace_state:o,state:l={},redirect_count:u=0,nav_token:d={},accept:f=_,block:p=_,event:m}){let ee=X;X=d;let h=await Bt(t,!1),g=e===`enter`?nn(G,h,t,e):Ut({url:t,type:e,delta:n?.delta,intent:h,scroll:n?.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(t,C,B.hash))return await L(t,o);b=await Wt(t,{id:null},await $(new c(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=h?.url||t,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,t),popped:n,keepfocus:i,noscroll:a,replace_state:o,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:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else b.props.page.status>=400&&await I.updated.check()&&(await it(),await L(t,o));if(xt(),nt(v),St(y),b.props.page.url.pathname!==t.pathname&&(t.pathname=b.props.page.url.pathname),l=n?n.state:l,!n){let e=+!o,n={[w]:J+=e,[T]:Y+=e,[ge]:l};(o?history.replaceState:history.pushState).call(history,n,``,t),o||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 n=g.navigation.to;G={...b.state,nav:{params:n.params,route:n.route,url:n.url}},b.props.page&&(b.props.page.url=t);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=r?.()),ht=!0}else await Ot(b,st,!1);let{activeElement:x}=document;if(await ne,await s(),await s(),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=n?n.scroll:a?O():null;e?scrollTo(e.x,e.y):(S=t.hash&&document.getElementById(on(t)))?S.scrollIntoView():scrollTo(0,0)}let re=document.activeElement!==x&&document.activeElement!==document.body;!i&&!re&&tn(t,!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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./0swOyi-5.js";import{a as e,i as t,o as n}from"./DbYMkvQX.js";var r={get data(){return n.data},get error(){return n.error},get form(){return n.form},get params(){return n.params},get route(){return n.route},get state(){return n.state},get status(){return n.status},get url(){return n.url}};Object.defineProperty({get from(){return e.current?e.current.from:null},get to(){return e.current?e.current.to:null},get type(){return e.current?e.current.type:null},get willUnload(){return e.current?e.current.willUnload:null},get delta(){return e.current?e.current.delta:null},get complete(){return e.current?e.current.complete:null}},"current",{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),t.updated.check;var i=r;export{i as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.0pi4RS6G.js","../chunks/0swOyi-5.js","../chunks/xihTtKlq.js","../chunks/BBdT9Cjm.js","../assets/0.CFC7xzus.css","../nodes/1.
|
|
2
|
-
import{$ as e,A as t,D as n,H as r,J as i,L as a,N as o,O as s,Q as c,U as l,W as u,X as d,Y as f,a as p,at as m,i as h,it as g,j as _,k as v,lt as y,r as b,s as x,tt as S,x as C,z as w}from"../chunks/0swOyi-5.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=_(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=_(`<!> <!>`,1);function k(h,_){m(_,!0);let T=p(_,`components`,23,()=>[]),E=p(_,`data_0`,3,null),k=p(_,`data_1`,3,null),A=p(_,`data_2`,3,null);u(()=>_.stores.page.set(_.page)),l(()=>{_.stores,_.page,_.constructors,T(),_.form,E(),k(),A(),_.stores.page.notify()});let j=e(!1),M=e(!1),N=e(null);b(()=>{let e=_.stores.page.subscribe(()=>{a(j)&&(c(M,!0),w().then(()=>{c(N,document.title||`untitled page`,!0)}))});return c(j,!0),e});let P=S(()=>_.constructors[2]);var F=O(),I=f(F),L=e=>{let r=S(()=>_.constructors[0]);var i=t();C(f(i),()=>a(r),(e,r)=>{x(r(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params},children:(e,r)=>{var i=t(),o=f(i),s=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,n)=>{x(n(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params},children:(e,n)=>{var r=t();C(f(r),()=>a(P),(e,t)=>{x(t(e,{get data(){return A()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),v(e,r)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)},c=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)};n(o,e=>{_.constructors[2]?e(s):e(c,-1)}),v(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,i)},R=e=>{let n=S(()=>_.constructors[0]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,r)};n(I,e=>{_.constructors[1]?e(L):e(R,-1)});var z=d(I,2),B=e=>{var t=D(),c=i(t),l=e=>{var t=o();r(()=>s(t,a(N))),v(e,t)};n(c,e=>{a(M)&&e(l)}),y(t),v(e,t)};n(z,e=>{a(j)&&e(B)}),v(h,F),g()}var A=h(k),j=[()=>T(()=>import(`../nodes/0.0pi4RS6G.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.0pi4RS6G.js","../chunks/0swOyi-5.js","../chunks/xihTtKlq.js","../chunks/BBdT9Cjm.js","../assets/0.CFC7xzus.css","../nodes/1.CU5j754b.js","../chunks/Q60SYwq0.js","../chunks/DbYMkvQX.js","../chunks/CymRgjIC.js","../nodes/2.B-8ehRO1.js","../chunks/Bmfn2m9N.js","../nodes/3.B_FXzjZB.js","../nodes/4.R4lRKhe8.js","../chunks/DLZB-lDO.js","../chunks/BzMbI6G9.js","../chunks/BQ0vnNWj.js","../assets/Spinner.BtzHSsat.css","../assets/Navbar.Bnqciy-R.css","../chunks/irujFCsS.js","../assets/VoiceProfileSelector.rd8K9qqK.css","../assets/4.B_s_XYKm.css","../nodes/5.NUXXVDlQ.js","../assets/5.Cj0Mk9Gn.css","../nodes/6.DCGzb_pK.js","../assets/6.Dr3r8AEl.css","../nodes/7.DuxnfDxB.js","../assets/7.DKl0e2Fb.css","../nodes/8.DLc2iN5h.js","../assets/8.CY2RMSue.css","../nodes/9.CFQabEMi.js","../assets/9.CK_nuPTW.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,A as t,D as n,H as r,J as i,L as a,N as o,O as s,Q as c,U as l,W as u,X as d,Y as f,a as p,at as m,i as h,it as g,j as _,k as v,lt as y,r as b,s as x,tt as S,x as C,z as w}from"../chunks/0swOyi-5.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=_(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=_(`<!> <!>`,1);function k(h,_){m(_,!0);let T=p(_,`components`,23,()=>[]),E=p(_,`data_0`,3,null),k=p(_,`data_1`,3,null),A=p(_,`data_2`,3,null);u(()=>_.stores.page.set(_.page)),l(()=>{_.stores,_.page,_.constructors,T(),_.form,E(),k(),A(),_.stores.page.notify()});let j=e(!1),M=e(!1),N=e(null);b(()=>{let e=_.stores.page.subscribe(()=>{a(j)&&(c(M,!0),w().then(()=>{c(N,document.title||`untitled page`,!0)}))});return c(j,!0),e});let P=S(()=>_.constructors[2]);var F=O(),I=f(F),L=e=>{let r=S(()=>_.constructors[0]);var i=t();C(f(i),()=>a(r),(e,r)=>{x(r(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params},children:(e,r)=>{var i=t(),o=f(i),s=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,n)=>{x(n(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params},children:(e,n)=>{var r=t();C(f(r),()=>a(P),(e,t)=>{x(t(e,{get data(){return A()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),v(e,r)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)},c=e=>{let n=S(()=>_.constructors[1]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),v(e,r)};n(o,e=>{_.constructors[2]?e(s):e(c,-1)}),v(e,i)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,i)},R=e=>{let n=S(()=>_.constructors[0]);var r=t();C(f(r),()=>a(n),(e,t)=>{x(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),v(e,r)};n(I,e=>{_.constructors[1]?e(L):e(R,-1)});var z=d(I,2),B=e=>{var t=D(),c=i(t),l=e=>{var t=o();r(()=>s(t,a(N))),v(e,t)};n(c,e=>{a(M)&&e(l)}),y(t),v(e,t)};n(z,e=>{a(j)&&e(B)}),v(h,F),g()}var A=h(k),j=[()=>T(()=>import(`../nodes/0.0pi4RS6G.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.CU5j754b.js`),__vite__mapDeps([5,1,6,7,8,2]),import.meta.url),()=>T(()=>import(`../nodes/2.B-8ehRO1.js`),__vite__mapDeps([9,1,2,10]),import.meta.url),()=>T(()=>import(`../nodes/3.B_FXzjZB.js`),__vite__mapDeps([11,1,8,2,10]),import.meta.url),()=>T(()=>import(`../nodes/4.R4lRKhe8.js`),__vite__mapDeps([12,1,7,8,13,2,3,14,6,15,16,17,18,19,20]),import.meta.url),()=>T(()=>import(`../nodes/5.NUXXVDlQ.js`),__vite__mapDeps([21,1,2,3,14,7,8,13,6,15,16,17,22]),import.meta.url),()=>T(()=>import(`../nodes/6.DCGzb_pK.js`),__vite__mapDeps([23,1,2,14,7,8,13,6,3,15,16,17,24]),import.meta.url),()=>T(()=>import(`../nodes/7.DuxnfDxB.js`),__vite__mapDeps([25,1,7,8,13,6,2,3,14,15,16,17,26]),import.meta.url),()=>T(()=>import(`../nodes/8.DLc2iN5h.js`),__vite__mapDeps([27,1,7,8,13,2,15,16,28]),import.meta.url),()=>T(()=>import(`../nodes/9.CFQabEMi.js`),__vite__mapDeps([29,1,2,18,19,15,16,30]),import.meta.url)],M=[],N={"/":[3],"/admin":[4],"/admin/endpoints":[5],"/advanced":[6],"/chat":[7],"/login":[-9],"/setup":[9,[2]]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,r as t}from"../chunks/DbYMkvQX.js";export{e as load_css,t as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
�(�import{c as e,r as t}from"../chunks/DbYMkvQX.js";export{e as load_css,t as start};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,J as t,O as n,X as r,Y as i,at as a,it as o,j as s,k as c,lt as l}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/
|
|
1
|
+
import{H as e,J as t,O as n,X as r,Y as i,at as a,it as o,j as s,k as c,lt as l}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/Q60SYwq0.js";var d=s(`<h1> </h1> <p> </p>`,1);function f(s,f){a(f,!0);var p=d(),m=i(p),h=t(m,!0);l(m);var g=r(m,2),_=t(g,!0);l(g),e(()=>{n(h,u.status),n(_,u.error?.message)}),c(s,p),o()}export{f as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
w`�*ۊR ��j�S��\v��&�9�gy\mZ���Q�ڲ��m"^*~UF��\�%M�,�$��r�w4ɍ��>�7��8���]���[ā�7�}���ݚ/*�d۰�����-}���;���{���ӛSA��L�C�N�.*�<.��&���(7��C:5�M=J�TRkC�8Ӝ"��1��aXD<��crQԠK���y
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,E as r,F as i,G as a,H as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,S as h,T as g,V as _,X as v,Y as y,Z as b,a as x,at as S,b as C,c as w,ct as T,d as E,f as D,g as O,h as k,it as A,j,k as M,l as N,lt as P,m as F,n as I,p as L,q as R,r as z,s as B,tt as V,u as H,v as U,w as W}from"../chunks/0swOyi-5.js";import{c as G,t as K}from"../chunks/5ZqlzR7j.js";import"../chunks/xihTtKlq.js";import{A as ee,C as q,D as te,E as J,F as Y,G as ne,I as re,J as X,K as Z,L as ie,M as ae,N as oe,O as se,P as ce,Q as le,R as ue,S as de,T as fe,U as pe,W as me,Z as he,a as ge,b as _e,d as Q,et as ve,f as ye,j as be,m as xe,o as Se,p as Ce,q as we,u as Te,v as Ee,w as De,x as Oe,y as ke,z as Ae}from"../chunks/BBdT9Cjm.js";import"../chunks/Bu0cBnLr.js";import{c as je,i as Me,o as Ne,t as Pe}from"../chunks/ltAtEuyp.js";import{t as $}from"../chunks/BQ0vnNWj.js";import{f as Fe,n as Ie,t as Le}from"../chunks/irujFCsS.js";var Re=j(`<button role="tab"> </button>`),ze=j(`<button role="tab"><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"></svg> </button>`),Be=j(`<div class="subtab-row svelte-7673iv"><div class="tabs svelte-7673iv" role="tablist"></div></div>`),Ve=j(`<nav class="nav-shell svelte-7673iv" aria-label="Admin sections"><div class="section-strip svelte-7673iv" role="tablist" aria-label="Sections"></div> <!></nav>`);function He(e,t){S(t,!0);let r={overview:`<rect x="3" y="3" width="7" height="7" /><rect x="14" y="3" width="7" height="7" /><rect x="14" y="14" width="7" height="7" /><rect x="3" y="14" width="7" height="7" />`,containers:`<rect x="2" y="2" width="20" height="8" rx="2" ry="2" /><rect x="2" y="14" width="20" height="8" rx="2" ry="2" /><line x1="6" y1="6" x2="6.01" y2="6" /><line x1="6" y1="18" x2="6.01" y2="18" />`,logs:`<polyline points="4 17 10 11 4 5" /><line x1="12" y1="19" x2="20" y2="19" />`,connections:`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />`,akm:`<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />`,"host-sharing":`<circle cx="18" cy="5" r="3" /><circle cx="6" cy="12" r="3" /><circle cx="18" cy="19" r="3" /><line x1="8.59" y1="13.51" x2="15.42" y2="17.49" /><line x1="15.41" y1="6.51" x2="8.59" y2="10.49" />`,voice:`<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" /><path d="M19 10v2a7 7 0 0 1-14 0v-2" /><line x1="12" y1="19" x2="12" y2="23" /><line x1="8" y1="23" x2="16" y2="23" />`,addons:`<path d="M12 2L2 7l10 5 10-5-10-5z" /><path d="M2 17l10 5 10-5" /><path d="M2 12l10 5 10-5" />`,automations:`<circle cx="12" cy="12" r="10" /><polyline points="12 6 12 12 16 14" />`,secrets:`<rect x="3" y="11" width="18" height="11" rx="2" ry="2" /><path d="M7 11V7a5 5 0 0 1 10 0v4" />`,updates:`<polyline points="8 17 12 21 16 17" /><line x1="12" y1="12" x2="12" y2="21" /><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29" />`},a=[{id:`health`,label:`Health`,tabs:[{id:`overview`,label:`Overview`,icon:r.overview},{id:`containers`,label:`Systems`,icon:r.containers},{id:`logs`,label:`Journal`,icon:r.logs},{id:`updates`,label:`Check-up`,icon:r.updates}]},{id:`mind`,label:`Mind`,tabs:[{id:`connections`,label:`AI Providers`,icon:r.connections}]},{id:`voice`,label:`Voice`,tabs:[{id:`voice`,label:`Voice`,icon:r.voice}]},{id:`routines`,label:`Routines`,tabs:[{id:`automations`,label:`Automations`,icon:r.automations}]},{id:`capabilities`,label:`Capabilities`,tabs:[{id:`addons`,label:`Add-ons`,icon:r.addons}]},{id:`knowledge`,label:`Knowledge`,tabs:[{id:`akm`,label:`Memory`,icon:r.akm},{id:`secrets`,label:`Secrets`,icon:r.secrets},{id:`host-sharing`,label:`Sharing`,icon:r[`host-sharing`]}]}],c=V(()=>a.find(e=>e.tabs.some(e=>e.id===t.active))??a[0]);function u(e){if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=e.currentTarget,n=Array.from(t.parentElement?.querySelectorAll(`[role="tab"]`)??[]),r=n.indexOf(t);r!==-1&&n[e.key===`ArrowRight`?(r+1)%n.length:(r-1+n.length)%n.length]?.focus()}function d(e){if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=e.currentTarget,n=Array.from(t.parentElement?.querySelectorAll(`[role="tab"]`)??[]),r=n.indexOf(t);r!==-1&&n[e.key===`ArrowRight`?(r+1)%n.length:(r-1+n.length)%n.length]?.focus()}function p(e){t.onSelect(e.tabs[0].id)}var m=Ve(),h=s(m);g(h,21,()=>a,e=>e.id,(e,t)=>{var n=Re();let r;var a=s(n,!0);P(n),o(()=>{r=U(n,1,`section-tab svelte-7673iv`,null,r,{"section-tab-active":l(c).id===l(t).id}),E(n,`aria-selected`,l(c).id===l(t).id),f(a,l(t).label)}),i(`click`,n,()=>p(l(t))),i(`keydown`,n,u),M(e,n)}),P(h);var _=v(h,2),y=e=>{var n=Be(),r=s(n);g(r,21,()=>l(c).tabs,e=>e.id,(e,n)=>{var r=ze();let a;var c=s(r);W(c,()=>l(n).icon,!0),P(c);var u=v(c);P(r),o(()=>{a=U(r,1,`tab svelte-7673iv`,null,a,{"tab-active":t.active===l(n).id}),E(r,`aria-selected`,t.active===l(n).id),f(u,` ${l(n).label??``}`)}),i(`click`,r,()=>t.onSelect(l(n).id)),i(`keydown`,r,d),M(e,r)}),P(r),P(n),o(()=>E(r,`aria-label`,`${l(c).label??``} tabs`)),M(e,n)};n(_,e=>{l(c).tabs.length>1&&e(y)}),P(m),M(e,m),A()}p([`click`,`keydown`]);var Ue=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>`),We=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>`),Ge=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),Ke=j(`<button class="btn btn-secondary">View containers</button>`),qe=j(`<section role="status" aria-live="polite"><span class="hero-icon svelte-10n23hu" aria-hidden="true"><!></span> <div class="hero-text svelte-10n23hu"><h2 class="hero-title svelte-10n23hu"> </h2> <p class="hero-detail svelte-10n23hu"> </p></div> <div class="hero-actions svelte-10n23hu"><button class="btn btn-secondary"> </button> <!> <button class="btn btn-secondary"> </button></div></section>`);function Je(e,t){S(t,!0);var r=qe(),a=s(r),c=s(a),l=e=>{M(e,Ue())},u=e=>{M(e,We())},d=e=>{M(e,Ge())};n(c,e=>{t.status===`warning`?e(l):t.status===`ok`?e(u,1):e(d,-1)}),P(a);var p=v(a,2),m=s(p),h=s(m,!0);P(m);var g=v(m,2),_=s(g,!0);P(g),P(p);var y=v(p,2),b=s(y),x=s(b,!0);P(b);var C=v(b,2),w=e=>{var n=Ke();i(`click`,n,()=>t.onNavigate(`containers`)),M(e,n)};n(C,e=>{t.status===`warning`&&e(w)});var T=v(C,2),E=s(T,!0);P(T),P(y),P(r),o(()=>{U(r,1,`hero hero--${t.status??``}`,`svelte-10n23hu`),f(h,t.title),f(_,t.detail),b.disabled=t.healthLoading,f(x,t.healthLoading?`Checking…`:`Re-check`),T.disabled=t.anyDangerousLoading||!t.tokenStored,f(E,t.applyLoading?`Applying…`:`Apply config & restart`)}),i(`click`,b,function(...e){t.onCheckHealth?.apply(this,e)}),i(`click`,T,function(...e){t.onApplyChanges?.apply(this,e)}),M(e,r),A()}p([`click`]);var Ye=j(`<section><div class="output-header svelte-10sij3c"><h3 class="svelte-10sij3c">Operation output</h3> <button class="btn-ghost" aria-label="Dismiss"><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"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div> <pre class="output-code svelte-10sij3c"> </pre></section>`);function Xe(e,r){var a=t(),c=y(a),l=e=>{var t=Ye(),n=s(t),a=v(s(n),2);P(n);var c=v(n,2),l=s(c,!0);P(c),P(t),o(()=>{U(t,1,`output-section output-section--${r.operationResultType??``}`,`svelte-10sij3c`),f(l,r.operationResult)}),i(`click`,a,function(...e){r.onDismissResult?.apply(this,e)}),M(e,t)};n(c,e=>{r.operationResult&&e(l)}),M(e,a)}p([`click`]);var Ze=j(`<span class="tile-metric tile-metric--icon svelte-19hpfg" aria-hidden="true"><!></span>`),Qe=j(`<span class="tile-metric-sub svelte-19hpfg"> </span>`),$e=j(` <!>`,1),et=j(`<span class="tile-metric svelte-19hpfg"><!></span>`),tt=j(`<button class="tile svelte-19hpfg"><!> <span class="tile-label svelte-19hpfg"> </span></button>`);function nt(e,t){let r=x(t,`value`,3,null),a=x(t,`sub`,3,null),c=x(t,`loaded`,3,!0);var l=tt(),u=s(l),p=e=>{var n=Ze();h(s(n),()=>t.icon),P(n),M(e,n)},m=e=>{var t=et(),i=s(t),l=e=>{var t=$e(),i=y(t,!0),c=v(i),l=e=>{var t=Qe(),n=s(t,!0);P(t),o(()=>f(n,a())),M(e,t)};n(c,e=>{a()&&e(l)}),o(()=>f(i,r())),M(e,t)},u=e=>{M(e,d(`—`))};n(i,e=>{c()?e(l):e(u,-1)}),P(t),M(e,t)};n(u,e=>{t.icon?e(p):e(m,-1)});var g=v(u,2),_=s(g,!0);P(g),P(l),o(()=>f(_,t.label)),i(`click`,l,function(...e){t.onClick?.apply(this,e)}),M(e,l)}p([`click`]);var rt=j(`<div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Task failure rate</span></div>`),it=j(`<div class="akm-metrics svelte-dcgqe1"><div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Indexed assets</span></div> <div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> <span class="akm-num-sub svelte-dcgqe1"> </span></span> <span class="akm-cap svelte-dcgqe1">Health checks passing</span></div> <div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Semantic search</span></div> <!></div>`),at=j(`<p class="akm-unavailable svelte-dcgqe1">Metrics unavailable — the akm CLI isn't reachable from the admin host.</p>`),ot=j(`<button class="akm-card svelte-dcgqe1" aria-label="AKM health — open Knowledge settings"><div class="akm-head svelte-dcgqe1"><span class="akm-title svelte-dcgqe1">AKM runtime health</span> <span> </span></div> <!></button>`);function st(e,t){S(t,!0);var r=ot(),a=s(r),c=v(s(a),2),l=s(c,!0);P(c),P(a);var u=v(a,2),d=e=>{var r=it(),i=s(r),a=s(i),c=s(a,!0);P(a),T(2),P(i);var l=v(i,2),u=s(l),d=s(u,!0),p=v(d),m=s(p);P(p),P(u),T(2),P(l);var h=v(l,2),g=s(h),_=s(g,!0);P(g),T(2),P(h);var y=v(h,2),b=e=>{var n=rt(),r=s(n),i=s(r);P(r),T(2),P(n),o(e=>f(i,`${e??``}%`),[()=>Math.round(t.akm.metrics.taskFailRate*100)]),M(e,n)};n(y,e=>{t.akm.metrics&&typeof t.akm.metrics.taskFailRate==`number`&&e(b)}),P(r),o(e=>{f(c,e),f(d,t.akm.checks.pass),f(m,`/${t.checkTotal??``}`),f(_,t.akm.index?.hasEmbeddings?`On`:`Off`)},[()=>t.akm.index?.entryCount?.toLocaleString()??`—`]),M(e,r)},p=e=>{M(e,at())};n(u,e=>{t.akm&&t.akm.available?e(d):e(p,-1)}),P(r),o(()=>{U(c,1,`badge ${t.badge.cls??``}`,`svelte-dcgqe1`),f(l,t.badge.label)}),i(`click`,r,()=>t.onNavigate(`akm`)),M(e,r),A()}p([`click`]);var ct=j(`<div class="shortcut-grid svelte-8y2vdf"><button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">AI Providers</span> <span class="shortcut-desc svelte-8y2vdf">Models & provider credentials</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Knowledge</span> <span class="shortcut-desc svelte-8y2vdf">Assistant memory & behavior</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Voice</span> <span class="shortcut-desc svelte-8y2vdf">Speech-to-text & text-to-speech</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Channels & add-ons</span> <span class="shortcut-desc svelte-8y2vdf">Discord, Slack, API & more</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Secrets</span> <span class="shortcut-desc svelte-8y2vdf">Stack & channel credentials</span></button> <a class="shortcut svelte-8y2vdf" href="/setup?rerun=1"><span class="shortcut-name svelte-8y2vdf">Re-run setup</span> <span class="shortcut-desc svelte-8y2vdf">Walk through the setup wizard again</span></a></div>`);function lt(e,t){S(t,!0);var n=ct(),r=s(n),a=v(r,2),o=v(a,2),c=v(o,2),l=v(c,2);T(2),P(n),i(`click`,r,()=>t.onNavigate(`connections`)),i(`click`,a,()=>t.onNavigate(`akm`)),i(`click`,o,()=>t.onNavigate(`voice`)),i(`click`,c,()=>t.onNavigate(`addons`)),i(`click`,l,()=>t.onNavigate(`secrets`)),M(e,n),A()}p([`click`]);var ut=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg>`),dt=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path></svg>`),ft=j(`<!> <!> <div class="tile-grid svelte-xz862u"><!> <!> <!></div> <h3 class="section-heading svelte-xz862u">Knowledge base (AKM)</h3> <!> <h3 class="section-heading svelte-xz862u">Configure</h3> <!>`,1);function pt(t,r){S(r,!0);let i=e(null);z(()=>{Me.load(),J().then(e=>{m(i,e,!0)}).catch(()=>{m(i,{available:!1},!0)})});let a=V(()=>{if(!l(i)||!l(i).available)return{label:`Unavailable`,cls:`badge-neutral`};let e=l(i).status;return e!==`ok`&&e!==`warn`&&e!==`fail`&&(e=l(i).checks.fail>0?`fail`:l(i).checks.warn>0?`warn`:`ok`),e===`ok`?{label:`Healthy`,cls:`badge-success`}:e===`warn`?{label:`Warnings`,cls:`badge-warning`}:{label:`Issues`,cls:`badge-danger`}}),o=V(()=>l(i)&&l(i).available?l(i).checks.pass+l(i).checks.warn+l(i).checks.fail:0);V(()=>r.automationsData?.automations.length??0),V(()=>r.automationsData?.automations.filter(e=>e.enabled).length??0);let c=V(()=>r.mergedServices.size===0?null:{total:r.mergedServices.size,running:[...r.mergedServices.values()].filter(e=>e===`running`).length}),u=V(()=>{let e=[];for(let[t,n]of r.mergedServices)n!==`running`&&e.push(t);return e}),d=V(()=>{if(!l(c))return{status:`unknown`,title:`Checking services…`,detail:`Fetching the latest status from Docker.`};if(l(c).running===l(c).total&&l(c).total>0)return{status:`ok`,title:`All systems operational`,detail:`${l(c).total} of ${l(c).total} services are running normally.`};let e=l(c).total-l(c).running,t=l(u).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(`, `);return{status:`warning`,title:`${e} of ${l(c).total} services not running`,detail:t?`Not running: ${t}.`:`One or more services need attention.`}});var f=ft(),p=y(f),h=e=>{Je(e,{get status(){return l(d).status},get title(){return l(d).title},get detail(){return l(d).detail},get healthLoading(){return r.healthLoading},get applyLoading(){return r.applyLoading},get anyDangerousLoading(){return r.anyDangerousLoading},get tokenStored(){return r.tokenStored},get onCheckHealth(){return r.onCheckHealth},get onApplyChanges(){return r.onApplyChanges},get onNavigate(){return r.onNavigate}})};n(p,e=>{l(d).status!==`ok`&&e(h)});var g=v(p,2);Xe(g,{get operationResult(){return r.operationResult},get operationResultType(){return r.operationResultType},get onDismissResult(){return r.onDismissResult}});var _=v(g,2),b=s(_);{let e=V(()=>l(c)?.running),t=V(()=>l(c)?`/${l(c).total}`:null),n=V(()=>!!l(c));nt(b,{label:`Services running`,onClick:()=>r.onNavigate(`containers`),get value(){return l(e)},get sub(){return l(t)},get loaded(){return l(n)}})}var x=v(b,2);nt(x,{label:`View logs`,onClick:()=>r.onNavigate(`logs`),icon:e=>{M(e,ut())},$$slots:{icon:!0}}),nt(v(x,2),{label:`Check for updates`,onClick:()=>r.onNavigate(`updates`),icon:e=>{M(e,dt())},$$slots:{icon:!0}}),P(_);var C=v(_,4);st(C,{get akm(){return l(i)},get badge(){return l(a)},get checkTotal(){return l(o)},get onNavigate(){return r.onNavigate}}),lt(v(C,4),{get onNavigate(){return r.onNavigate}}),M(t,f),A()}var mt=j(`<!> Checking…`,1),ht=u(`<svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7mkeya"><path d="M23 4v6h-6" class="svelte-7mkeya"></path><path d="M1 20v-6h6" class="svelte-7mkeya"></path><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" class="svelte-7mkeya"></path></svg> Check for updates`,1),gt=j(`<!> Updating…`,1),_t=j(`<div class="version-select-skeleton svelte-7mkeya"></div>`),vt=j(`<option class="svelte-7mkeya"> </option>`),yt=j(`<select id="stack-version-select" class="version-select svelte-7mkeya" aria-label="OpenPalm version to install"><option class="svelte-7mkeya">latest</option><!></select>`),bt=j(`<input id="stack-version-select" class="version-input svelte-7mkeya" type="text" aria-label="OpenPalm version to install" placeholder="e.g. 0.11.0 or latest"/>`),xt=j(`<!> Installing…`,1),St=j(`<div class="version-select-skeleton svelte-7mkeya"></div>`),Ct=j(`<option class="svelte-7mkeya"> </option>`),wt=j(`<select id="ui-version-select" class="version-select svelte-7mkeya" aria-label="Admin interface version to download"></select>`),Tt=j(`<input id="ui-version-select" class="version-input svelte-7mkeya" type="text" aria-label="Admin interface version to download" placeholder="e.g. 0.11.0-beta.7"/>`),Et=j(`<!> Downloading…`,1),Dt=j(`<div class="version-restart-prompt svelte-7mkeya">Admin interface updated. <button class="btn btn-sm btn-primary svelte-7mkeya">Restart app</button></div>`),Ot=j(`<p class="version-hint svelte-7mkeya">Downloads and replaces the admin interface. Takes effect after restart.</p>`),kt=j(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="ui-version-select">Admin interface version</label> <div class="version-input-row svelte-7mkeya"><!> <button class="btn btn-sm btn-secondary svelte-7mkeya"><!></button></div> <!></div>`,1),At=j(`<div class="panel svelte-7mkeya" role="tabpanel"><div class="panel-header svelte-7mkeya"><div class="svelte-7mkeya"><h2 class="svelte-7mkeya">Check-up</h2> <p class="panel-subtitle svelte-7mkeya">Keep OpenPalm up to date. An update backs up your settings first, then briefly restarts your assistant.</p></div> <button class="btn btn-sm btn-secondary refresh-releases svelte-7mkeya" title="Check GitHub for newer versions"><!></button></div> <p class="status-live svelte-7mkeya" role="status" aria-live="polite"> </p> <div class="panel-body svelte-7mkeya"><section class="update-card svelte-7mkeya" aria-labelledby="update-primary-title"><div class="update-card-text svelte-7mkeya"><h3 id="update-primary-title" class="update-title svelte-7mkeya">Update to the latest version</h3> <p class="update-desc svelte-7mkeya">Downloads and installs the newest OpenPalm release. Your settings are backed up first,
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,F as i,G as a,H as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,S as h,T as g,V as _,X as v,Y as y,Z as b,a as x,at as S,b as C,c as w,ct as T,d as E,f as D,g as O,h as k,it as A,j,k as M,l as N,lt as P,m as F,n as I,p as L,q as R,r as z,s as B,tt as V,u as H,v as U,w as W}from"../chunks/0swOyi-5.js";import{l as G,n as K}from"../chunks/DbYMkvQX.js";import"../chunks/xihTtKlq.js";import{A as ee,C as q,D as te,E as J,F as Y,G as ne,I as re,J as X,K as Z,L as ie,M as ae,N as oe,O as se,P as ce,Q as le,R as ue,S as de,T as fe,U as pe,W as me,Z as he,a as ge,b as _e,d as Q,et as ve,f as ye,j as be,m as xe,o as Se,p as Ce,q as we,u as Te,v as Ee,w as De,x as Oe,y as ke,z as Ae}from"../chunks/BBdT9Cjm.js";import"../chunks/DLZB-lDO.js";import{c as je,i as Me,o as Ne,t as Pe}from"../chunks/BzMbI6G9.js";import{t as $}from"../chunks/BQ0vnNWj.js";import{f as Fe,n as Ie,t as Le}from"../chunks/irujFCsS.js";var Re=j(`<button role="tab"> </button>`),ze=j(`<button role="tab"><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"></svg> </button>`),Be=j(`<div class="subtab-row svelte-7673iv"><div class="tabs svelte-7673iv" role="tablist"></div></div>`),Ve=j(`<nav class="nav-shell svelte-7673iv" aria-label="Admin sections"><div class="section-strip svelte-7673iv" role="tablist" aria-label="Sections"></div> <!></nav>`);function He(e,t){S(t,!0);let r={overview:`<rect x="3" y="3" width="7" height="7" /><rect x="14" y="3" width="7" height="7" /><rect x="14" y="14" width="7" height="7" /><rect x="3" y="14" width="7" height="7" />`,containers:`<rect x="2" y="2" width="20" height="8" rx="2" ry="2" /><rect x="2" y="14" width="20" height="8" rx="2" ry="2" /><line x1="6" y1="6" x2="6.01" y2="6" /><line x1="6" y1="18" x2="6.01" y2="18" />`,logs:`<polyline points="4 17 10 11 4 5" /><line x1="12" y1="19" x2="20" y2="19" />`,connections:`<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />`,akm:`<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />`,"host-sharing":`<circle cx="18" cy="5" r="3" /><circle cx="6" cy="12" r="3" /><circle cx="18" cy="19" r="3" /><line x1="8.59" y1="13.51" x2="15.42" y2="17.49" /><line x1="15.41" y1="6.51" x2="8.59" y2="10.49" />`,voice:`<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" /><path d="M19 10v2a7 7 0 0 1-14 0v-2" /><line x1="12" y1="19" x2="12" y2="23" /><line x1="8" y1="23" x2="16" y2="23" />`,addons:`<path d="M12 2L2 7l10 5 10-5-10-5z" /><path d="M2 17l10 5 10-5" /><path d="M2 12l10 5 10-5" />`,automations:`<circle cx="12" cy="12" r="10" /><polyline points="12 6 12 12 16 14" />`,secrets:`<rect x="3" y="11" width="18" height="11" rx="2" ry="2" /><path d="M7 11V7a5 5 0 0 1 10 0v4" />`,updates:`<polyline points="8 17 12 21 16 17" /><line x1="12" y1="12" x2="12" y2="21" /><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29" />`},a=[{id:`health`,label:`Health`,tabs:[{id:`overview`,label:`Overview`,icon:r.overview},{id:`containers`,label:`Systems`,icon:r.containers},{id:`logs`,label:`Journal`,icon:r.logs},{id:`updates`,label:`Check-up`,icon:r.updates}]},{id:`mind`,label:`Mind`,tabs:[{id:`connections`,label:`AI Providers`,icon:r.connections}]},{id:`voice`,label:`Voice`,tabs:[{id:`voice`,label:`Voice`,icon:r.voice}]},{id:`routines`,label:`Routines`,tabs:[{id:`automations`,label:`Automations`,icon:r.automations}]},{id:`capabilities`,label:`Capabilities`,tabs:[{id:`addons`,label:`Add-ons`,icon:r.addons}]},{id:`knowledge`,label:`Knowledge`,tabs:[{id:`akm`,label:`Memory`,icon:r.akm},{id:`secrets`,label:`Secrets`,icon:r.secrets},{id:`host-sharing`,label:`Sharing`,icon:r[`host-sharing`]}]}],c=V(()=>a.find(e=>e.tabs.some(e=>e.id===t.active))??a[0]);function u(e){if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=e.currentTarget,n=Array.from(t.parentElement?.querySelectorAll(`[role="tab"]`)??[]),r=n.indexOf(t);r!==-1&&n[e.key===`ArrowRight`?(r+1)%n.length:(r-1+n.length)%n.length]?.focus()}function d(e){if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=e.currentTarget,n=Array.from(t.parentElement?.querySelectorAll(`[role="tab"]`)??[]),r=n.indexOf(t);r!==-1&&n[e.key===`ArrowRight`?(r+1)%n.length:(r-1+n.length)%n.length]?.focus()}function p(e){t.onSelect(e.tabs[0].id)}var m=Ve(),h=s(m);g(h,21,()=>a,e=>e.id,(e,t)=>{var n=Re();let r;var a=s(n,!0);P(n),o(()=>{r=U(n,1,`section-tab svelte-7673iv`,null,r,{"section-tab-active":l(c).id===l(t).id}),E(n,`aria-selected`,l(c).id===l(t).id),f(a,l(t).label)}),i(`click`,n,()=>p(l(t))),i(`keydown`,n,u),M(e,n)}),P(h);var _=v(h,2),y=e=>{var n=Be(),r=s(n);g(r,21,()=>l(c).tabs,e=>e.id,(e,n)=>{var r=ze();let a;var c=s(r);W(c,()=>l(n).icon,!0),P(c);var u=v(c);P(r),o(()=>{a=U(r,1,`tab svelte-7673iv`,null,a,{"tab-active":t.active===l(n).id}),E(r,`aria-selected`,t.active===l(n).id),f(u,` ${l(n).label??``}`)}),i(`click`,r,()=>t.onSelect(l(n).id)),i(`keydown`,r,d),M(e,r)}),P(r),P(n),o(()=>E(r,`aria-label`,`${l(c).label??``} tabs`)),M(e,n)};n(_,e=>{l(c).tabs.length>1&&e(y)}),P(m),M(e,m),A()}p([`click`,`keydown`]);var Ue=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>`),We=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>`),Ge=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),Ke=j(`<button class="btn btn-secondary">View containers</button>`),qe=j(`<section role="status" aria-live="polite"><span class="hero-icon svelte-10n23hu" aria-hidden="true"><!></span> <div class="hero-text svelte-10n23hu"><h2 class="hero-title svelte-10n23hu"> </h2> <p class="hero-detail svelte-10n23hu"> </p></div> <div class="hero-actions svelte-10n23hu"><button class="btn btn-secondary"> </button> <!> <button class="btn btn-secondary"> </button></div></section>`);function Je(e,t){S(t,!0);var r=qe(),a=s(r),c=s(a),l=e=>{M(e,Ue())},u=e=>{M(e,We())},d=e=>{M(e,Ge())};n(c,e=>{t.status===`warning`?e(l):t.status===`ok`?e(u,1):e(d,-1)}),P(a);var p=v(a,2),m=s(p),h=s(m,!0);P(m);var g=v(m,2),_=s(g,!0);P(g),P(p);var y=v(p,2),b=s(y),x=s(b,!0);P(b);var C=v(b,2),w=e=>{var n=Ke();i(`click`,n,()=>t.onNavigate(`containers`)),M(e,n)};n(C,e=>{t.status===`warning`&&e(w)});var T=v(C,2),E=s(T,!0);P(T),P(y),P(r),o(()=>{U(r,1,`hero hero--${t.status??``}`,`svelte-10n23hu`),f(h,t.title),f(_,t.detail),b.disabled=t.healthLoading,f(x,t.healthLoading?`Checking…`:`Re-check`),T.disabled=t.anyDangerousLoading||!t.tokenStored,f(E,t.applyLoading?`Applying…`:`Apply config & restart`)}),i(`click`,b,function(...e){t.onCheckHealth?.apply(this,e)}),i(`click`,T,function(...e){t.onApplyChanges?.apply(this,e)}),M(e,r),A()}p([`click`]);var Ye=j(`<section><div class="output-header svelte-10sij3c"><h3 class="svelte-10sij3c">Operation output</h3> <button class="btn-ghost" aria-label="Dismiss"><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"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div> <pre class="output-code svelte-10sij3c"> </pre></section>`);function Xe(e,r){var a=t(),c=y(a),l=e=>{var t=Ye(),n=s(t),a=v(s(n),2);P(n);var c=v(n,2),l=s(c,!0);P(c),P(t),o(()=>{U(t,1,`output-section output-section--${r.operationResultType??``}`,`svelte-10sij3c`),f(l,r.operationResult)}),i(`click`,a,function(...e){r.onDismissResult?.apply(this,e)}),M(e,t)};n(c,e=>{r.operationResult&&e(l)}),M(e,a)}p([`click`]);var Ze=j(`<span class="tile-metric tile-metric--icon svelte-19hpfg" aria-hidden="true"><!></span>`),Qe=j(`<span class="tile-metric-sub svelte-19hpfg"> </span>`),$e=j(` <!>`,1),et=j(`<span class="tile-metric svelte-19hpfg"><!></span>`),tt=j(`<button class="tile svelte-19hpfg"><!> <span class="tile-label svelte-19hpfg"> </span></button>`);function nt(e,t){let r=x(t,`value`,3,null),a=x(t,`sub`,3,null),c=x(t,`loaded`,3,!0);var l=tt(),u=s(l),p=e=>{var n=Ze();h(s(n),()=>t.icon),P(n),M(e,n)},m=e=>{var t=et(),i=s(t),l=e=>{var t=$e(),i=y(t,!0),c=v(i),l=e=>{var t=Qe(),n=s(t,!0);P(t),o(()=>f(n,a())),M(e,t)};n(c,e=>{a()&&e(l)}),o(()=>f(i,r())),M(e,t)},u=e=>{M(e,d(`—`))};n(i,e=>{c()?e(l):e(u,-1)}),P(t),M(e,t)};n(u,e=>{t.icon?e(p):e(m,-1)});var g=v(u,2),_=s(g,!0);P(g),P(l),o(()=>f(_,t.label)),i(`click`,l,function(...e){t.onClick?.apply(this,e)}),M(e,l)}p([`click`]);var rt=j(`<div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Task failure rate</span></div>`),it=j(`<div class="akm-metrics svelte-dcgqe1"><div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Indexed assets</span></div> <div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> <span class="akm-num-sub svelte-dcgqe1"> </span></span> <span class="akm-cap svelte-dcgqe1">Health checks passing</span></div> <div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Semantic search</span></div> <!></div>`),at=j(`<p class="akm-unavailable svelte-dcgqe1">Metrics unavailable — the akm CLI isn't reachable from the admin host.</p>`),ot=j(`<button class="akm-card svelte-dcgqe1" aria-label="AKM health — open Knowledge settings"><div class="akm-head svelte-dcgqe1"><span class="akm-title svelte-dcgqe1">AKM runtime health</span> <span> </span></div> <!></button>`);function st(e,t){S(t,!0);var r=ot(),a=s(r),c=v(s(a),2),l=s(c,!0);P(c),P(a);var u=v(a,2),d=e=>{var r=it(),i=s(r),a=s(i),c=s(a,!0);P(a),T(2),P(i);var l=v(i,2),u=s(l),d=s(u,!0),p=v(d),m=s(p);P(p),P(u),T(2),P(l);var h=v(l,2),g=s(h),_=s(g,!0);P(g),T(2),P(h);var y=v(h,2),b=e=>{var n=rt(),r=s(n),i=s(r);P(r),T(2),P(n),o(e=>f(i,`${e??``}%`),[()=>Math.round(t.akm.metrics.taskFailRate*100)]),M(e,n)};n(y,e=>{t.akm.metrics&&typeof t.akm.metrics.taskFailRate==`number`&&e(b)}),P(r),o(e=>{f(c,e),f(d,t.akm.checks.pass),f(m,`/${t.checkTotal??``}`),f(_,t.akm.index?.hasEmbeddings?`On`:`Off`)},[()=>t.akm.index?.entryCount?.toLocaleString()??`—`]),M(e,r)},p=e=>{M(e,at())};n(u,e=>{t.akm&&t.akm.available?e(d):e(p,-1)}),P(r),o(()=>{U(c,1,`badge ${t.badge.cls??``}`,`svelte-dcgqe1`),f(l,t.badge.label)}),i(`click`,r,()=>t.onNavigate(`akm`)),M(e,r),A()}p([`click`]);var ct=j(`<div class="shortcut-grid svelte-8y2vdf"><button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">AI Providers</span> <span class="shortcut-desc svelte-8y2vdf">Models & provider credentials</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Knowledge</span> <span class="shortcut-desc svelte-8y2vdf">Assistant memory & behavior</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Voice</span> <span class="shortcut-desc svelte-8y2vdf">Speech-to-text & text-to-speech</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Channels & add-ons</span> <span class="shortcut-desc svelte-8y2vdf">Discord, Slack, API & more</span></button> <button class="shortcut svelte-8y2vdf"><span class="shortcut-name svelte-8y2vdf">Secrets</span> <span class="shortcut-desc svelte-8y2vdf">Stack & channel credentials</span></button> <a class="shortcut svelte-8y2vdf" href="/setup?rerun=1"><span class="shortcut-name svelte-8y2vdf">Re-run setup</span> <span class="shortcut-desc svelte-8y2vdf">Walk through the setup wizard again</span></a></div>`);function lt(e,t){S(t,!0);var n=ct(),r=s(n),a=v(r,2),o=v(a,2),c=v(o,2),l=v(c,2);T(2),P(n),i(`click`,r,()=>t.onNavigate(`connections`)),i(`click`,a,()=>t.onNavigate(`akm`)),i(`click`,o,()=>t.onNavigate(`voice`)),i(`click`,c,()=>t.onNavigate(`addons`)),i(`click`,l,()=>t.onNavigate(`secrets`)),M(e,n),A()}p([`click`]);var ut=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg>`),dt=u(`<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path></svg>`),ft=j(`<!> <!> <div class="tile-grid svelte-xz862u"><!> <!> <!></div> <h3 class="section-heading svelte-xz862u">Knowledge base (AKM)</h3> <!> <h3 class="section-heading svelte-xz862u">Configure</h3> <!>`,1);function pt(t,r){S(r,!0);let i=e(null);z(()=>{Me.load(),J().then(e=>{m(i,e,!0)}).catch(()=>{m(i,{available:!1},!0)})});let a=V(()=>{if(!l(i)||!l(i).available)return{label:`Unavailable`,cls:`badge-neutral`};let e=l(i).status;return e!==`ok`&&e!==`warn`&&e!==`fail`&&(e=l(i).checks.fail>0?`fail`:l(i).checks.warn>0?`warn`:`ok`),e===`ok`?{label:`Healthy`,cls:`badge-success`}:e===`warn`?{label:`Warnings`,cls:`badge-warning`}:{label:`Issues`,cls:`badge-danger`}}),o=V(()=>l(i)&&l(i).available?l(i).checks.pass+l(i).checks.warn+l(i).checks.fail:0);V(()=>r.automationsData?.automations.length??0),V(()=>r.automationsData?.automations.filter(e=>e.enabled).length??0);let c=V(()=>r.mergedServices.size===0?null:{total:r.mergedServices.size,running:[...r.mergedServices.values()].filter(e=>e===`running`).length}),u=V(()=>{let e=[];for(let[t,n]of r.mergedServices)n!==`running`&&e.push(t);return e}),d=V(()=>{if(!l(c))return{status:`unknown`,title:`Checking services…`,detail:`Fetching the latest status from Docker.`};if(l(c).running===l(c).total&&l(c).total>0)return{status:`ok`,title:`All systems operational`,detail:`${l(c).total} of ${l(c).total} services are running normally.`};let e=l(c).total-l(c).running,t=l(u).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(`, `);return{status:`warning`,title:`${e} of ${l(c).total} services not running`,detail:t?`Not running: ${t}.`:`One or more services need attention.`}});var f=ft(),p=y(f),h=e=>{Je(e,{get status(){return l(d).status},get title(){return l(d).title},get detail(){return l(d).detail},get healthLoading(){return r.healthLoading},get applyLoading(){return r.applyLoading},get anyDangerousLoading(){return r.anyDangerousLoading},get tokenStored(){return r.tokenStored},get onCheckHealth(){return r.onCheckHealth},get onApplyChanges(){return r.onApplyChanges},get onNavigate(){return r.onNavigate}})};n(p,e=>{l(d).status!==`ok`&&e(h)});var g=v(p,2);Xe(g,{get operationResult(){return r.operationResult},get operationResultType(){return r.operationResultType},get onDismissResult(){return r.onDismissResult}});var _=v(g,2),b=s(_);{let e=V(()=>l(c)?.running),t=V(()=>l(c)?`/${l(c).total}`:null),n=V(()=>!!l(c));nt(b,{label:`Services running`,onClick:()=>r.onNavigate(`containers`),get value(){return l(e)},get sub(){return l(t)},get loaded(){return l(n)}})}var x=v(b,2);nt(x,{label:`View logs`,onClick:()=>r.onNavigate(`logs`),icon:e=>{M(e,ut())},$$slots:{icon:!0}}),nt(v(x,2),{label:`Check for updates`,onClick:()=>r.onNavigate(`updates`),icon:e=>{M(e,dt())},$$slots:{icon:!0}}),P(_);var C=v(_,4);st(C,{get akm(){return l(i)},get badge(){return l(a)},get checkTotal(){return l(o)},get onNavigate(){return r.onNavigate}}),lt(v(C,4),{get onNavigate(){return r.onNavigate}}),M(t,f),A()}var mt=j(`<!> Checking…`,1),ht=u(`<svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7mkeya"><path d="M23 4v6h-6" class="svelte-7mkeya"></path><path d="M1 20v-6h6" class="svelte-7mkeya"></path><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" class="svelte-7mkeya"></path></svg> Check for updates`,1),gt=j(`<!> Updating…`,1),_t=j(`<div class="version-select-skeleton svelte-7mkeya"></div>`),vt=j(`<option class="svelte-7mkeya"> </option>`),yt=j(`<select id="stack-version-select" class="version-select svelte-7mkeya" aria-label="OpenPalm version to install"><option class="svelte-7mkeya">latest</option><!></select>`),bt=j(`<input id="stack-version-select" class="version-input svelte-7mkeya" type="text" aria-label="OpenPalm version to install" placeholder="e.g. 0.11.0 or latest"/>`),xt=j(`<!> Installing…`,1),St=j(`<div class="version-select-skeleton svelte-7mkeya"></div>`),Ct=j(`<option class="svelte-7mkeya"> </option>`),wt=j(`<select id="ui-version-select" class="version-select svelte-7mkeya" aria-label="Admin interface version to download"></select>`),Tt=j(`<input id="ui-version-select" class="version-input svelte-7mkeya" type="text" aria-label="Admin interface version to download" placeholder="e.g. 0.11.0-beta.7"/>`),Et=j(`<!> Downloading…`,1),Dt=j(`<div class="version-restart-prompt svelte-7mkeya">Admin interface updated. <button class="btn btn-sm btn-primary svelte-7mkeya">Restart app</button></div>`),Ot=j(`<p class="version-hint svelte-7mkeya">Downloads and replaces the admin interface. Takes effect after restart.</p>`),kt=j(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="ui-version-select">Admin interface version</label> <div class="version-input-row svelte-7mkeya"><!> <button class="btn btn-sm btn-secondary svelte-7mkeya"><!></button></div> <!></div>`,1),At=j(`<div class="panel svelte-7mkeya" role="tabpanel"><div class="panel-header svelte-7mkeya"><div class="svelte-7mkeya"><h2 class="svelte-7mkeya">Check-up</h2> <p class="panel-subtitle svelte-7mkeya">Keep OpenPalm up to date. An update backs up your settings first, then briefly restarts your assistant.</p></div> <button class="btn btn-sm btn-secondary refresh-releases svelte-7mkeya" title="Check GitHub for newer versions"><!></button></div> <p class="status-live svelte-7mkeya" role="status" aria-live="polite"> </p> <div class="panel-body svelte-7mkeya"><section class="update-card svelte-7mkeya" aria-labelledby="update-primary-title"><div class="update-card-text svelte-7mkeya"><h3 id="update-primary-title" class="update-title svelte-7mkeya">Update to the latest version</h3> <p class="update-desc svelte-7mkeya">Downloads and installs the newest OpenPalm release. Your settings are backed up first,
|
|
2
2
|
then your assistant restarts — it will be offline for about a minute. Your data is kept.</p></div> <button class="btn btn-primary update-go svelte-7mkeya"><!></button></section> <dl class="versions svelte-7mkeya"><div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">OpenPalm</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya"> </code></dd></div> <div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">Admin interface</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya"> </code></dd></div></dl> <details class="advanced svelte-7mkeya"><summary class="svelte-7mkeya">Advanced options</summary> <div class="advanced-body svelte-7mkeya"><div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="stack-version-select">Install a specific version</label> <div class="version-input-row svelte-7mkeya"><!> <button class="btn btn-sm btn-secondary svelte-7mkeya"><!></button></div> <p class="version-hint svelte-7mkeya">For rollback or troubleshooting. Installs the chosen version and restarts services (about a minute offline).</p></div> <!></div></details></div></div>`);function jt(e,t){S(t,!0);function r(e){let t=[];return e.distTag?t.push(e.distTag):e.prerelease&&t.push(`pre-release`),t.length?`${e.version} (${t.join(`, `)})`:e.version}let a=V(()=>t.upgradeLoading?`Updating OpenPalm to the latest version…`:t.tagChangeLoading?`Installing the selected version and restarting…`:t.uiDownloadLoading?`Downloading the admin interface…`:t.releasesLoading||t.uiVersionsLoading?`Checking for updates…`:``);var c=At(),u=s(c),p=v(s(u),2),m=s(p),h=e=>{var t=mt();$(y(t),{}),T(),M(e,t)},_=e=>{var t=ht();T(),M(e,t)};n(m,e=>{t.releasesLoading||t.uiVersionsLoading?e(h):e(_,-1)}),P(p),P(u);var b=v(u,2),x=s(b,!0);P(b);var C=v(b,2),w=s(C),D=v(s(w),2),j=s(D),N=e=>{var t=gt();$(y(t),{}),T(),M(e,t)},F=e=>{M(e,d(`Update now`))};n(j,e=>{t.upgradeLoading?e(N):e(F,-1)}),P(D),P(w);var I=v(w,2),R=s(I),z=v(s(R),2),B=s(z),U=s(B,!0);P(B),P(z),P(R);var W=v(R,2),G=v(s(W),2),K=s(G),ee=s(K,!0);P(K),P(G),P(W),P(I);var q=v(I,2),te=v(s(q),2),J=s(te),Y=v(s(J),2),ne=s(Y),re=e=>{M(e,_t())},X=e=>{var n=yt(),r=s(n);r.value=r.__value=`latest`,g(v(r),17,()=>t.releases,e=>e.tag,(e,t)=>{var n=vt(),r=s(n);P(n);var i={};o(()=>{f(r,`${l(t).tag??``}${l(t).prerelease?` (pre-release)`:``}`),i!==(i=l(t).tag)&&(n.value=(n.__value=l(t).tag)??``)}),M(e,n)}),P(n);var a;k(n),o(()=>{n.disabled=t.tagChangeLoading||t.anyDangerousLoading,a!==(a=t.selectedImageTag)&&(n.value=(n.__value=t.selectedImageTag)??``,O(n,t.selectedImageTag))}),i(`change`,n,e=>t.onSelectedImageTagChange(e.currentTarget.value)),M(e,n)},Z=e=>{var n=bt();H(n),o(()=>{L(n,t.selectedImageTag),n.disabled=t.tagChangeLoading||t.anyDangerousLoading}),i(`input`,n,e=>t.onSelectedImageTagChange(e.currentTarget.value)),M(e,n)};n(ne,e=>{t.releasesLoading?e(re):t.releases.length>0?e(X,1):e(Z,-1)});var ie=v(ne,2),ae=s(ie),oe=e=>{var t=xt();$(y(t),{}),T(),M(e,t)},se=e=>{M(e,d(`Install & restart`))};n(ae,e=>{t.tagChangeLoading?e(oe):e(se,-1)}),P(ie),P(Y),T(2),P(J);var ce=v(J,2),le=e=>{var a=kt(),c=v(y(a),2),u=v(s(c),2),p=s(u),m=e=>{M(e,St())},h=e=>{var n=wt();g(n,21,()=>t.uiVersions,e=>e.version,(e,t)=>{var n=Ct(),i=s(n,!0);P(n);var a={};o(e=>{f(i,e),a!==(a=l(t).version)&&(n.value=(n.__value=l(t).version)??``)},[()=>r(l(t))]),M(e,n)}),P(n);var a;k(n),o(()=>{n.disabled=t.uiDownloadLoading,a!==(a=t.selectedUiTag)&&(n.value=(n.__value=t.selectedUiTag)??``,O(n,t.selectedUiTag))}),i(`change`,n,e=>t.onSelectedUiTagChange(e.currentTarget.value)),M(e,n)},_=e=>{var n=Tt();H(n),o(()=>{L(n,t.selectedUiTag),n.disabled=t.uiDownloadLoading}),i(`input`,n,e=>t.onSelectedUiTagChange(e.currentTarget.value)),M(e,n)};n(p,e=>{t.uiVersionsLoading?e(m):t.uiVersions.length>0?e(h,1):e(_,-1)});var b=v(p,2),x=s(b),S=e=>{var t=Et();$(y(t),{}),T(),M(e,t)},C=e=>{M(e,d(`Download`))};n(x,e=>{t.uiDownloadLoading?e(S):e(C,-1)}),P(b),P(u);var w=v(u,2),D=e=>{var n=Dt(),r=v(s(n));P(n),i(`click`,r,function(...e){t.onRestartApp?.apply(this,e)}),M(e,n)},A=e=>{M(e,Ot())};n(w,e=>{t.uiDownloadReady?e(D):e(A,-1)}),P(c),o(e=>{b.disabled=e,E(b,`aria-busy`,t.uiDownloadLoading)},[()=>!t.selectedUiTag.trim()||t.uiDownloadLoading]),i(`click`,b,()=>{t.selectedUiTag.trim()&&t.onDownloadUiVersion(t.selectedUiTag.trim())}),M(e,a)};n(ce,e=>{t.inElectron&&e(le)}),P(te),P(q),P(C),P(c),o(e=>{p.disabled=t.releasesLoading||t.uiVersionsLoading,E(p,`aria-busy`,t.releasesLoading||t.uiVersionsLoading),f(x,l(a)),D.disabled=t.anyDangerousLoading||!t.tokenStored,E(D,`aria-busy`,t.upgradeLoading),f(U,t.currentImageTag||`—`),f(ee,t.uiVersion||`—`),ie.disabled=e,E(ie,`aria-busy`,t.tagChangeLoading)},[()=>!t.selectedImageTag.trim()||t.tagChangeLoading||t.anyDangerousLoading]),i(`click`,p,function(...e){t.onRefreshReleases?.apply(this,e)}),i(`click`,D,function(...e){t.onUpgradeStack?.apply(this,e)}),i(`click`,ie,()=>{t.selectedImageTag.trim()&&t.onSetImageTag(t.selectedImageTag.trim())}),M(e,c),A()}p([`click`,`change`,`input`]);var Mt=j(`<div class="empty-state svelte-1dv4ads"><!> <!> <!></div>`);function Nt(e,r){var i=Mt(),a=s(i),o=e=>{var n=t();h(y(n),()=>r.icon),M(e,n)};n(a,e=>{r.icon&&e(o)});var c=v(a,2);h(c,()=>r.children);var l=v(c,2),u=e=>{var n=t();h(y(n),()=>r.action),M(e,n)};n(l,e=>{r.action&&e(u)}),P(i),M(e,i)}var Pt=j(`<option> </option>`),Ft=j(`<p class="ss-error svelte-180dg8u" role="alert"> </p>`),It=j(`<div class="ss-add-form svelte-180dg8u" role="group" aria-label="Add a new secret"><label class="ss-field svelte-180dg8u"><span class="ss-field-label svelte-180dg8u">Secret name</span> <input class="form-input" placeholder="e.g. discord_bot_token" autocomplete="off" spellcheck="false"/></label> <label class="ss-field svelte-180dg8u"><span class="ss-field-label svelte-180dg8u">Value</span> <input class="form-input" type="password" placeholder="Paste the secret value" autocomplete="new-password"/></label> <!> <div class="ss-actions svelte-180dg8u"><button type="button" class="btn btn-primary btn-sm"> </button> <button type="button" class="btn btn-secondary btn-sm">Cancel</button></div></div>`),Lt=j(`<div class="secret-select svelte-180dg8u"><div class="ss-row svelte-180dg8u"><select class="form-input ss-select svelte-180dg8u"><option> </option><!></select> <button type="button" class="btn btn-secondary ss-add-btn svelte-180dg8u"><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-180dg8u"><path d="M12 5v14"></path><path d="M5 12h14"></path></svg> <span class="ss-add-label svelte-180dg8u">New</span></button></div> <!></div>`);function Rt(t,r){S(r,!0);let a=x(r,`value`,15,``),c=x(r,`id`,3,`secret-select`),u=e(b([])),d=e(!0),p=e(!1),h=e(``),_=e(``),y=e(!1),C=e(``),w=e(void 0);async function T(){m(d,!0);try{let{files:e}=await ce();m(u,e.map(e=>e.name).sort((e,t)=>e.localeCompare(t)),!0)}catch{m(u,[],!0)}finally{m(d,!1)}}z(T);function D(e){a(e.currentTarget.value),r.onChange?.(a())}function j(){m(p,!0),m(C,``),m(h,``),m(_,``),queueMicrotask(()=>l(w)?.focus())}function F(){m(p,!1),m(C,``)}async function I(){let e=l(h).trim();if(!e){m(C,`Name is required.`);return}if(!l(_)){m(C,`Value is required.`);return}if(!l(y)){m(y,!0),m(C,``);try{await Z(e,l(_)),await T(),a(e),r.onChange?.(e),m(p,!1)}catch(e){m(C,e instanceof Error?e.message:`Could not save secret.`,!0)}finally{m(y,!1)}}}function L(e){e.key===`Escape`&&(e.preventDefault(),F())}var R=Lt(),V=s(R),U=s(V),W=s(U),G=s(W,!0);P(W),W.value=W.__value=``,g(v(W),16,()=>l(u),e=>e,(e,t)=>{var n=Pt(),r=s(n,!0);P(n);var i={};o(()=>{f(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),M(e,n)}),P(U);var K;k(U);var ee=v(U,2);P(V);var q=v(V,2),te=e=>{var t=It(),r=s(t),a=v(s(r),2);H(a),B(a,e=>m(w,e),()=>l(w)),P(r);var c=v(r,2),u=v(s(c),2);H(u),P(c);var d=v(c,2),p=e=>{var t=Ft(),n=s(t,!0);P(t),o(()=>f(n,l(C))),M(e,t)};n(d,e=>{l(C)&&e(p)});var g=v(d,2),b=s(g),x=s(b,!0);P(b);var S=v(b,2);P(g),P(t),o(()=>{b.disabled=l(y),f(x,l(y)?`Saving…`:`Save & select`),S.disabled=l(y)}),i(`keydown`,a,L),N(a,()=>l(h),e=>m(h,e)),i(`keydown`,u,L),N(u,()=>l(_),e=>m(_,e)),i(`click`,b,I),i(`click`,S,F),M(e,t)};n(q,e=>{l(p)&&e(te)}),P(R),o(()=>{E(U,`id`,c()),U.disabled=l(d)||l(p),f(G,l(d)?`Loading secrets…`:`Select a secret…`),K!==(K=a())&&(U.value=(U.__value=a())??``,O(U,a())),ee.disabled=l(p)}),i(`change`,U,D),i(`click`,ee,j),M(t,R),A()}p([`change`,`click`,`keydown`]);var zt=j(`<div class="loading-state"><!> <span>Loading addons...</span></div>`),Bt=j(`<div class="error-state svelte-87zh26"><span> </span> <button class="btn btn-secondary btn-sm">Retry</button></div>`),Vt=u(`<svg aria-hidden="true" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 17l10 5 10-5"></path><path d="M2 12l10 5 10-5"></path></svg>`),Ht=j(`<p>No addons found in registry/addons/.</p>`),Ut=j(`<button class="btn btn-sm btn-secondary" aria-label="Configure Voice addon settings">Configure</button>`),Wt=j(`<button class="btn btn-sm btn-secondary">Credentials</button>`),Gt=j(`<div class="addon-row svelte-87zh26"><span class="addon-col addon-col--name addon-name svelte-87zh26"> </span> <span class="addon-col addon-col--status svelte-87zh26"><span> </span></span> <span class="addon-col addon-col--actions svelte-87zh26"><!> <button><!></button></span></div>`),Kt=j(`<div class="addon-table svelte-87zh26"><div class="addon-table-header svelte-87zh26"><span class="addon-col addon-col--name svelte-87zh26">Addon</span> <span class="addon-col addon-col--status svelte-87zh26">Status</span> <span class="addon-col addon-col--actions svelte-87zh26"></span></div> <!></div>`),qt=j(`<button class="btn btn-secondary btn-sm">Cancel</button> <button class="btn btn-primary btn-sm"><!> Save</button>`,1),Jt=j(`<div class="creds-loading svelte-87zh26"><!> Loading credentials…</div>`),Yt=j(`<p class="creds-empty svelte-87zh26">This addon has no configurable env vars (compose overlay only).</p>`),Xt=j(`<span class="creds-tag svelte-87zh26">sensitive</span>`),Zt=j(`<span class="creds-tag creds-tag--set svelte-87zh26">set</span>`),Qt=j(`<p class="creds-desc svelte-87zh26"> </p>`),$t=j(`<p class="creds-desc svelte-87zh26">A value is already set — choose a secret to replace it.</p>`),en=j(`<!> <!>`,1),tn=j(`<input type="text" class="form-input svelte-87zh26" autocomplete="off"/>`),nn=j(`<div class="creds-row svelte-87zh26"><label class="creds-label svelte-87zh26"><code class="svelte-87zh26"> </code> <!> <!></label> <!> <!></div>`),rn=j(`<p class="creds-hint svelte-87zh26">Values are written to <code>knowledge/env/stack.env</code> and read by the addon container on next recreate.</p> <!>`,1),an=j(`<div class="panel" role="tabpanel"><div class="panel-header"><div><h2>Addons</h2> <p class="panel-subtitle">Optional features you can enable or disable. Credentials are written to the stack config and applied when the addon container restarts.</p></div> <button class="btn btn-secondary btn-sm"><!> Refresh</button></div> <div class="panel-body panel-body--flush"><!></div> <!></div>`);function on(r,a){S(a,!0);let c={api:`API`,ssh:`SSH`,ui:`UI`};function u(e){return e.split(/[-_]/).filter(Boolean).map(e=>c[e.toLowerCase()]??e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}let p=e(b([])),h=e(!1),_=e(``),x=e(null),C=e(null),w=b({}),D=b({}),O=b({}),k=e(null),j=e(null);async function F(e,t,n){if(!n){D[e][t]=``;return}try{let{value:r}=await oe(n);D[e][t]=r}catch(e){let t=e instanceof Error?e.message:String(e);Q.push(`error`,`Could not read secret: ${t}`)}}async function I(){m(h,!0),m(_,``);try{m(p,await De(),!0)}catch(e){let t=e instanceof Error?e.message:String(e);if(t.includes(`401`)||t.includes(`403`)){a.onAuthError();return}m(_,t,!0)}finally{m(h,!1)}}async function L(e,t){m(x,e,!0);try{await le(e,t),await I()}catch(e){let t=e instanceof Error?e.message:String(e);if(t.includes(`401`)||t.includes(`403`)){a.onAuthError();return}m(_,t,!0)}finally{m(x,null)}}function R(){m(C,null)}async function B(e){if(m(C,e,!0),!w[e]){m(k,e,!0);try{let t=await q(e);w[e]=t;let n={},r={};for(let e of t)n[e.key]=e.sensitive?``:e.value,e.sensitive&&(r[e.key]=``);D[e]=n,O[e]=r}catch(e){let t=e instanceof Error?e.message:String(e);if(t.includes(`401`)||t.includes(`403`)){a.onAuthError();return}Q.push(`error`,`Could not load credentials: ${t}`)}finally{m(k,null)}}}async function W(e){m(j,e,!0);try{let t=w[e]??[],n=new Set(t.filter(e=>e.sensitive).map(e=>e.key)),r={},i=D[e]??{};for(let[e,t]of Object.entries(i))n.has(e)&&t===``||(r[e]=t);if(Object.keys(r).length===0){Q.push(`error`,`Nothing to save.`);return}let{updated:a}=await me(e,r);Q.push(`success`,`Saved ${a.length} field(s). Recreate the addon container to apply.`);let o=await q(e);w[e]=o;let s={...i};for(let e of o)e.sensitive&&(s[e.key]=``);D[e]=s}catch(e){let t=e instanceof Error?e.message:String(e);if(t.includes(`401`)||t.includes(`403`)){a.onAuthError();return}Q.push(`error`,`Save failed: ${t}`)}finally{m(j,null)}}z(()=>{I()});var G=an(),K=s(G),ee=v(s(K),2),te=s(ee),J=e=>{$(e,{})};n(te,e=>{l(h)&&e(J)}),T(),P(ee),P(K);var Y=v(K,2),ne=s(Y),re=e=>{var t=zt();$(s(t),{}),T(2),P(t),M(e,t)},X=e=>{var t=Bt(),n=s(t),r=s(n,!0);P(n);var a=v(n,2);P(t),o(()=>f(r,l(_))),i(`click`,a,()=>I()),M(e,t)},Z=e=>{Nt(e,{icon:e=>{M(e,Vt())},children:(e,t)=>{M(e,Ht())},$$slots:{icon:!0,default:!0}})},ie=e=>{var t=Kt();g(v(s(t),2),17,()=>l(p),e=>e.name,(e,t)=>{var r=Gt(),c=s(r),p=s(c,!0);P(c);var m=v(c,2),h=s(m);let g;var _=s(h,!0);P(h),P(m);var y=v(m,2),b=s(y),S=e=>{var t=Ut();i(`click`,t,()=>a.onNavigate?.(`voice`)),M(e,t)},C=e=>{var n=Wt();o(()=>n.disabled=!l(t).available),i(`click`,n,()=>void B(l(t).name)),M(e,n)};n(b,e=>{l(t).name===`voice`&&l(t).enabled?e(S):e(C,-1)});var w=v(b,2);let T;var D=s(w),O=e=>{$(e,{})},k=e=>{var n=d();o(()=>f(n,l(t).enabled?`Disable`:`Enable`)),M(e,n)};n(D,e=>{l(x)===l(t).name?e(O):e(k,-1)}),P(w),P(y),P(r),o(e=>{E(c,`title`,l(t).name),f(p,e),g=U(h,1,`badge`,null,g,{"badge-enabled":l(t).enabled,"badge-disabled":!l(t).enabled}),f(_,l(t).enabled?`Enabled`:`Disabled`),T=U(w,1,`btn btn-sm`,null,T,{"btn-danger":l(t).enabled,"btn-outline":!l(t).enabled}),w.disabled=l(x)===l(t).name||!l(t).available},[()=>u(l(t).name)]),i(`click`,w,()=>L(l(t).name,!l(t).enabled)),M(e,r)}),P(t),M(e,t)};n(ne,e=>{l(h)&&l(p).length===0?e(re):l(_)?e(X,1):l(p).length===0?e(Z,2):e(ie,-1)}),P(Y);var ae=v(Y,2),se=e=>{let r=V(()=>l(C));{let a=e=>{var t=qt(),r=y(t),a=v(r,2),c=s(a),u=e=>{$(e,{})};n(c,e=>{l(j)===l(C)&&e(u)}),T(),P(a),o(()=>a.disabled=!l(C)||l(j)===l(C)||(w[l(C)]?.length??0)===0),i(`click`,r,R),i(`click`,a,()=>l(C)&&void W(l(C))),M(e,t)},c=V(()=>u(l(r)));Ne(e,{open:!0,get title(){return`${l(c)??``} credentials`},onClose:R,footer:a,children:(e,i)=>{var a=t(),c=y(a),u=e=>{var t=Jt();$(s(t),{}),T(),P(t),M(e,t)},d=e=>{M(e,Yt())},p=e=>{var t=rn();g(v(y(t),2),17,()=>w[l(r)]??[],e=>e.key,(e,t)=>{var i=nn(),a=s(i),c=s(a),u=s(c,!0);P(c);var d=v(c,2),p=e=>{M(e,Xt())};n(d,e=>{l(t).sensitive&&e(p)});var m=v(d,2),h=e=>{M(e,Zt())};n(m,e=>{l(t).sensitive&&l(t).set&&e(h)}),P(a);var g=v(a,2),_=e=>{var n=Qt(),r=s(n,!0);P(n),o(()=>f(r,l(t).description)),M(e,n)};n(g,e=>{l(t).description&&e(_)});var b=v(g,2),x=e=>{var i=en(),a=y(i);Rt(a,{get id(){return`cred-${l(r)??``}-${l(t).key??``}`},onChange:e=>void F(l(r),l(t).key,e),get value(){return O[l(r)][l(t).key]},set value(e){O[l(r)][l(t).key]=e}});var o=v(a,2),s=e=>{M(e,$t())};n(o,e=>{l(t).set&&e(s)}),M(e,i)},S=e=>{var n=tn();H(n),o(()=>{E(n,`id`,`cred-${l(r)??``}-${l(t).key??``}`),E(n,`placeholder`,l(t).default)}),N(n,()=>D[l(r)][l(t).key],e=>D[l(r)][l(t).key]=e),M(e,n)};n(b,e=>{l(t).sensitive?e(x):e(S,-1)}),P(i),o(()=>{E(a,`for`,`cred-${l(r)??``}-${l(t).key??``}`),f(u,l(t).key)}),M(e,i)}),M(e,t)};n(c,e=>{l(k)===l(r)?e(u):(w[l(r)]?.length??0)===0?e(d,1):e(p,-1)}),M(e,a)},$$slots:{footer:!0,default:!0}})}};n(ae,e=>{l(C)&&e(se)}),P(G),o(()=>ee.disabled=l(h)),i(`click`,ee,()=>I()),M(r,G),A()}p([`click`]);var sn=j(`<div class="panel-header-actions"><!></div>`),cn=j(`<div class="panel"><div class="panel-header"><h2> </h2> <!></div> <!></div>`);function ln(e,t){var r=cn(),i=s(r),a=s(i),c=s(a,!0);P(a);var l=v(a,2),u=e=>{var n=sn();h(s(n),()=>t.actions),P(n),M(e,n)};n(l,e=>{t.actions&&e(u)}),P(i),h(v(i,2),()=>t.children),P(r),o(()=>{E(r,`role`,t.role),f(c,t.title)}),M(e,r)}function un(e){let t=e.indexOf(`@`),n=t>-1?e.slice(0,t):e,r=n.lastIndexOf(`:`);return r>-1?{name:n.slice(0,r),tag:n.slice(r+1)}:{name:n,tag:`latest`}}function dn(e){return e===`running`?`success`:e===`exited`||e===`dead`||e===`stopped`?`danger`:e===`restarting`||e===`paused`?`warning`:`idle`}function fn(e){return e?e.charAt(0).toUpperCase()+e.slice(1):e??``}var pn=j(`<span class="ct-not-created svelte-1clpuus">--</span>`),mn=j(`<span class="tag-badge"> </span>`),hn=j(`<span class="ct-not-created svelte-1clpuus">--</span>`),gn=j(`<button class="container-table-row container-table-row--clickable svelte-1clpuus"><span class="ct-col ct-col--name"><span></span> <span class="ct-service-name svelte-1clpuus"> </span></span> <span class="ct-col ct-col--image ct-mono svelte-1clpuus"><!></span> <span class="ct-col ct-col--tag"><!></span> <span class="ct-col ct-col--status"><span> </span></span> <span class="ct-col ct-col--actions"><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"><polyline points="6 9 12 15 18 9"></polyline></svg></span></button>`);function _n(e,t){S(t,!0);let r=V(()=>t.entry.docker?un(t.entry.docker.Image):null);var a=gn(),c=s(a),u=s(c),p=v(u,2),m=s(p,!0);P(p),P(c);var h=v(c,2),g=s(h),_=e=>{var t=d();o(()=>f(t,l(r).name)),M(e,t)},y=e=>{M(e,pn())};n(g,e=>{l(r)?e(_):e(y,-1)}),P(h);var b=v(h,2),x=s(b),C=e=>{var t=mn(),n=s(t,!0);P(t),o(()=>f(n,l(r).tag)),M(e,t)},w=e=>{M(e,hn())};n(x,e=>{l(r)?e(C):e(w,-1)}),P(b);var T=v(b,2),D=s(T),O=s(D,!0);P(D),P(T);var k=v(T,2),j=s(k);let N;P(k),P(a),o((e,n,r)=>{E(a,`aria-expanded`,t.selected),U(u,1,`ct-indicator ct-indicator--${e??``}`,`svelte-1clpuus`),f(m,t.entry.service),U(D,1,`badge badge-${n??``}`,`svelte-1clpuus`),f(O,r),N=U(j,0,`svelte-1clpuus`,null,N,{"ct-chevron-open":t.selected})},[()=>dn(t.entry.state),()=>dn(t.entry.state),()=>fn(t.entry.state)]),i(`click`,a,function(...e){t.onToggle?.apply(this,e)}),M(e,a),A()}p([`click`]);var vn=j(`<span class="detail-mono detail-digest svelte-17lh9yz"> </span>`),yn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Image Name</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div> <div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Tag / Digest</span> <span class="detail-value svelte-17lh9yz"><span class="tag-badge tag-badge--lg"> </span> <!></span></div>`,1),bn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Health</span> <span class="detail-value svelte-17lh9yz"><span> </span></span></div>`),xn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Ports</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div>`),Sn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Uptime</span> <span class="detail-value svelte-17lh9yz"> </span></div>`),Cn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Created</span> <span class="detail-value svelte-17lh9yz"> </span></div>`),wn=j(`<div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Project</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div>`),Tn=j(`<div class="detail-grid svelte-17lh9yz"><div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Container ID</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div> <div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Name</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div> <div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Image</span> <span class="detail-value detail-mono svelte-17lh9yz"> </span></div> <!> <div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">State</span> <span class="detail-value svelte-17lh9yz"><span> </span></span></div> <div class="detail-item svelte-17lh9yz"><span class="detail-label svelte-17lh9yz">Status</span> <span class="detail-value svelte-17lh9yz"> </span></div> <!> <!> <!> <!> <!></div>`),En=j(`<div class="detail-not-created svelte-17lh9yz"><p class="svelte-17lh9yz">Container has not been created yet. Use <strong>Start</strong> to create and start it.</p></div>`),Dn=j(`<div role="status"> </div>`),On=j(`<div class="confirm-bar svelte-17lh9yz" role="alert"><span class="confirm-text svelte-17lh9yz"> <strong> </strong>?</span> <div class="confirm-actions svelte-17lh9yz"><button class="btn btn-danger btn-sm">Confirm</button> <button class="btn btn-secondary btn-sm">Cancel</button></div></div>`),kn=j(`<button class="btn btn-primary btn-sm"><!> Start</button>`),An=j(`<button class="btn btn-secondary btn-sm"><!> Start</button> <button class="btn btn-danger btn-sm"><!> Stop</button> <button class="btn btn-secondary btn-sm"><!> Restart</button>`,1),jn=j(`<div class="detail-actions svelte-17lh9yz"><!></div>`),Mn=j(`<div class="container-detail svelte-17lh9yz"><!> <!> <!></div>`);function Nn(e,t){S(t,!0);let r=V(()=>t.entry.docker?un(t.entry.docker.Image):null),a=V(()=>t.actionInFlight!==null),c=V(()=>!t.entry.docker);var u=Mn(),d=s(u),p=e=>{let i=V(()=>t.entry.docker);var a=Tn(),c=s(a),u=v(s(c),2),d=s(u,!0);P(u),P(c);var p=v(c,2),m=v(s(p),2),h=s(m,!0);P(m),P(p);var g=v(p,2),_=v(s(g),2),b=s(_,!0);P(_),P(g);var x=v(g,2),S=e=>{var t=yn(),a=y(t),c=v(s(a),2),u=s(c,!0);P(c),P(a);var d=v(a,2),p=v(s(d),2),m=s(p),h=s(m,!0);P(m);var g=v(m,2),_=e=>{var t=vn(),n=s(t);P(t),o(e=>f(n,`${e??``}...`),[()=>l(i).Image.split(`@`)[1]?.slice(0,19)]),M(e,t)},b=V(()=>l(i).Image.includes(`@`));n(g,e=>{l(b)&&e(_)}),P(p),P(d),o(()=>{f(u,l(r).name),f(h,l(r).tag)}),M(e,t)};n(x,e=>{l(r)&&e(S)});var C=v(x,2),w=v(s(C),2),T=s(w),E=s(T,!0);P(T),P(w),P(C);var D=v(C,2),O=v(s(D),2),k=s(O,!0);P(O),P(D);var A=v(D,2),j=e=>{var t=bn(),n=v(s(t),2),r=s(n);let a;var c=s(r,!0);P(r),P(n),P(t),o(e=>{a=U(r,1,`badge`,null,a,e),f(c,l(i).Health)},[()=>({"badge-success":l(i).Health===`healthy`,"badge-warning":l(i).Health===`starting`,"badge-danger":l(i).Health===`unhealthy`,"badge-idle":![`healthy`,`starting`,`unhealthy`].includes(l(i).Health)})]),M(e,t)};n(A,e=>{l(i).Health&&e(j)});var N=v(A,2),F=e=>{var t=xn(),n=v(s(t),2),r=s(n,!0);P(n),P(t),o(()=>f(r,l(i).Ports)),M(e,t)};n(N,e=>{l(i).Ports&&e(F)});var I=v(N,2),L=e=>{var t=Sn(),n=v(s(t),2),r=s(n,!0);P(n),P(t),o(()=>f(r,l(i).RunningFor)),M(e,t)};n(I,e=>{l(i).RunningFor&&e(L)});var R=v(I,2),z=e=>{var t=Cn(),n=v(s(t),2),r=s(n,!0);P(n),P(t),o(()=>f(r,l(i).CreatedAt)),M(e,t)};n(R,e=>{l(i).CreatedAt&&e(z)});var B=v(R,2),H=e=>{var t=wn(),n=v(s(t),2),r=s(n,!0);P(n),P(t),o(()=>f(r,l(i).Project)),M(e,t)};n(B,e=>{l(i).Project&&e(H)}),P(a),o((e,t)=>{f(d,l(i).ID),f(h,l(i).Name||l(i).Names),f(b,l(i).Image),U(T,1,`badge badge-${e??``}`,`svelte-17lh9yz`),f(E,t),f(k,l(i).Status)},[()=>dn(l(i).State),()=>fn(l(i).State)]),M(e,a)},m=e=>{M(e,En())};n(d,e=>{t.entry.docker?e(p):e(m,-1)});var h=v(d,2),g=e=>{var n=Dn(),r=s(n,!0);P(n),o(()=>{U(n,1,`action-feedback action-feedback--${t.feedback.type??``}`,`svelte-17lh9yz`),f(r,t.feedback.message)}),M(e,n)};n(h,e=>{t.feedback&&e(g)});var _=v(h,2),b=e=>{var n=On(),r=s(n),a=s(r),c=v(a),l=s(c,!0);P(c),T(),P(r);var u=v(r,2),d=s(u),p=v(d,2);P(u),P(n),o(e=>{f(a,`${e??``} `),f(l,t.entry.service)},[()=>t.confirmAction.charAt(0).toUpperCase()+t.confirmAction.slice(1)]),i(`click`,d,e=>t.onExecuteAction(t.confirmAction,e)),i(`click`,p,e=>t.onCancelConfirm(e)),M(e,n)},x=e=>{var r=jn(),u=s(r),d=e=>{var r=kn(),c=s(r),u=e=>{$(e,{size:12})};n(c,e=>{t.actionInFlight===`start`&&e(u)}),T(),P(r),o(()=>r.disabled=l(a)),i(`click`,r,e=>t.onRequestAction(`start`,e)),M(e,r)},f=e=>{var r=An(),c=y(r),u=s(c),d=e=>{$(e,{size:12})};n(u,e=>{t.actionInFlight===`start`&&e(d)}),T(),P(c);var f=v(c,2),p=s(f),m=e=>{$(e,{size:12})};n(p,e=>{t.actionInFlight===`stop`&&e(m)}),T(),P(f);var h=v(f,2),g=s(h),_=e=>{$(e,{size:12})};n(g,e=>{t.actionInFlight===`restart`&&e(_)}),T(),P(h),o(()=>{c.disabled=l(a),f.disabled=l(a),h.disabled=l(a)}),i(`click`,c,e=>t.onRequestAction(`start`,e)),i(`click`,f,e=>t.onRequestAction(`stop`,e)),i(`click`,h,e=>t.onRequestAction(`restart`,e)),M(e,r)};n(u,e=>{l(c)?e(d):e(f,-1)}),P(r),M(e,r)};n(_,e=>{t.confirmAction?e(b):e(x,-1)}),P(u),M(e,u),A()}p([`click`]);var Pn=j(`<p>Loading container status...</p>`),Fn=j(`<p class="text-danger svelte-llpoy7"> </p> <button class="btn btn-secondary btn-sm svelte-llpoy7">Try Again</button>`,1),In=j(`<p>Docker is not available on this host.</p> <p class="hint svelte-llpoy7">Ensure Docker is running and the admin service has access to the Docker socket.</p>`,1),Ln=j(`<p>No containers found. Services may not be installed yet.</p>`),Rn=j(`<div class="empty-state svelte-llpoy7"><svg aria-hidden="true" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" 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> <!></div>`);function zn(e,t){S(t,!0);var r=Rn(),a=v(s(r),2),c=e=>{M(e,Pn())},l=e=>{var n=Fn(),r=y(n),a=s(r,!0);P(r);var c=v(r,2);o(()=>{f(a,t.error),c.disabled=!t.tokenStored}),i(`click`,c,function(...e){t.onRefresh?.apply(this,e)}),M(e,n)},u=e=>{var t=In();T(2),M(e,t)},d=e=>{M(e,Ln())};n(a,e=>{t.loading?e(c):t.error?e(l,1):t.containerData&&!t.containerData.dockerAvailable?e(u,2):e(d,-1)}),P(r),M(e,r),A()}p([`click`]);var Bn=j(`<span class="last-updated svelte-fnc5b8"> </span>`),Vn=j(`<!> <button class="btn btn-secondary btn-sm"><!> Pull Images</button> <button class="btn btn-secondary btn-sm"><!> Refresh</button>`,1),Hn=j(`<!> <!>`,1),Un=j(`<div class="container-table svelte-fnc5b8"><div class="container-table-header svelte-fnc5b8"><span class="ct-col ct-col--name">Container</span> <span class="ct-col ct-col--image">Image</span> <span class="ct-col ct-col--tag">Tag</span> <span class="ct-col ct-col--status">Status</span> <span class="ct-col ct-col--actions"></span></div> <!></div>`),Wn=j(`<div class="panel-body panel-body--flush"><!></div>`);function Gn(e,t){S(t,!0);let r=V(()=>t.serviceEntries.length>0),a=b({});function c(e){return a[e]||(a[e]={inFlight:null,confirm:null,feedback:null}),a[e]}function u(e,t,n){n.stopPropagation(),c(e).confirm=t}function d(e,t){t.stopPropagation(),c(e).confirm=null}async function p(e,n,r,i){i.stopPropagation();let a=c(e);a.confirm=null,a.inFlight=r,a.feedback=null;try{r===`start`?t.onStart(n):r===`stop`?t.onStop(n):t.onRestart(n),a.feedback={type:`success`,message:`${r.charAt(0).toUpperCase()+r.slice(1)} initiated`}}catch(e){a.feedback={type:`error`,message:`${r} failed: ${e instanceof Error?e.message:e}`}}a.inFlight=null,setTimeout(()=>{a.feedback=null},3e3)}ln(e,{title:`Container Status`,role:`tabpanel`,actions:e=>{var r=Vn(),a=y(r),c=e=>{var n=Bn(),r=s(n);P(n),o(()=>f(r,`Updated ${t.lastUpdated??``}`)),M(e,n)};n(a,e=>{t.lastUpdated&&e(c)});var l=v(a,2),u=s(l),d=e=>{$(e,{})};n(u,e=>{t.pullLoading&&e(d)}),T(),P(l);var p=v(l,2),m=s(p),h=e=>{$(e,{})};n(m,e=>{t.loading&&e(h)}),T(),P(p),o(()=>{l.disabled=t.pullLoading||!t.tokenStored,p.disabled=t.loading||!t.tokenStored}),i(`click`,l,function(...e){t.onPullImages?.apply(this,e)}),i(`click`,p,function(...e){t.onRefresh?.apply(this,e)}),M(e,r)},children:(e,i)=>{var o=Wn(),c=s(o),f=e=>{var r=Un();g(v(s(r),2),17,()=>t.serviceEntries,e=>e.id,(e,r)=>{let i=V(()=>t.selectedContainerId===l(r).id);var o=Hn(),s=y(o);_n(s,{get entry(){return l(r)},get selected(){return l(i)},onToggle:()=>t.onToggleContainer(l(r).id)});var c=v(s,2),f=e=>{{let t=V(()=>a[l(r).id]?.inFlight??null),n=V(()=>a[l(r).id]?.confirm??null),i=V(()=>a[l(r).id]?.feedback??null);Nn(e,{get entry(){return l(r)},get actionInFlight(){return l(t)},get confirmAction(){return l(n)},get feedback(){return l(i)},onRequestAction:(e,t)=>u(l(r).id,e,t),onCancelConfirm:e=>d(l(r).id,e),onExecuteAction:(e,t)=>p(l(r).id,l(r).service,e,t)})}};n(c,e=>{l(i)&&e(f)}),M(e,o)}),P(r),M(e,r)},m=e=>{zn(e,{get loading(){return t.loading},get error(){return t.error},get containerData(){return t.containerData},get tokenStored(){return t.tokenStored},get onRefresh(){return t.onRefresh}})};n(c,e=>{l(r)?e(f):e(m,-1)}),P(o),M(e,o)},$$slots:{actions:!0,default:!0}}),A()}p([`click`]);var Kn=j(`<div class="task-editor svelte-1xltcby"><div class="task-editor-head svelte-1xltcby"><span class="task-editor-name svelte-1xltcby"> </span> <span class="task-editor-hint svelte-1xltcby">Raw akm task file (YAML) — set <code>enabled</code>, <code>schedule</code>, <code>command</code>, etc.</span></div> <textarea class="task-editor-area svelte-1xltcby" spellcheck="false" rows="14"></textarea> <div class="task-editor-actions svelte-1xltcby"><button class="btn btn-secondary btn-sm">Cancel</button> <button class="btn btn-primary btn-sm"><!> Save</button></div></div>`),qn=j(`<div class="automation-desc svelte-1xltcby"> </div>`),Jn=j(`<span class="meta-item schedule-friendly svelte-1xltcby"> </span>`),Yn=j(`<span class="meta-item svelte-1xltcby"><code class="svelte-1xltcby"> </code></span> <span class="meta-item meta-tz svelte-1xltcby"> </span>`,1),Xn=j(`<div class="automation-card svelte-1xltcby"><div class="automation-row svelte-1xltcby"><div class="automation-main svelte-1xltcby"><div class="automation-name svelte-1xltcby"> <span> </span> <span class="badge badge-type svelte-1xltcby"> </span></div> <!></div> <div class="automation-meta svelte-1xltcby"><!></div></div> <div class="automation-footer svelte-1xltcby"><span class="automation-file svelte-1xltcby"> </span> <div class="automation-actions svelte-1xltcby"><button class="btn btn-ghost btn-sm">Edit</button> <button class="btn btn-ghost btn-sm">Delete</button></div></div></div>`),Zn=j(`<div class="automation-list svelte-1xltcby"></div>`),Qn=u(`<svg aria-hidden="true" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>`),$n=j(`<p>Loading automations...</p>`),er=j(`<p class="text-danger svelte-1xltcby"> </p> <button class="btn btn-secondary btn-sm empty-state-btn svelte-1xltcby">Try Again</button>`,1),tr=j(`<p>No automations configured.</p> <p class="empty-state-hint svelte-1xltcby">Drop <code class="svelte-1xltcby">.md</code> task files into <code class="svelte-1xltcby">~/.openpalm/knowledge/tasks/</code>, or install via <code class="svelte-1xltcby">akm</code>.</p>`,1),nr=j(`<div class="panel" role="tabpanel"><div class="panel-header"><div><h2>Automations</h2> <p class="panel-subtitle">Scheduled tasks read from <code>~/.openpalm/knowledge/tasks/</code>. Add or edit task files there to manage automations — changes take effect on refresh.</p></div> <div class="panel-header-actions"><button class="btn btn-secondary btn-sm">New task</button> <button class="btn btn-secondary btn-sm"><!> Refresh</button></div></div> <!> <div class="panel-body"><!></div></div>`);function rr(a,u){S(u,!0);let d=V(()=>u.data!==null&&Array.isArray(u.data.automations)&&u.data.automations.length>0),p=e(null),h=e(``),_=e(!1);async function b(e){if(!l(_)){m(_,!0);try{m(p,e,!0),m(h,(await re(e)).content,!0)}catch(e){Q.push(`error`,e instanceof Error?e.message:`Failed to read task file.`),m(p,null)}finally{m(_,!1)}}}function x(){let e=(prompt(`New task file name (.yml):`,`my-task.yml`)??``).trim();e&&(m(p,e,!0),m(h,`schedule: '0 9 * * *'
|
|
3
3
|
enabled: false
|
|
4
4
|
description:
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,D as t,F as n,H as r,I as i,J as a,L as o,O as s,P as c,Q as l,T as u,V as d,X as f,Y as p,at as m,b as h,c as g,ct as _,d as v,it as y,j as b,k as x,l as S,lt as C,q as w,r as T,tt as E,u as D,v as O}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{$ as k,_ as A,h as j}from"../chunks/BBdT9Cjm.js";import{i as M,t as N}from"../chunks/
|
|
1
|
+
import{$ as e,D as t,F as n,H as r,I as i,J as a,L as o,O as s,P as c,Q as l,T as u,V as d,X as f,Y as p,at as m,b as h,c as g,ct as _,d as v,it as y,j as b,k as x,l as S,lt as C,q as w,r as T,tt as E,u as D,v as O}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{$ as k,_ as A,h as j}from"../chunks/BBdT9Cjm.js";import{i as M,t as N}from"../chunks/BzMbI6G9.js";var P=b(`<div class="alert error svelte-m7qpzt" role="alert"> </div>`),F=b(`<span class="badge default svelte-m7qpzt">Default</span>`),ee=b(`<span class="badge active svelte-m7qpzt">Active</span>`),te=b(`<span class="badge password svelte-m7qpzt" title="Server password configured">🔒</span>`),ne=b(`<button type="button" class="btn btn-primary btn-sm">Use this</button>`),re=b(`<button type="button" class="btn btn-secondary btn-sm">Edit</button> <button type="button" class="btn btn-danger btn-sm svelte-m7qpzt"> </button>`,1),ie=b(`<article><div class="endpoint-main svelte-m7qpzt"><div class="endpoint-title svelte-m7qpzt"><span class="endpoint-label svelte-m7qpzt"> </span> <!> <!> <!></div> <div class="endpoint-url svelte-m7qpzt"> </div></div> <div class="endpoint-actions svelte-m7qpzt"><!> <!></div></article>`),I=b(`<button type="button" class="btn btn-primary">+ Add endpoint</button>`),L=b(`<small class="rotate-hint svelte-m7qpzt"><strong class="svelte-m7qpzt">Rotating this password?</strong> OpenCode reads <code class="svelte-m7qpzt">OPENCODE_SERVER_PASSWORD</code> from its env at startup, so
|
|
2
2
|
rotation is a two-step process: <ol class="svelte-m7qpzt"><li>On the remote host: update <code class="svelte-m7qpzt">OP_OPENCODE_PASSWORD</code> in <code class="svelte-m7qpzt">stack.env</code> and restart the <code class="svelte-m7qpzt">assistant</code> container.</li> <li>Paste the new value here and save.</li></ol></small>`),ae=b(`<label class="field-inline svelte-m7qpzt"><input type="checkbox"/> <span>Clear stored password</span></label>`),oe=b(`<div class="alert error svelte-m7qpzt" role="alert"> </div>`),se=b(`<form class="endpoint-form svelte-m7qpzt"><h2 class="svelte-m7qpzt"> </h2> <label class="field svelte-m7qpzt"><span class="svelte-m7qpzt">Label</span> <input type="text" placeholder="e.g. Home server" required="" autocomplete="off" class="svelte-m7qpzt"/></label> <label class="field svelte-m7qpzt"><span class="svelte-m7qpzt">URL</span> <input type="url" placeholder="http://10.0.0.5:3800" required="" autocomplete="off" class="svelte-m7qpzt"/> <small class="svelte-m7qpzt">The host:port where the remote OpenPalm assistant (OpenCode) is reachable.</small></label> <label class="field svelte-m7qpzt"><span class="svelte-m7qpzt">Server password (optional)</span> <input type="password" autocomplete="new-password" class="svelte-m7qpzt"/> <small class="svelte-m7qpzt">Forwarded as HTTP Basic auth. Only required if the remote OpenCode was started with <code class="svelte-m7qpzt">OPENCODE_SERVER_PASSWORD</code>.</small> <!></label> <!> <!> <div class="form-actions svelte-m7qpzt"><button type="submit" class="btn btn-primary"> </button> <button type="button" class="btn btn-secondary">Cancel</button></div></form>`),ce=b(`<!> <main class="page svelte-m7qpzt"><header class="page-header svelte-m7qpzt"><h1 class="svelte-m7qpzt">Assistant Endpoints</h1> <p class="lede svelte-m7qpzt">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes
|
|
3
3
|
from the environment (set by the launcher) and cannot be deleted. Add more endpoints to
|
|
4
4
|
switch between stacks at any time.</p></header> <!> <section class="endpoints-list svelte-m7qpzt" aria-label="Configured endpoints"></section> <!></main>`,1);function R(c,b){m(b,!0);let R=e(`idle`),z=e(null),B=e(``),V=e(``),H=e(``),U=e(!1),W=e(!1),G=e(``),K=e(null),le=E(()=>M.endpoints),q=E(()=>M.active);T(()=>{M.load(!0)});function ue(){l(R,`add`),l(z,null),l(B,``),l(V,``),l(H,``),l(U,!1),l(G,``)}function de(e){l(R,`edit`),l(z,e.id,!0),l(B,e.label,!0),l(V,e.url,!0),l(H,``),l(U,!1),l(G,``)}function fe(){l(R,`idle`),l(G,``)}async function pe(e){if(e.preventDefault(),o(W))return;let t=o(B).trim(),n=o(V).trim();if(!t||!n){l(G,`Label and URL are required.`);return}l(W,!0),l(G,``);try{if(o(R)===`add`)await j({label:t,url:n,...o(H)?{password:o(H)}:{}});else if(o(R)===`edit`&&o(z)){let e={label:t,url:n};o(U)?e.password=null:o(H)&&(e.password=o(H)),await k(o(z),e)}await M.load(!0),l(R,`idle`)}catch(e){l(G,e.message??`Save failed.`,!0)}finally{l(W,!1)}}async function me(e){try{await M.activate(e)}catch{}}async function he(e){if(!e.isDefault&&confirm(`Remove endpoint "${e.label}"?`)){l(K,e.id,!0);try{await A(e.id),await M.load(!0)}catch(e){M.error=e.message??`Delete failed.`}finally{l(K,null)}}}var J=ce();h(`m7qpzt`,e=>{d(()=>{w.title=`Assistant Endpoints — OpenPalm`})});var Y=p(J);N(Y,{});var X=f(Y,2),Z=f(a(X),2),ge=e=>{var t=P(),n=a(t,!0);C(t),r(()=>s(n,M.error)),x(e,t)};t(Z,e=>{M.error&&e(ge)});var Q=f(Z,2);u(Q,21,()=>o(le),e=>e.id,(e,i)=>{var c=ie();let l;var u=a(c),d=a(u),m=a(d),h=a(m,!0);C(m);var g=f(m,2),_=e=>{x(e,F())};t(g,e=>{o(i).isDefault&&e(_)});var v=f(g,2),y=e=>{x(e,ee())};t(v,e=>{o(i).id===o(q)?.id&&e(y)});var b=f(v,2),S=e=>{x(e,te())};t(b,e=>{o(i).hasPassword&&e(S)}),C(d);var w=f(d,2),T=a(w,!0);C(w),C(u);var E=f(u,2),D=a(E),k=e=>{var t=ne();n(`click`,t,()=>me(o(i).id)),x(e,t)};t(D,e=>{o(i).id!==o(q)?.id&&e(k)});var A=f(D,2),j=e=>{var t=re(),c=p(t),l=f(c,2),u=a(l,!0);C(l),r(()=>{l.disabled=o(K)===o(i).id,s(u,o(K)===o(i).id?`Removing…`:`Remove`)}),n(`click`,c,()=>de(o(i))),n(`click`,l,()=>he(o(i))),x(e,t)};t(A,e=>{o(i).isDefault||e(j)}),C(E),C(c),r(()=>{l=O(c,1,`endpoint-card svelte-m7qpzt`,null,l,{active:o(i).id===o(q)?.id}),s(h,o(i).label),s(T,o(i).url)}),x(e,c)}),C(Q);var $=f(Q,2),_e=e=>{var t=I();n(`click`,t,ue),x(e,t)},ve=e=>{var c=se(),u=a(c),d=a(u,!0);C(u);var p=f(u,2),m=f(a(p),2);D(m),C(p);var h=f(p,2),y=f(a(h),2);D(y),_(2),C(h);var b=f(h,2),w=f(a(b),2);D(w);var T=f(w,4),E=e=>{x(e,L())};t(T,e=>{o(R)===`edit`&&e(E)}),C(b);var O=f(b,2),k=e=>{var t=ae(),n=a(t);D(n),_(2),C(t),g(n,()=>o(U),e=>l(U,e)),x(e,t)};t(O,e=>{o(R)===`edit`&&e(k)});var A=f(O,2),j=e=>{var t=oe(),n=a(t,!0);C(t),r(()=>s(n,o(G))),x(e,t)};t(A,e=>{o(G)&&e(j)});var M=f(A,2),N=a(M),P=a(N,!0);C(N);var F=f(N,2);C(M),C(c),r(()=>{s(d,o(R)===`add`?`Add endpoint`:`Edit endpoint`),v(w,`placeholder`,o(R)===`edit`?`Leave blank to keep current`:``),N.disabled=o(W),s(P,o(W)?`Saving…`:`Save`),F.disabled=o(W)}),i(`submit`,c,pe),S(m,()=>o(B),e=>l(B,e)),S(y,()=>o(V),e=>l(V,e)),S(w,()=>o(H),e=>l(H,e)),n(`click`,F,fe),x(e,c)};t($,e=>{o(R)===`idle`?e(_e):e(ve,-1)}),C(X),x(c,J),y()}c([`click`]);export{R as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,J as t,L as n,V as r,X as i,Y as a,at as o,b as s,d as c,it as l,j as u,k as d,lt as f,q as p,r as m,tt as h}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{i as g,t as _}from"../chunks/
|
|
1
|
+
import{H as e,J as t,L as n,V as r,X as i,Y as a,at as o,b as s,d as c,it as l,j as u,k as d,lt as f,q as p,r as m,tt as h}from"../chunks/0swOyi-5.js";import"../chunks/xihTtKlq.js";import{i as g,t as _}from"../chunks/BzMbI6G9.js";var v=u(`<!> <div class="advanced-layout svelte-1z0msvj"><iframe class="opencode-frame svelte-1z0msvj" title="OpenCode — Advanced Chat" allow="clipboard-read; clipboard-write; microphone"></iframe></div>`,1);function y(u,y){o(y,!0);let b=h(()=>g.active?.url??`http://127.0.0.1:3800`);m(()=>(document.documentElement.classList.add(`chat-locked`),document.body.classList.add(`chat-locked`),()=>{document.documentElement.classList.remove(`chat-locked`),document.body.classList.remove(`chat-locked`)})),m(()=>{g.load()});var x=v();s(`1z0msvj`,e=>{r(()=>{p.title=`Advanced Chat — OpenPalm`})});var S=a(x);_(S,{});var C=i(S,2),w=t(C);f(C),e(()=>c(w,`src`,n(b))),d(u,x),l()}export{y as component};
|
|
Binary file
|
|
Binary file
|