@openpalm/ui 0.11.5-rc.3 → 0.11.5-rc.7
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.BzioASK3.css +1 -0
- package/build/client/_app/immutable/assets/7.BzioASK3.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BzioASK3.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.nPUEFb-s.css +1 -0
- package/build/client/_app/immutable/assets/ChatMessage.nPUEFb-s.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.nPUEFb-s.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/{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/BTrxgLOM.js +1 -0
- package/build/client/_app/immutable/chunks/BTrxgLOM.js.br +2 -0
- package/build/client/_app/immutable/chunks/BTrxgLOM.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/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/CVWppHrm.js +16 -0
- package/build/client/_app/immutable/chunks/CVWppHrm.js.br +0 -0
- package/build/client/_app/immutable/chunks/CVWppHrm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DYcHS_qY.js +5 -0
- package/build/client/_app/immutable/chunks/DYcHS_qY.js.br +0 -0
- package/build/client/_app/immutable/chunks/DYcHS_qY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CDS1U3lf.js → HsxQhp5A.js} +2 -2
- package/build/client/_app/immutable/chunks/HsxQhp5A.js.br +0 -0
- package/build/client/_app/immutable/chunks/HsxQhp5A.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BTsRblfw.js → hgikw-Qd.js} +1 -1
- package/build/client/_app/immutable/chunks/hgikw-Qd.js.br +0 -0
- package/build/client/_app/immutable/chunks/hgikw-Qd.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xtI7_jDL.js +1 -0
- package/build/client/_app/immutable/chunks/xtI7_jDL.js.br +0 -0
- package/build/client/_app/immutable/chunks/xtI7_jDL.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DtY5C9pR.js +2 -0
- package/build/client/_app/immutable/entry/app.DtY5C9pR.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DtY5C9pR.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CmS1dlrE.js +1 -0
- package/build/client/_app/immutable/entry/start.CmS1dlrE.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CmS1dlrE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CeRyHcWC.js +1 -0
- package/build/client/_app/immutable/nodes/0.CeRyHcWC.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CeRyHcWC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BIqfJFCb.js +1 -0
- package/build/client/_app/immutable/nodes/1.BIqfJFCb.js.br +1 -1
- package/build/client/_app/immutable/nodes/1.BIqfJFCb.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.h8N33vpx.js +19 -0
- package/build/client/_app/immutable/nodes/4.h8N33vpx.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.h8N33vpx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.B2qtGelf.js +4 -0
- package/build/client/_app/immutable/nodes/5.B2qtGelf.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.B2qtGelf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DrYb30Cc.js +1 -0
- package/build/client/_app/immutable/nodes/6.DrYb30Cc.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DrYb30Cc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CrDhK7am.js +1 -0
- package/build/client/_app/immutable/nodes/7.CrDhK7am.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CrDhK7am.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CKAtL-gx.js +1 -0
- package/build/client/_app/immutable/nodes/8.CKAtL-gx.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CKAtL-gx.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-sfmVs00_.js +9 -0
- package/build/server/chunks/{0-BGsPZcaQ.js.map → 0-sfmVs00_.js.map} +1 -1
- package/build/server/chunks/1-BQlukPTN.js +9 -0
- package/build/server/chunks/{1-Daoybjaw.js.map → 1-BQlukPTN.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-C79a4Yto.js +9 -0
- package/build/server/chunks/4-C79a4Yto.js.map +1 -0
- package/build/server/chunks/5-D7eeN25a.js +9 -0
- package/build/server/chunks/{5-BfmhtNP9.js.map → 5-D7eeN25a.js.map} +1 -1
- package/build/server/chunks/6-Dg79fiQc.js +9 -0
- package/build/server/chunks/{6-AcylLX8-.js.map → 6-Dg79fiQc.js.map} +1 -1
- package/build/server/chunks/7-DTavGKhw.js +9 -0
- package/build/server/chunks/7-DTavGKhw.js.map +1 -0
- package/build/server/chunks/{8-DMgWQQBm.js → 8-B0FQ5gh5.js} +3 -3
- package/build/server/chunks/{8-DMgWQQBm.js.map → 8-B0FQ5gh5.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-CzW3dV57.js} +73 -105
- package/build/server/chunks/ChatMessage-CzW3dV57.js.map +1 -0
- package/build/server/chunks/{Navbar-C9kE6wR-.js → Navbar-EBUPxUnS.js} +670 -142
- package/build/server/chunks/Navbar-EBUPxUnS.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-DCfzq18z.js → _layout.svelte-e5vEwOWj.js} +2 -2
- package/build/server/chunks/{_layout.svelte-DCfzq18z.js.map → _layout.svelte-e5vEwOWj.js.map} +1 -1
- package/build/server/chunks/_page.svelte-CScIJqid.js +252 -0
- package/build/server/chunks/_page.svelte-CScIJqid.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dl3WoXNo.js → _page.svelte-CXGT7iVI.js} +251 -15
- package/build/server/chunks/_page.svelte-CXGT7iVI.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B3FJ13Ci.js → _page.svelte-Dc9YczvY.js} +6 -6
- package/build/server/chunks/{_page.svelte-B3FJ13Ci.js.map → _page.svelte-Dc9YczvY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Dnt12F6c.js → _page.svelte-Dq0B2wTX.js} +9 -7
- package/build/server/chunks/_page.svelte-Dq0B2wTX.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BA7DptUV.js → _page.svelte-Du_FGvId.js} +3 -3
- package/build/server/chunks/{_page.svelte-BA7DptUV.js.map → _page.svelte-Du_FGvId.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVxiERfc.js → _server.ts--ajZwgpx.js} +4 -4
- package/build/server/chunks/{_server.ts-CVxiERfc.js.map → _server.ts--ajZwgpx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Gbkg-oto.js → _server.ts-B-YtpFZv.js} +4 -4
- package/build/server/chunks/{_server.ts-Gbkg-oto.js.map → _server.ts-B-YtpFZv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js → _server.ts-B3n_KrVi.js} +6 -6
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js.map → _server.ts-B3n_KrVi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3QPUpDc.js → _server.ts-B8JGa5NB.js} +4 -4
- package/build/server/chunks/{_server.ts-D3QPUpDc.js.map → _server.ts-B8JGa5NB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsTUwnu1.js → _server.ts-B8vW8q3-.js} +4 -4
- package/build/server/chunks/{_server.ts-DsTUwnu1.js.map → _server.ts-B8vW8q3-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CreuvDch.js → _server.ts-BCivjDa1.js} +4 -4
- package/build/server/chunks/{_server.ts-CreuvDch.js.map → _server.ts-BCivjDa1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGqa6Laa.js → _server.ts-BGMXMZ3f.js} +4 -4
- package/build/server/chunks/_server.ts-BGMXMZ3f.js.map +1 -0
- package/build/server/chunks/{_server.ts-B8YF9aVx.js → _server.ts-BG_3Aam5.js} +4 -4
- package/build/server/chunks/{_server.ts-B8YF9aVx.js.map → _server.ts-BG_3Aam5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqH3nv-S.js → _server.ts-BQlauqG7.js} +5 -5
- package/build/server/chunks/{_server.ts-CqH3nv-S.js.map → _server.ts-BQlauqG7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js → _server.ts-BQtDb5rW.js} +4 -4
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js.map → _server.ts-BQtDb5rW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdLKHRnY.js → _server.ts-BTFsY3ns.js} +6 -6
- package/build/server/chunks/{_server.ts-BdLKHRnY.js.map → _server.ts-BTFsY3ns.js.map} +1 -1
- package/build/server/chunks/{_server.ts-3JO3CKsE.js → _server.ts-BUuhZLQW.js} +4 -4
- package/build/server/chunks/{_server.ts-3JO3CKsE.js.map → _server.ts-BUuhZLQW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8cp-Em3.js → _server.ts-BYHQLzIU.js} +4 -4
- package/build/server/chunks/{_server.ts-D8cp-Em3.js.map → _server.ts-BYHQLzIU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzIilMO5.js → _server.ts-BYNejrbv.js} +2 -2
- package/build/server/chunks/{_server.ts-DzIilMO5.js.map → _server.ts-BYNejrbv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CdB1K2M6.js → _server.ts-BZNECWdo.js} +2 -2
- package/build/server/chunks/{_server.ts-CdB1K2M6.js.map → _server.ts-BZNECWdo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B31I037d.js → _server.ts-Bd95fWI2.js} +6 -6
- package/build/server/chunks/{_server.ts-B31I037d.js.map → _server.ts-Bd95fWI2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SLlbT28g.js → _server.ts-BdyV0_Is.js} +2 -2
- package/build/server/chunks/{_server.ts-SLlbT28g.js.map → _server.ts-BdyV0_Is.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CH8uRkxq.js → _server.ts-BfXe8M8I.js} +4 -4
- package/build/server/chunks/{_server.ts-CH8uRkxq.js.map → _server.ts-BfXe8M8I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8EZxkK3.js → _server.ts-BglWcbgl.js} +5 -5
- package/build/server/chunks/{_server.ts-B8EZxkK3.js.map → _server.ts-BglWcbgl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvbnbZsl.js → _server.ts-BhduAFwe.js} +4 -4
- package/build/server/chunks/{_server.ts-BvbnbZsl.js.map → _server.ts-BhduAFwe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8BrkC8T.js → _server.ts-Bi7Kdi9Z.js} +5 -5
- package/build/server/chunks/{_server.ts-C8BrkC8T.js.map → _server.ts-Bi7Kdi9Z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pQ9okj_b.js → _server.ts-BnCNI_5v.js} +6 -6
- package/build/server/chunks/{_server.ts-pQ9okj_b.js.map → _server.ts-BnCNI_5v.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtltE_T-.js → _server.ts-Bttq5XEc.js} +2 -2
- package/build/server/chunks/{_server.ts-CtltE_T-.js.map → _server.ts-Bttq5XEc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js → _server.ts-C0gphQE8.js} +4 -4
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js.map → _server.ts-C0gphQE8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DL9hlvL8.js → _server.ts-C0p_epYa.js} +4 -4
- package/build/server/chunks/{_server.ts-DL9hlvL8.js.map → _server.ts-C0p_epYa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXI7k8hl.js → _server.ts-CBW-iSGY.js} +4 -4
- package/build/server/chunks/{_server.ts-CXI7k8hl.js.map → _server.ts-CBW-iSGY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js → _server.ts-CBYhHA1_.js} +4 -4
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js.map → _server.ts-CBYhHA1_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CX2sHcZR.js → _server.ts-CFjN9JNk.js} +4 -4
- package/build/server/chunks/{_server.ts-CX2sHcZR.js.map → _server.ts-CFjN9JNk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIEz-ybk.js → _server.ts-CHd9_WPs.js} +4 -4
- package/build/server/chunks/{_server.ts-CIEz-ybk.js.map → _server.ts-CHd9_WPs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4HorMS2R.js → _server.ts-CKqIuso7.js} +4 -4
- package/build/server/chunks/{_server.ts-4HorMS2R.js.map → _server.ts-CKqIuso7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DLVGDzlE.js → _server.ts-CObmPmDw.js} +4 -4
- package/build/server/chunks/{_server.ts-DLVGDzlE.js.map → _server.ts-CObmPmDw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MGn-MXr5.js → _server.ts-CQn6OWsw.js} +4 -4
- package/build/server/chunks/{_server.ts-MGn-MXr5.js.map → _server.ts-CQn6OWsw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWtTOsFi.js → _server.ts-CQucsScY.js} +4 -4
- package/build/server/chunks/{_server.ts-BWtTOsFi.js.map → _server.ts-CQucsScY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3ntDGZM.js → _server.ts-CZMBEF_P.js} +5 -5
- package/build/server/chunks/{_server.ts-B3ntDGZM.js.map → _server.ts-CZMBEF_P.js.map} +1 -1
- package/build/server/chunks/_server.ts-Cay6JJmu.js +205 -0
- package/build/server/chunks/_server.ts-Cay6JJmu.js.map +1 -0
- package/build/server/chunks/_server.ts-Cdq-yzqP.js +627 -0
- package/build/server/chunks/_server.ts-Cdq-yzqP.js.map +1 -0
- package/build/server/chunks/{_server.ts-1mdOjWEN.js → _server.ts-Ch8LouSG.js} +5 -5
- package/build/server/chunks/{_server.ts-1mdOjWEN.js.map → _server.ts-Ch8LouSG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js → _server.ts-Cmi0m_Ec.js} +4 -4
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js.map → _server.ts-Cmi0m_Ec.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js → _server.ts-CmshKmzd.js} +4 -4
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js.map → _server.ts-CmshKmzd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7K7bv8w.js → _server.ts-CoIWXJLt.js} +5 -5
- package/build/server/chunks/{_server.ts-C7K7bv8w.js.map → _server.ts-CoIWXJLt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js → _server.ts-CqviakL3.js} +4 -4
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js.map → _server.ts-CqviakL3.js.map} +1 -1
- package/build/server/chunks/_server.ts-CrK5Xjnh.js +86 -0
- package/build/server/chunks/_server.ts-CrK5Xjnh.js.map +1 -0
- package/build/server/chunks/{_server.ts-BLUm8wAq.js → _server.ts-CsUJia-4.js} +4 -4
- package/build/server/chunks/{_server.ts-BLUm8wAq.js.map → _server.ts-CsUJia-4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js → _server.ts-CtqksBun.js} +4 -4
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js.map → _server.ts-CtqksBun.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IzD0bafW.js → _server.ts-CuFSHsdA.js} +5 -5
- package/build/server/chunks/{_server.ts-IzD0bafW.js.map → _server.ts-CuFSHsdA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzoE8edN.js → _server.ts-CvBgeFp9.js} +5 -5
- package/build/server/chunks/{_server.ts-CzoE8edN.js.map → _server.ts-CvBgeFp9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js → _server.ts-CxOokd6P.js} +4 -4
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js.map → _server.ts-CxOokd6P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js → _server.ts-CxpkPdkw.js} +5 -5
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js.map → _server.ts-CxpkPdkw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BUIWPYRF.js → _server.ts-D-hh_BTK.js} +4 -4
- package/build/server/chunks/{_server.ts-BUIWPYRF.js.map → _server.ts-D-hh_BTK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vwef5C.js → _server.ts-D064BG7i.js} +4 -4
- package/build/server/chunks/{_server.ts-D-Vwef5C.js.map → _server.ts-D064BG7i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVRyf5BI.js → _server.ts-D0fThJEL.js} +4 -4
- package/build/server/chunks/{_server.ts-DVRyf5BI.js.map → _server.ts-D0fThJEL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CExwMomX.js → _server.ts-D4QpYVnk.js} +4 -4
- package/build/server/chunks/{_server.ts-CExwMomX.js.map → _server.ts-D4QpYVnk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHBX6Ary.js → _server.ts-DABvBtNg.js} +5 -5
- package/build/server/chunks/{_server.ts-DHBX6Ary.js.map → _server.ts-DABvBtNg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHmCir74.js → _server.ts-DBD7W3nM.js} +4 -4
- package/build/server/chunks/{_server.ts-BHmCir74.js.map → _server.ts-DBD7W3nM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_EnHMEu.js → _server.ts-DDhNa_X1.js} +4 -4
- package/build/server/chunks/{_server.ts-C_EnHMEu.js.map → _server.ts-DDhNa_X1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js → _server.ts-DFBxMXVv.js} +4 -4
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js.map → _server.ts-DFBxMXVv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DlwXpopR.js → _server.ts-DLS_wObr.js} +3 -3
- package/build/server/chunks/{_server.ts-DlwXpopR.js.map → _server.ts-DLS_wObr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js → _server.ts-DTlXzoMP.js} +4 -4
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js.map → _server.ts-DTlXzoMP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do5L_4tt.js → _server.ts-Dicprv7A.js} +4 -4
- package/build/server/chunks/{_server.ts-Do5L_4tt.js.map → _server.ts-Dicprv7A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CD-Cddqe.js → _server.ts-DooshvGc.js} +5 -5
- package/build/server/chunks/{_server.ts-CD-Cddqe.js.map → _server.ts-DooshvGc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-j5xF-dJX.js → _server.ts-DpnQQsEi.js} +4 -4
- package/build/server/chunks/{_server.ts-j5xF-dJX.js.map → _server.ts-DpnQQsEi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXmwf1pu.js → _server.ts-DqnxZoKV.js} +2 -2
- package/build/server/chunks/{_server.ts-CXmwf1pu.js.map → _server.ts-DqnxZoKV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPC8qYUD.js → _server.ts-DwH287WQ.js} +4 -4
- package/build/server/chunks/{_server.ts-DPC8qYUD.js.map → _server.ts-DwH287WQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CHQmAGEC.js → _server.ts-SA9d0x_K.js} +5 -5
- package/build/server/chunks/{_server.ts-CHQmAGEC.js.map → _server.ts-SA9d0x_K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4pf3VKi.js → _server.ts-TS_ttjdr.js} +4 -4
- package/build/server/chunks/{_server.ts-C4pf3VKi.js.map → _server.ts-TS_ttjdr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEjyvkVV.js → _server.ts-VtDFzmOm.js} +4 -4
- package/build/server/chunks/{_server.ts-BEjyvkVV.js.map → _server.ts-VtDFzmOm.js.map} +1 -1
- package/build/server/chunks/_server.ts-Y57oqscW.js +48 -0
- package/build/server/chunks/_server.ts-Y57oqscW.js.map +1 -0
- package/build/server/chunks/{_server.ts-CeeR1W32.js → _server.ts-YHGTRtDD.js} +4 -4
- package/build/server/chunks/{_server.ts-CeeR1W32.js.map → _server.ts-YHGTRtDD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CciSVwzg.js → _server.ts-Zu8ZTux3.js} +5 -5
- package/build/server/chunks/{_server.ts-CciSVwzg.js.map → _server.ts-Zu8ZTux3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js → _server.ts-_lxrLHOI.js} +4 -4
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js.map → _server.ts-_lxrLHOI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTvZB-WH.js → _server.ts-dBLS5OxC.js} +4 -4
- package/build/server/chunks/{_server.ts-BTvZB-WH.js.map → _server.ts-dBLS5OxC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ykNeG8km.js → _server.ts-jUybF0F9.js} +4 -4
- package/build/server/chunks/{_server.ts-ykNeG8km.js.map → _server.ts-jUybF0F9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8zFV8J3.js → _server.ts-mFCCnU2f.js} +4 -4
- package/build/server/chunks/{_server.ts-C8zFV8J3.js.map → _server.ts-mFCCnU2f.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yWBMi6sn.js → _server.ts-nOJLfmaj.js} +6 -6
- package/build/server/chunks/{_server.ts-yWBMi6sn.js.map → _server.ts-nOJLfmaj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DAW24-9-.js → _server.ts-pJgm08Ns.js} +4 -4
- package/build/server/chunks/{_server.ts-DAW24-9-.js.map → _server.ts-pJgm08Ns.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNJn20vV.js → _server.ts-vuXd3nrT.js} +4 -4
- package/build/server/chunks/{_server.ts-BNJn20vV.js.map → _server.ts-vuXd3nrT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QvBpEIYu.js → _server.ts-wKN3c9Bs.js} +4 -4
- package/build/server/chunks/{_server.ts-QvBpEIYu.js.map → _server.ts-wKN3c9Bs.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js → addon-helpers-D3GJCulD.js} +3 -3
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js.map → addon-helpers-D3GJCulD.js.map} +1 -1
- package/build/server/chunks/{akm-hO0p79ZE.js → akm-B_BIZJJv.js} +2 -2
- package/build/server/chunks/{akm-hO0p79ZE.js.map → akm-B_BIZJJv.js.map} +1 -1
- package/build/server/chunks/{client-DchoQXpW.js → client-DuNIsVic.js} +2 -2
- package/build/server/chunks/{client-DchoQXpW.js.map → client-DuNIsVic.js.map} +1 -1
- package/build/server/chunks/{config-5vfdWPGq.js → config-UnF5M7J6.js} +2 -2
- package/build/server/chunks/{config-5vfdWPGq.js.map → config-UnF5M7J6.js.map} +1 -1
- package/build/server/chunks/{docker-DYeytgDI.js → docker-DmrYwY_e.js} +2 -2
- package/build/server/chunks/{docker-DYeytgDI.js.map → docker-DmrYwY_e.js.map} +1 -1
- package/build/server/chunks/{endpoints-pIoXJCW6.js → endpoints-D6uoesB9.js} +19 -6
- package/build/server/chunks/endpoints-D6uoesB9.js.map +1 -0
- package/build/server/chunks/{environment-B0PbsX5P.js → environment-C9HyCxX9.js} +2 -2
- package/build/server/chunks/{environment-B0PbsX5P.js.map → environment-C9HyCxX9.js.map} +1 -1
- package/build/server/chunks/{error.svelte-Cmr7gpdL.js → error.svelte-BajT8v3i.js} +4 -4
- package/build/server/chunks/{error.svelte-Cmr7gpdL.js.map → error.svelte-BajT8v3i.js.map} +1 -1
- package/build/server/chunks/{helpers-CVirrNSz.js → helpers-zCNRvZpT.js} +3 -3
- package/build/server/chunks/{helpers-CVirrNSz.js.map → helpers-zCNRvZpT.js.map} +1 -1
- package/build/server/chunks/{hooks.server-pc-TSpQy.js → hooks.server-BKK-8Ct6.js} +6 -6
- package/build/server/chunks/hooks.server-BKK-8Ct6.js.map +1 -0
- package/build/server/chunks/{http-DGsfa0DV.js → http-Cm-sRzTa.js} +2 -2
- package/build/server/chunks/{http-DGsfa0DV.js.map → http-Cm-sRzTa.js.map} +1 -1
- package/build/server/chunks/{internal-DriC3vi3.js → internal-LXD6a4Om.js} +3 -3
- package/build/server/chunks/{internal-DriC3vi3.js.map → internal-LXD6a4Om.js.map} +1 -1
- package/build/server/chunks/{session-cookie-DEuOwtHY.js → session-cookie-CoF3FU_0.js} +2 -2
- package/build/server/chunks/{session-cookie-DEuOwtHY.js.map → session-cookie-CoF3FU_0.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js → setup-deploy-CVYxUJZD.js} +2 -2
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js.map → setup-deploy-CVYxUJZD.js.map} +1 -1
- package/build/server/chunks/{src-CyeWH4Df.js → src-efp8mb8-.js} +567 -81
- package/build/server/chunks/src-efp8mb8-.js.map +1 -0
- package/build/server/chunks/{state-BcUnjLg5.js → state-z9dl5k8n.js} +2 -2
- package/build/server/chunks/{state-BcUnjLg5.js.map → state-z9dl5k8n.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-CeABRes-.js → theme-state.svelte-BNtUaCD7.js} +119 -20
- package/build/server/chunks/theme-state.svelte-BNtUaCD7.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/_page.svelte-Dnt12F6c.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CBYhHA1_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/ollama-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $ as isSetupComplete, at as annotateAddonProfileAvailability, ct as getAddonProfiles, st as getAddonProfileSelection, zt as resolveStackDir } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/ollama-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"ollama\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ;AACpE,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z as createLogger, N as ensureHomeDirs, Q as ensureOpenCodeConfig, R as ensureOpenCodeSystemConfig, f as applyUpdate, n as checkDocker, m as buildManagedServices, l as buildComposeOptions, t as composePull, y as composeUp,
|
|
2
|
-
import { b as getState } from './endpoints-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { z as createLogger, N as ensureHomeDirs, Q as ensureOpenCodeConfig, R as ensureOpenCodeSystemConfig, f as applyUpdate, n as checkDocker, m as buildManagedServices, l as buildComposeOptions, t as composePull, y as composeUp, ab as parseComposeStderr, ay as summarizeComposeStderr } from './src-efp8mb8-.js';
|
|
2
|
+
import { b as getState } from './endpoints-D6uoesB9.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-zCNRvZpT.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -107,4 +107,4 @@ var POST = async (event) => {
|
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
export { POST };
|
|
110
|
-
//# sourceMappingURL=_server.ts-
|
|
110
|
+
//# sourceMappingURL=_server.ts-CFjN9JNk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CFjN9JNk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/update/_server.ts.js"],"sourcesContent":["import { C as applyUpdate, D as buildComposeOptions, Lt as ensureHomeDirs, R as checkDocker, Vt as createLogger, W as composePull, Y as composeUp, o as parseComposeStderr, s as summarizeComposeStderr, vt as ensureOpenCodeSystemConfig, w as buildManagedServices, yt as ensureOpenCodeConfig } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/update/+server.ts\nvar logger = createLogger(\"update\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"update request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:update\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tconst result = await applyUpdate(state);\n\t\t\tlogger.info(\"update applied, re-running compose\", {\n\t\t\t\trequestId,\n\t\t\t\tintended: result.restarted\n\t\t\t});\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tconst intendedServices = await buildManagedServices(state);\n\t\t\tlet restarted = [];\n\t\t\tlet failed = [];\n\t\t\tlet dockerError;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tconst composeOpts = buildComposeOptions(state);\n\t\t\t\tconst pullResult = await composePull(composeOpts);\n\t\t\t\tif (!pullResult.ok) logger.warn(\"update: image pull failed — recreating from local images\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tstderr: pullResult.stderr?.slice(0, 300)\n\t\t\t\t});\n\t\t\t\tconst composeResult = await composeUp({\n\t\t\t\t\t...composeOpts,\n\t\t\t\t\tservices: intendedServices,\n\t\t\t\t\tforceRecreate: true\n\t\t\t\t});\n\t\t\t\tif (composeResult.ok) restarted = intendedServices;\n\t\t\t\telse {\n\t\t\t\t\tfailed = parseComposeStderr(composeResult.stderr);\n\t\t\t\t\tconst failedNames = new Set(failed.map((f) => f.service));\n\t\t\t\t\trestarted = intendedServices.filter((s) => !failedNames.has(s));\n\t\t\t\t\tif (failed.length === 0) {\n\t\t\t\t\t\tfailed = [{\n\t\t\t\t\t\t\tservice: \"stack\",\n\t\t\t\t\t\t\treason: summarizeComposeStderr(composeResult.stderr) || `docker compose exited with code ${composeResult.code}`\n\t\t\t\t\t\t}];\n\t\t\t\t\t\trestarted = [];\n\t\t\t\t\t}\n\t\t\t\t\tdockerError = summarizeComposeStderr(composeResult.stderr);\n\t\t\t\t\tlogger.warn(\"compose up reported failures\", {\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tcode: composeResult.code,\n\t\t\t\t\t\tfailed,\n\t\t\t\t\t\trestarted\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst overallSuccess = dockerCheck.ok && failed.length === 0;\n\t\t\tconst status = failed.length > 0 ? 502 : 200;\n\t\t\tlogger.info(\"update completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\toverallSuccess,\n\t\t\t\trestartedCount: restarted.length,\n\t\t\t\tfailedCount: failed.length\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\trestarted,\n\t\t\t\tfailed,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\toverallSuccess,\n\t\t\t\t...dockerError ? { error: dockerError } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"update failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"update_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z as createLogger, N as ensureHomeDirs, Q as ensureOpenCodeConfig, R as ensureOpenCodeSystemConfig, S as ensureSecrets, c as applyInstall, m as buildManagedServices, n as checkDocker, y as composeUp, l as buildComposeOptions, C as CORE_SERVICES } from './src-
|
|
2
|
-
import { b as getState } from './endpoints-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { z as createLogger, N as ensureHomeDirs, Q as ensureOpenCodeConfig, R as ensureOpenCodeSystemConfig, S as ensureSecrets, c as applyInstall, m as buildManagedServices, n as checkDocker, y as composeUp, l as buildComposeOptions, C as CORE_SERVICES } from './src-efp8mb8-.js';
|
|
2
|
+
import { b as getState } from './endpoints-D6uoesB9.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-zCNRvZpT.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -80,4 +80,4 @@ var POST = async (event) => {
|
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
export { POST };
|
|
83
|
-
//# sourceMappingURL=_server.ts-
|
|
83
|
+
//# sourceMappingURL=_server.ts-CHd9_WPs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CHd9_WPs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { Bt as CORE_SERVICES, D as buildComposeOptions, Lt as ensureHomeDirs, R as checkDocker, Vt as createLogger, Y as composeUp, b as applyInstall, bt as ensureSecrets, vt as ensureOpenCodeSystemConfig, w as buildManagedServices, yt as ensureOpenCodeConfig } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tlogger.info(\"ensuring home directories and seeding config\", { requestId });\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tensureSecrets(state);\n\t\t\tawait applyInstall(state);\n\t\t\tconst managedServices = await buildManagedServices(state);\n\t\t\tlogger.info(\"checking Docker availability\", { requestId });\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tlet dockerResult = null;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tlogger.info(\"starting compose up\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t\tdockerResult = await composeUp({\n\t\t\t\t\t...buildComposeOptions(state),\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst started = [...CORE_SERVICES];\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeOk: dockerResult?.ok ?? null\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeResult: dockerResult ? {\n\t\t\t\t\tok: dockerResult.ok,\n\t\t\t\t\tstderr: dockerResult.stderr\n\t\t\t\t} : null\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7E,GAAG,cAAc,EAAE;AACnB,GAAG,oBAAoB,EAAE;AACzB,GAAG,0BAA0B,EAAE;AAC/B,GAAG,aAAa,CAAC,KAAK,CAAC;AACvB,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC5D,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,YAAY,GAAG,IAAI;AAC1B,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACvC,KAAK,SAAS;AACd,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC;AACnC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAClC,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,GAAG,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC;AACrC,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI;AACnC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,aAAa,EAAE,YAAY,GAAG;AAClC,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE;AACxB,KAAK,MAAM,EAAE,YAAY,CAAC;AAC1B,KAAK,GAAG;AACR,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z as createLogger,
|
|
2
|
-
import { b as getState } from './endpoints-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { z as createLogger, a3 as isAllowedService, n as checkDocker, u as composeRestart, l as buildComposeOptions } from './src-efp8mb8-.js';
|
|
2
|
+
import { b as getState } from './endpoints-D6uoesB9.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -50,4 +50,4 @@ var POST = async (event) => {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
export { POST };
|
|
53
|
-
//# sourceMappingURL=_server.ts-
|
|
53
|
+
//# sourceMappingURL=_server.ts-CKqIuso7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CKqIuso7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, G as composeRestart, L as isAllowedService, R as checkDocker, Vt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as checkDocker,
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { n as checkDocker, _ as getDockerEvents } from './src-efp8mb8-.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
|
|
3
3
|
import './chunk-CLZ62Ad-.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import 'node:fs';
|
|
@@ -19,7 +19,7 @@ import 'assert';
|
|
|
19
19
|
import 'zlib';
|
|
20
20
|
import 'node:assert';
|
|
21
21
|
import 'node:fs/promises';
|
|
22
|
-
import './endpoints-
|
|
22
|
+
import './endpoints-D6uoesB9.js';
|
|
23
23
|
|
|
24
24
|
//#region src/routes/admin/containers/events/+server.ts
|
|
25
25
|
var GET = async (event) => {
|
|
@@ -41,4 +41,4 @@ var GET = async (event) => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
export { GET };
|
|
44
|
-
//# sourceMappingURL=_server.ts-
|
|
44
|
+
//# sourceMappingURL=_server.ts-CObmPmDw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CObmPmDw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/events/_server.ts.js"],"sourcesContent":["import { R as checkDocker, Z as getDockerEvents } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as getActiveEndpoint } from './endpoints-
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
3
|
-
import './src-
|
|
1
|
+
import { g as getActiveEndpoint } from './endpoints-D6uoesB9.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-zCNRvZpT.js';
|
|
3
|
+
import './src-efp8mb8-.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import 'node:fs';
|
|
@@ -52,4 +52,4 @@ var GET = async (event) => {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
export { GET };
|
|
55
|
-
//# sourceMappingURL=_server.ts-
|
|
55
|
+
//# sourceMappingURL=_server.ts-CQn6OWsw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQn6OWsw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { k as jsonResponse, d as getRequestId } from './helpers-
|
|
2
|
-
import './src-
|
|
1
|
+
import { k as jsonResponse, d as getRequestId } from './helpers-zCNRvZpT.js';
|
|
2
|
+
import './src-efp8mb8-.js';
|
|
3
3
|
import './chunk-CLZ62Ad-.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import 'node:fs';
|
|
@@ -19,7 +19,7 @@ import 'assert';
|
|
|
19
19
|
import 'zlib';
|
|
20
20
|
import 'node:assert';
|
|
21
21
|
import 'node:fs/promises';
|
|
22
|
-
import './endpoints-
|
|
22
|
+
import './endpoints-D6uoesB9.js';
|
|
23
23
|
|
|
24
24
|
//#region src/routes/health/+server.ts
|
|
25
25
|
var GET = async (event) => {
|
|
@@ -30,4 +30,4 @@ var GET = async (event) => {
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export { GET };
|
|
33
|
-
//# sourceMappingURL=_server.ts-
|
|
33
|
+
//# sourceMappingURL=_server.ts-CQucsScY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQucsScY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, o as getRequestId } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as getRequestId, h as invalidateSession } from './helpers-
|
|
2
|
-
import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-
|
|
3
|
-
import './src-
|
|
1
|
+
import { d as getRequestId, h as invalidateSession } from './helpers-zCNRvZpT.js';
|
|
2
|
+
import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-CoF3FU_0.js';
|
|
3
|
+
import './src-efp8mb8-.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import 'node:fs';
|
|
@@ -20,7 +20,7 @@ import 'assert';
|
|
|
20
20
|
import 'zlib';
|
|
21
21
|
import 'node:assert';
|
|
22
22
|
import 'node:fs/promises';
|
|
23
|
-
import './endpoints-
|
|
23
|
+
import './endpoints-D6uoesB9.js';
|
|
24
24
|
|
|
25
25
|
//#region src/routes/admin/auth/logout/+server.ts
|
|
26
26
|
var POST = async (event) => {
|
|
@@ -38,4 +38,4 @@ var POST = async (event) => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { POST };
|
|
41
|
-
//# sourceMappingURL=_server.ts-
|
|
41
|
+
//# sourceMappingURL=_server.ts-CZMBEF_P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CZMBEF_P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { aj as readStackEnv } from './src-efp8mb8-.js';
|
|
2
|
+
import { b as getState } from './endpoints-D6uoesB9.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-zCNRvZpT.js';
|
|
4
|
+
import { o as opencodeFetch } from './http-Cm-sRzTa.js';
|
|
5
|
+
import { g as getCurrentConfig } from './config-UnF5M7J6.js';
|
|
6
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import './chunk-CLZ62Ad-.js';
|
|
9
|
+
import 'node:module';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'fs';
|
|
13
|
+
import 'path';
|
|
14
|
+
import 'node:child_process';
|
|
15
|
+
import 'node:url';
|
|
16
|
+
import 'node:crypto';
|
|
17
|
+
import 'events';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:stream';
|
|
20
|
+
import 'node:string_decoder';
|
|
21
|
+
import 'assert';
|
|
22
|
+
import 'zlib';
|
|
23
|
+
import 'node:assert';
|
|
24
|
+
import 'node:fs/promises';
|
|
25
|
+
import './coercion-TNFJisCC.js';
|
|
26
|
+
|
|
27
|
+
//#region src/lib/server/speech-prep.ts
|
|
28
|
+
function personaPath() {
|
|
29
|
+
return join(getState().configDir, "assistant", "openpalm.md");
|
|
30
|
+
}
|
|
31
|
+
function readPersona() {
|
|
32
|
+
const path = personaPath();
|
|
33
|
+
if (!existsSync(path)) return "";
|
|
34
|
+
try {
|
|
35
|
+
return readFileSync(path, "utf-8").trim();
|
|
36
|
+
} catch {
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function extractText(response) {
|
|
41
|
+
return (response.parts ?? []).filter((part) => part.type === "text" && typeof part.text === "string").map((part) => part.text?.trim() ?? "").join(" ").trim();
|
|
42
|
+
}
|
|
43
|
+
function buildPrompt(input) {
|
|
44
|
+
const personaBlock = input.persona ? input.persona : "No persona markdown is configured. Use a neutral, helpful, conversational tone.";
|
|
45
|
+
if (input.mode === "chat_ack") return [
|
|
46
|
+
"You are preparing a short spoken acknowledgement for text-to-speech.",
|
|
47
|
+
"Return only the exact words to speak.",
|
|
48
|
+
"Keep it to one brief sentence.",
|
|
49
|
+
"Sound conversational and aligned with the persona context.",
|
|
50
|
+
"Do not use markdown, lists, or quotes.",
|
|
51
|
+
"Do not answer the full request. Just acknowledge that you are working on it.",
|
|
52
|
+
"",
|
|
53
|
+
"Persona markdown:",
|
|
54
|
+
personaBlock,
|
|
55
|
+
"",
|
|
56
|
+
"User request:",
|
|
57
|
+
input.userText
|
|
58
|
+
].join("\n");
|
|
59
|
+
return [
|
|
60
|
+
"You are preparing a spoken summary for text-to-speech.",
|
|
61
|
+
"Return only the exact words to speak.",
|
|
62
|
+
"Rewrite the final assistant reply into a concise, natural, conversational response.",
|
|
63
|
+
"Preserve the meaning and important caveats.",
|
|
64
|
+
"Keep it brief enough for audio playback.",
|
|
65
|
+
"Do not use markdown, lists, or quotes.",
|
|
66
|
+
"",
|
|
67
|
+
"Persona markdown:",
|
|
68
|
+
personaBlock,
|
|
69
|
+
"",
|
|
70
|
+
"User request:",
|
|
71
|
+
input.userText,
|
|
72
|
+
"",
|
|
73
|
+
"Final assistant reply:",
|
|
74
|
+
input.assistantText ?? ""
|
|
75
|
+
].join("\n");
|
|
76
|
+
}
|
|
77
|
+
function resolveSpeechModel(config) {
|
|
78
|
+
const small = typeof config.small_model === "string" ? config.small_model.trim() : "";
|
|
79
|
+
if (small) return small;
|
|
80
|
+
return (typeof config.model === "string" ? config.model.trim() : "") || null;
|
|
81
|
+
}
|
|
82
|
+
async function loadSpeechConfig() {
|
|
83
|
+
try {
|
|
84
|
+
return await opencodeFetch("/config");
|
|
85
|
+
} catch {
|
|
86
|
+
return getCurrentConfig();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function prepareSpeechText(input) {
|
|
90
|
+
const userText = input.userText.trim();
|
|
91
|
+
if (!userText) return null;
|
|
92
|
+
if (input.mode === "chat_reply" && !input.assistantText?.trim()) return null;
|
|
93
|
+
const persona = readPersona();
|
|
94
|
+
const model = resolveSpeechModel(await loadSpeechConfig());
|
|
95
|
+
const prompt = buildPrompt({
|
|
96
|
+
mode: input.mode,
|
|
97
|
+
userText,
|
|
98
|
+
assistantText: input.assistantText?.trim(),
|
|
99
|
+
persona
|
|
100
|
+
});
|
|
101
|
+
let sessionId = "";
|
|
102
|
+
try {
|
|
103
|
+
const created = await opencodeFetch("/session", {
|
|
104
|
+
method: "POST",
|
|
105
|
+
body: JSON.stringify({})
|
|
106
|
+
});
|
|
107
|
+
sessionId = typeof created.id === "string" ? created.id : "";
|
|
108
|
+
if (!sessionId) return null;
|
|
109
|
+
return extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {
|
|
110
|
+
method: "POST",
|
|
111
|
+
body: JSON.stringify({
|
|
112
|
+
parts: [{
|
|
113
|
+
type: "text",
|
|
114
|
+
text: prompt
|
|
115
|
+
}],
|
|
116
|
+
...model ? { model } : {}
|
|
117
|
+
})
|
|
118
|
+
})) || null;
|
|
119
|
+
} finally {
|
|
120
|
+
if (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: "DELETE" }).catch(() => {});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/routes/api/speak/+server.ts
|
|
125
|
+
var DEFAULT_MODEL = "kokoro";
|
|
126
|
+
var DEFAULT_VOICE = "bf_isabella";
|
|
127
|
+
var DEFAULT_FORMAT = "wav";
|
|
128
|
+
var UPSTREAM_TIMEOUT_MS = 6e4;
|
|
129
|
+
function redactKey(s) {
|
|
130
|
+
return s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, "sk-***").replace(/(Bearer\s+)[A-Za-z0-9._-]+/gi, "$1***");
|
|
131
|
+
}
|
|
132
|
+
var POST = async (event) => {
|
|
133
|
+
const requestId = getRequestId(event);
|
|
134
|
+
const authError = requireAdmin(event, requestId);
|
|
135
|
+
if (authError) return authError;
|
|
136
|
+
const stackEnv = readStackEnv(getState().stackDir);
|
|
137
|
+
const ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || "").trim();
|
|
138
|
+
const ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || "").trim() || DEFAULT_MODEL;
|
|
139
|
+
const ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || "").trim() || DEFAULT_VOICE;
|
|
140
|
+
const ttsApiKey = (process.env.OP_TTS_API_KEY ?? "").trim();
|
|
141
|
+
if (!ttsBaseURL) return errorResponse(503, "tts_not_configured", "Configure a TTS engine in Admin → Voice settings.", {}, requestId);
|
|
142
|
+
let body;
|
|
143
|
+
try {
|
|
144
|
+
body = await event.request.json();
|
|
145
|
+
} catch {
|
|
146
|
+
return errorResponse(400, "bad_request", "Invalid JSON body", {}, requestId);
|
|
147
|
+
}
|
|
148
|
+
const b = body ?? {};
|
|
149
|
+
const text = typeof b.text === "string" ? b.text.trim() : "";
|
|
150
|
+
if (!text) return errorResponse(400, "bad_request", "\"text\" is required", {}, requestId);
|
|
151
|
+
const mode = b.mode === "chat_ack" || b.mode === "chat_reply" ? b.mode : null;
|
|
152
|
+
const userText = typeof b.userText === "string" ? b.userText.trim() : "";
|
|
153
|
+
const assistantText = typeof b.assistantText === "string" ? b.assistantText.trim() : "";
|
|
154
|
+
const voice = typeof b.voice === "string" && b.voice.trim() ? b.voice.trim() : ttsVoice;
|
|
155
|
+
const format = typeof b.format === "string" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;
|
|
156
|
+
let speechText = text;
|
|
157
|
+
if (mode) try {
|
|
158
|
+
const prepared = await prepareSpeechText({
|
|
159
|
+
mode,
|
|
160
|
+
userText,
|
|
161
|
+
assistantText
|
|
162
|
+
});
|
|
163
|
+
if (prepared) speechText = prepared;
|
|
164
|
+
} catch (err) {
|
|
165
|
+
console.warn("[api/speak] speech prep failed; falling back to raw text", err);
|
|
166
|
+
}
|
|
167
|
+
const upstreamUrl = ttsBaseURL.replace(/\/+$/, "") + "/v1/audio/speech";
|
|
168
|
+
const headers = { "content-type": "application/json" };
|
|
169
|
+
if (ttsApiKey) headers["authorization"] = `Bearer ${ttsApiKey}`;
|
|
170
|
+
let upstream;
|
|
171
|
+
try {
|
|
172
|
+
upstream = await fetch(upstreamUrl, {
|
|
173
|
+
method: "POST",
|
|
174
|
+
headers,
|
|
175
|
+
body: JSON.stringify({
|
|
176
|
+
model: ttsModel,
|
|
177
|
+
voice,
|
|
178
|
+
input: speechText,
|
|
179
|
+
response_format: format
|
|
180
|
+
}),
|
|
181
|
+
signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)
|
|
182
|
+
});
|
|
183
|
+
} catch (err) {
|
|
184
|
+
return errorResponse(502, "upstream_error", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);
|
|
185
|
+
}
|
|
186
|
+
if (!upstream.ok) {
|
|
187
|
+
const body = await upstream.text().catch(() => "");
|
|
188
|
+
return errorResponse(502, "upstream_error", `TTS endpoint returned ${upstream.status}`, {
|
|
189
|
+
upstreamStatus: upstream.status,
|
|
190
|
+
body: redactKey(body).slice(0, 500)
|
|
191
|
+
}, requestId);
|
|
192
|
+
}
|
|
193
|
+
const responseHeaders = new Headers();
|
|
194
|
+
responseHeaders.set("content-type", upstream.headers.get("content-type") ?? "audio/wav");
|
|
195
|
+
const contentLength = upstream.headers.get("content-length");
|
|
196
|
+
if (contentLength) responseHeaders.set("content-length", contentLength);
|
|
197
|
+
responseHeaders.set("x-request-id", requestId);
|
|
198
|
+
return new Response(upstream.body, {
|
|
199
|
+
status: 200,
|
|
200
|
+
headers: responseHeaders
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export { POST };
|
|
205
|
+
//# sourceMappingURL=_server.ts-Cay6JJmu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Cay6JJmu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { St as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|