@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/chunks/{CBV2kBE1.js → B0yXlM3K.js} +1 -1
- package/build/client/_app/immutable/chunks/B0yXlM3K.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0yXlM3K.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BKLMDjUE.js → BlYj4BBX.js} +1 -1
- package/build/client/_app/immutable/chunks/BlYj4BBX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BlYj4BBX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js +3 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C5iiO0W9.js → CBM1fLGu.js} +1 -1
- package/build/client/_app/immutable/chunks/CBM1fLGu.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBM1fLGu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js +1 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js.br +2 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.FbKd4aR6.js} +2 -2
- package/build/client/_app/immutable/entry/app.FbKd4aR6.js.br +0 -0
- package/build/client/_app/immutable/entry/app.FbKd4aR6.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js +1 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js.br +1 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.B_hGEgef.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B_hGEgef.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B_hGEgef.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.B8xmblvj.js} +1 -1
- package/build/client/_app/immutable/nodes/10.B8xmblvj.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.B8xmblvj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.Ti2X5F-7.js} +1 -1
- package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.n8OmCUUb.js → 4.X5um5v0F.js} +1 -1
- package/build/client/_app/immutable/nodes/4.X5um5v0F.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.X5um5v0F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CNMS0qgk.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.RedvZarw.js → 6.PLWojxHU.js} +1 -1
- package/build/client/_app/immutable/nodes/6.PLWojxHU.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.PLWojxHU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.BqgE43w1.js → 7.Bba4nkVZ.js} +1 -1
- package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.CQfpYNnj.js → 9.nlW01gWY.js} +1 -1
- package/build/client/_app/immutable/nodes/9.nlW01gWY.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.nlW01gWY.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-CxqNryz-.js → 0-3ZKFLVwz.js} +3 -3
- package/build/server/chunks/{0-CxqNryz-.js.map → 0-3ZKFLVwz.js.map} +1 -1
- package/build/server/chunks/1-BscBEom6.js +9 -0
- package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-BscBEom6.js.map} +1 -1
- package/build/server/chunks/{10-DcTjX0aZ.js → 10-CYYH66rb.js} +3 -3
- package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-CYYH66rb.js.map} +1 -1
- package/build/server/chunks/{11-Ddav4pvQ.js → 11-DSzQavEB.js} +3 -3
- package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-DSzQavEB.js.map} +1 -1
- package/build/server/chunks/{3-xtalXCwW.js → 3-t-iZh03o.js} +6 -6
- package/build/server/chunks/{3-xtalXCwW.js.map → 3-t-iZh03o.js.map} +1 -1
- package/build/server/chunks/{4-CEASlyNx.js → 4-CcOQz4eZ.js} +3 -3
- package/build/server/chunks/{4-CEASlyNx.js.map → 4-CcOQz4eZ.js.map} +1 -1
- package/build/server/chunks/{5-3gkFDIAU.js → 5-DLMaS6eR.js} +3 -3
- package/build/server/chunks/{5-3gkFDIAU.js.map → 5-DLMaS6eR.js.map} +1 -1
- package/build/server/chunks/{6-BSR29JnK.js → 6-BL469LUB.js} +3 -3
- package/build/server/chunks/{6-BSR29JnK.js.map → 6-BL469LUB.js.map} +1 -1
- package/build/server/chunks/{7-gx5m5R1u.js → 7-BLHhygXi.js} +3 -3
- package/build/server/chunks/{7-gx5m5R1u.js.map → 7-BLHhygXi.js.map} +1 -1
- package/build/server/chunks/{9-BKXk6mfI.js → 9-D4ocBCG0.js} +4 -4
- package/build/server/chunks/{9-BKXk6mfI.js.map → 9-D4ocBCG0.js.map} +1 -1
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-Takv7dQM.js} +5 -5
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js.map → ChatNavbar-Takv7dQM.js.map} +1 -1
- package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-C5rdlJAr.js} +2 -2
- package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-C5rdlJAr.js.map} +1 -1
- package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte--MC2pNDj.js} +7 -7
- package/build/server/chunks/{_page.svelte--qXsMm-T.js.map → _page.svelte--MC2pNDj.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-BOwGlCzD.js} +3 -3
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-BOwGlCzD.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-BT81Bwrh.js} +3 -3
- package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-BT81Bwrh.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-BdH2kpT0.js} +4 -4
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js.map → _page.svelte-BdH2kpT0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-BnV94Ogu.js} +6 -6
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js.map → _page.svelte-BnV94Ogu.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Cc-OjlMF.js → _page.svelte-CkYUucmY.js} +7 -7
- package/build/server/chunks/{_page.svelte-Cc-OjlMF.js.map → _page.svelte-CkYUucmY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-f3XZxZcO.js} +3 -3
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-f3XZxZcO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-3RgOKIrg.js} +6 -6
- package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-3RgOKIrg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-5GcuvVnk.js} +7 -7
- package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-5GcuvVnk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-A_jvsf54.js} +6 -6
- package/build/server/chunks/{_server.ts-MZYYoM8z.js.map → _server.ts-A_jvsf54.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-B01LeWfv.js} +7 -7
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-B01LeWfv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-B0oC8HQF.js} +2 -2
- package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-B0oC8HQF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-B12WIhKW.js} +6 -6
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js.map → _server.ts-B12WIhKW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B6IuU4lX.js} +6 -6
- package/build/server/chunks/{_server.ts-DjAGbGD-.js.map → _server.ts-B6IuU4lX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-B8RJmRP7.js} +6 -6
- package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-B8RJmRP7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-BAdTYKi0.js} +6 -6
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js.map → _server.ts-BAdTYKi0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-BG1nkyV5.js} +8 -8
- package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-BG1nkyV5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BN6ghyoO.js → _server.ts-BMkzMnF3.js} +6 -6
- package/build/server/chunks/{_server.ts-BN6ghyoO.js.map → _server.ts-BMkzMnF3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-BTQPdIRj.js} +6 -6
- package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-BTQPdIRj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-BWdKIMmK.js} +6 -6
- package/build/server/chunks/{_server.ts-CR85H0KR.js.map → _server.ts-BWdKIMmK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-B_uD0GmU.js} +6 -6
- package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-B_uD0GmU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-Bba4knHI.js} +6 -6
- package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-Bba4knHI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-TTSjZaYY.js → _server.ts-BbvTyvkT.js} +6 -6
- package/build/server/chunks/{_server.ts-TTSjZaYY.js.map → _server.ts-BbvTyvkT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-BbxUaG2z.js} +8 -8
- package/build/server/chunks/{_server.ts-D_93w1gb.js.map → _server.ts-BbxUaG2z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ClrrzZI6.js → _server.ts-Bd7KmU8k.js} +6 -6
- package/build/server/chunks/{_server.ts-ClrrzZI6.js.map → _server.ts-Bd7KmU8k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-BfTFlPSX.js} +6 -6
- package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-BfTFlPSX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-BjfWddPf.js} +6 -6
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-BjfWddPf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-BjjNc0OV.js} +9 -9
- package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-BjjNc0OV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-st_pTUHI.js → _server.ts-Bla3fiCh.js} +6 -6
- package/build/server/chunks/{_server.ts-st_pTUHI.js.map → _server.ts-Bla3fiCh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-BnCHdcon.js} +6 -6
- package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-BnCHdcon.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BpNKHMXM.js} +7 -7
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BpNKHMXM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BuByt6I7.js} +7 -7
- package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BuByt6I7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-BvPCnwm4.js} +6 -6
- package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-BvPCnwm4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bx5L70N3.js} +8 -8
- package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bx5L70N3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-ByTth5Q4.js} +7 -7
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-ByTth5Q4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-C4cnIzbb.js} +6 -6
- package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-C4cnIzbb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-C7R2xQ_O.js} +6 -6
- package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-C7R2xQ_O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-CDC5Za0f.js} +6 -6
- package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-CDC5Za0f.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CGX-Vd-3.js} +6 -6
- package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CGX-Vd-3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CHBfflb0.js} +6 -6
- package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CHBfflb0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-CLyMgmaf.js} +6 -6
- package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-CLyMgmaf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-CN26zawm.js} +6 -6
- package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-CN26zawm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-COHW_bIw.js} +7 -7
- package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-COHW_bIw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CQ9bUgsb.js} +6 -6
- package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CQ9bUgsb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-CQGc6Rzk.js} +6 -6
- package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-CQGc6Rzk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-CR1fXUx_.js} +6 -6
- package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-CR1fXUx_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-CV7PsNSs.js} +6 -6
- package/build/server/chunks/{_server.ts-CGggA6h4.js.map → _server.ts-CV7PsNSs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CYEiMdP-.js} +6 -6
- package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CYEiMdP-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CYhI4sCU.js} +6 -6
- package/build/server/chunks/{_server.ts-C6r0d7SR.js.map → _server.ts-CYhI4sCU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-CZluUZ23.js} +6 -6
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-CZluUZ23.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-Cg9mKyvd.js} +6 -6
- package/build/server/chunks/{_server.ts-C6GZY_v3.js.map → _server.ts-Cg9mKyvd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Cifj-9A3.js} +6 -6
- package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Cifj-9A3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-CkJ2MAlY.js} +6 -6
- package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-CkJ2MAlY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-ClGBdG69.js} +6 -6
- package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-ClGBdG69.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5Xa36tp.js → _server.ts-ClPgPihF.js} +6 -6
- package/build/server/chunks/{_server.ts-D5Xa36tp.js.map → _server.ts-ClPgPihF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-CnmdgRQ5.js} +6 -6
- package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-CnmdgRQ5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CoA6nB9c.js} +4 -4
- package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CoA6nB9c.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-CqLbFV6m.js} +6 -6
- package/build/server/chunks/{_server.ts-CGE7AyDg.js.map → _server.ts-CqLbFV6m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-CvL5DtEE.js} +6 -6
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-CvL5DtEE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-D6UMAxY5.js} +6 -6
- package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-D6UMAxY5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-D7hUSvgG.js} +7 -7
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js.map → _server.ts-D7hUSvgG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-DC1tK0yE.js} +6 -6
- package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-DC1tK0yE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-DIB4OM3y.js} +8 -8
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-DIB4OM3y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DKtsPlqI.js} +2 -2
- package/build/server/chunks/{_server.ts-DrxBKPKB.js.map → _server.ts-DKtsPlqI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-DMxAUnDp.js} +2 -2
- package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-DMxAUnDp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-DNzhPgX5.js} +6 -6
- package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-DNzhPgX5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-DPtqK0c2.js} +2 -2
- package/build/server/chunks/{_server.ts-BJqxSP1B.js.map → _server.ts-DPtqK0c2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-DZ3Yyeac.js} +6 -6
- package/build/server/chunks/{_server.ts-C900vqOm.js.map → _server.ts-DZ3Yyeac.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-D_NDxdhC.js} +6 -6
- package/build/server/chunks/{_server.ts-BNoq5yoF.js.map → _server.ts-D_NDxdhC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-DcWSFqr3.js} +7 -7
- package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-DcWSFqr3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-DdL9GP2B.js} +6 -6
- package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-DdL9GP2B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Ddf5c75T.js} +6 -6
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js.map → _server.ts-Ddf5c75T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DfMcCjcV.js} +6 -6
- package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DfMcCjcV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-Dg2Gkcbx.js} +7 -7
- package/build/server/chunks/{_server.ts-jB_3zRrF.js.map → _server.ts-Dg2Gkcbx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-DojcmGfa.js} +6 -6
- package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-DojcmGfa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-DrWTucF0.js} +4 -4
- package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-DrWTucF0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-DrdVm_2l.js} +6 -6
- package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-DrdVm_2l.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-Drhyf5o4.js} +6 -6
- package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-Drhyf5o4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-DsfNtE_I.js} +6 -6
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-DsfNtE_I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-DswOp5MZ.js} +7 -7
- package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-DswOp5MZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-Dv1LAL-L.js} +3 -3
- package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-Dv1LAL-L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-HoP6PRwU.js} +6 -6
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-HoP6PRwU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-KVrYcUOG.js} +7 -7
- package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-KVrYcUOG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-McJwsQRP.js} +7 -7
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-McJwsQRP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-WfJI8r0e.js} +6 -6
- package/build/server/chunks/{_server.ts-sdkTYy6A.js.map → _server.ts-WfJI8r0e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-Z6bcCFE1.js} +2 -2
- package/build/server/chunks/{_server.ts-CMO7LL0e.js.map → _server.ts-Z6bcCFE1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-c6ytwkWX.js} +6 -6
- package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-c6ytwkWX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-eYI_yBAq.js} +7 -7
- package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-eYI_yBAq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-oDtZo8YM.js} +6 -6
- package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-oDtZo8YM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-qkGGHj13.js} +7 -7
- package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-qkGGHj13.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-rBPifh0g.js} +7 -7
- package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-rBPifh0g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-sD2USOMT.js} +6 -6
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-sD2USOMT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-z7K-ZCVq.js} +6 -6
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-z7K-ZCVq.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-CkCisYhs.js} +3 -3
- package/build/server/chunks/{addon-helpers-TpOYibOg.js.map → addon-helpers-CkCisYhs.js.map} +1 -1
- package/build/server/chunks/{akm-Bvt9WaTk.js → akm-Dv9-jfkS.js} +2 -2
- package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-Dv9-jfkS.js.map} +1 -1
- package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-CilTg0Ck.js} +5 -5
- package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-CilTg0Ck.js.map} +1 -1
- package/build/server/chunks/{client-ClRLlB_c.js → client-wd3mkq4X.js} +2 -2
- package/build/server/chunks/{client-ClRLlB_c.js.map → client-wd3mkq4X.js.map} +1 -1
- package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-Ccr5RMHS.js} +2 -2
- package/build/server/chunks/compose-args2-Ccr5RMHS.js.map +1 -0
- package/build/server/chunks/{config-Jiy06DlE.js → config-C_XJx8-D.js} +2 -2
- package/build/server/chunks/{config-Jiy06DlE.js.map → config-C_XJx8-D.js.map} +1 -1
- package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-mP7OE2x7.js} +2 -2
- package/build/server/chunks/{connections-api-J-nrQ1KK.js.map → connections-api-mP7OE2x7.js.map} +1 -1
- package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BL8hjShD.js} +2 -2
- package/build/server/chunks/docker2-BL8hjShD.js.map +1 -0
- package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-TVLvF3ly.js} +2 -2
- package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-TVLvF3ly.js.map} +1 -1
- package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-CnnGlw2U.js} +3 -3
- package/build/server/chunks/{endpoints-WTxemTcn.js.map → endpoints-CnnGlw2U.js.map} +1 -1
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-BI8mJm7r.js} +4 -4
- package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-BI8mJm7r.js.map} +1 -1
- package/build/server/chunks/{features-BE2x1a_a.js → features-BUWlozR5.js} +3 -3
- package/build/server/chunks/{features-BE2x1a_a.js.map → features-BUWlozR5.js.map} +1 -1
- package/build/server/chunks/{helpers-CfpNg3il.js → helpers-9U7R7yqL.js} +4 -4
- package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-9U7R7yqL.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bog01Hsc.js} +9 -9
- package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bog01Hsc.js.map} +1 -1
- package/build/server/chunks/{http-WP5cji9-.js → http-D2Aul-FP.js} +2 -2
- package/build/server/chunks/{http-WP5cji9-.js.map → http-D2Aul-FP.js.map} +1 -1
- package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-DbH28JEx.js} +3 -3
- package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-DbH28JEx.js.map} +1 -1
- package/build/server/chunks/{landing-DKXNel0Q.js → landing-CMnmbyhs.js} +5 -5
- package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-CMnmbyhs.js.map} +1 -1
- package/build/server/chunks/{paths-DRVrMQrI.js → paths-CADLTBzK.js} +2 -2
- package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-CADLTBzK.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-9GKSbczI.js} +2 -2
- package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-9GKSbczI.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-32URXYdb.js} +2 -2
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-32URXYdb.js.map} +1 -1
- package/build/server/chunks/{src-CQ2F7hgb.js → src-AHSKeKr0.js} +4 -4
- package/build/server/chunks/{src-CQ2F7hgb.js.map → src-AHSKeKr0.js.map} +1 -1
- package/build/server/chunks/{state-CsIDHNPN.js → state-CzXOEt0t.js} +2 -2
- package/build/server/chunks/{state-CsIDHNPN.js.map → state-CzXOEt0t.js.map} +1 -1
- package/build/server/chunks/{state2-jnbE3tAu.js → state2-Dk2nfhFB.js} +2 -2
- package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Dk2nfhFB.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +97 -97
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js +0 -3
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
- package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
- package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
- package/build/server/chunks/1-Dxk_eEPL.js +0 -9
- package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
- package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,F as t,I as n,M as r,N as i,P as a,U as o,X as s,Y as c,dt as l,ht as u,it as d,j as f,lt as p,mt as m,nt as h,p as g,r as _,rt as v,st as y,tt as b,ut as x,w as S,xt as C,z as w}from"../chunks/BzIvC31O.js";import{t as T}from"../chunks/
|
|
1
|
+
import{B as e,F as t,I as n,M as r,N as i,P as a,U as o,X as s,Y as c,dt as l,ht as u,it as d,j as f,lt as p,mt as m,nt as h,p as g,r as _,rt as v,st as y,tt as b,ut as x,w as S,xt as C,z as w}from"../chunks/BzIvC31O.js";import{t as T}from"../chunks/Bz3r0btw.js";import"../chunks/xihTtKlq.js";import{u as E}from"../chunks/C718MJXm.js";import{t as D}from"../chunks/CBM1fLGu.js";import"../chunks/DPYXdJcD.js";import{t as O}from"../chunks/BlYj4BBX.js";import{c as k,f as A}from"../chunks/DWtm_qwJ.js";var j=n(`<iframe class="opencode-frame svelte-1z0msvj" title="OpenCode — Advanced Chat" allow="clipboard-read; clipboard-write; microphone"></iframe>`),M=n(`<p class="status-line svelte-1z0msvj"> </p>`),N=n(`<h2 class="svelte-1z0msvj"> </h2> <p class="svelte-1z0msvj">The connection looks dead or its session expired. Reconnect to try again, or pick a different assistant from the switcher above.</p> <button class="btn btn-primary btn-lg svelte-1z0msvj"> </button>`,1),P=n(`<div class="advanced-status svelte-1z0msvj" aria-live="polite"><!></div>`),F=n(`<!> <div class="advanced-layout svelte-1z0msvj"><!></div>`,1);function I(n,w){u(w,!0);let I=l(()=>E.active),L=l(()=>D.url.searchParams.get(`session`)),R=p(``),z=p(`checking`),B=p(!1),V=p(0),H=0;async function U(){let e=++H;y(z,`checking`);let t=o(I)?.url??`http://127.0.0.1:3800`;try{let n=await fetch(`/proxy/assistant/`,{headers:{accept:`text/html`}});if(e!==H)return;if(!n.ok){y(z,`dead`);return}let r=t;if(o(L)){let n=await fetch(`/proxy/assistant/session/${encodeURIComponent(o(L))}`,{headers:{accept:`application/json`}});if(e!==H)return;if(n.ok){let i=await n.json().catch(()=>null);if(e!==H)return;r=k(t,o(L),i?.directory)}}y(R,r,!0),y(z,`ready`)}catch{if(e!==H)return;y(z,`dead`)}}async function W(){if(!o(B)){y(B,!0);try{await E.load(!0),await U(),o(z)===`ready`&&x(V)}finally{y(B,!1)}}}_(()=>(document.documentElement.classList.add(`chat-locked`),document.body.classList.add(`chat-locked`),()=>{document.documentElement.classList.remove(`chat-locked`),document.body.classList.remove(`chat-locked`)})),T(({to:e})=>{let t=e?.url.searchParams.get(`session`)??null;t&&A.setActiveSessionId(t),E.load().then(()=>U())});var G=F();S(`1z0msvj`,e=>{c(()=>{b.title=`Advanced Chat — OpenPalm`})});var K=v(G);O(K,{});var q=d(K,2),J=h(q),Y=e=>{var n=t();f(v(n),()=>o(V),e=>{var t=j();s(()=>g(t,`src`,o(R))),a(e,t)}),a(e,n)},X=t=>{var n=P(),c=h(n),l=e=>{var t=M(),n=h(t);C(t),s(()=>i(n,`Connecting to ${o(I)?.label??`your assistant`??``}…`)),a(e,t)},u=t=>{var n=N(),r=v(n),c=h(r);C(r);var l=d(r,4),u=h(l,!0);C(l),s(()=>{i(c,`Can’t reach ${o(I)?.label??`your assistant`??``}`),l.disabled=o(B),i(u,o(B)?`Reconnecting…`:`Reconnect`)}),e(`click`,l,W),a(t,n)};r(c,e=>{o(z)===`checking`?e(l):e(u,-1)}),C(n),s(()=>g(n,`role`,o(z)===`dead`?`alert`:`status`)),a(t,n)};r(J,e=>{o(z)===`ready`?e(Y):e(X,-1)}),C(q),a(n,G),m()}w([`click`]);export{I as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as e,I as t,P as n,X as r,Y as i,bt as a,ht as o,it as s,mt as c,nt as l,o as u,p as d,tt as f,w as p,xt as m,z as h}from"../chunks/BzIvC31O.js";import{l as g}from"../chunks/
|
|
1
|
+
import{B as e,I as t,P as n,X as r,Y as i,bt as a,ht as o,it as s,mt as c,nt as l,o as u,p as d,tt as f,w as p,xt as m,z as h}from"../chunks/BzIvC31O.js";import{l as g}from"../chunks/Bz3r0btw.js";import"../chunks/xihTtKlq.js";import"../chunks/DfZbBavE.js";import{t as _}from"../chunks/BDK50g8a.js";var v=t(`<div class="setup-page"><header class="wiz-topbar svelte-nhph2d"><div class="wiz-wordmark"><!> <b>OpenPalm</b></div></header> <main class="attention-stage svelte-nhph2d"><div class="attention-panel svelte-nhph2d"><p class="wiz-eyebrow svelte-nhph2d"><span class="sev-dot svelte-nhph2d" aria-hidden="true"></span>Needs attention</p> <h1 class="wiz-title">Before your assistant can continue</h1> <p class="wiz-lede">A blocking task — such as a data migration — has to finish before OpenPalm can start
|
|
2
2
|
normally. Follow the steps shown here, then reload.</p> <div class="attention-actions svelte-nhph2d"><button class="btn btn-primary btn-lg svelte-nhph2d">Reload</button> <a class="btn btn-outline btn-lg svelte-nhph2d">Open dashboard</a></div></div></main></div>`);function y(t,h){o(h,!1),u();var y=v();p(`nhph2d`,e=>{i(()=>{f.title=`OpenPalm — needs attention`})});var b=l(y),x=l(b);_(l(x),{size:30}),a(2),m(x),m(b);var S=s(b,2),C=l(S),w=s(l(C),6),T=l(w),E=s(T,2);m(w),m(C),m(S),m(y),r(e=>d(E,`href`,e),[()=>g(`/host`)]),e(`click`,T,()=>window.location.reload()),n(t,y),c()}h([`click`]);export{y as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as e,C as t,F as n,I as r,J as i,L as a,M as o,N as s,O as c,P as l,S as u,U as d,V as f,X as p,a as m,at as h,b as g,bt as _,c as v,d as y,dt as b,et as x,f as S,h as C,ht as w,it as T,k as E,lt as D,mt as O,nt as k,p as A,r as j,rt as M,st as N,tt as P,w as F,xt as I,y as L,z as R}from"../chunks/BzIvC31O.js";import{l as z,n as B}from"../chunks/
|
|
1
|
+
import{B as e,C as t,F as n,I as r,J as i,L as a,M as o,N as s,O as c,P as l,S as u,U as d,V as f,X as p,a as m,at as h,b as g,bt as _,c as v,d as y,dt as b,et as x,f as S,h as C,ht as w,it as T,k as E,lt as D,mt as O,nt as k,p as A,r as j,rt as M,st as N,tt as P,w as F,xt as I,y as L,z as R}from"../chunks/BzIvC31O.js";import{l as z,n as B}from"../chunks/Bz3r0btw.js";import"../chunks/xihTtKlq.js";import{c as V,d as H,i as ee,l as te,n as ne,o as re,r as ie,s as ae,y as U}from"../chunks/c0lkYAgh.js";import{t as oe}from"../chunks/DmFbAjwW.js";import{A as se,G as ce,J as le,K as ue,L as de,M as fe,U as pe,Y as me,Z as he,c as ge,j as _e,l as ve,q as ye,s as be,t as xe,u as W}from"../chunks/C718MJXm.js";import{t as Se}from"../chunks/CBM1fLGu.js";import"../chunks/DPYXdJcD.js";import{f as G,i as Ce,l as we,n as Te,o as Ee,p as De,r as Oe,s as ke,t as Ae}from"../chunks/DWtm_qwJ.js";import{t as je}from"../chunks/D5FtEngX.js";import{a as Me,c as Ne,d as Pe,i as Fe,l as Ie,n as K,o as Le,r as q,s as Re,t as ze,u as Be}from"../chunks/R6GPcDBF.js";import{n as Ve,t as He}from"../chunks/CUa5ff3d.js";var Ue=a(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M21 4L3 11l7 3 3 7z"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M21 4L10 14"></path></svg>`);function J(e,t){let n=m(t,`size`,3,20),r=m(t,`class`,3,``);var i=Ue();p(()=>{A(i,`width`,n()),A(i,`height`,n()),g(i,0,`s-icon ${r()??``}`)}),l(e,i)}var We=a(`<svg aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1" fill="currentColor"></circle><path d="M8.5 8.5a5 5 0 0 0 0 7"></path><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M5.6 5.6a9 9 0 0 0 0 12.8"></path><path d="M18.4 5.6a9 9 0 0 1 0 12.8"></path></svg>`);function Ge(e,t){let n=m(t,`size`,3,20),r=m(t,`class`,3,``);var i=We();p(()=>{A(i,`width`,n()),A(i,`height`,n()),g(i,0,`s-icon ${r()??``}`)}),l(e,i)}var Ke=r(`<button type="button"><!></button>`),Y=r(`<button type="button"><!></button>`),qe=r(`<button class="s-send-btn svelte-j7h4bp" type="button" aria-label="Stop generating"><!></button>`),Je=r(`<button class="s-send-btn svelte-j7h4bp" type="submit" aria-label="Send message"><!></button>`),Ye=r(`<form><textarea placeholder="Write a message..." rows="1" aria-label="Message input" autocomplete="off" spellcheck="false" class="svelte-j7h4bp"></textarea> <div class="s-footer svelte-j7h4bp"><div class="s-rule svelte-j7h4bp"></div> <!> <!> <!></div></form>`);function Xe(t,n){w(n,!0);let r=m(n,`questionPending`,3,!1),i=m(n,`voiceEnabled`,3,!1),a=m(n,`voiceActive`,3,!1),s=m(n,`draft`,15,``),c=m(n,`conversationEnabled`,3,!1),u=m(n,`conversationActive`,3,!1),h=D(void 0),_=b(()=>n.sending&&!r()),S=b(()=>s().trim().length>0),C=b(()=>d(_)&&!!n.onStop);function E(e){e.isComposing||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),j())}function j(){let e=s().trim();!e||d(_)||(n.onSend(e),s(``),d(h)&&(d(h).style.height=`auto`))}function M(){d(h)&&(d(h).style.height=`auto`,d(h).style.height=`${Math.min(d(h).scrollHeight,window.innerHeight*.3)}px`)}var P=Ye();let F;var L=k(P);x(L),v(L,e=>N(h,e),()=>d(h));var R=T(L,2),z=T(k(R),2),B=t=>{var r=Ke();let i;je(k(r),{size:16}),I(r),p(()=>{i=g(r,1,`s-mic-btn svelte-j7h4bp`,null,i,{active:a()}),A(r,`aria-label`,a()?`Stop listening`:`Start listening`),A(r,`aria-pressed`,a())}),e(`click`,r,function(...e){n.onMicToggle?.apply(this,e)}),l(t,r)};o(z,e=>{i()&&e(B)});var V=T(z,2),H=t=>{var r=Y();let i;Ge(k(r),{size:16}),I(r),p(()=>{i=g(r,1,`s-mic-btn svelte-j7h4bp`,null,i,{active:u()}),A(r,`aria-label`,u()?`End conversation mode`:`Start conversation mode`),A(r,`aria-pressed`,u())}),e(`click`,r,function(...e){n.onConversationToggle?.apply(this,e)}),l(t,r)};o(V,e=>{c()&&e(H)});var ee=T(V,2),te=t=>{var r=qe();xe(k(r),{size:16}),I(r),e(`click`,r,function(...e){n.onStop?.apply(this,e)}),l(t,r)},ne=e=>{var t=Je();J(k(t),{size:16}),I(t),p(()=>t.disabled=!d(S)||d(_)),l(e,t)};o(ee,e=>{d(C)?e(te):e(ne,-1)}),I(R),I(P),p(()=>F=g(P,1,`s-composer svelte-j7h4bp`,null,F,{active:d(S),sending:n.sending})),f(`submit`,P,e=>{e.preventDefault(),j()}),e(`keydown`,L,E),e(`input`,L,M),y(L,s),l(t,P),O()}R([`keydown`,`input`,`click`]);var Ze=r(`<span class="voice-status-interim svelte-1ceij29"> </span> <button type="button" class="voice-status-end svelte-1ceij29" aria-label="End conversation mode">End</button>`,1),Qe=r(`<span class="voice-status-interim svelte-1ceij29"> </span>`),$e=r(`<span class="voice-status-transcribing svelte-1ceij29">transcribing…</span>`),et=r(`<button type="button" class="voice-status-autoplay svelte-1ceij29" aria-label="Resume paused audio" title="Audio was blocked by the browser. Click to resume."><!> <span>Audio paused — click to resume</span></button>`),tt=r(`<div class="voice-status-strip svelte-1ceij29"><!> <!></div>`),nt=r(`<!> <span class="sr-only svelte-1ceij29" aria-live="polite"> </span>`,1);function rt(t,n){w(n,!0);let r=m(n,`thinking`,3,!1),i=b(()=>H.status===`recording`&&H.interimTranscript.length>0),a=b(()=>H.status===`transcribing`),c=b(()=>H.autoplayBlocked),u=b(()=>H.conversationActive),f=b(()=>H.status===`speaking`?`speaking…`:H.status===`transcribing`||r()?`thinking…`:`listening…`),h=b(()=>d(u)||d(i)||d(a)||d(c)),g=b(()=>[d(u)?`Conversation: ${H.interimTranscript||d(f)}`:d(i)?`Recording: ${H.interimTranscript}`:d(a)?`Transcribing`:``,d(c)?`Audio paused — click to resume`:``].filter(Boolean).join(`. `));var v=nt(),y=M(v),x=t=>{var n=tt(),r=k(n),m=t=>{var n=Ze(),r=M(n),i=k(r,!0);I(r);var a=T(r,2);p(()=>s(i,H.interimTranscript||d(f))),e(`click`,a,()=>V()),l(t,n)},h=e=>{var t=Qe(),n=k(t,!0);I(t),p(()=>s(n,H.interimTranscript)),l(e,t)},g=e=>{l(e,$e())};o(r,e=>{d(u)?e(m):d(i)?e(h,1):d(a)&&e(g,2)});var v=T(r,2),y=t=>{var n=et();Te(k(n),{size:14}),_(2),I(n),e(`click`,n,()=>ie()),l(t,n)};o(v,e=>{d(c)&&e(y)}),I(n),l(t,n)};o(y,e=>{d(h)&&e(x)});var S=T(y,2),C=k(S,!0);I(S),p(()=>s(C,d(g))),l(t,v),O()}R([`click`]);var it=0,at=r(`<span class="tool-log-time svelte-1wgps4r"> </span>`),ot=r(`<span class="tool-log-status svelte-1wgps4r"> </span>`),st=r(`<pre> </pre>`),ct=r(`<div> </div>`),lt=r(`<div class="tool-log-row svelte-1wgps4r"><div class="tool-log-label svelte-1wgps4r"> </div> <div class="tool-log-value svelte-1wgps4r"><!></div></div>`),X=r(`<div class="tool-log-details svelte-1wgps4r"></div>`),ut=r(`<li><button class="tool-log-summary svelte-1wgps4r" type="button"><span class="tool-log-icon svelte-1wgps4r" aria-hidden="true"><!></span> <span class="tool-log-main svelte-1wgps4r"><span class="tool-log-title svelte-1wgps4r"> </span> <!></span> <!> <span aria-hidden="true"><svg width="11" height="11" viewBox="0 0 12 12" fill="none" class="svelte-1wgps4r"><path d="M3 4.5 6 7.5 9 4.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" class="svelte-1wgps4r"></path></svg></span></button> <!></li>`),dt=r(`<section class="tool-log svelte-1wgps4r"><h2 class="tool-log-heading svelte-1wgps4r">activity</h2> <div class="tool-log-live svelte-1wgps4r" aria-live="polite" aria-atomic="true"> </div> <ul class="tool-log-list svelte-1wgps4r"></ul></section>`);function ft(t,r){w(r,!0),it+=1;let i=`tool-log-heading-${it}`,a=D(h({}));function c(e){N(a,{...d(a),[e]:!d(a)[e]},!0)}function u(e){return e!==`completed`&&e!==`error`&&e!==`failed`}function f(e){return e===`error`||e===`failed`}function m(e){if(e<=0)return!1;let t=r.items[e].turnKey,n=r.items[e-1].turnKey;return t===void 0||n===void 0?!1:t!==n}let _=b(()=>r.items.filter(e=>f(e.status)).map(e=>`${pe(e)} failed`).join(`, `));var v=n(),y=M(v),x=t=>{var n=dt(),h=k(n),v=T(h,2),y=k(v,!0);I(v);var x=T(v,2);E(x,23,()=>r.items,e=>e.id,(t,n,r)=>{let i=b(()=>me(d(n).tool,d(n).status)),h=b(()=>!!d(a)[d(n).id]),_=b(()=>u(d(n).status)),v=b(()=>f(d(n).status)),y=b(()=>ce(d(n).updatedAt));var x=ut();let S;var C=k(x),w=k(C),D=k(w),O=e=>{Ve(e,{size:15})},j=e=>{Ne(e,{size:15})},M=e=>{Ie(e,{size:15})},N=e=>{Re(e,{size:15})},P=e=>{Le(e,{size:15})},F=e=>{Me(e,{size:15})},L=e=>{Fe(e,{size:15})},R=e=>{q(e,{size:15})},z=e=>{He(e,{size:15})},B=e=>{oe(e,{size:15})},V=e=>{K(e,{size:15})};o(D,e=>{d(i)===`alert`?e(O):d(i)===`done-circle`?e(j,1):d(i)===`refresh`?e(M,2):d(i)===`terminal`?e(N,3):d(i)===`search`?e(P,4):d(i)===`file`?e(F,5):d(i)===`edit`?e(L,6):d(i)===`link`?e(R,7):d(i)===`agent`?e(z,8):d(i)===`done`?e(B,9):e(V,-1)}),I(w);var H=T(w,2),ee=k(H),te=k(ee,!0);I(ee);var ne=T(ee,2),re=e=>{var t=at(),n=k(t,!0);I(t),p(()=>s(n,d(y))),l(e,t)};o(ne,e=>{d(y)&&e(re)}),I(H);var ie=T(H,2),ae=e=>{var t=ot(),r=k(t,!0);I(t),p(e=>s(r,e),[()=>he(d(n).status)]),l(e,t)};o(ie,e=>{(d(_)||d(v))&&e(ae)});var U=T(ie,2);let se;I(C);var de=T(C,2),fe=e=>{var t=X();E(t,21,()=>le(d(n)),e=>`${d(n).id}:${e.label}`,(e,t)=>{var n=lt(),r=k(n),i=k(r,!0);I(r);var a=T(r,2),c=k(a),u=e=>{var n=st();let r;var i=k(n,!0);I(n),p(()=>{r=g(n,1,`svelte-1wgps4r`,null,r,{"tool-log-error":d(t).tone===`error`}),s(i,d(t).value)}),l(e,n)},f=b(()=>d(t).value.includes(`
|
|
2
2
|
`)||d(t).value.length>80),m=e=>{var n=ct();let r;var i=k(n,!0);I(n),p(()=>{r=g(n,1,`svelte-1wgps4r`,null,r,{"tool-log-error":d(t).tone===`error`}),s(i,d(t).value)}),l(e,n)};o(c,e=>{d(f)?e(u):e(m,-1)}),I(a),I(n),p(()=>s(i,d(t).label)),l(e,n)}),I(t),l(e,t)};o(de,e=>{d(h)&&e(fe)}),I(x),p((e,t,n,r)=>{S=g(x,1,`tool-log-item svelte-1wgps4r`,null,S,e),A(C,`aria-expanded`,d(h)),A(C,`aria-label`,t),A(C,`title`,n),s(te,r),se=g(U,1,`tool-log-chevron svelte-1wgps4r`,null,se,{open:d(h)})},[()=>({running:d(_),failed:d(v),"new-turn":m(d(r))}),()=>ye(d(n)),()=>ue(d(n)),()=>pe(d(n))]),e(`click`,C,()=>c(d(n).id)),l(t,x)}),I(x),I(n),p(()=>{A(n,`aria-labelledby`,i),A(h,`id`,i),s(y,d(_))}),l(t,n)};o(y,e=>{r.items.length>0&&e(x)}),l(t,v),O()}R([`click`]);var pt=r(`<svg width="0" height="0" style="position:absolute" aria-hidden="true" class="svelte-3vj2oe"><defs class="svelte-3vj2oe"><filter id="s-brush" x="-20%" y="-20%" width="140%" height="140%" class="svelte-3vj2oe"><feTurbulence type="fractalNoise" baseFrequency="0.018 0.026" numOctaves="2" seed="7" result="t" class="svelte-3vj2oe"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="t" scale="3.4" xChannelSelector="R" yChannelSelector="G" class="svelte-3vj2oe"></feDisplacementMap></filter><filter id="s-wave-brush" filterUnits="userSpaceOnUse" x="-10" y="-10" width="120" height="120" class="svelte-3vj2oe"><feTurbulence type="fractalNoise" baseFrequency="0.026 0.032" numOctaves="1" seed="3" result="nA" class="svelte-3vj2oe"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="nA" scale="2.4" xChannelSelector="R" yChannelSelector="G" result="dA" class="svelte-3vj2oe"></feDisplacementMap><feTurbulence type="fractalNoise" baseFrequency="0.034 0.028" numOctaves="1" seed="17" result="nB" class="svelte-3vj2oe"></feTurbulence><feDisplacementMap in="SourceGraphic" in2="nB" scale="3.0" xChannelSelector="R" yChannelSelector="G" result="dB" class="svelte-3vj2oe"></feDisplacementMap><feMerge result="strokes" class="svelte-3vj2oe"><feMergeNode in="dA" class="svelte-3vj2oe"></feMergeNode><feMergeNode in="dB" class="svelte-3vj2oe"></feMergeNode></feMerge><feTurbulence type="turbulence" baseFrequency="0.7 0.7" numOctaves="2" seed="7" result="g" class="svelte-3vj2oe"></feTurbulence><feComponentTransfer in="g" result="gm" class="svelte-3vj2oe"><feFuncA type="linear" slope="0.55" intercept="0.52" class="svelte-3vj2oe"></feFuncA></feComponentTransfer><feComposite in="strokes" in2="gm" operator="in" class="svelte-3vj2oe"></feComposite></filter><filter id="s-bloom" x="-40%" y="-40%" width="180%" height="180%" class="svelte-3vj2oe"><feGaussianBlur stdDeviation="2.4" class="svelte-3vj2oe"></feGaussianBlur></filter></defs></svg> <div id="s-presence"><svg class="s-enso svelte-3vj2oe" viewBox="0 0 100 100" aria-hidden="true"><path class="s-echo svelte-3vj2oe"></path><path class="s-ripple s-ripple-listen s-l1 svelte-3vj2oe"></path><path class="s-ripple s-ripple-listen s-l2 svelte-3vj2oe"></path><path class="s-wet svelte-3vj2oe"></path><path class="s-draw svelte-3vj2oe"></path><path class="s-dry svelte-3vj2oe"></path><g class="s-waveform svelte-3vj2oe" aria-hidden="true"><line class="s-waveform-bar s-wb1 svelte-3vj2oe" x1="18" y1="38" x2="18" y2="62"></line><line class="s-waveform-bar s-wb2 svelte-3vj2oe" x1="32" y1="24" x2="32" y2="76"></line><line class="s-waveform-bar s-wb3 svelte-3vj2oe" x1="46" y1="12" x2="46" y2="88"></line><line class="s-waveform-bar s-wb4 svelte-3vj2oe" x1="60" y1="18" x2="60" y2="82"></line><line class="s-waveform-bar s-wb5 svelte-3vj2oe" x1="74" y1="32" x2="74" y2="68"></line></g></svg></div>`,1);function mt(t,n){w(n,!0);let r=D(void 0),i=D(void 0),a=D(void 0),o=D(void 0),s=D(void 0),c=D(void 0),u=0,f=b(()=>!n.sending&&n.voiceStatus!==`speaking`);function m(){!d(a)||!d(r)||(d(r).style.opacity=`0`,d(a).style.transition=`none`,d(a).style.opacity=`1`,d(a).style.strokeDasharray=String(u),d(a).style.strokeDashoffset=String(u),d(a).getBoundingClientRect(),d(a).style.transition=`stroke-dashoffset var(--s-t-draw) var(--s-ease-draw)`,d(a).style.strokeDashoffset=`0`)}function h(){!d(a)||!d(r)||(d(a).style.transition=`opacity 0.4s ease`,d(a).style.opacity=`0`,d(r).style.removeProperty(`opacity`))}j(()=>{[d(r),d(i),d(o),d(a),d(s),d(c)].forEach(e=>{e?.setAttribute(`d`,`M60.1244 5L62.0057 27.9635L64.4287 9.00887L79.3326 5.24671L79.9277 25.889L81.4519 17.468L95 13.7365L91.3023 74.2325L80.2203 94.5104L76.8802 92.6756L87.5529 73.1466L90.8727 18.8331L84.7715 20.5135L80.424 44.5332L76.6468 44.2474L75.6626 10.1107L67.8764 12.0762L63.4799 46.4686L59.6931 46.3822L56.7419 10.3574L47.8228 13.7251V50.3803L44.0772 50.8677L34.1996 13.3604L26.7978 17.3103C28.0204 24.0062 29.6096 35.4296 30.9221 45.4104C31.6281 50.779 32.2566 55.7505 32.7086 59.3796C32.9346 61.1942 33.1165 62.6735 33.2419 63.6994C33.4531 65.4268 33.66 67.1548 33.8682 68.8826L12.9705 58.0378L9.48426 67.1466L36.7143 92.186L34.1399 95L5 68.2044L10.9401 52.6845L29.2165 62.169C29.1313 61.4788 29.0351 60.7026 28.9293 59.8527C28.478 56.2295 27.8507 51.2671 27.1461 45.9095C25.7337 35.1688 24.0214 22.9203 22.7978 16.6515L22.5269 15.2638L36.6546 7.72465L44.0141 35.6703V11.0829L60.1244 5Z`)});try{u=d(a).getTotalLength()}catch{u=400}m(),setTimeout(()=>{h()},2400)});var y=pt(),x=T(M(y),2);let S;var C=k(x),E=k(C);v(E,e=>N(o,e),()=>d(o));var P=T(E);v(P,e=>N(s,e),()=>d(s));var F=T(P);v(F,e=>N(c,e),()=>d(c));var R=T(F);v(R,e=>N(i,e),()=>d(i));var z=T(R);v(z,e=>N(a,e),()=>d(a)),v(T(z),e=>N(r,e),()=>d(r)),_(),I(C),I(x),p(()=>{S=g(x,1,`s-presence svelte-3vj2oe`,null,S,{breathing:d(f),listening:n.voiceStatus===`recording`,speaking:n.voiceStatus===`speaking`,"s-presence--mic":n.voiceEnabled,processing:n.sending}),L(x,n.height==null?void 0:`--s-enso-size: ${n.height}px`),A(x,`role`,n.voiceEnabled?`button`:void 0),A(x,`tabindex`,n.voiceEnabled?0:void 0),A(x,`aria-label`,n.voiceEnabled?n.voiceStatus===`recording`?`Stop listening`:`Speak to the agent`:void 0),A(x,`aria-pressed`,n.voiceEnabled?n.voiceStatus===`recording`:void 0)}),e(`click`,x,function(...e){(n.voiceEnabled?n.onToggle:void 0)?.apply(this,e)}),e(`keydown`,x,function(...e){(n.voiceEnabled?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.onToggle())}:void 0)?.apply(this,e)}),l(t,y),O()}R([`click`,`keydown`]);var Z=r(`<p class="s-action-body svelte-141raqu"> </p>`),ht=r(`<code class="s-action-code svelte-141raqu"> </code>`),gt=r(`<code class="s-action-code svelte-141raqu"> </code>`),_t=r(`<p class="s-action-body svelte-141raqu"> </p>`),vt=r(`<div class="s-action-card svelte-141raqu" role="group" aria-label="Permission request"><div class="s-action-kicker svelte-141raqu">permission request</div> <div class="s-action-title svelte-141raqu"> </div> <!> <!> <!> <!> <div class="s-action-btns svelte-141raqu"><button class="s-action-btn s-action-btn-primary svelte-141raqu" type="button"> </button> <button class="s-action-btn svelte-141raqu" type="button"> </button> <button class="s-action-btn s-action-btn-danger svelte-141raqu" type="button"> </button></div></div>`);function yt(t,n){w(n,!0);let r=b(()=>n.permission.status===`submitting`||n.permission.status===`resolved`);function i(e,t=160){return e.length>t?`${e.slice(0,t-1)}…`:e}var a=vt(),c=T(k(a),2),u=k(c,!0);I(c);var f=T(c,2),m=e=>{var t=Z(),r=k(t,!0);I(t),p(e=>s(r,e),[()=>i(n.permission.detail)]),l(e,t)};o(f,e=>{n.permission.detail&&e(m)});var h=T(f,2),g=e=>{var t=ht(),r=k(t,!0);I(t),p(e=>s(r,e),[()=>n.permission.patterns.join(`, `)]),l(e,t)};o(h,e=>{n.permission.patterns.length>0&&e(g)});var _=T(h,2),v=e=>{var t=gt(),r=k(t,!0);I(t),p(e=>s(r,e),[()=>n.permission.always.join(`, `)]),l(e,t)};o(_,e=>{n.permission.always.length>0&&e(v)});var y=T(_,2),x=e=>{var t=_t(),r=k(t,!0);I(t),p(()=>s(r,n.permission.message)),l(e,t)};o(y,e=>{n.permission.message&&e(x)});var S=T(y,2),C=k(S),E=k(C,!0);I(C);var D=T(C,2),A=k(D,!0);I(D);var j=T(D,2),M=k(j,!0);I(j),I(S),I(a),p(()=>{s(u,n.permission.permission),C.disabled=d(r),s(E,n.actionInFlight===`once`?`sending…`:`allow this once`),D.disabled=d(r),s(A,n.actionInFlight===`always`?`sending…`:`always allow`),j.disabled=d(r),s(M,n.actionInFlight===`reject`?`sending…`:`deny`)}),e(`click`,C,()=>n.onReply(`once`)),e(`click`,D,()=>n.onReply(`always`)),e(`click`,j,()=>n.onReply(`reject`)),l(t,a),O()}R([`click`]);var bt=r(`<button class="s-action-btn svelte-11d88fd" type="button"> </button>`),xt=r(`<div class="s-action-options svelte-11d88fd"></div>`),St=r(`<p class="s-action-question svelte-11d88fd"> </p> <!> <p class="s-action-hint svelte-11d88fd">or write your answer below</p>`,1),Ct=r(`<div class="s-action-kicker svelte-11d88fd"> </div>`),wt=r(`<button type="button"> </button>`),Tt=r(`<div class="s-action-options svelte-11d88fd"></div>`),Et=r(`<div class="s-question-item svelte-11d88fd"><!> <p class="s-action-question svelte-11d88fd"> </p> <!> <input class="s-question-input svelte-11d88fd" type="text" placeholder="Type an answer"/></div>`),Dt=r(`<div class="s-multi-questions svelte-11d88fd"></div> <div class="s-action-btns svelte-11d88fd"><button class="s-action-btn s-action-btn-primary svelte-11d88fd" type="button">submit answers</button> <button class="s-action-btn svelte-11d88fd" type="button">can't answer</button></div>`,1),Ot=r(`<div class="s-action-card svelte-11d88fd" role="group" aria-label="Assistant question"><div class="s-action-kicker svelte-11d88fd">a question for you</div> <!></div>`);function kt(t,n){w(n,!0);let r=b(()=>n.question.status===`submitting`||n.question.status===`answered`||n.question.status===`rejected`);var i=Ot(),a=T(k(i),2),c=t=>{var i=St(),a=M(i),c=k(a,!0);I(a);var u=T(a,2),f=t=>{var i=xt();E(i,23,()=>n.question.questions[0].options,(e,t)=>`${n.question.requestID}:${t}`,(t,i)=>{var a=bt(),o=k(a,!0);I(a),p(()=>{a.disabled=d(r),s(o,d(i).label)}),e(`click`,a,()=>n.onOption(d(i).label)),l(t,a)}),I(i),l(t,i)};o(u,e=>{n.question.questions[0].options.length>0&&e(f)}),_(2),p(()=>s(c,n.question.questions[0].question)),l(t,i)},u=t=>{var i=Dt(),a=M(i);E(a,23,()=>n.question.questions,(e,t)=>`${n.question.requestID}:question:${t}`,(t,i,a)=>{var c=Et(),u=k(c),f=e=>{var t=Ct(),n=k(t,!0);I(t),p(()=>s(n,d(i).header)),l(e,t)};o(u,e=>{d(i).header&&e(f)});var m=T(u,2),h=k(m,!0);I(m);var _=T(m,2),v=t=>{var o=Tt();E(o,23,()=>d(i).options,(e,t)=>`${n.question.requestID}:${d(a)}:${t}`,(t,i)=>{var o=wt();let c;var u=k(o,!0);I(o),p(()=>{c=g(o,1,`s-action-btn svelte-11d88fd`,null,c,{selected:n.question.answers[d(a)]===d(i).label}),o.disabled=d(r),s(u,d(i).label)}),e(`click`,o,()=>n.onSelect(d(a),d(i).label)),l(t,o)}),I(o),l(t,o)};o(_,e=>{d(i).options.length>0&&e(v)});var y=T(_,2);S(y),I(c),p(()=>{s(h,d(i).question),C(y,n.question.answers[d(a)]),y.disabled=d(r)}),e(`input`,y,e=>n.onDraft(d(a),e.currentTarget.value)),l(t,c)}),I(a);var c=T(a,2),u=k(c),f=T(u,2);I(c),p(()=>{u.disabled=d(r),f.disabled=d(r)}),e(`click`,u,()=>n.onSubmit()),e(`click`,f,()=>n.onReject()),l(t,i)};o(a,e=>{n.question.questions.length===1&&n.question.questions[0]?e(c):e(u,-1)}),I(i),l(t,i),O()}R([`click`,`input`]);function At(e,t,n){return n-(e+t)<120}function jt(e,t,n,r,i){return At(n,r,i)?!0:n<t?!1:e}var Mt=r(`<div class="s-glyph-cell svelte-23dtxz"><span class="s-glyph-label svelte-23dtxz">voice</span> <button class="s-glyph-btn svelte-23dtxz" type="button"><!></button></div>`),Nt=r(`<div class="s-loading svelte-23dtxz" aria-live="polite"><span class="s-loading-text svelte-23dtxz">loading…</span></div>`),Pt=r(`<div class="turn master"><div class="master-words settled s-streaming svelte-23dtxz"><div class="markdown-body"></div></div></div>`),Ft=r(`<div class="s-thinking svelte-23dtxz"><span class="s-thinking-text svelte-23dtxz">thinking…</span></div>`),It=r(`<div class="s-pending svelte-23dtxz" aria-live="polite"><!> <!> <!></div>`),Lt=r(`<button class="s-error-reconnect svelte-23dtxz" type="button">retry</button>`),Rt=r(`<div class="s-error-banner svelte-23dtxz" role="alert"><span class="s-error-msg svelte-23dtxz"> </span> <!> <button class="s-error-reconnect svelte-23dtxz" type="button">reconnect</button> <button class="s-error-dismiss svelte-23dtxz" type="button" aria-label="Dismiss">×</button></div>`),zt=r(`<button class="s-jump-latest svelte-23dtxz" type="button" aria-label="Jump to latest">↓ latest</button>`),Bt=r(`<div class="s-veil-sub svelte-23dtxz"> </div>`),Vt=r(`<a class="s-endpoint-manage svelte-23dtxz">manage this assistant</a>`),Ht=r(`<div class="s-endpoint-item svelte-23dtxz"><button type="button"><div class="s-endpoint-label svelte-23dtxz"> </div> <div class="s-endpoint-url svelte-23dtxz"> </div></button> <!></div>`),Ut=r(`<button class="s-tool-scrim svelte-23dtxz" type="button" aria-label="Close activity overlay"></button>`),Wt=r(`<p class="s-tool-drawer-empty svelte-23dtxz">Steps the assistant takes — searches, edits, commands — will show up here as it works.</p>`),Gt=r(`<h1 class="sr-only svelte-23dtxz">Chat</h1> <div class="s-field svelte-23dtxz"></div> <div class="s-moon svelte-23dtxz"></div> <div class="s-grain svelte-23dtxz"></div> <div class="s-corner s-corner-left svelte-23dtxz"><!></div> <div><div class="s-glyph-cell svelte-23dtxz"><button class="s-glyph-btn svelte-23dtxz" type="button" aria-label="Advanced mode"><!></button> <span class="s-glyph-label svelte-23dtxz">advanced</span></div></div> <div class="s-corner s-corner-bottom-left svelte-23dtxz"><!> <div class="s-glyph-cell svelte-23dtxz"><span class="s-glyph-label svelte-23dtxz">theme</span> <button class="s-glyph-btn s-orb-btn svelte-23dtxz" type="button"><!></button></div></div> <div><div class="s-glyph-cell s-tool-toggle-cell svelte-23dtxz"><span class="s-glyph-label svelte-23dtxz">activity</span> <button class="s-glyph-btn svelte-23dtxz" type="button" aria-haspopup="dialog" aria-controls="s-tool-drawer" aria-label="Activity"><!></button></div> <div class="s-glyph-cell svelte-23dtxz"><span class="s-glyph-label svelte-23dtxz"> </span> <button class="s-glyph-btn svelte-23dtxz" type="button" aria-haspopup="dialog" aria-controls="s-garden-veil"><!></button></div></div> <aside aria-label="Assistant activity"><!></aside> <main class="s-scroll svelte-23dtxz" id="s-scroll" aria-label="Chat history"><div class="s-thread svelte-23dtxz" id="s-thread"><!> <!> <!> <div aria-hidden="true" style="height:1px"></div></div></main> <!> <!> <div class="s-base svelte-23dtxz"><!> <!></div> <div id="s-garden-veil" role="dialog" aria-modal="true" aria-label="Conversations and assistant"><div class="s-veil-head svelte-23dtxz"><div><div class="s-veil-title svelte-23dtxz">Conversations</div> <!></div> <button class="s-head-close svelte-23dtxz" type="button" aria-label="Close conversations"><!></button></div> <div class="s-veil-body svelte-23dtxz"><section class="s-veil-section svelte-23dtxz"><div class="s-section-head svelte-23dtxz"><div class="s-veil-section-label svelte-23dtxz">assistant</div> <a class="s-new-convo svelte-23dtxz"><span class="s-new-mark svelte-23dtxz" aria-hidden="true"><svg width="11" height="11" viewBox="0 0 12 12" fill="none"><circle cx="6" cy="6" r="2.4" stroke="currentColor" stroke-width="1.1"></circle><line x1="4.5" y1="3.6" x2="4.5" y2="1.5" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"></line><line x1="7.5" y1="3.6" x2="7.5" y2="1.5" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"></line><line x1="6" y1="8.4" x2="6" y2="10.5" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"></line></svg></span> manage connections</a></div> <div class="s-endpoint-list svelte-23dtxz" role="group" aria-label="Assistant endpoints"></div></section> <section class="s-veil-section svelte-23dtxz"><div class="s-section-head svelte-23dtxz"><div class="s-veil-section-label svelte-23dtxz">conversations</div> <button class="s-new-convo svelte-23dtxz" type="button"><span class="s-new-mark svelte-23dtxz" aria-hidden="true">+</span> begin anew</button></div> <!></section></div></div> <!> <div id="s-tool-drawer" role="dialog" aria-modal="true" aria-label="Assistant activity"><div class="s-tool-drawer-head svelte-23dtxz"><button class="s-head-close svelte-23dtxz" type="button" aria-label="Close activity"><!></button></div> <div class="s-tool-drawer-body svelte-23dtxz"><!></div></div>`,1);function Kt(n,r){w(r,!0);let a=D(void 0),f=b(()=>G.entriesLoading),m=b(()=>G.byEndpoint.get(G.activeEndpointId)?.sessionsLoading??!1),h=D(!1);function y(){N(h,!0)}function x(){N(h,!1)}let S=D(!1);function C(){N(S,!d(S))}function L(){N(S,!1)}async function R(){G.error=``,await G.onEndpointChanged(W.activeId)}async function ie(){let e=G.lastFailedText;e&&(G.error=``,await G.send(e))}async function oe(e){await G.send(e)}let ce=D(null);async function le(e){N(ce,e,!0);try{await G.answerPermission(e)}finally{N(ce,null)}}async function ue(e){await G.answerQuestion(e)}function pe(e,t){G.setQuestionAnswer(e,t)}async function me(){await G.answerQuestion()}async function he(){await G.rejectQuestion()}let ye=D(!0);function xe(e){N(ye,e,!0)}function je(){let e=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;d(a)?.scrollIntoView({behavior:e?`auto`:`smooth`})}function Me(){N(ye,!0),je()}function Ne(e,t){let n=e.closest(`.s-scroll`),r=n?.scrollTop??0;function i(){if(!n)return;let e=t.isFollowing(),i=jt(e,r,n.scrollTop,n.clientHeight,n.scrollHeight);r=n.scrollTop,i!==e&&t.onFollowChange(i)}n?.addEventListener(`scroll`,i,{passive:!0});let o=new MutationObserver(()=>{if(!t.isFollowing())return;let e=typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;queueMicrotask(()=>d(a)?.scrollIntoView({behavior:e?`auto`:`smooth`}))});return o.observe(e,{childList:!0,subtree:!0,characterData:!0}),{destroy(){o.disconnect(),n?.removeEventListener(`scroll`,i)}}}let Fe=b(()=>!H.conversationActive&&(H.status===`recording`||H.status===`transcribing`)),Ie=b(()=>H.ttsAutoEnabled),K=b(()=>H.sttEngine!==`disabled`&&H.sttSupported),Le=b(()=>H.ttsSupported),q=D(``);function Re(){if(H.conversationActive){V();return}d(Fe)?te():ae(e=>{let t=e.trim();t&&N(q,d(q).trim().length>0?`${d(q).trimEnd()} ${t}`:t,!0)})}function Ve(){H.conversationActive?V():re(e=>{G.sendUtterance(e)})}function He(){ee(!H.ttsAutoEnabled)}async function Ue(){await G.startNewSession(),await B(z(`/chat`),{replaceState:!0}),x()}let J=D(!1);async function We(e){if(!d(J)){if(e===W.active?.id){x();return}N(J,!0);try{await W.activate(e),x()}catch{}finally{N(J,!1)}}}j(()=>{document.documentElement.classList.add(`chat-locked`),document.body.classList.add(`chat-locked`,`stillness-mode`);function e(e){e.key===`Escape`&&(V(),x(),L())}document.addEventListener(`keydown`,e);let t=!1;function n(){t||document.visibilityState!==`visible`||(async()=>{!await de()&&!t?G.error=`Assistant is not reachable. Try reconnecting.`:t||await G.loadSessions()})()}return document.addEventListener(`visibilitychange`,n),ne(),(async()=>{try{De.init();let e=Se.url.searchParams.get(`session`);if(De.enabled){await B(we(e),{replaceState:!0});return}await W.load(),await G.onEndpointChanged(W.activeId),e&&await G.openSession(e),Se.url.searchParams.get(`new`)===`1`&&(await G.startNewSession(),await B(z(`/chat`),{replaceState:!0}))}catch{G.error=`Unable to reach the assistant.`}})(),()=>{t=!0,V(),document.documentElement.classList.remove(`chat-locked`),document.body.classList.remove(`chat-locked`,`stillness-mode`),document.removeEventListener(`keydown`,e),document.removeEventListener(`visibilitychange`,n)}});var Ge=Gt();F(`23dtxz`,e=>{i(()=>{P.title=W.active?.label??`OpenPalm`??``})});var Ke=T(M(Ge),8);mt(k(Ke),{height:32,get voiceEnabled(){return d(K)},get sending(){return G.sending},get voiceStatus(){return H.status},onToggle:Re}),I(Ke);var Y=T(Ke,2);let qe;var Je=k(Y),Ye=k(Je);ke(k(Ye),{size:20}),I(Ye),_(2),I(Je),I(Y);var Ze=T(Y,2),Qe=k(Ze),$e=t=>{var n=Mt(),r=T(k(n),2),i=k(r),a=e=>{Ae(e,{size:20})},s=e=>{Te(e,{size:20})};o(i,e=>{d(Ie)?e(a):e(s,-1)}),I(r),I(n),p(()=>{A(r,`aria-label`,d(Ie)?`Turn off spoken responses`:`Turn on spoken responses`),A(r,`aria-pressed`,d(Ie))}),e(`click`,r,He),l(t,n)};o(Qe,e=>{d(Le)&&d(K)&&e($e)});var et=T(Qe,2),tt=T(k(et),2),nt=k(tt),it=e=>{_e(e,{size:20})},at=e=>{se(e,{size:20})},ot=e=>{fe(e,{size:20})};o(nt,e=>{U.preference===`light`?e(it):U.preference===`dark`?e(at,1):e(ot,-1)}),I(tt),I(et),I(Ze);var st=T(Ze,2);let ct;var lt=k(st),X=T(k(lt),2);ze(k(X),{size:20}),I(X),I(lt);var ut=T(lt,2),dt=k(ut),pt=k(dt,!0);I(dt);var Z=T(dt,2),ht=k(Z),gt=e=>{ve(e,{size:20})},_t=e=>{Oe(e,{size:22})};o(ht,e=>{d(h)?e(gt):e(_t,-1)}),I(Z),I(ut),I(st);var vt=T(st,2);let bt;ft(k(vt),{get items(){return G.toolLog}}),I(vt);var xt=T(vt,2),St=k(xt),Ct=k(St),wt=e=>{l(e,Nt())};o(Ct,e=>{(d(m)||d(f))&&e(wt)});var Tt=T(Ct,2);E(Tt,17,()=>G.entries,e=>e.id,(e,t)=>{Be(e,{get entry(){return d(t)}})});var Et=T(Tt,2),Dt=e=>{var t=It(),n=k(t),r=e=>{var t=Pt(),n=k(t),r=k(n);c(r,()=>Pe(G.pendingAssistantText),!0),I(r),I(n),I(t),l(e,t)},i=e=>{l(e,Ft())};o(n,e=>{G.pendingAssistantText?e(r):!G.pendingPermission&&!G.pendingQuestion&&e(i,1)});var a=T(n,2),s=e=>{yt(e,{get permission(){return G.pendingPermission},get actionInFlight(){return d(ce)},onReply:le})};o(a,e=>{G.pendingPermission&&e(s)});var u=T(a,2),f=e=>{kt(e,{get question(){return G.pendingQuestion},onOption:ue,onSelect:(e,t)=>G.setQuestionAnswer(e,t),onDraft:pe,onSubmit:me,onReject:he})};o(u,e=>{G.pendingQuestion&&e(f)}),I(t),l(e,t)};o(Et,e=>{G.sending&&e(Dt)}),v(T(Et,2),e=>N(a,e),()=>d(a)),I(St),t(St,(e,t)=>Ne?.(e,t),()=>({isFollowing:()=>d(ye),onFollowChange:xe})),I(xt);var Ot=T(xt,2),At=t=>{var n=Rt(),r=k(n),i=k(r,!0);I(r);var a=T(r,2),c=t=>{var n=Lt();e(`click`,n,ie),l(t,n)};o(a,e=>{G.lastFailedText&&e(c)});var u=T(a,2),d=T(u,2);I(n),p(()=>s(i,G.error)),e(`click`,u,R),e(`click`,d,()=>{G.error=``}),l(t,n)};o(Ot,e=>{G.error&&e(At)});var Kt=T(Ot,2),qt=t=>{var n=zt();p(()=>n.inert=d(S)||d(h)),e(`click`,n,Me),l(t,n)};o(Kt,e=>{!d(ye)&&G.sending&&e(qt)});var Jt=T(Kt,2),Yt=k(Jt);rt(Yt,{get thinking(){return G.sending}});var Xt=T(Yt,2);{let e=b(()=>!!G.pendingQuestion&&G.pendingQuestion.questions.length===1);Xe(Xt,{get sending(){return G.sending},get questionPending(){return d(e)},onSend:oe,onStop:()=>void G.stopTurn(),get voiceEnabled(){return d(K)},get voiceActive(){return d(Fe)},onMicToggle:Re,get conversationEnabled(){return d(K)},get conversationActive(){return H.conversationActive},onConversationToggle:Ve,get draft(){return d(q)},set draft(e){N(q,e,!0)}})}I(Jt);var Q=T(Jt,2);let Zt;var Qt=k(Q),$t=k(Qt),en=T(k($t),2),tn=e=>{var t=Bt(),n=k(t,!0);I(t),p(()=>s(n,W.active.label)),l(e,t)};o(en,e=>{W.active&&e(tn)}),I($t);var nn=T($t,2);ve(k(nn),{size:20}),I(nn),I(Qt);var rn=T(Qt,2),an=k(rn),on=k(an),sn=T(k(on),2);I(on);var cn=T(on,2);E(cn,21,()=>W.endpoints,e=>e.id,(t,n)=>{var r=Ht(),i=k(r);let a;var c=k(i),u=k(c,!0);I(c);var f=T(c,2),m=k(f,!0);I(f),I(i);var h=T(i,2),_=t=>{var n=Vt();p(e=>A(n,`href`,e),[()=>z(`/host`)]),e(`click`,n,x),l(t,n)},v=b(()=>d(n).url&&Ee(d(n).url));o(h,e=>{d(v)&&e(_)}),I(r),p(()=>{a=g(i,1,`s-endpoint svelte-23dtxz`,null,a,{active:d(n).id===W.active?.id}),A(i,`aria-current`,d(n).id===W.active?.id?`true`:void 0),i.disabled=d(J),s(u,d(n).label),s(m,d(n).url)}),e(`click`,i,()=>void We(d(n).id)),l(t,r)}),I(cn),I(an);var ln=T(an,2),un=k(ln),dn=T(k(un),2);I(un),Ce(T(un,2),{onChosen:x,hideNewBtn:!0}),I(ln),I(rn),I(Q),u(Q,()=>be({active:d(h),deferRestore:!0}));var fn=T(Q,2),pn=t=>{var n=Ut();A(n,`tabindex`,-1),e(`click`,n,L),l(t,n)};o(fn,e=>{d(S)&&e(pn)});var $=T(fn,2);let mn;var hn=k($),gn=k(hn);ve(k(gn),{size:20}),I(gn),I(hn);var _n=T(hn,2),vn=k(_n),yn=e=>{ft(e,{get items(){return G.toolLog}})},bn=e=>{l(e,Wt())};o(vn,e=>{G.toolLog.length>0?e(yn):e(bn,-1)}),I(_n),I($),u($,()=>be({active:d(S),deferRestore:!0})),p(e=>{qe=g(Y,1,`s-corner s-corner-right svelte-23dtxz`,null,qe,{"drawer-hidden":d(S)}),A(Ye,`aria-pressed`,De.enabled),A(tt,`aria-label`,U.preference===`system`?`Switch to light theme`:U.preference===`light`?`Switch to dark theme`:`Switch to system theme`),ct=g(st,1,`s-corner s-corner-bottom-right svelte-23dtxz`,null,ct,{"drawer-hidden":d(S)}),A(X,`aria-expanded`,d(S)),s(pt,d(h)?`close`:`conversations`),A(Z,`aria-expanded`,d(h)),A(Z,`aria-label`,d(h)?`Return to the conversation`:`Conversations`),bt=g(vt,1,`s-tool-rail svelte-23dtxz`,null,bt,{"has-items":G.toolLog.length>0}),xt.inert=d(S)||d(h),Jt.inert=d(S)||d(h),Zt=g(Q,1,`s-veil svelte-23dtxz`,null,Zt,{open:d(h)}),Q.inert=!d(h),A(Q,`aria-hidden`,!d(h)),A(sn,`href`,e),mn=g($,1,`s-tool-drawer svelte-23dtxz`,null,mn,{open:d(S)}),$.inert=!d(S),A($,`aria-hidden`,!d(S))},[()=>z(`/connections`)]),e(`click`,Ye,()=>{De.setEnabled(!0),B(we(Se.url.searchParams.get(`session`)??G.activeSessionId))}),e(`click`,tt,()=>U.toggle()),e(`click`,X,C),e(`click`,Z,function(...e){(d(h)?x:y)?.apply(this,e)}),e(`keydown`,Q,e=>ge(e,x)),e(`click`,nn,x),e(`click`,sn,x),e(`click`,dn,()=>void Ue()),e(`keydown`,$,e=>ge(e,L)),e(`click`,gn,L),l(n,Ge),O()}R([`click`,`keydown`]);export{Kt as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,I as n,M as r,N as i,O as a,P as o,R as s,U as c,V as l,X as u,Y as d,at as f,b as p,bt as m,d as h,dt as g,f as _,g as v,ht as y,it as b,k as x,l as S,lt as C,mt as w,nt as T,p as ee,r as E,rt as te,st as D,tt as ne,w as O,xt as k,z as A}from"../chunks/BzIvC31O.js";import"../chunks/xihTtKlq.js";import{i as j,t as re}from"../chunks/DBHgGGCD.js";import{$ as ie,Q as ae,et as M,tt as oe,u as N}from"../chunks/C718MJXm.js";import{t as se}from"../chunks/
|
|
1
|
+
import{A as e,B as t,I as n,M as r,N as i,O as a,P as o,R as s,U as c,V as l,X as u,Y as d,at as f,b as p,bt as m,d as h,dt as g,f as _,g as v,ht as y,it as b,k as x,l as S,lt as C,mt as w,nt as T,p as ee,r as E,rt as te,st as D,tt as ne,w as O,xt as k,z as A}from"../chunks/BzIvC31O.js";import"../chunks/xihTtKlq.js";import{i as j,t as re}from"../chunks/DBHgGGCD.js";import{$ as ie,Q as ae,et as M,tt as oe,u as N}from"../chunks/C718MJXm.js";import{t as se}from"../chunks/CBM1fLGu.js";import{t as ce}from"../chunks/BlYj4BBX.js";import{t as le}from"../chunks/hSjQday7.js";async function ue(e,t=fetch){try{return await t(`${e}/`,{mode:`no-cors`,cache:`no-store`,signal:AbortSignal.timeout(1500)}),!0}catch{return!1}}var de=n(`<div class="alert error svelte-xxtt2y" role="alert"> </div>`),P=n(`<span class="badge default svelte-xxtt2y">Default</span>`),fe=n(`<span class="badge active svelte-xxtt2y">Active</span>`),pe=n(`<span class="badge kind svelte-xxtt2y">guardian</span>`),me=n(`<span class="badge password svelte-xxtt2y" title="Server password configured"><!></span>`),he=n(`<button type="button" class="btn btn-primary btn-sm">Use this</button>`),ge=n(`<button type="button" class="btn btn-secondary btn-sm">Edit</button> <button type="button" class="btn btn-danger btn-sm svelte-xxtt2y"> </button>`,1),_e=n(`<article><div class="connection-main svelte-xxtt2y"><div class="connection-title svelte-xxtt2y"><span class="connection-label svelte-xxtt2y"> </span> <!> <!> <!> <!></div> <div class="connection-url svelte-xxtt2y"> </div></div> <div class="connection-actions svelte-xxtt2y"><!> <!></div></article>`),ve=n(`<button type="button" class="btn btn-secondary">Pair a device</button>`),ye=n(`<div class="toolbar-row svelte-xxtt2y"><button type="button" class="btn btn-primary">+ Add connection</button> <!></div>`),be=n(`<small class="svelte-xxtt2y">The guardian's base URL — <code class="svelte-xxtt2y">/oc</code> is appended automatically if you leave it off.</small>`),xe=n(`<small class="svelte-xxtt2y">The host:port where the remote OpenPalm assistant (OpenCode) is reachable.</small>`),Se=n(`<small class="rotate-hint svelte-xxtt2y"><strong class="svelte-xxtt2y">Rotating this password?</strong> The password lives as the file secret <code class="svelte-xxtt2y">knowledge/secrets/op_opencode_password</code> on the
|
|
2
2
|
remote host — never in <code class="svelte-xxtt2y">stack.env</code>. Rotation is a two-step process: <ol class="svelte-xxtt2y"><li>On the remote host: re-run setup's Network access step (choose <strong class="svelte-xxtt2y">Home network, with password</strong> again with the new password), or edit <code class="svelte-xxtt2y">knowledge/secrets/op_opencode_password</code> directly and restart the <code class="svelte-xxtt2y">assistant</code> container.</li> <li>Paste the new value here and save.</li></ol></small>`),Ce=n(`<label class="field-inline svelte-xxtt2y"><input type="checkbox"/> <span>Clear stored password</span></label>`),we=n(`<div class="alert error svelte-xxtt2y" role="alert"> </div>`),Te=n(`<form class="connection-form svelte-xxtt2y"><h2 class="svelte-xxtt2y"> </h2> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">Label</span> <input type="text" placeholder="e.g. Home server" required="" autocomplete="off" class="svelte-xxtt2y"/></label> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">Kind</span> <select><option>OpenCode server (direct)</option><option>OpenPalm guardian (/oc)</option></select> <small class="svelte-xxtt2y"><!></small></label> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">URL</span> <input type="url" placeholder="http://10.0.0.5:3800" required="" autocomplete="off" class="svelte-xxtt2y"/> <!></label> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">Server password (optional)</span> <input type="password" autocomplete="new-password" class="svelte-xxtt2y"/> <small class="svelte-xxtt2y">Forwarded as HTTP Basic auth. Only required for a remote assistant running the <strong>Home network, with password</strong> network access preset (<code class="svelte-xxtt2y">OPENCODE_AUTH=true</code>).</small> <!></label> <!> <!> <div class="form-actions svelte-xxtt2y"><button type="submit" class="btn btn-primary"> </button> <button type="button" class="btn btn-secondary">Cancel</button></div></form>`),Ee=n(`<div class="alert error svelte-xxtt2y" role="alert"> </div>`),De=n(`<form class="connection-form svelte-xxtt2y"><h2 class="svelte-xxtt2y">Pair a device</h2> <p class="lede svelte-xxtt2y">Mint a one-time QR code / pairing code for another device (phone, laptop) to add this
|
|
3
3
|
stack as a connection. The code contains a fresh, individually-revocable credential — it
|
|
4
4
|
is shown only once.</p> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">Label</span> <input type="text" placeholder="e.g. My phone" required="" autocomplete="off" class="svelte-xxtt2y"/></label> <label class="field svelte-xxtt2y"><span class="svelte-xxtt2y">Guardian URL (as reachable BY THE OTHER DEVICE)</span> <input type="url" placeholder="https://gw.example.ts.net or http://10.0.0.5:3830" required="" autocomplete="off" class="svelte-xxtt2y"/> <small class="svelte-xxtt2y">Use the LAN address or Tailscale/ts.net hostname the other device can actually reach —
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,Ct as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,P as d,R as f,S as p,T as m,U as h,V as g,X as _,Y as v,_ as y,a as b,at as x,b as S,bt as C,c as w,d as T,dt as E,et as D,f as O,g as k,h as A,ht as j,it as M,j as N,k as P,l as F,lt as I,m as L,mt as R,n as z,nt as B,p as V,r as ee,rt as H,s as U,st as W,tt as G,u as te,v as ne,w as K,xt as q,z as J}from"../chunks/BzIvC31O.js";import{n as re}from"../chunks/BNJvGRjX.js";import"../chunks/xihTtKlq.js";import{_ as ie,a as ae,b as Y,d as X,f as oe,g as Z,i as se,p as ce,u as le,v as Q}from"../chunks/c0lkYAgh.js";import{t as ue}from"../chunks/DmFbAjwW.js";import{t as de}from"../chunks/mG6HnNbi.js";import{t as fe}from"../chunks/DBHgGGCD.js";import{E as pe,F as me,I as he,J as ge,K as _e,X as ve,Y as ye,_ as be,b as xe,c as Se,l as Ce,m as we,n as Te,o as Ee,p as De,q as Oe,r as ke,s as Ae,t as je,u as Me,v as Ne,w as Pe,x as Fe,y as Ie}from"../chunks/C718MJXm.js";import{t as Le}from"../chunks/C5iiO0W9.js";import"../chunks/ccncQf9O.js";import{n as Re,t as ze}from"../chunks/CBV2kBE1.js";import{t as Be}from"../chunks/NR-JVJz-.js";import{t as $}from"../chunks/SXdvPq3_.js";import{t as Ve}from"../chunks/D5FtEngX.js";import{a as He,c as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"../chunks/R6GPcDBF.js";import{n as Qe,t as $e}from"../chunks/CUa5ff3d.js";import{t as et}from"../chunks/hSjQday7.js";import{n as tt}from"../chunks/DD22UF1L.js";async function nt(){let[e,t]=await Promise.all([Z(`GET`,`/health`),Z(`GET`,`/guardian/health`).catch(e=>(console.warn(`[api] Guardian health check failed:`,e),null))]),n=await e.json(),r=null;if(t)try{r=await t.json()}catch(e){console.warn(`[api] Failed to parse guardian health response:`,e),r={status:`unavailable`,service:`guardian`}}return{admin:n,guardian:r}}async function rt(){return await(await Q(await Z(`GET`,`/api/host/containers/list`))).json()}async function it(e,t){await Q(await Z(`POST`,{start:`/api/host/containers/up`,stop:`/api/host/containers/down`,restart:`/api/host/containers/restart`}[e],{service:t}))}async function at(){await Q(await Z(`POST`,`/api/host/containers/pull`,{}))}async function ot(e={}){let t=await Z(`POST`,`/api/host/update`,{versions:e});return ie(t,`Apply failed (HTTP ${t.status})`)}async function st(e,t={}){let n=await Z(`POST`,`/api/host/update`,{service:e,versions:t});return ie(n,`Update failed (HTTP ${n.status})`)}async function ct(){return await(await Q(await Z(`GET`,`/api/host/versions`))).json()}async function lt(e){return await(await Q(await Z(`PATCH`,`/api/host/versions`,{versions:e}))).json()}async function ut(e){return await(await Q(await Z(`POST`,`/api/host/ui-version`,{tag:e}))).json()}async function dt(){return await(await Q(await Z(`GET`,`/api/host/backups`))).json()}async function ft(e){return await(await Q(await Z(`POST`,`/api/host/backups`,{keep:e}))).json()}async function pt(){return await(await Q(await Z(`GET`,`/api/host/secret-notice`))).json()}async function mt(){return await(await Q(await Z(`DELETE`,`/api/host/secret-notice`))).json()}async function ht(){return await(await Q(await Z(`GET`,`/api/host/unlock`))).json()}async function gt(){return await(await Q(await Z(`POST`,`/api/host/unlock`))).json()}async function _t(){return await(await Q(await Z(`GET`,`/api/host/automations`))).json()}async function vt(e){return await(await Q(await Z(`POST`,`/api/host/automations/${encodeURIComponent(e)}/run`))).json()}async function yt(e,t=200){let n=new URLSearchParams({limit:String(t)});return await(await Q(await Z(`GET`,`/api/host/automations/${encodeURIComponent(e)}/log?${n.toString()}`))).json()}async function bt(e){let t=new URLSearchParams;e?.service&&t.set(`service`,e.service),e?.tail&&t.set(`tail`,String(e.tail)),e?.since&&t.set(`since`,e.since);let n=t.toString();return await(await Q(await Z(`GET`,`/api/host/logs${n?`?${n}`:``}`))).json()}async function xt(e){return await(await Q(await Z(`GET`,`/api/host/automations/${encodeURIComponent(e)}/file`))).json()}async function St(e,t){return await(await Q(await Z(`PUT`,`/api/host/automations/${encodeURIComponent(e)}/file`,{content:t}))).json()}async function Ct(e){return await(await Q(await Z(`DELETE`,`/api/host/automations/${encodeURIComponent(e)}/file`))).json()}async function wt(){return(await(await Q(await Z(`GET`,`/api/host/addons`))).json()).addons}async function Tt(e,t,n){let r={enabled:t};return n&&(r.env=n),await(await Q(await Z(`POST`,`/api/host/addons/${encodeURIComponent(e)}`,r))).json()}async function Et(e){return(await(await Q(await Z(`GET`,`/api/host/addons/${encodeURIComponent(e)}/credentials`))).json()).fields}async function Dt(e,t){return await(await Q(await Z(`POST`,`/api/host/addons/${encodeURIComponent(e)}/credentials`,{values:t}))).json()}async function Ot(){return await(await Q(await Z(`GET`,`/api/host/secrets`))).json()}async function kt(e){return await(await Q(await Z(`GET`,`/api/host/secrets/${encodeURIComponent(e)}`))).json()}async function At(e,t){return await(await Q(await Z(`PUT`,`/api/host/secrets/${encodeURIComponent(e)}`,{value:t}))).json()}async function jt(e){return await(await Q(await Z(`DELETE`,`/api/host/secrets/${encodeURIComponent(e)}`))).json()}async function Mt(){return await(await Q(await Z(`GET`,`/api/assistant/akm`))).json()}async function Nt(e){return await(await Q(await Z(`PATCH`,`/api/assistant/akm`,e))).json()}async function Pt(){return await(await Q(await Z(`POST`,`/api/host/akm/embedding/detect`,{}))).json()}async function Ft(e){return await(await Q(await Z(`POST`,`/api/host/akm/embedding/test`,e))).json()}async function It(){return await(await Q(await Z(`POST`,`/api/host/akm/reindex`,{}))).json()}async function Lt(){return await(await Q(await Z(`GET`,`/api/host/stack`))).json()}async function Rt(e){return await(await Q(await Z(`PUT`,`/api/host/stack`,e))).json()}async function zt(){return await(await Q(await Z(`GET`,`/api/assistant/persona`))).json()}async function Bt(e){return await(await Q(await Z(`PUT`,`/api/assistant/persona`,e))).json()}async function Vt(){return await(await Q(await Z(`GET`,`/api/host/akm/health`))).json()}async function Ht(){return await(await Q(await Z(`GET`,`/api/host/akm/stats`))).json()}async function Ut(){return await(await Q(await Z(`GET`,`/api/host/akm/host-sharing`))).json()}async function Wt(){return await(await Q(await Z(`PUT`,`/api/host/akm/host-sharing`,{}))).json()}async function Gt(){return await(await Q(await Z(`DELETE`,`/api/host/akm/host-sharing`))).json()}async function Kt(){return await(await Q(await Z(`GET`,`/api/host/providers`))).json()}async function qt(){return(await(await Q(await Z(`GET`,`/api/host/providers/assistant-clis`))).json()).tools??[]}async function Jt(e,t){await Q(await Z(`POST`,`/api/assistant/model`,{[e]:t||null}))}async function Yt(e){await Q(await Z(`DELETE`,`/api/host/opencode/providers/${encodeURIComponent(e)}/auth`))}async function Xt(){return await(await Q(await Z(`GET`,`/api/host/providers/host-status`))).json()}async function Zt(e,t){await Q(await Z(`POST`,`/api/host/providers/assistant-clis/${encodeURIComponent(e)}/use-provider`,{providerId:t}))}async function Qt(e,t){return ie(await Z(`POST`,`/api/host/providers/oauth/start`,{providerId:e,methodIndex:String(t)}),`OAuth start failed.`)}async function $t(e,t,n){return Z(`POST`,`/api/host/providers/oauth/${encodeURIComponent(e)}/callback`,{method:t},{signal:n})}async function en(e,t){await Q(await Z(`POST`,`/api/host/opencode/providers/${encodeURIComponent(e)}/auth`,{mode:`api_key`,apiKey:t}))}async function tn(e,t,n){await Q(await Z(`POST`,`/api/host/providers/oauth/finish`,{providerId:e,methodIndex:t,code:n}))}async function nn(e,t){let n=await Z(`PATCH`,`/api/host/providers/${encodeURIComponent(e)}`,{kind:`register-custom`,displayName:t.displayName,baseURL:t.baseURL,apiKey:t.apiKey,modelsJson:`[]`,headersJson:`[]`,confirmOverwrite:`false`}),r=await ie(n,`Registration failed.`);if(!n.ok||r.ok===!1)throw Object.assign(Error(r.message??`Registration failed.`),{status:n.status});return r}async function rn(){let e=await Z(`POST`,`/api/host/providers/import-host`),t=await ie(e,`Import failed.`);if(!e.ok)throw Object.assign(Error(t.message??`Import failed.`),{status:e.status});return t}function an(e){let t=e?.status;return t===401||t===403}function on(e,t){return e instanceof Error?e.message:t}var sn=s(`<button type="button" class="voice-stop-btn svelte-1fzuh38" aria-label="Stop assistant speech" title="Assistant is speaking — click to stop"><!> <span class="sr-only svelte-1fzuh38">Stop speaking</span></button>`);function cn(e,t){j(t,!0);let r=E(()=>X.status===`speaking`);var i=a(),o=H(i),s=e=>{var t=sn();je(B(t),{size:16}),C(2),q(t),n(`click`,t,()=>le()),d(e,t)};l(o,e=>{h(r)&&e(s)}),d(e,i),R()}J([`click`]);var ln=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="4" y="4" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="13" y="4" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="4" y="13" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="13" y="13" width="7" height="7" rx="1.4"></rect></svg>`);function un(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=ln();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var dn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 4.5h10.5a1.8 1.8 0 0 1 1.8 1.8v13.2H7.5a1.5 1.5 0 0 1-1.5-1.5z"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 17.5h12.3"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 8.5h6"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 12h4"></path></svg>`);function fn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=dn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var pn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 7.5a5.5 5.5 0 0 0-9.5 0v10.5a5.5 5.5 0 0 1 9.5 0"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 7.5a5.5 5.5 0 0 1 9.5 0v10.5a5.5 5.5 0 0 0-9.5 0"></path></svg>`);function mn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=pn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var hn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="3" y="9" width="7" height="6" rx="1.5"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="14" y="9" width="7" height="6" rx="1.5"></rect><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M10 12h4"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 10l2 2-2 2"></path></svg>`);function gn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=hn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var _n=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 5L3 9.5l9 4.5 9-4.5z"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3 14.5l9 4.5 9-4.5"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3 18.5l9 4.5 9-4.5"></path></svg>`);function vn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=_n();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var yn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><circle fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" cx="12" cy="12" r="8.5"></circle><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M13.5 6.5l-4.5 6h4.5l-4.5 7"></path></svg>`);function bn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=yn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var xn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6.5 18.5a4.5 4.5 0 0 1 .5-9H8a6 6 0 0 1 11.5 2.5 3.5 3.5 0 0 1-.5 6.5"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 11v7"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 15.5l2.5 2.5 2.5-2.5"></path></svg>`);function Sn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=xn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var Cn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M4 11L12 4l8 7"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 10v9.5h12V10"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M10 19.5v-5.5h4v5.5"></path></svg>`);function wn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=Cn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var Tn=s(`<button role="tab"> </button>`),En=s(`<button role="tab"><!> </button>`),Dn=s(`<div class="subtab-row svelte-7673iv"><div class="tabs svelte-7673iv" role="tablist"></div></div>`),On=s(`<nav class="nav-shell svelte-7673iv" aria-label="Admin sections"><div class="section-strip svelte-7673iv" role="tablist" aria-label="Sections"></div> <!></nav>`);function kn(e,t){j(t,!0);let r=[{id:`health`,label:`Health`,tabs:[{id:`overview`,label:`Overview`,icon:un},{id:`activity`,label:`Activity`,icon:Xe},{id:`containers`,label:`Systems`,icon:Be},{id:`logs`,label:`Journal`,icon:fn},{id:`updates`,label:`Check-up`,icon:Sn},{id:`recovery`,label:`Recovery`,icon:wn}]},{id:`mind`,label:`Mind`,tabs:[{id:`connections`,label:`AI Providers`,icon:Je}]},{id:`voice`,label:`Voice`,tabs:[{id:`voice`,label:`Voice`,icon:Ve}]},{id:`routines`,label:`Routines`,tabs:[{id:`automations`,label:`Automations`,icon:bn}]},{id:`capabilities`,label:`Capabilities`,tabs:[{id:`addons`,label:`Add-ons`,icon:vn}]},{id:`knowledge`,label:`Knowledge`,tabs:[{id:`akm`,label:`Memory`,icon:mn},{id:`assistant`,label:`Assistant`,icon:$e},{id:`secrets`,label:`Secrets`,icon:et},{id:`host-sharing`,label:`Sharing`,icon:gn}]}],i=E(()=>r.find(e=>e.tabs.some(e=>e.id===t.active))??r[0]);function a(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 o(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 s(e){t.onSelect(e.tabs[0].id)}var c=On(),f=B(c);P(f,21,()=>r,e=>e.id,(e,t)=>{var r=Tn();let o;var c=B(r,!0);q(r),_(()=>{o=S(r,1,`section-tab svelte-7673iv`,null,o,{"section-tab-active":h(i).id===h(t).id}),V(r,`aria-selected`,h(i).id===h(t).id),u(c,h(t).label)}),n(`click`,r,()=>s(h(t))),n(`keydown`,r,a),d(e,r)}),q(f);var p=M(f,2),g=e=>{var r=Dn(),a=B(r);P(a,21,()=>h(i).tabs,e=>e.id,(e,r)=>{var i=En();let a;var s=B(i);m(s,()=>h(r).icon,(e,t)=>{t(e,{size:13})});var c=M(s);q(i),_(()=>{a=S(i,1,`tab svelte-7673iv`,null,a,{"tab-active":t.active===h(r).id}),V(i,`aria-selected`,t.active===h(r).id),u(c,` ${h(r).label??``}`)}),n(`click`,i,()=>t.onSelect(h(r).id)),n(`keydown`,i,o),d(e,i)}),q(a),q(r),_(()=>V(a,`aria-label`,`${h(i).label??``} tabs`)),d(e,r)};l(p,e=>{h(i).tabs.length>1&&e(g)}),q(c),d(e,c),R()}J([`click`,`keydown`]);var An=s(`<button class="btn btn-secondary">View containers</button>`),jn=s(`<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">Check for updates</button></div></section>`);function Mn(e,t){j(t,!0);var r=jn(),i=B(r),a=B(i),o=e=>{Qe(e,{size:22})},s=e=>{Ue(e,{size:22})},c=e=>{de(e,{size:22})};l(a,e=>{t.status===`warning`?e(o):t.status===`ok`?e(s,1):e(c,-1)}),q(i);var f=M(i,2),p=B(f),m=B(p,!0);q(p);var h=M(p,2),g=B(h,!0);q(h),q(f);var v=M(f,2),y=B(v),b=B(y,!0);q(y);var x=M(y,2),C=e=>{var r=An();n(`click`,r,()=>t.onNavigate(`containers`)),d(e,r)};l(x,e=>{t.status===`warning`&&e(C)});var w=M(x,2);q(v),q(r),_(()=>{S(r,1,`hero hero--${t.status??``}`,`svelte-10n23hu`),u(m,t.title),u(g,t.detail),y.disabled=t.healthLoading,u(b,t.healthLoading?`Checking…`:`Re-check`)}),n(`click`,y,function(...e){t.onCheckHealth?.apply(this,e)}),n(`click`,w,()=>t.onNavigate(`updates`)),d(e,r),R()}J([`click`]);var Nn=s(`<span class="tile-metric tile-metric--icon svelte-19hpfg" aria-hidden="true"><!></span>`),Pn=s(`<span class="tile-metric-sub svelte-19hpfg"> </span>`),Fn=s(` <!>`,1),In=s(`<span><!></span>`),Ln=s(`<span> </span>`),Rn=s(`<button class="tile svelte-19hpfg"><!> <span class="tile-label svelte-19hpfg"> </span> <!></button>`);function zn(e,t){let r=b(t,`value`,3,null),a=b(t,`sub`,3,null),o=b(t,`loaded`,3,!0);var s=Rn(),c=B(s),p=e=>{var n=Nn();i(B(n),()=>t.icon),q(n),d(e,n)},m=e=>{var n=In();let i;var s=B(n),c=e=>{var t=Fn(),n=H(t,!0),i=M(n),o=e=>{var t=Pn(),n=B(t,!0);q(t),_(()=>u(n,a())),d(e,t)};l(i,e=>{a()&&e(o)}),_(()=>u(n,r())),d(e,t)},p=e=>{d(e,f(`—`))};l(s,e=>{o()?e(c):e(p,-1)}),q(n),_(()=>i=S(n,1,`tile-metric svelte-19hpfg`,null,i,{"tile-metric--ok":t.status===`ok`,"tile-metric--warn":t.status===`warn`})),d(e,n)};l(c,e=>{t.icon?e(p):e(m,-1)});var h=M(c,2),g=B(h,!0);q(h);var v=M(h,2),y=e=>{var n=Ln();let r;var i=B(n,!0);q(n),_(()=>{r=S(n,1,`s-tile-badge svelte-19hpfg`,null,r,{"s-tile-badge--ok":t.status===`ok`,"s-tile-badge--warn":t.status===`warn`}),u(i,t.badge)}),d(e,n)};l(v,e=>{t.badge&&e(y)}),q(s),_(()=>u(g,t.label)),n(`click`,s,function(...e){t.onClick?.apply(this,e)}),d(e,s)}J([`click`]);var Bn=s(`<div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Task failure rate</span></div>`),Vn=s(`<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>`),Hn=s(`<p class="akm-unavailable svelte-dcgqe1">Metrics unavailable — the akm CLI isn't reachable from the admin host.</p>`),Un=s(`<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 Wn(e,t){j(t,!0);var r=Un(),i=B(r),a=M(B(i),2),o=B(a,!0);q(a),q(i);var s=M(i,2),c=e=>{var n=Vn(),r=B(n),i=B(r),a=B(i,!0);q(i),C(2),q(r);var o=M(r,2),s=B(o),c=B(s,!0),f=M(c),p=B(f);q(f),q(s),C(2),q(o);var m=M(o,2),h=B(m),g=B(h,!0);q(h),C(2),q(m);var v=M(m,2),y=e=>{var n=Bn(),r=B(n),i=B(r);q(r),C(2),q(n),_(e=>u(i,`${e??``}%`),[()=>Math.round(t.akm.metrics.taskFailRate*100)]),d(e,n)};l(v,e=>{t.akm.metrics&&typeof t.akm.metrics.taskFailRate==`number`&&e(y)}),q(n),_(e=>{u(a,e),u(c,t.akm.checks.pass),u(p,`/${t.checkTotal??``}`),u(g,t.akm.index?.hasEmbeddings?`On`:`Off`)},[()=>t.akm.index?.entryCount?.toLocaleString()??`—`]),d(e,n)},f=e=>{d(e,Hn())};l(s,e=>{t.akm&&t.akm.available?e(c):e(f,-1)}),q(r),_(()=>{S(a,1,`badge ${t.badge.cls??``}`,`svelte-dcgqe1`),u(o,t.badge.label)}),n(`click`,r,()=>t.onNavigate(`akm`)),d(e,r),R()}J([`click`]);var Gn=s(`<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">Portals & 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 & portal 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 Kn(e,t){j(t,!0);var r=Gn(),i=B(r),a=M(i,2),o=M(a,2),s=M(o,2),c=M(s,2);C(2),q(r),n(`click`,i,()=>t.onNavigate(`connections`)),n(`click`,a,()=>t.onNavigate(`akm`)),n(`click`,o,()=>t.onNavigate(`voice`)),n(`click`,s,()=>t.onNavigate(`addons`)),n(`click`,c,()=>t.onNavigate(`secrets`)),d(e,r),R()}J([`click`]);var qn=s(`<!> <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 Jn(e,t){j(t,!0);let n=I(null);ee(()=>{Me.load(),Vt().then(e=>{W(n,e,!0)}).catch(()=>{W(n,{available:!1},!0)})});let r=E(()=>{if(!h(n)||!h(n).available)return{label:`Unavailable`,cls:`badge-neutral`};let e=h(n).status;return e!==`ok`&&e!==`warn`&&e!==`fail`&&(e=h(n).checks.fail>0?`fail`:h(n).checks.warn>0?`warn`:`ok`),e===`ok`?{label:`Healthy`,cls:`badge-success`}:e===`warn`?{label:`Warnings`,cls:`badge-warning`}:{label:`Issues`,cls:`badge-danger`}}),i=E(()=>h(n)&&h(n).available?h(n).checks.pass+h(n).checks.warn+h(n).checks.fail:0),a=E(()=>t.managedServices.length>0?t.managedServices:[...t.mergedServices.keys()]),o=E(()=>{if(h(a).length===0)return null;let e=h(a).filter(e=>t.mergedServices.get(e)===`running`).length;return{total:h(a).length,running:e}}),s=E(()=>h(a).filter(e=>t.mergedServices.get(e)!==`running`)),c=E(()=>{if(!h(o))return{status:`unknown`,title:`Checking services…`,detail:`Fetching the latest status from Docker.`};if(h(o).running===h(o).total&&h(o).total>0)return{status:`ok`,title:`All systems operational`,detail:`${h(o).total} of ${h(o).total} services are running normally.`};let e=h(o).total-h(o).running,t=h(s).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(`, `);return{status:`warning`,title:`${e} of ${h(o).total} services not running`,detail:t?`Not running: ${t}.`:`One or more services need attention.`}});var l=qn(),u=H(l);Mn(u,{get status(){return h(c).status},get title(){return h(c).title},get detail(){return h(c).detail},get healthLoading(){return t.healthLoading},get onCheckHealth(){return t.onCheckHealth},get onNavigate(){return t.onNavigate}});var f=M(u,2),p=B(f);{let e=E(()=>h(o)?.running),n=E(()=>h(o)?`/${h(o).total}`:null),r=E(()=>!!h(o)),i=E(()=>h(o)?.running===h(o)?.total?`ok`:`warn`),a=E(()=>h(o)?.running===h(o)?.total?`operational`:`${(h(o)?.total??0)-(h(o)?.running??0)} down`);zn(p,{label:`Services running`,onClick:()=>t.onNavigate(`containers`),get value(){return h(e)},get sub(){return h(n)},get loaded(){return h(r)},get status(){return h(i)},get badge(){return h(a)}})}var m=M(p,2);zn(m,{label:`View logs`,onClick:()=>t.onNavigate(`logs`),icon:e=>{Ye(e,{size:22})},$$slots:{icon:!0}}),zn(M(m,2),{label:`Check for updates`,onClick:()=>t.onNavigate(`updates`),icon:e=>{Sn(e,{size:22})},$$slots:{icon:!0}}),q(f);var g=M(f,4);Wn(g,{get akm(){return h(n)},get badge(){return h(r)},get checkTotal(){return h(i)},get onNavigate(){return t.onNavigate}}),Kn(M(g,4),{get onNavigate(){return t.onNavigate}}),d(e,l),R()}var Yn=s(`<!> Updating everything…`,1),Xn=s(`<!> Updating UI…`,1),Zn=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),Qn=s(`<p class="msg msg-success svelte-7mkeya" role="status"> </p>`),$n=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),er=s(`<p class="msg msg-success svelte-7mkeya" role="status"> </p>`),tr=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),nr=s(`<p class="loading-line svelte-7mkeya"><!> Loading versions…</p>`),rr=s(`<span></span>`),ir=s(`<div class="pin-edit-row svelte-7mkeya"><input class="pin-input svelte-7mkeya" type="text" autocomplete="off" spellcheck="false" placeholder="tag or leave empty for latest"/> <button class="btn-inline btn-save svelte-7mkeya">Save</button> <button class="btn-inline btn-cancel svelte-7mkeya">Cancel</button></div>`),ar=s(`<button class="pin-chip svelte-7mkeya"><span class="pin-chip-text svelte-7mkeya"> </span> <span class="pin-edit-icon svelte-7mkeya" aria-hidden="true">✏</span></button>`),or=s(`<span class="inline-success svelte-7mkeya"> </span>`),sr=s(`<span class="inline-error svelte-7mkeya" role="alert"> </span>`),cr=s(`<code class="ver ver-new svelte-7mkeya"> </code>`),lr=s(`<code class="ver svelte-7mkeya"> </code>`),ur=s(`<span class="inline-success svelte-7mkeya"> </span>`),dr=s(`<span class="inline-error svelte-7mkeya" role="alert"> </span>`),fr=s(`<tr><td class="col-name svelte-7mkeya"><span class="comp-label svelte-7mkeya"> </span></td><td class="col-running svelte-7mkeya"><code class="ver svelte-7mkeya"> </code> <!></td><td class="col-pin svelte-7mkeya"><!> <!> <!></td><td class="col-avail svelte-7mkeya"><!></td><td class="col-action svelte-7mkeya"><button><!></button> <!> <!></td></tr>`),pr=s(`<p class="inline-error svelte-7mkeya" role="alert"> </p>`),mr=s(`<section aria-label="Container images"><table class="comp-table svelte-7mkeya" aria-label="Component versions"><thead><tr><th scope="col" class="col-name svelte-7mkeya">Component</th><th scope="col" class="col-running svelte-7mkeya">Running</th><th scope="col" class="col-pin svelte-7mkeya">Pin</th><th scope="col" class="col-avail svelte-7mkeya">Available</th><th scope="col" class="col-action svelte-7mkeya"><span class="sr-only svelte-7mkeya">Actions</span></th></tr></thead><tbody></tbody></table></section> <section class="channel-section svelte-7mkeya" aria-labelledby="channel-heading"><h3 id="channel-heading" class="section-heading svelte-7mkeya">Update channel</h3> <p class="section-desc svelte-7mkeya">Controls which releases are considered when tracking latest.</p> <div class="channel-toggle svelte-7mkeya" role="group" aria-label="Update channel"><button>Stable</button> <button>Prerelease</button></div> <!></section>`,1),hr=s(`<label class="desktop-toggle svelte-7mkeya"><input type="checkbox"/> <span>Notify when the assistant replies or errors while the app is in the background.</span></label> <label class="desktop-toggle desktop-toggle--nested svelte-7mkeya"><input type="checkbox"/> <span>Include reply preview in the notification body.</span></label> <p class="setting-hint svelte-7mkeya">Reply previews stay off by default because desktop notifications can persist outside the app.</p>`,1),gr=s(`<label class="desktop-toggle svelte-7mkeya"><input type="checkbox" disabled=""/> <span>Notify when the assistant replies or errors while the app is in the background.</span></label> <label class="desktop-toggle desktop-toggle--nested svelte-7mkeya"><input type="checkbox" disabled=""/> <span>Include reply preview in the notification body.</span></label> <p class="setting-hint svelte-7mkeya">Desktop notifications are available in the OpenPalm desktop app.</p>`,1),_r=s(`<section class="desktop-settings svelte-7mkeya" aria-labelledby="desktop-settings-title"><h3 id="desktop-settings-title" class="section-heading svelte-7mkeya">Desktop settings</h3> <div class="desktop-setting-row svelte-7mkeya"><div class="setting-label svelte-7mkeya">Launch on login</div> <label class="desktop-toggle svelte-7mkeya"><input type="checkbox"/> <span>Start OpenPalm automatically when you sign in on this device.</span></label> <p class="setting-hint svelte-7mkeya"><!></p></div> <div class="desktop-setting-row svelte-7mkeya"><div class="setting-label svelte-7mkeya">Desktop notifications</div> <!></div></section>`),vr=s(`<div class="panel" role="tabpanel"><div class="panel-header svelte-7mkeya"><div><h2>Updates</h2> <p class="panel-subtitle">Update individual components or everything at once.</p> <p class="control-plane-line svelte-7mkeya">Control plane: <strong class="svelte-7mkeya"> </strong></p></div> <div class="header-actions svelte-7mkeya"><button class="btn btn-primary"><!></button> <button class="btn btn-outline"><!></button></div></div> <!> <!> <!> <!> <div class="panel-body"><!> <!> <!></div></div>`);function yr(e,t){j(t,!0);let r=[{key:`OP_ASSISTANT_VERSION`,label:`Assistant`,service:`assistant`},{key:`OP_GUARDIAN_VERSION`,label:`Guardian`,service:`guardian`},{key:`OP_PORTAL_VERSION`,label:`Portal`,service:`portal`},{key:`OP_VOICE_VERSION`,label:`Voice`,service:`voice`}],i=I(``),a=I(`latest`),o=I(x({})),s=I(!0),c=I(``),p=I(x({})),m=x({}),g=x({}),v=x({}),y=x({}),b=x({}),w=I(``),D=I(!1),k=I(``),A=I(``),N=I(!1),F=I(``),z=I(``),U=I(!1),G=I(!1),te=I(!1),ne=I(!1),K=I(!1),J=I(!1);ee(()=>{W(U,window.openpalm!==void 0),W(G,De(),!0),W(te,we(),!0),re(),ie()});async function re(){W(s,!0),W(c,``);try{let e=await ct();W(i,e.platformVersion,!0),W(a,e.channel??`latest`,!0),W(o,e.components??{},!0)}catch(e){W(c,`Failed to load versions: ${e.message??String(e)}`)}W(s,!1)}async function ie(){let e=await window.openpalm?.launchOnLoginStatus?.();e&&(W(ne,e.supported,!0),W(K,e.enabled,!0))}function ae(e){if(!e?.running)return`not installed`;let t=e.running.plainVersion||e.running.tag.split(`:`).pop()||`—`;return e.running.containerState===`running`?t:`${t} (stopped)`}function Y(e){return e?e.pinned??`latest (tracking)`:`—`}function X(e){return e?.available?e.available:`—`}function oe(e){if(!e?.available||!e.running)return!1;let t=e.running.plainVersion||e.running.tag.split(`:`).pop()||``;return Z(e.available)!==Z(t)}function Z(e){return e.replace(/^v/,``)}function se(e){let t={};for(let n of e){let e=h(o)[n];if(!e)continue;let r=e.pinned??e.available;if(!r)continue;let i=e.running?.plainVersion??null,a=i===`latest`||i===`next`||i===null;!e.pinned&&a||i&&Z(r)===Z(i)||(t[n]=r)}return t}function ce(e){let t=h(o)[e];h(p)[e]=t?.pinned??``}function le(e){delete h(p)[e],W(p,{...h(p)},!0)}async function Q(e){let t=h(p)[e];if(t===void 0)return;let n=t.trim()||null;y[e]=``,b[e]=``;try{await lt({[e]:n??`latest`}),W(o,{...h(o),[e]:{...h(o)[e],pinned:n}},!0),b[e]=n?`Pinned to ${n}`:`Tracking latest`,le(e)}catch(t){y[e]=`Pin failed: ${t.message??String(t)}`}}async function ue(e,t){if(!(m[e]||h(D))){m[e]=!0,g[e]=``,v[e]=``;try{let n=await st(t,se([e]));n.overallSuccess?(v[e]=`Updated (${n.restarted.join(`, `)||t})`,fe()):g[e]=n.failed.length>0?n.failed.map(e=>`${e.service}: ${e.reason}`).join(`; `):n.dockerAvailable?n.error??`Update failed`:`Docker is unavailable`}catch(t){g[e]=t.message??String(t)}m[e]=!1}}async function de(){if(!(h(D)||Object.values(m).some(Boolean))){W(D,!0),W(k,``),W(A,``);try{let e=await ot(se(Object.keys(h(o))));e.overallSuccess?(W(A,e.restarted.length>0?`Updated: ${e.restarted.join(`, `)}`:`Stack is up to date`,!0),fe()):W(k,e.failed.length>0?`Failed: ${e.failed.map(e=>`${e.service}: ${e.reason}`).join(`; `)}`:e.dockerAvailable?e.error??`Update failed`:`Docker is unavailable — stack not restarted`,!0)}catch(e){W(k,e.message??String(e),!0)}W(D,!1)}}async function fe(){try{let e=await ct();W(i,e.platformVersion,!0),W(a,e.channel??`latest`,!0),W(o,e.components??{},!0)}catch{}}async function pe(){if(!h(N)){W(N,!0),W(F,``),W(z,``);try{let e=await ut(`latest`);e.pendingRestart?(window.openpalm?.restartUiServer?.(),W(z,`Updating UI — restarting…`)):e.restarting?(setTimeout(()=>{location.href=`/`},4e3),W(z,`UI updated — reloading in a moment…`)):W(z,`UI downloaded. Restart the admin UI to apply it.`)}catch(e){W(F,e.message??String(e),!0)}W(N,!1)}}async function me(e){let t=e.currentTarget.checked;if(!window.openpalm?.setLaunchOnLogin){W(K,!1);return}W(J,!0);try{let e=await window.openpalm.setLaunchOnLogin(t);W(ne,e.supported,!0),W(K,e.enabled,!0)}finally{W(J,!1)}}let he=E(()=>h(D)||h(N)||Object.values(m).some(Boolean));var ge=vr(),_e=B(ge),ve=B(_e),ye=M(B(ve),4),xe=M(B(ye)),Se=B(xe,!0);q(xe),q(ye),q(ve);var Ce=M(ve,2),Te=B(Ce),Ee=B(Te),Oe=e=>{var t=Yn();$(H(t),{}),C(),d(e,t)},ke=e=>{d(e,f(`Update everything`))};l(Ee,e=>{h(D)?e(Oe):e(ke,-1)}),q(Te);var Ae=M(Te,2),je=B(Ae),Me=e=>{var t=Xn();$(H(t),{}),C(),d(e,t)},Pe=e=>{d(e,f(`Update UI`))};l(je,e=>{h(N)?e(Me):e(Pe,-1)}),q(Ae),q(Ce),q(_e);var Fe=M(_e,2),Ie=e=>{var t=Zn(),n=B(t,!0);q(t),_(()=>u(n,h(k))),d(e,t)};l(Fe,e=>{h(k)&&e(Ie)});var Le=M(Fe,2),Re=e=>{var t=Qn(),n=B(t,!0);q(t),_(()=>u(n,h(A))),d(e,t)};l(Le,e=>{h(A)&&e(Re)});var ze=M(Le,2),Be=e=>{var t=$n(),n=B(t);q(t),_(()=>u(n,`UI update failed: ${h(F)??``}`)),d(e,t)};l(ze,e=>{h(F)&&e(Be)});var Ve=M(ze,2),He=e=>{var t=er(),n=B(t,!0);q(t),_(()=>u(n,h(z))),d(e,t)};l(Ve,e=>{h(z)&&e(He)});var Ue=M(Ve,2),We=B(Ue),Ge=e=>{var t=tr(),n=B(t,!0);q(t),_(()=>u(n,h(c))),d(e,t)};l(We,e=>{h(c)&&e(Ge)});var Ke=M(We,2),qe=e=>{var t=nr();$(B(t),{}),C(),q(t),d(e,t)},Je=e=>{var t=mr(),i=H(t),s=B(i),c=M(B(s));P(c,21,()=>r,e=>e.key,(e,t)=>{let r=E(()=>h(o)[h(t).key]),i=E(()=>m[h(t).key]??!1),a=E(()=>oe(h(r)));var s=fr();let c;var x=B(s),w=B(x),D=B(w,!0);q(w),q(x);var k=M(x),A=B(k),j=B(A,!0);q(A);var N=M(A,2),P=e=>{var t=rr();_(()=>{S(t,1,`health-dot health-${h(r).running.healthStatus??``}`,`svelte-7mkeya`),V(t,`aria-label`,`Health: ${h(r).running.healthStatus??``}`)}),d(e,t)};l(N,e=>{h(r)?.running?.healthStatus&&h(r).running.healthStatus!==`none`&&h(r).running.healthStatus!==``&&e(P)}),q(k);var F=M(k),I=B(F),L=e=>{var r=ir(),i=B(r);O(i);var a=M(i,2),o=M(a,2);q(r),_(()=>V(i,`aria-label`,`Pin version for ${h(t).label??``}`)),n(`keydown`,i,e=>{e.key===`Enter`&&Q(h(t).key),e.key===`Escape`&&le(h(t).key)}),T(i,()=>h(p)[h(t).key],e=>h(p)[h(t).key]=e),n(`click`,a,()=>Q(h(t).key)),n(`click`,o,()=>le(h(t).key)),d(e,r)},R=e=>{var i=ar(),a=B(i),o=B(a,!0);q(a),C(2),q(i),_(e=>{V(i,`title`,`Edit pin for ${h(t).label??``}`),u(o,e)},[()=>Y(h(r))]),n(`click`,i,()=>ce(h(t).key)),d(e,i)};l(I,e=>{h(p)[h(t).key]===void 0?e(R,-1):e(L)});var z=M(I,2),ee=e=>{var n=or(),r=B(n,!0);q(n),_(()=>u(r,b[h(t).key])),d(e,n)};l(z,e=>{b[h(t).key]&&e(ee)});var H=M(z,2),U=e=>{var n=sr(),r=B(n,!0);q(n),_(()=>u(r,y[h(t).key])),d(e,n)};l(H,e=>{y[h(t).key]&&e(U)}),q(F);var W=M(F),G=B(W),te=e=>{var t=cr(),n=B(t,!0);q(t),_(e=>u(n,e),[()=>X(h(r))]),d(e,t)},ne=e=>{var t=lr(),n=B(t,!0);q(t),_(e=>u(n,e),[()=>X(h(r))]),d(e,t)};l(G,e=>{h(a)?e(te):e(ne,-1)}),q(W);var K=M(W),J=B(K);let re;var ie=B(J),Z=e=>{$(e,{})},se=e=>{d(e,f(`Update`))},de=e=>{d(e,f(`Recheck`))};l(ie,e=>{h(i)?e(Z):h(a)?e(se,1):e(de,-1)}),q(J);var fe=M(J,2),pe=e=>{var n=ur(),r=B(n,!0);q(n),_(()=>u(r,v[h(t).key])),d(e,n)};l(fe,e=>{v[h(t).key]&&e(pe)});var me=M(fe,2),ge=e=>{var n=dr(),r=B(n,!0);q(n),_(()=>u(r,g[h(t).key])),d(e,n)};l(me,e=>{g[h(t).key]&&e(ge)}),q(K),q(s),_(e=>{c=S(s,1,`svelte-7mkeya`,null,c,{"row-has-update":h(a)}),u(D,h(t).label),u(j,e),re=S(J,1,`btn btn-sm svelte-7mkeya`,null,re,{"btn-primary":h(a),"btn-ghost":!h(a)}),J.disabled=h(i)||h(he),V(J,`aria-busy`,h(i)),V(J,`aria-label`,`Update ${h(t).label??``}`)},[()=>ae(h(r))]),n(`click`,J,()=>ue(h(t).key,h(t).service)),d(e,s)}),q(c),q(s),q(i);var x=M(i,2),D=M(B(x),4),k=B(D);let A;var j=M(k,2);let N;q(D);var F=M(D,2),I=e=>{var t=pr(),n=B(t,!0);q(t),_(()=>u(n,h(w))),d(e,t)};l(F,e=>{h(w)&&e(I)}),q(x),_(()=>{A=S(k,1,`channel-btn svelte-7mkeya`,null,A,{"channel-btn--active":h(a)===`latest`}),V(k,`aria-pressed`,h(a)===`latest`),N=S(j,1,`channel-btn svelte-7mkeya`,null,N,{"channel-btn--active":h(a)===`next`}),V(j,`aria-pressed`,h(a)===`next`)}),n(`click`,k,async()=>{let e=h(a);W(a,`latest`),W(w,``);try{await lt({OP_CHANNEL:`latest`})}catch(t){W(a,e,!0),W(w,t instanceof Error?t.message:`Failed to save channel preference`,!0)}}),n(`click`,j,async()=>{let e=h(a);W(a,`next`),W(w,``);try{await lt({OP_CHANNEL:`next`})}catch(t){W(a,e,!0),W(w,t instanceof Error?t.message:`Failed to save channel preference`,!0)}}),d(e,t)};l(Ke,e=>{h(s)?e(qe):e(Je,-1)});var Ye=M(Ke,2),Xe=e=>{var t=_r(),r=M(B(t),2),i=M(B(r),2),a=B(i);O(a),C(2),q(i);var o=M(i,2),s=B(o),c=e=>{d(e,f(`Uses the native desktop login-item integration for this platform.`))},u=e=>{d(e,f(`Not wired on this platform yet. The current desktop build only exposes this safely on macOS and Windows.`))};l(s,e=>{h(ne)?e(c):e(u,-1)}),q(o),q(r);var p=M(r,2),m=M(B(p),2),g=e=>{var t=hr(),r=H(t),i=B(r);O(i),C(2),q(r);var a=M(r,2),o=B(a);O(o),C(2),q(a),C(2),_(()=>{L(i,h(G)),L(o,h(te)),o.disabled=!h(G)}),n(`change`,i,e=>{W(G,e.currentTarget.checked,!0),be(h(G)),h(G)||(W(te,!1),Ne(!1))}),n(`change`,o,e=>{W(te,e.currentTarget.checked,!0),Ne(h(te))}),d(e,t)},v=e=>{var t=gr();C(4),d(e,t)};l(m,e=>{h(U)&&typeof window.openpalm?.notify==`function`?e(g):e(v,-1)}),q(p),q(t),_(()=>{L(a,h(K)),a.disabled=!h(ne)||h(J)}),n(`change`,a,me),d(e,t)};l(Ye,e=>{h(U)&&e(Xe)}),q(Ue),q(ge),_(()=>{u(Se,h(i)||`—`),Te.disabled=h(he),V(Te,`aria-busy`,h(D)),Ae.disabled=h(he),V(Ae,`aria-busy`,h(N))}),n(`click`,Te,de),n(`click`,Ae,pe),d(e,ge),R()}J([`click`,`keydown`,`change`]);var br=class{#e=I(!0);get loading(){return h(this.#e)}set loading(e){W(this.#e,e,!0)}#t=I(``);get error(){return h(this.#t)}set error(e){W(this.#t,e,!0)}result;constructor(e,t){this.result=(async()=>{try{let n=await e();return t.success&&Y.push(`success`,t.success),n}catch(e){let n=on(e,t.fallback??`Something went wrong.`);this.error=n,(t.notify??!0)&&Y.push(`error`,n);return}finally{this.loading=!1}})()}};function xr(e,t={}){return new br(e,t)}var Sr=class{#e=I(null);get data(){return h(this.#e)}set data(e){W(this.#e,e,!0)}#t=I(!1);get loading(){return h(this.#t)}set loading(e){W(this.#t,e,!0)}#n=I(``);get error(){return h(this.#n)}set error(e){W(this.#n,e,!0)}#r;#i;constructor(e,t={}){this.#r=e,this.#i=t}async reload(){this.loading=!0,this.error=``;try{this.data=await this.#r()}catch(e){let t=on(e,this.#i.fallback??`Failed to load.`);this.error=t,this.#i.notify&&Y.push(`error`,t)}finally{this.loading=!1}}};function Cr(e,t={}){return new Sr(e,t)}var wr=s(`<div class="secret-notice svelte-54nov7" role="status"><div class="secret-notice-text svelte-54nov7"><p class="secret-notice-title svelte-54nov7">Secret-looking values were moved out of stack.env</p> <p class="svelte-54nov7"> <strong>knowledge/secrets/</strong> <strong>Connections</strong> </p></div> <button class="btn btn-sm btn-secondary">Dismiss</button></div>`),Tr=s(`<!> Clearing…`,1),Er=s(`<div class="stuck-notice svelte-54nov7" role="status"><div class="stuck-notice-text svelte-54nov7"><p class="stuck-notice-title svelte-54nov7">An operation seems stuck</p> <p class="svelte-54nov7">A previous install or update didn't finish cleanly and left a lock behind. It would
|
|
1
|
+
import{$ as e,A as t,B as n,Ct as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,P as d,R as f,S as p,T as m,U as h,V as g,X as _,Y as v,_ as y,a as b,at as x,b as S,bt as C,c as w,d as T,dt as E,et as D,f as O,g as k,h as A,ht as j,it as M,j as N,k as P,l as F,lt as I,m as L,mt as R,n as z,nt as B,p as V,r as ee,rt as H,s as U,st as W,tt as G,u as te,v as ne,w as K,xt as q,z as J}from"../chunks/BzIvC31O.js";import{n as re}from"../chunks/Bz3r0btw.js";import"../chunks/xihTtKlq.js";import{_ as ie,a as ae,b as Y,d as X,f as oe,g as Z,i as se,p as ce,u as le,v as Q}from"../chunks/c0lkYAgh.js";import{t as ue}from"../chunks/DmFbAjwW.js";import{t as de}from"../chunks/mG6HnNbi.js";import{t as fe}from"../chunks/DBHgGGCD.js";import{E as pe,F as me,I as he,J as ge,K as _e,X as ve,Y as ye,_ as be,b as xe,c as Se,l as Ce,m as we,n as Te,o as Ee,p as De,q as Oe,r as ke,s as Ae,t as je,u as Me,v as Ne,w as Pe,x as Fe,y as Ie}from"../chunks/C718MJXm.js";import{t as Le}from"../chunks/CBM1fLGu.js";import"../chunks/DPYXdJcD.js";import{n as Re,t as ze}from"../chunks/B0yXlM3K.js";import{t as Be}from"../chunks/NR-JVJz-.js";import{t as $}from"../chunks/SXdvPq3_.js";import{t as Ve}from"../chunks/D5FtEngX.js";import{a as He,c as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"../chunks/R6GPcDBF.js";import{n as Qe,t as $e}from"../chunks/CUa5ff3d.js";import{t as et}from"../chunks/hSjQday7.js";import{n as tt}from"../chunks/DD22UF1L.js";async function nt(){let[e,t]=await Promise.all([Z(`GET`,`/health`),Z(`GET`,`/guardian/health`).catch(e=>(console.warn(`[api] Guardian health check failed:`,e),null))]),n=await e.json(),r=null;if(t)try{r=await t.json()}catch(e){console.warn(`[api] Failed to parse guardian health response:`,e),r={status:`unavailable`,service:`guardian`}}return{admin:n,guardian:r}}async function rt(){return await(await Q(await Z(`GET`,`/api/host/containers/list`))).json()}async function it(e,t){await Q(await Z(`POST`,{start:`/api/host/containers/up`,stop:`/api/host/containers/down`,restart:`/api/host/containers/restart`}[e],{service:t}))}async function at(){await Q(await Z(`POST`,`/api/host/containers/pull`,{}))}async function ot(e={}){let t=await Z(`POST`,`/api/host/update`,{versions:e});return ie(t,`Apply failed (HTTP ${t.status})`)}async function st(e,t={}){let n=await Z(`POST`,`/api/host/update`,{service:e,versions:t});return ie(n,`Update failed (HTTP ${n.status})`)}async function ct(){return await(await Q(await Z(`GET`,`/api/host/versions`))).json()}async function lt(e){return await(await Q(await Z(`PATCH`,`/api/host/versions`,{versions:e}))).json()}async function ut(e){return await(await Q(await Z(`POST`,`/api/host/ui-version`,{tag:e}))).json()}async function dt(){return await(await Q(await Z(`GET`,`/api/host/backups`))).json()}async function ft(e){return await(await Q(await Z(`POST`,`/api/host/backups`,{keep:e}))).json()}async function pt(){return await(await Q(await Z(`GET`,`/api/host/secret-notice`))).json()}async function mt(){return await(await Q(await Z(`DELETE`,`/api/host/secret-notice`))).json()}async function ht(){return await(await Q(await Z(`GET`,`/api/host/unlock`))).json()}async function gt(){return await(await Q(await Z(`POST`,`/api/host/unlock`))).json()}async function _t(){return await(await Q(await Z(`GET`,`/api/host/automations`))).json()}async function vt(e){return await(await Q(await Z(`POST`,`/api/host/automations/${encodeURIComponent(e)}/run`))).json()}async function yt(e,t=200){let n=new URLSearchParams({limit:String(t)});return await(await Q(await Z(`GET`,`/api/host/automations/${encodeURIComponent(e)}/log?${n.toString()}`))).json()}async function bt(e){let t=new URLSearchParams;e?.service&&t.set(`service`,e.service),e?.tail&&t.set(`tail`,String(e.tail)),e?.since&&t.set(`since`,e.since);let n=t.toString();return await(await Q(await Z(`GET`,`/api/host/logs${n?`?${n}`:``}`))).json()}async function xt(e){return await(await Q(await Z(`GET`,`/api/host/automations/${encodeURIComponent(e)}/file`))).json()}async function St(e,t){return await(await Q(await Z(`PUT`,`/api/host/automations/${encodeURIComponent(e)}/file`,{content:t}))).json()}async function Ct(e){return await(await Q(await Z(`DELETE`,`/api/host/automations/${encodeURIComponent(e)}/file`))).json()}async function wt(){return(await(await Q(await Z(`GET`,`/api/host/addons`))).json()).addons}async function Tt(e,t,n){let r={enabled:t};return n&&(r.env=n),await(await Q(await Z(`POST`,`/api/host/addons/${encodeURIComponent(e)}`,r))).json()}async function Et(e){return(await(await Q(await Z(`GET`,`/api/host/addons/${encodeURIComponent(e)}/credentials`))).json()).fields}async function Dt(e,t){return await(await Q(await Z(`POST`,`/api/host/addons/${encodeURIComponent(e)}/credentials`,{values:t}))).json()}async function Ot(){return await(await Q(await Z(`GET`,`/api/host/secrets`))).json()}async function kt(e){return await(await Q(await Z(`GET`,`/api/host/secrets/${encodeURIComponent(e)}`))).json()}async function At(e,t){return await(await Q(await Z(`PUT`,`/api/host/secrets/${encodeURIComponent(e)}`,{value:t}))).json()}async function jt(e){return await(await Q(await Z(`DELETE`,`/api/host/secrets/${encodeURIComponent(e)}`))).json()}async function Mt(){return await(await Q(await Z(`GET`,`/api/assistant/akm`))).json()}async function Nt(e){return await(await Q(await Z(`PATCH`,`/api/assistant/akm`,e))).json()}async function Pt(){return await(await Q(await Z(`POST`,`/api/host/akm/embedding/detect`,{}))).json()}async function Ft(e){return await(await Q(await Z(`POST`,`/api/host/akm/embedding/test`,e))).json()}async function It(){return await(await Q(await Z(`POST`,`/api/host/akm/reindex`,{}))).json()}async function Lt(){return await(await Q(await Z(`GET`,`/api/host/stack`))).json()}async function Rt(e){return await(await Q(await Z(`PUT`,`/api/host/stack`,e))).json()}async function zt(){return await(await Q(await Z(`GET`,`/api/assistant/persona`))).json()}async function Bt(e){return await(await Q(await Z(`PUT`,`/api/assistant/persona`,e))).json()}async function Vt(){return await(await Q(await Z(`GET`,`/api/host/akm/health`))).json()}async function Ht(){return await(await Q(await Z(`GET`,`/api/host/akm/stats`))).json()}async function Ut(){return await(await Q(await Z(`GET`,`/api/host/akm/host-sharing`))).json()}async function Wt(){return await(await Q(await Z(`PUT`,`/api/host/akm/host-sharing`,{}))).json()}async function Gt(){return await(await Q(await Z(`DELETE`,`/api/host/akm/host-sharing`))).json()}async function Kt(){return await(await Q(await Z(`GET`,`/api/host/providers`))).json()}async function qt(){return(await(await Q(await Z(`GET`,`/api/host/providers/assistant-clis`))).json()).tools??[]}async function Jt(e,t){await Q(await Z(`POST`,`/api/assistant/model`,{[e]:t||null}))}async function Yt(e){await Q(await Z(`DELETE`,`/api/host/opencode/providers/${encodeURIComponent(e)}/auth`))}async function Xt(){return await(await Q(await Z(`GET`,`/api/host/providers/host-status`))).json()}async function Zt(e,t){await Q(await Z(`POST`,`/api/host/providers/assistant-clis/${encodeURIComponent(e)}/use-provider`,{providerId:t}))}async function Qt(e,t){return ie(await Z(`POST`,`/api/host/providers/oauth/start`,{providerId:e,methodIndex:String(t)}),`OAuth start failed.`)}async function $t(e,t,n){return Z(`POST`,`/api/host/providers/oauth/${encodeURIComponent(e)}/callback`,{method:t},{signal:n})}async function en(e,t){await Q(await Z(`POST`,`/api/host/opencode/providers/${encodeURIComponent(e)}/auth`,{mode:`api_key`,apiKey:t}))}async function tn(e,t,n){await Q(await Z(`POST`,`/api/host/providers/oauth/finish`,{providerId:e,methodIndex:t,code:n}))}async function nn(e,t){let n=await Z(`PATCH`,`/api/host/providers/${encodeURIComponent(e)}`,{kind:`register-custom`,displayName:t.displayName,baseURL:t.baseURL,apiKey:t.apiKey,modelsJson:`[]`,headersJson:`[]`,confirmOverwrite:`false`}),r=await ie(n,`Registration failed.`);if(!n.ok||r.ok===!1)throw Object.assign(Error(r.message??`Registration failed.`),{status:n.status});return r}async function rn(){let e=await Z(`POST`,`/api/host/providers/import-host`),t=await ie(e,`Import failed.`);if(!e.ok)throw Object.assign(Error(t.message??`Import failed.`),{status:e.status});return t}function an(e){let t=e?.status;return t===401||t===403}function on(e,t){return e instanceof Error?e.message:t}var sn=s(`<button type="button" class="voice-stop-btn svelte-1fzuh38" aria-label="Stop assistant speech" title="Assistant is speaking — click to stop"><!> <span class="sr-only svelte-1fzuh38">Stop speaking</span></button>`);function cn(e,t){j(t,!0);let r=E(()=>X.status===`speaking`);var i=a(),o=H(i),s=e=>{var t=sn();je(B(t),{size:16}),C(2),q(t),n(`click`,t,()=>le()),d(e,t)};l(o,e=>{h(r)&&e(s)}),d(e,i),R()}J([`click`]);var ln=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="4" y="4" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="13" y="4" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="4" y="13" width="7" height="7" rx="1.4"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="13" y="13" width="7" height="7" rx="1.4"></rect></svg>`);function un(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=ln();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var dn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 4.5h10.5a1.8 1.8 0 0 1 1.8 1.8v13.2H7.5a1.5 1.5 0 0 1-1.5-1.5z"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 17.5h12.3"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 8.5h6"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 12h4"></path></svg>`);function fn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=dn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var pn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 7.5a5.5 5.5 0 0 0-9.5 0v10.5a5.5 5.5 0 0 1 9.5 0"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 7.5a5.5 5.5 0 0 1 9.5 0v10.5a5.5 5.5 0 0 0-9.5 0"></path></svg>`);function mn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=pn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var hn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="3" y="9" width="7" height="6" rx="1.5"></rect><rect fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" x="14" y="9" width="7" height="6" rx="1.5"></rect><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M10 12h4"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 10l2 2-2 2"></path></svg>`);function gn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=hn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var _n=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 5L3 9.5l9 4.5 9-4.5z"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3 14.5l9 4.5 9-4.5"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3 18.5l9 4.5 9-4.5"></path></svg>`);function vn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=_n();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var yn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><circle fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" cx="12" cy="12" r="8.5"></circle><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M13.5 6.5l-4.5 6h4.5l-4.5 7"></path></svg>`);function bn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=yn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var xn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6.5 18.5a4.5 4.5 0 0 1 .5-9H8a6 6 0 0 1 11.5 2.5 3.5 3.5 0 0 1-.5 6.5"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M12 11v7"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M9.5 15.5l2.5 2.5 2.5-2.5"></path></svg>`);function Sn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=xn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var Cn=c(`<svg aria-hidden="true" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M4 11L12 4l8 7"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M6 10v9.5h12V10"></path><path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M10 19.5v-5.5h4v5.5"></path></svg>`);function wn(e,t){let n=b(t,`size`,3,20),r=b(t,`class`,3,``);var i=Cn();_(()=>{V(i,`width`,n()),V(i,`height`,n()),S(i,0,`s-icon ${r()??``}`)}),d(e,i)}var Tn=s(`<button role="tab"> </button>`),En=s(`<button role="tab"><!> </button>`),Dn=s(`<div class="subtab-row svelte-7673iv"><div class="tabs svelte-7673iv" role="tablist"></div></div>`),On=s(`<nav class="nav-shell svelte-7673iv" aria-label="Admin sections"><div class="section-strip svelte-7673iv" role="tablist" aria-label="Sections"></div> <!></nav>`);function kn(e,t){j(t,!0);let r=[{id:`health`,label:`Health`,tabs:[{id:`overview`,label:`Overview`,icon:un},{id:`activity`,label:`Activity`,icon:Xe},{id:`containers`,label:`Systems`,icon:Be},{id:`logs`,label:`Journal`,icon:fn},{id:`updates`,label:`Check-up`,icon:Sn},{id:`recovery`,label:`Recovery`,icon:wn}]},{id:`mind`,label:`Mind`,tabs:[{id:`connections`,label:`AI Providers`,icon:Je}]},{id:`voice`,label:`Voice`,tabs:[{id:`voice`,label:`Voice`,icon:Ve}]},{id:`routines`,label:`Routines`,tabs:[{id:`automations`,label:`Automations`,icon:bn}]},{id:`capabilities`,label:`Capabilities`,tabs:[{id:`addons`,label:`Add-ons`,icon:vn}]},{id:`knowledge`,label:`Knowledge`,tabs:[{id:`akm`,label:`Memory`,icon:mn},{id:`assistant`,label:`Assistant`,icon:$e},{id:`secrets`,label:`Secrets`,icon:et},{id:`host-sharing`,label:`Sharing`,icon:gn}]}],i=E(()=>r.find(e=>e.tabs.some(e=>e.id===t.active))??r[0]);function a(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 o(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 s(e){t.onSelect(e.tabs[0].id)}var c=On(),f=B(c);P(f,21,()=>r,e=>e.id,(e,t)=>{var r=Tn();let o;var c=B(r,!0);q(r),_(()=>{o=S(r,1,`section-tab svelte-7673iv`,null,o,{"section-tab-active":h(i).id===h(t).id}),V(r,`aria-selected`,h(i).id===h(t).id),u(c,h(t).label)}),n(`click`,r,()=>s(h(t))),n(`keydown`,r,a),d(e,r)}),q(f);var p=M(f,2),g=e=>{var r=Dn(),a=B(r);P(a,21,()=>h(i).tabs,e=>e.id,(e,r)=>{var i=En();let a;var s=B(i);m(s,()=>h(r).icon,(e,t)=>{t(e,{size:13})});var c=M(s);q(i),_(()=>{a=S(i,1,`tab svelte-7673iv`,null,a,{"tab-active":t.active===h(r).id}),V(i,`aria-selected`,t.active===h(r).id),u(c,` ${h(r).label??``}`)}),n(`click`,i,()=>t.onSelect(h(r).id)),n(`keydown`,i,o),d(e,i)}),q(a),q(r),_(()=>V(a,`aria-label`,`${h(i).label??``} tabs`)),d(e,r)};l(p,e=>{h(i).tabs.length>1&&e(g)}),q(c),d(e,c),R()}J([`click`,`keydown`]);var An=s(`<button class="btn btn-secondary">View containers</button>`),jn=s(`<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">Check for updates</button></div></section>`);function Mn(e,t){j(t,!0);var r=jn(),i=B(r),a=B(i),o=e=>{Qe(e,{size:22})},s=e=>{Ue(e,{size:22})},c=e=>{de(e,{size:22})};l(a,e=>{t.status===`warning`?e(o):t.status===`ok`?e(s,1):e(c,-1)}),q(i);var f=M(i,2),p=B(f),m=B(p,!0);q(p);var h=M(p,2),g=B(h,!0);q(h),q(f);var v=M(f,2),y=B(v),b=B(y,!0);q(y);var x=M(y,2),C=e=>{var r=An();n(`click`,r,()=>t.onNavigate(`containers`)),d(e,r)};l(x,e=>{t.status===`warning`&&e(C)});var w=M(x,2);q(v),q(r),_(()=>{S(r,1,`hero hero--${t.status??``}`,`svelte-10n23hu`),u(m,t.title),u(g,t.detail),y.disabled=t.healthLoading,u(b,t.healthLoading?`Checking…`:`Re-check`)}),n(`click`,y,function(...e){t.onCheckHealth?.apply(this,e)}),n(`click`,w,()=>t.onNavigate(`updates`)),d(e,r),R()}J([`click`]);var Nn=s(`<span class="tile-metric tile-metric--icon svelte-19hpfg" aria-hidden="true"><!></span>`),Pn=s(`<span class="tile-metric-sub svelte-19hpfg"> </span>`),Fn=s(` <!>`,1),In=s(`<span><!></span>`),Ln=s(`<span> </span>`),Rn=s(`<button class="tile svelte-19hpfg"><!> <span class="tile-label svelte-19hpfg"> </span> <!></button>`);function zn(e,t){let r=b(t,`value`,3,null),a=b(t,`sub`,3,null),o=b(t,`loaded`,3,!0);var s=Rn(),c=B(s),p=e=>{var n=Nn();i(B(n),()=>t.icon),q(n),d(e,n)},m=e=>{var n=In();let i;var s=B(n),c=e=>{var t=Fn(),n=H(t,!0),i=M(n),o=e=>{var t=Pn(),n=B(t,!0);q(t),_(()=>u(n,a())),d(e,t)};l(i,e=>{a()&&e(o)}),_(()=>u(n,r())),d(e,t)},p=e=>{d(e,f(`—`))};l(s,e=>{o()?e(c):e(p,-1)}),q(n),_(()=>i=S(n,1,`tile-metric svelte-19hpfg`,null,i,{"tile-metric--ok":t.status===`ok`,"tile-metric--warn":t.status===`warn`})),d(e,n)};l(c,e=>{t.icon?e(p):e(m,-1)});var h=M(c,2),g=B(h,!0);q(h);var v=M(h,2),y=e=>{var n=Ln();let r;var i=B(n,!0);q(n),_(()=>{r=S(n,1,`s-tile-badge svelte-19hpfg`,null,r,{"s-tile-badge--ok":t.status===`ok`,"s-tile-badge--warn":t.status===`warn`}),u(i,t.badge)}),d(e,n)};l(v,e=>{t.badge&&e(y)}),q(s),_(()=>u(g,t.label)),n(`click`,s,function(...e){t.onClick?.apply(this,e)}),d(e,s)}J([`click`]);var Bn=s(`<div class="akm-metric svelte-dcgqe1"><span class="akm-num svelte-dcgqe1"> </span> <span class="akm-cap svelte-dcgqe1">Task failure rate</span></div>`),Vn=s(`<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>`),Hn=s(`<p class="akm-unavailable svelte-dcgqe1">Metrics unavailable — the akm CLI isn't reachable from the admin host.</p>`),Un=s(`<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 Wn(e,t){j(t,!0);var r=Un(),i=B(r),a=M(B(i),2),o=B(a,!0);q(a),q(i);var s=M(i,2),c=e=>{var n=Vn(),r=B(n),i=B(r),a=B(i,!0);q(i),C(2),q(r);var o=M(r,2),s=B(o),c=B(s,!0),f=M(c),p=B(f);q(f),q(s),C(2),q(o);var m=M(o,2),h=B(m),g=B(h,!0);q(h),C(2),q(m);var v=M(m,2),y=e=>{var n=Bn(),r=B(n),i=B(r);q(r),C(2),q(n),_(e=>u(i,`${e??``}%`),[()=>Math.round(t.akm.metrics.taskFailRate*100)]),d(e,n)};l(v,e=>{t.akm.metrics&&typeof t.akm.metrics.taskFailRate==`number`&&e(y)}),q(n),_(e=>{u(a,e),u(c,t.akm.checks.pass),u(p,`/${t.checkTotal??``}`),u(g,t.akm.index?.hasEmbeddings?`On`:`Off`)},[()=>t.akm.index?.entryCount?.toLocaleString()??`—`]),d(e,n)},f=e=>{d(e,Hn())};l(s,e=>{t.akm&&t.akm.available?e(c):e(f,-1)}),q(r),_(()=>{S(a,1,`badge ${t.badge.cls??``}`,`svelte-dcgqe1`),u(o,t.badge.label)}),n(`click`,r,()=>t.onNavigate(`akm`)),d(e,r),R()}J([`click`]);var Gn=s(`<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">Portals & 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 & portal 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 Kn(e,t){j(t,!0);var r=Gn(),i=B(r),a=M(i,2),o=M(a,2),s=M(o,2),c=M(s,2);C(2),q(r),n(`click`,i,()=>t.onNavigate(`connections`)),n(`click`,a,()=>t.onNavigate(`akm`)),n(`click`,o,()=>t.onNavigate(`voice`)),n(`click`,s,()=>t.onNavigate(`addons`)),n(`click`,c,()=>t.onNavigate(`secrets`)),d(e,r),R()}J([`click`]);var qn=s(`<!> <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 Jn(e,t){j(t,!0);let n=I(null);ee(()=>{Me.load(),Vt().then(e=>{W(n,e,!0)}).catch(()=>{W(n,{available:!1},!0)})});let r=E(()=>{if(!h(n)||!h(n).available)return{label:`Unavailable`,cls:`badge-neutral`};let e=h(n).status;return e!==`ok`&&e!==`warn`&&e!==`fail`&&(e=h(n).checks.fail>0?`fail`:h(n).checks.warn>0?`warn`:`ok`),e===`ok`?{label:`Healthy`,cls:`badge-success`}:e===`warn`?{label:`Warnings`,cls:`badge-warning`}:{label:`Issues`,cls:`badge-danger`}}),i=E(()=>h(n)&&h(n).available?h(n).checks.pass+h(n).checks.warn+h(n).checks.fail:0),a=E(()=>t.managedServices.length>0?t.managedServices:[...t.mergedServices.keys()]),o=E(()=>{if(h(a).length===0)return null;let e=h(a).filter(e=>t.mergedServices.get(e)===`running`).length;return{total:h(a).length,running:e}}),s=E(()=>h(a).filter(e=>t.mergedServices.get(e)!==`running`)),c=E(()=>{if(!h(o))return{status:`unknown`,title:`Checking services…`,detail:`Fetching the latest status from Docker.`};if(h(o).running===h(o).total&&h(o).total>0)return{status:`ok`,title:`All systems operational`,detail:`${h(o).total} of ${h(o).total} services are running normally.`};let e=h(o).total-h(o).running,t=h(s).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(`, `);return{status:`warning`,title:`${e} of ${h(o).total} services not running`,detail:t?`Not running: ${t}.`:`One or more services need attention.`}});var l=qn(),u=H(l);Mn(u,{get status(){return h(c).status},get title(){return h(c).title},get detail(){return h(c).detail},get healthLoading(){return t.healthLoading},get onCheckHealth(){return t.onCheckHealth},get onNavigate(){return t.onNavigate}});var f=M(u,2),p=B(f);{let e=E(()=>h(o)?.running),n=E(()=>h(o)?`/${h(o).total}`:null),r=E(()=>!!h(o)),i=E(()=>h(o)?.running===h(o)?.total?`ok`:`warn`),a=E(()=>h(o)?.running===h(o)?.total?`operational`:`${(h(o)?.total??0)-(h(o)?.running??0)} down`);zn(p,{label:`Services running`,onClick:()=>t.onNavigate(`containers`),get value(){return h(e)},get sub(){return h(n)},get loaded(){return h(r)},get status(){return h(i)},get badge(){return h(a)}})}var m=M(p,2);zn(m,{label:`View logs`,onClick:()=>t.onNavigate(`logs`),icon:e=>{Ye(e,{size:22})},$$slots:{icon:!0}}),zn(M(m,2),{label:`Check for updates`,onClick:()=>t.onNavigate(`updates`),icon:e=>{Sn(e,{size:22})},$$slots:{icon:!0}}),q(f);var g=M(f,4);Wn(g,{get akm(){return h(n)},get badge(){return h(r)},get checkTotal(){return h(i)},get onNavigate(){return t.onNavigate}}),Kn(M(g,4),{get onNavigate(){return t.onNavigate}}),d(e,l),R()}var Yn=s(`<!> Updating everything…`,1),Xn=s(`<!> Updating UI…`,1),Zn=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),Qn=s(`<p class="msg msg-success svelte-7mkeya" role="status"> </p>`),$n=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),er=s(`<p class="msg msg-success svelte-7mkeya" role="status"> </p>`),tr=s(`<p class="msg msg-error svelte-7mkeya" role="alert"> </p>`),nr=s(`<p class="loading-line svelte-7mkeya"><!> Loading versions…</p>`),rr=s(`<span></span>`),ir=s(`<div class="pin-edit-row svelte-7mkeya"><input class="pin-input svelte-7mkeya" type="text" autocomplete="off" spellcheck="false" placeholder="tag or leave empty for latest"/> <button class="btn-inline btn-save svelte-7mkeya">Save</button> <button class="btn-inline btn-cancel svelte-7mkeya">Cancel</button></div>`),ar=s(`<button class="pin-chip svelte-7mkeya"><span class="pin-chip-text svelte-7mkeya"> </span> <span class="pin-edit-icon svelte-7mkeya" aria-hidden="true">✏</span></button>`),or=s(`<span class="inline-success svelte-7mkeya"> </span>`),sr=s(`<span class="inline-error svelte-7mkeya" role="alert"> </span>`),cr=s(`<code class="ver ver-new svelte-7mkeya"> </code>`),lr=s(`<code class="ver svelte-7mkeya"> </code>`),ur=s(`<span class="inline-success svelte-7mkeya"> </span>`),dr=s(`<span class="inline-error svelte-7mkeya" role="alert"> </span>`),fr=s(`<tr><td class="col-name svelte-7mkeya"><span class="comp-label svelte-7mkeya"> </span></td><td class="col-running svelte-7mkeya"><code class="ver svelte-7mkeya"> </code> <!></td><td class="col-pin svelte-7mkeya"><!> <!> <!></td><td class="col-avail svelte-7mkeya"><!></td><td class="col-action svelte-7mkeya"><button><!></button> <!> <!></td></tr>`),pr=s(`<p class="inline-error svelte-7mkeya" role="alert"> </p>`),mr=s(`<section aria-label="Container images"><table class="comp-table svelte-7mkeya" aria-label="Component versions"><thead><tr><th scope="col" class="col-name svelte-7mkeya">Component</th><th scope="col" class="col-running svelte-7mkeya">Running</th><th scope="col" class="col-pin svelte-7mkeya">Pin</th><th scope="col" class="col-avail svelte-7mkeya">Available</th><th scope="col" class="col-action svelte-7mkeya"><span class="sr-only svelte-7mkeya">Actions</span></th></tr></thead><tbody></tbody></table></section> <section class="channel-section svelte-7mkeya" aria-labelledby="channel-heading"><h3 id="channel-heading" class="section-heading svelte-7mkeya">Update channel</h3> <p class="section-desc svelte-7mkeya">Controls which releases are considered when tracking latest.</p> <div class="channel-toggle svelte-7mkeya" role="group" aria-label="Update channel"><button>Stable</button> <button>Prerelease</button></div> <!></section>`,1),hr=s(`<label class="desktop-toggle svelte-7mkeya"><input type="checkbox"/> <span>Notify when the assistant replies or errors while the app is in the background.</span></label> <label class="desktop-toggle desktop-toggle--nested svelte-7mkeya"><input type="checkbox"/> <span>Include reply preview in the notification body.</span></label> <p class="setting-hint svelte-7mkeya">Reply previews stay off by default because desktop notifications can persist outside the app.</p>`,1),gr=s(`<label class="desktop-toggle svelte-7mkeya"><input type="checkbox" disabled=""/> <span>Notify when the assistant replies or errors while the app is in the background.</span></label> <label class="desktop-toggle desktop-toggle--nested svelte-7mkeya"><input type="checkbox" disabled=""/> <span>Include reply preview in the notification body.</span></label> <p class="setting-hint svelte-7mkeya">Desktop notifications are available in the OpenPalm desktop app.</p>`,1),_r=s(`<section class="desktop-settings svelte-7mkeya" aria-labelledby="desktop-settings-title"><h3 id="desktop-settings-title" class="section-heading svelte-7mkeya">Desktop settings</h3> <div class="desktop-setting-row svelte-7mkeya"><div class="setting-label svelte-7mkeya">Launch on login</div> <label class="desktop-toggle svelte-7mkeya"><input type="checkbox"/> <span>Start OpenPalm automatically when you sign in on this device.</span></label> <p class="setting-hint svelte-7mkeya"><!></p></div> <div class="desktop-setting-row svelte-7mkeya"><div class="setting-label svelte-7mkeya">Desktop notifications</div> <!></div></section>`),vr=s(`<div class="panel" role="tabpanel"><div class="panel-header svelte-7mkeya"><div><h2>Updates</h2> <p class="panel-subtitle">Update individual components or everything at once.</p> <p class="control-plane-line svelte-7mkeya">Control plane: <strong class="svelte-7mkeya"> </strong></p></div> <div class="header-actions svelte-7mkeya"><button class="btn btn-primary"><!></button> <button class="btn btn-outline"><!></button></div></div> <!> <!> <!> <!> <div class="panel-body"><!> <!> <!></div></div>`);function yr(e,t){j(t,!0);let r=[{key:`OP_ASSISTANT_VERSION`,label:`Assistant`,service:`assistant`},{key:`OP_GUARDIAN_VERSION`,label:`Guardian`,service:`guardian`},{key:`OP_PORTAL_VERSION`,label:`Portal`,service:`portal`},{key:`OP_VOICE_VERSION`,label:`Voice`,service:`voice`}],i=I(``),a=I(`latest`),o=I(x({})),s=I(!0),c=I(``),p=I(x({})),m=x({}),g=x({}),v=x({}),y=x({}),b=x({}),w=I(``),D=I(!1),k=I(``),A=I(``),N=I(!1),F=I(``),z=I(``),U=I(!1),G=I(!1),te=I(!1),ne=I(!1),K=I(!1),J=I(!1);ee(()=>{W(U,window.openpalm!==void 0),W(G,De(),!0),W(te,we(),!0),re(),ie()});async function re(){W(s,!0),W(c,``);try{let e=await ct();W(i,e.platformVersion,!0),W(a,e.channel??`latest`,!0),W(o,e.components??{},!0)}catch(e){W(c,`Failed to load versions: ${e.message??String(e)}`)}W(s,!1)}async function ie(){let e=await window.openpalm?.launchOnLoginStatus?.();e&&(W(ne,e.supported,!0),W(K,e.enabled,!0))}function ae(e){if(!e?.running)return`not installed`;let t=e.running.plainVersion||e.running.tag.split(`:`).pop()||`—`;return e.running.containerState===`running`?t:`${t} (stopped)`}function Y(e){return e?e.pinned??`latest (tracking)`:`—`}function X(e){return e?.available?e.available:`—`}function oe(e){if(!e?.available||!e.running)return!1;let t=e.running.plainVersion||e.running.tag.split(`:`).pop()||``;return Z(e.available)!==Z(t)}function Z(e){return e.replace(/^v/,``)}function se(e){let t={};for(let n of e){let e=h(o)[n];if(!e)continue;let r=e.pinned??e.available;if(!r)continue;let i=e.running?.plainVersion??null,a=i===`latest`||i===`next`||i===null;!e.pinned&&a||i&&Z(r)===Z(i)||(t[n]=r)}return t}function ce(e){let t=h(o)[e];h(p)[e]=t?.pinned??``}function le(e){delete h(p)[e],W(p,{...h(p)},!0)}async function Q(e){let t=h(p)[e];if(t===void 0)return;let n=t.trim()||null;y[e]=``,b[e]=``;try{await lt({[e]:n??`latest`}),W(o,{...h(o),[e]:{...h(o)[e],pinned:n}},!0),b[e]=n?`Pinned to ${n}`:`Tracking latest`,le(e)}catch(t){y[e]=`Pin failed: ${t.message??String(t)}`}}async function ue(e,t){if(!(m[e]||h(D))){m[e]=!0,g[e]=``,v[e]=``;try{let n=await st(t,se([e]));n.overallSuccess?(v[e]=`Updated (${n.restarted.join(`, `)||t})`,fe()):g[e]=n.failed.length>0?n.failed.map(e=>`${e.service}: ${e.reason}`).join(`; `):n.dockerAvailable?n.error??`Update failed`:`Docker is unavailable`}catch(t){g[e]=t.message??String(t)}m[e]=!1}}async function de(){if(!(h(D)||Object.values(m).some(Boolean))){W(D,!0),W(k,``),W(A,``);try{let e=await ot(se(Object.keys(h(o))));e.overallSuccess?(W(A,e.restarted.length>0?`Updated: ${e.restarted.join(`, `)}`:`Stack is up to date`,!0),fe()):W(k,e.failed.length>0?`Failed: ${e.failed.map(e=>`${e.service}: ${e.reason}`).join(`; `)}`:e.dockerAvailable?e.error??`Update failed`:`Docker is unavailable — stack not restarted`,!0)}catch(e){W(k,e.message??String(e),!0)}W(D,!1)}}async function fe(){try{let e=await ct();W(i,e.platformVersion,!0),W(a,e.channel??`latest`,!0),W(o,e.components??{},!0)}catch{}}async function pe(){if(!h(N)){W(N,!0),W(F,``),W(z,``);try{let e=await ut(`latest`);e.pendingRestart?(window.openpalm?.restartUiServer?.(),W(z,`Updating UI — restarting…`)):e.restarting?(setTimeout(()=>{location.href=`/`},4e3),W(z,`UI updated — reloading in a moment…`)):W(z,`UI downloaded. Restart the admin UI to apply it.`)}catch(e){W(F,e.message??String(e),!0)}W(N,!1)}}async function me(e){let t=e.currentTarget.checked;if(!window.openpalm?.setLaunchOnLogin){W(K,!1);return}W(J,!0);try{let e=await window.openpalm.setLaunchOnLogin(t);W(ne,e.supported,!0),W(K,e.enabled,!0)}finally{W(J,!1)}}let he=E(()=>h(D)||h(N)||Object.values(m).some(Boolean));var ge=vr(),_e=B(ge),ve=B(_e),ye=M(B(ve),4),xe=M(B(ye)),Se=B(xe,!0);q(xe),q(ye),q(ve);var Ce=M(ve,2),Te=B(Ce),Ee=B(Te),Oe=e=>{var t=Yn();$(H(t),{}),C(),d(e,t)},ke=e=>{d(e,f(`Update everything`))};l(Ee,e=>{h(D)?e(Oe):e(ke,-1)}),q(Te);var Ae=M(Te,2),je=B(Ae),Me=e=>{var t=Xn();$(H(t),{}),C(),d(e,t)},Pe=e=>{d(e,f(`Update UI`))};l(je,e=>{h(N)?e(Me):e(Pe,-1)}),q(Ae),q(Ce),q(_e);var Fe=M(_e,2),Ie=e=>{var t=Zn(),n=B(t,!0);q(t),_(()=>u(n,h(k))),d(e,t)};l(Fe,e=>{h(k)&&e(Ie)});var Le=M(Fe,2),Re=e=>{var t=Qn(),n=B(t,!0);q(t),_(()=>u(n,h(A))),d(e,t)};l(Le,e=>{h(A)&&e(Re)});var ze=M(Le,2),Be=e=>{var t=$n(),n=B(t);q(t),_(()=>u(n,`UI update failed: ${h(F)??``}`)),d(e,t)};l(ze,e=>{h(F)&&e(Be)});var Ve=M(ze,2),He=e=>{var t=er(),n=B(t,!0);q(t),_(()=>u(n,h(z))),d(e,t)};l(Ve,e=>{h(z)&&e(He)});var Ue=M(Ve,2),We=B(Ue),Ge=e=>{var t=tr(),n=B(t,!0);q(t),_(()=>u(n,h(c))),d(e,t)};l(We,e=>{h(c)&&e(Ge)});var Ke=M(We,2),qe=e=>{var t=nr();$(B(t),{}),C(),q(t),d(e,t)},Je=e=>{var t=mr(),i=H(t),s=B(i),c=M(B(s));P(c,21,()=>r,e=>e.key,(e,t)=>{let r=E(()=>h(o)[h(t).key]),i=E(()=>m[h(t).key]??!1),a=E(()=>oe(h(r)));var s=fr();let c;var x=B(s),w=B(x),D=B(w,!0);q(w),q(x);var k=M(x),A=B(k),j=B(A,!0);q(A);var N=M(A,2),P=e=>{var t=rr();_(()=>{S(t,1,`health-dot health-${h(r).running.healthStatus??``}`,`svelte-7mkeya`),V(t,`aria-label`,`Health: ${h(r).running.healthStatus??``}`)}),d(e,t)};l(N,e=>{h(r)?.running?.healthStatus&&h(r).running.healthStatus!==`none`&&h(r).running.healthStatus!==``&&e(P)}),q(k);var F=M(k),I=B(F),L=e=>{var r=ir(),i=B(r);O(i);var a=M(i,2),o=M(a,2);q(r),_(()=>V(i,`aria-label`,`Pin version for ${h(t).label??``}`)),n(`keydown`,i,e=>{e.key===`Enter`&&Q(h(t).key),e.key===`Escape`&&le(h(t).key)}),T(i,()=>h(p)[h(t).key],e=>h(p)[h(t).key]=e),n(`click`,a,()=>Q(h(t).key)),n(`click`,o,()=>le(h(t).key)),d(e,r)},R=e=>{var i=ar(),a=B(i),o=B(a,!0);q(a),C(2),q(i),_(e=>{V(i,`title`,`Edit pin for ${h(t).label??``}`),u(o,e)},[()=>Y(h(r))]),n(`click`,i,()=>ce(h(t).key)),d(e,i)};l(I,e=>{h(p)[h(t).key]===void 0?e(R,-1):e(L)});var z=M(I,2),ee=e=>{var n=or(),r=B(n,!0);q(n),_(()=>u(r,b[h(t).key])),d(e,n)};l(z,e=>{b[h(t).key]&&e(ee)});var H=M(z,2),U=e=>{var n=sr(),r=B(n,!0);q(n),_(()=>u(r,y[h(t).key])),d(e,n)};l(H,e=>{y[h(t).key]&&e(U)}),q(F);var W=M(F),G=B(W),te=e=>{var t=cr(),n=B(t,!0);q(t),_(e=>u(n,e),[()=>X(h(r))]),d(e,t)},ne=e=>{var t=lr(),n=B(t,!0);q(t),_(e=>u(n,e),[()=>X(h(r))]),d(e,t)};l(G,e=>{h(a)?e(te):e(ne,-1)}),q(W);var K=M(W),J=B(K);let re;var ie=B(J),Z=e=>{$(e,{})},se=e=>{d(e,f(`Update`))},de=e=>{d(e,f(`Recheck`))};l(ie,e=>{h(i)?e(Z):h(a)?e(se,1):e(de,-1)}),q(J);var fe=M(J,2),pe=e=>{var n=ur(),r=B(n,!0);q(n),_(()=>u(r,v[h(t).key])),d(e,n)};l(fe,e=>{v[h(t).key]&&e(pe)});var me=M(fe,2),ge=e=>{var n=dr(),r=B(n,!0);q(n),_(()=>u(r,g[h(t).key])),d(e,n)};l(me,e=>{g[h(t).key]&&e(ge)}),q(K),q(s),_(e=>{c=S(s,1,`svelte-7mkeya`,null,c,{"row-has-update":h(a)}),u(D,h(t).label),u(j,e),re=S(J,1,`btn btn-sm svelte-7mkeya`,null,re,{"btn-primary":h(a),"btn-ghost":!h(a)}),J.disabled=h(i)||h(he),V(J,`aria-busy`,h(i)),V(J,`aria-label`,`Update ${h(t).label??``}`)},[()=>ae(h(r))]),n(`click`,J,()=>ue(h(t).key,h(t).service)),d(e,s)}),q(c),q(s),q(i);var x=M(i,2),D=M(B(x),4),k=B(D);let A;var j=M(k,2);let N;q(D);var F=M(D,2),I=e=>{var t=pr(),n=B(t,!0);q(t),_(()=>u(n,h(w))),d(e,t)};l(F,e=>{h(w)&&e(I)}),q(x),_(()=>{A=S(k,1,`channel-btn svelte-7mkeya`,null,A,{"channel-btn--active":h(a)===`latest`}),V(k,`aria-pressed`,h(a)===`latest`),N=S(j,1,`channel-btn svelte-7mkeya`,null,N,{"channel-btn--active":h(a)===`next`}),V(j,`aria-pressed`,h(a)===`next`)}),n(`click`,k,async()=>{let e=h(a);W(a,`latest`),W(w,``);try{await lt({OP_CHANNEL:`latest`})}catch(t){W(a,e,!0),W(w,t instanceof Error?t.message:`Failed to save channel preference`,!0)}}),n(`click`,j,async()=>{let e=h(a);W(a,`next`),W(w,``);try{await lt({OP_CHANNEL:`next`})}catch(t){W(a,e,!0),W(w,t instanceof Error?t.message:`Failed to save channel preference`,!0)}}),d(e,t)};l(Ke,e=>{h(s)?e(qe):e(Je,-1)});var Ye=M(Ke,2),Xe=e=>{var t=_r(),r=M(B(t),2),i=M(B(r),2),a=B(i);O(a),C(2),q(i);var o=M(i,2),s=B(o),c=e=>{d(e,f(`Uses the native desktop login-item integration for this platform.`))},u=e=>{d(e,f(`Not wired on this platform yet. The current desktop build only exposes this safely on macOS and Windows.`))};l(s,e=>{h(ne)?e(c):e(u,-1)}),q(o),q(r);var p=M(r,2),m=M(B(p),2),g=e=>{var t=hr(),r=H(t),i=B(r);O(i),C(2),q(r);var a=M(r,2),o=B(a);O(o),C(2),q(a),C(2),_(()=>{L(i,h(G)),L(o,h(te)),o.disabled=!h(G)}),n(`change`,i,e=>{W(G,e.currentTarget.checked,!0),be(h(G)),h(G)||(W(te,!1),Ne(!1))}),n(`change`,o,e=>{W(te,e.currentTarget.checked,!0),Ne(h(te))}),d(e,t)},v=e=>{var t=gr();C(4),d(e,t)};l(m,e=>{h(U)&&typeof window.openpalm?.notify==`function`?e(g):e(v,-1)}),q(p),q(t),_(()=>{L(a,h(K)),a.disabled=!h(ne)||h(J)}),n(`change`,a,me),d(e,t)};l(Ye,e=>{h(U)&&e(Xe)}),q(Ue),q(ge),_(()=>{u(Se,h(i)||`—`),Te.disabled=h(he),V(Te,`aria-busy`,h(D)),Ae.disabled=h(he),V(Ae,`aria-busy`,h(N))}),n(`click`,Te,de),n(`click`,Ae,pe),d(e,ge),R()}J([`click`,`keydown`,`change`]);var br=class{#e=I(!0);get loading(){return h(this.#e)}set loading(e){W(this.#e,e,!0)}#t=I(``);get error(){return h(this.#t)}set error(e){W(this.#t,e,!0)}result;constructor(e,t){this.result=(async()=>{try{let n=await e();return t.success&&Y.push(`success`,t.success),n}catch(e){let n=on(e,t.fallback??`Something went wrong.`);this.error=n,(t.notify??!0)&&Y.push(`error`,n);return}finally{this.loading=!1}})()}};function xr(e,t={}){return new br(e,t)}var Sr=class{#e=I(null);get data(){return h(this.#e)}set data(e){W(this.#e,e,!0)}#t=I(!1);get loading(){return h(this.#t)}set loading(e){W(this.#t,e,!0)}#n=I(``);get error(){return h(this.#n)}set error(e){W(this.#n,e,!0)}#r;#i;constructor(e,t={}){this.#r=e,this.#i=t}async reload(){this.loading=!0,this.error=``;try{this.data=await this.#r()}catch(e){let t=on(e,this.#i.fallback??`Failed to load.`);this.error=t,this.#i.notify&&Y.push(`error`,t)}finally{this.loading=!1}}};function Cr(e,t={}){return new Sr(e,t)}var wr=s(`<div class="secret-notice svelte-54nov7" role="status"><div class="secret-notice-text svelte-54nov7"><p class="secret-notice-title svelte-54nov7">Secret-looking values were moved out of stack.env</p> <p class="svelte-54nov7"> <strong>knowledge/secrets/</strong> <strong>Connections</strong> </p></div> <button class="btn btn-sm btn-secondary">Dismiss</button></div>`),Tr=s(`<!> Clearing…`,1),Er=s(`<div class="stuck-notice svelte-54nov7" role="status"><div class="stuck-notice-text svelte-54nov7"><p class="stuck-notice-title svelte-54nov7">An operation seems stuck</p> <p class="svelte-54nov7">A previous install or update didn't finish cleanly and left a lock behind. It would
|
|
2
2
|
clear itself automatically after 30 minutes — or you can clear it now to run another
|
|
3
3
|
update. Nothing else is changed.</p></div> <button class="btn btn-sm btn-primary"><!></button></div>`),Dr=s(`<div class="stuck-notice stuck-notice-ok svelte-54nov7" role="status"><div class="stuck-notice-text svelte-54nov7"><p class="stuck-notice-title svelte-54nov7">Cleared</p> <p class="svelte-54nov7">The stuck operation was cleared. You can run an update again.</p></div></div>`),Or=s(`<p class="backups-summary svelte-54nov7"> </p>`),kr=s(`<button class="btn btn-sm btn-secondary">Prune…</button>`),Ar=s(`<p class="backups-empty svelte-54nov7"><!> Loading backups…</p>`),jr=s(`<p class="backups-error svelte-54nov7" role="alert"> </p>`),Mr=s(`<p class="backups-empty svelte-54nov7">No backups yet — one is created the first time you update.</p>`),Nr=s(`<tr class="svelte-54nov7"><td class="backups-cell-name svelte-54nov7"> </td><td class="backups-cell-meta svelte-54nov7"> </td><td class="backups-cell-meta svelte-54nov7"> </td><td class="backups-cell-restore svelte-54nov7"><span class="backups-restore-note svelte-54nov7" title="Run: openpalm rollback"><code>openpalm rollback</code></span></td></tr>`),Pr=s(`<table class="backups-table svelte-54nov7"><thead><tr><th class="svelte-54nov7">Name</th><th class="svelte-54nov7">Created</th><th class="svelte-54nov7">Size</th><th class="svelte-54nov7">Restore</th></tr></thead><tbody></tbody></table>`),Fr=s(`<!> Deleting…`,1),Ir=s(`<div class="prune-prompt svelte-54nov7" role="alertdialog" aria-label="Confirm prune backups"><p class="prune-prompt-title svelte-54nov7">Delete older backups?</p> <p class="svelte-54nov7">Keep the newest <input class="prune-keep-input svelte-54nov7" type="number" min="0" aria-label="Number of newest backups to keep"/> and permanently delete the rest. This cannot be undone.</p> <div class="prune-actions svelte-54nov7"><button class="btn btn-sm btn-danger"><!></button> <button class="btn btn-sm btn-secondary">Cancel</button></div></div>`),Lr=s(`<div class="panel" role="tabpanel"><div class="panel-header"><div><h2>Recovery</h2> <p class="panel-subtitle">Backups · recovery · migration</p></div></div> <div class="panel-body"><!> <!> <section class="backups-section svelte-54nov7" aria-labelledby="backups-title"><div class="backups-header svelte-54nov7"><div><h3 id="backups-title" class="backups-title svelte-54nov7">Backups</h3> <!></div> <!></div> <p class="backups-desc svelte-54nov7">Each update copies your settings here first. To restore, run <code>openpalm rollback</code> for the last update, or point OpenPalm at a snapshot directory manually.
|
|
4
4
|
Nothing is ever deleted automatically.</p> <!> <!></section></div></div>`);function Rr(e,t){j(t,!0);let r=Cr(dt,{fallback:`Failed to load backups.`}),i=E(()=>r.data),a=I(null),o=I(null),s=Cr(async()=>(await pt()).notice),c=E(()=>s.data),p=Cr(ht),m=E(()=>p.data),g=I(null),v=I(!1);ee(()=>{r.reload(),s.reload(),p.reload()});async function y(){let e=xr(()=>gt(),{fallback:`Failed to clear the lock.`});W(g,e,!0);let t=await e.result;t&&W(v,t.removed,!0),await p.reload()}async function b(){s.data=null;try{await mt()}catch{}}function x(){W(a,h(i)&&h(i).count>1?h(i).count-1:0,!0)}function S(){W(a,null)}async function w(){if(h(a)===null)return;let e=xr(()=>ft(h(a)),{fallback:`Failed to prune backups.`});W(o,e,!0),await e.result!==void 0&&(W(a,null),await r.reload())}var D=Lr(),k=M(B(D),2),A=B(k),N=e=>{var t=wr(),r=B(t),i=M(B(r),2),a=B(i),o=M(a,2),s=M(o,2);q(i),q(r);var l=M(r,2);q(t),_(e=>{u(a,`${e??``} ${h(c).keys.length===1?`was`:`were`} moved
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.13.0-beta.
|
|
1
|
+
{"version":"0.13.0-beta.5"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as computeServerRuntimeContext } from './features-
|
|
2
|
-
import './src-
|
|
1
|
+
import { c as computeServerRuntimeContext } from './features-BUWlozR5.js';
|
|
2
|
+
import './src-AHSKeKr0.js';
|
|
3
3
|
import './chunk-DOvWTNp_.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -40,4 +40,4 @@ const stylesheets = ["_app/immutable/assets/0.CNWpIzQn.css"];
|
|
|
40
40
|
const fonts = [];
|
|
41
41
|
|
|
42
42
|
export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
|
|
43
|
-
//# sourceMappingURL=0-
|
|
43
|
+
//# sourceMappingURL=0-3ZKFLVwz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0-
|
|
1
|
+
{"version":3,"file":"0-3ZKFLVwz.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { t as computeServerRuntimeContext } from \"../../chunks/features.js\";\n//#region src/routes/+layout.server.ts\nvar load = (event) => {\n\treturn { serverRuntimeContext: computeServerRuntimeContext(event) };\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.mcDF2Cfv.js\",\"_app/immutable/chunks/BzIvC31O.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DfZbBavE.js\",\"_app/immutable/chunks/DmFbAjwW.js\",\"_app/immutable/chunks/mG6HnNbi.js\",\"_app/immutable/chunks/c0lkYAgh.js\",\"_app/immutable/chunks/DBHgGGCD.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.CNWpIzQn.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AACA,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK;AACtB,CAAC,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE;AACpE,CAAC;;;;;;;ACFW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 1;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('./error.svelte-BI8mJm7r.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.B_hGEgef.js","_app/immutable/chunks/BzIvC31O.js","_app/immutable/chunks/CBM1fLGu.js","_app/immutable/chunks/Bz3r0btw.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/xihTtKlq.js"];
|
|
5
|
+
const stylesheets = [];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=1-BscBEom6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1-
|
|
1
|
+
{"version":3,"file":"1-BscBEom6.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.B_hGEgef.js\",\"_app/immutable/chunks/BzIvC31O.js\",\"_app/immutable/chunks/CBM1fLGu.js\",\"_app/immutable/chunks/Bz3r0btw.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/xihTtKlq.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -25,11 +25,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
25
25
|
|
|
26
26
|
const index = 10;
|
|
27
27
|
let component_cache;
|
|
28
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
28
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-BOwGlCzD.js')).default;
|
|
29
29
|
const server_id = "src/routes/login/+page.server.ts";
|
|
30
|
-
const imports = ["_app/immutable/nodes/10.
|
|
30
|
+
const imports = ["_app/immutable/nodes/10.B8xmblvj.js","_app/immutable/chunks/BzIvC31O.js","_app/immutable/chunks/Bz3r0btw.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/DPYXdJcD.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/SXdvPq3_.js"];
|
|
31
31
|
const stylesheets = ["_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/10.vLP66eby.css"];
|
|
32
32
|
const fonts = [];
|
|
33
33
|
|
|
34
34
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
35
|
-
//# sourceMappingURL=10-
|
|
35
|
+
//# sourceMappingURL=10-CYYH66rb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"10-
|
|
1
|
+
{"version":3,"file":"10-CYYH66rb.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/login/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["import { i as redirect } from \"../../../chunks/exports.js\";\n//#region src/routes/login/+page.server.ts\n/**\n* Sanitize the post-login destination to an internal path only, defeating\n* open-redirect via `?redirectTo=//evil.com` or `/\\evil.com`.\n*/\nfunction _safeRedirect(target) {\n\tif (!target) return \"/chat\";\n\tif (!target.startsWith(\"/\") || target.startsWith(\"//\") || target.startsWith(\"/\\\\\")) return \"/chat\";\n\treturn target;\n}\nvar load = ({ locals, url }) => {\n\tconst redirectTo = _safeRedirect(url.searchParams.get(\"redirectTo\"));\n\tif (locals.role === \"admin\") redirect(302, redirectTo);\n\treturn { redirectTo };\n};\n//#endregion\nexport { _safeRedirect, load };\n","import * as server from '../entries/pages/login/_page.server.ts.js';\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/login/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/login/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/10.B8xmblvj.js\",\"_app/immutable/chunks/BzIvC31O.js\",\"_app/immutable/chunks/Bz3r0btw.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/DPYXdJcD.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/SXdvPq3_.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Spinner.DfNgj4dl.css\",\"_app/immutable/assets/10.vLP66eby.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,MAAM,EAAE;AAC/B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,OAAO;AAC5B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,OAAO;AACnG,CAAC,OAAO,MAAM;AACd;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAChC,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACrE,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;AACvD,CAAC,OAAO,EAAE,UAAU,EAAE;AACtB,CAAC;;;;;;;;ACbW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AAEtG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzQ,MAAC,WAAW,GAAG,CAAC,4CAA4C,CAAC,uCAAuC;AACpG,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const index = 11;
|
|
2
2
|
let component_cache;
|
|
3
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
4
|
-
const imports = ["_app/immutable/nodes/11.
|
|
3
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-BT81Bwrh.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/11.Ti2X5F-7.js","_app/immutable/chunks/BzIvC31O.js","_app/immutable/chunks/Bz3r0btw.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DfZbBavE.js","_app/immutable/chunks/DD22UF1L.js","_app/immutable/chunks/SXdvPq3_.js","_app/immutable/chunks/CUa5ff3d.js","_app/immutable/chunks/hSjQday7.js","_app/immutable/chunks/BDK50g8a.js","_app/immutable/chunks/D5FtEngX.js","_app/immutable/chunks/NR-JVJz-.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/11.D7iX4s2y.css"];
|
|
6
6
|
const fonts = [];
|
|
7
7
|
|
|
8
8
|
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=11-
|
|
9
|
+
//# sourceMappingURL=11-DSzQavEB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"11-
|
|
1
|
+
{"version":3,"file":"11-DSzQavEB.js","sources":["../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/setup/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/11.Ti2X5F-7.js\",\"_app/immutable/chunks/BzIvC31O.js\",\"_app/immutable/chunks/Bz3r0btw.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DfZbBavE.js\",\"_app/immutable/chunks/DD22UF1L.js\",\"_app/immutable/chunks/SXdvPq3_.js\",\"_app/immutable/chunks/CUa5ff3d.js\",\"_app/immutable/chunks/hSjQday7.js\",\"_app/immutable/chunks/BDK50g8a.js\",\"_app/immutable/chunks/D5FtEngX.js\",\"_app/immutable/chunks/NR-JVJz-.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Spinner.DfNgj4dl.css\",\"_app/immutable/assets/11.D7iX4s2y.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AACtG,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACje,MAAC,WAAW,GAAG,CAAC,4CAA4C,CAAC,uCAAuC;AACpG,MAAC,KAAK,GAAG;;;;"}
|