@openpalm/ui 0.11.5-rc.3 → 0.11.5-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css +1 -0
- package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CtszQVIX.css +1 -0
- package/build/client/_app/immutable/assets/7.CtszQVIX.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CtszQVIX.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css +1 -0
- package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B0yFRekZ.js +3 -0
- package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B6TDOH9N.js +5 -0
- package/build/client/_app/immutable/chunks/B6TDOH9N.js.br +0 -0
- package/build/client/_app/immutable/chunks/B6TDOH9N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BQ0vnNWj.js → BAaXfhM-.js} +1 -1
- package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BKYOLYrG.js +15 -0
- package/build/client/_app/immutable/chunks/BKYOLYrG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BKYOLYrG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{irujFCsS.js → B_FOicoS.js} +1 -1
- package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bc91qquS.js +1 -0
- package/build/client/_app/immutable/chunks/Bc91qquS.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bc91qquS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CDS1U3lf.js → C0etjiv9.js} +2 -2
- package/build/client/_app/immutable/chunks/C0etjiv9.js.br +0 -0
- package/build/client/_app/immutable/chunks/C0etjiv9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js +1 -0
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +1 -0
- package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BTsRblfw.js → CghSfF6U.js} +1 -1
- package/build/client/_app/immutable/chunks/CghSfF6U.js.br +0 -0
- package/build/client/_app/immutable/chunks/CghSfF6U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DTZmSm97.js +1 -0
- package/build/client/_app/immutable/chunks/DTZmSm97.js.br +2 -0
- package/build/client/_app/immutable/chunks/DTZmSm97.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CIC2xFmj.js +2 -0
- package/build/client/_app/immutable/entry/app.CIC2xFmj.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CIC2xFmj.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.PCdanKMO.js +1 -0
- package/build/client/_app/immutable/entry/start.PCdanKMO.js.br +0 -0
- package/build/client/_app/immutable/entry/start.PCdanKMO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js +1 -0
- package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BhQMYP2N.js +1 -0
- package/build/client/_app/immutable/nodes/1.BhQMYP2N.js.br +3 -0
- package/build/client/_app/immutable/nodes/1.BhQMYP2N.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +1 -0
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +1 -0
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B9yFE6HR.js +19 -0
- package/build/client/_app/immutable/nodes/4.B9yFE6HR.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B9yFE6HR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BeNqQzJI.js +4 -0
- package/build/client/_app/immutable/nodes/5.BeNqQzJI.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BeNqQzJI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js +1 -0
- package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.D4yXtdUW.js +1 -0
- package/build/client/_app/immutable/nodes/7.D4yXtdUW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.D4yXtdUW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js +1 -0
- package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +5 -0
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B1IAKpfH.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-C0Wm0uh4.js +9 -0
- package/build/server/chunks/{0-BGsPZcaQ.js.map → 0-C0Wm0uh4.js.map} +1 -1
- package/build/server/chunks/1-BO1FboQo.js +9 -0
- package/build/server/chunks/{1-Daoybjaw.js.map → 1-BO1FboQo.js.map} +1 -1
- package/build/server/chunks/{2-DQWoUtW1.js → 2-wNOz2qR7.js} +2 -2
- package/build/server/chunks/{2-DQWoUtW1.js.map → 2-wNOz2qR7.js.map} +1 -1
- package/build/server/chunks/{3-COIGgysA.js → 3-CMcVVZ5t.js} +2 -2
- package/build/server/chunks/{3-COIGgysA.js.map → 3-CMcVVZ5t.js.map} +1 -1
- package/build/server/chunks/4-Cy42KZEq.js +9 -0
- package/build/server/chunks/4-Cy42KZEq.js.map +1 -0
- package/build/server/chunks/5-wTAacz_u.js +9 -0
- package/build/server/chunks/{5-BfmhtNP9.js.map → 5-wTAacz_u.js.map} +1 -1
- package/build/server/chunks/6-CwuJSZNK.js +9 -0
- package/build/server/chunks/{6-AcylLX8-.js.map → 6-CwuJSZNK.js.map} +1 -1
- package/build/server/chunks/7-BhucvAxb.js +9 -0
- package/build/server/chunks/7-BhucvAxb.js.map +1 -0
- package/build/server/chunks/{8-DMgWQQBm.js → 8-BbmPm5QQ.js} +3 -3
- package/build/server/chunks/{8-DMgWQQBm.js.map → 8-BbmPm5QQ.js.map} +1 -1
- package/build/server/chunks/{9-CGVsBC0_.js → 9-BCmr-315.js} +2 -2
- package/build/server/chunks/{9-CGVsBC0_.js.map → 9-BCmr-315.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C0eMsRDk.js → ChatMessage-DV_A9qbU.js} +8 -105
- package/build/server/chunks/ChatMessage-DV_A9qbU.js.map +1 -0
- package/build/server/chunks/{Navbar-C9kE6wR-.js → Navbar-Djg-dawo.js} +490 -38
- package/build/server/chunks/Navbar-Djg-dawo.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-DCfzq18z.js → _layout.svelte-DzBCdyUD.js} +2 -2
- package/build/server/chunks/{_layout.svelte-DCfzq18z.js.map → _layout.svelte-DzBCdyUD.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BA7DptUV.js → _page.svelte-0Fseybo3.js} +3 -3
- package/build/server/chunks/{_page.svelte-BA7DptUV.js.map → _page.svelte-0Fseybo3.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-B3FJ13Ci.js → _page.svelte-C41AgWxR.js} +6 -6
- package/build/server/chunks/{_page.svelte-B3FJ13Ci.js.map → _page.svelte-C41AgWxR.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Dnt12F6c.js → _page.svelte-CF0NIwNQ.js} +6 -6
- package/build/server/chunks/{_page.svelte-Dnt12F6c.js.map → _page.svelte-CF0NIwNQ.js.map} +1 -1
- package/build/server/chunks/_page.svelte-DHges4Pl.js +326 -0
- package/build/server/chunks/_page.svelte-DHges4Pl.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dl3WoXNo.js → _page.svelte-GBRvAIuJ.js} +229 -12
- package/build/server/chunks/_page.svelte-GBRvAIuJ.js.map +1 -0
- package/build/server/chunks/{_server.ts-3JO3CKsE.js → _server.ts-1QDB0bka.js} +4 -4
- package/build/server/chunks/{_server.ts-3JO3CKsE.js.map → _server.ts-1QDB0bka.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8cp-Em3.js → _server.ts-8gRao4pC.js} +4 -4
- package/build/server/chunks/{_server.ts-D8cp-Em3.js.map → _server.ts-8gRao4pC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNJn20vV.js → _server.ts-9P7a99w7.js} +4 -4
- package/build/server/chunks/{_server.ts-BNJn20vV.js.map → _server.ts-9P7a99w7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CciSVwzg.js → _server.ts-AOvZbE_q.js} +5 -5
- package/build/server/chunks/{_server.ts-CciSVwzg.js.map → _server.ts-AOvZbE_q.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvbnbZsl.js → _server.ts-B35VhBNb.js} +4 -4
- package/build/server/chunks/{_server.ts-BvbnbZsl.js.map → _server.ts-B35VhBNb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CHQmAGEC.js → _server.ts-B3OHtJvn.js} +5 -5
- package/build/server/chunks/{_server.ts-CHQmAGEC.js.map → _server.ts-B3OHtJvn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do5L_4tt.js → _server.ts-BCLgKgV5.js} +4 -4
- package/build/server/chunks/{_server.ts-Do5L_4tt.js.map → _server.ts-BCLgKgV5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVRyf5BI.js → _server.ts-BCtRrhpo.js} +4 -4
- package/build/server/chunks/{_server.ts-DVRyf5BI.js.map → _server.ts-BCtRrhpo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QvBpEIYu.js → _server.ts-BEir1hXE.js} +4 -4
- package/build/server/chunks/{_server.ts-QvBpEIYu.js.map → _server.ts-BEir1hXE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CeeR1W32.js → _server.ts-BGhuGAqU.js} +4 -4
- package/build/server/chunks/{_server.ts-CeeR1W32.js.map → _server.ts-BGhuGAqU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3QPUpDc.js → _server.ts-BMpV32HH.js} +4 -4
- package/build/server/chunks/{_server.ts-D3QPUpDc.js.map → _server.ts-BMpV32HH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js → _server.ts-BNfKymFO.js} +4 -4
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js.map → _server.ts-BNfKymFO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPC8qYUD.js → _server.ts-BPRY2j_2.js} +4 -4
- package/build/server/chunks/{_server.ts-DPC8qYUD.js.map → _server.ts-BPRY2j_2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8zFV8J3.js → _server.ts-BPu3WMA2.js} +4 -4
- package/build/server/chunks/{_server.ts-C8zFV8J3.js.map → _server.ts-BPu3WMA2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vwef5C.js → _server.ts-BTD23brV.js} +4 -4
- package/build/server/chunks/{_server.ts-D-Vwef5C.js.map → _server.ts-BTD23brV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Gbkg-oto.js → _server.ts-BUexy9Bs.js} +4 -4
- package/build/server/chunks/{_server.ts-Gbkg-oto.js.map → _server.ts-BUexy9Bs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CdB1K2M6.js → _server.ts-BWuDPAZI.js} +2 -2
- package/build/server/chunks/{_server.ts-CdB1K2M6.js.map → _server.ts-BWuDPAZI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MGn-MXr5.js → _server.ts-B_A1pH6i.js} +4 -4
- package/build/server/chunks/{_server.ts-MGn-MXr5.js.map → _server.ts-B_A1pH6i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js → _server.ts-BbpEaFjU.js} +4 -4
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js.map → _server.ts-BbpEaFjU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHBX6Ary.js → _server.ts-BiiFhOLE.js} +5 -5
- package/build/server/chunks/{_server.ts-DHBX6Ary.js.map → _server.ts-BiiFhOLE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ykNeG8km.js → _server.ts-Bq99b7U6.js} +4 -4
- package/build/server/chunks/{_server.ts-ykNeG8km.js.map → _server.ts-Bq99b7U6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CreuvDch.js → _server.ts-BvCT6Mjh.js} +4 -4
- package/build/server/chunks/{_server.ts-CreuvDch.js.map → _server.ts-BvCT6Mjh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DAW24-9-.js → _server.ts-Bw7wH5nP.js} +4 -4
- package/build/server/chunks/{_server.ts-DAW24-9-.js.map → _server.ts-Bw7wH5nP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEjyvkVV.js → _server.ts-C3Y82EbX.js} +4 -4
- package/build/server/chunks/{_server.ts-BEjyvkVV.js.map → _server.ts-C3Y82EbX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4HorMS2R.js → _server.ts-C58ziWGi.js} +4 -4
- package/build/server/chunks/{_server.ts-4HorMS2R.js.map → _server.ts-C58ziWGi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DLVGDzlE.js → _server.ts-C8NNR7lm.js} +4 -4
- package/build/server/chunks/{_server.ts-DLVGDzlE.js.map → _server.ts-C8NNR7lm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTvZB-WH.js → _server.ts-CHvr_s0m.js} +4 -4
- package/build/server/chunks/{_server.ts-BTvZB-WH.js.map → _server.ts-CHvr_s0m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CX2sHcZR.js → _server.ts-CPKa2U2F.js} +4 -4
- package/build/server/chunks/{_server.ts-CX2sHcZR.js.map → _server.ts-CPKa2U2F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CH8uRkxq.js → _server.ts-CQmJIAUn.js} +4 -4
- package/build/server/chunks/{_server.ts-CH8uRkxq.js.map → _server.ts-CQmJIAUn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js → _server.ts-CSzLOBbB.js} +5 -5
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js.map → _server.ts-CSzLOBbB.js.map} +1 -1
- package/build/server/chunks/_server.ts-CWWHoyPz.js +48 -0
- package/build/server/chunks/_server.ts-CWWHoyPz.js.map +1 -0
- package/build/server/chunks/{_server.ts-DlwXpopR.js → _server.ts-CakB2g2B.js} +3 -3
- package/build/server/chunks/{_server.ts-DlwXpopR.js.map → _server.ts-CakB2g2B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdLKHRnY.js → _server.ts-CbB7X8WD.js} +6 -6
- package/build/server/chunks/{_server.ts-BdLKHRnY.js.map → _server.ts-CbB7X8WD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWtTOsFi.js → _server.ts-Ch5VrU5z.js} +4 -4
- package/build/server/chunks/{_server.ts-BWtTOsFi.js.map → _server.ts-Ch5VrU5z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7K7bv8w.js → _server.ts-CmcgtPlf.js} +5 -5
- package/build/server/chunks/{_server.ts-C7K7bv8w.js.map → _server.ts-CmcgtPlf.js.map} +1 -1
- package/build/server/chunks/_server.ts-Cu3yIoGR.js +627 -0
- package/build/server/chunks/_server.ts-Cu3yIoGR.js.map +1 -0
- package/build/server/chunks/{_server.ts-CXI7k8hl.js → _server.ts-CuEcjgfs.js} +4 -4
- package/build/server/chunks/{_server.ts-CXI7k8hl.js.map → _server.ts-CuEcjgfs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pQ9okj_b.js → _server.ts-CyTEh-kp.js} +6 -6
- package/build/server/chunks/{_server.ts-pQ9okj_b.js.map → _server.ts-CyTEh-kp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js → _server.ts-CyxjwCIW.js} +4 -4
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js.map → _server.ts-CyxjwCIW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXmwf1pu.js → _server.ts-CzHLF3XJ.js} +2 -2
- package/build/server/chunks/{_server.ts-CXmwf1pu.js.map → _server.ts-CzHLF3XJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqH3nv-S.js → _server.ts-CzcX98RF.js} +5 -5
- package/build/server/chunks/{_server.ts-CqH3nv-S.js.map → _server.ts-CzcX98RF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B31I037d.js → _server.ts-D4hS029K.js} +6 -6
- package/build/server/chunks/{_server.ts-B31I037d.js.map → _server.ts-D4hS029K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzIilMO5.js → _server.ts-D5KmG8Iz.js} +2 -2
- package/build/server/chunks/{_server.ts-DzIilMO5.js.map → _server.ts-D5KmG8Iz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js → _server.ts-D6bq6_Fp.js} +6 -6
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js.map → _server.ts-D6bq6_Fp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BUIWPYRF.js → _server.ts-DEL6C5fs.js} +4 -4
- package/build/server/chunks/{_server.ts-BUIWPYRF.js.map → _server.ts-DEL6C5fs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGqa6Laa.js → _server.ts-DLMyOePt.js} +4 -4
- package/build/server/chunks/_server.ts-DLMyOePt.js.map +1 -0
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js → _server.ts-DLkvAnm7.js} +4 -4
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js.map → _server.ts-DLkvAnm7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js → _server.ts-DTVKXoI5.js} +4 -4
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js.map → _server.ts-DTVKXoI5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js → _server.ts-DZ7Ko_32.js} +4 -4
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js.map → _server.ts-DZ7Ko_32.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DL9hlvL8.js → _server.ts-DZY0Qpnk.js} +4 -4
- package/build/server/chunks/{_server.ts-DL9hlvL8.js.map → _server.ts-DZY0Qpnk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js → _server.ts-DcW9CTcB.js} +4 -4
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js.map → _server.ts-DcW9CTcB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-1mdOjWEN.js → _server.ts-Df17RBWC.js} +5 -5
- package/build/server/chunks/{_server.ts-1mdOjWEN.js.map → _server.ts-Df17RBWC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsTUwnu1.js → _server.ts-Dh9SJATt.js} +4 -4
- package/build/server/chunks/{_server.ts-DsTUwnu1.js.map → _server.ts-Dh9SJATt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIEz-ybk.js → _server.ts-DlDgeWtr.js} +4 -4
- package/build/server/chunks/{_server.ts-CIEz-ybk.js.map → _server.ts-DlDgeWtr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8BrkC8T.js → _server.ts-Dmtbp8AT.js} +5 -5
- package/build/server/chunks/{_server.ts-C8BrkC8T.js.map → _server.ts-Dmtbp8AT.js.map} +1 -1
- package/build/server/chunks/_server.ts-Dnq1yxVI.js +205 -0
- package/build/server/chunks/_server.ts-Dnq1yxVI.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js → _server.ts-DolRZ_5Z.js} +4 -4
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js.map → _server.ts-DolRZ_5Z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js → _server.ts-DrccDqL8.js} +4 -4
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js.map → _server.ts-DrccDqL8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CD-Cddqe.js → _server.ts-Drxntihb.js} +5 -5
- package/build/server/chunks/{_server.ts-CD-Cddqe.js.map → _server.ts-Drxntihb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3ntDGZM.js → _server.ts-Du4lTXoC.js} +5 -5
- package/build/server/chunks/{_server.ts-B3ntDGZM.js.map → _server.ts-Du4lTXoC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8EZxkK3.js → _server.ts-Dvo786k1.js} +5 -5
- package/build/server/chunks/{_server.ts-B8EZxkK3.js.map → _server.ts-Dvo786k1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js → _server.ts-DxE9zbbG.js} +4 -4
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js.map → _server.ts-DxE9zbbG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4pf3VKi.js → _server.ts-DzVt4tZV.js} +4 -4
- package/build/server/chunks/{_server.ts-C4pf3VKi.js.map → _server.ts-DzVt4tZV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js → _server.ts-GnnvjDGL.js} +4 -4
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js.map → _server.ts-GnnvjDGL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVxiERfc.js → _server.ts-H1fnqBYP.js} +4 -4
- package/build/server/chunks/{_server.ts-CVxiERfc.js.map → _server.ts-H1fnqBYP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yWBMi6sn.js → _server.ts-OVberUvp.js} +6 -6
- package/build/server/chunks/{_server.ts-yWBMi6sn.js.map → _server.ts-OVberUvp.js.map} +1 -1
- package/build/server/chunks/_server.ts-Oh6upxFv.js +86 -0
- package/build/server/chunks/_server.ts-Oh6upxFv.js.map +1 -0
- package/build/server/chunks/{_server.ts-j5xF-dJX.js → _server.ts-TkRG9AFn.js} +4 -4
- package/build/server/chunks/{_server.ts-j5xF-dJX.js.map → _server.ts-TkRG9AFn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SLlbT28g.js → _server.ts-UwHoFWx1.js} +2 -2
- package/build/server/chunks/{_server.ts-SLlbT28g.js.map → _server.ts-UwHoFWx1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtltE_T-.js → _server.ts-XArez5bY.js} +2 -2
- package/build/server/chunks/{_server.ts-CtltE_T-.js.map → _server.ts-XArez5bY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IzD0bafW.js → _server.ts-ZfDsuW2E.js} +5 -5
- package/build/server/chunks/{_server.ts-IzD0bafW.js.map → _server.ts-ZfDsuW2E.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzoE8edN.js → _server.ts-chaYrNFx.js} +5 -5
- package/build/server/chunks/{_server.ts-CzoE8edN.js.map → _server.ts-chaYrNFx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8YF9aVx.js → _server.ts-lZxRvx5G.js} +4 -4
- package/build/server/chunks/{_server.ts-B8YF9aVx.js.map → _server.ts-lZxRvx5G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHmCir74.js → _server.ts-v7meNBSR.js} +4 -4
- package/build/server/chunks/{_server.ts-BHmCir74.js.map → _server.ts-v7meNBSR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CExwMomX.js → _server.ts-vSoEzokn.js} +4 -4
- package/build/server/chunks/{_server.ts-CExwMomX.js.map → _server.ts-vSoEzokn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BLUm8wAq.js → _server.ts-x3-1Iy5T.js} +4 -4
- package/build/server/chunks/{_server.ts-BLUm8wAq.js.map → _server.ts-x3-1Iy5T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_EnHMEu.js → _server.ts-z9JFYptL.js} +4 -4
- package/build/server/chunks/{_server.ts-C_EnHMEu.js.map → _server.ts-z9JFYptL.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js → addon-helpers-o7ish5mE.js} +3 -3
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js.map → addon-helpers-o7ish5mE.js.map} +1 -1
- package/build/server/chunks/{akm-hO0p79ZE.js → akm-W9nWVWkP.js} +2 -2
- package/build/server/chunks/{akm-hO0p79ZE.js.map → akm-W9nWVWkP.js.map} +1 -1
- package/build/server/chunks/{client-DchoQXpW.js → client-BxrkCo8A.js} +2 -2
- package/build/server/chunks/{client-DchoQXpW.js.map → client-BxrkCo8A.js.map} +1 -1
- package/build/server/chunks/{config-5vfdWPGq.js → config-DHWE6_Oh.js} +2 -2
- package/build/server/chunks/{config-5vfdWPGq.js.map → config-DHWE6_Oh.js.map} +1 -1
- package/build/server/chunks/{docker-DYeytgDI.js → docker-DTmz3vyS.js} +2 -2
- package/build/server/chunks/{docker-DYeytgDI.js.map → docker-DTmz3vyS.js.map} +1 -1
- package/build/server/chunks/{endpoints-pIoXJCW6.js → endpoints-DeqIjeS-.js} +19 -6
- package/build/server/chunks/endpoints-DeqIjeS-.js.map +1 -0
- package/build/server/chunks/{environment-B0PbsX5P.js → environment-eUM4Nrm3.js} +2 -2
- package/build/server/chunks/{environment-B0PbsX5P.js.map → environment-eUM4Nrm3.js.map} +1 -1
- package/build/server/chunks/{error.svelte-Cmr7gpdL.js → error.svelte-C1YZdXu0.js} +4 -4
- package/build/server/chunks/{error.svelte-Cmr7gpdL.js.map → error.svelte-C1YZdXu0.js.map} +1 -1
- package/build/server/chunks/{helpers-CVirrNSz.js → helpers-BxClonOR.js} +3 -3
- package/build/server/chunks/{helpers-CVirrNSz.js.map → helpers-BxClonOR.js.map} +1 -1
- package/build/server/chunks/{hooks.server-pc-TSpQy.js → hooks.server-BbqU1Xkl.js} +6 -6
- package/build/server/chunks/hooks.server-BbqU1Xkl.js.map +1 -0
- package/build/server/chunks/{http-DGsfa0DV.js → http-B4lcqCl2.js} +2 -2
- package/build/server/chunks/{http-DGsfa0DV.js.map → http-B4lcqCl2.js.map} +1 -1
- package/build/server/chunks/{internal-DriC3vi3.js → internal-BqydNqHi.js} +3 -3
- package/build/server/chunks/{internal-DriC3vi3.js.map → internal-BqydNqHi.js.map} +1 -1
- package/build/server/chunks/{session-cookie-DEuOwtHY.js → session-cookie-BhONF37G.js} +2 -2
- package/build/server/chunks/{session-cookie-DEuOwtHY.js.map → session-cookie-BhONF37G.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js → setup-deploy-XJpbNV-N.js} +2 -2
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js.map → setup-deploy-XJpbNV-N.js.map} +1 -1
- package/build/server/chunks/{src-CyeWH4Df.js → src-DGGmhx-_.js} +523 -69
- package/build/server/chunks/src-DGGmhx-_.js.map +1 -0
- package/build/server/chunks/{state-BcUnjLg5.js → state-Dd9gBPIF.js} +2 -2
- package/build/server/chunks/{state-BcUnjLg5.js.map → state-Dd9gBPIF.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-CeABRes-.js → theme-state.svelte-_CMr5Hu9.js} +96 -24
- package/build/server/chunks/theme-state.svelte-_CMr5Hu9.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +106 -85
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -2
- package/build/client/_app/immutable/assets/4.BFLRjZM9.css +0 -1
- package/build/client/_app/immutable/assets/4.BFLRjZM9.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BFLRjZM9.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +0 -1
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js +0 -3
- package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4LSIsxy.js +0 -1
- package/build/client/_app/immutable/chunks/B4LSIsxy.js.br +0 -2
- package/build/client/_app/immutable/chunks/B4LSIsxy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +0 -1
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BTsRblfw.js.br +0 -0
- package/build/client/_app/immutable/chunks/BTsRblfw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js +0 -1
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +0 -1
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-9oV3QK.js +0 -1
- package/build/client/_app/immutable/chunks/C-9oV3QK.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-9oV3QK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDS1U3lf.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDS1U3lf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TM1MyO6b.js +0 -5
- package/build/client/_app/immutable/chunks/TM1MyO6b.js.br +0 -0
- package/build/client/_app/immutable/chunks/TM1MyO6b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/irujFCsS.js.br +0 -0
- package/build/client/_app/immutable/chunks/irujFCsS.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js +0 -2
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js.br +0 -0
- package/build/client/_app/immutable/entry/app.j4FjlmJV.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js +0 -1
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js.br +0 -1
- package/build/client/_app/immutable/entry/start.BG0VgQz3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js +0 -1
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DOderKqv.js +0 -1
- package/build/client/_app/immutable/nodes/1.DOderKqv.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.DOderKqv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +0 -1
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +0 -1
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js +0 -19
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js +0 -4
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.By0afU0Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js +0 -1
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js +0 -15
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js +0 -1
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dytsowyk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js +0 -5
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
- package/build/server/chunks/0-BGsPZcaQ.js +0 -9
- package/build/server/chunks/1-Daoybjaw.js +0 -9
- package/build/server/chunks/4-Lm1O6Rmh.js +0 -9
- package/build/server/chunks/4-Lm1O6Rmh.js.map +0 -1
- package/build/server/chunks/5-BfmhtNP9.js +0 -9
- package/build/server/chunks/6-AcylLX8-.js +0 -9
- package/build/server/chunks/7-BT0zxD9E.js +0 -9
- package/build/server/chunks/7-BT0zxD9E.js.map +0 -1
- package/build/server/chunks/Navbar-C9kE6wR-.js.map +0 -1
- package/build/server/chunks/_page.svelte-C0eMsRDk.js.map +0 -1
- package/build/server/chunks/_page.svelte-Dl3WoXNo.js.map +0 -1
- package/build/server/chunks/_server.ts-B79PxL9c.js +0 -91
- package/build/server/chunks/_server.ts-B79PxL9c.js.map +0 -1
- package/build/server/chunks/_server.ts-BGqa6Laa.js.map +0 -1
- package/build/server/chunks/endpoints-pIoXJCW6.js.map +0 -1
- package/build/server/chunks/hooks.server-pc-TSpQy.js.map +0 -1
- package/build/server/chunks/src-CyeWH4Df.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-CeABRes-.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { x as getContext } from './dev-B6xUe35c.js';
|
|
2
2
|
import 'node:module';
|
|
3
|
-
import './client-
|
|
3
|
+
import './client-BxrkCo8A.js';
|
|
4
4
|
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+aeb06e9cf8e23ab6/node_modules/@sveltejs/kit/src/runtime/app/state/server.js
|
|
@@ -59,4 +59,4 @@ var page = {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
export { page as p };
|
|
62
|
-
//# sourceMappingURL=state-
|
|
62
|
+
//# sourceMappingURL=state-Dd9gBPIF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-
|
|
1
|
+
{"version":3,"file":"state-Dd9gBPIF.js","sources":["../../../.svelte-kit/adapter-node/chunks/state.js"],"sourcesContent":["import { tt 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+aeb06e9cf8e23ab6/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+aeb06e9cf8e23ab6/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,CAGC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAYC,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;;;;"}
|
package/build/server/chunks/{theme-state.svelte-CeABRes-.js → theme-state.svelte-_CMr5Hu9.js}
RENAMED
|
@@ -122,24 +122,59 @@ async function listSessions() {
|
|
|
122
122
|
summaries.sort((a, b) => b.updatedAt - a.updatedAt);
|
|
123
123
|
return summaries;
|
|
124
124
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
125
|
+
function toolSummary(part) {
|
|
126
|
+
const tool = part.tool ?? "tool";
|
|
127
|
+
const status = part.state?.status ?? "running";
|
|
128
|
+
const title = part.state?.title?.trim();
|
|
129
|
+
const error = part.state?.error?.trim();
|
|
130
|
+
const output = typeof part.state?.output === "string" ? part.state.output.trim() : part.state?.output != null ? JSON.stringify(part.state.output) : "";
|
|
131
|
+
const fragments = [tool, status];
|
|
132
|
+
if (title) fragments.push(title);
|
|
133
|
+
if (error) fragments.push(error);
|
|
134
|
+
else if (output) fragments.push(output);
|
|
135
|
+
return fragments.filter(Boolean).join(" · ");
|
|
136
|
+
}
|
|
131
137
|
async function getSessionMessages(sessionId) {
|
|
132
138
|
const rows = await (await requireOk(await request("GET", `/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`))).json();
|
|
133
139
|
const messages = [];
|
|
134
140
|
for (const row of rows) {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
text
|
|
141
|
-
|
|
141
|
+
const timestamp = row.info.time?.created ?? Date.now();
|
|
142
|
+
let textBuffer = "";
|
|
143
|
+
let textIndex = 0;
|
|
144
|
+
const flushText = () => {
|
|
145
|
+
const text = textBuffer.trim();
|
|
146
|
+
if (!text) {
|
|
147
|
+
textBuffer = "";
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
messages.push({
|
|
151
|
+
id: textIndex === 0 ? row.info.id : `${row.info.id}:text:${textIndex}`,
|
|
152
|
+
role: row.info.role,
|
|
153
|
+
text,
|
|
154
|
+
timestamp
|
|
155
|
+
});
|
|
156
|
+
textIndex += 1;
|
|
157
|
+
textBuffer = "";
|
|
158
|
+
};
|
|
159
|
+
row.parts.forEach((part, index) => {
|
|
160
|
+
if (part.type === "text" && part.text) {
|
|
161
|
+
textBuffer += part.text;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (part.type === "tool" || part.state) {
|
|
165
|
+
flushText();
|
|
166
|
+
const summary = toolSummary(part);
|
|
167
|
+
if (!summary) return;
|
|
168
|
+
messages.push({
|
|
169
|
+
id: `${row.info.id}:tool:${part.callID ?? part.id ?? index}`,
|
|
170
|
+
type: "note",
|
|
171
|
+
label: "Tool",
|
|
172
|
+
text: summary,
|
|
173
|
+
timestamp
|
|
174
|
+
});
|
|
175
|
+
}
|
|
142
176
|
});
|
|
177
|
+
flushText();
|
|
143
178
|
}
|
|
144
179
|
return messages;
|
|
145
180
|
}
|
|
@@ -169,6 +204,35 @@ async function sendChatMessage(sessionId, text) {
|
|
|
169
204
|
}
|
|
170
205
|
return await res.json();
|
|
171
206
|
}
|
|
207
|
+
async function startChatMessageTurn(sessionId, text) {
|
|
208
|
+
const res = await fetch(`/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`, {
|
|
209
|
+
method: "POST",
|
|
210
|
+
headers: {
|
|
211
|
+
"content-type": "application/json",
|
|
212
|
+
...buildHeaders()
|
|
213
|
+
},
|
|
214
|
+
credentials: "include",
|
|
215
|
+
body: JSON.stringify({ parts: [{
|
|
216
|
+
type: "text",
|
|
217
|
+
text
|
|
218
|
+
}] }),
|
|
219
|
+
signal: AbortSignal.timeout(15e4)
|
|
220
|
+
});
|
|
221
|
+
if (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error("Sign-in required."), { status: 401 });
|
|
222
|
+
if (!res.ok) {
|
|
223
|
+
const msg = await readErrorMessage(res);
|
|
224
|
+
throw Object.assign(new Error(msg), { status: res.status });
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
async function replyChatPermission(requestId, reply) {
|
|
228
|
+
await (await requireOk(await request("POST", `/proxy/assistant/permission/${encodeURIComponent(requestId)}/reply`, { reply }))).text().catch(() => "");
|
|
229
|
+
}
|
|
230
|
+
async function replyChatQuestion(requestId, answers) {
|
|
231
|
+
await (await requireOk(await request("POST", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reply`, { answers }))).text().catch(() => "");
|
|
232
|
+
}
|
|
233
|
+
async function rejectChatQuestion(requestId) {
|
|
234
|
+
await (await requireOk(await request("POST", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reject`, {}))).text().catch(() => "");
|
|
235
|
+
}
|
|
172
236
|
//#endregion
|
|
173
237
|
//#region src/lib/notifications.svelte.ts
|
|
174
238
|
var DEFAULT_TIMEOUTS = {
|
|
@@ -298,10 +362,13 @@ function teardownPendingAutoplay() {
|
|
|
298
362
|
* If a previous utterance is still playing, queues this one (FIFO, cap 3)
|
|
299
363
|
* instead of cutting it off mid-sentence.
|
|
300
364
|
*/
|
|
301
|
-
async function speakText(text) {
|
|
365
|
+
async function speakText(text, options) {
|
|
302
366
|
if (typeof window === "undefined" || !text.trim()) return;
|
|
303
367
|
if (voiceState.status === "speaking") {
|
|
304
|
-
speakQueue.push(
|
|
368
|
+
speakQueue.push({
|
|
369
|
+
text,
|
|
370
|
+
options
|
|
371
|
+
});
|
|
305
372
|
let dropped = 0;
|
|
306
373
|
while (speakQueue.length > SPEAK_QUEUE_MAX) {
|
|
307
374
|
speakQueue.shift();
|
|
@@ -313,10 +380,10 @@ async function speakText(text) {
|
|
|
313
380
|
}
|
|
314
381
|
return;
|
|
315
382
|
}
|
|
316
|
-
await playOne(text);
|
|
383
|
+
await playOne(text, options);
|
|
317
384
|
}
|
|
318
385
|
/** Internal: actually trigger the audio for one text chunk. */
|
|
319
|
-
async function playOne(text) {
|
|
386
|
+
async function playOne(text, options) {
|
|
320
387
|
if (typeof window === "undefined" || !text.trim()) return;
|
|
321
388
|
teardownPendingAutoplay();
|
|
322
389
|
teardownActiveAudio();
|
|
@@ -331,7 +398,12 @@ async function playOne(text) {
|
|
|
331
398
|
method: "POST",
|
|
332
399
|
headers: { "content-type": "application/json" },
|
|
333
400
|
credentials: "include",
|
|
334
|
-
body: JSON.stringify({
|
|
401
|
+
body: JSON.stringify({
|
|
402
|
+
text,
|
|
403
|
+
...options?.mode && options.mode !== "plain" ? { mode: options.mode } : {},
|
|
404
|
+
...options?.userText ? { userText: options.userText } : {},
|
|
405
|
+
...options?.assistantText ? { assistantText: options.assistantText } : {}
|
|
406
|
+
})
|
|
335
407
|
});
|
|
336
408
|
} catch {}
|
|
337
409
|
if (res && res.ok && res.headers.get("content-type")?.startsWith("audio/")) {
|
|
@@ -344,7 +416,7 @@ async function playOne(text) {
|
|
|
344
416
|
voiceState.status = "idle";
|
|
345
417
|
teardownActiveAudio();
|
|
346
418
|
const next = speakQueue.shift();
|
|
347
|
-
if (next) playOne(next);
|
|
419
|
+
if (next) playOne(next.text, next.options);
|
|
348
420
|
else overflowNoticed = false;
|
|
349
421
|
};
|
|
350
422
|
audio.onerror = () => {
|
|
@@ -352,7 +424,7 @@ async function playOne(text) {
|
|
|
352
424
|
voiceState.errorMessage = "Audio playback failed.";
|
|
353
425
|
teardownActiveAudio();
|
|
354
426
|
const next = speakQueue.shift();
|
|
355
|
-
if (next) playOne(next);
|
|
427
|
+
if (next) playOne(next.text, next.options);
|
|
356
428
|
else overflowNoticed = false;
|
|
357
429
|
};
|
|
358
430
|
voiceState.status = "speaking";
|
|
@@ -379,13 +451,13 @@ async function playOne(text) {
|
|
|
379
451
|
utterance.onend = () => {
|
|
380
452
|
voiceState.status = "idle";
|
|
381
453
|
const next = speakQueue.shift();
|
|
382
|
-
if (next) playOne(next);
|
|
454
|
+
if (next) playOne(next.text, next.options);
|
|
383
455
|
else overflowNoticed = false;
|
|
384
456
|
};
|
|
385
457
|
utterance.onerror = () => {
|
|
386
458
|
voiceState.status = "idle";
|
|
387
459
|
const next = speakQueue.shift();
|
|
388
|
-
if (next) playOne(next);
|
|
460
|
+
if (next) playOne(next.text, next.options);
|
|
389
461
|
else overflowNoticed = false;
|
|
390
462
|
};
|
|
391
463
|
window.speechSynthesis.speak(utterance);
|
|
@@ -513,5 +585,5 @@ var ThemeService = class {
|
|
|
513
585
|
};
|
|
514
586
|
var themeService = new ThemeService();
|
|
515
587
|
|
|
516
|
-
export { detectAkmEmbedding as a, buildHeaders as b, createSession as c, destroyVoice as d, downloadUiVersion as e, fetchAutomations as f, fetchContainers as g, fetchEndpoints as h, fetchReleases as i, fetchServiceLogs as j, fetchUiVersions as k, getSessionMessages as l, listSessions as m, notifications as n,
|
|
517
|
-
//# sourceMappingURL=theme-state.svelte-
|
|
588
|
+
export { voiceState as A, detectAkmEmbedding as a, buildHeaders as b, createSession as c, destroyVoice as d, downloadUiVersion as e, fetchAutomations as f, fetchContainers as g, fetchEndpoints as h, fetchReleases as i, fetchServiceLogs as j, fetchUiVersions as k, getSessionMessages as l, listSessions as m, notifications as n, replyChatPermission as o, replyChatQuestion as p, setActiveEndpoint as q, rejectChatQuestion as r, sendChatMessage as s, setStackVersion as t, speakText as u, startChatMessageTurn as v, stopSpeaking as w, testAkmEmbedding as x, themeService as y, upgradeStack as z };
|
|
589
|
+
//# sourceMappingURL=theme-state.svelte-_CMr5Hu9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-state.svelte-_CMr5Hu9.js","sources":["../../../.svelte-kit/adapter-node/chunks/theme-state.svelte.js"],"sourcesContent":["import \"./dev.js\";\n//#region src/lib/voice/media-recorder.ts\nvar PREFERRED_MIME_TYPES = [\"audio/webm;codecs=opus\", \"audio/webm\"];\nfunction pickMimeType() {\n\tconst MR = globalThis.MediaRecorder;\n\tif (!MR || typeof MR.isTypeSupported !== \"function\") return void 0;\n\tfor (const t of PREFERRED_MIME_TYPES) if (MR.isTypeSupported(t)) return t;\n}\nasync function startRecording() {\n\tif (typeof window === \"undefined\") throw new Error(\"Recording is only available in the browser.\");\n\tif (typeof MediaRecorder === \"undefined\") throw new Error(\"Recording is not supported in this browser.\");\n\tif (!navigator?.mediaDevices?.getUserMedia) throw new Error(\"Recording is not supported in this browser.\");\n\tlet stream;\n\ttry {\n\t\tstream = await navigator.mediaDevices.getUserMedia({ audio: true });\n\t} catch (err) {\n\t\tconst name = err?.name ?? \"\";\n\t\tif (name === \"NotAllowedError\" || name === \"SecurityError\") throw new Error(\"Microphone access denied. Open System Settings → Privacy & Security → Microphone and enable OpenPalm, then restart the app.\");\n\t\tif (name === \"NotFoundError\" || name === \"OverconstrainedError\") throw new Error(\"No microphone was found. Plug in a microphone and try again.\");\n\t\tthrow new Error(`Microphone error: ${err?.message ?? String(err)}`);\n\t}\n\tconst mimeType = pickMimeType();\n\tconst recorder = mimeType ? new MediaRecorder(stream, { mimeType }) : new MediaRecorder(stream);\n\tconst chunks = [];\n\trecorder.addEventListener(\"dataavailable\", (ev) => {\n\t\tconst data = ev.data;\n\t\tif (data && data.size > 0) chunks.push(data);\n\t});\n\tlet stopped = false;\n\tlet cancelled = false;\n\tlet stopResolve = null;\n\tlet stopReject = null;\n\tfunction releaseTracks() {\n\t\tfor (const track of stream.getTracks()) try {\n\t\t\ttrack.stop();\n\t\t} catch {}\n\t}\n\trecorder.addEventListener(\"stop\", () => {\n\t\treleaseTracks();\n\t\tif (cancelled) return;\n\t\tconst blob = new Blob(chunks, { type: recorder.mimeType || mimeType || \"audio/webm\" });\n\t\tstopResolve?.(blob);\n\t});\n\trecorder.addEventListener(\"error\", (ev) => {\n\t\treleaseTracks();\n\t\tconst err = ev?.error ?? /* @__PURE__ */ new Error(\"Recorder error\");\n\t\tstopReject?.(err);\n\t});\n\trecorder.start();\n\treturn {\n\t\tstop() {\n\t\t\tif (stopped) return Promise.reject(/* @__PURE__ */ new Error(\"Recorder already stopped\"));\n\t\t\tstopped = true;\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tstopResolve = resolve;\n\t\t\t\tstopReject = reject;\n\t\t\t\ttry {\n\t\t\t\t\tif (recorder.state !== \"inactive\") recorder.stop();\n\t\t\t\t} catch (err) {\n\t\t\t\t\treleaseTracks();\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tcancel() {\n\t\t\tif (stopped) return;\n\t\t\tstopped = true;\n\t\t\tcancelled = true;\n\t\t\ttry {\n\t\t\t\tif (recorder.state !== \"inactive\") recorder.stop();\n\t\t\t} catch {}\n\t\t\treleaseTracks();\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/api.ts\nvar apiBase = \"\";\nfunction buildHeaders() {\n\treturn {\n\t\t\"x-request-id\": crypto.randomUUID(),\n\t\t\"x-requested-by\": \"ui\"\n\t};\n}\nasync function request(method, path, body) {\n\tconst headers = {\n\t\t...body !== void 0 ? { \"content-type\": \"application/json\" } : {},\n\t\t...buildHeaders()\n\t};\n\treturn fetch(`${apiBase}${path}`, {\n\t\tmethod,\n\t\theaders,\n\t\tcredentials: \"include\",\n\t\t...body !== void 0 ? { body: JSON.stringify(body) } : {}\n\t});\n}\nasync function readErrorMessage(res, fallback = `Request failed (HTTP ${res.status})`) {\n\tif ((res.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\tconst data = await res.clone().json().catch((e) => {\n\t\t\tconsole.warn(\"[api] Failed to parse JSON error response:\", e);\n\t\t\treturn null;\n\t\t});\n\t\tif (data && typeof data.message === \"string\" && data.message.length > 0) return data.message;\n\t\tif (data && typeof data.error === \"string\" && data.error.length > 0) return data.error;\n\t}\n\treturn await res.text().catch((e) => {\n\t\tconsole.warn(\"[api] Failed to read error response text:\", e);\n\t\treturn \"\";\n\t}) || fallback;\n}\n/** Throw on 401; throw readErrorMessage on non-OK. Returns the response. */\nasync function requireOk(res, fallback) {\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) throw new Error(await readErrorMessage(res, fallback));\n\treturn res;\n}\nasync function fetchHealth() {\n\tconst [adminRes, guardianRes] = await Promise.all([request(\"GET\", \"/health\"), request(\"GET\", \"/guardian/health\").catch((e) => {\n\t\tconsole.warn(\"[api] Guardian health check failed:\", e);\n\t\treturn null;\n\t})]);\n\tconst admin = await adminRes.json();\n\tlet guardian = null;\n\tif (guardianRes) try {\n\t\tguardian = await guardianRes.json();\n\t} catch (e) {\n\t\tconsole.warn(\"[api] Failed to parse guardian health response:\", e);\n\t\tguardian = {\n\t\t\tstatus: \"unavailable\",\n\t\t\tservice: \"guardian\"\n\t\t};\n\t}\n\treturn {\n\t\tadmin,\n\t\tguardian\n\t};\n}\nasync function fetchContainers() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/containers/list\"))).json();\n}\nasync function containerAction(action, containerId) {\n\tawait requireOk(await request(\"POST\", {\n\t\tstart: \"/admin/containers/up\",\n\t\tstop: \"/admin/containers/down\",\n\t\trestart: \"/admin/containers/restart\"\n\t}[action], { service: containerId }));\n}\nasync function applyChanges() {\n\tconst res = await request(\"POST\", \"/admin/update\", {});\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!(res.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) throw new Error(await readErrorMessage(res, `Apply failed (HTTP ${res.status})`));\n\treturn await res.json();\n}\nasync function upgradeStack() {\n\treturn await (await requireOk(await request(\"POST\", \"/admin/upgrade\", {}))).json();\n}\nasync function fetchVersions() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/versions\"))).json();\n}\nasync function fetchReleases() {\n\ttry {\n\t\tconst res = await request(\"GET\", \"/admin/versions/releases\");\n\t\tif (!res.ok) return { releases: [] };\n\t\treturn await res.json();\n\t} catch {\n\t\treturn { releases: [] };\n\t}\n}\n/**\n* List installable @openpalm/ui npm versions for the admin \"UI build\" picker.\n* The UI is independently versioned and distributed via npm, so these — not\n* GitHub platform release tags — are the valid inputs to downloadUiVersion().\n*/\nasync function fetchUiVersions() {\n\ttry {\n\t\tconst res = await request(\"GET\", \"/admin/versions/ui\");\n\t\tif (!res.ok) return { versions: [] };\n\t\treturn await res.json();\n\t} catch {\n\t\treturn { versions: [] };\n\t}\n}\nasync function setStackVersion(tag) {\n\treturn await (await requireOk(await request(\"PATCH\", \"/admin/stack-version\", { tag }))).json();\n}\nasync function downloadUiVersion(tag) {\n\treturn await (await requireOk(await request(\"POST\", \"/admin/ui-version\", { tag }))).json();\n}\nasync function fetchAutomations() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/automations\"))).json();\n}\nasync function fetchServiceLogs(options) {\n\tconst params = new URLSearchParams();\n\tif (options?.service) params.set(\"service\", options.service);\n\tif (options?.tail) params.set(\"tail\", String(options.tail));\n\tif (options?.since) params.set(\"since\", options.since);\n\tconst qs = params.toString();\n\treturn await (await requireOk(await request(\"GET\", `/admin/logs${qs ? `?${qs}` : \"\"}`))).json();\n}\nasync function fetchAddons() {\n\treturn (await (await requireOk(await request(\"GET\", \"/admin/addons\"))).json()).addons;\n}\nasync function fetchSecretFiles() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/secrets\"))).json();\n}\nasync function fetchSecretFile(name) {\n\treturn await (await requireOk(await request(\"GET\", `/admin/secrets/${encodeURIComponent(name)}`))).json();\n}\nasync function fetchVoiceConfig() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/voice\"))).json();\n}\n/**\n* POST a recorded audio Blob to /api/transcribe.\n*\n* Goes through the SvelteKit server-side proxy (cookie-auth) which\n* forwards to the configured STT_BASE_URL. Returns the transcript text.\n*/\nasync function transcribeAudio(blob, opts) {\n\tconst form = new FormData();\n\tform.append(\"audio\", blob, \"recording.webm\");\n\tif (opts?.language) form.append(\"language\", opts.language);\n\tif (opts?.prompt) form.append(\"prompt\", opts.prompt);\n\tconst data = await (await requireOk(await fetch(\"/api/transcribe\", {\n\t\tmethod: \"POST\",\n\t\theaders: buildHeaders(),\n\t\tcredentials: \"include\",\n\t\tbody: form\n\t}))).json();\n\treturn typeof data.text === \"string\" ? data.text : \"\";\n}\nasync function fetchAkmConfig() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/akm\"))).json();\n}\nasync function detectAkmEmbedding() {\n\treturn await (await requireOk(await request(\"POST\", \"/admin/akm/embedding/detect\", {}))).json();\n}\nasync function testAkmEmbedding(settings) {\n\treturn await (await requireOk(await request(\"POST\", \"/admin/akm/embedding/test\", settings))).json();\n}\nasync function fetchAssistantSettings() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/assistant\"))).json();\n}\nasync function fetchAkmHealth() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/akm/health\"))).json();\n}\nasync function fetchAkmKnowledgeStats() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/akm/stats\"))).json();\n}\nasync function fetchHostAkmSharing() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/akm/host-sharing\"))).json();\n}\nasync function pullImages() {\n\tawait requireOk(await request(\"POST\", \"/admin/containers/pull\", {}));\n}\nasync function fetchEndpoints() {\n\treturn await (await requireOk(await request(\"GET\", \"/admin/endpoints\"))).json();\n}\nasync function setActiveEndpoint(id) {\n\treturn await (await requireOk(await request(\"POST\", \"/admin/endpoints/active\", { id }))).json();\n}\n/**\n* Create a new OpenCode session via the SvelteKit broker.\n*\n* Only `/proxy/assistant/*` is reachable from the browser. The active\n* OpenCode instance is selected server-side via the connection switcher.\n*/\nasync function createSession() {\n\treturn await (await requireOk(await request(\"POST\", `/proxy/assistant/session`, {}))).json();\n}\n/**\n* List sessions on the active OpenCode endpoint.\n*\n* OpenCode returns `Array<Session>` with no ordering guarantee; we sort\n* desc by `time.updated` here so consumers can rely on it. See\n* docs/technical/multi-endpoint-session-ux.md §2.\n*/\nasync function listSessions() {\n\tconst summaries = (await (await requireOk(await request(\"GET\", \"/proxy/assistant/session\"))).json()).map((s) => ({\n\t\tid: s.id,\n\t\ttitle: s.title ?? \"\",\n\t\tcreatedAt: s.time?.created ?? 0,\n\t\tupdatedAt: s.time?.updated ?? s.time?.created ?? 0\n\t}));\n\tsummaries.sort((a, b) => b.updatedAt - a.updatedAt);\n\treturn summaries;\n}\nfunction toolSummary(part) {\n\tconst tool = part.tool ?? \"tool\";\n\tconst status = part.state?.status ?? \"running\";\n\tconst title = part.state?.title?.trim();\n\tconst error = part.state?.error?.trim();\n\tconst output = typeof part.state?.output === \"string\" ? part.state.output.trim() : part.state?.output != null ? JSON.stringify(part.state.output) : \"\";\n\tconst fragments = [tool, status];\n\tif (title) fragments.push(title);\n\tif (error) fragments.push(error);\n\telse if (output) fragments.push(output);\n\treturn fragments.filter(Boolean).join(\" · \");\n}\nasync function getSessionMessages(sessionId) {\n\tconst rows = await (await requireOk(await request(\"GET\", `/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`))).json();\n\tconst messages = [];\n\tfor (const row of rows) {\n\t\tconst timestamp = row.info.time?.created ?? Date.now();\n\t\tlet textBuffer = \"\";\n\t\tlet textIndex = 0;\n\t\tconst flushText = () => {\n\t\t\tconst text = textBuffer.trim();\n\t\t\tif (!text) {\n\t\t\t\ttextBuffer = \"\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmessages.push({\n\t\t\t\tid: textIndex === 0 ? row.info.id : `${row.info.id}:text:${textIndex}`,\n\t\t\t\trole: row.info.role,\n\t\t\t\ttext,\n\t\t\t\ttimestamp\n\t\t\t});\n\t\t\ttextIndex += 1;\n\t\t\ttextBuffer = \"\";\n\t\t};\n\t\trow.parts.forEach((part, index) => {\n\t\t\tif (part.type === \"text\" && part.text) {\n\t\t\t\ttextBuffer += part.text;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (part.type === \"tool\" || part.state) {\n\t\t\t\tflushText();\n\t\t\t\tconst summary = toolSummary(part);\n\t\t\t\tif (!summary) return;\n\t\t\t\tmessages.push({\n\t\t\t\t\tid: `${row.info.id}:tool:${part.callID ?? part.id ?? index}`,\n\t\t\t\t\ttype: \"note\",\n\t\t\t\t\tlabel: \"Tool\",\n\t\t\t\t\ttext: summary,\n\t\t\t\t\ttimestamp\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tflushText();\n\t}\n\treturn messages;\n}\n/**\n* Send a message to an existing OpenCode session via the SvelteKit broker.\n* Uses direct fetch with a 150s AbortSignal timeout — OpenCode responses\n* can take 30–120s.\n*/\nasync function sendChatMessage(sessionId, text) {\n\tconst res = await fetch(`/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t...buildHeaders()\n\t\t},\n\t\tcredentials: \"include\",\n\t\tbody: JSON.stringify({ parts: [{\n\t\t\ttype: \"text\",\n\t\t\ttext\n\t\t}] }),\n\t\tsignal: AbortSignal.timeout(15e4)\n\t});\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) {\n\t\tconst msg = await readErrorMessage(res);\n\t\tthrow Object.assign(new Error(msg), { status: res.status });\n\t}\n\treturn await res.json();\n}\nasync function startChatMessageTurn(sessionId, text) {\n\tconst res = await fetch(`/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t...buildHeaders()\n\t\t},\n\t\tcredentials: \"include\",\n\t\tbody: JSON.stringify({ parts: [{\n\t\t\ttype: \"text\",\n\t\t\ttext\n\t\t}] }),\n\t\tsignal: AbortSignal.timeout(15e4)\n\t});\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) {\n\t\tconst msg = await readErrorMessage(res);\n\t\tthrow Object.assign(new Error(msg), { status: res.status });\n\t}\n}\nasync function replyChatPermission(requestId, reply) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/permission/${encodeURIComponent(requestId)}/reply`, { reply }))).text().catch(() => \"\");\n}\nasync function replyChatQuestion(requestId, answers) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reply`, { answers }))).text().catch(() => \"\");\n}\nasync function rejectChatQuestion(requestId) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reject`, {}))).text().catch(() => \"\");\n}\n//#endregion\n//#region src/lib/notifications.svelte.ts\nvar DEFAULT_TIMEOUTS = {\n\tinfo: 4e3,\n\tsuccess: 5e3,\n\terror: 8e3\n};\nvar Notifications = class {\n\ttoasts = [];\n\ttimers = /* @__PURE__ */ new Map();\n\tpush(kind, message, opts = {}) {\n\t\tconst id = opts.replaceId ?? (typeof crypto !== \"undefined\" && \"randomUUID\" in crypto ? crypto.randomUUID() : `t-${Date.now()}-${Math.random().toString(36).slice(2)}`);\n\t\tconst ttlMs = opts.sticky ? null : opts.ttlMs ?? DEFAULT_TIMEOUTS[kind];\n\t\tconst toast = {\n\t\t\tid,\n\t\t\tkind,\n\t\t\tmessage,\n\t\t\tttlMs\n\t\t};\n\t\tconst existingTimer = this.timers.get(id);\n\t\tif (existingTimer) {\n\t\t\tclearTimeout(existingTimer);\n\t\t\tthis.timers.delete(id);\n\t\t}\n\t\tconst existingIdx = this.toasts.findIndex((t) => t.id === id);\n\t\tif (existingIdx >= 0) {\n\t\t\tconst next = [...this.toasts];\n\t\t\tnext[existingIdx] = toast;\n\t\t\tthis.toasts = next;\n\t\t} else this.toasts = [...this.toasts, toast];\n\t\tif (ttlMs !== null) {\n\t\t\tconst timer = setTimeout(() => this.dismiss(id), ttlMs);\n\t\t\tthis.timers.set(id, timer);\n\t\t}\n\t\treturn id;\n\t}\n\tdismiss(id) {\n\t\tconst timer = this.timers.get(id);\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\tthis.timers.delete(id);\n\t\t}\n\t\tthis.toasts = this.toasts.filter((t) => t.id !== id);\n\t}\n\tclear() {\n\t\tfor (const timer of this.timers.values()) clearTimeout(timer);\n\t\tthis.timers.clear();\n\t\tthis.toasts = [];\n\t}\n};\nvar notifications = new Notifications();\n//#endregion\n//#region src/lib/voice/voice-state.svelte.ts\nvar MAX_RECORDING_MS = 6e4;\nvar VoiceState = class {\n\tstatus = \"idle\";\n\t/** True when the configured STT engine is actually usable from this browser. */\n\tsttSupported = false;\n\tttsSupported = false;\n\terrorMessage = \"\";\n\t/** Partial transcript text while browser STT is mid-utterance. Cleared on stop/error. */\n\tinterimTranscript = \"\";\n\t/** Active engine resolved from /admin/voice. */\n\tsttEngine = \"disabled\";\n\tttsEngine = \"disabled\";\n\t/** Optional language hint (forwarded to /api/transcribe). */\n\tsttLanguage = \"\";\n\t/** Global toggle: when true, assistant chat replies are spoken automatically. */\n\tttsAutoEnabled = false;\n\t/**\n\t* True when an audio.play() was rejected by the browser's autoplay\n\t* policy and we have a pending utterance waiting for a user gesture.\n\t* The chat UI renders a small \"click to resume\" banner; clicking it\n\t* calls resumeAutoplay() to actually play.\n\t*/\n\tautoplayBlocked = false;\n\t/**\n\t* Set when the configured STT engine is technically present in the\n\t* window but known to fail at runtime on this UA (e.g. iOS Safari\n\t* exposes SpeechRecognition but `start()` immediately errors with\n\t* `service-not-allowed`). The Voice settings tab uses this to hide or\n\t* disable the Browser STT card with the reason as a tooltip.\n\t*/\n\tbrowserSttUnsupportedReason = \"\";\n};\nvar voiceState = new VoiceState();\nvar TTS_AUTO_STORAGE_KEY = \"openpalm.tts.auto\";\nvar activeRecording = null;\nvar activeRecognition = null;\nvar recordingTimeout = null;\nvar activeOnResult = null;\n/** Toggle the global auto-TTS flag and persist to localStorage. */\nfunction setTtsAutoEnabled(value) {\n\tconst wasEnabled = voiceState.ttsAutoEnabled;\n\tvoiceState.ttsAutoEnabled = value;\n\tif (typeof window !== \"undefined\") try {\n\t\twindow.localStorage.setItem(TTS_AUTO_STORAGE_KEY, value ? \"1\" : \"0\");\n\t} catch {}\n\tif (!value) {\n\t\tstopSpeaking();\n\t\treturn;\n\t}\n\tif (!wasEnabled) primeAudioForAutoplay();\n}\n/**\n* Play a 1-frame silent AudioBuffer through a transient AudioContext to\n* register the current user gesture with the browser's autoplay policy.\n* Safe to call repeatedly; failures are swallowed.\n*/\nfunction primeAudioForAutoplay() {\n\tif (typeof window === \"undefined\") return;\n\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\tif (!Ctor) return;\n\ttry {\n\t\tconst ctx = new Ctor();\n\t\tconst buffer = ctx.createBuffer(1, 1, 22050);\n\t\tconst source = ctx.createBufferSource();\n\t\tsource.buffer = buffer;\n\t\tsource.connect(ctx.destination);\n\t\tsource.start(0);\n\t\tsetTimeout(() => {\n\t\t\tctx.close().catch(() => {});\n\t\t}, 100);\n\t} catch {}\n}\n/** Resolve the SpeechRecognition constructor (Chrome prefixes it). */\nfunction getSpeechRecognitionCtor() {\n\tif (typeof window === \"undefined\") return void 0;\n\treturn window.SpeechRecognition ?? window.webkitSpeechRecognition ?? void 0;\n}\n/**\n* iOS Safari (and all WebKit-based browsers on iOS — Chrome/Edge/Firefox\n* on iOS are required by Apple to use WebKit) exposes SpeechRecognition\n* but `start()` immediately fires `error: service-not-allowed`. Detect\n* the UA up front so the picker can hide the Browser STT card rather\n* than let the user click a mic that silently does nothing.\n*\n* `MSStream` excludes old IE on Windows Phone, which used to spoof iPad\n* in the UA; harmless on modern browsers (always undefined).\n*/\nfunction isIosSafari() {\n\tif (typeof navigator === \"undefined\") return false;\n\tconst ua = navigator.userAgent ?? \"\";\n\tconst isIos = /iPad|iPhone|iPod/.test(ua);\n\tconst msStream = window.MSStream;\n\treturn isIos && !msStream;\n}\nfunction isMediaRecorderSupported() {\n\tif (typeof window === \"undefined\") return false;\n\tif (typeof MediaRecorder === \"undefined\") return false;\n\tif (!navigator?.mediaDevices?.getUserMedia) return false;\n\treturn true;\n}\nfunction resolveEngineSupport(engine) {\n\tswitch (engine) {\n\t\tcase \"browser\":\n\t\t\tif (voiceState.browserSttUnsupportedReason) return false;\n\t\t\treturn Boolean(getSpeechRecognitionCtor());\n\t\tcase \"remote\":\n\t\tcase \"openpalm-voice\": return isMediaRecorderSupported();\n\t\tdefault: return false;\n\t}\n}\nfunction normalizeEngine(raw) {\n\tif (raw === \"browser\" || raw === \"browser-stt\") return \"browser\";\n\tif (raw === \"openpalm-voice\") return \"openpalm-voice\";\n\tif (raw && !raw.startsWith(\"skip-\")) return \"remote\";\n\treturn \"disabled\";\n}\n/**\n* Probe browser capabilities and resolve which STT engine is active.\n* Must be called from onMount or $effect (client-side only).\n*/\nasync function initVoice() {\n\tconst browserTts = typeof window !== \"undefined\" && \"speechSynthesis\" in window;\n\tif (typeof window !== \"undefined\") try {\n\t\tvoiceState.ttsAutoEnabled = window.localStorage.getItem(TTS_AUTO_STORAGE_KEY) === \"1\";\n\t} catch {}\n\ttry {\n\t\tconst cfg = await fetchVoiceConfig();\n\t\tconst stt = cfg.stt ?? {};\n\t\tconst tts = cfg.tts ?? {};\n\t\tconst rawSttEngine = typeof stt.engine === \"string\" ? stt.engine : \"\";\n\t\tconst rawTtsEngine = typeof tts.engine === \"string\" ? tts.engine : \"\";\n\t\tvoiceState.sttLanguage = typeof stt.language === \"string\" ? stt.language : \"\";\n\t\tvoiceState.sttEngine = normalizeEngine(rawSttEngine);\n\t\tvoiceState.ttsEngine = normalizeEngine(rawTtsEngine);\n\t} catch {\n\t\tvoiceState.sttEngine = \"disabled\";\n\t\tvoiceState.ttsEngine = \"disabled\";\n\t}\n\tvoiceState.ttsSupported = voiceState.ttsEngine === \"openpalm-voice\" || voiceState.ttsEngine === \"remote\" || voiceState.ttsEngine === \"browser\" && browserTts;\n\tif (isIosSafari() && getSpeechRecognitionCtor()) {\n\t\tvoiceState.browserSttUnsupportedReason = \"iOS Safari does not support Web Speech recognition\";\n\t\tif (voiceState.sttEngine === \"browser\") voiceState.sttEngine = \"disabled\";\n\t} else voiceState.browserSttUnsupportedReason = \"\";\n\tif (voiceState.sttEngine === \"disabled\" && getSpeechRecognitionCtor() && !voiceState.browserSttUnsupportedReason) voiceState.sttEngine = \"browser\";\n\tvoiceState.sttSupported = resolveEngineSupport(voiceState.sttEngine);\n}\n/**\n* Begin speech recognition. Transcript is delivered to `onResult`.\n* Calling while already listening is a no-op.\n*/\nfunction startListening(onResult) {\n\tif (voiceState.status === \"recording\" || voiceState.status === \"transcribing\") return;\n\tif (!voiceState.sttSupported || voiceState.sttEngine === \"disabled\") {\n\t\tvoiceState.errorMessage = \"Speech recognition is not available.\";\n\t\treturn;\n\t}\n\tvoiceState.errorMessage = \"\";\n\tactiveOnResult = onResult;\n\tif (voiceState.sttEngine === \"browser\") {\n\t\tstartBrowserRecognition(onResult);\n\t\treturn;\n\t}\n\tstartRemoteRecording();\n}\nfunction startBrowserRecognition(onResult) {\n\tconst SR = getSpeechRecognitionCtor();\n\tif (!SR) {\n\t\tvoiceState.errorMessage = \"Speech recognition is not supported in this browser.\";\n\t\treturn;\n\t}\n\tconst instance = new SR();\n\tactiveRecognition = instance;\n\tinstance.lang = voiceState.sttLanguage || navigator?.language || \"en-US\";\n\tinstance.interimResults = true;\n\tinstance.maxAlternatives = 1;\n\tinstance.continuous = false;\n\tlet finalAccumulated = \"\";\n\tinstance.onresult = (event) => {\n\t\tlet interim = \"\";\n\t\tfor (let i = event.resultIndex; i < event.results.length; i++) {\n\t\t\tconst result = event.results[i];\n\t\t\tif (result.isFinal) finalAccumulated += result[0]?.transcript ?? \"\";\n\t\t\telse interim += result[0]?.transcript ?? \"\";\n\t\t}\n\t\tvoiceState.interimTranscript = finalAccumulated + interim;\n\t};\n\tinstance.onerror = (event) => {\n\t\tif (activeRecognition !== instance) return;\n\t\tconst error = event.error ?? \"\";\n\t\tif (error === \"no-speech\" || error === \"aborted\") {} else if (error === \"not-allowed\") voiceState.errorMessage = \"Microphone access denied.\";\n\t\telse voiceState.errorMessage = `Speech error: ${error}`;\n\t\tvoiceState.interimTranscript = \"\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t};\n\tinstance.onend = () => {\n\t\tif (activeRecognition !== instance) return;\n\t\tif (finalAccumulated.trim() && onResult) onResult(finalAccumulated.trim());\n\t\tvoiceState.interimTranscript = \"\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t};\n\ttry {\n\t\tinstance.start();\n\t\tvoiceState.status = \"recording\";\n\t} catch {\n\t\tvoiceState.errorMessage = \"Failed to start speech recognition.\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveRecognition = null;\n\t\tactiveOnResult = null;\n\t}\n}\nasync function startRemoteRecording() {\n\tlet session;\n\ttry {\n\t\tsession = await startRecording();\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Failed to start recording.\";\n\t\tvoiceState.status = \"idle\";\n\t\tactiveOnResult = null;\n\t\treturn;\n\t}\n\tactiveRecording = session;\n\tvoiceState.status = \"recording\";\n\trecordingTimeout = setTimeout(() => {\n\t\tfinalizeRecording();\n\t}, MAX_RECORDING_MS);\n}\nasync function finalizeRecording() {\n\tconst session = activeRecording;\n\tconst onResult = activeOnResult;\n\tif (!session) return;\n\tactiveRecording = null;\n\tactiveOnResult = null;\n\tif (recordingTimeout) {\n\t\tclearTimeout(recordingTimeout);\n\t\trecordingTimeout = null;\n\t}\n\tvoiceState.status = \"transcribing\";\n\tlet blob;\n\ttry {\n\t\tblob = await session.stop();\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Recording failed.\";\n\t\tvoiceState.status = \"idle\";\n\t\treturn;\n\t}\n\tif (blob.size === 0) {\n\t\tvoiceState.status = \"idle\";\n\t\treturn;\n\t}\n\ttry {\n\t\tconst trimmed = (await transcribeAudio(blob, { language: voiceState.sttLanguage || void 0 })).trim();\n\t\tif (trimmed && onResult) onResult(trimmed);\n\t} catch (err) {\n\t\tvoiceState.errorMessage = err instanceof Error ? err.message : \"Transcription failed.\";\n\t} finally {\n\t\tvoiceState.status = \"idle\";\n\t}\n}\n/** Stop the active recording session (whichever engine). */\nfunction stopListening() {\n\tif (activeRecognition) {\n\t\ttry {\n\t\t\tactiveRecognition.stop();\n\t\t} catch {}\n\t\treturn;\n\t}\n\tif (activeRecording) finalizeRecording();\n}\nvar activeAudio = null;\nvar activeAudioUrl = null;\nvar SPEAK_QUEUE_MAX = 3;\nvar speakQueue = [];\nvar overflowNoticed = false;\nvar pendingAutoplayAudio = null;\nvar pendingAutoplayUrl = null;\nfunction teardownActiveAudio() {\n\tif (activeAudio) {\n\t\tactiveAudio.onerror = null;\n\t\tactiveAudio.onended = null;\n\t\ttry {\n\t\t\tactiveAudio.pause();\n\t\t} catch {}\n\t\tactiveAudio.src = \"\";\n\t\tactiveAudio = null;\n\t}\n\tif (activeAudioUrl) {\n\t\tURL.revokeObjectURL(activeAudioUrl);\n\t\tactiveAudioUrl = null;\n\t}\n}\nfunction teardownPendingAutoplay() {\n\tif (pendingAutoplayAudio) {\n\t\tpendingAutoplayAudio.onerror = null;\n\t\tpendingAutoplayAudio.onended = null;\n\t\ttry {\n\t\t\tpendingAutoplayAudio.pause();\n\t\t} catch {}\n\t\tpendingAutoplayAudio.src = \"\";\n\t\tpendingAutoplayAudio = null;\n\t}\n\tif (pendingAutoplayUrl) {\n\t\tURL.revokeObjectURL(pendingAutoplayUrl);\n\t\tpendingAutoplayUrl = null;\n\t}\n\tvoiceState.autoplayBlocked = false;\n}\n/**\n* Read text aloud. Tries server-side TTS via /api/speak first (when the\n* configured engine is openpalm-voice or remote); falls back to browser\n* speech synthesis. Silent no-op if neither path is available.\n*\n* If a previous utterance is still playing, queues this one (FIFO, cap 3)\n* instead of cutting it off mid-sentence.\n*/\nasync function speakText(text, options) {\n\tif (typeof window === \"undefined\" || !text.trim()) return;\n\tif (voiceState.status === \"speaking\") {\n\t\tspeakQueue.push({\n\t\t\ttext,\n\t\t\toptions\n\t\t});\n\t\tlet dropped = 0;\n\t\twhile (speakQueue.length > SPEAK_QUEUE_MAX) {\n\t\t\tspeakQueue.shift();\n\t\t\tdropped += 1;\n\t\t}\n\t\tif (dropped > 0 && !overflowNoticed) {\n\t\t\toverflowNoticed = true;\n\t\t\tnotifications.push(\"info\", `Skipped ${dropped} spoken ${dropped === 1 ? \"reply\" : \"replies\"} — too much overlap. Lower the auto-speak chat rate.`);\n\t\t}\n\t\treturn;\n\t}\n\tawait playOne(text, options);\n}\n/** Internal: actually trigger the audio for one text chunk. */\nasync function playOne(text, options) {\n\tif (typeof window === \"undefined\" || !text.trim()) return;\n\tteardownPendingAutoplay();\n\tteardownActiveAudio();\n\tif (\"speechSynthesis\" in window) window.speechSynthesis.cancel();\n\tvoiceState.errorMessage = \"\";\n\tconst engine = voiceState.ttsEngine;\n\tconst useServer = engine === \"openpalm-voice\" || engine === \"remote\";\n\tif (useServer) {\n\t\tlet res;\n\t\ttry {\n\t\t\tres = await fetch(\"/api/speak\", {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\tcredentials: \"include\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\ttext,\n\t\t\t\t\t...options?.mode && options.mode !== \"plain\" ? { mode: options.mode } : {},\n\t\t\t\t\t...options?.userText ? { userText: options.userText } : {},\n\t\t\t\t\t...options?.assistantText ? { assistantText: options.assistantText } : {}\n\t\t\t\t})\n\t\t\t});\n\t\t} catch {}\n\t\tif (res && res.ok && res.headers.get(\"content-type\")?.startsWith(\"audio/\")) {\n\t\t\tconst blob = await res.blob();\n\t\t\tconst url = URL.createObjectURL(blob);\n\t\t\tconst audio = new Audio(url);\n\t\t\tactiveAudio = audio;\n\t\t\tactiveAudioUrl = url;\n\t\t\taudio.onended = () => {\n\t\t\t\tvoiceState.status = \"idle\";\n\t\t\t\tteardownActiveAudio();\n\t\t\t\tconst next = speakQueue.shift();\n\t\t\t\tif (next) playOne(next.text, next.options);\n\t\t\t\telse overflowNoticed = false;\n\t\t\t};\n\t\t\taudio.onerror = () => {\n\t\t\t\tvoiceState.status = \"idle\";\n\t\t\t\tvoiceState.errorMessage = \"Audio playback failed.\";\n\t\t\t\tteardownActiveAudio();\n\t\t\t\tconst next = speakQueue.shift();\n\t\t\t\tif (next) playOne(next.text, next.options);\n\t\t\t\telse overflowNoticed = false;\n\t\t\t};\n\t\t\tvoiceState.status = \"speaking\";\n\t\t\ttry {\n\t\t\t\tawait audio.play();\n\t\t\t} catch {\n\t\t\t\tvoiceState.status = \"idle\";\n\t\t\t\tpendingAutoplayAudio = audio;\n\t\t\t\tpendingAutoplayUrl = url;\n\t\t\t\tactiveAudio = null;\n\t\t\t\tactiveAudioUrl = null;\n\t\t\t\tvoiceState.autoplayBlocked = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (res && !res.ok) voiceState.errorMessage = await extractSpeakError(res);\n\t}\n\tif (!(\"speechSynthesis\" in window)) return;\n\tif (useServer) voiceState.errorMessage = \"\";\n\tconst utterance = new SpeechSynthesisUtterance(text);\n\tutterance.onstart = () => {\n\t\tvoiceState.status = \"speaking\";\n\t};\n\tutterance.onend = () => {\n\t\tvoiceState.status = \"idle\";\n\t\tconst next = speakQueue.shift();\n\t\tif (next) playOne(next.text, next.options);\n\t\telse overflowNoticed = false;\n\t};\n\tutterance.onerror = () => {\n\t\tvoiceState.status = \"idle\";\n\t\tconst next = speakQueue.shift();\n\t\tif (next) playOne(next.text, next.options);\n\t\telse overflowNoticed = false;\n\t};\n\twindow.speechSynthesis.speak(utterance);\n}\n/**\n* Convert a non-OK /api/speak response into a human-readable string.\n* Recognises the two common shapes the route returns; falls back to a\n* generic message keyed off the HTTP status.\n*/\nasync function extractSpeakError(res) {\n\tlet code;\n\ttry {\n\t\tconst data = await res.clone().json();\n\t\tif (typeof data.error === \"string\") code = data.error;\n\t} catch {}\n\tif (code === \"tts_not_configured\") return \"TTS is not configured.\";\n\tif (code === \"upstream_error\" || res.status === 502 || res.status === 503) return \"Voice engine is warming up — try again in a moment.\";\n\treturn `TTS failed (HTTP ${res.status}).`;\n}\n/** Cancel speech synthesis. Drops the entire queue. */\nfunction stopSpeaking() {\n\tspeakQueue.length = 0;\n\toverflowNoticed = false;\n\tteardownPendingAutoplay();\n\tteardownActiveAudio();\n\tif (typeof window !== \"undefined\" && \"speechSynthesis\" in window) window.speechSynthesis.cancel();\n\tvoiceState.status = \"idle\";\n}\n/**\n* Tear down per-component voice resources on unmount. Only cancels\n* any in-flight recording / recognition.\n*\n* Deliberately does NOT cancel `speechSynthesis` — that queue is a\n* window-level singleton and the user's auto-TTS toggle is persistent,\n* so a page navigation must not interrupt the assistant mid-utterance.\n* Explicit user actions (logout, mic click, toggle off) call\n* `stopSpeaking` directly.\n*/\nfunction destroyVoice() {\n\tif (recordingTimeout) {\n\t\tclearTimeout(recordingTimeout);\n\t\trecordingTimeout = null;\n\t}\n\tif (activeRecording) {\n\t\ttry {\n\t\t\tactiveRecording.cancel();\n\t\t} catch {}\n\t\tactiveRecording = null;\n\t}\n\tif (activeRecognition) {\n\t\ttry {\n\t\t\tactiveRecognition.stop();\n\t\t} catch {}\n\t\tactiveRecognition = null;\n\t}\n\tactiveOnResult = null;\n\tvoiceState.interimTranscript = \"\";\n\tvoiceState.status = \"idle\";\n}\n//#endregion\n//#region src/lib/theme-state.svelte.ts\nvar THEME_STORAGE_KEY = \"openpalm.theme\";\nvar THEME_ATTR = \"data-theme\";\nvar DARK_THEME_COLOR = \"#161c22\";\nvar LIGHT_THEME_COLOR = \"#f9fafb\";\nfunction isThemePreference(value) {\n\treturn value === \"light\" || value === \"dark\" || value === \"system\";\n}\nvar ThemeService = class {\n\tpreference = \"system\";\n\tresolved = \"light\";\n\tinitialized = false;\n\t#mediaQuery = null;\n\t#mediaChangeHandler = () => {\n\t\tif (this.preference !== \"system\") return;\n\t\tthis.resolved = this.#resolvePreference(\"system\");\n\t\tthis.#applyResolvedTheme();\n\t};\n\tinit() {\n\t\tif (typeof window === \"undefined\" || this.initialized) return;\n\t\tthis.preference = this.#readStoredPreference();\n\t\tthis.resolved = this.#resolvePreference(this.preference);\n\t\tthis.#subscribeToSystemTheme();\n\t\tthis.#applyResolvedTheme();\n\t\tthis.initialized = true;\n\t}\n\tsetPreference(preference) {\n\t\tthis.preference = preference;\n\t\tthis.resolved = this.#resolvePreference(preference);\n\t\tthis.#writeStoredPreference(preference);\n\t\tthis.#applyResolvedTheme();\n\t}\n\ttoggle() {\n\t\tthis.setPreference(this.resolved === \"dark\" ? \"light\" : \"dark\");\n\t}\n\tdispose() {\n\t\tif (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === \"function\") this.#mediaQuery.removeEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse this.#mediaQuery.removeListener(this.#mediaChangeHandler);\n\t\tthis.#mediaQuery = null;\n\t\tthis.initialized = false;\n\t}\n\t#readStoredPreference() {\n\t\tif (typeof window === \"undefined\") return \"system\";\n\t\ttry {\n\t\t\tconst stored = window.localStorage.getItem(THEME_STORAGE_KEY);\n\t\t\treturn isThemePreference(stored) ? stored : \"system\";\n\t\t} catch {\n\t\t\treturn \"system\";\n\t\t}\n\t}\n\t#writeStoredPreference(preference) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.localStorage.setItem(THEME_STORAGE_KEY, preference);\n\t\t} catch {}\n\t}\n\t#resolvePreference(preference) {\n\t\tif (preference === \"light\" || preference === \"dark\") return preference;\n\t\tif (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return \"light\";\n\t\treturn window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n\t}\n\t#subscribeToSystemTheme() {\n\t\tif (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return;\n\t\tconst nextQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n\t\tif (this.#mediaQuery === nextQuery) return;\n\t\tif (this.#mediaQuery) if (typeof this.#mediaQuery.removeEventListener === \"function\") this.#mediaQuery.removeEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse this.#mediaQuery.removeListener(this.#mediaChangeHandler);\n\t\tthis.#mediaQuery = nextQuery;\n\t\tif (typeof nextQuery.addEventListener === \"function\") nextQuery.addEventListener(\"change\", this.#mediaChangeHandler);\n\t\telse nextQuery.addListener(this.#mediaChangeHandler);\n\t}\n\t#applyResolvedTheme() {\n\t\tif (typeof document === \"undefined\") return;\n\t\tconst root = document.documentElement;\n\t\troot.setAttribute(THEME_ATTR, this.resolved);\n\t\troot.style.colorScheme = this.resolved;\n\t\tconst themeColorMeta = document.querySelector(\"meta[name=\\\"theme-color\\\"]\");\n\t\tif (themeColorMeta) themeColorMeta.content = this.resolved === \"dark\" ? DARK_THEME_COLOR : LIGHT_THEME_COLOR;\n\t\tconst colorSchemeMeta = document.querySelector(\"meta[name=\\\"color-scheme\\\"]\");\n\t\tif (colorSchemeMeta) colorSchemeMeta.content = this.resolved;\n\t}\n};\nvar themeService = new ThemeService();\n//#endregion\nexport { fetchServiceLogs as A, sendChatMessage as B, fetchContainers as C, fetchReleases as D, fetchHostAkmSharing as E, listSessions as F, upgradeStack as G, setStackVersion as H, pullImages as I, rejectChatQuestion as L, fetchVersions as M, fetchVoiceConfig as N, fetchSecretFile as O, getSessionMessages as P, replyChatPermission as R, fetchAutomations as S, fetchHealth as T, startChatMessageTurn as U, setActiveEndpoint as V, testAkmEmbedding as W, fetchAddons as _, speakText as a, fetchAkmKnowledgeStats as b, stopSpeaking as c, applyChanges as d, buildHeaders as f, downloadUiVersion as g, detectAkmEmbedding as h, setTtsAutoEnabled as i, fetchUiVersions as j, fetchSecretFiles as k, voiceState as l, createSession as m, destroyVoice as n, startListening as o, containerAction as p, initVoice as r, stopListening as s, themeService as t, notifications as u, fetchAkmConfig as v, fetchEndpoints as w, fetchAssistantSettings as x, fetchAkmHealth as y, replyChatQuestion as z };\n"],"names":[],"mappings":"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"}
|
package/build/server/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as __commonJSMin } from './chunks/chunk-CLZ62Ad-.js';
|
|
2
|
-
import { c as coalesce_to_error, j as get_status, i as get_message, F as with_request_store, t as parse, s as options, a as IN_WEBCONTAINER, h as get_hooks, n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, e as decode_pathname, g as find_route, q as normalize_path, f as disable_search, C as validate_layout_server_exports, B as validate_layout_exports, E as validate_page_server_exports, D as validate_page_exports, o as noop_span, w as resolve, v as read_implementation, l as merge_tracing, x as set_read_implementation, d as create_remote_key, k as hash, b as compact, r as once, p as normalize_error, m as make_trackable, u as parse_remote_arg, z as stringify, A as stringify$1, y as split_remote_key, N as NULL_BODY_STATUS } from './chunks/internal-
|
|
2
|
+
import { c as coalesce_to_error, j as get_status, i as get_message, F as with_request_store, t as parse, s as options, a as IN_WEBCONTAINER, h as get_hooks, n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, e as decode_pathname, g as find_route, q as normalize_path, f as disable_search, C as validate_layout_server_exports, B as validate_layout_exports, E as validate_page_server_exports, D as validate_page_exports, o as noop_span, w as resolve, v as read_implementation, l as merge_tracing, x as set_read_implementation, d as create_remote_key, k as hash, b as compact, r as once, p as normalize_error, m as make_trackable, u as parse_remote_arg, z as stringify, A as stringify$1, y as split_remote_key, N as NULL_BODY_STATUS } from './chunks/internal-BqydNqHi.js';
|
|
3
3
|
import { H as HttpError, S as SvelteKitError, e as has_resolution_suffix, h as has_data_suffix, f as strip_resolution_suffix, s as strip_data_suffix, a as add_data_suffix, b as add_resolution_suffix, R as Redirect, g as get_relative_path, t as text_encoder, A as ActionFailure, d as base64_encode } from './chunks/utils-BSRjJDrZ.js';
|
|
4
4
|
import { j as json, t as text, i as isRedirect, e as error } from './chunks/exports-D1quPX8S.js';
|
|
5
|
-
import { s as set_private_env, d as set_public_env, c as base, p as public_env, o as override, b as assets, r as reset, a as app_dir } from './chunks/environment-
|
|
5
|
+
import { s as set_private_env, d as set_public_env, c as base, p as public_env, o as override, b as assets, r as reset, a as app_dir } from './chunks/environment-eUM4Nrm3.js';
|
|
6
6
|
import { ab as uneval, ad as writable, Z as readable } from './chunks/dev-B6xUe35c.js';
|
|
7
7
|
import 'node:module';
|
|
8
8
|
|