@openpalm/ui 0.12.4 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/chunks/{CwrbcpZa.js → B-mBBr5-.js} +1 -1
- package/build/client/_app/immutable/chunks/B-mBBr5-.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-mBBr5-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DF0a4TzS.js → CRSbY4Kh.js} +1 -1
- package/build/client/_app/immutable/chunks/CRSbY4Kh.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRSbY4Kh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CwsyZWHi.js +1 -0
- package/build/client/_app/immutable/chunks/CwsyZWHi.js.br +2 -0
- package/build/client/_app/immutable/chunks/CwsyZWHi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BJvGvX8w.js → DQDnMiRB.js} +2 -2
- package/build/client/_app/immutable/chunks/DQDnMiRB.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQDnMiRB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B7Tzub6z.js → QZhQ9jgL.js} +1 -1
- package/build/client/_app/immutable/chunks/QZhQ9jgL.js.br +0 -0
- package/build/client/_app/immutable/chunks/QZhQ9jgL.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BKfeVXCZ.js → app.CjeyRTKT.js} +2 -2
- package/build/client/_app/immutable/entry/app.CjeyRTKT.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CjeyRTKT.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B0-iB266.js +1 -0
- package/build/client/_app/immutable/entry/start.B0-iB266.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B0-iB266.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.DmI_S0q4.js → 1.CsV7DNn1.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.BHriocBq.js → 4.KMrAUs2s.js} +3 -3
- package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BAEivWeB.js → 5.BtCa1kCv.js} +1 -1
- package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BbQyuQdv.js → 6.BVzjd6cM.js} +1 -1
- package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.gUDOE-wS.js → 7.vH7ptLBA.js} +1 -1
- package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.CzwJhXsi.js → 8.DbovpYj-.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DbovpYj-.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DbovpYj-.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/1-tqcyjyYn.js +9 -0
- package/build/server/chunks/{1-CpEwLT5m.js.map → 1-tqcyjyYn.js.map} +1 -1
- package/build/server/chunks/{10-Cn2Dy7hl.js → 10-ClWWC_db.js} +5 -5
- package/build/server/chunks/10-ClWWC_db.js.map +1 -0
- package/build/server/chunks/4-D45BCCjA.js +9 -0
- package/build/server/chunks/{4-DeEbyG9L.js.map → 4-D45BCCjA.js.map} +1 -1
- package/build/server/chunks/{5-C_AVL3ML.js → 5-DKkkz5Zu.js} +3 -3
- package/build/server/chunks/{5-C_AVL3ML.js.map → 5-DKkkz5Zu.js.map} +1 -1
- package/build/server/chunks/{6-CeQz74iU.js → 6-BmCqItlR.js} +3 -3
- package/build/server/chunks/{6-CeQz74iU.js.map → 6-BmCqItlR.js.map} +1 -1
- package/build/server/chunks/7-BCjeTrAw.js +9 -0
- package/build/server/chunks/{7-C2UdjZEe.js.map → 7-BCjeTrAw.js.map} +1 -1
- package/build/server/chunks/{8-CRJQbNkU.js → 8-BQYJohzV.js} +3 -3
- package/build/server/chunks/{8-CRJQbNkU.js.map → 8-BQYJohzV.js.map} +1 -1
- package/build/server/chunks/{ChatMessage-C3zhSEqG.js → ChatMessage-sBxcrkH1.js} +2 -2
- package/build/server/chunks/{ChatMessage-C3zhSEqG.js.map → ChatMessage-sBxcrkH1.js.map} +1 -1
- package/build/server/chunks/{Navbar-BcinocU9.js → Navbar-DocCJCkJ.js} +3 -3
- package/build/server/chunks/{Navbar-BcinocU9.js.map → Navbar-DocCJCkJ.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Bb7vzt_Z.js → _page.svelte-BW1I5ypa.js} +5 -5
- package/build/server/chunks/{_page.svelte-Bb7vzt_Z.js.map → _page.svelte-BW1I5ypa.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DJfYktUM.js → _page.svelte-BY9Xi4AF.js} +9 -9
- package/build/server/chunks/_page.svelte-BY9Xi4AF.js.map +1 -0
- package/build/server/chunks/{_page.svelte-lgQ0Kbg5.js → _page.svelte-BjO6HPPf.js} +3 -3
- package/build/server/chunks/{_page.svelte-lgQ0Kbg5.js.map → _page.svelte-BjO6HPPf.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BVDl6JeB.js → _page.svelte-BwkM4u_N.js} +5 -5
- package/build/server/chunks/{_page.svelte-BVDl6JeB.js.map → _page.svelte-BwkM4u_N.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BvrVz6_-.js → _page.svelte-MZeeV3UU.js} +6 -6
- package/build/server/chunks/{_page.svelte-BvrVz6_-.js.map → _page.svelte-MZeeV3UU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fAYxIyIR.js → _server.ts-00h626-G.js} +7 -7
- package/build/server/chunks/{_server.ts-fAYxIyIR.js.map → _server.ts-00h626-G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ZyzQPXeQ.js → _server.ts-2U69xsqn.js} +6 -6
- package/build/server/chunks/_server.ts-2U69xsqn.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ck827FB_.js → _server.ts-8dbeS-B9.js} +5 -5
- package/build/server/chunks/{_server.ts-Ck827FB_.js.map → _server.ts-8dbeS-B9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xSzkBuVc.js → _server.ts-B0-1jdCf.js} +5 -5
- package/build/server/chunks/_server.ts-B0-1jdCf.js.map +1 -0
- package/build/server/chunks/{_server.ts-CJBakoFV.js → _server.ts-B0USMUoE.js} +5 -5
- package/build/server/chunks/{_server.ts-CJBakoFV.js.map → _server.ts-B0USMUoE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-91I7ynkH.js → _server.ts-B0Zn6ksk.js} +2 -2
- package/build/server/chunks/{_server.ts-91I7ynkH.js.map → _server.ts-B0Zn6ksk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2h6Okpv.js → _server.ts-B2ePIe7k.js} +5 -5
- package/build/server/chunks/{_server.ts-C2h6Okpv.js.map → _server.ts-B2ePIe7k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CUH3naAY.js → _server.ts-B5mSiQLP.js} +6 -6
- package/build/server/chunks/{_server.ts-CUH3naAY.js.map → _server.ts-B5mSiQLP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BI2C6qUe.js → _server.ts-B6fdoTeE.js} +15 -7
- package/build/server/chunks/_server.ts-B6fdoTeE.js.map +1 -0
- package/build/server/chunks/{_server.ts-kfLUsZiO.js → _server.ts-B6kClDcC.js} +5 -5
- package/build/server/chunks/{_server.ts-kfLUsZiO.js.map → _server.ts-B6kClDcC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DafQt9jy.js → _server.ts-B8O9kJIV.js} +5 -5
- package/build/server/chunks/{_server.ts-DafQt9jy.js.map → _server.ts-B8O9kJIV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CyyWfC2T.js → _server.ts-BNXbXpJ7.js} +5 -5
- package/build/server/chunks/{_server.ts-CyyWfC2T.js.map → _server.ts-BNXbXpJ7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p06G7x-b.js → _server.ts-BRMEdAL7.js} +5 -5
- package/build/server/chunks/{_server.ts-p06G7x-b.js.map → _server.ts-BRMEdAL7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrxxAVPm.js → _server.ts-BS4JFPG5.js} +2 -2
- package/build/server/chunks/_server.ts-BS4JFPG5.js.map +1 -0
- package/build/server/chunks/{_server.ts-DrOcARFE.js → _server.ts-BT_5f2pb.js} +5 -5
- package/build/server/chunks/{_server.ts-DrOcARFE.js.map → _server.ts-BT_5f2pb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-GQs26Eo5.js → _server.ts-BTkI0MYh.js} +5 -5
- package/build/server/chunks/{_server.ts-GQs26Eo5.js.map → _server.ts-BTkI0MYh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-bPaUU6cX.js → _server.ts-BYY93Gcc.js} +5 -5
- package/build/server/chunks/{_server.ts-bPaUU6cX.js.map → _server.ts-BYY93Gcc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BCMUj81G.js → _server.ts-BYntUWuo.js} +6 -6
- package/build/server/chunks/{_server.ts-BCMUj81G.js.map → _server.ts-BYntUWuo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CgeiAKdV.js → _server.ts-BbArt_tL.js} +5 -5
- package/build/server/chunks/{_server.ts-CgeiAKdV.js.map → _server.ts-BbArt_tL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWan6n03.js → _server.ts-BbHE4obG.js} +5 -5
- package/build/server/chunks/{_server.ts-DWan6n03.js.map → _server.ts-BbHE4obG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-64CJ3e0t.js → _server.ts-Bd3yJr4m.js} +5 -5
- package/build/server/chunks/_server.ts-Bd3yJr4m.js.map +1 -0
- package/build/server/chunks/{_server.ts-CxsLly54.js → _server.ts-Bi-lppMP.js} +5 -5
- package/build/server/chunks/_server.ts-Bi-lppMP.js.map +1 -0
- package/build/server/chunks/{_server.ts-CIndR_iz.js → _server.ts-Bk8_1LiE.js} +5 -5
- package/build/server/chunks/_server.ts-Bk8_1LiE.js.map +1 -0
- package/build/server/chunks/{_server.ts-DNWOks8X.js → _server.ts-Bo6s1ApS.js} +2 -2
- package/build/server/chunks/{_server.ts-DNWOks8X.js.map → _server.ts-Bo6s1ApS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BM0luqg_.js → _server.ts-ByQUGvJ2.js} +7 -7
- package/build/server/chunks/{_server.ts-BM0luqg_.js.map → _server.ts-ByQUGvJ2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BBecKdll.js → _server.ts-BygTeTVH.js} +5 -5
- package/build/server/chunks/{_server.ts-BBecKdll.js.map → _server.ts-BygTeTVH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ba9XjYRd.js → _server.ts-C3bsXngt.js} +5 -5
- package/build/server/chunks/_server.ts-C3bsXngt.js.map +1 -0
- package/build/server/chunks/{_server.ts-C7Y7eqdw.js → _server.ts-CBPnXtls.js} +5 -5
- package/build/server/chunks/{_server.ts-C7Y7eqdw.js.map → _server.ts-CBPnXtls.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bw9PMVxW.js → _server.ts-CCP8qBay.js} +5 -5
- package/build/server/chunks/{_server.ts-Bw9PMVxW.js.map → _server.ts-CCP8qBay.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VQhKGldS.js → _server.ts-CLZTQAem.js} +4 -4
- package/build/server/chunks/{_server.ts-VQhKGldS.js.map → _server.ts-CLZTQAem.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGcrE6M7.js → _server.ts-CMC-D6G8.js} +5 -5
- package/build/server/chunks/_server.ts-CMC-D6G8.js.map +1 -0
- package/build/server/chunks/{_server.ts-BITp3a_v.js → _server.ts-CP-vg4Mu.js} +5 -5
- package/build/server/chunks/{_server.ts-BITp3a_v.js.map → _server.ts-CP-vg4Mu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFm_Hd2O.js → _server.ts-CPhe1fct.js} +7 -7
- package/build/server/chunks/_server.ts-CPhe1fct.js.map +1 -0
- package/build/server/chunks/{_server.ts-CU7VZJ6f.js → _server.ts-CQ9c5VQq.js} +7 -7
- package/build/server/chunks/{_server.ts-CU7VZJ6f.js.map → _server.ts-CQ9c5VQq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DxBcS53H.js → _server.ts-CTGWKDqf.js} +5 -5
- package/build/server/chunks/_server.ts-CTGWKDqf.js.map +1 -0
- package/build/server/chunks/{_server.ts-vQaP8yat.js → _server.ts-CV72vnaf.js} +6 -6
- package/build/server/chunks/{_server.ts-vQaP8yat.js.map → _server.ts-CV72vnaf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBbsu7xm.js → _server.ts-CVuztMSL.js} +5 -5
- package/build/server/chunks/{_server.ts-DBbsu7xm.js.map → _server.ts-CVuztMSL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhoSTBK-.js → _server.ts-CVxVsVXt.js} +24 -10
- package/build/server/chunks/_server.ts-CVxVsVXt.js.map +1 -0
- package/build/server/chunks/{_server.ts-B8SaErJq.js → _server.ts-CX3Pbgq3.js} +5 -5
- package/build/server/chunks/_server.ts-CX3Pbgq3.js.map +1 -0
- package/build/server/chunks/{_server.ts-CWTds10O.js → _server.ts-CaJXmvRh.js} +6 -6
- package/build/server/chunks/{_server.ts-CWTds10O.js.map → _server.ts-CaJXmvRh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D58CNDu8.js → _server.ts-Cc5hNlzC.js} +2 -2
- package/build/server/chunks/{_server.ts-D58CNDu8.js.map → _server.ts-Cc5hNlzC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPCcS7yj.js → _server.ts-ChWPLbia.js} +5 -5
- package/build/server/chunks/_server.ts-ChWPLbia.js.map +1 -0
- package/build/server/chunks/{_server.ts-CsEwDImR.js → _server.ts-CpyY-cWr.js} +5 -5
- package/build/server/chunks/{_server.ts-CsEwDImR.js.map → _server.ts-CpyY-cWr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cs62GxYE.js → _server.ts-CsVvCVw7.js} +5 -5
- package/build/server/chunks/_server.ts-CsVvCVw7.js.map +1 -0
- package/build/server/chunks/{_server.ts-DhDSn7j7.js → _server.ts-CuYxH3uM.js} +5 -5
- package/build/server/chunks/_server.ts-CuYxH3uM.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCzxvSLS.js → _server.ts-D69kt8gW.js} +6 -6
- package/build/server/chunks/{_server.ts-BCzxvSLS.js.map → _server.ts-D69kt8gW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LkEnfz4f.js → _server.ts-D6gXnT0S.js} +6 -6
- package/build/server/chunks/{_server.ts-LkEnfz4f.js.map → _server.ts-D6gXnT0S.js.map} +1 -1
- package/build/server/chunks/{_server.ts-c-7O7nSF.js → _server.ts-DC_Vh8E6.js} +5 -5
- package/build/server/chunks/{_server.ts-c-7O7nSF.js.map → _server.ts-DC_Vh8E6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNFp71jg.js → _server.ts-DDpDu1Zf.js} +5 -5
- package/build/server/chunks/{_server.ts-CNFp71jg.js.map → _server.ts-DDpDu1Zf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNWXdf7z.js → _server.ts-DEwkX3ls.js} +6 -6
- package/build/server/chunks/{_server.ts-BNWXdf7z.js.map → _server.ts-DEwkX3ls.js.map} +1 -1
- package/build/server/chunks/{_server.ts-hTPh1NnS.js → _server.ts-DGS3HL5L.js} +5 -5
- package/build/server/chunks/{_server.ts-hTPh1NnS.js.map → _server.ts-DGS3HL5L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Mg95_8F-.js → _server.ts-DGWQtatZ.js} +5 -5
- package/build/server/chunks/{_server.ts-Mg95_8F-.js.map → _server.ts-DGWQtatZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dm0PNurt.js → _server.ts-DHBcE-xZ.js} +6 -6
- package/build/server/chunks/{_server.ts-Dm0PNurt.js.map → _server.ts-DHBcE-xZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-NrXaVOq8.js → _server.ts-DJX0LiE-.js} +7 -7
- package/build/server/chunks/_server.ts-DJX0LiE-.js.map +1 -0
- package/build/server/chunks/{_server.ts-u1wafOIS.js → _server.ts-DL0R4W6K.js} +5 -5
- package/build/server/chunks/{_server.ts-u1wafOIS.js.map → _server.ts-DL0R4W6K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-M-fzAyjj.js → _server.ts-DLgRTupQ.js} +5 -5
- package/build/server/chunks/_server.ts-DLgRTupQ.js.map +1 -0
- package/build/server/chunks/{_server.ts-B0L3seRh.js → _server.ts-DLtfdvdM.js} +5 -5
- package/build/server/chunks/{_server.ts-B0L3seRh.js.map → _server.ts-DLtfdvdM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmlWOD93.js → _server.ts-DM3isq5U.js} +6 -6
- package/build/server/chunks/{_server.ts-BmlWOD93.js.map → _server.ts-DM3isq5U.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJuecwBg.js → _server.ts-DMHPUxEu.js} +5 -5
- package/build/server/chunks/{_server.ts-DJuecwBg.js.map → _server.ts-DMHPUxEu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-GZ5EYJAh.js → _server.ts-DPEInT5Z.js} +5 -5
- package/build/server/chunks/{_server.ts-GZ5EYJAh.js.map → _server.ts-DPEInT5Z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtkOMkr7.js → _server.ts-DStYEikA.js} +5 -5
- package/build/server/chunks/{_server.ts-BtkOMkr7.js.map → _server.ts-DStYEikA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DpeFN0xU.js → _server.ts-DTM2mODf.js} +5 -5
- package/build/server/chunks/{_server.ts-DpeFN0xU.js.map → _server.ts-DTM2mODf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-z-6hnUCv.js → _server.ts-DccTW04Z.js} +5 -5
- package/build/server/chunks/{_server.ts-z-6hnUCv.js.map → _server.ts-DccTW04Z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cz7ADgFl.js → _server.ts-Ddq07WNJ.js} +5 -5
- package/build/server/chunks/{_server.ts-Cz7ADgFl.js.map → _server.ts-Ddq07WNJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dv-WpTLz.js → _server.ts-DfNcqz8C.js} +5 -5
- package/build/server/chunks/{_server.ts-Dv-WpTLz.js.map → _server.ts-DfNcqz8C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DO8wnB3g.js → _server.ts-DjMVgo8F.js} +5 -5
- package/build/server/chunks/{_server.ts-DO8wnB3g.js.map → _server.ts-DjMVgo8F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbI6rEYt.js → _server.ts-DkPleuhw.js} +7 -7
- package/build/server/chunks/{_server.ts-DbI6rEYt.js.map → _server.ts-DkPleuhw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DtftyqNM.js → _server.ts-DoZLeC7k.js} +5 -5
- package/build/server/chunks/{_server.ts-DtftyqNM.js.map → _server.ts-DoZLeC7k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BQZjbMf8.js → _server.ts-DoltyIQF.js} +5 -5
- package/build/server/chunks/{_server.ts-BQZjbMf8.js.map → _server.ts-DoltyIQF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Daz7JGpW.js → _server.ts-DsJ0wRlK.js} +8 -8
- package/build/server/chunks/{_server.ts-Daz7JGpW.js.map → _server.ts-DsJ0wRlK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdpBv_pL.js → _server.ts-DurWW9F4.js} +5 -5
- package/build/server/chunks/{_server.ts-BdpBv_pL.js.map → _server.ts-DurWW9F4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LLv_O4kj.js → _server.ts-KVlAwfa7.js} +6 -6
- package/build/server/chunks/{_server.ts-LLv_O4kj.js.map → _server.ts-KVlAwfa7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DSJbBXMK.js → _server.ts-Nx5G7kN_.js} +5 -5
- package/build/server/chunks/{_server.ts-DSJbBXMK.js.map → _server.ts-Nx5G7kN_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByX2JplS.js → _server.ts-OaY_Oi6x.js} +5 -5
- package/build/server/chunks/_server.ts-OaY_Oi6x.js.map +1 -0
- package/build/server/chunks/{_server.ts-xeuXigqn.js → _server.ts-SF6pSx63.js} +5 -5
- package/build/server/chunks/{_server.ts-xeuXigqn.js.map → _server.ts-SF6pSx63.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VUY0ZQed.js → _server.ts-SOuORDIo.js} +5 -5
- package/build/server/chunks/{_server.ts-VUY0ZQed.js.map → _server.ts-SOuORDIo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-nzuxBifp.js → _server.ts-ZnjMekBF.js} +5 -5
- package/build/server/chunks/{_server.ts-nzuxBifp.js.map → _server.ts-ZnjMekBF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkIJ4wAj.js → _server.ts-dfDPdIru.js} +5 -5
- package/build/server/chunks/{_server.ts-CkIJ4wAj.js.map → _server.ts-dfDPdIru.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkJZABtl.js → _server.ts-f8-Db9lI.js} +5 -5
- package/build/server/chunks/{_server.ts-CkJZABtl.js.map → _server.ts-f8-Db9lI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Yzrl5mD-.js → _server.ts-fM6Gkpfd.js} +6 -6
- package/build/server/chunks/{_server.ts-Yzrl5mD-.js.map → _server.ts-fM6Gkpfd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VW0g_Tvb.js → _server.ts-ib6n7JpR.js} +5 -5
- package/build/server/chunks/{_server.ts-VW0g_Tvb.js.map → _server.ts-ib6n7JpR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B22aQonK.js → _server.ts-sBc-WN6M.js} +2 -2
- package/build/server/chunks/{_server.ts-B22aQonK.js.map → _server.ts-sBc-WN6M.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHlzEfZF.js → _server.ts-t98jwIra.js} +4 -4
- package/build/server/chunks/_server.ts-t98jwIra.js.map +1 -0
- package/build/server/chunks/{_server.ts-KhkI1RGi.js → _server.ts-w0HFBqit.js} +6 -6
- package/build/server/chunks/{_server.ts-KhkI1RGi.js.map → _server.ts-w0HFBqit.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BpUM4_Zi.js → _server.ts-z3FqDVpm.js} +5 -5
- package/build/server/chunks/{_server.ts-BpUM4_Zi.js.map → _server.ts-z3FqDVpm.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-66VnIGag.js → addon-helpers-Bo4hdZTj.js} +3 -3
- package/build/server/chunks/addon-helpers-Bo4hdZTj.js.map +1 -0
- package/build/server/chunks/{akm-CWrixfEU.js → akm-DbPcENjV.js} +2 -2
- package/build/server/chunks/{akm-CWrixfEU.js.map → akm-DbPcENjV.js.map} +1 -1
- package/build/server/chunks/{catalog-COqzRW3r.js → catalog--Wa5WAM4.js} +5 -5
- package/build/server/chunks/{catalog-COqzRW3r.js.map → catalog--Wa5WAM4.js.map} +1 -1
- package/build/server/chunks/{client-BsbnGrZJ.js → client-BILypdph.js} +2 -2
- package/build/server/chunks/{client-BsbnGrZJ.js.map → client-BILypdph.js.map} +1 -1
- package/build/server/chunks/{config-Db8mj1nW.js → config-CfZrAmt4.js} +2 -2
- package/build/server/chunks/{config-Db8mj1nW.js.map → config-CfZrAmt4.js.map} +1 -1
- package/build/server/chunks/{docker-D0cbFh2g.js → docker-C_kgiGOO.js} +2 -2
- package/build/server/chunks/{docker-D0cbFh2g.js.map → docker-C_kgiGOO.js.map} +1 -1
- package/build/server/chunks/{endpoints-CSJcyuQ5.js → endpoints-DNux-fut.js} +2 -2
- package/build/server/chunks/{endpoints-CSJcyuQ5.js.map → endpoints-DNux-fut.js.map} +1 -1
- package/build/server/chunks/{environment-CTDQmO1c.js → environment-Doz0aMGk.js} +2 -2
- package/build/server/chunks/{environment-CTDQmO1c.js.map → environment-Doz0aMGk.js.map} +1 -1
- package/build/server/chunks/{error.svelte-z9fDkMtQ.js → error.svelte-ESC3aLu5.js} +4 -4
- package/build/server/chunks/{error.svelte-z9fDkMtQ.js.map → error.svelte-ESC3aLu5.js.map} +1 -1
- package/build/server/chunks/{helpers-7s-OT4v_.js → helpers-CIHSEiCi.js} +3 -3
- package/build/server/chunks/{helpers-7s-OT4v_.js.map → helpers-CIHSEiCi.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DFXp6Fpb.js → hooks.server-SolNV84_.js} +7 -7
- package/build/server/chunks/hooks.server-SolNV84_.js.map +1 -0
- package/build/server/chunks/{http-BWePsoTg.js → http-29NeXi8J.js} +2 -2
- package/build/server/chunks/{http-BWePsoTg.js.map → http-29NeXi8J.js.map} +1 -1
- package/build/server/chunks/{internal-U63OU4kM.js → internal-AjT2L6Re.js} +3 -3
- package/build/server/chunks/{internal-U63OU4kM.js.map → internal-AjT2L6Re.js.map} +1 -1
- package/build/server/chunks/{migration-status-xL4GH9I1.js → migration-status-eArABSVL.js} +2 -2
- package/build/server/chunks/{migration-status-xL4GH9I1.js.map → migration-status-eArABSVL.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CjB6mIOV.js → session-cookie-5PNazqrm.js} +2 -2
- package/build/server/chunks/{session-cookie-CjB6mIOV.js.map → session-cookie-5PNazqrm.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-BxEUM8fd.js → setup-deploy-pyw7oUsn.js} +2 -2
- package/build/server/chunks/{setup-deploy-BxEUM8fd.js.map → setup-deploy-pyw7oUsn.js.map} +1 -1
- package/build/server/chunks/{src-DtWMUJLN.js → src-C5kkVuFB.js} +19 -12
- package/build/server/chunks/src-C5kkVuFB.js.map +1 -0
- package/build/server/chunks/{state-B9HoCQnp.js → state-BAMdGxdT.js} +2 -2
- package/build/server/chunks/{state-B9HoCQnp.js.map → state-BAMdGxdT.js.map} +1 -1
- package/build/server/chunks/{state2-BdbHTMvo.js → state2-BVeJ-USX.js} +2 -2
- package/build/server/chunks/{state2-BdbHTMvo.js.map → state2-BVeJ-USX.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +93 -93
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/B7Tzub6z.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7Tzub6z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BJvGvX8w.js.br +0 -0
- package/build/client/_app/immutable/chunks/BJvGvX8w.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cob61iTa.js +0 -1
- package/build/client/_app/immutable/chunks/Cob61iTa.js.br +0 -2
- package/build/client/_app/immutable/chunks/Cob61iTa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CwrbcpZa.js.br +0 -0
- package/build/client/_app/immutable/chunks/CwrbcpZa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DF0a4TzS.js.br +0 -0
- package/build/client/_app/immutable/chunks/DF0a4TzS.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BKfeVXCZ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BKfeVXCZ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BXYu_Ydh.js +0 -1
- package/build/client/_app/immutable/entry/start.BXYu_Ydh.js.br +0 -1
- package/build/client/_app/immutable/entry/start.BXYu_Ydh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DmI_S0q4.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DmI_S0q4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BHriocBq.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BHriocBq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BAEivWeB.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BAEivWeB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BbQyuQdv.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BbQyuQdv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.gUDOE-wS.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.gUDOE-wS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CzwJhXsi.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CzwJhXsi.js.gz +0 -0
- package/build/server/chunks/1-CpEwLT5m.js +0 -9
- package/build/server/chunks/10-Cn2Dy7hl.js.map +0 -1
- package/build/server/chunks/4-DeEbyG9L.js +0 -9
- package/build/server/chunks/7-C2UdjZEe.js +0 -9
- package/build/server/chunks/_page.svelte-DJfYktUM.js.map +0 -1
- package/build/server/chunks/_server.ts-64CJ3e0t.js.map +0 -1
- package/build/server/chunks/_server.ts-B8SaErJq.js.map +0 -1
- package/build/server/chunks/_server.ts-BGcrE6M7.js.map +0 -1
- package/build/server/chunks/_server.ts-BHlzEfZF.js.map +0 -1
- package/build/server/chunks/_server.ts-BI2C6qUe.js.map +0 -1
- package/build/server/chunks/_server.ts-Ba9XjYRd.js.map +0 -1
- package/build/server/chunks/_server.ts-BhoSTBK-.js.map +0 -1
- package/build/server/chunks/_server.ts-ByX2JplS.js.map +0 -1
- package/build/server/chunks/_server.ts-CFm_Hd2O.js.map +0 -1
- package/build/server/chunks/_server.ts-CIndR_iz.js.map +0 -1
- package/build/server/chunks/_server.ts-CrxxAVPm.js.map +0 -1
- package/build/server/chunks/_server.ts-Cs62GxYE.js.map +0 -1
- package/build/server/chunks/_server.ts-CxsLly54.js.map +0 -1
- package/build/server/chunks/_server.ts-DPCcS7yj.js.map +0 -1
- package/build/server/chunks/_server.ts-DhDSn7j7.js.map +0 -1
- package/build/server/chunks/_server.ts-DxBcS53H.js.map +0 -1
- package/build/server/chunks/_server.ts-M-fzAyjj.js.map +0 -1
- package/build/server/chunks/_server.ts-NrXaVOq8.js.map +0 -1
- package/build/server/chunks/_server.ts-ZyzQPXeQ.js.map +0 -1
- package/build/server/chunks/_server.ts-xSzkBuVc.js.map +0 -1
- package/build/server/chunks/addon-helpers-66VnIGag.js.map +0 -1
- package/build/server/chunks/hooks.server-DFXp6Fpb.js.map +0 -1
- package/build/server/chunks/src-DtWMUJLN.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-64CJ3e0t.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/update/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, F as parseComposeStderr, H as applyUpdate, I as summarizeComposeStderr, It as ensureOpenCodeConfig, L as buildComposeOptions, Qt as ensureHomeDirs, U as buildManagedServices, Zt as ensureOpenCodeSystemConfig, at as composePull, ut as composeUp, yn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/update/+server.ts\nvar logger = createLogger(\"update\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"update request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:update\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tconst result = await applyUpdate(state);\n\t\t\tlogger.info(\"update applied, re-running compose\", {\n\t\t\t\trequestId,\n\t\t\t\tintended: result.restarted\n\t\t\t});\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tconst intendedServices = await buildManagedServices(state);\n\t\t\tlet restarted = [];\n\t\t\tlet failed = [];\n\t\t\tlet dockerError;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tconst composeOpts = buildComposeOptions(state);\n\t\t\t\tconst pullResult = await composePull(composeOpts);\n\t\t\t\tif (!pullResult.ok) logger.warn(\"update: image pull failed — recreating from local images\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tstderr: pullResult.stderr?.slice(0, 300)\n\t\t\t\t});\n\t\t\t\tconst composeResult = await composeUp({\n\t\t\t\t\t...composeOpts,\n\t\t\t\t\tservices: intendedServices,\n\t\t\t\t\tforceRecreate: true\n\t\t\t\t});\n\t\t\t\tif (composeResult.ok) restarted = intendedServices;\n\t\t\t\telse {\n\t\t\t\t\tfailed = parseComposeStderr(composeResult.stderr);\n\t\t\t\t\tconst failedNames = new Set(failed.map((f) => f.service));\n\t\t\t\t\trestarted = intendedServices.filter((s) => !failedNames.has(s));\n\t\t\t\t\tif (failed.length === 0) {\n\t\t\t\t\t\tfailed = [{\n\t\t\t\t\t\t\tservice: \"stack\",\n\t\t\t\t\t\t\treason: summarizeComposeStderr(composeResult.stderr) || `docker compose exited with code ${composeResult.code}`\n\t\t\t\t\t\t}];\n\t\t\t\t\t\trestarted = [];\n\t\t\t\t\t}\n\t\t\t\t\tdockerError = summarizeComposeStderr(composeResult.stderr);\n\t\t\t\t\tlogger.warn(\"compose up reported failures\", {\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tcode: composeResult.code,\n\t\t\t\t\t\tfailed,\n\t\t\t\t\t\trestarted\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst overallSuccess = dockerCheck.ok && failed.length === 0;\n\t\t\tconst status = failed.length > 0 ? 502 : 200;\n\t\t\tlogger.info(\"update completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\toverallSuccess,\n\t\t\t\trestartedCount: restarted.length,\n\t\t\t\tfailedCount: failed.length\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\trestarted,\n\t\t\t\tfailed,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\toverallSuccess,\n\t\t\t\t...dockerError ? { error: dockerError } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"update failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"update_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-B8SaErJq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, O as isAllowedService, lt as composeStop, yn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BGcrE6M7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/events/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, dt as getDockerEvents } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BHlzEfZF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/retry-deploy/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $ as checkDocker, en as resolveStackDir, pt as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { i as startDeploy, t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/retry-deploy/+server.ts\nvar POST = async () => {\n\tif (isSetupComplete(resolveStackDir())) return json({\n\t\tok: false,\n\t\terror: \"setup_complete\",\n\t\tmessage: \"Setup is already complete.\"\n\t}, { status: 409 });\n\tif (!(await checkDocker()).ok) return json({\n\t\tok: false,\n\t\terror: \"docker_unavailable\",\n\t\tmessage: \"Docker isn't running. Start Docker, then retry deploy.\"\n\t}, { status: 503 });\n\tif (getDeployState(getState()).deploying) return json({\n\t\tok: false,\n\t\terror: \"install_in_progress\",\n\t\tmessage: \"A deploy is already running.\"\n\t}, { status: 409 });\n\tstartDeploy(getState());\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;AACrD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,gBAAgB;AACzB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC5C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,oBAAoB;AAC7B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;AACvD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,qBAAqB;AAC9B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BI2C6qUe.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { Ot as listEnabledAddonIds, an as resolveEffectivePlatformImageTag, ln as formatForDisplay, on as parseEnvFile, sn as PLATFORM_VERSION } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { existsSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\",\n\t\"gateway\"\n];\nvar GET = (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tconst envVars = existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {};\n\tconst imageTag = envVars.OP_IMAGE_TAG ?? \"latest\";\n\tconst enabledAddons = listEnabledAddonIds(state.homeDir);\n\tconst portalEnabled = enabledAddons.some((a) => PORTAL_ADDON_IDS.includes(a));\n\tconst services = [{\n\t\tid: \"assistant\",\n\t\tlabel: \"Assistant\",\n\t\tversion: envVars.OP_ASSISTANT_IMAGE_TAG ?? imageTag\n\t}];\n\tif (portalEnabled) {\n\t\tservices.push({\n\t\t\tid: \"guardian\",\n\t\t\tlabel: \"Guardian\",\n\t\t\tversion: resolveEffectivePlatformImageTag(envVars, \"guardian\")\n\t\t});\n\t\tservices.push({\n\t\t\tid: \"portal\",\n\t\t\tlabel: \"Chat (Discord/Slack)\",\n\t\t\tversion: resolveEffectivePlatformImageTag(envVars, \"portal\")\n\t\t});\n\t}\n\tif (enabledAddons.includes(\"voice\")) services.push({\n\t\tid: \"voice\",\n\t\tlabel: \"Voice\",\n\t\tversion: envVars.OP_VOICE_IMAGE_TAG ?? imageTag\n\t});\n\tif (enabledAddons.includes(\"ollama\")) services.push({\n\t\tid: \"ollama\",\n\t\tlabel: \"Ollama\",\n\t\tversion: envVars.OP_OLLAMA_IMAGE_TAG ?? imageTag\n\t});\n\tconst inElectron = process.env.OP_INSIDE_ELECTRON === \"1\";\n\tconst electronVersion = process.env.OP_ELECTRON_VERSION ?? null;\n\tconst electronLatestVersion = process.env.OP_ELECTRON_LATEST_VERSION ?? null;\n\tconst electronLatestUrl = process.env.OP_ELECTRON_LATEST_URL ?? null;\n\tconst harnessContractVersion = process.env.OP_HARNESS_CONTRACT_VERSION ? Number(process.env.OP_HARNESS_CONTRACT_VERSION) : null;\n\tconst platformVersion = formatForDisplay(PLATFORM_VERSION);\n\treturn json({\n\t\timageTag,\n\t\tservices,\n\t\tinElectron,\n\t\telectronVersion,\n\t\telectronLatestVersion,\n\t\telectronLatestUrl,\n\t\telectronUpdateAvailable: !!electronLatestVersion,\n\t\tharnessVersion: electronVersion,\n\t\tharnessContractVersion,\n\t\tharnessUpdateAvailable: !!electronLatestVersion,\n\t\tplatformVersion\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-Ba9XjYRd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, B as applyTagChange, R as DowngradeConfirmationRequired, yn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst confirmDowngrade = body.confirmDowngrade === true;\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await applyTagChange(state, tag, { confirmDowngrade });\n\t} catch (e) {\n\t\tif (e instanceof DowngradeConfirmationRequired) {\n\t\t\tlogger.info(\"stack-version downgrade requires confirmation\", {\n\t\t\t\trequestId,\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t});\n\t\t\treturn errorResponse(409, \"downgrade_confirmation_required\", e.message, {\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BhoSTBK-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { cn as compareComparableVersions, ln as formatForDisplay, sn as PLATFORM_VERSION, un as isComparableSemver } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/releases/+server.ts\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: `GitHub API ${res.status}`\n\t\t});\n\t\tconst raw = await res.json();\n\t\tconst platformVersion = formatForDisplay(PLATFORM_VERSION);\n\t\treturn json({\n\t\t\treleases: raw.map((r) => ({\n\t\t\t\ttag: r.tag_name.replace(/^v/, \"\"),\n\t\t\t\tprerelease: r.prerelease,\n\t\t\t\tpublishedAt: r.published_at\n\t\t\t})).filter((r) => !isComparableSemver(r.tag) || compareComparableVersions(r.tag, PLATFORM_VERSION) <= 0),\n\t\t\tplatformVersion\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qEAAqE,EAAE;AACjG,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AAC9B,EAAE,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;AAC5D,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC7B,IAAI,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACrC,IAAI,UAAU,EAAE,CAAC,CAAC,UAAU;AAC5B,IAAI,WAAW,EAAE,CAAC,CAAC;AACnB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3G,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-ByX2JplS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/list/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, U as buildManagedServices, it as composePs } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/list/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tlet dockerContainers = null;\n\tif (dockerCheck.ok) {\n\t\tconst ps = await composePs(buildComposeOptions(state));\n\t\tif (ps.ok && ps.stdout.trim()) try {\n\t\t\tdockerContainers = ps.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[containers.list] Failed to parse docker compose ps output\", e);\n\t\t\tdockerContainers = null;\n\t\t}\n\t}\n\tif (dockerContainers) {\n\t\tconst dockerStateByService = /* @__PURE__ */ new Map();\n\t\tfor (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);\n\t\tfor (const service of Object.keys(state.services)) {\n\t\t\tconst dockerState = dockerStateByService.get(service);\n\t\t\tif (dockerState) state.services[service] = dockerState === \"running\" ? \"running\" : \"stopped\";\n\t\t}\n\t}\n\tlet managedServices;\n\ttry {\n\t\tmanagedServices = await buildManagedServices(state);\n\t} catch {\n\t\tmanagedServices = Object.keys(state.services);\n\t}\n\tconst managedSet = new Set(managedServices);\n\tconst containers = {};\n\tfor (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;\n\treturn jsonResponse(200, {\n\t\tcontainers,\n\t\tdockerContainers,\n\t\tdockerAvailable: dockerCheck.ok,\n\t\tmanagedServices\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,gBAAgB,GAAG,IAAI;AAC5B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE;AACrB,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AACrC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC;AAChF,GAAG,gBAAgB,GAAG,IAAI;AAC1B,EAAE;AACF,CAAC;AACD,CAAC,IAAI,gBAAgB,EAAE;AACvB,EAAE,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACxD,EAAE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AAC1G,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACrD,GAAG,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxD,GAAG,IAAI,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/F,EAAE;AACF,CAAC;AACD,CAAC,IAAI,eAAe;AACpB,CAAC,IAAI;AACL,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACjH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,UAAU;AACZ,EAAE,gBAAgB;AAClB,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE;AACjC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CFm_Hd2O.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $ as checkDocker, P as mapDockerError, en as resolveStackDir, o as performSetup, pt as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CIndR_iz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, O as isAllowedService, nt as composeLogs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CrxxAVPm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $ as checkDocker, Q as detectRuntime, et as checkDockerCompose, l as detectGpu, u as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name || !name.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports && ports.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-Cs62GxYE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, O as isAllowedService, st as composeStart, yn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,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,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CxsLly54.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, It as ensureOpenCodeConfig, L as buildComposeOptions, Lt as ensureSecrets, Qt as ensureHomeDirs, U as buildManagedServices, Zt as ensureOpenCodeSystemConfig, ut as composeUp, vn as CORE_SERVICES, yn as createLogger, z as applyInstall } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tlogger.info(\"ensuring home directories and seeding config\", { requestId });\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tensureSecrets(state);\n\t\t\tawait applyInstall(state);\n\t\t\tconst managedServices = await buildManagedServices(state);\n\t\t\tlogger.info(\"checking Docker availability\", { requestId });\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tlet dockerResult = null;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tlogger.info(\"starting compose up\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t\tdockerResult = await composeUp({\n\t\t\t\t\t...buildComposeOptions(state),\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst started = [...CORE_SERVICES];\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeOk: dockerResult?.ok ?? null\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeResult: dockerResult ? {\n\t\t\t\t\tok: dockerResult.ok,\n\t\t\t\t\tstderr: dockerResult.stderr\n\t\t\t\t} : null\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7E,GAAG,cAAc,EAAE;AACnB,GAAG,oBAAoB,EAAE;AACzB,GAAG,0BAA0B,EAAE;AAC/B,GAAG,aAAa,CAAC,KAAK,CAAC;AACvB,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC5D,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,YAAY,GAAG,IAAI;AAC1B,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACvC,KAAK,SAAS;AACd,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC;AACnC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAClC,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,GAAG,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC;AACrC,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI;AACnC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,aAAa,EAAE,YAAY,GAAG;AAClC,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE;AACxB,KAAK,MAAM,EAAE,YAAY,CAAC;AAC1B,KAAK,GAAG;AACR,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DPCcS7yj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/upgrade/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, It as ensureOpenCodeConfig, K as performUpgrade, Lt as ensureSecrets, Qt as ensureHomeDirs, Zt as ensureOpenCodeSystemConfig, dn as isPrerelease, nn as MigrationError, rn as ensureMigrated, sn as PLATFORM_VERSION, yn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/upgrade/+server.ts\nvar logger = createLogger(\"upgrade\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"upgrade request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst report = ensureMigrated();\n\t\tif (report.migrated) logger.info(\"layout migrated\", {\n\t\t\trequestId,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tbackupDir: report.backupDir,\n\t\t\tnotes: report.notes\n\t\t});\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) {\n\t\t\tlogger.error(\"auto-migration aborted\", {\n\t\t\t\trequestId,\n\t\t\t\terror: e.message,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t});\n\t\t\treturn errorResponse(500, \"migration_failed\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t}, requestId);\n\t\t}\n\t\tthrow e;\n\t}\n\tconst state = getState();\n\tensureHomeDirs();\n\tensureOpenCodeConfig();\n\tensureOpenCodeSystemConfig();\n\tensureSecrets(state);\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"upgrade aborted: docker unavailable\", {\n\t\t\trequestId,\n\t\t\tstderr: dockerCheck.stderr\n\t\t});\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await performUpgrade(state, { allowPrerelease: isPrerelease(PLATFORM_VERSION) });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"upgrade failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"upgrade_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"upgrade completed\", {\n\t\trequestId,\n\t\timageTag: result.imageTag,\n\t\tassetsUpdated: result.assetsUpdated\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\tbackupDir: result.backupDir,\n\t\tassetsUpdated: result.assetsUpdated,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DhDSn7j7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, O as isAllowedService, ot as composeRestart, yn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DxBcS53H.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, U as buildManagedServices, at as composePull, ut as composeUp, yn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-M-fzAyjj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/uninstall/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, V as applyUninstall, tt as composeDown, yn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-NrXaVOq8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, Yt as authJsonPath, a as importHostOpenCode, i as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-ZyzQPXeQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $ as checkDocker, L as buildComposeOptions, Yt as authJsonPath, a as importHostOpenCode, i as detectHostOpenCode, yn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /admin/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(state);\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-xSzkBuVc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, ct as composeStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addon-helpers-66VnIGag.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { $ as checkDocker, L as buildComposeOptions, Ot as listEnabledAddonIds, Tt as getAddonServiceNames, kt as setAddonEnabled, lt as composeStop, yn as createLogger } from \"./src.js\";\nimport { n as resetState } from \"./state.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.server-DFXp6Fpb.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { i as redirect } from \"../chunks/exports.js\";\nimport { Bt as readStackRuntimeEnv, Ft as writeRuntimeFiles, Gt as readSecret, It as ensureOpenCodeConfig, L as buildComposeOptions, Lt as ensureSecrets, Pt as resolveRuntimeFiles, Q as detectRuntime, Qt as ensureHomeDirs, X as deriveLaunchStatus, Y as classifyLocalInstall, Z as deriveLocalStackState, Zt as ensureOpenCodeSystemConfig, en as resolveStackDir, it as composePs, pt as isSetupComplete, t as collectBindAddressWarnings, yn as createLogger } from \"../chunks/src.js\";\nimport { t as getState } from \"../chunks/state.js\";\nimport { a as listRemoteStatuses } 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\";\nimport { n as isMigrationBlocking } from \"../chunks/migration-status.js\";\n//#region src/hooks.server.ts\nvar logger = createLogger(\"admin\");\nvar startupApplyDone = false;\nvar setupCompleteMemo = false;\nvar localStatusCache = null;\n/** Test-only: clear the 5s launch-routing cache so each test resolves fresh. */\nfunction _resetLaunchCache() {\n\tlocalStatusCache = null;\n}\nfunction runStartupApply() {\n\tif (startupApplyDone) return;\n\tstartupApplyDone = true;\n\tfor (const line of collectBindAddressWarnings(process.env)) logger.warn(line);\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}\nfunction parseComposePsServices(stdout) {\n\tconst services = [];\n\tfor (const line of stdout.split(\"\\n\")) {\n\t\tconst trimmed = line.trim();\n\t\tif (!trimmed) continue;\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(trimmed);\n\t\t\tservices.push({\n\t\t\t\tservice: String(parsed.Service ?? parsed.Name ?? \"\"),\n\t\t\t\tstate: String(parsed.State ?? \"\"),\n\t\t\t\thealth: String(parsed.Health ?? \"\")\n\t\t\t});\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn services;\n}\nasync function resolveLaunchRouting() {\n\tif (localStatusCache && localStatusCache.expiresAt > Date.now()) return localStatusCache.value;\n\tconst state = getState();\n\tconst installState = classifyLocalInstall(state.stackDir);\n\tconst composeResult = await composePs(buildComposeOptions(state));\n\tconst value = {\n\t\tinstallState,\n\t\tlaunch: deriveLaunchStatus({\n\t\t\tlocal: {\n\t\t\t\tstate: deriveLocalStackState(installState, composeResult.ok ? parseComposePsServices(composeResult.stdout) : []),\n\t\t\t\truntime: installState === \"not_installed\" ? await detectRuntime() : void 0,\n\t\t\t\tdetail: { installState }\n\t\t\t},\n\t\t\tremotes: await listRemoteStatuses()\n\t\t}),\n\t\tmigrationBlocking: isMigrationBlocking(state.homeDir)\n\t};\n\tlocalStatusCache = {\n\t\tvalue,\n\t\texpiresAt: Date.now() + 5e3\n\t};\n\treturn value;\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\tconst setupComplete = setupCompleteMemo || isSetupComplete(resolveStackDir());\n\tif (setupComplete) setupCompleteMemo = true;\n\tif (isSetupPath && !setupComplete) {\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) {\n\t\tconst { installState, launch, migrationBlocking } = await resolveLaunchRouting();\n\t\tconst desiredPath = migrationBlocking ? \"/splash\" : installState === \"setup_incomplete\" && launch.local.state === \"running\" ? \"/splash\" : launch.recommendedRoute === \"chat\" ? \"/chat\" : \"/splash\";\n\t\tconst usageRoute = path.startsWith(\"/chat\") || path.startsWith(\"/advanced\");\n\t\tconst exempt = path.startsWith(\"/api/\") || path.startsWith(\"/proxy/\") || path.startsWith(\"/login\") || path.startsWith(\"/health\") || path.startsWith(\"/guardian/health\") || path.startsWith(\"/admin\") || path.startsWith(\"/splash\") || !migrationBlocking && usageRoute;\n\t\tif (path === \"/\" || path !== desiredPath && !exempt) redirect(302, desiredPath);\n\t}\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\", path === \"/admin/akm/health-report\" ? \"SAMEORIGIN\" : \"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 { _resetLaunchCache, handle };\n"],"names":[],"mappings":"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"}
|