@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/{4.BXlLAfIE.css → 4.B2m7mOkq.css} +1 -1
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.br +0 -0
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css +1 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.br +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css +1 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css +1 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js +1 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.br +0 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CBV2kBE1.js → ByFgZDEl.js} +1 -1
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.br +0 -0
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js +3 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BNJvGRjX.js → CoOosFtk.js} +2 -2
- package/build/client/_app/immutable/chunks/CoOosFtk.js.br +0 -0
- package/build/client/_app/immutable/chunks/CoOosFtk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C5iiO0W9.js → DBaSfL95.js} +1 -1
- package/build/client/_app/immutable/chunks/DBaSfL95.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBaSfL95.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js +1 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.br +2 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.SHrJgM4c.js} +2 -2
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.br +0 -0
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js +1 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.BRotfm1G.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.CtHRQW64.js} +1 -1
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.DViPDhJG.js} +1 -1
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js +6 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CIMkqYzP.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js +2 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js +14 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js +128 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.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-BtezztJz.js} +5 -4
- package/build/server/chunks/{0-CxqNryz-.js.map → 0-BtezztJz.js.map} +1 -1
- package/build/server/chunks/1-CvGA_TOi.js +9 -0
- package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-CvGA_TOi.js.map} +1 -1
- package/build/server/chunks/{10-DcTjX0aZ.js → 10-D_ipl62-.js} +3 -3
- package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-D_ipl62-.js.map} +1 -1
- package/build/server/chunks/{11-Ddav4pvQ.js → 11-Bp7zXIv8.js} +3 -3
- package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-Bp7zXIv8.js.map} +1 -1
- package/build/server/chunks/{3-xtalXCwW.js → 3-CZdWulB3.js} +7 -6
- package/build/server/chunks/{3-xtalXCwW.js.map → 3-CZdWulB3.js.map} +1 -1
- package/build/server/chunks/4-4bobZFC9.js +9 -0
- package/build/server/chunks/{4-CEASlyNx.js.map → 4-4bobZFC9.js.map} +1 -1
- package/build/server/chunks/{5-3gkFDIAU.js → 5-CeJvfCdk.js} +3 -3
- package/build/server/chunks/{5-3gkFDIAU.js.map → 5-CeJvfCdk.js.map} +1 -1
- package/build/server/chunks/{6-BSR29JnK.js → 6-sGxxEzTB.js} +4 -4
- package/build/server/chunks/{6-BSR29JnK.js.map → 6-sGxxEzTB.js.map} +1 -1
- package/build/server/chunks/{7-gx5m5R1u.js → 7-mi0k2tJn.js} +4 -4
- package/build/server/chunks/{7-gx5m5R1u.js.map → 7-mi0k2tJn.js.map} +1 -1
- package/build/server/chunks/9-DB22e_yA.js +9 -0
- package/build/server/chunks/9-DB22e_yA.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-FJW5r496.js} +9 -10
- package/build/server/chunks/ChatNavbar-FJW5r496.js.map +1 -0
- package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-w-1K5jNR.js} +4 -4
- package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-w-1K5jNR.js.map} +1 -1
- package/build/server/chunks/{IconSoundOn-DHtvjphK.js → IconSoundOn-DZGaQz_p.js} +18 -13
- package/build/server/chunks/IconSoundOn-DZGaQz_p.js.map +1 -0
- package/build/server/chunks/{IconStop-C89_dmt4.js → IconStop-BPbovgch.js} +2 -2
- package/build/server/chunks/{IconStop-C89_dmt4.js.map → IconStop-BPbovgch.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-BLxvGwKC.js → _layout.svelte-B-_IlE2E.js} +2 -2
- package/build/server/chunks/{_layout.svelte-BLxvGwKC.js.map → _layout.svelte-B-_IlE2E.js.map} +1 -1
- package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte-CB1qUSpk.js} +16 -16
- package/build/server/chunks/_page.svelte-CB1qUSpk.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-CPZBh4-z.js} +3 -3
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-CPZBh4-z.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-CPo3vFZf.js} +17 -43
- package/build/server/chunks/_page.svelte-CPo3vFZf.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-DM96lwQ1.js} +3 -3
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-DM96lwQ1.js.map} +1 -1
- package/build/server/chunks/_page.svelte-F3gki1Uz.js +155 -0
- package/build/server/chunks/_page.svelte-F3gki1Uz.js.map +1 -0
- package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-GcuuPiXq.js} +3 -3
- package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-GcuuPiXq.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-K6kU7jIW.js} +64 -80
- package/build/server/chunks/_page.svelte-K6kU7jIW.js.map +1 -0
- package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-513m4Yqs.js} +15 -14
- package/build/server/chunks/_server.ts-513m4Yqs.js.map +1 -0
- package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-6QSsgi7N.js} +7 -6
- package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-6QSsgi7N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-B2BUFCOJ.js} +3 -2
- package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-B2BUFCOJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-B5wBYGeP.js} +7 -6
- package/build/server/chunks/_server.ts-B5wBYGeP.js.map +1 -0
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-BCrEvrVb.js} +27 -23
- package/build/server/chunks/_server.ts-BCrEvrVb.js.map +1 -0
- package/build/server/chunks/_server.ts-BFRCkpIB.js +83 -0
- package/build/server/chunks/_server.ts-BFRCkpIB.js.map +1 -0
- package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-BJGOO9Nn.js} +3 -2
- package/build/server/chunks/_server.ts-BJGOO9Nn.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-BLXzfOzW.js} +7 -6
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-BLXzfOzW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-BNOepqUw.js} +7 -6
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-BNOepqUw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-BQZ6mdSh.js} +7 -6
- package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-BQZ6mdSh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-BQdhHsGb.js} +8 -7
- package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-BQdhHsGb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-BXPj75Y1.js} +8 -7
- package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-BXPj75Y1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B_dmjFtu.js} +7 -6
- package/build/server/chunks/_server.ts-B_dmjFtu.js.map +1 -0
- package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-BaVwMXGu.js} +7 -6
- package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-BaVwMXGu.js.map} +1 -1
- package/build/server/chunks/_server.ts-BcO0Zf4D.js +73 -0
- package/build/server/chunks/_server.ts-BcO0Zf4D.js.map +1 -0
- package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BcqSTHN5.js} +8 -7
- package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BcqSTHN5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-BfL_49xD.js} +8 -7
- package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-BfL_49xD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-Blmg0cXL.js} +8 -7
- package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-Blmg0cXL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BmRwgrKB.js} +8 -7
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BmRwgrKB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-Bnzq20kw.js} +7 -6
- package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-Bnzq20kw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-BrQJNRtC.js} +7 -6
- package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-BrQJNRtC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bvb9c_At.js} +9 -8
- package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bvb9c_At.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-BvtdTKYv.js} +8 -7
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-BvtdTKYv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-Bwt_pOeg.js} +7 -6
- package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-Bwt_pOeg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-C4Pel5kC.js} +7 -6
- package/build/server/chunks/_server.ts-C4Pel5kC.js.map +1 -0
- package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CFrPK6QO.js} +7 -6
- package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CFrPK6QO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-CGTCLl7g.js} +8 -7
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-CGTCLl7g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-CMOAhXEC.js} +9 -8
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-CMOAhXEC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CPNIDSmd.js} +7 -6
- package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CPNIDSmd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-CPiybiLB.js} +10 -9
- package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-CPiybiLB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-CT0jVfA6.js} +58 -56
- package/build/server/chunks/_server.ts-CT0jVfA6.js.map +1 -0
- package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CU4SIH7_.js} +5 -4
- package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CU4SIH7_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-CVvUFmDd.js} +7 -6
- package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-CVvUFmDd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-CZ3VVtAj.js} +7 -6
- package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-CZ3VVtAj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-CZMdC1Kd.js} +7 -6
- package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-CZMdC1Kd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CfLVH8TI.js} +7 -6
- package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CfLVH8TI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-Cf_ZLxIl.js} +7 -6
- package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-Cf_ZLxIl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-Cgdl0C1I.js} +7 -6
- package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-Cgdl0C1I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-CixURe5F.js} +8 -7
- package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-CixURe5F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-CjfZfEOL.js} +7 -6
- package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-CjfZfEOL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-CoVlX74M.js} +8 -7
- package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-CoVlX74M.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-Cp8YnPjm.js} +9 -8
- package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-Cp8YnPjm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CqK78x99.js} +19 -13
- package/build/server/chunks/_server.ts-CqK78x99.js.map +1 -0
- package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-CsI99fk3.js} +15 -14
- package/build/server/chunks/_server.ts-CsI99fk3.js.map +1 -0
- package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-CtGn47WI.js} +5 -4
- package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-CtGn47WI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-CuLEqJd2.js} +10 -15
- package/build/server/chunks/_server.ts-CuLEqJd2.js.map +1 -0
- package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CvkF5YMt.js} +7 -6
- package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CvkF5YMt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-CyIO3STA.js} +8 -7
- package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-CyIO3STA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-CzEoO4z1.js} +3 -2
- package/build/server/chunks/_server.ts-CzEoO4z1.js.map +1 -0
- package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-CzIZ-UYy.js} +7 -6
- package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-CzIZ-UYy.js.map} +1 -1
- package/build/server/chunks/_server.ts-D3CUgai-.js +82 -0
- package/build/server/chunks/_server.ts-D3CUgai-.js.map +1 -0
- package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-D3EHXo-L.js} +7 -6
- package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-D3EHXo-L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-D3FpBEaY.js} +7 -6
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-D3FpBEaY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-D3G8ICxb.js} +7 -6
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-D3G8ICxb.js.map} +1 -1
- package/build/server/chunks/_server.ts-DMUseo0C.js +110 -0
- package/build/server/chunks/_server.ts-DMUseo0C.js.map +1 -0
- package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DVNN4NHW.js} +7 -6
- package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DVNN4NHW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-DZrKSBmK.js} +7 -6
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-DZrKSBmK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-DbWhKo2R.js} +7 -6
- package/build/server/chunks/_server.ts-DbWhKo2R.js.map +1 -0
- package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-DbvC6vbj.js} +7 -6
- package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-DbvC6vbj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Df7bUUvM.js} +10 -9
- package/build/server/chunks/_server.ts-Df7bUUvM.js.map +1 -0
- package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-DgoPOMEf.js} +7 -6
- package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-DgoPOMEf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DgtgUx0V.js} +3 -2
- package/build/server/chunks/_server.ts-DgtgUx0V.js.map +1 -0
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-Dim_lnRX.js} +8 -7
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-Dim_lnRX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Dixj3o5E.js} +7 -6
- package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Dixj3o5E.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-DjIJCqkv.js} +7 -6
- package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-DjIJCqkv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-DnonNBWq.js} +29 -9
- package/build/server/chunks/_server.ts-DnonNBWq.js.map +1 -0
- package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-Do0cbyyq.js} +7 -6
- package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-Do0cbyyq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-DpnNS7XE.js} +7 -6
- package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-DpnNS7XE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-Dw7F066C.js} +7 -6
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-Dw7F066C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-DwGTXfsS.js} +3 -2
- package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-DwGTXfsS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-Dy7MOoFx.js} +25 -21
- package/build/server/chunks/_server.ts-Dy7MOoFx.js.map +1 -0
- package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-HHMqD_RA.js} +4 -3
- package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-HHMqD_RA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-JhxhiGGc.js} +7 -6
- package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-JhxhiGGc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-MBgNxLF2.js} +7 -6
- package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-MBgNxLF2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-V-MiUhz4.js} +7 -6
- package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-V-MiUhz4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-WLMG4R7D.js} +7 -6
- package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-WLMG4R7D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-WZl_x3WY.js} +7 -6
- package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-WZl_x3WY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-YcvtqJwd.js} +25 -17
- package/build/server/chunks/_server.ts-YcvtqJwd.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-iFah_o1y.js} +7 -6
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-iFah_o1y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-m7rCPG1J.js} +7 -6
- package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-m7rCPG1J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-rVmsBymo.js} +16 -11
- package/build/server/chunks/_server.ts-rVmsBymo.js.map +1 -0
- package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-s2Seq_VN.js} +7 -6
- package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-s2Seq_VN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-w4ncTcy1.js} +10 -15
- package/build/server/chunks/_server.ts-w4ncTcy1.js.map +1 -0
- package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-ygmDTh5G.js} +8 -7
- package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-ygmDTh5G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-ykET4T6s.js} +7 -6
- package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-ykET4T6s.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-tZ_tAgFZ.js} +18 -5
- package/build/server/chunks/addon-helpers-tZ_tAgFZ.js.map +1 -0
- package/build/server/chunks/admin-update-lock-ZHLAwYiV.js +24 -0
- package/build/server/chunks/admin-update-lock-ZHLAwYiV.js.map +1 -0
- package/build/server/chunks/{akm-Bvt9WaTk.js → akm-DU_4Aa4m.js} +2 -2
- package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-DU_4Aa4m.js.map} +1 -1
- package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-B4QoA_I8.js} +5 -5
- package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-B4QoA_I8.js.map} +1 -1
- package/build/server/chunks/{client-ClRLlB_c.js → client-Dn-H0hgG.js} +2 -2
- package/build/server/chunks/{client-ClRLlB_c.js.map → client-Dn-H0hgG.js.map} +1 -1
- package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-BFOGDQne.js} +3 -2
- package/build/server/chunks/compose-args2-BFOGDQne.js.map +1 -0
- package/build/server/chunks/{config-Jiy06DlE.js → config-DoYNsM1_.js} +2 -2
- package/build/server/chunks/{config-Jiy06DlE.js.map → config-DoYNsM1_.js.map} +1 -1
- package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-DlEoE3-k.js} +4 -3
- package/build/server/chunks/connections-api-DlEoE3-k.js.map +1 -0
- package/build/server/chunks/dist-DtzrgNJ1.js +6617 -0
- package/build/server/chunks/dist-DtzrgNJ1.js.map +1 -0
- package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BYFlumV1.js} +3 -2
- package/build/server/chunks/docker2-BYFlumV1.js.map +1 -0
- package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-CtXDh00O.js} +2 -2
- package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-CtXDh00O.js.map} +1 -1
- package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-IFTldlrt.js} +27 -6
- package/build/server/chunks/endpoints-IFTldlrt.js.map +1 -0
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-DWK4R1_M.js} +4 -4
- package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-DWK4R1_M.js.map} +1 -1
- package/build/server/chunks/{features-BE2x1a_a.js → features-BW-bVsl8.js} +3 -3
- package/build/server/chunks/{features-BE2x1a_a.js.map → features-BW-bVsl8.js.map} +1 -1
- package/build/server/chunks/{helpers-CfpNg3il.js → helpers-DxodR6tq.js} +4 -4
- package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-DxodR6tq.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bzj8OieV.js} +10 -9
- package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bzj8OieV.js.map} +1 -1
- package/build/server/chunks/{http-WP5cji9-.js → http-CfHMreaI.js} +2 -2
- package/build/server/chunks/{http-WP5cji9-.js.map → http-CfHMreaI.js.map} +1 -1
- package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-BcbUGF7Z.js} +5 -7
- package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-BcbUGF7Z.js.map} +1 -1
- package/build/server/chunks/{landing-DKXNel0Q.js → landing-DhaVkN2f.js} +5 -5
- package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-DhaVkN2f.js.map} +1 -1
- package/build/server/chunks/{paths-DRVrMQrI.js → paths-Bgos728b.js} +2 -2
- package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-Bgos728b.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-C8DcD6bt.js} +2 -2
- package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-C8DcD6bt.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-D9j0EGGd.js} +2 -2
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-D9j0EGGd.js.map} +1 -1
- package/build/server/chunks/{src-CQ2F7hgb.js → src-DbArH65P.js} +469 -7016
- package/build/server/chunks/src-DbArH65P.js.map +1 -0
- package/build/server/chunks/{state-CsIDHNPN.js → state-Bq8fep3F.js} +2 -2
- package/build/server/chunks/{state-CsIDHNPN.js.map → state-Bq8fep3F.js.map} +1 -1
- package/build/server/chunks/{state2-jnbE3tAu.js → state2-Cna2OZrd.js} +17 -2
- package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Cna2OZrd.js.map} +1 -1
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js +539 -0
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +96 -103
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/assets/4.BXlLAfIE.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BXlLAfIE.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css +0 -1
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.br +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css +0 -1
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css +0 -1
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.br +0 -0
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js +0 -1
- 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.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/DWtm_qwJ.js +0 -3
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWtm_qwJ.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 +0 -1
- 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 +0 -2
- 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 +0 -14
- 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 +0 -126
- 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/4-CEASlyNx.js +0 -9
- package/build/server/chunks/9-BKXk6mfI.js +0 -42
- package/build/server/chunks/9-BKXk6mfI.js.map +0 -1
- package/build/server/chunks/ChatNavbar-D2J3UbpW.js.map +0 -1
- package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +0 -1
- package/build/server/chunks/_page.svelte--qXsMm-T.js.map +0 -1
- package/build/server/chunks/_page.svelte-BnZ0Fgkw.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cc-OjlMF.js +0 -92
- package/build/server/chunks/_page.svelte-Cc-OjlMF.js.map +0 -1
- package/build/server/chunks/_page.svelte-DGsMxwfZ.js.map +0 -1
- package/build/server/chunks/_server.ts-BJqxSP1B.js.map +0 -1
- package/build/server/chunks/_server.ts-BN6ghyoO.js +0 -94
- package/build/server/chunks/_server.ts-BN6ghyoO.js.map +0 -1
- package/build/server/chunks/_server.ts-BNoq5yoF.js.map +0 -1
- package/build/server/chunks/_server.ts-C6GZY_v3.js.map +0 -1
- package/build/server/chunks/_server.ts-C6r0d7SR.js.map +0 -1
- package/build/server/chunks/_server.ts-C900vqOm.js.map +0 -1
- package/build/server/chunks/_server.ts-CDJ7WouZ.js.map +0 -1
- package/build/server/chunks/_server.ts-CGE7AyDg.js.map +0 -1
- package/build/server/chunks/_server.ts-CGggA6h4.js.map +0 -1
- package/build/server/chunks/_server.ts-CMO7LL0e.js.map +0 -1
- package/build/server/chunks/_server.ts-CPYtZ7sE.js.map +0 -1
- package/build/server/chunks/_server.ts-CR85H0KR.js.map +0 -1
- package/build/server/chunks/_server.ts-ClrrzZI6.js +0 -141
- package/build/server/chunks/_server.ts-ClrrzZI6.js.map +0 -1
- package/build/server/chunks/_server.ts-CsP1RzbQ.js.map +0 -1
- package/build/server/chunks/_server.ts-D5Xa36tp.js +0 -248
- package/build/server/chunks/_server.ts-D5Xa36tp.js.map +0 -1
- package/build/server/chunks/_server.ts-DHjMyNwJ.js.map +0 -1
- package/build/server/chunks/_server.ts-D_93w1gb.js.map +0 -1
- package/build/server/chunks/_server.ts-DjAGbGD-.js.map +0 -1
- package/build/server/chunks/_server.ts-DrxBKPKB.js.map +0 -1
- package/build/server/chunks/_server.ts-MZYYoM8z.js.map +0 -1
- package/build/server/chunks/_server.ts-TTSjZaYY.js +0 -69
- package/build/server/chunks/_server.ts-TTSjZaYY.js.map +0 -1
- package/build/server/chunks/_server.ts-jB_3zRrF.js.map +0 -1
- package/build/server/chunks/_server.ts-sdkTYy6A.js.map +0 -1
- package/build/server/chunks/_server.ts-st_pTUHI.js +0 -106
- package/build/server/chunks/_server.ts-st_pTUHI.js.map +0 -1
- package/build/server/chunks/addon-helpers-TpOYibOg.js.map +0 -1
- package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
- package/build/server/chunks/connections-api-J-nrQ1KK.js.map +0 -1
- package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
- package/build/server/chunks/endpoints-WTxemTcn.js.map +0 -1
- package/build/server/chunks/serial-queue-D9FEpYVv.js +0 -22
- package/build/server/chunks/serial-queue-D9FEpYVv.js.map +0 -1
- package/build/server/chunks/src-CQ2F7hgb.js.map +0 -1
- package/build/server/chunks/voice-state.svelte-BAiqUOIX.js +0 -1214
- package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { F as head, d as attr, s as escape_html, p as derived } from './dev-D85DamNs.js';
|
|
2
|
-
import 'node:module';
|
|
3
|
-
import { i as endpointsService } from './IconStop-C89_dmt4.js';
|
|
4
|
-
import { a as afterNavigate } from './client-ClRLlB_c.js';
|
|
5
|
-
import { p as page } from './state2-jnbE3tAu.js';
|
|
6
|
-
import { C as ChatNavbar } from './ChatNavbar-D2J3UbpW.js';
|
|
7
|
-
import { h as chat, e as buildAdvancedIframeUrl } from './IconSoundOn-DHtvjphK.js';
|
|
8
|
-
import './voice-state.svelte-BAiqUOIX.js';
|
|
9
|
-
import './speakable-text-BflxDDdY.js';
|
|
10
|
-
import './exports2-BjzhbhYA.js';
|
|
11
|
-
import './utils-OXHIhUb5.js';
|
|
12
|
-
import './internal-D9Kp0SbJ.js';
|
|
13
|
-
import './chunk-DOvWTNp_.js';
|
|
14
|
-
import './paths-DRVrMQrI.js';
|
|
15
|
-
import './environment-BYp8JQYM.js';
|
|
16
|
-
import './IconServer-jRvjNs7I.js';
|
|
17
|
-
import './runtime-context.svelte-C5zNEC6u.js';
|
|
18
|
-
import './IconLogo-BRmPVDI_.js';
|
|
19
|
-
import './IconMic-BbjkE_nG.js';
|
|
20
|
-
|
|
21
|
-
//#region src/routes/advanced/+page.svelte
|
|
22
|
-
function _page($$renderer, $$props) {
|
|
23
|
-
$$renderer.component(($$renderer) => {
|
|
24
|
-
const active = derived(() => endpointsService.active);
|
|
25
|
-
const requestedSessionId = derived(() => page.url.searchParams.get("session"));
|
|
26
|
-
let frameUrl = "";
|
|
27
|
-
let probeState = "checking";
|
|
28
|
-
let reconnecting = false;
|
|
29
|
-
let probeToken = 0;
|
|
30
|
-
async function resolve() {
|
|
31
|
-
const token = ++probeToken;
|
|
32
|
-
probeState = "checking";
|
|
33
|
-
const base = active()?.url ?? "http://127.0.0.1:3800";
|
|
34
|
-
try {
|
|
35
|
-
const root = await fetch("/proxy/assistant/", { headers: { accept: "text/html" } });
|
|
36
|
-
if (token !== probeToken) return;
|
|
37
|
-
if (!root.ok) {
|
|
38
|
-
probeState = "dead";
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
let url = base;
|
|
42
|
-
if (requestedSessionId()) {
|
|
43
|
-
const res = await fetch(`/proxy/assistant/session/${encodeURIComponent(requestedSessionId())}`, { headers: { accept: "application/json" } });
|
|
44
|
-
if (token !== probeToken) return;
|
|
45
|
-
if (res.ok) {
|
|
46
|
-
const session = await res.json().catch(() => null);
|
|
47
|
-
if (token !== probeToken) return;
|
|
48
|
-
url = buildAdvancedIframeUrl(base, requestedSessionId(), session?.directory);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
frameUrl = url;
|
|
52
|
-
probeState = "ready";
|
|
53
|
-
} catch {
|
|
54
|
-
if (token !== probeToken) return;
|
|
55
|
-
probeState = "dead";
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
afterNavigate(({ to }) => {
|
|
59
|
-
const sid = to?.url.searchParams.get("session") ?? null;
|
|
60
|
-
if (sid) chat.setActiveSessionId(sid);
|
|
61
|
-
endpointsService.load().then(() => resolve());
|
|
62
|
-
});
|
|
63
|
-
head("1z0msvj", $$renderer, ($$renderer) => {
|
|
64
|
-
$$renderer.title(($$renderer) => {
|
|
65
|
-
$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
ChatNavbar($$renderer);
|
|
69
|
-
$$renderer.push(`<!----> <div class="advanced-layout svelte-1z0msvj">`);
|
|
70
|
-
if (probeState === "ready") {
|
|
71
|
-
$$renderer.push("<!--[0-->");
|
|
72
|
-
$$renderer.push(`<!---->`);
|
|
73
|
-
$$renderer.push(`<iframe class="opencode-frame svelte-1z0msvj"${attr("src", frameUrl)} title="OpenCode — Advanced Chat" allow="clipboard-read; clipboard-write; microphone"></iframe>`);
|
|
74
|
-
$$renderer.push(`<!---->`);
|
|
75
|
-
} else {
|
|
76
|
-
$$renderer.push("<!--[-1-->");
|
|
77
|
-
$$renderer.push(`<div class="advanced-status svelte-1z0msvj"${attr("role", probeState === "dead" ? "alert" : "status")} aria-live="polite">`);
|
|
78
|
-
if (probeState === "checking") {
|
|
79
|
-
$$renderer.push("<!--[0-->");
|
|
80
|
-
$$renderer.push(`<p class="status-line svelte-1z0msvj">Connecting to ${escape_html(active()?.label ?? "your assistant")}…</p>`);
|
|
81
|
-
} else {
|
|
82
|
-
$$renderer.push("<!--[-1-->");
|
|
83
|
-
$$renderer.push(`<h2 class="svelte-1z0msvj">Can’t reach ${escape_html(active()?.label ?? "your assistant")}</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"${attr("disabled", reconnecting, true)}>${escape_html("Reconnect")}</button>`);
|
|
84
|
-
}
|
|
85
|
-
$$renderer.push(`<!--]--></div>`);
|
|
86
|
-
}
|
|
87
|
-
$$renderer.push(`<!--]--></div>`);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export { _page as default };
|
|
92
|
-
//# sourceMappingURL=_page.svelte-Cc-OjlMF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-Cc-OjlMF.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { l as endpointsService } from \"../../../chunks/IconStop.js\";\nimport { t as afterNavigate } from \"../../../chunks/client.js\";\nimport { t as page } from \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as ChatNavbar } from \"../../../chunks/ChatNavbar.js\";\nimport { c as buildAdvancedIframeUrl, f as chat } from \"../../../chunks/IconSoundOn.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst requestedSessionId = derived(() => page.url.searchParams.get(\"session\"));\n\t\tlet frameUrl = \"\";\n\t\tlet probeState = \"checking\";\n\t\tlet reconnecting = false;\n\t\tlet probeToken = 0;\n\t\tasync function resolve() {\n\t\t\tconst token = ++probeToken;\n\t\t\tprobeState = \"checking\";\n\t\t\tconst base = active()?.url ?? \"http://127.0.0.1:3800\";\n\t\t\ttry {\n\t\t\t\tconst root = await fetch(\"/proxy/assistant/\", { headers: { accept: \"text/html\" } });\n\t\t\t\tif (token !== probeToken) return;\n\t\t\t\tif (!root.ok) {\n\t\t\t\t\tprobeState = \"dead\";\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet url = base;\n\t\t\t\tif (requestedSessionId()) {\n\t\t\t\t\tconst res = await fetch(`/proxy/assistant/session/${encodeURIComponent(requestedSessionId())}`, { headers: { accept: \"application/json\" } });\n\t\t\t\t\tif (token !== probeToken) return;\n\t\t\t\t\tif (res.ok) {\n\t\t\t\t\t\tconst session = await res.json().catch(() => null);\n\t\t\t\t\t\tif (token !== probeToken) return;\n\t\t\t\t\t\turl = buildAdvancedIframeUrl(base, requestedSessionId(), session?.directory);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tframeUrl = url;\n\t\t\t\tprobeState = \"ready\";\n\t\t\t} catch {\n\t\t\t\tif (token !== probeToken) return;\n\t\t\t\tprobeState = \"dead\";\n\t\t\t}\n\t\t}\n\t\tafterNavigate(({ to }) => {\n\t\t\tconst sid = to?.url.searchParams.get(\"session\") ?? null;\n\t\t\tif (sid) chat.setActiveSessionId(sid);\n\t\t\tendpointsService.load().then(() => resolve());\n\t\t});\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tChatNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\">`);\n\t\tif (probeState === \"ready\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<!---->`);\n\t\t\t$$renderer.push(`<iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", frameUrl)} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe>`);\n\t\t\t$$renderer.push(`<!---->`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"advanced-status svelte-1z0msvj\"${attr(\"role\", probeState === \"dead\" ? \"alert\" : \"status\")} aria-live=\"polite\">`);\n\t\t\tif (probeState === \"checking\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"status-line svelte-1z0msvj\">Connecting to ${escape_html(active()?.label ?? \"your assistant\")}…</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<h2 class=\"svelte-1z0msvj\">Can’t reach ${escape_html(active()?.label ?? \"your assistant\")}</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\"${attr(\"disabled\", reconnecting, true)}>${escape_html(\"Reconnect\")}</button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-DGsMxwfZ.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/chat/_page.svelte.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, d as html, i as bind_props, n as attr_class, o as ensure_array_like, r as attr_style, s as head, u as stringify } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { a as startListening, h as themeService, i as startConversation, l as voiceState, o as stopConversation, s as stopListening } from \"../../../chunks/voice-state.svelte.js\";\nimport { t as IconDone } from \"../../../chunks/IconDone.js\";\nimport { B as displayTitle, D as IconThemeDark, G as toolDetailRows, H as relativeTimeLabel, J as toolStatusLabel, K as toolIconType, O as IconThemeLight, U as timelineTitle, W as toolAriaLabel, c as IconClose, k as IconThemeSystem, l as endpointsService, t as IconStop } from \"../../../chunks/IconStop.js\";\nimport { t as resolve } from \"../../../chunks/paths.js\";\nimport \"../../../chunks/client.js\";\nimport \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { f as chat, i as SessionList, n as IconSoundOff, o as isLocalAssistantUrl, p as advancedModeService, r as IconConversations, s as IconAdvanced, t as IconSoundOn } from \"../../../chunks/IconSoundOn.js\";\nimport { t as IconMic } from \"../../../chunks/IconMic.js\";\nimport { a as IconFile, c as IconDoneCircle, d as renderMarkdown, i as IconEdit, l as IconRefresh, n as IconClock, o as IconSearch, r as IconLink, s as IconTerminal, t as IconActivity, u as ChatMessage } from \"../../../chunks/IconActivity.js\";\nimport { n as IconAlert, t as IconAgent } from \"../../../chunks/IconAgent.js\";\n//#region ../ui-kit/src/lib/components/icons/IconSend.svelte\nfunction IconSend($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\"${attr_class(`s-icon ${stringify(className)}`)}><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>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconWaves.svelte\nfunction IconWaves($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><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>`);\n}\n//#endregion\n//#region src/lib/components/chat/ChatInput.svelte\nfunction ChatInput($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Composer text — bindable so dictation can insert into the draft. */\n\t\tlet { sending, questionPending = false, onSend, onStop, voiceEnabled = false, voiceActive = false, onMicToggle, draft = \"\", conversationEnabled = false, conversationActive = false, onConversationToggle } = $$props;\n\t\tconst submitBlocked = derived(() => sending && !questionPending);\n\t\tconst isActive = derived(() => draft.trim().length > 0);\n\t\tconst showStop = derived(() => submitBlocked() && !!onStop);\n\t\t$$renderer.push(`<form${attr_class(\"s-composer svelte-j7h4bp\", void 0, {\n\t\t\t\"active\": isActive(),\n\t\t\t\"sending\": sending\n\t\t})}><textarea placeholder=\"Write a message...\" rows=\"1\" aria-label=\"Message input\" autocomplete=\"off\" spellcheck=\"false\" class=\"svelte-j7h4bp\">`);\n\t\tconst $$body = escape_html(draft);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea> <div class=\"s-footer svelte-j7h4bp\"><div class=\"s-rule svelte-j7h4bp\"></div> `);\n\t\tif (voiceEnabled) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button${attr_class(\"s-mic-btn svelte-j7h4bp\", void 0, { \"active\": voiceActive })} type=\"button\"${attr(\"aria-label\", voiceActive ? \"Stop listening\" : \"Start listening\")}${attr(\"aria-pressed\", voiceActive)}>`);\n\t\t\tIconMic($$renderer, { size: 16 });\n\t\t\t$$renderer.push(`<!----></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (conversationEnabled) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button${attr_class(\"s-mic-btn svelte-j7h4bp\", void 0, { \"active\": conversationActive })} type=\"button\"${attr(\"aria-label\", conversationActive ? \"End conversation mode\" : \"Start conversation mode\")}${attr(\"aria-pressed\", conversationActive)}>`);\n\t\t\tIconWaves($$renderer, { size: 16 });\n\t\t\t$$renderer.push(`<!----></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (showStop()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button class=\"s-send-btn svelte-j7h4bp\" type=\"button\" aria-label=\"Stop generating\">`);\n\t\t\tIconStop($$renderer, { size: 16 });\n\t\t\t$$renderer.push(`<!----></button>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<button class=\"s-send-btn svelte-j7h4bp\" type=\"submit\" aria-label=\"Send message\"${attr(\"disabled\", !isActive() || submitBlocked(), true)}>`);\n\t\t\tIconSend($$renderer, { size: 16 });\n\t\t\t$$renderer.push(`<!----></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></form>`);\n\t\tbind_props($$props, { draft });\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/VoiceStatusStrip.svelte\nfunction VoiceStatusStrip($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** True while the assistant is composing a reply (chat.sending). */\n\t\tlet { thinking = false } = $$props;\n\t\tlet showInterim = derived(() => voiceState.status === \"recording\" && voiceState.interimTranscript.length > 0);\n\t\tlet showTranscribing = derived(() => voiceState.status === \"transcribing\");\n\t\tlet showAutoplayBlocked = derived(() => voiceState.autoplayBlocked);\n\t\tlet conversation = derived(() => voiceState.conversationActive);\n\t\tlet conversationLabel = derived(() => voiceState.status === \"speaking\" ? \"speaking…\" : voiceState.status === \"transcribing\" || thinking ? \"thinking…\" : \"listening…\");\n\t\tlet visible = derived(() => conversation() || showInterim() || showTranscribing() || showAutoplayBlocked());\n\t\tlet srMessage = derived(() => [conversation() ? `Conversation: ${voiceState.interimTranscript || conversationLabel()}` : showInterim() ? `Recording: ${voiceState.interimTranscript}` : showTranscribing() ? \"Transcribing\" : \"\", showAutoplayBlocked() ? \"Audio paused — click to resume\" : \"\"].filter(Boolean).join(\". \"));\n\t\tif (visible()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"voice-status-strip svelte-1ceij29\">`);\n\t\t\tif (conversation()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"voice-status-interim svelte-1ceij29\">${escape_html(voiceState.interimTranscript || conversationLabel())}</span> <button type=\"button\" class=\"voice-status-end svelte-1ceij29\" aria-label=\"End conversation mode\">End</button>`);\n\t\t\t} else if (showInterim()) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<span class=\"voice-status-interim svelte-1ceij29\">${escape_html(voiceState.interimTranscript)}</span>`);\n\t\t\t} else if (showTranscribing()) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"voice-status-transcribing svelte-1ceij29\">transcribing…</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (showAutoplayBlocked()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"voice-status-autoplay svelte-1ceij29\" aria-label=\"Resume paused audio\" title=\"Audio was blocked by the browser. Click to resume.\">`);\n\t\t\t\tIconSoundOff($$renderer, { size: 14 });\n\t\t\t\t$$renderer.push(`<!----> <span>Audio paused — click to resume</span></button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <span class=\"sr-only svelte-1ceij29\" aria-live=\"polite\">${escape_html(srMessage())}</span>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/ToolLog.svelte\nvar uid = 0;\nfunction ToolLog($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { items } = $$props;\n\t\tuid += 1;\n\t\tconst headingId = `tool-log-heading-${uid}`;\n\t\tlet expanded = {};\n\t\tfunction isRunning(status) {\n\t\t\treturn status !== \"completed\" && status !== \"error\" && status !== \"failed\";\n\t\t}\n\t\tfunction isFailed(status) {\n\t\t\treturn status === \"error\" || status === \"failed\";\n\t\t}\n\t\tfunction startsNewTurn(index) {\n\t\t\tif (index <= 0) return false;\n\t\t\tconst current = items[index].turnKey;\n\t\t\tconst previous = items[index - 1].turnKey;\n\t\t\tif (current === void 0 || previous === void 0) return false;\n\t\t\treturn current !== previous;\n\t\t}\n\t\tconst failedAnnouncement = derived(() => items.filter((t) => isFailed(t.status)).map((t) => `${displayTitle(t)} failed`).join(\", \"));\n\t\tif (items.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"tool-log svelte-1wgps4r\"${attr(\"aria-labelledby\", headingId)}><h2 class=\"tool-log-heading svelte-1wgps4r\"${attr(\"id\", headingId)}>activity</h2> <div class=\"tool-log-live svelte-1wgps4r\" aria-live=\"polite\" aria-atomic=\"true\">${escape_html(failedAnnouncement())}</div> <ul class=\"tool-log-list svelte-1wgps4r\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(items);\n\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\tlet tool = each_array[i];\n\t\t\t\tconst iconType = toolIconType(tool.tool, tool.status);\n\t\t\t\tconst open = !!expanded[tool.id];\n\t\t\t\tconst running = isRunning(tool.status);\n\t\t\t\tconst failed = isFailed(tool.status);\n\t\t\t\tconst when = relativeTimeLabel(tool.updatedAt);\n\t\t\t\t$$renderer.push(`<li${attr_class(\"tool-log-item svelte-1wgps4r\", void 0, {\n\t\t\t\t\t\"running\": running,\n\t\t\t\t\t\"failed\": failed,\n\t\t\t\t\t\"new-turn\": startsNewTurn(i)\n\t\t\t\t})}><button class=\"tool-log-summary svelte-1wgps4r\" type=\"button\"${attr(\"aria-expanded\", open)}${attr(\"aria-label\", toolAriaLabel(tool))}${attr(\"title\", timelineTitle(tool))}><span class=\"tool-log-icon svelte-1wgps4r\" aria-hidden=\"true\">`);\n\t\t\t\tif (iconType === \"alert\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tIconAlert($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"done-circle\") {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\tIconDoneCircle($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"refresh\") {\n\t\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t\tIconRefresh($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"terminal\") {\n\t\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t\tIconTerminal($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"search\") {\n\t\t\t\t\t$$renderer.push(\"<!--[4-->\");\n\t\t\t\t\tIconSearch($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"file\") {\n\t\t\t\t\t$$renderer.push(\"<!--[5-->\");\n\t\t\t\t\tIconFile($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"edit\") {\n\t\t\t\t\t$$renderer.push(\"<!--[6-->\");\n\t\t\t\t\tIconEdit($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"link\") {\n\t\t\t\t\t$$renderer.push(\"<!--[7-->\");\n\t\t\t\t\tIconLink($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"agent\") {\n\t\t\t\t\t$$renderer.push(\"<!--[8-->\");\n\t\t\t\t\tIconAgent($$renderer, { size: 15 });\n\t\t\t\t} else if (iconType === \"done\") {\n\t\t\t\t\t$$renderer.push(\"<!--[9-->\");\n\t\t\t\t\tIconDone($$renderer, { size: 15 });\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tIconClock($$renderer, { size: 15 });\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"tool-log-main svelte-1wgps4r\"><span class=\"tool-log-title svelte-1wgps4r\">${escape_html(displayTitle(tool))}</span> `);\n\t\t\t\tif (when) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"tool-log-time svelte-1wgps4r\">${escape_html(when)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> `);\n\t\t\t\tif (running || failed) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"tool-log-status svelte-1wgps4r\">${escape_html(toolStatusLabel(tool.status))}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span${attr_class(\"tool-log-chevron svelte-1wgps4r\", void 0, { \"open\": open })} 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> `);\n\t\t\t\tif (open) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"tool-log-details svelte-1wgps4r\"><!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(toolDetailRows(tool));\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet row = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<div class=\"tool-log-row svelte-1wgps4r\"><div class=\"tool-log-label svelte-1wgps4r\">${escape_html(row.label)}</div> <div class=\"tool-log-value svelte-1wgps4r\">`);\n\t\t\t\t\t\tif (row.value.includes(\"\\n\") || row.value.length > 80) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<pre${attr_class(\"svelte-1wgps4r\", void 0, { \"tool-log-error\": row.tone === \"error\" })}>${escape_html(row.value)}</pre>`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div${attr_class(\"svelte-1wgps4r\", void 0, { \"tool-log-error\": row.tone === \"error\" })}>${escape_html(row.value)}</div>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/Presence.svelte\nfunction Presence($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst { voiceEnabled, sending, voiceStatus, onToggle, height } = $$props;\n\t\tconst breathing = derived(() => !sending && voiceStatus !== \"speaking\");\n\t\t$$renderer.push(`<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${attr_class(\"s-presence svelte-3vj2oe\", void 0, {\n\t\t\t\"breathing\": breathing(),\n\t\t\t\"listening\": voiceStatus === \"recording\",\n\t\t\t\"speaking\": voiceStatus === \"speaking\",\n\t\t\t\"s-presence--mic\": voiceEnabled,\n\t\t\t\"processing\": sending\n\t\t})} id=\"s-presence\"${attr_style(height != null ? `--s-enso-size: ${height}px` : void 0)}${attr(\"role\", voiceEnabled ? \"button\" : void 0)}${attr(\"tabindex\", voiceEnabled ? 0 : void 0)}${attr(\"aria-label\", voiceEnabled ? voiceStatus === \"recording\" ? \"Stop listening\" : \"Speak to the agent\" : void 0)}${attr(\"aria-pressed\", voiceEnabled ? voiceStatus === \"recording\" : void 0)}><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>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/PermissionCard.svelte\nfunction PermissionCard($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Which decision is currently being submitted, for the \"sending…\" label. */\n\t\tlet { permission, actionInFlight, onReply } = $$props;\n\t\tconst locked = derived(() => permission.status === \"submitting\" || permission.status === \"resolved\");\n\t\tfunction clamp(text, max = 160) {\n\t\t\treturn text.length > max ? `${text.slice(0, max - 1)}…` : text;\n\t\t}\n\t\t$$renderer.push(`<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\">${escape_html(permission.permission)}</div> `);\n\t\tif (permission.detail) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"s-action-body svelte-141raqu\">${escape_html(clamp(permission.detail))}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (permission.patterns.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<code class=\"s-action-code svelte-141raqu\">${escape_html(permission.patterns.join(\", \"))}</code>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (permission.always.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<code class=\"s-action-code svelte-141raqu\">${escape_html(permission.always.join(\", \"))}</code>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (permission.message) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"s-action-body svelte-141raqu\">${escape_html(permission.message)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"s-action-btns svelte-141raqu\"><button class=\"s-action-btn s-action-btn-primary svelte-141raqu\" type=\"button\"${attr(\"disabled\", locked(), true)}>${escape_html(actionInFlight === \"once\" ? \"sending…\" : \"allow this once\")}</button> <button class=\"s-action-btn svelte-141raqu\" type=\"button\"${attr(\"disabled\", locked(), true)}>${escape_html(actionInFlight === \"always\" ? \"sending…\" : \"always allow\")}</button> <button class=\"s-action-btn s-action-btn-danger svelte-141raqu\" type=\"button\"${attr(\"disabled\", locked(), true)}>${escape_html(actionInFlight === \"reject\" ? \"sending…\" : \"deny\")}</button></div></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/QuestionCard.svelte\nfunction QuestionCard($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Single-question quick-answer (option click submits directly). */\n\t\t/** Multi-question option select (records the answer at `index`). */\n\t\t/** Free-text answer drafted at `index`. */\n\t\tlet { question, onOption, onSelect, onDraft, onSubmit, onReject } = $$props;\n\t\tconst locked = derived(() => question.status === \"submitting\" || question.status === \"answered\" || question.status === \"rejected\");\n\t\t$$renderer.push(`<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> `);\n\t\tif (question.questions.length === 1 && question.questions[0]) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"s-action-question svelte-11d88fd\">${escape_html(question.questions[0].question)}</p> `);\n\t\t\tif (question.questions[0].options.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"s-action-options svelte-11d88fd\"><!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(question.questions[0].options);\n\t\t\t\tfor (let index = 0, $$length = each_array.length; index < $$length; index++) {\n\t\t\t\t\tlet option = each_array[index];\n\t\t\t\t\t$$renderer.push(`<button class=\"s-action-btn svelte-11d88fd\" type=\"button\"${attr(\"disabled\", locked(), true)}>${escape_html(option.label)}</button>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <p class=\"s-action-hint svelte-11d88fd\">or write your answer below</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"s-multi-questions svelte-11d88fd\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(question.questions);\n\t\t\tfor (let index = 0, $$length = each_array_1.length; index < $$length; index++) {\n\t\t\t\tlet item = each_array_1[index];\n\t\t\t\t$$renderer.push(`<div class=\"s-question-item svelte-11d88fd\">`);\n\t\t\t\tif (item.header) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"s-action-kicker svelte-11d88fd\">${escape_html(item.header)}</div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <p class=\"s-action-question svelte-11d88fd\">${escape_html(item.question)}</p> `);\n\t\t\t\tif (item.options.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"s-action-options svelte-11d88fd\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(item.options);\n\t\t\t\t\tfor (let optionIndex = 0, $$length = each_array_2.length; optionIndex < $$length; optionIndex++) {\n\t\t\t\t\t\tlet option = each_array_2[optionIndex];\n\t\t\t\t\t\t$$renderer.push(`<button${attr_class(\"s-action-btn svelte-11d88fd\", void 0, { \"selected\": question.answers[index] === option.label })} type=\"button\"${attr(\"disabled\", locked(), true)}>${escape_html(option.label)}</button>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <input class=\"s-question-input svelte-11d88fd\" type=\"text\"${attr(\"value\", question.answers[index])} placeholder=\"Type an answer\"${attr(\"disabled\", locked(), true)}/></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"s-action-btns svelte-11d88fd\"><button class=\"s-action-btn s-action-btn-primary svelte-11d88fd\" type=\"button\"${attr(\"disabled\", locked(), true)}>submit answers</button> <button class=\"s-action-btn svelte-11d88fd\" type=\"button\"${attr(\"disabled\", locked(), true)}>can't answer</button></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/routes/chat/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst entriesLoading = derived(() => chat.entriesLoading);\n\t\tconst sessionsLoading = derived(() => chat.byEndpoint.get(chat.activeEndpointId)?.sessionsLoading ?? false);\n\t\tlet gardenOpen = false;\n\t\tfunction closeGarden() {\n\t\t\tgardenOpen = false;\n\t\t}\n\t\tlet toolDrawerOpen = false;\n\t\tasync function handleSend(text) {\n\t\t\tawait chat.send(text);\n\t\t}\n\t\tlet permissionActionInFlight = null;\n\t\tasync function handlePermissionReply(reply) {\n\t\t\tpermissionActionInFlight = reply;\n\t\t\ttry {\n\t\t\t\tawait chat.answerPermission(reply);\n\t\t\t} finally {\n\t\t\t\tpermissionActionInFlight = null;\n\t\t\t}\n\t\t}\n\t\tasync function handleQuestionOption(answer) {\n\t\t\tawait chat.answerQuestion(answer);\n\t\t}\n\t\tfunction handleQuestionDraft(index, value) {\n\t\t\tchat.setQuestionAnswer(index, value);\n\t\t}\n\t\tasync function handleQuestionSubmit() {\n\t\t\tawait chat.answerQuestion();\n\t\t}\n\t\tasync function handleQuestionReject() {\n\t\t\tawait chat.rejectQuestion();\n\t\t}\n\t\tconst voiceActive = derived(() => !voiceState.conversationActive && (voiceState.status === \"recording\" || voiceState.status === \"transcribing\"));\n\t\tconst ttsEnabled = derived(() => voiceState.ttsAutoEnabled);\n\t\tconst voiceEnabled = derived(() => voiceState.sttEngine !== \"disabled\" && voiceState.sttSupported);\n\t\tconst ttsAvailable = derived(() => voiceState.ttsSupported);\n\t\tlet draft = \"\";\n\t\tfunction toggleVoice() {\n\t\t\tif (voiceState.conversationActive) {\n\t\t\t\tstopConversation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (voiceActive()) stopListening();\n\t\t\telse startListening((transcript) => {\n\t\t\t\tconst trimmed = transcript.trim();\n\t\t\t\tif (!trimmed) return;\n\t\t\t\tdraft = draft.trim().length > 0 ? `${draft.trimEnd()} ${trimmed}` : trimmed;\n\t\t\t});\n\t\t}\n\t\tfunction toggleConversation() {\n\t\t\tif (voiceState.conversationActive) stopConversation();\n\t\t\telse startConversation((text) => {\n\t\t\t\tchat.sendUtterance(text);\n\t\t\t});\n\t\t}\n\t\tlet endpointSwitching = false;\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\thead(\"23dtxz\", $$renderer, ($$renderer) => {\n\t\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<title>${escape_html(endpointsService.active?.label ?? \"OpenPalm\")}</title>`);\n\t\t\t\t});\n\t\t\t});\n\t\t\t$$renderer.push(`<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\">`);\n\t\t\tPresence($$renderer, {\n\t\t\t\theight: 32,\n\t\t\t\tvoiceEnabled: voiceEnabled(),\n\t\t\t\tsending: chat.sending,\n\t\t\t\tvoiceStatus: voiceState.status,\n\t\t\t\tonToggle: toggleVoice\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <div${attr_class(\"s-corner s-corner-right svelte-23dtxz\", void 0, { \"drawer-hidden\": toolDrawerOpen })}><div class=\"s-glyph-cell svelte-23dtxz\"><button class=\"s-glyph-btn svelte-23dtxz\" type=\"button\" aria-label=\"Advanced mode\"${attr(\"aria-pressed\", advancedModeService.enabled)}>`);\n\t\t\tIconAdvanced($$renderer, { size: 20 });\n\t\t\t$$renderer.push(`<!----></button> <span class=\"s-glyph-label svelte-23dtxz\">advanced</span></div></div> <div class=\"s-corner s-corner-bottom-left svelte-23dtxz\">`);\n\t\t\tif (ttsAvailable() && voiceEnabled()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<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\"${attr(\"aria-label\", ttsEnabled() ? \"Turn off spoken responses\" : \"Turn on spoken responses\")}${attr(\"aria-pressed\", ttsEnabled())}>`);\n\t\t\t\tif (ttsEnabled()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tIconSoundOn($$renderer, { size: 20 });\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tIconSoundOff($$renderer, { size: 20 });\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></button></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <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\"${attr(\"aria-label\", themeService.preference === \"system\" ? \"Switch to light theme\" : themeService.preference === \"light\" ? \"Switch to dark theme\" : \"Switch to system theme\")}>`);\n\t\t\tif (themeService.preference === \"light\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tIconThemeLight($$renderer, { size: 20 });\n\t\t\t} else if (themeService.preference === \"dark\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\tIconThemeDark($$renderer, { size: 20 });\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\tIconThemeSystem($$renderer, { size: 20 });\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></button></div></div> <div${attr_class(\"s-corner s-corner-bottom-right svelte-23dtxz\", void 0, { \"drawer-hidden\": toolDrawerOpen })}><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\"${attr(\"aria-expanded\", toolDrawerOpen)} aria-controls=\"s-tool-drawer\" aria-label=\"Activity\">`);\n\t\t\tIconActivity($$renderer, { size: 20 });\n\t\t\t$$renderer.push(`<!----></button></div> <div class=\"s-glyph-cell svelte-23dtxz\"><span class=\"s-glyph-label svelte-23dtxz\">${escape_html(gardenOpen ? \"close\" : \"conversations\")}</span> <button class=\"s-glyph-btn svelte-23dtxz\" type=\"button\" aria-haspopup=\"dialog\"${attr(\"aria-expanded\", gardenOpen)} aria-controls=\"s-garden-veil\"${attr(\"aria-label\", gardenOpen ? \"Return to the conversation\" : \"Conversations\")}>`);\n\t\t\tif (gardenOpen) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tIconClose($$renderer, { size: 20 });\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\tIconConversations($$renderer, { size: 22 });\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></button></div></div> <aside${attr_class(\"s-tool-rail svelte-23dtxz\", void 0, { \"has-items\": chat.toolLog.length > 0 })} aria-label=\"Assistant activity\">`);\n\t\t\tToolLog($$renderer, { items: chat.toolLog });\n\t\t\t$$renderer.push(`<!----></aside> <main class=\"s-scroll svelte-23dtxz\" id=\"s-scroll\" aria-label=\"Chat history\"${attr(\"inert\", gardenOpen, true)}><div class=\"s-thread svelte-23dtxz\" id=\"s-thread\">`);\n\t\t\tif (sessionsLoading() || entriesLoading()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"s-loading svelte-23dtxz\" aria-live=\"polite\"><span class=\"s-loading-text svelte-23dtxz\">loading…</span></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\tconst each_array = ensure_array_like(chat.entries);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet entry = each_array[$$index];\n\t\t\t\tChatMessage($$renderer, { entry });\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.sending) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"s-pending svelte-23dtxz\" aria-live=\"polite\">`);\n\t\t\t\tif (chat.pendingAssistantText) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"turn master\"><div class=\"master-words settled s-streaming svelte-23dtxz\"><div class=\"markdown-body\">${html(renderMarkdown(chat.pendingAssistantText))}</div></div></div>`);\n\t\t\t\t} else if (!chat.pendingPermission && !chat.pendingQuestion) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"s-thinking svelte-23dtxz\"><span class=\"s-thinking-text svelte-23dtxz\">thinking…</span></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tPermissionCard($$renderer, {\n\t\t\t\t\t\tpermission: chat.pendingPermission,\n\t\t\t\t\t\tactionInFlight: permissionActionInFlight,\n\t\t\t\t\t\tonReply: handlePermissionReply\n\t\t\t\t\t});\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingQuestion) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tQuestionCard($$renderer, {\n\t\t\t\t\t\tquestion: chat.pendingQuestion,\n\t\t\t\t\t\tonOption: handleQuestionOption,\n\t\t\t\t\t\tonSelect: (index, label) => chat.setQuestionAnswer(index, label),\n\t\t\t\t\t\tonDraft: handleQuestionDraft,\n\t\t\t\t\t\tonSubmit: handleQuestionSubmit,\n\t\t\t\t\t\tonReject: handleQuestionReject\n\t\t\t\t\t});\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <div aria-hidden=\"true\" style=\"height:1px\"></div></div></main> `);\n\t\t\tif (chat.error) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"s-error-banner svelte-23dtxz\" role=\"alert\"><span class=\"s-error-msg svelte-23dtxz\">${escape_html(chat.error)}</span> `);\n\t\t\t\tif (chat.lastFailedText) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button class=\"s-error-reconnect svelte-23dtxz\" type=\"button\">retry</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <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>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <div class=\"s-base svelte-23dtxz\"${attr(\"inert\", gardenOpen, true)}>`);\n\t\t\tVoiceStatusStrip($$renderer, { thinking: chat.sending });\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tChatInput($$renderer, {\n\t\t\t\tsending: chat.sending,\n\t\t\t\tquestionPending: !!chat.pendingQuestion && chat.pendingQuestion.questions.length === 1,\n\t\t\t\tonSend: handleSend,\n\t\t\t\tonStop: () => void chat.stopTurn(),\n\t\t\t\tvoiceEnabled: voiceEnabled(),\n\t\t\t\tvoiceActive: voiceActive(),\n\t\t\t\tonMicToggle: toggleVoice,\n\t\t\t\tconversationEnabled: voiceEnabled(),\n\t\t\t\tconversationActive: voiceState.conversationActive,\n\t\t\t\tonConversationToggle: toggleConversation,\n\t\t\t\tget draft() {\n\t\t\t\t\treturn draft;\n\t\t\t\t},\n\t\t\t\tset draft($$value) {\n\t\t\t\t\tdraft = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <div id=\"s-garden-veil\"${attr_class(\"s-veil svelte-23dtxz\", void 0, { \"open\": gardenOpen })}${attr(\"inert\", !gardenOpen, true)}${attr(\"aria-hidden\", !gardenOpen)} 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> `);\n\t\t\tif (endpointsService.active) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"s-veil-sub svelte-23dtxz\">${escape_html(endpointsService.active.label)}</div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <button class=\"s-head-close svelte-23dtxz\" type=\"button\" aria-label=\"Close conversations\">`);\n\t\t\tIconClose($$renderer, { size: 20 });\n\t\t\t$$renderer.push(`<!----></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\"${attr(\"href\", resolve(\"/connections\"))}><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\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(endpointsService.endpoints);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet ep = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<div class=\"s-endpoint-item svelte-23dtxz\"><button type=\"button\"${attr_class(\"s-endpoint svelte-23dtxz\", void 0, { \"active\": ep.id === endpointsService.active?.id })}${attr(\"aria-current\", ep.id === endpointsService.active?.id ? \"true\" : void 0)}${attr(\"disabled\", endpointSwitching, true)}><div class=\"s-endpoint-label svelte-23dtxz\">${escape_html(ep.label)}</div> <div class=\"s-endpoint-url svelte-23dtxz\">${escape_html(ep.url)}</div></button> `);\n\t\t\t\tif (ep.url && isLocalAssistantUrl(ep.url)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<a class=\"s-endpoint-manage svelte-23dtxz\"${attr(\"href\", resolve(\"/host\"))}>manage this assistant</a>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></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> `);\n\t\t\tSessionList($$renderer, {\n\t\t\t\tonChosen: closeGarden,\n\t\t\t\thideNewBtn: true\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></section></div></div> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <div id=\"s-tool-drawer\"${attr_class(\"s-tool-drawer svelte-23dtxz\", void 0, { \"open\": toolDrawerOpen })}${attr(\"inert\", true, true)}${attr(\"aria-hidden\", true)} 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\">`);\n\t\t\tIconClose($$renderer, { size: 20 });\n\t\t\t$$renderer.push(`<!----></button></div> <div class=\"s-tool-drawer-body svelte-23dtxz\">`);\n\t\t\tif (chat.toolLog.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tToolLog($$renderer, { items: chat.toolLog });\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<p class=\"s-tool-drawer-empty svelte-23dtxz\">Steps the assistant takes — searches, edits, commands — will show up here as it works.</p>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BJqxSP1B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { a as checkDockerCompose, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { f as detectGpu, p as detectLocalProviders, z as detectRuntime } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name?.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports?.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sBAAsB,CAAC,IAAI,EAAE;AAC5C,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AACjC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,KAAK;AAC3B,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI;AACJ,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;AACzC,IAAI,IAAI,GAAG,EAAE;AACb,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AACrC,KAAK,OAAO,OAAO,CAAC,aAAa,CAAC;AAClC,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACpF,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,KAAK,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE;AACzC,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC;AAC9D,IAAI;AACJ,IAAI,OAAO,CAAC,MAAM,CAAC;AACnB,GAAG,CAAC,CAAC;AACL,EAAE,CAAC;AACH,EAAE,GAAG,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC;AACH;AACA,eAAe,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,EAAE;AACzD,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AACjC,EAAE,MAAM,GAAG,GAAG,YAAY,EAAE;AAC5B,EAAE,IAAI,OAAO,GAAG,KAAK;AACrB,EAAE,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK;AACzB,GAAG,IAAI,OAAO,EAAE;AAChB,GAAG,OAAO,GAAG,IAAI;AACjB,GAAG,GAAG,CAAC,KAAK,EAAE;AACd,GAAG,OAAO,CAAC,EAAE,CAAC;AACd,EAAE,CAAC;AACH,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AAC1D,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;AAC1B,GAAG,YAAY,CAAC,KAAK,CAAC;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC;AAChB,EAAE,CAAC,CAAC;AACJ,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM;AAC9B,GAAG,YAAY,CAAC,KAAK,CAAC;AACtB,GAAG,MAAM,CAAC,IAAI,CAAC;AACf,EAAE,CAAC,CAAC;AACJ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;AAC/B,CAAC,CAAC,CAAC;AACH;AACA,SAAS,QAAQ,CAAC,GAAG,QAAQ,EAAE;AAC/B,CAAC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AAC9B,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACvB,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAC3C,CAAC;AACD,CAAC,OAAO,IAAI;AACZ;AACA,SAAS,mBAAmB,GAAG;AAC/B,CAAC,OAAO,CAAC;AACT,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI;AAC3C,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,QAAQ,EAAE;AACZ,EAAE,EAAE;AACJ,EAAE,IAAI,EAAE,QAAQ,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,IAAI,IAAI;AACvE,EAAE,OAAO,EAAE,WAAW;AACtB,EAAE,QAAQ,EAAE;AACZ,EAAE,CAAC;AACH;AACA,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC;AAC9E,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC3E,EAAE,WAAW,EAAE;AACf,EAAE,kBAAkB,EAAE;AACtB,EAAE,SAAS,EAAE;AACb,EAAE,oBAAoB,EAAE;AACxB,EAAE,aAAa;AACf,EAAE,CAAC;AACH,CAAC,MAAM,OAAO,GAAG,mBAAmB,EAAE;AACtC,CAAC,IAAI,iBAAiB,GAAG,MAAM,CAAC,EAAE;AAClC,CAAC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK;AAC1D,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,OAAO;AACrC,GAAG,GAAG,CAAC;AACP,GAAG,SAAS,EAAE;AACd,GAAG;AACH,EAAE,IAAI,MAAM,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO;AAC/C,GAAG,GAAG,CAAC;AACP,GAAG,SAAS,EAAE;AACd,GAAG;AACH,EAAE,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE,OAAO;AAC9B,GAAG,GAAG,CAAC;AACP,GAAG,SAAS,EAAE;AACd,GAAG;AACH,EAAE,IAAI,IAAI,KAAK,aAAa,EAAE;AAC9B,GAAG,iBAAiB,GAAG,KAAK;AAC5B,GAAG,OAAO;AACV,IAAI,GAAG,CAAC;AACR,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,EAAE;AACF,EAAE,OAAO;AACT,GAAG,GAAG,CAAC;AACP,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,QAAQ,EAAE,iBAAiB,GAAG,CAAC,CAAC,QAAQ,GAAG;AAC9C,GAAG;AACH,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,MAAM,EAAE;AACV,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM;AAC3C,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,yBAAyB,GAAG;AAC5E,GAAG;AACH,EAAE,OAAO,EAAE;AACX,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE;AACjB,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM;AAC3D,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,6BAA6B,GAAG;AAClF,GAAG;AACH,EAAE,iBAAiB;AACnB,EAAE,KAAK;AACP,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC5B,EAAE,OAAO;AACT,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,MAAM;AAC1B,EAAE,OAAO,EAAE,GAAG,IAAI,MAAM;AACxB,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;AACvF,GAAG,QAAQ;AACX,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,CAAC;AACH;AACG,IAAC,IAAI,GAAG;;;;"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { aU as resolveDataDir, ar as normalizeVersion, a_ as seedUiBuild, F as createLogger } from './src-CQ2F7hgb.js';
|
|
2
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
|
|
3
|
-
import './chunk-DOvWTNp_.js';
|
|
4
|
-
import 'node:module';
|
|
5
|
-
import './network-preset-CJ1RRnki.js';
|
|
6
|
-
import 'node:fs';
|
|
7
|
-
import 'node:child_process';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'buffer';
|
|
10
|
-
import 'node:url';
|
|
11
|
-
import 'node:os';
|
|
12
|
-
import 'node:crypto';
|
|
13
|
-
import 'events';
|
|
14
|
-
import 'fs';
|
|
15
|
-
import 'node:events';
|
|
16
|
-
import 'node:stream';
|
|
17
|
-
import 'node:string_decoder';
|
|
18
|
-
import 'path';
|
|
19
|
-
import 'assert';
|
|
20
|
-
import 'zlib';
|
|
21
|
-
import 'node:assert';
|
|
22
|
-
import 'node:fs/promises';
|
|
23
|
-
import './endpoints-WTxemTcn.js';
|
|
24
|
-
import './state-CsIDHNPN.js';
|
|
25
|
-
import './features-BE2x1a_a.js';
|
|
26
|
-
|
|
27
|
-
//#region src/routes/api/host/ui-version/+server.ts
|
|
28
|
-
var logger = createLogger("ui-version");
|
|
29
|
-
var POST = async (event) => {
|
|
30
|
-
const requestId = getRequestId(event);
|
|
31
|
-
const capabilityError = requireCapability(event, "host:updates", requestId);
|
|
32
|
-
if (capabilityError) return capabilityError;
|
|
33
|
-
const authError = requireAdmin(event, requestId);
|
|
34
|
-
if (authError) return authError;
|
|
35
|
-
let body;
|
|
36
|
-
try {
|
|
37
|
-
body = await event.request.json();
|
|
38
|
-
} catch {
|
|
39
|
-
return errorResponse(400, "invalid_json", "Request body must be valid JSON", {}, requestId);
|
|
40
|
-
}
|
|
41
|
-
const tag = typeof body.tag === "string" ? body.tag.trim() : "";
|
|
42
|
-
if (!tag) return errorResponse(400, "tag_required", "tag is required", {}, requestId);
|
|
43
|
-
if (!/^[a-zA-Z0-9._-]+$/.test(tag)) return errorResponse(400, "invalid_tag", "Tag must be alphanumeric with . _ or - only", {}, requestId);
|
|
44
|
-
const dataDir = resolveDataDir();
|
|
45
|
-
const repoRef = normalizeVersion(tag);
|
|
46
|
-
try {
|
|
47
|
-
await seedUiBuild(repoRef, dataDir, { forceRemote: true });
|
|
48
|
-
} catch (e) {
|
|
49
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
50
|
-
logger.error("ui-version download failed", {
|
|
51
|
-
requestId,
|
|
52
|
-
error: msg
|
|
53
|
-
});
|
|
54
|
-
return errorResponse(502, "download_failed", msg, { message: msg }, requestId);
|
|
55
|
-
}
|
|
56
|
-
const supervisor = process.env.OP_UI_SUPERVISOR ?? "";
|
|
57
|
-
let restarting = false;
|
|
58
|
-
let pendingRestart = false;
|
|
59
|
-
if (supervisor === "electron") {
|
|
60
|
-
pendingRestart = true;
|
|
61
|
-
logger.info("ui-version downloaded (electron — client will restart via IPC)", {
|
|
62
|
-
requestId,
|
|
63
|
-
tag
|
|
64
|
-
});
|
|
65
|
-
} else if (supervisor && process.ppid && process.ppid > 1) try {
|
|
66
|
-
process.kill(process.ppid, "SIGUSR2");
|
|
67
|
-
restarting = true;
|
|
68
|
-
logger.info("ui-version restart signalled", {
|
|
69
|
-
requestId,
|
|
70
|
-
supervisor,
|
|
71
|
-
ppid: process.ppid
|
|
72
|
-
});
|
|
73
|
-
} catch (e) {
|
|
74
|
-
logger.warn("ui-version restart signal failed", {
|
|
75
|
-
requestId,
|
|
76
|
-
error: e instanceof Error ? e.message : String(e)
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
logger.info("ui-version downloaded", {
|
|
80
|
-
requestId,
|
|
81
|
-
tag,
|
|
82
|
-
restarting,
|
|
83
|
-
pendingRestart
|
|
84
|
-
});
|
|
85
|
-
return jsonResponse(200, {
|
|
86
|
-
ok: true,
|
|
87
|
-
tag,
|
|
88
|
-
restarting,
|
|
89
|
-
pendingRestart
|
|
90
|
-
}, requestId);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export { POST };
|
|
94
|
-
//# sourceMappingURL=_server.ts-BN6ghyoO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BN6ghyoO.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/ui-version/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, pt as seedUiBuild, vt as normalizeVersion, wt as resolveDataDir } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = normalizeVersion(tag);\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tlet pendingRestart = false;\n\tif (supervisor === \"electron\") {\n\t\tpendingRestart = true;\n\t\tlogger.info(\"ui-version downloaded (electron — client will restart via IPC)\", {\n\t\t\trequestId,\n\t\t\ttag\n\t\t});\n\t} else if (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGUSR2\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BNoq5yoF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/voice/_server.ts.js"],"sourcesContent":["import { A as getAddonProfileAvailability, D as setAddonEnabled, Dt as stackDirFor, E as listEnabledAddonIds, O as setAddonProfileSelection, X as readStackEnv, b as getAddonProfileSelection, j as addonProfileId, k as execFileNoThrow, t as buildComposeOptions, x as getAddonProfiles, y as annotateAddonProfileAvailability } from \"../../../../../chunks/compose-args.js\";\nimport { t as applyStack, v as composeStop } from \"../../../../../chunks/docker.js\";\nimport { X as dockerHasNvidiaRuntime, Y as detectRootlessDocker, u as writeVoiceVars } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { connect } from \"node:net\";\n//#region src/lib/server/voice-errors.ts\n/**\n* Translate raw docker / compose stderr into operator-actionable copy.\n*\n* Lives in $lib/server so the route can import it without violating\n* SvelteKit's +server.ts export rules (handlers + `_`-prefixed only).\n*\n* Pattern matches are intentionally case-insensitive and tolerant of\n* compose-CLI prefix decoration. Order matters: more specific patterns\n* first.\n*/\nfunction translateDockerError(stderr) {\n\tconst raw = (stderr ?? \"\").trim();\n\tif (!raw) return \"Docker reported an unknown error (no stderr).\";\n\tif (/spawn .*docker.*ENOENT|no such file or directory.*docker|docker:\\s*command not found/i.test(raw)) return \"Docker isn't installed on this host. Install Docker Engine or Docker Desktop, then retry.\";\n\tif (/pull access denied|manifest unknown|repository does not exist|not found: manifest unknown/i.test(raw)) return \"The voice image for this profile isn't published yet. Try the CPU profile.\";\n\tif (/failed to resolve reference|dial tcp.*lookup .+docker\\.io|i\\/o timeout.*registry|connection refused.*registry/i.test(raw)) return \"Can't reach Docker Hub. Check your internet connection, corporate firewall, or configure a registry mirror.\";\n\tif (/no space left on device|insufficient.*disk space|ENOSPC|write.*disk full/i.test(raw)) return \"Out of disk space. Free space and try again, or run `docker image prune -a` to reclaim unused images.\";\n\tif (/port is already allocated|bind.*address already in use|address already in use|failed to bind host port/i.test(raw)) return \"Port 8880 is already in use on this host. Free it or change the host port (set OP_VOICE_PORT_HOST).\";\n\tif (/unknown[^\\n]*runtime[^\\n]*nvidia|runtime\\s+\"nvidia\"\\s+not\\s+found|nvidia.*runtime.*not[^a-z]+(found|registered)/i.test(raw)) return \"The NVIDIA Docker runtime isn't registered on this machine. Try the CPU profile, or install nvidia-container-toolkit.\";\n\tif (/invoking the NVIDIA Container Runtime Hook/i.test(raw)) return \"Docker is in CDI mode but no CDI spec is registered. Try the CPU profile.\";\n\treturn raw.length > 300 ? `${raw.slice(0, 297)}…` : raw;\n}\n//#endregion\n//#region src/lib/server/voice/bring-up.ts\n/**\n* Voice addon bring-up engine — the Docker/compose infrastructure behind\n* PUT /api/host/voice. Extracted from the route so the HTTP handler stays a\n* thin request-validation + delegation layer (mirrors the\n* lib/server/endpoints.ts ↔ admin/endpoints/+server.ts split).\n*\n* Responsibilities:\n* - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)\n* - UI-local host probes (TCP port, container health) — the rootless /\n* nvidia-runtime host-fact probes live in lib (control-plane/voice-host-probes.ts)\n* beside hardware-detect.ts, since they inspect the host, not addon/UI state.\n* - Fallback-overlay SELECTION only: voice.compose.cdi.yml and\n* voice.compose.rootless.yml ship as static files in the skeleton's\n* managed system/stack/ tree (packages/skeleton/system/stack/) — nothing\n* here generates compose YAML.\n* - The in-memory background-job registry (activeJobs)\n* - The engageVoiceAddon orchestration that the route delegates to; the\n* actual compose-up + health-wait lifecycle (runBringUp) is a thin\n* shim over `@openpalm/lib`'s single `applyStack` driver (plan 2.2) —\n* this file keeps only job registry + progress-step rendering, plus the\n* \"warming\" re-probe and voice-specific error-copy translation that\n* applyStack's generic result doesn't carry.\n*\n* Everything here is server-only (uses node:child_process / node:net /\n* node:fs) and returns plain data — the route maps the results to HTTP\n* responses.\n*/\nvar VOICE_ADDON = \"voice\";\nvar VOICE_PROBE_TIMEOUT_MS = 18e4;\nvar PORT_PROBE_TIMEOUT_MS = 750;\nvar JOB_RETAIN_MS = 5 * 6e4;\nvar activeJobs = /* @__PURE__ */ new Map();\nfunction setJob(addon, patch) {\n\tconst existing = activeJobs.get(addon);\n\tconst next = existing ? {\n\t\t...existing,\n\t\t...patch\n\t} : {\n\t\tstate: \"pulling\",\n\t\tsteps: [],\n\t\tstartedAt: Date.now(),\n\t\t...patch\n\t};\n\tactiveJobs.set(addon, next);\n\treturn next;\n}\nfunction getActiveJob(addon) {\n\tconst job = activeJobs.get(addon);\n\tif (!job) return void 0;\n\tif (Date.now() - (job.finishedAt ?? job.startedAt) > JOB_RETAIN_MS) {\n\t\tactiveJobs.delete(addon);\n\t\treturn;\n\t}\n\treturn job;\n}\n/**\n* Pick the best profile for this host. Prefers the first available GPU\n* profile (anything that isn't the canonical CPU profile) so operators with NVIDIA/AMD hardware\n* get the accelerated variant auto-selected. Falls back to the labelled\n* default, then first available, then first profile.\n*/\nfunction resolveDefaultProfile(profiles) {\n\tif (profiles.length === 0) return null;\n\tconst availableGpu = profiles.find((p) => p.id !== addonProfileId(\"voice\", \"cpu\") && p.available !== false);\n\tif (availableGpu) return availableGpu.id;\n\tconst labelledDefault = profiles.find((p) => p.default);\n\tif (labelledDefault && labelledDefault.available !== false) return labelledDefault.id;\n\tconst firstAvailable = profiles.find((p) => p.available !== false);\n\tif (firstAvailable) return firstAvailable.id;\n\treturn profiles[0].id;\n}\nfunction voiceHostPort() {\n\tconst raw = process.env.OP_VOICE_PORT_HOST?.trim();\n\tconst n = raw ? Number(raw) : NaN;\n\treturn Number.isFinite(n) && n > 0 ? n : 8880;\n}\nfunction openpalmVoiceBaseURL() {\n\treturn `http://127.0.0.1:${voiceHostPort()}`;\n}\n/**\n* True when the local docker daemon already has the named image cached.\n* `docker image inspect` exits 0 only when the image is present locally.\n*/\nasync function dockerImagePresent(imageRef) {\n\tif (!imageRef) return true;\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"image\",\n\t\t\"inspect\",\n\t\timageRef\n\t], 5e3)).ok;\n}\n/**\n* Heuristic: image tags that include `-cu121` / `-rocm6` / `-cpu` are the\n* multi-GB voice images. Show the \"this may take a few minutes\" toast for\n* first pulls so the operator knows the upcoming compose-up isn't stuck.\n*/\nfunction isLargeImageTag(imageRef) {\n\treturn /(-cu\\d+|-rocm\\d+|-cpu)(\\s|$|@|\\b)/i.test(imageRef);\n}\nfunction resolveProjectName() {\n\treturn process.env.OP_PROJECT_NAME?.trim() || process.env.COMPOSE_PROJECT_NAME?.trim() || \"openpalm\";\n}\n/**\n* Read the resolved image for a service from the merged compose config.\n* Best-effort — returns \"\" on any failure so callers can skip the pre-pull\n* check rather than blocking save.\n*/\nasync function resolveServiceImage(composeFiles, service) {\n\tconst args = [\"compose\"];\n\tfor (const f of composeFiles) args.push(\"-f\", f);\n\targs.push(\"--project-name\", resolveProjectName(), \"config\", \"--format\", \"json\");\n\tconst res = await execFileNoThrow(\"docker\", args, 15e3);\n\tif (!res.ok) return \"\";\n\ttry {\n\t\treturn JSON.parse(res.stdout).services?.[service]?.image ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n/**\n* Probe a TCP port on 127.0.0.1. Resolves true when the connect succeeds\n* within PORT_PROBE_TIMEOUT_MS — meaning something is already listening.\n*/\nfunction isPortListening(port) {\n\treturn new Promise((resolve) => {\n\t\tconst socket = connect({\n\t\t\thost: \"127.0.0.1\",\n\t\t\tport\n\t\t});\n\t\tlet done = false;\n\t\tconst finish = (listening) => {\n\t\t\tif (done) return;\n\t\t\tdone = true;\n\t\t\ttry {\n\t\t\t\tsocket.destroy();\n\t\t\t} catch {}\n\t\t\tresolve(listening);\n\t\t};\n\t\tsocket.setTimeout(PORT_PROBE_TIMEOUT_MS, () => finish(false));\n\t\tsocket.once(\"connect\", () => finish(true));\n\t\tsocket.once(\"error\", () => finish(false));\n\t});\n}\n/**\n* True when a docker container whose name matches openpalm-voice* is\n* already running and presumably owns the host port. Used by the port\n* pre-flight to avoid false positives when our own voice container is\n* the listener.\n*/\nasync function ourVoiceContainerRunning() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t\"name=openpalm-voice\",\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3);\n\tif (!res.ok) return false;\n\treturn res.stdout.trim().length > 0;\n}\n/**\n* Read the Docker healthcheck state of a container.\n* Returns \"starting\" while compose's start_period grace window is in\n* effect; \"healthy\" / \"unhealthy\" / \"none\" / \"\" otherwise.\n*/\nasync function readContainerHealthStatus(containerNamePrefix) {\n\tconst name = (await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t`name=${containerNamePrefix}`,\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3)).stdout.split(\"\\n\").map((s) => s.trim()).find(Boolean);\n\tif (!name) return \"\";\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"inspect\",\n\t\tname,\n\t\t\"--format\",\n\t\t\"{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}\"\n\t], 5e3)).stdout.trim();\n}\n/** Path of the static CDI overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceCdiOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.cdi.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/** Path of the static rootless overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceRootlessOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.rootless.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/**\n* Stops services from OTHER profiles, then routes the actual compose-up +\n* health-wait through `@openpalm/lib`'s single {@link applyStack} driver\n* (plan 2.2) — this function no longer runs its own composeUp or /health\n* poll. `applyStack`'s health-wait reads the SAME docker HEALTHCHECK every\n* voice compose service already declares (`curl .../health` inside the\n* container, `start_period: 180s`), so it observes exactly what the removed\n* manual HTTP poll observed, just via `docker inspect` instead of a\n* host-side fetch loop.\n*\n* Returns the terminal state. Pushed `steps` get mutated in place so the\n* caller (sync or background) can read progress as it happens.\n*/\nasync function runBringUp(input) {\n\tconst { state, services, activeProfile, extraFiles, availableProfiles, steps } = input;\n\tlet composeOk;\n\tlet composeErr;\n\tlet healthy = false;\n\ttry {\n\t\tconst otherProfileServices = availableProfiles.filter((p) => p.id !== activeProfile).flatMap((p) => p.services).filter((svc) => !services.includes(svc));\n\t\tif (otherProfileServices.length > 0) try {\n\t\t\tawait composeStop(otherProfileServices, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop other profiles failed:\", e);\n\t\t}\n\t\tconst baseOpts = buildComposeOptions(state);\n\t\tconst result = await applyStack({\n\t\t\tkind: \"services\",\n\t\t\tservices\n\t\t}, {\n\t\t\tfiles: [...baseOpts.files, ...extraFiles],\n\t\t\tenvFiles: baseOpts.envFiles,\n\t\t\tprofiles: activeProfile ? [activeProfile] : baseOpts.profiles\n\t\t}, void 0, { healthTimeoutMs: VOICE_PROBE_TIMEOUT_MS });\n\t\tif (result.upFailed) {\n\t\t\tcomposeOk = false;\n\t\t\tcomposeErr = translateDockerError(result.rawStderr || result.error || \"compose up failed\");\n\t\t} else {\n\t\t\tcomposeOk = true;\n\t\t\thealthy = result.ok;\n\t\t}\n\t} catch (e) {\n\t\tcomposeOk = false;\n\t\tcomposeErr = translateDockerError(e instanceof Error ? e.message : String(e));\n\t}\n\tsteps.push({\n\t\tstep: \"compose-up\",\n\t\tok: composeOk,\n\t\t...composeErr ? { detail: composeErr.slice(0, 500) } : {}\n\t});\n\tif (!composeOk) return {\n\t\tcomposeOk,\n\t\tcomposeErr,\n\t\thealthy: false,\n\t\twarming: false,\n\t\tsteps\n\t};\n\tlet warming = false;\n\tif (!healthy) try {\n\t\tif (await readContainerHealthStatus(\"openpalm-voice\") === \"starting\") warming = true;\n\t} catch {}\n\tsteps.push({\n\t\tstep: \"healthy\",\n\t\tok: healthy || warming,\n\t\t...healthy ? {} : warming ? { detail: \"still warming up — refresh in a moment\" } : { detail: `did not become healthy within ${VOICE_PROBE_TIMEOUT_MS / 1e3}s` }\n\t});\n\treturn {\n\t\tcomposeOk,\n\t\thealthy,\n\t\twarming,\n\t\tsteps\n\t};\n}\n/**\n* Background variant: runs runBringUp and persists state transitions\n* into the activeJobs map. Returns nothing — the UI polls GET\n* /api/host/voice to observe completion.\n*/\nasync function runBringUpJob(input) {\n\tconst steps = [...input.baseSteps];\n\ttry {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"starting\",\n\t\t\tsteps\n\t\t});\n\t\tconst outcome = await runBringUp({\n\t\t\t...input,\n\t\t\tsteps\n\t\t});\n\t\tif (!outcome.composeOk) {\n\t\t\tsetJob(VOICE_ADDON, {\n\t\t\t\tstate: \"error\",\n\t\t\t\tsteps: outcome.steps,\n\t\t\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`,\n\t\t\t\tfinishedAt: Date.now()\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: outcome.healthy ? \"healthy\" : outcome.warming ? \"starting\" : \"error\",\n\t\t\tsteps: outcome.steps,\n\t\t\t...outcome.healthy || outcome.warming ? { error: void 0 } : { error: \"Voice addon is starting but did not become healthy in time.\" },\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t} catch (e) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"error\",\n\t\t\tsteps,\n\t\t\terror: e instanceof Error ? e.message : String(e),\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t}\n}\n/**\n* The full PUT /api/host/voice bring-up lifecycle after request validation:\n* auto-stop when disengaging, else resolve profile → enable addon →\n* port pre-flight → image inspect → host fallback overlays → background\n* short-circuit or synchronous compose-up + /health poll.\n*/\nasync function engageVoiceAddon(input) {\n\tconst { state, wantsVoiceAddon, requestedProfile } = input;\n\tif (!wantsVoiceAddon) {\n\t\tif (listEnabledAddonIds(state.homeDir).includes(\"voice\")) try {\n\t\t\tconst voiceServiceNames = getAddonProfiles(state.homeDir, VOICE_ADDON).flatMap((p) => p.services);\n\t\t\tconst unique = Array.from(new Set(voiceServiceNames));\n\t\t\tif (unique.length > 0) await composeStop(unique, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop on disengage failed:\", e);\n\t\t}\n\t\treturn { status: \"disengaged\" };\n\t}\n\tconst availableProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tlet activeProfile = null;\n\tif (requestedProfile) {\n\t\tif (!availableProfiles.some((p) => p.id === requestedProfile)) return {\n\t\t\tstatus: \"invalid_profile\",\n\t\t\tmessage: `Unknown voice profile \"${requestedProfile}\". Available: ${availableProfiles.map((p) => p.id).join(\", \") || \"(none)\"}`\n\t\t};\n\t\tactiveProfile = requestedProfile;\n\t\tsetAddonProfileSelection(state.homeDir, VOICE_ADDON, activeProfile);\n\t} else activeProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(availableProfiles);\n\tconst wasAlreadyEnabled = listEnabledAddonIds(state.homeDir).includes(VOICE_ADDON);\n\tconst steps = [];\n\tif (!wasAlreadyEnabled) try {\n\t\tsetAddonEnabled(state.homeDir, VOICE_ADDON, true, state);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: true\n\t\t});\n\t} catch (e) {\n\t\tconst detail = e instanceof Error ? e.message : String(e);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: false,\n\t\t\tdetail\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"error\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\terror: `Could not enable voice addon: ${detail}`\n\t\t};\n\t}\n\telse steps.push({\n\t\tstep: \"enable\",\n\t\tok: true,\n\t\tdetail: \"already enabled\"\n\t});\n\tconst hostPort = voiceHostPort();\n\tconst inVitest = !!process.env.VITEST;\n\tif (inVitest ? false : await isPortListening(hostPort)) {\n\t\tif (!await ourVoiceContainerRunning()) {\n\t\t\tconst msg = translateDockerError(`Bind for 127.0.0.1:${hostPort} failed: port is already allocated`);\n\t\t\tsteps.push({\n\t\t\t\tstep: \"port-check\",\n\t\t\t\tok: false,\n\t\t\t\tdetail: msg\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tstatus: \"error\",\n\t\t\t\twasAlreadyEnabled,\n\t\t\t\tsteps,\n\t\t\t\terror: msg\n\t\t\t};\n\t\t}\n\t\tsteps.push({\n\t\t\tstep: \"port-check\",\n\t\t\tok: true,\n\t\t\tdetail: \"our container is the listener\"\n\t\t});\n\t} else steps.push({\n\t\tstep: \"port-check\",\n\t\tok: true\n\t});\n\tconst profileServices = activeProfile ? availableProfiles.find((p) => p.id === activeProfile)?.services ?? [] : [];\n\tconst services = profileServices.length > 0 ? profileServices : [VOICE_ADDON];\n\tconst composeFilesBase = buildComposeOptions(state).files;\n\tconst primaryService = services[0];\n\tlet backgroundPull = false;\n\tif (primaryService && !inVitest) {\n\t\tconst imageRef = await resolveServiceImage(composeFilesBase, primaryService);\n\t\tif (imageRef && isLargeImageTag(imageRef)) {\n\t\t\tif (!await dockerImagePresent(imageRef)) {\n\t\t\t\tbackgroundPull = true;\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"pulling\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"first-time download — several minutes for several GB\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst extraFiles = [];\n\tconst cdiFallbackSupported = process.platform !== \"win32\";\n\tif (activeProfile === addonProfileId(\"voice\", \"cuda\") && !inVitest && cdiFallbackSupported) {\n\t\tconst runtimeMissing = (await getAddonProfileAvailability({ id: addonProfileId(\"voice\", \"cuda\") })).available === false || !await dockerHasNvidiaRuntime();\n\t\tconst cdiSpecPresent = existsSync(\"/etc/cdi/nvidia.yaml\");\n\t\tif (runtimeMissing && cdiSpecPresent) {\n\t\t\tconst overlay = voiceCdiOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"cdi-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"using CDI device reservation\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tif (!inVitest) try {\n\t\tif (await detectRootlessDocker()) {\n\t\t\tconst overlay = voiceRootlessOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"rootless-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"dropping user: directive for rootless Docker\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[voice] rootless detection failed:\", e);\n\t}\n\tif (backgroundPull) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"pulling\",\n\t\t\tsteps: [...steps],\n\t\t\tstartedAt: Date.now(),\n\t\t\tprofile: activeProfile ?? void 0,\n\t\t\tfinishedAt: void 0,\n\t\t\terror: void 0\n\t\t});\n\t\trunBringUpJob({\n\t\t\tstate,\n\t\t\tservices,\n\t\t\tactiveProfile,\n\t\t\textraFiles,\n\t\t\tavailableProfiles,\n\t\t\tbaseSteps: [...steps]\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"background\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\tmessage: \"Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/voice for progress; UI auto-refreshes.\"\n\t\t};\n\t}\n\tconst outcome = await runBringUp({\n\t\tstate,\n\t\tservices,\n\t\tactiveProfile,\n\t\textraFiles,\n\t\tavailableProfiles,\n\t\tsteps\n\t});\n\tif (!outcome.composeOk) return {\n\t\tstatus: \"error\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`\n\t};\n\treturn {\n\t\tstatus: \"final\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\thealthy: outcome.healthy,\n\t\twarming: outcome.warming\n\t};\n}\n//#endregion\n//#region src/routes/api/host/voice/+server.ts\nvar REACHABILITY_TIMEOUT_MS = 1500;\nasync function probeReachable(baseURL) {\n\tif (!baseURL) return false;\n\tconst url = `${baseURL.replace(/\\/+$/, \"\")}/v1/models`;\n\ttry {\n\t\treturn (await fetch(url, {\n\t\t\tmethod: \"GET\",\n\t\t\tsignal: AbortSignal.timeout(REACHABILITY_TIMEOUT_MS)\n\t\t})).status < 500;\n\t} catch {\n\t\treturn false;\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst env = readStackEnv(state.homeDir);\n\tconst ttsBaseURL = env.OP_TTS_BASE_URL ?? \"\";\n\tconst sttBaseURL = env.OP_STT_BASE_URL ?? \"\";\n\tconst profiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tconst selectedProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(profiles);\n\tconst [sttReachable, ttsReachable] = await Promise.all([probeReachable(sttBaseURL), probeReachable(ttsBaseURL)]);\n\treturn jsonResponse(200, {\n\t\ttts: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_TTS_PROVIDER ?? \"\",\n\t\t\tbaseURL: ttsBaseURL,\n\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t},\n\t\tstt: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_STT_PROVIDER ?? \"\",\n\t\t\tbaseURL: sttBaseURL,\n\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t},\n\t\tavailability: {\n\t\t\tstt: {\n\t\t\t\tremoteConfigured: Boolean(sttBaseURL),\n\t\t\t\tremoteReachable: sttReachable\n\t\t\t},\n\t\t\ttts: {\n\t\t\t\tremoteConfigured: Boolean(ttsBaseURL),\n\t\t\t\tremoteReachable: ttsReachable\n\t\t\t}\n\t\t},\n\t\taddon: {\n\t\t\tprofiles,\n\t\t\tselectedProfile,\n\t\t\t...getActiveJob(\"voice\") ? { activeJob: getActiveJob(VOICE_ADDON) } : {}\n\t\t}\n\t}, requestId);\n};\nfunction readSection(raw, kind) {\n\tif (!raw || typeof raw !== \"object\") return null;\n\tconst section = {\n\t\tenabled: raw.enabled !== false,\n\t\tengine: typeof raw.engine === \"string\" ? raw.engine : void 0,\n\t\tprovider: typeof raw.provider === \"string\" ? raw.provider : void 0,\n\t\tbaseURL: typeof raw.baseURL === \"string\" ? raw.baseURL : void 0,\n\t\tmodel: typeof raw.model === \"string\" ? raw.model : void 0\n\t};\n\tif (kind === \"tts\" && typeof raw.voice === \"string\") section.voice = raw.voice;\n\tif (kind === \"stt\" && typeof raw.language === \"string\") section.language = raw.language;\n\treturn section;\n}\nvar OPENPALM_VOICE_TTS_MODEL = \"kokoro\";\nvar OPENPALM_VOICE_STT_MODEL = \"whisper-1\";\nvar OPENPALM_VOICE_DEFAULT_VOICE = \"bf_isabella\";\n/**\n* For `engine === 'openpalm-voice'`, fill in baseURL/model with the addon's\n* preset values when the user didn't provide them. This is the auto-config\n* that makes \"select OpenPalm Voice → Save\" Just Work as long as the addon\n* is enabled. The user can still override (e.g. point at a different\n* voice host on the LAN).\n*/\nfunction applyOpenPalmVoicePreset(section, kind) {\n\tif (section.engine !== \"openpalm-voice\") return;\n\tif (!section.baseURL?.trim()) section.baseURL = openpalmVoiceBaseURL();\n\tif (!section.model?.trim()) section.model = kind === \"tts\" ? OPENPALM_VOICE_TTS_MODEL : OPENPALM_VOICE_STT_MODEL;\n\tif (kind === \"tts\" && !section.voice?.trim()) section.voice = OPENPALM_VOICE_DEFAULT_VOICE;\n}\nfunction validateSection(section, kind) {\n\tif (!section?.engine) return null;\n\tif (section.engine === \"browser\" || section.engine === \"browser-stt\" || section.engine === \"browser-tts\") return null;\n\tif (section.engine.startsWith(\"skip-\")) return null;\n\tif (!section.baseURL?.trim()) return `Remote ${kind.toUpperCase()} requires an endpoint URL.`;\n\treturn null;\n}\nvar PUT = (event) => {\n\treturn withSerialQueue(\"admin:voice:put\", () => handlePut(event));\n};\nasync function handlePut(event) {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"Bad Request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tif (!body || typeof body !== \"object\") return errorResponse(400, \"Bad Request\", \"Body must be an object\", {}, requestId);\n\tconst b = body;\n\tconst ttsSection = readSection(b.tts, \"tts\");\n\tconst sttSection = readSection(b.stt, \"stt\");\n\tif (ttsSection) applyOpenPalmVoicePreset(ttsSection, \"tts\");\n\tif (sttSection) applyOpenPalmVoicePreset(sttSection, \"stt\");\n\tconst ttsErr = validateSection(ttsSection, \"tts\");\n\tif (ttsErr) return errorResponse(400, \"invalid_tts\", ttsErr, {}, requestId);\n\tconst sttErr = validateSection(sttSection, \"stt\");\n\tif (sttErr) return errorResponse(400, \"invalid_stt\", sttErr, {}, requestId);\n\tconst config = {};\n\tif (ttsSection) config.tts = {\n\t\tenabled: ttsSection.enabled,\n\t\tengine: ttsSection.engine,\n\t\tprovider: ttsSection.provider,\n\t\tbaseURL: ttsSection.baseURL,\n\t\tmodel: ttsSection.model,\n\t\tvoice: ttsSection.voice\n\t};\n\tif (sttSection) config.stt = {\n\t\tenabled: sttSection.enabled,\n\t\tengine: sttSection.engine,\n\t\tprovider: sttSection.provider,\n\t\tbaseURL: sttSection.baseURL,\n\t\tmodel: sttSection.model,\n\t\tlanguage: sttSection.language\n\t};\n\twriteVoiceVars(config, state.homeDir);\n\tconst result = await engageVoiceAddon({\n\t\tstate,\n\t\twantsVoiceAddon: ttsSection?.engine === \"openpalm-voice\" || sttSection?.engine === \"openpalm-voice\",\n\t\trequestedProfile: typeof b.profile === \"string\" ? b.profile.trim() : \"\"\n\t});\n\tswitch (result.status) {\n\t\tcase \"disengaged\": return jsonResponse(200, { ok: true }, requestId);\n\t\tcase \"invalid_profile\": return errorResponse(400, \"invalid_profile\", result.message, {}, requestId);\n\t\tcase \"error\": return jsonResponse(502, {\n\t\t\tok: false,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tsteps: result.steps,\n\t\t\t\terror: result.error\n\t\t\t}\n\t\t}, requestId);\n\t\tcase \"background\": return jsonResponse(202, {\n\t\t\tok: true,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tstatus: \"pulling\",\n\t\t\t\tsteps: result.steps,\n\t\t\t\tmessage: result.message\n\t\t\t}\n\t\t}, requestId);\n\t\tcase \"final\": return jsonResponse(result.healthy || result.warming ? 200 : 502, {\n\t\t\tok: result.healthy || result.warming,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tsteps: result.steps,\n\t\t\t\t...result.warming ? { warming: true } : {},\n\t\t\t\t...result.healthy || result.warming ? {} : { error: \"Voice addon is starting but did not become healthy in time.\" }\n\t\t\t}\n\t\t}, requestId);\n\t}\n}\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
|