@openpalm/ui 0.13.0-beta.7 → 0.13.0-beta.8
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/README.md +3 -2
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css +1 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css +1 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.br +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{BE_4J5sS.js → B9uMOgDZ.js} +2 -2
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js +1 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.br +2 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{mNzUu332.js → C092q_Hl.js} +1 -1
- package/build/client/_app/immutable/chunks/C092q_Hl.js.br +0 -0
- package/build/client/_app/immutable/chunks/C092q_Hl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js +1 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CuKFR3Qo.js → CR3nChHO.js} +2 -2
- package/build/client/_app/immutable/chunks/CR3nChHO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR3nChHO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Clt9pCG1.js → CXv_deBx.js} +1 -1
- package/build/client/_app/immutable/chunks/CXv_deBx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXv_deBx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js +9 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js +1 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js +1 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.br +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BdIq5WIo.js → qrqTdjh7.js} +1 -1
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.br +0 -0
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DKG33-gU.js → app.CXHi3StM.js} +2 -2
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.br +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.eA5H3idZ.js → 0.Bfv0aXoG.js} +1 -1
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CvKFymDh.js → 1.B8Ebge5I.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.DFMf8WUQ.js → 10.Di4b61Rb.js} +1 -1
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js +8 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js +1 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.bgdUYUlr.js → 5.BGqmDWpO.js} +1 -1
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js +2 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js +16 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js +128 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.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-D9FIO-Bk.js → 0-D8UAPThv.js} +12 -6
- package/build/server/chunks/0-D8UAPThv.js.map +1 -0
- package/build/server/chunks/1-bS23Eg-d.js +9 -0
- package/build/server/chunks/{1-ItPJxTHP.js.map → 1-bS23Eg-d.js.map} +1 -1
- package/build/server/chunks/{10-B4fDiATl.js → 10-C5TUqG1t.js} +3 -3
- package/build/server/chunks/{10-B4fDiATl.js.map → 10-C5TUqG1t.js.map} +1 -1
- package/build/server/chunks/11-DSjZgp33.js +9 -0
- package/build/server/chunks/11-DSjZgp33.js.map +1 -0
- package/build/server/chunks/{3-DpC38K23.js → 3-D0iTJ9v2.js} +6 -6
- package/build/server/chunks/{3-DpC38K23.js.map → 3-D0iTJ9v2.js.map} +1 -1
- package/build/server/chunks/{4-DrJ64j1x.js → 4-CHJRF8qs.js} +3 -3
- package/build/server/chunks/{4-DrJ64j1x.js.map → 4-CHJRF8qs.js.map} +1 -1
- package/build/server/chunks/{5-BxzwX0rY.js → 5-CwCiwnFt.js} +3 -3
- package/build/server/chunks/{5-BxzwX0rY.js.map → 5-CwCiwnFt.js.map} +1 -1
- package/build/server/chunks/6-raswytzE.js +9 -0
- package/build/server/chunks/{6-DxXeT1e3.js.map → 6-raswytzE.js.map} +1 -1
- package/build/server/chunks/7-NC4-KlW9.js +9 -0
- package/build/server/chunks/7-NC4-KlW9.js.map +1 -0
- package/build/server/chunks/9-rIsHxfiY.js +9 -0
- package/build/server/chunks/9-rIsHxfiY.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js → ChatNavbar-DqdxDR5U.js} +9 -9
- package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js.map → ChatNavbar-DqdxDR5U.js.map} +1 -1
- package/build/server/chunks/IconMic-CZN60P6B.js +10 -0
- package/build/server/chunks/IconMic-CZN60P6B.js.map +1 -0
- package/build/server/chunks/{IconServer-DkywyVFu.js → IconServer-BwcRjcsS.js} +4 -4
- package/build/server/chunks/{IconServer-DkywyVFu.js.map → IconServer-BwcRjcsS.js.map} +1 -1
- package/build/server/chunks/{IconSoundOn-DoAiK-qp.js → IconSoundOn-DTZuBn2-.js} +4 -4
- package/build/server/chunks/{IconSoundOn-DoAiK-qp.js.map → IconSoundOn-DTZuBn2-.js.map} +1 -1
- package/build/server/chunks/{IconStop-DKVpXPKq.js → IconStop-BxUfqTaV.js} +114 -847
- package/build/server/chunks/IconStop-BxUfqTaV.js.map +1 -0
- package/build/server/chunks/{QuestionCard-BCfoxMiS.js → QuestionCard-DOLuSSbI.js} +2 -2
- package/build/server/chunks/{QuestionCard-BCfoxMiS.js.map → QuestionCard-DOLuSSbI.js.map} +1 -1
- package/build/server/chunks/Spinner-2WZW6r_I.js +12 -0
- package/build/server/chunks/Spinner-2WZW6r_I.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-DArOWGd3.js → _layout.svelte-CBBWJ3m3.js} +2 -3
- package/build/server/chunks/{_layout.svelte-DArOWGd3.js.map → _layout.svelte-CBBWJ3m3.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-S90xJHRa.js → _page.svelte-CYzntFY4.js} +10 -10
- package/build/server/chunks/{_page.svelte-S90xJHRa.js.map → _page.svelte-CYzntFY4.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CGEtuNmS.js → _page.svelte-CysG6Te2.js} +13 -13
- package/build/server/chunks/_page.svelte-CysG6Te2.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dpf94Jor.js → _page.svelte-D-_cPU8e.js} +3 -3
- package/build/server/chunks/{_page.svelte-Dpf94Jor.js.map → _page.svelte-D-_cPU8e.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-qxgG6hsh.js → _page.svelte-D4hOWjfm.js} +61 -351
- package/build/server/chunks/_page.svelte-D4hOWjfm.js.map +1 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js +183 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js.map +1 -0
- package/build/server/chunks/{_page.svelte-FOm-OMQe.js → _page.svelte-DjldYxQn.js} +25 -133
- package/build/server/chunks/_page.svelte-DjldYxQn.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B2cX_j9w.js → _page.svelte-DsJgu4mW.js} +3 -3
- package/build/server/chunks/{_page.svelte-B2cX_j9w.js.map → _page.svelte-DsJgu4mW.js.map} +1 -1
- package/build/server/chunks/_server.ts-1qbl_1NY.js +87 -0
- package/build/server/chunks/_server.ts-1qbl_1NY.js.map +1 -0
- package/build/server/chunks/{_server.ts-DQI9hYcE.js → _server.ts-2VPdIZFH.js} +6 -6
- package/build/server/chunks/{_server.ts-DQI9hYcE.js.map → _server.ts-2VPdIZFH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5T_Zuoy.js → _server.ts-68MuZYx_.js} +7 -7
- package/build/server/chunks/{_server.ts-C5T_Zuoy.js.map → _server.ts-68MuZYx_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cph8nHvr.js → _server.ts-8AfutA1j.js} +6 -6
- package/build/server/chunks/{_server.ts-Cph8nHvr.js.map → _server.ts-8AfutA1j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ZKEBn-qW.js → _server.ts-B-5y1hA4.js} +8 -8
- package/build/server/chunks/{_server.ts-ZKEBn-qW.js.map → _server.ts-B-5y1hA4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cjo35hc1.js → _server.ts-B1CunPF7.js} +6 -6
- package/build/server/chunks/{_server.ts-Cjo35hc1.js.map → _server.ts-B1CunPF7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYLc6Os9.js → _server.ts-B1KGSkdl.js} +6 -6
- package/build/server/chunks/{_server.ts-DYLc6Os9.js.map → _server.ts-B1KGSkdl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_7lGoo_.js → _server.ts-B2NALEcR.js} +6 -6
- package/build/server/chunks/{_server.ts-B_7lGoo_.js.map → _server.ts-B2NALEcR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-i9TaUbWr.js → _server.ts-B2iUBxXh.js} +8 -8
- package/build/server/chunks/{_server.ts-i9TaUbWr.js.map → _server.ts-B2iUBxXh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IEM_8o6U.js → _server.ts-BN8EkPAZ.js} +7 -7
- package/build/server/chunks/{_server.ts-IEM_8o6U.js.map → _server.ts-BN8EkPAZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-N_mH0t0f.js → _server.ts-BQJfEfl9.js} +6 -6
- package/build/server/chunks/{_server.ts-N_mH0t0f.js.map → _server.ts-BQJfEfl9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4tBc7fm.js → _server.ts-BQSMacks.js} +9 -9
- package/build/server/chunks/{_server.ts-C4tBc7fm.js.map → _server.ts-BQSMacks.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vJBq3idp.js → _server.ts-BYt64wi5.js} +2 -2
- package/build/server/chunks/{_server.ts-vJBq3idp.js.map → _server.ts-BYt64wi5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWMJRzwx.js → _server.ts-Ba0MJSs9.js} +6 -6
- package/build/server/chunks/{_server.ts-BWMJRzwx.js.map → _server.ts-Ba0MJSs9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1vQkdVA.js → _server.ts-BdIM_pWg.js} +8 -8
- package/build/server/chunks/{_server.ts-B1vQkdVA.js.map → _server.ts-BdIM_pWg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYg52Wyj.js → _server.ts-BfxTJHa-.js} +6 -6
- package/build/server/chunks/{_server.ts-DYg52Wyj.js.map → _server.ts-BfxTJHa-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMfz71Do.js → _server.ts-BiVyFRNv.js} +6 -6
- package/build/server/chunks/{_server.ts-CMfz71Do.js.map → _server.ts-BiVyFRNv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vlaPk3to.js → _server.ts-BrgEQhDo.js} +6 -6
- package/build/server/chunks/{_server.ts-vlaPk3to.js.map → _server.ts-BrgEQhDo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BKnCIXe5.js → _server.ts-BtZN_8lV.js} +6 -6
- package/build/server/chunks/{_server.ts-BKnCIXe5.js.map → _server.ts-BtZN_8lV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhA9ywuA.js → _server.ts-Bx0PXf1w.js} +6 -6
- package/build/server/chunks/{_server.ts-BhA9ywuA.js.map → _server.ts-Bx0PXf1w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkVeEW46.js → _server.ts-Byaj9iKd.js} +6 -6
- package/build/server/chunks/{_server.ts-CkVeEW46.js.map → _server.ts-Byaj9iKd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-oSGbQw4A.js → _server.ts-C1kDLq6m.js} +6 -6
- package/build/server/chunks/{_server.ts-oSGbQw4A.js.map → _server.ts-C1kDLq6m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLMsuxkK.js → _server.ts-C28zIW49.js} +6 -6
- package/build/server/chunks/{_server.ts-CLMsuxkK.js.map → _server.ts-C28zIW49.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHaFrgm9.js → _server.ts-C2F80x6V.js} +7 -7
- package/build/server/chunks/{_server.ts-BHaFrgm9.js.map → _server.ts-C2F80x6V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BOn4TCRw.js → _server.ts-C70sKEjH.js} +7 -7
- package/build/server/chunks/{_server.ts-BOn4TCRw.js.map → _server.ts-C70sKEjH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CYu5XSM8.js → _server.ts-C754EzJA.js} +6 -6
- package/build/server/chunks/{_server.ts-CYu5XSM8.js.map → _server.ts-C754EzJA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B7319d6O.js → _server.ts-C8n83Xl1.js} +6 -6
- package/build/server/chunks/{_server.ts-B7319d6O.js.map → _server.ts-C8n83Xl1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DQTJ_bFp.js → _server.ts-CC6Bt-9t.js} +7 -7
- package/build/server/chunks/{_server.ts-DQTJ_bFp.js.map → _server.ts-CC6Bt-9t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Y5pBzFz4.js → _server.ts-CJ76gcOX.js} +6 -6
- package/build/server/chunks/{_server.ts-Y5pBzFz4.js.map → _server.ts-CJ76gcOX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3iKXyUo.js → _server.ts-CMW6wbwP.js} +6 -6
- package/build/server/chunks/{_server.ts-B3iKXyUo.js.map → _server.ts-CMW6wbwP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pf6WrGLo.js → _server.ts-CNjG4x1a.js} +6 -6
- package/build/server/chunks/{_server.ts-pf6WrGLo.js.map → _server.ts-CNjG4x1a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DhcBS9KQ.js → _server.ts-CRl7GqvU.js} +6 -6
- package/build/server/chunks/{_server.ts-DhcBS9KQ.js.map → _server.ts-CRl7GqvU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6-C5ctd.js → _server.ts-CUBWjRlp.js} +7 -7
- package/build/server/chunks/{_server.ts-D6-C5ctd.js.map → _server.ts-CUBWjRlp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-uAgtQC.js → _server.ts-CYoKjlbj.js} +6 -6
- package/build/server/chunks/{_server.ts-B-uAgtQC.js.map → _server.ts-CYoKjlbj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cu48eVwM.js → _server.ts-CafJDVBQ.js} +2 -2
- package/build/server/chunks/{_server.ts-Cu48eVwM.js.map → _server.ts-CafJDVBQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CvjVUcFR.js → _server.ts-Cd9hDiKk.js} +6 -6
- package/build/server/chunks/{_server.ts-CvjVUcFR.js.map → _server.ts-Cd9hDiKk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgL3_hTS.js → _server.ts-CgQfVR3g.js} +7 -7
- package/build/server/chunks/{_server.ts-BgL3_hTS.js.map → _server.ts-CgQfVR3g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtZ9-ZYu.js → _server.ts-CilbVIRO.js} +2 -2
- package/build/server/chunks/{_server.ts-BtZ9-ZYu.js.map → _server.ts-CilbVIRO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSBd_6yC.js → _server.ts-Ck25Xm32.js} +7 -7
- package/build/server/chunks/{_server.ts-CSBd_6yC.js.map → _server.ts-Ck25Xm32.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvUVX3X0.js → _server.ts-Cp-_qWC_.js} +7 -7
- package/build/server/chunks/{_server.ts-DvUVX3X0.js.map → _server.ts-Cp-_qWC_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-7pcCO8Pf.js → _server.ts-CuEFmJ07.js} +7 -7
- package/build/server/chunks/{_server.ts-7pcCO8Pf.js.map → _server.ts-CuEFmJ07.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DR0kmbl9.js → _server.ts-D5vc4lGC.js} +6 -6
- package/build/server/chunks/{_server.ts-DR0kmbl9.js.map → _server.ts-D5vc4lGC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtkA_Ld0.js → _server.ts-DDLE66QT.js} +7 -7
- package/build/server/chunks/{_server.ts-CtkA_Ld0.js.map → _server.ts-DDLE66QT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xQhNjF_X.js → _server.ts-DEF1ChPD.js} +6 -6
- package/build/server/chunks/{_server.ts-xQhNjF_X.js.map → _server.ts-DEF1ChPD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BH8Y1mmb.js → _server.ts-DHUtPRWK.js} +4 -4
- package/build/server/chunks/{_server.ts-BH8Y1mmb.js.map → _server.ts-DHUtPRWK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0MK-ynu.js → _server.ts-DHoTyKXL.js} +14 -10
- package/build/server/chunks/_server.ts-DHoTyKXL.js.map +1 -0
- package/build/server/chunks/{_server.ts-BaEUZaLH.js → _server.ts-DSB9Fzwa.js} +4 -4
- package/build/server/chunks/{_server.ts-BaEUZaLH.js.map → _server.ts-DSB9Fzwa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc1s3sLN.js → _server.ts-DW36Vbiq.js} +6 -6
- package/build/server/chunks/{_server.ts-Dc1s3sLN.js.map → _server.ts-DW36Vbiq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-v3cF2xWi.js → _server.ts-DWG4CKWG.js} +6 -6
- package/build/server/chunks/{_server.ts-v3cF2xWi.js.map → _server.ts-DWG4CKWG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCTZbI7L.js → _server.ts-DXxQIT2o.js} +7 -7
- package/build/server/chunks/{_server.ts-CCTZbI7L.js.map → _server.ts-DXxQIT2o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSYdjKAH.js → _server.ts-Da8_J1a4.js} +7 -7
- package/build/server/chunks/{_server.ts-CSYdjKAH.js.map → _server.ts-Da8_J1a4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DeuURP8u.js → _server.ts-DcH5edss.js} +6 -6
- package/build/server/chunks/{_server.ts-DeuURP8u.js.map → _server.ts-DcH5edss.js.map} +1 -1
- package/build/server/chunks/{_server.ts-iXjPBf7J.js → _server.ts-DiHLYNbQ.js} +7 -7
- package/build/server/chunks/{_server.ts-iXjPBf7J.js.map → _server.ts-DiHLYNbQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fenM6Iln.js → _server.ts-Dio2CslE.js} +7 -7
- package/build/server/chunks/_server.ts-Dio2CslE.js.map +1 -0
- package/build/server/chunks/{_server.ts-DcpOpD6s.js → _server.ts-Dlt1obi9.js} +6 -6
- package/build/server/chunks/{_server.ts-DcpOpD6s.js.map → _server.ts-Dlt1obi9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CEUFtmpE.js → _server.ts-Ds0U_zKR.js} +7 -7
- package/build/server/chunks/{_server.ts-CEUFtmpE.js.map → _server.ts-Ds0U_zKR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DlKT-RbM.js → _server.ts-DsVsFcf8.js} +15 -10
- package/build/server/chunks/_server.ts-DsVsFcf8.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCpQ8Qdr.js → _server.ts-Du3PIYf8.js} +6 -6
- package/build/server/chunks/{_server.ts-BCpQ8Qdr.js.map → _server.ts-Du3PIYf8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-3bBG0DBN.js → _server.ts-Duzj6Wm_.js} +6 -18
- package/build/server/chunks/_server.ts-Duzj6Wm_.js.map +1 -0
- package/build/server/chunks/{_server.ts-BGTw6w-C.js → _server.ts-DyaoaWIS.js} +7 -7
- package/build/server/chunks/{_server.ts-BGTw6w-C.js.map → _server.ts-DyaoaWIS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CxH-7UEc.js → _server.ts-EYtSo6HZ.js} +6 -6
- package/build/server/chunks/{_server.ts-CxH-7UEc.js.map → _server.ts-EYtSo6HZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgOS_sDK.js → _server.ts-JvnkkOhX.js} +7 -7
- package/build/server/chunks/{_server.ts-BgOS_sDK.js.map → _server.ts-JvnkkOhX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzV6EO26.js → _server.ts-N0u5ruZe.js} +6 -6
- package/build/server/chunks/{_server.ts-DzV6EO26.js.map → _server.ts-N0u5ruZe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0XsGdhx.js → _server.ts-NdCztCBP.js} +6 -6
- package/build/server/chunks/{_server.ts-D0XsGdhx.js.map → _server.ts-NdCztCBP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFKGqT4L.js → _server.ts-OGUKP5Tu.js} +6 -6
- package/build/server/chunks/{_server.ts-CFKGqT4L.js.map → _server.ts-OGUKP5Tu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuO_GU5A.js → _server.ts-Q1KEyBck.js} +6 -6
- package/build/server/chunks/{_server.ts-DuO_GU5A.js.map → _server.ts-Q1KEyBck.js.map} +1 -1
- package/build/server/chunks/{_server.ts-z5C3PAAB.js → _server.ts-TIRuudir.js} +2 -2
- package/build/server/chunks/{_server.ts-z5C3PAAB.js.map → _server.ts-TIRuudir.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DXwG4w1_.js → _server.ts-WTZtC5sX.js} +10 -4
- package/build/server/chunks/_server.ts-WTZtC5sX.js.map +1 -0
- package/build/server/chunks/{_server.ts-DR_9WXW4.js → _server.ts-WsWoJE5V.js} +8 -8
- package/build/server/chunks/{_server.ts-DR_9WXW4.js.map → _server.ts-WsWoJE5V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CjeMP5Vf.js → _server.ts-X8GX4ChJ.js} +6 -6
- package/build/server/chunks/{_server.ts-CjeMP5Vf.js.map → _server.ts-X8GX4ChJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts--F22byeV.js → _server.ts-XIc2PDRd.js} +7 -7
- package/build/server/chunks/{_server.ts--F22byeV.js.map → _server.ts-XIc2PDRd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQeqwCqj.js → _server.ts-YsFgaaVd.js} +6 -6
- package/build/server/chunks/{_server.ts-CQeqwCqj.js.map → _server.ts-YsFgaaVd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpyfojV9.js → _server.ts-bOcb37D9.js} +7 -7
- package/build/server/chunks/{_server.ts-CpyfojV9.js.map → _server.ts-bOcb37D9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yZ8CGJNE.js → _server.ts-e_8LykNe.js} +7 -7
- package/build/server/chunks/{_server.ts-yZ8CGJNE.js.map → _server.ts-e_8LykNe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CY-GNKZT.js → _server.ts-hLimfy8i.js} +6 -6
- package/build/server/chunks/{_server.ts-CY-GNKZT.js.map → _server.ts-hLimfy8i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-AC1zqetQ.js → _server.ts-khI1sqja.js} +2 -2
- package/build/server/chunks/{_server.ts-AC1zqetQ.js.map → _server.ts-khI1sqja.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BF5JzSrs.js → _server.ts-p1Z3DBlr.js} +6 -6
- package/build/server/chunks/{_server.ts-BF5JzSrs.js.map → _server.ts-p1Z3DBlr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvfnkNfI.js → _server.ts-uzB454LO.js} +7 -7
- package/build/server/chunks/{_server.ts-DvfnkNfI.js.map → _server.ts-uzB454LO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jqktLs6L.js → _server.ts-wKSTgSwf.js} +6 -6
- package/build/server/chunks/{_server.ts-jqktLs6L.js.map → _server.ts-wKSTgSwf.js.map} +1 -1
- package/build/server/chunks/addon-helpers-DaC3GR9u.js +153 -0
- package/build/server/chunks/addon-helpers-DaC3GR9u.js.map +1 -0
- package/build/server/chunks/{admin-update-lock-B-z4UE8R.js → admin-update-lock-Bu3VvAoN.js} +3 -3
- package/build/server/chunks/{admin-update-lock-B-z4UE8R.js.map → admin-update-lock-Bu3VvAoN.js.map} +1 -1
- package/build/server/chunks/{akm-C4NCZfJB.js → akm-DsJ8_uuW.js} +2 -2
- package/build/server/chunks/{akm-C4NCZfJB.js.map → akm-DsJ8_uuW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-08JCSzPu.js → bring-up-BBKMJltU.js} +30 -228
- package/build/server/chunks/bring-up-BBKMJltU.js.map +1 -0
- package/build/server/chunks/{catalog-Czlhb_2V.js → catalog-8d-U0FbY.js} +5 -5
- package/build/server/chunks/{catalog-Czlhb_2V.js.map → catalog-8d-U0FbY.js.map} +1 -1
- package/build/server/chunks/{client-HEAniq5u.js → client-CHoZA_w9.js} +2 -2
- package/build/server/chunks/{client-HEAniq5u.js.map → client-CHoZA_w9.js.map} +1 -1
- package/build/server/chunks/{compose-args2-B1cYvF5r.js → compose-args2-C9sLS6QR.js} +2 -2
- package/build/server/chunks/compose-args2-C9sLS6QR.js.map +1 -0
- package/build/server/chunks/{config-C15S-ENd.js → config-ChxZZk6h.js} +2 -2
- package/build/server/chunks/{config-C15S-ENd.js.map → config-ChxZZk6h.js.map} +1 -1
- package/build/server/chunks/{docker2-CF7qyd1U.js → docker2-DGq6J3Kp.js} +2 -2
- package/build/server/chunks/docker2-DGq6J3Kp.js.map +1 -0
- package/build/server/chunks/{docker3-BsPagEza.js → docker3-DFlJ-o_d.js} +2 -2
- package/build/server/chunks/{docker3-BsPagEza.js.map → docker3-DFlJ-o_d.js.map} +1 -1
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C-lukbaB.js → error.svelte-BXxIEYd4.js} +4 -4
- package/build/server/chunks/{error.svelte-C-lukbaB.js.map → error.svelte-BXxIEYd4.js.map} +1 -1
- package/build/server/chunks/{features-DltizIi4.js → features-D8Ez2vwC.js} +26 -4
- package/build/server/chunks/features-D8Ez2vwC.js.map +1 -0
- package/build/server/chunks/{helpers-DWpoPvHz.js → helpers-BrD1e__f.js} +4 -4
- package/build/server/chunks/{helpers-DWpoPvHz.js.map → helpers-BrD1e__f.js.map} +1 -1
- package/build/server/chunks/{hooks.server-BcdEyWVU.js → hooks.server-Blba-Qw7.js} +9 -9
- package/build/server/chunks/{hooks.server-BcdEyWVU.js.map → hooks.server-Blba-Qw7.js.map} +1 -1
- package/build/server/chunks/{http-7E5W3vGt.js → http-B4Us23Mo.js} +2 -2
- package/build/server/chunks/{http-7E5W3vGt.js.map → http-B4Us23Mo.js.map} +1 -1
- package/build/server/chunks/{internal-BNSUwl-r.js → internal-CSnzBDeT.js} +3 -3
- package/build/server/chunks/{internal-BNSUwl-r.js.map → internal-CSnzBDeT.js.map} +1 -1
- package/build/server/chunks/{landing-DY53l_CN.js → landing-DxFOhZxH.js} +5 -5
- package/build/server/chunks/{landing-DY53l_CN.js.map → landing-DxFOhZxH.js.map} +1 -1
- package/build/server/chunks/{opencode-target-DYD2zQ4l.js → opencode-target-D4BxXYHJ.js} +3 -3
- package/build/server/chunks/{opencode-target-DYD2zQ4l.js.map → opencode-target-D4BxXYHJ.js.map} +1 -1
- package/build/server/chunks/{paths-BVdkvR9U.js → paths-6f-5gYkd.js} +2 -2
- package/build/server/chunks/{paths-BVdkvR9U.js.map → paths-6f-5gYkd.js.map} +1 -1
- package/build/server/chunks/{session-cookie-D2_H1UEW.js → session-cookie-5J3xCH94.js} +2 -2
- package/build/server/chunks/{session-cookie-D2_H1UEW.js.map → session-cookie-5J3xCH94.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-C1h733rH.js → setup-deploy-DUbX3fHm.js} +2 -2
- package/build/server/chunks/{setup-deploy-C1h733rH.js.map → setup-deploy-DUbX3fHm.js.map} +1 -1
- package/build/server/chunks/{src-B2-r_9oB.js → src-B2wHibme.js} +55 -70
- package/build/server/chunks/src-B2wHibme.js.map +1 -0
- package/build/server/chunks/{state-Dkjz2T4C.js → state-JIy0tegD.js} +2 -2
- package/build/server/chunks/{state-Dkjz2T4C.js.map → state-JIy0tegD.js.map} +1 -1
- package/build/server/chunks/{state2-CS9rhust.js → state2-Br2snAqo.js} +2 -2
- package/build/server/chunks/{state2-CS9rhust.js.map → state2-Br2snAqo.js.map} +1 -1
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js +1610 -0
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +96 -110
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/assets/7.BsquVIMw.css +0 -1
- package/build/client/_app/immutable/assets/7.BsquVIMw.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BsquVIMw.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css +0 -1
- 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/BE_4J5sS.js.br +0 -0
- package/build/client/_app/immutable/chunks/BE_4J5sS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BdIq5WIo.js.br +0 -5
- package/build/client/_app/immutable/chunks/BdIq5WIo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Clt9pCG1.js.br +0 -0
- package/build/client/_app/immutable/chunks/Clt9pCG1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CuKFR3Qo.js.br +0 -0
- package/build/client/_app/immutable/chunks/CuKFR3Qo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D1VTYdXF.js +0 -1
- package/build/client/_app/immutable/chunks/D1VTYdXF.js.br +0 -0
- package/build/client/_app/immutable/chunks/D1VTYdXF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DF5Aoa59.js +0 -1
- package/build/client/_app/immutable/chunks/DF5Aoa59.js.br +0 -2
- package/build/client/_app/immutable/chunks/DF5Aoa59.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DaRQZQEK.js +0 -5
- package/build/client/_app/immutable/chunks/DaRQZQEK.js.br +0 -0
- package/build/client/_app/immutable/chunks/DaRQZQEK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js +0 -5
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/mNzUu332.js.br +0 -0
- package/build/client/_app/immutable/chunks/mNzUu332.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DKG33-gU.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DKG33-gU.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js +0 -1
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js.br +0 -1
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CvKFymDh.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CvKFymDh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js +0 -8
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js +0 -1
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D0P837Li.js +0 -2
- package/build/client/_app/immutable/nodes/6.D0P837Li.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D0P837Li.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js +0 -14
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js +0 -128
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.gz +0 -0
- package/build/server/chunks/0-D9FIO-Bk.js.map +0 -1
- package/build/server/chunks/1-ItPJxTHP.js +0 -9
- package/build/server/chunks/11-CZj9K6K7.js +0 -9
- package/build/server/chunks/11-CZj9K6K7.js.map +0 -1
- package/build/server/chunks/6-DxXeT1e3.js +0 -9
- package/build/server/chunks/7-CuHe_mFY.js +0 -9
- package/build/server/chunks/7-CuHe_mFY.js.map +0 -1
- package/build/server/chunks/9-CVIPxN5B.js +0 -9
- package/build/server/chunks/9-CVIPxN5B.js.map +0 -1
- package/build/server/chunks/IconMic-BbjkE_nG.js +0 -18
- package/build/server/chunks/IconMic-BbjkE_nG.js.map +0 -1
- package/build/server/chunks/IconStop-DKVpXPKq.js.map +0 -1
- package/build/server/chunks/_page.svelte-BcpGl-vl.js +0 -91
- package/build/server/chunks/_page.svelte-BcpGl-vl.js.map +0 -1
- package/build/server/chunks/_page.svelte-CGEtuNmS.js.map +0 -1
- package/build/server/chunks/_page.svelte-FOm-OMQe.js.map +0 -1
- package/build/server/chunks/_page.svelte-qxgG6hsh.js.map +0 -1
- package/build/server/chunks/_server.ts-08JCSzPu.js.map +0 -1
- package/build/server/chunks/_server.ts-3bBG0DBN.js.map +0 -1
- package/build/server/chunks/_server.ts-B0MK-ynu.js.map +0 -1
- package/build/server/chunks/_server.ts-BS4UTF4H.js +0 -93
- package/build/server/chunks/_server.ts-BS4UTF4H.js.map +0 -1
- package/build/server/chunks/_server.ts-DXwG4w1_.js.map +0 -1
- package/build/server/chunks/_server.ts-DlKT-RbM.js.map +0 -1
- package/build/server/chunks/_server.ts-fenM6Iln.js.map +0 -1
- package/build/server/chunks/_server.ts-zt3yI2wU.js +0 -97
- package/build/server/chunks/_server.ts-zt3yI2wU.js.map +0 -1
- package/build/server/chunks/addon-helpers-B7bkHg-K.js +0 -64
- package/build/server/chunks/addon-helpers-B7bkHg-K.js.map +0 -1
- package/build/server/chunks/compose-args2-B1cYvF5r.js.map +0 -1
- package/build/server/chunks/docker2-CF7qyd1U.js.map +0 -1
- package/build/server/chunks/features-DltizIi4.js.map +0 -1
- package/build/server/chunks/speakable-text-BflxDDdY.js +0 -65
- package/build/server/chunks/speakable-text-BflxDDdY.js.map +0 -1
- package/build/server/chunks/src-B2-r_9oB.js.map +0 -1
- package/build/server/chunks/voice-state.svelte-CSmyLPRH.js +0 -561
- package/build/server/chunks/voice-state.svelte-CSmyLPRH.js.map +0 -1
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js → DD22UF1L2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.br → DD22UF1L2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.gz → DD22UF1L2.js.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconServer-DkywyVFu.js","sources":["../../../.svelte-kit/adapter-node/chunks/Drawer.js","../../../.svelte-kit/adapter-node/chunks/IconServer.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, r as attr_style, u as stringify } from \"./dev.js\";\nimport { a as runtimeContext, t as hasCapability } from \"./runtime-context.svelte.js\";\nimport { p as themeService } from \"./voice-state.svelte.js\";\nimport { D as IconThemeLight, E as IconThemeDark, O as IconThemeSystem, c as IconClose, s as createFocusTrap } from \"./IconStop.js\";\nimport { t as page } from \"./state2.js\";\nimport { t as IconLogo } from \"./IconLogo.js\";\n//#region ../ui-kit/src/lib/components/common/IconButton.svelte\nfunction IconButton($$renderer, $$props) {\n\t/** Icon contents (an inline <svg> or spinner). */\n\t/** Optional visible label; when present the button grows from a square to a pill. */\n\t/** Render as an anchor instead of a button when a destination is given. */\n\t/** \"On\"/active look (used by ToggleButton and active states). */\n\t/** Colour of the selected state. */\n\t/** Mirrors the toggle state for assistive tech (set by ToggleButton). */\n\tlet { icon, label, title, ariaLabel, disabled = false, href, onclick, type = \"button\", selected = false, tone = \"primary\", ariaPressed } = $$props;\n\tif (href) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<a${attr_class(\"icon-btn svelte-pe8zcr\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"href\", href)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-disabled\", disabled || void 0)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-pe8zcr\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></a>`);\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<button${attr_class(\"icon-btn svelte-pe8zcr\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"type\", type)}${attr(\"disabled\", disabled, true)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-pressed\", ariaPressed)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-pe8zcr\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></button>`);\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/common/ThemeToggle.svelte\nfunction currentIcon($$renderer) {\n\tif (themeService.preference === \"system\") {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\tIconThemeSystem($$renderer, { size: 16 });\n\t} else if (themeService.preference === \"light\") {\n\t\t$$renderer.push(\"<!--[1-->\");\n\t\tIconThemeLight($$renderer, { size: 16 });\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\tIconThemeDark($$renderer, { size: 16 });\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\nfunction ThemeToggle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst CYCLE = [\n\t\t\t\"system\",\n\t\t\t\"light\",\n\t\t\t\"dark\"\n\t\t];\n\t\tfunction cycle() {\n\t\t\tconst current = themeService.preference;\n\t\t\tconst next = CYCLE[(CYCLE.indexOf(current) + 1) % CYCLE.length];\n\t\t\tthemeService.setPreference(next);\n\t\t}\n\t\tconst label = derived(() => themeService.preference === \"system\" ? \"Theme: system (click for light)\" : themeService.preference === \"light\" ? \"Theme: light (click for dark)\" : \"Theme: dark (click for system)\");\n\t\tIconButton($$renderer, {\n\t\t\ticon: currentIcon,\n\t\t\tariaLabel: label(),\n\t\t\ttitle: label(),\n\t\t\tonclick: cycle\n\t\t});\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconChat.svelte\nfunction IconChat($$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)}`)}><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSettings.svelte\nfunction IconSettings($$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=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/components/chrome/Navbar.svelte\nfunction chatIcon($$renderer) {\n\tIconChat($$renderer, { size: 18 });\n}\nfunction settingsIcon($$renderer) {\n\tIconSettings($$renderer, { size: 18 });\n}\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Brand destination; defaults to the mode's chat route. */\n\t\t/** Surface-specific controls rendered after the theme toggle. */\n\t\tlet { brandHref, children } = $$props;\n\t\tconst chatRoute = derived(() => runtimeContext.routes.chat ?? \"/chat\");\n\t\tconst hostRoute = derived(() => runtimeContext.routes.host);\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onHostSurface = derived(() => hostRoute() !== void 0 && (pathname() === hostRoute() || pathname().startsWith(`${hostRoute()}/`)));\n\t\tconst resolvedBrandHref = derived(() => brandHref ?? chatRoute());\n\t\t$$renderer.push(`<header class=\"navbar svelte-66bgq1\"><div class=\"navbar-inner svelte-66bgq1\"><a class=\"navbar-brand svelte-66bgq1\"${attr(\"href\", resolvedBrandHref())} aria-label=\"OpenPalm — go to chat\"><span class=\"brand-icon svelte-66bgq1\" aria-hidden=\"true\">`);\n\t\tIconLogo($$renderer, { size: 28 });\n\t\t$$renderer.push(`<!----></span> <span class=\"brand-text svelte-66bgq1\">OpenPalm</span></a> <div class=\"navbar-actions svelte-66bgq1\">`);\n\t\tif (onHostSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: resolvedBrandHref(),\n\t\t\t\tariaLabel: \"Back to chat\",\n\t\t\t\ttitle: \"Chat\",\n\t\t\t\ticon: chatIcon\n\t\t\t});\n\t\t} else if (hostRoute() !== void 0 && hasCapability(\"host:stack:read\")) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: hostRoute(),\n\t\t\t\tariaLabel: \"Manage assistant\",\n\t\t\t\ttitle: \"Admin\",\n\t\t\t\ticon: settingsIcon\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tThemeToggle($$renderer, {});\n\t\t$$renderer.push(`<!----> `);\n\t\tchildren?.($$renderer);\n\t\t$$renderer.push(`<!----></div></div></header>`);\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/common/Drawer.svelte\nfunction Drawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Optional content rendered at the start of the header (e.g. a back button). */\n\t\t/** Drawer width (CSS length). */\n\t\tlet { open, title, onClose, children, footer, headerStart, width = \"32rem\" } = $$props;\n\t\tcreateFocusTrap({ initialFocus: \".drawer-body\" });\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"drawer-scrim svelte-18x8ksj\"></div> <div class=\"drawer svelte-18x8ksj\"${attr_style(`--drawer-width: ${stringify(width)}`)} role=\"dialog\" aria-modal=\"true\"${attr(\"aria-label\", title)} tabindex=\"-1\"><header class=\"drawer-header svelte-18x8ksj\">`);\n\t\t\tif (headerStart) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\theaderStart($$renderer);\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <h3 class=\"drawer-title svelte-18x8ksj\">${escape_html(title)}</h3> <button class=\"drawer-close svelte-18x8ksj\" aria-label=\"Close\">`);\n\t\t\tIconClose($$renderer, { size: 18 });\n\t\t\t$$renderer.push(`<!----></button></header> <div class=\"drawer-body svelte-18x8ksj\">`);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (footer) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<footer class=\"drawer-footer svelte-18x8ksj\">`);\n\t\t\t\tfooter($$renderer);\n\t\t\t\t$$renderer.push(`<!----></footer>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { Navbar as n, IconButton as r, Drawer as t };\n","import { V as attr, n as attr_class, u as stringify } from \"./dev.js\";\n//#region ../ui-kit/src/lib/components/icons/IconServer.svelte\nfunction IconServer($$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)}`)}><rect fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" x=\"4\" y=\"4.5\" width=\"16\" height=\"6.5\" rx=\"1.8\"></rect><rect fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" x=\"4\" y=\"13\" width=\"16\" height=\"6.5\" rx=\"1.8\"></rect><circle fill=\"currentColor\" stroke=\"none\" cx=\"7.5\" cy=\"7.8\" r=\"1.2\"></circle><circle fill=\"currentColor\" stroke=\"none\" cx=\"7.5\" cy=\"16.3\" r=\"1.2\"></circle></svg>`);\n}\n//#endregion\nexport { IconServer as t };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconServer-BwcRjcsS.js","sources":["../../../.svelte-kit/adapter-node/chunks/Drawer.js","../../../.svelte-kit/adapter-node/chunks/IconServer.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, r as attr_style, u as stringify } from \"./dev.js\";\nimport { a as runtimeContext, t as hasCapability } from \"./runtime-context.svelte.js\";\nimport { x as themeService } from \"./voice-state.svelte.js\";\nimport { t as page } from \"./state2.js\";\nimport { G as IconThemeDark, K as IconThemeLight, c as IconClose, q as IconThemeSystem, s as createFocusTrap } from \"./IconStop.js\";\nimport { t as IconLogo } from \"./IconLogo.js\";\n//#region ../ui-kit/src/lib/components/common/IconButton.svelte\nfunction IconButton($$renderer, $$props) {\n\t/** Icon contents (an inline <svg> or spinner). */\n\t/** Optional visible label; when present the button grows from a square to a pill. */\n\t/** Render as an anchor instead of a button when a destination is given. */\n\t/** \"On\"/active look (used by ToggleButton and active states). */\n\t/** Colour of the selected state. */\n\t/** Mirrors the toggle state for assistive tech (set by ToggleButton). */\n\tlet { icon, label, title, ariaLabel, disabled = false, href, onclick, type = \"button\", selected = false, tone = \"primary\", ariaPressed } = $$props;\n\tif (href) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<a${attr_class(\"icon-btn svelte-pe8zcr\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"href\", href)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-disabled\", disabled || void 0)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-pe8zcr\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></a>`);\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<button${attr_class(\"icon-btn svelte-pe8zcr\", void 0, {\n\t\t\t\"has-label\": label,\n\t\t\t\"selected\": selected,\n\t\t\t\"tone-danger\": tone === \"danger\"\n\t\t})}${attr(\"type\", type)}${attr(\"disabled\", disabled, true)}${attr(\"title\", title ?? ariaLabel ?? label)}${attr(\"aria-label\", ariaLabel ?? label)}${attr(\"aria-pressed\", ariaPressed)}>`);\n\t\ticon($$renderer);\n\t\t$$renderer.push(`<!----> `);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"icon-btn-label svelte-pe8zcr\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></button>`);\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/common/ThemeToggle.svelte\nfunction currentIcon($$renderer) {\n\tif (themeService.preference === \"system\") {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\tIconThemeSystem($$renderer, { size: 16 });\n\t} else if (themeService.preference === \"light\") {\n\t\t$$renderer.push(\"<!--[1-->\");\n\t\tIconThemeLight($$renderer, { size: 16 });\n\t} else {\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\tIconThemeDark($$renderer, { size: 16 });\n\t}\n\t$$renderer.push(`<!--]-->`);\n}\nfunction ThemeToggle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst CYCLE = [\n\t\t\t\"system\",\n\t\t\t\"light\",\n\t\t\t\"dark\"\n\t\t];\n\t\tfunction cycle() {\n\t\t\tconst current = themeService.preference;\n\t\t\tconst next = CYCLE[(CYCLE.indexOf(current) + 1) % CYCLE.length];\n\t\t\tthemeService.setPreference(next);\n\t\t}\n\t\tconst label = derived(() => themeService.preference === \"system\" ? \"Theme: system (click for light)\" : themeService.preference === \"light\" ? \"Theme: light (click for dark)\" : \"Theme: dark (click for system)\");\n\t\tIconButton($$renderer, {\n\t\t\ticon: currentIcon,\n\t\t\tariaLabel: label(),\n\t\t\ttitle: label(),\n\t\t\tonclick: cycle\n\t\t});\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconChat.svelte\nfunction IconChat($$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)}`)}><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSettings.svelte\nfunction IconSettings($$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=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/components/chrome/Navbar.svelte\nfunction chatIcon($$renderer) {\n\tIconChat($$renderer, { size: 18 });\n}\nfunction settingsIcon($$renderer) {\n\tIconSettings($$renderer, { size: 18 });\n}\nfunction Navbar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Brand destination; defaults to the mode's chat route. */\n\t\t/** Surface-specific controls rendered after the theme toggle. */\n\t\tlet { brandHref, children } = $$props;\n\t\tconst chatRoute = derived(() => runtimeContext.routes.chat ?? \"/chat\");\n\t\tconst hostRoute = derived(() => runtimeContext.routes.host);\n\t\tconst pathname = derived(() => page.url?.pathname ?? \"\");\n\t\tconst onHostSurface = derived(() => hostRoute() !== void 0 && (pathname() === hostRoute() || pathname().startsWith(`${hostRoute()}/`)));\n\t\tconst resolvedBrandHref = derived(() => brandHref ?? chatRoute());\n\t\t$$renderer.push(`<header class=\"navbar svelte-66bgq1\"><div class=\"navbar-inner svelte-66bgq1\"><a class=\"navbar-brand svelte-66bgq1\"${attr(\"href\", resolvedBrandHref())} aria-label=\"OpenPalm — go to chat\"><span class=\"brand-icon svelte-66bgq1\" aria-hidden=\"true\">`);\n\t\tIconLogo($$renderer, { size: 28 });\n\t\t$$renderer.push(`<!----></span> <span class=\"brand-text svelte-66bgq1\">OpenPalm</span></a> <div class=\"navbar-actions svelte-66bgq1\">`);\n\t\tif (onHostSurface()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: resolvedBrandHref(),\n\t\t\t\tariaLabel: \"Back to chat\",\n\t\t\t\ttitle: \"Chat\",\n\t\t\t\ticon: chatIcon\n\t\t\t});\n\t\t} else if (hostRoute() !== void 0 && hasCapability(\"host:stack:read\")) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tIconButton($$renderer, {\n\t\t\t\thref: hostRoute(),\n\t\t\t\tariaLabel: \"Manage assistant\",\n\t\t\t\ttitle: \"Admin\",\n\t\t\t\ticon: settingsIcon\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tThemeToggle($$renderer, {});\n\t\t$$renderer.push(`<!----> `);\n\t\tchildren?.($$renderer);\n\t\t$$renderer.push(`<!----></div></div></header>`);\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/common/Drawer.svelte\nfunction Drawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Optional content rendered at the start of the header (e.g. a back button). */\n\t\t/** Drawer width (CSS length). */\n\t\tlet { open, title, onClose, children, footer, headerStart, width = \"32rem\" } = $$props;\n\t\tcreateFocusTrap({ initialFocus: \".drawer-body\" });\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"drawer-scrim svelte-18x8ksj\"></div> <div class=\"drawer svelte-18x8ksj\"${attr_style(`--drawer-width: ${stringify(width)}`)} role=\"dialog\" aria-modal=\"true\"${attr(\"aria-label\", title)} tabindex=\"-1\"><header class=\"drawer-header svelte-18x8ksj\">`);\n\t\t\tif (headerStart) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\theaderStart($$renderer);\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <h3 class=\"drawer-title svelte-18x8ksj\">${escape_html(title)}</h3> <button class=\"drawer-close svelte-18x8ksj\" aria-label=\"Close\">`);\n\t\t\tIconClose($$renderer, { size: 18 });\n\t\t\t$$renderer.push(`<!----></button></header> <div class=\"drawer-body svelte-18x8ksj\">`);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\tif (footer) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<footer class=\"drawer-footer svelte-18x8ksj\">`);\n\t\t\t\tfooter($$renderer);\n\t\t\t\t$$renderer.push(`<!----></footer>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { Navbar as n, IconButton as r, Drawer as t };\n","import { V as attr, n as attr_class, u as stringify } from \"./dev.js\";\n//#region ../ui-kit/src/lib/components/icons/IconServer.svelte\nfunction IconServer($$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)}`)}><rect fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" x=\"4\" y=\"4.5\" width=\"16\" height=\"6.5\" rx=\"1.8\"></rect><rect fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" x=\"4\" y=\"13\" width=\"16\" height=\"6.5\" rx=\"1.8\"></rect><circle fill=\"currentColor\" stroke=\"none\" cx=\"7.5\" cy=\"7.8\" r=\"1.2\"></circle><circle fill=\"currentColor\" stroke=\"none\" cx=\"7.5\" cy=\"16.3\" r=\"1.2\"></circle></svg>`);\n}\n//#endregion\nexport { IconServer as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as derived, d as attr, e as attr_class, a9 as stringify, s as escape_html, q as ensure_array_like } from './dev-D85DamNs.js';
|
|
2
2
|
import 'node:module';
|
|
3
|
-
import { r as randomId, v as voiceState,
|
|
4
|
-
import { S as SvelteMap,
|
|
5
|
-
import { S as Spinner } from './
|
|
3
|
+
import { e as subscribeSessionEvents, r as randomId, v as voiceState, b as speakText, c as stopSpeaking } from './voice-state.svelte-DU9g_xEh.js';
|
|
4
|
+
import { S as SvelteMap, w as isUserFacingTool, z as notifyAssistantReply, B as partSnapshotType, m as extractTextDelta, n as extractToolUpdate, l as extractStepUpdate, j as extractPermissionAsk, k as extractQuestionAsk, u as isSessionError, v as isTurnEnd, x as listSessions, t as getSessionMessages, g as createSession, J as startChatMessageTurn, H as sendChatMessage, y as notifyAssistantError, f as abortChatTurn, F as replyChatPermission, G as replyChatQuestion, D as rejectChatQuestion, q as formatDateTime, r as formatRelativeTime, i as endpointsService, C as registerActivationGuard, A as onConnectionActivated } from './IconStop-BxUfqTaV.js';
|
|
5
|
+
import { S as Spinner } from './Spinner-2WZW6r_I.js';
|
|
6
6
|
|
|
7
7
|
//#region src/lib/advanced-mode-state.svelte.ts
|
|
8
8
|
var ADVANCED_MODE_STORAGE_KEY = "openpalm.chat.advanced";
|
|
@@ -1115,4 +1115,4 @@ function IconSoundOn($$renderer, $$props) {
|
|
|
1115
1115
|
}
|
|
1116
1116
|
|
|
1117
1117
|
export { IconAdvanced as I, SessionList as S, IconConversations as a, IconSoundOff as b, IconSoundOn as c, advancedModeService as d, buildAdvancedIframeUrl as e, buildAdvancedPath as f, buildChatPath as g, chat as h, currentChatSessionId as i, isLocalAssistantUrl as j, resolveSessionTitle as r };
|
|
1118
|
-
//# sourceMappingURL=IconSoundOn-
|
|
1118
|
+
//# sourceMappingURL=IconSoundOn-DTZuBn2-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconSoundOn-DoAiK-qp.js","sources":["../../../.svelte-kit/adapter-node/chunks/IconSoundOn.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"./dev.js\";\nimport \"./index-server.js\";\nimport { c as voiceState, f as randomId, r as speakText, s as stopSpeaking } from \"./voice-state.svelte.js\";\nimport { A as createSession, B as subscribeSessionEvents, C as isSessionError, F as replyChatPermission, I as replyChatQuestion, L as sendChatMessage, M as listSessions, P as rejectChatQuestion, R as startChatMessageTurn, S as extractToolUpdate, T as partSnapshotType, W as isUserFacingTool, a as formatRelativeTime, b as extractStepUpdate, d as registerActivationGuard, g as SvelteMap, h as notifyAssistantReply, i as formatDateTime, j as getSessionMessages, k as abortChatTurn, l as endpointsService, m as notifyAssistantError, u as onConnectionActivated, v as extractPermissionAsk, w as isTurnEnd, x as extractTextDelta, y as extractQuestionAsk } from \"./IconStop.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/advanced-mode-state.svelte.ts\nvar ADVANCED_MODE_STORAGE_KEY = \"openpalm.chat.advanced\";\nvar AdvancedModeService = class {\n\tenabled = false;\n\tinitialized = false;\n\tinit() {\n\t\tif (typeof window === \"undefined\" || this.initialized) return;\n\t\tthis.enabled = this.#readStoredPreference();\n\t\tthis.initialized = true;\n\t}\n\tsetEnabled(value) {\n\t\tthis.enabled = value;\n\t\tthis.#writeStoredPreference(value);\n\t}\n\ttoggle() {\n\t\tconst next = !this.enabled;\n\t\tthis.setEnabled(next);\n\t\treturn next;\n\t}\n\t#readStoredPreference() {\n\t\tif (typeof window === \"undefined\") return false;\n\t\ttry {\n\t\t\treturn window.localStorage.getItem(ADVANCED_MODE_STORAGE_KEY) === \"1\";\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\t#writeStoredPreference(value) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.localStorage.setItem(ADVANCED_MODE_STORAGE_KEY, value ? \"1\" : \"0\");\n\t\t} catch {}\n\t}\n};\nvar advancedModeService = new AdvancedModeService();\n//#endregion\n//#region src/lib/voice/earcon.ts\n/**\n* Earcon feedback — a short two-tone blip acknowledging a sent message,\n* replacing the old spoken ack phrases. Pure WebAudio: no asset files and\n* no TTS engine required, so the ack works wherever audio output exists.\n*\n* playAck runs inside the send-click user gesture, which also primes the\n* browser's autoplay policy for the TTS audio that follows.\n*\n* Only access browser APIs (window, AudioContext) from playAck — never at\n* module top level — for SSR safety.\n*/\nvar ctx = null;\n/** One sine tone with a fast-attack / fast-decay gain envelope. */\nfunction tone(context, frequency, startAt, durationS) {\n\tconst osc = context.createOscillator();\n\tconst gain = context.createGain();\n\tosc.type = \"sine\";\n\tosc.frequency.value = frequency;\n\tgain.gain.setValueAtTime(0, startAt);\n\tgain.gain.linearRampToValueAtTime(.08, startAt + .005);\n\tgain.gain.linearRampToValueAtTime(0, startAt + durationS);\n\tosc.connect(gain);\n\tgain.connect(context.destination);\n\tosc.start(startAt);\n\tosc.stop(startAt + durationS + .01);\n}\n/**\n* Play the \"message sent\" ack: two quick ascending sine tones, total under\n* 200ms. All failures are swallowed — the ack is best-effort feedback and\n* must never surface an error or block the send path.\n*/\nfunction playAck() {\n\tif (typeof window === \"undefined\") return;\n\ttry {\n\t\tif (!ctx) {\n\t\t\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\t\t\tif (!Ctor) return;\n\t\t\tctx = new Ctor();\n\t\t}\n\t\tif (ctx.state === \"suspended\") ctx.resume().catch(() => {});\n\t\tconst now = ctx.currentTime;\n\t\ttone(ctx, 880, now, .06);\n\t\ttone(ctx, 1320, now + .07, .08);\n\t} catch {}\n}\n//#endregion\n//#region src/lib/voice/sentence-stream.ts\n/**\n* Incremental sentence chunker for streamed TTS. As the assistant reply\n* streams in, the chat layer calls `extractSpeakableChunks` with the whole\n* accumulated buffer plus the offset it has already spoken up to; each\n* returned chunk is a complete sentence (or merged run of short sentences)\n* that can be handed to the speak queue immediately, so audio starts within\n* one sentence of the reply instead of after the full turn.\n*\n* Pure and dependency-free like speakable-text.ts — markdown stripping is\n* NOT done here (playOne applies toSpeakableText per chunk).\n*\n* Known limitations (accepted for v1): abbreviations outside the short\n* guard list below and initials cut early because they look like sentence\n* ends; a decimal split across two deltas (\"3.\" then \"14\") cuts mid-number\n* when whitespace happens to follow the dot. Both cost a short pause in the\n* audio, never lost text.\n*/\n/**\n* Chunks shorter than this merge forward into the following sentence — a\n* one-word utterance per TTS request wastes a round trip and sounds choppy.\n*/\nvar MIN_CHUNK_CHARS = 25;\n/**\n* Best-effort abbreviation guard: a period straight after one of these\n* tokens is almost never a sentence end (\"Dr. Smith\", \"e.g. this\"), so the\n* chunker skips the cut. Deliberately short — a missing abbreviation only\n* costs an early cut (short audio pause), a false positive only merges two\n* sentences into one chunk. Matched case-insensitively.\n*/\nvar ABBREVIATIONS = new Set([\n\t\"dr\",\n\t\"mr\",\n\t\"mrs\",\n\t\"ms\",\n\t\"prof\",\n\t\"st\",\n\t\"vs\",\n\t\"etc\",\n\t\"e.g\",\n\t\"i.e\",\n\t\"approx\"\n]);\n/**\n* Abbreviations matched case-SENSITIVELY: lowercase \"no\" is an ordinary word\n* that legitimately ends sentences (\"the answer is no.\"), while \"No. 5\" is\n* the numero abbreviation.\n*/\nvar CASED_ABBREVIATIONS = new Set([\"No\"]);\n/**\n* True when the token immediately before the period at `periodIndex` is a\n* known abbreviation. The token is scanned back over letters and interior\n* periods so multi-part abbreviations (\"e.g.\", \"i.e.\") match at their final\n* period (their interior periods are never cut candidates — no whitespace\n* follows them).\n*/\nfunction endsWithAbbreviation(buffer, periodIndex) {\n\tlet start = periodIndex;\n\twhile (start > 0 && /[a-zA-Z.]/.test(buffer[start - 1])) start -= 1;\n\tconst token = buffer.slice(start, periodIndex);\n\tif (!token) return false;\n\treturn ABBREVIATIONS.has(token.toLowerCase()) || CASED_ABBREVIATIONS.has(token);\n}\nfunction extractSpeakableChunks(buffer, offset) {\n\tconst chunks = [];\n\tlet nextOffset = offset;\n\tlet chunkStart = offset;\n\tlet inFence = false;\n\tlet i = 0;\n\twhile (i < buffer.length) {\n\t\tif (buffer.startsWith(\"```\", i)) {\n\t\t\tinFence = !inFence;\n\t\t\ti += 3;\n\t\t\tcontinue;\n\t\t}\n\t\tif (i < offset || inFence) {\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tlet cut = -1;\n\t\tconst ch = buffer[i];\n\t\tif ((ch === \".\" || ch === \"!\" || ch === \"?\") && i + 1 < buffer.length && /\\s/.test(buffer[i + 1])) {\n\t\t\tif (ch !== \".\" || !endsWithAbbreviation(buffer, i)) cut = i + 1;\n\t\t} else if (ch === \"\\n\" && buffer[i + 1] === \"\\n\") cut = i + 2;\n\t\tif (cut !== -1) {\n\t\t\tconst candidate = buffer.slice(chunkStart, cut).trim();\n\t\t\tif (candidate.length >= MIN_CHUNK_CHARS) {\n\t\t\t\tchunks.push(candidate);\n\t\t\t\tchunkStart = cut;\n\t\t\t\tnextOffset = cut;\n\t\t\t}\n\t\t}\n\t\ti += 1;\n\t}\n\treturn {\n\t\tchunks,\n\t\tnextOffset\n\t};\n}\n//#endregion\n//#region src/lib/chat/assistant-error.ts\n/**\n* Map an unknown thrown value to a user-facing string.\n*\n* - 503 / 502 -> \"Assistant is not reachable.\" (+ \" Try reconnecting.\" when\n* `reconnectHint` is set).\n* - 401 -> \"Sign-in required.\"\n* - otherwise -> the error's own `message`, falling back to `fallback`.\n*/\nfunction mapAssistantError(e, opts = {}) {\n\tconst { fallback = \"Something went wrong.\", reconnectHint = false } = opts;\n\tconst err = e ?? {};\n\tif (err.status === 503 || err.status === 502) return reconnectHint ? \"Assistant is not reachable. Try reconnecting.\" : \"Assistant is not reachable.\";\n\tif (err.status === 401) return \"Sign-in required.\";\n\treturn err.message ?? fallback;\n}\n//#endregion\n//#region src/lib/chat/chat-state.svelte.ts\nvar STREAM_TURN_TIMEOUT_MS = 15e4;\nfunction emptyEndpointState() {\n\treturn {\n\t\tsessions: [],\n\t\tsessionsLoaded: false,\n\t\tsessionsLoading: false,\n\t\tsessionsError: \"\",\n\t\tactiveSessionId: null\n\t};\n}\nvar ChatService = class {\n\t/**\n\t* Per-endpoint session cache. Reassigned on every mutation so Svelte 5\n\t* picks up the change. Never mutate the existing Map in place.\n\t*/\n\tbyEndpoint = new SvelteMap();\n\t/**\n\t* Mirrored from `endpointsService.activeId` via `onEndpointChanged()`\n\t* so the chat layer doesn't have to import the endpoint store.\n\t*/\n\tactiveEndpointId = \"default\";\n\t/** Messages for the currently rendered session only. */\n\tentries = [];\n\tentriesLoading = false;\n\tsending = false;\n\terror = \"\";\n\t/**\n\t* Text of the most recent send() call that failed before reaching the\n\t* assistant. Cleared at the start of every send() (success or not) so it\n\t* only ever reflects the latest failure. Drives the error banner's retry\n\t* button.\n\t*/\n\tlastFailedText = \"\";\n\tpendingAssistantText = \"\";\n\tpendingToolStates = [];\n\tpendingPermission = null;\n\tpendingQuestion = null;\n\t/**\n\t* Set true while the SSE event stream is connected. Surfaced by the\n\t* SessionPicker as a tiny green/gray dot so the operator can see at a\n\t* glance whether live updates are flowing.\n\t*/\n\tliveConnected = false;\n\t/**\n\t* Active SSE subscription handle. Reassigned on every endpoint switch.\n\t* Plain field (not `$state`) — only the chat service touches it.\n\t*/\n\t_unsubscribeEvents = null;\n\t_pendingTurn = null;\n\t#activeSessionId = derived(() => this.byEndpoint.get(this.activeEndpointId)?.activeSessionId ?? null);\n\tget activeSessionId() {\n\t\treturn this.#activeSessionId();\n\t}\n\tset activeSessionId($$value) {\n\t\treturn this.#activeSessionId($$value);\n\t}\n\t#toolLog = derived(() => {\n\t\tconst seen = {};\n\t\tconst out = [];\n\t\tconst push = (states, turnKey) => {\n\t\t\tif (!states) return;\n\t\t\tfor (const tool of states) {\n\t\t\t\tif (seen[tool.id]) continue;\n\t\t\t\tif (!isUserFacingTool(tool)) continue;\n\t\t\t\tseen[tool.id] = true;\n\t\t\t\tout.push({\n\t\t\t\t\t...tool,\n\t\t\t\t\tturnKey\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tfor (const entry of this.entries) push(entry.toolStates, entry.id);\n\t\tpush(this.pendingToolStates, \"pending\");\n\t\treturn out;\n\t});\n\tget toolLog() {\n\t\treturn this.#toolLog();\n\t}\n\tset toolLog($$value) {\n\t\treturn this.#toolLog($$value);\n\t}\n\tsetEndpointState(id, patch) {\n\t\tconst next = {\n\t\t\t...this.byEndpoint.get(id) ?? emptyEndpointState(),\n\t\t\t...patch\n\t\t};\n\t\tthis.byEndpoint = new SvelteMap(this.byEndpoint).set(id, next);\n\t\treturn next;\n\t}\n\t/**\n\t* Handle an endpoint switch: load sessions, restore prior or pick\n\t* newest, fetch messages. Mid-generation switches are blocked.\n\t*/\n\tasync onEndpointChanged(id) {\n\t\tif (this.sending) {\n\t\t\tif (id === this.activeEndpointId) {\n\t\t\t\tthis.error = \"\";\n\t\t\t\tif (!this.liveConnected) this._resubscribeEvents();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tthis.activeEndpointId = id;\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis._resubscribeEvents();\n\t\tawait this.loadSessions();\n\t\tconst state = this.byEndpoint.get(id) ?? emptyEndpointState();\n\t\tconst sessions = state.sessions ?? [];\n\t\tconst previous = state.activeSessionId;\n\t\tlet nextSessionId = null;\n\t\tif (previous && sessions.some((s) => s.id === previous)) nextSessionId = previous;\n\t\telse if (sessions.length > 0) nextSessionId = sessions[0].id;\n\t\tif (nextSessionId !== state.activeSessionId) this.setEndpointState(id, { activeSessionId: nextSessionId });\n\t\tif (nextSessionId) await this.openSession(nextSessionId);\n\t}\n\t/**\n\t* Tear down any prior SSE subscription and open a new one. Handlers\n\t* dispatch session.created / updated / deleted into the per-endpoint\n\t* cache, mirroring out-of-band changes (CLI, other clients).\n\t*/\n\t_resubscribeEvents() {\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from previous event stream\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t\tthis._unsubscribeEvents = subscribeSessionEvents({\n\t\t\tonCreated: (id) => {\n\t\t\t\tthis._onSessionCreated(id);\n\t\t\t},\n\t\t\tonUpdated: (id, info) => {\n\t\t\t\tthis._onSessionUpdated(id, info);\n\t\t\t},\n\t\t\tonDeleted: (id) => {\n\t\t\t\tthis._onSessionDeleted(id);\n\t\t\t},\n\t\t\tonEvent: (event) => {\n\t\t\t\tthis._onLiveEvent(event);\n\t\t\t},\n\t\t\tonConnect: () => {\n\t\t\t\tthis.liveConnected = true;\n\t\t\t},\n\t\t\tonDisconnect: () => {\n\t\t\t\tthis.liveConnected = false;\n\t\t\t\tif (this._pendingTurn) this._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant event stream disconnected.\"));\n\t\t\t}\n\t\t});\n\t}\n\t_toRawEvent(event) {\n\t\treturn {\n\t\t\ttype: event.type,\n\t\t\tproperties: event.properties ?? {}\n\t\t};\n\t}\n\t_upsertPendingToolState(update) {\n\t\tconst id = update.callID || `${update.tool}:${this.pendingToolStates.length}`;\n\t\tconst next = {\n\t\t\tid,\n\t\t\tkind: \"tool\",\n\t\t\ttool: update.tool,\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title ?? update.tool,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: update.output ?? \"\",\n\t\t\terror: update.error ?? \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_upsertPendingStepState(update) {\n\t\tconst next = {\n\t\t\tid: update.id,\n\t\t\tkind: \"step\",\n\t\t\ttool: \"step\",\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: \"\",\n\t\t\terror: \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === update.id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === update.id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_resetPendingRenderState() {\n\t\tthis.pendingAssistantText = \"\";\n\t\tthis.pendingToolStates = [];\n\t\tthis.pendingPermission = null;\n\t\tthis.pendingQuestion = null;\n\t}\n\t_appendAssistantReply(text, toolStates) {\n\t\tconst assistantEntry = {\n\t\t\tid: randomId(),\n\t\t\trole: \"assistant\",\n\t\t\ttext,\n\t\t\ttimestamp: Date.now(),\n\t\t\t...toolStates && toolStates.length > 0 ? { toolStates: [...toolStates] } : {}\n\t\t};\n\t\tthis.entries = [...this.entries, assistantEntry];\n\t}\n\t_clearPendingTurn() {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return null;\n\t\tclearTimeout(pending.timeout);\n\t\tthis._pendingTurn = null;\n\t\treturn pending;\n\t}\n\t/**\n\t* Speak `text` via auto-TTS iff the browser supports it and the operator\n\t* has enabled auto-speak. Single guard for spoken replies so the\n\t* `ttsSupported && ttsAutoEnabled` check lives in one place.\n\t*/\n\tmaybeSpeak(text) {\n\t\tif (!voiceState.ttsSupported || !voiceState.ttsAutoEnabled) return;\n\t\tspeakText(text);\n\t}\n\t/**\n\t* Finalize a completed turn: append the assistant reply (with any captured\n\t* tool activity), clear the pending render state, bump the session to the\n\t* top, auto-speak the reply, and fire the reply notification. Shared by the\n\t* streaming (`_finishPendingTurn`) and non-streaming (`send`) paths so the\n\t* sequence — including the answered-question note preservation — exists once.\n\t*/\n\tfinalizeTurn(args) {\n\t\tconst raw = args.replyText ?? this.pendingAssistantText;\n\t\tconst text = raw.trim() || \"(no response)\";\n\t\tif (this.pendingQuestion?.status === \"answered\" && this.pendingQuestion.message) {\n\t\t\tconst questionNote = {\n\t\t\t\tid: randomId(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Question answered\",\n\t\t\t\ttext: this.pendingQuestion.message,\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, questionNote];\n\t\t}\n\t\tconst capturedToolStates = this.pendingToolStates.length > 0 ? [...this.pendingToolStates] : void 0;\n\t\tthis._appendAssistantReply(text, capturedToolStates);\n\t\tthis._resetPendingRenderState();\n\t\tthis._bumpSession(args.sessionId);\n\t\tif (text !== \"(no response)\" && !args.suppressSpeech) {\n\t\t\tconst remainder = raw.slice(args.spokenOffset ?? 0).trim();\n\t\t\tif (remainder) this.maybeSpeak(remainder);\n\t\t}\n\t\tnotifyAssistantReply(text === \"(no response)\" ? \"\" : text);\n\t}\n\t_finishPendingTurn(replyText) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis.finalizeTurn({\n\t\t\tsessionId: pending.sessionId,\n\t\t\treplyText,\n\t\t\tspokenOffset: pending.spokenOffset\n\t\t});\n\t\tpending.resolve();\n\t}\n\t_failPendingTurn(error) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis._resetPendingRenderState();\n\t\tpending.reject(error);\n\t}\n\t_bumpSession(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst now = Date.now();\n\t\tconst existing = prev.sessions.find((s) => s.id === sessionId);\n\t\tconst updated = existing ? {\n\t\t\t...existing,\n\t\t\tupdatedAt: now\n\t\t} : {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tconst rest = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tthis.setEndpointState(endpointId, { sessions: [updated, ...rest] });\n\t}\n\t_onLiveEvent(event) {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return;\n\t\tconst raw = this._toRawEvent(event);\n\t\tif (pending.endpointId !== this.activeEndpointId) return;\n\t\tconst snapshot = partSnapshotType(raw);\n\t\tif (snapshot?.type === \"reasoning\") pending.reasoningPartIds.add(snapshot.partID);\n\t\tconst textDelta = extractTextDelta(raw, pending.sessionId, pending.reasoningPartIds);\n\t\tif (textDelta) {\n\t\t\tthis.pendingAssistantText += textDelta;\n\t\t\tif (voiceState.ttsSupported && voiceState.ttsAutoEnabled) {\n\t\t\t\tconst { chunks, nextOffset } = extractSpeakableChunks(this.pendingAssistantText, pending.spokenOffset);\n\t\t\t\tfor (const chunk of chunks) speakText(chunk);\n\t\t\t\tpending.spokenOffset = nextOffset;\n\t\t\t}\n\t\t}\n\t\tconst toolUpdate = extractToolUpdate(raw, pending.sessionId);\n\t\tif (toolUpdate) this._upsertPendingToolState(toolUpdate);\n\t\tconst stepUpdate = extractStepUpdate(raw, pending.sessionId);\n\t\tif (stepUpdate) this._upsertPendingStepState(stepUpdate);\n\t\tconst permissionAsk = extractPermissionAsk(raw, pending.sessionId);\n\t\tif (permissionAsk) this.pendingPermission = {\n\t\t\t...permissionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tdecision: \"\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\tconst questionAsk = extractQuestionAsk(raw, pending.sessionId);\n\t\tif (questionAsk) this.pendingQuestion = {\n\t\t\t...questionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tanswers: questionAsk.questions.map(() => \"\"),\n\t\t\tmessage: \"\"\n\t\t};\n\t\tif (isSessionError(raw, pending.sessionId)) {\n\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant session ended unexpectedly.\"));\n\t\t\treturn;\n\t\t}\n\t\tif (isTurnEnd(raw, pending.sessionId)) this._finishPendingTurn();\n\t}\n\t/**\n\t* A session was created out-of-band — prepend to the active endpoint's\n\t* list if not already known. Do not auto-switch to it: the user owns\n\t* navigation.\n\t*/\n\t_onSessionCreated(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\tif (prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst now = Date.now();\n\t\tconst summary = {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions: [summary, ...prev.sessions],\n\t\t\tsessionsLoaded: true\n\t\t});\n\t}\n\t/**\n\t* A session was touched out-of-band — patch its updatedAt (and title if\n\t* the event carries one) and re-sort. Do NOT refetch messages: if the\n\t* user is viewing this session, leave the in-memory entries alone for\n\t* v1. A follow-up phase can reconcile message deltas via the assistant\n\t* event stream.\n\t*/\n\t_onSessionUpdated(sessionId, info) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst idx = prev.sessions.findIndex((s) => s.id === sessionId);\n\t\tif (idx === -1) {\n\t\t\tthis._onSessionCreated(sessionId);\n\t\t\treturn;\n\t\t}\n\t\tconst existing = prev.sessions[idx];\n\t\tconst sessions = [{\n\t\t\t...existing,\n\t\t\ttitle: info?.title ?? existing.title,\n\t\t\tupdatedAt: info?.updatedAt ?? Date.now()\n\t\t}, ...prev.sessions.filter((s) => s.id !== sessionId)];\n\t\tsessions.sort((a, b) => b.updatedAt - a.updatedAt);\n\t\tthis.setEndpointState(endpointId, { sessions });\n\t}\n\t/**\n\t* A session was deleted out-of-band. Remove it from the list; if it was\n\t* the active session, fall back to the newest remaining session (or\n\t* null) and reload its messages.\n\t*/\n\tasync _onSessionDeleted(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tif (!prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst sessions = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tconst wasActive = prev.activeSessionId === sessionId;\n\t\tconst nextActive = wasActive ? sessions[0]?.id ?? null : prev.activeSessionId;\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions,\n\t\t\tactiveSessionId: nextActive\n\t\t});\n\t\tif (wasActive) {\n\t\t\tthis.entries = [];\n\t\t\tif (nextActive) await this.openSession(nextActive);\n\t\t}\n\t}\n\t/**\n\t* Sync one endpoint's session cursor without loading messages or changing\n\t* which endpoint is active. Advanced uses this only after verifying that its\n\t* captured endpoint and probe generation are still current.\n\t*/\n\tsetActiveSessionId(sessionId, endpointId = this.activeEndpointId) {\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t}\n\t/** Align the in-memory cursor owner on a validated direct Advanced entry. */\n\talignActiveEndpoint(endpointId) {\n\t\tthis.activeEndpointId = endpointId;\n\t}\n\t/** Fetch the session list for the active endpoint. */\n\tasync loadSessions() {\n\t\tconst id = this.activeEndpointId;\n\t\tthis.setEndpointState(id, {\n\t\t\tsessionsLoading: true,\n\t\t\tsessionsError: \"\"\n\t\t});\n\t\ttry {\n\t\t\tconst sessions = await listSessions();\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessions,\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: \"\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: mapAssistantError(e, { fallback: \"Failed to load sessions.\" })\n\t\t\t});\n\t\t}\n\t}\n\t/** Select a session and render its messages. */\n\tasync openSession(sessionId) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t\tthis.entries = [];\n\t\tthis._resetPendingRenderState();\n\t\tthis.entriesLoading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst messages = await getSessionMessages(sessionId);\n\t\t\tif (this.activeEndpointId === endpointId && this.byEndpoint.get(endpointId)?.activeSessionId === sessionId) this.entries = messages;\n\t\t} catch (e) {\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Failed to load messages.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t} finally {\n\t\t\tthis.entriesLoading = false;\n\t\t}\n\t}\n\t/** Create a new session on the active endpoint and select it. */\n\tasync startNewSession() {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn null;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { id } = await createSession();\n\t\t\tconst now = Date.now();\n\t\t\tconst summary = {\n\t\t\t\tid,\n\t\t\t\ttitle: \"\",\n\t\t\t\tcreatedAt: now,\n\t\t\t\tupdatedAt: now\n\t\t\t};\n\t\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\t\tthis.setEndpointState(endpointId, {\n\t\t\t\tsessions: [summary, ...prev.sessions.filter((s) => s.id !== id)],\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tactiveSessionId: id\n\t\t\t});\n\t\t\tthis.entries = [];\n\t\t\tthis._resetPendingRenderState();\n\t\t\treturn id;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = `Failed to start session: ${err.message ?? \"unknown error\"}`;\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t* Send a message in the active session. If none is active, create one\n\t* first (matches the \"zero sessions\" empty-state flow).\n\t*/\n\tasync send(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tthis.lastFailedText = \"\";\n\t\tif (this.pendingQuestion && this.pendingQuestion.questions.length === 1 && this.sending) {\n\t\t\tawait this.answerQuestion(trimmed);\n\t\t\treturn;\n\t\t}\n\t\tif (this.pendingQuestion && this.sending) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...this.pendingQuestion,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"This question has multiple parts and must be answered with the provided controls.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tif (this.sending) return;\n\t\tlet sessionId = this.activeSessionId;\n\t\tif (!sessionId) {\n\t\t\tsessionId = await this.startNewSession();\n\t\t\tif (!sessionId) return;\n\t\t}\n\t\tconst userEntry = {\n\t\t\tid: randomId(),\n\t\t\trole: \"user\",\n\t\t\ttext: trimmed,\n\t\t\ttimestamp: Date.now()\n\t\t};\n\t\tthis.entries = [...this.entries, userEntry];\n\t\tthis._resetPendingRenderState();\n\t\tthis.error = \"\";\n\t\tthis.sending = true;\n\t\tif (voiceState.ttsAutoEnabled) playAck();\n\t\ttry {\n\t\t\tif (this._unsubscribeEvents && this.liveConnected) await new Promise((resolve, reject) => {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Timed out waiting for the assistant response.\"));\n\t\t\t\t}, STREAM_TURN_TIMEOUT_MS);\n\t\t\t\tthis._pendingTurn = {\n\t\t\t\t\tendpointId: this.activeEndpointId,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tspokenOffset: 0,\n\t\t\t\t\treasoningPartIds: /* @__PURE__ */ new Set(),\n\t\t\t\t\tresolve,\n\t\t\t\t\treject,\n\t\t\t\t\ttimeout\n\t\t\t\t};\n\t\t\t\tstartChatMessageTurn(sessionId, trimmed).catch((error) => {\n\t\t\t\t\tthis._failPendingTurn(error instanceof Error ? error : new Error(String(error)));\n\t\t\t\t});\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst replyText = (await sendChatMessage(sessionId, trimmed)).parts.filter((p) => p.type === \"text\" && p.text).map((p) => p.text ?? \"\").join(\"\");\n\t\t\t\tthis.finalizeTurn({\n\t\t\t\t\tsessionId,\n\t\t\t\t\treplyText\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tthis.entries = this.entries.filter((entry) => entry.id !== userEntry.id);\n\t\t\tthis.lastFailedText = trimmed;\n\t\t\tconst status = e?.status;\n\t\t\tif (status === 503 || status === 502) this.setEndpointState(this.activeEndpointId, { activeSessionId: null });\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Message failed.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t\tnotifyAssistantError();\n\t\t} finally {\n\t\t\tthis.sending = false;\n\t\t}\n\t}\n\t/**\n\t* Conversation-mode entry point — barge-in aware. The composer's submit\n\t* path keeps calling send() directly (no-op while sending unless a\n\t* question is pending); a spoken utterance must never be silently dropped\n\t* by that guard. If a reply is mid-generation, stop it first — stopTurn()\n\t* halts TTS and finalizes the partial text unspoken — then send the\n\t* utterance. When a question is pending, send() already routes the text\n\t* as the answer, so no stop is needed.\n\t*/\n\tasync sendUtterance(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tif (this.sending && !this.pendingQuestion) {\n\t\t\tawait this.stopTurn();\n\t\t\tfor (let i = 0; this.sending && i < 20; i++) await new Promise((resolve) => setTimeout(resolve, 10));\n\t\t\tif (this.sending) {\n\t\t\t\tthis.lastFailedText = trimmed;\n\t\t\t\tthis.error = \"The assistant is still finishing the previous reply — use retry to send your message.\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tawait this.send(trimmed);\n\t}\n\t/**\n\t* Stop the in-flight turn. No-op if nothing is sending. The upstream abort\n\t* is best-effort — OpenCode may have already finished or the endpoint may\n\t* be unreachable — the turn is always finished locally regardless so the\n\t* UI never gets stuck waiting on `sending`.\n\t*\n\t* Clearing `_pendingTurn` before resolving is what makes a late SSE\n\t* turn-end for the aborted turn a no-op: `_onLiveEvent` bails out as soon\n\t* as `_pendingTurn` is null.\n\t*/\n\tasync stopTurn() {\n\t\tif (!this.sending) return;\n\t\tconst sessionId = this.activeSessionId;\n\t\tif (sessionId) try {\n\t\t\tawait abortChatTurn(sessionId);\n\t\t} catch {}\n\t\tstopSpeaking();\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (this.pendingAssistantText) this.finalizeTurn({\n\t\t\tsessionId: pending?.sessionId ?? sessionId ?? \"\",\n\t\t\tsuppressSpeech: true\n\t\t});\n\t\telse {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tconst stoppedNote = {\n\t\t\t\tid: randomId(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Stopped\",\n\t\t\t\ttext: \"Stopped.\",\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, stoppedNote];\n\t\t}\n\t\tpending?.resolve();\n\t}\n\tasync answerPermission(reply) {\n\t\tif (!this.pendingPermission || this.pendingPermission.status === \"submitting\") return;\n\t\tconst current = this.pendingPermission;\n\t\tthis.pendingPermission = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tdecision: reply,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatPermission(current.requestID, reply);\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"resolved\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage: reply === \"once\" ? `Allowed ${current.permission} once. Waiting for the assistant to continue...` : reply === \"always\" ? `Always allowed future matching ${current.permission} requests.` : `Denied ${current.permission}. Waiting for the assistant to continue...`\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to record permission reply.\";\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tsetQuestionAnswer(index, answer) {\n\t\tif (!this.pendingQuestion) return;\n\t\tif (index < 0 || index >= this.pendingQuestion.questions.length) return;\n\t\tconst answers = [...this.pendingQuestion.answers];\n\t\tanswers[index] = answer;\n\t\tthis.pendingQuestion = {\n\t\t\t...this.pendingQuestion,\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t}\n\tasync answerQuestion(answer) {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tconst answers = current.questions.length === 1 && typeof answer === \"string\" ? [answer.trim()] : current.answers.map((item) => item.trim());\n\t\tif (answers.some((item) => !item)) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"Answer every question before submitting.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatQuestion(current.requestID, answers.map((item) => [item]));\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"answered\",\n\t\t\t\tanswers,\n\t\t\t\tmessage: \"Answer sent.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to send answer.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tanswers,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tasync rejectQuestion() {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait rejectChatQuestion(current.requestID);\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"rejected\",\n\t\t\t\tmessage: \"Question declined.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to reject question.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\treset() {\n\t\tstopSpeaking();\n\t\tthis._clearPendingTurn();\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis.lastFailedText = \"\";\n\t\tthis._resetPendingRenderState();\n\t\tthis.byEndpoint = new SvelteMap();\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from event stream during reset\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t}\n};\nvar chat = new ChatService();\nregisterActivationGuard(() => chat.sending ? \"Wait for the current reply to finish before switching.\" : null);\nonConnectionActivated((id) => chat.onEndpointChanged(id));\n//#endregion\n//#region src/lib/chat/navigation.ts\nfunction encodeWorkspacePath(path) {\n\tconst bytes = new TextEncoder().encode(path);\n\tlet binary = \"\";\n\tfor (const byte of bytes) binary += String.fromCharCode(byte);\n\treturn btoa(binary).replace(/=+$/g, \"\");\n}\nfunction currentChatSessionId() {\n\treturn chat.activeSessionId;\n}\nfunction buildAdvancedPath(sessionId) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tconst query = params.toString();\n\treturn query ? `/advanced?${query}` : \"/advanced\";\n}\nfunction buildChatPath(sessionId) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tconst query = params.toString();\n\treturn query ? `/chat?${query}` : \"/chat\";\n}\n/**\n* Build the OpenCode web-UI deep link to a specific session. OpenCode scopes its\n* session list by directory, so the route is `/<base64(directory)>/session/<id>`\n* and the `directory` MUST be the workspace the session actually lives in —\n* resolve it from the session record (`session.directory`), never hardcode it.\n* Without a session id or directory, fall back to the base URL (OpenCode opens\n* its default view) so we never deep-link a session the embedded app can't find.\n*/\nfunction buildAdvancedIframeUrl(baseUrl, sessionId, directory) {\n\tif (!sessionId || !directory) return baseUrl;\n\treturn `${baseUrl.replace(/\\/$/, \"\")}/${encodeWorkspacePath(directory)}/session/${encodeURIComponent(sessionId)}`;\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconAdvanced.svelte\nfunction IconAdvanced($$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)}`)}><path d=\"M4 17l4-4-4-4\"></path><path d=\"M12 17h8\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\t/** Hide the internal new-session button (use when the parent already provides one). */\n\t\tlet { onChosen, hideNewBtn = false } = $$props;\n\t\tconst SESSION_LIST_CAP = 50;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst loading = derived(() => endpointState()?.sessionsLoading ?? false);\n\t\tconst error = derived(() => endpointState()?.sessionsError ?? \"\");\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!endpointState() || loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><span>Loading sessions…</span></div>`);\n\t\t} else if (error()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">Retry</button></div>`);\n\t\t} else if (sessions().length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">No sessions yet. Start the first one.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"session-list svelte-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet s = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(s.updatedAt))}</span></span></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (overflowCount() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"show-all svelte-1o6rxhb\">Show all (${escape_html(overflowCount())} more)</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!hideNewBtn) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconConversations.svelte\nfunction IconConversations($$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=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M4 7h16\" opacity=\"0.9\"></path><path d=\"M4 12h11\" opacity=\"0.65\"></path><path d=\"M4 17h7.5\" opacity=\"0.5\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOff.svelte\nfunction IconSoundOff($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOn.svelte\nfunction IconSoundOn($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"></path></svg>`);\n}\n//#endregion\nexport { resolveSessionTitle as a, buildAdvancedIframeUrl as c, currentChatSessionId as d, chat as f, SessionList as i, buildAdvancedPath as l, IconSoundOff as n, isLocalAssistantUrl as o, advancedModeService as p, IconConversations as r, IconAdvanced as s, IconSoundOn as t, buildChatPath as u };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconSoundOn-DTZuBn2-.js","sources":["../../../.svelte-kit/adapter-node/chunks/IconSoundOn.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"./dev.js\";\nimport \"./index-server.js\";\nimport { b as randomId, c as stopSpeaking, g as subscribeSessionEvents, i as speakText, l as voiceState } from \"./voice-state.svelte.js\";\nimport { C as isSessionError, D as createSession, E as abortChatTurn, F as startChatMessageTurn, L as isUserFacingTool, M as replyChatPermission, N as replyChatQuestion, O as getSessionMessages, P as sendChatMessage, S as extractToolUpdate, T as partSnapshotType, a as formatRelativeTime, b as extractStepUpdate, d as registerActivationGuard, g as SvelteMap, h as notifyAssistantReply, i as formatDateTime, j as rejectChatQuestion, k as listSessions, l as endpointsService, m as notifyAssistantError, u as onConnectionActivated, v as extractPermissionAsk, w as isTurnEnd, x as extractTextDelta, y as extractQuestionAsk } from \"./IconStop.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/advanced-mode-state.svelte.ts\nvar ADVANCED_MODE_STORAGE_KEY = \"openpalm.chat.advanced\";\nvar AdvancedModeService = class {\n\tenabled = false;\n\tinitialized = false;\n\tinit() {\n\t\tif (typeof window === \"undefined\" || this.initialized) return;\n\t\tthis.enabled = this.#readStoredPreference();\n\t\tthis.initialized = true;\n\t}\n\tsetEnabled(value) {\n\t\tthis.enabled = value;\n\t\tthis.#writeStoredPreference(value);\n\t}\n\ttoggle() {\n\t\tconst next = !this.enabled;\n\t\tthis.setEnabled(next);\n\t\treturn next;\n\t}\n\t#readStoredPreference() {\n\t\tif (typeof window === \"undefined\") return false;\n\t\ttry {\n\t\t\treturn window.localStorage.getItem(ADVANCED_MODE_STORAGE_KEY) === \"1\";\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\t#writeStoredPreference(value) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.localStorage.setItem(ADVANCED_MODE_STORAGE_KEY, value ? \"1\" : \"0\");\n\t\t} catch {}\n\t}\n};\nvar advancedModeService = new AdvancedModeService();\n//#endregion\n//#region src/lib/voice/earcon.ts\n/**\n* Earcon feedback — a short two-tone blip acknowledging a sent message,\n* replacing the old spoken ack phrases. Pure WebAudio: no asset files and\n* no TTS engine required, so the ack works wherever audio output exists.\n*\n* playAck runs inside the send-click user gesture, which also primes the\n* browser's autoplay policy for the TTS audio that follows.\n*\n* Only access browser APIs (window, AudioContext) from playAck — never at\n* module top level — for SSR safety.\n*/\nvar ctx = null;\n/** One sine tone with a fast-attack / fast-decay gain envelope. */\nfunction tone(context, frequency, startAt, durationS) {\n\tconst osc = context.createOscillator();\n\tconst gain = context.createGain();\n\tosc.type = \"sine\";\n\tosc.frequency.value = frequency;\n\tgain.gain.setValueAtTime(0, startAt);\n\tgain.gain.linearRampToValueAtTime(.08, startAt + .005);\n\tgain.gain.linearRampToValueAtTime(0, startAt + durationS);\n\tosc.connect(gain);\n\tgain.connect(context.destination);\n\tosc.start(startAt);\n\tosc.stop(startAt + durationS + .01);\n}\n/**\n* Play the \"message sent\" ack: two quick ascending sine tones, total under\n* 200ms. All failures are swallowed — the ack is best-effort feedback and\n* must never surface an error or block the send path.\n*/\nfunction playAck() {\n\tif (typeof window === \"undefined\") return;\n\ttry {\n\t\tif (!ctx) {\n\t\t\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\t\t\tif (!Ctor) return;\n\t\t\tctx = new Ctor();\n\t\t}\n\t\tif (ctx.state === \"suspended\") ctx.resume().catch(() => {});\n\t\tconst now = ctx.currentTime;\n\t\ttone(ctx, 880, now, .06);\n\t\ttone(ctx, 1320, now + .07, .08);\n\t} catch {}\n}\n//#endregion\n//#region src/lib/voice/sentence-stream.ts\n/**\n* Incremental sentence chunker for streamed TTS. As the assistant reply\n* streams in, the chat layer calls `extractSpeakableChunks` with the whole\n* accumulated buffer plus the offset it has already spoken up to; each\n* returned chunk is a complete sentence (or merged run of short sentences)\n* that can be handed to the speak queue immediately, so audio starts within\n* one sentence of the reply instead of after the full turn.\n*\n* Pure and dependency-free like speakable-text.ts — markdown stripping is\n* NOT done here (playOne applies toSpeakableText per chunk).\n*\n* Known limitations (accepted for v1): abbreviations outside the short\n* guard list below and initials cut early because they look like sentence\n* ends; a decimal split across two deltas (\"3.\" then \"14\") cuts mid-number\n* when whitespace happens to follow the dot. Both cost a short pause in the\n* audio, never lost text.\n*/\n/**\n* Chunks shorter than this merge forward into the following sentence — a\n* one-word utterance per TTS request wastes a round trip and sounds choppy.\n*/\nvar MIN_CHUNK_CHARS = 25;\n/**\n* Best-effort abbreviation guard: a period straight after one of these\n* tokens is almost never a sentence end (\"Dr. Smith\", \"e.g. this\"), so the\n* chunker skips the cut. Deliberately short — a missing abbreviation only\n* costs an early cut (short audio pause), a false positive only merges two\n* sentences into one chunk. Matched case-insensitively.\n*/\nvar ABBREVIATIONS = new Set([\n\t\"dr\",\n\t\"mr\",\n\t\"mrs\",\n\t\"ms\",\n\t\"prof\",\n\t\"st\",\n\t\"vs\",\n\t\"etc\",\n\t\"e.g\",\n\t\"i.e\",\n\t\"approx\"\n]);\n/**\n* Abbreviations matched case-SENSITIVELY: lowercase \"no\" is an ordinary word\n* that legitimately ends sentences (\"the answer is no.\"), while \"No. 5\" is\n* the numero abbreviation.\n*/\nvar CASED_ABBREVIATIONS = new Set([\"No\"]);\n/**\n* True when the token immediately before the period at `periodIndex` is a\n* known abbreviation. The token is scanned back over letters and interior\n* periods so multi-part abbreviations (\"e.g.\", \"i.e.\") match at their final\n* period (their interior periods are never cut candidates — no whitespace\n* follows them).\n*/\nfunction endsWithAbbreviation(buffer, periodIndex) {\n\tlet start = periodIndex;\n\twhile (start > 0 && /[a-zA-Z.]/.test(buffer[start - 1])) start -= 1;\n\tconst token = buffer.slice(start, periodIndex);\n\tif (!token) return false;\n\treturn ABBREVIATIONS.has(token.toLowerCase()) || CASED_ABBREVIATIONS.has(token);\n}\nfunction extractSpeakableChunks(buffer, offset) {\n\tconst chunks = [];\n\tlet nextOffset = offset;\n\tlet chunkStart = offset;\n\tlet inFence = false;\n\tlet i = 0;\n\twhile (i < buffer.length) {\n\t\tif (buffer.startsWith(\"```\", i)) {\n\t\t\tinFence = !inFence;\n\t\t\ti += 3;\n\t\t\tcontinue;\n\t\t}\n\t\tif (i < offset || inFence) {\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tlet cut = -1;\n\t\tconst ch = buffer[i];\n\t\tif ((ch === \".\" || ch === \"!\" || ch === \"?\") && i + 1 < buffer.length && /\\s/.test(buffer[i + 1])) {\n\t\t\tif (ch !== \".\" || !endsWithAbbreviation(buffer, i)) cut = i + 1;\n\t\t} else if (ch === \"\\n\" && buffer[i + 1] === \"\\n\") cut = i + 2;\n\t\tif (cut !== -1) {\n\t\t\tconst candidate = buffer.slice(chunkStart, cut).trim();\n\t\t\tif (candidate.length >= MIN_CHUNK_CHARS) {\n\t\t\t\tchunks.push(candidate);\n\t\t\t\tchunkStart = cut;\n\t\t\t\tnextOffset = cut;\n\t\t\t}\n\t\t}\n\t\ti += 1;\n\t}\n\treturn {\n\t\tchunks,\n\t\tnextOffset\n\t};\n}\n//#endregion\n//#region src/lib/chat/assistant-error.ts\n/**\n* Map an unknown thrown value to a user-facing string.\n*\n* - 503 / 502 -> \"Assistant is not reachable.\" (+ \" Try reconnecting.\" when\n* `reconnectHint` is set).\n* - 401 -> \"Sign-in required.\"\n* - otherwise -> the error's own `message`, falling back to `fallback`.\n*/\nfunction mapAssistantError(e, opts = {}) {\n\tconst { fallback = \"Something went wrong.\", reconnectHint = false } = opts;\n\tconst err = e ?? {};\n\tif (err.status === 503 || err.status === 502) return reconnectHint ? \"Assistant is not reachable. Try reconnecting.\" : \"Assistant is not reachable.\";\n\tif (err.status === 401) return \"Sign-in required.\";\n\treturn err.message ?? fallback;\n}\n//#endregion\n//#region src/lib/chat/chat-state.svelte.ts\nvar STREAM_TURN_TIMEOUT_MS = 15e4;\nfunction emptyEndpointState() {\n\treturn {\n\t\tsessions: [],\n\t\tsessionsLoaded: false,\n\t\tsessionsLoading: false,\n\t\tsessionsError: \"\",\n\t\tactiveSessionId: null\n\t};\n}\nvar ChatService = class {\n\t/**\n\t* Per-endpoint session cache. Reassigned on every mutation so Svelte 5\n\t* picks up the change. Never mutate the existing Map in place.\n\t*/\n\tbyEndpoint = new SvelteMap();\n\t/**\n\t* Mirrored from `endpointsService.activeId` via `onEndpointChanged()`\n\t* so the chat layer doesn't have to import the endpoint store.\n\t*/\n\tactiveEndpointId = \"default\";\n\t/** Messages for the currently rendered session only. */\n\tentries = [];\n\tentriesLoading = false;\n\tsending = false;\n\terror = \"\";\n\t/**\n\t* Text of the most recent send() call that failed before reaching the\n\t* assistant. Cleared at the start of every send() (success or not) so it\n\t* only ever reflects the latest failure. Drives the error banner's retry\n\t* button.\n\t*/\n\tlastFailedText = \"\";\n\tpendingAssistantText = \"\";\n\tpendingToolStates = [];\n\tpendingPermission = null;\n\tpendingQuestion = null;\n\t/**\n\t* Set true while the SSE event stream is connected. Surfaced by the\n\t* SessionPicker as a tiny green/gray dot so the operator can see at a\n\t* glance whether live updates are flowing.\n\t*/\n\tliveConnected = false;\n\t/**\n\t* Active SSE subscription handle. Reassigned on every endpoint switch.\n\t* Plain field (not `$state`) — only the chat service touches it.\n\t*/\n\t_unsubscribeEvents = null;\n\t_pendingTurn = null;\n\t#activeSessionId = derived(() => this.byEndpoint.get(this.activeEndpointId)?.activeSessionId ?? null);\n\tget activeSessionId() {\n\t\treturn this.#activeSessionId();\n\t}\n\tset activeSessionId($$value) {\n\t\treturn this.#activeSessionId($$value);\n\t}\n\t#toolLog = derived(() => {\n\t\tconst seen = {};\n\t\tconst out = [];\n\t\tconst push = (states, turnKey) => {\n\t\t\tif (!states) return;\n\t\t\tfor (const tool of states) {\n\t\t\t\tif (seen[tool.id]) continue;\n\t\t\t\tif (!isUserFacingTool(tool)) continue;\n\t\t\t\tseen[tool.id] = true;\n\t\t\t\tout.push({\n\t\t\t\t\t...tool,\n\t\t\t\t\tturnKey\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tfor (const entry of this.entries) push(entry.toolStates, entry.id);\n\t\tpush(this.pendingToolStates, \"pending\");\n\t\treturn out;\n\t});\n\tget toolLog() {\n\t\treturn this.#toolLog();\n\t}\n\tset toolLog($$value) {\n\t\treturn this.#toolLog($$value);\n\t}\n\tsetEndpointState(id, patch) {\n\t\tconst next = {\n\t\t\t...this.byEndpoint.get(id) ?? emptyEndpointState(),\n\t\t\t...patch\n\t\t};\n\t\tthis.byEndpoint = new SvelteMap(this.byEndpoint).set(id, next);\n\t\treturn next;\n\t}\n\t/**\n\t* Handle an endpoint switch: load sessions, restore prior or pick\n\t* newest, fetch messages. Mid-generation switches are blocked.\n\t*/\n\tasync onEndpointChanged(id) {\n\t\tif (this.sending) {\n\t\t\tif (id === this.activeEndpointId) {\n\t\t\t\tthis.error = \"\";\n\t\t\t\tif (!this.liveConnected) this._resubscribeEvents();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tthis.activeEndpointId = id;\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis._resubscribeEvents();\n\t\tawait this.loadSessions();\n\t\tconst state = this.byEndpoint.get(id) ?? emptyEndpointState();\n\t\tconst sessions = state.sessions ?? [];\n\t\tconst previous = state.activeSessionId;\n\t\tlet nextSessionId = null;\n\t\tif (previous && sessions.some((s) => s.id === previous)) nextSessionId = previous;\n\t\telse if (sessions.length > 0) nextSessionId = sessions[0].id;\n\t\tif (nextSessionId !== state.activeSessionId) this.setEndpointState(id, { activeSessionId: nextSessionId });\n\t\tif (nextSessionId) await this.openSession(nextSessionId);\n\t}\n\t/**\n\t* Tear down any prior SSE subscription and open a new one. Handlers\n\t* dispatch session.created / updated / deleted into the per-endpoint\n\t* cache, mirroring out-of-band changes (CLI, other clients).\n\t*/\n\t_resubscribeEvents() {\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from previous event stream\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t\tthis._unsubscribeEvents = subscribeSessionEvents({\n\t\t\tonCreated: (id) => {\n\t\t\t\tthis._onSessionCreated(id);\n\t\t\t},\n\t\t\tonUpdated: (id, info) => {\n\t\t\t\tthis._onSessionUpdated(id, info);\n\t\t\t},\n\t\t\tonDeleted: (id) => {\n\t\t\t\tthis._onSessionDeleted(id);\n\t\t\t},\n\t\t\tonEvent: (event) => {\n\t\t\t\tthis._onLiveEvent(event);\n\t\t\t},\n\t\t\tonConnect: () => {\n\t\t\t\tthis.liveConnected = true;\n\t\t\t},\n\t\t\tonDisconnect: () => {\n\t\t\t\tthis.liveConnected = false;\n\t\t\t\tif (this._pendingTurn) this._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant event stream disconnected.\"));\n\t\t\t}\n\t\t});\n\t}\n\t_toRawEvent(event) {\n\t\treturn {\n\t\t\ttype: event.type,\n\t\t\tproperties: event.properties ?? {}\n\t\t};\n\t}\n\t_upsertPendingToolState(update) {\n\t\tconst id = update.callID || `${update.tool}:${this.pendingToolStates.length}`;\n\t\tconst next = {\n\t\t\tid,\n\t\t\tkind: \"tool\",\n\t\t\ttool: update.tool,\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title ?? update.tool,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: update.output ?? \"\",\n\t\t\terror: update.error ?? \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_upsertPendingStepState(update) {\n\t\tconst next = {\n\t\t\tid: update.id,\n\t\t\tkind: \"step\",\n\t\t\ttool: \"step\",\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: \"\",\n\t\t\terror: \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === update.id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === update.id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_resetPendingRenderState() {\n\t\tthis.pendingAssistantText = \"\";\n\t\tthis.pendingToolStates = [];\n\t\tthis.pendingPermission = null;\n\t\tthis.pendingQuestion = null;\n\t}\n\t_appendAssistantReply(text, toolStates) {\n\t\tconst assistantEntry = {\n\t\t\tid: randomId(),\n\t\t\trole: \"assistant\",\n\t\t\ttext,\n\t\t\ttimestamp: Date.now(),\n\t\t\t...toolStates && toolStates.length > 0 ? { toolStates: [...toolStates] } : {}\n\t\t};\n\t\tthis.entries = [...this.entries, assistantEntry];\n\t}\n\t_clearPendingTurn() {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return null;\n\t\tclearTimeout(pending.timeout);\n\t\tthis._pendingTurn = null;\n\t\treturn pending;\n\t}\n\t/**\n\t* Speak `text` via auto-TTS iff the browser supports it and the operator\n\t* has enabled auto-speak. Single guard for spoken replies so the\n\t* `ttsSupported && ttsAutoEnabled` check lives in one place.\n\t*/\n\tmaybeSpeak(text) {\n\t\tif (!voiceState.ttsSupported || !voiceState.ttsAutoEnabled) return;\n\t\tspeakText(text);\n\t}\n\t/**\n\t* Finalize a completed turn: append the assistant reply (with any captured\n\t* tool activity), clear the pending render state, bump the session to the\n\t* top, auto-speak the reply, and fire the reply notification. Shared by the\n\t* streaming (`_finishPendingTurn`) and non-streaming (`send`) paths so the\n\t* sequence — including the answered-question note preservation — exists once.\n\t*/\n\tfinalizeTurn(args) {\n\t\tconst raw = args.replyText ?? this.pendingAssistantText;\n\t\tconst text = raw.trim() || \"(no response)\";\n\t\tif (this.pendingQuestion?.status === \"answered\" && this.pendingQuestion.message) {\n\t\t\tconst questionNote = {\n\t\t\t\tid: randomId(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Question answered\",\n\t\t\t\ttext: this.pendingQuestion.message,\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, questionNote];\n\t\t}\n\t\tconst capturedToolStates = this.pendingToolStates.length > 0 ? [...this.pendingToolStates] : void 0;\n\t\tthis._appendAssistantReply(text, capturedToolStates);\n\t\tthis._resetPendingRenderState();\n\t\tthis._bumpSession(args.sessionId);\n\t\tif (text !== \"(no response)\" && !args.suppressSpeech) {\n\t\t\tconst remainder = raw.slice(args.spokenOffset ?? 0).trim();\n\t\t\tif (remainder) this.maybeSpeak(remainder);\n\t\t}\n\t\tnotifyAssistantReply(text === \"(no response)\" ? \"\" : text);\n\t}\n\t_finishPendingTurn(replyText) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis.finalizeTurn({\n\t\t\tsessionId: pending.sessionId,\n\t\t\treplyText,\n\t\t\tspokenOffset: pending.spokenOffset\n\t\t});\n\t\tpending.resolve();\n\t}\n\t_failPendingTurn(error) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis._resetPendingRenderState();\n\t\tpending.reject(error);\n\t}\n\t_bumpSession(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst now = Date.now();\n\t\tconst existing = prev.sessions.find((s) => s.id === sessionId);\n\t\tconst updated = existing ? {\n\t\t\t...existing,\n\t\t\tupdatedAt: now\n\t\t} : {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tconst rest = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tthis.setEndpointState(endpointId, { sessions: [updated, ...rest] });\n\t}\n\t_onLiveEvent(event) {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return;\n\t\tconst raw = this._toRawEvent(event);\n\t\tif (pending.endpointId !== this.activeEndpointId) return;\n\t\tconst snapshot = partSnapshotType(raw);\n\t\tif (snapshot?.type === \"reasoning\") pending.reasoningPartIds.add(snapshot.partID);\n\t\tconst textDelta = extractTextDelta(raw, pending.sessionId, pending.reasoningPartIds);\n\t\tif (textDelta) {\n\t\t\tthis.pendingAssistantText += textDelta;\n\t\t\tif (voiceState.ttsSupported && voiceState.ttsAutoEnabled) {\n\t\t\t\tconst { chunks, nextOffset } = extractSpeakableChunks(this.pendingAssistantText, pending.spokenOffset);\n\t\t\t\tfor (const chunk of chunks) speakText(chunk);\n\t\t\t\tpending.spokenOffset = nextOffset;\n\t\t\t}\n\t\t}\n\t\tconst toolUpdate = extractToolUpdate(raw, pending.sessionId);\n\t\tif (toolUpdate) this._upsertPendingToolState(toolUpdate);\n\t\tconst stepUpdate = extractStepUpdate(raw, pending.sessionId);\n\t\tif (stepUpdate) this._upsertPendingStepState(stepUpdate);\n\t\tconst permissionAsk = extractPermissionAsk(raw, pending.sessionId);\n\t\tif (permissionAsk) this.pendingPermission = {\n\t\t\t...permissionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tdecision: \"\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\tconst questionAsk = extractQuestionAsk(raw, pending.sessionId);\n\t\tif (questionAsk) this.pendingQuestion = {\n\t\t\t...questionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tanswers: questionAsk.questions.map(() => \"\"),\n\t\t\tmessage: \"\"\n\t\t};\n\t\tif (isSessionError(raw, pending.sessionId)) {\n\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant session ended unexpectedly.\"));\n\t\t\treturn;\n\t\t}\n\t\tif (isTurnEnd(raw, pending.sessionId)) this._finishPendingTurn();\n\t}\n\t/**\n\t* A session was created out-of-band — prepend to the active endpoint's\n\t* list if not already known. Do not auto-switch to it: the user owns\n\t* navigation.\n\t*/\n\t_onSessionCreated(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\tif (prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst now = Date.now();\n\t\tconst summary = {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions: [summary, ...prev.sessions],\n\t\t\tsessionsLoaded: true\n\t\t});\n\t}\n\t/**\n\t* A session was touched out-of-band — patch its updatedAt (and title if\n\t* the event carries one) and re-sort. Do NOT refetch messages: if the\n\t* user is viewing this session, leave the in-memory entries alone for\n\t* v1. A follow-up phase can reconcile message deltas via the assistant\n\t* event stream.\n\t*/\n\t_onSessionUpdated(sessionId, info) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst idx = prev.sessions.findIndex((s) => s.id === sessionId);\n\t\tif (idx === -1) {\n\t\t\tthis._onSessionCreated(sessionId);\n\t\t\treturn;\n\t\t}\n\t\tconst existing = prev.sessions[idx];\n\t\tconst sessions = [{\n\t\t\t...existing,\n\t\t\ttitle: info?.title ?? existing.title,\n\t\t\tupdatedAt: info?.updatedAt ?? Date.now()\n\t\t}, ...prev.sessions.filter((s) => s.id !== sessionId)];\n\t\tsessions.sort((a, b) => b.updatedAt - a.updatedAt);\n\t\tthis.setEndpointState(endpointId, { sessions });\n\t}\n\t/**\n\t* A session was deleted out-of-band. Remove it from the list; if it was\n\t* the active session, fall back to the newest remaining session (or\n\t* null) and reload its messages.\n\t*/\n\tasync _onSessionDeleted(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tif (!prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst sessions = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tconst wasActive = prev.activeSessionId === sessionId;\n\t\tconst nextActive = wasActive ? sessions[0]?.id ?? null : prev.activeSessionId;\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions,\n\t\t\tactiveSessionId: nextActive\n\t\t});\n\t\tif (wasActive) {\n\t\t\tthis.entries = [];\n\t\t\tif (nextActive) await this.openSession(nextActive);\n\t\t}\n\t}\n\t/**\n\t* Sync one endpoint's session cursor without loading messages or changing\n\t* which endpoint is active. Advanced uses this only after verifying that its\n\t* captured endpoint and probe generation are still current.\n\t*/\n\tsetActiveSessionId(sessionId, endpointId = this.activeEndpointId) {\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t}\n\t/** Align the in-memory cursor owner on a validated direct Advanced entry. */\n\talignActiveEndpoint(endpointId) {\n\t\tthis.activeEndpointId = endpointId;\n\t}\n\t/** Fetch the session list for the active endpoint. */\n\tasync loadSessions() {\n\t\tconst id = this.activeEndpointId;\n\t\tthis.setEndpointState(id, {\n\t\t\tsessionsLoading: true,\n\t\t\tsessionsError: \"\"\n\t\t});\n\t\ttry {\n\t\t\tconst sessions = await listSessions();\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessions,\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: \"\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: mapAssistantError(e, { fallback: \"Failed to load sessions.\" })\n\t\t\t});\n\t\t}\n\t}\n\t/** Select a session and render its messages. */\n\tasync openSession(sessionId) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t\tthis.entries = [];\n\t\tthis._resetPendingRenderState();\n\t\tthis.entriesLoading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst messages = await getSessionMessages(sessionId);\n\t\t\tif (this.activeEndpointId === endpointId && this.byEndpoint.get(endpointId)?.activeSessionId === sessionId) this.entries = messages;\n\t\t} catch (e) {\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Failed to load messages.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t} finally {\n\t\t\tthis.entriesLoading = false;\n\t\t}\n\t}\n\t/** Create a new session on the active endpoint and select it. */\n\tasync startNewSession() {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn null;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { id } = await createSession();\n\t\t\tconst now = Date.now();\n\t\t\tconst summary = {\n\t\t\t\tid,\n\t\t\t\ttitle: \"\",\n\t\t\t\tcreatedAt: now,\n\t\t\t\tupdatedAt: now\n\t\t\t};\n\t\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\t\tthis.setEndpointState(endpointId, {\n\t\t\t\tsessions: [summary, ...prev.sessions.filter((s) => s.id !== id)],\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tactiveSessionId: id\n\t\t\t});\n\t\t\tthis.entries = [];\n\t\t\tthis._resetPendingRenderState();\n\t\t\treturn id;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = `Failed to start session: ${err.message ?? \"unknown error\"}`;\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t* Send a message in the active session. If none is active, create one\n\t* first (matches the \"zero sessions\" empty-state flow).\n\t*/\n\tasync send(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tthis.lastFailedText = \"\";\n\t\tif (this.pendingQuestion && this.pendingQuestion.questions.length === 1 && this.sending) {\n\t\t\tawait this.answerQuestion(trimmed);\n\t\t\treturn;\n\t\t}\n\t\tif (this.pendingQuestion && this.sending) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...this.pendingQuestion,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"This question has multiple parts and must be answered with the provided controls.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tif (this.sending) return;\n\t\tlet sessionId = this.activeSessionId;\n\t\tif (!sessionId) {\n\t\t\tsessionId = await this.startNewSession();\n\t\t\tif (!sessionId) return;\n\t\t}\n\t\tconst userEntry = {\n\t\t\tid: randomId(),\n\t\t\trole: \"user\",\n\t\t\ttext: trimmed,\n\t\t\ttimestamp: Date.now()\n\t\t};\n\t\tthis.entries = [...this.entries, userEntry];\n\t\tthis._resetPendingRenderState();\n\t\tthis.error = \"\";\n\t\tthis.sending = true;\n\t\tif (voiceState.ttsAutoEnabled) playAck();\n\t\ttry {\n\t\t\tif (this._unsubscribeEvents && this.liveConnected) await new Promise((resolve, reject) => {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Timed out waiting for the assistant response.\"));\n\t\t\t\t}, STREAM_TURN_TIMEOUT_MS);\n\t\t\t\tthis._pendingTurn = {\n\t\t\t\t\tendpointId: this.activeEndpointId,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tspokenOffset: 0,\n\t\t\t\t\treasoningPartIds: /* @__PURE__ */ new Set(),\n\t\t\t\t\tresolve,\n\t\t\t\t\treject,\n\t\t\t\t\ttimeout\n\t\t\t\t};\n\t\t\t\tstartChatMessageTurn(sessionId, trimmed).catch((error) => {\n\t\t\t\t\tthis._failPendingTurn(error instanceof Error ? error : new Error(String(error)));\n\t\t\t\t});\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst replyText = (await sendChatMessage(sessionId, trimmed)).parts.filter((p) => p.type === \"text\" && p.text).map((p) => p.text ?? \"\").join(\"\");\n\t\t\t\tthis.finalizeTurn({\n\t\t\t\t\tsessionId,\n\t\t\t\t\treplyText\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tthis.entries = this.entries.filter((entry) => entry.id !== userEntry.id);\n\t\t\tthis.lastFailedText = trimmed;\n\t\t\tconst status = e?.status;\n\t\t\tif (status === 503 || status === 502) this.setEndpointState(this.activeEndpointId, { activeSessionId: null });\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Message failed.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t\tnotifyAssistantError();\n\t\t} finally {\n\t\t\tthis.sending = false;\n\t\t}\n\t}\n\t/**\n\t* Conversation-mode entry point — barge-in aware. The composer's submit\n\t* path keeps calling send() directly (no-op while sending unless a\n\t* question is pending); a spoken utterance must never be silently dropped\n\t* by that guard. If a reply is mid-generation, stop it first — stopTurn()\n\t* halts TTS and finalizes the partial text unspoken — then send the\n\t* utterance. When a question is pending, send() already routes the text\n\t* as the answer, so no stop is needed.\n\t*/\n\tasync sendUtterance(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tif (this.sending && !this.pendingQuestion) {\n\t\t\tawait this.stopTurn();\n\t\t\tfor (let i = 0; this.sending && i < 20; i++) await new Promise((resolve) => setTimeout(resolve, 10));\n\t\t\tif (this.sending) {\n\t\t\t\tthis.lastFailedText = trimmed;\n\t\t\t\tthis.error = \"The assistant is still finishing the previous reply — use retry to send your message.\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tawait this.send(trimmed);\n\t}\n\t/**\n\t* Stop the in-flight turn. No-op if nothing is sending. The upstream abort\n\t* is best-effort — OpenCode may have already finished or the endpoint may\n\t* be unreachable — the turn is always finished locally regardless so the\n\t* UI never gets stuck waiting on `sending`.\n\t*\n\t* Clearing `_pendingTurn` before resolving is what makes a late SSE\n\t* turn-end for the aborted turn a no-op: `_onLiveEvent` bails out as soon\n\t* as `_pendingTurn` is null.\n\t*/\n\tasync stopTurn() {\n\t\tif (!this.sending) return;\n\t\tconst sessionId = this.activeSessionId;\n\t\tif (sessionId) try {\n\t\t\tawait abortChatTurn(sessionId);\n\t\t} catch {}\n\t\tstopSpeaking();\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (this.pendingAssistantText) this.finalizeTurn({\n\t\t\tsessionId: pending?.sessionId ?? sessionId ?? \"\",\n\t\t\tsuppressSpeech: true\n\t\t});\n\t\telse {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tconst stoppedNote = {\n\t\t\t\tid: randomId(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Stopped\",\n\t\t\t\ttext: \"Stopped.\",\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, stoppedNote];\n\t\t}\n\t\tpending?.resolve();\n\t}\n\tasync answerPermission(reply) {\n\t\tif (!this.pendingPermission || this.pendingPermission.status === \"submitting\") return;\n\t\tconst current = this.pendingPermission;\n\t\tthis.pendingPermission = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tdecision: reply,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatPermission(current.requestID, reply);\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"resolved\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage: reply === \"once\" ? `Allowed ${current.permission} once. Waiting for the assistant to continue...` : reply === \"always\" ? `Always allowed future matching ${current.permission} requests.` : `Denied ${current.permission}. Waiting for the assistant to continue...`\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to record permission reply.\";\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tsetQuestionAnswer(index, answer) {\n\t\tif (!this.pendingQuestion) return;\n\t\tif (index < 0 || index >= this.pendingQuestion.questions.length) return;\n\t\tconst answers = [...this.pendingQuestion.answers];\n\t\tanswers[index] = answer;\n\t\tthis.pendingQuestion = {\n\t\t\t...this.pendingQuestion,\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t}\n\tasync answerQuestion(answer) {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tconst answers = current.questions.length === 1 && typeof answer === \"string\" ? [answer.trim()] : current.answers.map((item) => item.trim());\n\t\tif (answers.some((item) => !item)) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"Answer every question before submitting.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatQuestion(current.requestID, answers.map((item) => [item]));\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"answered\",\n\t\t\t\tanswers,\n\t\t\t\tmessage: \"Answer sent.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to send answer.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tanswers,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tasync rejectQuestion() {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait rejectChatQuestion(current.requestID);\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"rejected\",\n\t\t\t\tmessage: \"Question declined.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to reject question.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\treset() {\n\t\tstopSpeaking();\n\t\tthis._clearPendingTurn();\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis.lastFailedText = \"\";\n\t\tthis._resetPendingRenderState();\n\t\tthis.byEndpoint = new SvelteMap();\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from event stream during reset\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t}\n};\nvar chat = new ChatService();\nregisterActivationGuard(() => chat.sending ? \"Wait for the current reply to finish before switching.\" : null);\nonConnectionActivated((id) => chat.onEndpointChanged(id));\n//#endregion\n//#region src/lib/chat/navigation.ts\nfunction encodeWorkspacePath(path) {\n\tconst bytes = new TextEncoder().encode(path);\n\tlet binary = \"\";\n\tfor (const byte of bytes) binary += String.fromCharCode(byte);\n\treturn btoa(binary).replace(/=+$/g, \"\");\n}\nfunction currentChatSessionId() {\n\treturn chat.activeSessionId;\n}\nfunction buildAdvancedPath(sessionId) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tconst query = params.toString();\n\treturn query ? `/advanced?${query}` : \"/advanced\";\n}\nfunction buildChatPath(sessionId) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tconst query = params.toString();\n\treturn query ? `/chat?${query}` : \"/chat\";\n}\n/**\n* Build the OpenCode web-UI deep link to a specific session. OpenCode scopes its\n* session list by directory, so the route is `/<base64(directory)>/session/<id>`\n* and the `directory` MUST be the workspace the session actually lives in —\n* resolve it from the session record (`session.directory`), never hardcode it.\n* Without a session id or directory, fall back to the base URL (OpenCode opens\n* its default view) so we never deep-link a session the embedded app can't find.\n*/\nfunction buildAdvancedIframeUrl(baseUrl, sessionId, directory) {\n\tif (!sessionId || !directory) return baseUrl;\n\treturn `${baseUrl.replace(/\\/$/, \"\")}/${encodeWorkspacePath(directory)}/session/${encodeURIComponent(sessionId)}`;\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconAdvanced.svelte\nfunction IconAdvanced($$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)}`)}><path d=\"M4 17l4-4-4-4\"></path><path d=\"M12 17h8\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\t/** Hide the internal new-session button (use when the parent already provides one). */\n\t\tlet { onChosen, hideNewBtn = false } = $$props;\n\t\tconst SESSION_LIST_CAP = 50;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst loading = derived(() => endpointState()?.sessionsLoading ?? false);\n\t\tconst error = derived(() => endpointState()?.sessionsError ?? \"\");\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!endpointState() || loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><span>Loading sessions…</span></div>`);\n\t\t} else if (error()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">Retry</button></div>`);\n\t\t} else if (sessions().length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">No sessions yet. Start the first one.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"session-list svelte-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet s = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(s.updatedAt))}</span></span></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (overflowCount() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"show-all svelte-1o6rxhb\">Show all (${escape_html(overflowCount())} more)</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!hideNewBtn) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconConversations.svelte\nfunction IconConversations($$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=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M4 7h16\" opacity=\"0.9\"></path><path d=\"M4 12h11\" opacity=\"0.65\"></path><path d=\"M4 17h7.5\" opacity=\"0.5\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOff.svelte\nfunction IconSoundOff($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOn.svelte\nfunction IconSoundOn($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"></path></svg>`);\n}\n//#endregion\nexport { resolveSessionTitle as a, buildAdvancedIframeUrl as c, currentChatSessionId as d, chat as f, SessionList as i, buildAdvancedPath as l, IconSoundOff as n, isLocalAssistantUrl as o, advancedModeService as p, IconConversations as r, IconAdvanced as s, IconSoundOn as t, buildChatPath as u };\n"],"names":[],"mappings":"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"}
|