@openpalm/ui 0.11.4 → 0.11.5-rc.2
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.BFLRjZM9.css → 4.Dplzd8Dq.css} +1 -1
- package/build/client/_app/immutable/assets/4.Dplzd8Dq.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Dplzd8Dq.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/B29IM9zg.js +1 -0
- package/build/client/_app/immutable/chunks/B29IM9zg.js.br +0 -0
- package/build/client/_app/immutable/chunks/B29IM9zg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BZzNcvj6.js +1 -0
- package/build/client/_app/immutable/chunks/BZzNcvj6.js.br +2 -0
- package/build/client/_app/immutable/chunks/BZzNcvj6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D4px_ogp.js → Cu0zcwlV.js} +1 -1
- package/build/client/_app/immutable/chunks/Cu0zcwlV.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cu0zcwlV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{0swOyi-5.js → Cue0EpfJ.js} +3 -3
- package/build/client/_app/immutable/chunks/Cue0EpfJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cue0EpfJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{irujFCsS.js → DAn-iPjx.js} +1 -1
- package/build/client/_app/immutable/chunks/DAn-iPjx.js.br +0 -0
- package/build/client/_app/immutable/chunks/DAn-iPjx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNTZUJo4.js +15 -0
- package/build/client/_app/immutable/chunks/DNTZUJo4.js.br +0 -0
- package/build/client/_app/immutable/chunks/DNTZUJo4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BQ0vnNWj.js → Dd6EPzlG.js} +1 -1
- package/build/client/_app/immutable/chunks/Dd6EPzlG.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dd6EPzlG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DhD65Brz.js +1 -0
- package/build/client/_app/immutable/chunks/DhD65Brz.js.br +1 -0
- package/build/client/_app/immutable/chunks/DhD65Brz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Z2W9flFH.js +3 -0
- package/build/client/_app/immutable/chunks/Z2W9flFH.js.br +0 -0
- package/build/client/_app/immutable/chunks/Z2W9flFH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pnb2UBxa.js +5 -0
- package/build/client/_app/immutable/chunks/pnb2UBxa.js.br +0 -0
- package/build/client/_app/immutable/chunks/pnb2UBxa.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.LopPl7G5.js +2 -0
- package/build/client/_app/immutable/entry/app.LopPl7G5.js.br +0 -0
- package/build/client/_app/immutable/entry/app.LopPl7G5.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Cg5Afe6E.js +1 -0
- package/build/client/_app/immutable/entry/start.Cg5Afe6E.js.br +1 -0
- package/build/client/_app/immutable/entry/start.Cg5Afe6E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.n1Zne31Q.js +1 -0
- package/build/client/_app/immutable/nodes/0.n1Zne31Q.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.n1Zne31Q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.viUd6sTI.js +1 -0
- package/build/client/_app/immutable/nodes/1.viUd6sTI.js.br +2 -1
- package/build/client/_app/immutable/nodes/1.viUd6sTI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DsX_M4-Z.js +1 -0
- package/build/client/_app/immutable/nodes/2.DsX_M4-Z.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DsX_M4-Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DVc7iZMv.js +1 -0
- package/build/client/_app/immutable/nodes/3.DVc7iZMv.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DVc7iZMv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CsYXQz3Y.js +19 -0
- package/build/client/_app/immutable/nodes/4.CsYXQz3Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CsYXQz3Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.OYZYGgdQ.js +4 -0
- package/build/client/_app/immutable/nodes/5.OYZYGgdQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.OYZYGgdQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D4Oy0UwK.js +1 -0
- package/build/client/_app/immutable/nodes/6.D4Oy0UwK.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D4Oy0UwK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BvvIQZgW.js +1 -0
- package/build/client/_app/immutable/nodes/7.BvvIQZgW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BvvIQZgW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BypRBgKA.js +1 -0
- package/build/client/_app/immutable/nodes/8.BypRBgKA.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BypRBgKA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.Cvhy8NSW.js +5 -0
- package/build/client/_app/immutable/nodes/9.Cvhy8NSW.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.Cvhy8NSW.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-DYSdORF4.js +9 -0
- package/build/server/chunks/{0-BGsPZcaQ.js.map → 0-DYSdORF4.js.map} +1 -1
- package/build/server/chunks/1-DriLpuch.js +9 -0
- package/build/server/chunks/{1-DD15wvsg.js.map → 1-DriLpuch.js.map} +1 -1
- package/build/server/chunks/{2-DQWoUtW1.js → 2-CTCIjKJp.js} +2 -2
- package/build/server/chunks/{2-DQWoUtW1.js.map → 2-CTCIjKJp.js.map} +1 -1
- package/build/server/chunks/{3-COIGgysA.js → 3-PAUGKR-M.js} +2 -2
- package/build/server/chunks/{3-COIGgysA.js.map → 3-PAUGKR-M.js.map} +1 -1
- package/build/server/chunks/4-ipq2Fo20.js +9 -0
- package/build/server/chunks/4-ipq2Fo20.js.map +1 -0
- package/build/server/chunks/5-CaAZ_pnW.js +9 -0
- package/build/server/chunks/{5-C1zJagm7.js.map → 5-CaAZ_pnW.js.map} +1 -1
- package/build/server/chunks/6-Djkq9gPL.js +9 -0
- package/build/server/chunks/{6-DgrQ593d.js.map → 6-Djkq9gPL.js.map} +1 -1
- package/build/server/chunks/7-Bw1DwzQC.js +9 -0
- package/build/server/chunks/7-Bw1DwzQC.js.map +1 -0
- package/build/server/chunks/{8-Cs2Pvzlw.js → 8-CrXn8AWD.js} +3 -3
- package/build/server/chunks/{8-Cs2Pvzlw.js.map → 8-CrXn8AWD.js.map} +1 -1
- package/build/server/chunks/{9-CGVsBC0_.js → 9-yLwdBbDq.js} +2 -2
- package/build/server/chunks/{9-CGVsBC0_.js.map → 9-yLwdBbDq.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DsdJc3Sa.js → ChatMessage-jkPoi0IR.js} +8 -105
- package/build/server/chunks/ChatMessage-jkPoi0IR.js.map +1 -0
- package/build/server/chunks/{Navbar-DDD0LQ9P.js → Navbar-C72vlTUN.js} +454 -38
- package/build/server/chunks/Navbar-C72vlTUN.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-CtcFDP60.js → _page.svelte-BBHjv6FS.js} +6 -6
- package/build/server/chunks/{_page.svelte-CtcFDP60.js.map → _page.svelte-BBHjv6FS.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-mld1jqX5.js → _page.svelte-C6_O57B-.js} +150 -10
- package/build/server/chunks/_page.svelte-C6_O57B-.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DVfK0-WT.js → _page.svelte-CtyxfG3i.js} +6 -6
- package/build/server/chunks/{_page.svelte-DVfK0-WT.js.map → _page.svelte-CtyxfG3i.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-xSUqX0a7.js → _page.svelte-DRU3ay4a.js} +3 -3
- package/build/server/chunks/{_page.svelte-xSUqX0a7.js.map → _page.svelte-DRU3ay4a.js.map} +1 -1
- package/build/server/chunks/_page.svelte-DzrHD3Dp.js +326 -0
- package/build/server/chunks/_page.svelte-DzrHD3Dp.js.map +1 -0
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js → _server.ts-1UmhXPK8.js} +4 -4
- package/build/server/chunks/{_server.ts-BY7nR9Ev.js.map → _server.ts-1UmhXPK8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DAW24-9-.js → _server.ts-9Qea4tbm.js} +4 -4
- package/build/server/chunks/{_server.ts-DAW24-9-.js.map → _server.ts-9Qea4tbm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHBX6Ary.js → _server.ts-9sR9fd3C.js} +5 -5
- package/build/server/chunks/{_server.ts-DHBX6Ary.js.map → _server.ts-9sR9fd3C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DLVGDzlE.js → _server.ts-B-boVJcF.js} +4 -4
- package/build/server/chunks/{_server.ts-DLVGDzlE.js.map → _server.ts-B-boVJcF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BLUm8wAq.js → _server.ts-B3CTgC7e.js} +4 -4
- package/build/server/chunks/{_server.ts-BLUm8wAq.js.map → _server.ts-B3CTgC7e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ykNeG8km.js → _server.ts-BDtgFSkw.js} +4 -4
- package/build/server/chunks/{_server.ts-ykNeG8km.js.map → _server.ts-BDtgFSkw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js → _server.ts-BIdpky_N.js} +4 -4
- package/build/server/chunks/{_server.ts-DY3ZDXdA.js.map → _server.ts-BIdpky_N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js → _server.ts-BWz851yG.js} +4 -4
- package/build/server/chunks/{_server.ts-E5YqcwqQ.js.map → _server.ts-BWz851yG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-1mdOjWEN.js → _server.ts-BXz3inxG.js} +5 -5
- package/build/server/chunks/{_server.ts-1mdOjWEN.js.map → _server.ts-BXz3inxG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3QPUpDc.js → _server.ts-BZU8fpG9.js} +4 -4
- package/build/server/chunks/{_server.ts-D3QPUpDc.js.map → _server.ts-BZU8fpG9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvbnbZsl.js → _server.ts-BaUBfxz3.js} +4 -4
- package/build/server/chunks/{_server.ts-BvbnbZsl.js.map → _server.ts-BaUBfxz3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8zFV8J3.js → _server.ts-BhS7lUNN.js} +4 -4
- package/build/server/chunks/{_server.ts-C8zFV8J3.js.map → _server.ts-BhS7lUNN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B31I037d.js → _server.ts-BipzCnqX.js} +6 -6
- package/build/server/chunks/{_server.ts-B31I037d.js.map → _server.ts-BipzCnqX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqH3nv-S.js → _server.ts-Bn_yGKDn.js} +5 -5
- package/build/server/chunks/{_server.ts-CqH3nv-S.js.map → _server.ts-Bn_yGKDn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGqa6Laa.js → _server.ts-BybgwfUH.js} +4 -4
- package/build/server/chunks/{_server.ts-BGqa6Laa.js.map → _server.ts-BybgwfUH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CreuvDch.js → _server.ts-C2din2_5.js} +4 -4
- package/build/server/chunks/{_server.ts-CreuvDch.js.map → _server.ts-C2din2_5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js → _server.ts-C2xwF6p0.js} +6 -6
- package/build/server/chunks/{_server.ts-CbOKfJ3v.js.map → _server.ts-C2xwF6p0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8YF9aVx.js → _server.ts-C9PqkEga.js} +4 -4
- package/build/server/chunks/{_server.ts-B8YF9aVx.js.map → _server.ts-C9PqkEga.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CciSVwzg.js → _server.ts-CBEORQmf.js} +5 -5
- package/build/server/chunks/{_server.ts-CciSVwzg.js.map → _server.ts-CBEORQmf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4HorMS2R.js → _server.ts-CF9SWt4o.js} +4 -4
- package/build/server/chunks/{_server.ts-4HorMS2R.js.map → _server.ts-CF9SWt4o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CExwMomX.js → _server.ts-CO62Q41P.js} +4 -4
- package/build/server/chunks/{_server.ts-CExwMomX.js.map → _server.ts-CO62Q41P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-j5xF-dJX.js → _server.ts-COna958t.js} +4 -4
- package/build/server/chunks/{_server.ts-j5xF-dJX.js.map → _server.ts-COna958t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js → _server.ts-CPTHGxCn.js} +4 -4
- package/build/server/chunks/{_server.ts-CpJ08_Lw.js.map → _server.ts-CPTHGxCn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdLKHRnY.js → _server.ts-CPdyvrte.js} +6 -6
- package/build/server/chunks/{_server.ts-BdLKHRnY.js.map → _server.ts-CPdyvrte.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yWBMi6sn.js → _server.ts-CRr08SwC.js} +6 -6
- package/build/server/chunks/{_server.ts-yWBMi6sn.js.map → _server.ts-CRr08SwC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js → _server.ts-CU1zUqIs.js} +5 -5
- package/build/server/chunks/{_server.ts-Bu_7eQaL.js.map → _server.ts-CU1zUqIs.js.map} +1 -1
- package/build/server/chunks/_server.ts-CWmKP3RO.js +614 -0
- package/build/server/chunks/_server.ts-CWmKP3RO.js.map +1 -0
- package/build/server/chunks/{_server.ts-IzD0bafW.js → _server.ts-CYQK3G4x.js} +5 -5
- package/build/server/chunks/{_server.ts-IzD0bafW.js.map → _server.ts-CYQK3G4x.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js → _server.ts-CZ1QyKiP.js} +4 -4
- package/build/server/chunks/{_server.ts-B1Jl9Grz.js.map → _server.ts-CZ1QyKiP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWtTOsFi.js → _server.ts-CbKiZYKJ.js} +4 -4
- package/build/server/chunks/{_server.ts-BWtTOsFi.js.map → _server.ts-CbKiZYKJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BUIWPYRF.js → _server.ts-CfMgNVBt.js} +4 -4
- package/build/server/chunks/{_server.ts-BUIWPYRF.js.map → _server.ts-CfMgNVBt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CD-Cddqe.js → _server.ts-CfOeqfql.js} +5 -5
- package/build/server/chunks/{_server.ts-CD-Cddqe.js.map → _server.ts-CfOeqfql.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js → _server.ts-CffocV9v.js} +4 -4
- package/build/server/chunks/{_server.ts-CNLz6iJ7.js.map → _server.ts-CffocV9v.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Gbkg-oto.js → _server.ts-Cln7YA08.js} +4 -4
- package/build/server/chunks/{_server.ts-Gbkg-oto.js.map → _server.ts-Cln7YA08.js.map} +1 -1
- package/build/server/chunks/{_server.ts-3JO3CKsE.js → _server.ts-CqKt78Pt.js} +4 -4
- package/build/server/chunks/{_server.ts-3JO3CKsE.js.map → _server.ts-CqKt78Pt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNJn20vV.js → _server.ts-D13Et6Nm.js} +4 -4
- package/build/server/chunks/{_server.ts-BNJn20vV.js.map → _server.ts-D13Et6Nm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do5L_4tt.js → _server.ts-D7mVp5wx.js} +4 -4
- package/build/server/chunks/{_server.ts-Do5L_4tt.js.map → _server.ts-D7mVp5wx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CH8uRkxq.js → _server.ts-D9kpjwUe.js} +4 -4
- package/build/server/chunks/{_server.ts-CH8uRkxq.js.map → _server.ts-D9kpjwUe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js → _server.ts-DC8UQBex.js} +4 -4
- package/build/server/chunks/{_server.ts-Lzz9ashZ.js.map → _server.ts-DC8UQBex.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4pf3VKi.js → _server.ts-DEFxa6iW.js} +4 -4
- package/build/server/chunks/{_server.ts-C4pf3VKi.js.map → _server.ts-DEFxa6iW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtltE_T-.js → _server.ts-DEKm5x2n.js} +2 -2
- package/build/server/chunks/{_server.ts-CtltE_T-.js.map → _server.ts-DEKm5x2n.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DL9hlvL8.js → _server.ts-DEpPzJ18.js} +4 -4
- package/build/server/chunks/{_server.ts-DL9hlvL8.js.map → _server.ts-DEpPzJ18.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js → _server.ts-DHjryCBX.js} +4 -4
- package/build/server/chunks/{_server.ts-Dd4Mh0JV.js.map → _server.ts-DHjryCBX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTvZB-WH.js → _server.ts-DMh6Tg2b.js} +4 -4
- package/build/server/chunks/{_server.ts-BTvZB-WH.js.map → _server.ts-DMh6Tg2b.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3ntDGZM.js → _server.ts-DOiOnglY.js} +5 -5
- package/build/server/chunks/{_server.ts-B3ntDGZM.js.map → _server.ts-DOiOnglY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXmwf1pu.js → _server.ts-DPgmVByY.js} +2 -2
- package/build/server/chunks/{_server.ts-CXmwf1pu.js.map → _server.ts-DPgmVByY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pQ9okj_b.js → _server.ts-DTDGaSBp.js} +6 -6
- package/build/server/chunks/{_server.ts-pQ9okj_b.js.map → _server.ts-DTDGaSBp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CeeR1W32.js → _server.ts-DUJMugN3.js} +4 -4
- package/build/server/chunks/{_server.ts-CeeR1W32.js.map → _server.ts-DUJMugN3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEjyvkVV.js → _server.ts-DUqQgjZv.js} +4 -4
- package/build/server/chunks/{_server.ts-BEjyvkVV.js.map → _server.ts-DUqQgjZv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8cp-Em3.js → _server.ts-DWuaJT7_.js} +4 -4
- package/build/server/chunks/{_server.ts-D8cp-Em3.js.map → _server.ts-DWuaJT7_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QvBpEIYu.js → _server.ts-DXWUvegr.js} +4 -4
- package/build/server/chunks/{_server.ts-QvBpEIYu.js.map → _server.ts-DXWUvegr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzoE8edN.js → _server.ts-DYdXyLLa.js} +5 -5
- package/build/server/chunks/{_server.ts-CzoE8edN.js.map → _server.ts-DYdXyLLa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsTUwnu1.js → _server.ts-DaKMiVFv.js} +4 -4
- package/build/server/chunks/{_server.ts-DsTUwnu1.js.map → _server.ts-DaKMiVFv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHmCir74.js → _server.ts-DcKEI2Ff.js} +4 -4
- package/build/server/chunks/{_server.ts-BHmCir74.js.map → _server.ts-DcKEI2Ff.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8EZxkK3.js → _server.ts-DhJ3EQ1-.js} +5 -5
- package/build/server/chunks/{_server.ts-B8EZxkK3.js.map → _server.ts-DhJ3EQ1-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIEz-ybk.js → _server.ts-Dhr817vY.js} +4 -4
- package/build/server/chunks/{_server.ts-CIEz-ybk.js.map → _server.ts-Dhr817vY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzIilMO5.js → _server.ts-DjY1Wxwi.js} +2 -2
- package/build/server/chunks/{_server.ts-DzIilMO5.js.map → _server.ts-DjY1Wxwi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8BrkC8T.js → _server.ts-DueRmcvI.js} +5 -5
- package/build/server/chunks/{_server.ts-C8BrkC8T.js.map → _server.ts-DueRmcvI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js → _server.ts-DzNUAWRG.js} +4 -4
- package/build/server/chunks/{_server.ts-Dc9XEMmF.js.map → _server.ts-DzNUAWRG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CdB1K2M6.js → _server.ts-DzWfvYWd.js} +2 -2
- package/build/server/chunks/{_server.ts-CdB1K2M6.js.map → _server.ts-DzWfvYWd.js.map} +1 -1
- package/build/server/chunks/_server.ts-FJA0FE83.js +205 -0
- package/build/server/chunks/_server.ts-FJA0FE83.js.map +1 -0
- package/build/server/chunks/{_server.ts-DlwXpopR.js → _server.ts-ILHo2l5u.js} +3 -3
- package/build/server/chunks/{_server.ts-DlwXpopR.js.map → _server.ts-ILHo2l5u.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MGn-MXr5.js → _server.ts-IsQCU7Zw.js} +4 -4
- package/build/server/chunks/{_server.ts-MGn-MXr5.js.map → _server.ts-IsQCU7Zw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SLlbT28g.js → _server.ts-MNKeYGnJ.js} +2 -2
- package/build/server/chunks/{_server.ts-SLlbT28g.js.map → _server.ts-MNKeYGnJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVRyf5BI.js → _server.ts-NLmps3nz.js} +4 -4
- package/build/server/chunks/{_server.ts-DVRyf5BI.js.map → _server.ts-NLmps3nz.js.map} +1 -1
- package/build/server/chunks/_server.ts-NsPlw6SY.js +86 -0
- package/build/server/chunks/_server.ts-NsPlw6SY.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js → _server.ts-QG_Io1nH.js} +4 -4
- package/build/server/chunks/{_server.ts-Bq4Oko-2.js.map → _server.ts-QG_Io1nH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXI7k8hl.js → _server.ts-agyoOrvg.js} +4 -4
- package/build/server/chunks/{_server.ts-CXI7k8hl.js.map → _server.ts-agyoOrvg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CHQmAGEC.js → _server.ts-dXPW3qhK.js} +5 -5
- package/build/server/chunks/{_server.ts-CHQmAGEC.js.map → _server.ts-dXPW3qhK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CX2sHcZR.js → _server.ts-nTzGdtnW.js} +4 -4
- package/build/server/chunks/{_server.ts-CX2sHcZR.js.map → _server.ts-nTzGdtnW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7K7bv8w.js → _server.ts-owfxHChR.js} +5 -5
- package/build/server/chunks/{_server.ts-C7K7bv8w.js.map → _server.ts-owfxHChR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVxiERfc.js → _server.ts-rTKNgtmO.js} +4 -4
- package/build/server/chunks/{_server.ts-CVxiERfc.js.map → _server.ts-rTKNgtmO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPC8qYUD.js → _server.ts-rjMXs5w6.js} +4 -4
- package/build/server/chunks/{_server.ts-DPC8qYUD.js.map → _server.ts-rjMXs5w6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_EnHMEu.js → _server.ts-vrMFfkPv.js} +4 -4
- package/build/server/chunks/{_server.ts-C_EnHMEu.js.map → _server.ts-vrMFfkPv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js → _server.ts-xI2x8ziC.js} +4 -4
- package/build/server/chunks/{_server.ts-BhRtn8Xn.js.map → _server.ts-xI2x8ziC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vwef5C.js → _server.ts-zHhiafCS.js} +4 -4
- package/build/server/chunks/{_server.ts-D-Vwef5C.js.map → _server.ts-zHhiafCS.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js → addon-helpers-DFEyMJhA.js} +3 -3
- package/build/server/chunks/{addon-helpers-DBJL8kvq.js.map → addon-helpers-DFEyMJhA.js.map} +1 -1
- package/build/server/chunks/{akm-hO0p79ZE.js → akm-CxqalIXt.js} +2 -2
- package/build/server/chunks/{akm-hO0p79ZE.js.map → akm-CxqalIXt.js.map} +1 -1
- package/build/server/chunks/{client-BhIdOLuN.js → client-DsJcfz5L.js} +2 -2
- package/build/server/chunks/{client-BhIdOLuN.js.map → client-DsJcfz5L.js.map} +1 -1
- package/build/server/chunks/{config-5vfdWPGq.js → config-gWehiHgc.js} +2 -2
- package/build/server/chunks/{config-5vfdWPGq.js.map → config-gWehiHgc.js.map} +1 -1
- package/build/server/chunks/{docker-DYeytgDI.js → docker-7X4MmyTh.js} +2 -2
- package/build/server/chunks/{docker-DYeytgDI.js.map → docker-7X4MmyTh.js.map} +1 -1
- package/build/server/chunks/{endpoints-pIoXJCW6.js → endpoints-CtFzewjq.js} +2 -2
- package/build/server/chunks/{endpoints-pIoXJCW6.js.map → endpoints-CtFzewjq.js.map} +1 -1
- package/build/server/chunks/{environment-BSan9M-f.js → environment-WkaY56eW.js} +2 -2
- package/build/server/chunks/{environment-BSan9M-f.js.map → environment-WkaY56eW.js.map} +1 -1
- package/build/server/chunks/{error.svelte-w3vTPWqR.js → error.svelte-wQDMzENS.js} +4 -4
- package/build/server/chunks/{error.svelte-w3vTPWqR.js.map → error.svelte-wQDMzENS.js.map} +1 -1
- package/build/server/chunks/{helpers-CVirrNSz.js → helpers-DHqjUGTB.js} +3 -3
- package/build/server/chunks/{helpers-CVirrNSz.js.map → helpers-DHqjUGTB.js.map} +1 -1
- package/build/server/chunks/{hooks.server-pc-TSpQy.js → hooks.server-BT9BE8vm.js} +5 -5
- package/build/server/chunks/{hooks.server-pc-TSpQy.js.map → hooks.server-BT9BE8vm.js.map} +1 -1
- package/build/server/chunks/{http-DGsfa0DV.js → http-oyGIz0mI.js} +2 -2
- package/build/server/chunks/{http-DGsfa0DV.js.map → http-oyGIz0mI.js.map} +1 -1
- package/build/server/chunks/{internal-Df9GLXoC.js → internal-BxZRZr_z.js} +3 -3
- package/build/server/chunks/{internal-Df9GLXoC.js.map → internal-BxZRZr_z.js.map} +1 -1
- package/build/server/chunks/{session-cookie-DEuOwtHY.js → session-cookie-xaN0BnnT.js} +2 -2
- package/build/server/chunks/{session-cookie-DEuOwtHY.js.map → session-cookie-xaN0BnnT.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js → setup-deploy-LcTBIlO0.js} +2 -2
- package/build/server/chunks/{setup-deploy-D4bnmfpV.js.map → setup-deploy-LcTBIlO0.js.map} +1 -1
- package/build/server/chunks/{src-CyeWH4Df.js → src-Bqr11v--.js} +92 -4
- package/build/server/chunks/src-Bqr11v--.js.map +1 -0
- package/build/server/chunks/{state-oTjIGK6_.js → state-Cp7JnmAS.js} +2 -2
- package/build/server/chunks/{state-oTjIGK6_.js.map → state-Cp7JnmAS.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 +99 -85
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- 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.br +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.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/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/C1cDpTIW.js +0 -1
- package/build/client/_app/immutable/chunks/C1cDpTIW.js.br +0 -2
- package/build/client/_app/immutable/chunks/C1cDpTIW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8_Ecceb.js +0 -5
- package/build/client/_app/immutable/chunks/C8_Ecceb.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8_Ecceb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4px_ogp.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4px_ogp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGd1H7f6.js +0 -3
- package/build/client/_app/immutable/chunks/DGd1H7f6.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGd1H7f6.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.CQ9gBfwB.js +0 -2
- package/build/client/_app/immutable/entry/app.CQ9gBfwB.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CQ9gBfwB.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DPkYTFB4.js +0 -1
- package/build/client/_app/immutable/entry/start.DPkYTFB4.js.br +0 -1
- package/build/client/_app/immutable/entry/start.DPkYTFB4.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.DL1L6mjC.js +0 -1
- package/build/client/_app/immutable/nodes/1.DL1L6mjC.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.DL1L6mjC.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.D7fUTUOY.js +0 -19
- package/build/client/_app/immutable/nodes/4.D7fUTUOY.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D7fUTUOY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.X9_kKaDU.js +0 -4
- package/build/client/_app/immutable/nodes/5.X9_kKaDU.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.X9_kKaDU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D_uq77l6.js +0 -1
- package/build/client/_app/immutable/nodes/6.D_uq77l6.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D_uq77l6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CoVE7LQv.js +0 -15
- package/build/client/_app/immutable/nodes/7.CoVE7LQv.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CoVE7LQv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.cwDhKdYI.js +0 -1
- package/build/client/_app/immutable/nodes/8.cwDhKdYI.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.cwDhKdYI.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-DD15wvsg.js +0 -9
- package/build/server/chunks/4-CMm_D91E.js +0 -9
- package/build/server/chunks/4-CMm_D91E.js.map +0 -1
- package/build/server/chunks/5-C1zJagm7.js +0 -9
- package/build/server/chunks/6-DgrQ593d.js +0 -9
- package/build/server/chunks/7-3SQOqtpC.js +0 -9
- package/build/server/chunks/7-3SQOqtpC.js.map +0 -1
- package/build/server/chunks/Navbar-DDD0LQ9P.js.map +0 -1
- package/build/server/chunks/_page.svelte-DsdJc3Sa.js.map +0 -1
- package/build/server/chunks/_page.svelte-mld1jqX5.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/src-CyeWH4Df.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-CeABRes-.js.map +0 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { ai as readStackEnv } from './src-Bqr11v--.js';
|
|
2
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-DHqjUGTB.js';
|
|
4
|
+
import { o as opencodeFetch } from './http-oyGIz0mI.js';
|
|
5
|
+
import { g as getCurrentConfig } from './config-gWehiHgc.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-FJA0FE83.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-FJA0FE83.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { xt 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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { g as getDeployState } from './setup-deploy-
|
|
2
|
+
import { g as getDeployState } from './setup-deploy-LcTBIlO0.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-Bqr11v--.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import 'node:fs';
|
|
@@ -44,4 +44,4 @@ var GET = () => {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export { GET };
|
|
47
|
-
//# sourceMappingURL=_server.ts-
|
|
47
|
+
//# sourceMappingURL=_server.ts-ILHo2l5u.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-ILHo2l5u.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/deploy-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/deploy-status/+server.ts\nfunction resolvePorts() {\n\treturn {\n\t\tadmin: Number(process.env.OP_HOST_UI_PORT) || 3880,\n\t\tassistant: Number(process.env.OP_HOST_ASSISTANT_PORT) || 3800\n\t};\n}\nvar GET = () => {\n\tconst state = getDeployState();\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: state.setupComplete,\n\t\tdeploying: state.deploying,\n\t\tdeployStatus: state.deployStatus,\n\t\tdeployError: state.deployError,\n\t\timageWarning: state.imageWarning,\n\t\tphase: state.phase,\n\t\tports: resolvePorts()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,YAAY,GAAG;AACxB,CAAC,OAAO;AACR,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI;AACpD,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI;AAC3D,EAAE;AACF;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,MAAM,KAAK,GAAG,cAAc,EAAE;AAC/B,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa;AACpC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;AAC5B,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;AAChC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;AACpB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,CAAC;AACH;;;;"}
|
|
@@ -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-CtFzewjq.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHqjUGTB.js';
|
|
3
|
+
import './src-Bqr11v--.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-IsQCU7Zw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-IsQCU7Zw.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
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { I as detectLocalProviders } from './src-
|
|
2
|
+
import { I as detectLocalProviders } from './src-Bqr11v--.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
@@ -38,4 +38,4 @@ var GET = async () => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { GET };
|
|
41
|
-
//# sourceMappingURL=_server.ts-
|
|
41
|
+
//# sourceMappingURL=_server.ts-MNKeYGnJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-MNKeYGnJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { l as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { b as getState } from './endpoints-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-
|
|
1
|
+
import { ao as removeSecretFile, ah as readSecretFile, aB as writeSecretFile, g as assertSafeSecretFilename } from './src-Bqr11v--.js';
|
|
2
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHqjUGTB.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import 'node:fs';
|
|
@@ -76,4 +76,4 @@ var DELETE = async (event) => {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export { DELETE, GET, PUT };
|
|
79
|
-
//# sourceMappingURL=_server.ts-
|
|
79
|
+
//# sourceMappingURL=_server.ts-NLmps3nz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-NLmps3nz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/_name_/_server.ts.js"],"sourcesContent":["import { At as writeSecretFile, Ot as readSecretFile, Tt as assertSafeSecretFilename, kt as removeSecretFile } 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\";\n//#region src/routes/admin/secrets/[name]/+server.ts\nfunction guardName(name, requestId) {\n\ttry {\n\t\tassertSafeSecretFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst value = readSecretFile(getState().stackDir, name);\n\tif (value === null) return errorResponse(404, \"not_found\", `Secret file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tvalue\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst value = result.data.value;\n\tif (typeof value !== \"string\") return errorResponse(400, \"bad_request\", \"value must be a string\", {}, requestId);\n\twriteSecretFile(getState().stackDir, name, value);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tremoveSecretFile(getState().stackDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ai as readStackEnv, ac as patchSecretsEnvFile, az as writeFileAtomic } from './src-Bqr11v--.js';
|
|
2
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-DHqjUGTB.js';
|
|
4
|
+
import { existsSync, readFileSync, mkdirSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import './chunk-CLZ62Ad-.js';
|
|
7
|
+
import 'node:module';
|
|
8
|
+
import 'buffer';
|
|
9
|
+
import 'node:os';
|
|
10
|
+
import 'fs';
|
|
11
|
+
import 'path';
|
|
12
|
+
import 'node:child_process';
|
|
13
|
+
import 'node:url';
|
|
14
|
+
import 'node:crypto';
|
|
15
|
+
import 'events';
|
|
16
|
+
import 'node:events';
|
|
17
|
+
import 'node:stream';
|
|
18
|
+
import 'node:string_decoder';
|
|
19
|
+
import 'assert';
|
|
20
|
+
import 'zlib';
|
|
21
|
+
import 'node:assert';
|
|
22
|
+
import 'node:fs/promises';
|
|
23
|
+
|
|
24
|
+
//#region src/routes/admin/assistant/+server.ts
|
|
25
|
+
var DEFAULT_PROJECT_NAME = "openpalm";
|
|
26
|
+
var DEFAULT_ASSISTANT_BIND_ADDRESS = "127.0.0.1";
|
|
27
|
+
var LAN_ASSISTANT_BIND_ADDRESS = "0.0.0.0";
|
|
28
|
+
var PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;
|
|
29
|
+
function personaPath(configDir) {
|
|
30
|
+
return join(configDir, "assistant", "openpalm.md");
|
|
31
|
+
}
|
|
32
|
+
function readPersona(configDir) {
|
|
33
|
+
const path = personaPath(configDir);
|
|
34
|
+
if (!existsSync(path)) return "";
|
|
35
|
+
try {
|
|
36
|
+
return readFileSync(path, "utf-8");
|
|
37
|
+
} catch {
|
|
38
|
+
return "";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function normalizeProjectName(raw) {
|
|
42
|
+
if (typeof raw !== "string") return null;
|
|
43
|
+
const value = raw.trim() || DEFAULT_PROJECT_NAME;
|
|
44
|
+
if (value.length > 63) return null;
|
|
45
|
+
return PROJECT_NAME_RE.test(value) ? value : null;
|
|
46
|
+
}
|
|
47
|
+
var GET = async (event) => {
|
|
48
|
+
const requestId = getRequestId(event);
|
|
49
|
+
const denied = requireAdmin(event, requestId);
|
|
50
|
+
if (denied) return denied;
|
|
51
|
+
const state = getState();
|
|
52
|
+
const env = readStackEnv(state.stackDir);
|
|
53
|
+
return jsonResponse(200, {
|
|
54
|
+
projectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,
|
|
55
|
+
lanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,
|
|
56
|
+
stackEnvPath: "knowledge/env/stack.env",
|
|
57
|
+
personaPath: "config/assistant/openpalm.md",
|
|
58
|
+
personaContent: readPersona(state.configDir)
|
|
59
|
+
}, requestId);
|
|
60
|
+
};
|
|
61
|
+
var PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {
|
|
62
|
+
const projectName = normalizeProjectName(body.projectName);
|
|
63
|
+
if (!projectName) return errorResponse(400, "bad_request", "projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.", {}, requestId);
|
|
64
|
+
if (typeof body.personaContent !== "string") return errorResponse(400, "bad_request", "personaContent must be a string", {}, requestId);
|
|
65
|
+
if (typeof body.lanExposureEnabled !== "boolean") return errorResponse(400, "bad_request", "lanExposureEnabled must be a boolean", {}, requestId);
|
|
66
|
+
const state = getState();
|
|
67
|
+
patchSecretsEnvFile(state.stackDir, {
|
|
68
|
+
OP_PROJECT_NAME: projectName,
|
|
69
|
+
OP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS
|
|
70
|
+
});
|
|
71
|
+
const path = personaPath(state.configDir);
|
|
72
|
+
mkdirSync(join(state.configDir, "assistant"), { recursive: true });
|
|
73
|
+
const personaContent = body.personaContent.endsWith("\n") ? body.personaContent : `${body.personaContent}\n`;
|
|
74
|
+
writeFileAtomic(path, personaContent, 420);
|
|
75
|
+
return jsonResponse(200, {
|
|
76
|
+
ok: true,
|
|
77
|
+
projectName,
|
|
78
|
+
lanExposureEnabled: body.lanExposureEnabled,
|
|
79
|
+
stackEnvPath: "knowledge/env/stack.env",
|
|
80
|
+
personaPath: "config/assistant/openpalm.md",
|
|
81
|
+
personaContent
|
|
82
|
+
}, requestId);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
export { GET, PUT };
|
|
86
|
+
//# sourceMappingURL=_server.ts-NsPlw6SY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-NsPlw6SY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/assistant/_server.ts.js"],"sourcesContent":["import { N as writeFileAtomic, bt as patchSecretsEnvFile, xt as readStackEnv } 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, p as withAdminBody } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/admin/assistant/+server.ts\nvar DEFAULT_PROJECT_NAME = \"openpalm\";\nvar DEFAULT_ASSISTANT_BIND_ADDRESS = \"127.0.0.1\";\nvar LAN_ASSISTANT_BIND_ADDRESS = \"0.0.0.0\";\nvar PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction normalizeProjectName(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst value = raw.trim() || DEFAULT_PROJECT_NAME;\n\tif (value.length > 63) return null;\n\treturn PROJECT_NAME_RE.test(value) ? value : null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst env = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tprojectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,\n\t\tlanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/openpalm.md\",\n\t\tpersonaContent: readPersona(state.configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst projectName = normalizeProjectName(body.projectName);\n\tif (!projectName) return errorResponse(400, \"bad_request\", \"projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.\", {}, requestId);\n\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\tif (typeof body.lanExposureEnabled !== \"boolean\") return errorResponse(400, \"bad_request\", \"lanExposureEnabled must be a boolean\", {}, requestId);\n\tconst state = getState();\n\tpatchSecretsEnvFile(state.stackDir, {\n\t\tOP_PROJECT_NAME: projectName,\n\t\tOP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS\n\t});\n\tconst path = personaPath(state.configDir);\n\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\twriteFileAtomic(path, personaContent, 420);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tprojectName,\n\t\tlanExposureEnabled: body.lanExposureEnabled,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/openpalm.md\",\n\t\tpersonaContent\n\t}, requestId);\n});\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { a4 as isSetupComplete,
|
|
3
|
-
import { b as getState } from './endpoints-
|
|
4
|
-
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { a4 as isSetupComplete, at as resolveStackDir, G as detectGpu, I as detectLocalProviders, H as detectHostOpenCode, an as recommendSetup, i as authJsonPath, P as PROVIDER_KEY_MAP } from './src-Bqr11v--.js';
|
|
3
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-DHqjUGTB.js';
|
|
5
5
|
import { existsSync, readFileSync } from 'node:fs';
|
|
6
6
|
import './utils-BSRjJDrZ.js';
|
|
7
7
|
import './chunk-CLZ62Ad-.js';
|
|
@@ -94,4 +94,4 @@ var GET = async (event) => {
|
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export { GET };
|
|
97
|
-
//# sourceMappingURL=_server.ts-
|
|
97
|
+
//# sourceMappingURL=_server.ts-QG_Io1nH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-QG_Io1nH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Q as isSetupComplete, Rt as resolveStackDir, Vt as PROVIDER_KEY_MAP, c as detectGpu, jt as authJsonPath, l as detectLocalProviders, s as recommendSetup, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient, d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\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 [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z as createLogger, n as checkDocker, p as composeDown, l as buildComposeOptions, e as applyUninstall } 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 checkDocker, p as composeDown, l as buildComposeOptions, e as applyUninstall } from './src-Bqr11v--.js';
|
|
2
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DHqjUGTB.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -60,4 +60,4 @@ var POST = async (event) => {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export { POST };
|
|
63
|
-
//# sourceMappingURL=_server.ts-
|
|
63
|
+
//# sourceMappingURL=_server.ts-agyoOrvg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-agyoOrvg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/uninstall/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, E as buildComposeOptions, L as checkDocker, x as applyUninstall, z as composeDown } 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/uninstall/+server.ts\nvar logger = createLogger(\"uninstall\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"uninstall request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:uninstall\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tif (dockerCheck.ok) await composeDown(buildComposeOptions(state));\n\t\t\tlogger.info(\"stopping containers and applying uninstall\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t});\n\t\t\tconst result = await applyUninstall(state);\n\t\t\tlogger.info(\"uninstall completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstopped: result.stopped\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\t...result,\n\t\t\t\tdockerAvailable: dockerCheck.ok\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(\"uninstall failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"uninstall_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;AACnC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,iBAAiB,EAAE,YAAY;AACvD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,GAAG,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;AAC7D,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,CAAC;AACL,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtC,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,MAAM,CAAC;AACpB,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,MAAM;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,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,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACpE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-
|
|
2
|
-
import { t as testEmbeddingSettings } from './akm-
|
|
3
|
-
import './src-
|
|
1
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-DHqjUGTB.js';
|
|
2
|
+
import { t as testEmbeddingSettings } from './akm-CxqalIXt.js';
|
|
3
|
+
import './src-Bqr11v--.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-CtFzewjq.js';
|
|
24
24
|
|
|
25
25
|
//#region src/routes/admin/akm/embedding/test/+server.ts
|
|
26
26
|
var POST = async (event) => {
|
|
@@ -48,4 +48,4 @@ var POST = async (event) => {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
export { POST };
|
|
51
|
-
//# sourceMappingURL=_server.ts-
|
|
51
|
+
//# sourceMappingURL=_server.ts-dXPW3qhK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-dXPW3qhK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/embedding/test/_server.ts.js"],"sourcesContent":["import { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\nimport { i as testEmbeddingSettings } from \"../../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/embedding/test/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst endpoint = typeof body.endpoint === \"string\" ? body.endpoint : \"\";\n\tconst model = typeof body.model === \"string\" ? body.model : \"\";\n\tconst provider = typeof body.provider === \"string\" ? body.provider : \"\";\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst dimension = typeof body.dimension === \"number\" ? body.dimension : void 0;\n\tif (!endpoint.trim() || !model.trim()) return errorResponse(400, \"bad_request\", \"Endpoint and model are required.\", {}, requestId);\n\tconst result = await testEmbeddingSettings({\n\t\tendpoint,\n\t\tmodel,\n\t\tprovider,\n\t\tapiKey,\n\t\tdimension\n\t});\n\tif (!result.ok) return errorResponse(502, \"embedding_test_failed\", result.message, {}, requestId);\n\treturn jsonResponse(200, result, requestId);\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,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnI,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;AAC5C,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
|
|
@@ -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, aa as parseComposeStderr,
|
|
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, aa as parseComposeStderr, ax as summarizeComposeStderr } from './src-Bqr11v--.js';
|
|
2
|
+
import { b as getState } from './endpoints-CtFzewjq.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DHqjUGTB.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-nTzGdtnW.js.map
|