@openpalm/ui 0.12.18 → 0.12.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css +1 -0
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.br +0 -0
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{B8C5qi9U.js → BRX6kifW.js} +1 -1
- package/build/client/_app/immutable/chunks/BRX6kifW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRX6kifW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Br6Mrpf0.js → BXNfEZOa.js} +2 -2
- package/build/client/_app/immutable/chunks/BXNfEZOa.js.br +0 -0
- package/build/client/_app/immutable/chunks/BXNfEZOa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dcw6L0GF.js → CgDyA2Qw.js} +2 -2
- package/build/client/_app/immutable/chunks/CgDyA2Qw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CgDyA2Qw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLcBqErP.js +1 -0
- package/build/client/_app/immutable/chunks/DLcBqErP.js.br +2 -0
- package/build/client/_app/immutable/chunks/DLcBqErP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CLgRRUN_.js → DpHEXvQk.js} +1 -1
- package/build/client/_app/immutable/chunks/DpHEXvQk.js.br +0 -0
- package/build/client/_app/immutable/chunks/DpHEXvQk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js +1 -0
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DYXGFYr6.js → _60-pFCk.js} +1 -1
- package/build/client/_app/immutable/chunks/_60-pFCk.js.br +0 -0
- package/build/client/_app/immutable/chunks/_60-pFCk.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CVxCoIFs.js → app.BjL1fvKO.js} +2 -2
- package/build/client/_app/immutable/entry/app.BjL1fvKO.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BjL1fvKO.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.De0IKYiu.js +1 -0
- package/build/client/_app/immutable/entry/start.De0IKYiu.js.br +0 -0
- package/build/client/_app/immutable/entry/start.De0IKYiu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.Bb8qAGW8.js → 0.AZnG4POF.js} +1 -1
- package/build/client/_app/immutable/nodes/0.AZnG4POF.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.AZnG4POF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.Co_TaqLI.js → 1.B7a7Tm6Z.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B7a7Tm6Z.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B7a7Tm6Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DI__DjJl.js +126 -0
- package/build/client/_app/immutable/nodes/4.DI__DjJl.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DI__DjJl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.Fw13EXte.js → 5.B9AKDWT5.js} +2 -2
- package/build/client/_app/immutable/nodes/5.B9AKDWT5.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.B9AKDWT5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.CWy0yXnu.js → 6.hyWOgJjN.js} +1 -1
- package/build/client/_app/immutable/nodes/6.hyWOgJjN.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.hyWOgJjN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.CsM4M8Ul.js → 7.nZLq6rhJ.js} +1 -1
- package/build/client/_app/immutable/nodes/7.nZLq6rhJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.nZLq6rhJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.V6hY0p8a.js → 8.DHYGH125.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DHYGH125.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DHYGH125.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-DrD9dfbN.js → 0-DL6Jfu7F.js} +3 -3
- package/build/server/chunks/{0-DrD9dfbN.js.map → 0-DL6Jfu7F.js.map} +1 -1
- package/build/server/chunks/1-DC1YDW9y.js +9 -0
- package/build/server/chunks/{1-DvZDBGww.js.map → 1-DC1YDW9y.js.map} +1 -1
- package/build/server/chunks/{10-C96Thueb.js → 10-BnN-v5b4.js} +5 -5
- package/build/server/chunks/10-BnN-v5b4.js.map +1 -0
- package/build/server/chunks/4-BnTXsRc6.js +9 -0
- package/build/server/chunks/{4-BYdi8hv_.js.map → 4-BnTXsRc6.js.map} +1 -1
- package/build/server/chunks/{5-DIQyHPcz.js → 5-C26TlGBo.js} +3 -3
- package/build/server/chunks/{5-DIQyHPcz.js.map → 5-C26TlGBo.js.map} +1 -1
- package/build/server/chunks/6-D1YRT-u9.js +9 -0
- package/build/server/chunks/{6-BsZngRIA.js.map → 6-D1YRT-u9.js.map} +1 -1
- package/build/server/chunks/{7-CXWUMHvV.js → 7-DB2WCCTk.js} +3 -3
- package/build/server/chunks/{7-CXWUMHvV.js.map → 7-DB2WCCTk.js.map} +1 -1
- package/build/server/chunks/{8-l173yBhm.js → 8-D9q3TEwk.js} +3 -3
- package/build/server/chunks/{8-l173yBhm.js.map → 8-D9q3TEwk.js.map} +1 -1
- package/build/server/chunks/{IconMic-BM_3hm2T.js → IconMic-DK0ZRKNm.js} +2 -2
- package/build/server/chunks/{IconMic-BM_3hm2T.js.map → IconMic-DK0ZRKNm.js.map} +1 -1
- package/build/server/chunks/{Navbar-BZ_eb99a.js → Navbar-Bx84i9hX.js} +5 -5
- package/build/server/chunks/{Navbar-BZ_eb99a.js.map → Navbar-Bx84i9hX.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-Dd-1jqRZ.js → _layout.svelte-CtPb7AoM.js} +2 -2
- package/build/server/chunks/{_layout.svelte-Dd-1jqRZ.js.map → _layout.svelte-CtPb7AoM.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-E9h2ASFv.js → _page.svelte-1gYVQfSX.js} +7 -7
- package/build/server/chunks/{_page.svelte-E9h2ASFv.js.map → _page.svelte-1gYVQfSX.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Bbooaanj.js → _page.svelte-Ce5yuZKH.js} +7 -7
- package/build/server/chunks/{_page.svelte-Bbooaanj.js.map → _page.svelte-Ce5yuZKH.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-D0wEoV5A.js → _page.svelte-DhqtAyz4.js} +5 -5
- package/build/server/chunks/{_page.svelte-D0wEoV5A.js.map → _page.svelte-DhqtAyz4.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C4jw4RUN.js → _page.svelte-Dlch5rzj.js} +3 -3
- package/build/server/chunks/{_page.svelte-C4jw4RUN.js.map → _page.svelte-Dlch5rzj.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-WYgjKj38.js → _page.svelte-VwZb1o-L.js} +31 -715
- package/build/server/chunks/_page.svelte-VwZb1o-L.js.map +1 -0
- package/build/server/chunks/{_server.ts-DPDQh75Z.js → _server.ts-29oJfZHd.js} +2 -2
- package/build/server/chunks/{_server.ts-DPDQh75Z.js.map → _server.ts-29oJfZHd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-VvJjpVtp.js → _server.ts-54pdKqwY.js} +6 -6
- package/build/server/chunks/{_server.ts-VvJjpVtp.js.map → _server.ts-54pdKqwY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQt3NLuS.js → _server.ts-8R-n-zEh.js} +5 -5
- package/build/server/chunks/{_server.ts-CQt3NLuS.js.map → _server.ts-8R-n-zEh.js.map} +1 -1
- package/build/server/chunks/_server.ts-8b481A1c.js +89 -0
- package/build/server/chunks/_server.ts-8b481A1c.js.map +1 -0
- package/build/server/chunks/{_server.ts-wvbMWir6.js → _server.ts-9AjUEqAT.js} +6 -6
- package/build/server/chunks/{_server.ts-wvbMWir6.js.map → _server.ts-9AjUEqAT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-F0nw0UvB.js → _server.ts-9qPwtSPc.js} +5 -5
- package/build/server/chunks/{_server.ts-F0nw0UvB.js.map → _server.ts-9qPwtSPc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM6Jm6KP.js → _server.ts-B1qG26BE.js} +5 -5
- package/build/server/chunks/_server.ts-B1qG26BE.js.map +1 -0
- package/build/server/chunks/{_server.ts-CwPiZPmZ.js → _server.ts-B5JZoMbG.js} +6 -6
- package/build/server/chunks/{_server.ts-CwPiZPmZ.js.map → _server.ts-B5JZoMbG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQM2RG5K.js → _server.ts-B8xyYAeq.js} +5 -5
- package/build/server/chunks/{_server.ts-CQM2RG5K.js.map → _server.ts-B8xyYAeq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFNWzRBr.js → _server.ts-B9CQbSjg.js} +4 -4
- package/build/server/chunks/{_server.ts-CFNWzRBr.js.map → _server.ts-B9CQbSjg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D4tyRvFi.js → _server.ts-B9ykDkc2.js} +2 -2
- package/build/server/chunks/{_server.ts-D4tyRvFi.js.map → _server.ts-B9ykDkc2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DR7y5OQ3.js → _server.ts-BPdeRlDI.js} +5 -5
- package/build/server/chunks/{_server.ts-DR7y5OQ3.js.map → _server.ts-BPdeRlDI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B9iU6foL.js → _server.ts-B_0VQmyi.js} +5 -5
- package/build/server/chunks/{_server.ts-B9iU6foL.js.map → _server.ts-B_0VQmyi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DRvqTDLx.js → _server.ts-B__xH1cU.js} +5 -5
- package/build/server/chunks/_server.ts-B__xH1cU.js.map +1 -0
- package/build/server/chunks/{_server.ts-DiDI1Ie6.js → _server.ts-Bc4VE_mK.js} +6 -6
- package/build/server/chunks/{_server.ts-DiDI1Ie6.js.map → _server.ts-Bc4VE_mK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IW-zQmmb.js → _server.ts-BdDIXPU0.js} +5 -5
- package/build/server/chunks/_server.ts-BdDIXPU0.js.map +1 -0
- package/build/server/chunks/{_server.ts-CGMuaSY3.js → _server.ts-BeSu9n9F.js} +5 -5
- package/build/server/chunks/{_server.ts-CGMuaSY3.js.map → _server.ts-BeSu9n9F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-jGSj8O.js → _server.ts-BjAWFnFv.js} +6 -6
- package/build/server/chunks/{_server.ts-D-jGSj8O.js.map → _server.ts-BjAWFnFv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-2fxcxBzC.js → _server.ts-Bk-SzSGo.js} +5 -5
- package/build/server/chunks/_server.ts-Bk-SzSGo.js.map +1 -0
- package/build/server/chunks/{_server.ts-BnL3TLuz.js → _server.ts-BswBNUz0.js} +5 -5
- package/build/server/chunks/{_server.ts-BnL3TLuz.js.map → _server.ts-BswBNUz0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DUy4kkr_.js → _server.ts-BtlnrMKD.js} +5 -5
- package/build/server/chunks/{_server.ts-DUy4kkr_.js.map → _server.ts-BtlnrMKD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BDe-TnAi.js → _server.ts-BxRGCjoH.js} +5 -5
- package/build/server/chunks/{_server.ts-BDe-TnAi.js.map → _server.ts-BxRGCjoH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DDCEmU_P.js → _server.ts-By1az2OR.js} +6 -10
- package/build/server/chunks/_server.ts-By1az2OR.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dcawi9b4.js → _server.ts-C0ch963P.js} +2 -2
- package/build/server/chunks/_server.ts-C0ch963P.js.map +1 -0
- package/build/server/chunks/{_server.ts-DP28Ocqs.js → _server.ts-C2NuRv8K.js} +5 -5
- package/build/server/chunks/{_server.ts-DP28Ocqs.js.map → _server.ts-C2NuRv8K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DXoq1VzO.js → _server.ts-C4I0eH50.js} +5 -5
- package/build/server/chunks/_server.ts-C4I0eH50.js.map +1 -0
- package/build/server/chunks/{_server.ts-D07mQlNk.js → _server.ts-C6geMqYp.js} +5 -5
- package/build/server/chunks/{_server.ts-D07mQlNk.js.map → _server.ts-C6geMqYp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-YRWN3sJm.js → _server.ts-C9QeDhXf.js} +5 -5
- package/build/server/chunks/{_server.ts-YRWN3sJm.js.map → _server.ts-C9QeDhXf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzCUdAPH.js → _server.ts-C9cnB4KZ.js} +5 -5
- package/build/server/chunks/{_server.ts-DzCUdAPH.js.map → _server.ts-C9cnB4KZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzgA6LXe.js → _server.ts-CAwWO268.js} +5 -5
- package/build/server/chunks/{_server.ts-CzgA6LXe.js.map → _server.ts-CAwWO268.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdzFOqZm.js → _server.ts-CBIx55nw.js} +5 -5
- package/build/server/chunks/{_server.ts-DdzFOqZm.js.map → _server.ts-CBIx55nw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C37SDJxC.js → _server.ts-CDHXmvId.js} +5 -5
- package/build/server/chunks/{_server.ts-C37SDJxC.js.map → _server.ts-CDHXmvId.js.map} +1 -1
- package/build/server/chunks/{_server.ts-hAoIbHpc.js → _server.ts-CHGTPklX.js} +6 -6
- package/build/server/chunks/{_server.ts-hAoIbHpc.js.map → _server.ts-CHGTPklX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BETcFeB8.js → _server.ts-CKblTbUe.js} +5 -5
- package/build/server/chunks/_server.ts-CKblTbUe.js.map +1 -0
- package/build/server/chunks/{_server.ts-C_dk6ZLP.js → _server.ts-CN-ITxq_.js} +6 -6
- package/build/server/chunks/{_server.ts-C_dk6ZLP.js.map → _server.ts-CN-ITxq_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BMCfB7xN.js → _server.ts-CNy4jIvv.js} +5 -5
- package/build/server/chunks/{_server.ts-BMCfB7xN.js.map → _server.ts-CNy4jIvv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CuBCKbP8.js → _server.ts-CQgWS2hB.js} +6 -6
- package/build/server/chunks/{_server.ts-CuBCKbP8.js.map → _server.ts-CQgWS2hB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cap2Myq0.js → _server.ts-CRSZ1H_z.js} +9 -6
- package/build/server/chunks/_server.ts-CRSZ1H_z.js.map +1 -0
- package/build/server/chunks/{_server.ts-_qXm__Gf.js → _server.ts-CYCJvxkC.js} +5 -5
- package/build/server/chunks/{_server.ts-_qXm__Gf.js.map → _server.ts-CYCJvxkC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DilgsSMu.js → _server.ts-CcyDtTCy.js} +5 -5
- package/build/server/chunks/{_server.ts-DilgsSMu.js.map → _server.ts-CcyDtTCy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-kfc0Us0E.js → _server.ts-CdHxUlD_.js} +5 -5
- package/build/server/chunks/{_server.ts-kfc0Us0E.js.map → _server.ts-CdHxUlD_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5M6DY-PN.js → _server.ts-CeGOgSlg.js} +8 -8
- package/build/server/chunks/{_server.ts-5M6DY-PN.js.map → _server.ts-CeGOgSlg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMj9WYdv.js → _server.ts-CejBAnbx.js} +2 -2
- package/build/server/chunks/{_server.ts-DMj9WYdv.js.map → _server.ts-CejBAnbx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwnoppTC.js → _server.ts-ChJzwk4k.js} +6 -6
- package/build/server/chunks/{_server.ts-BwnoppTC.js.map → _server.ts-ChJzwk4k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0UwoVmus.js → _server.ts-CibQYGvX.js} +6 -6
- package/build/server/chunks/{_server.ts-0UwoVmus.js.map → _server.ts-CibQYGvX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6AN-mYa.js → _server.ts-CloVt7eS.js} +7 -7
- package/build/server/chunks/{_server.ts-B6AN-mYa.js.map → _server.ts-CloVt7eS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B5PHfuR5.js → _server.ts-CmjNZw87.js} +6 -6
- package/build/server/chunks/{_server.ts-B5PHfuR5.js.map → _server.ts-CmjNZw87.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8D1t67g.js → _server.ts-Cn7LfLF_.js} +7 -7
- package/build/server/chunks/_server.ts-Cn7LfLF_.js.map +1 -0
- package/build/server/chunks/{_server.ts-aw8KYE5U.js → _server.ts-Crdovz8j.js} +5 -5
- package/build/server/chunks/{_server.ts-aw8KYE5U.js.map → _server.ts-Crdovz8j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-lK-oXISB.js → _server.ts-CuYIpIzp.js} +5 -5
- package/build/server/chunks/{_server.ts-lK-oXISB.js.map → _server.ts-CuYIpIzp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRVqyjYH.js → _server.ts-CwgY6ghJ.js} +7 -7
- package/build/server/chunks/{_server.ts-CRVqyjYH.js.map → _server.ts-CwgY6ghJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7Scn_Ur.js → _server.ts-CxxrQ9Wz.js} +5 -5
- package/build/server/chunks/_server.ts-CxxrQ9Wz.js.map +1 -0
- package/build/server/chunks/{_server.ts-C9-ewPaY.js → _server.ts-D6BJWhEf.js} +5 -5
- package/build/server/chunks/_server.ts-D6BJWhEf.js.map +1 -0
- package/build/server/chunks/{_server.ts-CosKSZGO.js → _server.ts-D6Y4c9rj.js} +2 -2
- package/build/server/chunks/{_server.ts-CosKSZGO.js.map → _server.ts-D6Y4c9rj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CU5_9yaM.js → _server.ts-D8EweJQC.js} +5 -5
- package/build/server/chunks/{_server.ts-CU5_9yaM.js.map → _server.ts-D8EweJQC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq8RxTkW.js → _server.ts-D91I-wzU.js} +5 -5
- package/build/server/chunks/{_server.ts-Dq8RxTkW.js.map → _server.ts-D91I-wzU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcyVh5fg.js → _server.ts-D9yPVLtB.js} +5 -5
- package/build/server/chunks/{_server.ts-CcyVh5fg.js.map → _server.ts-D9yPVLtB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-avgx1pPX.js → _server.ts-DC0rWv53.js} +5 -5
- package/build/server/chunks/{_server.ts-avgx1pPX.js.map → _server.ts-DC0rWv53.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bi5ToBtl.js → _server.ts-DGHL7uho.js} +5 -5
- package/build/server/chunks/{_server.ts-Bi5ToBtl.js.map → _server.ts-DGHL7uho.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Baeek88H.js → _server.ts-DHBjlBuv.js} +5 -5
- package/build/server/chunks/_server.ts-DHBjlBuv.js.map +1 -0
- package/build/server/chunks/{_server.ts-FPubTa2q.js → _server.ts-DIUdkrLE.js} +5 -5
- package/build/server/chunks/{_server.ts-FPubTa2q.js.map → _server.ts-DIUdkrLE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5aqdy9Zn.js → _server.ts-DNag2rCU.js} +25 -17
- package/build/server/chunks/_server.ts-DNag2rCU.js.map +1 -0
- package/build/server/chunks/{_server.ts-DBQ7TD4o.js → _server.ts-DWXKoPC3.js} +5 -5
- package/build/server/chunks/_server.ts-DWXKoPC3.js.map +1 -0
- package/build/server/chunks/{_server.ts-DSfVK8xc.js → _server.ts-D_Zne8zk.js} +5 -5
- package/build/server/chunks/{_server.ts-DSfVK8xc.js.map → _server.ts-D_Zne8zk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Brb7lRFE.js → _server.ts-DarGs6EN.js} +5 -5
- package/build/server/chunks/_server.ts-DarGs6EN.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cb-e8WyG.js → _server.ts-DdjZAsqc.js} +5 -5
- package/build/server/chunks/{_server.ts-Cb-e8WyG.js.map → _server.ts-DdjZAsqc.js.map} +1 -1
- package/build/server/chunks/_server.ts-DhgUx_Ar.js +84 -0
- package/build/server/chunks/_server.ts-DhgUx_Ar.js.map +1 -0
- package/build/server/chunks/{_server.ts-CmyqMhn9.js → _server.ts-Ds26GwEH.js} +5 -5
- package/build/server/chunks/{_server.ts-CmyqMhn9.js.map → _server.ts-Ds26GwEH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bxk1V3Ev.js → _server.ts-Dx-W9dxd.js} +5 -5
- package/build/server/chunks/{_server.ts-Bxk1V3Ev.js.map → _server.ts-Dx-W9dxd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BnNG0uRK.js → _server.ts-DyAZoRvd.js} +6 -6
- package/build/server/chunks/{_server.ts-BnNG0uRK.js.map → _server.ts-DyAZoRvd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-WePF2DAq.js → _server.ts-EYK0bXvj.js} +5 -5
- package/build/server/chunks/_server.ts-EYK0bXvj.js.map +1 -0
- package/build/server/chunks/{_server.ts-DFV-gf9Q.js → _server.ts-GB9Cj5oM.js} +5 -5
- package/build/server/chunks/{_server.ts-DFV-gf9Q.js.map → _server.ts-GB9Cj5oM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYsP_lpr.js → _server.ts-KhshtfY7.js} +7 -7
- package/build/server/chunks/_server.ts-KhshtfY7.js.map +1 -0
- package/build/server/chunks/{_server.ts-ChH8nHr7.js → _server.ts-W0CmGtTj.js} +7 -7
- package/build/server/chunks/{_server.ts-ChH8nHr7.js.map → _server.ts-W0CmGtTj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5jyYbFm.js → _server.ts-X_5reIBA.js} +17 -8
- package/build/server/chunks/_server.ts-X_5reIBA.js.map +1 -0
- package/build/server/chunks/{_server.ts-r07PDC8q.js → _server.ts-YHTGVduj.js} +5 -5
- package/build/server/chunks/{_server.ts-r07PDC8q.js.map → _server.ts-YHTGVduj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRTk2wfW.js → _server.ts-c9nn_lEh.js} +5 -5
- package/build/server/chunks/{_server.ts-BRTk2wfW.js.map → _server.ts-c9nn_lEh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BW46dP9B.js → _server.ts-cNcqERWY.js} +7 -7
- package/build/server/chunks/{_server.ts-BW46dP9B.js.map → _server.ts-cNcqERWY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BlVBulWB.js → _server.ts-e-kt0L13.js} +4 -4
- package/build/server/chunks/_server.ts-e-kt0L13.js.map +1 -0
- package/build/server/chunks/{_server.ts-DX3B53H8.js → _server.ts-fV4HpgOz.js} +5 -5
- package/build/server/chunks/{_server.ts-DX3B53H8.js.map → _server.ts-fV4HpgOz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dg4ouUjZ.js → _server.ts-hqvYcJBt.js} +5 -5
- package/build/server/chunks/_server.ts-hqvYcJBt.js.map +1 -0
- package/build/server/chunks/{_server.ts-CM1BFa2O.js → _server.ts-iCDhsOOY.js} +6 -6
- package/build/server/chunks/_server.ts-iCDhsOOY.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bx3uIrpl.js → _server.ts-jyQMP3IC.js} +5 -5
- package/build/server/chunks/{_server.ts-Bx3uIrpl.js.map → _server.ts-jyQMP3IC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Decw7JxO.js → _server.ts-sY8nzvys.js} +5 -5
- package/build/server/chunks/_server.ts-sY8nzvys.js.map +1 -0
- package/build/server/chunks/{addon-helpers-ChYTbRSK.js → addon-helpers-DmjAK3BO.js} +3 -3
- package/build/server/chunks/addon-helpers-DmjAK3BO.js.map +1 -0
- package/build/server/chunks/{akm-BLz9zl09.js → akm-B44WQaeD.js} +2 -2
- package/build/server/chunks/{akm-BLz9zl09.js.map → akm-B44WQaeD.js.map} +1 -1
- package/build/server/chunks/{catalog-CY6FvvAs.js → catalog-C8yZ2uH2.js} +5 -5
- package/build/server/chunks/{catalog-CY6FvvAs.js.map → catalog-C8yZ2uH2.js.map} +1 -1
- package/build/server/chunks/{client-FcHtkEV-.js → client-Dv5ruwWL.js} +2 -2
- package/build/server/chunks/{client-FcHtkEV-.js.map → client-Dv5ruwWL.js.map} +1 -1
- package/build/server/chunks/{config-WS3yDsjb.js → config-BXCHMmv_.js} +2 -2
- package/build/server/chunks/{config-WS3yDsjb.js.map → config-BXCHMmv_.js.map} +1 -1
- package/build/server/chunks/{docker-CDcBV4aX.js → docker-qBTgU_Qa.js} +2 -2
- package/build/server/chunks/{docker-CDcBV4aX.js.map → docker-qBTgU_Qa.js.map} +1 -1
- package/build/server/chunks/{endpoints-BnI8UQUm.js → endpoints-BJw6odky.js} +2 -2
- package/build/server/chunks/{endpoints-BnI8UQUm.js.map → endpoints-BJw6odky.js.map} +1 -1
- package/build/server/chunks/{error.svelte-DeB-Po5T.js → error.svelte-Bk8x64a4.js} +4 -4
- package/build/server/chunks/{error.svelte-DeB-Po5T.js.map → error.svelte-Bk8x64a4.js.map} +1 -1
- package/build/server/chunks/{helpers-uzTc9A0Q.js → helpers-DB3Oat0M.js} +3 -3
- package/build/server/chunks/{helpers-uzTc9A0Q.js.map → helpers-DB3Oat0M.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DaC85A-N.js → hooks.server-DoW_3zHD.js} +7 -7
- package/build/server/chunks/hooks.server-DoW_3zHD.js.map +1 -0
- package/build/server/chunks/{http-DWCniA5n.js → http-C4WWfxK-.js} +2 -2
- package/build/server/chunks/{http-DWCniA5n.js.map → http-C4WWfxK-.js.map} +1 -1
- package/build/server/chunks/{internal-DRthfYRK.js → internal-Bkw-piFD.js} +3 -3
- package/build/server/chunks/{internal-DRthfYRK.js.map → internal-Bkw-piFD.js.map} +1 -1
- package/build/server/chunks/{migration-status-Blvg_RFt.js → migration-status-C-gFVWrV.js} +2 -2
- package/build/server/chunks/{migration-status-Blvg_RFt.js.map → migration-status-C-gFVWrV.js.map} +1 -1
- package/build/server/chunks/{session-cookie-DOONPnJ5.js → session-cookie-DYlRFqU6.js} +2 -2
- package/build/server/chunks/{session-cookie-DOONPnJ5.js.map → session-cookie-DYlRFqU6.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-CeeF_6ze.js → setup-deploy-D3XucKIu.js} +2 -2
- package/build/server/chunks/{setup-deploy-CeeF_6ze.js.map → setup-deploy-D3XucKIu.js.map} +1 -1
- package/build/server/chunks/{src-B3g4Ry1X.js → src-DPd0Zos1.js} +198 -639
- package/build/server/chunks/src-DPd0Zos1.js.map +1 -0
- package/build/server/chunks/{state-CL9Kv-vm.js → state-CmEW57i2.js} +2 -2
- package/build/server/chunks/{state-CL9Kv-vm.js.map → state-CmEW57i2.js.map} +1 -1
- package/build/server/chunks/{state2-Cim9_nHe.js → state2-zSoANrav.js} +2 -2
- package/build/server/chunks/{state2-Cim9_nHe.js.map → state2-zSoANrav.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-BgBXJ060.js → theme-state.svelte-DshW_ZYI.js} +2 -81
- package/build/server/chunks/theme-state.svelte-DshW_ZYI.js.map +1 -0
- package/build/server/index.js +32 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +93 -107
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/4.BLk6Mqyj.css +0 -1
- package/build/client/_app/immutable/assets/4.BLk6Mqyj.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BLk6Mqyj.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B8C5qi9U.js.br +0 -0
- package/build/client/_app/immutable/chunks/B8C5qi9U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Br6Mrpf0.js.br +0 -0
- package/build/client/_app/immutable/chunks/Br6Mrpf0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLgRRUN_.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLgRRUN_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ch85wCT5.js +0 -1
- package/build/client/_app/immutable/chunks/Ch85wCT5.js.br +0 -2
- package/build/client/_app/immutable/chunks/Ch85wCT5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DRHnoVLf.js +0 -1
- package/build/client/_app/immutable/chunks/DRHnoVLf.js.br +0 -0
- package/build/client/_app/immutable/chunks/DRHnoVLf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DYXGFYr6.js.br +0 -0
- package/build/client/_app/immutable/chunks/DYXGFYr6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dcw6L0GF.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dcw6L0GF.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CVxCoIFs.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CVxCoIFs.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CQqNtgHJ.js +0 -1
- package/build/client/_app/immutable/entry/start.CQqNtgHJ.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CQqNtgHJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Bb8qAGW8.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bb8qAGW8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Co_TaqLI.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.Co_TaqLI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.agNu3Ryl.js +0 -130
- package/build/client/_app/immutable/nodes/4.agNu3Ryl.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.agNu3Ryl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.Fw13EXte.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Fw13EXte.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CWy0yXnu.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CWy0yXnu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CsM4M8Ul.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CsM4M8Ul.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.V6hY0p8a.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.V6hY0p8a.js.gz +0 -0
- package/build/server/chunks/1-DvZDBGww.js +0 -9
- package/build/server/chunks/10-C96Thueb.js.map +0 -1
- package/build/server/chunks/4-BYdi8hv_.js +0 -9
- package/build/server/chunks/6-BsZngRIA.js +0 -9
- package/build/server/chunks/_page.svelte-WYgjKj38.js.map +0 -1
- package/build/server/chunks/_server.ts-2fxcxBzC.js.map +0 -1
- package/build/server/chunks/_server.ts-5aqdy9Zn.js.map +0 -1
- package/build/server/chunks/_server.ts-B8D1t67g.js.map +0 -1
- package/build/server/chunks/_server.ts-BETcFeB8.js.map +0 -1
- package/build/server/chunks/_server.ts-BM0AExGa.js +0 -121
- package/build/server/chunks/_server.ts-BM0AExGa.js.map +0 -1
- package/build/server/chunks/_server.ts-Baeek88H.js.map +0 -1
- package/build/server/chunks/_server.ts-BlVBulWB.js.map +0 -1
- package/build/server/chunks/_server.ts-Brb7lRFE.js.map +0 -1
- package/build/server/chunks/_server.ts-C5jyYbFm.js.map +0 -1
- package/build/server/chunks/_server.ts-C7Scn_Ur.js.map +0 -1
- package/build/server/chunks/_server.ts-C9-ewPaY.js.map +0 -1
- package/build/server/chunks/_server.ts-CM1BFa2O.js.map +0 -1
- package/build/server/chunks/_server.ts-Cap2Myq0.js.map +0 -1
- package/build/server/chunks/_server.ts-DBQ7TD4o.js.map +0 -1
- package/build/server/chunks/_server.ts-DDCEmU_P.js.map +0 -1
- package/build/server/chunks/_server.ts-DLLNA3jY.js +0 -47
- package/build/server/chunks/_server.ts-DLLNA3jY.js.map +0 -1
- package/build/server/chunks/_server.ts-DM6Jm6KP.js.map +0 -1
- package/build/server/chunks/_server.ts-DRvqTDLx.js.map +0 -1
- package/build/server/chunks/_server.ts-DXoq1VzO.js.map +0 -1
- package/build/server/chunks/_server.ts-DYsP_lpr.js.map +0 -1
- package/build/server/chunks/_server.ts-DZ-yNYeI.js +0 -64
- package/build/server/chunks/_server.ts-DZ-yNYeI.js.map +0 -1
- package/build/server/chunks/_server.ts-Dcawi9b4.js.map +0 -1
- package/build/server/chunks/_server.ts-Decw7JxO.js.map +0 -1
- package/build/server/chunks/_server.ts-Dg4ouUjZ.js.map +0 -1
- package/build/server/chunks/_server.ts-IW-zQmmb.js.map +0 -1
- package/build/server/chunks/_server.ts-WePF2DAq.js.map +0 -1
- package/build/server/chunks/_server.ts-k339Bhm3.js +0 -88
- package/build/server/chunks/_server.ts-k339Bhm3.js.map +0 -1
- package/build/server/chunks/addon-helpers-ChYTbRSK.js.map +0 -1
- package/build/server/chunks/environment-D-dkDBwd.js +0 -36
- package/build/server/chunks/environment-D-dkDBwd.js.map +0 -1
- package/build/server/chunks/hooks.server-DaC85A-N.js.map +0 -1
- package/build/server/chunks/src-B3g4Ry1X.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-BgBXJ060.js.map +0 -1
- package/build/server/chunks/version-cache-CSnmLqxQ.js +0 -54
- package/build/server/chunks/version-cache-CSnmLqxQ.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-2fxcxBzC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { K as buildManagedServices, Tn as createLogger, at as checkDocker, dt as composePull, gt as composeUp, z as buildComposeOptions } 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-5aqdy9Zn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as withCache, t as invalidateVersionCache } from \"../../../../../chunks/version-cache.js\";\n//#region src/lib/server/release-units.ts\nvar ELECTRON_ASSET_PATTERN = /^OpenPalm-.*\\.(dmg|AppImage|zip|deb|rpm|pkg)$/i;\nvar PLATFORM_TAG_PATTERN = /^platform-(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\nvar LEGACY_V_TAG_PATTERN = /^v(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\n/**\n* Select only platform releases that carry installable app assets (Electron\n* installer or skeleton/deploy bundle), skipping per-unit container-image\n* releases.\n*\n* Per-unit version pickers now read from Docker Hub tags (not GitHub releases),\n* so the releases endpoint only needs app-level releases — the ones with\n* downloadable installer/bundle assets. This dramatically reduces the data the\n* UI holds and keeps the GitHub API call to its existing single request (the\n* filtering is client-side of the fetch, not a second fetch).\n*\n* Deduplicates by semver so `{#each r.tag}` keys stay unique when a platform\n* release created both a `platform-X.Y.Z` and a legacy `vX.Y.Z` tag. Preserves\n* GitHub's `created_at` desc ordering.\n*/\nfunction selectInstallableReleases(raw) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst releases = [];\n\tfor (const r of raw) {\n\t\tconst hasElectronBuild = r.assets.some((a) => ELECTRON_ASSET_PATTERN.test(a.name));\n\t\tif (!hasElectronBuild) continue;\n\t\tconst platformMatch = r.tag_name.match(PLATFORM_TAG_PATTERN);\n\t\tif (platformMatch) {\n\t\t\tconst tag = platformMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst legacyMatch = r.tag_name.match(LEGACY_V_TAG_PATTERN);\n\t\tif (legacyMatch) {\n\t\t\tconst tag = legacyMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn releases;\n}\n//#endregion\n//#region src/routes/admin/versions/releases/+server.ts\nvar CACHE_KEY = \"github:releases\";\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tif (event.url.searchParams.get(\"refresh\") === \"1\") invalidateVersionCache();\n\tconst cached = await withCache(CACHE_KEY, async () => {\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) throw new Error(`GitHub API ${res.status}`);\n\t\treturn selectInstallableReleases(await res.json());\n\t});\n\tif (cached !== void 0) return json({ releases: cached });\n\treturn json({\n\t\treleases: [],\n\t\terror: \"GitHub releases unavailable\"\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-B8D1t67g.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { a as importHostOpenCode, at as checkDocker, i as detectHostOpenCode, tn as authJsonPath, z as buildComposeOptions } 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-BETcFeB8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { A as isAllowedService, Tn as createLogger, at as checkDocker, ft as composeRestart, z as buildComposeOptions } 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,121 +0,0 @@
|
|
|
1
|
-
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { ay as parseEnvFile, ar as listEnabledAddonIds, aU as resolveEffectivePlatformImageTag, a4 as formatForDisplay, ai as isComparableSemver, aW as resolveLatestImageTagForCurrentMajor, aV as resolveLatestImageTag, aq as listDockerImageTags, aX as resolveLatestNpmVersion, P as PLATFORM_VERSION } from './src-B3g4Ry1X.js';
|
|
3
|
-
import { g as getState } from './state-CL9Kv-vm.js';
|
|
4
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-uzTc9A0Q.js';
|
|
5
|
-
import { i as invalidateVersionCache, w as withCache } from './version-cache-CSnmLqxQ.js';
|
|
6
|
-
import { existsSync } from 'node:fs';
|
|
7
|
-
import './utils-BSRjJDrZ.js';
|
|
8
|
-
import './chunk-CLZ62Ad-.js';
|
|
9
|
-
import 'node:module';
|
|
10
|
-
import './provider-constants-DPrj3yBX.js';
|
|
11
|
-
import './dist-DOFcG0Zp.js';
|
|
12
|
-
import 'node:path';
|
|
13
|
-
import 'buffer';
|
|
14
|
-
import 'fs';
|
|
15
|
-
import 'path';
|
|
16
|
-
import 'node:child_process';
|
|
17
|
-
import 'node:url';
|
|
18
|
-
import 'node:crypto';
|
|
19
|
-
import 'events';
|
|
20
|
-
import 'node:events';
|
|
21
|
-
import 'node:stream';
|
|
22
|
-
import 'node:string_decoder';
|
|
23
|
-
import 'assert';
|
|
24
|
-
import 'zlib';
|
|
25
|
-
import 'node:assert';
|
|
26
|
-
import 'node:fs/promises';
|
|
27
|
-
import 'node:os';
|
|
28
|
-
import './endpoints-BnI8UQUm.js';
|
|
29
|
-
|
|
30
|
-
//#region src/routes/admin/versions/+server.ts
|
|
31
|
-
var PORTAL_ADDON_IDS = [
|
|
32
|
-
"api",
|
|
33
|
-
"chat",
|
|
34
|
-
"discord",
|
|
35
|
-
"slack",
|
|
36
|
-
"gateway"
|
|
37
|
-
];
|
|
38
|
-
var GET = async (event) => {
|
|
39
|
-
const requestId = getRequestId(event);
|
|
40
|
-
const authError = requireAdmin(event, requestId);
|
|
41
|
-
if (authError) return authError;
|
|
42
|
-
if (event.url.searchParams.get("refresh") === "1") invalidateVersionCache();
|
|
43
|
-
const state = getState();
|
|
44
|
-
if (!state.stackDir) return errorResponse(503, "not_initialized", "Stack directory not configured", {}, requestId);
|
|
45
|
-
const stackEnvPath = `${state.stashDir}/env/stack.env`;
|
|
46
|
-
const envVars = existsSync(stackEnvPath) ? parseEnvFile(stackEnvPath) : {};
|
|
47
|
-
const imageTag = envVars.OP_IMAGE_TAG ?? "latest";
|
|
48
|
-
const enabledAddons = listEnabledAddonIds(state.homeDir);
|
|
49
|
-
const portalEnabled = enabledAddons.some((a) => PORTAL_ADDON_IDS.includes(a));
|
|
50
|
-
const baseServices = [{
|
|
51
|
-
id: "assistant",
|
|
52
|
-
label: "Assistant",
|
|
53
|
-
version: envVars.OP_ASSISTANT_IMAGE_TAG ?? imageTag
|
|
54
|
-
}];
|
|
55
|
-
if (portalEnabled) {
|
|
56
|
-
baseServices.push({
|
|
57
|
-
id: "guardian",
|
|
58
|
-
label: "Guardian",
|
|
59
|
-
version: resolveEffectivePlatformImageTag(envVars, "guardian")
|
|
60
|
-
});
|
|
61
|
-
baseServices.push({
|
|
62
|
-
id: "portal",
|
|
63
|
-
label: "Chat (Discord/Slack)",
|
|
64
|
-
version: resolveEffectivePlatformImageTag(envVars, "portal")
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
if (enabledAddons.includes("voice")) baseServices.push({
|
|
68
|
-
id: "voice",
|
|
69
|
-
label: "Voice",
|
|
70
|
-
version: envVars.OP_VOICE_IMAGE_TAG ?? imageTag
|
|
71
|
-
});
|
|
72
|
-
const inElectron = process.env.OP_INSIDE_ELECTRON === "1";
|
|
73
|
-
const electronVersion = process.env.OP_ELECTRON_VERSION ?? null;
|
|
74
|
-
const electronLatestVersion = process.env.OP_ELECTRON_LATEST_VERSION ?? null;
|
|
75
|
-
const electronLatestUrl = process.env.OP_ELECTRON_LATEST_URL ?? null;
|
|
76
|
-
const harnessContractVersion = process.env.OP_HARNESS_CONTRACT_VERSION ? Number(process.env.OP_HARNESS_CONTRACT_VERSION) : null;
|
|
77
|
-
const platformVersion = formatForDisplay(PLATFORM_VERSION);
|
|
78
|
-
const namespace = (envVars.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? "openpalm").trim().toLowerCase();
|
|
79
|
-
const latestImageTags = {};
|
|
80
|
-
const unitTags = {};
|
|
81
|
-
const services = [];
|
|
82
|
-
for (const s of baseServices) {
|
|
83
|
-
const current = s.version;
|
|
84
|
-
const latestVersion = await withCache(`docker:latest:${s.id}`, async () => {
|
|
85
|
-
return formatForDisplay(isComparableSemver(current) ? await resolveLatestImageTagForCurrentMajor(namespace, s.id, current) : await resolveLatestImageTag(namespace, s.id));
|
|
86
|
-
}) ?? null;
|
|
87
|
-
if (latestVersion) latestImageTags[s.id] = latestVersion;
|
|
88
|
-
const tags = await withCache(`docker:tags:${s.id}`, async () => {
|
|
89
|
-
return listDockerImageTags(namespace, s.id, { sameMajorAs: isComparableSemver(current) ? current : void 0 });
|
|
90
|
-
});
|
|
91
|
-
unitTags[s.id] = tags ?? [];
|
|
92
|
-
services.push({
|
|
93
|
-
...s,
|
|
94
|
-
latestVersion
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
const latestImageTag = latestImageTags["assistant"] ?? null;
|
|
98
|
-
const platformLatest = await withCache("npm:@openpalm/lib", async () => {
|
|
99
|
-
return resolveLatestNpmVersion("@openpalm/lib", { distTag: "latest" });
|
|
100
|
-
});
|
|
101
|
-
return json({
|
|
102
|
-
imageTag,
|
|
103
|
-
services,
|
|
104
|
-
inElectron,
|
|
105
|
-
electronVersion,
|
|
106
|
-
electronLatestVersion,
|
|
107
|
-
electronLatestUrl,
|
|
108
|
-
electronUpdateAvailable: !!electronLatestVersion,
|
|
109
|
-
harnessVersion: electronVersion,
|
|
110
|
-
harnessContractVersion,
|
|
111
|
-
harnessUpdateAvailable: !!electronLatestVersion,
|
|
112
|
-
platformVersion,
|
|
113
|
-
platformLatest: platformLatest ?? null,
|
|
114
|
-
latestImageTag,
|
|
115
|
-
latestImageTags,
|
|
116
|
-
unitTags
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
export { GET };
|
|
121
|
-
//# sourceMappingURL=_server.ts-BM0AExGa.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BM0AExGa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { $ as resolveLatestImageTagForCurrentMajor, Pt as listEnabledAddonIds, Q as resolveLatestImageTag, Y as listDockerImageTags, fn as resolveEffectivePlatformImageTag, gn as isComparableSemver, hn as formatForDisplay, mn as PLATFORM_VERSION, pn as parseEnvFile, x as resolveLatestNpmVersion } 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 { n as withCache, t as invalidateVersionCache } from \"../../../../chunks/version-cache.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 = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tif (event.url.searchParams.get(\"refresh\") === \"1\") invalidateVersionCache();\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 baseServices = [{\n\t\tid: \"assistant\",\n\t\tlabel: \"Assistant\",\n\t\tversion: envVars.OP_ASSISTANT_IMAGE_TAG ?? imageTag\n\t}];\n\tif (portalEnabled) {\n\t\tbaseServices.push({\n\t\t\tid: \"guardian\",\n\t\t\tlabel: \"Guardian\",\n\t\t\tversion: resolveEffectivePlatformImageTag(envVars, \"guardian\")\n\t\t});\n\t\tbaseServices.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\")) baseServices.push({\n\t\tid: \"voice\",\n\t\tlabel: \"Voice\",\n\t\tversion: envVars.OP_VOICE_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\tconst namespace = (envVars.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim().toLowerCase();\n\tconst latestImageTags = {};\n\tconst unitTags = {};\n\tconst services = [];\n\tfor (const s of baseServices) {\n\t\tconst current = s.version;\n\t\tconst latestVersion = await withCache(`docker:latest:${s.id}`, async () => {\n\t\t\treturn formatForDisplay(isComparableSemver(current) ? await resolveLatestImageTagForCurrentMajor(namespace, s.id, current) : await resolveLatestImageTag(namespace, s.id));\n\t\t}) ?? null;\n\t\tif (latestVersion) latestImageTags[s.id] = latestVersion;\n\t\tconst tags = await withCache(`docker:tags:${s.id}`, async () => {\n\t\t\treturn listDockerImageTags(namespace, s.id, { sameMajorAs: isComparableSemver(current) ? current : void 0 });\n\t\t});\n\t\tunitTags[s.id] = tags ?? [];\n\t\tservices.push({\n\t\t\t...s,\n\t\t\tlatestVersion\n\t\t});\n\t}\n\tconst latestImageTag = latestImageTags[\"assistant\"] ?? null;\n\tconst platformLatest = await withCache(\"npm:@openpalm/lib\", async () => {\n\t\treturn resolveLatestNpmVersion(\"@openpalm/lib\", { distTag: \"latest\" });\n\t});\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\tplatformLatest: platformLatest ?? null,\n\t\tlatestImageTag,\n\t\tlatestImageTags,\n\t\tunitTags\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-Baeek88H.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/list/_server.ts.js"],"sourcesContent":["import { K as buildManagedServices, at as checkDocker, ut as composePs, z as buildComposeOptions } 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-BlVBulWB.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 { at as checkDocker, on as resolveStackDir, yt 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-Brb7lRFE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { A as isAllowedService, at as checkDocker, ct as composeLogs, z as buildComposeOptions } 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-C5jyYbFm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Tn as createLogger, an as resolveDataDir, nn as seedUiBuild } 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/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\nvar POST = 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 dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tif (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGUSR2\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-C7Scn_Ur.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/update/_server.ts.js"],"sourcesContent":["import { G as applyUpdate, Ht as ensureOpenCodeConfig, K as buildManagedServices, L as parseComposeStderr, R as summarizeComposeStderr, Tn as createLogger, at as checkDocker, dt as composePull, gt as composeUp, in as ensureHomeDirs, rn as ensureOpenCodeSystemConfig, z as buildComposeOptions } 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-C9-ewPaY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/assistant/_server.ts.js"],"sourcesContent":["import { Gt as readStackEnv, Wt as patchSecretsEnvFile, et as writeFileAtomic } 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, p as withAdminBody } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/admin/assistant/+server.ts\nvar DEFAULT_PROJECT_NAME = \"openpalm\";\nvar DEFAULT_ASSISTANT_BIND_ADDRESS = \"127.0.0.1\";\nvar LAN_ASSISTANT_BIND_ADDRESS = \"0.0.0.0\";\nvar PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction normalizeProjectName(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst value = raw.trim() || DEFAULT_PROJECT_NAME;\n\tif (value.length > 63) return null;\n\treturn PROJECT_NAME_RE.test(value) ? value : null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst env = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tprojectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,\n\t\tlanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent: readPersona(state.configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst projectName = normalizeProjectName(body.projectName);\n\tif (!projectName) return errorResponse(400, \"bad_request\", \"projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.\", {}, requestId);\n\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\tif (typeof body.lanExposureEnabled !== \"boolean\") return errorResponse(400, \"bad_request\", \"lanExposureEnabled must be a boolean\", {}, requestId);\n\tconst state = getState();\n\tpatchSecretsEnvFile(state.stackDir, {\n\t\tOP_PROJECT_NAME: projectName,\n\t\tOP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS\n\t});\n\tconst path = personaPath(state.configDir);\n\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\twriteFileAtomic(path, personaContent, 420);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tprojectName,\n\t\tlanExposureEnabled: body.lanExposureEnabled,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent\n\t}, requestId);\n});\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CM1BFa2O.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 { Tn as createLogger, a as importHostOpenCode, at as checkDocker, i as detectHostOpenCode, tn as authJsonPath, z as buildComposeOptions } 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-Cap2Myq0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/current-config/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { At as getAddonProfiles, Dt as annotateAddonProfileAvailability, Gt as readStackEnv, Pt as listEnabledAddonIds, kt as getAddonProfileSelection, qt as readStackSecretEnv } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/api/setup/current-config/+server.ts\nfunction readAkmConfig(configDir) {\n\tconst path = join(configDir, \"akm\", \"config.json\");\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\n/**\n* Read model preferences persisted by importHostOpenCode into\n* <configDir>/assistant/opencode.json. This is the on-disk source of truth\n* after a host import; reusing it means wizard reruns restore the same\n* preferences without re-detecting the (possibly absent) host install.\n* Returns undefined if the file doesn't exist or contains no model keys.\n*/\nfunction readPersistedModelPreferences(configDir) {\n\tconst path = join(configDir, \"assistant\", \"opencode.json\");\n\tif (!existsSync(path)) return void 0;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tconst prefs = {};\n\t\tif (typeof parsed.model === \"string\" && parsed.model) prefs.model = parsed.model;\n\t\tif (typeof parsed.small_model === \"string\" && parsed.small_model) prefs.small_model = parsed.small_model;\n\t\treturn prefs.model || prefs.small_model ? prefs : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction deriveBaseUrl(endpoint) {\n\tif (!endpoint) return \"\";\n\treturn endpoint.replace(/\\/chat\\/completions\\/?$/, \"\").replace(/\\/embeddings\\/?$/, \"\").replace(/\\/+$/, \"\");\n}\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst configured = getUiLoginPassword();\n\tconst env = readStackEnv(state.stackDir);\n\tconst secretEnv = readStackSecretEnv(state.stackDir);\n\tconst akm = readAkmConfig(state.configDir);\n\tconst importedModelPreferences = readPersistedModelPreferences(state.configDir);\n\tconst voiceProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\"));\n\tconst selectedVoiceProfile = getAddonProfileSelection(state.stackDir, \"voice\");\n\tconst ollamaProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\"));\n\tconst selectedOllamaProfile = getAddonProfileSelection(state.stackDir, \"ollama\");\n\tconst hostHome = process.env.HOME ?? process.env.USERPROFILE ?? \"\";\n\tconst hostAkm = !!hostHome && env.OP_AKM_STASH === `${hostHome}/akm` && env.OP_AKM_CONFIG === `${hostHome}/.config/akm`;\n\tconst meta = (envKey) => ({\n\t\tenvKey,\n\t\tpresent: Boolean(secretEnv[envKey])\n\t});\n\tconst discord = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tbotToken: \"DISCORD_BOT_TOKEN\",\n\t\tapplicationId: \"DISCORD_APPLICATION_ID\",\n\t\tregisterCommands: \"DISCORD_REGISTER_COMMANDS\",\n\t\tallowedGuilds: \"DISCORD_ALLOWED_GUILDS\",\n\t\tallowedRoles: \"DISCORD_ALLOWED_ROLES\",\n\t\tallowedUsers: \"DISCORD_ALLOWED_USERS\",\n\t\tblockedUsers: \"DISCORD_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) discord[field] = meta(envKey);\n\tconst slack = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tslackBotToken: \"SLACK_BOT_TOKEN\",\n\t\tslackAppToken: \"SLACK_APP_TOKEN\",\n\t\tallowedChannels: \"SLACK_ALLOWED_CHANNELS\",\n\t\tallowedUsers: \"SLACK_ALLOWED_USERS\",\n\t\tblockedUsers: \"SLACK_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) slack[field] = meta(envKey);\n\tconst portalCredentials = {};\n\tif (Object.keys(discord).length > 0) portalCredentials.discord = discord;\n\tif (Object.keys(slack).length > 0) portalCredentials.slack = slack;\n\treturn json({\n\t\tok: true,\n\t\thasPassword: typeof configured === \"string\" && configured.length > 0,\n\t\timageTag: env.OP_IMAGE_TAG ?? \"\",\n\t\thostAkm,\n\t\tllm: akm.llm ? {\n\t\t\tprovider: akm.llm.provider ?? \"\",\n\t\t\tmodel: akm.llm.model ?? \"\",\n\t\t\tbaseUrl: deriveBaseUrl(akm.llm.endpoint)\n\t\t} : null,\n\t\tembedding: akm.embedding ? {\n\t\t\tprovider: akm.embedding.provider ?? \"\",\n\t\t\tmodel: akm.embedding.model ?? \"\",\n\t\t\tdims: akm.embedding.dimension ?? 0,\n\t\t\tbaseUrl: deriveBaseUrl(akm.embedding.endpoint)\n\t\t} : null,\n\t\tvoice: {\n\t\t\ttts: {\n\t\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_TTS_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t\t},\n\t\t\tstt: {\n\t\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_STT_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t\t},\n\t\t\tprofiles: voiceProfiles,\n\t\t\tselectedProfile: selectedVoiceProfile\n\t\t},\n\t\tollama: {\n\t\t\tprofiles: ollamaProfiles,\n\t\t\tselectedProfile: selectedOllamaProfile\n\t\t},\n\t\tenabledAddons: listEnabledAddonIds(state.homeDir),\n\t\tportalCredentials,\n\t\timportedModelPreferences: importedModelPreferences ?? null\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DBQ7TD4o.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { A as isAllowedService, Tn as createLogger, at as checkDocker, pt as composeStart, z as buildComposeOptions } 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-DDCEmU_P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-preview/_server.ts.js"],"sourcesContent":["import { Tn as createLogger, Z as resolveDefaultMigrateTarget, cn as MigrationError, hn as formatForDisplay, un as ensureReleaseMigrated } 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/migrate-preview/+server.ts\nvar logger = createLogger(\"migrate-preview\");\n/**\n* Preview (#497): show the copy-only release migrations an upgrade to <tag>\n* WOULD run, before the user applies it. Routes through\n* `ensureReleaseMigrated({ dryRun: true })`, which logs `[dry-run]` lines and\n* writes nothing. The same preview the CLI's `migrate --dry-run --to` surfaces.\n*/\nvar POST = 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\tbody = {};\n\t}\n\tconst requested = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (requested && !/^[a-zA-Z0-9._\\-]+$/.test(requested)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tlet targetVersion = requested;\n\tif (!targetVersion || requested.toLowerCase() === \"latest\") try {\n\t\ttargetVersion = await resolveDefaultMigrateTarget(state);\n\t} catch (e) {\n\t\treturn errorResponse(502, \"resolve_failed\", `Could not resolve the latest version to preview: ${e instanceof Error ? e.message : String(e)}`, {}, requestId);\n\t}\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureReleaseMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\ttargetVersion,\n\t\t\tdryRun: true,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migrate preview computed\", {\n\t\t\trequestId,\n\t\t\ttargetVersion,\n\t\t\tapplied: report.applied.length\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttargetVersion: formatForDisplay(targetVersion),\n\t\t\tapplied: report.applied,\n\t\t\tlines,\n\t\t\tnotes: report.notes\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) return errorResponse(500, \"preview_failed\", e.message, { guidance: e.guidance }, requestId);\n\t\treturn errorResponse(500, \"preview_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AACtE,CAAC,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,aAAa,GAAG,SAAS;AAC9B,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,IAAI;AACjE,EAAE,aAAa,GAAG,MAAM,2BAA2B,CAAC,KAAK,CAAC;AAC1D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,iDAAiD,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9J,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACvC,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,GAAG,aAAa;AAChB,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,aAAa;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC;AACjD,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,KAAK;AACR,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,IAAI,CAAC,YAAY,cAAc,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AAC9H,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,CAAC;AACD;;;;"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { r as requireAdmin, d as getRequestId } from './helpers-uzTc9A0Q.js';
|
|
3
|
-
import { i as invalidateVersionCache } from './version-cache-CSnmLqxQ.js';
|
|
4
|
-
import './utils-BSRjJDrZ.js';
|
|
5
|
-
import './src-B3g4Ry1X.js';
|
|
6
|
-
import './chunk-CLZ62Ad-.js';
|
|
7
|
-
import 'node:module';
|
|
8
|
-
import './provider-constants-DPrj3yBX.js';
|
|
9
|
-
import './dist-DOFcG0Zp.js';
|
|
10
|
-
import 'node:fs';
|
|
11
|
-
import 'node:path';
|
|
12
|
-
import 'buffer';
|
|
13
|
-
import 'fs';
|
|
14
|
-
import 'path';
|
|
15
|
-
import 'node:child_process';
|
|
16
|
-
import 'node:url';
|
|
17
|
-
import 'node:crypto';
|
|
18
|
-
import 'events';
|
|
19
|
-
import 'node:events';
|
|
20
|
-
import 'node:stream';
|
|
21
|
-
import 'node:string_decoder';
|
|
22
|
-
import 'assert';
|
|
23
|
-
import 'zlib';
|
|
24
|
-
import 'node:assert';
|
|
25
|
-
import 'node:fs/promises';
|
|
26
|
-
import 'node:os';
|
|
27
|
-
import './endpoints-BnI8UQUm.js';
|
|
28
|
-
import './state-CL9Kv-vm.js';
|
|
29
|
-
|
|
30
|
-
//#region src/routes/admin/versions/refresh/+server.ts
|
|
31
|
-
/**
|
|
32
|
-
* POST /admin/versions/refresh — invalidate all server-side version caches.
|
|
33
|
-
*
|
|
34
|
-
* Called by the admin UI's "Check for updates" button before re-fetching
|
|
35
|
-
* versions + releases + UI versions. The subsequent GETs see a cold cache and
|
|
36
|
-
* hit the upstreams (Docker Hub / npm / GitHub) once, then cache the fresh
|
|
37
|
-
* results for the TTL window.
|
|
38
|
-
*/
|
|
39
|
-
var POST = async (event) => {
|
|
40
|
-
const authError = requireAdmin(event, getRequestId(event));
|
|
41
|
-
if (authError) return authError;
|
|
42
|
-
invalidateVersionCache();
|
|
43
|
-
return json({ ok: true });
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { POST };
|
|
47
|
-
//# sourceMappingURL=_server.ts-DLLNA3jY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DLLNA3jY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/refresh/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { t as invalidateVersionCache } from \"../../../../../chunks/version-cache.js\";\n//#region src/routes/admin/versions/refresh/+server.ts\n/**\n* POST /admin/versions/refresh — invalidate all server-side version caches.\n*\n* Called by the admin UI's \"Check for updates\" button before re-fetching\n* versions + releases + UI versions. The subsequent GETs see a cold cache and\n* hit the upstreams (Docker Hub / npm / GitHub) once, then cache the fresh\n* results for the TTL window.\n*/\nvar POST = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tinvalidateVersionCache();\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,sBAAsB,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DM6Jm6KP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { at as checkDocker, mt as composeStats, z as buildComposeOptions } 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":"_server.ts-DRvqTDLx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { et as writeFileAtomic } 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 { existsSync, mkdirSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/akm/+server.ts\nfunction akmConfigPath(configDir) {\n\treturn `${configDir}/akm/config.json`;\n}\nfunction readAkmConfig(configDir) {\n\tconst path = akmConfigPath(configDir);\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction isRec(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction expectStr(v, field) {\n\treturn typeof v === \"string\" ? v : /* @__PURE__ */ new Error(`${field} must be a string`);\n}\nfunction expectBool(v, field) {\n\treturn typeof v === \"boolean\" ? v : /* @__PURE__ */ new Error(`${field} must be a boolean`);\n}\nfunction expectPosInt(v, field) {\n\treturn typeof v === \"number\" && Number.isInteger(v) && v > 0 ? v : /* @__PURE__ */ new Error(`${field} must be a positive integer`);\n}\nfunction expectNum(v, field, min, max) {\n\treturn typeof v === \"number\" && v >= min && v <= max ? v : /* @__PURE__ */ new Error(`${field} must be a number between ${min} and ${max}`);\n}\nfunction validateLlmProfile(raw, prefix) {\n\tif (\"endpoint\" in raw) {\n\t\tconst r = expectStr(raw.endpoint, `${prefix}.endpoint`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"model\" in raw) {\n\t\tconst r = expectStr(raw.model, `${prefix}.model`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"provider\" in raw) {\n\t\tconst r = expectStr(raw.provider, `${prefix}.provider`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"apiKey\" in raw) {\n\t\tconst r = expectStr(raw.apiKey, `${prefix}.apiKey`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgeModel\" in raw) {\n\t\tconst r = expectStr(raw.judgeModel, `${prefix}.judgeModel`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"temperature\" in raw) {\n\t\tconst r = expectNum(raw.temperature, `${prefix}.temperature`, 0, 2);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTokens\" in raw) {\n\t\tconst r = expectPosInt(raw.maxTokens, `${prefix}.maxTokens`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in raw) {\n\t\tconst r = expectPosInt(raw.timeoutMs, `${prefix}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"concurrency\" in raw) {\n\t\tconst r = expectPosInt(raw.concurrency, `${prefix}.concurrency`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"contextLength\" in raw) {\n\t\tconst r = expectPosInt(raw.contextLength, `${prefix}.contextLength`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"supportsJsonSchema\" in raw) {\n\t\tconst r = expectBool(raw.supportsJsonSchema, `${prefix}.supportsJsonSchema`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"enableThinking\" in raw) {\n\t\tconst r = expectBool(raw.enableThinking, `${prefix}.enableThinking`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"capabilities\" in raw) {\n\t\tif (!isRec(raw.capabilities)) return /* @__PURE__ */ new Error(`${prefix}.capabilities must be an object`);\n\t\tif (\"structuredOutput\" in raw.capabilities) {\n\t\t\tconst r = expectBool(raw.capabilities.structuredOutput, `${prefix}.capabilities.structuredOutput`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\tif (\"extraParams\" in raw && !isRec(raw.extraParams)) return /* @__PURE__ */ new Error(`${prefix}.extraParams must be an object`);\n\treturn null;\n}\nfunction pickLlmProfile(raw) {\n\tconst out = {};\n\tfor (const f of [\n\t\t\"endpoint\",\n\t\t\"model\",\n\t\t\"provider\",\n\t\t\"judgeModel\"\n\t]) if (f in raw && raw[f]) out[f] = raw[f];\n\tif (\"apiKey\" in raw) {\n\t\tif (raw.apiKey) out.apiKey = raw.apiKey;\n\t}\n\tfor (const f of [\n\t\t\"temperature\",\n\t\t\"maxTokens\",\n\t\t\"timeoutMs\",\n\t\t\"concurrency\",\n\t\t\"contextLength\"\n\t]) if (f in raw && raw[f] !== void 0) out[f] = raw[f];\n\tif (\"supportsJsonSchema\" in raw) out.supportsJsonSchema = raw.supportsJsonSchema;\n\tif (\"enableThinking\" in raw) out.enableThinking = raw.enableThinking;\n\tif (isRec(raw.capabilities) && Object.keys(raw.capabilities).length) out.capabilities = raw.capabilities;\n\tif (isRec(raw.extraParams) && Object.keys(raw.extraParams).length) out.extraParams = raw.extraParams;\n\treturn out;\n}\nvar ALLOWED_IMPROVE_PROCESSES = new Set([\n\t\"reflect\",\n\t\"distill\",\n\t\"consolidate\",\n\t\"memoryInference\",\n\t\"graphExtraction\",\n\t\"validation\",\n\t\"extract\",\n\t\"triage\"\n]);\nvar APPLY_MODES = new Set([\"queue\", \"promote\"]);\nvar FEAT_MODES = new Set([\n\t\"llm\",\n\t\"agent\",\n\t\"sdk\"\n]);\nvar AGENT_PLATFORMS = new Set([\n\t\"opencode\",\n\t\"claude\",\n\t\"opencode-sdk\"\n]);\nvar SEMANTIC_SEARCH_MODES = new Set([\"auto\", \"off\"]);\nvar OUTPUT_FORMATS = new Set([\n\t\"json\",\n\t\"yaml\",\n\t\"text\"\n]);\nvar OUTPUT_DETAILS = new Set([\n\t\"brief\",\n\t\"normal\",\n\t\"full\"\n]);\nfunction validateEnabledGate(v, path) {\n\tif (!isRec(v)) return /* @__PURE__ */ new Error(`${path} must be an object`);\n\tif (\"enabled\" in v) {\n\t\tconst r = expectBool(v.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\treturn null;\n}\nfunction validateImproveProcess(proc, path) {\n\tif (\"enabled\" in proc) {\n\t\tconst r = expectBool(proc.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"mode\" in proc && (typeof proc.mode !== \"string\" || !FEAT_MODES.has(proc.mode))) return /* @__PURE__ */ new Error(`${path}.mode must be llm, agent, or sdk`);\n\tif (\"profile\" in proc) {\n\t\tconst r = expectStr(proc.profile, `${path}.profile`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in proc && proc.timeoutMs !== null) {\n\t\tconst r = expectPosInt(proc.timeoutMs, `${path}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"allowedTypes\" in proc) {\n\t\tif (!Array.isArray(proc.allowedTypes) || !proc.allowedTypes.every((t) => typeof t === \"string\" && t.length > 0)) return /* @__PURE__ */ new Error(`${path}.allowedTypes must be an array of non-empty strings`);\n\t}\n\tif (\"qualityGate\" in proc) {\n\t\tconst r = validateEnabledGate(proc.qualityGate, `${path}.qualityGate`);\n\t\tif (r) return r;\n\t}\n\tif (\"contradictionDetection\" in proc) {\n\t\tconst r = validateEnabledGate(proc.contradictionDetection, `${path}.contradictionDetection`);\n\t\tif (r) return r;\n\t}\n\tif (\"defaultSince\" in proc) {\n\t\tconst r = expectStr(proc.defaultSince, `${path}.defaultSince`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTotalChars\" in proc) {\n\t\tconst r = expectPosInt(proc.maxTotalChars, `${path}.maxTotalChars`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxChunkSize\" in proc) {\n\t\tif (typeof proc.maxChunkSize !== \"number\" || !Number.isInteger(proc.maxChunkSize) || proc.maxChunkSize < 1 || proc.maxChunkSize > 50) return /* @__PURE__ */ new Error(`${path}.maxChunkSize must be an integer 1–50`);\n\t}\n\tif (\"applyMode\" in proc && (typeof proc.applyMode !== \"string\" || !APPLY_MODES.has(proc.applyMode))) return /* @__PURE__ */ new Error(`${path}.applyMode must be queue or promote`);\n\tif (\"policy\" in proc) {\n\t\tconst r = expectStr(proc.policy, `${path}.policy`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxAcceptsPerRun\" in proc) {\n\t\tconst r = expectPosInt(proc.maxAcceptsPerRun, `${path}.maxAcceptsPerRun`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxDiffLines\" in proc) {\n\t\tconst r = expectPosInt(proc.maxDiffLines, `${path}.maxDiffLines`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"rejectEmpty\" in proc) {\n\t\tconst r = expectBool(proc.rejectEmpty, `${path}.rejectEmpty`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgment\" in proc) {\n\t\tif (!isRec(proc.judgment)) return /* @__PURE__ */ new Error(`${path}.judgment must be an object`);\n\t\tconst j = proc.judgment;\n\t\tif (\"mode\" in j && (typeof j.mode !== \"string\" || !FEAT_MODES.has(j.mode))) return /* @__PURE__ */ new Error(`${path}.judgment.mode must be llm, agent, or sdk`);\n\t\tif (\"profile\" in j) {\n\t\t\tconst r = expectStr(j.profile, `${path}.judgment.profile`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t\tif (\"timeoutMs\" in j && j.timeoutMs !== null) {\n\t\t\tconst r = expectPosInt(j.timeoutMs, `${path}.judgment.timeoutMs`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\treturn null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { config: readAkmConfig(getState().configDir) }, requestId);\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\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 profilesBody = body.profiles;\n\tif (profilesBody !== void 0 && !isRec(profilesBody)) return errorResponse(400, \"bad_request\", \"profiles must be an object\", {}, requestId);\n\tconst profilesLlmBody = profilesBody?.llm;\n\tif (profilesLlmBody !== void 0) {\n\t\tif (!isRec(profilesLlmBody)) return errorResponse(400, \"bad_request\", \"profiles.llm must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.llm.${name} must be an object`, {}, requestId);\n\t\t\tconst err = validateLlmProfile(entry, `profiles.llm.${name}`);\n\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t}\n\t}\n\tconst profilesAgentBody = profilesBody?.agent;\n\tif (profilesAgentBody !== void 0) {\n\t\tif (!isRec(profilesAgentBody)) return errorResponse(400, \"bad_request\", \"profiles.agent must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.agent.${name} must be an object`, {}, requestId);\n\t\t\tif (\"platform\" in entry && (typeof entry.platform !== \"string\" || !AGENT_PLATFORMS.has(entry.platform))) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.platform must be opencode, claude, or opencode-sdk`, {}, requestId);\n\t\t\tif (\"bin\" in entry) {\n\t\t\t\tconst r = expectStr(entry.bin, `profiles.agent.${name}.bin`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"workspace\" in entry) {\n\t\t\t\tconst r = expectStr(entry.workspace, `profiles.agent.${name}.workspace`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"model\" in entry) {\n\t\t\t\tconst r = expectStr(entry.model, `profiles.agent.${name}.model`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"args\" in entry && !Array.isArray(entry.args)) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.args must be an array`, {}, requestId);\n\t\t}\n\t}\n\tconst profilesImproveBody = profilesBody?.improve;\n\tif (profilesImproveBody !== void 0) {\n\t\tif (!isRec(profilesImproveBody)) return errorResponse(400, \"bad_request\", \"profiles.improve must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.improve.${name} must be an object`, {}, requestId);\n\t\t\tif (\"description\" in entry) {\n\t\t\t\tconst r = expectStr(entry.description, `profiles.improve.${name}.description`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"limit\" in entry) {\n\t\t\t\tconst r = expectPosInt(entry.limit, `profiles.improve.${name}.limit`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"autoAccept\" in entry && (typeof entry.autoAccept !== \"number\" || entry.autoAccept < 0)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.autoAccept must be a non-negative number`, {}, requestId);\n\t\t\tif (\"processes\" in entry) {\n\t\t\t\tif (!isRec(entry.processes)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes must be an object`, {}, requestId);\n\t\t\t\tfor (const [procName, proc] of Object.entries(entry.processes)) {\n\t\t\t\t\tif (!ALLOWED_IMPROVE_PROCESSES.has(procName)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} is not a recognized process name`, {}, requestId);\n\t\t\t\t\tif (!isRec(proc)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} must be an object`, {}, requestId);\n\t\t\t\t\tconst err = validateImproveProcess(proc, `profiles.improve.${name}.processes.${procName}`);\n\t\t\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\"sync\" in entry) {\n\t\t\t\tif (!isRec(entry.sync)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.sync must be an object`, {}, requestId);\n\t\t\t\tconst sync = entry.sync;\n\t\t\t\tif (\"enabled\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.enabled, `profiles.improve.${name}.sync.enabled`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"push\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.push, `profiles.improve.${name}.sync.push`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"message\" in sync) {\n\t\t\t\t\tconst r = expectStr(sync.message, `profiles.improve.${name}.sync.message`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst defaultsBody = body.defaults;\n\tif (defaultsBody !== void 0 && !isRec(defaultsBody)) return errorResponse(400, \"bad_request\", \"defaults must be an object\", {}, requestId);\n\tif (defaultsBody?.llm !== void 0) {\n\t\tconst r = expectStr(defaultsBody.llm, \"defaults.llm\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.agent !== void 0) {\n\t\tconst r = expectStr(defaultsBody.agent, \"defaults.agent\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.improve !== void 0) {\n\t\tconst r = expectStr(defaultsBody.improve, \"defaults.improve\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tconst embBody = body.embedding;\n\tif (embBody !== void 0) {\n\t\tif (!isRec(embBody)) return errorResponse(400, \"bad_request\", \"embedding must be an object\", {}, requestId);\n\t\tfor (const f of [\n\t\t\t\"endpoint\",\n\t\t\t\"model\",\n\t\t\t\"provider\",\n\t\t\t\"apiKey\",\n\t\t\t\"localModel\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectStr(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"dimension\" in embBody) {\n\t\t\tconst r = expectPosInt(embBody.dimension, \"embedding.dimension\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tfor (const f of [\n\t\t\t\"maxTokens\",\n\t\t\t\"batchSize\",\n\t\t\t\"chunkSize\",\n\t\t\t\"contextLength\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectPosInt(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) {\n\t\t\tconst r = expectPosInt(embBody.ollamaOptions.num_ctx, \"embedding.ollamaOptions.num_ctx\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tif (\"semanticSearchMode\" in body && (typeof body.semanticSearchMode !== \"string\" || !SEMANTIC_SEARCH_MODES.has(body.semanticSearchMode))) return errorResponse(400, \"bad_request\", \"semanticSearchMode must be \\\"auto\\\" or \\\"off\\\"\", {}, requestId);\n\tconst outputBody = body.output;\n\tif (outputBody !== void 0) {\n\t\tif (!isRec(outputBody)) return errorResponse(400, \"bad_request\", \"output must be an object\", {}, requestId);\n\t\tif (\"format\" in outputBody && (typeof outputBody.format !== \"string\" || !OUTPUT_FORMATS.has(outputBody.format))) return errorResponse(400, \"bad_request\", \"output.format must be json, yaml, or text\", {}, requestId);\n\t\tif (\"detail\" in outputBody && (typeof outputBody.detail !== \"string\" || !OUTPUT_DETAILS.has(outputBody.detail))) return errorResponse(400, \"bad_request\", \"output.detail must be brief, normal, or full\", {}, requestId);\n\t}\n\tconst improveTopBody = body.improve;\n\tif (improveTopBody !== void 0) {\n\t\tif (!isRec(improveTopBody)) return errorResponse(400, \"bad_request\", \"improve must be an object\", {}, requestId);\n\t\tif (\"utilityDecay\" in improveTopBody) {\n\t\t\tif (!isRec(improveTopBody.utilityDecay)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay must be an object\", {}, requestId);\n\t\t\tconst d = improveTopBody.utilityDecay;\n\t\t\tif (\"halfLifeDays\" in d && (typeof d.halfLifeDays !== \"number\" || d.halfLifeDays < .1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.halfLifeDays must be a number ≥ 0.1\", {}, requestId);\n\t\t\tif (\"feedbackStabilityBoost\" in d && (typeof d.feedbackStabilityBoost !== \"number\" || d.feedbackStabilityBoost < 1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.feedbackStabilityBoost must be a number ≥ 1\", {}, requestId);\n\t\t}\n\t\tif (\"eventRetentionDays\" in improveTopBody && (typeof improveTopBody.eventRetentionDays !== \"number\" || improveTopBody.eventRetentionDays < 0)) return errorResponse(400, \"bad_request\", \"improve.eventRetentionDays must be a non-negative number\", {}, requestId);\n\t}\n\tconst searchBody = body.search;\n\tif (searchBody !== void 0) {\n\t\tif (!isRec(searchBody)) return errorResponse(400, \"bad_request\", \"search must be an object\", {}, requestId);\n\t\tif (\"minScore\" in searchBody && (typeof searchBody.minScore !== \"number\" || searchBody.minScore < 0)) return errorResponse(400, \"bad_request\", \"search.minScore must be a non-negative number\", {}, requestId);\n\t\tif (\"curateRerank\" in searchBody) {\n\t\t\tconst r = validateEnabledGate(searchBody.curateRerank, \"search.curateRerank\");\n\t\t\tif (r) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tconst feedbackBody = body.feedback;\n\tif (feedbackBody !== void 0) {\n\t\tif (!isRec(feedbackBody)) return errorResponse(400, \"bad_request\", \"feedback must be an object\", {}, requestId);\n\t\tif (\"requireReason\" in feedbackBody) {\n\t\t\tconst r = expectBool(feedbackBody.requireReason, \"feedback.requireReason\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"allowedFailureModes\" in feedbackBody && (!Array.isArray(feedbackBody.allowedFailureModes) || !feedbackBody.allowedFailureModes.every((m) => typeof m === \"string\" && m.length > 0))) return errorResponse(400, \"bad_request\", \"feedback.allowedFailureModes must be an array of non-empty strings\", {}, requestId);\n\t}\n\tconst indexBody = body.index;\n\tif (indexBody !== void 0 && !isRec(indexBody)) return errorResponse(400, \"bad_request\", \"index must be an object keyed by pass name\", {}, requestId);\n\ttry {\n\t\tconst existing = readAkmConfig(state.configDir);\n\t\tconst updated = { ...existing };\n\t\tif (profilesBody !== void 0) {\n\t\t\tconst existingProfiles = existing.profiles ?? {};\n\t\t\tconst newProfiles = { ...existingProfiles };\n\t\t\tif (profilesLlmBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) built[name] = pickLlmProfile(entry);\n\t\t\t\tnewProfiles.llm = built;\n\t\t\t}\n\t\t\tif (profilesAgentBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst agentEntry = {};\n\t\t\t\t\tif (\"platform\" in raw) agentEntry.platform = raw.platform;\n\t\t\t\t\tif (\"bin\" in raw && raw.bin) agentEntry.bin = raw.bin;\n\t\t\t\t\tif (\"args\" in raw && Array.isArray(raw.args) && raw.args.length) agentEntry.args = raw.args;\n\t\t\t\t\tif (\"workspace\" in raw && raw.workspace) agentEntry.workspace = raw.workspace;\n\t\t\t\t\tif (\"model\" in raw && raw.model) agentEntry.model = raw.model;\n\t\t\t\t\tbuilt[name] = agentEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.agent = built;\n\t\t\t}\n\t\t\tif (profilesImproveBody !== void 0) {\n\t\t\t\tconst existingImprove = existingProfiles.improve ?? {};\n\t\t\t\tconst builtImprove = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst existingProfile = existingImprove[name] ?? {};\n\t\t\t\t\tconst profileEntry = { ...existingProfile };\n\t\t\t\t\tif (\"description\" in raw && raw.description) profileEntry.description = raw.description;\n\t\t\t\t\tif (\"limit\" in raw) profileEntry.limit = raw.limit;\n\t\t\t\t\tif (\"autoAccept\" in raw) profileEntry.autoAccept = raw.autoAccept;\n\t\t\t\t\tif (\"processes\" in raw && isRec(raw.processes)) {\n\t\t\t\t\t\tconst newProcs = { ...existingProfile.processes ?? {} };\n\t\t\t\t\t\tfor (const [procName, proc] of Object.entries(raw.processes)) newProcs[procName] = proc;\n\t\t\t\t\t\tprofileEntry.processes = newProcs;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"sync\" in raw) if (isRec(raw.sync)) profileEntry.sync = raw.sync;\n\t\t\t\t\telse delete profileEntry.sync;\n\t\t\t\t\tbuiltImprove[name] = profileEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.improve = builtImprove;\n\t\t\t}\n\t\t\tupdated.profiles = newProfiles;\n\t\t}\n\t\tif (defaultsBody !== void 0) updated.defaults = {\n\t\t\t...existing.defaults ?? {},\n\t\t\t...\"llm\" in defaultsBody ? { llm: defaultsBody.llm } : {},\n\t\t\t...\"agent\" in defaultsBody ? { agent: defaultsBody.agent } : {},\n\t\t\t...\"improve\" in defaultsBody ? { improve: defaultsBody.improve } : {}\n\t\t};\n\t\tif (embBody !== void 0) {\n\t\t\tconst merged = { ...existing.embedding ?? {} };\n\t\t\tfor (const f of [\n\t\t\t\t\"endpoint\",\n\t\t\t\t\"model\",\n\t\t\t\t\"provider\",\n\t\t\t\t\"localModel\"\n\t\t\t]) if (f in embBody) if (embBody[f]) merged[f] = embBody[f];\n\t\t\telse delete merged[f];\n\t\t\tif (\"apiKey\" in embBody) if (embBody.apiKey) merged.apiKey = embBody.apiKey;\n\t\t\telse delete merged.apiKey;\n\t\t\tif (\"dimension\" in embBody) merged.dimension = embBody.dimension;\n\t\t\tfor (const f of [\n\t\t\t\t\"maxTokens\",\n\t\t\t\t\"batchSize\",\n\t\t\t\t\"chunkSize\",\n\t\t\t\t\"contextLength\"\n\t\t\t]) if (f in embBody) merged[f] = embBody[f];\n\t\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) merged.ollamaOptions = {\n\t\t\t\t...existing.embedding?.[\"ollamaOptions\"] ?? {},\n\t\t\t\tnum_ctx: embBody.ollamaOptions.num_ctx\n\t\t\t};\n\t\t\tupdated.embedding = merged;\n\t\t}\n\t\tif (\"semanticSearchMode\" in body) updated.semanticSearchMode = body.semanticSearchMode;\n\t\tupdated.stashDir = \"/stash\";\n\t\tif (outputBody !== void 0) updated.output = {\n\t\t\t...existing.output ?? {},\n\t\t\t...\"format\" in outputBody ? { format: outputBody.format } : {},\n\t\t\t...\"detail\" in outputBody ? { detail: outputBody.detail } : {}\n\t\t};\n\t\tif (improveTopBody !== void 0) updated.improve = improveTopBody;\n\t\tif (searchBody !== void 0) updated.search = searchBody;\n\t\tif (feedbackBody !== void 0) updated.feedback = feedbackBody;\n\t\tif (indexBody !== void 0) updated.index = indexBody;\n\t\tmkdirSync(`${state.configDir}/akm`, { recursive: true });\n\t\twriteFileAtomic(akmConfigPath(state.configDir), JSON.stringify(updated, null, 2), 384);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tconfig: updated\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"internal_error\", `Failed to persist akm config: ${String(e)}`, {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DXoq1VzO.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/events/_server.ts.js"],"sourcesContent":["import { _t as getDockerEvents, at as checkDocker } 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-DYsP_lpr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { I as mapDockerError, at as checkDocker, o as performSetup, on as resolveStackDir, yt 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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"}
|