@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/{4.BXlLAfIE.css → 4.B2m7mOkq.css} +1 -1
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.br +0 -0
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css +1 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.br +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css +1 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css +1 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js +1 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.br +0 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CBV2kBE1.js → ByFgZDEl.js} +1 -1
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.br +0 -0
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js +3 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BNJvGRjX.js → CoOosFtk.js} +2 -2
- package/build/client/_app/immutable/chunks/CoOosFtk.js.br +0 -0
- package/build/client/_app/immutable/chunks/CoOosFtk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C5iiO0W9.js → DBaSfL95.js} +1 -1
- package/build/client/_app/immutable/chunks/DBaSfL95.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBaSfL95.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js +1 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.br +2 -0
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.SHrJgM4c.js} +2 -2
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.br +0 -0
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js +1 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.BRotfm1G.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.CtHRQW64.js} +1 -1
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.DViPDhJG.js} +1 -1
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js +6 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CIMkqYzP.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js +2 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js +14 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js +128 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-CxqNryz-.js → 0-BtezztJz.js} +5 -4
- package/build/server/chunks/{0-CxqNryz-.js.map → 0-BtezztJz.js.map} +1 -1
- package/build/server/chunks/1-CvGA_TOi.js +9 -0
- package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-CvGA_TOi.js.map} +1 -1
- package/build/server/chunks/{10-DcTjX0aZ.js → 10-D_ipl62-.js} +3 -3
- package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-D_ipl62-.js.map} +1 -1
- package/build/server/chunks/{11-Ddav4pvQ.js → 11-Bp7zXIv8.js} +3 -3
- package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-Bp7zXIv8.js.map} +1 -1
- package/build/server/chunks/{3-xtalXCwW.js → 3-CZdWulB3.js} +7 -6
- package/build/server/chunks/{3-xtalXCwW.js.map → 3-CZdWulB3.js.map} +1 -1
- package/build/server/chunks/4-4bobZFC9.js +9 -0
- package/build/server/chunks/{4-CEASlyNx.js.map → 4-4bobZFC9.js.map} +1 -1
- package/build/server/chunks/{5-3gkFDIAU.js → 5-CeJvfCdk.js} +3 -3
- package/build/server/chunks/{5-3gkFDIAU.js.map → 5-CeJvfCdk.js.map} +1 -1
- package/build/server/chunks/{6-BSR29JnK.js → 6-sGxxEzTB.js} +4 -4
- package/build/server/chunks/{6-BSR29JnK.js.map → 6-sGxxEzTB.js.map} +1 -1
- package/build/server/chunks/{7-gx5m5R1u.js → 7-mi0k2tJn.js} +4 -4
- package/build/server/chunks/{7-gx5m5R1u.js.map → 7-mi0k2tJn.js.map} +1 -1
- package/build/server/chunks/9-DB22e_yA.js +9 -0
- package/build/server/chunks/9-DB22e_yA.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-FJW5r496.js} +9 -10
- package/build/server/chunks/ChatNavbar-FJW5r496.js.map +1 -0
- package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-w-1K5jNR.js} +4 -4
- package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-w-1K5jNR.js.map} +1 -1
- package/build/server/chunks/{IconSoundOn-DHtvjphK.js → IconSoundOn-DZGaQz_p.js} +18 -13
- package/build/server/chunks/IconSoundOn-DZGaQz_p.js.map +1 -0
- package/build/server/chunks/{IconStop-C89_dmt4.js → IconStop-BPbovgch.js} +2 -2
- package/build/server/chunks/{IconStop-C89_dmt4.js.map → IconStop-BPbovgch.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-BLxvGwKC.js → _layout.svelte-B-_IlE2E.js} +2 -2
- package/build/server/chunks/{_layout.svelte-BLxvGwKC.js.map → _layout.svelte-B-_IlE2E.js.map} +1 -1
- package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte-CB1qUSpk.js} +16 -16
- package/build/server/chunks/_page.svelte-CB1qUSpk.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-CPZBh4-z.js} +3 -3
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-CPZBh4-z.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-CPo3vFZf.js} +17 -43
- package/build/server/chunks/_page.svelte-CPo3vFZf.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-DM96lwQ1.js} +3 -3
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-DM96lwQ1.js.map} +1 -1
- package/build/server/chunks/_page.svelte-F3gki1Uz.js +155 -0
- package/build/server/chunks/_page.svelte-F3gki1Uz.js.map +1 -0
- package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-GcuuPiXq.js} +3 -3
- package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-GcuuPiXq.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-K6kU7jIW.js} +64 -80
- package/build/server/chunks/_page.svelte-K6kU7jIW.js.map +1 -0
- package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-513m4Yqs.js} +15 -14
- package/build/server/chunks/_server.ts-513m4Yqs.js.map +1 -0
- package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-6QSsgi7N.js} +7 -6
- package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-6QSsgi7N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-B2BUFCOJ.js} +3 -2
- package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-B2BUFCOJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-B5wBYGeP.js} +7 -6
- package/build/server/chunks/_server.ts-B5wBYGeP.js.map +1 -0
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-BCrEvrVb.js} +27 -23
- package/build/server/chunks/_server.ts-BCrEvrVb.js.map +1 -0
- package/build/server/chunks/_server.ts-BFRCkpIB.js +83 -0
- package/build/server/chunks/_server.ts-BFRCkpIB.js.map +1 -0
- package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-BJGOO9Nn.js} +3 -2
- package/build/server/chunks/_server.ts-BJGOO9Nn.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-BLXzfOzW.js} +7 -6
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-BLXzfOzW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-BNOepqUw.js} +7 -6
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-BNOepqUw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-BQZ6mdSh.js} +7 -6
- package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-BQZ6mdSh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-BQdhHsGb.js} +8 -7
- package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-BQdhHsGb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-BXPj75Y1.js} +8 -7
- package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-BXPj75Y1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B_dmjFtu.js} +7 -6
- package/build/server/chunks/_server.ts-B_dmjFtu.js.map +1 -0
- package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-BaVwMXGu.js} +7 -6
- package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-BaVwMXGu.js.map} +1 -1
- package/build/server/chunks/_server.ts-BcO0Zf4D.js +73 -0
- package/build/server/chunks/_server.ts-BcO0Zf4D.js.map +1 -0
- package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BcqSTHN5.js} +8 -7
- package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BcqSTHN5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-BfL_49xD.js} +8 -7
- package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-BfL_49xD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-Blmg0cXL.js} +8 -7
- package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-Blmg0cXL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BmRwgrKB.js} +8 -7
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BmRwgrKB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-Bnzq20kw.js} +7 -6
- package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-Bnzq20kw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-BrQJNRtC.js} +7 -6
- package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-BrQJNRtC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bvb9c_At.js} +9 -8
- package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bvb9c_At.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-BvtdTKYv.js} +8 -7
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-BvtdTKYv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-Bwt_pOeg.js} +7 -6
- package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-Bwt_pOeg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-C4Pel5kC.js} +7 -6
- package/build/server/chunks/_server.ts-C4Pel5kC.js.map +1 -0
- package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CFrPK6QO.js} +7 -6
- package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CFrPK6QO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-CGTCLl7g.js} +8 -7
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-CGTCLl7g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-CMOAhXEC.js} +9 -8
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-CMOAhXEC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CPNIDSmd.js} +7 -6
- package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CPNIDSmd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-CPiybiLB.js} +10 -9
- package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-CPiybiLB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-CT0jVfA6.js} +58 -56
- package/build/server/chunks/_server.ts-CT0jVfA6.js.map +1 -0
- package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CU4SIH7_.js} +5 -4
- package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CU4SIH7_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-CVvUFmDd.js} +7 -6
- package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-CVvUFmDd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-CZ3VVtAj.js} +7 -6
- package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-CZ3VVtAj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-CZMdC1Kd.js} +7 -6
- package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-CZMdC1Kd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CfLVH8TI.js} +7 -6
- package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CfLVH8TI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-Cf_ZLxIl.js} +7 -6
- package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-Cf_ZLxIl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-Cgdl0C1I.js} +7 -6
- package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-Cgdl0C1I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-CixURe5F.js} +8 -7
- package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-CixURe5F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-CjfZfEOL.js} +7 -6
- package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-CjfZfEOL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-CoVlX74M.js} +8 -7
- package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-CoVlX74M.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-Cp8YnPjm.js} +9 -8
- package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-Cp8YnPjm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CqK78x99.js} +19 -13
- package/build/server/chunks/_server.ts-CqK78x99.js.map +1 -0
- package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-CsI99fk3.js} +15 -14
- package/build/server/chunks/_server.ts-CsI99fk3.js.map +1 -0
- package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-CtGn47WI.js} +5 -4
- package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-CtGn47WI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-CuLEqJd2.js} +10 -15
- package/build/server/chunks/_server.ts-CuLEqJd2.js.map +1 -0
- package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CvkF5YMt.js} +7 -6
- package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CvkF5YMt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-CyIO3STA.js} +8 -7
- package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-CyIO3STA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-CzEoO4z1.js} +3 -2
- package/build/server/chunks/_server.ts-CzEoO4z1.js.map +1 -0
- package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-CzIZ-UYy.js} +7 -6
- package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-CzIZ-UYy.js.map} +1 -1
- package/build/server/chunks/_server.ts-D3CUgai-.js +82 -0
- package/build/server/chunks/_server.ts-D3CUgai-.js.map +1 -0
- package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-D3EHXo-L.js} +7 -6
- package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-D3EHXo-L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-D3FpBEaY.js} +7 -6
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-D3FpBEaY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-D3G8ICxb.js} +7 -6
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-D3G8ICxb.js.map} +1 -1
- package/build/server/chunks/_server.ts-DMUseo0C.js +110 -0
- package/build/server/chunks/_server.ts-DMUseo0C.js.map +1 -0
- package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DVNN4NHW.js} +7 -6
- package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DVNN4NHW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-DZrKSBmK.js} +7 -6
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-DZrKSBmK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-DbWhKo2R.js} +7 -6
- package/build/server/chunks/_server.ts-DbWhKo2R.js.map +1 -0
- package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-DbvC6vbj.js} +7 -6
- package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-DbvC6vbj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Df7bUUvM.js} +10 -9
- package/build/server/chunks/_server.ts-Df7bUUvM.js.map +1 -0
- package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-DgoPOMEf.js} +7 -6
- package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-DgoPOMEf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DgtgUx0V.js} +3 -2
- package/build/server/chunks/_server.ts-DgtgUx0V.js.map +1 -0
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-Dim_lnRX.js} +8 -7
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-Dim_lnRX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Dixj3o5E.js} +7 -6
- package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Dixj3o5E.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-DjIJCqkv.js} +7 -6
- package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-DjIJCqkv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-DnonNBWq.js} +29 -9
- package/build/server/chunks/_server.ts-DnonNBWq.js.map +1 -0
- package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-Do0cbyyq.js} +7 -6
- package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-Do0cbyyq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-DpnNS7XE.js} +7 -6
- package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-DpnNS7XE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-Dw7F066C.js} +7 -6
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-Dw7F066C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-DwGTXfsS.js} +3 -2
- package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-DwGTXfsS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-Dy7MOoFx.js} +25 -21
- package/build/server/chunks/_server.ts-Dy7MOoFx.js.map +1 -0
- package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-HHMqD_RA.js} +4 -3
- package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-HHMqD_RA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-JhxhiGGc.js} +7 -6
- package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-JhxhiGGc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-MBgNxLF2.js} +7 -6
- package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-MBgNxLF2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-V-MiUhz4.js} +7 -6
- package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-V-MiUhz4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-WLMG4R7D.js} +7 -6
- package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-WLMG4R7D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-WZl_x3WY.js} +7 -6
- package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-WZl_x3WY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-YcvtqJwd.js} +25 -17
- package/build/server/chunks/_server.ts-YcvtqJwd.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-iFah_o1y.js} +7 -6
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-iFah_o1y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-m7rCPG1J.js} +7 -6
- package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-m7rCPG1J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-rVmsBymo.js} +16 -11
- package/build/server/chunks/_server.ts-rVmsBymo.js.map +1 -0
- package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-s2Seq_VN.js} +7 -6
- package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-s2Seq_VN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-w4ncTcy1.js} +10 -15
- package/build/server/chunks/_server.ts-w4ncTcy1.js.map +1 -0
- package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-ygmDTh5G.js} +8 -7
- package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-ygmDTh5G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-ykET4T6s.js} +7 -6
- package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-ykET4T6s.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-tZ_tAgFZ.js} +18 -5
- package/build/server/chunks/addon-helpers-tZ_tAgFZ.js.map +1 -0
- package/build/server/chunks/admin-update-lock-ZHLAwYiV.js +24 -0
- package/build/server/chunks/admin-update-lock-ZHLAwYiV.js.map +1 -0
- package/build/server/chunks/{akm-Bvt9WaTk.js → akm-DU_4Aa4m.js} +2 -2
- package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-DU_4Aa4m.js.map} +1 -1
- package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-B4QoA_I8.js} +5 -5
- package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-B4QoA_I8.js.map} +1 -1
- package/build/server/chunks/{client-ClRLlB_c.js → client-Dn-H0hgG.js} +2 -2
- package/build/server/chunks/{client-ClRLlB_c.js.map → client-Dn-H0hgG.js.map} +1 -1
- package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-BFOGDQne.js} +3 -2
- package/build/server/chunks/compose-args2-BFOGDQne.js.map +1 -0
- package/build/server/chunks/{config-Jiy06DlE.js → config-DoYNsM1_.js} +2 -2
- package/build/server/chunks/{config-Jiy06DlE.js.map → config-DoYNsM1_.js.map} +1 -1
- package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-DlEoE3-k.js} +4 -3
- package/build/server/chunks/connections-api-DlEoE3-k.js.map +1 -0
- package/build/server/chunks/dist-DtzrgNJ1.js +6617 -0
- package/build/server/chunks/dist-DtzrgNJ1.js.map +1 -0
- package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BYFlumV1.js} +3 -2
- package/build/server/chunks/docker2-BYFlumV1.js.map +1 -0
- package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-CtXDh00O.js} +2 -2
- package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-CtXDh00O.js.map} +1 -1
- package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-IFTldlrt.js} +27 -6
- package/build/server/chunks/endpoints-IFTldlrt.js.map +1 -0
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-DWK4R1_M.js} +4 -4
- package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-DWK4R1_M.js.map} +1 -1
- package/build/server/chunks/{features-BE2x1a_a.js → features-BW-bVsl8.js} +3 -3
- package/build/server/chunks/{features-BE2x1a_a.js.map → features-BW-bVsl8.js.map} +1 -1
- package/build/server/chunks/{helpers-CfpNg3il.js → helpers-DxodR6tq.js} +4 -4
- package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-DxodR6tq.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bzj8OieV.js} +10 -9
- package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bzj8OieV.js.map} +1 -1
- package/build/server/chunks/{http-WP5cji9-.js → http-CfHMreaI.js} +2 -2
- package/build/server/chunks/{http-WP5cji9-.js.map → http-CfHMreaI.js.map} +1 -1
- package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-BcbUGF7Z.js} +5 -7
- package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-BcbUGF7Z.js.map} +1 -1
- package/build/server/chunks/{landing-DKXNel0Q.js → landing-DhaVkN2f.js} +5 -5
- package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-DhaVkN2f.js.map} +1 -1
- package/build/server/chunks/{paths-DRVrMQrI.js → paths-Bgos728b.js} +2 -2
- package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-Bgos728b.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-C8DcD6bt.js} +2 -2
- package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-C8DcD6bt.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-D9j0EGGd.js} +2 -2
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-D9j0EGGd.js.map} +1 -1
- package/build/server/chunks/{src-CQ2F7hgb.js → src-DbArH65P.js} +469 -7016
- package/build/server/chunks/src-DbArH65P.js.map +1 -0
- package/build/server/chunks/{state-CsIDHNPN.js → state-Bq8fep3F.js} +2 -2
- package/build/server/chunks/{state-CsIDHNPN.js.map → state-Bq8fep3F.js.map} +1 -1
- package/build/server/chunks/{state2-jnbE3tAu.js → state2-Cna2OZrd.js} +17 -2
- package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Cna2OZrd.js.map} +1 -1
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js +539 -0
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +96 -103
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/assets/4.BXlLAfIE.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BXlLAfIE.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css +0 -1
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.br +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css +0 -1
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css +0 -1
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.br +0 -0
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js +0 -1
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js +0 -3
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
- package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
- package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js +0 -1
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js +0 -2
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js +0 -14
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js +0 -126
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
- package/build/server/chunks/1-Dxk_eEPL.js +0 -9
- package/build/server/chunks/4-CEASlyNx.js +0 -9
- package/build/server/chunks/9-BKXk6mfI.js +0 -42
- package/build/server/chunks/9-BKXk6mfI.js.map +0 -1
- package/build/server/chunks/ChatNavbar-D2J3UbpW.js.map +0 -1
- package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +0 -1
- package/build/server/chunks/_page.svelte--qXsMm-T.js.map +0 -1
- package/build/server/chunks/_page.svelte-BnZ0Fgkw.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cc-OjlMF.js +0 -92
- package/build/server/chunks/_page.svelte-Cc-OjlMF.js.map +0 -1
- package/build/server/chunks/_page.svelte-DGsMxwfZ.js.map +0 -1
- package/build/server/chunks/_server.ts-BJqxSP1B.js.map +0 -1
- package/build/server/chunks/_server.ts-BN6ghyoO.js +0 -94
- package/build/server/chunks/_server.ts-BN6ghyoO.js.map +0 -1
- package/build/server/chunks/_server.ts-BNoq5yoF.js.map +0 -1
- package/build/server/chunks/_server.ts-C6GZY_v3.js.map +0 -1
- package/build/server/chunks/_server.ts-C6r0d7SR.js.map +0 -1
- package/build/server/chunks/_server.ts-C900vqOm.js.map +0 -1
- package/build/server/chunks/_server.ts-CDJ7WouZ.js.map +0 -1
- package/build/server/chunks/_server.ts-CGE7AyDg.js.map +0 -1
- package/build/server/chunks/_server.ts-CGggA6h4.js.map +0 -1
- package/build/server/chunks/_server.ts-CMO7LL0e.js.map +0 -1
- package/build/server/chunks/_server.ts-CPYtZ7sE.js.map +0 -1
- package/build/server/chunks/_server.ts-CR85H0KR.js.map +0 -1
- package/build/server/chunks/_server.ts-ClrrzZI6.js +0 -141
- package/build/server/chunks/_server.ts-ClrrzZI6.js.map +0 -1
- package/build/server/chunks/_server.ts-CsP1RzbQ.js.map +0 -1
- package/build/server/chunks/_server.ts-D5Xa36tp.js +0 -248
- package/build/server/chunks/_server.ts-D5Xa36tp.js.map +0 -1
- package/build/server/chunks/_server.ts-DHjMyNwJ.js.map +0 -1
- package/build/server/chunks/_server.ts-D_93w1gb.js.map +0 -1
- package/build/server/chunks/_server.ts-DjAGbGD-.js.map +0 -1
- package/build/server/chunks/_server.ts-DrxBKPKB.js.map +0 -1
- package/build/server/chunks/_server.ts-MZYYoM8z.js.map +0 -1
- package/build/server/chunks/_server.ts-TTSjZaYY.js +0 -69
- package/build/server/chunks/_server.ts-TTSjZaYY.js.map +0 -1
- package/build/server/chunks/_server.ts-jB_3zRrF.js.map +0 -1
- package/build/server/chunks/_server.ts-sdkTYy6A.js.map +0 -1
- package/build/server/chunks/_server.ts-st_pTUHI.js +0 -106
- package/build/server/chunks/_server.ts-st_pTUHI.js.map +0 -1
- package/build/server/chunks/addon-helpers-TpOYibOg.js.map +0 -1
- package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
- package/build/server/chunks/connections-api-J-nrQ1KK.js.map +0 -1
- package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
- package/build/server/chunks/endpoints-WTxemTcn.js.map +0 -1
- package/build/server/chunks/serial-queue-D9FEpYVv.js +0 -22
- package/build/server/chunks/serial-queue-D9FEpYVv.js.map +0 -1
- package/build/server/chunks/src-CQ2F7hgb.js.map +0 -1
- package/build/server/chunks/voice-state.svelte-BAiqUOIX.js +0 -1214
- package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { G as createState } from './src-DbArH65P.js';
|
|
2
2
|
|
|
3
3
|
//#region src/lib/server/state.ts
|
|
4
4
|
/**
|
|
@@ -21,4 +21,4 @@ function resetState() {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export { getState as g, resetState as r };
|
|
24
|
-
//# sourceMappingURL=state-
|
|
24
|
+
//# sourceMappingURL=state-Bq8fep3F.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-
|
|
1
|
+
{"version":3,"file":"state-Bq8fep3F.js","sources":["../../../.svelte-kit/adapter-node/chunks/state.js"],"sourcesContent":["import { o as createState } from \"./compose-args.js\";\nimport \"./src.js\";\n//#region src/lib/server/state.ts\n/**\n* Singleton control plane state — shared across all SvelteKit server routes.\n*\n* Initialized once on server start. All API endpoints operate on this\n* shared state instance.\n*/\nvar _state = null;\nfunction getState() {\n\tif (!_state) _state = createState();\n\treturn _state;\n}\n/**\n* Bust the singleton so the next getState() call re-reads from disk.\n* Called after performSetup() writes new tokens to stack.env.\n*/\nfunction resetState() {\n\t_state = null;\n}\n//#endregion\nexport { resetState as n, getState as t };\n"],"names":[],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,IAAI;AACjB,SAAS,QAAQ,GAAG;AACpB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;AACpC,CAAC,OAAO,MAAM;AACd;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,GAAG;AACtB,CAAC,MAAM,GAAG,IAAI;AACd;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { y as getContext } from './dev-D85DamNs.js';
|
|
2
2
|
import 'node:module';
|
|
3
|
-
import './client-
|
|
3
|
+
import './client-Dn-H0hgG.js';
|
|
4
4
|
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/app/state/server.js
|
|
@@ -47,9 +47,24 @@ function context() {
|
|
|
47
47
|
* @type {import('@sveltejs/kit').Page}
|
|
48
48
|
*/
|
|
49
49
|
var page = {
|
|
50
|
+
get data() {
|
|
51
|
+
return context().page.data;
|
|
52
|
+
},
|
|
50
53
|
get error() {
|
|
51
54
|
return context().page.error;
|
|
52
55
|
},
|
|
56
|
+
get form() {
|
|
57
|
+
return context().page.form;
|
|
58
|
+
},
|
|
59
|
+
get params() {
|
|
60
|
+
return context().page.params;
|
|
61
|
+
},
|
|
62
|
+
get route() {
|
|
63
|
+
return context().page.route;
|
|
64
|
+
},
|
|
65
|
+
get state() {
|
|
66
|
+
return context().page.state;
|
|
67
|
+
},
|
|
53
68
|
get status() {
|
|
54
69
|
return context().page.status;
|
|
55
70
|
},
|
|
@@ -59,4 +74,4 @@ var page = {
|
|
|
59
74
|
};
|
|
60
75
|
|
|
61
76
|
export { page as p };
|
|
62
|
-
//# sourceMappingURL=state2-
|
|
77
|
+
//# sourceMappingURL=state2-Cna2OZrd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state2-
|
|
1
|
+
{"version":3,"file":"state2-Cna2OZrd.js","sources":["../../../.svelte-kit/adapter-node/chunks/state2.js"],"sourcesContent":["import { nt as getContext } from \"./dev.js\";\nimport \"./index-server.js\";\nimport { i as navigating$1, r as stores } from \"./client.js\";\nObject.defineProperty({\n\tget from() {\n\t\treturn navigating$1.current ? navigating$1.current.from : null;\n\t},\n\tget to() {\n\t\treturn navigating$1.current ? navigating$1.current.to : null;\n\t},\n\tget type() {\n\t\treturn navigating$1.current ? navigating$1.current.type : null;\n\t},\n\tget willUnload() {\n\t\treturn navigating$1.current ? navigating$1.current.willUnload : null;\n\t},\n\tget delta() {\n\t\treturn navigating$1.current ? navigating$1.current.delta : null;\n\t},\n\tget complete() {\n\t\treturn navigating$1.current ? navigating$1.current.complete : null;\n\t}\n}, \"current\", { get() {\n\tthrow new Error(\"Replace navigating.current.<prop> with navigating.<prop>\");\n} });\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/app/state/server.js\nfunction context() {\n\treturn getContext(\"__request__\");\n}\n//#endregion\n//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/app/state/index.js\n/**\n* A read-only reactive object with information about the current page, serving several use cases:\n* - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))\n* - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))\n* - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))\n* - retrieving metadata such as the URL you're on, the current route and its parameters, and whether or not there was an error\n*\n* ```svelte\n* <!--- file: +layout.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* <\\/script>\n*\n* <p>Currently at {page.url.pathname}</p>\n*\n* {#if page.error}\n* \t<span class=\"red\">Problem detected</span>\n* {:else}\n* \t<span class=\"small\">All systems operational</span>\n* {/if}\n* ```\n*\n* Changes to `page` are available exclusively with runes. (The legacy reactivity syntax will not reflect any changes)\n*\n* ```svelte\n* <!--- file: +page.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* \tconst id = $derived(page.params.id); // This will correctly update id for usage on this page\n* \t$: badId = page.params.id; // Do not use; will never update after initial load\n* <\\/script>\n* ```\n*\n* On the server, values can only be read during rendering (in other words _not_ in e.g. `load` functions). In the browser, the values can be read at any time.\n*\n* @type {import('@sveltejs/kit').Page}\n*/\nvar page = {\n\tget data() {\n\t\treturn context().page.data;\n\t},\n\tget error() {\n\t\treturn context().page.error;\n\t},\n\tget form() {\n\t\treturn context().page.form;\n\t},\n\tget params() {\n\t\treturn context().page.params;\n\t},\n\tget route() {\n\t\treturn context().page.route;\n\t},\n\tget state() {\n\t\treturn context().page.state;\n\t},\n\tget status() {\n\t\treturn context().page.status;\n\t},\n\tget url() {\n\t\treturn context().page.url;\n\t}\n};\n//#endregion\nexport { page as t };\n"],"names":[],"mappings":";;;;AA0BA;AACA;AACA,SAAS,OAAO,GAAG;AACnB,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG;AACX,CAAC,IAAI,IAAI,GAAG;AACZ,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI;AAC5B,CAAC,CAAC;AACF,CAAC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAAC,IAAI,IAAI,GAAG;AACZ,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI;AAC5B,CAAC,CAAC;AACF,CAAC,IAAI,MAAM,GAAG;AACd,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAC9B,CAAC,CAAC;AACF,CAAC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAAC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAAC,IAAI,MAAM,GAAG;AACd,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAC9B,CAAC,CAAC;AACF,CAAC,IAAI,GAAG,GAAG;AACX,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG;AAC3B,CAAC;AACD;;;;"}
|
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
import { t as toSpeakableText } from './speakable-text-BflxDDdY.js';
|
|
2
|
+
|
|
3
|
+
//#region src/lib/notifications.svelte.ts
|
|
4
|
+
var DEFAULT_TIMEOUTS = {
|
|
5
|
+
info: 4e3,
|
|
6
|
+
success: 5e3,
|
|
7
|
+
error: 8e3
|
|
8
|
+
};
|
|
9
|
+
var Notifications = class {
|
|
10
|
+
toasts = [];
|
|
11
|
+
timers = /* @__PURE__ */ new Map();
|
|
12
|
+
push(kind, message, opts = {}) {
|
|
13
|
+
const id = opts.replaceId ?? (typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID() : `t-${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
14
|
+
const ttlMs = opts.sticky ? null : opts.ttlMs ?? DEFAULT_TIMEOUTS[kind];
|
|
15
|
+
const toast = {
|
|
16
|
+
id,
|
|
17
|
+
kind,
|
|
18
|
+
message,
|
|
19
|
+
ttlMs
|
|
20
|
+
};
|
|
21
|
+
const existingTimer = this.timers.get(id);
|
|
22
|
+
if (existingTimer) {
|
|
23
|
+
clearTimeout(existingTimer);
|
|
24
|
+
this.timers.delete(id);
|
|
25
|
+
}
|
|
26
|
+
const existingIdx = this.toasts.findIndex((t) => t.id === id);
|
|
27
|
+
if (existingIdx >= 0) {
|
|
28
|
+
const next = [...this.toasts];
|
|
29
|
+
next[existingIdx] = toast;
|
|
30
|
+
this.toasts = next;
|
|
31
|
+
} else this.toasts = [...this.toasts, toast];
|
|
32
|
+
if (ttlMs !== null) {
|
|
33
|
+
const timer = setTimeout(() => this.dismiss(id), ttlMs);
|
|
34
|
+
this.timers.set(id, timer);
|
|
35
|
+
}
|
|
36
|
+
return id;
|
|
37
|
+
}
|
|
38
|
+
dismiss(id) {
|
|
39
|
+
const timer = this.timers.get(id);
|
|
40
|
+
if (timer) {
|
|
41
|
+
clearTimeout(timer);
|
|
42
|
+
this.timers.delete(id);
|
|
43
|
+
}
|
|
44
|
+
this.toasts = this.toasts.filter((t) => t.id !== id);
|
|
45
|
+
}
|
|
46
|
+
clear() {
|
|
47
|
+
for (const timer of this.timers.values()) clearTimeout(timer);
|
|
48
|
+
this.timers.clear();
|
|
49
|
+
this.toasts = [];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var notifications = new Notifications();
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/lib/theme-state.svelte.ts
|
|
55
|
+
var THEME_STORAGE_KEY = "openpalm.theme";
|
|
56
|
+
var THEME_ATTR = "data-theme";
|
|
57
|
+
var DARK_THEME_COLOR = "#161c22";
|
|
58
|
+
var LIGHT_THEME_COLOR = "#f9fafb";
|
|
59
|
+
function isThemePreference(value) {
|
|
60
|
+
return value === "light" || value === "dark" || value === "system";
|
|
61
|
+
}
|
|
62
|
+
var ThemeService = class {
|
|
63
|
+
preference = "system";
|
|
64
|
+
resolved = "light";
|
|
65
|
+
initialized = false;
|
|
66
|
+
#mediaQuery = null;
|
|
67
|
+
#mediaChangeHandler = () => {
|
|
68
|
+
if (this.preference !== "system") return;
|
|
69
|
+
this.resolved = this.#resolvePreference("system");
|
|
70
|
+
this.#applyResolvedTheme();
|
|
71
|
+
};
|
|
72
|
+
init() {
|
|
73
|
+
if (typeof window === "undefined" || this.initialized) return;
|
|
74
|
+
this.preference = this.#readStoredPreference();
|
|
75
|
+
this.resolved = this.#resolvePreference(this.preference);
|
|
76
|
+
this.#subscribeToSystemTheme();
|
|
77
|
+
this.#applyResolvedTheme();
|
|
78
|
+
this.initialized = true;
|
|
79
|
+
}
|
|
80
|
+
setPreference(preference) {
|
|
81
|
+
this.preference = preference;
|
|
82
|
+
this.resolved = this.#resolvePreference(preference);
|
|
83
|
+
this.#writeStoredPreference(preference);
|
|
84
|
+
this.#applyResolvedTheme();
|
|
85
|
+
}
|
|
86
|
+
toggle() {
|
|
87
|
+
const next = this.preference === "system" ? "light" : this.preference === "light" ? "dark" : "system";
|
|
88
|
+
this.setPreference(next);
|
|
89
|
+
}
|
|
90
|
+
dispose() {
|
|
91
|
+
if (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === "function") this.#mediaQuery.removeEventListener("change", this.#mediaChangeHandler);
|
|
92
|
+
else this.#mediaQuery.removeListener(this.#mediaChangeHandler);
|
|
93
|
+
this.#mediaQuery = null;
|
|
94
|
+
this.initialized = false;
|
|
95
|
+
}
|
|
96
|
+
#readStoredPreference() {
|
|
97
|
+
if (typeof window === "undefined") return "system";
|
|
98
|
+
try {
|
|
99
|
+
const stored = window.localStorage.getItem(THEME_STORAGE_KEY);
|
|
100
|
+
return isThemePreference(stored) ? stored : "system";
|
|
101
|
+
} catch {
|
|
102
|
+
return "system";
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
#writeStoredPreference(preference) {
|
|
106
|
+
if (typeof window === "undefined") return;
|
|
107
|
+
try {
|
|
108
|
+
window.localStorage.setItem(THEME_STORAGE_KEY, preference);
|
|
109
|
+
} catch {}
|
|
110
|
+
}
|
|
111
|
+
#resolvePreference(preference) {
|
|
112
|
+
if (preference === "light" || preference === "dark") return preference;
|
|
113
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return "light";
|
|
114
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
115
|
+
}
|
|
116
|
+
#subscribeToSystemTheme() {
|
|
117
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
|
|
118
|
+
const nextQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
119
|
+
if (this.#mediaQuery === nextQuery) return;
|
|
120
|
+
if (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === "function") this.#mediaQuery.removeEventListener("change", this.#mediaChangeHandler);
|
|
121
|
+
else this.#mediaQuery.removeListener(this.#mediaChangeHandler);
|
|
122
|
+
this.#mediaQuery = nextQuery;
|
|
123
|
+
if (typeof nextQuery.addEventListener === "function") nextQuery.addEventListener("change", this.#mediaChangeHandler);
|
|
124
|
+
else nextQuery.addListener(this.#mediaChangeHandler);
|
|
125
|
+
}
|
|
126
|
+
#applyResolvedTheme() {
|
|
127
|
+
if (typeof document === "undefined") return;
|
|
128
|
+
const root = document.documentElement;
|
|
129
|
+
root.setAttribute(THEME_ATTR, this.resolved);
|
|
130
|
+
root.style.colorScheme = this.resolved;
|
|
131
|
+
const themeColorMeta = document.querySelector("meta[name=\"theme-color\"]");
|
|
132
|
+
if (themeColorMeta) themeColorMeta.content = this.resolved === "dark" ? DARK_THEME_COLOR : LIGHT_THEME_COLOR;
|
|
133
|
+
const colorSchemeMeta = document.querySelector("meta[name=\"color-scheme\"]");
|
|
134
|
+
if (colorSchemeMeta) colorSchemeMeta.content = this.resolved;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var themeService = new ThemeService();
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/lib/api/core.ts
|
|
140
|
+
var apiBase = "";
|
|
141
|
+
function buildHeaders() {
|
|
142
|
+
return {
|
|
143
|
+
"x-request-id": crypto.randomUUID(),
|
|
144
|
+
"x-requested-by": "ui"
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
async function request(method, path, body, init) {
|
|
148
|
+
const headers = {
|
|
149
|
+
...body !== void 0 ? { "content-type": "application/json" } : {},
|
|
150
|
+
...buildHeaders()
|
|
151
|
+
};
|
|
152
|
+
return fetch(`${apiBase}${path}`, {
|
|
153
|
+
...init,
|
|
154
|
+
method,
|
|
155
|
+
headers,
|
|
156
|
+
credentials: "include",
|
|
157
|
+
...body !== void 0 ? { body: JSON.stringify(body) } : {}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
async function readErrorMessage(res, fallback = `Request failed (HTTP ${res.status})`) {
|
|
161
|
+
if ((res.headers.get("content-type") ?? "").includes("application/json")) {
|
|
162
|
+
const data = await res.clone().json().catch((e) => {
|
|
163
|
+
console.warn("[api] Failed to parse JSON error response:", e);
|
|
164
|
+
return null;
|
|
165
|
+
});
|
|
166
|
+
if (data && typeof data.message === "string" && data.message.length > 0) return data.message;
|
|
167
|
+
if (data && typeof data.error === "string" && data.error.length > 0) return data.error;
|
|
168
|
+
}
|
|
169
|
+
return await res.text().catch((e) => {
|
|
170
|
+
console.warn("[api] Failed to read error response text:", e);
|
|
171
|
+
return "";
|
|
172
|
+
}) || fallback;
|
|
173
|
+
}
|
|
174
|
+
/** Throw on 401; throw readErrorMessage on non-OK. Returns the response. */
|
|
175
|
+
async function requireOk(res, fallback) {
|
|
176
|
+
if (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error("Sign-in required."), { status: 401 });
|
|
177
|
+
if (!res.ok) throw Object.assign(new Error(await readErrorMessage(res, fallback)), { status: res.status });
|
|
178
|
+
return res;
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region src/lib/voice/audio-playback.ts
|
|
182
|
+
/**
|
|
183
|
+
* AudioPlaybackController — the imperative TTS audio engine extracted from
|
|
184
|
+
* voice-state.svelte.ts. Owns the speak queue, the HTMLAudioElement +
|
|
185
|
+
* blob-URL lifecycle, the browser autoplay-policy fallback, and the
|
|
186
|
+
* per-utterance playback (playOne). The reactive `voiceState` store
|
|
187
|
+
* composes an instance of this and delegates speak/resume/stop to it.
|
|
188
|
+
*
|
|
189
|
+
* The controller never holds reactive `$state` itself — it mutates the
|
|
190
|
+
* host store's reactive fields (status / errorMessage / autoplayBlocked)
|
|
191
|
+
* through the `AudioPlaybackHost` it is constructed with, exactly as the
|
|
192
|
+
* old module-global engine mutated `voiceState` directly.
|
|
193
|
+
*
|
|
194
|
+
* Only touch browser APIs (window, Audio, AudioContext, speechSynthesis)
|
|
195
|
+
* from methods — never at construction — for SSR safety.
|
|
196
|
+
*/
|
|
197
|
+
var SPEAK_QUEUE_MAX = 20;
|
|
198
|
+
var AudioPlaybackController = class {
|
|
199
|
+
host;
|
|
200
|
+
/**
|
|
201
|
+
* Optional hook fired when the speak queue fully drains (the last
|
|
202
|
+
* utterance reached a terminal state with nothing queued behind it).
|
|
203
|
+
* Conversation mode uses this to re-arm listening — an explicit
|
|
204
|
+
* callback instead of polling reactive status. Deliberately NOT fired
|
|
205
|
+
* from stop(): an explicit stop (barge-in, toggle off) must not re-arm
|
|
206
|
+
* anything by itself.
|
|
207
|
+
*/
|
|
208
|
+
onQueueDrained = null;
|
|
209
|
+
activeAudio = null;
|
|
210
|
+
activeAudioUrl = null;
|
|
211
|
+
speakQueue = [];
|
|
212
|
+
busy = false;
|
|
213
|
+
generation = 0;
|
|
214
|
+
overflowNoticed = false;
|
|
215
|
+
pendingAutoplayAudio = null;
|
|
216
|
+
pendingAutoplayUrl = null;
|
|
217
|
+
constructor(host) {
|
|
218
|
+
this.host = host;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Play a 1-frame silent AudioBuffer through a transient AudioContext to
|
|
222
|
+
* register the current user gesture with the browser's autoplay policy.
|
|
223
|
+
* Safe to call repeatedly; failures are swallowed.
|
|
224
|
+
*/
|
|
225
|
+
primeForAutoplay() {
|
|
226
|
+
if (typeof window === "undefined") return;
|
|
227
|
+
const Ctor = window.AudioContext ?? window.webkitAudioContext;
|
|
228
|
+
if (!Ctor) return;
|
|
229
|
+
try {
|
|
230
|
+
const ctx = new Ctor();
|
|
231
|
+
const buffer = ctx.createBuffer(1, 1, 22050);
|
|
232
|
+
const source = ctx.createBufferSource();
|
|
233
|
+
source.buffer = buffer;
|
|
234
|
+
source.connect(ctx.destination);
|
|
235
|
+
source.start(0);
|
|
236
|
+
setTimeout(() => {
|
|
237
|
+
ctx.close().catch(() => {});
|
|
238
|
+
}, 100);
|
|
239
|
+
} catch {}
|
|
240
|
+
}
|
|
241
|
+
teardownActiveAudio() {
|
|
242
|
+
if (this.activeAudio) {
|
|
243
|
+
this.activeAudio.onerror = null;
|
|
244
|
+
this.activeAudio.onended = null;
|
|
245
|
+
try {
|
|
246
|
+
this.activeAudio.pause();
|
|
247
|
+
} catch {}
|
|
248
|
+
this.activeAudio.src = "";
|
|
249
|
+
this.activeAudio = null;
|
|
250
|
+
}
|
|
251
|
+
if (this.activeAudioUrl) {
|
|
252
|
+
URL.revokeObjectURL(this.activeAudioUrl);
|
|
253
|
+
this.activeAudioUrl = null;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
teardownPendingAutoplay() {
|
|
257
|
+
if (this.pendingAutoplayAudio) {
|
|
258
|
+
this.pendingAutoplayAudio.onerror = null;
|
|
259
|
+
this.pendingAutoplayAudio.onended = null;
|
|
260
|
+
try {
|
|
261
|
+
this.pendingAutoplayAudio.pause();
|
|
262
|
+
} catch {}
|
|
263
|
+
this.pendingAutoplayAudio.src = "";
|
|
264
|
+
this.pendingAutoplayAudio = null;
|
|
265
|
+
}
|
|
266
|
+
if (this.pendingAutoplayUrl) {
|
|
267
|
+
URL.revokeObjectURL(this.pendingAutoplayUrl);
|
|
268
|
+
this.pendingAutoplayUrl = null;
|
|
269
|
+
}
|
|
270
|
+
this.host.autoplayBlocked = false;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* User clicked the "click to resume" banner — promote the stashed audio
|
|
274
|
+
* to the active slot and play. Called from VoiceControl's banner button;
|
|
275
|
+
* the click on the button itself satisfies the autoplay-policy gesture
|
|
276
|
+
* requirement.
|
|
277
|
+
*/
|
|
278
|
+
resume() {
|
|
279
|
+
const a = this.pendingAutoplayAudio;
|
|
280
|
+
if (!a) {
|
|
281
|
+
this.host.autoplayBlocked = false;
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
this.host.autoplayBlocked = false;
|
|
285
|
+
this.host.errorMessage = "";
|
|
286
|
+
this.host.status = "speaking";
|
|
287
|
+
this.busy = true;
|
|
288
|
+
this.activeAudio = a;
|
|
289
|
+
this.activeAudioUrl = this.pendingAutoplayUrl;
|
|
290
|
+
this.pendingAutoplayAudio = null;
|
|
291
|
+
this.pendingAutoplayUrl = null;
|
|
292
|
+
a.play().catch(() => {
|
|
293
|
+
this.host.status = "idle";
|
|
294
|
+
this.host.errorMessage = "Audio playback failed.";
|
|
295
|
+
this.teardownActiveAudio();
|
|
296
|
+
this.drainNext();
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Read text aloud. Tries server-side TTS via /api/speak first (when the
|
|
301
|
+
* configured engine is openpalm-voice or remote); falls back to browser
|
|
302
|
+
* speech synthesis. Silent no-op if neither path is available.
|
|
303
|
+
*
|
|
304
|
+
* If a previous utterance is still synthesizing, playing, or stashed
|
|
305
|
+
* behind an autoplay block, queues this one (FIFO, cap 20) instead of
|
|
306
|
+
* cutting it off mid-sentence.
|
|
307
|
+
*/
|
|
308
|
+
async speak(text) {
|
|
309
|
+
if (typeof window === "undefined" || !text.trim()) return;
|
|
310
|
+
if (this.busy) {
|
|
311
|
+
this.speakQueue.push(text);
|
|
312
|
+
let dropped = 0;
|
|
313
|
+
while (this.speakQueue.length > SPEAK_QUEUE_MAX) {
|
|
314
|
+
this.speakQueue.shift();
|
|
315
|
+
dropped += 1;
|
|
316
|
+
}
|
|
317
|
+
if (dropped > 0 && !this.overflowNoticed) {
|
|
318
|
+
this.overflowNoticed = true;
|
|
319
|
+
notifications.push("info", `Skipped ${dropped} spoken ${dropped === 1 ? "reply" : "replies"} — too much overlap. Lower the auto-speak chat rate.`);
|
|
320
|
+
}
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
await this.playOne(text);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Advance the pump: play the next queued utterance, or release the busy
|
|
327
|
+
* flag so a future speak() can start a fresh burst. Every terminal path
|
|
328
|
+
* of an utterance must land here (or hold `busy` deliberately, as the
|
|
329
|
+
* autoplay-block stash does).
|
|
330
|
+
*/
|
|
331
|
+
drainNext() {
|
|
332
|
+
const next = this.speakQueue.shift();
|
|
333
|
+
if (next) this.playOne(next);
|
|
334
|
+
else {
|
|
335
|
+
this.busy = false;
|
|
336
|
+
this.overflowNoticed = false;
|
|
337
|
+
this.onQueueDrained?.();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
/** Internal: actually trigger the audio for one text chunk. */
|
|
341
|
+
async playOne(text) {
|
|
342
|
+
if (typeof window === "undefined") return;
|
|
343
|
+
this.busy = true;
|
|
344
|
+
const gen = this.generation;
|
|
345
|
+
const speakableText = toSpeakableText(text);
|
|
346
|
+
if (!speakableText) {
|
|
347
|
+
this.drainNext();
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
this.teardownActiveAudio();
|
|
351
|
+
if ("speechSynthesis" in window) window.speechSynthesis.cancel();
|
|
352
|
+
this.host.errorMessage = "";
|
|
353
|
+
const engine = this.host.ttsEngine;
|
|
354
|
+
const useServer = engine === "openpalm-voice" || engine === "remote";
|
|
355
|
+
if (useServer) {
|
|
356
|
+
let res;
|
|
357
|
+
try {
|
|
358
|
+
res = await fetch("/api/speak", {
|
|
359
|
+
method: "POST",
|
|
360
|
+
headers: { "content-type": "application/json" },
|
|
361
|
+
credentials: "include",
|
|
362
|
+
body: JSON.stringify({ text: speakableText })
|
|
363
|
+
});
|
|
364
|
+
} catch {}
|
|
365
|
+
if (gen !== this.generation) return;
|
|
366
|
+
if (res?.ok && res.headers.get("content-type")?.startsWith("audio/")) {
|
|
367
|
+
const blob = await res.blob();
|
|
368
|
+
if (gen !== this.generation) return;
|
|
369
|
+
const url = URL.createObjectURL(blob);
|
|
370
|
+
const audio = new Audio(url);
|
|
371
|
+
this.activeAudio = audio;
|
|
372
|
+
this.activeAudioUrl = url;
|
|
373
|
+
audio.onended = () => {
|
|
374
|
+
this.host.status = "idle";
|
|
375
|
+
this.teardownActiveAudio();
|
|
376
|
+
this.drainNext();
|
|
377
|
+
};
|
|
378
|
+
audio.onerror = () => {
|
|
379
|
+
this.host.status = "idle";
|
|
380
|
+
this.host.errorMessage = "Audio playback failed.";
|
|
381
|
+
this.teardownActiveAudio();
|
|
382
|
+
this.drainNext();
|
|
383
|
+
};
|
|
384
|
+
this.host.status = "speaking";
|
|
385
|
+
try {
|
|
386
|
+
await audio.play();
|
|
387
|
+
} catch {
|
|
388
|
+
this.host.status = "idle";
|
|
389
|
+
this.pendingAutoplayAudio = audio;
|
|
390
|
+
this.pendingAutoplayUrl = url;
|
|
391
|
+
this.activeAudio = null;
|
|
392
|
+
this.activeAudioUrl = null;
|
|
393
|
+
this.host.autoplayBlocked = true;
|
|
394
|
+
}
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (res && !res.ok) {
|
|
398
|
+
const errMsg = await this.extractSpeakError(res);
|
|
399
|
+
this.host.errorMessage = errMsg;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (!("speechSynthesis" in window)) {
|
|
403
|
+
this.drainNext();
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
if (useServer) this.host.errorMessage = "";
|
|
407
|
+
const utterance = new SpeechSynthesisUtterance(speakableText);
|
|
408
|
+
utterance.onstart = () => {
|
|
409
|
+
if (gen !== this.generation) return;
|
|
410
|
+
this.host.status = "speaking";
|
|
411
|
+
};
|
|
412
|
+
utterance.onend = () => {
|
|
413
|
+
if (gen !== this.generation) return;
|
|
414
|
+
this.host.status = "idle";
|
|
415
|
+
this.drainNext();
|
|
416
|
+
};
|
|
417
|
+
utterance.onerror = () => {
|
|
418
|
+
if (gen !== this.generation) return;
|
|
419
|
+
this.host.status = "idle";
|
|
420
|
+
this.drainNext();
|
|
421
|
+
};
|
|
422
|
+
window.speechSynthesis.speak(utterance);
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Convert a non-OK /api/speak response into a human-readable string.
|
|
426
|
+
* Recognises the two common shapes the route returns; falls back to a
|
|
427
|
+
* generic message keyed off the HTTP status.
|
|
428
|
+
*/
|
|
429
|
+
async extractSpeakError(res) {
|
|
430
|
+
let code;
|
|
431
|
+
try {
|
|
432
|
+
const data = await res.clone().json();
|
|
433
|
+
if (typeof data.error === "string") code = data.error;
|
|
434
|
+
} catch {}
|
|
435
|
+
if (code === "tts_not_configured") return "TTS is not configured.";
|
|
436
|
+
if (code === "upstream_error" || res.status === 502 || res.status === 503) return "Voice engine is warming up — try again in a moment.";
|
|
437
|
+
return `TTS failed (HTTP ${res.status}).`;
|
|
438
|
+
}
|
|
439
|
+
/** Cancel speech synthesis. Drops the entire queue. */
|
|
440
|
+
stop() {
|
|
441
|
+
this.speakQueue.length = 0;
|
|
442
|
+
this.busy = false;
|
|
443
|
+
this.generation += 1;
|
|
444
|
+
this.overflowNoticed = false;
|
|
445
|
+
this.teardownPendingAutoplay();
|
|
446
|
+
this.teardownActiveAudio();
|
|
447
|
+
if (typeof window !== "undefined" && "speechSynthesis" in window) window.speechSynthesis.cancel();
|
|
448
|
+
this.host.status = "idle";
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
var VoiceState = class {
|
|
452
|
+
status = "idle";
|
|
453
|
+
/** True when the configured STT engine is actually usable from this browser. */
|
|
454
|
+
sttSupported = false;
|
|
455
|
+
ttsSupported = false;
|
|
456
|
+
errorMessage = "";
|
|
457
|
+
/** Partial transcript text while browser STT is mid-utterance. Cleared on stop/error. */
|
|
458
|
+
interimTranscript = "";
|
|
459
|
+
/** Active engine resolved from /api/host/voice. */
|
|
460
|
+
sttEngine = "disabled";
|
|
461
|
+
ttsEngine = "disabled";
|
|
462
|
+
/** Optional language hint (forwarded to /api/transcribe). */
|
|
463
|
+
sttLanguage = "";
|
|
464
|
+
/** Global toggle: when true, assistant chat replies are spoken automatically. */
|
|
465
|
+
ttsAutoEnabled = false;
|
|
466
|
+
/**
|
|
467
|
+
* True when an audio.play() was rejected by the browser's autoplay
|
|
468
|
+
* policy and we have a pending utterance waiting for a user gesture.
|
|
469
|
+
* The chat UI renders a small "click to resume" banner; clicking it
|
|
470
|
+
* calls resumeAutoplay() to actually play.
|
|
471
|
+
*/
|
|
472
|
+
autoplayBlocked = false;
|
|
473
|
+
/**
|
|
474
|
+
* True while hands-free conversation mode owns the mic (the chat page's
|
|
475
|
+
* listen → deliver → speak → listen loop). `status` keeps cycling
|
|
476
|
+
* through the normal VoiceStatus values while this is set.
|
|
477
|
+
*/
|
|
478
|
+
conversationActive = false;
|
|
479
|
+
/**
|
|
480
|
+
* Set when the configured STT engine is technically present in the
|
|
481
|
+
* window but known to fail at runtime on this UA (e.g. iOS Safari
|
|
482
|
+
* exposes SpeechRecognition but `start()` immediately errors with
|
|
483
|
+
* `service-not-allowed`). The Voice settings tab uses this to hide or
|
|
484
|
+
* disable the Browser STT card with the reason as a tooltip.
|
|
485
|
+
*/
|
|
486
|
+
browserSttUnsupportedReason = "";
|
|
487
|
+
};
|
|
488
|
+
var voiceState = new VoiceState();
|
|
489
|
+
/**
|
|
490
|
+
* The imperative TTS audio engine (speak queue, blob-URL lifecycle,
|
|
491
|
+
* autoplay fallback, playOne). The reactive store composes it and
|
|
492
|
+
* delegates the exported speak/resume/stop wrappers below to it; the
|
|
493
|
+
* controller mutates `voiceState`'s reactive fields in place.
|
|
494
|
+
*/
|
|
495
|
+
var audioPlayback = new AudioPlaybackController(voiceState);
|
|
496
|
+
audioPlayback.onQueueDrained = () => {
|
|
497
|
+
if (voiceState.conversationActive && voiceState.status === "idle") voiceState.status = "recording";
|
|
498
|
+
};
|
|
499
|
+
/** Exit conversation mode and tear down the listening loop (whichever engine). */
|
|
500
|
+
function stopConversation() {
|
|
501
|
+
if (!voiceState.conversationActive) return;
|
|
502
|
+
voiceState.conversationActive = false;
|
|
503
|
+
voiceState.interimTranscript = "";
|
|
504
|
+
if (voiceState.status === "recording" || voiceState.status === "transcribing") voiceState.status = "idle";
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Read text aloud. Tries server-side TTS via /api/speak first (when the
|
|
508
|
+
* configured engine is openpalm-voice or remote); falls back to browser
|
|
509
|
+
* speech synthesis. Silent no-op if neither path is available.
|
|
510
|
+
*
|
|
511
|
+
* If a previous utterance is still playing, queues this one (FIFO, cap 20)
|
|
512
|
+
* instead of cutting it off mid-sentence.
|
|
513
|
+
*/
|
|
514
|
+
function speakText(text) {
|
|
515
|
+
return audioPlayback.speak(text);
|
|
516
|
+
}
|
|
517
|
+
/** Cancel speech synthesis. Drops the entire queue. */
|
|
518
|
+
function stopSpeaking() {
|
|
519
|
+
audioPlayback.stop();
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Tear down per-component voice resources on unmount. Only cancels
|
|
523
|
+
* any in-flight recording / recognition (including the conversation
|
|
524
|
+
* loop).
|
|
525
|
+
*
|
|
526
|
+
* Deliberately does NOT cancel `speechSynthesis` — that queue is a
|
|
527
|
+
* window-level singleton and the user's auto-TTS toggle is persistent,
|
|
528
|
+
* so a page navigation must not interrupt the assistant mid-utterance.
|
|
529
|
+
* Explicit user actions (logout, mic click, toggle off) call
|
|
530
|
+
* `stopSpeaking` directly.
|
|
531
|
+
*/
|
|
532
|
+
function destroyVoice() {
|
|
533
|
+
stopConversation();
|
|
534
|
+
voiceState.interimTranscript = "";
|
|
535
|
+
voiceState.status = "idle";
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
export { request as a, buildHeaders as b, requireOk as c, destroyVoice as d, stopSpeaking as e, notifications as n, readErrorMessage as r, speakText as s, themeService as t, voiceState as v };
|
|
539
|
+
//# sourceMappingURL=voice-state.svelte-2hAkP5Di.js.map
|