@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-Dnt12F6c.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { V as attr, a as derived, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { i as endpointsService, t as Navbar } from \"../../../chunks/Navbar.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet openCodeUrl = derived(() => endpointsService.active?.url ?? \"http://127.0.0.1:3800\");\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\"><iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", openCodeUrl())} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC;AAC1F,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,UAAc,CAAC;AACxB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iGAAiG,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,qGAAqG,CAAC,CAAC;AACxP,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { ah as readStackEnv } from './src-CyeWH4Df.js';
|
|
2
|
-
import { b as getState } from './endpoints-pIoXJCW6.js';
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CVirrNSz.js';
|
|
4
|
-
import './chunk-CLZ62Ad-.js';
|
|
5
|
-
import 'node:module';
|
|
6
|
-
import 'node:fs';
|
|
7
|
-
import 'node:path';
|
|
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/api/speak/+server.ts
|
|
25
|
-
var DEFAULT_MODEL = "kokoro";
|
|
26
|
-
var DEFAULT_VOICE = "bf_isabella";
|
|
27
|
-
var DEFAULT_FORMAT = "wav";
|
|
28
|
-
var UPSTREAM_TIMEOUT_MS = 6e4;
|
|
29
|
-
function redactKey(s) {
|
|
30
|
-
return s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, "sk-***").replace(/(Bearer\s+)[A-Za-z0-9._-]+/gi, "$1***");
|
|
31
|
-
}
|
|
32
|
-
var POST = async (event) => {
|
|
33
|
-
const requestId = getRequestId(event);
|
|
34
|
-
const authError = requireAdmin(event, requestId);
|
|
35
|
-
if (authError) return authError;
|
|
36
|
-
const stackEnv = readStackEnv(getState().stackDir);
|
|
37
|
-
const ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || "").trim();
|
|
38
|
-
const ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || "").trim() || DEFAULT_MODEL;
|
|
39
|
-
const ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || "").trim() || DEFAULT_VOICE;
|
|
40
|
-
const ttsApiKey = (process.env.OP_TTS_API_KEY ?? "").trim();
|
|
41
|
-
if (!ttsBaseURL) return errorResponse(503, "tts_not_configured", "Configure a TTS engine in Admin → Voice settings.", {}, requestId);
|
|
42
|
-
let body;
|
|
43
|
-
try {
|
|
44
|
-
body = await event.request.json();
|
|
45
|
-
} catch {
|
|
46
|
-
return errorResponse(400, "bad_request", "Invalid JSON body", {}, requestId);
|
|
47
|
-
}
|
|
48
|
-
const b = body ?? {};
|
|
49
|
-
const text = typeof b.text === "string" ? b.text.trim() : "";
|
|
50
|
-
if (!text) return errorResponse(400, "bad_request", "\"text\" is required", {}, requestId);
|
|
51
|
-
const voice = typeof b.voice === "string" && b.voice.trim() ? b.voice.trim() : ttsVoice;
|
|
52
|
-
const format = typeof b.format === "string" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;
|
|
53
|
-
const upstreamUrl = ttsBaseURL.replace(/\/+$/, "") + "/v1/audio/speech";
|
|
54
|
-
const headers = { "content-type": "application/json" };
|
|
55
|
-
if (ttsApiKey) headers["authorization"] = `Bearer ${ttsApiKey}`;
|
|
56
|
-
let upstream;
|
|
57
|
-
try {
|
|
58
|
-
upstream = await fetch(upstreamUrl, {
|
|
59
|
-
method: "POST",
|
|
60
|
-
headers,
|
|
61
|
-
body: JSON.stringify({
|
|
62
|
-
model: ttsModel,
|
|
63
|
-
voice,
|
|
64
|
-
input: text,
|
|
65
|
-
response_format: format
|
|
66
|
-
}),
|
|
67
|
-
signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)
|
|
68
|
-
});
|
|
69
|
-
} catch (err) {
|
|
70
|
-
return errorResponse(502, "upstream_error", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);
|
|
71
|
-
}
|
|
72
|
-
if (!upstream.ok) {
|
|
73
|
-
const body = await upstream.text().catch(() => "");
|
|
74
|
-
return errorResponse(502, "upstream_error", `TTS endpoint returned ${upstream.status}`, {
|
|
75
|
-
upstreamStatus: upstream.status,
|
|
76
|
-
body: redactKey(body).slice(0, 500)
|
|
77
|
-
}, requestId);
|
|
78
|
-
}
|
|
79
|
-
const responseHeaders = new Headers();
|
|
80
|
-
responseHeaders.set("content-type", upstream.headers.get("content-type") ?? "audio/wav");
|
|
81
|
-
const contentLength = upstream.headers.get("content-length");
|
|
82
|
-
if (contentLength) responseHeaders.set("content-length", contentLength);
|
|
83
|
-
responseHeaders.set("x-request-id", requestId);
|
|
84
|
-
return new Response(upstream.body, {
|
|
85
|
-
status: 200,
|
|
86
|
-
headers: responseHeaders
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export { POST };
|
|
91
|
-
//# sourceMappingURL=_server.ts-B79PxL9c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-B79PxL9c.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { bt 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\";\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 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\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: text,\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BGqa6Laa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { $ as assertSafeTaskFilename, et as readTaskFile, nt as writeTaskFile, tt as removeTaskFile } 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/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(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 = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\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 = guard(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 content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\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 = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, 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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints-pIoXJCW6.js","sources":["../../../.svelte-kit/adapter-node/chunks/endpoints.js"],"sourcesContent":["import { w as createState } from \"./src.js\";\nimport { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { randomUUID } from \"node:crypto\";\n//#region src/lib/server/state.ts\n/**\n* Singleton control plane state — shared across all SvelteKit server routes.\n*\n* Initialized once on server start. All API endpoints operate on this\n* shared state instance.\n*/\nvar _state = null;\nfunction getState() {\n\tif (!_state) _state = createState();\n\treturn _state;\n}\n/**\n* Bust the singleton so the next getState() call re-reads from disk.\n* Called after performSetup() writes new tokens to stack.env.\n*/\nfunction resetState() {\n\t_state = null;\n}\n//#endregion\n//#region src/lib/server/endpoints.ts\n/**\n* Assistant endpoints — list of OpenCode servers the UI can target, with\n* one marked active. The \"default\" entry is synthesized from environment\n* (OP_OPENCODE_URL / OP_ASSISTANT_URL / OP_ASSISTANT_PORT) and cannot be\n* deleted. User-added endpoints are persisted to a JSON file in the\n* config directory (it's user-owned configuration, not service state —\n* see Phase 5 / D4 in docs/technical/auth-and-proxy-refactor-plan.md).\n*\n* File: ${configDir}/endpoints.json (mode 0600)\n* Shape: { activeId: string | null, endpoints: EndpointEntry[] }\n* - activeId === null or \"default\" → use the env-derived default\n* - activeId === \"<id>\" → use the matching user entry (falls back to default if not found)\n*\n* Legacy path: ${dataDir}/admin/endpoints.json. Old installs are\n* migrated lazily on first read by maybeMigrateLegacyEndpointsFile().\n*/\nvar DEFAULT_ID = \"default\";\nvar LOCAL_ELECTRON_ID = \"local-electron\";\nfunction endpointsPath() {\n\treturn `${getState().configDir}/endpoints.json`;\n}\n/**\n* Legacy path used before Phase 5 of the auth/proxy refactor.\n* See docs/technical/auth-and-proxy-refactor-plan.md § Phase 5 / D4.\n*/\nfunction legacyEndpointsPath() {\n\treturn `${getState().dataDir}/admin/endpoints.json`;\n}\n/**\n* One-shot lazy migration from the legacy data/ path to the new config/ path.\n*\n* Phase 5 of docs/technical/auth-and-proxy-refactor-plan.md (D6 step 3):\n* - If the new path already exists → no-op (already migrated).\n* - If the legacy path doesn't exist → no-op (fresh install).\n* - Otherwise copy contents to the new path (mode 0600), then unlink legacy.\n*\n* If the migration fails partway, the legacy file is left in place so reads\n* fall back to it for the remainder of this session. Idempotent across\n* process restarts because the existence check makes it a no-op after the\n* first successful run.\n*/\nfunction maybeMigrateLegacyEndpointsFile() {\n\tconst newPath = endpointsPath();\n\tif (existsSync(newPath)) return;\n\tconst oldPath = legacyEndpointsPath();\n\tif (!existsSync(oldPath)) return;\n\ttry {\n\t\tmkdirSync(dirname(newPath), { recursive: true });\n\t\twriteFileSync(newPath, readFileSync(oldPath), { mode: 384 });\n\t\ttry {\n\t\t\tchmodSync(newPath, 384);\n\t\t} catch {}\n\t\tunlinkSync(oldPath);\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to migrate legacy endpoints.json from data/ to config/. Leaving the old file in place; reads will fall back to it for this session.\", e);\n\t}\n}\nfunction localRuntimePath() {\n\treturn `${getState().dataDir}/local-opencode.runtime.json`;\n}\n/**\n* Read the Electron-written runtime.json each time it's needed. The file is\n* 0600 and is rewritten on each Electron launch (random password per launch),\n* so callers must NOT cache the result.\n*/\nfunction readLocalRuntime() {\n\tconst path = localRuntimePath();\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tif (!parsed || typeof parsed.url !== \"string\" || !parsed.url) return null;\n\t\treturn {\n\t\t\turl: parsed.url,\n\t\t\tusername: typeof parsed.username === \"string\" ? parsed.username : void 0,\n\t\t\tpassword: typeof parsed.password === \"string\" ? parsed.password : void 0,\n\t\t\tpid: typeof parsed.pid === \"number\" ? parsed.pid : void 0,\n\t\t\tstartedAt: typeof parsed.startedAt === \"string\" ? parsed.startedAt : void 0\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse local-opencode.runtime.json:\", e);\n\t\treturn null;\n\t}\n}\nfunction localEndpoint() {\n\tconst rt = readLocalRuntime();\n\tif (!rt) return null;\n\treturn {\n\t\tid: LOCAL_ELECTRON_ID,\n\t\tlabel: \"OpenPalm Admin\",\n\t\turl: rt.url,\n\t\tusername: rt.username || \"openpalm\",\n\t\t...rt.password ? { password: rt.password } : {},\n\t\tisDefault: false,\n\t\tisLocal: true\n\t};\n}\nfunction readFile() {\n\tmaybeMigrateLegacyEndpointsFile();\n\tlet path = endpointsPath();\n\tif (!existsSync(path)) {\n\t\tconst legacy = legacyEndpointsPath();\n\t\tif (!existsSync(legacy)) return {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t\tpath = legacy;\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\tactiveId: typeof parsed.activeId === \"string\" ? parsed.activeId : null,\n\t\t\tendpoints: Array.isArray(parsed.endpoints) ? parsed.endpoints.filter(isValidEntry) : []\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse endpoints.json, resetting:\", e);\n\t\treturn {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t}\n}\nfunction isValidEntry(e) {\n\tif (!e || typeof e !== \"object\") return false;\n\tconst o = e;\n\treturn typeof o.id === \"string\" && typeof o.label === \"string\" && typeof o.url === \"string\";\n}\nfunction writeFile(data) {\n\tconst path = endpointsPath();\n\tmkdirSync(dirname(path), { recursive: true });\n\twriteFileSync(path, JSON.stringify(data, null, 2), {\n\t\tencoding: \"utf-8\",\n\t\tmode: 384\n\t});\n\ttry {\n\t\tchmodSync(path, 384);\n\t} catch {}\n}\nfunction defaultEndpoint() {\n\treturn {\n\t\tid: DEFAULT_ID,\n\t\tlabel: \"Local Assistant\",\n\t\turl: process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? \"3800\"}`,\n\t\tusername: process.env.OPENCODE_SERVER_USERNAME || \"openpalm\",\n\t\tpassword: process.env.OPENCODE_SERVER_PASSWORD || void 0,\n\t\tisDefault: true\n\t};\n}\n/**\n* Hostnames where plain HTTP is permitted. Anything else must use HTTPS.\n*\n* - `127.0.0.1`, `::1`, `localhost` — loopback addresses on the same host.\n* - `host.docker.internal` — Docker's loopback-equivalent for the container\n* hop back to the host (used by the Electron + dev compose setups).\n*\n* Phase 6 of docs/technical/auth-and-proxy-refactor-plan.md.\n*/\nvar LOOPBACK_HOSTS = new Set([\n\t\"127.0.0.1\",\n\t\"::1\",\n\t\"localhost\",\n\t\"host.docker.internal\"\n]);\n/**\n* `URL.hostname` wraps IPv6 addresses in square brackets (e.g. `[::1]`).\n* Strip them before checking against the loopback set so the literal IPv6\n* loopback matches `::1`.\n*/\nfunction isLoopbackHost(hostname) {\n\tconst stripped = hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n\treturn LOOPBACK_HOSTS.has(stripped);\n}\n/**\n* Discriminated validator that callers (admin routes) use to surface\n* specific error messages — in particular, the HTTPS-for-remote rule.\n*/\nfunction validateEndpointUrl(input) {\n\tlet u;\n\ttry {\n\t\tu = new URL(input.trim());\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\treason: \"invalid_url\"\n\t\t};\n\t}\n\tif (u.protocol !== \"http:\" && u.protocol !== \"https:\") return {\n\t\tok: false,\n\t\treason: \"invalid_scheme\"\n\t};\n\tif (!u.hostname) return {\n\t\tok: false,\n\t\treason: \"missing_host\"\n\t};\n\tif (u.protocol === \"http:\" && !isLoopbackHost(u.hostname)) return {\n\t\tok: false,\n\t\treason: \"http_not_allowed\"\n\t};\n\treturn {\n\t\tok: true,\n\t\turl: u.toString().replace(/\\/$/, \"\")\n\t};\n}\n/**\n* Validate a URL string — must be http(s) with a host. Plain HTTP is only\n* allowed for loopback hosts (see `LOOPBACK_HOSTS`). Returns the normalized\n* URL or null. For finer-grained errors, use `validateEndpointUrl`.\n*/\nfunction normalizeEndpointUrl(input) {\n\tconst result = validateEndpointUrl(input);\n\treturn result.ok ? result.url : null;\n}\n/**\n* Returns: [local-electron (if Electron is running it), default, ...user entries].\n* The local-electron entry is synthesized at call time from\n* state/local-opencode.runtime.json — never persisted to endpoints.json.\n*/\nfunction listEndpoints() {\n\tconst { endpoints } = readFile();\n\tconst local = localEndpoint();\n\treturn [\n\t\t...local ? [local] : [],\n\t\tdefaultEndpoint(),\n\t\t...endpoints.map((e) => ({\n\t\t\t...e,\n\t\t\tisDefault: false\n\t\t}))\n\t];\n}\n/**\n* Returns the active endpoint, falling back to the default if no active id is\n* set OR if the active id is `local-electron` but the runtime.json isn't there\n* (e.g. the Electron child died). Re-reads runtime.json each call so a\n* password rotated by a new Electron launch is picked up immediately.\n*/\nfunction getActiveEndpoint() {\n\tconst { activeId, endpoints } = readFile();\n\tif (activeId === LOCAL_ELECTRON_ID) {\n\t\tconst local = localEndpoint();\n\t\tif (local) return local;\n\t\treturn defaultEndpoint();\n\t}\n\tif (!activeId || activeId === DEFAULT_ID) return defaultEndpoint();\n\tconst found = endpoints.find((e) => e.id === activeId);\n\tif (!found) return defaultEndpoint();\n\treturn {\n\t\t...found,\n\t\tisDefault: false\n\t};\n}\nfunction setActiveId(id) {\n\tconst data = readFile();\n\tif (!id || id === DEFAULT_ID) data.activeId = null;\n\telse if (id === LOCAL_ELECTRON_ID) {\n\t\tif (!localEndpoint()) throw new Error(\"Local OpenCode is not running (Electron only)\");\n\t\tdata.activeId = LOCAL_ELECTRON_ID;\n\t} else {\n\t\tif (!data.endpoints.some((e) => e.id === id)) throw new Error(`Endpoint not found: ${id}`);\n\t\tdata.activeId = id;\n\t}\n\twriteFile(data);\n\treturn getActiveEndpoint();\n}\nfunction addEndpoint(input) {\n\tconst label = input.label.trim();\n\tif (!label) throw new Error(\"Label is required\");\n\tconst url = normalizeEndpointUrl(input.url);\n\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\tconst data = readFile();\n\tconst entry = {\n\t\tid: randomUUID(),\n\t\tlabel,\n\t\turl,\n\t\t...input.password ? { password: input.password } : {}\n\t};\n\tdata.endpoints.push(entry);\n\twriteFile(data);\n\treturn entry;\n}\nfunction updateEndpoint(id, patch) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot edit the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot edit the local Electron OpenCode entry (it is ephemeral and per-launch)\");\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tconst next = { ...data.endpoints[idx] };\n\tif (patch.label !== void 0) {\n\t\tconst label = patch.label.trim();\n\t\tif (!label) throw new Error(\"Label cannot be empty\");\n\t\tnext.label = label;\n\t}\n\tif (patch.url !== void 0) {\n\t\tconst url = normalizeEndpointUrl(patch.url);\n\t\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\t\tnext.url = url;\n\t}\n\tif (patch.password === null) delete next.password;\n\telse if (typeof patch.password === \"string\") next.password = patch.password;\n\tdata.endpoints[idx] = next;\n\twriteFile(data);\n\treturn next;\n}\nfunction deleteEndpoint(id) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot delete the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot delete the local Electron OpenCode entry (managed by Electron lifecycle)\");\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tdata.endpoints.splice(idx, 1);\n\tif (data.activeId === id) data.activeId = null;\n\twriteFile(data);\n}\n//#endregion\nexport { setActiveId as a, getState as c, listEndpoints as i, resetState as l, deleteEndpoint as n, updateEndpoint as o, getActiveEndpoint as r, validateEndpointUrl as s, addEndpoint as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.server-pc-TSpQy.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { i as redirect } from \"../chunks/exports.js\";\nimport { Et as readSecret, Ft as ensureHomeDirs, Lt as resolveStackDir, Q as isSetupComplete, _t as ensureOpenCodeSystemConfig, gt as writeRuntimeFiles, ht as resolveRuntimeFiles, vt as ensureOpenCodeConfig, xt as readStackRuntimeEnv, yt as ensureSecrets, zt as createLogger } from \"../chunks/src.js\";\nimport { c as getState } from \"../chunks/endpoints.js\";\nimport { n as checkHostHeader, r as checkOriginHeader, s as identifyCallerByToken, t as UI_PORT, v as touchSession } from \"../chunks/helpers.js\";\nimport { r as sessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../chunks/session-cookie.js\";\n//#region src/hooks.server.ts\nvar logger = createLogger(\"admin\");\nvar startupApplyDone = false;\nfunction runStartupApply() {\n\tif (startupApplyDone) return;\n\tstartupApplyDone = true;\n\ttry {\n\t\tensureHomeDirs();\n\t\tconst state = getState();\n\t\tensureSecrets(state);\n\t\tif (!process.env.OP_UI_LOGIN_PASSWORD) {\n\t\t\tconst pw = readSecret(state.stackDir, \"op_ui_login_password\");\n\t\t\tif (pw) process.env.OP_UI_LOGIN_PASSWORD = pw.trimEnd();\n\t\t}\n\t\tconst stackVars = readStackRuntimeEnv(state.stackDir);\n\t\tfor (const [k, v] of Object.entries(stackVars)) if (v && !process.env[k]) process.env[k] = v;\n\t\tensureOpenCodeConfig();\n\t\tensureOpenCodeSystemConfig();\n\t\tstate.artifacts = resolveRuntimeFiles();\n\t\twriteRuntimeFiles(state);\n\t\tlogger.info(\"startup auto-apply completed successfully\", { artifactMeta: state.artifactMeta });\n\t} catch (err) {\n\t\tlogger.error(\"startup auto-apply failed\", { error: String(err) });\n\t}\n}\nrunStartupApply();\nvar SETUP_PATHS = [\n\t\"/setup\",\n\t\"/api/setup\",\n\t\"/health\",\n\t\"/guardian/health\"\n];\nfunction isLocalhostAddress(ip) {\n\treturn ip === \"127.0.0.1\" || ip === \"::1\" || ip === \"::ffff:127.0.0.1\";\n}\nvar handle = async ({ event, resolve }) => {\n\tconst hostError = checkHostHeader(event.request, UI_PORT);\n\tif (hostError) return hostError;\n\tconst originError = checkOriginHeader(event.request, UI_PORT);\n\tif (originError) return originError;\n\tconst path = event.url.pathname;\n\tconst isSetupPath = SETUP_PATHS.some((p) => path === p || path.startsWith(p + \"/\"));\n\tif (isSetupPath && !isSetupComplete(resolveStackDir())) {\n\t\tif (!isLocalhostAddress(event.getClientAddress())) return new Response(JSON.stringify({\n\t\t\terror: \"setup_localhost_only\",\n\t\t\tmessage: \"Setup is only accessible from the host machine until installation is complete.\"\n\t\t}), {\n\t\t\tstatus: 403,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tif (!isSetupPath && !isSetupComplete(resolveStackDir())) redirect(302, \"/setup\");\n\tevent.locals.role = identifyCallerByToken(event);\n\tlet renewedCookie = null;\n\tif (event.locals.role === \"admin\") {\n\t\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\t\tconst renewed = match ? touchSession(match[1]) : false;\n\t\tif (renewed) renewedCookie = sessionCookieHeader(renewed, event.request);\n\t}\n\tconst isAuthPath = path === \"/login\" || path.startsWith(\"/login/\");\n\tif (event.request.method === \"GET\" && (event.request.headers.get(\"accept\") ?? \"\").includes(\"text/html\") && !event.locals.role && !isSetupPath && !isAuthPath) {\n\t\tconst redirectTo = path + event.url.search;\n\t\tredirect(302, `/login?redirectTo=${encodeURIComponent(redirectTo)}`);\n\t}\n\tconst response = await resolve(event);\n\tif (renewedCookie) {\n\t\tif (!(response.headers.get(\"set-cookie\") ?? \"\").includes(`op_session=`)) response.headers.append(\"set-cookie\", renewedCookie);\n\t}\n\tresponse.headers.set(\"X-Frame-Options\", \"DENY\");\n\tresponse.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n\tresponse.headers.set(\"Referrer-Policy\", \"no-referrer\");\n\treturn response;\n};\n//#endregion\nexport { handle };\n"],"names":[],"mappings":"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"}
|