@openpalm/ui 0.12.30 → 0.12.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/chunks/BYCTEqF7.js +3 -0
- package/build/client/_app/immutable/chunks/BYCTEqF7.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYCTEqF7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BO4NROwb.js → Bj8b_Fjf.js} +1 -1
- package/build/client/_app/immutable/chunks/Bj8b_Fjf.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bj8b_Fjf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CLdO58WX.js → C-OAGzQt.js} +1 -1
- package/build/client/_app/immutable/chunks/C-OAGzQt.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-OAGzQt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/WFfrYHgQ.js +1 -0
- package/build/client/_app/immutable/chunks/WFfrYHgQ.js.br +2 -0
- package/build/client/_app/immutable/chunks/WFfrYHgQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.B0VnlV1D.js → app.IzubCebK.js} +2 -2
- package/build/client/_app/immutable/entry/app.IzubCebK.js.br +0 -0
- package/build/client/_app/immutable/entry/app.IzubCebK.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CyaoKjAH.js +1 -0
- package/build/client/_app/immutable/entry/start.CyaoKjAH.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CyaoKjAH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BrAaLw95.js → 1.C5_1Gaea.js} +1 -1
- package/build/client/_app/immutable/nodes/{1.BrAaLw95.js.br → 1.C5_1Gaea.js.br} +1 -1
- package/build/client/_app/immutable/nodes/1.C5_1Gaea.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.caleLvGw.js → 4.DoB3_DMQ.js} +66 -66
- package/build/client/_app/immutable/nodes/4.DoB3_DMQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DoB3_DMQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DMJXuosM.js → 5.DUK5hQdt.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DUK5hQdt.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DUK5hQdt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.4uWEFIGs.js → 6.alcWW8H4.js} +1 -1
- package/build/client/_app/immutable/nodes/6.alcWW8H4.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.alcWW8H4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.BBl7JXjt.js → 7.B0jOvyKd.js} +1 -1
- package/build/client/_app/immutable/nodes/7.B0jOvyKd.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.B0jOvyKd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.CchFRn2k.js → 8.DURbZz-C.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DURbZz-C.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DURbZz-C.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/1-DIHKBON0.js +9 -0
- package/build/server/chunks/{1-CBlVFGB9.js.map → 1-DIHKBON0.js.map} +1 -1
- package/build/server/chunks/{10-Blsd813O.js → 10-zD-KZ3ui.js} +5 -5
- package/build/server/chunks/{10-Blsd813O.js.map → 10-zD-KZ3ui.js.map} +1 -1
- package/build/server/chunks/{4-Cs3sEVb7.js → 4-7lFdwTde.js} +3 -3
- package/build/server/chunks/{4-Cs3sEVb7.js.map → 4-7lFdwTde.js.map} +1 -1
- package/build/server/chunks/{5-LGGrqeZn.js → 5-CZRpA9CE.js} +3 -3
- package/build/server/chunks/{5-LGGrqeZn.js.map → 5-CZRpA9CE.js.map} +1 -1
- package/build/server/chunks/{6-Dx521VoJ.js → 6-ngI9U8-7.js} +3 -3
- package/build/server/chunks/{6-Dx521VoJ.js.map → 6-ngI9U8-7.js.map} +1 -1
- package/build/server/chunks/{7-tuYOO8Al.js → 7-BXo5wqJL.js} +3 -3
- package/build/server/chunks/{7-tuYOO8Al.js.map → 7-BXo5wqJL.js.map} +1 -1
- package/build/server/chunks/{8-QQP1bF8p.js → 8-B0i2eGqj.js} +3 -3
- package/build/server/chunks/{8-QQP1bF8p.js.map → 8-B0i2eGqj.js.map} +1 -1
- package/build/server/chunks/{Navbar-D3-dml2D.js → Navbar-DoQxytvI.js} +3 -3
- package/build/server/chunks/{Navbar-D3-dml2D.js.map → Navbar-DoQxytvI.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-xWgvQYVV.js → _page.svelte-9ue_d9c_.js} +5 -5
- package/build/server/chunks/{_page.svelte-xWgvQYVV.js.map → _page.svelte-9ue_d9c_.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CeqrYx7P.js → _page.svelte-BjikpgT_.js} +5 -5
- package/build/server/chunks/_page.svelte-BjikpgT_.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B6h3RiZ-.js → _page.svelte-DrvzA2bK.js} +3 -3
- package/build/server/chunks/{_page.svelte-B6h3RiZ-.js.map → _page.svelte-DrvzA2bK.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-v26GfWAu.js → _page.svelte-c-6nuPeQ.js} +3 -3
- package/build/server/chunks/{_page.svelte-v26GfWAu.js.map → _page.svelte-c-6nuPeQ.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BncT5wqj.js → _page.svelte-nLkc1-XB.js} +5 -5
- package/build/server/chunks/{_page.svelte-BncT5wqj.js.map → _page.svelte-nLkc1-XB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do0nZ11M.js → _server.ts-1Y3s7H-u.js} +5 -5
- package/build/server/chunks/{_server.ts-Do0nZ11M.js.map → _server.ts-1Y3s7H-u.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BIQ_iRKu.js → _server.ts-2T6cOtOm.js} +5 -5
- package/build/server/chunks/{_server.ts-BIQ_iRKu.js.map → _server.ts-2T6cOtOm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8oYZ2e-.js → _server.ts-2oYERdoH.js} +5 -5
- package/build/server/chunks/{_server.ts-D8oYZ2e-.js.map → _server.ts-2oYERdoH.js.map} +1 -1
- package/build/server/chunks/_server.ts-7F_BUlYq.js +105 -0
- package/build/server/chunks/_server.ts-7F_BUlYq.js.map +1 -0
- package/build/server/chunks/{_server.ts-DHuV-IKw.js → _server.ts-B3iUOKyn.js} +5 -5
- package/build/server/chunks/{_server.ts-DHuV-IKw.js.map → _server.ts-B3iUOKyn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5o0d90E.js → _server.ts-B4cDLfYS.js} +5 -5
- package/build/server/chunks/{_server.ts-D5o0d90E.js.map → _server.ts-B4cDLfYS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-H0-fK41i.js → _server.ts-B65aoLYU.js} +5 -5
- package/build/server/chunks/{_server.ts-H0-fK41i.js.map → _server.ts-B65aoLYU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTHv1_3n.js → _server.ts-B7dSV5BY.js} +5 -5
- package/build/server/chunks/{_server.ts-BTHv1_3n.js.map → _server.ts-B7dSV5BY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0kb1s0H.js → _server.ts-B7v60EjZ.js} +6 -6
- package/build/server/chunks/{_server.ts-C0kb1s0H.js.map → _server.ts-B7v60EjZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CaXQiZsV.js → _server.ts-BF5ge8j1.js} +5 -5
- package/build/server/chunks/{_server.ts-CaXQiZsV.js.map → _server.ts-BF5ge8j1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BsSd56zs.js → _server.ts-BHQkXLZZ.js} +5 -5
- package/build/server/chunks/{_server.ts-BsSd56zs.js.map → _server.ts-BHQkXLZZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BqHhalJ0.js → _server.ts-BSyFfjDw.js} +5 -5
- package/build/server/chunks/{_server.ts-BqHhalJ0.js.map → _server.ts-BSyFfjDw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Derp6D-A.js → _server.ts-BZp0LR87.js} +5 -5
- package/build/server/chunks/{_server.ts-Derp6D-A.js.map → _server.ts-BZp0LR87.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DXpnsm_n.js → _server.ts-BZryPwKE.js} +5 -5
- package/build/server/chunks/{_server.ts-DXpnsm_n.js.map → _server.ts-BZryPwKE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrCzex0x.js → _server.ts-BcYS6TBV.js} +5 -5
- package/build/server/chunks/{_server.ts-DrCzex0x.js.map → _server.ts-BcYS6TBV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BpfJshbf.js → _server.ts-BiPsPH2p.js} +5 -5
- package/build/server/chunks/{_server.ts-BpfJshbf.js.map → _server.ts-BiPsPH2p.js.map} +1 -1
- package/build/server/chunks/{_server.ts-PN2Woc-O.js → _server.ts-BjgshRwU.js} +5 -5
- package/build/server/chunks/{_server.ts-PN2Woc-O.js.map → _server.ts-BjgshRwU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DpAi1suL.js → _server.ts-BpWQfU35.js} +5 -5
- package/build/server/chunks/{_server.ts-DpAi1suL.js.map → _server.ts-BpWQfU35.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ChabbgDq.js → _server.ts-Bt-54mIK.js} +5 -5
- package/build/server/chunks/{_server.ts-ChabbgDq.js.map → _server.ts-Bt-54mIK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVzDfcQE.js → _server.ts-Bwgisxd2.js} +2 -2
- package/build/server/chunks/{_server.ts-CVzDfcQE.js.map → _server.ts-Bwgisxd2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xS7sMkxa.js → _server.ts-BxEMB1uA.js} +5 -5
- package/build/server/chunks/{_server.ts-xS7sMkxa.js.map → _server.ts-BxEMB1uA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-9PjUPfnm.js → _server.ts-C4vnNRWA.js} +6 -6
- package/build/server/chunks/_server.ts-C4vnNRWA.js.map +1 -0
- package/build/server/chunks/{_server.ts-Zx7-z7iR.js → _server.ts-C5YmS2Uq.js} +5 -5
- package/build/server/chunks/{_server.ts-Zx7-z7iR.js.map → _server.ts-C5YmS2Uq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-TR6UyTLZ.js → _server.ts-C5vNjoWG.js} +5 -5
- package/build/server/chunks/{_server.ts-TR6UyTLZ.js.map → _server.ts-C5vNjoWG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-NPiZCiUP.js → _server.ts-C8jw9hrn.js} +5 -5
- package/build/server/chunks/{_server.ts-NPiZCiUP.js.map → _server.ts-C8jw9hrn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B9nRs4On.js → _server.ts-CCb8lcmT.js} +6 -6
- package/build/server/chunks/{_server.ts-B9nRs4On.js.map → _server.ts-CCb8lcmT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LXNcX_gr.js → _server.ts-CGoUNdnE.js} +7 -7
- package/build/server/chunks/{_server.ts-LXNcX_gr.js.map → _server.ts-CGoUNdnE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dh_IN_-K.js → _server.ts-CHq1OxBh.js} +5 -5
- package/build/server/chunks/{_server.ts-Dh_IN_-K.js.map → _server.ts-CHq1OxBh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CXC4jnmZ.js → _server.ts-CNW5uBR9.js} +7 -7
- package/build/server/chunks/{_server.ts-CXC4jnmZ.js.map → _server.ts-CNW5uBR9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BQLpCkXl.js → _server.ts-COyf3Xtq.js} +6 -6
- package/build/server/chunks/{_server.ts-BQLpCkXl.js.map → _server.ts-COyf3Xtq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQUxuBXW.js → _server.ts-CTOluTLg.js} +5 -5
- package/build/server/chunks/{_server.ts-CQUxuBXW.js.map → _server.ts-CTOluTLg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJDpQCOT.js → _server.ts-CUQfJVn3.js} +5 -5
- package/build/server/chunks/{_server.ts-DJDpQCOT.js.map → _server.ts-CUQfJVn3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DKDPiB3l.js → _server.ts-CZUpDtg1.js} +5 -5
- package/build/server/chunks/{_server.ts-DKDPiB3l.js.map → _server.ts-CZUpDtg1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG00do9J.js → _server.ts-C_J0oT3o.js} +5 -5
- package/build/server/chunks/{_server.ts-CG00do9J.js.map → _server.ts-C_J0oT3o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ex0gqTvl.js → _server.ts-CaNfREKf.js} +4 -4
- package/build/server/chunks/{_server.ts-ex0gqTvl.js.map → _server.ts-CaNfREKf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DkiM0c0r.js → _server.ts-CbpEx1uv.js} +5 -5
- package/build/server/chunks/{_server.ts-DkiM0c0r.js.map → _server.ts-CbpEx1uv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbxvGqPo.js → _server.ts-CfNmXYMO.js} +5 -5
- package/build/server/chunks/{_server.ts-CbxvGqPo.js.map → _server.ts-CfNmXYMO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-shPLWmam.js → _server.ts-Chwcpgvg.js} +7 -7
- package/build/server/chunks/{_server.ts-shPLWmam.js.map → _server.ts-Chwcpgvg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DX9V8mJw.js → _server.ts-CjxbJuco.js} +5 -5
- package/build/server/chunks/{_server.ts-DX9V8mJw.js.map → _server.ts-CjxbJuco.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWIO3AB7.js → _server.ts-Cr8fGXFV.js} +6 -6
- package/build/server/chunks/{_server.ts-CWIO3AB7.js.map → _server.ts-Cr8fGXFV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-FhkW1KTP.js → _server.ts-CvHjb53_.js} +6 -6
- package/build/server/chunks/{_server.ts-FhkW1KTP.js.map → _server.ts-CvHjb53_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DUqFWmvr.js → _server.ts-CvZAbhFS.js} +5 -5
- package/build/server/chunks/{_server.ts-DUqFWmvr.js.map → _server.ts-CvZAbhFS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C63clURM.js → _server.ts-Cy-mVAlH.js} +5 -5
- package/build/server/chunks/{_server.ts-C63clURM.js.map → _server.ts-Cy-mVAlH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dm1ryw4F.js → _server.ts-CzmmyNEn.js} +2 -2
- package/build/server/chunks/{_server.ts-Dm1ryw4F.js.map → _server.ts-CzmmyNEn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bf6qRIKL.js → _server.ts-CzsGM0f6.js} +5 -5
- package/build/server/chunks/{_server.ts-Bf6qRIKL.js.map → _server.ts-CzsGM0f6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-HgZ5qwdH.js → _server.ts-D-I3xSru.js} +6 -6
- package/build/server/chunks/{_server.ts-HgZ5qwdH.js.map → _server.ts-D-I3xSru.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ChvwdWmH.js → _server.ts-D5GtgRll.js} +5 -5
- package/build/server/chunks/{_server.ts-ChvwdWmH.js.map → _server.ts-D5GtgRll.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLHONwD4.js → _server.ts-D80QZwmF.js} +6 -6
- package/build/server/chunks/{_server.ts-CLHONwD4.js.map → _server.ts-D80QZwmF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIffbWOr.js → _server.ts-D8g5ZQpY.js} +7 -7
- package/build/server/chunks/{_server.ts-CIffbWOr.js.map → _server.ts-D8g5ZQpY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2f5NEVb.js → _server.ts-D925-m6X.js} +6 -6
- package/build/server/chunks/{_server.ts-D2f5NEVb.js.map → _server.ts-D925-m6X.js.map} +1 -1
- package/build/server/chunks/{_server.ts-hLsRXWLT.js → _server.ts-DAmT4h9V.js} +5 -5
- package/build/server/chunks/{_server.ts-hLsRXWLT.js.map → _server.ts-DAmT4h9V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2xTEuJw.js → _server.ts-DDprcnhL.js} +8 -8
- package/build/server/chunks/{_server.ts-C2xTEuJw.js.map → _server.ts-DDprcnhL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbuFYLHu.js → _server.ts-DHn7h9E-.js} +6 -6
- package/build/server/chunks/{_server.ts-CbuFYLHu.js.map → _server.ts-DHn7h9E-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yzpWSCXF.js → _server.ts-DM7yEpkP.js} +4 -4
- package/build/server/chunks/{_server.ts-yzpWSCXF.js.map → _server.ts-DM7yEpkP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCXXZwEK.js → _server.ts-DMrrgOGD.js} +5 -5
- package/build/server/chunks/{_server.ts-CCXXZwEK.js.map → _server.ts-DMrrgOGD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dipm3OBu.js → _server.ts-DNT5dFho.js} +2 -2
- package/build/server/chunks/{_server.ts-Dipm3OBu.js.map → _server.ts-DNT5dFho.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dy1iF6cg.js → _server.ts-DQ3Q3lBr.js} +5 -5
- package/build/server/chunks/{_server.ts-Dy1iF6cg.js.map → _server.ts-DQ3Q3lBr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CgR3I3g6.js → _server.ts-DRgLHfTA.js} +5 -5
- package/build/server/chunks/{_server.ts-CgR3I3g6.js.map → _server.ts-DRgLHfTA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BuZ522NL.js → _server.ts-DSHlDnsw.js} +5 -5
- package/build/server/chunks/{_server.ts-BuZ522NL.js.map → _server.ts-DSHlDnsw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DQNJFLR3.js → _server.ts-DYF19EvK.js} +5 -5
- package/build/server/chunks/{_server.ts-DQNJFLR3.js.map → _server.ts-DYF19EvK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdO3KWOt.js → _server.ts-Da6KSjp9.js} +2 -2
- package/build/server/chunks/{_server.ts-DdO3KWOt.js.map → _server.ts-Da6KSjp9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ClFJ0eZj.js → _server.ts-DaakSWKH.js} +5 -5
- package/build/server/chunks/{_server.ts-ClFJ0eZj.js.map → _server.ts-DaakSWKH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DIyEp4rq.js → _server.ts-Df71sxpB.js} +6 -6
- package/build/server/chunks/{_server.ts-DIyEp4rq.js.map → _server.ts-Df71sxpB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BImbAjFT.js → _server.ts-DgJD6gKd.js} +5 -5
- package/build/server/chunks/{_server.ts-BImbAjFT.js.map → _server.ts-DgJD6gKd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-waMYdhp6.js → _server.ts-DifVMUDd.js} +5 -5
- package/build/server/chunks/{_server.ts-waMYdhp6.js.map → _server.ts-DifVMUDd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BeZiSZPa.js → _server.ts-DjVMYLyL.js} +5 -5
- package/build/server/chunks/{_server.ts-BeZiSZPa.js.map → _server.ts-DjVMYLyL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cqdb46dB.js → _server.ts-DrdJgJtg.js} +5 -5
- package/build/server/chunks/{_server.ts-Cqdb46dB.js.map → _server.ts-DrdJgJtg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-S-JBodAK.js → _server.ts-Dy8TPl_X.js} +5 -5
- package/build/server/chunks/{_server.ts-S-JBodAK.js.map → _server.ts-Dy8TPl_X.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BVixeHpL.js → _server.ts-Dyv-ZQ50.js} +5 -5
- package/build/server/chunks/{_server.ts-BVixeHpL.js.map → _server.ts-Dyv-ZQ50.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CmJiqNLL.js → _server.ts-QF9Zl02-.js} +2 -2
- package/build/server/chunks/{_server.ts-CmJiqNLL.js.map → _server.ts-QF9Zl02-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHlacLn5.js → _server.ts-S0Pusqv_.js} +6 -6
- package/build/server/chunks/{_server.ts-DHlacLn5.js.map → _server.ts-S0Pusqv_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8ITCdL1.js → _server.ts-T_4UKWu7.js} +5 -5
- package/build/server/chunks/{_server.ts-D8ITCdL1.js.map → _server.ts-T_4UKWu7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-o3d2ebrR.js → _server.ts-UUdgTh4y.js} +7 -7
- package/build/server/chunks/{_server.ts-o3d2ebrR.js.map → _server.ts-UUdgTh4y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrlHr3Yp.js → _server.ts-VZjUzQFO.js} +5 -5
- package/build/server/chunks/{_server.ts-DrlHr3Yp.js.map → _server.ts-VZjUzQFO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bu2vn3fo.js → _server.ts-YpGhxnE-.js} +5 -5
- package/build/server/chunks/{_server.ts-Bu2vn3fo.js.map → _server.ts-YpGhxnE-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHDV44kU.js → _server.ts-_QiVwptX.js} +5 -5
- package/build/server/chunks/{_server.ts-DHDV44kU.js.map → _server.ts-_QiVwptX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPP8y7KI.js → _server.ts-auedpO6V.js} +5 -5
- package/build/server/chunks/{_server.ts-DPP8y7KI.js.map → _server.ts-auedpO6V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BiY6rZ_w.js → _server.ts-fLPg_Rvv.js} +5 -5
- package/build/server/chunks/{_server.ts-BiY6rZ_w.js.map → _server.ts-fLPg_Rvv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-i-rS2Jno.js → _server.ts-gskPptJg.js} +5 -5
- package/build/server/chunks/{_server.ts-i-rS2Jno.js.map → _server.ts-gskPptJg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-k2Ka2S1I.js → _server.ts-jDZaykd2.js} +7 -7
- package/build/server/chunks/{_server.ts-k2Ka2S1I.js.map → _server.ts-jDZaykd2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CaxNFXXL.js → _server.ts-oQ77Psv9.js} +5 -5
- package/build/server/chunks/{_server.ts-CaxNFXXL.js.map → _server.ts-oQ77Psv9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiVIZEWF.js → _server.ts-r1vh2KWe.js} +28 -41
- package/build/server/chunks/_server.ts-r1vh2KWe.js.map +1 -0
- package/build/server/chunks/{_server.ts-CkeucrQP.js → _server.ts-wHil7iOC.js} +5 -5
- package/build/server/chunks/{_server.ts-CkeucrQP.js.map → _server.ts-wHil7iOC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BBNJJXcP.js → _server.ts-wlKSWgka.js} +5 -5
- package/build/server/chunks/{_server.ts-BBNJJXcP.js.map → _server.ts-wlKSWgka.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Duc444YH.js → _server.ts-zeX-NTuN.js} +6 -6
- package/build/server/chunks/{_server.ts-Duc444YH.js.map → _server.ts-zeX-NTuN.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-u14MZ4hn.js → addon-helpers-DRNSalsH.js} +3 -3
- package/build/server/chunks/{addon-helpers-u14MZ4hn.js.map → addon-helpers-DRNSalsH.js.map} +1 -1
- package/build/server/chunks/{akm-xwGlYpRz.js → akm-BAmL3yQc.js} +2 -2
- package/build/server/chunks/{akm-xwGlYpRz.js.map → akm-BAmL3yQc.js.map} +1 -1
- package/build/server/chunks/{catalog-BxiB0JdQ.js → catalog-EOtP33Aq.js} +5 -5
- package/build/server/chunks/{catalog-BxiB0JdQ.js.map → catalog-EOtP33Aq.js.map} +1 -1
- package/build/server/chunks/{client-BlHW-zbp.js → client-BEY_IeGE.js} +2 -2
- package/build/server/chunks/{client-BlHW-zbp.js.map → client-BEY_IeGE.js.map} +1 -1
- package/build/server/chunks/{config-CLcA63MG.js → config-DAFPenke.js} +2 -2
- package/build/server/chunks/{config-CLcA63MG.js.map → config-DAFPenke.js.map} +1 -1
- package/build/server/chunks/{docker-BfXg_KFV.js → docker-4APb1027.js} +2 -2
- package/build/server/chunks/{docker-BfXg_KFV.js.map → docker-4APb1027.js.map} +1 -1
- package/build/server/chunks/{endpoints-CrOJJcY7.js → endpoints-CNT1TX1W.js} +2 -2
- package/build/server/chunks/{endpoints-CrOJJcY7.js.map → endpoints-CNT1TX1W.js.map} +1 -1
- package/build/server/chunks/{error.svelte-CxWQRcta.js → error.svelte-BWF7h154.js} +4 -4
- package/build/server/chunks/{error.svelte-CxWQRcta.js.map → error.svelte-BWF7h154.js.map} +1 -1
- package/build/server/chunks/{helpers-51xKvH3p.js → helpers-DWGImlsq.js} +3 -3
- package/build/server/chunks/{helpers-51xKvH3p.js.map → helpers-DWGImlsq.js.map} +1 -1
- package/build/server/chunks/{hooks.server-Bm9YSf7u.js → hooks.server-B08dWpDL.js} +7 -7
- package/build/server/chunks/{hooks.server-Bm9YSf7u.js.map → hooks.server-B08dWpDL.js.map} +1 -1
- package/build/server/chunks/{http-PJIJy_DZ.js → http-fvC6LS2m.js} +2 -2
- package/build/server/chunks/{http-PJIJy_DZ.js.map → http-fvC6LS2m.js.map} +1 -1
- package/build/server/chunks/{internal-Gs373B6e.js → internal-iQhNsCk1.js} +3 -3
- package/build/server/chunks/{internal-Gs373B6e.js.map → internal-iQhNsCk1.js.map} +1 -1
- package/build/server/chunks/{migration-status-BtV8L86X.js → migration-status-BuAADxBn.js} +2 -2
- package/build/server/chunks/{migration-status-BtV8L86X.js.map → migration-status-BuAADxBn.js.map} +1 -1
- package/build/server/chunks/{session-cookie-C1h7vTjA.js → session-cookie-CYh-fBwZ.js} +2 -2
- package/build/server/chunks/{session-cookie-C1h7vTjA.js.map → session-cookie-CYh-fBwZ.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-l4X5b5iM.js → setup-deploy-CQ0OYPND.js} +2 -2
- package/build/server/chunks/{setup-deploy-l4X5b5iM.js.map → setup-deploy-CQ0OYPND.js.map} +1 -1
- package/build/server/chunks/{src-D4Gm5mXv.js → src-DOqvG0YI.js} +17 -48
- package/build/server/chunks/src-DOqvG0YI.js.map +1 -0
- package/build/server/chunks/{state-CRRB2G4r.js → state-B4pbjXKM.js} +2 -2
- package/build/server/chunks/{state-CRRB2G4r.js.map → state-B4pbjXKM.js.map} +1 -1
- package/build/server/chunks/{state2-D0vyh78m.js → state2-BjZszUgI.js} +2 -2
- package/build/server/chunks/{state2-D0vyh78m.js.map → state2-BjZszUgI.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +93 -93
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/BO4NROwb.js.br +0 -0
- package/build/client/_app/immutable/chunks/BO4NROwb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLdO58WX.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLdO58WX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Can7qHg2.js +0 -3
- package/build/client/_app/immutable/chunks/Can7qHg2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Can7qHg2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Sq4Ybtei.js +0 -1
- package/build/client/_app/immutable/chunks/Sq4Ybtei.js.br +0 -2
- package/build/client/_app/immutable/chunks/Sq4Ybtei.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.B0VnlV1D.js.br +0 -0
- package/build/client/_app/immutable/entry/app.B0VnlV1D.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BjMK74Tq.js +0 -1
- package/build/client/_app/immutable/entry/start.BjMK74Tq.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BjMK74Tq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BrAaLw95.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.caleLvGw.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.caleLvGw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DMJXuosM.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DMJXuosM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.4uWEFIGs.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.4uWEFIGs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BBl7JXjt.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BBl7JXjt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CchFRn2k.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CchFRn2k.js.gz +0 -0
- package/build/server/chunks/1-CBlVFGB9.js +0 -9
- package/build/server/chunks/_page.svelte-CeqrYx7P.js.map +0 -1
- package/build/server/chunks/_server.ts-9PjUPfnm.js.map +0 -1
- package/build/server/chunks/_server.ts-CiVIZEWF.js.map +0 -1
- package/build/server/chunks/_server.ts-CmRDeO3g.js +0 -656
- package/build/server/chunks/_server.ts-CmRDeO3g.js.map +0 -1
- package/build/server/chunks/src-D4Gm5mXv.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-DOqvG0YI.js","sources":["../../../.svelte-kit/adapter-node/chunks/src.js"],"sourcesContent":["import { r as __require, t as __commonJSMin } from \"./chunk.js\";\nimport { i as PROVIDER_KEY_MAP, r as PROVIDER_DEFAULT_URLS } from \"./provider-constants.js\";\nimport { t as require_dist } from \"./dist.js\";\nimport { createRequire } from \"node:module\";\nimport Vt, { chmodSync, chownSync, closeSync, constants, copyFileSync, cpSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, statfsSync, writeFileSync, writeSync } from \"node:fs\";\nimport or, { basename, dirname, join, posix, relative, resolve, win32 } from \"node:path\";\nimport { Buffer as Buffer$1 } from \"buffer\";\nimport I from \"fs\";\nimport Xs, { dirname as dirname$1, parse } from \"path\";\nimport { execFile } from \"node:child_process\";\nimport { fileURLToPath } from \"node:url\";\nimport { createHash, randomBytes } from \"node:crypto\";\nimport Vr, { EventEmitter } from \"events\";\nimport { EventEmitter as EventEmitter$1 } from \"node:events\";\nimport Ds from \"node:stream\";\nimport { StringDecoder } from \"node:string_decoder\";\nimport Pi from \"assert\";\nimport * as vs from \"zlib\";\nimport Qr from \"zlib\";\nimport ro from \"node:assert\";\nimport Jn from \"node:fs/promises\";\nimport { homedir, tmpdir } from \"node:os\";\n//#region ../lib/src/logger.ts\n/**\n* In-house redactor. Returns `'***REDACTED***'` when `key` names something\n* that looks like a secret (token, key, secret, password, hmac). Replaces\n* the value-masking that varlock used to do for log output.\n*\n* The pattern matches the bare word at the start or end of the key, using\n* underscore as a word boundary. This avoids substring false positives\n* like `MONKEY` (contains `_KEY`? no, but the un-anchored pattern used\n* to match the substring `KEY` even without an underscore) and\n* `PACKET_SIZE` (does not actually contain `_KEY`, but the regex engine\n* with un-anchored alternations was sloppy enough to invite future bugs).\n*\n* Examples:\n* OP_UI_LOGIN_PASSWORD → sensitive (suffix _PASSWORD)\n* CHANNEL_API_KEY → sensitive (suffix _KEY)\n* CHANNEL_FOO_HMAC → sensitive (suffix _HMAC)\n* HMAC_KEY → sensitive (prefix HMAC_, suffix _KEY)\n* TOKEN → sensitive (bare word)\n* MONKEY → NOT sensitive\n* PACKET_SIZE → NOT sensitive\n*\n* The same predicate is exported as {@link isSensitiveEnvKey} so callers\n* that need to mask only part of a larger payload can short-circuit.\n*/\nvar REDACT_PATTERN = /(?:^|_)(?:TOKEN|SECRET|KEY|PASSWORD|HMAC)(?:_|$)/i;\nfunction isSensitiveEnvKey(key) {\n\treturn REDACT_PATTERN.test(key);\n}\n/**\n* Recursively walk a structured `extra` payload and mask every value whose\n* own key (or the nearest enclosing object key) matches the sensitivity\n* pattern. The original object is not mutated. Sensitive values of any\n* primitive type (string, number, boolean) are replaced wholesale; nested\n* objects under a sensitive key are still walked so that callers can mix\n* structured payloads with redacted leaves.\n*/\nfunction redactExtra(extra) {\n\tif (extra == null || typeof extra !== \"object\") return extra;\n\tif (Array.isArray(extra)) return extra.map((v) => v && typeof v === \"object\" ? redactExtra(v) : v);\n\tconst out = {};\n\tfor (const [k, v] of Object.entries(extra)) if (isSensitiveEnvKey(k)) if (v && typeof v === \"object\") out[k] = redactExtra(v);\n\telse if (v == null) out[k] = v;\n\telse out[k] = \"***REDACTED***\";\n\telse if (v && typeof v === \"object\") out[k] = redactExtra(v);\n\telse out[k] = v;\n\treturn out;\n}\nfunction createLogger(service) {\n\tfunction log(level, msg, extra) {\n\t\tconst safeExtra = extra ? redactExtra(extra) : void 0;\n\t\tconst entry = {\n\t\t\tts: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\tlevel,\n\t\t\tservice,\n\t\t\tmsg,\n\t\t\t...safeExtra ? { extra: safeExtra } : {}\n\t\t};\n\t\t(level === \"error\" || level === \"warn\" ? console.error : console.log)(JSON.stringify(entry));\n\t}\n\treturn {\n\t\tinfo: (msg, extra) => log(\"info\", msg, extra),\n\t\twarn: (msg, extra) => log(\"warn\", msg, extra),\n\t\terror: (msg, extra) => log(\"error\", msg, extra),\n\t\tdebug: (msg, extra) => log(\"debug\", msg, extra)\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/types.ts\nvar CORE_SERVICES = [\"assistant\", \"guardian\"];\n//#endregion\n//#region ../lib/src/control-plane/backup.ts\nfunction timestampDirName(now = /* @__PURE__ */ new Date()) {\n\treturn now.toISOString().replace(/[:.]/g, \"-\");\n}\n/**\n* Recursively sum the apparent size (in bytes) of every file under `path`,\n* excluding the existing backups directory (we never back up backups).\n*\n* Cheap enough for a pre-backup estimate; errors on individual entries are\n* skipped (a transient unreadable file should not block the safety copy).\n*/\nfunction estimateHomeBackupBytes(homeDir) {\n\tif (!existsSync(homeDir)) return 0;\n\tconst backupsDir = join(homeDir, \"data\", \"backups\");\n\tlet total = 0;\n\tconst walk = (dir) => {\n\t\tlet entries;\n\t\ttry {\n\t\t\tentries = readdirSync(dir, { withFileTypes: true });\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t\tfor (const entry of entries) {\n\t\t\tconst full = join(dir, entry.name);\n\t\t\tif (full === backupsDir) continue;\n\t\t\tif (entry.isDirectory()) walk(full);\n\t\t\telse if (entry.isFile()) try {\n\t\t\t\ttotal += statSync(full).size;\n\t\t\t} catch {}\n\t\t}\n\t};\n\twalk(homeDir);\n\treturn total;\n}\n/**\n* Estimate whether a full-home backup would fit safely on disk.\n*\n* Returns a structured result; the caller decides whether to warn, block, or\n* (with explicit confirmation) proceed. This NEVER deletes anything — it only\n* measures. `threshold` is the fraction of currently-free space the backup may\n* consume before it is flagged `insufficient` (default 80%).\n*/\nfunction checkBackupFreeSpace(homeDir, threshold = .8) {\n\tconst estimatedBytes = estimateHomeBackupBytes(homeDir);\n\tlet freeBytes = Number.POSITIVE_INFINITY;\n\ttry {\n\t\tconst stat = statfsSync(homeDir);\n\t\tfreeBytes = stat.bavail * stat.bsize;\n\t} catch {}\n\tconst ratio = freeBytes > 0 ? estimatedBytes / freeBytes : Number.POSITIVE_INFINITY;\n\treturn {\n\t\testimatedBytes,\n\t\tfreeBytes,\n\t\tratio,\n\t\tinsufficient: estimatedBytes > freeBytes * threshold,\n\t\tthreshold\n\t};\n}\nfunction formatBytes(bytes) {\n\tif (!Number.isFinite(bytes)) return \"unknown\";\n\tconst units = [\n\t\t\"B\",\n\t\t\"KB\",\n\t\t\"MB\",\n\t\t\"GB\",\n\t\t\"TB\"\n\t];\n\tlet value = bytes;\n\tlet i = 0;\n\twhile (value >= 1024 && i < units.length - 1) {\n\t\tvalue /= 1024;\n\t\ti += 1;\n\t}\n\treturn `${value.toFixed(value >= 10 || i === 0 ? 0 : 1)} ${units[i]}`;\n}\n/**\n* Human-readable, plain-language explanation of a low-free-space situation,\n* suitable for a CLI warning or a UI notice.\n*/\nfunction describeBackupSpaceShortfall(check) {\n\treturn `The safety backup is estimated at ${formatBytes(check.estimatedBytes)}, but only ${formatBytes(check.freeBytes)} is free on this disk. Backing up could fill the disk. Free up space (your old backups are under data/backups/ — review them with \\`openpalm backups list\\`), or re-run with confirmation to proceed anyway. Nothing was changed or deleted.`;\n}\n/**\n* Create a durable backup snapshot of the current OP_HOME contents.\n*\n* The backup is written under OP_HOME/data/backups/<timestamp>/ and excludes\n* existing backups to avoid recursive copies.\n*/\nfunction backupOpenPalmHome(homeDir) {\n\tif (!existsSync(homeDir)) return null;\n\tconst backupDir = join(homeDir, \"data\", \"backups\", timestampDirName());\n\tmkdirSync(backupDir, { recursive: true });\n\tlet copiedAny = false;\n\tfor (const entry of readdirSync(homeDir, { withFileTypes: true })) {\n\t\tconst sourcePath = join(homeDir, entry.name);\n\t\tif (entry.name === \"data\") {\n\t\t\tconst dataTarget = join(backupDir, entry.name);\n\t\t\tmkdirSync(dataTarget, { recursive: true });\n\t\t\tfor (const dataEntry of readdirSync(sourcePath, { withFileTypes: true })) {\n\t\t\t\tif (dataEntry.name === \"backups\") continue;\n\t\t\t\tcpSync(join(sourcePath, dataEntry.name), join(dataTarget, dataEntry.name), { recursive: true });\n\t\t\t\tcopiedAny = true;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tcpSync(sourcePath, join(backupDir, entry.name), { recursive: true });\n\t\tcopiedAny = true;\n\t}\n\treturn copiedAny ? backupDir : null;\n}\nfunction listBackupDirs(homeDir) {\n\tconst backupsDir = join(homeDir, \"data\", \"backups\");\n\tif (!existsSync(backupsDir)) return [];\n\treturn readdirSync(backupsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => join(backupsDir, entry.name)).sort((a, b) => b.localeCompare(a));\n}\nfunction dirSizeBytes(dir) {\n\tlet total = 0;\n\tlet entries;\n\ttry {\n\t\tentries = readdirSync(dir, { withFileTypes: true });\n\t} catch {\n\t\treturn 0;\n\t}\n\tfor (const entry of entries) {\n\t\tconst full = join(dir, entry.name);\n\t\tif (entry.isDirectory()) total += dirSizeBytes(full);\n\t\telse if (entry.isFile()) try {\n\t\t\ttotal += statSync(full).size;\n\t\t} catch {}\n\t}\n\treturn total;\n}\n/**\n* Summarize the upgrade backup snapshots for UI visibility (count, total size,\n* last-backup time, per-backup sizes). Read-only — never deletes anything.\n*/\nfunction summarizeBackups(homeDir) {\n\tconst backups = listBackupDirs(homeDir).map((path) => {\n\t\tlet createdAt = \"\";\n\t\ttry {\n\t\t\tcreatedAt = statSync(path).mtime.toISOString();\n\t\t} catch {}\n\t\treturn {\n\t\t\tpath,\n\t\t\tname: path.slice(path.lastIndexOf(\"/\") + 1),\n\t\t\tsizeBytes: dirSizeBytes(path),\n\t\t\tcreatedAt\n\t\t};\n\t});\n\tconst totalBytes = backups.reduce((sum, b) => sum + b.sizeBytes, 0);\n\treturn {\n\t\tcount: backups.length,\n\t\ttotalBytes,\n\t\tlastBackupAt: backups[0]?.createdAt || null,\n\t\tbackups\n\t};\n}\nfunction pruneBackupDirs(homeDir, keep) {\n\tif (!Number.isInteger(keep) || keep < 0) throw new Error(\"keep must be a non-negative integer\");\n\tconst toDelete = listBackupDirs(homeDir).slice(keep);\n\tfor (const backupDir of toDelete) rmSync(backupDir, {\n\t\trecursive: true,\n\t\tforce: true\n\t});\n\treturn toDelete;\n}\n//#endregion\n//#region ../lib/src/control-plane/install-lock.ts\nvar import_dist = require_dist();\n/**\n* Self-healing install lock for the setup wizard phase.\n*\n* Both `performSetup` (config writes) and `startDeploy` (Docker work) need an\n* exclusive lock against concurrent installs. The lock file lives at\n* `<dataDir>/.install.lock` and contains `<pid>\\n<timestamp>\\n`.\n*\n* Self-healing rules:\n* - On EEXIST, parse the holder PID. If the process is gone (`process.kill(pid, 0)`\n* throws ESRCH) the lock is stale and we remove + retry once.\n* - If the timestamp is older than STALE_AFTER_MS the lock is stale and we\n* remove + retry once.\n* - If the file is unparseable (e.g. written by an older version) fall back to\n* mtime > STALE_AFTER_MS.\n*\n* On any unexpected error (permissions, ENOSPC, etc.) we return null so the\n* caller surfaces \"install_in_progress\" rather than silently fake-acquiring.\n*/\nvar logger$13 = createLogger(\"install-lock\");\nvar STALE_AFTER_MS = 1800 * 1e3;\nfunction isProcessAlive(pid) {\n\ttry {\n\t\tprocess.kill(pid, 0);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn err.code === \"EPERM\";\n\t}\n}\nfunction parseLockContent(content) {\n\tconst lines = content.split(\"\\n\");\n\tconst pid = Number.parseInt(lines[0] ?? \"\", 10);\n\tconst timestamp = Number.parseInt(lines[1] ?? \"\", 10);\n\treturn {\n\t\tpid: Number.isFinite(pid) && pid > 0 ? pid : null,\n\t\ttimestamp: Number.isFinite(timestamp) && timestamp > 0 ? timestamp : null\n\t};\n}\nfunction isStale(path) {\n\tlet content = \"\";\n\ttry {\n\t\tcontent = readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn false;\n\t}\n\tconst { pid, timestamp } = parseLockContent(content);\n\tif (pid !== null) {\n\t\tif (!isProcessAlive(pid)) return true;\n\t\tif (timestamp !== null && Date.now() - timestamp > STALE_AFTER_MS) return true;\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst stat = statSync(path);\n\t\treturn Date.now() - stat.mtimeMs > STALE_AFTER_MS;\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction tryCreate(path) {\n\tconst content = `${process.pid}\\n${Date.now()}\\n`;\n\ttry {\n\t\tconst fd = openSync(path, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY, 420);\n\t\ttry {\n\t\t\twriteSync(fd, content);\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tcloseSync(fd);\n\t\t\t} catch {}\n\t\t}\n\t\treturn true;\n\t} catch (err) {\n\t\tif (err.code === \"EEXIST\") return false;\n\t\tthrow err;\n\t}\n}\n/**\n* Try to acquire the install lock under `dataDir`. Returns a handle on\n* success or null if the lock is held by a live, recent install (or on any\n* unexpected filesystem error — caller should surface \"install_in_progress\").\n*\n* Callers MUST call `releaseInstallLock()` in a finally block when done.\n*/\nfunction acquireInstallLock(dataDir) {\n\ttry {\n\t\tmkdirSync(dataDir, { recursive: true });\n\t} catch (err) {\n\t\tlogger$13.warn(\"failed to ensure data dir for install lock\", {\n\t\t\tdataDir,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\treturn null;\n\t}\n\tconst path = join(dataDir, \".install.lock\");\n\ttry {\n\t\tif (tryCreate(path)) return { path };\n\t} catch (err) {\n\t\tlogger$13.warn(\"unexpected error acquiring install lock\", {\n\t\t\tpath,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\treturn null;\n\t}\n\tif (!isStale(path)) return null;\n\tlogger$13.info(\"removing stale install lock and retrying acquire\", { path });\n\ttry {\n\t\trmSync(path, { force: true });\n\t} catch (err) {\n\t\tlogger$13.warn(\"failed to remove stale install lock\", {\n\t\t\tpath,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\treturn null;\n\t}\n\ttry {\n\t\tif (tryCreate(path)) return { path };\n\t} catch (err) {\n\t\tlogger$13.warn(\"unexpected error re-acquiring install lock\", {\n\t\t\tpath,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\treturn null;\n\t}\n\treturn null;\n}\nvar INSTALL_LOCK_STALE_AFTER_MS = STALE_AFTER_MS;\n/**\n* Inspect the install lock under `dataDir` without modifying it. Used by the\n* `openpalm unlock` command and the UI \"operation stuck?\" affordance to decide\n* whether a removal is safe.\n*/\nfunction inspectInstallLock(dataDir) {\n\tconst path = join(dataDir, \".install.lock\");\n\tlet content;\n\ttry {\n\t\tcontent = readFileSync(path, \"utf-8\");\n\t} catch (err) {\n\t\tif (err.code === \"ENOENT\") return {\n\t\t\tpresent: false,\n\t\t\tpath\n\t\t};\n\t\tlet ageMs = null;\n\t\ttry {\n\t\t\tageMs = Date.now() - statSync(path).mtimeMs;\n\t\t} catch {}\n\t\treturn {\n\t\t\tpresent: true,\n\t\t\tpath,\n\t\t\tpid: null,\n\t\t\ttimestamp: null,\n\t\t\tageMs,\n\t\t\tstale: isStale(path)\n\t\t};\n\t}\n\tconst { pid, timestamp } = parseLockContent(content);\n\treturn {\n\t\tpresent: true,\n\t\tpath,\n\t\tpid,\n\t\ttimestamp,\n\t\tageMs: timestamp !== null ? Date.now() - timestamp : null,\n\t\tstale: isStale(path)\n\t};\n}\n/**\n* Remove the install lock ONLY if it is stale (dead holder PID or older than\n* the 30-minute staleness window). Never blind-removes a lock held by a live,\n* recent install. Returns `{ ok: false, reason: \"live\" }` when the lock is\n* still active so the caller can surface a clear message instead of forcing.\n*/\nfunction unlockInstallLock(dataDir) {\n\tconst status = inspectInstallLock(dataDir);\n\tif (!status.present) return {\n\t\tok: true,\n\t\tremoved: false,\n\t\tstatus\n\t};\n\tif (!status.stale) return {\n\t\tok: false,\n\t\treason: \"live\",\n\t\tstatus\n\t};\n\ttry {\n\t\trmSync(status.path, { force: true });\n\t\tlogger$13.info(\"removed stale install lock via unlock\", { path: status.path });\n\t} catch (err) {\n\t\tlogger$13.warn(\"failed to remove stale install lock during unlock\", {\n\t\t\tpath: status.path,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\tthrow err;\n\t}\n\treturn {\n\t\tok: true,\n\t\tremoved: true,\n\t\tstatus\n\t};\n}\nfunction releaseInstallLock(handle) {\n\tif (!handle) return;\n\ttry {\n\t\trmSync(handle.path, { force: true });\n\t} catch (err) {\n\t\tlogger$13.warn(\"failed to release install lock\", {\n\t\t\tpath: handle.path,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n}\n//#endregion\n//#region ../lib/package.json\nvar import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar fs$1 = __require(\"fs\");\n\tvar path = __require(\"path\");\n\tvar os$1 = __require(\"os\");\n\tvar crypto$1 = __require(\"crypto\");\n\tvar TIPS = [\n\t\t\"◈ encrypted .env [www.dotenvx.com]\",\n\t\t\"◈ secrets for agents [www.dotenvx.com]\",\n\t\t\"⌁ auth for agents [www.vestauth.com]\",\n\t\t\"⌘ custom filepath { path: '/custom/path/.env' }\",\n\t\t\"⌘ enable debugging { debug: true }\",\n\t\t\"⌘ override existing { override: true }\",\n\t\t\"⌘ suppress logs { quiet: true }\",\n\t\t\"⌘ multiple files { path: ['.env.local', '.env'] }\"\n\t];\n\tfunction _getRandomTip() {\n\t\treturn TIPS[Math.floor(Math.random() * TIPS.length)];\n\t}\n\tfunction parseBoolean(value) {\n\t\tif (typeof value === \"string\") return ![\n\t\t\t\"false\",\n\t\t\t\"0\",\n\t\t\t\"no\",\n\t\t\t\"off\",\n\t\t\t\"\"\n\t\t].includes(value.toLowerCase());\n\t\treturn Boolean(value);\n\t}\n\tfunction supportsAnsi() {\n\t\treturn process.stdout.isTTY;\n\t}\n\tfunction dim(text) {\n\t\treturn supportsAnsi() ? `\\x1b[2m${text}\\x1b[0m` : text;\n\t}\n\tvar LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/gm;\n\tfunction parse(src) {\n\t\tconst obj = {};\n\t\tlet lines = src.toString();\n\t\tlines = lines.replace(/\\r\\n?/gm, \"\\n\");\n\t\tlet match;\n\t\twhile ((match = LINE.exec(lines)) != null) {\n\t\t\tconst key = match[1];\n\t\t\tlet value = match[2] || \"\";\n\t\t\tvalue = value.trim();\n\t\t\tconst maybeQuote = value[0];\n\t\t\tvalue = value.replace(/^(['\"`])([\\s\\S]*)\\1$/gm, \"$2\");\n\t\t\tif (maybeQuote === \"\\\"\") {\n\t\t\t\tvalue = value.replace(/\\\\n/g, \"\\n\");\n\t\t\t\tvalue = value.replace(/\\\\r/g, \"\\r\");\n\t\t\t}\n\t\t\tobj[key] = value;\n\t\t}\n\t\treturn obj;\n\t}\n\tfunction _parseVault(options) {\n\t\toptions = options || {};\n\t\tconst vaultPath = _vaultPath(options);\n\t\toptions.path = vaultPath;\n\t\tconst result = DotenvModule.configDotenv(options);\n\t\tif (!result.parsed) {\n\t\t\tconst err = /* @__PURE__ */ new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`);\n\t\t\terr.code = \"MISSING_DATA\";\n\t\t\tthrow err;\n\t\t}\n\t\tconst keys = _dotenvKey(options).split(\",\");\n\t\tconst length = keys.length;\n\t\tlet decrypted;\n\t\tfor (let i = 0; i < length; i++) try {\n\t\t\tconst attrs = _instructions(result, keys[i].trim());\n\t\t\tdecrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key);\n\t\t\tbreak;\n\t\t} catch (error) {\n\t\t\tif (i + 1 >= length) throw error;\n\t\t}\n\t\treturn DotenvModule.parse(decrypted);\n\t}\n\tfunction _warn(message) {\n\t\tconsole.error(`⚠ ${message}`);\n\t}\n\tfunction _debug(message) {\n\t\tconsole.log(`┆ ${message}`);\n\t}\n\tfunction _log(message) {\n\t\tconsole.log(`◇ ${message}`);\n\t}\n\tfunction _dotenvKey(options) {\n\t\tif (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) return options.DOTENV_KEY;\n\t\tif (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) return process.env.DOTENV_KEY;\n\t\treturn \"\";\n\t}\n\tfunction _instructions(result, dotenvKey) {\n\t\tlet uri;\n\t\ttry {\n\t\t\turi = new URL(dotenvKey);\n\t\t} catch (error) {\n\t\t\tif (error.code === \"ERR_INVALID_URL\") {\n\t\t\t\tconst err = /* @__PURE__ */ new Error(\"INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development\");\n\t\t\t\terr.code = \"INVALID_DOTENV_KEY\";\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tconst key = uri.password;\n\t\tif (!key) {\n\t\t\tconst err = /* @__PURE__ */ new Error(\"INVALID_DOTENV_KEY: Missing key part\");\n\t\t\terr.code = \"INVALID_DOTENV_KEY\";\n\t\t\tthrow err;\n\t\t}\n\t\tconst environment = uri.searchParams.get(\"environment\");\n\t\tif (!environment) {\n\t\t\tconst err = /* @__PURE__ */ new Error(\"INVALID_DOTENV_KEY: Missing environment part\");\n\t\t\terr.code = \"INVALID_DOTENV_KEY\";\n\t\t\tthrow err;\n\t\t}\n\t\tconst environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`;\n\t\tconst ciphertext = result.parsed[environmentKey];\n\t\tif (!ciphertext) {\n\t\t\tconst err = /* @__PURE__ */ new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`);\n\t\t\terr.code = \"NOT_FOUND_DOTENV_ENVIRONMENT\";\n\t\t\tthrow err;\n\t\t}\n\t\treturn {\n\t\t\tciphertext,\n\t\t\tkey\n\t\t};\n\t}\n\tfunction _vaultPath(options) {\n\t\tlet possibleVaultPath = null;\n\t\tif (options && options.path && options.path.length > 0) if (Array.isArray(options.path)) {\n\t\t\tfor (const filepath of options.path) if (fs$1.existsSync(filepath)) possibleVaultPath = filepath.endsWith(\".vault\") ? filepath : `${filepath}.vault`;\n\t\t} else possibleVaultPath = options.path.endsWith(\".vault\") ? options.path : `${options.path}.vault`;\n\t\telse possibleVaultPath = path.resolve(process.cwd(), \".env.vault\");\n\t\tif (fs$1.existsSync(possibleVaultPath)) return possibleVaultPath;\n\t\treturn null;\n\t}\n\tfunction _resolveHome(envPath) {\n\t\treturn envPath[0] === \"~\" ? path.join(os$1.homedir(), envPath.slice(1)) : envPath;\n\t}\n\tfunction _configVault(options) {\n\t\tconst debug = parseBoolean(process.env.DOTENV_CONFIG_DEBUG || options && options.debug);\n\t\tconst quiet = parseBoolean(process.env.DOTENV_CONFIG_QUIET || options && options.quiet);\n\t\tif (debug || !quiet) _log(\"loading env from encrypted .env.vault\");\n\t\tconst parsed = DotenvModule._parseVault(options);\n\t\tlet processEnv = process.env;\n\t\tif (options && options.processEnv != null) processEnv = options.processEnv;\n\t\tDotenvModule.populate(processEnv, parsed, options);\n\t\treturn { parsed };\n\t}\n\tfunction configDotenv(options) {\n\t\tconst dotenvPath = path.resolve(process.cwd(), \".env\");\n\t\tlet encoding = \"utf8\";\n\t\tlet processEnv = process.env;\n\t\tif (options && options.processEnv != null) processEnv = options.processEnv;\n\t\tlet debug = parseBoolean(processEnv.DOTENV_CONFIG_DEBUG || options && options.debug);\n\t\tlet quiet = parseBoolean(processEnv.DOTENV_CONFIG_QUIET || options && options.quiet);\n\t\tif (options && options.encoding) encoding = options.encoding;\n\t\telse if (debug) _debug(\"no encoding is specified (UTF-8 is used by default)\");\n\t\tlet optionPaths = [dotenvPath];\n\t\tif (options && options.path) if (!Array.isArray(options.path)) optionPaths = [_resolveHome(options.path)];\n\t\telse {\n\t\t\toptionPaths = [];\n\t\t\tfor (const filepath of options.path) optionPaths.push(_resolveHome(filepath));\n\t\t}\n\t\tlet lastError;\n\t\tconst parsedAll = {};\n\t\tfor (const path of optionPaths) try {\n\t\t\tconst parsed = DotenvModule.parse(fs$1.readFileSync(path, { encoding }));\n\t\t\tDotenvModule.populate(parsedAll, parsed, options);\n\t\t} catch (e) {\n\t\t\tif (debug) _debug(`failed to load ${path} ${e.message}`);\n\t\t\tlastError = e;\n\t\t}\n\t\tconst populated = DotenvModule.populate(processEnv, parsedAll, options);\n\t\tdebug = parseBoolean(processEnv.DOTENV_CONFIG_DEBUG || debug);\n\t\tquiet = parseBoolean(processEnv.DOTENV_CONFIG_QUIET || quiet);\n\t\tif (debug || !quiet) {\n\t\t\tconst keysCount = Object.keys(populated).length;\n\t\t\tconst shortPaths = [];\n\t\t\tfor (const filePath of optionPaths) try {\n\t\t\t\tconst relative = path.relative(process.cwd(), filePath);\n\t\t\t\tshortPaths.push(relative);\n\t\t\t} catch (e) {\n\t\t\t\tif (debug) _debug(`failed to load ${filePath} ${e.message}`);\n\t\t\t\tlastError = e;\n\t\t\t}\n\t\t\t_log(`injected env (${keysCount}) from ${shortPaths.join(\",\")} ${dim(`// tip: ${_getRandomTip()}`)}`);\n\t\t}\n\t\tif (lastError) return {\n\t\t\tparsed: parsedAll,\n\t\t\terror: lastError\n\t\t};\n\t\telse return { parsed: parsedAll };\n\t}\n\tfunction config(options) {\n\t\tif (_dotenvKey(options).length === 0) return DotenvModule.configDotenv(options);\n\t\tconst vaultPath = _vaultPath(options);\n\t\tif (!vaultPath) {\n\t\t\t_warn(`you set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}`);\n\t\t\treturn DotenvModule.configDotenv(options);\n\t\t}\n\t\treturn DotenvModule._configVault(options);\n\t}\n\tfunction decrypt(encrypted, keyStr) {\n\t\tconst key = Buffer.from(keyStr.slice(-64), \"hex\");\n\t\tlet ciphertext = Buffer.from(encrypted, \"base64\");\n\t\tconst nonce = ciphertext.subarray(0, 12);\n\t\tconst authTag = ciphertext.subarray(-16);\n\t\tciphertext = ciphertext.subarray(12, -16);\n\t\ttry {\n\t\t\tconst aesgcm = crypto$1.createDecipheriv(\"aes-256-gcm\", key, nonce);\n\t\t\taesgcm.setAuthTag(authTag);\n\t\t\treturn `${aesgcm.update(ciphertext)}${aesgcm.final()}`;\n\t\t} catch (error) {\n\t\t\tconst isRange = error instanceof RangeError;\n\t\t\tconst invalidKeyLength = error.message === \"Invalid key length\";\n\t\t\tconst decryptionFailed = error.message === \"Unsupported state or unable to authenticate data\";\n\t\t\tif (isRange || invalidKeyLength) {\n\t\t\t\tconst err = /* @__PURE__ */ new Error(\"INVALID_DOTENV_KEY: It must be 64 characters long (or more)\");\n\t\t\t\terr.code = \"INVALID_DOTENV_KEY\";\n\t\t\t\tthrow err;\n\t\t\t} else if (decryptionFailed) {\n\t\t\t\tconst err = /* @__PURE__ */ new Error(\"DECRYPTION_FAILED: Please check your DOTENV_KEY\");\n\t\t\t\terr.code = \"DECRYPTION_FAILED\";\n\t\t\t\tthrow err;\n\t\t\t} else throw error;\n\t\t}\n\t}\n\tfunction populate(processEnv, parsed, options = {}) {\n\t\tconst debug = Boolean(options && options.debug);\n\t\tconst override = Boolean(options && options.override);\n\t\tconst populated = {};\n\t\tif (typeof parsed !== \"object\") {\n\t\t\tconst err = /* @__PURE__ */ new Error(\"OBJECT_REQUIRED: Please check the processEnv argument being passed to populate\");\n\t\t\terr.code = \"OBJECT_REQUIRED\";\n\t\t\tthrow err;\n\t\t}\n\t\tfor (const key of Object.keys(parsed)) if (Object.prototype.hasOwnProperty.call(processEnv, key)) {\n\t\t\tif (override === true) {\n\t\t\t\tprocessEnv[key] = parsed[key];\n\t\t\t\tpopulated[key] = parsed[key];\n\t\t\t}\n\t\t\tif (debug) if (override === true) _debug(`\"${key}\" is already defined and WAS overwritten`);\n\t\t\telse _debug(`\"${key}\" is already defined and was NOT overwritten`);\n\t\t} else {\n\t\t\tprocessEnv[key] = parsed[key];\n\t\t\tpopulated[key] = parsed[key];\n\t\t}\n\t\treturn populated;\n\t}\n\tvar DotenvModule = {\n\t\tconfigDotenv,\n\t\t_configVault,\n\t\t_parseVault,\n\t\tconfig,\n\t\tdecrypt,\n\t\tparse,\n\t\tpopulate\n\t};\n\tmodule.exports.configDotenv = DotenvModule.configDotenv;\n\tmodule.exports._configVault = DotenvModule._configVault;\n\tmodule.exports._parseVault = DotenvModule._parseVault;\n\tmodule.exports.config = DotenvModule.config;\n\tmodule.exports.decrypt = DotenvModule.decrypt;\n\tmodule.exports.parse = DotenvModule.parse;\n\tmodule.exports.populate = DotenvModule.populate;\n\tmodule.exports = DotenvModule;\n})))();\nvar package_default = {\n\tname: \"@openpalm/lib\",\n\tversion: \"0.12.32\",\n\tlicense: \"MPL-2.0\",\n\ttype: \"module\",\n\tdescription: \"Shared control-plane library for OpenPalm — lifecycle, staging, secrets, portals, connections, scheduler\",\n\tengines: { \"bun\": \">=1.0.0\" },\n\tscripts: { \"test\": \"bun test\" },\n\ttypes: \"./src/index.ts\",\n\texports: {\n\t\t\".\": \"./src/index.ts\",\n\t\t\"./provider-constants\": \"./src/provider-constants.ts\",\n\t\t\"./shared/logger\": \"./src/logger.ts\",\n\t\t\"./control-plane/*\": \"./src/control-plane/*.ts\"\n\t},\n\tfiles: [\"src\", \"assets\"],\n\trepository: {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/itlackey/openpalm\",\n\t\t\"directory\": \"packages/lib\"\n\t},\n\tdependencies: {\n\t\t\"dotenv\": \"^17.4.2\",\n\t\t\"tar\": \"^7.5.15\",\n\t\t\"yaml\": \"^2.8.0\"\n\t},\n\tdevDependencies: {\n\t\t\"@types/tar\": \"^7.0.87\",\n\t\t\"bun-types\": \"^1.3.14\"\n\t}\n};\n//#endregion\n//#region ../lib/src/control-plane/versioning.ts\nvar SEMVER_RE = /^v?\\d+\\.\\d+\\.\\d+(?:[-+].*)?$/;\n/**\n* The canonical control-plane / platform version.\n*\n* This is the ONE source of truth for \"which @openpalm/lib (and therefore which\n* RELEASE_MIGRATIONS + lifecycle) is running.\" It travels with the data/ui\n* build (the published @openpalm/ui inlines this lib), so it self-updates in\n* place — it is NOT the Electron harness version (see\n* packages/electron/src/harness-contract.ts: HARNESS_CONTRACT_VERSION).\n*\n* Stored Docker-canonical (`v`-prefixed) because every consumer that stamps a\n* version into stack.env / a skeleton / a migration target wants the Docker tag\n* form. Use `formatForDisplay` for user-facing strings and `normalizeVersion`\n* for npm-style (no-`v`) comparisons.\n*\n* Replaces the former implicit `v${libPkg.version}` scattered through lifecycle\n* / migrations so the platform version has a single, named home.\n*/\nvar PLATFORM_VERSION = formatForDocker(package_default.version);\nfunction isComparableSemver(version) {\n\treturn !!version && SEMVER_RE.test(version.trim());\n}\nfunction parseComparableVersion(version) {\n\tconst clean = normalizeVersion(version).split(\"+\")[0];\n\tconst dashIdx = clean.indexOf(\"-\");\n\tconst main = dashIdx === -1 ? clean : clean.slice(0, dashIdx);\n\tconst prerelease = dashIdx === -1 ? null : clean.slice(dashIdx + 1);\n\tconst [major = 0, minor = 0, patch = 0] = main.split(\".\").map(Number);\n\treturn {\n\t\tmajor,\n\t\tminor,\n\t\tpatch,\n\t\tprerelease\n\t};\n}\nfunction comparePrerelease(a, b) {\n\tconst aParts = a.split(\".\");\n\tconst bParts = b.split(\".\");\n\tfor (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n\t\tif (i >= aParts.length) return -1;\n\t\tif (i >= bParts.length) return 1;\n\t\tconst aNum = Number(aParts[i]);\n\t\tconst bNum = Number(bParts[i]);\n\t\tconst aIsNum = !Number.isNaN(aNum);\n\t\tconst bIsNum = !Number.isNaN(bNum);\n\t\tif (aIsNum && bIsNum) {\n\t\t\tif (aNum !== bNum) return aNum > bNum ? 1 : -1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (aIsNum !== bIsNum) return aIsNum ? -1 : 1;\n\t\tif (aParts[i] !== bParts[i]) return aParts[i] > bParts[i] ? 1 : -1;\n\t}\n\treturn 0;\n}\nfunction compareComparableVersions(a, b) {\n\tconst aParsed = parseComparableVersion(a);\n\tconst bParsed = parseComparableVersion(b);\n\tif (aParsed.major !== bParsed.major) return aParsed.major > bParsed.major ? 1 : -1;\n\tif (aParsed.minor !== bParsed.minor) return aParsed.minor > bParsed.minor ? 1 : -1;\n\tif (aParsed.patch !== bParsed.patch) return aParsed.patch > bParsed.patch ? 1 : -1;\n\tif (aParsed.prerelease === null && bParsed.prerelease !== null) return 1;\n\tif (aParsed.prerelease !== null && bParsed.prerelease === null) return -1;\n\tif (aParsed.prerelease !== null && bParsed.prerelease !== null) return comparePrerelease(aParsed.prerelease, bParsed.prerelease);\n\treturn 0;\n}\n/**\n* npm/display form: strip a single leading `v` and trim. `v0.12.0` → `0.12.0`.\n* Pass-through for an already-bare version. Empty/whitespace → ''.\n*/\nfunction normalizeVersion(version) {\n\treturn (version ?? \"\").trim().replace(/^v/, \"\");\n}\n/**\n* Docker-tag form: ensure exactly one leading `v`. `0.12.0` → `v0.12.0`,\n* `v0.12.0` → `v0.12.0`. Empty/whitespace → '' (callers gate on RELEASE_TAG_REGEX\n* before treating a value as a real tag).\n*/\nfunction formatForDocker(version) {\n\tconst bare = normalizeVersion(version);\n\treturn bare ? `v${bare}` : \"\";\n}\n/**\n* True when `version` carries a semver pre-release segment (`0.12.0-rc.1`).\n* Build metadata (`+build.5`) is NOT a pre-release. Non-semver → false.\n*/\nfunction isPrerelease(version) {\n\tif (!isComparableSemver(version)) return false;\n\treturn parseComparableVersion(version).prerelease !== null;\n}\n/**\n* User-facing presentation form: drop the leading `v` so the UI shows one\n* canonical spelling regardless of whether the value arrived as a Docker tag or\n* an npm version. Non-semver values are returned trimmed but otherwise untouched\n* (e.g. a moving `latest`/`dev` tag).\n*/\nfunction formatForDisplay(version) {\n\treturn normalizeVersion(version);\n}\n//#endregion\n//#region ../lib/src/control-plane/env.ts\nfunction parseEnvContent(content) {\n\treturn (0, import_main.parse)(content);\n}\nfunction parseEnvFile(filePath) {\n\tif (!existsSync(filePath)) return {};\n\ttry {\n\t\treturn (0, import_main.parse)(readFileSync(filePath, \"utf-8\"));\n\t} catch {\n\t\ttry {\n\t\t\tcopyFileSync(filePath, `${filePath}.corrupt-${Date.now()}`);\n\t\t} catch {}\n\t\treturn {};\n\t}\n}\n/**\n* Resolve `${VAR}` and `${VAR:-default}` patterns in a string against the\n* provided variable map. Unknown vars without a default expand to an empty\n* string — mirrors compose's variable substitution semantics.\n*/\nfunction expandEnvVars(input, vars) {\n\treturn input.replace(/\\$\\{([^}:]+)(?::-([^}]*))?\\}/g, (_, name, def) => vars[name] ?? def ?? \"\");\n}\nfunction quoteEnvValue(value) {\n\tif (value.length === 0) return \"\";\n\tif (!(/[#\"'\\\\\\n\\r$]/.test(value) || value !== value.trim())) return value;\n\tif (!value.includes(\"'\")) return `'${value}'`;\n\treturn `\"${value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\$/g, \"\\\\$\").replace(/\"/g, \"\\\\\\\"\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\\\\r\")}\"`;\n}\n/**\n* Remove a key from .env content. Comments above the line and the\n* surrounding blank-line structure are preserved exactly as written so\n* round-tripping the file through this helper is non-destructive.\n* If the key is absent the input is returned unchanged.\n*/\nfunction removeEnvKey(content, key) {\n\tconst lines = content.split(\"\\n\");\n\tconst out = [];\n\tlet removed = false;\n\tfor (const line of lines) {\n\t\tlet testLine = line.trim();\n\t\tif (testLine.startsWith(\"export \")) testLine = testLine.slice(7).trimStart();\n\t\tconst eq = testLine.indexOf(\"=\");\n\t\tif (eq > 0 && testLine.slice(0, eq).trim() === key) {\n\t\t\tremoved = true;\n\t\t\tcontinue;\n\t\t}\n\t\tout.push(line);\n\t}\n\tif (removed && out.length > 1 && out[out.length - 1] === \"\" && out[out.length - 2] === \"\") out.pop();\n\treturn out.join(\"\\n\");\n}\n/**\n* Upserts a key=value pair in env file content. If the key exists, replaces the line;\n* otherwise appends a new line.\n*/\nfunction upsertEnvValue(content, key, value) {\n\tconst escapedKey = key.replace(/[|\\\\{}()[\\]^$+*?.-]/g, \"\\\\$&\");\n\tconst pattern = new RegExp(`^((?:export\\\\s+)?)${escapedKey}=.*$`, \"m\");\n\tif (pattern.test(content)) return content.replace(pattern, `$1${key}=${value}`);\n\tconst line = `${key}=${value}`;\n\treturn `${content}${content.endsWith(\"\\n\") || content.length === 0 ? \"\" : \"\\n\"}${line}\\n`;\n}\n/** Addon name shape (matches the former stack.yml validation). */\nvar ADDON_NAME_RE$1 = /^[a-z0-9][a-z0-9-]{0,62}$/;\n/**\n* Parse the `OP_ENABLED_ADDONS` stack.env value (comma-separated) into a\n* validated, de-duplicated, sorted list of addon ids. Replaces the former\n* stack.yml `addons[]` array as the authoritative enabled-addon record.\n*/\nfunction parseEnabledAddons(value) {\n\tif (!value) return [];\n\treturn [...new Set(value.split(\",\").map((v) => v.trim()).filter((v) => ADDON_NAME_RE$1.test(v)))].sort();\n}\nfunction mergeEnvContent(content, updates, options = {}) {\n\tconst lines = content.split(\"\\n\");\n\tconst remaining = new Map(Object.entries(updates));\n\tfor (let i = 0; i < lines.length; i++) {\n\t\tlet testLine = lines[i].trim();\n\t\tif (options.uncomment) testLine = testLine.replace(/^#\\s*/, \"\").trim();\n\t\tconst hadExport = testLine.startsWith(\"export \");\n\t\tif (hadExport) testLine = testLine.slice(7).trimStart();\n\t\tconst eq = testLine.indexOf(\"=\");\n\t\tif (eq <= 0) continue;\n\t\tconst key = testLine.slice(0, eq).trim();\n\t\tif (remaining.has(key)) {\n\t\t\tlines[i] = `${hadExport ? \"export \" : \"\"}${key}=${quoteEnvValue(remaining.get(key))}`;\n\t\t\tremaining.delete(key);\n\t\t}\n\t}\n\tif (remaining.size > 0) {\n\t\tif (lines.length === 0 || lines[lines.length - 1] !== \"\") lines.push(\"\");\n\t\tif (options.sectionHeader) lines.push(options.sectionHeader);\n\t\tfor (const [key, value] of remaining) lines.push(`${key}=${quoteEnvValue(value)}`);\n\t}\n\treturn lines.join(\"\\n\");\n}\n//#endregion\n//#region ../lib/src/control-plane/addon-env-schemas.ts\n/**\n* Built-in addon env-config SCHEMAS — a LEAF module (no imports) so it can be\n* shared by both `addons.ts` (which has a heavy import graph) and the migration\n* harness without creating an import cycle (lifecycle → migrations → addons → …).\n*\n* Each schema is an env-file-shaped string: `KEY=default` lines annotated with\n* `# @required` / `# @sensitive` comment lines directly above the key.\n*/\nvar BUILTIN_ADDON_ENV_SCHEMAS = {\n\tapi: `# API Gateway portal configuration\n# ---\n`,\n\tchat: `# Web Chat portal configuration\n# ---\n`,\n\tdiscord: `# Discord bot configuration\n# ---\n\n# Discord credentials\n# ---\n\n# Application ID from the Discord Developer Portal.\n# https://discord.com/developers/applications\n# @required\nDISCORD_APPLICATION_ID=\n\n# Bot token from the Discord Developer Portal (Bot → Token).\n# @required @sensitive\nDISCORD_BOT_TOKEN=\n\n# ---\n# Access control\n# ---\n\n# Comma-separated allowed guild (server) IDs. Empty = all joined guilds.\nDISCORD_ALLOWED_GUILDS=\n\n# Comma-separated allowed role IDs.\nDISCORD_ALLOWED_ROLES=\n\n# Comma-separated allowed user IDs.\nDISCORD_ALLOWED_USERS=\n\n# Comma-separated blocked user IDs (denied even if otherwise allowed).\nDISCORD_BLOCKED_USERS=\n\n# ---\n# Behavior\n# ---\n\n# Register slash commands on startup.\nDISCORD_REGISTER_COMMANDS=true\n\n# Hours before a conversation thread expires.\nDISCORD_THREAD_TTL_HOURS=24\n\n# Milliseconds to wait before forwarding a message (0 = immediate).\nDISCORD_FORWARD_TIMEOUT_MS=0\n`,\n\tslack: `# Slack bot configuration\n# ---\n\n# Slack credentials\n# ---\n\n# Bot User OAuth Token (OAuth & Permissions → Bot User OAuth Token).\n# @required @sensitive\nSLACK_BOT_TOKEN=\n\n# App-Level Token with connections:write (Basic Information → App-Level Tokens).\n# @required @sensitive\nSLACK_APP_TOKEN=\n\n# ---\n# Access control\n# ---\n\n# Comma-separated allowed channel IDs. Empty = all channels the bot is in.\nSLACK_ALLOWED_CHANNELS=\n\n# Comma-separated allowed user IDs.\nSLACK_ALLOWED_USERS=\n\n# Comma-separated blocked user IDs.\nSLACK_BLOCKED_USERS=\n\n`,\n\tgateway: \"\",\n\tollama: \"\",\n\tvoice: `# OpenPalm Voice (Kokoro TTS + Whisper STT) configuration\n# ---\n# Local inference server — no upstream API or key. Values are optional; the\n# compose overlay supplies safe defaults.\n\n# faster-whisper model id. Default base.en is baked into the image.\n# @required\nOP_VOICE_WHISPER_MODEL=base.en\n\n# Default Kokoro voice id (54 bundled voices, e.g. af_heart, am_michael).\nOP_VOICE_KOKORO_VOICE=bf_isabella\n\n# Python logging level: debug, info, warning, error.\nOP_VOICE_LOG_LEVEL=info\n`\n};\n/**\n* The set of NON-sensitive addon env keys declared in BUILTIN_ADDON_ENV_SCHEMAS\n* — a `KEY=` line whose annotation comment block does NOT carry `@sensitive`.\n*\n* This is the ALLOWLIST for the C4 `knowledge/secrets/` → `stack.env` migration:\n* it must only ever promote real, declared, non-sensitive addon config. The\n* secrets dir is a GENERAL secret store (ssh keys, github/OAuth creds, akm\n* secrets, per-portal verification secrets) — a file must never be copied into\n* the non-secret stack.env just because its name lacks a `_TOKEN/_SECRET/...`\n* suffix.\n*/\nfunction nonSensitiveAddonEnvKeys() {\n\tconst keys = /* @__PURE__ */ new Set();\n\tconst KEY_RE = /^([A-Z][A-Z0-9_]*)=/;\n\tfor (const schema of Object.values(BUILTIN_ADDON_ENV_SCHEMAS)) {\n\t\tlet sensitive = false;\n\t\tfor (const raw of schema.split(\"\\n\")) {\n\t\t\tconst trimmed = raw.trim();\n\t\t\tif (trimmed.startsWith(\"#\")) {\n\t\t\t\tif (/@sensitive\\b/.test(trimmed)) sensitive = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst m = raw.match(KEY_RE);\n\t\t\tif (m) {\n\t\t\t\tif (!sensitive) keys.add(m[1]);\n\t\t\t\tsensitive = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (trimmed === \"\") sensitive = false;\n\t\t}\n\t}\n\treturn keys;\n}\n//#endregion\n//#region ../lib/src/control-plane/addon-ids.ts\n/**\n* Canonical list of built-in addon IDs.\n*\n* Single source of truth — imported by both addons.ts and migrations.ts.\n* Update THIS file (and only this file) when adding or removing a built-in addon.\n*\n* Intentionally a pure-constants file with no imports so it can be safely\n* imported from anywhere without risk of circular dependencies.\n*/\nvar BUILTIN_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"gateway\",\n\t\"ollama\",\n\t\"slack\",\n\t\"ssh\",\n\t\"voice\"\n];\n//#endregion\n//#region ../lib/src/control-plane/migrations.ts\n/**\n* On-disk layout migration harness.\n*\n* `stack.env` carries `OP_LAYOUT_VERSION` — the authoritative marker of the\n* home-directory layout schema. `ensureMigrated()` runs BEFORE any state\n* validation (createState/resolveRuntimeFiles assume the current layout), so it\n* must resolve its own paths rather than take a built ControlPlaneState.\n*\n* Contract (the fail-safe invariant):\n* - Fast path: if the layout is already current, return immediately — no lock,\n* no backup, zero overhead on routine updates.\n* - Otherwise: acquire the install lock, take a FULL-HOME backup first, and\n* abort the whole upgrade if the backup fails (never migrate without a\n* verified safety copy).\n* - Migrations are additive for USER data (never delete/overwrite user files;\n* relocate, don't drop). They MAY remove SYSTEM-managed inert files (e.g. a\n* compose overlay the control plane no longer loads) via an explicit\n* allowlist — but only because the FULL-HOME backup above runs first, so the\n* home stays fully recoverable. Never a heuristic sweep, never user data.\n* - The OP_LAYOUT_VERSION bump is the LAST step (the commit point); a crash\n* before it just re-runs next time (idempotent).\n* - On failure, throw MigrationError carrying the backup path + recovery\n* guidance for the CLI/UI to surface.\n*/\nvar LAYOUT_VERSION_KEY = \"OP_LAYOUT_VERSION\";\nvar ADDON_NAME_RE = /^[a-z0-9][a-z0-9-]{0,62}$/;\nvar MigrationError = class extends Error {\n\tguidance;\n\tbackupDir;\n\tconstructor(message, guidance, backupDir) {\n\t\tsuper(message);\n\t\tthis.guidance = guidance;\n\t\tthis.backupDir = backupDir;\n\t\tthis.name = \"MigrationError\";\n\t}\n};\n/**\n* Thrown when the pre-backup free-space check estimates the safety backup would\n* exceed a safe fraction of free disk. Surfaced so callers (CLI/UI) can present\n* a plain-language warning and re-run with explicit confirmation. NOTHING is\n* deleted — the migration aborts cleanly with no changes made.\n*/\nvar BackupSpaceError = class extends MigrationError {\n\testimatedBytes;\n\tfreeBytes;\n\tconstructor(message, guidance, estimatedBytes, freeBytes) {\n\t\tsuper(message, guidance, null);\n\t\tthis.estimatedBytes = estimatedBytes;\n\t\tthis.freeBytes = freeBytes;\n\t\tthis.name = \"BackupSpaceError\";\n\t}\n};\n/**\n* Thrown when a home directory has data but matches NO known layout — no\n* OP_LAYOUT_VERSION stamp, no vault/ (0.10.x), no config/system.env (0.9.x), and\n* no knowledge/env/stack.env (0.11+). Rather than silently declaring it \"already\n* current\" (which skips all migrations and permanently mislabels it — the failure\n* mode that hid the 0.9.x gap for a release), detection refuses BEFORE touching\n* anything. Surfaced as a MigrationError so existing CLI/UI handlers present the\n* guidance and exit cleanly. Nothing has been modified when this throws.\n*/\nvar UnrecognizedLayoutError = class extends MigrationError {\n\thomeDir;\n\tconstructor(homeDir) {\n\t\tsuper(`Unrecognized OpenPalm home layout at ${homeDir}: it contains data but matches no known version (no OP_LAYOUT_VERSION stamp, no vault/, no config/system.env, no knowledge/env/stack.env).`, \"No changes were made to your home. This directory may be from an unsupported or newer version of OpenPalm. Make a manual backup, then either upgrade through the version that created it, or — if you know the layout — set OP_LAYOUT_VERSION in knowledge/env/stack.env to force detection. If this is unexpected, open an issue with a listing of the directory.\", null);\n\t\tthis.homeDir = homeDir;\n\t\tthis.name = \"UnrecognizedLayoutError\";\n\t}\n};\nvar RELEASE_VERSION_KEY = \"OP_RELEASE_VERSION\";\nfunction resolveMigrationPaths(homeDir) {\n\treturn {\n\t\thomeDir,\n\t\tdataDir: join(homeDir, \"data\"),\n\t\tstackDir: join(homeDir, \"config\", \"stack\"),\n\t\tstashDir: join(homeDir, \"knowledge\"),\n\t\tconfigDir: join(homeDir, \"config\")\n\t};\n}\n/**\n* Pick the release migrations to run for an upgrade to `targetVersion`: every\n* migration pinned to a version in the half-open range (releaseFrom, targetVersion]\n* — i.e. NEWER than the home's recorded version, up to and INCLUDING the target.\n* `releaseFrom === null` (no recorded version) runs them all (they are idempotent).\n*\n* This is what makes adding a release migration a one-line, version-local change:\n* a developer pins their migration to the release that introduced it and the range\n* selector includes it for every older home automatically — they never touch, or\n* even read, the migrations for prior releases. `migrations` is injectable so the\n* forward-compat property can be proven against a hypothetical future set.\n*/\nfunction selectPendingReleaseMigrations(releaseFrom, targetVersion, migrations = RELEASE_MIGRATIONS) {\n\tif (!isComparableSemver(targetVersion)) return [];\n\treturn migrations.filter((migration) => {\n\t\tif (!isComparableSemver(migration.version)) return false;\n\t\tif (compareComparableVersions(migration.version, targetVersion) > 0) return false;\n\t\tif (releaseFrom === null || !isComparableSemver(releaseFrom)) return true;\n\t\treturn compareComparableVersions(migration.version, releaseFrom) > 0;\n\t}).sort((a, b) => compareComparableVersions(a.version, b.version));\n}\nfunction stackEnvFile(stashDir) {\n\treturn join(stashDir, \"env\", \"stack.env\");\n}\nfunction readStackEnvValue(stashDir, key) {\n\tconst envPath = stackEnvFile(stashDir);\n\tif (!existsSync(envPath)) return null;\n\tfor (const line of readFileSync(envPath, \"utf-8\").split(\"\\n\")) {\n\t\tconst match = line.match(new RegExp(`^${key}=(.+)\\\\s*$`));\n\t\tif (match) return match[1].trim();\n\t}\n\treturn null;\n}\n/** OpenPalm-shaped directories whose content marks a home as \"an install of SOME\n* version\" (vs. an empty/fresh home or a directory full of unrelated junk). */\nvar OPENPALM_CONTENT_DIRS = [\n\t\"config\",\n\t\"data\",\n\t\"knowledge\",\n\t\"logs\",\n\t\"backups\"\n];\n/** True if `dir` exists and contains at least one regular file (recursively). */\nfunction dirHasAnyFile(dir) {\n\tif (!existsSync(dir)) return false;\n\tfor (const entry of readdirSync(dir, { withFileTypes: true })) {\n\t\tif (entry.isFile()) return true;\n\t\tif (entry.isDirectory() && dirHasAnyFile(join(dir, entry.name))) return true;\n\t}\n\treturn false;\n}\n/** True if the home holds any OpenPalm-shaped content (i.e. is not fresh/empty). */\nfunction hasOpenPalmContent(homeDir) {\n\treturn OPENPALM_CONTENT_DIRS.some((d) => dirHasAnyFile(join(homeDir, d)));\n}\n/**\n* Resolve the current on-disk layout version. Ordered so that an AUTHORITATIVE\n* stamp wins, legacy markers handle both old installs and crash-recovery, and an\n* unrecognized home fails LOUD instead of being silently declared current:\n* 1. explicit OP_LAYOUT_VERSION in knowledge/env/stack.env ⇒ that version\n* (a completed migration is stamped, so this short-circuits everything below)\n* 2. a top-level `vault/` directory ⇒ 0.10.x layout (version 0). Checked before\n* the pre-stamp shortcut so a crash mid-migration (knowledge/ written, not yet\n* stamped, vault/ still present) re-runs the idempotent 0→1 migration.\n* 3. a `config/system.env` file ⇒ 0.9.x layout (pre-vault; also version 0)\n* 4. a `knowledge/env/stack.env` with no stamp ⇒ current layout (a 0.11.0 install\n* made before OP_LAYOUT_VERSION existed) — caller stamps it\n* 5. no OpenPalm-shaped content ⇒ a fresh install ⇒ current\n* 6. otherwise: data present but no known layout ⇒ throw UnrecognizedLayoutError\n* (refuse rather than silently skip migrations and mislabel the home)\n*/\nfunction readLayoutVersion(ctx) {\n\tconst envPath = stackEnvFile(ctx.stashDir);\n\tconst envExists = existsSync(envPath);\n\tif (envExists) for (const line of readFileSync(envPath, \"utf-8\").split(\"\\n\")) {\n\t\tconst m = line.match(/^OP_LAYOUT_VERSION=(\\d+)\\s*$/);\n\t\tif (m) return Number(m[1]);\n\t}\n\tif (existsSync(join(ctx.homeDir, \"vault\"))) return 0;\n\tif (existsSync(join(ctx.homeDir, \"config\", \"system.env\"))) return 0;\n\tif (envExists) return 1;\n\tif (!hasOpenPalmContent(ctx.homeDir)) return 2;\n\tthrow new UnrecognizedLayoutError(ctx.homeDir);\n}\nfunction readStampedLayoutVersion(stashDir) {\n\tconst raw = readStackEnvValue(stashDir, LAYOUT_VERSION_KEY);\n\tif (!raw || !/^\\d+$/.test(raw)) return null;\n\treturn Number(raw);\n}\nfunction stampLayoutVersion(stashDir, version) {\n\tconst envPath = stackEnvFile(stashDir);\n\tif (!existsSync(envPath)) return false;\n\tconst current = readFileSync(envPath, \"utf-8\");\n\tconst next = upsertEnvValue(current, LAYOUT_VERSION_KEY, String(version));\n\tif (next === current) return false;\n\twriteFileSync(envPath, next);\n\treturn true;\n}\nfunction readReleaseVersion(stashDir) {\n\treturn readStampedReleaseVersion(stashDir) ?? readImageTag(stashDir);\n}\nfunction readStampedReleaseVersion(stashDir) {\n\treturn readStackEnvValue(stashDir, RELEASE_VERSION_KEY);\n}\nfunction readImageTag(stashDir) {\n\treturn readStackEnvValue(stashDir, \"OP_IMAGE_TAG\");\n}\nfunction stampReleaseVersion(stashDir, version) {\n\tconst envPath = stackEnvFile(stashDir);\n\tif (!existsSync(envPath)) return false;\n\tconst current = readFileSync(envPath, \"utf-8\");\n\tconst next = upsertEnvValue(current, RELEASE_VERSION_KEY, version);\n\tif (next === current) return false;\n\twriteFileSync(envPath, next);\n\treturn true;\n}\nfunction ensureDir(ctx, dir) {\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] mkdir ${rel(ctx, dir)}`);\n\t\treturn;\n\t}\n\tmkdirSync(dir, { recursive: true });\n\ttry {\n\t\tchmodSync(dir, 448);\n\t} catch {}\n}\nfunction rel(ctx, p) {\n\treturn p.startsWith(ctx.homeDir) ? p.slice(ctx.homeDir.length + 1) : p;\n}\n/** Copy src→dest; skip if dest exists; chmod 600. Returns true if copied. */\nfunction copyIfAbsent(ctx, src, dest) {\n\tif (!existsSync(src)) return false;\n\tif (existsSync(dest)) {\n\t\tctx.log(`skip (exists): ${rel(ctx, dest)}`);\n\t\treturn false;\n\t}\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] copy ${rel(ctx, src)} -> ${rel(ctx, dest)}`);\n\t\treturn true;\n\t}\n\tcpSync(src, dest, { recursive: true });\n\ttry {\n\t\tif (statSync(dest).isFile()) chmodSync(dest, 384);\n\t} catch {}\n\tctx.log(`copied: ${rel(ctx, src)} -> ${rel(ctx, dest)}`);\n\treturn true;\n}\nfunction writeFile600(ctx, path, content) {\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] write ${rel(ctx, path)}`);\n\t\treturn;\n\t}\n\twriteFileSync(path, content);\n\ttry {\n\t\tchmodSync(path, 384);\n\t} catch {}\n}\nfunction seedPerImageTagVars(_ctx) {}\n/**\n* Keys that are sensitive and must stay as compose secret files.\n* Matches the @sensitive annotation in BUILTIN_ADDON_ENV_SCHEMAS.\n*/\nvar ADDON_SENSITIVE_KEY_RE = /(_API_KEY|_TOKEN|_SECRET|_PASSWORD)$/i;\n/**\n* Non-sensitive addon config keys that pre-C4 code wrote to knowledge/secrets/.\n* These should live in stack.env so they are visible to `docker compose config`.\n* The key filename in secrets/ is the lowercase key name; we read it and copy to\n* stack.env only if the key is not already present there.\n* Source files are NEVER deleted (user data).\n*/\nfunction migrateAddonConfigToStackEnv(ctx) {\n\tconst envPath = stackEnvFile(ctx.stashDir);\n\tif (!existsSync(envPath)) return;\n\tconst secretsDir = join(ctx.homeDir, \"knowledge\", \"secrets\");\n\tif (!existsSync(secretsDir)) return;\n\tconst stackContent = readFileSync(envPath, \"utf-8\");\n\tconst additions = {};\n\tconst allowedKeys = nonSensitiveAddonEnvKeys();\n\tfor (const filename of readdirSync(secretsDir)) {\n\t\tif (filename.includes(\".\") || filename.includes(\"/\")) continue;\n\t\tconst envKey = filename.toUpperCase();\n\t\tif (!allowedKeys.has(envKey)) continue;\n\t\tif (ADDON_SENSITIVE_KEY_RE.test(envKey)) continue;\n\t\tif (new RegExp(`^${envKey}=`, \"m\").test(stackContent)) {\n\t\t\tctx.log(`skip (exists in stack.env): ${envKey}`);\n\t\t\tcontinue;\n\t\t}\n\t\tconst filePath = join(secretsDir, filename);\n\t\ttry {\n\t\t\tconst value = readFileSync(filePath, \"utf-8\").replace(/[\\r\\n]+$/, \"\");\n\t\t\tif (value.length === 0) continue;\n\t\t\tadditions[envKey] = value;\n\t\t\tctx.log(`copy non-sensitive addon config: knowledge/secrets/${filename} -> stack.env ${envKey}`);\n\t\t} catch {\n\t\t\tctx.log(`skip (unreadable): knowledge/secrets/${filename}`);\n\t\t}\n\t}\n\tif (Object.keys(additions).length === 0) return;\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] would add ${Object.keys(additions).length} non-sensitive key(s) to stack.env`);\n\t\treturn;\n\t}\n\tlet next = stackContent;\n\tfor (const [key, value] of Object.entries(additions)) next = upsertEnvValue(next, key, value);\n\twriteFile600(ctx, envPath, next);\n}\n/**\n* Portal rename (0.12.0): the \"channels\" concept became \"portals\". The\n* materialized compose file moved channels.compose.yml → portals.compose.yml\n* (re-seeded by the normal asset refresh) and the per-portal verification\n* secrets moved channel_<name>_secret → portal_<name>_secret. The new\n* portals.compose.yml references `portal_<name>_secret` files, so existing\n* installs whose secrets are still named `channel_<name>_secret` would fail\n* Compose's secret `file:` lookup. Rename each to its portal_-named sibling\n* (the value is preserved — a rename loses no data; skip if the portal_ name\n* already exists). The stale channels.compose.yml is inert because\n* discoverStackOverlays() loads an explicit name list, not a glob.\n*/\nfunction migratePortalSecretNames(ctx) {\n\tconst secretsDir = join(ctx.homeDir, \"knowledge\", \"secrets\");\n\tif (!existsSync(secretsDir)) return;\n\tfor (const filename of readdirSync(secretsDir)) {\n\t\tconst m = filename.match(/^channel_(.+)_secret$/);\n\t\tif (!m) continue;\n\t\tconst dest = join(secretsDir, `portal_${m[1]}_secret`);\n\t\tif (existsSync(dest)) {\n\t\t\tctx.log(`skip (exists): knowledge/secrets/portal_${m[1]}_secret`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (ctx.dryRun) {\n\t\t\tctx.log(`[dry-run] rename secret: channel_${m[1]}_secret -> portal_${m[1]}_secret`);\n\t\t\tcontinue;\n\t\t}\n\t\trenameSync(join(secretsDir, filename), dest);\n\t\ttry {\n\t\t\tchmodSync(dest, 384);\n\t\t} catch {}\n\t\tctx.log(`portal secret: channel_${m[1]}_secret -> portal_${m[1]}_secret`);\n\t}\n}\n/**\n* Portal rename (0.12.0) — user custom overlay network reference.\n* A user-authored config/stack/custom.compose.yml may reference the `channel_lan`\n* network, which was renamed to `portal_net` in 0.12.0. `channel_lan` survives as\n* a deprecated empty bridge for this one release but is REMOVED in 0.13.0 — at\n* which point an overlay still referencing it fails Compose validation. Rewrite\n* `channel_lan` → `portal_net` in the user's overlay so it keeps working past\n* 0.13.0 with no manual step.\n*\n* Non-destructive: the original is copied to custom.compose.yml.pre-portal-rename.bak\n* first (skip if that backup already exists), and the rewrite is idempotent (a\n* second run finds no `channel_lan` token and does nothing). The token is specific\n* enough that a word-boundary replace is safe; the rare case of an overlay that\n* *defines* its own external `channel_lan` network is covered by the .bak copy.\n*/\nfunction migrateCustomComposeChannelLan(ctx) {\n\tconst customPath = join(ctx.stackDir, \"custom.compose.yml\");\n\tif (!existsSync(customPath)) return;\n\tlet content;\n\ttry {\n\t\tcontent = readFileSync(customPath, \"utf-8\");\n\t} catch {\n\t\tctx.log(\"skip (unreadable): config/stack/custom.compose.yml\");\n\t\treturn;\n\t}\n\tif (!/\\bchannel_lan\\b/.test(content)) return;\n\tconst next = content.replace(/\\bchannel_lan\\b/g, \"portal_net\");\n\tif (next === content) return;\n\tif (ctx.dryRun) {\n\t\tctx.log(\"[dry-run] rewrite channel_lan -> portal_net in config/stack/custom.compose.yml\");\n\t\treturn;\n\t}\n\tconst backupPath = `${customPath}.pre-portal-rename.bak`;\n\tif (!existsSync(backupPath)) {\n\t\twriteFileSync(backupPath, content);\n\t\ttry {\n\t\t\tchmodSync(backupPath, 384);\n\t\t} catch {}\n\t\tctx.log(\"backed up config/stack/custom.compose.yml -> custom.compose.yml.pre-portal-rename.bak\");\n\t}\n\twriteFileSync(customPath, next);\n\tctx.log(\"rewrote channel_lan -> portal_net in config/stack/custom.compose.yml\");\n\tctx.notes.push(\"Your config/stack/custom.compose.yml referenced the deprecated `channel_lan` network; it was rewritten to `portal_net` (the original was saved as custom.compose.yml.pre-portal-rename.bak). `channel_lan` is removed in 0.13.0.\");\n}\nvar SECRET_KEY_RE = /(_API_KEY|_TOKEN|_SECRET|_PASSWORD)$/;\nvar CONFIG_KEY_RE = /^(OP_CAP_|SYSTEM_LLM_|EMBEDDING_)/;\n/**\n* Transform a legacy flat env file (0.10.x vault/stack/stack.env OR 0.9.x\n* config/system.env — identical KEY=val shape) into the 0.11+\n* knowledge/env/stack.env:\n* - extract OP_UI_LOGIN_PASSWORD into knowledge/secrets/op_ui_login_password\n* - rename OP_ADMIN_PORT → OP_HOST_UI_PORT and TTS_/STT_ → OP_TTS_/OP_STT_\n* - drop removed vars (OP_ADMIN_OPENCODE_PORT, OP_GUARDIAN_PORT)\n* - quarantine secret/capability keys into a .removed-secrets.bak (NEVER copied\n* back into the non-secret stack.env)\n* Skip-if-present: never overwrites an existing destStack (idempotent).\n*/\nfunction transformLegacyStackEnv(ctx, srcStack, destStack, newEnv, newSecrets) {\n\tif (!existsSync(srcStack) || existsSync(destStack)) return;\n\tconst kept = [];\n\tconst removed = [];\n\tfor (const line of readFileSync(srcStack, \"utf-8\").split(\"\\n\")) {\n\t\tif (line === \"\" || line.startsWith(\"#\")) {\n\t\t\tkept.push(line);\n\t\t\tcontinue;\n\t\t}\n\t\tconst eq = line.indexOf(\"=\");\n\t\tconst key = eq >= 0 ? line.slice(0, eq) : line;\n\t\tconst val = eq >= 0 ? line.slice(eq + 1) : \"\";\n\t\tif (key === \"OP_UI_LOGIN_PASSWORD\") {\n\t\t\twriteFile600(ctx, join(newSecrets, \"op_ui_login_password\"), val + \"\\n\");\n\t\t\tctx.log(\"extracted OP_UI_LOGIN_PASSWORD -> knowledge/secrets/op_ui_login_password\");\n\t\t} else if (key === \"OP_ADMIN_PORT\") {\n\t\t\tkept.push(`OP_HOST_UI_PORT=${val}`);\n\t\t\tctx.log(\"renamed OP_ADMIN_PORT -> OP_HOST_UI_PORT\");\n\t\t} else if (key === \"OP_ADMIN_OPENCODE_PORT\" || key === \"OP_GUARDIAN_PORT\") ctx.log(`dropped removed var: ${key}`);\n\t\telse if (key.startsWith(\"TTS_\") || key.startsWith(\"STT_\")) {\n\t\t\tkept.push(`OP_${key}=${val}`);\n\t\t\tctx.log(`renamed ${key} -> OP_${key}`);\n\t\t} else if (CONFIG_KEY_RE.test(key) || SECRET_KEY_RE.test(key)) {\n\t\t\tremoved.push(line);\n\t\t\tctx.log(`quarantined: ${key}`);\n\t\t} else kept.push(line);\n\t}\n\twriteFile600(ctx, destStack, kept.join(\"\\n\") + \"\\n\");\n\tif (removed.length > 0) {\n\t\twriteFile600(ctx, join(newEnv, \"stack.env.removed-secrets.bak\"), removed.join(\"\\n\") + \"\\n\");\n\t\tctx.notes.push(\"Secret/capability keys were removed from stack.env (saved to knowledge/env/stack.env.removed-secrets.bak) — re-enter provider keys via the Connections tab and LLM config via config/akm/config.json; do not put them back in stack.env.\");\n\t}\n}\nfunction migrate010to011(ctx) {\n\tconst vault = join(ctx.homeDir, \"vault\");\n\tconst newEnv = join(ctx.stashDir, \"env\");\n\tconst newSecrets = join(ctx.stashDir, \"secrets\");\n\tensureDir(ctx, newEnv);\n\tensureDir(ctx, newSecrets);\n\tcopyIfAbsent(ctx, join(vault, \"user\", \"user.env\"), join(newEnv, \"user.env\"));\n\ttransformLegacyStackEnv(ctx, join(vault, \"stack\", \"stack.env\"), join(newEnv, \"stack.env\"), newEnv, newSecrets);\n\tif (copyIfAbsent(ctx, join(vault, \"stack\", \"auth.json\"), join(newSecrets, \"auth.json\"))) ctx.notes.push(\"Copied auth.json best-effort — verify providers in the Connections tab and re-add any that are missing (the OpenCode auth format changed).\");\n\tconst servicesDir = join(vault, \"stack\", \"services\");\n\tif (existsSync(servicesDir)) for (const name of readdirSync(servicesDir)) copyIfAbsent(ctx, join(servicesDir, name), join(newSecrets, name));\n\tconst guardianEnv = join(vault, \"stack\", \"guardian.env\");\n\tif (existsSync(guardianEnv)) for (const line of readFileSync(guardianEnv, \"utf-8\").split(\"\\n\")) {\n\t\tconst m = line.match(/^CHANNEL_(.+)_SECRET=(.*)$/);\n\t\tif (!m) continue;\n\t\tconst name = m[1].toLowerCase();\n\t\tif (!ADDON_NAME_RE.test(name)) continue;\n\t\tconst dest = join(newSecrets, `channel_${name}_secret`);\n\t\tif (existsSync(dest)) {\n\t\t\tctx.log(`skip (exists): knowledge/secrets/channel_${name}_secret`);\n\t\t\tcontinue;\n\t\t}\n\t\twriteFile600(ctx, dest, m[2] + \"\\n\");\n\t\tctx.log(`channel secret: ${m[1]} -> knowledge/secrets/channel_${name}_secret`);\n\t}\n\tfor (const n of [\n\t\t\"apprise.yaml\",\n\t\t\"apprise.conf\",\n\t\t\"gcloud-credentials.json\"\n\t]) copyIfAbsent(ctx, join(vault, \"user\", n), join(newSecrets, n));\n\tfor (const d of [\n\t\t\".gws\",\n\t\t\".gcloud\",\n\t\t\".mgc\"\n\t]) copyIfAbsent(ctx, join(vault, \"user\", d), join(newSecrets, d));\n\twriteVaultReadme(ctx, vault);\n\tconst addons = readLegacyStackYmlAddons(ctx);\n\tif (addons.length > 0) {\n\t\tconst envPath = stackEnvFile(ctx.stashDir);\n\t\tif (ctx.dryRun) ctx.log(`[dry-run] set OP_ENABLED_ADDONS=${addons.join(\",\")}`);\n\t\telse if (existsSync(envPath)) {\n\t\t\twriteFile600(ctx, envPath, upsertEnvValue(readFileSync(envPath, \"utf-8\"), \"OP_ENABLED_ADDONS\", addons.join(\",\")));\n\t\t\tctx.log(`set OP_ENABLED_ADDONS=${addons.join(\",\")}`);\n\t\t}\n\t}\n}\nvar VAULT_README = `# This \\`vault/\\` directory is from OpenPalm 0.10.x — it is now a RECOVERY COPY\n\nOpenPalm 0.11.0 changed the on-disk layout. The upgrade **copied** everything out\nof this \\`vault/\\` directory into the new locations and left these originals here,\nuntouched, as a safety net:\n\n- \\`vault/user/user.env\\` → \\`knowledge/env/user.env\\`\n- \\`vault/stack/stack.env\\` → \\`knowledge/env/stack.env\\` (transformed)\n- \\`vault/stack/guardian.env\\` → \\`knowledge/secrets/channel_<name>_secret\\`\n- \\`vault/stack/services/*\\` → \\`knowledge/secrets/\\`\n- \\`vault/stack/auth.json\\` → \\`knowledge/secrets/auth.json\\` (best-effort)\n- other user credential files → \\`knowledge/secrets/\\`\n\nA full backup of your home was also taken under \\`data/backups/\\` before migrating.\n\nNothing in 0.11.x reads this directory anymore. You can delete it once you have\nconfirmed the new version works.\n\n## How to remove it safely\n\n1. Confirm 0.11.x is healthy: the stack starts (\\`openpalm status\\`), you can sign\n in to the UI, your providers are connected (Connections tab), and your\n channels still work.\n2. Spot-check that your data is in the new layout:\n - \\`knowledge/env/stack.env\\` and \\`knowledge/env/user.env\\` look right\n - your secrets are under \\`knowledge/secrets/\\` (login password, channel\n secrets, \\`auth.json\\`, etc.)\n - if \\`knowledge/env/stack.env.removed-secrets.bak\\` exists, re-enter those\n provider keys (Connections) and LLM config (\\`config/akm/config.json\\`) — do\n not put secrets back into \\`stack.env\\`.\n3. Only then remove this directory. Prefer your OS trash (reversible):\n - Linux: \\`gio trash ~/.openpalm/vault\\` (or \\`trash-put ~/.openpalm/vault\\`)\n - macOS: \\`trash ~/.openpalm/vault\\`\n - Windows: delete \\`%USERPROFILE%\\\\.openpalm\\\\vault\\` (sends to Recycle Bin)\n - Last resort (irreversible): \\`rm -rf ~/.openpalm/vault\\`\n\nIf anything looks wrong, do NOT delete this directory — restore from it or from\n\\`data/backups/\\`. Full guide: docs/operations/upgrade-0.10-to-0.11.md\n`;\n/** Drop a safe-removal README into the retained legacy vault/ (skip if absent/present). */\nfunction writeVaultReadme(ctx, vault) {\n\tif (!existsSync(vault)) return;\n\tconst dest = join(vault, \"README.md\");\n\tif (existsSync(dest)) {\n\t\tctx.log(\"skip (exists): vault/README.md\");\n\t\treturn;\n\t}\n\tif (ctx.dryRun) {\n\t\tctx.log(\"[dry-run] write vault/README.md (safe-removal guide)\");\n\t\treturn;\n\t}\n\twriteFileSync(dest, VAULT_README);\n\tctx.log(\"wrote vault/README.md (safe-removal guide)\");\n}\n/** Extract a validated addons[] list from any legacy stack.yml, or []. */\nfunction readLegacyStackYmlAddons(ctx) {\n\tfor (const p of [join(ctx.configDir, \"stack.yml\"), join(ctx.stackDir, \"stack.yml\")]) {\n\t\tif (!existsSync(p)) continue;\n\t\ttry {\n\t\t\tconst raw = (0, import_dist.parse)(readFileSync(p, \"utf-8\"));\n\t\t\tif (Array.isArray(raw?.addons)) return [...new Set(raw.addons.filter((v) => typeof v === \"string\" && ADDON_NAME_RE.test(v)))].sort();\n\t\t} catch {}\n\t}\n\treturn [];\n}\n/**\n* The recognized 0.9.x entries under config/. Their DATA is relocated to its 0.11+\n* home (env/secrets/tasks); the originals — plus the no-longer-read system files\n* (schemas, components, openpalm.yml, ov.conf) — are then moved wholesale into\n* config/legacy-0.9/ so config/ holds only the current layout. Moving is\n* relocation, never deletion; the full-home backup already ran.\n*/\nvar LEGACY_09_CONFIG_ENTRIES = [\n\t\"automations\",\n\t\"components\",\n\t\"user.env\",\n\t\"user.env.schema\",\n\t\"system.env\",\n\t\"system.env.schema\",\n\t\"openpalm.yml\",\n\t\"ov.conf\"\n];\nvar LEGACY_09_README = `# This \\`config/legacy-0.9/\\` directory is from OpenPalm 0.9.x — a RECOVERY COPY\n\nOpenPalm 0.11+ uses a different on-disk layout. The upgrade **extracted** your\ndata out of the old 0.9.x \\`config/\\` files into the new locations and moved the\noriginals here, untouched, as a safety net:\n\n- \\`config/user.env\\` → \\`knowledge/env/user.env\\`\n- \\`config/system.env\\` → \\`knowledge/env/stack.env\\` (transformed; secrets\n extracted to \\`knowledge/secrets/\\`)\n- \\`config/automations/*\\` → \\`knowledge/tasks/\\`\n- old \\`components/*\\` → inert (compose components were replaced by the fixed\n overlay set + OP_ENABLED_ADDONS); kept for reference\n- \\`config/openpalm.yml\\`, \\`ov.conf\\`, \\`*.schema\\` → no longer read; kept for reference\n\nA full backup of your home was also taken under \\`data/backups/\\` before migrating.\n\nNothing in 0.11+ reads this directory anymore. You can delete it once you have\nconfirmed the new version works (UI signs in, stack starts, channels work). If\n\\`knowledge/env/stack.env.removed-secrets.bak\\` exists, re-enter those provider keys\nvia the Connections tab and LLM config via \\`config/akm/config.json\\` first — do not\nput secrets back into stack.env. Prefer your OS trash (reversible) when removing.\n`;\n/** Enabled 0.9.x channels were compose \"components\": config/components/channel-<name>.yml. */\nfunction readLegacy09ChannelAddons(ctx) {\n\tconst comps = join(ctx.configDir, \"components\");\n\tif (!existsSync(comps)) return [];\n\tconst addons = /* @__PURE__ */ new Set();\n\tfor (const name of readdirSync(comps)) {\n\t\tconst m = name.match(/^channel-([a-z0-9-]+)\\.ya?ml$/);\n\t\tif (m && ADDON_NAME_RE.test(m[1])) addons.add(m[1]);\n\t}\n\treturn [...addons].sort();\n}\nfunction migrate09xToKnowledge(ctx) {\n\tconst sysEnv = join(ctx.configDir, \"system.env\");\n\tif (!existsSync(sysEnv)) return;\n\tconst newEnv = join(ctx.stashDir, \"env\");\n\tconst newSecrets = join(ctx.stashDir, \"secrets\");\n\tconst newTasks = join(ctx.stashDir, \"tasks\");\n\tensureDir(ctx, newEnv);\n\tensureDir(ctx, newSecrets);\n\tcopyIfAbsent(ctx, join(ctx.configDir, \"user.env\"), join(newEnv, \"user.env\"));\n\ttransformLegacyStackEnv(ctx, sysEnv, join(newEnv, \"stack.env\"), newEnv, newSecrets);\n\tconst autos = join(ctx.configDir, \"automations\");\n\tif (existsSync(autos)) {\n\t\tensureDir(ctx, newTasks);\n\t\tfor (const name of readdirSync(autos)) copyIfAbsent(ctx, join(autos, name), join(newTasks, name));\n\t}\n\tconst addons = readLegacy09ChannelAddons(ctx);\n\tif (addons.length > 0) {\n\t\tconst envPath = stackEnvFile(ctx.stashDir);\n\t\tif (ctx.dryRun) ctx.log(`[dry-run] set OP_ENABLED_ADDONS=${addons.join(\",\")}`);\n\t\telse if (existsSync(envPath)) {\n\t\t\twriteFile600(ctx, envPath, upsertEnvValue(readFileSync(envPath, \"utf-8\"), \"OP_ENABLED_ADDONS\", addons.join(\",\")));\n\t\t\tctx.log(`set OP_ENABLED_ADDONS=${addons.join(\",\")}`);\n\t\t}\n\t}\n\tconst legacyDir = join(ctx.configDir, \"legacy-0.9\");\n\tfor (const name of LEGACY_09_CONFIG_ENTRIES) {\n\t\tconst src = join(ctx.configDir, name);\n\t\tif (!existsSync(src)) continue;\n\t\tensureDir(ctx, legacyDir);\n\t\tconst dest = join(legacyDir, name);\n\t\tif (existsSync(dest)) {\n\t\t\tctx.log(`skip (exists): config/legacy-0.9/${name}`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (ctx.dryRun) {\n\t\t\tctx.log(`[dry-run] relocate config/${name} -> config/legacy-0.9/${name}`);\n\t\t\tcontinue;\n\t\t}\n\t\trenameSync(src, dest);\n\t\tctx.log(`relocated config/${name} -> config/legacy-0.9/${name}`);\n\t}\n\tconst readmePath = join(legacyDir, \"README.md\");\n\tif (existsSync(legacyDir) && !existsSync(readmePath)) if (ctx.dryRun) ctx.log(\"[dry-run] write config/legacy-0.9/README.md (safe-removal guide)\");\n\telse {\n\t\twriteFileSync(readmePath, LEGACY_09_README);\n\t\tctx.log(\"wrote config/legacy-0.9/README.md (safe-removal guide)\");\n\t}\n\tctx.notes.push(\"Upgraded a 0.9.x install: your config/ data moved to knowledge/ and the old 0.9.x files were retained under config/legacy-0.9/ (see its README). Verify the stack, then remove that directory via your OS trash.\");\n}\n/**\n* SYSTEM-managed files the 0.12.0 control plane no longer materializes or reads.\n* Removed so OP_HOME holds only the current managed asset set. This is an explicit\n* ALLOWLIST of system files — NEVER user data, NEVER a heuristic sweep:\n* - config/stack/channels.compose.yml — renamed to portals.compose.yml in 0.12.0;\n* the control plane loads an explicit overlay list (not a glob), so it is inert.\n* - config/stack/stack.yml — the StackSpec was removed in 0.11.0 (addons live in\n* OP_ENABLED_ADDONS; the 0→1 migration already extracts any legacy addons[]).\n* Removal is safe because the layout-migration path takes a FULL OP_HOME backup\n* first and aborts if it fails (see ensureMigrated), so a stamped layout bump is\n* always recoverable. User data is never removed; if a future inert path actually\n* holds user data it must be MOVED to its proper location here, not deleted.\n*/\nvar INERT_LAYOUT_V2_FILES = [join(\"config\", \"stack\", \"channels.compose.yml\"), join(\"config\", \"stack\", \"stack.yml\")];\nfunction migrate1to2(ctx) {\n\tfor (const rel of INERT_LAYOUT_V2_FILES) {\n\t\tconst full = join(ctx.homeDir, rel);\n\t\tif (!existsSync(full)) continue;\n\t\tif (ctx.dryRun) {\n\t\t\tctx.log(`[dry-run] remove inert system file: ${rel}`);\n\t\t\tcontinue;\n\t\t}\n\t\trmSync(full, { force: true });\n\t\tctx.log(`removed inert pre-0.12.0 system file: ${rel}`);\n\t}\n}\nvar MIGRATIONS = [{\n\tfrom: 0,\n\tto: 1,\n\tdescribe: \"pre-knowledge (0.9.x config/ or 0.10.x vault/) → 0.11.0 knowledge/ layout\",\n\tapply(ctx) {\n\t\tmigrate010to011(ctx);\n\t\tmigrate09xToKnowledge(ctx);\n\t},\n\tverify(ctx) {\n\t\tif (ctx.dryRun) return;\n\t\tif (!existsSync(stackEnvFile(ctx.stashDir))) throw new Error(\"post-migration check failed: knowledge/env/stack.env is missing\");\n\t}\n}, {\n\tfrom: 1,\n\tto: 2,\n\tdescribe: \"drop inert pre-0.12.0 system files (channels.compose.yml, stack.yml)\",\n\tapply: migrate1to2,\n\tverify(ctx) {\n\t\tif (ctx.dryRun) return;\n\t\tfor (const rel of INERT_LAYOUT_V2_FILES) if (existsSync(join(ctx.homeDir, rel))) throw new Error(`post-migration check failed: inert ${rel} still present`);\n\t}\n}];\n/**\n* Select the layout migrations to run, by WALKING the chain from `from` up to\n* CURRENT_LAYOUT_VERSION — correct-by-construction for multi-version jumps and a\n* loud guard against a broken chain (the forward-compat footgun). A plain\n* `filter(m.from in [from, ceiling))` would silently skip a missing step or run a\n* migration whose precondition isn't met; here a gap throws immediately so the\n* mistake surfaces at the structural test, never on a user's disk.\n*\n* Forward-only: a home at or beyond the current layout (e.g. ran on a newer app,\n* then downgraded) returns [] — there are no backward migrations.\n*/\nfunction selectPendingLayoutMigrations(from, migrations = MIGRATIONS, ceiling = 2) {\n\tif (from >= ceiling) return [];\n\tconst chain = [];\n\tlet cursor = from;\n\twhile (cursor < ceiling) {\n\t\tconst next = migrations.find((m) => m.from === cursor);\n\t\tif (!next) throw new Error(`Layout migration chain is broken: no migration with from:${cursor} (home is at layout ${from}, target is ${ceiling}). Add a Migration { from:${cursor}, to:${cursor + 1}, … } to MIGRATIONS.`);\n\t\tchain.push(next);\n\t\tcursor = next.to;\n\t}\n\tif (cursor !== ceiling) throw new Error(`Layout migration chain overshoots the target: reached ${cursor}, expected ${ceiling}. Migrations must advance one layout step at a time.`);\n\treturn chain;\n}\n/**\n* Set of valid built-in addon IDs for fast membership checks.\n* Derived from BUILTIN_ADDON_IDS (addon-ids.ts — the single source of truth).\n* To add or remove an addon, update addon-ids.ts only.\n*/\nvar KNOWN_ADDON_IDS = new Set(BUILTIN_ADDON_IDS);\n/**\n* Strip any addon IDs from OP_ENABLED_ADDONS that are not in the current\n* builtin addon set. Stale IDs accumulate when an addon is removed from the\n* codebase or renamed — they cause the Capabilities/Add-ons tab to show\n* phantom \"enabled\" entries that can never be managed.\n*\n* Idempotent: no-op when every recorded ID is still valid.\n* Non-destructive: only writes when there are stale IDs to remove.\n*/\nfunction purgeStaleEnabledAddons(ctx) {\n\tconst envPath = stackEnvFile(ctx.stashDir);\n\tif (!existsSync(envPath)) return;\n\tconst content = readFileSync(envPath, \"utf-8\");\n\tconst match = content.match(/^OP_ENABLED_ADDONS=(.*)$/m);\n\tif (!match) return;\n\tconst current = parseEnabledAddons(match[1]);\n\tconst cleaned = current.filter((id) => KNOWN_ADDON_IDS.has(id));\n\tconst stale = current.filter((id) => !KNOWN_ADDON_IDS.has(id));\n\tif (stale.length === 0) return;\n\tctx.log(`purging stale addon IDs from OP_ENABLED_ADDONS: ${stale.join(\", \")}`);\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] would set OP_ENABLED_ADDONS=${cleaned.join(\",\")}`);\n\t\treturn;\n\t}\n\twriteFile600(ctx, envPath, upsertEnvValue(content, \"OP_ENABLED_ADDONS\", cleaned.join(\",\")));\n\tctx.log(`set OP_ENABLED_ADDONS=${cleaned.join(\",\")}`);\n}\n/**\n* Patch portals.compose.yml in-place to add the OP_GUARDIAN_VERSION and\n* PLATFORM_VERSION env vars to the guardian service. The thin-host entrypoint\n* (v0.12.14+) needs these to resolve the correct npm package versions on boot.\n* Both values are derived from OP_GUARDIAN_IMAGE_TAG / OP_IMAGE_TAG — vars\n* already written to stack.env by the lifecycle. No-op when already present.\n*/\nfunction patchPortalsComposeForThinHost(ctx) {\n\tconst path = join(ctx.stackDir, \"portals.compose.yml\");\n\tif (!existsSync(path)) return;\n\tconst content = readFileSync(path, \"utf-8\");\n\tif (content.includes(\"OP_GUARDIAN_VERSION:\")) return;\n\tconst ANCHOR = \" OP_ASSISTANT_URL: http://assistant:4096\";\n\tif (!content.includes(ANCHOR)) throw new Error(`Migration patchPortalsComposeForThinHost: anchor line not found in ${path}. The guardian thin-host env vars cannot be injected. Manual fix: add OP_GUARDIAN_VERSION and PLATFORM_VERSION env vars to the guardian service in portals.compose.yml.`);\n\tconst INSERTION = [\n\t\t\" # Thin-host entrypoint uses these to install @openpalm/guardian and\",\n\t\t\" # @openpalm/skeleton at the correct versions on first boot.\",\n\t\t\" # OP_GUARDIAN_IMAGE_TAG (e.g. v0.12.9) may differ from OP_IMAGE_TAG when\",\n\t\t\" # guardian is released independently of the platform.\",\n\t\t\" OP_GUARDIAN_VERSION: ${OP_GUARDIAN_IMAGE_TAG:-${OP_IMAGE_TAG:-}}\",\n\t\t\" PLATFORM_VERSION: ${OP_IMAGE_TAG:-}\"\n\t].join(\"\\n\");\n\tconst patched = content.replace(ANCHOR, `${ANCHOR}\\n${INSERTION}`);\n\tif (ctx.dryRun) {\n\t\tctx.log(\"[dry-run] would patch portals.compose.yml with OP_GUARDIAN_VERSION + PLATFORM_VERSION\");\n\t\treturn;\n\t}\n\twriteFileSync(path, patched);\n\tctx.log(\"patched portals.compose.yml: added OP_GUARDIAN_VERSION and PLATFORM_VERSION to guardian service env\");\n}\n/**\n* Legacy image-tag keys removed by the version-system redesign. The single\n* whole-stack OP_IMAGE_TAG and the per-unit OP_*_IMAGE_TAG escape-hatch keys are\n* replaced by one explicit OP_*_VERSION var per image (no compose cascade).\n*/\nvar LEGACY_IMAGE_TAG_KEYS = [\n\t\"OP_IMAGE_TAG\",\n\t\"OP_ASSISTANT_IMAGE_TAG\",\n\t\"OP_GUARDIAN_IMAGE_TAG\",\n\t\"OP_PORTAL_IMAGE_TAG\",\n\t\"OP_CHANNEL_IMAGE_TAG\"\n];\n/**\n* Map an existing install's legacy image-tag vars onto the new per-image\n* OP_*_VERSION vars, then strip the legacy keys.\n*\n* Each new var is seeded from the most specific legacy source: the per-unit\n* OP_<UNIT>_IMAGE_TAG when set, else the whole-stack OP_IMAGE_TAG, else \"latest\"\n* (the moving default). Voice never had a managed tag var, so it defaults to\n* \"latest\". The legacy keys are then removed (they are SYSTEM-managed compose\n* config, not user data — and the layout migration path takes a full-home backup\n* first; here ensureReleaseMigrated takes a targeted stack.env backup).\n*\n* Idempotent: once the legacy keys are gone and the new vars are present, a\n* second run is a no-op (mapped values already exist; nothing to strip).\n*/\nfunction migrateImageTagsToVersionVars(ctx) {\n\tconst envPath = stackEnvFile(ctx.stashDir);\n\tif (!existsSync(envPath)) return;\n\tlet content = readFileSync(envPath, \"utf-8\");\n\tconst read = (key) => {\n\t\tconst m = content.match(new RegExp(`^${key}=(.*)$`, \"m\"));\n\t\treturn m ? m[1].trim() : void 0;\n\t};\n\tconst has = (key) => new RegExp(`^${key}=`, \"m\").test(content);\n\tconst imageTag = read(\"OP_IMAGE_TAG\");\n\tconst fallback = imageTag && imageTag.length > 0 ? imageTag : \"latest\";\n\tconst mapped = {\n\t\tOP_ASSISTANT_VERSION: read(\"OP_ASSISTANT_IMAGE_TAG\") ?? fallback,\n\t\tOP_GUARDIAN_VERSION: read(\"OP_GUARDIAN_IMAGE_TAG\") ?? fallback,\n\t\tOP_PORTAL_VERSION: read(\"OP_PORTAL_IMAGE_TAG\") ?? fallback,\n\t\tOP_VOICE_VERSION: \"latest\"\n\t};\n\tconst hasLegacy = LEGACY_IMAGE_TAG_KEYS.some(has);\n\tconst missingNew = Object.keys(mapped).some((k) => !has(k));\n\tif (!hasLegacy && !missingNew) return;\n\tif (ctx.dryRun) {\n\t\tctx.log(`[dry-run] would set ${Object.entries(mapped).map(([k, v]) => `${k}=${v}`).join(\", \")}`);\n\t\tif (hasLegacy) ctx.log(`[dry-run] would remove legacy image-tag keys: ${LEGACY_IMAGE_TAG_KEYS.filter(has).join(\", \")}`);\n\t\treturn;\n\t}\n\tfor (const [key, value] of Object.entries(mapped)) if (!has(key)) {\n\t\tcontent = upsertEnvValue(content, key, value);\n\t\tctx.log(`set ${key}=${value}`);\n\t}\n\tfor (const key of LEGACY_IMAGE_TAG_KEYS) if (has(key)) {\n\t\tcontent = removeEnvKey(content, key);\n\t\tctx.log(`removed legacy image-tag key: ${key}`);\n\t}\n\twriteFile600(ctx, envPath, content);\n}\nvar RELEASE_MIGRATIONS = [\n\t{\n\t\tversion: \"v0.11.5-rc.1\",\n\t\tdescribe: \"seed per-image platform tags from OP_IMAGE_TAG (no-op: compose now resolves every service from OP_IMAGE_TAG)\",\n\t\tapply: seedPerImageTagVars,\n\t\tverify() {}\n\t},\n\t{\n\t\tversion: \"v0.12.0-rc.1\",\n\t\tdescribe: \"copy non-sensitive addon config from knowledge/secrets/ into stack.env\",\n\t\tapply: migrateAddonConfigToStackEnv,\n\t\tverify(ctx) {}\n\t},\n\t{\n\t\tversion: \"v0.12.0-rc.1\",\n\t\tdescribe: \"copy per-portal verification secrets channel_<name>_secret -> portal_<name>_secret\",\n\t\tapply: migratePortalSecretNames,\n\t\tverify(ctx) {}\n\t},\n\t{\n\t\tversion: \"v0.12.0-rc.1\",\n\t\tdescribe: \"rewrite channel_lan -> portal_net in user custom.compose.yml overlay\",\n\t\tapply: migrateCustomComposeChannelLan,\n\t\tverify(ctx) {}\n\t},\n\t{\n\t\tversion: \"v0.12.3-rc.1\",\n\t\tdescribe: \"purge stale addon IDs from OP_ENABLED_ADDONS\",\n\t\tapply: purgeStaleEnabledAddons,\n\t\tverify(ctx) {\n\t\t\tif (ctx.dryRun) return;\n\t\t\tconst envPath = stackEnvFile(ctx.stashDir);\n\t\t\tif (!existsSync(envPath)) return;\n\t\t\tconst match = readFileSync(envPath, \"utf-8\").match(/^OP_ENABLED_ADDONS=(.*)$/m);\n\t\t\tif (!match) return;\n\t\t\tconst remaining = parseEnabledAddons(match[1]);\n\t\t\tfor (const id of remaining) if (!KNOWN_ADDON_IDS.has(id)) throw new Error(`post-migration check failed: stale addon ID '${id}' still in OP_ENABLED_ADDONS`);\n\t\t}\n\t},\n\t{\n\t\tversion: \"v0.12.14-rc.1\",\n\t\tdescribe: \"patch portals.compose.yml — add OP_GUARDIAN_VERSION + PLATFORM_VERSION to guardian service env\",\n\t\tapply: patchPortalsComposeForThinHost,\n\t\tverify(ctx) {\n\t\t\tif (ctx.dryRun) return;\n\t\t\tconst path = join(ctx.stackDir, \"portals.compose.yml\");\n\t\t\tif (!existsSync(path)) return;\n\t\t\tconst content = readFileSync(path, \"utf-8\");\n\t\t\tif (!content.includes(\"OP_GUARDIAN_VERSION:\")) throw new Error(\"post-migration check failed: OP_GUARDIAN_VERSION still missing from portals.compose.yml\");\n\t\t\tif (!content.includes(\" OP_ASSISTANT_URL: http://assistant:4096\")) throw new Error(\"post-migration check failed: portals.compose.yml is missing the expected anchor line (OP_ASSISTANT_URL: http://assistant:4096). The file may be structurally corrupt.\");\n\t\t}\n\t},\n\t{\n\t\tversion: \"v0.12.19-rc.1\",\n\t\tdescribe: \"map OP_IMAGE_TAG / OP_*_IMAGE_TAG -> OP_*_VERSION and remove legacy image-tag keys\",\n\t\tapply: migrateImageTagsToVersionVars,\n\t\tverify(ctx) {\n\t\t\tif (ctx.dryRun) return;\n\t\t\tconst envPath = stackEnvFile(ctx.stashDir);\n\t\t\tif (!existsSync(envPath)) return;\n\t\t\tconst content = readFileSync(envPath, \"utf-8\");\n\t\t\tfor (const key of LEGACY_IMAGE_TAG_KEYS) if (new RegExp(`^${key}=`, \"m\").test(content)) throw new Error(`post-migration check failed: legacy image-tag key '${key}' still present in stack.env`);\n\t\t\tfor (const key of [\n\t\t\t\t\"OP_ASSISTANT_VERSION\",\n\t\t\t\t\"OP_GUARDIAN_VERSION\",\n\t\t\t\t\"OP_PORTAL_VERSION\",\n\t\t\t\t\"OP_VOICE_VERSION\"\n\t\t\t]) if (!new RegExp(`^${key}=`, \"m\").test(content)) throw new Error(`post-migration check failed: ${key} missing from stack.env after version migration`);\n\t\t}\n\t}\n];\nvar RECOVERY_GUIDANCE = \"Your original files were left untouched and a full backup was taken first. If something went wrong, run `openpalm rollback` to restore your previous state, or restore the backup manually (see docs/operations/backup-restore.md). You can also run `openpalm migrate --dry-run` to preview the current copy-only migration. Full guide: docs/operations/upgrade-0.10-to-0.11.md\";\nfunction resolveComparableReleaseTarget(rawVersion) {\n\tif (!rawVersion) return null;\n\treturn isComparableSemver(rawVersion) ? rawVersion : null;\n}\nfunction logSkippedNonComparableReleaseStamp(log, notes, requestedVersion) {\n\tconst note = `Skipped OP_RELEASE_VERSION stamp for non-comparable deployed tag \\\"${requestedVersion}\\\".`;\n\tlog(JSON.stringify({\n\t\tevent: \"release-version-stamp-skipped\",\n\t\trequestedVersion,\n\t\treason: \"non-comparable-tag\"\n\t}));\n\tnotes.push(note);\n}\nfunction runReleaseMigrations(ctxBase, releaseFrom, targetVersion) {\n\tconst comparableTarget = resolveComparableReleaseTarget(targetVersion);\n\tif (!comparableTarget) return { applied: [] };\n\tconst applied = [];\n\tfor (const migration of selectPendingReleaseMigrations(releaseFrom, comparableTarget)) {\n\t\tconst ctx = {\n\t\t\t...ctxBase,\n\t\t\tnotes: ctxBase.notes\n\t\t};\n\t\tctx.log(`Migrating release ${releaseFrom ?? \"unknown\"} → ${migration.version}: ${migration.describe}`);\n\t\tmigration.apply(ctx);\n\t\tmigration.verify(ctx);\n\t\tapplied.push(migration.version);\n\t}\n\treturn { applied };\n}\n/**\n* Ensure the home directory is migrated to the current layout. Safe to call at\n* the top of any upgrade/install entry point. Resolves its own paths (must run\n* before createState, which assumes the current layout).\n*/\nfunction ensureMigrated(opts = {}) {\n\tconst homeDir = opts.homeDir ? resolve(opts.homeDir) : process.env.OP_HOME ? resolve(process.env.OP_HOME) : resolve(process.env.HOME ?? \"\", \".openpalm\");\n\tconst dryRun = opts.dryRun ?? false;\n\tconst confirmLowSpace = opts.confirmLowSpace ?? false;\n\tconst log = opts.log ?? (() => {});\n\tconst ctxBase = {\n\t\t...resolveMigrationPaths(homeDir),\n\t\tdryRun,\n\t\tlog,\n\t\tnotes: []\n\t};\n\tconst from = readLayoutVersion(ctxBase);\n\tconst releaseFrom = readReleaseVersion(ctxBase.stashDir);\n\tconst releaseStamp = readStampedReleaseVersion(ctxBase.stashDir);\n\tconst layoutStamp = readStampedLayoutVersion(ctxBase.stashDir);\n\tconst releaseTargetRaw = releaseStamp ?? readImageTag(ctxBase.stashDir);\n\tconst comparableReleaseTarget = resolveComparableReleaseTarget(releaseTargetRaw);\n\tconst needsLayoutStamp = layoutStamp !== 2;\n\tconst needsReleaseStamp = comparableReleaseTarget !== null && releaseStamp !== comparableReleaseTarget;\n\tconst empty = {\n\t\tmigrated: false,\n\t\tfrom,\n\t\tto: from,\n\t\tapplied: [],\n\t\tbackupDir: null,\n\t\tnotes: [],\n\t\treleaseFrom,\n\t\treleaseTo: comparableReleaseTarget ?? releaseFrom ?? \"\",\n\t\treleaseApplied: []\n\t};\n\tconst pending = selectPendingLayoutMigrations(from);\n\tconst pendingRelease = comparableReleaseTarget ? selectPendingReleaseMigrations(releaseFrom, comparableReleaseTarget) : [];\n\tif (pending.length === 0 && pendingRelease.length === 0 && !needsLayoutStamp && !needsReleaseStamp) return {\n\t\t...empty,\n\t\tto: 2\n\t};\n\tlet lock = null;\n\tlet backupDir = null;\n\ttry {\n\t\tif (!dryRun) {\n\t\t\ttry {\n\t\t\t\tmkdirSync(ctxBase.dataDir, { recursive: true });\n\t\t\t} catch (e) {\n\t\t\t\tthrow new MigrationError(`Could not prepare the data directory: ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, null);\n\t\t\t}\n\t\t\tlock = acquireInstallLock(ctxBase.dataDir);\n\t\t\tif (!lock) throw new MigrationError(\"Another install/upgrade is in progress.\", RECOVERY_GUIDANCE, null);\n\t\t\tconst spaceCheck = checkBackupFreeSpace(homeDir);\n\t\t\tif (spaceCheck.insufficient && !confirmLowSpace) throw new BackupSpaceError(describeBackupSpaceShortfall(spaceCheck), RECOVERY_GUIDANCE, spaceCheck.estimatedBytes, spaceCheck.freeBytes);\n\t\t\tlog(\"Taking a full backup before migrating…\");\n\t\t\ttry {\n\t\t\t\tbackupDir = backupOpenPalmHome(homeDir);\n\t\t\t} catch (e) {\n\t\t\t\tthrow new MigrationError(`Could not create a safety backup; upgrade aborted (no changes made): ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, null);\n\t\t\t}\n\t\t\tif (!backupDir) throw new MigrationError(\"Could not create a safety backup; upgrade aborted (no changes made).\", RECOVERY_GUIDANCE, null);\n\t\t\tlog(`Backup: ${backupDir}`);\n\t\t}\n\t\tconst applied = [];\n\t\tconst notes = [];\n\t\tfor (const m of pending) {\n\t\t\tconst ctx = {\n\t\t\t\t...ctxBase,\n\t\t\t\tnotes\n\t\t\t};\n\t\t\tlog(`Migrating layout ${m.from} → ${m.to}: ${m.describe}`);\n\t\t\tm.apply(ctx);\n\t\t\tm.verify(ctx);\n\t\t\tapplied.push(`${m.from}->${m.to}`);\n\t\t}\n\t\tconst { applied: releaseApplied } = runReleaseMigrations({\n\t\t\t...ctxBase,\n\t\t\tnotes\n\t\t}, releaseFrom, releaseTargetRaw);\n\t\tif (!dryRun && releaseTargetRaw && comparableReleaseTarget === null) logSkippedNonComparableReleaseStamp(log, notes, releaseTargetRaw);\n\t\tif (!dryRun) {\n\t\t\tstampLayoutVersion(ctxBase.stashDir, 2);\n\t\t\tif (comparableReleaseTarget) stampReleaseVersion(ctxBase.stashDir, comparableReleaseTarget);\n\t\t}\n\t\treturn {\n\t\t\tmigrated: true,\n\t\t\tfrom,\n\t\t\tto: 2,\n\t\t\tapplied,\n\t\t\tbackupDir,\n\t\t\tnotes,\n\t\t\treleaseFrom,\n\t\t\treleaseTo: comparableReleaseTarget ?? releaseFrom ?? \"\",\n\t\t\treleaseApplied\n\t\t};\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) throw e;\n\t\tthrow new MigrationError(`Migration failed: ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, backupDir);\n\t} finally {\n\t\treleaseInstallLock(lock);\n\t}\n}\nfunction ensureReleaseMigrated(opts) {\n\tconst homeDir = opts.homeDir ? resolve(opts.homeDir) : process.env.OP_HOME ? resolve(process.env.OP_HOME) : resolve(process.env.HOME ?? \"\", \".openpalm\");\n\tconst dryRun = opts.dryRun ?? false;\n\tconst log = opts.log ?? (() => {});\n\tconst paths = resolveMigrationPaths(homeDir);\n\tconst targetVersion = opts.targetVersion.trim();\n\tconst comparableTarget = resolveComparableReleaseTarget(targetVersion);\n\tconst releaseFrom = readReleaseVersion(paths.stashDir);\n\tconst releaseStamp = readStampedReleaseVersion(paths.stashDir);\n\tconst pendingRelease = comparableTarget ? selectPendingReleaseMigrations(releaseFrom, comparableTarget) : [];\n\tconst empty = {\n\t\tmigrated: false,\n\t\tfrom: releaseFrom,\n\t\tto: targetVersion,\n\t\tapplied: [],\n\t\tbackupDir: null,\n\t\tnotes: []\n\t};\n\tif (comparableTarget === null) {\n\t\tconst notes = [];\n\t\tif (!dryRun) logSkippedNonComparableReleaseStamp(log, notes, targetVersion);\n\t\treturn {\n\t\t\t...empty,\n\t\t\tnotes\n\t\t};\n\t}\n\tif (pendingRelease.length === 0 && releaseStamp === comparableTarget) return empty;\n\tconst ctxBase = {\n\t\t...paths,\n\t\tdryRun,\n\t\tlog,\n\t\tnotes: []\n\t};\n\tlet lock = null;\n\tlet backupDir = null;\n\ttry {\n\t\tif (!dryRun) {\n\t\t\ttry {\n\t\t\t\tmkdirSync(ctxBase.dataDir, { recursive: true });\n\t\t\t} catch (e) {\n\t\t\t\tthrow new MigrationError(`Could not prepare the data directory: ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, null);\n\t\t\t}\n\t\t\tlock = acquireInstallLock(ctxBase.dataDir);\n\t\t\tif (!lock) throw new MigrationError(\"Another install/upgrade is in progress.\", RECOVERY_GUIDANCE, null);\n\t\t\tconst envPath = stackEnvFile(paths.stashDir);\n\t\t\tif (existsSync(envPath)) {\n\t\t\t\tlog(\"Backing up stack.env before migrating…\");\n\t\t\t\ttry {\n\t\t\t\t\tbackupDir = join(ctxBase.dataDir, \"backups\", `${timestampDirName()}-release`);\n\t\t\t\t\tmkdirSync(backupDir, { recursive: true });\n\t\t\t\t\tcopyFileSync(envPath, join(backupDir, \"stack.env\"));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new MigrationError(`Could not create a safety backup; upgrade aborted (no changes made): ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, null);\n\t\t\t\t}\n\t\t\t\tlog(`Backup: ${backupDir}`);\n\t\t\t}\n\t\t}\n\t\tconst notes = [];\n\t\tconst { applied } = runReleaseMigrations({\n\t\t\t...ctxBase,\n\t\t\tnotes\n\t\t}, releaseFrom, targetVersion);\n\t\tif (!dryRun && comparableTarget) stampReleaseVersion(paths.stashDir, comparableTarget);\n\t\treturn {\n\t\t\tmigrated: true,\n\t\t\tfrom: releaseFrom,\n\t\t\tto: targetVersion,\n\t\t\tapplied,\n\t\t\tbackupDir,\n\t\t\tnotes\n\t\t};\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) throw e;\n\t\tthrow new MigrationError(`Migration failed: ${e instanceof Error ? e.message : String(e)}`, RECOVERY_GUIDANCE, backupDir);\n\t} finally {\n\t\treleaseInstallLock(lock);\n\t}\n}\n//#endregion\n//#region ../../node_modules/.bun/tar@7.5.15/node_modules/tar/dist/esm/index.min.js\nvar vr = Object.defineProperty;\nvar Mr = (s, t) => {\n\tfor (var e in t) vr(s, e, {\n\t\tget: t[e],\n\t\tenumerable: !0\n\t});\n};\nvar Ts = typeof process == \"object\" && process ? process : {\n\tstdout: null,\n\tstderr: null\n}, Pr = (s) => !!s && typeof s == \"object\" && (s instanceof A || s instanceof Ds || zr(s) || Ur(s)), zr = (s) => !!s && typeof s == \"object\" && s instanceof EventEmitter$1 && typeof s.pipe == \"function\" && s.pipe !== Ds.Writable.prototype.pipe, Ur = (s) => !!s && typeof s == \"object\" && s instanceof EventEmitter$1 && typeof s.write == \"function\" && typeof s.end == \"function\", q = Symbol(\"EOF\"), Q = Symbol(\"maybeEmitEnd\"), rt = Symbol(\"emittedEnd\"), Ne = Symbol(\"emittingEnd\"), Qt = Symbol(\"emittedError\"), De = Symbol(\"closed\"), xs = Symbol(\"read\"), Ae = Symbol(\"flush\"), Ls = Symbol(\"flushChunk\"), z = Symbol(\"encoding\"), Mt = Symbol(\"decoder\"), g = Symbol(\"flowing\"), Jt = Symbol(\"paused\"), Bt = Symbol(\"resume\"), b = Symbol(\"buffer\"), D = Symbol(\"pipes\"), _ = Symbol(\"bufferLength\"), gi = Symbol(\"bufferPush\"), Ie = Symbol(\"bufferShift\"), L = Symbol(\"objectMode\"), w = Symbol(\"destroyed\"), bi = Symbol(\"error\"), _i = Symbol(\"emitData\"), Ns = Symbol(\"emitEnd\"), Oi = Symbol(\"emitEnd2\"), Z = Symbol(\"async\"), Ti = Symbol(\"abort\"), Ce = Symbol(\"aborted\"), jt = Symbol(\"signal\"), Rt = Symbol(\"dataListeners\"), C = Symbol(\"discarded\"), te = (s) => Promise.resolve().then(s), Hr = (s) => s(), Wr = (s) => s === \"end\" || s === \"finish\" || s === \"prefinish\", Gr = (s) => s instanceof ArrayBuffer || !!s && typeof s == \"object\" && s.constructor && s.constructor.name === \"ArrayBuffer\" && s.byteLength >= 0, Zr = (s) => !Buffer.isBuffer(s) && ArrayBuffer.isView(s), ke = class {\n\tsrc;\n\tdest;\n\topts;\n\tondrain;\n\tconstructor(t, e, i) {\n\t\tthis.src = t, this.dest = e, this.opts = i, this.ondrain = () => t[Bt](), this.dest.on(\"drain\", this.ondrain);\n\t}\n\tunpipe() {\n\t\tthis.dest.removeListener(\"drain\", this.ondrain);\n\t}\n\tproxyErrors(t) {}\n\tend() {\n\t\tthis.unpipe(), this.opts.end && this.dest.end();\n\t}\n}, xi = class extends ke {\n\tunpipe() {\n\t\tthis.src.removeListener(\"error\", this.proxyErrors), super.unpipe();\n\t}\n\tconstructor(t, e, i) {\n\t\tsuper(t, e, i), this.proxyErrors = (r) => this.dest.emit(\"error\", r), t.on(\"error\", this.proxyErrors);\n\t}\n}, Yr = (s) => !!s.objectMode, Kr = (s) => !s.objectMode && !!s.encoding && s.encoding !== \"buffer\", A = class extends EventEmitter$1 {\n\t[g] = !1;\n\t[Jt] = !1;\n\t[D] = [];\n\t[b] = [];\n\t[L];\n\t[z];\n\t[Z];\n\t[Mt];\n\t[q] = !1;\n\t[rt] = !1;\n\t[Ne] = !1;\n\t[De] = !1;\n\t[Qt] = null;\n\t[_] = 0;\n\t[w] = !1;\n\t[jt];\n\t[Ce] = !1;\n\t[Rt] = 0;\n\t[C] = !1;\n\twritable = !0;\n\treadable = !0;\n\tconstructor(...t) {\n\t\tlet e = t[0] || {};\n\t\tif (super(), e.objectMode && typeof e.encoding == \"string\") throw new TypeError(\"Encoding and objectMode may not be used together\");\n\t\tYr(e) ? (this[L] = !0, this[z] = null) : Kr(e) ? (this[z] = e.encoding, this[L] = !1) : (this[L] = !1, this[z] = null), this[Z] = !!e.async, this[Mt] = this[z] ? new StringDecoder(this[z]) : null, e && e.debugExposeBuffer === !0 && Object.defineProperty(this, \"buffer\", { get: () => this[b] }), e && e.debugExposePipes === !0 && Object.defineProperty(this, \"pipes\", { get: () => this[D] });\n\t\tlet { signal: i } = e;\n\t\ti && (this[jt] = i, i.aborted ? this[Ti]() : i.addEventListener(\"abort\", () => this[Ti]()));\n\t}\n\tget bufferLength() {\n\t\treturn this[_];\n\t}\n\tget encoding() {\n\t\treturn this[z];\n\t}\n\tset encoding(t) {\n\t\tthrow new Error(\"Encoding must be set at instantiation time\");\n\t}\n\tsetEncoding(t) {\n\t\tthrow new Error(\"Encoding must be set at instantiation time\");\n\t}\n\tget objectMode() {\n\t\treturn this[L];\n\t}\n\tset objectMode(t) {\n\t\tthrow new Error(\"objectMode must be set at instantiation time\");\n\t}\n\tget async() {\n\t\treturn this[Z];\n\t}\n\tset async(t) {\n\t\tthis[Z] = this[Z] || !!t;\n\t}\n\t[Ti]() {\n\t\tthis[Ce] = !0, this.emit(\"abort\", this[jt]?.reason), this.destroy(this[jt]?.reason);\n\t}\n\tget aborted() {\n\t\treturn this[Ce];\n\t}\n\tset aborted(t) {}\n\twrite(t, e, i) {\n\t\tif (this[Ce]) return !1;\n\t\tif (this[q]) throw new Error(\"write after end\");\n\t\tif (this[w]) return this.emit(\"error\", Object.assign(/* @__PURE__ */ new Error(\"Cannot call write after a stream was destroyed\"), { code: \"ERR_STREAM_DESTROYED\" })), !0;\n\t\ttypeof e == \"function\" && (i = e, e = \"utf8\"), e || (e = \"utf8\");\n\t\tlet r = this[Z] ? te : Hr;\n\t\tif (!this[L] && !Buffer.isBuffer(t)) {\n\t\t\tif (Zr(t)) t = Buffer.from(t.buffer, t.byteOffset, t.byteLength);\n\t\t\telse if (Gr(t)) t = Buffer.from(t);\n\t\t\telse if (typeof t != \"string\") throw new Error(\"Non-contiguous data written to non-objectMode stream\");\n\t\t}\n\t\treturn this[L] ? (this[g] && this[_] !== 0 && this[Ae](!0), this[g] ? this.emit(\"data\", t) : this[gi](t), this[_] !== 0 && this.emit(\"readable\"), i && r(i), this[g]) : t.length ? (typeof t == \"string\" && !(e === this[z] && !this[Mt]?.lastNeed) && (t = Buffer.from(t, e)), Buffer.isBuffer(t) && this[z] && (t = this[Mt].write(t)), this[g] && this[_] !== 0 && this[Ae](!0), this[g] ? this.emit(\"data\", t) : this[gi](t), this[_] !== 0 && this.emit(\"readable\"), i && r(i), this[g]) : (this[_] !== 0 && this.emit(\"readable\"), i && r(i), this[g]);\n\t}\n\tread(t) {\n\t\tif (this[w]) return null;\n\t\tif (this[C] = !1, this[_] === 0 || t === 0 || t && t > this[_]) return this[Q](), null;\n\t\tthis[L] && (t = null), this[b].length > 1 && !this[L] && (this[b] = [this[z] ? this[b].join(\"\") : Buffer.concat(this[b], this[_])]);\n\t\tlet e = this[xs](t || null, this[b][0]);\n\t\treturn this[Q](), e;\n\t}\n\t[xs](t, e) {\n\t\tif (this[L]) this[Ie]();\n\t\telse {\n\t\t\tlet i = e;\n\t\t\tt === i.length || t === null ? this[Ie]() : typeof i == \"string\" ? (this[b][0] = i.slice(t), e = i.slice(0, t), this[_] -= t) : (this[b][0] = i.subarray(t), e = i.subarray(0, t), this[_] -= t);\n\t\t}\n\t\treturn this.emit(\"data\", e), !this[b].length && !this[q] && this.emit(\"drain\"), e;\n\t}\n\tend(t, e, i) {\n\t\treturn typeof t == \"function\" && (i = t, t = void 0), typeof e == \"function\" && (i = e, e = \"utf8\"), t !== void 0 && this.write(t, e), i && this.once(\"end\", i), this[q] = !0, this.writable = !1, (this[g] || !this[Jt]) && this[Q](), this;\n\t}\n\t[Bt]() {\n\t\tthis[w] || (!this[Rt] && !this[D].length && (this[C] = !0), this[Jt] = !1, this[g] = !0, this.emit(\"resume\"), this[b].length ? this[Ae]() : this[q] ? this[Q]() : this.emit(\"drain\"));\n\t}\n\tresume() {\n\t\treturn this[Bt]();\n\t}\n\tpause() {\n\t\tthis[g] = !1, this[Jt] = !0, this[C] = !1;\n\t}\n\tget destroyed() {\n\t\treturn this[w];\n\t}\n\tget flowing() {\n\t\treturn this[g];\n\t}\n\tget paused() {\n\t\treturn this[Jt];\n\t}\n\t[gi](t) {\n\t\tthis[L] ? this[_] += 1 : this[_] += t.length, this[b].push(t);\n\t}\n\t[Ie]() {\n\t\treturn this[L] ? this[_] -= 1 : this[_] -= this[b][0].length, this[b].shift();\n\t}\n\t[Ae](t = !1) {\n\t\tdo\t\t;\nwhile (this[Ls](this[Ie]()) && this[b].length);\n\t\t!t && !this[b].length && !this[q] && this.emit(\"drain\");\n\t}\n\t[Ls](t) {\n\t\treturn this.emit(\"data\", t), this[g];\n\t}\n\tpipe(t, e) {\n\t\tif (this[w]) return t;\n\t\tthis[C] = !1;\n\t\tlet i = this[rt];\n\t\treturn e = e || {}, t === Ts.stdout || t === Ts.stderr ? e.end = !1 : e.end = e.end !== !1, e.proxyErrors = !!e.proxyErrors, i ? e.end && t.end() : (this[D].push(e.proxyErrors ? new xi(this, t, e) : new ke(this, t, e)), this[Z] ? te(() => this[Bt]()) : this[Bt]()), t;\n\t}\n\tunpipe(t) {\n\t\tlet e = this[D].find((i) => i.dest === t);\n\t\te && (this[D].length === 1 ? (this[g] && this[Rt] === 0 && (this[g] = !1), this[D] = []) : this[D].splice(this[D].indexOf(e), 1), e.unpipe());\n\t}\n\taddListener(t, e) {\n\t\treturn this.on(t, e);\n\t}\n\ton(t, e) {\n\t\tlet i = super.on(t, e);\n\t\tif (t === \"data\") this[C] = !1, this[Rt]++, !this[D].length && !this[g] && this[Bt]();\n\t\telse if (t === \"readable\" && this[_] !== 0) super.emit(\"readable\");\n\t\telse if (Wr(t) && this[rt]) super.emit(t), this.removeAllListeners(t);\n\t\telse if (t === \"error\" && this[Qt]) {\n\t\t\tlet r = e;\n\t\t\tthis[Z] ? te(() => r.call(this, this[Qt])) : r.call(this, this[Qt]);\n\t\t}\n\t\treturn i;\n\t}\n\tremoveListener(t, e) {\n\t\treturn this.off(t, e);\n\t}\n\toff(t, e) {\n\t\tlet i = super.off(t, e);\n\t\treturn t === \"data\" && (this[Rt] = this.listeners(\"data\").length, this[Rt] === 0 && !this[C] && !this[D].length && (this[g] = !1)), i;\n\t}\n\tremoveAllListeners(t) {\n\t\tlet e = super.removeAllListeners(t);\n\t\treturn (t === \"data\" || t === void 0) && (this[Rt] = 0, !this[C] && !this[D].length && (this[g] = !1)), e;\n\t}\n\tget emittedEnd() {\n\t\treturn this[rt];\n\t}\n\t[Q]() {\n\t\t!this[Ne] && !this[rt] && !this[w] && this[b].length === 0 && this[q] && (this[Ne] = !0, this.emit(\"end\"), this.emit(\"prefinish\"), this.emit(\"finish\"), this[De] && this.emit(\"close\"), this[Ne] = !1);\n\t}\n\temit(t, ...e) {\n\t\tlet i = e[0];\n\t\tif (t !== \"error\" && t !== \"close\" && t !== w && this[w]) return !1;\n\t\tif (t === \"data\") return !this[L] && !i ? !1 : this[Z] ? (te(() => this[_i](i)), !0) : this[_i](i);\n\t\tif (t === \"end\") return this[Ns]();\n\t\tif (t === \"close\") {\n\t\t\tif (this[De] = !0, !this[rt] && !this[w]) return !1;\n\t\t\tlet n = super.emit(\"close\");\n\t\t\treturn this.removeAllListeners(\"close\"), n;\n\t\t} else if (t === \"error\") {\n\t\t\tthis[Qt] = i, super.emit(bi, i);\n\t\t\tlet n = !this[jt] || this.listeners(\"error\").length ? super.emit(\"error\", i) : !1;\n\t\t\treturn this[Q](), n;\n\t\t} else if (t === \"resume\") {\n\t\t\tlet n = super.emit(\"resume\");\n\t\t\treturn this[Q](), n;\n\t\t} else if (t === \"finish\" || t === \"prefinish\") {\n\t\t\tlet n = super.emit(t);\n\t\t\treturn this.removeAllListeners(t), n;\n\t\t}\n\t\tlet r = super.emit(t, ...e);\n\t\treturn this[Q](), r;\n\t}\n\t[_i](t) {\n\t\tfor (let i of this[D]) i.dest.write(t) === !1 && this.pause();\n\t\tlet e = this[C] ? !1 : super.emit(\"data\", t);\n\t\treturn this[Q](), e;\n\t}\n\t[Ns]() {\n\t\treturn this[rt] ? !1 : (this[rt] = !0, this.readable = !1, this[Z] ? (te(() => this[Oi]()), !0) : this[Oi]());\n\t}\n\t[Oi]() {\n\t\tif (this[Mt]) {\n\t\t\tlet e = this[Mt].end();\n\t\t\tif (e) {\n\t\t\t\tfor (let i of this[D]) i.dest.write(e);\n\t\t\t\tthis[C] || super.emit(\"data\", e);\n\t\t\t}\n\t\t}\n\t\tfor (let e of this[D]) e.end();\n\t\tlet t = super.emit(\"end\");\n\t\treturn this.removeAllListeners(\"end\"), t;\n\t}\n\tasync collect() {\n\t\tlet t = Object.assign([], { dataLength: 0 });\n\t\tthis[L] || (t.dataLength = 0);\n\t\tlet e = this.promise();\n\t\treturn this.on(\"data\", (i) => {\n\t\t\tt.push(i), this[L] || (t.dataLength += i.length);\n\t\t}), await e, t;\n\t}\n\tasync concat() {\n\t\tif (this[L]) throw new Error(\"cannot concat in objectMode\");\n\t\tlet t = await this.collect();\n\t\treturn this[z] ? t.join(\"\") : Buffer.concat(t, t.dataLength);\n\t}\n\tasync promise() {\n\t\treturn new Promise((t, e) => {\n\t\t\tthis.on(w, () => e(/* @__PURE__ */ new Error(\"stream destroyed\"))), this.on(\"error\", (i) => e(i)), this.on(\"end\", () => t());\n\t\t});\n\t}\n\t[Symbol.asyncIterator]() {\n\t\tthis[C] = !1;\n\t\tlet t = !1, e = async () => (this.pause(), t = !0, {\n\t\t\tvalue: void 0,\n\t\t\tdone: !0\n\t\t});\n\t\treturn {\n\t\t\tnext: () => {\n\t\t\t\tif (t) return e();\n\t\t\t\tlet r = this.read();\n\t\t\t\tif (r !== null) return Promise.resolve({\n\t\t\t\t\tdone: !1,\n\t\t\t\t\tvalue: r\n\t\t\t\t});\n\t\t\t\tif (this[q]) return e();\n\t\t\t\tlet n, o, h = (d) => {\n\t\t\t\t\tthis.off(\"data\", a), this.off(\"end\", l), this.off(w, c), e(), o(d);\n\t\t\t\t}, a = (d) => {\n\t\t\t\t\tthis.off(\"error\", h), this.off(\"end\", l), this.off(w, c), this.pause(), n({\n\t\t\t\t\t\tvalue: d,\n\t\t\t\t\t\tdone: !!this[q]\n\t\t\t\t\t});\n\t\t\t\t}, l = () => {\n\t\t\t\t\tthis.off(\"error\", h), this.off(\"data\", a), this.off(w, c), e(), n({\n\t\t\t\t\t\tdone: !0,\n\t\t\t\t\t\tvalue: void 0\n\t\t\t\t\t});\n\t\t\t\t}, c = () => h(/* @__PURE__ */ new Error(\"stream destroyed\"));\n\t\t\t\treturn new Promise((d, S) => {\n\t\t\t\t\to = S, n = d, this.once(w, c), this.once(\"error\", h), this.once(\"end\", l), this.once(\"data\", a);\n\t\t\t\t});\n\t\t\t},\n\t\t\tthrow: e,\n\t\t\treturn: e,\n\t\t\t[Symbol.asyncIterator]() {\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t[Symbol.asyncDispose]: async () => {}\n\t\t};\n\t}\n\t[Symbol.iterator]() {\n\t\tthis[C] = !1;\n\t\tlet t = !1, e = () => (this.pause(), this.off(bi, e), this.off(w, e), this.off(\"end\", e), t = !0, {\n\t\t\tdone: !0,\n\t\t\tvalue: void 0\n\t\t}), i = () => {\n\t\t\tif (t) return e();\n\t\t\tlet r = this.read();\n\t\t\treturn r === null ? e() : {\n\t\t\t\tdone: !1,\n\t\t\t\tvalue: r\n\t\t\t};\n\t\t};\n\t\treturn this.once(\"end\", e), this.once(bi, e), this.once(w, e), {\n\t\t\tnext: i,\n\t\t\tthrow: e,\n\t\t\treturn: e,\n\t\t\t[Symbol.iterator]() {\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t[Symbol.dispose]: () => {}\n\t\t};\n\t}\n\tdestroy(t) {\n\t\tif (this[w]) return t ? this.emit(\"error\", t) : this.emit(w), this;\n\t\tthis[w] = !0, this[C] = !0, this[b].length = 0, this[_] = 0;\n\t\tlet e = this;\n\t\treturn typeof e.close == \"function\" && !this[De] && e.close(), t ? this.emit(\"error\", t) : this.emit(w), this;\n\t}\n\tstatic get isStream() {\n\t\treturn Pr;\n\t}\n};\nvar $r = I.writev, ot = Symbol(\"_autoClose\"), H = Symbol(\"_close\"), ee = Symbol(\"_ended\"), m = Symbol(\"_fd\"), Ni = Symbol(\"_finished\"), j = Symbol(\"_flags\"), Di = Symbol(\"_flush\"), ki = Symbol(\"_handleChunk\"), Fi = Symbol(\"_makeBuf\"), se = Symbol(\"_mode\"), Fe = Symbol(\"_needDrain\"), Ut = Symbol(\"_onerror\"), Ht = Symbol(\"_onopen\"), Ai = Symbol(\"_onread\"), Pt = Symbol(\"_onwrite\"), ht = Symbol(\"_open\"), U = Symbol(\"_path\"), nt = Symbol(\"_pos\"), Y = Symbol(\"_queue\"), zt = Symbol(\"_read\"), Ii = Symbol(\"_readSize\"), J = Symbol(\"_reading\"), ie = Symbol(\"_remain\"), Ci = Symbol(\"_size\"), ve = Symbol(\"_write\"), gt = Symbol(\"_writing\"), Me = Symbol(\"_defaultFlag\"), bt = Symbol(\"_errored\"), _t = class extends A {\n\t[bt] = !1;\n\t[m];\n\t[U];\n\t[Ii];\n\t[J] = !1;\n\t[Ci];\n\t[ie];\n\t[ot];\n\tconstructor(t, e) {\n\t\tif (e = e || {}, super(e), this.readable = !0, this.writable = !1, typeof t != \"string\") throw new TypeError(\"path must be a string\");\n\t\tthis[bt] = !1, this[m] = typeof e.fd == \"number\" ? e.fd : void 0, this[U] = t, this[Ii] = e.readSize || 16 * 1024 * 1024, this[J] = !1, this[Ci] = typeof e.size == \"number\" ? e.size : Infinity, this[ie] = this[Ci], this[ot] = typeof e.autoClose == \"boolean\" ? e.autoClose : !0, typeof this[m] == \"number\" ? this[zt]() : this[ht]();\n\t}\n\tget fd() {\n\t\treturn this[m];\n\t}\n\tget path() {\n\t\treturn this[U];\n\t}\n\twrite() {\n\t\tthrow new TypeError(\"this is a readable stream\");\n\t}\n\tend() {\n\t\tthrow new TypeError(\"this is a readable stream\");\n\t}\n\t[ht]() {\n\t\tI.open(this[U], \"r\", (t, e) => this[Ht](t, e));\n\t}\n\t[Ht](t, e) {\n\t\tt ? this[Ut](t) : (this[m] = e, this.emit(\"open\", e), this[zt]());\n\t}\n\t[Fi]() {\n\t\treturn Buffer.allocUnsafe(Math.min(this[Ii], this[ie]));\n\t}\n\t[zt]() {\n\t\tif (!this[J]) {\n\t\t\tthis[J] = !0;\n\t\t\tlet t = this[Fi]();\n\t\t\tif (t.length === 0) return process.nextTick(() => this[Ai](null, 0, t));\n\t\t\tI.read(this[m], t, 0, t.length, null, (e, i, r) => this[Ai](e, i, r));\n\t\t}\n\t}\n\t[Ai](t, e, i) {\n\t\tthis[J] = !1, t ? this[Ut](t) : this[ki](e, i) && this[zt]();\n\t}\n\t[H]() {\n\t\tif (this[ot] && typeof this[m] == \"number\") {\n\t\t\tlet t = this[m];\n\t\t\tthis[m] = void 0, I.close(t, (e) => e ? this.emit(\"error\", e) : this.emit(\"close\"));\n\t\t}\n\t}\n\t[Ut](t) {\n\t\tthis[J] = !0, this[H](), this.emit(\"error\", t);\n\t}\n\t[ki](t, e) {\n\t\tlet i = !1;\n\t\treturn this[ie] -= t, t > 0 && (i = super.write(t < e.length ? e.subarray(0, t) : e)), (t === 0 || this[ie] <= 0) && (i = !1, this[H](), super.end()), i;\n\t}\n\temit(t, ...e) {\n\t\tswitch (t) {\n\t\t\tcase \"prefinish\":\n\t\t\tcase \"finish\": return !1;\n\t\t\tcase \"drain\": return typeof this[m] == \"number\" && this[zt](), !1;\n\t\t\tcase \"error\": return this[bt] ? !1 : (this[bt] = !0, super.emit(t, ...e));\n\t\t\tdefault: return super.emit(t, ...e);\n\t\t}\n\t}\n}, Be = class extends _t {\n\t[ht]() {\n\t\tlet t = !0;\n\t\ttry {\n\t\t\tthis[Ht](null, I.openSync(this[U], \"r\")), t = !1;\n\t\t} finally {\n\t\t\tt && this[H]();\n\t\t}\n\t}\n\t[zt]() {\n\t\tlet t = !0;\n\t\ttry {\n\t\t\tif (!this[J]) {\n\t\t\t\tthis[J] = !0;\n\t\t\t\tdo {\n\t\t\t\t\tlet e = this[Fi](), i = e.length === 0 ? 0 : I.readSync(this[m], e, 0, e.length, null);\n\t\t\t\t\tif (!this[ki](i, e)) break;\n\t\t\t\t} while (!0);\n\t\t\t\tthis[J] = !1;\n\t\t\t}\n\t\t\tt = !1;\n\t\t} finally {\n\t\t\tt && this[H]();\n\t\t}\n\t}\n\t[H]() {\n\t\tif (this[ot] && typeof this[m] == \"number\") {\n\t\t\tlet t = this[m];\n\t\t\tthis[m] = void 0, I.closeSync(t), this.emit(\"close\");\n\t\t}\n\t}\n}, tt = class extends Vr {\n\treadable = !1;\n\twritable = !0;\n\t[bt] = !1;\n\t[gt] = !1;\n\t[ee] = !1;\n\t[Y] = [];\n\t[Fe] = !1;\n\t[U];\n\t[se];\n\t[ot];\n\t[m];\n\t[Me];\n\t[j];\n\t[Ni] = !1;\n\t[nt];\n\tconstructor(t, e) {\n\t\te = e || {}, super(e), this[U] = t, this[m] = typeof e.fd == \"number\" ? e.fd : void 0, this[se] = e.mode === void 0 ? 438 : e.mode, this[nt] = typeof e.start == \"number\" ? e.start : void 0, this[ot] = typeof e.autoClose == \"boolean\" ? e.autoClose : !0;\n\t\tlet i = this[nt] !== void 0 ? \"r+\" : \"w\";\n\t\tthis[Me] = e.flags === void 0, this[j] = e.flags === void 0 ? i : e.flags, this[m] === void 0 && this[ht]();\n\t}\n\temit(t, ...e) {\n\t\tif (t === \"error\") {\n\t\t\tif (this[bt]) return !1;\n\t\t\tthis[bt] = !0;\n\t\t}\n\t\treturn super.emit(t, ...e);\n\t}\n\tget fd() {\n\t\treturn this[m];\n\t}\n\tget path() {\n\t\treturn this[U];\n\t}\n\t[Ut](t) {\n\t\tthis[H](), this[gt] = !0, this.emit(\"error\", t);\n\t}\n\t[ht]() {\n\t\tI.open(this[U], this[j], this[se], (t, e) => this[Ht](t, e));\n\t}\n\t[Ht](t, e) {\n\t\tthis[Me] && this[j] === \"r+\" && t && t.code === \"ENOENT\" ? (this[j] = \"w\", this[ht]()) : t ? this[Ut](t) : (this[m] = e, this.emit(\"open\", e), this[gt] || this[Di]());\n\t}\n\tend(t, e) {\n\t\treturn t && this.write(t, e), this[ee] = !0, !this[gt] && !this[Y].length && typeof this[m] == \"number\" && this[Pt](null, 0), this;\n\t}\n\twrite(t, e) {\n\t\treturn typeof t == \"string\" && (t = Buffer.from(t, e)), this[ee] ? (this.emit(\"error\", /* @__PURE__ */ new Error(\"write() after end()\")), !1) : this[m] === void 0 || this[gt] || this[Y].length ? (this[Y].push(t), this[Fe] = !0, !1) : (this[gt] = !0, this[ve](t), !0);\n\t}\n\t[ve](t) {\n\t\tI.write(this[m], t, 0, t.length, this[nt], (e, i) => this[Pt](e, i));\n\t}\n\t[Pt](t, e) {\n\t\tt ? this[Ut](t) : (this[nt] !== void 0 && typeof e == \"number\" && (this[nt] += e), this[Y].length ? this[Di]() : (this[gt] = !1, this[ee] && !this[Ni] ? (this[Ni] = !0, this[H](), this.emit(\"finish\")) : this[Fe] && (this[Fe] = !1, this.emit(\"drain\"))));\n\t}\n\t[Di]() {\n\t\tif (this[Y].length === 0) this[ee] && this[Pt](null, 0);\n\t\telse if (this[Y].length === 1) this[ve](this[Y].pop());\n\t\telse {\n\t\t\tlet t = this[Y];\n\t\t\tthis[Y] = [], $r(this[m], t, this[nt], (e, i) => this[Pt](e, i));\n\t\t}\n\t}\n\t[H]() {\n\t\tif (this[ot] && typeof this[m] == \"number\") {\n\t\t\tlet t = this[m];\n\t\t\tthis[m] = void 0, I.close(t, (e) => e ? this.emit(\"error\", e) : this.emit(\"close\"));\n\t\t}\n\t}\n}, Wt = class extends tt {\n\t[ht]() {\n\t\tlet t;\n\t\tif (this[Me] && this[j] === \"r+\") try {\n\t\t\tt = I.openSync(this[U], this[j], this[se]);\n\t\t} catch (e) {\n\t\t\tif (e?.code === \"ENOENT\") return this[j] = \"w\", this[ht]();\n\t\t\tthrow e;\n\t\t}\n\t\telse t = I.openSync(this[U], this[j], this[se]);\n\t\tthis[Ht](null, t);\n\t}\n\t[H]() {\n\t\tif (this[ot] && typeof this[m] == \"number\") {\n\t\t\tlet t = this[m];\n\t\t\tthis[m] = void 0, I.closeSync(t), this.emit(\"close\");\n\t\t}\n\t}\n\t[ve](t) {\n\t\tlet e = !0;\n\t\ttry {\n\t\t\tthis[Pt](null, I.writeSync(this[m], t, 0, t.length, this[nt])), e = !1;\n\t\t} finally {\n\t\t\tif (e) try {\n\t\t\t\tthis[H]();\n\t\t\t} catch {}\n\t\t}\n\t}\n};\nvar Xr = new Map([\n\t[\"C\", \"cwd\"],\n\t[\"f\", \"file\"],\n\t[\"z\", \"gzip\"],\n\t[\"P\", \"preservePaths\"],\n\t[\"U\", \"unlink\"],\n\t[\"strip-components\", \"strip\"],\n\t[\"stripComponents\", \"strip\"],\n\t[\"keep-newer\", \"newer\"],\n\t[\"keepNewer\", \"newer\"],\n\t[\"keep-newer-files\", \"newer\"],\n\t[\"keepNewerFiles\", \"newer\"],\n\t[\"k\", \"keep\"],\n\t[\"keep-existing\", \"keep\"],\n\t[\"keepExisting\", \"keep\"],\n\t[\"m\", \"noMtime\"],\n\t[\"no-mtime\", \"noMtime\"],\n\t[\"p\", \"preserveOwner\"],\n\t[\"L\", \"follow\"],\n\t[\"h\", \"follow\"],\n\t[\"onentry\", \"onReadEntry\"]\n]), As = (s) => !!s.sync && !!s.file, Is = (s) => !s.sync && !!s.file, Cs = (s) => !!s.sync && !s.file, ks = (s) => !s.sync && !s.file;\nvar Fs = (s) => !!s.file;\nvar qr = (s) => {\n\treturn Xr.get(s) || s;\n}, re = (s = {}) => {\n\tif (!s) return {};\n\tlet t = {};\n\tfor (let [e, i] of Object.entries(s)) {\n\t\tlet r = qr(e);\n\t\tt[r] = i;\n\t}\n\treturn t.chmod === void 0 && t.noChmod === !1 && (t.chmod = !0), delete t.noChmod, t;\n};\nvar K = (s, t, e, i, r) => Object.assign((n = [], o, h) => {\n\tArray.isArray(n) && (o = n, n = {}), typeof o == \"function\" && (h = o, o = void 0), o = o ? Array.from(o) : [];\n\tlet a = re(n);\n\tif (r?.(a, o), As(a)) {\n\t\tif (typeof h == \"function\") throw new TypeError(\"callback not supported for sync tar functions\");\n\t\treturn s(a, o);\n\t} else if (Is(a)) {\n\t\tlet l = t(a, o);\n\t\treturn h ? l.then(() => h(), h) : l;\n\t} else if (Cs(a)) {\n\t\tif (typeof h == \"function\") throw new TypeError(\"callback not supported for sync tar functions\");\n\t\treturn e(a, o);\n\t} else if (ks(a)) {\n\t\tif (typeof h == \"function\") throw new TypeError(\"callback only supported with file option\");\n\t\treturn i(a, o);\n\t}\n\tthrow new Error(\"impossible options??\");\n}, {\n\tsyncFile: s,\n\tasyncFile: t,\n\tsyncNoFile: e,\n\tasyncNoFile: i,\n\tvalidate: r\n});\nvar Jr = Qr.constants || { ZLIB_VERNUM: 4736 }, M = Object.freeze(Object.assign(Object.create(null), {\n\tZ_NO_FLUSH: 0,\n\tZ_PARTIAL_FLUSH: 1,\n\tZ_SYNC_FLUSH: 2,\n\tZ_FULL_FLUSH: 3,\n\tZ_FINISH: 4,\n\tZ_BLOCK: 5,\n\tZ_OK: 0,\n\tZ_STREAM_END: 1,\n\tZ_NEED_DICT: 2,\n\tZ_ERRNO: -1,\n\tZ_STREAM_ERROR: -2,\n\tZ_DATA_ERROR: -3,\n\tZ_MEM_ERROR: -4,\n\tZ_BUF_ERROR: -5,\n\tZ_VERSION_ERROR: -6,\n\tZ_NO_COMPRESSION: 0,\n\tZ_BEST_SPEED: 1,\n\tZ_BEST_COMPRESSION: 9,\n\tZ_DEFAULT_COMPRESSION: -1,\n\tZ_FILTERED: 1,\n\tZ_HUFFMAN_ONLY: 2,\n\tZ_RLE: 3,\n\tZ_FIXED: 4,\n\tZ_DEFAULT_STRATEGY: 0,\n\tDEFLATE: 1,\n\tINFLATE: 2,\n\tGZIP: 3,\n\tGUNZIP: 4,\n\tDEFLATERAW: 5,\n\tINFLATERAW: 6,\n\tUNZIP: 7,\n\tBROTLI_DECODE: 8,\n\tBROTLI_ENCODE: 9,\n\tZ_MIN_WINDOWBITS: 8,\n\tZ_MAX_WINDOWBITS: 15,\n\tZ_DEFAULT_WINDOWBITS: 15,\n\tZ_MIN_CHUNK: 64,\n\tZ_MAX_CHUNK: Infinity,\n\tZ_DEFAULT_CHUNK: 16384,\n\tZ_MIN_MEMLEVEL: 1,\n\tZ_MAX_MEMLEVEL: 9,\n\tZ_DEFAULT_MEMLEVEL: 8,\n\tZ_MIN_LEVEL: -1,\n\tZ_MAX_LEVEL: 9,\n\tZ_DEFAULT_LEVEL: -1,\n\tBROTLI_OPERATION_PROCESS: 0,\n\tBROTLI_OPERATION_FLUSH: 1,\n\tBROTLI_OPERATION_FINISH: 2,\n\tBROTLI_OPERATION_EMIT_METADATA: 3,\n\tBROTLI_MODE_GENERIC: 0,\n\tBROTLI_MODE_TEXT: 1,\n\tBROTLI_MODE_FONT: 2,\n\tBROTLI_DEFAULT_MODE: 0,\n\tBROTLI_MIN_QUALITY: 0,\n\tBROTLI_MAX_QUALITY: 11,\n\tBROTLI_DEFAULT_QUALITY: 11,\n\tBROTLI_MIN_WINDOW_BITS: 10,\n\tBROTLI_MAX_WINDOW_BITS: 24,\n\tBROTLI_LARGE_MAX_WINDOW_BITS: 30,\n\tBROTLI_DEFAULT_WINDOW: 22,\n\tBROTLI_MIN_INPUT_BLOCK_BITS: 16,\n\tBROTLI_MAX_INPUT_BLOCK_BITS: 24,\n\tBROTLI_PARAM_MODE: 0,\n\tBROTLI_PARAM_QUALITY: 1,\n\tBROTLI_PARAM_LGWIN: 2,\n\tBROTLI_PARAM_LGBLOCK: 3,\n\tBROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,\n\tBROTLI_PARAM_SIZE_HINT: 5,\n\tBROTLI_PARAM_LARGE_WINDOW: 6,\n\tBROTLI_PARAM_NPOSTFIX: 7,\n\tBROTLI_PARAM_NDIRECT: 8,\n\tBROTLI_DECODER_RESULT_ERROR: 0,\n\tBROTLI_DECODER_RESULT_SUCCESS: 1,\n\tBROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,\n\tBROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,\n\tBROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,\n\tBROTLI_DECODER_PARAM_LARGE_WINDOW: 1,\n\tBROTLI_DECODER_NO_ERROR: 0,\n\tBROTLI_DECODER_SUCCESS: 1,\n\tBROTLI_DECODER_NEEDS_MORE_INPUT: 2,\n\tBROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,\n\tBROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,\n\tBROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,\n\tBROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,\n\tBROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,\n\tBROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,\n\tBROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,\n\tBROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,\n\tBROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,\n\tBROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,\n\tBROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,\n\tBROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,\n\tBROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,\n\tBROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,\n\tBROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,\n\tBROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,\n\tBROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,\n\tBROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,\n\tBROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,\n\tBROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,\n\tBROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,\n\tBROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,\n\tBROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,\n\tBROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,\n\tBROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,\n\tBROTLI_DECODER_ERROR_UNREACHABLE: -31\n}, Jr));\nvar jr = Buffer$1.concat, Ms = Object.getOwnPropertyDescriptor(Buffer$1, \"concat\"), tn = (s) => s, Mi = Ms?.writable === !0 || Ms?.set !== void 0 ? (s) => {\n\tBuffer$1.concat = s ? tn : jr;\n} : (s) => {}, Tt = Symbol(\"_superWrite\"), Gt = class extends Error {\n\tcode;\n\terrno;\n\tconstructor(t, e) {\n\t\tsuper(\"zlib: \" + t.message, { cause: t }), this.code = t.code, this.errno = t.errno, this.code || (this.code = \"ZLIB_ERROR\"), this.message = \"zlib: \" + t.message, Error.captureStackTrace(this, e ?? this.constructor);\n\t}\n\tget name() {\n\t\treturn \"ZlibError\";\n\t}\n}, Bi = Symbol(\"flushFlag\"), ne = class extends A {\n\t#t = !1;\n\t#i = !1;\n\t#s;\n\t#n;\n\t#r;\n\t#e;\n\t#o;\n\tget sawError() {\n\t\treturn this.#t;\n\t}\n\tget handle() {\n\t\treturn this.#e;\n\t}\n\tget flushFlag() {\n\t\treturn this.#s;\n\t}\n\tconstructor(t, e) {\n\t\tif (!t || typeof t != \"object\") throw new TypeError(\"invalid options for ZlibBase constructor\");\n\t\tif (super(t), this.#s = t.flush ?? 0, this.#n = t.finishFlush ?? 0, this.#r = t.fullFlushFlag ?? 0, typeof vs[e] != \"function\") throw new TypeError(\"Compression method not supported: \" + e);\n\t\ttry {\n\t\t\tthis.#e = new vs[e](t);\n\t\t} catch (i) {\n\t\t\tthrow new Gt(i, this.constructor);\n\t\t}\n\t\tthis.#o = (i) => {\n\t\t\tthis.#t || (this.#t = !0, this.close(), this.emit(\"error\", i));\n\t\t}, this.#e?.on(\"error\", (i) => this.#o(new Gt(i))), this.once(\"end\", () => this.close);\n\t}\n\tclose() {\n\t\tthis.#e && (this.#e.close(), this.#e = void 0, this.emit(\"close\"));\n\t}\n\treset() {\n\t\tif (!this.#t) return Pi(this.#e, \"zlib binding closed\"), this.#e.reset?.();\n\t}\n\tflush(t) {\n\t\tthis.ended || (typeof t != \"number\" && (t = this.#r), this.write(Object.assign(Buffer$1.alloc(0), { [Bi]: t })));\n\t}\n\tend(t, e, i) {\n\t\treturn typeof t == \"function\" && (i = t, e = void 0, t = void 0), typeof e == \"function\" && (i = e, e = void 0), t && (e ? this.write(t, e) : this.write(t)), this.flush(this.#n), this.#i = !0, super.end(i);\n\t}\n\tget ended() {\n\t\treturn this.#i;\n\t}\n\t[Tt](t) {\n\t\treturn super.write(t);\n\t}\n\twrite(t, e, i) {\n\t\tif (typeof e == \"function\" && (i = e, e = \"utf8\"), typeof t == \"string\" && (t = Buffer$1.from(t, e)), this.#t) return;\n\t\tPi(this.#e, \"zlib binding closed\");\n\t\tlet r = this.#e._handle, n = r.close;\n\t\tr.close = () => {};\n\t\tlet o = this.#e.close;\n\t\tthis.#e.close = () => {}, Mi(!0);\n\t\tlet h;\n\t\ttry {\n\t\t\tlet l = typeof t[Bi] == \"number\" ? t[Bi] : this.#s;\n\t\t\th = this.#e._processChunk(t, l), Mi(!1);\n\t\t} catch (l) {\n\t\t\tMi(!1), this.#o(new Gt(l, this.write));\n\t\t} finally {\n\t\t\tthis.#e && (this.#e._handle = r, r.close = n, this.#e.close = o, this.#e.removeAllListeners(\"error\"));\n\t\t}\n\t\tthis.#e && this.#e.on(\"error\", (l) => this.#o(new Gt(l, this.write)));\n\t\tlet a;\n\t\tif (h) if (Array.isArray(h) && h.length > 0) {\n\t\t\tlet l = h[0];\n\t\t\ta = this[Tt](Buffer$1.from(l));\n\t\t\tfor (let c = 1; c < h.length; c++) a = this[Tt](h[c]);\n\t\t} else a = this[Tt](Buffer$1.from(h));\n\t\treturn i && i(), a;\n\t}\n}, Pe = class extends ne {\n\t#t;\n\t#i;\n\tconstructor(t, e) {\n\t\tt = t || {}, t.flush = t.flush || M.Z_NO_FLUSH, t.finishFlush = t.finishFlush || M.Z_FINISH, t.fullFlushFlag = M.Z_FULL_FLUSH, super(t, e), this.#t = t.level, this.#i = t.strategy;\n\t}\n\tparams(t, e) {\n\t\tif (!this.sawError) {\n\t\t\tif (!this.handle) throw new Error(\"cannot switch params when binding is closed\");\n\t\t\tif (!this.handle.params) throw new Error(\"not supported in this implementation\");\n\t\t\tif (this.#t !== t || this.#i !== e) {\n\t\t\t\tthis.flush(M.Z_SYNC_FLUSH), Pi(this.handle, \"zlib binding closed\");\n\t\t\t\tlet i = this.handle.flush;\n\t\t\t\tthis.handle.flush = (r, n) => {\n\t\t\t\t\ttypeof r == \"function\" && (n = r, r = this.flushFlag), this.flush(r), n?.();\n\t\t\t\t};\n\t\t\t\ttry {\n\t\t\t\t\tthis.handle.params(t, e);\n\t\t\t\t} finally {\n\t\t\t\t\tthis.handle.flush = i;\n\t\t\t\t}\n\t\t\t\tthis.handle && (this.#t = t, this.#i = e);\n\t\t\t}\n\t\t}\n\t}\n};\nvar ze = class extends Pe {\n\t#t;\n\tconstructor(t) {\n\t\tsuper(t, \"Gzip\"), this.#t = t && !!t.portable;\n\t}\n\t[Tt](t) {\n\t\treturn this.#t ? (this.#t = !1, t[9] = 255, super[Tt](t)) : super[Tt](t);\n\t}\n};\nvar Ue = class extends Pe {\n\tconstructor(t) {\n\t\tsuper(t, \"Unzip\");\n\t}\n}, He = class extends ne {\n\tconstructor(t, e) {\n\t\tt = t || {}, t.flush = t.flush || M.BROTLI_OPERATION_PROCESS, t.finishFlush = t.finishFlush || M.BROTLI_OPERATION_FINISH, t.fullFlushFlag = M.BROTLI_OPERATION_FLUSH, super(t, e);\n\t}\n}, We = class extends He {\n\tconstructor(t) {\n\t\tsuper(t, \"BrotliCompress\");\n\t}\n}, Ge = class extends He {\n\tconstructor(t) {\n\t\tsuper(t, \"BrotliDecompress\");\n\t}\n}, Ze = class extends ne {\n\tconstructor(t, e) {\n\t\tt = t || {}, t.flush = t.flush || M.ZSTD_e_continue, t.finishFlush = t.finishFlush || M.ZSTD_e_end, t.fullFlushFlag = M.ZSTD_e_flush, super(t, e);\n\t}\n}, Ye = class extends Ze {\n\tconstructor(t) {\n\t\tsuper(t, \"ZstdCompress\");\n\t}\n}, Ke = class extends Ze {\n\tconstructor(t) {\n\t\tsuper(t, \"ZstdDecompress\");\n\t}\n};\nvar Bs = (s, t) => {\n\tif (Number.isSafeInteger(s)) s < 0 ? rn(s, t) : sn(s, t);\n\telse throw Error(\"cannot encode number outside of javascript safe integer range\");\n\treturn t;\n}, sn = (s, t) => {\n\tt[0] = 128;\n\tfor (var e = t.length; e > 1; e--) t[e - 1] = s & 255, s = Math.floor(s / 256);\n}, rn = (s, t) => {\n\tt[0] = 255;\n\tvar e = !1;\n\ts = s * -1;\n\tfor (var i = t.length; i > 1; i--) {\n\t\tvar r = s & 255;\n\t\ts = Math.floor(s / 256), e ? t[i - 1] = zs(r) : r === 0 ? t[i - 1] = 0 : (e = !0, t[i - 1] = Us(r));\n\t}\n}, Ps = (s) => {\n\tlet t = s[0], e = t === 128 ? on(s.subarray(1, s.length)) : t === 255 ? nn(s) : null;\n\tif (e === null) throw Error(\"invalid base256 encoding\");\n\tif (!Number.isSafeInteger(e)) throw Error(\"parsed number outside of javascript safe integer range\");\n\treturn e;\n}, nn = (s) => {\n\tfor (var t = s.length, e = 0, i = !1, r = t - 1; r > -1; r--) {\n\t\tvar n = Number(s[r]), o;\n\t\ti ? o = zs(n) : n === 0 ? o = n : (i = !0, o = Us(n)), o !== 0 && (e -= o * Math.pow(256, t - r - 1));\n\t}\n\treturn e;\n}, on = (s) => {\n\tfor (var t = s.length, e = 0, i = t - 1; i > -1; i--) {\n\t\tvar r = Number(s[i]);\n\t\tr !== 0 && (e += r * Math.pow(256, t - i - 1));\n\t}\n\treturn e;\n}, zs = (s) => (255 ^ s) & 255, Us = (s) => (255 ^ s) + 1 & 255;\nMr({}, {\n\tcode: () => Ve,\n\tisCode: () => oe,\n\tisName: () => an,\n\tname: () => he\n});\nvar oe = (s) => he.has(s), an = (s) => Ve.has(s), he = new Map([\n\t[\"0\", \"File\"],\n\t[\"\", \"OldFile\"],\n\t[\"1\", \"Link\"],\n\t[\"2\", \"SymbolicLink\"],\n\t[\"3\", \"CharacterDevice\"],\n\t[\"4\", \"BlockDevice\"],\n\t[\"5\", \"Directory\"],\n\t[\"6\", \"FIFO\"],\n\t[\"7\", \"ContiguousFile\"],\n\t[\"g\", \"GlobalExtendedHeader\"],\n\t[\"x\", \"ExtendedHeader\"],\n\t[\"A\", \"SolarisACL\"],\n\t[\"D\", \"GNUDumpDir\"],\n\t[\"I\", \"Inode\"],\n\t[\"K\", \"NextFileHasLongLinkpath\"],\n\t[\"L\", \"NextFileHasLongPath\"],\n\t[\"M\", \"ContinuationFile\"],\n\t[\"N\", \"OldGnuLongPath\"],\n\t[\"S\", \"SparseFile\"],\n\t[\"V\", \"TapeVolumeHeader\"],\n\t[\"X\", \"OldExtendedHeader\"]\n]), Ve = new Map(Array.from(he).map((s) => [s[1], s[0]]));\nvar k = class {\n\tcksumValid = !1;\n\tneedPax = !1;\n\tnullBlock = !1;\n\tblock;\n\tpath;\n\tmode;\n\tuid;\n\tgid;\n\tsize;\n\tcksum;\n\t#t = \"Unsupported\";\n\tlinkpath;\n\tuname;\n\tgname;\n\tdevmaj = 0;\n\tdevmin = 0;\n\tatime;\n\tctime;\n\tmtime;\n\tcharset;\n\tcomment;\n\tconstructor(t, e = 0, i, r) {\n\t\tBuffer.isBuffer(t) ? this.decode(t, e || 0, i, r) : t && this.#i(t);\n\t}\n\tdecode(t, e, i, r) {\n\t\tif (e || (e = 0), !t || !(t.length >= e + 512)) throw new Error(\"need 512 bytes for header\");\n\t\tthis.path = i?.path ?? xt(t, e, 100), this.mode = i?.mode ?? r?.mode ?? at(t, e + 100, 8), this.uid = i?.uid ?? r?.uid ?? at(t, e + 108, 8), this.gid = i?.gid ?? r?.gid ?? at(t, e + 116, 8), this.size = i?.size ?? r?.size ?? at(t, e + 124, 12), this.mtime = i?.mtime ?? r?.mtime ?? Ui(t, e + 136, 12), this.cksum = at(t, e + 148, 12), r && this.#i(r, !0), i && this.#i(i);\n\t\tlet n = xt(t, e + 156, 1);\n\t\tif (oe(n) && (this.#t = n || \"0\"), this.#t === \"0\" && this.path.slice(-1) === \"/\" && (this.#t = \"5\"), this.#t === \"5\" && (this.size = 0), this.linkpath = xt(t, e + 157, 100), t.subarray(e + 257, e + 265).toString() === \"ustar\\x0000\") if (this.uname = i?.uname ?? r?.uname ?? xt(t, e + 265, 32), this.gname = i?.gname ?? r?.gname ?? xt(t, e + 297, 32), this.devmaj = i?.devmaj ?? r?.devmaj ?? at(t, e + 329, 8) ?? 0, this.devmin = i?.devmin ?? r?.devmin ?? at(t, e + 337, 8) ?? 0, t[e + 475] !== 0) {\n\t\t\tlet h = xt(t, e + 345, 155);\n\t\t\tthis.path = h + \"/\" + this.path;\n\t\t} else {\n\t\t\tlet h = xt(t, e + 345, 130);\n\t\t\th && (this.path = h + \"/\" + this.path), this.atime = i?.atime ?? r?.atime ?? Ui(t, e + 476, 12), this.ctime = i?.ctime ?? r?.ctime ?? Ui(t, e + 488, 12);\n\t\t}\n\t\tlet o = 256;\n\t\tfor (let h = e; h < e + 148; h++) o += t[h];\n\t\tfor (let h = e + 156; h < e + 512; h++) o += t[h];\n\t\tthis.cksumValid = o === this.cksum, this.cksum === void 0 && o === 256 && (this.nullBlock = !0);\n\t}\n\t#i(t, e = !1) {\n\t\tObject.assign(this, Object.fromEntries(Object.entries(t).filter(([i, r]) => !(r == null || i === \"path\" && e || i === \"linkpath\" && e || i === \"global\"))));\n\t}\n\tencode(t, e = 0) {\n\t\tif (t || (t = this.block = Buffer.alloc(512)), this.#t === \"Unsupported\" && (this.#t = \"0\"), !(t.length >= e + 512)) throw new Error(\"need 512 bytes for header\");\n\t\tlet i = this.ctime || this.atime ? 130 : 155, r = ln(this.path || \"\", i), n = r[0], o = r[1];\n\t\tthis.needPax = !!r[2], this.needPax = Lt(t, e, 100, n) || this.needPax, this.needPax = lt(t, e + 100, 8, this.mode) || this.needPax, this.needPax = lt(t, e + 108, 8, this.uid) || this.needPax, this.needPax = lt(t, e + 116, 8, this.gid) || this.needPax, this.needPax = lt(t, e + 124, 12, this.size) || this.needPax, this.needPax = Hi(t, e + 136, 12, this.mtime) || this.needPax, t[e + 156] = Number(this.#t.codePointAt(0)), this.needPax = Lt(t, e + 157, 100, this.linkpath) || this.needPax, t.write(\"ustar\\x0000\", e + 257, 8), this.needPax = Lt(t, e + 265, 32, this.uname) || this.needPax, this.needPax = Lt(t, e + 297, 32, this.gname) || this.needPax, this.needPax = lt(t, e + 329, 8, this.devmaj) || this.needPax, this.needPax = lt(t, e + 337, 8, this.devmin) || this.needPax, this.needPax = Lt(t, e + 345, i, o) || this.needPax, t[e + 475] !== 0 ? this.needPax = Lt(t, e + 345, 155, o) || this.needPax : (this.needPax = Lt(t, e + 345, 130, o) || this.needPax, this.needPax = Hi(t, e + 476, 12, this.atime) || this.needPax, this.needPax = Hi(t, e + 488, 12, this.ctime) || this.needPax);\n\t\tlet h = 256;\n\t\tfor (let a = e; a < e + 148; a++) h += t[a];\n\t\tfor (let a = e + 156; a < e + 512; a++) h += t[a];\n\t\treturn this.cksum = h, lt(t, e + 148, 8, this.cksum), this.cksumValid = !0, this.needPax;\n\t}\n\tget type() {\n\t\treturn this.#t === \"Unsupported\" ? this.#t : he.get(this.#t);\n\t}\n\tget typeKey() {\n\t\treturn this.#t;\n\t}\n\tset type(t) {\n\t\tlet e = String(Ve.get(t));\n\t\tif (oe(e) || e === \"Unsupported\") this.#t = e;\n\t\telse if (oe(t)) this.#t = t;\n\t\telse throw new TypeError(\"invalid entry type: \" + t);\n\t}\n}, ln = (s, t) => {\n\tlet i = s, r = \"\", n, o = posix.parse(s).root || \".\";\n\tif (Buffer.byteLength(i) < 100) n = [\n\t\ti,\n\t\tr,\n\t\t!1\n\t];\n\telse {\n\t\tr = posix.dirname(i), i = posix.basename(i);\n\t\tdo\n\t\t\tBuffer.byteLength(i) <= 100 && Buffer.byteLength(r) <= t ? n = [\n\t\t\t\ti,\n\t\t\t\tr,\n\t\t\t\t!1\n\t\t\t] : Buffer.byteLength(i) > 100 && Buffer.byteLength(r) <= t ? n = [\n\t\t\t\ti.slice(0, 99),\n\t\t\t\tr,\n\t\t\t\t!0\n\t\t\t] : (i = posix.join(posix.basename(r), i), r = posix.dirname(r));\n\t\twhile (r !== o && n === void 0);\n\t\tn || (n = [\n\t\t\ts.slice(0, 99),\n\t\t\t\"\",\n\t\t\t!0\n\t\t]);\n\t}\n\treturn n;\n}, xt = (s, t, e) => s.subarray(t, t + e).toString(\"utf8\").replace(/\\0.*/, \"\"), Ui = (s, t, e) => cn(at(s, t, e)), cn = (s) => s === void 0 ? void 0 : /* @__PURE__ */ new Date(s * 1e3), at = (s, t, e) => Number(s[t]) & 128 ? Ps(s.subarray(t, t + e)) : dn(s, t, e), fn = (s) => isNaN(s) ? void 0 : s, dn = (s, t, e) => fn(parseInt(s.subarray(t, t + e).toString(\"utf8\").replace(/\\0.*$/, \"\").trim(), 8)), un = {\n\t12: 8589934591,\n\t8: 2097151\n}, lt = (s, t, e, i) => i === void 0 ? !1 : i > un[e] || i < 0 ? (Bs(i, s.subarray(t, t + e)), !0) : (mn(s, t, e, i), !1), mn = (s, t, e, i) => s.write(pn(i, e), t, e, \"ascii\"), pn = (s, t) => En(Math.floor(s).toString(8), t), En = (s, t) => (s.length === t - 1 ? s : new Array(t - s.length - 1).join(\"0\") + s + \" \") + \"\\0\", Hi = (s, t, e, i) => i === void 0 ? !1 : lt(s, t, e, i.getTime() / 1e3), wn = new Array(156).join(\"\\0\"), Lt = (s, t, e, i) => i === void 0 ? !1 : (s.write(i + wn, t, e, \"utf8\"), i.length !== Buffer.byteLength(i) || i.length > e);\nvar ct = class s {\n\tatime;\n\tmtime;\n\tctime;\n\tcharset;\n\tcomment;\n\tgid;\n\tuid;\n\tgname;\n\tuname;\n\tlinkpath;\n\tdev;\n\tino;\n\tnlink;\n\tpath;\n\tsize;\n\tmode;\n\tglobal;\n\tconstructor(t, e = !1) {\n\t\tthis.atime = t.atime, this.charset = t.charset, this.comment = t.comment, this.ctime = t.ctime, this.dev = t.dev, this.gid = t.gid, this.global = e, this.gname = t.gname, this.ino = t.ino, this.linkpath = t.linkpath, this.mtime = t.mtime, this.nlink = t.nlink, this.path = t.path, this.size = t.size, this.uid = t.uid, this.uname = t.uname;\n\t}\n\tencode() {\n\t\tlet t = this.encodeBody();\n\t\tif (t === \"\") return Buffer.allocUnsafe(0);\n\t\tlet e = Buffer.byteLength(t), i = 512 * Math.ceil(1 + e / 512), r = Buffer.allocUnsafe(i);\n\t\tfor (let n = 0; n < 512; n++) r[n] = 0;\n\t\tnew k({\n\t\t\tpath: (\"PaxHeader/\" + basename(this.path ?? \"\")).slice(0, 99),\n\t\t\tmode: this.mode || 420,\n\t\t\tuid: this.uid,\n\t\t\tgid: this.gid,\n\t\t\tsize: e,\n\t\t\tmtime: this.mtime,\n\t\t\ttype: this.global ? \"GlobalExtendedHeader\" : \"ExtendedHeader\",\n\t\t\tlinkpath: \"\",\n\t\t\tuname: this.uname || \"\",\n\t\t\tgname: this.gname || \"\",\n\t\t\tdevmaj: 0,\n\t\t\tdevmin: 0,\n\t\t\tatime: this.atime,\n\t\t\tctime: this.ctime\n\t\t}).encode(r), r.write(t, 512, e, \"utf8\");\n\t\tfor (let n = e + 512; n < r.length; n++) r[n] = 0;\n\t\treturn r;\n\t}\n\tencodeBody() {\n\t\treturn this.encodeField(\"path\") + this.encodeField(\"ctime\") + this.encodeField(\"atime\") + this.encodeField(\"dev\") + this.encodeField(\"ino\") + this.encodeField(\"nlink\") + this.encodeField(\"charset\") + this.encodeField(\"comment\") + this.encodeField(\"gid\") + this.encodeField(\"gname\") + this.encodeField(\"linkpath\") + this.encodeField(\"mtime\") + this.encodeField(\"size\") + this.encodeField(\"uid\") + this.encodeField(\"uname\");\n\t}\n\tencodeField(t) {\n\t\tif (this[t] === void 0) return \"\";\n\t\tlet e = this[t], i = e instanceof Date ? e.getTime() / 1e3 : e, r = \" \" + (t === \"dev\" || t === \"ino\" || t === \"nlink\" ? \"SCHILY.\" : \"\") + t + \"=\" + i + `\n`, n = Buffer.byteLength(r), o = Math.floor(Math.log(n) / Math.log(10)) + 1;\n\t\treturn n + o >= Math.pow(10, o) && (o += 1), o + n + r;\n\t}\n\tstatic parse(t, e, i = !1) {\n\t\treturn new s(yn(Rn(t), e), i);\n\t}\n}, yn = (s, t) => t ? Object.assign({}, t, s) : s, Rn = (s) => s.replace(/\\n$/, \"\").split(`\n`).reduce(gn, Object.create(null)), gn = (s, t) => {\n\tlet e = parseInt(t, 10);\n\tif (e !== Buffer.byteLength(t) + 1) return s;\n\tt = t.slice((e + \" \").length);\n\tlet i = t.split(\"=\"), r = i.shift();\n\tif (!r) return s;\n\tlet n = r.replace(/^SCHILY\\.(dev|ino|nlink)/, \"$1\"), o = i.join(\"=\");\n\treturn s[n] = /^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(n) ? /* @__PURE__ */ new Date(Number(o) * 1e3) : /^[0-9]+$/.test(o) ? +o : o, s;\n};\nvar f = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) !== \"win32\" ? (s) => s : (s) => s && s.replaceAll(/\\\\/g, \"/\");\nvar Yt = class extends A {\n\textended;\n\tglobalExtended;\n\theader;\n\tstartBlockSize;\n\tblockRemain;\n\tremain;\n\ttype;\n\tmeta = !1;\n\tignore = !1;\n\tpath;\n\tmode;\n\tuid;\n\tgid;\n\tuname;\n\tgname;\n\tsize = 0;\n\tmtime;\n\tatime;\n\tctime;\n\tlinkpath;\n\tdev;\n\tino;\n\tnlink;\n\tinvalid = !1;\n\tabsolute;\n\tunsupported = !1;\n\tconstructor(t, e, i) {\n\t\tswitch (super({}), this.pause(), this.extended = e, this.globalExtended = i, this.header = t, this.remain = t.size ?? 0, this.startBlockSize = 512 * Math.ceil(this.remain / 512), this.blockRemain = this.startBlockSize, this.type = t.type, this.type) {\n\t\t\tcase \"File\":\n\t\t\tcase \"OldFile\":\n\t\t\tcase \"Link\":\n\t\t\tcase \"SymbolicLink\":\n\t\t\tcase \"CharacterDevice\":\n\t\t\tcase \"BlockDevice\":\n\t\t\tcase \"Directory\":\n\t\t\tcase \"FIFO\":\n\t\t\tcase \"ContiguousFile\":\n\t\t\tcase \"GNUDumpDir\": break;\n\t\t\tcase \"NextFileHasLongLinkpath\":\n\t\t\tcase \"NextFileHasLongPath\":\n\t\t\tcase \"OldGnuLongPath\":\n\t\t\tcase \"GlobalExtendedHeader\":\n\t\t\tcase \"ExtendedHeader\":\n\t\t\tcase \"OldExtendedHeader\":\n\t\t\t\tthis.meta = !0;\n\t\t\t\tbreak;\n\t\t\tdefault: this.ignore = !0;\n\t\t}\n\t\tif (!t.path) throw new Error(\"no path provided for tar.ReadEntry\");\n\t\tthis.path = f(t.path), this.mode = t.mode, this.mode && (this.mode = this.mode & 4095), this.uid = t.uid, this.gid = t.gid, this.uname = t.uname, this.gname = t.gname, this.size = this.remain, this.mtime = t.mtime, this.atime = t.atime, this.ctime = t.ctime, this.linkpath = t.linkpath ? f(t.linkpath) : void 0, this.uname = t.uname, this.gname = t.gname, e && this.#t(e), i && this.#t(i, !0);\n\t}\n\twrite(t) {\n\t\tlet e = t.length;\n\t\tif (e > this.blockRemain) throw new Error(\"writing more to entry than is appropriate\");\n\t\tlet i = this.remain, r = this.blockRemain;\n\t\treturn this.remain = Math.max(0, i - e), this.blockRemain = Math.max(0, r - e), this.ignore ? !0 : i >= e ? super.write(t) : super.write(t.subarray(0, i));\n\t}\n\t#t(t, e = !1) {\n\t\tt.path && (t.path = f(t.path)), t.linkpath && (t.linkpath = f(t.linkpath)), Object.assign(this, Object.fromEntries(Object.entries(t).filter(([i, r]) => !(r == null || i === \"path\" && e))));\n\t}\n};\nvar Nt = (s, t, e, i = {}) => {\n\ts.file && (i.file = s.file), s.cwd && (i.cwd = s.cwd), i.code = e instanceof Error && e.code || t, i.tarCode = t, !s.strict && i.recoverable !== !1 ? (e instanceof Error && (i = Object.assign(e, i), e = e.message), s.emit(\"warn\", t, e, i)) : e instanceof Error ? s.emit(\"error\", Object.assign(e, i)) : s.emit(\"error\", Object.assign(/* @__PURE__ */ new Error(`${t}: ${e}`), i));\n};\nvar On = 1024 * 1024, Ki = Buffer.from([31, 139]), Vi = Buffer.from([\n\t40,\n\t181,\n\t47,\n\t253\n]), Tn = Math.max(Ki.length, Vi.length), B = Symbol(\"state\"), Dt = Symbol(\"writeEntry\"), et = Symbol(\"readEntry\"), Wi = Symbol(\"nextEntry\"), Hs = Symbol(\"processEntry\"), V = Symbol(\"extendedHeader\"), ae = Symbol(\"globalExtendedHeader\"), ft = Symbol(\"meta\"), Ws = Symbol(\"emitMeta\"), p = Symbol(\"buffer\"), it = Symbol(\"queue\"), dt = Symbol(\"ended\"), Gi = Symbol(\"emittedEnd\"), At = Symbol(\"emit\"), y = Symbol(\"unzip\"), $e = Symbol(\"consumeChunk\"), Xe = Symbol(\"consumeChunkSub\"), Zi = Symbol(\"consumeBody\"), Gs = Symbol(\"consumeMeta\"), Zs = Symbol(\"consumeHeader\"), le = Symbol(\"consuming\"), Yi = Symbol(\"bufferConcat\"), qe = Symbol(\"maybeEnd\"), Kt = Symbol(\"writing\"), ut = Symbol(\"aborted\"), Qe = Symbol(\"onDone\"), It = Symbol(\"sawValidEntry\"), Je = Symbol(\"sawNullBlock\"), je = Symbol(\"sawEOF\"), Ys = Symbol(\"closeStream\"), xn = () => !0, st = class extends EventEmitter {\n\tfile;\n\tstrict;\n\tmaxMetaEntrySize;\n\tfilter;\n\tbrotli;\n\tzstd;\n\twritable = !0;\n\treadable = !1;\n\t[it] = [];\n\t[p];\n\t[et];\n\t[Dt];\n\t[B] = \"begin\";\n\t[ft] = \"\";\n\t[V];\n\t[ae];\n\t[dt] = !1;\n\t[y];\n\t[ut] = !1;\n\t[It];\n\t[Je] = !1;\n\t[je] = !1;\n\t[Kt] = !1;\n\t[le] = !1;\n\t[Gi] = !1;\n\tconstructor(t = {}) {\n\t\tsuper(), this.file = t.file || \"\", this.on(Qe, () => {\n\t\t\t(this[B] === \"begin\" || this[It] === !1) && this.warn(\"TAR_BAD_ARCHIVE\", \"Unrecognized archive format\");\n\t\t}), t.ondone ? this.on(Qe, t.ondone) : this.on(Qe, () => {\n\t\t\tthis.emit(\"prefinish\"), this.emit(\"finish\"), this.emit(\"end\");\n\t\t}), this.strict = !!t.strict, this.maxMetaEntrySize = t.maxMetaEntrySize || On, this.filter = typeof t.filter == \"function\" ? t.filter : xn;\n\t\tlet e = t.file && (t.file.endsWith(\".tar.br\") || t.file.endsWith(\".tbr\"));\n\t\tthis.brotli = !(t.gzip || t.zstd) && t.brotli !== void 0 ? t.brotli : e ? void 0 : !1;\n\t\tlet i = t.file && (t.file.endsWith(\".tar.zst\") || t.file.endsWith(\".tzst\"));\n\t\tthis.zstd = !(t.gzip || t.brotli) && t.zstd !== void 0 ? t.zstd : i ? !0 : void 0, this.on(\"end\", () => this[Ys]()), typeof t.onwarn == \"function\" && this.on(\"warn\", t.onwarn), typeof t.onReadEntry == \"function\" && this.on(\"entry\", t.onReadEntry);\n\t}\n\twarn(t, e, i = {}) {\n\t\tNt(this, t, e, i);\n\t}\n\t[Zs](t, e) {\n\t\tthis[It] === void 0 && (this[It] = !1);\n\t\tlet i;\n\t\ttry {\n\t\t\ti = new k(t, e, this[V], this[ae]);\n\t\t} catch (r) {\n\t\t\treturn this.warn(\"TAR_ENTRY_INVALID\", r);\n\t\t}\n\t\tif (i.nullBlock) this[Je] ? (this[je] = !0, this[B] === \"begin\" && (this[B] = \"header\"), this[At](\"eof\")) : (this[Je] = !0, this[At](\"nullBlock\"));\n\t\telse if (this[Je] = !1, !i.cksumValid) this.warn(\"TAR_ENTRY_INVALID\", \"checksum failure\", { header: i });\n\t\telse if (!i.path) this.warn(\"TAR_ENTRY_INVALID\", \"path is required\", { header: i });\n\t\telse {\n\t\t\tlet r = i.type;\n\t\t\tif (/^(Symbolic)?Link$/.test(r) && !i.linkpath) this.warn(\"TAR_ENTRY_INVALID\", \"linkpath required\", { header: i });\n\t\t\telse if (!/^(Symbolic)?Link$/.test(r) && !/^(Global)?ExtendedHeader$/.test(r) && i.linkpath) this.warn(\"TAR_ENTRY_INVALID\", \"linkpath forbidden\", { header: i });\n\t\t\telse {\n\t\t\t\tlet n = this[Dt] = new Yt(i, this[V], this[ae]);\n\t\t\t\tif (!this[It]) if (n.remain) {\n\t\t\t\t\tlet o = () => {\n\t\t\t\t\t\tn.invalid || (this[It] = !0);\n\t\t\t\t\t};\n\t\t\t\t\tn.on(\"end\", o);\n\t\t\t\t} else this[It] = !0;\n\t\t\t\tn.meta ? n.size > this.maxMetaEntrySize ? (n.ignore = !0, this[At](\"ignoredEntry\", n), this[B] = \"ignore\", n.resume()) : n.size > 0 && (this[ft] = \"\", n.on(\"data\", (o) => this[ft] += o), this[B] = \"meta\") : (this[V] = void 0, n.ignore = n.ignore || !this.filter(n.path, n), n.ignore ? (this[At](\"ignoredEntry\", n), this[B] = n.remain ? \"ignore\" : \"header\", n.resume()) : (n.remain ? this[B] = \"body\" : (this[B] = \"header\", n.end()), this[et] ? this[it].push(n) : (this[it].push(n), this[Wi]())));\n\t\t\t}\n\t\t}\n\t}\n\t[Ys]() {\n\t\tqueueMicrotask(() => this.emit(\"close\"));\n\t}\n\t[Hs](t) {\n\t\tlet e = !0;\n\t\tif (!t) this[et] = void 0, e = !1;\n\t\telse if (Array.isArray(t)) {\n\t\t\tlet [i, ...r] = t;\n\t\t\tthis.emit(i, ...r);\n\t\t} else this[et] = t, this.emit(\"entry\", t), t.emittedEnd || (t.on(\"end\", () => this[Wi]()), e = !1);\n\t\treturn e;\n\t}\n\t[Wi]() {\n\t\tdo\t\t;\nwhile (this[Hs](this[it].shift()));\n\t\tif (this[it].length === 0) {\n\t\t\tlet t = this[et];\n\t\t\t!t || t.flowing || t.size === t.remain ? this[Kt] || this.emit(\"drain\") : t.once(\"drain\", () => this.emit(\"drain\"));\n\t\t}\n\t}\n\t[Zi](t, e) {\n\t\tlet i = this[Dt];\n\t\tif (!i) throw new Error(\"attempt to consume body without entry??\");\n\t\tlet r = i.blockRemain ?? 0, n = r >= t.length && e === 0 ? t : t.subarray(e, e + r);\n\t\treturn i.write(n), i.blockRemain || (this[B] = \"header\", this[Dt] = void 0, i.end()), n.length;\n\t}\n\t[Gs](t, e) {\n\t\tlet i = this[Dt], r = this[Zi](t, e);\n\t\treturn !this[Dt] && i && this[Ws](i), r;\n\t}\n\t[At](t, e, i) {\n\t\tthis[it].length === 0 && !this[et] ? this.emit(t, e, i) : this[it].push([\n\t\t\tt,\n\t\t\te,\n\t\t\ti\n\t\t]);\n\t}\n\t[Ws](t) {\n\t\tswitch (this[At](\"meta\", this[ft]), t.type) {\n\t\t\tcase \"ExtendedHeader\":\n\t\t\tcase \"OldExtendedHeader\":\n\t\t\t\tthis[V] = ct.parse(this[ft], this[V], !1);\n\t\t\t\tbreak;\n\t\t\tcase \"GlobalExtendedHeader\":\n\t\t\t\tthis[ae] = ct.parse(this[ft], this[ae], !0);\n\t\t\t\tbreak;\n\t\t\tcase \"NextFileHasLongPath\":\n\t\t\tcase \"OldGnuLongPath\": {\n\t\t\t\tlet e = this[V] ?? Object.create(null);\n\t\t\t\tthis[V] = e, e.path = this[ft].replace(/\\0.*/, \"\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"NextFileHasLongLinkpath\": {\n\t\t\t\tlet e = this[V] || Object.create(null);\n\t\t\t\tthis[V] = e, e.linkpath = this[ft].replace(/\\0.*/, \"\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: throw new Error(\"unknown meta: \" + t.type);\n\t\t}\n\t}\n\tabort(t) {\n\t\tthis[ut] = !0, this.emit(\"abort\", t), this.warn(\"TAR_ABORT\", t, { recoverable: !1 });\n\t}\n\twrite(t, e, i) {\n\t\tif (typeof e == \"function\" && (i = e, e = void 0), typeof t == \"string\" && (t = Buffer.from(t, typeof e == \"string\" ? e : \"utf8\")), this[ut]) return i?.(), !1;\n\t\tif ((this[y] === void 0 || this.brotli === void 0 && this[y] === !1) && t) {\n\t\t\tif (this[p] && (t = Buffer.concat([this[p], t]), this[p] = void 0), t.length < Tn) return this[p] = t, i?.(), !0;\n\t\t\tfor (let a = 0; this[y] === void 0 && a < Ki.length; a++) t[a] !== Ki[a] && (this[y] = !1);\n\t\t\tlet o = !1;\n\t\t\tif (this[y] === !1 && this.zstd !== !1) {\n\t\t\t\to = !0;\n\t\t\t\tfor (let a = 0; a < Vi.length; a++) if (t[a] !== Vi[a]) {\n\t\t\t\t\to = !1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet h = this.brotli === void 0 && !o;\n\t\t\tif (this[y] === !1 && h) if (t.length < 512) if (this[dt]) this.brotli = !0;\n\t\t\telse return this[p] = t, i?.(), !0;\n\t\t\telse try {\n\t\t\t\tnew k(t.subarray(0, 512)), this.brotli = !1;\n\t\t\t} catch {\n\t\t\t\tthis.brotli = !0;\n\t\t\t}\n\t\t\tif (this[y] === void 0 || this[y] === !1 && (this.brotli || o)) {\n\t\t\t\tlet a = this[dt];\n\t\t\t\tthis[dt] = !1, this[y] = this[y] === void 0 ? new Ue({}) : o ? new Ke({}) : new Ge({}), this[y].on(\"data\", (c) => this[$e](c)), this[y].on(\"error\", (c) => this.abort(c)), this[y].on(\"end\", () => {\n\t\t\t\t\tthis[dt] = !0, this[$e]();\n\t\t\t\t}), this[Kt] = !0;\n\t\t\t\tlet l = !!this[y][a ? \"end\" : \"write\"](t);\n\t\t\t\treturn this[Kt] = !1, i?.(), l;\n\t\t\t}\n\t\t}\n\t\tthis[Kt] = !0, this[y] ? this[y].write(t) : this[$e](t), this[Kt] = !1;\n\t\tlet n = this[it].length > 0 ? !1 : this[et] ? this[et].flowing : !0;\n\t\treturn !n && this[it].length === 0 && this[et]?.once(\"drain\", () => this.emit(\"drain\")), i?.(), n;\n\t}\n\t[Yi](t) {\n\t\tt && !this[ut] && (this[p] = this[p] ? Buffer.concat([this[p], t]) : t);\n\t}\n\t[qe]() {\n\t\tif (this[dt] && !this[Gi] && !this[ut] && !this[le]) {\n\t\t\tthis[Gi] = !0;\n\t\t\tlet t = this[Dt];\n\t\t\tif (t && t.blockRemain) {\n\t\t\t\tlet e = this[p] ? this[p].length : 0;\n\t\t\t\tthis.warn(\"TAR_BAD_ARCHIVE\", `Truncated input (needed ${t.blockRemain} more bytes, only ${e} available)`, { entry: t }), this[p] && t.write(this[p]), t.end();\n\t\t\t}\n\t\t\tthis[At](Qe);\n\t\t}\n\t}\n\t[$e](t) {\n\t\tif (this[le] && t) this[Yi](t);\n\t\telse if (!t && !this[p]) this[qe]();\n\t\telse if (t) {\n\t\t\tif (this[le] = !0, this[p]) {\n\t\t\t\tthis[Yi](t);\n\t\t\t\tlet e = this[p];\n\t\t\t\tthis[p] = void 0, this[Xe](e);\n\t\t\t} else this[Xe](t);\n\t\t\tfor (; this[p] && this[p]?.length >= 512 && !this[ut] && !this[je];) {\n\t\t\t\tlet e = this[p];\n\t\t\t\tthis[p] = void 0, this[Xe](e);\n\t\t\t}\n\t\t\tthis[le] = !1;\n\t\t}\n\t\t(!this[p] || this[dt]) && this[qe]();\n\t}\n\t[Xe](t) {\n\t\tlet e = 0, i = t.length;\n\t\tfor (; e + 512 <= i && !this[ut] && !this[je];) switch (this[B]) {\n\t\t\tcase \"begin\":\n\t\t\tcase \"header\":\n\t\t\t\tthis[Zs](t, e), e += 512;\n\t\t\t\tbreak;\n\t\t\tcase \"ignore\":\n\t\t\tcase \"body\":\n\t\t\t\te += this[Zi](t, e);\n\t\t\t\tbreak;\n\t\t\tcase \"meta\":\n\t\t\t\te += this[Gs](t, e);\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error(\"invalid state: \" + this[B]);\n\t\t}\n\t\te < i && (this[p] = this[p] ? Buffer.concat([t.subarray(e), this[p]]) : t.subarray(e));\n\t}\n\tend(t, e, i) {\n\t\treturn typeof t == \"function\" && (i = t, e = void 0, t = void 0), typeof e == \"function\" && (i = e, e = void 0), typeof t == \"string\" && (t = Buffer.from(t, e)), i && this.once(\"finish\", i), this[ut] || (this[y] ? (t && this[y].write(t), this[y].end()) : (this[dt] = !0, (this.brotli === void 0 || this.zstd === void 0) && (t = t || Buffer.alloc(0)), t && this.write(t), this[qe]())), this;\n\t}\n};\nvar mt = (s) => {\n\tlet t = s.length - 1, e = -1;\n\tfor (; t > -1 && s.charAt(t) === \"/\";) e = t, t--;\n\treturn e === -1 ? s : s.slice(0, e);\n};\nvar Dn = (s) => {\n\tlet t = s.onReadEntry;\n\ts.onReadEntry = t ? (e) => {\n\t\tt(e), e.resume();\n\t} : (e) => e.resume();\n}, $i = (s, t) => {\n\tlet e = new Map(t.map((n) => [mt(n), !0])), i = s.filter, r = (n, o = \"\") => {\n\t\tlet h = o || parse(n).root || \".\", a;\n\t\tif (n === h) a = !1;\n\t\telse {\n\t\t\tlet l = e.get(n);\n\t\t\ta = l !== void 0 ? l : r(dirname$1(n), h);\n\t\t}\n\t\treturn e.set(n, a), a;\n\t};\n\ts.filter = i ? (n, o) => i(n, o) && r(mt(n)) : (n) => r(mt(n));\n}, An = (s) => {\n\tlet t = new st(s), e = s.file, i;\n\ttry {\n\t\ti = Vt.openSync(e, \"r\");\n\t\tlet r = Vt.fstatSync(i), n = s.maxReadSize || 16 * 1024 * 1024;\n\t\tif (r.size < n) {\n\t\t\tlet o = Buffer.allocUnsafe(r.size), h = Vt.readSync(i, o, 0, r.size, 0);\n\t\t\tt.end(h === o.byteLength ? o : o.subarray(0, h));\n\t\t} else {\n\t\t\tlet o = 0, h = Buffer.allocUnsafe(n);\n\t\t\tfor (; o < r.size;) {\n\t\t\t\tlet a = Vt.readSync(i, h, 0, n, o);\n\t\t\t\tif (a === 0) break;\n\t\t\t\to += a, t.write(h.subarray(0, a));\n\t\t\t}\n\t\t\tt.end();\n\t\t}\n\t} finally {\n\t\tif (typeof i == \"number\") try {\n\t\t\tVt.closeSync(i);\n\t\t} catch {}\n\t}\n}, In = (s, t) => {\n\tlet e = new st(s), i = s.maxReadSize || 16 * 1024 * 1024, r = s.file;\n\treturn new Promise((o, h) => {\n\t\te.on(\"error\", h), e.on(\"end\", o), Vt.stat(r, (a, l) => {\n\t\t\tif (a) h(a);\n\t\t\telse {\n\t\t\t\tlet c = new _t(r, {\n\t\t\t\t\treadSize: i,\n\t\t\t\t\tsize: l.size\n\t\t\t\t});\n\t\t\t\tc.on(\"error\", h), c.pipe(e);\n\t\t\t}\n\t\t});\n\t});\n}, Ct = K(An, In, (s) => new st(s), (s) => new st(s), (s, t) => {\n\tt?.length && $i(s, t), s.noResume || Dn(s);\n});\nvar Xi = (s, t, e) => (s &= 4095, e && (s = (s | 384) & -19), t && (s & 256 && (s |= 64), s & 32 && (s |= 8), s & 4 && (s |= 1)), s);\nvar { isAbsolute: kn, parse: Ks } = win32, ce = (s) => {\n\tlet t = \"\", e = Ks(s);\n\tfor (; kn(s) || e.root;) {\n\t\tlet i = s.charAt(0) === \"/\" && s.slice(0, 4) !== \"//?/\" ? \"/\" : e.root;\n\t\ts = s.slice(i.length), t += i, e = Ks(s);\n\t}\n\treturn [t, s];\n};\nvar ti = [\n\t\"|\",\n\t\"<\",\n\t\">\",\n\t\"?\",\n\t\":\"\n], qi = ti.map((s) => String.fromCodePoint(61440 + Number(s.codePointAt(0)))), Fn = new Map(ti.map((s, t) => [s, qi[t]])), vn = new Map(qi.map((s, t) => [s, ti[t]])), Qi = (s) => ti.reduce((t, e) => t.split(e).join(Fn.get(e)), s), Vs = (s) => qi.reduce((t, e) => t.split(e).join(vn.get(e)), s);\nvar tr = (s, t) => t ? (s = f(s).replace(/^\\.(\\/|$)/, \"\"), mt(t) + \"/\" + s) : f(s), Mn = 16 * 1024 * 1024, qs = Symbol(\"process\"), Qs = Symbol(\"file\"), Js = Symbol(\"directory\"), ji = Symbol(\"symlink\"), js = Symbol(\"hardlink\"), fe = Symbol(\"header\"), ei = Symbol(\"read\"), ts = Symbol(\"lstat\"), ii = Symbol(\"onlstat\"), es = Symbol(\"onread\"), is = Symbol(\"onreadlink\"), ss = Symbol(\"openfile\"), rs = Symbol(\"onopenfile\"), pt = Symbol(\"close\"), si = Symbol(\"mode\"), ns = Symbol(\"awaitDrain\"), Ji = Symbol(\"ondrain\"), X = Symbol(\"prefix\"), de = class extends A {\n\tpath;\n\tportable;\n\tmyuid = process.getuid && process.getuid() || 0;\n\tmyuser = process.env.USER || \"\";\n\tmaxReadSize;\n\tlinkCache;\n\tstatCache;\n\tpreservePaths;\n\tcwd;\n\tstrict;\n\tmtime;\n\tnoPax;\n\tnoMtime;\n\tprefix;\n\tfd;\n\tblockLen = 0;\n\tblockRemain = 0;\n\tbuf;\n\tpos = 0;\n\tremain = 0;\n\tlength = 0;\n\toffset = 0;\n\twin32;\n\tabsolute;\n\theader;\n\ttype;\n\tlinkpath;\n\tstat;\n\tonWriteEntry;\n\t#t = !1;\n\tconstructor(t, e = {}) {\n\t\tlet i = re(e);\n\t\tsuper(), this.path = f(t), this.portable = !!i.portable, this.maxReadSize = i.maxReadSize || Mn, this.linkCache = i.linkCache || /* @__PURE__ */ new Map(), this.statCache = i.statCache || /* @__PURE__ */ new Map(), this.preservePaths = !!i.preservePaths, this.cwd = f(i.cwd || process.cwd()), this.strict = !!i.strict, this.noPax = !!i.noPax, this.noMtime = !!i.noMtime, this.mtime = i.mtime, this.prefix = i.prefix ? f(i.prefix) : void 0, this.onWriteEntry = i.onWriteEntry, typeof i.onwarn == \"function\" && this.on(\"warn\", i.onwarn);\n\t\tlet r = !1;\n\t\tif (!this.preservePaths) {\n\t\t\tlet [o, h] = ce(this.path);\n\t\t\to && typeof h == \"string\" && (this.path = h, r = o);\n\t\t}\n\t\tthis.win32 = !!i.win32 || process.platform === \"win32\", this.win32 && (this.path = Vs(this.path.replaceAll(/\\\\/g, \"/\")), t = t.replaceAll(/\\\\/g, \"/\")), this.absolute = f(i.absolute || Xs.resolve(this.cwd, t)), this.path === \"\" && (this.path = \"./\"), r && this.warn(\"TAR_ENTRY_INFO\", `stripping ${r} from absolute path`, {\n\t\t\tentry: this,\n\t\t\tpath: r + this.path\n\t\t});\n\t\tlet n = this.statCache.get(this.absolute);\n\t\tn ? this[ii](n) : this[ts]();\n\t}\n\twarn(t, e, i = {}) {\n\t\treturn Nt(this, t, e, i);\n\t}\n\temit(t, ...e) {\n\t\treturn t === \"error\" && (this.#t = !0), super.emit(t, ...e);\n\t}\n\t[ts]() {\n\t\tI.lstat(this.absolute, (t, e) => {\n\t\t\tif (t) return this.emit(\"error\", t);\n\t\t\tthis[ii](e);\n\t\t});\n\t}\n\t[ii](t) {\n\t\tthis.statCache.set(this.absolute, t), this.stat = t, t.isFile() || (t.size = 0), this.type = Bn(t), this.emit(\"stat\", t), this[qs]();\n\t}\n\t[qs]() {\n\t\tswitch (this.type) {\n\t\t\tcase \"File\": return this[Qs]();\n\t\t\tcase \"Directory\": return this[Js]();\n\t\t\tcase \"SymbolicLink\": return this[ji]();\n\t\t\tdefault: return this.end();\n\t\t}\n\t}\n\t[si](t) {\n\t\treturn Xi(t, this.type === \"Directory\", this.portable);\n\t}\n\t[X](t) {\n\t\treturn tr(t, this.prefix);\n\t}\n\t[fe]() {\n\t\tif (!this.stat) throw new Error(\"cannot write header before stat\");\n\t\tthis.type === \"Directory\" && this.portable && (this.noMtime = !0), this.onWriteEntry?.(this), this.header = new k({\n\t\t\tpath: this[X](this.path),\n\t\t\tlinkpath: this.type === \"Link\" && this.linkpath !== void 0 ? this[X](this.linkpath) : this.linkpath,\n\t\t\tmode: this[si](this.stat.mode),\n\t\t\tuid: this.portable ? void 0 : this.stat.uid,\n\t\t\tgid: this.portable ? void 0 : this.stat.gid,\n\t\t\tsize: this.stat.size,\n\t\t\tmtime: this.noMtime ? void 0 : this.mtime || this.stat.mtime,\n\t\t\ttype: this.type === \"Unsupported\" ? void 0 : this.type,\n\t\t\tuname: this.portable ? void 0 : this.stat.uid === this.myuid ? this.myuser : \"\",\n\t\t\tatime: this.portable ? void 0 : this.stat.atime,\n\t\t\tctime: this.portable ? void 0 : this.stat.ctime\n\t\t}), this.header.encode() && !this.noPax && super.write(new ct({\n\t\t\tatime: this.portable ? void 0 : this.header.atime,\n\t\t\tctime: this.portable ? void 0 : this.header.ctime,\n\t\t\tgid: this.portable ? void 0 : this.header.gid,\n\t\t\tmtime: this.noMtime ? void 0 : this.mtime || this.header.mtime,\n\t\t\tpath: this[X](this.path),\n\t\t\tlinkpath: this.type === \"Link\" && this.linkpath !== void 0 ? this[X](this.linkpath) : this.linkpath,\n\t\t\tsize: this.header.size,\n\t\t\tuid: this.portable ? void 0 : this.header.uid,\n\t\t\tuname: this.portable ? void 0 : this.header.uname,\n\t\t\tdev: this.portable ? void 0 : this.stat.dev,\n\t\t\tino: this.portable ? void 0 : this.stat.ino,\n\t\t\tnlink: this.portable ? void 0 : this.stat.nlink\n\t\t}).encode());\n\t\tlet t = this.header?.block;\n\t\tif (!t) throw new Error(\"failed to encode header\");\n\t\tsuper.write(t);\n\t}\n\t[Js]() {\n\t\tif (!this.stat) throw new Error(\"cannot create directory entry without stat\");\n\t\tthis.path.slice(-1) !== \"/\" && (this.path += \"/\"), this.stat.size = 0, this[fe](), this.end();\n\t}\n\t[ji]() {\n\t\tI.readlink(this.absolute, (t, e) => {\n\t\t\tif (t) return this.emit(\"error\", t);\n\t\t\tthis[is](e);\n\t\t});\n\t}\n\t[is](t) {\n\t\tthis.linkpath = f(t), this[fe](), this.end();\n\t}\n\t[js](t) {\n\t\tif (!this.stat) throw new Error(\"cannot create link entry without stat\");\n\t\tthis.type = \"Link\", this.linkpath = f(Xs.relative(this.cwd, t)), this.stat.size = 0, this[fe](), this.end();\n\t}\n\t[Qs]() {\n\t\tif (!this.stat) throw new Error(\"cannot create file entry without stat\");\n\t\tif (this.stat.nlink > 1) {\n\t\t\tlet t = `${this.stat.dev}:${this.stat.ino}`, e = this.linkCache.get(t);\n\t\t\tif (e?.indexOf(this.cwd) === 0) return this[js](e);\n\t\t\tthis.linkCache.set(t, this.absolute);\n\t\t}\n\t\tif (this[fe](), this.stat.size === 0) return this.end();\n\t\tthis[ss]();\n\t}\n\t[ss]() {\n\t\tI.open(this.absolute, \"r\", (t, e) => {\n\t\t\tif (t) return this.emit(\"error\", t);\n\t\t\tthis[rs](e);\n\t\t});\n\t}\n\t[rs](t) {\n\t\tif (this.fd = t, this.#t) return this[pt]();\n\t\tif (!this.stat) throw new Error(\"should stat before calling onopenfile\");\n\t\tthis.blockLen = 512 * Math.ceil(this.stat.size / 512), this.blockRemain = this.blockLen;\n\t\tlet e = Math.min(this.blockLen, this.maxReadSize);\n\t\tthis.buf = Buffer.allocUnsafe(e), this.offset = 0, this.pos = 0, this.remain = this.stat.size, this.length = this.buf.length, this[ei]();\n\t}\n\t[ei]() {\n\t\tlet { fd: t, buf: e, offset: i, length: r, pos: n } = this;\n\t\tif (t === void 0 || e === void 0) throw new Error(\"cannot read file without first opening\");\n\t\tI.read(t, e, i, r, n, (o, h) => {\n\t\t\tif (o) return this[pt](() => this.emit(\"error\", o));\n\t\t\tthis[es](h);\n\t\t});\n\t}\n\t[pt](t = () => {}) {\n\t\tthis.fd !== void 0 && I.close(this.fd, t);\n\t}\n\t[es](t) {\n\t\tif (t <= 0 && this.remain > 0) {\n\t\t\tlet r = Object.assign(/* @__PURE__ */ new Error(\"encountered unexpected EOF\"), {\n\t\t\t\tpath: this.absolute,\n\t\t\t\tsyscall: \"read\",\n\t\t\t\tcode: \"EOF\"\n\t\t\t});\n\t\t\treturn this[pt](() => this.emit(\"error\", r));\n\t\t}\n\t\tif (t > this.remain) {\n\t\t\tlet r = Object.assign(/* @__PURE__ */ new Error(\"did not encounter expected EOF\"), {\n\t\t\t\tpath: this.absolute,\n\t\t\t\tsyscall: \"read\",\n\t\t\t\tcode: \"EOF\"\n\t\t\t});\n\t\t\treturn this[pt](() => this.emit(\"error\", r));\n\t\t}\n\t\tif (!this.buf) throw new Error(\"should have created buffer prior to reading\");\n\t\tif (t === this.remain) for (let r = t; r < this.length && t < this.blockRemain; r++) this.buf[r + this.offset] = 0, t++, this.remain++;\n\t\tlet e = this.offset === 0 && t === this.buf.length ? this.buf : this.buf.subarray(this.offset, this.offset + t);\n\t\tthis.write(e) ? this[Ji]() : this[ns](() => this[Ji]());\n\t}\n\t[ns](t) {\n\t\tthis.once(\"drain\", t);\n\t}\n\twrite(t, e, i) {\n\t\tif (typeof e == \"function\" && (i = e, e = void 0), typeof t == \"string\" && (t = Buffer.from(t, typeof e == \"string\" ? e : \"utf8\")), this.blockRemain < t.length) {\n\t\t\tlet r = Object.assign(/* @__PURE__ */ new Error(\"writing more data than expected\"), { path: this.absolute });\n\t\t\treturn this.emit(\"error\", r);\n\t\t}\n\t\treturn this.remain -= t.length, this.blockRemain -= t.length, this.pos += t.length, this.offset += t.length, super.write(t, null, i);\n\t}\n\t[Ji]() {\n\t\tif (!this.remain) return this.blockRemain && super.write(Buffer.alloc(this.blockRemain)), this[pt]((t) => t ? this.emit(\"error\", t) : this.end());\n\t\tif (!this.buf) throw new Error(\"buffer lost somehow in ONDRAIN\");\n\t\tthis.offset >= this.length && (this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)), this.offset = 0), this.length = this.buf.length - this.offset, this[ei]();\n\t}\n}, ri = class extends de {\n\tsync = !0;\n\t[ts]() {\n\t\tthis[ii](I.lstatSync(this.absolute));\n\t}\n\t[ji]() {\n\t\tthis[is](I.readlinkSync(this.absolute));\n\t}\n\t[ss]() {\n\t\tthis[rs](I.openSync(this.absolute, \"r\"));\n\t}\n\t[ei]() {\n\t\tlet t = !0;\n\t\ttry {\n\t\t\tlet { fd: e, buf: i, offset: r, length: n, pos: o } = this;\n\t\t\tif (e === void 0 || i === void 0) throw new Error(\"fd and buf must be set in READ method\");\n\t\t\tlet h = I.readSync(e, i, r, n, o);\n\t\t\tthis[es](h), t = !1;\n\t\t} finally {\n\t\t\tif (t) try {\n\t\t\t\tthis[pt](() => {});\n\t\t\t} catch {}\n\t\t}\n\t}\n\t[ns](t) {\n\t\tt();\n\t}\n\t[pt](t = () => {}) {\n\t\tthis.fd !== void 0 && I.closeSync(this.fd), t();\n\t}\n}, ni = class extends A {\n\tblockLen = 0;\n\tblockRemain = 0;\n\tbuf = 0;\n\tpos = 0;\n\tremain = 0;\n\tlength = 0;\n\tpreservePaths;\n\tportable;\n\tstrict;\n\tnoPax;\n\tnoMtime;\n\treadEntry;\n\ttype;\n\tprefix;\n\tpath;\n\tmode;\n\tuid;\n\tgid;\n\tuname;\n\tgname;\n\theader;\n\tmtime;\n\tatime;\n\tctime;\n\tlinkpath;\n\tsize;\n\tonWriteEntry;\n\twarn(t, e, i = {}) {\n\t\treturn Nt(this, t, e, i);\n\t}\n\tconstructor(t, e = {}) {\n\t\tlet i = re(e);\n\t\tsuper(), this.preservePaths = !!i.preservePaths, this.portable = !!i.portable, this.strict = !!i.strict, this.noPax = !!i.noPax, this.noMtime = !!i.noMtime, this.onWriteEntry = i.onWriteEntry, this.readEntry = t;\n\t\tlet { type: r } = t;\n\t\tif (r === \"Unsupported\") throw new Error(\"writing entry that should be ignored\");\n\t\tthis.type = r, this.type === \"Directory\" && this.portable && (this.noMtime = !0), this.prefix = i.prefix, this.path = f(t.path), this.mode = t.mode !== void 0 ? this[si](t.mode) : void 0, this.uid = this.portable ? void 0 : t.uid, this.gid = this.portable ? void 0 : t.gid, this.uname = this.portable ? void 0 : t.uname, this.gname = this.portable ? void 0 : t.gname, this.size = t.size, this.mtime = this.noMtime ? void 0 : i.mtime || t.mtime, this.atime = this.portable ? void 0 : t.atime, this.ctime = this.portable ? void 0 : t.ctime, this.linkpath = t.linkpath !== void 0 ? f(t.linkpath) : void 0, typeof i.onwarn == \"function\" && this.on(\"warn\", i.onwarn);\n\t\tlet n = !1;\n\t\tif (!this.preservePaths) {\n\t\t\tlet [h, a] = ce(this.path);\n\t\t\th && typeof a == \"string\" && (this.path = a, n = h);\n\t\t}\n\t\tthis.remain = t.size, this.blockRemain = t.startBlockSize, this.onWriteEntry?.(this), this.header = new k({\n\t\t\tpath: this[X](this.path),\n\t\t\tlinkpath: this.type === \"Link\" && this.linkpath !== void 0 ? this[X](this.linkpath) : this.linkpath,\n\t\t\tmode: this.mode,\n\t\t\tuid: this.portable ? void 0 : this.uid,\n\t\t\tgid: this.portable ? void 0 : this.gid,\n\t\t\tsize: this.size,\n\t\t\tmtime: this.noMtime ? void 0 : this.mtime,\n\t\t\ttype: this.type,\n\t\t\tuname: this.portable ? void 0 : this.uname,\n\t\t\tatime: this.portable ? void 0 : this.atime,\n\t\t\tctime: this.portable ? void 0 : this.ctime\n\t\t}), n && this.warn(\"TAR_ENTRY_INFO\", `stripping ${n} from absolute path`, {\n\t\t\tentry: this,\n\t\t\tpath: n + this.path\n\t\t}), this.header.encode() && !this.noPax && super.write(new ct({\n\t\t\tatime: this.portable ? void 0 : this.atime,\n\t\t\tctime: this.portable ? void 0 : this.ctime,\n\t\t\tgid: this.portable ? void 0 : this.gid,\n\t\t\tmtime: this.noMtime ? void 0 : this.mtime,\n\t\t\tpath: this[X](this.path),\n\t\t\tlinkpath: this.type === \"Link\" && this.linkpath !== void 0 ? this[X](this.linkpath) : this.linkpath,\n\t\t\tsize: this.size,\n\t\t\tuid: this.portable ? void 0 : this.uid,\n\t\t\tuname: this.portable ? void 0 : this.uname,\n\t\t\tdev: this.portable ? void 0 : this.readEntry.dev,\n\t\t\tino: this.portable ? void 0 : this.readEntry.ino,\n\t\t\tnlink: this.portable ? void 0 : this.readEntry.nlink\n\t\t}).encode());\n\t\tlet o = this.header?.block;\n\t\tif (!o) throw new Error(\"failed to encode header\");\n\t\tsuper.write(o), t.pipe(this);\n\t}\n\t[X](t) {\n\t\treturn tr(t, this.prefix);\n\t}\n\t[si](t) {\n\t\treturn Xi(t, this.type === \"Directory\", this.portable);\n\t}\n\twrite(t, e, i) {\n\t\ttypeof e == \"function\" && (i = e, e = void 0), typeof t == \"string\" && (t = Buffer.from(t, typeof e == \"string\" ? e : \"utf8\"));\n\t\tlet r = t.length;\n\t\tif (r > this.blockRemain) throw new Error(\"writing more to entry than is appropriate\");\n\t\treturn this.blockRemain -= r, super.write(t, i);\n\t}\n\tend(t, e, i) {\n\t\treturn this.blockRemain && super.write(Buffer.alloc(this.blockRemain)), typeof t == \"function\" && (i = t, e = void 0, t = void 0), typeof e == \"function\" && (i = e, e = void 0), typeof t == \"string\" && (t = Buffer.from(t, e ?? \"utf8\")), i && this.once(\"finish\", i), t ? super.end(t, i) : super.end(i), this;\n\t}\n}, Bn = (s) => s.isFile() ? \"File\" : s.isDirectory() ? \"Directory\" : s.isSymbolicLink() ? \"SymbolicLink\" : \"Unsupported\";\nvar oi = class s {\n\ttail;\n\thead;\n\tlength = 0;\n\tstatic create(t = []) {\n\t\treturn new s(t);\n\t}\n\tconstructor(t = []) {\n\t\tfor (let e of t) this.push(e);\n\t}\n\t*[Symbol.iterator]() {\n\t\tfor (let t = this.head; t; t = t.next) yield t.value;\n\t}\n\tremoveNode(t) {\n\t\tif (t.list !== this) throw new Error(\"removing node which does not belong to this list\");\n\t\tlet e = t.next, i = t.prev;\n\t\treturn e && (e.prev = i), i && (i.next = e), t === this.head && (this.head = e), t === this.tail && (this.tail = i), this.length--, t.next = void 0, t.prev = void 0, t.list = void 0, e;\n\t}\n\tunshiftNode(t) {\n\t\tif (t === this.head) return;\n\t\tt.list && t.list.removeNode(t);\n\t\tlet e = this.head;\n\t\tt.list = this, t.next = e, e && (e.prev = t), this.head = t, this.tail || (this.tail = t), this.length++;\n\t}\n\tpushNode(t) {\n\t\tif (t === this.tail) return;\n\t\tt.list && t.list.removeNode(t);\n\t\tlet e = this.tail;\n\t\tt.list = this, t.prev = e, e && (e.next = t), this.tail = t, this.head || (this.head = t), this.length++;\n\t}\n\tpush(...t) {\n\t\tfor (let e = 0, i = t.length; e < i; e++) zn(this, t[e]);\n\t\treturn this.length;\n\t}\n\tunshift(...t) {\n\t\tfor (var e = 0, i = t.length; e < i; e++) Un(this, t[e]);\n\t\treturn this.length;\n\t}\n\tpop() {\n\t\tif (!this.tail) return;\n\t\tlet t = this.tail.value, e = this.tail;\n\t\treturn this.tail = this.tail.prev, this.tail ? this.tail.next = void 0 : this.head = void 0, e.list = void 0, this.length--, t;\n\t}\n\tshift() {\n\t\tif (!this.head) return;\n\t\tlet t = this.head.value, e = this.head;\n\t\treturn this.head = this.head.next, this.head ? this.head.prev = void 0 : this.tail = void 0, e.list = void 0, this.length--, t;\n\t}\n\tforEach(t, e) {\n\t\te = e || this;\n\t\tfor (let i = this.head, r = 0; i; r++) t.call(e, i.value, r, this), i = i.next;\n\t}\n\tforEachReverse(t, e) {\n\t\te = e || this;\n\t\tfor (let i = this.tail, r = this.length - 1; i; r--) t.call(e, i.value, r, this), i = i.prev;\n\t}\n\tget(t) {\n\t\tlet e = 0, i = this.head;\n\t\tfor (; i && e < t; e++) i = i.next;\n\t\tif (e === t && i) return i.value;\n\t}\n\tgetReverse(t) {\n\t\tlet e = 0, i = this.tail;\n\t\tfor (; i && e < t; e++) i = i.prev;\n\t\tif (e === t && i) return i.value;\n\t}\n\tmap(t, e) {\n\t\te = e || this;\n\t\tlet i = new s();\n\t\tfor (let r = this.head; r;) i.push(t.call(e, r.value, this)), r = r.next;\n\t\treturn i;\n\t}\n\tmapReverse(t, e) {\n\t\te = e || this;\n\t\tvar i = new s();\n\t\tfor (let r = this.tail; r;) i.push(t.call(e, r.value, this)), r = r.prev;\n\t\treturn i;\n\t}\n\treduce(t, e) {\n\t\tlet i, r = this.head;\n\t\tif (arguments.length > 1) i = e;\n\t\telse if (this.head) r = this.head.next, i = this.head.value;\n\t\telse throw new TypeError(\"Reduce of empty list with no initial value\");\n\t\tfor (var n = 0; r; n++) i = t(i, r.value, n), r = r.next;\n\t\treturn i;\n\t}\n\treduceReverse(t, e) {\n\t\tlet i, r = this.tail;\n\t\tif (arguments.length > 1) i = e;\n\t\telse if (this.tail) r = this.tail.prev, i = this.tail.value;\n\t\telse throw new TypeError(\"Reduce of empty list with no initial value\");\n\t\tfor (let n = this.length - 1; r; n--) i = t(i, r.value, n), r = r.prev;\n\t\treturn i;\n\t}\n\ttoArray() {\n\t\tlet t = new Array(this.length);\n\t\tfor (let e = 0, i = this.head; i; e++) t[e] = i.value, i = i.next;\n\t\treturn t;\n\t}\n\ttoArrayReverse() {\n\t\tlet t = new Array(this.length);\n\t\tfor (let e = 0, i = this.tail; i; e++) t[e] = i.value, i = i.prev;\n\t\treturn t;\n\t}\n\tslice(t = 0, e = this.length) {\n\t\te < 0 && (e += this.length), t < 0 && (t += this.length);\n\t\tlet i = new s();\n\t\tif (e < t || e < 0) return i;\n\t\tt < 0 && (t = 0), e > this.length && (e = this.length);\n\t\tlet r = this.head, n = 0;\n\t\tfor (n = 0; r && n < t; n++) r = r.next;\n\t\tfor (; r && n < e; n++, r = r.next) i.push(r.value);\n\t\treturn i;\n\t}\n\tsliceReverse(t = 0, e = this.length) {\n\t\te < 0 && (e += this.length), t < 0 && (t += this.length);\n\t\tlet i = new s();\n\t\tif (e < t || e < 0) return i;\n\t\tt < 0 && (t = 0), e > this.length && (e = this.length);\n\t\tlet r = this.length, n = this.tail;\n\t\tfor (; n && r > e; r--) n = n.prev;\n\t\tfor (; n && r > t; r--, n = n.prev) i.push(n.value);\n\t\treturn i;\n\t}\n\tsplice(t, e = 0, ...i) {\n\t\tt > this.length && (t = this.length - 1), t < 0 && (t = this.length + t);\n\t\tlet r = this.head;\n\t\tfor (let o = 0; r && o < t; o++) r = r.next;\n\t\tlet n = [];\n\t\tfor (let o = 0; r && o < e; o++) n.push(r.value), r = this.removeNode(r);\n\t\tr ? r !== this.tail && (r = r.prev) : r = this.tail;\n\t\tfor (let o of i) r = Pn(this, r, o);\n\t\treturn n;\n\t}\n\treverse() {\n\t\tlet t = this.head, e = this.tail;\n\t\tfor (let i = t; i; i = i.prev) {\n\t\t\tlet r = i.prev;\n\t\t\ti.prev = i.next, i.next = r;\n\t\t}\n\t\treturn this.head = e, this.tail = t, this;\n\t}\n};\nfunction Pn(s, t, e) {\n\tlet n = new ue(e, t, t ? t.next : s.head, s);\n\treturn n.next === void 0 && (s.tail = n), n.prev === void 0 && (s.head = n), s.length++, n;\n}\nfunction zn(s, t) {\n\ts.tail = new ue(t, s.tail, void 0, s), s.head || (s.head = s.tail), s.length++;\n}\nfunction Un(s, t) {\n\ts.head = new ue(t, void 0, s.head, s), s.tail || (s.tail = s.head), s.length++;\n}\nvar ue = class {\n\tlist;\n\tnext;\n\tprev;\n\tvalue;\n\tconstructor(t, e, i, r) {\n\t\tthis.list = r, this.value = t, e ? (e.next = this, this.prev = e) : this.prev = void 0, i ? (i.prev = this, this.next = i) : this.next = void 0;\n\t}\n};\nvar mi = class {\n\tpath;\n\tabsolute;\n\tentry;\n\tstat;\n\treaddir;\n\tpending = !1;\n\tpendingLink = !1;\n\tignore = !1;\n\tpiped = !1;\n\tconstructor(t, e) {\n\t\tthis.path = t || \"./\", this.absolute = e;\n\t}\n}, er = Buffer.alloc(1024), ai = Symbol(\"onStat\"), me = Symbol(\"ended\"), W = Symbol(\"queue\"), pe = Symbol(\"queue\"), Et = Symbol(\"current\"), kt = Symbol(\"process\"), Ee = Symbol(\"processing\"), hi = Symbol(\"processJob\"), G = Symbol(\"jobs\"), os = Symbol(\"jobDone\"), li = Symbol(\"addFSEntry\"), ir = Symbol(\"addTarEntry\"), ls = Symbol(\"stat\"), cs = Symbol(\"readdir\"), ci = Symbol(\"onreaddir\"), fi = Symbol(\"pipe\"), sr = Symbol(\"entry\"), hs = Symbol(\"entryOpt\"), di = Symbol(\"writeEntryClass\"), nr = Symbol(\"write\"), as = Symbol(\"ondrain\"), wt = class extends A {\n\tsync = !1;\n\topt;\n\tcwd;\n\tmaxReadSize;\n\tpreservePaths;\n\tstrict;\n\tnoPax;\n\tprefix;\n\tlinkCache;\n\tstatCache;\n\tfile;\n\tportable;\n\tzip;\n\treaddirCache;\n\tnoDirRecurse;\n\tfollow;\n\tnoMtime;\n\tmtime;\n\tfilter;\n\tjobs;\n\t[di];\n\tonWriteEntry;\n\t[W];\n\t[pe] = /* @__PURE__ */ new Map();\n\t[G] = 0;\n\t[Ee] = !1;\n\t[me] = !1;\n\tconstructor(t = {}) {\n\t\tif (super(), this.opt = t, this.file = t.file || \"\", this.cwd = t.cwd || process.cwd(), this.maxReadSize = t.maxReadSize, this.preservePaths = !!t.preservePaths, this.strict = !!t.strict, this.noPax = !!t.noPax, this.prefix = f(t.prefix || \"\"), this.linkCache = t.linkCache || /* @__PURE__ */ new Map(), this.statCache = t.statCache || /* @__PURE__ */ new Map(), this.readdirCache = t.readdirCache || /* @__PURE__ */ new Map(), this.onWriteEntry = t.onWriteEntry, this[di] = de, typeof t.onwarn == \"function\" && this.on(\"warn\", t.onwarn), this.portable = !!t.portable, t.gzip || t.brotli || t.zstd) {\n\t\t\tif ((t.gzip ? 1 : 0) + (t.brotli ? 1 : 0) + (t.zstd ? 1 : 0) > 1) throw new TypeError(\"gzip, brotli, zstd are mutually exclusive\");\n\t\t\tif (t.gzip && (typeof t.gzip != \"object\" && (t.gzip = {}), this.portable && (t.gzip.portable = !0), this.zip = new ze(t.gzip)), t.brotli && (typeof t.brotli != \"object\" && (t.brotli = {}), this.zip = new We(t.brotli)), t.zstd && (typeof t.zstd != \"object\" && (t.zstd = {}), this.zip = new Ye(t.zstd)), !this.zip) throw new Error(\"impossible\");\n\t\t\tlet e = this.zip;\n\t\t\te.on(\"data\", (i) => super.write(i)), e.on(\"end\", () => super.end()), e.on(\"drain\", () => this[as]()), this.on(\"resume\", () => e.resume());\n\t\t} else this.on(\"drain\", this[as]);\n\t\tthis.noDirRecurse = !!t.noDirRecurse, this.follow = !!t.follow, this.noMtime = !!t.noMtime, t.mtime && (this.mtime = t.mtime), this.filter = typeof t.filter == \"function\" ? t.filter : () => !0, this[W] = new oi(), this[G] = 0, this.jobs = Number(t.jobs) || 4, this[Ee] = !1, this[me] = !1;\n\t}\n\t[nr](t) {\n\t\treturn super.write(t);\n\t}\n\tadd(t) {\n\t\treturn this.write(t), this;\n\t}\n\tend(t, e, i) {\n\t\treturn typeof t == \"function\" && (i = t, t = void 0), typeof e == \"function\" && (i = e, e = void 0), t && this.add(t), this[me] = !0, this[kt](), i && i(), this;\n\t}\n\twrite(t) {\n\t\tif (this[me]) throw new Error(\"write after end\");\n\t\treturn t instanceof Yt ? this[ir](t) : this[li](t), this.flowing;\n\t}\n\t[ir](t) {\n\t\tlet e = f(Xs.resolve(this.cwd, t.path));\n\t\tif (!this.filter(t.path, t)) t.resume();\n\t\telse {\n\t\t\tlet i = new mi(t.path, e);\n\t\t\ti.entry = new ni(t, this[hs](i)), i.entry.on(\"end\", () => this[os](i)), this[G] += 1, this[W].push(i);\n\t\t}\n\t\tthis[kt]();\n\t}\n\t[li](t) {\n\t\tlet e = f(Xs.resolve(this.cwd, t));\n\t\tthis[W].push(new mi(t, e)), this[kt]();\n\t}\n\t[ls](t) {\n\t\tt.pending = !0, this[G] += 1;\n\t\tI[this.follow ? \"stat\" : \"lstat\"](t.absolute, (i, r) => {\n\t\t\tt.pending = !1, this[G] -= 1, i ? this.emit(\"error\", i) : this[ai](t, r);\n\t\t});\n\t}\n\t[ai](t, e) {\n\t\tif (this.statCache.set(t.absolute, e), t.stat = e, !this.filter(t.path, e)) t.ignore = !0;\n\t\telse if (e.isFile() && e.nlink > 1 && !this.linkCache.get(`${e.dev}:${e.ino}`) && !this.sync) if (t === this[Et]) this[hi](t);\n\t\telse {\n\t\t\tlet i = `${e.dev}:${e.ino}`, r = this[pe].get(i);\n\t\t\tr ? r.push(t) : this[pe].set(i, [t]), t.pendingLink = !0, t.pending = !0;\n\t\t}\n\t\tthis[kt]();\n\t}\n\t[cs](t) {\n\t\tt.pending = !0, this[G] += 1, I.readdir(t.absolute, (e, i) => {\n\t\t\tif (t.pending = !1, this[G] -= 1, e) return this.emit(\"error\", e);\n\t\t\tthis[ci](t, i);\n\t\t});\n\t}\n\t[ci](t, e) {\n\t\tthis.readdirCache.set(t.absolute, e), t.readdir = e, this[kt]();\n\t}\n\t[kt]() {\n\t\tif (!this[Ee]) {\n\t\t\tthis[Ee] = !0;\n\t\t\tfor (let t = this[W].head; t && this[G] < this.jobs; t = t.next) if (this[hi](t.value), t.value.ignore) {\n\t\t\t\tlet e = t.next;\n\t\t\t\tthis[W].removeNode(t), t.next = e;\n\t\t\t}\n\t\t\tthis[Ee] = !1, this[me] && this[W].length === 0 && this[G] === 0 && (this.zip ? this.zip.end(er) : (super.write(er), super.end()));\n\t\t}\n\t}\n\tget [Et]() {\n\t\treturn this[W] && this[W].head && this[W].head.value;\n\t}\n\t[os](t) {\n\t\tthis[W].shift(), this[G] -= 1;\n\t\tlet { stat: e } = t;\n\t\tif (e && e.isFile() && e.nlink > 1) {\n\t\t\tlet i = `${e.dev}:${e.ino}`, r = this[pe].get(i);\n\t\t\tif (r) {\n\t\t\t\tthis[pe].delete(i);\n\t\t\t\tfor (let n of r) n.pending = !1, this[hi](n);\n\t\t\t}\n\t\t}\n\t\tthis[kt]();\n\t}\n\t[hi](t) {\n\t\tif (t.pending && t.pendingLink && t === this[Et] && (t.pending = !1, t.pendingLink = !1), !t.pending) {\n\t\t\tif (t.entry) {\n\t\t\t\tt === this[Et] && !t.piped && this[fi](t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!t.stat) {\n\t\t\t\tlet e = this.statCache.get(t.absolute);\n\t\t\t\te ? this[ai](t, e) : this[ls](t);\n\t\t\t}\n\t\t\tif (t.stat && !t.ignore) {\n\t\t\t\tif (!this.noDirRecurse && t.stat.isDirectory() && !t.readdir) {\n\t\t\t\t\tlet e = this.readdirCache.get(t.absolute);\n\t\t\t\t\tif (e ? this[ci](t, e) : this[cs](t), !t.readdir) return;\n\t\t\t\t}\n\t\t\t\tif (t.entry = this[sr](t), !t.entry) {\n\t\t\t\t\tt.ignore = !0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tt === this[Et] && !t.piped && this[fi](t);\n\t\t\t}\n\t\t}\n\t}\n\t[hs](t) {\n\t\treturn {\n\t\t\tonwarn: (e, i, r) => this.warn(e, i, r),\n\t\t\tnoPax: this.noPax,\n\t\t\tcwd: this.cwd,\n\t\t\tabsolute: t.absolute,\n\t\t\tpreservePaths: this.preservePaths,\n\t\t\tmaxReadSize: this.maxReadSize,\n\t\t\tstrict: this.strict,\n\t\t\tportable: this.portable,\n\t\t\tlinkCache: this.linkCache,\n\t\t\tstatCache: this.statCache,\n\t\t\tnoMtime: this.noMtime,\n\t\t\tmtime: this.mtime,\n\t\t\tprefix: this.prefix,\n\t\t\tonWriteEntry: this.onWriteEntry\n\t\t};\n\t}\n\t[sr](t) {\n\t\tthis[G] += 1;\n\t\ttry {\n\t\t\treturn new this[di](t.path, this[hs](t)).on(\"end\", () => this[os](t)).on(\"error\", (i) => this.emit(\"error\", i));\n\t\t} catch (e) {\n\t\t\tthis.emit(\"error\", e);\n\t\t}\n\t}\n\t[as]() {\n\t\tthis[Et] && this[Et].entry && this[Et].entry.resume();\n\t}\n\t[fi](t) {\n\t\tt.piped = !0, t.readdir && t.readdir.forEach((r) => {\n\t\t\tlet n = t.path, o = n === \"./\" ? \"\" : n.replace(/\\/*$/, \"/\");\n\t\t\tthis[li](o + r);\n\t\t});\n\t\tlet e = t.entry, i = this.zip;\n\t\tif (!e) throw new Error(\"cannot pipe without source\");\n\t\ti ? e.on(\"data\", (r) => {\n\t\t\ti.write(r) || e.pause();\n\t\t}) : e.on(\"data\", (r) => {\n\t\t\tsuper.write(r) || e.pause();\n\t\t});\n\t}\n\tpause() {\n\t\treturn this.zip && this.zip.pause(), super.pause();\n\t}\n\twarn(t, e, i = {}) {\n\t\tNt(this, t, e, i);\n\t}\n}, Ft = class extends wt {\n\tsync = !0;\n\tconstructor(t) {\n\t\tsuper(t), this[di] = ri;\n\t}\n\tpause() {}\n\tresume() {}\n\t[ls](t) {\n\t\tlet e = this.follow ? \"statSync\" : \"lstatSync\";\n\t\tthis[ai](t, I[e](t.absolute));\n\t}\n\t[cs](t) {\n\t\tthis[ci](t, I.readdirSync(t.absolute));\n\t}\n\t[fi](t) {\n\t\tlet e = t.entry, i = this.zip;\n\t\tif (t.readdir && t.readdir.forEach((r) => {\n\t\t\tlet n = t.path, o = n === \"./\" ? \"\" : n.replace(/\\/*$/, \"/\");\n\t\t\tthis[li](o + r);\n\t\t}), !e) throw new Error(\"Cannot pipe without source\");\n\t\ti ? e.on(\"data\", (r) => {\n\t\t\ti.write(r);\n\t\t}) : e.on(\"data\", (r) => {\n\t\t\tsuper[nr](r);\n\t\t});\n\t}\n}, Hn = (s, t) => {\n\tlet e = new Ft(s), i = new Wt(s.file, { mode: s.mode || 438 });\n\te.pipe(i), hr(e, t);\n}, Wn = (s, t) => {\n\tlet e = new wt(s), i = new tt(s.file, { mode: s.mode || 438 });\n\te.pipe(i);\n\tlet r = new Promise((n, o) => {\n\t\ti.on(\"error\", o), i.on(\"close\", n), e.on(\"error\", o);\n\t});\n\treturn ar(e, t).catch((n) => e.emit(\"error\", n)), r;\n}, hr = (s, t) => {\n\tt.forEach((e) => {\n\t\te.charAt(0) === \"@\" ? Ct({\n\t\t\tfile: or.resolve(s.cwd, e.slice(1)),\n\t\t\tsync: !0,\n\t\t\tnoResume: !0,\n\t\t\tonReadEntry: (i) => s.add(i)\n\t\t}) : s.add(e);\n\t}), s.end();\n}, ar = async (s, t) => {\n\tfor (let e of t) e.charAt(0) === \"@\" ? await Ct({\n\t\tfile: or.resolve(String(s.cwd), e.slice(1)),\n\t\tnoResume: !0,\n\t\tonReadEntry: (i) => {\n\t\t\ts.add(i);\n\t\t}\n\t}) : s.add(e);\n\ts.end();\n}, Gn = (s, t) => {\n\tlet e = new Ft(s);\n\treturn hr(e, t), e;\n}, Zn = (s, t) => {\n\tlet e = new wt(s);\n\treturn ar(e, t).catch((i) => e.emit(\"error\", i)), e;\n};\nK(Hn, Wn, Gn, Zn, (s, t) => {\n\tif (!t?.length) throw new TypeError(\"no paths specified to add to archive\");\n});\nvar dr = (process.env.__FAKE_PLATFORM__ || process.platform) === \"win32\", { O_CREAT: ur, O_NOFOLLOW: lr, O_TRUNC: mr, O_WRONLY: pr } = I.constants, Er = Number(process.env.__FAKE_FS_O_FILENAME__) || I.constants.UV_FS_O_FILEMAP || 0, Vn = dr && !!Er, $n = 512 * 1024, Xn = Er | mr | ur | pr, cr = !dr && typeof lr == \"number\" ? lr | mr | ur | pr : null, fs = cr !== null ? () => cr : Vn ? (s) => s < $n ? Xn : \"w\" : () => \"w\";\nvar ds = (s, t, e) => {\n\ttry {\n\t\treturn Vt.lchownSync(s, t, e);\n\t} catch (i) {\n\t\tif (i?.code !== \"ENOENT\") throw i;\n\t}\n}, pi = (s, t, e, i) => {\n\tVt.lchown(s, t, e, (r) => {\n\t\ti(r && r?.code !== \"ENOENT\" ? r : null);\n\t});\n}, qn = (s, t, e, i, r) => {\n\tif (t.isDirectory()) us(or.resolve(s, t.name), e, i, (n) => {\n\t\tif (n) return r(n);\n\t\tpi(or.resolve(s, t.name), e, i, r);\n\t});\n\telse pi(or.resolve(s, t.name), e, i, r);\n}, us = (s, t, e, i) => {\n\tVt.readdir(s, { withFileTypes: !0 }, (r, n) => {\n\t\tif (r) {\n\t\t\tif (r.code === \"ENOENT\") return i();\n\t\t\tif (r.code !== \"ENOTDIR\" && r.code !== \"ENOTSUP\") return i(r);\n\t\t}\n\t\tif (r || !n.length) return pi(s, t, e, i);\n\t\tlet o = n.length, h = null, a = (l) => {\n\t\t\tif (!h) {\n\t\t\t\tif (l) return i(h = l);\n\t\t\t\tif (--o === 0) return pi(s, t, e, i);\n\t\t\t}\n\t\t};\n\t\tfor (let l of n) qn(s, l, t, e, a);\n\t});\n}, Qn = (s, t, e, i) => {\n\tt.isDirectory() && ms(or.resolve(s, t.name), e, i), ds(or.resolve(s, t.name), e, i);\n}, ms = (s, t, e) => {\n\tlet i;\n\ttry {\n\t\ti = Vt.readdirSync(s, { withFileTypes: !0 });\n\t} catch (r) {\n\t\tlet n = r;\n\t\tif (n?.code === \"ENOENT\") return;\n\t\tif (n?.code === \"ENOTDIR\" || n?.code === \"ENOTSUP\") return ds(s, t, e);\n\t\tthrow n;\n\t}\n\tfor (let r of i) Qn(s, r, t, e);\n\treturn ds(s, t, e);\n};\nvar Se = class extends Error {\n\tpath;\n\tcode;\n\tsyscall = \"chdir\";\n\tconstructor(t, e) {\n\t\tsuper(`${e}: Cannot cd into '${t}'`), this.path = t, this.code = e;\n\t}\n\tget name() {\n\t\treturn \"CwdError\";\n\t}\n};\nvar St = class extends Error {\n\tpath;\n\tsymlink;\n\tsyscall = \"symlink\";\n\tcode = \"TAR_SYMLINK_ERROR\";\n\tconstructor(t, e) {\n\t\tsuper(\"TAR_SYMLINK_ERROR: Cannot extract through symbolic link\"), this.symlink = t, this.path = e;\n\t}\n\tget name() {\n\t\treturn \"SymlinkError\";\n\t}\n};\nvar jn = (s, t) => {\n\tVt.stat(s, (e, i) => {\n\t\t(e || !i.isDirectory()) && (e = new Se(s, e?.code || \"ENOTDIR\")), t(e);\n\t});\n}, wr = (s, t, e) => {\n\ts = f(s);\n\tlet i = t.umask ?? 18, r = t.mode | 448, n = (r & i) !== 0, o = t.uid, h = t.gid, a = typeof o == \"number\" && typeof h == \"number\" && (o !== t.processUid || h !== t.processGid), l = t.preserve, c = t.unlink, d = f(t.cwd), S = (E, x) => {\n\t\tE ? e(E) : x && a ? us(x, o, h, (Le) => S(Le)) : n ? Vt.chmod(s, r, e) : e();\n\t};\n\tif (s === d) return jn(s, S);\n\tif (l) return Jn.mkdir(s, {\n\t\tmode: r,\n\t\trecursive: !0\n\t}).then((E) => S(null, E ?? void 0), S);\n\tps(d, f(or.relative(d, s)).split(\"/\"), r, c, d, void 0, S);\n}, ps = (s, t, e, i, r, n, o) => {\n\tif (t.length === 0) return o(null, n);\n\tlet h = t.shift(), a = f(or.resolve(s + \"/\" + h));\n\tVt.mkdir(a, e, Sr(a, t, e, i, r, n, o));\n}, Sr = (s, t, e, i, r, n, o) => (h) => {\n\th ? Vt.lstat(s, (a, l) => {\n\t\tif (a) a.path = a.path && f(a.path), o(a);\n\t\telse if (l.isDirectory()) ps(s, t, e, i, r, n, o);\n\t\telse if (i) Vt.unlink(s, (c) => {\n\t\t\tif (c) return o(c);\n\t\t\tVt.mkdir(s, e, Sr(s, t, e, i, r, n, o));\n\t\t});\n\t\telse {\n\t\t\tif (l.isSymbolicLink()) return o(new St(s, s + \"/\" + t.join(\"/\")));\n\t\t\to(h);\n\t\t}\n\t}) : (n = n || s, ps(s, t, e, i, r, n, o));\n}, to = (s) => {\n\tlet t = !1, e;\n\ttry {\n\t\tt = Vt.statSync(s).isDirectory();\n\t} catch (i) {\n\t\te = i?.code;\n\t} finally {\n\t\tif (!t) throw new Se(s, e ?? \"ENOTDIR\");\n\t}\n}, yr = (s, t) => {\n\ts = f(s);\n\tlet e = t.umask ?? 18, i = t.mode | 448, r = (i & e) !== 0, n = t.uid, o = t.gid, h = typeof n == \"number\" && typeof o == \"number\" && (n !== t.processUid || o !== t.processGid), a = t.preserve, l = t.unlink, c = f(t.cwd), d = (E) => {\n\t\tE && h && ms(E, n, o), r && Vt.chmodSync(s, i);\n\t};\n\tif (s === c) return to(c), d();\n\tif (a) return d(Vt.mkdirSync(s, {\n\t\tmode: i,\n\t\trecursive: !0\n\t}) ?? void 0);\n\tlet T = f(or.relative(c, s)).split(\"/\"), N;\n\tfor (let E = T.shift(), x = c; E && (x += \"/\" + E); E = T.shift()) {\n\t\tx = f(or.resolve(x));\n\t\ttry {\n\t\t\tVt.mkdirSync(x, i), N = N || x;\n\t\t} catch {\n\t\t\tlet Le = Vt.lstatSync(x);\n\t\t\tif (Le.isDirectory()) continue;\n\t\t\tif (l) {\n\t\t\t\tVt.unlinkSync(x), Vt.mkdirSync(x, i), N = N || x;\n\t\t\t\tcontinue;\n\t\t\t} else if (Le.isSymbolicLink()) return new St(x, x + \"/\" + T.join(\"/\"));\n\t\t}\n\t}\n\treturn d(N);\n};\nvar Es = Object.create(null), Rr = 1e4, $t = /* @__PURE__ */ new Set(), gr = (s) => {\n\t$t.has(s) ? $t.delete(s) : Es[s] = s.normalize(\"NFD\").toLocaleLowerCase(\"en\").toLocaleUpperCase(\"en\"), $t.add(s);\n\tlet t = Es[s], e = $t.size - Rr;\n\tif (e > Rr / 10) {\n\t\tfor (let i of $t) if ($t.delete(i), delete Es[i], --e <= 0) break;\n\t}\n\treturn t;\n};\nvar io = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === \"win32\", so = (s) => s.split(\"/\").slice(0, -1).reduce((e, i) => {\n\tlet r = e.at(-1);\n\treturn r !== void 0 && (i = join(r, i)), e.push(i || \"/\"), e;\n}, []), Si = class {\n\t#t = /* @__PURE__ */ new Map();\n\t#i = /* @__PURE__ */ new Map();\n\t#s = /* @__PURE__ */ new Set();\n\treserve(t, e) {\n\t\tt = io ? [\"win32 parallelization disabled\"] : t.map((r) => mt(join(gr(r))));\n\t\tlet i = new Set(t.map((r) => so(r)).reduce((r, n) => r.concat(n)));\n\t\tthis.#i.set(e, {\n\t\t\tdirs: i,\n\t\t\tpaths: t\n\t\t});\n\t\tfor (let r of t) {\n\t\t\tlet n = this.#t.get(r);\n\t\t\tn ? n.push(e) : this.#t.set(r, [e]);\n\t\t}\n\t\tfor (let r of i) {\n\t\t\tlet n = this.#t.get(r);\n\t\t\tif (!n) this.#t.set(r, [new Set([e])]);\n\t\t\telse {\n\t\t\t\tlet o = n.at(-1);\n\t\t\t\to instanceof Set ? o.add(e) : n.push(new Set([e]));\n\t\t\t}\n\t\t}\n\t\treturn this.#r(e);\n\t}\n\t#n(t) {\n\t\tlet e = this.#i.get(t);\n\t\tif (!e) throw new Error(\"function does not have any path reservations\");\n\t\treturn {\n\t\t\tpaths: e.paths.map((i) => this.#t.get(i)),\n\t\t\tdirs: [...e.dirs].map((i) => this.#t.get(i))\n\t\t};\n\t}\n\tcheck(t) {\n\t\tlet { paths: e, dirs: i } = this.#n(t);\n\t\treturn e.every((r) => r && r[0] === t) && i.every((r) => r && r[0] instanceof Set && r[0].has(t));\n\t}\n\t#r(t) {\n\t\treturn this.#s.has(t) || !this.check(t) ? !1 : (this.#s.add(t), t(() => this.#e(t)), !0);\n\t}\n\t#e(t) {\n\t\tif (!this.#s.has(t)) return !1;\n\t\tlet e = this.#i.get(t);\n\t\tif (!e) throw new Error(\"invalid reservation\");\n\t\tlet { paths: i, dirs: r } = e, n = /* @__PURE__ */ new Set();\n\t\tfor (let o of i) {\n\t\t\tlet h = this.#t.get(o);\n\t\t\tif (!h || h?.[0] !== t) continue;\n\t\t\tlet a = h[1];\n\t\t\tif (!a) {\n\t\t\t\tthis.#t.delete(o);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (h.shift(), typeof a == \"function\") n.add(a);\n\t\t\telse for (let l of a) n.add(l);\n\t\t}\n\t\tfor (let o of r) {\n\t\t\tlet h = this.#t.get(o), a = h?.[0];\n\t\t\tif (!(!h || !(a instanceof Set))) if (a.size === 1 && h.length === 1) {\n\t\t\t\tthis.#t.delete(o);\n\t\t\t\tcontinue;\n\t\t\t} else if (a.size === 1) {\n\t\t\t\th.shift();\n\t\t\t\tlet l = h[0];\n\t\t\t\ttypeof l == \"function\" && n.add(l);\n\t\t\t} else a.delete(t);\n\t\t}\n\t\treturn this.#s.delete(t), n.forEach((o) => this.#r(o)), !0;\n\t}\n};\nvar _r = () => process.umask();\nvar Or = Symbol(\"onEntry\"), Rs = Symbol(\"checkFs\"), Tr = Symbol(\"checkFs2\"), gs = Symbol(\"isReusable\"), P = Symbol(\"makeFs\"), bs = Symbol(\"file\"), _s = Symbol(\"directory\"), Ri = Symbol(\"link\"), xr = Symbol(\"symlink\"), Lr = Symbol(\"hardlink\"), Re = Symbol(\"ensureNoSymlink\"), Nr = Symbol(\"unsupported\"), Dr = Symbol(\"checkPath\"), ws = Symbol(\"stripAbsolutePath\"), yt = Symbol(\"mkdir\"), O = Symbol(\"onError\"), yi = Symbol(\"pending\"), Ar = Symbol(\"pend\"), Xt = Symbol(\"unpend\"), Ss = Symbol(\"ended\"), ys = Symbol(\"maybeClose\"), Os = Symbol(\"skip\"), ge = Symbol(\"doChown\"), be = Symbol(\"uid\"), _e = Symbol(\"gid\"), Oe = Symbol(\"checkedCwd\"), Te = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === \"win32\", oo = 1024, ho = (s, t) => {\n\tif (!Te) return Vt.unlink(s, t);\n\tlet e = s + \".DELETE.\" + randomBytes(16).toString(\"hex\");\n\tVt.rename(s, e, (i) => {\n\t\tif (i) return t(i);\n\t\tVt.unlink(e, t);\n\t});\n}, ao = (s) => {\n\tif (!Te) return Vt.unlinkSync(s);\n\tlet t = s + \".DELETE.\" + randomBytes(16).toString(\"hex\");\n\tVt.renameSync(s, t), Vt.unlinkSync(t);\n}, Ir = (s, t, e) => s !== void 0 && s === s >>> 0 ? s : t !== void 0 && t === t >>> 0 ? t : e, qt = class extends st {\n\t[Ss] = !1;\n\t[Oe] = !1;\n\t[yi] = 0;\n\treservations = new Si();\n\ttransform;\n\twritable = !0;\n\treadable = !1;\n\tuid;\n\tgid;\n\tsetOwner;\n\tpreserveOwner;\n\tprocessGid;\n\tprocessUid;\n\tmaxDepth;\n\tforceChown;\n\twin32;\n\tnewer;\n\tkeep;\n\tnoMtime;\n\tpreservePaths;\n\tunlink;\n\tcwd;\n\tstrip;\n\tprocessUmask;\n\tumask;\n\tdmode;\n\tfmode;\n\tchmod;\n\tconstructor(t = {}) {\n\t\tif (t.ondone = () => {\n\t\t\tthis[Ss] = !0, this[ys]();\n\t\t}, super(t), this.transform = t.transform, this.chmod = !!t.chmod, typeof t.uid == \"number\" || typeof t.gid == \"number\") {\n\t\t\tif (typeof t.uid != \"number\" || typeof t.gid != \"number\") throw new TypeError(\"cannot set owner without number uid and gid\");\n\t\t\tif (t.preserveOwner) throw new TypeError(\"cannot preserve owner in archive and also set owner explicitly\");\n\t\t\tthis.uid = t.uid, this.gid = t.gid, this.setOwner = !0;\n\t\t} else this.uid = void 0, this.gid = void 0, this.setOwner = !1;\n\t\tthis.preserveOwner = t.preserveOwner === void 0 && typeof t.uid != \"number\" ? !!(process.getuid && process.getuid() === 0) : !!t.preserveOwner, this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : void 0, this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : void 0, this.maxDepth = typeof t.maxDepth == \"number\" ? t.maxDepth : oo, this.forceChown = t.forceChown === !0, this.win32 = !!t.win32 || Te, this.newer = !!t.newer, this.keep = !!t.keep, this.noMtime = !!t.noMtime, this.preservePaths = !!t.preservePaths, this.unlink = !!t.unlink, this.cwd = f(or.resolve(t.cwd || process.cwd())), this.strip = Number(t.strip) || 0, this.processUmask = this.chmod ? typeof t.processUmask == \"number\" ? t.processUmask : _r() : 0, this.umask = typeof t.umask == \"number\" ? t.umask : this.processUmask, this.dmode = t.dmode || 511 & ~this.umask, this.fmode = t.fmode || 438 & ~this.umask, this.on(\"entry\", (e) => this[Or](e));\n\t}\n\twarn(t, e, i = {}) {\n\t\treturn (t === \"TAR_BAD_ARCHIVE\" || t === \"TAR_ABORT\") && (i.recoverable = !1), super.warn(t, e, i);\n\t}\n\t[ys]() {\n\t\tthis[Ss] && this[yi] === 0 && (this.emit(\"prefinish\"), this.emit(\"finish\"), this.emit(\"end\"));\n\t}\n\t[ws](t, e) {\n\t\tlet i = t[e], { type: r } = t;\n\t\tif (!i || this.preservePaths) return !0;\n\t\tlet [n, o] = ce(i), h = o.replaceAll(/\\\\/g, \"/\").split(\"/\");\n\t\tif (h.includes(\"..\") || Te && /^[a-z]:\\.\\.$/i.test(h[0] ?? \"\")) {\n\t\t\tif (e === \"path\" || r === \"Link\") return this.warn(\"TAR_ENTRY_ERROR\", `${e} contains '..'`, {\n\t\t\t\tentry: t,\n\t\t\t\t[e]: i\n\t\t\t}), !1;\n\t\t\tlet a = or.posix.dirname(t.path), l = or.posix.normalize(or.posix.join(a, h.join(\"/\")));\n\t\t\tif (l.startsWith(\"../\") || l === \"..\") return this.warn(\"TAR_ENTRY_ERROR\", `${e} escapes extraction directory`, {\n\t\t\t\tentry: t,\n\t\t\t\t[e]: i\n\t\t\t}), !1;\n\t\t}\n\t\treturn n && (t[e] = String(o), this.warn(\"TAR_ENTRY_INFO\", `stripping ${n} from absolute ${e}`, {\n\t\t\tentry: t,\n\t\t\t[e]: i\n\t\t})), !0;\n\t}\n\t[Dr](t) {\n\t\tlet e = f(t.path), i = e.split(\"/\");\n\t\tif (this.strip) {\n\t\t\tif (i.length < this.strip) return !1;\n\t\t\tif (t.type === \"Link\") {\n\t\t\t\tlet r = f(String(t.linkpath)).split(\"/\");\n\t\t\t\tif (r.length >= this.strip) t.linkpath = r.slice(this.strip).join(\"/\");\n\t\t\t\telse return !1;\n\t\t\t}\n\t\t\ti.splice(0, this.strip), t.path = i.join(\"/\");\n\t\t}\n\t\tif (isFinite(this.maxDepth) && i.length > this.maxDepth) return this.warn(\"TAR_ENTRY_ERROR\", \"path excessively deep\", {\n\t\t\tentry: t,\n\t\t\tpath: e,\n\t\t\tdepth: i.length,\n\t\t\tmaxDepth: this.maxDepth\n\t\t}), !1;\n\t\tif (!this[ws](t, \"path\") || !this[ws](t, \"linkpath\")) return !1;\n\t\tif (t.absolute = or.isAbsolute(t.path) ? f(or.resolve(t.path)) : f(or.resolve(this.cwd, t.path)), !this.preservePaths && typeof t.absolute == \"string\" && t.absolute.indexOf(this.cwd + \"/\") !== 0 && t.absolute !== this.cwd) return this.warn(\"TAR_ENTRY_ERROR\", \"path escaped extraction target\", {\n\t\t\tentry: t,\n\t\t\tpath: f(t.path),\n\t\t\tresolvedPath: t.absolute,\n\t\t\tcwd: this.cwd\n\t\t}), !1;\n\t\tif (t.absolute === this.cwd && t.type !== \"Directory\" && t.type !== \"GNUDumpDir\") return !1;\n\t\tif (this.win32) {\n\t\t\tlet { root: r } = or.win32.parse(String(t.absolute));\n\t\t\tt.absolute = r + Qi(String(t.absolute).slice(r.length));\n\t\t\tlet { root: n } = or.win32.parse(t.path);\n\t\t\tt.path = n + Qi(t.path.slice(n.length));\n\t\t}\n\t\treturn !0;\n\t}\n\t[Or](t) {\n\t\tif (!this[Dr](t)) return t.resume();\n\t\tswitch (ro.equal(typeof t.absolute, \"string\"), t.type) {\n\t\t\tcase \"Directory\":\n\t\t\tcase \"GNUDumpDir\": t.mode && (t.mode = t.mode | 448);\n\t\t\tcase \"File\":\n\t\t\tcase \"OldFile\":\n\t\t\tcase \"ContiguousFile\":\n\t\t\tcase \"Link\":\n\t\t\tcase \"SymbolicLink\": return this[Rs](t);\n\t\t\tdefault: return this[Nr](t);\n\t\t}\n\t}\n\t[O](t, e) {\n\t\tt.name === \"CwdError\" ? this.emit(\"error\", t) : (this.warn(\"TAR_ENTRY_ERROR\", t, { entry: e }), this[Xt](), e.resume());\n\t}\n\t[yt](t, e, i) {\n\t\twr(f(t), {\n\t\t\tuid: this.uid,\n\t\t\tgid: this.gid,\n\t\t\tprocessUid: this.processUid,\n\t\t\tprocessGid: this.processGid,\n\t\t\tumask: this.processUmask,\n\t\t\tpreserve: this.preservePaths,\n\t\t\tunlink: this.unlink,\n\t\t\tcwd: this.cwd,\n\t\t\tmode: e\n\t\t}, i);\n\t}\n\t[ge](t) {\n\t\treturn this.forceChown || this.preserveOwner && (typeof t.uid == \"number\" && t.uid !== this.processUid || typeof t.gid == \"number\" && t.gid !== this.processGid) || typeof this.uid == \"number\" && this.uid !== this.processUid || typeof this.gid == \"number\" && this.gid !== this.processGid;\n\t}\n\t[be](t) {\n\t\treturn Ir(this.uid, t.uid, this.processUid);\n\t}\n\t[_e](t) {\n\t\treturn Ir(this.gid, t.gid, this.processGid);\n\t}\n\t[bs](t, e) {\n\t\tlet i = typeof t.mode == \"number\" ? t.mode & 4095 : this.fmode, r = new tt(String(t.absolute), {\n\t\t\tflags: fs(t.size),\n\t\t\tmode: i,\n\t\t\tautoClose: !1\n\t\t});\n\t\tr.on(\"error\", (a) => {\n\t\t\tr.fd && Vt.close(r.fd, () => {}), r.write = () => !0, this[O](a, t), e();\n\t\t});\n\t\tlet n = 1, o = (a) => {\n\t\t\tif (a) {\n\t\t\t\tr.fd && Vt.close(r.fd, () => {}), this[O](a, t), e();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t--n === 0 && r.fd !== void 0 && Vt.close(r.fd, (l) => {\n\t\t\t\tl ? this[O](l, t) : this[Xt](), e();\n\t\t\t});\n\t\t};\n\t\tr.on(\"finish\", () => {\n\t\t\tlet a = String(t.absolute), l = r.fd;\n\t\t\tif (typeof l == \"number\" && t.mtime && !this.noMtime) {\n\t\t\t\tn++;\n\t\t\t\tlet c = t.atime || /* @__PURE__ */ new Date(), d = t.mtime;\n\t\t\t\tVt.futimes(l, c, d, (S) => S ? Vt.utimes(a, c, d, (T) => o(T && S)) : o());\n\t\t\t}\n\t\t\tif (typeof l == \"number\" && this[ge](t)) {\n\t\t\t\tn++;\n\t\t\t\tlet c = this[be](t), d = this[_e](t);\n\t\t\t\ttypeof c == \"number\" && typeof d == \"number\" && Vt.fchown(l, c, d, (S) => S ? Vt.chown(a, c, d, (T) => o(T && S)) : o());\n\t\t\t}\n\t\t\to();\n\t\t});\n\t\tlet h = this.transform && this.transform(t) || t;\n\t\th !== t && (h.on(\"error\", (a) => {\n\t\t\tthis[O](a, t), e();\n\t\t}), t.pipe(h)), h.pipe(r);\n\t}\n\t[_s](t, e) {\n\t\tlet i = typeof t.mode == \"number\" ? t.mode & 4095 : this.dmode;\n\t\tthis[yt](String(t.absolute), i, (r) => {\n\t\t\tif (r) {\n\t\t\t\tthis[O](r, t), e();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet n = 1, o = () => {\n\t\t\t\t--n === 0 && (e(), this[Xt](), t.resume());\n\t\t\t};\n\t\t\tt.mtime && !this.noMtime && (n++, Vt.utimes(String(t.absolute), t.atime || /* @__PURE__ */ new Date(), t.mtime, o)), this[ge](t) && (n++, Vt.chown(String(t.absolute), Number(this[be](t)), Number(this[_e](t)), o)), o();\n\t\t});\n\t}\n\t[Nr](t) {\n\t\tt.unsupported = !0, this.warn(\"TAR_ENTRY_UNSUPPORTED\", `unsupported entry type: ${t.type}`, { entry: t }), t.resume();\n\t}\n\t[xr](t, e) {\n\t\tlet i = f(or.relative(this.cwd, or.resolve(or.dirname(String(t.absolute)), String(t.linkpath)))).split(\"/\");\n\t\tthis[Re](t, this.cwd, i, () => this[Ri](t, String(t.linkpath), \"symlink\", e), (r) => {\n\t\t\tthis[O](r, t), e();\n\t\t});\n\t}\n\t[Lr](t, e) {\n\t\tlet i = f(or.resolve(this.cwd, String(t.linkpath))), r = f(String(t.linkpath)).split(\"/\");\n\t\tthis[Re](t, this.cwd, r, () => this[Ri](t, i, \"link\", e), (n) => {\n\t\t\tthis[O](n, t), e();\n\t\t});\n\t}\n\t[Re](t, e, i, r, n) {\n\t\tlet o = i.shift();\n\t\tif (this.preservePaths || o === void 0) return r();\n\t\tlet h = or.resolve(e, o);\n\t\tVt.lstat(h, (a, l) => {\n\t\t\tif (a) return r();\n\t\t\tif (l?.isSymbolicLink()) return n(new St(h, or.resolve(h, i.join(\"/\"))));\n\t\t\tthis[Re](t, h, i, r, n);\n\t\t});\n\t}\n\t[Ar]() {\n\t\tthis[yi]++;\n\t}\n\t[Xt]() {\n\t\tthis[yi]--, this[ys]();\n\t}\n\t[Os](t) {\n\t\tthis[Xt](), t.resume();\n\t}\n\t[gs](t, e) {\n\t\treturn t.type === \"File\" && !this.unlink && e.isFile() && e.nlink <= 1 && !Te;\n\t}\n\t[Rs](t) {\n\t\tthis[Ar]();\n\t\tlet e = [t.path];\n\t\tt.linkpath && e.push(t.linkpath), this.reservations.reserve(e, (i) => this[Tr](t, i));\n\t}\n\t[Tr](t, e) {\n\t\tlet i = (h) => {\n\t\t\te(h);\n\t\t}, r = () => {\n\t\t\tthis[yt](this.cwd, this.dmode, (h) => {\n\t\t\t\tif (h) {\n\t\t\t\t\tthis[O](h, t), i();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis[Oe] = !0, n();\n\t\t\t});\n\t\t}, n = () => {\n\t\t\tif (t.absolute !== this.cwd) {\n\t\t\t\tlet h = f(or.dirname(String(t.absolute)));\n\t\t\t\tif (h !== this.cwd) return this[yt](h, this.dmode, (a) => {\n\t\t\t\t\tif (a) {\n\t\t\t\t\t\tthis[O](a, t), i();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\to();\n\t\t\t\t});\n\t\t\t}\n\t\t\to();\n\t\t}, o = () => {\n\t\t\tVt.lstat(String(t.absolute), (h, a) => {\n\t\t\t\tif (a && (this.keep || this.newer && a.mtime > (t.mtime ?? a.mtime))) {\n\t\t\t\t\tthis[Os](t), i();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (h || this[gs](t, a)) return this[P](null, t, i);\n\t\t\t\tif (a.isDirectory()) {\n\t\t\t\t\tif (t.type === \"Directory\") {\n\t\t\t\t\t\tlet l = this.chmod && t.mode && (a.mode & 4095) !== t.mode, c = (d) => this[P](d ?? null, t, i);\n\t\t\t\t\t\treturn l ? Vt.chmod(String(t.absolute), Number(t.mode), c) : c();\n\t\t\t\t\t}\n\t\t\t\t\tif (t.absolute !== this.cwd) return Vt.rmdir(String(t.absolute), (l) => this[P](l ?? null, t, i));\n\t\t\t\t}\n\t\t\t\tif (t.absolute === this.cwd) return this[P](null, t, i);\n\t\t\t\tho(String(t.absolute), (l) => this[P](l ?? null, t, i));\n\t\t\t});\n\t\t};\n\t\tthis[Oe] ? n() : r();\n\t}\n\t[P](t, e, i) {\n\t\tif (t) {\n\t\t\tthis[O](t, e), i();\n\t\t\treturn;\n\t\t}\n\t\tswitch (e.type) {\n\t\t\tcase \"File\":\n\t\t\tcase \"OldFile\":\n\t\t\tcase \"ContiguousFile\": return this[bs](e, i);\n\t\t\tcase \"Link\": return this[Lr](e, i);\n\t\t\tcase \"SymbolicLink\": return this[xr](e, i);\n\t\t\tcase \"Directory\":\n\t\t\tcase \"GNUDumpDir\": return this[_s](e, i);\n\t\t}\n\t}\n\t[Ri](t, e, i, r) {\n\t\tVt[i](e, String(t.absolute), (n) => {\n\t\t\tn ? this[O](n, t) : (this[Xt](), t.resume()), r();\n\t\t});\n\t}\n}, ye = (s) => {\n\ttry {\n\t\treturn [null, s()];\n\t} catch (t) {\n\t\treturn [t, null];\n\t}\n}, xe = class extends qt {\n\tsync = !0;\n\t[P](t, e) {\n\t\treturn super[P](t, e, () => {});\n\t}\n\t[Rs](t) {\n\t\tif (!this[Oe]) {\n\t\t\tlet n = this[yt](this.cwd, this.dmode);\n\t\t\tif (n) return this[O](n, t);\n\t\t\tthis[Oe] = !0;\n\t\t}\n\t\tif (t.absolute !== this.cwd) {\n\t\t\tlet n = f(or.dirname(String(t.absolute)));\n\t\t\tif (n !== this.cwd) {\n\t\t\t\tlet o = this[yt](n, this.dmode);\n\t\t\t\tif (o) return this[O](o, t);\n\t\t\t}\n\t\t}\n\t\tlet [e, i] = ye(() => Vt.lstatSync(String(t.absolute)));\n\t\tif (i && (this.keep || this.newer && i.mtime > (t.mtime ?? i.mtime))) return this[Os](t);\n\t\tif (e || this[gs](t, i)) return this[P](null, t);\n\t\tif (i.isDirectory()) {\n\t\t\tif (t.type === \"Directory\") {\n\t\t\t\tlet [h] = this.chmod && t.mode && (i.mode & 4095) !== t.mode ? ye(() => {\n\t\t\t\t\tVt.chmodSync(String(t.absolute), Number(t.mode));\n\t\t\t\t}) : [];\n\t\t\t\treturn this[P](h, t);\n\t\t\t}\n\t\t\tlet [n] = ye(() => Vt.rmdirSync(String(t.absolute)));\n\t\t\tthis[P](n, t);\n\t\t}\n\t\tlet [r] = t.absolute === this.cwd ? [] : ye(() => ao(String(t.absolute)));\n\t\tthis[P](r, t);\n\t}\n\t[bs](t, e) {\n\t\tlet i = typeof t.mode == \"number\" ? t.mode & 4095 : this.fmode, r = (h) => {\n\t\t\tlet a;\n\t\t\ttry {\n\t\t\t\tVt.closeSync(n);\n\t\t\t} catch (l) {\n\t\t\t\ta = l;\n\t\t\t}\n\t\t\t(h || a) && this[O](h || a, t), e();\n\t\t}, n;\n\t\ttry {\n\t\t\tn = Vt.openSync(String(t.absolute), fs(t.size), i);\n\t\t} catch (h) {\n\t\t\treturn r(h);\n\t\t}\n\t\tlet o = this.transform && this.transform(t) || t;\n\t\to !== t && (o.on(\"error\", (h) => this[O](h, t)), t.pipe(o)), o.on(\"data\", (h) => {\n\t\t\ttry {\n\t\t\t\tVt.writeSync(n, h, 0, h.length);\n\t\t\t} catch (a) {\n\t\t\t\tr(a);\n\t\t\t}\n\t\t}), o.on(\"end\", () => {\n\t\t\tlet h = null;\n\t\t\tif (t.mtime && !this.noMtime) {\n\t\t\t\tlet a = t.atime || /* @__PURE__ */ new Date(), l = t.mtime;\n\t\t\t\ttry {\n\t\t\t\t\tVt.futimesSync(n, a, l);\n\t\t\t\t} catch (c) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tVt.utimesSync(String(t.absolute), a, l);\n\t\t\t\t\t} catch {\n\t\t\t\t\t\th = c;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this[ge](t)) {\n\t\t\t\tlet a = this[be](t), l = this[_e](t);\n\t\t\t\ttry {\n\t\t\t\t\tVt.fchownSync(n, Number(a), Number(l));\n\t\t\t\t} catch (c) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tVt.chownSync(String(t.absolute), Number(a), Number(l));\n\t\t\t\t\t} catch {\n\t\t\t\t\t\th = h || c;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tr(h);\n\t\t});\n\t}\n\t[_s](t, e) {\n\t\tlet i = typeof t.mode == \"number\" ? t.mode & 4095 : this.dmode, r = this[yt](String(t.absolute), i);\n\t\tif (r) {\n\t\t\tthis[O](r, t), e();\n\t\t\treturn;\n\t\t}\n\t\tif (t.mtime && !this.noMtime) try {\n\t\t\tVt.utimesSync(String(t.absolute), t.atime || /* @__PURE__ */ new Date(), t.mtime);\n\t\t} catch {}\n\t\tif (this[ge](t)) try {\n\t\t\tVt.chownSync(String(t.absolute), Number(this[be](t)), Number(this[_e](t)));\n\t\t} catch {}\n\t\te(), t.resume();\n\t}\n\t[yt](t, e) {\n\t\ttry {\n\t\t\treturn yr(f(t), {\n\t\t\t\tuid: this.uid,\n\t\t\t\tgid: this.gid,\n\t\t\t\tprocessUid: this.processUid,\n\t\t\t\tprocessGid: this.processGid,\n\t\t\t\tumask: this.processUmask,\n\t\t\t\tpreserve: this.preservePaths,\n\t\t\t\tunlink: this.unlink,\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tmode: e\n\t\t\t});\n\t\t} catch (i) {\n\t\t\treturn i;\n\t\t}\n\t}\n\t[Re](t, e, i, r, n) {\n\t\tif (this.preservePaths || i.length === 0) return r();\n\t\tlet o = e;\n\t\tfor (let h of i) {\n\t\t\to = or.resolve(o, h);\n\t\t\tlet [a, l] = ye(() => Vt.lstatSync(o));\n\t\t\tif (a) return r();\n\t\t\tif (l.isSymbolicLink()) return n(new St(o, or.resolve(e, i.join(\"/\"))));\n\t\t}\n\t\tr();\n\t}\n\t[Ri](t, e, i, r) {\n\t\tlet n = `${i}Sync`;\n\t\ttry {\n\t\t\tVt[n](e, String(t.absolute)), r(), t.resume();\n\t\t} catch (o) {\n\t\t\treturn this[O](o, t);\n\t\t}\n\t}\n};\nvar lo = (s) => {\n\tlet t = new xe(s), e = s.file, i = Vt.statSync(e);\n\tnew Be(e, {\n\t\treadSize: s.maxReadSize || 16 * 1024 * 1024,\n\t\tsize: i.size\n\t}).pipe(t);\n}, co = (s, t) => {\n\tlet e = new qt(s), i = s.maxReadSize || 16 * 1024 * 1024, r = s.file;\n\treturn new Promise((o, h) => {\n\t\te.on(\"error\", h), e.on(\"close\", o), Vt.stat(r, (a, l) => {\n\t\t\tif (a) h(a);\n\t\t\telse {\n\t\t\t\tlet c = new _t(r, {\n\t\t\t\t\treadSize: i,\n\t\t\t\t\tsize: l.size\n\t\t\t\t});\n\t\t\t\tc.on(\"error\", h), c.pipe(e);\n\t\t\t}\n\t\t});\n\t});\n}, fo = K(lo, co, (s) => new xe(s), (s) => new qt(s), (s, t) => {\n\tt?.length && $i(s, t);\n});\nvar uo = (s, t) => {\n\tlet e = new Ft(s), i = !0, r, n;\n\ttry {\n\t\ttry {\n\t\t\tr = Vt.openSync(s.file, \"r+\");\n\t\t} catch (a) {\n\t\t\tif (a?.code === \"ENOENT\") r = Vt.openSync(s.file, \"w+\");\n\t\t\telse throw a;\n\t\t}\n\t\tlet o = Vt.fstatSync(r), h = Buffer.alloc(512);\n\t\tt: for (n = 0; n < o.size; n += 512) {\n\t\t\tfor (let c = 0, d = 0; c < 512; c += d) {\n\t\t\t\tif (d = Vt.readSync(r, h, c, h.length - c, n + c), n === 0 && h[0] === 31 && h[1] === 139) throw new Error(\"cannot append to compressed archives\");\n\t\t\t\tif (!d) break t;\n\t\t\t}\n\t\t\tlet a = new k(h);\n\t\t\tif (!a.cksumValid) break;\n\t\t\tlet l = 512 * Math.ceil((a.size || 0) / 512);\n\t\t\tif (n + l + 512 > o.size) break;\n\t\t\tn += l, s.mtimeCache && a.mtime && s.mtimeCache.set(String(a.path), a.mtime);\n\t\t}\n\t\ti = !1, mo(s, e, n, r, t);\n\t} finally {\n\t\tif (i) try {\n\t\t\tVt.closeSync(r);\n\t\t} catch {}\n\t}\n}, mo = (s, t, e, i, r) => {\n\tlet n = new Wt(s.file, {\n\t\tfd: i,\n\t\tstart: e\n\t});\n\tt.pipe(n), Eo(t, r);\n}, po = (s, t) => {\n\tt = Array.from(t);\n\tlet e = new wt(s), i = (n, o, h) => {\n\t\tlet a = (T, N) => {\n\t\t\tT ? Vt.close(n, (E) => h(T)) : h(null, N);\n\t\t}, l = 0;\n\t\tif (o === 0) return a(null, 0);\n\t\tlet c = 0, d = Buffer.alloc(512), S = (T, N) => {\n\t\t\tif (T || N === void 0) return a(T);\n\t\t\tif (c += N, c < 512 && N) return Vt.read(n, d, c, d.length - c, l + c, S);\n\t\t\tif (l === 0 && d[0] === 31 && d[1] === 139) return a(/* @__PURE__ */ new Error(\"cannot append to compressed archives\"));\n\t\t\tif (c < 512) return a(null, l);\n\t\t\tlet E = new k(d);\n\t\t\tif (!E.cksumValid) return a(null, l);\n\t\t\tlet x = 512 * Math.ceil((E.size ?? 0) / 512);\n\t\t\tif (l + x + 512 > o || (l += x + 512, l >= o)) return a(null, l);\n\t\t\ts.mtimeCache && E.mtime && s.mtimeCache.set(String(E.path), E.mtime), c = 0, Vt.read(n, d, 0, 512, l, S);\n\t\t};\n\t\tVt.read(n, d, 0, 512, l, S);\n\t};\n\treturn new Promise((n, o) => {\n\t\te.on(\"error\", o);\n\t\tlet h = \"r+\", a = (l, c) => {\n\t\t\tif (l && l.code === \"ENOENT\" && h === \"r+\") return h = \"w+\", Vt.open(s.file, h, a);\n\t\t\tif (l || !c) return o(l);\n\t\t\tVt.fstat(c, (d, S) => {\n\t\t\t\tif (d) return Vt.close(c, () => o(d));\n\t\t\t\ti(c, S.size, (T, N) => {\n\t\t\t\t\tif (T) return o(T);\n\t\t\t\t\tlet E = new tt(s.file, {\n\t\t\t\t\t\tfd: c,\n\t\t\t\t\t\tstart: N\n\t\t\t\t\t});\n\t\t\t\t\te.pipe(E), E.on(\"error\", o), E.on(\"close\", n), wo(e, t);\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tVt.open(s.file, h, a);\n\t});\n}, Eo = (s, t) => {\n\tt.forEach((e) => {\n\t\te.charAt(0) === \"@\" ? Ct({\n\t\t\tfile: or.resolve(s.cwd, e.slice(1)),\n\t\t\tsync: !0,\n\t\t\tnoResume: !0,\n\t\t\tonReadEntry: (i) => s.add(i)\n\t\t}) : s.add(e);\n\t}), s.end();\n}, wo = async (s, t) => {\n\tfor (let e of t) e.charAt(0) === \"@\" ? await Ct({\n\t\tfile: or.resolve(String(s.cwd), e.slice(1)),\n\t\tnoResume: !0,\n\t\tonReadEntry: (i) => s.add(i)\n\t}) : s.add(e);\n\ts.end();\n}, vt = K(uo, po, () => {\n\tthrow new TypeError(\"file is required\");\n}, () => {\n\tthrow new TypeError(\"file is required\");\n}, (s, t) => {\n\tif (!Fs(s)) throw new TypeError(\"file is required\");\n\tif (s.gzip || s.brotli || s.zstd || s.file.endsWith(\".br\") || s.file.endsWith(\".tbr\")) throw new TypeError(\"cannot append to compressed archives\");\n\tif (!t?.length) throw new TypeError(\"no paths specified to add/replace\");\n});\nK(vt.syncFile, vt.asyncFile, vt.syncNoFile, vt.asyncNoFile, (s, t = []) => {\n\tvt.validate?.(s, t), yo(s);\n});\nvar yo = (s) => {\n\tlet t = s.filter;\n\ts.mtimeCache || (s.mtimeCache = /* @__PURE__ */ new Map()), s.filter = t ? (e, i) => t(e, i) && !((s.mtimeCache?.get(e) ?? i.mtime ?? 0) > (i.mtime ?? 0)) : (e, i) => !((s.mtimeCache?.get(e) ?? i.mtime ?? 0) > (i.mtime ?? 0));\n};\n//#endregion\n//#region ../lib/src/control-plane/home.ts\n/**\n* Home directory layout for the OpenPalm control plane (v0.11.0+).\n*\n* Single ~/.openpalm/ root:\n* config/ — user-editable config + system config files (akm/)\n* config/stack/ — fixed compose files (no stack.env/secrets/stack.yml)\n* data/ — persistent service data, logs, backups, rollback\n* knowledge/ — akm knowledge (env, secrets, tasks); env/stack.env is the\n* authoritative stack composition + versions record\n* workspace/ — shared assistant work area\n*/\nfunction resolveHome() {\n\tconst home = homedir();\n\tif (home) return home;\n\treturn tmpdir();\n}\nfunction resolveOpenPalmHome() {\n\tconst raw = process.env.OP_HOME;\n\tif (raw) return resolve(raw);\n\treturn `${resolveHome()}/.openpalm`;\n}\nfunction resolveConfigDir() {\n\treturn `${resolveOpenPalmHome()}/config`;\n}\nfunction resolveStashDir() {\n\treturn `${resolveOpenPalmHome()}/knowledge`;\n}\nfunction resolveWorkspaceDir() {\n\treturn `${resolveOpenPalmHome()}/workspace`;\n}\nfunction resolveDataDir() {\n\treturn `${resolveOpenPalmHome()}/data`;\n}\nfunction resolveStackDir() {\n\treturn `${resolveConfigDir()}/stack`;\n}\nfunction resolveBackupsDir() {\n\treturn `${resolveDataDir()}/backups`;\n}\nfunction resolveRollbackDir() {\n\treturn `${resolveDataDir()}/rollback`;\n}\n/**\n* Create the full ~/.openpalm/ directory tree.\n*/\nfunction ensureHomeDirs() {\n\tconst home = resolveOpenPalmHome();\n\tfor (const dir of [\n\t\t`${home}/config`,\n\t\t`${home}/config/assistant`,\n\t\t`${home}/config/guardian`,\n\t\t`${home}/config/akm`,\n\t\t`${home}/data`,\n\t\t`${home}/data/assistant`,\n\t\t`${home}/data/assistant/.cache`,\n\t\t`${home}/data/assistant/.local/bin`,\n\t\t`${home}/data/assistant/.local/share/opencode`,\n\t\t`${home}/data/assistant/.local/state/opencode`,\n\t\t`${home}/data/assistant/tools`,\n\t\t`${home}/data/guardian`,\n\t\t`${home}/data/guardian/tools`,\n\t\t`${home}/data/akm/cache`,\n\t\t`${home}/data/akm/data`,\n\t\t`${home}/data/akm/empty-host-stash`,\n\t\t`${home}/data/logs`,\n\t\t`${home}/data/backups`,\n\t\t`${home}/data/rollback`,\n\t\t`${home}/knowledge`,\n\t\t`${home}/knowledge/env`,\n\t\t`${home}/knowledge/secrets`,\n\t\t`${home}/knowledge/tasks`,\n\t\t`${home}/workspace`,\n\t\t`${home}/config/stack`\n\t]) mkdirSync(dir, { recursive: true });\n}\n//#endregion\n//#region ../lib/src/control-plane/crypto.ts\n/**\n* Shared cryptographic utilities for the control plane.\n*/\n/** SHA-256 hex digest of a string. */\nfunction sha256(content) {\n\treturn createHash(\"sha256\").update(content).digest(\"hex\");\n}\n/** Generate a hex string using Node's crypto.randomBytes (CSPRNG). */\nfunction randomHex(bytes) {\n\treturn randomBytes(bytes).toString(\"hex\");\n}\n//#endregion\n//#region ../lib/src/control-plane/core-assets.ts\n/**\n* Core runtime asset management for the OpenPalm control plane.\n*\n* Manages source-of-truth files for the ~/.openpalm/ layout:\n* stack/ — compose runtime assets (core.compose.yml)\n* config/guardian/ — guardian OpenCode config (skip-if-user-modified)\n*\n* This module manages runtime-owned core files only.\n* Addon compose bundle generation and registry catalog refresh are handled\n* separately in registry.ts.\n* Env validation has moved to `akm vault` + the in-house redactor — the\n* historical `.env.schema` files (varlock format) were retired in #391.\n*/\nvar logger$12 = createLogger(\"core-assets\");\nvar GITHUB_ASSET_TIMEOUT_MS = 1e4;\nvar _require$1 = createRequire(import.meta.url);\nfunction bundledAssetPath(relPath) {\n\ttry {\n\t\treturn join(dirname(_require$1.resolve(\"@openpalm/skeleton/package.json\")), relPath);\n\t} catch {}\n\tconst repoRoot = process.env.OPENPALM_REPO_ROOT;\n\tif (repoRoot) return join(repoRoot, \"packages\", \"skeleton\", relPath);\n\ttry {\n\t\tconst meta = fileURLToPath(import.meta.url);\n\t\tconst candidate = join(dirname(meta), \"..\", \"..\", \"..\", \"..\", \"packages\", \"skeleton\", relPath);\n\t\tif (existsSync(join(dirname(meta), \"..\", \"..\", \"..\", \"..\", \"packages\", \"skeleton\", \"package.json\"))) return candidate;\n\t} catch {}\n\tthrow new Error(\"@openpalm/skeleton not found. Set OPENPALM_REPO_ROOT or install @openpalm/skeleton.\");\n}\nfunction readCoreCompose() {\n\tconst livePath = `${resolveOpenPalmHome()}/config/stack/core.compose.yml`;\n\tif (existsSync(livePath)) return readFileSync(livePath, \"utf-8\");\n\treturn readFileSync(bundledAssetPath(\"config/stack/core.compose.yml\"), \"utf-8\");\n}\nfunction readBundledStackAsset(name) {\n\ttry {\n\t\treturn readFileSync(bundledAssetPath(`config/stack/${name}`), \"utf-8\");\n\t} catch (err) {\n\t\tlogger$12.warn(\"bundled stack asset unavailable (returning empty)\", {\n\t\t\tname,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t\treturn \"\";\n\t}\n}\nfunction ensureOpenCodeSystemConfig() {\n\tmkdirSync(`${resolveDataDir()}/assistant`, { recursive: true });\n}\nvar SHIPPED_DEFAULT_HASHES = { \"config/guardian/instructions/moderation.md\": [\"dfa770d433bef9954e58e29cfb337679eb27ed3c9de61ddd2c4106d3add9a628\"] };\n/** Assets under config/guardian/ that are managed (refreshable) but respect user edits. */\nvar GUARDIAN_MANAGED_ASSETS = [{\n\trelPath: \"config/guardian/instructions/moderation.md\",\n\tgithubFilename: \".openpalm/config/guardian/instructions/moderation.md\"\n}];\n/**\n* Returns true when the on-disk content is still byte-identical to one of the\n* previously shipped defaults for the given relPath (i.e. the user has not\n* edited it and it is safe to overwrite on refresh).\n*/\nfunction isUnmodifiedDefault(relPath, currentContent) {\n\tconst known = SHIPPED_DEFAULT_HASHES[relPath];\n\tif (!known || known.length === 0) return false;\n\tconst h = sha256(currentContent);\n\treturn known.includes(h);\n}\nvar REPO = \"itlackey/openpalm\";\nfunction normalizeAssetRef(version) {\n\tconst v = version.trim();\n\tif (!v) throw new Error(\"Cannot download OpenPalm stack assets: no version provided. The caller must pass the target release tag (e.g. \\\"v0.11.0-rc.6\\\").\");\n\treturn /^\\d/.test(v) ? `v${v}` : v;\n}\nvar MANAGED_ASSETS = [\n\t{\n\t\trelPath: \"config/stack/core.compose.yml\",\n\t\tgithubFilename: \".openpalm/config/stack/core.compose.yml\"\n\t},\n\t{\n\t\trelPath: \"config/stack/services.compose.yml\",\n\t\tgithubFilename: \".openpalm/config/stack/services.compose.yml\"\n\t},\n\t{\n\t\trelPath: \"config/stack/portals.compose.yml\",\n\t\tgithubFilename: \".openpalm/config/stack/portals.compose.yml\"\n\t}\n];\nvar SEEDED_ASSETS = [{\n\trelPath: \"config/assistant/opencode.jsonc\",\n\tgithubFilename: \".openpalm/config/assistant/opencode.jsonc\"\n}, {\n\trelPath: \"config/stack/custom.compose.yml\",\n\tgithubFilename: \".openpalm/config/stack/custom.compose.yml\"\n}];\nasync function downloadAsset(filename, version) {\n\tconst rawUrl = `https://raw.githubusercontent.com/${REPO}/${version}/${filename}`;\n\ttry {\n\t\tconst res = await fetch(rawUrl, { signal: AbortSignal.timeout(GITHUB_ASSET_TIMEOUT_MS) });\n\t\tif (res.ok) return await res.text();\n\t} catch {}\n\tthrow new Error(`Failed to download ${filename} from GitHub (ref \"${version}\" not found or network error)`);\n}\nfunction ensureBackupDir(backupDir, suffix = \"\") {\n\tif (backupDir) return backupDir;\n\treturn join(resolveBackupsDir(), `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\")}${suffix}`);\n}\nfunction backupExistingFile(targetPath, assetRelPath, backupDir, suffix = \"\") {\n\tconst resolvedBackupDir = ensureBackupDir(backupDir, suffix);\n\tconst backupPath = join(resolvedBackupDir, assetRelPath);\n\tmkdirSync(dirname(backupPath), { recursive: true });\n\tcopyFileSync(targetPath, backupPath);\n\treturn resolvedBackupDir;\n}\nfunction refreshCoreAssetsFromSource(sourceRoot, homeDir = resolveOpenPalmHome()) {\n\tconst updated = [];\n\tconst kept = [];\n\tlet backupDir = null;\n\tfor (const asset of MANAGED_ASSETS) {\n\t\tconst sourcePath = join(sourceRoot, asset.relPath);\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tconst freshContent = readFileSync(sourcePath, \"utf-8\");\n\t\tif (existsSync(targetPath)) {\n\t\t\tif (sha256(readFileSync(targetPath, \"utf-8\")) === sha256(freshContent)) continue;\n\t\t\tbackupDir = backupExistingFile(targetPath, asset.relPath, backupDir);\n\t\t}\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(asset.relPath);\n\t}\n\tfor (const asset of GUARDIAN_MANAGED_ASSETS) {\n\t\tconst sourcePath = join(sourceRoot, asset.relPath);\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tif (!existsSync(sourcePath)) continue;\n\t\tconst freshContent = readFileSync(sourcePath, \"utf-8\");\n\t\tif (existsSync(targetPath)) {\n\t\t\tconst currentContent = readFileSync(targetPath, \"utf-8\");\n\t\t\tif (sha256(currentContent) === sha256(freshContent)) continue;\n\t\t\tif (!isUnmodifiedDefault(asset.relPath, currentContent)) {\n\t\t\t\tlogger$12.info(\"guardian managed asset kept (user-modified); new default available\", {\n\t\t\t\t\tpath: asset.relPath,\n\t\t\t\t\thint: \"Remove the file or restore the shipped default to pick up the new version on the next refresh.\"\n\t\t\t\t});\n\t\t\t\tkept.push(asset.relPath);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(asset.relPath);\n\t}\n\tfor (const asset of SEEDED_ASSETS) {\n\t\tconst sourcePath = join(sourceRoot, asset.relPath);\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tif (existsSync(targetPath)) continue;\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, readFileSync(sourcePath, \"utf-8\"));\n\t\tupdated.push(asset.relPath);\n\t}\n\treturn {\n\t\tbackupDir,\n\t\tupdated,\n\t\tkept\n\t};\n}\nasync function refreshCoreAssets(version) {\n\tconst ref = normalizeAssetRef(version);\n\tconst homeDir = resolveOpenPalmHome();\n\tconst updated = [];\n\tconst kept = [];\n\tlet backupDir = null;\n\tfor (const asset of MANAGED_ASSETS) {\n\t\tconst freshContent = await downloadAsset(asset.githubFilename, ref);\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tif (existsSync(targetPath)) {\n\t\t\tif (sha256(readFileSync(targetPath, \"utf-8\")) === sha256(freshContent)) continue;\n\t\t\tbackupDir = backupExistingFile(targetPath, asset.relPath, backupDir);\n\t\t}\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(asset.relPath);\n\t}\n\tfor (const asset of GUARDIAN_MANAGED_ASSETS) {\n\t\tconst freshContent = await downloadAsset(asset.githubFilename, ref);\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tif (existsSync(targetPath)) {\n\t\t\tconst currentContent = readFileSync(targetPath, \"utf-8\");\n\t\t\tif (sha256(currentContent) === sha256(freshContent)) continue;\n\t\t\tif (!isUnmodifiedDefault(asset.relPath, currentContent)) {\n\t\t\t\tlogger$12.info(\"guardian managed asset kept (user-modified); new default available\", {\n\t\t\t\t\tpath: asset.relPath,\n\t\t\t\t\thint: \"Remove the file or restore the shipped default to pick up the new version on the next refresh.\"\n\t\t\t\t});\n\t\t\t\tkept.push(asset.relPath);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(asset.relPath);\n\t}\n\tfor (const asset of SEEDED_ASSETS) {\n\t\tconst targetPath = join(homeDir, asset.relPath);\n\t\tif (existsSync(targetPath)) continue;\n\t\tconst freshContent = await downloadAsset(asset.githubFilename, ref);\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(asset.relPath);\n\t}\n\treturn {\n\t\tbackupDir,\n\t\tupdated,\n\t\tkept\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/ui-assets.ts\n/**\n* Runtime asset seeding and resolution for the UI build and OP_HOME skeleton.\n*\n* These functions are consumed by both the CLI and the Electron shell — they\n* must use only Node.js-compatible APIs (no Bun.spawn, Bun.write, etc.).\n*\n* Skeleton (packages/skeleton/) resolution order:\n* 1. OPENPALM_REPO_ROOT env var → packages/skeleton/ (dev override)\n* 2. OPENPALM_SKELETON_DIR env var → set by Electron from extraResources\n* 3. require.resolve('@openpalm/skeleton/package.json') → npm/CLI dep\n* 4. null → seedOpenPalmDir throws with an actionable error message\n*\n* UI build resolution order:\n* 1. OPENPALM_REPO_ROOT env var → packages/ui/build/ (dev override)\n* 2. Electron extraResources → ui-build/ alongside the asar\n* 3. Relative to import.meta.url — works for `bun run` / source installs\n* 4. Relative to process.execPath — works for compiled Bun binary in repo\n* 5. null → remote download (from the @openpalm/ui npm registry tarball)\n*/\nvar _require = createRequire(import.meta.url);\nvar logger$11 = createLogger(\"lib:ui-assets\");\nasync function fetchWithRetry(url, retries = 3) {\n\tfor (let i = 0; i < retries; i++) try {\n\t\tconst res = await fetch(url, { signal: AbortSignal.timeout(6e4) });\n\t\tif (res.ok || res.status < 500) return res;\n\t\tif (i < retries - 1) await new Promise((r) => setTimeout(r, 200 * 2 ** i));\n\t} catch (err) {\n\t\tif (i === retries - 1) throw err;\n\t\tawait new Promise((r) => setTimeout(r, 200 * 2 ** i));\n\t}\n\tthrow new Error(`Failed to fetch ${url} after ${retries} attempts`);\n}\nfunction copyTree(src, dest, opts) {\n\tif (!existsSync(src)) return;\n\tconst entries = readdirSync(src, {\n\t\trecursive: true,\n\t\twithFileTypes: true\n\t});\n\tfor (const entry of entries) {\n\t\tif (!entry.isFile()) continue;\n\t\tconst srcFile = join(entry.parentPath ?? entry.path, entry.name);\n\t\tconst destFile = join(dest, relative(src, srcFile));\n\t\tif (opts?.skipExisting && existsSync(destFile)) continue;\n\t\tmkdirSync(dirname(destFile), { recursive: true });\n\t\tcopyFileSync(srcFile, destFile);\n\t}\n}\n/** Resolve a candidate path using three strategies, returning the first that exists. */\nfunction resolveLocalCandidate(...strategies) {\n\tfor (const strategy of strategies) try {\n\t\tconst p = strategy();\n\t\tif (p && existsSync(p)) return p;\n\t} catch {}\n\treturn null;\n}\n/**\n* Locate the skeleton directory (packages/skeleton/ or equivalent).\n* Used by seedOpenPalmDir to avoid a network download when running from source.\n*/\nfunction resolveLocalOpenpalmDir() {\n\treturn resolveLocalCandidate(() => process.env.OPENPALM_REPO_ROOT ? join(process.env.OPENPALM_REPO_ROOT, \"packages\", \"skeleton\") : null, () => process.env.OPENPALM_SKELETON_DIR ?? null, () => {\n\t\ttry {\n\t\t\treturn dirname(_require.resolve(\"@openpalm/skeleton/package.json\"));\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}, () => {\n\t\ttry {\n\t\t\treturn join(dirname(fileURLToPath(import.meta.url)), \"..\", \"..\", \"..\", \"..\", \"packages\", \"skeleton\");\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}, () => null);\n}\n/**\n* Locate the compiled SvelteKit UI build on disk.\n* Returns null when not found — triggers the npm registry download in seedUiBuild.\n*/\nfunction resolveLocalUiBuild() {\n\treturn resolveLocalCandidate(() => process.env.OPENPALM_REPO_ROOT ? join(process.env.OPENPALM_REPO_ROOT, \"packages\", \"ui\", \"build\") : null, () => {\n\t\tconst rp = process.resourcesPath;\n\t\tif (!rp) return null;\n\t\treturn join(rp, \"ui-build\");\n\t}, () => {\n\t\tconst meta = fileURLToPath(import.meta.url);\n\t\tif (meta.startsWith(\"/$bunfs/\")) return null;\n\t\tconst candidate = join(dirname(meta), \"..\", \"..\", \"..\", \"..\", \"packages\", \"ui\", \"build\");\n\t\treturn existsSync(join(candidate, \"index.js\")) ? candidate : null;\n\t}, () => {\n\t\tconst candidate = join(dirname(realpathSync(process.execPath)), \"..\", \"..\", \"..\", \"packages\", \"ui\", \"build\");\n\t\treturn existsSync(join(candidate, \"index.js\")) ? candidate : null;\n\t});\n}\n/** Read the stamped UI version from a build dir, or null if absent/unreadable. */\nfunction readUiBuildVersion(dir) {\n\ttry {\n\t\treturn readFileSync(join(dir, \".openpalm-ui-version\"), \"utf-8\").trim() || null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n/**\n* The UI ships as `@openpalm/ui` on npm — a self-contained `adapter-node`\n* bundle (only `build/` is published; no `node_modules` is needed at runtime,\n* because the build bundles every dependency). The desktop and host updaters\n* fetch the registry TARBALL over plain HTTPS and verify its integrity hash;\n* they never invoke a package manager (the Electron runtime has none). npm gives\n* us, for free, the four things the GitHub-release path forced us to hand-roll:\n* an independent version line, `latest`/`next` dist-tag channels (prerelease-\n* aware — unlike `releases/latest`, which silently excludes prereleases),\n* immutable versions, and a sha512 integrity we verify fail-closed.\n*/\nvar NPM_REGISTRY = \"https://registry.npmjs.org\";\nvar UI_PACKAGE = \"@openpalm/ui\";\n/**\n* Resolve the npm manifest for `@openpalm/ui` by exact version OR dist-tag.\n* `GET <registry>/@openpalm/ui/<version-or-tag>` returns the abbreviated\n* manifest (version + dist.tarball + dist.integrity). Throws on non-OK.\n*/\nasync function fetchNpmUiManifest(versionOrTag) {\n\tconst res = await fetchWithRetry(`${NPM_REGISTRY}/${UI_PACKAGE}/${versionOrTag}`);\n\tif (!res.ok) throw new Error(`npm registry returned HTTP ${res.status} for ${UI_PACKAGE}@${versionOrTag}`);\n\tconst m = await res.json();\n\tif (!m.version || !m.dist?.tarball) throw new Error(`npm manifest for ${UI_PACKAGE}@${versionOrTag} is missing version/dist.tarball`);\n\tconst rawMin = typeof m.minHarnessContract === \"number\" ? m.minHarnessContract : Number(m.minHarnessContract);\n\tconst minHarnessContract = Number.isFinite(rawMin) && rawMin > 0 ? rawMin : 0;\n\treturn {\n\t\tversion: m.version,\n\t\ttarball: m.dist.tarball,\n\t\tintegrity: m.dist.integrity ?? null,\n\t\tminHarnessContract\n\t};\n}\n/**\n* Verify a Subresource-Integrity string against the bytes. FAIL-CLOSED: a\n* present-but-wrong hash throws (the corruption / tamper case). A registry that\n* omits the hash entirely (legacy metadata) is logged and allowed — modern npm\n* always provides one, so this only affects pathological registry responses.\n*/\nfunction verifyNpmIntegrity(data, integrity) {\n\tconst entries = integrity.trim().split(/\\s+/);\n\tconst entry = entries.find((e) => e.startsWith(\"sha512-\")) ?? entries.find((e) => e.startsWith(\"sha256-\"));\n\tif (!entry) throw new Error(`unrecognized integrity format: ${integrity}`);\n\tconst dash = entry.indexOf(\"-\");\n\tconst algo = entry.slice(0, dash);\n\tconst expected = entry.slice(dash + 1);\n\tif (createHash(algo).update(data).digest(\"base64\") !== expected) throw new Error(`UI bundle integrity mismatch (${algo})`);\n}\n/**\n* Download `@openpalm/ui`'s npm tarball, verify integrity, and install its\n* `build/` contents into `uiDir`. npm tarballs nest everything under `package/`\n* and we publish `files: [\"build\"]`, so the bundle lives at `package/build/**` —\n* strip 2 path components and filter to that subtree.\n*\n* FAIL-CLOSED + non-destructive: we throw if integrity is missing or mismatched\n* (the contract is that npm always provides a sha512), and we extract into a\n* STAGING dir and validate it has a runnable `index.js` before swapping it over\n* `uiDir` — so a truncated download or bad tarball never leaves `uiDir` empty.\n*/\nasync function downloadNpmUiBundle(manifest, uiDir, dataDir) {\n\tconst res = await fetchWithRetry(manifest.tarball);\n\tif (!res.ok) throw new Error(`Failed to download UI bundle (HTTP ${res.status})`);\n\tconst data = new Uint8Array(await res.arrayBuffer());\n\tif (!manifest.integrity) throw new Error(`npm manifest for ${UI_PACKAGE}@${manifest.version} has no integrity hash — refusing to install unverified`);\n\tverifyNpmIntegrity(data, manifest.integrity);\n\tlogger$11.debug(\"UI bundle integrity verified\", { version: manifest.version });\n\tconst tmpTar = join(dataDir, \".ui-build.tgz.tmp\");\n\tconst staging = join(dataDir, \".ui-build.staging\");\n\ttry {\n\t\trmSync(staging, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\tmkdirSync(staging, { recursive: true });\n\t\twriteFileSync(tmpTar, data);\n\t\tawait fo({\n\t\t\tfile: tmpTar,\n\t\t\tcwd: staging,\n\t\t\tstrip: 2,\n\t\t\tfilter: (p) => p.startsWith(\"package/build/\")\n\t\t});\n\t\tif (!existsSync(join(staging, \"index.js\"))) throw new Error(\"downloaded UI bundle is missing build/index.js\");\n\t\trmSync(uiDir, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\trenameSync(staging, uiDir);\n\t} finally {\n\t\trmSync(tmpTar, { force: true });\n\t\trmSync(staging, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t}\n}\n/**\n* Install the UI build to OP_HOME/data/ui/.\n*\n* Copies from the local/bundled `packages/ui/build/` when available, otherwise\n* downloads the `@openpalm/ui` bundle from npm (by exact version; `repoRef` may\n* be a tag like `latest`/`next` via the admin route). Always replaces existing\n* content. data/ui/ is included in backups because backupOpenPalmHome() copies\n* all of OP_HOME/data/.\n*/\nasync function seedUiBuild(repoRef, dataDir, options) {\n\tconst uiDir = join(dataDir, \"ui\");\n\tmkdirSync(uiDir, { recursive: true });\n\tconst local = options?.forceRemote ? null : resolveLocalUiBuild();\n\tif (local) {\n\t\tlogger$11.debug(\"seeding UI build from local source\", { src: local });\n\t\tcopyTree(local, uiDir);\n\t\tif (!readUiBuildVersion(uiDir)) logger$11.warn(\"seeded UI build has no version stamp — auto-update comparison will be unreliable\", { src: local });\n\t\treturn;\n\t}\n\tconst manifest = await fetchNpmUiManifest(normalizeVersion(repoRef));\n\tlogger$11.debug(\"downloading UI build from npm\", { version: manifest.version });\n\tawait downloadNpmUiBundle(manifest, uiDir, dataDir);\n}\n//#endregion\n//#region ../lib/src/control-plane/paths.ts\n/**\n* Authoritative path resolution for the OpenPalm control plane.\n*\n* Every consumer imports from here instead of concatenating paths inline.\n* When the directory layout changes, update this file only.\n*\n* Layout:\n* config/ — user-editable config + system config files (akm/)\n* config/stack/ — fixed compose files only (stack.env, secrets, auth.json live under knowledge/; no stack.yml)\n* data/ — persistent service data, logs, backups, rollback\n* knowledge/ — akm knowledge (skills, env, secrets, agents)\n* workspace/ — shared work area\n*/\n/**\n* OpenCode auth token store. Provider credentials are sensitive, so they live\n* under knowledge/secrets/ (out of config/stack/) and are bind-mounted into\n* every OpenCode-based container (assistant + guardian).\n*/\nvar authJsonPath = (s) => `${s.stashDir}/secrets/auth.json`;\nvar assistantConfigDir = (s) => `${s.configDir}/assistant`;\n/**\n* Resolve the OP_HOME root from a stackDir. Normally `<home>/config/stack`;\n* falls back to the stackDir itself for callers/tests that pass a home-shaped\n* dir. Mirrors `resolveHomeDirFromStackDir` in secrets-files.ts so the env and\n* secret dirs resolve consistently from the same input.\n*/\nvar homeFromStackDir = (stackDir) => basename(stackDir) === \"stack\" && basename(dirname(stackDir)) === \"config\" ? dirname(dirname(stackDir)) : stackDir;\n/**\n* Same as `stackEnvPath` but resolved from a `stackDir` for the few callers\n* that only have the stack dir, not full state.\n*/\nvar stackEnvPathFromStackDir = (stackDir) => `${homeFromStackDir(stackDir)}/knowledge/env/stack.env`;\nvar assistantServiceDir = (s) => `${s.dataDir}/assistant`;\n//#endregion\n//#region ../lib/src/control-plane/secrets-files.ts\nvar SECRET_NAME_RE = /^[a-z0-9][a-z0-9_]{0,80}$/;\nvar SECRETS_DIR_MODE = 448;\nvar SECRET_FILE_MODE = 384;\nfunction validateSecretName(name) {\n\tif (!SECRET_NAME_RE.test(name)) throw new Error(`Invalid secret name: ${name}`);\n}\nfunction resolveHomeDirFromStackDir(stackDir) {\n\tconst parentDir = dirname(stackDir);\n\tif (basename(stackDir) === \"stack\" && basename(parentDir) === \"config\") return dirname(parentDir);\n\treturn stackDir;\n}\nfunction resolveSecretsDir(stackDir) {\n\tconst dir = join(resolveHomeDirFromStackDir(stackDir), \"knowledge\", \"secrets\");\n\tmkdirSync(dir, {\n\t\trecursive: true,\n\t\tmode: SECRETS_DIR_MODE\n\t});\n\tchmodSync(dir, SECRETS_DIR_MODE);\n\tfor (const entry of readdirSync(dir, { withFileTypes: true })) if (entry.isFile()) chmodSync(join(dir, entry.name), SECRET_FILE_MODE);\n\treturn dir;\n}\nfunction secretPath(stackDir, name) {\n\tvalidateSecretName(name);\n\treturn join(resolveSecretsDir(stackDir), name);\n}\nfunction readSecret(stackDir, name) {\n\tconst path = secretPath(stackDir, name);\n\tif (!existsSync(path)) return null;\n\tchmodSync(path, SECRET_FILE_MODE);\n\treturn readFileSync(path, \"utf-8\");\n}\nfunction writeSecret(stackDir, name, value) {\n\tconst path = secretPath(stackDir, name);\n\twriteFileSync(path, value, { mode: SECRET_FILE_MODE });\n\tchmodSync(path, SECRET_FILE_MODE);\n}\nfunction ensureSecret(stackDir, name, valueFactory) {\n\tconst existing = readSecret(stackDir, name);\n\tif (existing !== null) return existing;\n\tconst value = valueFactory();\n\twriteSecret(stackDir, name, value);\n\treturn value;\n}\nfunction listSecretNames(stackDir) {\n\treturn readdirSync(resolveSecretsDir(stackDir), { withFileTypes: true }).filter((entry) => entry.isFile() && SECRET_NAME_RE.test(entry.name)).map((entry) => entry.name).sort();\n}\nvar SECRET_FILENAME_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;\nfunction assertSafeSecretFilename(name) {\n\tif (!SECRET_FILENAME_RE.test(name) || name.includes(\"..\")) throw new Error(`Invalid secret file name: ${name}`);\n}\n/** List every regular file in the secrets dir (incl. auth.json), with byte size. */\nfunction listSecretFiles(stackDir) {\n\tconst dir = resolveSecretsDir(stackDir);\n\treturn readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isFile() && SECRET_FILENAME_RE.test(entry.name) && !entry.name.includes(\"..\")).map((entry) => ({\n\t\tname: entry.name,\n\t\tsize: statSync(join(dir, entry.name)).size\n\t})).sort((a, b) => a.name.localeCompare(b.name));\n}\n/** Read a secrets-dir file by basename (raw contents), or null if absent. */\nfunction readSecretFile(stackDir, name) {\n\tassertSafeSecretFilename(name);\n\tconst path = join(resolveSecretsDir(stackDir), name);\n\tif (!existsSync(path)) return null;\n\tchmodSync(path, SECRET_FILE_MODE);\n\treturn readFileSync(path, \"utf-8\");\n}\n/** Write a secrets-dir file by basename (0600). */\nfunction writeSecretFile(stackDir, name, value) {\n\tassertSafeSecretFilename(name);\n\tconst path = join(resolveSecretsDir(stackDir), name);\n\twriteFileSync(path, value, { mode: SECRET_FILE_MODE });\n\tchmodSync(path, SECRET_FILE_MODE);\n}\n/** Delete a secrets-dir file by basename. */\nfunction removeSecretFile(stackDir, name) {\n\tassertSafeSecretFilename(name);\n\trmSync(join(resolveSecretsDir(stackDir), name), { force: true });\n}\n//#endregion\n//#region ../lib/src/control-plane/secrets.ts\n/** Secrets and capability key management. */\nvar OPENCODE_STARTER_CONFIG = JSON.stringify({ $schema: \"https://opencode.ai/config.json\" }, null, 2) + \"\\n\";\nvar logger$10 = createLogger(\"secrets\");\nvar VAULT_DIR_MODE = 448;\nvar VAULT_FILE_MODE = 384;\nvar SECRET_ENV_KEY_RE = /(?:^OP_UI_LOGIN_PASSWORD$|^OP_OPENCODE_PASSWORD$|_API_KEY$|_TOKEN$|_SECRET$|_PASSWORD$)/;\nvar SECRET_LIKE_KEY_RE = /(^|_)(SECRET|TOKEN|PASSWORD|PASS|API_KEY|PRIVATE_KEY|CLIENT_SECRET|AUTH_JSON|CREDENTIALS)(_|$)/;\nfunction isSecretLikeKey(key) {\n\tconst normalized = key.toUpperCase();\n\tif (normalized.endsWith(\"_FILE\")) return false;\n\treturn SECRET_LIKE_KEY_RE.test(normalized);\n}\nfunction isSecretLikeStackEnvKey(key) {\n\treturn isSecretLikeKey(key);\n}\n/**\n* Guard that prevents secret-like keys from being written to stack.env.\n*\n* The credentials route (addons/[name]/credentials/+server.ts) splits writes\n* by `@sensitive` schema annotation: sensitive fields go to compose secret files\n* via writeStackSecretEnv; non-sensitive fields go to stack.env via\n* patchSecretsEnvFile. This guard is the last-resort catch for any code path\n* that calls patchSecretsEnvFile (or writeSystemEnv) with a secret-like key.\n*/\nfunction assertNoSecretLikeStackEnvKeys(updates) {\n\tfor (const key of Object.keys(updates)) if (isSecretLikeStackEnvKey(key)) throw new Error(`Refusing to write secret-like key to stack.env: ${key}`);\n}\nfunction enforceVaultDirMode(vaultDir) {\n\tmkdirSync(vaultDir, {\n\t\trecursive: true,\n\t\tmode: VAULT_DIR_MODE\n\t});\n\ttry {\n\t\tchmodSync(vaultDir, VAULT_DIR_MODE);\n\t} catch (error) {\n\t\tlogger$10.warn(\"failed to enforce vault directory permissions\", {\n\t\t\tvaultDir,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t});\n\t}\n}\nfunction writeVaultFile(path, content) {\n\twriteFileSync(path, content, { mode: VAULT_FILE_MODE });\n\ttry {\n\t\tchmodSync(path, VAULT_FILE_MODE);\n\t} catch (error) {\n\t\tlogger$10.warn(\"failed to enforce vault file permissions\", {\n\t\t\tpath,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t});\n\t}\n}\nfunction readStackSecretEnv(stackDir) {\n\tconst out = {};\n\tfor (const name of listSecretNames(stackDir)) {\n\t\tconst envKey = name.toUpperCase();\n\t\ttry {\n\t\t\tout[envKey] = (readSecret(stackDir, name) ?? \"\").replace(/[\\r\\n]+$/, \"\");\n\t\t} catch {}\n\t}\n\treturn out;\n}\nfunction writeStackSecretEnv(state, updates) {\n\tif (Object.keys(updates).length === 0) return;\n\tresolveSecretsDir(state.stackDir);\n\tfor (const [envKey, value] of Object.entries(updates)) {\n\t\tif (!/^[A-Z0-9_]+$/.test(envKey)) throw new Error(`Invalid secret env key: ${envKey}`);\n\t\twriteSecret(state.stackDir, envKey.toLowerCase(), value.endsWith(\"\\n\") ? value : `${value}\\n`);\n\t}\n}\nfunction ensureSystemSecrets(state) {\n\tconst systemEnvPath = `${state.stashDir}/env/stack.env`;\n\tenforceVaultDirMode(dirname(systemEnvPath));\n\tconst updates = {};\n\tif (process.env.OP_UI_LOGIN_PASSWORD) updates.OP_UI_LOGIN_PASSWORD = process.env.OP_UI_LOGIN_PASSWORD;\n\tif (process.env.OP_OPENCODE_PASSWORD) updates.OP_OPENCODE_PASSWORD = process.env.OP_OPENCODE_PASSWORD;\n\twriteStackSecretEnv(state, updates);\n\tif (!existsSync(systemEnvPath)) {\n\t\tconst header = [\n\t\t\t\"# OpenPalm — Stack Configuration\",\n\t\t\t\"# Non-secret stack configuration only. File-based secrets live in knowledge/secrets/.\",\n\t\t\t\"\",\n\t\t\t\"# ── Authentication ──────────────────────────────────────────────────\",\n\t\t\t\"OP_SETUP_COMPLETE=false\",\n\t\t\t\"\"\n\t\t].join(\"\\n\");\n\t\twriteVaultFile(systemEnvPath, header.endsWith(\"\\n\") ? header : header + \"\\n\");\n\t\treturn;\n\t}\n}\nfunction ensureSecrets(state) {\n\tenforceVaultDirMode(state.stackDir);\n\tensureSystemSecrets(state);\n\tensureAuthJson(state);\n\tensureSecret(state.stackDir, \"op_guardian_admin_token\", () => crypto.randomUUID().replace(/-/g, \"\"));\n\tensureSecret(state.stackDir, \"op_guardian_mcp_token\", () => crypto.randomUUID().replace(/-/g, \"\"));\n}\nfunction ensureAuthJson(state) {\n\tconst authJsonPath$1 = authJsonPath(state);\n\tmkdirSync(dirname(authJsonPath$1), {\n\t\trecursive: true,\n\t\tmode: VAULT_DIR_MODE\n\t});\n\tif (existsSync(authJsonPath$1)) try {\n\t\tif (lstatSync(authJsonPath$1).isDirectory()) rmSync(authJsonPath$1, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\telse {\n\t\t\tchmodSync(authJsonPath$1, VAULT_FILE_MODE);\n\t\t\treturn;\n\t\t}\n\t} catch (error) {\n\t\tlogger$10.warn(\"failed to repair auth.json path\", {\n\t\t\tpath: authJsonPath$1,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t});\n\t\tthrow error;\n\t}\n\twriteVaultFile(authJsonPath$1, \"{}\\n\");\n}\nfunction updateSecretsEnv(state, updates) {\n\tconst secretUpdates = {};\n\tconst stackUpdates = {};\n\tfor (const [key, value] of Object.entries(updates)) if (SECRET_ENV_KEY_RE.test(key)) secretUpdates[key] = value;\n\telse stackUpdates[key] = value;\n\twriteStackSecretEnv(state, secretUpdates);\n\tif (Object.keys(stackUpdates).length > 0) patchSecretsEnvFile(state.stackDir, stackUpdates);\n}\n/**\n* Merge-write provider API keys into OpenCode's auth.json at\n* `${stackDir}/auth.json` (knowledge/secrets/auth.json). Each entry uses\n* OpenCode's schema for api-key auth: `{ <providerId>: { type: \"api\", key } }`.\n*\n* This file is bind-mounted into both the assistant and guardian containers\n* so every OpenCode instance picks up new credentials on its next restart —\n* see core.compose.yml (assistant) and portals.compose.yml (guardian).\n*\n* Existing entries (OAuth tokens, other providers) are preserved.\n* Empty values DELETE the corresponding entry.\n*/\nfunction writeAuthJsonProviderKeys(state, providerKeys) {\n\tif (Object.keys(providerKeys).length === 0) return;\n\tconst authJsonPath$2 = authJsonPath(state);\n\tmkdirSync(dirname(authJsonPath$2), {\n\t\trecursive: true,\n\t\tmode: VAULT_DIR_MODE\n\t});\n\tlet current = {};\n\tif (existsSync(authJsonPath$2)) try {\n\t\tconst raw = readFileSync(authJsonPath$2, \"utf-8\").trim();\n\t\tif (raw && raw !== \"{}\") current = JSON.parse(raw);\n\t} catch {\n\t\tconst corruptPath = `${authJsonPath$2}.corrupt-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\")}`;\n\t\ttry {\n\t\t\trenameSync(authJsonPath$2, corruptPath);\n\t\t\tlogger$10.warn(\"corrupt auth.json renamed for recovery\", {\n\t\t\t\toriginal: authJsonPath$2,\n\t\t\t\trenamed: corruptPath\n\t\t\t});\n\t\t} catch (renameErr) {\n\t\t\tlogger$10.warn(\"could not rename corrupt auth.json; starting fresh\", {\n\t\t\t\tpath: authJsonPath$2,\n\t\t\t\terror: renameErr instanceof Error ? renameErr.message : String(renameErr)\n\t\t\t});\n\t\t}\n\t\tcurrent = {};\n\t}\n\tfor (const [providerId, key] of Object.entries(providerKeys)) if (key) current[providerId] = {\n\t\ttype: \"api\",\n\t\tkey\n\t};\n\telse delete current[providerId];\n\twriteVaultFile(authJsonPath$2, JSON.stringify(current, null, 2) + \"\\n\");\n}\n/** Read and parse knowledge/env/stack.env. Returns {} if the file does not exist. */\nfunction readStackEnv(stackDir) {\n\tconst parsed = parseEnvFile(stackEnvPathFromStackDir(stackDir));\n\tconst nonSecret = {};\n\tfor (const [key, value] of Object.entries(parsed)) if (!isSecretLikeStackEnvKey(key)) nonSecret[key] = value;\n\treturn nonSecret;\n}\nfunction readStackRuntimeEnv(stackDir) {\n\treturn {\n\t\t...readStackEnv(stackDir),\n\t\t...readStackSecretEnv(stackDir)\n\t};\n}\nfunction patchSecretsEnvFile(stackDir, patches) {\n\tif (Object.keys(patches).length === 0) return;\n\tconst stackPatches = {};\n\tconst secretPatches = {};\n\tfor (const [key, value] of Object.entries(patches)) if (SECRET_ENV_KEY_RE.test(key)) secretPatches[key] = value;\n\telse stackPatches[key] = value;\n\tif (Object.keys(secretPatches).length > 0) writeStackSecretEnv({\n\t\tstackDir,\n\t\thomeDir: \"\",\n\t\tconfigDir: \"\",\n\t\tstashDir: \"\",\n\t\tworkspaceDir: \"\",\n\t\tdataDir: \"\",\n\t\tservices: {},\n\t\tartifacts: { compose: \"\" },\n\t\tartifactMeta: []\n\t}, secretPatches);\n\tif (Object.keys(stackPatches).length === 0) return;\n\tassertNoSecretLikeStackEnvKeys(stackPatches);\n\tconst stackEnvPath = stackEnvPathFromStackDir(stackDir);\n\tenforceVaultDirMode(dirname(stackEnvPath));\n\tlet existingContent = \"\";\n\ttry {\n\t\tif (existsSync(stackEnvPath)) existingContent = readFileSync(stackEnvPath, \"utf-8\");\n\t} catch {}\n\tlet result = mergeEnvContent(existingContent, stackPatches);\n\tif (!result.endsWith(\"\\n\")) result += \"\\n\";\n\twriteVaultFile(stackEnvPath, result);\n}\nfunction ensureOpenCodeConfig() {\n\tconst opencodePath = `${resolveConfigDir()}/assistant`;\n\tmkdirSync(opencodePath, { recursive: true });\n\tconst configFile = `${opencodePath}/opencode.json`;\n\tif (!existsSync(configFile)) writeFileSync(configFile, OPENCODE_STARTER_CONFIG);\n\tfor (const subdir of [\n\t\t\"tools\",\n\t\t\"plugins\",\n\t\t\"skills\"\n\t]) mkdirSync(`${opencodePath}/${subdir}`, { recursive: true });\n}\n//#endregion\n//#region ../lib/src/control-plane/operator-ids.ts\n/**\n* Operator UID/GID detection for stack.env.\n*\n* Container processes that bind-mount host paths (voice models, addon\n* caches, etc.) run as `${OP_UID}:${OP_GID}`. If those values are wrong,\n* the container can't write to the mounted volume and the install\n* silently degrades (model downloads stall, healthchecks time out).\n*\n* Detection strategy (Linux/macOS):\n* 1. Stat OP_HOME. If it exists and is owned by a non-root user,\n* prefer that owner — operator may have created OP_HOME under a\n* different account than the one running install (e.g. sudo\n* install for a service user).\n* 2. Otherwise fall back to the process's real UID/GID.\n* 3. Never return 0 (root). Running install as root is allowed but\n* the container must run as the operator, not root.\n*\n* Returns `null` on Windows (containers run in WSL2's Linux; OP_UID\n* has no meaning on the win32 host process itself).\n*/\n/**\n* Resolve the operator's UID/GID for stack.env.\n* Returns null on Windows or when neither homeDir owner nor process\n* UID/GID is available (e.g. process.getuid undefined on some runtimes).\n*/\nfunction resolveOperatorIds(homeDir) {\n\tif (process.platform === \"win32\") return null;\n\tconst processUid = typeof process.getuid === \"function\" ? process.getuid() : void 0;\n\tconst processGid = typeof process.getgid === \"function\" ? process.getgid() : void 0;\n\tlet ownerUid;\n\tlet ownerGid;\n\ttry {\n\t\tconst st = statSync(homeDir);\n\t\townerUid = st.uid;\n\t\townerGid = st.gid;\n\t} catch {}\n\tconst uid = ownerUid !== void 0 && ownerUid !== 0 ? ownerUid : processUid !== void 0 && processUid !== 0 ? processUid : ownerUid;\n\tconst gid = ownerGid !== void 0 && ownerGid !== 0 ? ownerGid : processGid !== void 0 && processGid !== 0 ? processGid : ownerGid;\n\tif (uid === void 0 || gid === void 0) return null;\n\tif (uid === 0 || gid === 0) return null;\n\treturn {\n\t\tuid,\n\t\tgid\n\t};\n}\n/**\n* Returns true if the parsed stack.env already has a usable\n* (non-zero, numeric) operator ID for the given key.\n* Operator may have hand-set OP_UID/OP_GID; respect that.\n*/\nfunction hasUsableOperatorId(parsed, key) {\n\tconst raw = parsed[key];\n\tif (!raw) return false;\n\tconst n = Number(raw);\n\treturn Number.isFinite(n) && n > 0;\n}\n//#endregion\n//#region ../lib/src/control-plane/defaults.ts\n/**\n* Stack defaults (ports + image). Formerly in stack-spec.ts; kept after the\n* stack.yml removal because these are the canonical fallback values used when a\n* key is absent from stack.env.\n*/\nvar STACK_DEFAULTS = {\n\tports: {\n\t\tassistant: 3800,\n\t\thostUi: 3880,\n\t\tassistantSsh: 2222\n\t},\n\timage: {\n\t\tnamespace: \"openpalm\",\n\t\ttag: \"latest\"\n\t}\n};\n//#endregion\n//#region ../lib/src/control-plane/versions.ts\n/**\n* Version variable management for the OpenPalm control plane.\n*\n* SERVICE versions (`OP_*_VERSION`) are Docker image tags. They take an exact\n* tag (\"v0.12.18\"), the moving \"latest\" / \"next\" refs, or empty (compose\n* falls back to \"latest\"). They are NEVER semver ranges — Docker image tags\n* are concrete refs, not range expressions.\n*\n* Tool package versions are managed via per-container package.json files at\n* OP_HOME/data/<container>/tools/package.json. Edit those files to pin or\n* update individual tool versions.\n*\n* Compose reads every SERVICE_VERSION_KEY directly via\n* `${OP_*_VERSION:-latest}` — there is no cascade fallback to a single platform\n* tag anymore. Each image rides its own var.\n*/\n/** Docker image tag pins — one per deployable image. Exact tag / \"latest\" / \"next\". */\nvar SERVICE_VERSION_KEYS = [\n\t\"OP_ASSISTANT_VERSION\",\n\t\"OP_GUARDIAN_VERSION\",\n\t\"OP_PORTAL_VERSION\",\n\t\"OP_VOICE_VERSION\"\n];\n/**\n* Maps each service version key to its Docker Hub image name (without namespace).\n* Namespace defaults to \"openpalm\" (OP_IMAGE_NAMESPACE env var in compose).\n* Source: .openpalm/config/stack/core.compose.yml + services.compose.yml + portals.compose.yml.\n*\n* NOTE: voice tags carry a variant suffix in compose (e.g. \"-cpu\", \"-cu121\") that is\n* appended by the compose file itself. OP_VOICE_VERSION holds only the base semver part.\n* Docker Hub voice tags are therefore \"<version>-cpu\" etc. — strip the suffix when\n* comparing or displaying.\n*/\nvar DOCKER_IMAGE_NAMES = {\n\tOP_ASSISTANT_VERSION: \"assistant\",\n\tOP_GUARDIAN_VERSION: \"guardian\",\n\tOP_PORTAL_VERSION: \"portal\",\n\tOP_VOICE_VERSION: \"voice\"\n};\nvar VERSION_KEY_SET = new Set(SERVICE_VERSION_KEYS);\n/** Default values seeded into a fresh stack.env (and returned for unset keys). */\nvar VERSION_DEFAULTS = {\n\tOP_ASSISTANT_VERSION: \"latest\",\n\tOP_GUARDIAN_VERSION: \"latest\",\n\tOP_PORTAL_VERSION: \"latest\",\n\tOP_VOICE_VERSION: \"latest\"\n};\nfunction isVersionKey(key) {\n\treturn VERSION_KEY_SET.has(key);\n}\nfunction stackEnvPath$1(state) {\n\treturn `${state.stashDir}/env/stack.env`;\n}\n/**\n* Read every version key from stack.env. Keys that are absent fall back to their\n* documented default (so callers always get the full SERVICE_VERSION_KEYS set).\n*/\nfunction readVersions(state) {\n\tconst path = stackEnvPath$1(state);\n\tconst parsed = existsSync(path) ? parseEnvFile(path) : {};\n\tconst out = {};\n\tfor (const key of SERVICE_VERSION_KEYS) out[key] = parsed[key] ?? VERSION_DEFAULTS[key];\n\treturn out;\n}\n/**\n* Write validated version keys into stack.env. Only keys in the\n* SERVICE_VERSION_KEYS allowlist are written; anything else is rejected so a typo or\n* a hostile caller can't smuggle arbitrary env into the stack config. Uses\n* mergeEnvContent so existing non-version keys (and comments) are preserved.\n*/\nfunction writeVersions(state, updates) {\n\tconst accepted = {};\n\tfor (const [key, value] of Object.entries(updates)) {\n\t\tif (!isVersionKey(key)) throw new Error(`Refusing to write unknown version key: ${key}`);\n\t\taccepted[key] = (value ?? \"\").trim();\n\t}\n\tif (Object.keys(accepted).length === 0) return;\n\tconst path = stackEnvPath$1(state);\n\twriteFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", accepted), { mode: 384 });\n}\n//#endregion\n//#region ../lib/src/control-plane/config-persistence.ts\n/**\n* Runtime file resolution and persistence for the OpenPalm control plane.\n*\n* Writes and derives live runtime files (compose, env, schemas).\n* Files are validated in-place before writing; rollback is handled by\n* the rollback module (snapshot to OP_HOME/data/rollback/).\n*/\nvar logger$9 = createLogger(\"config-persistence\");\n/**\n* Return the env files used for docker compose --env-file args.\n*\n* Only `knowledge/env/stack.env` (non-secret system config). Secret values\n* live in `knowledge/secrets/<ENV_KEY>` and are granted to services as Compose\n* file secrets. The user env (`knowledge/env/user.env`) is NOT a compose\n* env_file — it is sourced by the assistant entrypoint at container startup.\n*/\nfunction buildEnvFiles(state) {\n\treturn [`${state.stashDir}/env/stack.env`].filter(existsSync);\n}\n/**\n* Write system-managed values to knowledge/env/stack.env.\n*\n* Secret-like keys are NOT written here — they belong in knowledge/secrets/.\n* Use ensurePortalSecret() for portal secrets.\n*/\nfunction writeSystemEnv(state) {\n\tconst systemEnvPath = `${state.stashDir}/env/stack.env`;\n\tmkdirSync(`${state.stashDir}/env`, {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\tlet base = \"\";\n\tif (existsSync(systemEnvPath)) base = readFileSync(systemEnvPath, \"utf-8\");\n\telse base = generateFallbackSystemEnv(state);\n\tconst parsed = parseEnvFile(systemEnvPath);\n\tconst adminManaged = { OP_SETUP_COMPLETE: parsed.OP_SETUP_COMPLETE === \"true\" ? \"true\" : \"false\" };\n\tconst ids = resolveOperatorIds(state.homeDir);\n\tif (ids) {\n\t\tif (!hasUsableOperatorId(parsed, \"OP_UID\")) adminManaged.OP_UID = String(ids.uid);\n\t\tif (!hasUsableOperatorId(parsed, \"OP_GID\")) adminManaged.OP_GID = String(ids.gid);\n\t}\n\tif (!parsed.OP_HOME) adminManaged.OP_HOME = state.homeDir;\n\tconst { content: strippedBase, removed } = stripSecretLikeEnvKeys(base);\n\tbase = strippedBase;\n\tif (removed.length > 0) {\n\t\tlogger$9.warn(\"Removed secret-looking keys from stack.env (they belong in Connections/secrets)\", {\n\t\t\tremovedKeys: removed,\n\t\t\tstackEnvPath: systemEnvPath\n\t\t});\n\t\trecordSecretStripNotice(state, removed);\n\t}\n\tassertNoSecretLikeStackEnvKeys(parseEnvContent(base));\n\tassertNoSecretLikeStackEnvKeys(adminManaged);\n\twriteFileSync(systemEnvPath, mergeEnvContent(base, adminManaged, { sectionHeader: \"# ── Admin-managed ──────────────────────────────────────────────────\" }), { mode: 384 });\n\tchmodSync(systemEnvPath, 384);\n}\nfunction stripSecretLikeEnvKeys(content) {\n\tconst removed = [];\n\treturn {\n\t\tcontent: content.split(\"\\n\").filter((line) => {\n\t\t\tlet trimmed = line.trim();\n\t\t\tif (trimmed.startsWith(\"export \")) trimmed = trimmed.slice(7).trimStart();\n\t\t\tconst eq = trimmed.indexOf(\"=\");\n\t\t\tif (eq <= 0) return true;\n\t\t\tconst key = trimmed.slice(0, eq).trim();\n\t\t\tif (isSecretLikeStackEnvKey(key)) {\n\t\t\t\tremoved.push(key);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}).join(\"\\n\"),\n\t\tremoved\n\t};\n}\n/**\n* Path of the one-time \"secret-looking values were removed from stack.env\"\n* notice the UI reads and dismisses.\n*/\nfunction secretStripNoticePath(state) {\n\treturn `${state.dataDir}/secret-strip-notice.json`;\n}\nfunction recordSecretStripNotice(state, newlyRemoved) {\n\tconst path = secretStripNoticePath(state);\n\tlet keys = new Set(newlyRemoved);\n\tif (existsSync(path)) try {\n\t\tconst prior = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tif (Array.isArray(prior.keys)) keys = new Set([...prior.keys, ...newlyRemoved]);\n\t} catch {}\n\tconst notice = {\n\t\tkeys: [...keys].sort(),\n\t\tat: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\ttry {\n\t\tmkdirSync(state.dataDir, { recursive: true });\n\t\twriteFileSync(path, JSON.stringify(notice, null, 2));\n\t} catch (e) {\n\t\tlogger$9.warn(\"Could not persist secret-strip notice\", { error: e instanceof Error ? e.message : String(e) });\n\t}\n}\n/** Read the pending secret-strip notice, or null when there is none. */\nfunction readSecretStripNotice(state) {\n\tconst path = secretStripNoticePath(state);\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tif (Array.isArray(parsed.keys) && parsed.keys.length > 0 && typeof parsed.at === \"string\") return {\n\t\t\tkeys: parsed.keys,\n\t\t\tat: parsed.at\n\t\t};\n\t} catch {}\n\treturn null;\n}\n/** Dismiss (delete) the pending secret-strip notice. */\nfunction dismissSecretStripNotice(state) {\n\tconst path = secretStripNoticePath(state);\n\tif (existsSync(path)) try {\n\t\trmSync(path);\n\t} catch (e) {\n\t\tlogger$9.warn(\"Could not dismiss secret-strip notice\", { error: e instanceof Error ? e.message : String(e) });\n\t}\n}\nfunction generateFallbackSystemEnv(state) {\n\tconst ids = resolveOperatorIds(state.homeDir);\n\tconst idLines = ids ? [`OP_UID=${ids.uid}`, `OP_GID=${ids.gid}`] : [];\n\treturn [\n\t\t\"# OpenPalm — System Configuration (managed by CLI/admin)\",\n\t\t\"# Auto-generated fallback.\",\n\t\t\"\",\n\t\t\"# ── Paths ──────────────────────────────────────────────────────────\",\n\t\t`OP_HOME=${state.homeDir}`,\n\t\t...idLines,\n\t\t\"\",\n\t\t\"# ── Images ──────────────────────────────────────────────────────────\",\n\t\t`OP_IMAGE_NAMESPACE=${process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\"}`,\n\t\t\"# Docker image tags (exact tag, \\\"latest\\\", or \\\"next\\\" — no semver ranges).\",\n\t\t...SERVICE_VERSION_KEYS.map((key) => `${key}=${VERSION_DEFAULTS[key]}`),\n\t\t\"\",\n\t\t\"# ── Layout (on-disk schema version; managed by the migration harness) ──\",\n\t\t`OP_LAYOUT_VERSION=2`,\n\t\t\"\",\n\t\t\"# ── Enabled addons (comma-separated; managed via the Add-ons UI / CLI) ──\",\n\t\t\"OP_ENABLED_ADDONS=\",\n\t\t\"\",\n\t\t\"# ── Ports (38XX range) ──────────────────────────────────────────────\",\n\t\t\"# Guardian is network-only (no host port) — portals reach it via\",\n\t\t\"# http://guardian:8080 over the portal_net Docker network.\",\n\t\t`OP_ASSISTANT_PORT=${STACK_DEFAULTS.ports.assistant}`,\n\t\t`OP_HOST_UI_PORT=${STACK_DEFAULTS.ports.hostUi}`,\n\t\t\"\"\n\t].join(\"\\n\");\n}\n/**\n* Discover active compose overlays.\n* Returns the fixed compose stack: core, services, portals, and custom.\n* First-party services are profile-gated inside services.compose.yml and\n* portals.compose.yml.\n*\n* Host AKM sharing is NOT a compose overlay: the assistant always mounts\n* `/host-stash` (core.compose.yml, with an empty-dir fallback), and \"sharing\"\n* is purely a writable secondary source entry in config/akm/config.json. No\n* conditional overlay file is involved.\n*/\nfunction discoverStackOverlays(stackDir) {\n\tconst files = [];\n\tconst coreYml = `${stackDir}/core.compose.yml`;\n\tif (existsSync(coreYml)) files.push(coreYml);\n\tfor (const name of [\n\t\t\"services.compose.yml\",\n\t\t\"portals.compose.yml\",\n\t\t\"custom.compose.yml\"\n\t]) {\n\t\tconst composePath = `${stackDir}/${name}`;\n\t\tif (existsSync(composePath)) files.push(composePath);\n\t}\n\treturn files;\n}\nfunction resolveRuntimeFiles() {\n\treturn { compose: readCoreCompose() };\n}\nfunction buildRuntimeFileMeta(artifacts) {\n\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\treturn [\"compose\"].map((name) => ({\n\t\tname,\n\t\tsha256: sha256(artifacts[name]),\n\t\tgeneratedAt: now,\n\t\tbytes: Buffer.byteLength(artifacts[name])\n\t}));\n}\nfunction portalSecretName(addon) {\n\treturn `portal_${addon.replace(/-/g, \"_\")}_secret`;\n}\nfunction ensurePortalSecret(stackDir, addon) {\n\treturn ensureSecret(stackDir, portalSecretName(addon), () => randomHex(16));\n}\n/**\n* Parse enabled compose files and pre-create host-side volume mount\n* targets under OP_HOME as the current user. This prevents Docker from\n* creating them as root-owned, which causes EACCES inside non-root\n* containers.\n*\n* Only mount sources under `state.homeDir` are touched; external paths\n* (e.g. `/var/run/docker.sock`) are left alone.\n*\n* The file-vs-directory distinction is best-effort and only applies to\n* explicit OP_HOME paths.\n*/\nfunction ensureComposeVolumeTargets(state) {\n\tconst composeFiles = discoverStackOverlays(state.stackDir);\n\tif (composeFiles.length === 0) return;\n\tconst operatorIds = resolveOperatorIds(state.homeDir);\n\tconst envVars = {\n\t\t...process.env,\n\t\t...parseEnvFile(`${state.stashDir}/env/stack.env`)\n\t};\n\tconst homeRoot = resolve(state.homeDir);\n\tfor (const file of composeFiles) {\n\t\tlet doc;\n\t\ttry {\n\t\t\tdoc = (0, import_dist.parse)(readFileSync(file, \"utf-8\"));\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t\tconst services = doc?.services;\n\t\tif (!services || typeof services !== \"object\") continue;\n\t\tfor (const svc of Object.values(services)) {\n\t\t\tif (!svc || typeof svc !== \"object\") continue;\n\t\t\tconst svcRecord = svc;\n\t\t\tif (!Array.isArray(svcRecord.volumes)) continue;\n\t\t\tfor (const vol of svcRecord.volumes) {\n\t\t\t\tconst rawSource = typeof vol === \"string\" ? vol.split(\":\")[0] : String((typeof vol === \"object\" && vol !== null ? vol : null)?.source ?? \"\");\n\t\t\t\tif (!rawSource) continue;\n\t\t\t\tconst hostPath = expandEnvVars(rawSource, envVars);\n\t\t\t\tif (!hostPath || !hostPath.startsWith(\"/\")) continue;\n\t\t\t\tconst resolvedHostPath = resolve(hostPath);\n\t\t\t\tif (!resolvedHostPath.startsWith(`${homeRoot}/`) && resolvedHostPath !== homeRoot) continue;\n\t\t\t\tif (existsSync(resolvedHostPath)) continue;\n\t\t\t\tif ((resolvedHostPath.split(\"/\").pop() ?? \"\").includes(\".\")) {\n\t\t\t\t\tconst parent = dirname(resolvedHostPath);\n\t\t\t\t\tmkdirSync(parent, { recursive: true });\n\t\t\t\t\twriteFileSync(resolvedHostPath, \"\");\n\t\t\t\t\tchownVolumeTarget(parent, operatorIds);\n\t\t\t\t\tchownVolumeTarget(resolvedHostPath, operatorIds);\n\t\t\t\t} else {\n\t\t\t\t\tmkdirSync(resolvedHostPath, { recursive: true });\n\t\t\t\t\tchownVolumeTarget(resolvedHostPath, operatorIds);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n/**\n* chown a just-created bind-mount target to the operator UID/GID so the\n* non-root container (`user: ${OP_UID}:${OP_GID}`) can write to it.\n*\n* No-op on Windows (chown is meaningless there) or when no operator can be\n* resolved. A failure (e.g. not the owner) is logged and swallowed — the\n* mkdir already succeeded and Docker Desktop's gRPC-FUSE masks ownership\n* anyway, so a chown failure must not abort the install.\n*/\nfunction chownVolumeTarget(path, operatorIds) {\n\tif (process.platform === \"win32\" || !operatorIds) return;\n\ttry {\n\t\tchownSync(path, operatorIds.uid, operatorIds.gid);\n\t} catch (error) {\n\t\tlogger$9.warn(`Could not chown volume target ${path} to ${operatorIds.uid}:${operatorIds.gid}: ${error instanceof Error ? error.message : String(error)}`);\n\t}\n}\nfunction writeRuntimeFiles(state) {\n\tmkdirSync(state.stackDir, { recursive: true });\n\tconst managedSourceRoot = `${state.homeDir}/.openpalm`;\n\tif (existsSync(`${managedSourceRoot}/config/stack/core.compose.yml`)) refreshCoreAssetsFromSource(managedSourceRoot, state.homeDir);\n\tconst composePath = `${state.stackDir}/core.compose.yml`;\n\tif (!existsSync(composePath)) writeFileSync(composePath, state.artifacts.compose);\n\tfor (const name of [\"services.compose.yml\", \"portals.compose.yml\"]) {\n\t\tconst path = `${state.stackDir}/${name}`;\n\t\tif (!existsSync(path)) writeFileSync(path, readBundledStackAsset(name));\n\t}\n\tconst customComposePath = `${state.stackDir}/custom.compose.yml`;\n\tif (!existsSync(customComposePath)) writeFileSync(customComposePath, readBundledStackAsset(\"custom.compose.yml\"));\n\tfor (const addon of listEnabledAddonIds(state.homeDir)) if ([\n\t\t\"api\",\n\t\t\"chat\",\n\t\t\"discord\",\n\t\t\"slack\"\n\t].includes(addon)) {\n\t\tfor (const portal of [\n\t\t\t\"api\",\n\t\t\t\"chat\",\n\t\t\t\"discord\",\n\t\t\t\"slack\"\n\t\t]) ensurePortalSecret(state.stackDir, portal);\n\t\tbreak;\n\t}\n\twriteSystemEnv(state);\n\tmkdirSync(state.dataDir, { recursive: true });\n\tstate.artifactMeta = buildRuntimeFileMeta(state.artifacts);\n}\n//#endregion\n//#region ../lib/src/control-plane/profile-ids.ts\nvar PROFILE_ID_RE = /^addon\\.([a-z0-9-]+)(?:\\.(cpu|cuda|rocm))?$/;\nfunction addonProfileId(addon, variant) {\n\treturn `addon.${addon}.${variant}`;\n}\nfunction resolveHardwareProfileVariant(profileId) {\n\treturn profileId.match(PROFILE_ID_RE)?.[2] ?? null;\n}\nfunction canonicalAddonProfileSelection(addon, profile) {\n\tconst trimmed = profile.trim();\n\tif (!trimmed) return \"\";\n\tconst match = trimmed.match(PROFILE_ID_RE);\n\tif (!match || match[1] !== addon) return \"\";\n\treturn trimmed;\n}\n//#endregion\n//#region ../lib/src/control-plane/addons.ts\n/**\n* Built-in addon/profile discovery helpers.\n*\n* Runtime addon enablement is recorded as OP_ENABLED_ADDONS in stack.env and\n* resolved to Compose profiles. The fixed compose files under config/stack are\n* the runtime source of truth.\n*/\nvar VALID_NAME_RE = /^[a-z0-9][a-z0-9-]{0,62}$/;\nvar logger$8 = createLogger(\"registry\");\nfunction getRegistryAutomation(name) {\n\tif (!VALID_NAME_RE.test(name)) return null;\n\tconst localOpenpalmDir = resolveLocalOpenpalmDir();\n\tconst candidates = [localOpenpalmDir ? join(localOpenpalmDir, \"knowledge\", \"tasks\", `${name}.yml`) : \"\", join(resolveStashDir(), \"tasks\", `${name}.yml`)].filter(Boolean);\n\tfor (const ymlPath of candidates) if (existsSync(ymlPath)) return readFileSync(ymlPath, \"utf-8\");\n\treturn null;\n}\nfunction getRegistryAddonConfig(name) {\n\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\treturn {\n\t\tschemaPath: \"\",\n\t\tuserEnvPath: \"knowledge/env/stack.env\",\n\t\tenvSchema: BUILTIN_ADDON_ENV_SCHEMAS[name] ?? \"\"\n\t};\n}\nfunction listAvailableAddonIds() {\n\treturn [...BUILTIN_ADDON_IDS].sort();\n}\nfunction listEnabledAddonIds(homeDir) {\n\tconst env = readStackEnv(join(homeDir, \"config\", \"stack\"));\n\tconst enabled = new Set(parseEnabledAddons(env.OP_ENABLED_ADDONS));\n\tconst profiles = /* @__PURE__ */ new Set();\n\tfor (const key of [\"OP_VOICE_PROFILE\", \"OP_OLLAMA_PROFILE\"]) {\n\t\tconst profile = env[key]?.trim();\n\t\tif (profile) profiles.add(profile);\n\t}\n\tfor (const profile of profiles) {\n\t\tconst match = profile.match(/^addon\\.([a-z0-9-]+)(?:\\.|$)/);\n\t\tif (match?.[1]) enabled.add(match[1]);\n\t}\n\treturn [...enabled].sort();\n}\nfunction readAddonServiceNamesFromContent(composeContent, composePath, addonName) {\n\ttry {\n\t\tconst parsed = (0, import_dist.parse)(composeContent);\n\t\tconst services = parsed && typeof parsed === \"object\" ? parsed.services : void 0;\n\t\tif (!services || typeof services !== \"object\" || Array.isArray(services)) return [];\n\t\tconst entries = Object.entries(services);\n\t\tif (!addonName) return entries.map(([name]) => name);\n\t\treturn entries.filter(([serviceName, raw]) => {\n\t\t\tif (serviceName === addonName || serviceName.startsWith(`${addonName}-`)) return true;\n\t\t\tif (!raw || typeof raw !== \"object\") return false;\n\t\t\tconst profiles = raw.profiles;\n\t\t\treturn Array.isArray(profiles) && profiles.some((p) => typeof p === \"string\" && p.startsWith(`addon.${addonName}`));\n\t\t}).map(([serviceName]) => serviceName);\n\t} catch (error) {\n\t\tlogger$8.warn(\"failed to parse addon compose services\", {\n\t\t\tcomposePath,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t});\n\t\treturn [];\n\t}\n}\nfunction readAddonServiceNames(composePath, addonName) {\n\tif (!existsSync(composePath)) return [];\n\treturn readAddonServiceNamesFromContent(readFileSync(composePath, \"utf-8\"), composePath, addonName);\n}\nfunction getAddonServiceNames(homeDir, name) {\n\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\tconst composeCandidates = [\n\t\tjoin(homeDir, \"config\", \"stack\", \"portals.compose.yml\"),\n\t\tjoin(homeDir, \"config\", \"stack\", \"services.compose.yml\"),\n\t\tjoin(homeDir, \"config\", \"stack\", \"custom.compose.yml\")\n\t];\n\tfor (const composePath of composeCandidates) {\n\t\tconst services = readAddonServiceNames(composePath, name);\n\t\tif (services.length > 0) return services;\n\t}\n\tfor (const assetName of [\n\t\t\"portals.compose.yml\",\n\t\t\"services.compose.yml\",\n\t\t\"custom.compose.yml\"\n\t]) {\n\t\tconst services = readAddonServiceNamesFromContent(readBundledStackAsset(assetName), `bundled:${assetName}`, name);\n\t\tif (services.length > 0) return services;\n\t}\n\treturn [];\n}\nvar HOST_PROBE_TIMEOUT_MS = 2e3;\nvar availabilityCache = /* @__PURE__ */ new Map();\nfunction execFileNoThrow(cmd, args, timeoutMs) {\n\treturn new Promise((resolve) => {\n\t\texecFile(cmd, args, { timeout: timeoutMs }, (error, stdout, stderr) => {\n\t\t\tlet mergedStderr = stderr?.toString() ?? \"\";\n\t\t\tconst code = error?.code;\n\t\t\tif (code && !mergedStderr) if (code === \"ENOENT\") mergedStderr = `spawn ${cmd} ENOENT: command not found`;\n\t\t\telse mergedStderr = `spawn ${cmd} ${code}`;\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\",\n\t\t\t\tstderr: mergedStderr\n\t\t\t});\n\t\t});\n\t});\n}\n/**\n* Compute the openpalm/voice image ref for a given GPU variant, matching\n* the substitution chain in the addon compose file:\n* ${OP_IMAGE_NAMESPACE:-openpalm}/voice:${OP_VOICE_VERSION:-latest-<variant>}\n*\n* Voice images are published OUT OF BAND (publish-voice.yml), decoupled from the\n* other service images — they are heavy and rarely change. So the default is the\n* moving `latest-<variant>` voice tag; operators pin a specific build by setting\n* OP_VOICE_VERSION (e.g. `v1.0.0-cpu`). A bare `latest` (the seeded default) is\n* treated as \"unset\" so the GPU-variant default still applies.\n*/\nfunction voiceImageRef(variant) {\n\tconst namespace = process.env.OP_IMAGE_NAMESPACE?.trim() || \"openpalm\";\n\tconst explicit = process.env.OP_VOICE_VERSION?.trim();\n\tif (explicit && explicit !== \"latest\") return `${namespace}/voice:${explicit}`;\n\treturn `${namespace}/voice:latest-${variant}`;\n}\n/**\n* `docker manifest inspect <ref>` returns 0 only when the registry can\n* resolve a manifest for that ref. We use it as the cheap \"is this image\n* actually published?\" check — no pull required. The retry handles\n* transient registry hiccups. Timeout is short because the manifest blob\n* is a few KB.\n*/\nasync function dockerManifestExists(imageRef) {\n\tfor (let attempt = 0; attempt < 2; attempt++) {\n\t\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\t\"manifest\",\n\t\t\t\"inspect\",\n\t\t\timageRef\n\t\t], 5e3);\n\t\tif (res.ok) return true;\n\t\tif (/ENOENT/.test(res.stderr)) return false;\n\t}\n\treturn false;\n}\nasync function probeCuda() {\n\ttry {\n\t\tif (existsSync(\"/etc/cdi/nvidia.yaml\")) return { available: true };\n\t} catch {}\n\tconst result = await execFileNoThrow(\"docker\", [\n\t\t\"info\",\n\t\t\"--format\",\n\t\t\"{{json .Runtimes}}\"\n\t], HOST_PROBE_TIMEOUT_MS);\n\tif (result.ok && result.stdout.includes(\"\\\"nvidia\\\"\")) return { available: true };\n\treturn {\n\t\tavailable: false,\n\t\treason: \"NVIDIA runtime not registered. Install nvidia-container-toolkit or enable CDI.\"\n\t};\n}\nasync function probeRocm() {\n\tlet devicesPresent = false;\n\ttry {\n\t\tdevicesPresent = existsSync(\"/dev/kfd\") && existsSync(\"/dev/dri\");\n\t} catch {\n\t\tdevicesPresent = false;\n\t}\n\tif (!devicesPresent) return {\n\t\tavailable: false,\n\t\treason: \"AMD ROCm devices not present on this host.\"\n\t};\n\tif (!await dockerManifestExists(voiceImageRef(\"rocm6\"))) return {\n\t\tavailable: false,\n\t\treason: \"AMD ROCm image not published yet. Check back in a future release or use the CPU profile.\"\n\t};\n\treturn { available: true };\n}\n/**\n* Probe the host for the capabilities required by an addon profile.\n*\n* Results are cached for the lifetime of the process — hardware doesn't\n* change while the UI server runs. All probes use execFile (no shell)\n* and never throw: errors collapse to `{ available: false, reason }`.\n*\n* Unknown profile ids default to `available: true` so unrelated addons\n* (e.g. a future \"high-mem\" profile that doesn't probe hardware) keep\n* working without code changes here.\n*/\nasync function getAddonProfileAvailability(profile) {\n\tconst cacheKey = profile.id;\n\tconst cached = availabilityCache.get(cacheKey);\n\tif (cached) return cached;\n\tlet result;\n\ttry {\n\t\tconst variant = resolveHardwareProfileVariant(profile.id);\n\t\tif (variant === \"cpu\") result = { available: true };\n\t\telse if (variant === \"cuda\") result = await probeCuda();\n\t\telse if (variant === \"rocm\") result = await probeRocm();\n\t\telse result = { available: true };\n\t} catch (err) {\n\t\tresult = {\n\t\t\tavailable: false,\n\t\t\treason: `probe failed: ${err instanceof Error ? err.message : String(err)}`\n\t\t};\n\t}\n\tavailabilityCache.set(cacheKey, result);\n\treturn result;\n}\n/**\n* Decorate a list of profiles with `available`/`reason` based on the host\n* capability probes. Returns a fresh array; does not mutate inputs.\n*/\nasync function annotateAddonProfileAvailability(profiles) {\n\treturn await Promise.all(profiles.map(async (p) => {\n\t\tconst a = await getAddonProfileAvailability(p);\n\t\tconst annotated = {\n\t\t\t...p,\n\t\t\tavailable: a.available\n\t\t};\n\t\tif (a.reason) annotated.reason = a.reason;\n\t\treturn annotated;\n\t}));\n}\nfunction readAddonProfilesFromContent(composeContent, composePath) {\n\tlet parsed;\n\ttry {\n\t\tparsed = (0, import_dist.parse)(composeContent);\n\t} catch (error) {\n\t\tlogger$8.warn(\"failed to parse addon compose profiles\", {\n\t\t\tcomposePath,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t});\n\t\treturn [];\n\t}\n\tconst services = parsed && typeof parsed === \"object\" ? parsed.services : void 0;\n\tif (!services || typeof services !== \"object\" || Array.isArray(services)) return [];\n\tconst byProfile = /* @__PURE__ */ new Map();\n\tfor (const [svcName, svcRaw] of Object.entries(services)) {\n\t\tif (!svcRaw || typeof svcRaw !== \"object\") continue;\n\t\tconst svc = svcRaw;\n\t\tif (!Array.isArray(svc.profiles)) continue;\n\t\tconst profileIds = svc.profiles.filter((p) => typeof p === \"string\");\n\t\tif (profileIds.length === 0) continue;\n\t\tconst labels = readServiceLabels(svc.labels);\n\t\tconst label = labels[\"openpalm.profile.label\"];\n\t\tconst requires = labels[\"openpalm.profile.requires\"];\n\t\tconst isDefault = labels[\"openpalm.profile.default\"] === \"true\";\n\t\tfor (const id of profileIds) {\n\t\t\tconst existing = byProfile.get(id);\n\t\t\tif (existing) {\n\t\t\t\texisting.services.push(svcName);\n\t\t\t\tif (!existing.label && label) existing.label = label;\n\t\t\t\tif (!existing.requires && requires) existing.requires = requires;\n\t\t\t\tif (!existing.default && isDefault) existing.default = true;\n\t\t\t} else {\n\t\t\t\tconst profile = {\n\t\t\t\t\tid,\n\t\t\t\t\tservices: [svcName]\n\t\t\t\t};\n\t\t\t\tif (label) profile.label = label;\n\t\t\t\tif (requires) profile.requires = requires;\n\t\t\t\tif (isDefault) profile.default = true;\n\t\t\t\tbyProfile.set(id, profile);\n\t\t\t}\n\t\t}\n\t}\n\treturn [...byProfile.values()];\n}\nfunction readAddonProfiles(composePath) {\n\tif (!existsSync(composePath)) return [];\n\treturn readAddonProfilesFromContent(readFileSync(composePath, \"utf-8\"), composePath);\n}\nfunction readServiceLabels(raw) {\n\tif (!raw) return {};\n\tconst out = {};\n\tif (Array.isArray(raw)) for (const entry of raw) {\n\t\tif (typeof entry !== \"string\") continue;\n\t\tconst eq = entry.indexOf(\"=\");\n\t\tif (eq < 0) continue;\n\t\tout[entry.slice(0, eq)] = entry.slice(eq + 1);\n\t}\n\telse if (typeof raw === \"object\") for (const [k, v] of Object.entries(raw)) {\n\t\tif (v == null) continue;\n\t\tout[k] = String(v);\n\t}\n\treturn out;\n}\nfunction getAddonProfiles(homeDir, name) {\n\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\tconst composeCandidates = [\n\t\tjoin(homeDir, \"config\", \"stack\", \"portals.compose.yml\"),\n\t\tjoin(homeDir, \"config\", \"stack\", \"services.compose.yml\"),\n\t\tjoin(homeDir, \"config\", \"stack\", \"custom.compose.yml\")\n\t];\n\tconst localOpenpalmDir = resolveLocalOpenpalmDir();\n\tif (localOpenpalmDir) {\n\t\tcomposeCandidates.push(join(localOpenpalmDir, \"config\", \"stack\", \"portals.compose.yml\"));\n\t\tcomposeCandidates.push(join(localOpenpalmDir, \"config\", \"stack\", \"services.compose.yml\"));\n\t\tcomposeCandidates.push(join(localOpenpalmDir, \"config\", \"stack\", \"custom.compose.yml\"));\n\t}\n\tfor (const composePath of composeCandidates) {\n\t\tconst profiles = readAddonProfiles(composePath).filter((profile) => profile.id.startsWith(`addon.${name}`));\n\t\tif (profiles.length > 0) return profiles;\n\t}\n\tfor (const assetName of [\n\t\t\"portals.compose.yml\",\n\t\t\"services.compose.yml\",\n\t\t\"custom.compose.yml\"\n\t]) {\n\t\tconst profiles = readAddonProfilesFromContent(readBundledStackAsset(assetName), `bundled:${assetName}`).filter((profile) => profile.id.startsWith(`addon.${name}`));\n\t\tif (profiles.length > 0) return profiles;\n\t}\n\treturn [];\n}\nfunction profileEnvKey(name) {\n\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\treturn `OP_${name.replace(/-/g, \"_\").toUpperCase()}_PROFILE`;\n}\nfunction getAddonProfileSelection(stackDir, name) {\n\tconst value = readStackEnv(stackDir)[profileEnvKey(name)];\n\tconst normalized = value ? canonicalAddonProfileSelection(name, value) : \"\";\n\treturn normalized ? normalized : null;\n}\nfunction setAddonProfileSelection(stackDir, name, profile) {\n\tconst trimmed = canonicalAddonProfileSelection(name, profile);\n\tif (!trimmed) throw new Error(`Invalid canonical profile id for addon ${name}: ${profile}`);\n\tpatchSecretsEnvFile(stackDir, { [profileEnvKey(name)]: trimmed });\n}\n/** Add/remove an addon id in the OP_ENABLED_ADDONS list in stack.env. */\nfunction setEnabledAddonState(stackDir, name, enabled) {\n\tconst current = new Set(parseEnabledAddons(readStackEnv(stackDir).OP_ENABLED_ADDONS));\n\tif (enabled) current.add(name);\n\telse current.delete(name);\n\tpatchSecretsEnvFile(stackDir, { OP_ENABLED_ADDONS: [...current].sort().join(\",\") });\n}\nfunction enableAddon(stackDir, name) {\n\ttry {\n\t\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\t\tsetEnabledAddonState(stackDir, name, true);\n\t\tif (name === \"ssh\") patchSecretsEnvFile(stackDir, { OPENCODE_ENABLE_SSH: \"1\" });\n\t\treturn { ok: true };\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t};\n\t}\n}\nfunction disableAddonByName(stackDir, name) {\n\ttry {\n\t\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\t\tsetEnabledAddonState(stackDir, name, false);\n\t\tif (name === \"ssh\") patchSecretsEnvFile(stackDir, { OPENCODE_ENABLE_SSH: \"0\" });\n\t\treturn { ok: true };\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t};\n\t}\n}\nfunction setAddonEnabled(homeDir, stackDir, name, enabled, state) {\n\tif (!VALID_NAME_RE.test(name)) return {\n\t\tok: false,\n\t\terror: `Invalid addon name: ${name}`\n\t};\n\tif (!listAvailableAddonIds().includes(name)) return {\n\t\tok: false,\n\t\terror: `Addon \"${name}\" is not built in`\n\t};\n\tconst wasEnabled = listEnabledAddonIds(homeDir).includes(name);\n\tconst services = getAddonServiceNames(homeDir, name);\n\tif (wasEnabled === enabled) return {\n\t\tok: true,\n\t\tenabled: wasEnabled,\n\t\tchanged: false,\n\t\tservices\n\t};\n\tconst mutation = enabled ? enableAddon(stackDir, name) : disableAddonByName(stackDir, name);\n\tif (!mutation.ok) return mutation;\n\tif (enabled) {\n\t\tif ([\n\t\t\t\"api\",\n\t\t\t\"chat\",\n\t\t\t\"discord\",\n\t\t\t\"slack\"\n\t\t].includes(name)) for (const portal of [\n\t\t\t\"api\",\n\t\t\t\"chat\",\n\t\t\t\"discord\",\n\t\t\t\"slack\"\n\t\t]) ensurePortalSecret(stackDir, portal);\n\t\tif (state) ensureComposeVolumeTargets(state);\n\t}\n\treturn {\n\t\tok: true,\n\t\tenabled,\n\t\tchanged: true,\n\t\tservices\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/assistant-cli-tools.ts\nvar PI_PROVIDER_LABELS = {\n\tanthropic: \"Anthropic\",\n\topenai: \"OpenAI\",\n\tdeepseek: \"DeepSeek\",\n\tgoogle: \"Google Gemini\",\n\tgroq: \"Groq\",\n\tmistral: \"Mistral\",\n\topencode: \"OpenCode Zen\",\n\t\"opencode-go\": \"OpenCode Go\",\n\topenrouter: \"OpenRouter\",\n\txai: \"xAI\"\n};\nvar PI_PROVIDER_ORDER = [\n\t\"anthropic\",\n\t\"openai\",\n\t\"google\",\n\t\"groq\",\n\t\"mistral\",\n\t\"deepseek\",\n\t\"openrouter\",\n\t\"xai\",\n\t\"opencode\",\n\t\"opencode-go\"\n];\nfunction readOpenCodeApiKeys(state) {\n\tconst path = authJsonPath(state);\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tconst keys = {};\n\t\tfor (const [providerId, entry] of Object.entries(raw)) if (entry?.type === \"api\" && typeof entry.key === \"string\" && entry.key.trim()) keys[providerId] = entry.key;\n\t\treturn keys;\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction ensureParentDir(path) {\n\tmkdirSync(dirname(path), { recursive: true });\n}\nfunction writePrivateFile(path, content) {\n\tensureParentDir(path);\n\twriteFileSync(path, content, { mode: 384 });\n}\nfunction updateCodexConfigToml(path) {\n\tconst existing = existsSync(path) ? readFileSync(path, \"utf-8\") : \"\";\n\tconst preferred = \"preferred_auth_method = \\\"apikey\\\"\";\n\tif (!existing.trim()) {\n\t\twritePrivateFile(path, `${preferred}\\n`);\n\t\treturn;\n\t}\n\twritePrivateFile(path, existing.match(/^\\s*preferred_auth_method\\s*=.*$/m) ? existing.replace(/^\\s*preferred_auth_method\\s*=.*$/m, preferred) : `${existing.replace(/\\s*$/, \"\\n\")}${preferred}\\n`);\n}\nfunction readJsonObject(path) {\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn raw && typeof raw === \"object\" && !Array.isArray(raw) ? raw : {};\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction codexPaths(state) {\n\tconst home = assistantServiceDir(state);\n\treturn {\n\t\tauthPath: `${home}/.codex/auth.json`,\n\t\tconfigPath: `${home}/.codex/config.toml`\n\t};\n}\nfunction piAuthPath(state) {\n\treturn `${assistantServiceDir(state)}/.pi/agent/auth.json`;\n}\nfunction listAssistantCliTools(state) {\n\tconst authKeys = readOpenCodeApiKeys(state);\n\tconst codex = codexPaths(state);\n\tconst piMappings = PI_PROVIDER_ORDER.filter((providerId) => authKeys[providerId]).map((providerId) => ({\n\t\tproviderId,\n\t\tlabel: PI_PROVIDER_LABELS[providerId] ?? providerId\n\t}));\n\treturn [\n\t\t{\n\t\t\tid: \"codex\",\n\t\t\tname: \"Codex CLI\",\n\t\t\tconfigured: existsSync(codex.authPath) || existsSync(codex.configPath),\n\t\t\tconfigPaths: [codex.authPath, codex.configPath],\n\t\t\tavailableProviderMappings: authKeys.openai ? [{\n\t\t\t\tproviderId: \"openai\",\n\t\t\t\tlabel: \"OpenAI\"\n\t\t\t}] : []\n\t\t},\n\t\t{\n\t\t\tid: \"claude\",\n\t\t\tname: \"Claude Code\",\n\t\t\tconfigured: existsSync(`${assistantServiceDir(state)}/.claude/.credentials.json`),\n\t\t\tconfigPaths: [`${assistantServiceDir(state)}/.claude/.credentials.json`],\n\t\t\tavailableProviderMappings: []\n\t\t},\n\t\t{\n\t\t\tid: \"copilot\",\n\t\t\tname: \"GitHub Copilot CLI\",\n\t\t\tconfigured: existsSync(`${assistantServiceDir(state)}/.copilot/config.json`) || existsSync(`${assistantServiceDir(state)}/.copilot/settings.json`),\n\t\t\tconfigPaths: [`${assistantServiceDir(state)}/.copilot/config.json`, `${assistantServiceDir(state)}/.copilot/settings.json`],\n\t\t\tavailableProviderMappings: []\n\t\t},\n\t\t{\n\t\t\tid: \"pi\",\n\t\t\tname: \"Pi CLI\",\n\t\t\tconfigured: existsSync(piAuthPath(state)),\n\t\t\tconfigPaths: [piAuthPath(state)],\n\t\t\tavailableProviderMappings: piMappings\n\t\t}\n\t];\n}\nfunction useExistingProviderForAssistantCli(state, toolId, providerId) {\n\tconst apiKey = readOpenCodeApiKeys(state)[providerId];\n\tif (!apiKey) throw new Error(`Provider ${providerId} is not available for ${toolId}`);\n\tif (toolId === \"codex\") {\n\t\tif (providerId !== \"openai\") throw new Error(\"Codex only supports the OpenAI provider mapping\");\n\t\tconst { authPath, configPath } = codexPaths(state);\n\t\twritePrivateFile(authPath, `${JSON.stringify({ OPENAI_API_KEY: apiKey }, null, 2)}\\n`);\n\t\tupdateCodexConfigToml(configPath);\n\t\treturn [authPath, configPath];\n\t}\n\tif (toolId === \"pi\") {\n\t\tconst path = piAuthPath(state);\n\t\tconst current = readJsonObject(path);\n\t\tcurrent[providerId] = {\n\t\t\ttype: \"api_key\",\n\t\t\tkey: apiKey\n\t\t};\n\t\twritePrivateFile(path, `${JSON.stringify(current, null, 2)}\\n`);\n\t\treturn [path];\n\t}\n\tthrow new Error(`Direct provider mapping is not available for ${toolId}`);\n}\n//#endregion\n//#region ../lib/src/control-plane/opencode-client.ts\nfunction createOpenCodeClient(opts) {\n\tconst { baseUrl } = opts;\n\tconst DEFAULT_TIMEOUT_MS = 3e4;\n\tasync function proxy(path, options) {\n\t\ttry {\n\t\t\tconst signal = options?.signal ?? AbortSignal.timeout(DEFAULT_TIMEOUT_MS);\n\t\t\tconst res = await fetch(`${baseUrl}${path}`, {\n\t\t\t\t...options,\n\t\t\t\tsignal\n\t\t\t});\n\t\t\tif (!res.ok) {\n\t\t\t\tconst body = await res.json().catch((e) => {\n\t\t\t\t\tconsole.warn(\"[opencode-client] Failed to parse error response:\", e);\n\t\t\t\t\treturn {};\n\t\t\t\t});\n\t\t\t\tconst message = typeof body.message === \"string\" ? body.message : `OpenCode returned ${res.status}`;\n\t\t\t\tif (res.status === 502 || res.status === 503 || res.status === 504) return {\n\t\t\t\t\tok: false,\n\t\t\t\t\tstatus: res.status,\n\t\t\t\t\tcode: \"opencode_unavailable\",\n\t\t\t\t\tmessage\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tok: false,\n\t\t\t\t\tstatus: res.status >= 500 ? 502 : res.status,\n\t\t\t\t\tcode: \"opencode_error\",\n\t\t\t\t\tmessage\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\tdata: await res.json()\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[opencode-client] OpenCode request failed:\", path, e);\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\tstatus: 503,\n\t\t\t\tcode: \"opencode_unavailable\",\n\t\t\t\tmessage: \"OpenCode is not reachable\"\n\t\t\t};\n\t\t}\n\t}\n\tasync function getProviders() {\n\t\tconst result = await proxy(\"/provider\");\n\t\tif (!result.ok) return [];\n\t\tconst data = result.data;\n\t\tif (data && Array.isArray(data.all)) return data.all;\n\t\tif (Array.isArray(result.data)) return result.data;\n\t\treturn [];\n\t}\n\tasync function getProviderAuth() {\n\t\tconst result = await proxy(\"/provider/auth\");\n\t\tif (!result.ok) return {};\n\t\treturn result.data;\n\t}\n\tasync function setProviderApiKey(providerID, apiKey) {\n\t\treturn proxy(`/auth/${encodeURIComponent(providerID)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({\n\t\t\t\ttype: \"api\",\n\t\t\t\tkey: apiKey\n\t\t\t})\n\t\t});\n\t}\n\tasync function startProviderOAuth(providerID, methodIndex) {\n\t\treturn proxy(`/provider/${encodeURIComponent(providerID)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ method: methodIndex })\n\t\t});\n\t}\n\tasync function completeProviderOAuth(providerID, methodIndex, code) {\n\t\treturn proxy(`/provider/${encodeURIComponent(providerID)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...code ? { code } : {}\n\t\t\t})\n\t\t});\n\t}\n\tasync function getConfig() {\n\t\tconst result = await proxy(\"/config\");\n\t\tif (!result.ok) return null;\n\t\treturn result.data;\n\t}\n\tasync function isAvailable() {\n\t\treturn (await proxy(\"/provider\")).ok;\n\t}\n\treturn {\n\t\tproxy,\n\t\tgetProviders,\n\t\tgetProviderAuth,\n\t\tsetProviderApiKey,\n\t\tstartProviderOAuth,\n\t\tcompleteProviderOAuth,\n\t\tgetConfig,\n\t\tisAvailable\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/task-files.ts\n/**\n* Raw file access for the Automations admin tab — a plain editor for the akm\n* task files in the assistant tasks dir (/stash/tasks = knowledge/tasks).\n*\n* akm task files are YAML (`.yml`/`.yaml`) or markdown (`.md`). Names are always\n* basenames within the tasks dir; the guard rejects path separators and `..`.\n*/\nvar TASK_FILENAME_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}\\.(ya?ml|md)$/;\nfunction assertSafeTaskFilename(name) {\n\tif (!TASK_FILENAME_RE.test(name) || name.includes(\"..\")) throw new Error(`Invalid task file name: ${name} (expected a .yml/.yaml/.md basename)`);\n}\n/** The assistant tasks dir for a given stash dir (knowledge). Created if absent. */\nfunction resolveTasksDir(stashDir) {\n\tconst dir = join(stashDir, \"tasks\");\n\tmkdirSync(dir, { recursive: true });\n\treturn dir;\n}\nfunction readTaskFile(stashDir, name) {\n\tassertSafeTaskFilename(name);\n\tconst path = join(resolveTasksDir(stashDir), name);\n\treturn existsSync(path) ? readFileSync(path, \"utf-8\") : null;\n}\nfunction writeTaskFile(stashDir, name, content) {\n\tassertSafeTaskFilename(name);\n\twriteFileSync(join(resolveTasksDir(stashDir), name), content, { mode: 420 });\n}\nfunction removeTaskFile(stashDir, name) {\n\tassertSafeTaskFilename(name);\n\trmSync(join(resolveTasksDir(stashDir), name), { force: true });\n}\n//#endregion\n//#region ../lib/src/control-plane/setup-status.ts\n/**\n* Check if setup is complete by reading knowledge/env/stack.env.\n*\n* Only OP_SETUP_COMPLETE=true is authoritative. Secrets live in\n* knowledge/secrets and are not completion sentinels.\n*/\nfunction isSetupComplete(stackDir) {\n\treturn parseEnvFile(stackEnvPathFromStackDir(stackDir)).OP_SETUP_COMPLETE === \"true\";\n}\n//#endregion\n//#region ../lib/src/control-plane/docker.ts\n/** Docker integration — executes docker compose commands via execFile (no shell). */\nvar logger$7 = createLogger(\"lib:docker\");\n/** Execute docker with an argument array — no shell interpolation. */\nfunction run$1(args, cwd, timeoutMs = 12e4, envOverrides) {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"docker\", args, {\n\t\t\tcwd,\n\t\t\ttimeout: timeoutMs,\n\t\t\tenv: {\n\t\t\t\t...process.env,\n\t\t\t\t...envOverrides\n\t\t\t}\n\t\t}, (error, stdout, stderr) => {\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\",\n\t\t\t\tstderr: stderr?.toString() ?? \"\",\n\t\t\t\tcode: error?.code ? Number(error.code) : 0\n\t\t\t});\n\t\t});\n\t});\n}\n/**\n* Resolve the Docker Compose project name.\n* Honors OP_PROJECT_NAME first for OpenPalm stacks, then COMPOSE_PROJECT_NAME.\n*/\nfunction resolveComposeProjectName(envOverrides = {}) {\n\treturn envOverrides.OP_PROJECT_NAME?.trim() || envOverrides.COMPOSE_PROJECT_NAME?.trim() || process.env.OP_PROJECT_NAME?.trim() || process.env.COMPOSE_PROJECT_NAME?.trim() || \"openpalm\";\n}\n/**\n* Decide whether a running compose project (identified by its\n* `com.docker.compose.project.working_dir` label) is OURS — i.e. was launched\n* from this install's working dir. An empty/unknown label can't prove foreign,\n* so it counts as ours (reconcile rather than wrongly refuse a redeploy).\n*\n* Pure decision split out from detectExistingProject so the ours-vs-foreign\n* rule is unit-testable without a Docker daemon.\n*/\nfunction isProjectOurs(workingDirLabel, expectedWorkingDir) {\n\tconst label = workingDirLabel.trim();\n\treturn label === \"\" || label === expectedWorkingDir;\n}\n/**\n* Probe the Docker daemon for a running compose project that shares\n* `projectName`. Decides ours-vs-foreign by comparing the project's\n* `com.docker.compose.project.working_dir` label against `expectedWorkingDir`\n* (the install's OP_HOME / compose context).\n*\n* Returns `{ exists:false }` on any docker error (daemon down, no permission) —\n* detection is best-effort and never blocks the caller; a real failure surfaces\n* later through composeUp.\n*/\nfunction detectExistingProject(opts) {\n\tconst none = {\n\t\texists: false,\n\t\tisOurs: false,\n\t\tworkingDir: \"\"\n\t};\n\treturn new Promise((resolve) => {\n\t\texecFile(\"docker\", [\n\t\t\t\"ps\",\n\t\t\t\"-q\",\n\t\t\t\"--filter\",\n\t\t\t`label=com.docker.compose.project=${opts.projectName}`\n\t\t], { timeout: 1e4 }, (err, stdout) => {\n\t\t\tif (err) return resolve(none);\n\t\t\tconst ids = stdout.toString().trim().split(/\\s+/).filter(Boolean);\n\t\t\tif (ids.length === 0) return resolve(none);\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"inspect\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{ index .Config.Labels \\\"com.docker.compose.project.working_dir\\\" }}\",\n\t\t\t\tids[0]\n\t\t\t], { timeout: 1e4 }, (err2, stdout2) => {\n\t\t\t\tif (err2) return resolve({\n\t\t\t\t\texists: true,\n\t\t\t\t\tisOurs: false,\n\t\t\t\t\tworkingDir: \"\"\n\t\t\t\t});\n\t\t\t\tconst workingDir = stdout2.toString().trim();\n\t\t\t\tresolve({\n\t\t\t\t\texists: true,\n\t\t\t\t\tisOurs: isProjectOurs(workingDir, opts.expectedWorkingDir),\n\t\t\t\t\tworkingDir\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t});\n}\n/** Check if Docker is available */\nasync function checkDocker() {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"docker\", [\n\t\t\t\"info\",\n\t\t\t\"--format\",\n\t\t\t\"{{.ServerVersion}}\"\n\t\t], (error, stdout, stderr) => {\n\t\t\tconst stdoutStr = stdout?.toString().trim() ?? \"\";\n\t\t\tconst stderrStr = stderr?.toString() ?? \"\";\n\t\t\tresolve({\n\t\t\t\tok: stdoutStr.length > 0 || !error,\n\t\t\t\tstdout: stdoutStr,\n\t\t\t\tstderr: stderrStr,\n\t\t\t\tcode: error?.code ? Number(error.code) : 0\n\t\t\t});\n\t\t});\n\t});\n}\n/** Check if docker compose is available */\nasync function checkDockerCompose() {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"docker\", [\"compose\", \"version\"], (error, stdout, stderr) => {\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\",\n\t\t\t\tstderr: stderr?.toString() ?? \"\",\n\t\t\t\tcode: error?.code ? Number(error.code) : 0\n\t\t\t});\n\t\t});\n\t});\n}\n/** Merge all env files into a single overrides object for process env. */\nfunction collectComposeEnvOverrides(envFiles) {\n\tconst overrides = {};\n\tfor (const ef of envFiles ?? []) Object.assign(overrides, parseEnvFile(ef));\n\treturn overrides;\n}\n/** Build common docker compose args: -f ... --project-name ... --env-file ... --profile ... */\nfunction buildComposeCommandArgs(options) {\n\tconst args = [\n\t\t\"--project-name\",\n\t\tresolveComposeProjectName(collectComposeEnvOverrides(options.envFiles)),\n\t\t...options.files.flatMap((f) => [\"-f\", f])\n\t];\n\tfor (const ef of options.envFiles ?? []) if (existsSync(ef)) args.push(\"--env-file\", ef);\n\tfor (const p of options.profiles ?? []) args.push(\"--profile\", p);\n\treturn args;\n}\n/** Build common prefix: compose -f ... --project-name ... --env-file ... --profile ... */\nfunction buildComposeArgs(options) {\n\treturn [\"compose\", ...buildComposeCommandArgs(options)];\n}\n/**\n* Run `docker compose config` to validate compose file merge and variable substitution.\n* Must be called before any lifecycle mutation (install/apply/update).\n*/\nasync function composePreflight(options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"config\", \"--quiet\");\n\treturn run$1(args, void 0, 3e4, collectComposeEnvOverrides(options.envFiles));\n}\n/**\n* Run compose config preflight validation before any mutation.\n* Skipped when OP_SKIP_COMPOSE_PREFLIGHT is set (tests, CI).\n*/\nasync function runPreflight(options) {\n\tif (options.files.length === 0 || process.env.OP_SKIP_COMPOSE_PREFLIGHT) return;\n\tconst result = await composePreflight(options);\n\tif (!result.ok) {\n\t\tconst project = resolveComposeProjectName(collectComposeEnvOverrides(options.envFiles));\n\t\tconst fileArgs = options.files.map((f) => `-f ${f}`).join(\" \");\n\t\tconst envArgs = (options.envFiles ?? []).map((f) => `--env-file ${f}`).join(\" \");\n\t\tconst profileArgs = (options.profiles ?? []).map((p) => `--profile ${p}`).join(\" \");\n\t\tthrow new Error(`Compose preflight failed: ${result.stderr}\\nResolved command: docker compose ${fileArgs} --project-name ${project} ${envArgs} ${profileArgs} config --quiet`);\n\t}\n}\nasync function composeConfigServices(options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"config\", \"--services\");\n\tconst result = await run$1(args, void 0, 3e4, collectComposeEnvOverrides(options.envFiles));\n\tif (!result.ok) return {\n\t\tok: false,\n\t\tservices: []\n\t};\n\treturn {\n\t\tok: true,\n\t\tservices: result.stdout.split(\"\\n\").map((s) => s.trim()).filter(Boolean)\n\t};\n}\n/**\n* Run `docker compose up -d` with the generated compose file(s).\n* Pass `files` to merge multiple compose overlays (e.g. core + addon files).\n*/\nasync function composeUp(options) {\n\tawait runPreflight(options);\n\tif (!existsSync(options.files[0])) return {\n\t\tok: false,\n\t\tstdout: \"\",\n\t\tstderr: \"Compose file not found\",\n\t\tcode: 1\n\t};\n\tconst args = buildComposeArgs(options);\n\targs.push(\"up\", \"-d\");\n\tif (options.forceRecreate) args.push(\"--force-recreate\");\n\tif (options.removeOrphans) args.push(\"--remove-orphans\");\n\tif (options.services?.length) args.push(...options.services);\n\treturn run$1(args, void 0, composeUpTimeoutMs(), collectComposeEnvOverrides(options.envFiles));\n}\n/**\n* Timeout budget for `compose up`. A first install extracts multi-GB images\n* (voice CUDA ~7.6 GB) onto slow disks; the previous hard 5-minute cap\n* SIGTERM-killed the start mid-extraction and surfaced as an empty/opaque\n* error. Default 30 min, override with OP_COMPOSE_UP_TIMEOUT_MS. Kept bounded\n* (never removed) so a genuinely hung start still eventually fails.\n*/\nfunction composeUpTimeoutMs() {\n\tconst raw = process.env.OP_COMPOSE_UP_TIMEOUT_MS?.trim();\n\tconst parsed = raw ? Number(raw) : NaN;\n\tif (Number.isFinite(parsed) && parsed > 0) return parsed;\n\treturn 30 * 6e4;\n}\n/**\n* Run `docker compose down` to stop and remove containers.\n*/\nasync function composeDown(options) {\n\tawait runPreflight(options);\n\tif (!existsSync(options.files[0])) return {\n\t\tok: false,\n\t\tstdout: \"\",\n\t\tstderr: \"Compose file not found\",\n\t\tcode: 1\n\t};\n\tconst args = buildComposeArgs(options);\n\targs.push(\"down\");\n\tif (options.removeVolumes) args.push(\"-v\");\n\tif (options.removeOrphans) args.push(\"--remove-orphans\");\n\treturn run$1(args, void 0);\n}\n/**\n* Restart specific services.\n*/\nasync function composeRestart(services, options) {\n\tawait runPreflight(options);\n\tconst primaryFile = options.files[0];\n\tif (!existsSync(primaryFile)) return {\n\t\tok: false,\n\t\tstdout: \"\",\n\t\tstderr: \"Compose file not found\",\n\t\tcode: 1\n\t};\n\tconst args = buildComposeArgs(options);\n\targs.push(\"restart\", ...services);\n\treturn run$1(args, void 0);\n}\n/**\n* Stop specific services.\n*/\nasync function composeStop(services, options) {\n\tawait runPreflight(options);\n\tconst args = buildComposeArgs(options);\n\targs.push(\"stop\", ...services);\n\treturn run$1(args, void 0);\n}\n/**\n* Start specific services (must already be created).\n*/\nasync function composeStart(services, options) {\n\tawait runPreflight(options);\n\tconst args = buildComposeArgs(options);\n\targs.push(\"up\", \"-d\", ...services);\n\treturn run$1(args, void 0);\n}\n/**\n* Get the status of all containers in the project.\n*/\nasync function composePs(options) {\n\tconst primaryFile = options.files[0];\n\tif (!existsSync(primaryFile)) return run$1([\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t`label=com.docker.compose.project=${resolveComposeProjectName()}`,\n\t\t\"--format\",\n\t\t\"json\"\n\t], void 0);\n\tconst args = buildComposeArgs(options);\n\targs.push(\"ps\", \"--format\", \"json\");\n\treturn run$1(args, void 0);\n}\n/**\n* Get logs for specific services or all services.\n*/\nasync function composeLogs(services, tail, options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"logs\", \"--tail\", String(tail));\n\tif (options.since) args.push(\"--since\", options.since);\n\tif (services && services.length > 0) args.push(...services);\n\treturn run$1(args, void 0);\n}\nvar PULL_TIMEOUT_MS = 60 * 6e4;\nasync function composePull(options) {\n\tawait runPreflight(options);\n\tconst args = buildComposeArgs(options);\n\targs.push(\"pull\");\n\treturn run$1(args, void 0, PULL_TIMEOUT_MS, collectComposeEnvOverrides(options.envFiles));\n}\n/**\n* Get resource usage stats for all containers in the project.\n*/\nasync function composeStats(options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"stats\", \"--no-stream\", \"--format\", \"json\");\n\treturn run$1(args, void 0);\n}\n/**\n* Execute a command inside a running compose service without allocating a TTY.\n*/\nasync function composeExec(service, command, options) {\n\tawait runPreflight(options);\n\tconst primaryFile = options.files[0];\n\tif (!existsSync(primaryFile)) return {\n\t\tok: false,\n\t\tstdout: \"\",\n\t\tstderr: \"Compose file not found\",\n\t\tcode: 1\n\t};\n\tconst args = buildComposeArgs(options);\n\targs.push(\"exec\", \"-T\", service, ...command);\n\treturn run$1(args, void 0, options.timeoutMs ?? 12e4, collectComposeEnvOverrides(options.envFiles));\n}\n/**\n* Get recent Docker events for the compose project.\n*/\nasync function getDockerEvents(projectName, since = \"1h\") {\n\treturn run$1([\n\t\t\"events\",\n\t\t\"--filter\",\n\t\t`label=com.docker.compose.project=${projectName}`,\n\t\t\"--since\",\n\t\tsince,\n\t\t\"--until\",\n\t\t\"now\",\n\t\t\"--format\",\n\t\t\"json\"\n\t], void 0, 15e3);\n}\n/**\n* Fix root-owned bind-mount directories under OP_HOME by running a temporary\n* Docker container as root to chown them back to the operator UID:GID.\n*\n* Needed because the guardian container historically ran as root (no `user:`\n* directive), leaving data/guardian and data/logs owned by root on the host.\n* The host process cannot chown root-owned files without being root itself,\n* so we delegate to Docker — which has root access via the daemon.\n*\n* No-op on Windows or when no directories need fixing.\n*/\nasync function repairRootOwnedBindMounts(homeDir) {\n\tif (process.platform === \"win32\") return;\n\tconst rootOwned = [join(homeDir, \"data\", \"guardian\"), join(homeDir, \"data\", \"logs\")].filter((dir) => {\n\t\ttry {\n\t\t\treturn existsSync(dir) && statSync(dir).uid === 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t});\n\tif (rootOwned.length === 0) return;\n\tconst ids = resolveOperatorIds(homeDir);\n\tif (!ids) return;\n\tconst volumeArgs = rootOwned.flatMap((dir, i) => [\"-v\", `${dir}:/chown_target_${i}`]);\n\tconst targets = rootOwned.map((_, i) => `/chown_target_${i}`).join(\" \");\n\tlogger$7.info(`Repairing root-owned bind mounts: ${rootOwned.map((d) => d.split(\"/\").slice(-2).join(\"/\")).join(\", \")}`);\n\tconst result = await run$1([\n\t\t\"run\",\n\t\t\"--rm\",\n\t\t...volumeArgs,\n\t\t\"alpine\",\n\t\t\"sh\",\n\t\t\"-c\",\n\t\t`chown -R ${ids.uid}:${ids.gid} ${targets}`\n\t], void 0, 3e4);\n\tif (!result.ok) logger$7.warn(`Could not repair root-owned bind mounts: ${result.stderr.trim()}`);\n}\n//#endregion\n//#region ../lib/src/control-plane/launch-status.ts\n/**\n* Launch status — the single source of truth for \"what state is the local stack\n* in, what remotes are reachable, and where should the app land the user.\"\n*\n* Replaces the binary `isSetupComplete()` for routing decisions. The keystone is\n* the PURE `deriveLaunchStatus()` — it takes already-collected facts and produces\n* the authoritative `recommendedRoute`, so the routing table is exhaustively\n* unit-testable with no I/O. The UI and CLI both collect their facts (local\n* install state from disk, container health, remote reachability) and feed them\n* through this one function, so neither duplicates the routing logic.\n*\n* Routing rule (authoritative, from #440):\n* recommendedRoute === 'chat' IFF hasHealthyLocal\n* OR (local is not_installed AND a remote is accessible)\n* every other case → 'splash' — crucially, an INSTALLED-but-unhealthy local\n* stack routes to the splash even when a healthy remote exists, so a broken\n* local install always gets the user's attention instead of being silently\n* routed around.\n*/\nfunction detectRuntimeName(versionOutput) {\n\tif (/orbstack/i.test(versionOutput)) return \"OrbStack\";\n\tif (/podman/i.test(versionOutput)) return \"Podman\";\n\tif (versionOutput.trim().length > 0) return \"Docker\";\n}\nasync function readRuntimeIdentity() {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"docker\", [\"version\"], { timeout: 1e4 }, (error, stdout, stderr) => {\n\t\t\tif (error && !stdout && !stderr) return resolve(\"\");\n\t\t\tresolve(`${stdout?.toString() ?? \"\"}\\n${stderr?.toString() ?? \"\"}`.trim());\n\t\t});\n\t});\n}\n/** Local states that mean \"installed, but the user needs to act\" → always splash. */\nvar INSTALLED_UNHEALTHY = [\n\t\"setup_incomplete\",\n\t\"installed_offline\",\n\t\"installed_broken\"\n];\n/**\n* Pure routing derivation. No I/O — give it the collected facts, get the route.\n* This is the function with exhaustive table tests.\n*/\nfunction deriveLaunchStatus(input) {\n\tconst remotes = input.remotes ?? [];\n\tconst state = input.local.state;\n\tconst hasHealthyLocal = state === \"running\";\n\tconst localInstalledButUnhealthy = INSTALLED_UNHEALTHY.includes(state);\n\tconst accessibleRemotes = remotes.filter((r) => r.state === \"accessible\");\n\tconst hasAccessibleRemote = accessibleRemotes.length > 0;\n\tconst recommendedRoute = hasHealthyLocal || state === \"not_installed\" && hasAccessibleRemote ? \"chat\" : \"splash\";\n\tlet activeAssistant = null;\n\tif (recommendedRoute === \"chat\") activeAssistant = hasHealthyLocal ? { kind: \"local\" } : {\n\t\tkind: \"remote\",\n\t\tid: accessibleRemotes[0].id\n\t};\n\tconst alerts = [];\n\tif (recommendedRoute === \"chat\") {\n\t\tfor (const r of remotes) if (r.state === \"unreachable\" || r.state === \"unauthorized\") alerts.push(`Remote connection \"${r.name}\" is ${r.state}${r.detail ? `: ${r.detail}` : \"\"}`);\n\t}\n\treturn {\n\t\tlocal: input.local,\n\t\tremotes,\n\t\thasHealthyLocal,\n\t\tlocalInstalledButUnhealthy,\n\t\thasAccessibleRemote,\n\t\trecommendedRoute,\n\t\tactiveAssistant,\n\t\talerts\n\t};\n}\n/**\n* Classify the on-disk local install WITHOUT a live health probe:\n* - not_installed: no materialized stack (no core.compose.yml)\n* - setup_incomplete: stack present but OP_SETUP_COMPLETE !== 'true'\n* - installed: OP_SETUP_COMPLETE === 'true' (caller maps to\n* running/offline/broken via a container-health probe)\n*\n* Edge case (deliberate): OP_SETUP_COMPLETE === 'true' with core.compose.yml\n* MISSING still classifies as \"installed\" — the user DID complete setup, and\n* the subsequent health probe will surface the damage as offline/broken,\n* which routes to the splash with the install's attention-needed state rather\n* than silently restarting the wizard over their config.\n*/\nfunction classifyLocalInstall(stackDir) {\n\tconst hasCompose = existsSync(join(stackDir, \"core.compose.yml\"));\n\tconst env = parseEnvFile(stackEnvPathFromStackDir(stackDir));\n\tif (!hasCompose && env.OP_SETUP_COMPLETE !== \"true\") return \"not_installed\";\n\tif (env.OP_SETUP_COMPLETE === \"true\") return \"installed\";\n\treturn \"setup_incomplete\";\n}\nfunction deriveLocalStackState(installState, services) {\n\tif (installState === \"not_installed\") return \"not_installed\";\n\tif (services.length === 0) return installState === \"setup_incomplete\" ? \"setup_incomplete\" : \"installed_offline\";\n\tconst anyRunning = services.some((service) => service.state === \"running\");\n\tconst anyBroken = services.some((service) => service.state === \"exited\" || service.state === \"dead\" || service.health === \"unhealthy\");\n\tconst anyStarting = services.some((service) => service.health === \"starting\");\n\tif (installState === \"setup_incomplete\") return anyRunning || anyStarting ? \"running\" : \"setup_incomplete\";\n\tif (anyBroken) return \"installed_broken\";\n\tif (anyRunning) return \"running\";\n\treturn \"installed_offline\";\n}\n/** Detect the host container runtime — meaningful for the not_installed splash. */\nasync function detectRuntime() {\n\tconst [docker, compose] = await Promise.all([checkDocker(), checkDockerCompose()]);\n\tconst version = docker.ok ? docker.stdout.trim() : \"\";\n\tconst identity = docker.ok ? await readRuntimeIdentity() : \"\";\n\treturn {\n\t\tdockerPresent: docker.ok,\n\t\tdockerVersion: version.length > 0 ? version : void 0,\n\t\tcomposeAvailable: compose.ok,\n\t\truntimeName: detectRuntimeName(identity)\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/fs-atomic.ts\n/**\n* Write a file atomically: write to `${path}.tmp` then rename over the target.\n* The rename is atomic on the same filesystem, so readers never observe a\n* partially written file. `mode` (e.g. 0o600) is applied on creation.\n*\n* Shared by all control-plane writers (setup, akm-sources, …) so config and\n* secret files are written through one audited path — never hand-rolled.\n*/\nfunction writeFileAtomic(path, content, mode) {\n\tconst tmp = `${path}.tmp`;\n\twriteFileSync(tmp, content, mode !== void 0 ? { mode } : {});\n\trenameSync(tmp, path);\n}\n//#endregion\n//#region ../lib/src/control-plane/rollback.ts\n/**\n* Snapshot-based rollback for the OpenPalm control plane.\n*\n* Before writing validated changes to live paths, the current state\n* is snapshotted to OP_HOME/data/rollback/. On deploy failure\n* (or manual `openpalm rollback`), the snapshot is restored.\n*/\n/** Files that are tracked for rollback (relative to homeDir).\n* Only config/ system files are included — user-editable config files\n* are never overwritten by lifecycle operations. */\nvar SNAPSHOT_FILES = [\n\t\"knowledge/env/stack.env\",\n\t\"config/stack/services.compose.yml\",\n\t\"config/stack/portals.compose.yml\",\n\t\"config/stack/custom.compose.yml\",\n\t\"knowledge/secrets/auth.json\"\n];\nvar SNAPSHOT_TS_FILE = \".snapshot-ts\";\nvar SNAPSHOT_ARMED_FILE = \".snapshot-armed\";\n/**\n* Copy a file if it exists, creating parent directories as needed.\n*/\nfunction safeCopy(src, dest) {\n\tif (!existsSync(src)) return;\n\tmkdirSync(dirname(dest), { recursive: true });\n\tcopyFileSync(src, dest);\n}\n/**\n* Save the current live configuration files to the rollback directory.\n* Also snapshots stack/core.compose.yml.\n*/\nfunction snapshotCurrentState(state, opts = {}) {\n\tconst rollbackDir = resolveRollbackDir();\n\tmkdirSync(rollbackDir, { recursive: true });\n\tfor (const rel of SNAPSHOT_FILES) safeCopy(join(state.homeDir, rel), join(rollbackDir, rel));\n\tsafeCopy(join(state.homeDir, \"config/stack/core.compose.yml\"), join(rollbackDir, \"config/stack/core.compose.yml\"));\n\twriteFileSync(join(rollbackDir, SNAPSHOT_TS_FILE), (/* @__PURE__ */ new Date()).toISOString() + \"\\n\");\n\tif (opts.arm) writeFileSync(join(rollbackDir, SNAPSHOT_ARMED_FILE), \"true\\n\");\n}\nfunction hasArmedSnapshot() {\n\treturn existsSync(join(resolveRollbackDir(), SNAPSHOT_ARMED_FILE));\n}\n//#endregion\n//#region ../lib/src/control-plane/lifecycle.ts\n/** Lifecycle helpers — state factory, apply transitions, compose file list. */\nvar IMAGE_NAMESPACE_RE = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/;\nfunction createState() {\n\tconst homeDir = resolveOpenPalmHome();\n\tconst configDir = resolveConfigDir();\n\tconst stashDir = resolveStashDir();\n\tconst workspaceDir = resolveWorkspaceDir();\n\tconst dataDir = resolveDataDir();\n\tconst stackDir = resolveStackDir();\n\tconst withGuardian = hasEnabledPortal(listEnabledAddonIds(homeDir));\n\tconst services = {};\n\tfor (const name of CORE_SERVICES) {\n\t\tif (name === \"guardian\" && !withGuardian) continue;\n\t\tservices[name] = \"stopped\";\n\t}\n\treturn {\n\t\thomeDir,\n\t\tconfigDir,\n\t\tstashDir,\n\t\tworkspaceDir,\n\t\tdataDir,\n\t\tstackDir,\n\t\tservices,\n\t\tartifacts: { compose: \"\" },\n\t\tartifactMeta: []\n\t};\n}\nfunction initializeStateSecrets(state) {\n\tensureSecrets(state);\n}\nasync function reconcileCore(state, opts) {\n\tif (opts.activateServices) {\n\t\tconst withGuardian = hasEnabledPortal(listEnabledAddonIds(state.homeDir));\n\t\tfor (const s of CORE_SERVICES) {\n\t\t\tif (s === \"guardian\" && !withGuardian) continue;\n\t\t\tstate.services[s] = \"running\";\n\t\t}\n\t}\n\tfor (const addonName of listEnabledAddonIds(state.homeDir)) mkdirSync(`${state.dataDir}/${addonName}`, { recursive: true });\n\tconst active = [];\n\tfor (const [name, status] of Object.entries(state.services)) if (status === \"running\") active.push(name);\n\tif (opts.deactivateServices) for (const name of Object.keys(state.services)) state.services[name] = \"stopped\";\n\tconst { files, envFiles, profiles } = buildComposeOptions(state);\n\tif (files.length > 0 && !process.env.OP_SKIP_COMPOSE_PREFLIGHT) {\n\t\tif (!(await checkDocker()).ok) throw new Error(\"Compose preflight failed: Docker is not available.\\nDocker must be running before install/update/apply operations.\");\n\t\tconst preflight = await composePreflight({\n\t\t\tfiles,\n\t\t\tenvFiles,\n\t\t\tprofiles\n\t\t});\n\t\tif (!preflight.ok) {\n\t\t\tconst projectName = resolveComposeProjectName(Object.assign({}, ...envFiles.map((f) => parseEnvFile(f))));\n\t\t\tthrow new Error(`Compose preflight failed: ${preflight.stderr}\\nFiles: ${files.join(\", \")}\\nEnv files: ${envFiles.filter(existsSync).join(\", \")}\\nProfiles: ${profiles.join(\", \") || \"(none)\"}\\nProject: ${projectName}`);\n\t\t}\n\t}\n\tif (!opts.skipSnapshot && !hasArmedSnapshot()) snapshotCurrentState(state);\n\tstate.artifacts = resolveRuntimeFiles();\n\twriteRuntimeFiles(state);\n\treturn active;\n}\nfunction resolveLifecycleLock(state, opts) {\n\tif (opts && \"lock\" in opts) return opts.lock ?? null;\n\treturn acquireInstallLock(state.dataDir);\n}\nfunction releaseLifecycleLock(lock, opts) {\n\tif (opts && \"lock\" in opts) return;\n\treleaseInstallLock(lock);\n}\nasync function applyInstall(state, opts) {\n\tconst lock = resolveLifecycleLock(state, opts);\n\tif (!lock) throw new Error(\"Another install is already in progress\");\n\ttry {\n\t\tawait reconcileCore(state, { activateServices: true });\n\t\tensureComposeVolumeTargets(state);\n\t} finally {\n\t\treleaseLifecycleLock(lock, opts);\n\t}\n}\nasync function applyUpdate(state, opts) {\n\tconst lock = resolveLifecycleLock(state, opts);\n\tif (!lock) throw new Error(\"Another install is already in progress\");\n\ttry {\n\t\treturn { restarted: await reconcileCore(state, {}) };\n\t} finally {\n\t\treleaseLifecycleLock(lock, opts);\n\t}\n}\nasync function applyUninstall(state, opts) {\n\tconst lock = resolveLifecycleLock(state, opts);\n\tif (!lock) throw new Error(\"Another install is already in progress\");\n\ttry {\n\t\treturn { stopped: await reconcileCore(state, { deactivateServices: true }) };\n\t} finally {\n\t\treleaseLifecycleLock(lock, opts);\n\t}\n}\nfunction resolveImageNamespace(state) {\n\tconst namespace = (parseEnvFile(`${state.stashDir}/env/stack.env`).OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim().toLowerCase();\n\tif (!IMAGE_NAMESPACE_RE.test(namespace)) throw new Error(`Invalid image namespace in system.env: ${namespace}`);\n\treturn namespace;\n}\nasync function applyUpgrade(state, version, opts) {\n\tconst lock = resolveLifecycleLock(state, opts);\n\tif (!lock) throw new Error(\"Another install is already in progress\");\n\ttry {\n\t\tawait repairRootOwnedBindMounts(state.homeDir);\n\t\tconst { backupDir, updated } = await refreshCoreAssets(version);\n\t\treturn {\n\t\t\tbackupDir,\n\t\t\tupdated,\n\t\t\trestarted: await reconcileCore(state, { skipSnapshot: true })\n\t\t};\n\t} finally {\n\t\treleaseLifecycleLock(lock, opts);\n\t}\n}\nasync function withStackEnvRollback(state, run) {\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tconst portalsComposePath = `${state.stackDir}/portals.compose.yml`;\n\tconst customComposePath = `${state.stackDir}/custom.compose.yml`;\n\tlet originalStackEnv = null;\n\tlet originalPortalsCompose = null;\n\tlet originalCustomCompose = null;\n\ttry {\n\t\toriginalStackEnv = readFileSync(stackEnvPath, \"utf-8\");\n\t} catch {}\n\ttry {\n\t\toriginalPortalsCompose = readFileSync(portalsComposePath, \"utf-8\");\n\t} catch {}\n\ttry {\n\t\toriginalCustomCompose = readFileSync(customComposePath, \"utf-8\");\n\t} catch {}\n\tsnapshotCurrentState(state, { arm: true });\n\ttry {\n\t\treturn await run();\n\t} catch (e) {\n\t\tif (originalStackEnv !== null) try {\n\t\t\twriteFileSync(stackEnvPath, originalStackEnv);\n\t\t} catch {}\n\t\tif (originalPortalsCompose !== null) try {\n\t\t\twriteFileSync(portalsComposePath, originalPortalsCompose);\n\t\t} catch {}\n\t\tif (originalCustomCompose !== null) try {\n\t\t\twriteFileSync(customComposePath, originalCustomCompose);\n\t\t} catch {}\n\t\tthrow e;\n\t}\n}\n/**\n* Update the stack to the running control-plane version: run forward release\n* migrations, refresh core stack assets (compose/config) for PLATFORM_VERSION,\n* then pull images and recreate containers honoring the per-image OP_*_VERSION\n* pins already written in stack.env.\n*\n* There are NO Docker Hub calls: image versions are user-managed in stack.env\n* (PATCH /admin/versions), and the platform asset version is the running lib's\n* PLATFORM_VERSION — never resolved from a remote registry.\n*/\nasync function performUpgrade(state, _opts = {}) {\n\treturn withStackEnvRollback(state, async () => {\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tconst namespace = resolveImageNamespace(state);\n\t\tconst releaseTag = \"platform-\" + normalizeVersion(PLATFORM_VERSION);\n\t\tensureReleaseMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\ttargetVersion: PLATFORM_VERSION\n\t\t});\n\t\tconst upgradeResult = await applyUpgrade(state, releaseTag);\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) throw new Error(`Failed to pull images: ${pullResult.stderr}`);\n\t\tconst services = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices,\n\t\t\tforceRecreate: true,\n\t\t\tremoveOrphans: true\n\t\t});\n\t\tif (!upResult.ok) throw new Error(`Images pulled but failed to recreate containers: ${upResult.stderr}`);\n\t\treturn {\n\t\t\timageTag: PLATFORM_VERSION,\n\t\t\tnamespace,\n\t\t\tbackupDir: upgradeResult.backupDir,\n\t\t\tassetsUpdated: upgradeResult.updated,\n\t\t\trestarted: upgradeResult.restarted,\n\t\t\twarnings: []\n\t\t};\n\t});\n}\nfunction buildComposeFileList(state) {\n\treturn discoverStackOverlays(state.stackDir);\n}\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\",\n\t\"gateway\"\n];\n/**\n* Guardian is portal ingress: it is both DEPLOYED and treated as an EXPECTED\n* service only when ≥1 portal addon is enabled. Single predicate so the deploy\n* set (buildManagedServices), the expected-service seed (createState), and the\n* activation loop (reconcileCore) all gate guardian identically — otherwise the\n* Overview/Containers status reports \"Guardian not running\" forever on a\n* no-portal install (it is never deployed). Takes the resolved addon list so\n* callers that already have it don't re-read stack.env.\n*/\nfunction hasEnabledPortal(enabledAddons) {\n\treturn enabledAddons.some((a) => PORTAL_ADDON_IDS.includes(a));\n}\nasync function buildManagedServices(state) {\n\tconst composeOpts = buildComposeOptions(state);\n\tconst enabledAddons = listEnabledAddonIds(state.homeDir);\n\tconst services = new Set([\"assistant\"]);\n\tif (hasEnabledPortal(enabledAddons)) services.add(\"guardian\");\n\tif (composeOpts.files.length > 0 && !process.env.OP_SKIP_COMPOSE_PREFLIGHT) {\n\t\tconst result = await composeConfigServices(composeOpts);\n\t\tif (result.ok && result.services.length > 0) {\n\t\t\tfor (const s of result.services) services.add(s);\n\t\t\treturn [...services];\n\t\t}\n\t}\n\tfor (const addon of enabledAddons) for (const s of getAddonServiceNames(state.homeDir, addon)) services.add(s);\n\treturn [...services];\n}\n//#endregion\n//#region ../lib/src/control-plane/compose-args.ts\n/**\n* Canonical compose argument builder.\n*\n* Consolidates compose file/env-file resolution and CLI argument\n* construction into a single shared module. Both CLI and admin\n* routes use these functions instead of assembling args inline.\n*/\n/**\n* Resolve active Docker Compose profiles from the stack env.\n* Reads OP_VOICE_PROFILE and OP_OLLAMA_PROFILE (addon hardware profiles).\n* Returns deduplicated, non-empty profile strings.\n*/\nfunction resolveActiveProfiles(state) {\n\tconst profiles = [];\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tlet env = {};\n\tif (existsSync(stackEnvPath)) {\n\t\tenv = parseEnvFile(stackEnvPath);\n\t\tconst voiceProfile = canonicalAddonProfileSelection(\"voice\", env.OP_VOICE_PROFILE ?? \"\");\n\t\tif (voiceProfile) profiles.push(voiceProfile);\n\t\tconst ollamaProfile = canonicalAddonProfileSelection(\"ollama\", env.OP_OLLAMA_PROFILE ?? \"\");\n\t\tif (ollamaProfile) profiles.push(ollamaProfile);\n\t}\n\tfor (const addon of parseEnabledAddons(env.OP_ENABLED_ADDONS)) if (addon === \"voice\") profiles.push(canonicalAddonProfileSelection(\"voice\", env.OP_VOICE_PROFILE ?? \"\") || \"addon.voice.cpu\");\n\telse if (addon === \"ollama\") profiles.push(canonicalAddonProfileSelection(\"ollama\", env.OP_OLLAMA_PROFILE ?? \"\") || \"addon.ollama.cpu\");\n\telse profiles.push(`addon.${addon}`);\n\treturn [...new Set(profiles)];\n}\n/**\n* Build the compose file, env file, and profile lists for a given state.\n* Returns the resolved values for use with docker.ts functions.\n*/\nfunction buildComposeOptions(state) {\n\treturn {\n\t\tfiles: buildComposeFileList(state),\n\t\tenvFiles: buildEnvFiles(state),\n\t\tprofiles: resolveActiveProfiles(state)\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/compose-errors.ts\n/**\n* Lines we recognise as per-service failure indicators. The compose CLI\n* has rendered these in a few different shapes across versions:\n*\n* \"voice Error pull access denied for openpalm/voice ...\"\n* \" ⠿ voice Error pull access denied for openpalm/voice ...\"\n* \"Service \\\"voice\\\" failed to build: ...\"\n*\n* We also pick up the bare daemon error and attribute it to the service\n* named in nearby lines when no service-prefixed line is present.\n*/\nvar SERVICE_ERROR_RE = /^[\\s⠦⠧⠇⠏⠋⠙⠹⠸⠼⠴⠿✔✘×]*\\s*([A-Za-z0-9._-]+)\\s+(Error|Failed|failed)\\s+(.+)$/;\nvar SERVICE_FAILED_QUOTED_RE = /Service\\s+[\"']([A-Za-z0-9._-]+)[\"']\\s+failed[^:]*:\\s*(.+)$/i;\nvar SERVICE_NOT_FOUND_RE = /no such service:\\s*([A-Za-z0-9._-]+)/i;\nvar PULL_ACCESS_DENIED_RE = /pull access denied for\\s+([^\\s,]+)/i;\nfunction pushUnique(failures, entry) {\n\tconst trimmed = {\n\t\tservice: entry.service.trim(),\n\t\treason: entry.reason.trim()\n\t};\n\tif (!trimmed.service || !trimmed.reason) return;\n\tif (!failures.find((f) => f.service === trimmed.service && f.reason === trimmed.reason)) failures.push(trimmed);\n}\n/**\n* Best-effort extraction of failures from compose stderr.\n*\n* - Returns one entry per (service, reason) pair, in stderr order.\n* - Does NOT fabricate service names: if a daemon error appears without\n* any nearby service-prefixed line, the caller's intended-services list\n* is used by the route, not this parser.\n*/\nfunction parseComposeStderr(stderr) {\n\tconst failures = [];\n\tif (!stderr) return failures;\n\tconst lines = stderr.split(/\\r?\\n/);\n\tfor (const raw of lines) {\n\t\tconst line = raw.replace(/\\s+$/, \"\");\n\t\tif (!line.trim()) continue;\n\t\tconst quoted = SERVICE_FAILED_QUOTED_RE.exec(line);\n\t\tif (quoted) {\n\t\t\tpushUnique(failures, {\n\t\t\t\tservice: quoted[1],\n\t\t\t\treason: quoted[2]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst m = SERVICE_ERROR_RE.exec(line);\n\t\tif (m) {\n\t\t\tconst candidate = m[1];\n\t\t\tif (candidate.toLowerCase() === \"error\") continue;\n\t\t\tpushUnique(failures, {\n\t\t\t\tservice: candidate,\n\t\t\t\treason: m[3]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst notFound = SERVICE_NOT_FOUND_RE.exec(line);\n\t\tif (notFound) {\n\t\t\tpushUnique(failures, {\n\t\t\t\tservice: notFound[1],\n\t\t\t\treason: `no such service: ${notFound[1]}`\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t}\n\tif (failures.length === 0) {\n\t\tconst denied = PULL_ACCESS_DENIED_RE.exec(stderr);\n\t\tif (denied) pushUnique(failures, {\n\t\t\tservice: denied[1],\n\t\t\treason: `pull access denied for ${denied[1]}`\n\t\t});\n\t}\n\treturn failures;\n}\n/**\n* Summarise compose stderr in a single short line, suitable for log\n* envelopes / API error messages when no per-service parse succeeded.\n* Returns the first non-empty stderr line, capped.\n*/\nfunction summarizeComposeStderr(stderr, maxLen = 500) {\n\tif (!stderr) return \"\";\n\tconst first = stderr.split(/\\r?\\n/).map((l) => l.trim()).find((l) => l.length > 0) ?? \"\";\n\treturn first.length > maxLen ? first.slice(0, maxLen - 1) + \"…\" : first;\n}\nfunction mapDockerError(stderr) {\n\tconst summary = summarizeComposeStderr(stderr) || \"Docker reported an unknown error.\";\n\tconst healthFailure = parseComposeStderr(stderr).find((failure) => /health check|is unhealthy|unhealthy|failed to start/i.test(failure.reason));\n\tif (/cannot connect to the docker daemon|docker daemon is not running|error during connect|is the docker daemon running|connection refused/i.test(stderr)) return {\n\t\tcode: \"docker_unavailable\",\n\t\tmessage: \"Docker appears to be stopped or unreachable. Start Docker, then retry.\"\n\t};\n\tconst portMatch = /(?:bind: address already in use|port is already allocated).*?([0-9]{2,5})\\b/i.exec(stderr) ?? /listen tcp[^:]*:([0-9]{2,5})\\b/i.exec(stderr) ?? /Ports are not available: .*?:([0-9]+)\\b/i.exec(stderr);\n\tif (portMatch) return {\n\t\tcode: \"port_in_use\",\n\t\tmessage: `Port ${portMatch[1]} is already in use by another program. Free it, then retry.`\n\t};\n\tif (/cannot find specified .* file|no such file or directory|ENOTDIR|EISDIR/i.test(stderr)) return {\n\t\tcode: \"missing_file\",\n\t\tmessage: \"A required OpenPalm file or path is missing. Re-run setup or repair the install path, then retry.\"\n\t};\n\tif (/permission denied|EACCES|EPERM/i.test(stderr)) return {\n\t\tcode: \"permission_denied\",\n\t\tmessage: \"Permission denied. Check that OpenPalm and Docker can read and write the required files.\"\n\t};\n\tif (/no space left on device|ENOSPC/i.test(stderr)) return {\n\t\tcode: \"no_space\",\n\t\tmessage: \"Your disk is full. Free up space, then retry.\"\n\t};\n\tif (/no matching manifest for|platform .* does not match the detected host platform|requested image's platform/i.test(stderr)) return {\n\t\tcode: \"platform_mismatch\",\n\t\tmessage: \"The requested image does not support this machine's platform. Check the selected image tag or runtime architecture.\"\n\t};\n\tif (/pull access denied|unauthorized|authentication required|requested access to the resource is denied|denied: requested access/i.test(stderr)) return {\n\t\tcode: \"image_auth\",\n\t\tmessage: \"Docker could not pull one or more images because the image is private, missing, or requires authentication.\"\n\t};\n\tif (/out of memory|cannot allocate memory|ENOMEM|oom killed|oomkilled/i.test(stderr)) return {\n\t\tcode: \"out_of_memory\",\n\t\tmessage: \"Docker ran out of memory while starting containers. Free memory or lower the workload, then retry.\"\n\t};\n\tif (healthFailure) return {\n\t\tcode: \"healthcheck_failed\",\n\t\tmessage: `The ${healthFailure.service} container failed its health check. Check its logs, then retry.`\n\t};\n\tif (/health check|is unhealthy|unhealthy|failed to start/i.test(summary)) return {\n\t\tcode: \"healthcheck_failed\",\n\t\tmessage: \"A container failed its health check. Check the container logs, then retry.\"\n\t};\n\treturn {\n\t\tcode: \"docker_error\",\n\t\tmessage: summary\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/deploy.ts\nvar DEFAULT_DEPLOY_PROGRESS = {\n\tdeploying: false,\n\tsetupComplete: false,\n\tdeployStatus: [],\n\tdeployError: null,\n\timageWarning: null,\n\tphase: \"writing-config\",\n\tstartedAt: null,\n\tpid: null\n};\nfunction cloneProgress(state) {\n\treturn {\n\t\t...state,\n\t\tdeployStatus: state.deployStatus.map((entry) => ({ ...entry }))\n\t};\n}\nfunction updateProgress(current, patch) {\n\treturn cloneProgress({\n\t\t...current,\n\t\t...patch\n\t});\n}\nfunction writeJournal(path, state) {\n\tmkdirSync(dirname(path), {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\twriteFileAtomic(path, `${JSON.stringify(state, null, 2)}\\n`, 384);\n}\nfunction readDeployJournal(path) {\n\tif (!existsSync(path)) return cloneProgress(DEFAULT_DEPLOY_PROGRESS);\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tconst state = updateProgress(DEFAULT_DEPLOY_PROGRESS, {\n\t\t\tdeploying: parsed.deploying === true,\n\t\t\tinterrupted: parsed.interrupted === true,\n\t\t\tsetupComplete: parsed.setupComplete === true,\n\t\t\tdeployStatus: Array.isArray(parsed.deployStatus) ? parsed.deployStatus.filter((entry) => Boolean(entry && typeof entry.service === \"string\" && typeof entry.label === \"string\" && typeof entry.status === \"string\")) : [],\n\t\t\tdeployError: typeof parsed.deployError === \"string\" ? parsed.deployError : null,\n\t\t\timageWarning: typeof parsed.imageWarning === \"string\" ? parsed.imageWarning : null,\n\t\t\tphase: parsed.phase ?? \"writing-config\",\n\t\t\tstartedAt: typeof parsed.startedAt === \"string\" ? parsed.startedAt : null,\n\t\t\tpid: typeof parsed.pid === \"number\" ? parsed.pid : null\n\t\t});\n\t\tif (state.deploying && state.pid && !isPidAlive(state.pid)) {\n\t\t\tstate.deploying = false;\n\t\t\tstate.interrupted = true;\n\t\t\tstate.deployError = state.deployError ?? \"Deployment was interrupted. Retry to resume Docker deploy.\";\n\t\t}\n\t\treturn state;\n\t} catch {\n\t\treturn cloneProgress(DEFAULT_DEPLOY_PROGRESS);\n\t}\n}\nfunction resolveDeployJournalPath(state) {\n\treturn join(state.dataDir, \"setup\", \"deploy-journal.json\");\n}\nfunction emitProgress(options, state) {\n\tif (options.journalPath) writeJournal(options.journalPath, state);\n\toptions.onUpdate?.(cloneProgress(state));\n}\nfunction isPidAlive(pid) {\n\ttry {\n\t\tprocess.kill(pid, 0);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction projectNameForState(state) {\n\treturn resolveComposeProjectName(parseEnvFile(`${state.stashDir}/env/stack.env`));\n}\nfunction parseComposePsOutput(stdout) {\n\tconst results = [];\n\tfor (const line of stdout.split(\"\\n\")) {\n\t\tconst trimmed = line.trim();\n\t\tif (!trimmed) continue;\n\t\ttry {\n\t\t\tconst obj = JSON.parse(trimmed);\n\t\t\tresults.push({\n\t\t\t\tservice: String(obj.Service ?? obj.Name ?? \"\"),\n\t\t\t\tstate: String(obj.State ?? \"\"),\n\t\t\t\thealth: String(obj.Health ?? \"\")\n\t\t\t});\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn results;\n}\nfunction resolveImageTag(state) {\n\tconst env = parseEnvFile(`${state.stashDir}/env/stack.env`);\n\treturn env.OP_ASSISTANT_VERSION ?? env.OP_IMAGE_TAG ?? \"\";\n}\nasync function missingServiceImages(composeOpts, services) {\n\tif (services.length === 0) return [];\n\tconst args = [\n\t\t\"compose\",\n\t\t...composeOpts.files.flatMap((file) => [\"-f\", file]),\n\t\t...(composeOpts.envFiles ?? []).filter((file) => existsSync(file)).flatMap((file) => [\"--env-file\", file]),\n\t\t...composeOpts.profiles.flatMap((profile) => [\"--profile\", profile]),\n\t\t\"config\",\n\t\t\"--format\",\n\t\t\"json\"\n\t];\n\tconst serviceConfig = (await new Promise((resolve) => {\n\t\texecFile(\"docker\", args, { timeout: 3e4 }, (error, stdout) => {\n\t\t\tif (error) return resolve({});\n\t\t\ttry {\n\t\t\t\tresolve(JSON.parse(stdout.toString()));\n\t\t\t} catch {\n\t\t\t\tresolve({});\n\t\t\t}\n\t\t});\n\t})).services ?? {};\n\tconst missing = [];\n\tfor (const service of services) {\n\t\tconst image = serviceConfig[service]?.image;\n\t\tif (!image) {\n\t\t\tmissing.push(`${service} (image unknown)`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!await new Promise((resolve) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"image\",\n\t\t\t\t\"inspect\",\n\t\t\t\timage\n\t\t\t], { timeout: 5e3 }, (error) => resolve(!error));\n\t\t})) missing.push(image);\n\t}\n\treturn missing;\n}\nasync function detectProjectCollision(state) {\n\tconst projectName = projectNameForState(state);\n\tconst delays = [\n\t\t0,\n\t\t1e3,\n\t\t1e3\n\t];\n\tfor (let attempt = 0; attempt < delays.length; attempt++) {\n\t\tif (delays[attempt] > 0) await new Promise((resolve) => setTimeout(resolve, delays[attempt]));\n\t\tconst existing = await detectExistingProject({\n\t\t\tprojectName,\n\t\t\texpectedWorkingDir: state.stackDir\n\t\t});\n\t\tif (!existing.exists) return null;\n\t\tif (existing.isOurs) return null;\n\t\tif (!existing.workingDir) continue;\n\t\treturn `Refusing to deploy: docker project \"${projectName}\" is already running from ${existing.workingDir}, but this deploy would use OP_HOME=${state.homeDir}. Set OP_PROJECT_NAME to a distinct value in stack.env, or stop the existing stack first.`;\n\t}\n\treturn `Refusing to deploy: docker project \"${projectName}\" could not be verified safely. Docker returned an existing project without a trustworthy working_dir label, so this deploy is failing closed.`;\n}\nfunction buildLogHint(state, services) {\n\treturn `Check logs: docker compose -p ${projectNameForState(state)} logs ${services.join(\" \")}.`;\n}\nasync function pollContainerHealth(state, progress, services, options) {\n\tconst composeOpts = buildComposeOptions(state);\n\tconst deadline = Date.now() + 5 * 6e4;\n\twhile (Date.now() < deadline) {\n\t\tawait new Promise((resolve) => setTimeout(resolve, 2e3));\n\t\tconst psResult = await composePs(composeOpts);\n\t\tif (!psResult.ok) continue;\n\t\tconst containers = parseComposePsOutput(psResult.stdout);\n\t\tprogress.deployStatus = progress.deployStatus.map((entry) => {\n\t\t\tconst found = containers.find((container) => container.service === entry.service);\n\t\t\tif (!found) return {\n\t\t\t\t...entry,\n\t\t\t\tstatus: \"pending\",\n\t\t\t\tlabel: \"Starting...\"\n\t\t\t};\n\t\t\tif (found.state === \"running\") {\n\t\t\t\tif (found.health === \"unhealthy\") return {\n\t\t\t\t\t...entry,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\tlabel: \"Unhealthy\"\n\t\t\t\t};\n\t\t\t\tif (found.health === \"starting\") return {\n\t\t\t\t\t...entry,\n\t\t\t\t\tstatus: \"pending\",\n\t\t\t\t\tlabel: \"Health check running...\"\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...entry,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\tlabel: \"Running\"\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (found.state === \"exited\" || found.state === \"dead\") return {\n\t\t\t\t...entry,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tlabel: `Exited (${found.state})`\n\t\t\t};\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tstatus: \"pending\",\n\t\t\t\tlabel: `Starting (${found.state})...`\n\t\t\t};\n\t\t});\n\t\temitProgress(options, progress);\n\t\tconst failed = progress.deployStatus.filter((entry) => entry.status === \"error\").map((entry) => entry.service);\n\t\tif (failed.length > 0) return `Services started but the following did not become healthy: ${failed.join(\", \")}. ${buildLogHint(state, failed)}`;\n\t\tif (services.every((service) => progress.deployStatus.find((entry) => entry.service === service)?.status === \"running\")) return null;\n\t}\n\tconst unhealthy = progress.deployStatus.filter((entry) => entry.status !== \"running\").map((entry) => entry.service);\n\treturn `Services started but some did not become healthy in time: ${unhealthy.join(\", \")}. ${buildLogHint(state, unhealthy)}`;\n}\nfunction markSetupComplete(state) {\n\tconst path = `${state.stashDir}/env/stack.env`;\n\twriteFileAtomic(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", { OP_SETUP_COMPLETE: \"true\" }), 384);\n}\nfunction backupSetupInputs(state) {\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tconst secretsDir = `${state.stashDir}/secrets`;\n\tif (!existsSync(stackEnvPath) && !existsSync(secretsDir)) return null;\n\tconst backupDir = join(resolveBackupsDir(), `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\")}-setup`);\n\tif (existsSync(stackEnvPath)) {\n\t\tconst dest = join(backupDir, \"knowledge/env/stack.env\");\n\t\tmkdirSync(dirname(dest), { recursive: true });\n\t\tcopyFileSync(stackEnvPath, dest);\n\t}\n\tif (existsSync(secretsDir)) {\n\t\tconst copyDir = (sourceDir, targetDir) => {\n\t\t\tmkdirSync(targetDir, { recursive: true });\n\t\t\tfor (const entry of readdirSync(sourceDir, { withFileTypes: true })) {\n\t\t\t\tconst sourcePath = join(sourceDir, entry.name);\n\t\t\t\tconst targetPath = join(targetDir, entry.name);\n\t\t\t\tif (entry.isDirectory()) {\n\t\t\t\t\tcopyDir(sourcePath, targetPath);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcopyFileSync(sourcePath, targetPath);\n\t\t\t}\n\t\t};\n\t\tcopyDir(secretsDir, join(backupDir, \"knowledge/secrets\"));\n\t}\n\treturn backupDir;\n}\nasync function runDeploy(state, options = {}) {\n\tconst progress = cloneProgress(DEFAULT_DEPLOY_PROGRESS);\n\tprogress.deploying = true;\n\tprogress.startedAt = (/* @__PURE__ */ new Date()).toISOString();\n\tprogress.pid = process.pid;\n\temitProgress(options, progress);\n\tconst lock = acquireInstallLock(state.dataDir);\n\tif (!lock) {\n\t\tprogress.deploying = false;\n\t\tprogress.deployError = \"install_in_progress: A deploy is already running. Wait for it to finish (the lock clears itself automatically after 30 minutes). If you're sure nothing is running, run 'openpalm unlock' to clear a stale lock.\";\n\t\temitProgress(options, progress);\n\t\treturn progress;\n\t}\n\ttry {\n\t\tconst collision = await detectProjectCollision(state);\n\t\tif (collision) {\n\t\t\tprogress.deployError = collision;\n\t\t\tprogress.deploying = false;\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\tprogress.phase = \"writing-config\";\n\t\temitProgress(options, progress);\n\t\tawait applyInstall(state, { lock });\n\t\tconst services = await buildManagedServices(state);\n\t\tprogress.deployStatus = services.map((service) => ({\n\t\t\tservice,\n\t\t\tstatus: \"pending\",\n\t\t\tlabel: \"Waiting...\"\n\t\t}));\n\t\temitProgress(options, progress);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\ttry {\n\t\t\tawait composeDown({\n\t\t\t\t...composeOpts,\n\t\t\t\tremoveVolumes: false,\n\t\t\t\tremoveOrphans: true\n\t\t\t});\n\t\t} catch {}\n\t\tprogress.phase = \"pulling-images\";\n\t\temitProgress(options, progress);\n\t\tconst imageTag = resolveImageTag(state);\n\t\tconst isDevTag = imageTag.startsWith(\"dev\");\n\t\tlet pullResult = null;\n\t\tif (!isDevTag) for (const delay of [\n\t\t\t0,\n\t\t\t5e3,\n\t\t\t15e3\n\t\t]) {\n\t\t\tif (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));\n\t\t\tpullResult = await composePull(composeOpts);\n\t\t\tif (pullResult.ok) break;\n\t\t\tif (/manifest unknown|manifest for .* not found|unauthorized|authentication required|access denied/i.test(pullResult.stderr ?? \"\")) break;\n\t\t}\n\t\tif (isDevTag || !pullResult || !pullResult.ok) {\n\t\t\tconst missing = await missingServiceImages(composeOpts, services);\n\t\t\tif (missing.length > 0) {\n\t\t\t\tprogress.deployStatus = progress.deployStatus.map((entry) => ({\n\t\t\t\t\t...entry,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\tlabel: \"Image pull failed\"\n\t\t\t\t}));\n\t\t\t\tprogress.deployError = isDevTag ? `Dev images not found locally (tag: ${imageTag}): ${missing.join(\", \")}. Run \\`bun run dev:build\\` from the project root to build them, then retry setup.` : mapDockerError(pullResult?.stderr?.trim() || \"Image pull failed\").message;\n\t\t\t\tprogress.deploying = false;\n\t\t\t\temitProgress(options, progress);\n\t\t\t\treturn progress;\n\t\t\t}\n\t\t\tif (!isDevTag && pullResult && !pullResult.ok) {\n\t\t\t\tprogress.imageWarning = `Couldn't download the latest images (network or registry issue), so the install used the images already on your machine — these may be out of date. Check your connection and re-run setup or Update to pull the newest versions.`;\n\t\t\t\temitProgress(options, progress);\n\t\t\t}\n\t\t}\n\t\tprogress.phase = \"starting\";\n\t\tprogress.deployStatus = progress.deployStatus.map((entry) => ({\n\t\t\t...entry,\n\t\t\tstatus: \"pending\",\n\t\t\tlabel: \"Starting...\"\n\t\t}));\n\t\temitProgress(options, progress);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices,\n\t\t\tforceRecreate: true,\n\t\t\tremoveOrphans: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tprogress.deployStatus = progress.deployStatus.map((entry) => ({\n\t\t\t\t...entry,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tlabel: mapDockerError(upResult.stderr ?? \"compose up failed\").message\n\t\t\t}));\n\t\t\tprogress.deployError = mapDockerError(upResult.stderr ?? \"compose up failed\").message;\n\t\t\tprogress.deploying = false;\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\tconst healthError = await pollContainerHealth(state, progress, services, options);\n\t\tif (healthError) {\n\t\t\tprogress.deployError = healthError;\n\t\t\tprogress.deploying = false;\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\toptions.markSetupComplete?.();\n\t\tprogress.deploying = false;\n\t\tprogress.setupComplete = true;\n\t\tprogress.phase = \"ready\";\n\t\temitProgress(options, progress);\n\t\treturn progress;\n\t} finally {\n\t\treleaseInstallLock(lock);\n\t}\n}\n//#endregion\n//#region ../lib/src/control-plane/portals.ts\n/**\n* Portal validation, discovery, and allowlist checks for the OpenPalm control plane.\n*/\nfunction addonComposePaths(homeDir) {\n\tconst paths = [];\n\tfor (const name of [\n\t\t\"portals.compose.yml\",\n\t\t\"services.compose.yml\",\n\t\t\"custom.compose.yml\"\n\t]) {\n\t\tconst composePath = `${homeDir}/config/stack/${name}`;\n\t\tif (existsSync(composePath)) paths.push(composePath);\n\t}\n\treturn paths;\n}\n/**\n* Check if a service name is allowed. Core services are always allowed.\n* Addon services are allowed if they appear as a compose service defined in\n* any active addon compose file. This is compose-derived: the actual compose\n* content is checked, not directory naming conventions.\n*/\nfunction isAllowedService(value, configDir) {\n\tif (!value || !value.trim() || value !== value.toLowerCase()) return false;\n\tif (CORE_SERVICES.includes(value)) return true;\n\tif (configDir) {\n\t\tconst homeDir = dirname(configDir);\n\t\tfor (const composePath of addonComposePaths(homeDir)) try {\n\t\t\tconst doc = (0, import_dist.parse)(readFileSync(composePath, \"utf-8\"));\n\t\t\tif (typeof doc === \"object\" && doc !== null) {\n\t\t\t\tconst services = doc.services;\n\t\t\t\tif (typeof services === \"object\" && services !== null && value in services) return true;\n\t\t\t}\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn false;\n}\n//#endregion\n//#region ../lib/src/control-plane/provider-models.ts\n/**\n* Provider model discovery and API key resolution.\n*\n* Used by the admin capabilities test endpoint and the CLI setup wizard\n* to enumerate the models a configured provider exposes.\n*/\n/** Static model list for Anthropic (no listing API available). */\nvar ANTHROPIC_MODELS = [\n\t\"claude-opus-4-6\",\n\t\"claude-sonnet-4-6\",\n\t\"claude-opus-4-20250514\",\n\t\"claude-sonnet-4-20250514\",\n\t\"claude-haiku-4-5-20251001\",\n\t\"claude-3-5-sonnet-20241022\",\n\t\"claude-3-5-haiku-20241022\"\n];\n/**\n* Resolve an API key reference.\n*\n* - Empty input → empty string.\n* - `env:NAME` form → looks up `NAME` in `process.env` first, then falls back\n* to `knowledge/secrets/<NAME>` resolved against `stackDir`.\n* - Anything else → returned verbatim (treated as a literal key value).\n*/\nfunction resolveApiKey(apiKeyRef, stackDir) {\n\tif (!apiKeyRef) return \"\";\n\tif (!apiKeyRef.startsWith(\"env:\")) return apiKeyRef;\n\tconst varName = apiKeyRef.slice(4);\n\tif (process.env[varName]) return process.env[varName];\n\treturn readStackRuntimeEnv(stackDir)[varName] ?? \"\";\n}\nvar HTTP_STATUS_LABELS = {\n\t401: \"Invalid or missing API key\",\n\t403: \"Access denied — check API key permissions\",\n\t404: \"Endpoint not found — verify the base URL\",\n\t429: \"Rate limited — try again shortly\",\n\t500: \"Provider internal error\",\n\t502: \"Provider returned a bad gateway error\",\n\t503: \"Provider is temporarily unavailable\"\n};\n/**\n* Enumerate available models for a provider. Returns an `ok` result with a\n* sorted model list when the provider responds successfully, or a\n* `recoverable_error` with a structured reason otherwise. Network and timeout\n* failures are caught and mapped to a result rather than thrown.\n*/\nasync function fetchProviderModels(provider, apiKeyRef, baseUrl, stackDir) {\n\ttry {\n\t\tif (provider === \"anthropic\") return {\n\t\t\tmodels: [...ANTHROPIC_MODELS],\n\t\t\tstatus: \"ok\",\n\t\t\treason: \"provider_static\"\n\t\t};\n\t\tconst resolvedKey = resolveApiKey(apiKeyRef, stackDir);\n\t\tif (provider === \"ollama\") {\n\t\t\tconst url = `${(baseUrl?.trim() || PROVIDER_DEFAULT_URLS.ollama).replace(/\\/+$/, \"\")}/api/tags`;\n\t\t\tconst res = await fetch(url, { signal: AbortSignal.timeout(5e3) });\n\t\t\tif (!res.ok) return {\n\t\t\t\tmodels: [],\n\t\t\t\tstatus: \"recoverable_error\",\n\t\t\t\treason: \"provider_http\",\n\t\t\t\terror: `Ollama API returned ${res.status}: ${HTTP_STATUS_LABELS[res.status] ?? `HTTP ${res.status}`}`\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tmodels: ((await res.json()).models ?? []).map((m) => m.name).sort(),\n\t\t\t\tstatus: \"ok\",\n\t\t\t\treason: \"none\"\n\t\t\t};\n\t\t}\n\t\tconst base = baseUrl?.trim() || PROVIDER_DEFAULT_URLS[provider] || \"\";\n\t\tif (!base) return {\n\t\t\tmodels: [],\n\t\t\tstatus: \"recoverable_error\",\n\t\t\treason: \"missing_base_url\",\n\t\t\terror: `No base URL configured for provider \"${provider}\"`\n\t\t};\n\t\tconst url = `${base.replace(/\\/+$/, \"\")}/v1/models`;\n\t\tconst headers = {};\n\t\tif (resolvedKey) headers[\"Authorization\"] = `Bearer ${resolvedKey}`;\n\t\tconst res = await fetch(url, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(5e3)\n\t\t});\n\t\tif (!res.ok) {\n\t\t\tlet detail = \"\";\n\t\t\ttry {\n\t\t\t\tconst json = JSON.parse(await res.text());\n\t\t\t\tconst errObj = json.error;\n\t\t\t\tdetail = typeof errObj === \"object\" && errObj !== null && typeof errObj.message === \"string\" ? errObj.message : typeof errObj === \"string\" ? errObj : typeof json.message === \"string\" ? json.message : typeof json.detail === \"string\" ? json.detail : \"\";\n\t\t\t} catch {}\n\t\t\treturn {\n\t\t\t\tmodels: [],\n\t\t\t\tstatus: \"recoverable_error\",\n\t\t\t\treason: \"provider_http\",\n\t\t\t\terror: detail ? `Provider API returned ${res.status}: ${detail}` : `Provider API returned ${res.status}: ${HTTP_STATUS_LABELS[res.status] ?? `HTTP ${res.status}`}`\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tmodels: ((await res.json()).data ?? []).map((m) => m.id).sort(),\n\t\t\tstatus: \"ok\",\n\t\t\treason: \"none\"\n\t\t};\n\t} catch (err) {\n\t\tconst message = err instanceof Error && err.name === \"TimeoutError\" ? \"Request timed out after 5s\" : String(err);\n\t\treturn {\n\t\t\tmodels: [],\n\t\t\tstatus: \"recoverable_error\",\n\t\t\treason: err instanceof Error && err.name === \"TimeoutError\" ? \"timeout\" : \"network\",\n\t\t\terror: message\n\t\t};\n\t}\n}\n//#endregion\n//#region ../lib/src/control-plane/akm-endpoints.ts\nvar AKM_OPENAI_STYLE_PROVIDERS = new Set([\n\t\"deepseek\",\n\t\"google\",\n\t\"groq\",\n\t\"huggingface\",\n\t\"lmstudio\",\n\t\"mistral\",\n\t\"model-runner\",\n\t\"ollama\",\n\t\"openai\",\n\t\"openai-compatible\",\n\t\"together\",\n\t\"xai\"\n]);\nfunction normalizeAkmBaseUrl(provider, baseUrl) {\n\tlet base = (baseUrl ?? \"\").trim().replace(/\\/+$/, \"\");\n\tif (!base) return \"\";\n\tbase = base.replace(/\\/chat\\/completions\\/?$/, \"\").replace(/\\/embeddings\\/?$/, \"\");\n\tif (provider === \"ollama\") base = base.replace(/\\/api\\/?$/, \"\");\n\tif (!AKM_OPENAI_STYLE_PROVIDERS.has(provider) || /\\/v\\d+(?:\\.\\d+)?$/.test(base)) return base;\n\treturn `${base}/v1`;\n}\nfunction buildAkmEndpoint(provider, baseUrl, suffix) {\n\tconst base = normalizeAkmBaseUrl(provider, baseUrl);\n\treturn base ? `${base}${suffix}` : \"\";\n}\n//#endregion\n//#region ../lib/src/control-plane/akm-sources.ts\n/**\n* Host ↔ Assistant AKM source wiring (control-plane logic — lives in lib).\n*\n* The assistant config ALWAYS has a `host-akm` secondary source pointing at\n* /host-stash (written once at install, never removed). The compose bind-mount\n* controls what actually lands at /host-stash: the real ~/akm when sharing is\n* enabled, an empty dir when disabled. Profile import is best-effort — missing\n* or corrupt host config is logged and skipped, never an error.\n*\n* Invariants (enforced + unit-tested):\n* - Only ever appends/updates a NAMED source (idempotent upsert by name).\n* - NEVER sets `primary`, NEVER sets `defaultWriteTarget`, NEVER sets `stashDir`.\n* - Atomic 0600 writes.\n* - The OpenPalm config is parse-tolerant (we own it: corrupt → start from {}).\n*/\nvar logger$6 = createLogger(\"akm-sources\");\n/** Source entry name added to the OpenPalm/container config (points at /host-stash). */\nvar HOST_SOURCE_NAME = \"host-akm\";\nfunction readConfigTolerant(configPath) {\n\tif (!existsSync(configPath)) return {};\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(configPath, \"utf-8\"));\n\t\treturn parsed && typeof parsed === \"object\" ? parsed : {};\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction readHostConfigBestEffort(configPath) {\n\tif (!existsSync(configPath)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(configPath, \"utf-8\"));\n\t\treturn parsed && typeof parsed === \"object\" ? parsed : null;\n\t} catch {\n\t\tlogger$6.warn(\"host akm config is not valid JSON — skipping profile import\", { configPath });\n\t\treturn null;\n\t}\n}\n/**\n* Upsert a named filesystem source into `config.sources[]` by name. Idempotent.\n* NEVER touches `primary`, `defaultWriteTarget`, or `stashDir`.\n*/\nfunction upsertSource(config, entry) {\n\tconst sources = Array.isArray(config.sources) ? [...config.sources] : [];\n\tconst idx = sources.findIndex((s) => s && typeof s === \"object\" && s.name === entry.name);\n\tif (idx >= 0) sources[idx] = {\n\t\t...sources[idx],\n\t\t...entry\n\t};\n\telse sources.push(entry);\n\treturn {\n\t\t...config,\n\t\tsources\n\t};\n}\nfunction assertNoPrimaryEscalation(entry) {\n\tif (entry.primary !== void 0) throw new Error(\"akm-sources: refusing to write a source entry carrying `primary`.\");\n}\nfunction openpalmConfigPath(state) {\n\treturn join(state.configDir, \"akm\", \"config.json\");\n}\n/**\n* Container/OpenPalm side: add the personal stash (mounted at /host-stash) as a\n* secondary source. Parse-tolerant (we own this config). Writable by default so\n* the assistant can contribute back via an explicit `--target host-akm`.\n*/\nfunction addHostStashToOpenpalmConfig(state, writable = true) {\n\tconst configPath = openpalmConfigPath(state);\n\tconst entry = {\n\t\ttype: \"filesystem\",\n\t\tpath: \"/host-stash\",\n\t\tname: HOST_SOURCE_NAME,\n\t\twritable,\n\t\tenabled: true\n\t};\n\tassertNoPrimaryEscalation(entry);\n\tconst updated = upsertSource(readConfigTolerant(configPath), entry);\n\twriteFileAtomic(configPath, JSON.stringify(updated, null, 2), 384);\n}\n/**\n* Best-effort import of the host's LLM/agent profiles into the OpenPalm akm config.\n* Reads the personal host config READ-ONLY; never writes back to the host.\n*\n* ADDITIVE MERGE: existing OpenPalm values ALWAYS win — the host only fills gaps.\n* Returns `{ imported: [] }` when the host config is absent or unreadable (never\n* throws — profile import is always optional).\n*\n* Writes the canonical akm shape (profiles.* + defaults.* + embedding).\n* NEVER touches `sources`, `stashDir`, `registries`, or `installed`.\n*/\nfunction importHostProfiles(state, hostConfigPath) {\n\tconst host = readHostConfigBestEffort(hostConfigPath);\n\tif (!host) return { imported: [] };\n\tconst hostProfiles = host.profiles ?? {};\n\tconst hostDefaults = host.defaults ?? {};\n\tconst opPath = openpalmConfigPath(state);\n\tconst op = readConfigTolerant(opPath);\n\tconst opProfiles = op.profiles ?? {};\n\tconst opDefaults = op.defaults ?? {};\n\tconst imported = [];\n\tconst isObj = (v) => typeof v === \"object\" && v !== null && !Array.isArray(v);\n\tfor (const ns of [\n\t\t\"llm\",\n\t\t\"agent\",\n\t\t\"improve\"\n\t]) {\n\t\tif (isObj(hostProfiles[ns])) {\n\t\t\tconst existing = isObj(opProfiles[ns]) ? opProfiles[ns] : {};\n\t\t\tconst merged = {\n\t\t\t\t...hostProfiles[ns],\n\t\t\t\t...existing\n\t\t\t};\n\t\t\tconst added = Object.keys(merged).length - Object.keys(existing).length;\n\t\t\topProfiles[ns] = merged;\n\t\t\tif (added > 0) imported.push(`profiles.${ns}`);\n\t\t}\n\t\tif (typeof hostDefaults[ns] === \"string\" && typeof opDefaults[ns] !== \"string\") {\n\t\t\topDefaults[ns] = hostDefaults[ns];\n\t\t\timported.push(`defaults.${ns}`);\n\t\t}\n\t}\n\tlet embedding;\n\tif (isObj(host.embedding)) {\n\t\tconst existing = isObj(op.embedding) ? op.embedding : {};\n\t\tconst merged = {\n\t\t\t...host.embedding,\n\t\t\t...existing\n\t\t};\n\t\tif (Object.keys(merged).length > Object.keys(existing).length) {\n\t\t\tembedding = merged;\n\t\t\timported.push(\"embedding\");\n\t\t}\n\t}\n\tif (imported.length === 0) return { imported };\n\tconst updated = {\n\t\t...op,\n\t\tprofiles: opProfiles,\n\t\tdefaults: opDefaults\n\t};\n\tif (embedding !== void 0) updated.embedding = embedding;\n\tdelete updated.llm;\n\twriteFileAtomic(opPath, JSON.stringify(updated, null, 2), 384);\n\treturn { imported };\n}\n//#endregion\n//#region ../lib/src/control-plane/host-akm-sharing.ts\n/**\n* Host AKM sharing (control-plane logic — lives in lib).\n*\n* Model:\n* - The assistant ALWAYS has `/host-stash` as a secondary akm source (written\n* once at install by addHostStashToOpenpalmConfig, never removed).\n* - Enable/disable = flip OP_HOST_AKM_STASH in stack.env between the real\n* ~/akm path (enabled) and an empty string / removal (disabled). Compose\n* reads OP_HOST_AKM_STASH and mounts the real stash or the always-present\n* empty-dir fallback accordingly.\n* - Enabling also imports host LLM/agent profiles (best-effort, additive merge).\n* If no host akm config exists the import is silently skipped — it is never\n* a blocking condition.\n*/\nvar logger$5 = createLogger(\"host-akm-sharing\");\nvar ENV_KEY = \"OP_HOST_AKM_STASH\";\nfunction userHome() {\n\treturn process.env.HOME ?? process.env.USERPROFILE ?? homedir();\n}\n/** The user's personal akm stash dir (mounted into the assistant at /host-stash). */\nfunction hostAkmStashPath() {\n\treturn `${userHome()}/akm`;\n}\nfunction hostAkmConfigPath() {\n\treturn `${userHome()}/.config/akm/config.json`;\n}\nfunction stackEnvPath(state) {\n\treturn `${state.stashDir}/env/stack.env`;\n}\n/** Read enabled status from stack.env. */\nfunction getHostAkmSharingStatus(state) {\n\tconst path = stackEnvPath(state);\n\treturn {\n\t\tenabled: ((existsSync(path) ? parseEnvFile(path) : {})[ENV_KEY] ?? \"\").trim().length > 0,\n\t\thostStashPath: hostAkmStashPath()\n\t};\n}\n/**\n* Enable host AKM sharing: point OP_HOST_AKM_STASH at ~/akm and import host\n* LLM/agent profiles (best-effort — skipped if host akm config is absent).\n*/\nfunction enableHostAkmSharing(state) {\n\tconst envPath = stackEnvPath(state);\n\twriteFileAtomic(envPath, mergeEnvContent(existsSync(envPath) ? readFileSync(envPath, \"utf-8\") : \"\", { [ENV_KEY]: hostAkmStashPath() }), 384);\n\tconst { imported: profilesImported } = importHostProfiles(state, hostAkmConfigPath());\n\tlogger$5.info(\"host akm sharing enabled\", {\n\t\thostStashPath: hostAkmStashPath(),\n\t\tprofilesImported\n\t});\n\treturn { profilesImported };\n}\n/**\n* Disable host AKM sharing: remove OP_HOST_AKM_STASH from stack.env so compose\n* falls back to the empty-dir mount. Never removes the /host-stash source entry\n* from the akm config — the source is always present (just points at an empty dir).\n*/\nfunction disableHostAkmSharing(state) {\n\tconst envPath = stackEnvPath(state);\n\twriteFileAtomic(envPath, removeEnvKey(existsSync(envPath) ? readFileSync(envPath, \"utf-8\") : \"\", ENV_KEY), 384);\n\tlogger$5.info(\"host akm sharing disabled\");\n}\n//#endregion\n//#region ../lib/src/control-plane/secret-mappings.ts\nvar STATIC_CORE_MAPPINGS = [\n\t{\n\t\tsecretKey: \"openpalm/ui-login-password\",\n\t\tenvKey: \"OP_UI_LOGIN_PASSWORD\",\n\t\tscope: \"system\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/opencode/server-password\",\n\t\tenvKey: \"OP_OPENCODE_PASSWORD\",\n\t\tscope: \"system\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/openai/api-key\",\n\t\tenvKey: \"OPENAI_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/anthropic/api-key\",\n\t\tenvKey: \"ANTHROPIC_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/groq/api-key\",\n\t\tenvKey: \"GROQ_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/mistral/api-key\",\n\t\tenvKey: \"MISTRAL_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/google/api-key\",\n\t\tenvKey: \"GOOGLE_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/together/api-key\",\n\t\tenvKey: \"TOGETHER_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/deepseek/api-key\",\n\t\tenvKey: \"DEEPSEEK_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/xai/api-key\",\n\t\tenvKey: \"XAI_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/huggingface/token\",\n\t\tenvKey: \"HF_TOKEN\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/mcp/api-key\",\n\t\tenvKey: \"MCP_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/embedding/api-key\",\n\t\tenvKey: \"EMBEDDING_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/lmstudio/api-key\",\n\t\tenvKey: \"LMSTUDIO_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/discord/bot-token\",\n\t\tenvKey: \"DISCORD_BOT_TOKEN\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/slack/bot-token\",\n\t\tenvKey: \"SLACK_BOT_TOKEN\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/slack/app-token\",\n\t\tenvKey: \"SLACK_APP_TOKEN\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/voice/stt-api-key\",\n\t\tenvKey: \"STT_API_KEY\",\n\t\tscope: \"user\"\n\t},\n\t{\n\t\tsecretKey: \"openpalm/voice/tts-api-key\",\n\t\tenvKey: \"TTS_API_KEY\",\n\t\tscope: \"user\"\n\t}\n];\n//#endregion\n//#region ../lib/src/control-plane/validate.ts\n/**\n* Runtime configuration validation for the OpenPalm control plane.\n*\n* Validation is a presence check on the canonical env keys we expect in\n* the live config/stack files. The\n* historical schema files and external validation binary were retired in\n* #391; everything advisory is surfaced as a non-blocking warning. The\n* function never shells out and never reads schemas.\n*/\nvar REQUIRED_SECRET_KEYS = [\"OP_UI_LOGIN_PASSWORD\"];\n/**\n* Validate the live configuration files.\n*\n* Checks:\n* 1. knowledge/env/stack.env exists and carries every required key with a\n* non-empty value.\n* 2. Every secret env key in STATIC_CORE_MAPPINGS is present (key only\n* — blank values are warned about, never erred on, because operators\n* may opt out of providers they don't use).\n*\n* Errors fail the result. Warnings do not. The function never reads\n* schema files and never spawns subprocesses.\n*/\nasync function validateProposedState(state) {\n\tconst errors = [];\n\tconst warnings = [];\n\tconst stackEnvPath = `${state.stashDir}/env/stack.env`;\n\tif (!existsSync(stackEnvPath)) {\n\t\terrors.push(`ERROR: stack env file missing at ${stackEnvPath}`);\n\t\treturn {\n\t\t\tok: false,\n\t\t\terrors,\n\t\t\twarnings\n\t\t};\n\t}\n\tconst runtimeEnv = readStackRuntimeEnv(state.stackDir);\n\tfor (const key of REQUIRED_SECRET_KEYS) {\n\t\tconst value = runtimeEnv[key];\n\t\tif (!value || value.trim().length === 0) errors.push(`ERROR: required secret ${key} is missing or empty in knowledge/secrets/${key.toLowerCase()}`);\n\t}\n\tfor (const mapping of STATIC_CORE_MAPPINGS) if (!Object.prototype.hasOwnProperty.call(runtimeEnv, mapping.envKey)) warnings.push(`WARN: ${mapping.envKey} (akm ${mapping.secretKey}) is not declared in knowledge/secrets/${mapping.envKey.toLowerCase()}`);\n\treturn {\n\t\tok: errors.length === 0,\n\t\terrors,\n\t\twarnings\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/markdown-task.ts\n/**\n* AKM task parser.\n*\n* Task files are YAML documents in knowledge/tasks/. Supported target types:\n* command — `command: [...]` YAML array (argv)\n* prompt — `prompt: <text>` inline prompt text\n* workflow — `workflow: workflow:<ref>` + optional `params` map\n*/\nvar logger$4 = createLogger(\"task-file\");\nfunction parseMarkdownTask(filePath) {\n\tconst id = basename(filePath).replace(/\\.(?:ya?ml|md)$/, \"\");\n\tlet raw;\n\ttry {\n\t\traw = readFileSync(filePath, \"utf-8\");\n\t} catch (err) {\n\t\tlogger$4.warn(\"failed to read task file\", {\n\t\t\tfilePath,\n\t\t\terror: String(err)\n\t\t});\n\t\treturn null;\n\t}\n\tconst { frontmatter, body } = splitTaskSource(raw);\n\tlet fm;\n\ttry {\n\t\tconst parsed = (0, import_dist.parse)(frontmatter);\n\t\tif (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n\t\t\tlogger$4.warn(\"task YAML is not an object\", { filePath });\n\t\t\treturn null;\n\t\t}\n\t\tfm = parsed;\n\t} catch (err) {\n\t\tlogger$4.warn(\"failed to parse task YAML\", {\n\t\t\tfilePath,\n\t\t\terror: String(err)\n\t\t});\n\t\treturn null;\n\t}\n\tconst schedule = fm.schedule;\n\tif (typeof schedule !== \"string\" || !schedule.trim()) {\n\t\tlogger$4.warn(\"task missing or empty 'schedule'\", { filePath });\n\t\treturn null;\n\t}\n\tlet target;\n\tif (fm.command !== void 0) {\n\t\tconst cmd = Array.isArray(fm.command) ? fm.command.map(String) : typeof fm.command === \"string\" ? [fm.command] : null;\n\t\tif (!cmd || cmd.length === 0) {\n\t\t\tlogger$4.warn(\"task 'command' must be a non-empty array\", { filePath });\n\t\t\treturn null;\n\t\t}\n\t\ttarget = {\n\t\t\tkind: \"command\",\n\t\t\tcmd\n\t\t};\n\t} else if (fm.prompt !== void 0) {\n\t\tif (typeof fm.prompt !== \"string\" || !fm.prompt.trim()) {\n\t\t\tlogger$4.warn(\"task 'prompt' must be a non-empty string\", { filePath });\n\t\t\treturn null;\n\t\t}\n\t\tconst promptBody = fm.prompt.trim() === \"inline\" ? body.trim() : fm.prompt.trim();\n\t\tif (!promptBody) {\n\t\t\tlogger$4.warn(\"task prompt body is empty\", { filePath });\n\t\t\treturn null;\n\t\t}\n\t\ttarget = {\n\t\t\tkind: \"prompt\",\n\t\t\tprofile: typeof fm.profile === \"string\" ? fm.profile : void 0,\n\t\t\tbody: promptBody\n\t\t};\n\t} else if (fm.workflow !== void 0) {\n\t\tif (typeof fm.workflow !== \"string\") {\n\t\t\tlogger$4.warn(\"task 'workflow' must be a string ref\", { filePath });\n\t\t\treturn null;\n\t\t}\n\t\ttarget = {\n\t\t\tkind: \"workflow\",\n\t\t\tref: fm.workflow,\n\t\t\tparams: fm.params && typeof fm.params === \"object\" && !Array.isArray(fm.params) ? fm.params : {}\n\t\t};\n\t} else {\n\t\tlogger$4.warn(\"task must have one of: command, prompt, workflow\", { filePath });\n\t\treturn null;\n\t}\n\treturn {\n\t\tid,\n\t\tschedule: schedule.trim(),\n\t\tenabled: fm.enabled !== false,\n\t\tdescription: typeof fm.description === \"string\" ? fm.description : void 0,\n\t\ttags: Array.isArray(fm.tags) ? fm.tags.map(String) : void 0,\n\t\ttimeoutMs: typeof fm.timeoutMs === \"number\" ? fm.timeoutMs : void 0,\n\t\ttarget,\n\t\tsource: { path: filePath }\n\t};\n}\nfunction splitTaskSource(raw) {\n\tconst match = raw.match(/^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n?([\\s\\S]*)$/);\n\tif (!match) return {\n\t\tfrontmatter: raw,\n\t\tbody: \"\"\n\t};\n\treturn {\n\t\tfrontmatter: match[1] ?? \"\",\n\t\tbody: match[2] ?? \"\"\n\t};\n}\nfunction loadMarkdownTasks(stashDir) {\n\tconst dir = join(stashDir, \"tasks\");\n\tif (!existsSync(dir)) return [];\n\tconst tasks = [];\n\tfor (const entry of readdirSync(dir, { withFileTypes: true })) {\n\t\tif (!entry.isFile() || !entry.name.endsWith(\".md\") && !entry.name.endsWith(\".yml\") && !entry.name.endsWith(\".yaml\")) continue;\n\t\tconst task = parseMarkdownTask(join(dir, entry.name));\n\t\tif (task) tasks.push(task);\n\t}\n\treturn tasks;\n}\nfunction taskToAutomationConfig(task) {\n\tconst { target } = task;\n\tlet actionType;\n\tlet content;\n\tlet agent;\n\tif (target.kind === \"command\") actionType = \"shell\";\n\telse if (target.kind === \"prompt\") {\n\t\tactionType = \"assistant\";\n\t\tcontent = target.body;\n\t\tagent = target.profile;\n\t} else actionType = \"workflow\";\n\treturn {\n\t\tname: task.id,\n\t\tdescription: task.description ?? \"\",\n\t\tschedule: task.schedule,\n\t\ttimezone: \"\",\n\t\tenabled: task.enabled,\n\t\taction: {\n\t\t\ttype: actionType,\n\t\t\tcontent,\n\t\t\tagent\n\t\t},\n\t\ton_failure: \"log\",\n\t\tfileName: basename(task.source.path)\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/akm-user-env.ts\n/**\n* akm `env:user` helpers.\n*\n* The user-managed environment file lives at `${OP_HOME}/knowledge/env/user.env`\n* and is the canonical home for user-managed configuration (LLM provider keys,\n* owner info, and any other user-set values). It maps to the akm `env` asset\n* type (ref `env:user`): a whole `.env` file that akm loads wholesale via\n* `akm env run env:user` / `akm env path env:user`. The assistant entrypoint\n* sources this file directly at startup.\n*\n* akm (>= 0.8.0) no longer manages individual env entries — the file owner edits\n* it and akm loads it as a unit. OpenPalm therefore owns the file directly:\n* writes/deletes are plain atomic .env edits (mode 0600), no akm subprocess.\n* Values are shell-quoted on write so the entrypoint can `source` the file\n* safely; `parseEnvFile` (dotenv) unquotes them on read.\n*\n* `stack.env` and `knowledge/secrets/` are operator-managed and NOT part of\n* this file; service secrets are granted as Compose secret files.\n*\n* Layout:\n* knowledge/ — AKM_STASH_DIR: asset content (skills, env, secrets, agents)\n* data/akm/ — akm operational cache and data\n*/\n/**\n* Quote a value so the written line is interpreted IDENTICALLY by a POSIX shell\n* `source` (the assistant entrypoint does `set -a; . user.env`) and by dotenv\n* (akm `env run` / OpenPalm's `parseEnvFile`).\n*\n* The shared `quoteEnvValue` (env.ts) is tuned for dotenv/compose only: it\n* leaves values with internal spaces bare (`OWNER=Ada Lovelace`) and uses\n* double-quote+backslash escaping — both of which a shell `source` mis-parses\n* (word-splitting, `&`/`$` interpretation). POSIX single-quoting is the one\n* encoding both agree on: everything inside `'...'` is literal in shell AND in\n* dotenv. Simple token-shaped values are written bare for readability; anything\n* else is single-quoted, with embedded single quotes closed/escaped/reopened\n* the POSIX way (`'\\''`).\n*/\nfunction quoteForUserEnv(value) {\n\tif (value === \"\") return \"\";\n\tif (/^[A-Za-z0-9_./:@%+,=-]+$/.test(value)) return value;\n\treturn `'${value.replace(/'/g, `'\\\\''`)}'`;\n}\n/** akm ref for the user-managed environment file. */\nvar AKM_USER_ENV_REF = \"env:user\";\nvar ENV_DIR_MODE = 448;\nvar ENV_FILE_MODE = 384;\n/**\n* Build the env that points akm at the shared OpenPalm stash. We mirror the\n* layout that the assistant container uses (see\n* `.openpalm/config/stack/core.compose.yml`) so host-side and container-side\n* runs resolve to the same files.\n*\n* Host-side runs use the same explicit directories as the assistant container:\n* config in config/akm, cache in data/akm/cache, and durable data in\n* data/akm/data. Used by automation execution (`executeAutomation`).\n*/\nfunction buildAkmEnv(state) {\n\treturn {\n\t\t...process.env,\n\t\tAKM_STASH_DIR: state.stashDir,\n\t\tAKM_CONFIG_DIR: `${state.configDir}/akm`,\n\t\tAKM_CACHE_DIR: `${state.dataDir}/akm/cache`,\n\t\tAKM_DATA_DIR: `${state.dataDir}/akm/data`\n\t};\n}\n/** The four XDG-base akm env vars that MUST be set together (akm 0.8.0). */\nvar AKM_ENV_KEYS = [\n\t\"AKM_STASH_DIR\",\n\t\"AKM_CONFIG_DIR\",\n\t\"AKM_CACHE_DIR\",\n\t\"AKM_DATA_DIR\"\n];\n/**\n* Guard (I-6): every OpenPalm-internal `akm` spawn MUST set all four AKM_* dirs\n* explicitly. Partially overriding them lets akm fall back to the operator's\n* GLOBAL ~/.config/akm / ~/.local/share/akm for the unset families — the\n* documented forensic hazard (akm setup writing the global config regardless of\n* AKM_STASH_DIR). We check the keys are present as OWN properties of the env\n* object passed to akm, not merely inherited from process.env (process.env may\n* carry the operator's global AKM_STASH_DIR, which is exactly what must NOT be\n* relied upon). `buildAkmEnv` satisfies this by construction.\n*/\nfunction assertAkmEnvComplete(env) {\n\tconst missing = AKM_ENV_KEYS.filter((k) => !env[k] || !String(env[k]).trim());\n\tif (missing.length > 0) throw new Error(`Refusing to spawn akm without all four AKM_* dirs set: missing ${missing.join(\", \")}. Use buildAkmEnv(state) — a partial set lets akm write the operator's global config.`);\n}\n/**\n* Canonical akm `env:user` file path for a control-plane state.\n*\n* Deterministic: akm (>= 0.8.0) materializes env files at\n* `${AKM_STASH_DIR}/env/<name>.env`, and `state.stashDir` is the stash root.\n* Returns the path regardless of whether the file currently exists.\n*/\nfunction userEnvPathSync(state) {\n\treturn `${state.stashDir}/env/user.env`;\n}\n/**\n* Ensure the user env file exists and return its absolute path.\n*\n* Pure filesystem — no akm subprocess. Returns immediately when the file is\n* already provisioned (the steady state — read paths pay no extra syscalls).\n* Otherwise creates `knowledge/env/` (0700) and an empty `user.env` (0600).\n*/\nfunction ensureAkmUserEnv(state) {\n\tconst envPath = userEnvPathSync(state);\n\tif (existsSync(envPath)) return envPath;\n\tmkdirSync(dirname(envPath), {\n\t\trecursive: true,\n\t\tmode: ENV_DIR_MODE\n\t});\n\twriteFileSync(envPath, \"\", { mode: ENV_FILE_MODE });\n\tchmodSync(envPath, ENV_FILE_MODE);\n\treturn envPath;\n}\n/**\n* Write a single key/value into the user env file (`env:user`).\n*\n* The value is shell-quoted before it is written so the assistant entrypoint\n* can `source` the file without word-splitting on spaces or special\n* characters. `ensureAkmUserEnv` guarantees the file exists; `chmodSync`\n* keeps it 0600. Throws on filesystem errors so callers can surface the error.\n*/\nfunction writeUserEnvKey(state, key, value) {\n\tconst path = ensureAkmUserEnv(state);\n\twriteFileSync(path, upsertEnvValue(readFileSync(path, \"utf-8\"), key, quoteForUserEnv(value)));\n\tchmodSync(path, ENV_FILE_MODE);\n}\n/**\n* Remove a key from the user env file (`env:user`). Idempotent: removing an\n* absent key rewrites the file unchanged. Throws on filesystem errors.\n*/\nfunction deleteUserEnvKey(state, key) {\n\tconst path = ensureAkmUserEnv(state);\n\twriteFileSync(path, removeEnvKey(readFileSync(path, \"utf-8\"), key));\n\tchmodSync(path, ENV_FILE_MODE);\n}\n/**\n* Return the parsed contents of a user env file (public API used by the admin\n* UI list endpoint). `parseEnvFile` returns `{}` for a missing or unreadable\n* file (it backs up corrupt files internally), so no extra guards are needed.\n*/\nfunction readUserEnvFile(envPath) {\n\treturn parseEnvFile(envPath);\n}\n//#endregion\n//#region ../lib/src/control-plane/scheduler.ts\n/**\n* Automation scheduler — types and akm CLI integration.\n*\n* Automations are AKM task files at ${stashDir}/tasks/*.yml.\n* Scheduling is handled by the OS cron daemon (via `akm tasks sync`).\n* Execution is handled by `akm tasks run <id>`.\n*/\nvar logger$3 = createLogger(\"scheduler\");\nfunction loadAutomations(stashDir) {\n\treturn loadMarkdownTasks(stashDir).map(taskToAutomationConfig);\n}\nasync function executeAutomation(id, akmEnv) {\n\tassertAkmEnvComplete(akmEnv);\n\tconst taskId = id.replace(/\\.(?:ya?ml|md)$/, \"\");\n\treturn new Promise((resolve) => {\n\t\texecFile(\"akm\", [\n\t\t\t\"tasks\",\n\t\t\t\"run\",\n\t\t\ttaskId\n\t\t], { env: {\n\t\t\t...process.env,\n\t\t\t...akmEnv\n\t\t} }, (error, _stdout, stderr) => {\n\t\t\tif (error) {\n\t\t\t\tconst msg = stderr?.trim() || error.message;\n\t\t\t\tlogger$3.warn(\"akm tasks run failed\", {\n\t\t\t\t\tid: taskId,\n\t\t\t\t\terror: msg\n\t\t\t\t});\n\t\t\t\tresolve({\n\t\t\t\t\tok: false,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\terror: msg\n\t\t\t\t});\n\t\t\t} else resolve({\n\t\t\t\tok: true,\n\t\t\t\tstatus: \"completed\"\n\t\t\t});\n\t\t});\n\t});\n}\nfunction readAutomationLogs(id, dataDir, limit = 50) {\n\tconst logDir = join(dataDir, \"akm\", \"cache\", \"tasks\", \"logs\", id.replace(/\\.(?:ya?ml|md)$/, \"\"));\n\tif (!existsSync(logDir)) return [];\n\tconst logFiles = readdirSync(logDir, { withFileTypes: true }).filter((e) => e.isFile() && e.name.endsWith(\".log\")).map((e) => ({\n\t\tname: e.name,\n\t\tpath: join(logDir, e.name)\n\t})).sort((a, b) => b.name.localeCompare(a.name));\n\tconst lines = [];\n\tfor (const { path } of logFiles) {\n\t\tif (lines.length >= limit) break;\n\t\ttry {\n\t\t\tconst fileLines = readFileSync(path, \"utf-8\").split(\"\\n\").filter(Boolean).reverse();\n\t\t\tlines.push(...fileLines.slice(0, limit - lines.length));\n\t\t} catch {}\n\t}\n\treturn lines.slice(0, limit);\n}\n//#endregion\n//#region ../lib/src/control-plane/model-runner.ts\n/**\n* Local provider detection for OpenPalm.\n*\n* Probes well-known endpoints for Docker Model Runner, Ollama, and LM Studio.\n*/\nvar logger$2 = createLogger(\"local-providers\");\n/** Ollama's root endpoint returns \"Ollama is running\" — use this to distinguish from other services on :11434. */\nasync function validateOllamaResponse(res) {\n\ttry {\n\t\tconst body = await res.json();\n\t\treturn body != null && Array.isArray(body.models);\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Parse an OLLAMA_HOST env value into a normalized base URL string, or null if\n* the input is absent/malformed.\n*\n* Accepted forms:\n* - bare port: \"9999\" → \"http://localhost:9999\"\n* - host:port: \"127.0.0.1:9999\" → \"http://127.0.0.1:9999\"\n* - full URL (http/https): \"http://h:9999\" → \"http://h:9999\"\n* - bare hostname: \"localhost\" → \"http://localhost:11434\" (default port)\n*\n* Returns null for empty string, non-numeric bare tokens that aren't valid\n* hostnames, and any other garbage.\n*/\nfunction parseOllamaHostEnv(raw) {\n\tif (!raw || raw.trim() === \"\") return null;\n\tconst s = raw.trim();\n\tif (s.startsWith(\"http://\") || s.startsWith(\"https://\")) try {\n\t\tconst u = new URL(s);\n\t\tif (!u.hostname) return null;\n\t\treturn u.origin;\n\t} catch {\n\t\treturn null;\n\t}\n\tif (/^\\d+$/.test(s)) {\n\t\tconst port = parseInt(s, 10);\n\t\tif (port < 1 || port > 65535) return null;\n\t\treturn `http://localhost:${port}`;\n\t}\n\tconst colonIdx = s.lastIndexOf(\":\");\n\tif (colonIdx > 0) {\n\t\tconst host = s.slice(0, colonIdx);\n\t\tconst portStr = s.slice(colonIdx + 1);\n\t\tif (!/^\\d+$/.test(portStr)) return null;\n\t\tconst port = parseInt(portStr, 10);\n\t\tif (port < 1 || port > 65535) return null;\n\t\tif (/[\\s/]/.test(host)) return null;\n\t\treturn `http://${host}:${port}`;\n\t}\n\tif (/^[a-zA-Z0-9._-]+$/.test(s)) return `http://${s}:11434`;\n\treturn null;\n}\n/**\n* Parse a bare port env value (e.g. LMSTUDIO_PORT, MODEL_RUNNER_PORT) into an\n* integer, or null if absent/malformed.\n*/\nfunction parsePortEnv(raw) {\n\tif (!raw || raw.trim() === \"\") return null;\n\tconst n = parseInt(raw.trim(), 10);\n\tif (!Number.isFinite(n) || n < 1 || n > 65535) return null;\n\treturn n;\n}\n/**\n* Probe timeout in milliseconds.\n*\n* 5 000 ms is chosen to tolerate slow/loaded machines without blocking the\n* caller for too long. Override with OP_LOCAL_PROBE_TIMEOUT_MS (clamped to\n* a floor of 1 000 ms so the env value can't make probes never-timeout).\n*/\nfunction getProbeTimeoutMs() {\n\tconst floor = 1e3;\n\tconst envRaw = process.env[\"OP_LOCAL_PROBE_TIMEOUT_MS\"];\n\tif (envRaw) {\n\t\tconst n = parseInt(envRaw, 10);\n\t\tif (Number.isFinite(n) && n >= floor) return n;\n\t}\n\treturn 5e3;\n}\n/** Build the ordered probe list for model-runner, prepending any env-configured port. */\nfunction buildModelRunnerProbes() {\n\tconst defaults = [\n\t\t{\n\t\t\turl: \"http://model-runner.docker.internal/engines/v1/models\",\n\t\t\tbaseUrl: \"http://model-runner.docker.internal/engines\"\n\t\t},\n\t\t{\n\t\t\turl: \"http://model-runner.docker.internal:12434/engines/v1/models\",\n\t\t\tbaseUrl: \"http://model-runner.docker.internal:12434/engines\"\n\t\t},\n\t\t{\n\t\t\turl: \"http://host.docker.internal:12434/engines/v1/models\",\n\t\t\tbaseUrl: \"http://host.docker.internal:12434/engines\"\n\t\t},\n\t\t{\n\t\t\turl: \"http://localhost:12434/engines/v1/models\",\n\t\t\tbaseUrl: \"http://localhost:12434/engines\"\n\t\t}\n\t];\n\tconst port = parsePortEnv(process.env[\"MODEL_RUNNER_PORT\"]);\n\tif (port !== null) return [{\n\t\turl: `http://localhost:${port}/engines/v1/models`,\n\t\tbaseUrl: `http://localhost:${port}/engines`\n\t}, ...defaults];\n\treturn defaults;\n}\n/** Build the ordered probe list for ollama, prepending any env-configured endpoint. */\nfunction buildOllamaProbes() {\n\tconst defaults = [\n\t\t{\n\t\t\turl: \"http://ollama:11434/api/tags\",\n\t\t\tbaseUrl: \"http://ollama:11434\",\n\t\t\tvalidate: validateOllamaResponse\n\t\t},\n\t\t{\n\t\t\turl: \"http://host.docker.internal:11434/api/tags\",\n\t\t\tbaseUrl: \"http://host.docker.internal:11434\",\n\t\t\tvalidate: validateOllamaResponse\n\t\t},\n\t\t{\n\t\t\turl: \"http://localhost:11434/api/tags\",\n\t\t\tbaseUrl: \"http://localhost:11434\",\n\t\t\tvalidate: validateOllamaResponse\n\t\t}\n\t];\n\tconst base = parseOllamaHostEnv(process.env[\"OLLAMA_HOST\"]);\n\tif (base !== null) return [{\n\t\turl: `${base}/api/tags`,\n\t\tbaseUrl: base,\n\t\tvalidate: validateOllamaResponse\n\t}, ...defaults];\n\treturn defaults;\n}\n/** Build the ordered probe list for lmstudio, prepending any env-configured port. */\nfunction buildLmStudioProbes() {\n\tconst defaults = [{\n\t\turl: \"http://host.docker.internal:1234/v1/models\",\n\t\tbaseUrl: \"http://host.docker.internal:1234\"\n\t}, {\n\t\turl: \"http://localhost:1234/v1/models\",\n\t\tbaseUrl: \"http://localhost:1234\"\n\t}];\n\tconst port = parsePortEnv(process.env[\"LMSTUDIO_PORT\"] ?? process.env[\"LM_STUDIO_PORT\"]);\n\tif (port !== null) return [{\n\t\turl: `http://localhost:${port}/v1/models`,\n\t\tbaseUrl: `http://localhost:${port}`\n\t}, ...defaults];\n\treturn defaults;\n}\n/**\n* Detect all available local providers by probing well-known endpoints.\n* Returns results for all providers (available or not) in parallel.\n*/\nasync function detectLocalProviders() {\n\tconst probeTimeoutMs = getProbeTimeoutMs();\n\tconst providerProbes = [\n\t\t{\n\t\t\tprovider: \"model-runner\",\n\t\t\tprobes: buildModelRunnerProbes()\n\t\t},\n\t\t{\n\t\t\tprovider: \"ollama\",\n\t\t\tprobes: buildOllamaProbes()\n\t\t},\n\t\t{\n\t\t\tprovider: \"lmstudio\",\n\t\t\tprobes: buildLmStudioProbes()\n\t\t}\n\t];\n\treturn await Promise.all(providerProbes.map(async ({ provider, probes }) => {\n\t\tfor (const { url: probeUrl, baseUrl, validate } of probes) try {\n\t\t\tconst res = await fetch(probeUrl, { signal: AbortSignal.timeout(probeTimeoutMs) });\n\t\t\tif (res.ok) {\n\t\t\t\tif (validate) {\n\t\t\t\t\tconst resForValidate = res.clone();\n\t\t\t\t\tif (!await validate(res)) {\n\t\t\t\t\t\tlet bodySnippet = \"(unreadable)\";\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbodySnippet = (await resForValidate.text()).slice(0, 500);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\tlogger$2.debug(\"provider probe response failed validation\", {\n\t\t\t\t\t\t\tprovider,\n\t\t\t\t\t\t\turl: probeUrl,\n\t\t\t\t\t\t\tbodySnippet\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlogger$2.debug(\"detected local provider\", {\n\t\t\t\t\tprovider,\n\t\t\t\t\turl: baseUrl\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\turl: baseUrl,\n\t\t\t\t\tavailable: true\n\t\t\t\t};\n\t\t\t}\n\t\t} catch {}\n\t\treturn {\n\t\t\tprovider,\n\t\t\turl: \"\",\n\t\t\tavailable: false\n\t\t};\n\t}));\n}\n//#endregion\n//#region ../lib/src/control-plane/hardware-detect.ts\nvar logger$1 = createLogger(\"hardware-detect\");\n/** Parse `nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits`. */\nfunction parseNvidiaSmi(stdout) {\n\treturn stdout.split(\"\\n\").map((line) => line.trim()).filter(Boolean).map((line) => {\n\t\tconst idx = line.lastIndexOf(\",\");\n\t\tif (idx === -1) return null;\n\t\tconst name = line.slice(0, idx).trim();\n\t\tconst vramMb = Number.parseInt(line.slice(idx + 1).trim(), 10);\n\t\tif (!name || !Number.isFinite(vramMb)) return null;\n\t\treturn {\n\t\t\tvendor: \"nvidia\",\n\t\t\tname,\n\t\t\tvramMb\n\t\t};\n\t}).filter((g) => g !== null);\n}\n/** Parse `rocm-smi --showmeminfo vram --showproductname --json`. */\nfunction parseRocmSmi(stdout) {\n\tlet doc;\n\ttry {\n\t\tdoc = JSON.parse(stdout);\n\t} catch {\n\t\treturn [];\n\t}\n\tconst out = [];\n\tfor (const card of Object.values(doc)) {\n\t\tif (!card || typeof card !== \"object\") continue;\n\t\tconst vramKey = Object.keys(card).find((k) => /vram total memory/i.test(k));\n\t\tconst nameKey = Object.keys(card).find((k) => /product name|card series|gfx/i.test(k));\n\t\tconst bytes = vramKey ? Number.parseInt(String(card[vramKey]).trim(), 10) : NaN;\n\t\tconst vramMb = Number.isFinite(bytes) ? Math.round(bytes / (1024 * 1024)) : 0;\n\t\tout.push({\n\t\t\tvendor: \"amd\",\n\t\t\tname: nameKey ? String(card[nameKey]).trim() : \"AMD GPU\",\n\t\t\tvramMb\n\t\t});\n\t}\n\treturn out;\n}\n/**\n* Parse `sysctl -n hw.memsize hw.model` (two lines: total bytes, then model id)\n* into an Apple-Silicon GpuInfo. `hw.memsize` is UNIFIED memory shared between\n* CPU and GPU, carried here as vramMb for informational display only — callers\n* must NOT treat it like discrete VRAM (see setup-recommendation). Pure; never throws.\n*/\nfunction parseAppleSilicon(stdout) {\n\tconst lines = stdout.split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\tif (lines.length === 0) return [];\n\tconst bytes = Number.parseInt(lines[0] ?? \"\", 10);\n\tif (!Number.isFinite(bytes) || bytes <= 0) return [];\n\tconst vramMb = Math.round(bytes / (1024 * 1024));\n\treturn [{\n\t\tvendor: \"apple\",\n\t\tname: `Apple Silicon (${lines[1] && lines[1].length > 0 ? lines[1] : \"arm64\"})`,\n\t\tvramMb\n\t}];\n}\nvar GPU_PROBES = [\n\t{\n\t\tvendor: \"nvidia\",\n\t\tcommand: \"nvidia-smi\",\n\t\targs: [\"--query-gpu=name,memory.total\", \"--format=csv,noheader,nounits\"],\n\t\tparse: parseNvidiaSmi\n\t},\n\t{\n\t\tvendor: \"amd\",\n\t\tcommand: \"rocm-smi\",\n\t\targs: [\n\t\t\t\"--showmeminfo\",\n\t\t\t\"vram\",\n\t\t\t\"--showproductname\",\n\t\t\t\"--json\"\n\t\t],\n\t\tparse: parseRocmSmi\n\t},\n\t{\n\t\tvendor: \"apple\",\n\t\tcommand: \"sysctl\",\n\t\targs: [\n\t\t\t\"-n\",\n\t\t\t\"hw.memsize\",\n\t\t\t\"hw.model\"\n\t\t],\n\t\tparse: parseAppleSilicon,\n\t\tenabled: process.platform === \"darwin\" && process.arch === \"arm64\"\n\t}\n];\nfunction run(command, args, timeoutMs = 3e3) {\n\treturn new Promise((resolve) => {\n\t\texecFile(command, args, { timeout: timeoutMs }, (err, stdout) => {\n\t\t\tresolve(err ? null : stdout?.toString() ?? \"\");\n\t\t});\n\t});\n}\n/**\n* Detect the host's best GPU. Returns the highest-VRAM adapter across all probes,\n* or null when none is found. Never throws.\n*/\nasync function detectGpu() {\n\tconst found = [];\n\tawait Promise.all(GPU_PROBES.map(async (probe) => {\n\t\tif (probe.enabled === false) return;\n\t\tconst stdout = await run(probe.command, probe.args);\n\t\tif (stdout === null) return;\n\t\ttry {\n\t\t\tfound.push(...probe.parse(stdout));\n\t\t} catch (error) {\n\t\t\tlogger$1.debug(\"gpu probe parse failed\", {\n\t\t\t\tvendor: probe.vendor,\n\t\t\t\terror: String(error)\n\t\t\t});\n\t\t}\n\t}));\n\tif (found.length === 0) return null;\n\treturn found.reduce((best, g) => g.vramMb > best.vramMb ? g : best);\n}\n/** Ollama hardware-profile variant chosen per GPU vendor. Extend per new vendor. */\nvar VENDOR_PROFILE_VARIANT = {\n\tnvidia: \"cuda\",\n\tamd: \"rocm\",\n\tapple: \"cpu\",\n\tunknown: \"cpu\"\n};\nfunction gpuToProfileVariant(gpu) {\n\treturn VENDOR_PROFILE_VARIANT[gpu.vendor] ?? \"cpu\";\n}\nvar fmtGb = (mb) => (mb / 1024).toFixed(mb % 1024 === 0 ? 0 : 1);\nvar labelHostProviders = (h) => h.map((p) => p.provider).join(\" and \");\n/**\n* Decide what setup should do, given detected providers + hardware.\n*\n* Order (first match wins):\n* 1. cloud provider connected -> use it.\n* 2. host OpenCode has credentials -> steer to import; NEVER auto-enable Ollama.\n* 3. host-local provider running -> add it, proceed.\n* 4. darwin + apple GPU -> guide to HOST Ollama (Metal); never in-stack.\n* 5. capable GPU (>= threshold) -> enable in-stack Ollama.\n* 6. otherwise -> ask the user to connect a provider.\n*/\nfunction recommendSetup(input) {\n\tconst { cloudProviders, hostProviders, gpu } = input;\n\tconst platform = input.platform ?? process.platform;\n\tconst hostCredentialCount = input.hostCredentialCount ?? 0;\n\tif (cloudProviders.length > 0) return {\n\t\taction: \"use-cloud\",\n\t\tcloudProviders\n\t};\n\tif (hostCredentialCount > 0) return {\n\t\taction: \"connect-manually\",\n\t\talert: \"Your host OpenCode installation has configured AI providers. Import them now to use your existing setup — click \\\"Import from host OpenCode\\\" on the Providers step, or connect a provider manually.\"\n\t};\n\tif (hostProviders.length > 0) return {\n\t\taction: \"use-host-providers\",\n\t\thostProviders,\n\t\talert: `No cloud AI provider was detected, but ${labelHostProviders(hostProviders)} ${hostProviders.length > 1 ? \"are\" : \"is\"} running on your computer — added automatically. Pick your models on the next step.`\n\t};\n\tif (platform === \"darwin\" && gpu && gpu.vendor === \"apple\") return {\n\t\taction: \"connect-manually\",\n\t\talert: \"No AI provider was detected. On macOS, fast local models need Ollama running natively (it uses your Apple Silicon / Metal GPU) — the bundled in-stack Ollama runs in Linux and cannot reach Metal. Install Ollama for macOS (https://ollama.com/download), or connect a provider on the next step.\"\n\t};\n\tif (gpu && gpu.vramMb >= 8192) return {\n\t\taction: \"enable-ollama\",\n\t\tprofileVariant: gpuToProfileVariant(gpu),\n\t\tgpu,\n\t\talert: `No AI provider was detected, but a capable GPU was found (${gpu.name}, ${fmtGb(gpu.vramMb)} GB). Local models via Ollama have been enabled for you.`\n\t};\n\treturn {\n\t\taction: \"connect-manually\",\n\t\talert: \"No AI provider was detected and no GPU with enough memory for local models was found. Connect a provider to continue — sign in to a provider on the next step, or add a custom OpenAI-compatible endpoint and key.\"\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/voice-env.ts\nvar OPENPALM_VOICE_TTS_MODEL = \"kokoro\";\nvar OPENPALM_VOICE_STT_MODEL = \"whisper-1\";\nvar OPENPALM_VOICE_DEFAULT_VOICE = \"bf_isabella\";\nfunction openpalmVoiceBaseURL() {\n\tconst raw = (process.env.OP_VOICE_PORT_HOST ?? \"\").trim();\n\tconst n = raw ? Number(raw) : NaN;\n\treturn `http://127.0.0.1:${Number.isFinite(n) && n > 0 ? n : 8880}`;\n}\nfunction applyOpenPalmVoicePreset(section, kind) {\n\tif (section.engine !== \"openpalm-voice\") return;\n\tif (!section.baseURL?.trim()) section.baseURL = openpalmVoiceBaseURL();\n\tif (!section.model?.trim()) section.model = kind === \"tts\" ? OPENPALM_VOICE_TTS_MODEL : OPENPALM_VOICE_STT_MODEL;\n\tif (kind === \"tts\" && !section.voice?.trim()) section.voice = OPENPALM_VOICE_DEFAULT_VOICE;\n}\nfunction writeVoiceVars(config, stackDir) {\n\tconst stackEnvPath = stackEnvPathFromStackDir(stackDir);\n\tconst base = existsSync(stackEnvPath) ? readFileSync(stackEnvPath, \"utf-8\") : \"\";\n\tconst vars = {};\n\tconst tts = config.tts ? { ...config.tts } : void 0;\n\tconst stt = config.stt ? { ...config.stt } : void 0;\n\tif (tts) applyOpenPalmVoicePreset(tts, \"tts\");\n\tif (stt) applyOpenPalmVoicePreset(stt, \"stt\");\n\tif (tts?.enabled !== false) {\n\t\tif (tts?.engine) vars.OP_TTS_ENGINE = tts.engine;\n\t\tif (tts?.provider) vars.OP_TTS_PROVIDER = tts.provider;\n\t\tif (tts?.baseURL) vars.OP_TTS_BASE_URL = tts.baseURL;\n\t\tif (tts?.model) vars.OP_TTS_MODEL = tts.model;\n\t\tif (tts?.voice) vars.OP_TTS_VOICE = tts.voice;\n\t}\n\tif (stt?.enabled !== false) {\n\t\tif (stt?.engine) vars.OP_STT_ENGINE = stt.engine;\n\t\tif (stt?.provider) vars.OP_STT_PROVIDER = stt.provider;\n\t\tif (stt?.baseURL) vars.OP_STT_BASE_URL = stt.baseURL;\n\t\tif (stt?.model) vars.OP_STT_MODEL = stt.model;\n\t\tif (stt?.language) vars.OP_STT_LANGUAGE = stt.language;\n\t}\n\tif (Object.keys(vars).length === 0) return;\n\tassertNoSecretLikeStackEnvKeys(vars);\n\tlet content = mergeEnvContent(base, vars, { sectionHeader: \"# ── Voice Channel (TTS/STT) ──────────────────────────────────────────\" });\n\tif (!content.endsWith(\"\\n\")) content += \"\\n\";\n\tmkdirSync(dirname(stackEnvPath), {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\twriteFileSync(stackEnvPath, content, { mode: 384 });\n}\n//#endregion\n//#region ../lib/src/control-plane/setup-validation.ts\n/**\n* Validation logic for SetupSpec inputs.\n*/\nvar CAPABILITY_ID_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;\nfunction requireObj(val, msg, errors) {\n\tif (typeof val !== \"object\" || val === null) {\n\t\terrors.push(msg);\n\t\treturn null;\n\t}\n\treturn val;\n}\nfunction requireStr(obj, key, msg, errors) {\n\tif (typeof obj[key] !== \"string\" || !obj[key]) {\n\t\terrors.push(msg);\n\t\treturn false;\n\t}\n\treturn true;\n}\nfunction validateSetupSpec(input) {\n\tconst errors = [];\n\tconst body = requireObj(input, \"Input must be a non-null object\", errors);\n\tif (!body) return {\n\t\tvalid: false,\n\t\terrors\n\t};\n\tif (body.version !== 2) errors.push(\"version must be 2\");\n\tvalidateSecurity(body, errors);\n\tvalidateOwner(body, errors);\n\tvalidateConnectionsArray(body.connections, errors);\n\tvalidateLlm(body, errors);\n\tvalidateEmbedding(body, errors);\n\tif (body.portalCredentials !== void 0 && (typeof body.portalCredentials !== \"object\" || body.portalCredentials === null)) errors.push(\"portalCredentials must be an object if provided\");\n\treturn {\n\t\tvalid: errors.length === 0,\n\t\terrors\n\t};\n}\nfunction validateSecurity(body, errors) {\n\tconst security = requireObj(body.security, \"security object is required\", errors);\n\tif (!security) return;\n\tif (!requireStr(security, \"uiLoginPassword\", \"security.uiLoginPassword is required and must be a non-empty string\", errors)) return;\n\tif (security.uiLoginPassword.length < 8) errors.push(\"security.uiLoginPassword must be at least 8 characters\");\n}\nfunction validateOwner(body, errors) {\n\tconst owner = body.owner;\n\tif (!owner) return;\n\tif (owner.name !== void 0 && typeof owner.name !== \"string\") errors.push(\"owner.name must be a string\");\n\tif (owner.email !== void 0 && typeof owner.email !== \"string\") errors.push(\"owner.email must be a string\");\n}\nfunction validateLlm(body, errors) {\n\tif (body.llm === void 0) return;\n\tconst llm = requireObj(body.llm, \"llm must be an object if provided\", errors);\n\tif (!llm) return;\n\trequireStr(llm, \"provider\", \"llm.provider is required\", errors);\n\trequireStr(llm, \"model\", \"llm.model is required\", errors);\n\tif (llm.baseUrl !== void 0 && typeof llm.baseUrl !== \"string\") errors.push(\"llm.baseUrl must be a string\");\n}\nfunction validateEmbedding(body, errors) {\n\tif (body.embedding === void 0) return;\n\tconst emb = requireObj(body.embedding, \"embedding must be an object if provided\", errors);\n\tif (!emb) return;\n\trequireStr(emb, \"provider\", \"embedding.provider is required\", errors);\n\trequireStr(emb, \"model\", \"embedding.model is required\", errors);\n\tif (emb.dims !== void 0 && (typeof emb.dims !== \"number\" || !Number.isInteger(emb.dims) || emb.dims < 1)) errors.push(\"embedding.dims must be a positive integer\");\n}\nfunction validateConnectionsArray(connections, errors) {\n\tif (!Array.isArray(connections)) {\n\t\terrors.push(\"connections must be an array\");\n\t\treturn;\n\t}\n\tconst seenIds = /* @__PURE__ */ new Set();\n\tfor (let i = 0; i < connections.length; i++) {\n\t\tconst c = connections[i];\n\t\tif (typeof c !== \"object\" || c === null) {\n\t\t\terrors.push(`connections[${i}] must be an object`);\n\t\t\tcontinue;\n\t\t}\n\t\tconst cap = c;\n\t\tconst id = typeof cap.id === \"string\" ? cap.id.trim() : \"\";\n\t\tconst provider = typeof cap.provider === \"string\" ? cap.provider.trim() : \"\";\n\t\tconst name = typeof cap.name === \"string\" ? cap.name.trim() : \"\";\n\t\tif (!id) errors.push(`connections[${i}].id is required`);\n\t\telse if (!CAPABILITY_ID_RE.test(id)) errors.push(`connections[${i}].id must start with a letter or digit (allowed: A-Z, a-z, 0-9, _, -)`);\n\t\telse if (seenIds.has(id)) errors.push(`Duplicate capability ID: ${id}`);\n\t\telse seenIds.add(id);\n\t\tif (!name) errors.push(`connections[${i}].name is required`);\n\t\tif (!provider) errors.push(`connections[${i}].provider is required`);\n\t}\n}\n//#endregion\n//#region ../lib/src/control-plane/setup.ts\n/**\n* Shared setup orchestration for the OpenPalm control plane.\n*\n* Both the CLI setup wizard and the admin UI call `performSetup()`.\n* This module does NOT include Docker operations (compose up, image pull, etc.)\n* — those happen separately in the caller after setup completes.\n*/\nvar logger = createLogger(\"setup\");\n/**\n* Build the non-secret stack.env update payload from a setup spec.\n* Extracts owner name/email into OP_OWNER_* env vars.\n*/\nfunction buildOwnerEnvFromSetup(owner) {\n\tconst updates = {};\n\tconst ownerName = (owner?.name?.trim() ?? \"\").replace(/[\\r\\n\\0]/g, \"\").slice(0, 200);\n\tconst ownerEmail = (owner?.email?.trim() ?? \"\").replace(/[\\r\\n\\0]/g, \"\").slice(0, 200);\n\tif (ownerName) updates.OP_OWNER_NAME = ownerName;\n\tif (ownerEmail) updates.OP_OWNER_EMAIL = ownerEmail;\n\treturn updates;\n}\n/**\n* Build the auth.json payload from a setup spec. Returns a record of\n* `{ providerId: apiKey }` ready to feed into writeAuthJsonProviderKeys.\n* Pulls keys from the spec first, falling back to the host process\n* environment for the canonical env var name (e.g. OPENAI_API_KEY for\n* provider \"openai\") so operators can preload keys via env before\n* running the wizard.\n*/\nfunction buildAuthJsonFromSetup(connections) {\n\tconst keys = {};\n\tfor (const cap of connections) {\n\t\tconst envVar = PROVIDER_KEY_MAP[cap.provider];\n\t\tconst key = cap.apiKey || (envVar ? process.env[envVar] : void 0) || \"\";\n\t\tif (key) keys[cap.provider] = key;\n\t}\n\treturn keys;\n}\nvar PORTAL_CREDENTIAL_ENV_MAP = {\n\tdiscord: {\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},\n\tslack: {\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}\n};\nfunction buildPortalCredentialEnvVars(portalCredentials) {\n\tconst envVars = {};\n\tfor (const [portalId, creds] of Object.entries(portalCredentials)) {\n\t\tconst mapping = PORTAL_CREDENTIAL_ENV_MAP[portalId];\n\t\tif (!mapping) continue;\n\t\tfor (const [field, envKey] of Object.entries(mapping)) {\n\t\t\tconst val = creds[field];\n\t\t\tif (typeof val === \"string\" && val) envVars[envKey] = val;\n\t\t}\n\t}\n\treturn envVars;\n}\nasync function performSetup(input, opts) {\n\tconst validation = validateSetupSpec(input);\n\tif (!validation.valid) return {\n\t\tok: false,\n\t\terror: validation.errors.join(\"; \")\n\t};\n\tconst { llm, embedding, tts, stt, security, owner, connections, portalCredentials, addons, voiceProfile, ollamaProfile, imageTag, hostAkm } = input;\n\tconst state = opts?.state ?? createState();\n\tinitializeStateSecrets(state);\n\tconst lockHandle = acquireInstallLock(state.dataDir);\n\tif (lockHandle === null) return {\n\t\tok: false,\n\t\terror: \"install_in_progress: Another install is in progress. Wait for it to finish (the lock clears itself automatically after 30 minutes). If you're sure nothing is running, run 'openpalm unlock' to clear a stale lock.\"\n\t};\n\tlogger.info(\"performing setup\", { connectionCount: connections.length });\n\tconst updates = buildOwnerEnvFromSetup(owner);\n\tconst providerKeys = buildAuthJsonFromSetup(connections);\n\ttry {\n\t\ttry {\n\t\t\tensureHomeDirs();\n\t\t\tensureSecrets(state);\n\t\t\tconst portalSecretUpdates = portalCredentials ? buildPortalCredentialEnvVars(portalCredentials) : {};\n\t\t\tfor (const mapping of Object.values(PORTAL_CREDENTIAL_ENV_MAP)) for (const envKey of Object.values(mapping)) if (!portalSecretUpdates[envKey] && process.env[envKey]) portalSecretUpdates[envKey] = process.env[envKey];\n\t\t\tupdateSecretsEnv(state, updates);\n\t\t\tupdateSecretsEnv(state, portalSecretUpdates);\n\t\t\tpatchSecretsEnvFile(state.stackDir, { OP_UI_LOGIN_PASSWORD: security.uiLoginPassword });\n\t\t\twriteAuthJsonProviderKeys(state, providerKeys);\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"failed to persist setup outputs\", { error: message });\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: `Failed to persist setup outputs: ${message}`\n\t\t\t};\n\t\t}\n\t\ttry {\n\t\t\tconst systemEnvForAkm = existsSync(`${state.stashDir}/env/stack.env`) ? readFileSync(`${state.stashDir}/env/stack.env`, \"utf-8\") : \"\";\n\t\t\tconst akmUpdates = {};\n\t\t\tconst requestedTag = imageTag && imageTag.trim() ? imageTag.trim() : \"latest\";\n\t\t\tfor (const key of SERVICE_VERSION_KEYS) akmUpdates[key] = requestedTag;\n\t\t\tif (Object.keys(akmUpdates).length > 0) writeFileAtomic(`${state.stashDir}/env/stack.env`, mergeEnvContent(systemEnvForAkm, akmUpdates), 384);\n\t\t\tif (llm || embedding) {\n\t\t\t\tconst akmConfigDir = join(state.configDir, \"akm\");\n\t\t\t\tmkdirSync(akmConfigDir, { recursive: true });\n\t\t\t\tconst akmConfigPath = join(akmConfigDir, \"config.json\");\n\t\t\t\tlet existing = {};\n\t\t\t\tif (existsSync(akmConfigPath)) try {\n\t\t\t\t\texisting = JSON.parse(readFileSync(akmConfigPath, \"utf-8\"));\n\t\t\t\t} catch {}\n\t\t\t\tconst updated = { ...existing };\n\t\t\t\tif (llm) {\n\t\t\t\t\tconst profiles = updated.profiles ?? {};\n\t\t\t\t\tconst llmProfiles = profiles.llm ?? {};\n\t\t\t\t\tllmProfiles.default = {\n\t\t\t\t\t\t...llmProfiles.default ?? {},\n\t\t\t\t\t\tendpoint: buildAkmEndpoint(llm.provider, llm.baseUrl, \"/chat/completions\"),\n\t\t\t\t\t\tmodel: llm.model,\n\t\t\t\t\t\tprovider: llm.provider\n\t\t\t\t\t};\n\t\t\t\t\tprofiles.llm = llmProfiles;\n\t\t\t\t\tupdated.profiles = profiles;\n\t\t\t\t\tconst defaults = updated.defaults ?? {};\n\t\t\t\t\tif (typeof defaults.llm !== \"string\") defaults.llm = \"default\";\n\t\t\t\t\tupdated.defaults = defaults;\n\t\t\t\t\tdelete updated.llm;\n\t\t\t\t}\n\t\t\t\tif (embedding) updated.embedding = {\n\t\t\t\t\t...existing.embedding ?? {},\n\t\t\t\t\tendpoint: buildAkmEndpoint(embedding.provider, embedding.baseUrl, \"/embeddings\"),\n\t\t\t\t\tmodel: embedding.model,\n\t\t\t\t\tprovider: embedding.provider,\n\t\t\t\t\tdimension: embedding.dims\n\t\t\t\t};\n\t\t\t\tupdated.stashDir = \"/stash\";\n\t\t\t\twriteFileAtomic(akmConfigPath, JSON.stringify(updated, null, 2), 384);\n\t\t\t}\n\t\t\taddHostStashToOpenpalmConfig(state);\n\t\t\tif (hostAkm !== false) {\n\t\t\t\tconst { profilesImported } = enableHostAkmSharing(state);\n\t\t\t\tlogger.info(\"host akm sharing enabled during setup\", { profilesImported });\n\t\t\t} else disableHostAkmSharing(state);\n\t\t\tif (tts || stt) writeVoiceVars({\n\t\t\t\ttts,\n\t\t\t\tstt\n\t\t\t}, state.stackDir);\n\t\t\tif (addons) {\n\t\t\t\tfor (const [name, enabled] of Object.entries(addons)) if (enabled) setAddonEnabled(state.homeDir, state.stackDir, name, true, state);\n\t\t\t}\n\t\t\tif (voiceProfile?.trim()) setAddonProfileSelection(state.stackDir, \"voice\", voiceProfile.trim());\n\t\t\tif (ollamaProfile?.trim()) setAddonProfileSelection(state.stackDir, \"ollama\", ollamaProfile.trim());\n\t\t\tensureOpenCodeConfig();\n\t\t\tconst tasksDir = join(state.stashDir, \"tasks\");\n\t\t\tmkdirSync(tasksDir, { recursive: true });\n\t\t\tconst akmImproveDest = join(tasksDir, \"akm-improve.yml\");\n\t\t\tif (!existsSync(akmImproveDest)) {\n\t\t\t\tconst akmImproveTask = getRegistryAutomation(\"akm-improve\");\n\t\t\t\tif (akmImproveTask) {\n\t\t\t\t\twriteFileSync(akmImproveDest, akmImproveTask);\n\t\t\t\t\tlogger.info(\"seeded default automation\", { name: \"akm-improve\" });\n\t\t\t\t} else logger.warn(\"default automation missing from registry; skipping seed\", { name: \"akm-improve\" });\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"failed to complete setup persistence\", { error: message });\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: `Setup persistence failed: ${message}`\n\t\t\t};\n\t\t}\n\t\tlogger.info(\"setup complete\", { connectionCount: connections.length });\n\t\treturn { ok: true };\n\t} finally {\n\t\treleaseInstallLock(lockHandle);\n\t}\n}\n//#endregion\n//#region ../lib/src/control-plane/host-opencode.ts\n/**\n* Host OpenCode detection and import.\n*\n* Reads the host user's existing OpenCode installation (XDG standard paths)\n* and provides a one-shot import into OP_HOME.\n*\n* Linux only — macOS/Windows paths are documented but not implemented here;\n* extend behind the same API contract in a follow-up.\n*\n* Security:\n* - auth.json is copied byte-for-byte and chmodded 0o600. Its contents\n* are never parsed, logged, or returned to callers.\n* - opencode.json is parsed to strip plugin/mcp/permission keys before\n* writing; provider definitions are always kept, and top-level model\n* defaults are imported only when OP_HOME does not already define them.\n* - Conflict detection compares provider IDs; existing credentials are\n* preserved unless overwriteConflicts=true.\n*/\nfunction xdgConfigHome() {\n\treturn process.env.XDG_CONFIG_HOME ?? `${homedir()}/.config`;\n}\nfunction xdgDataHome() {\n\treturn process.env.XDG_DATA_HOME ?? `${homedir()}/.local/share`;\n}\n/** ~/.config/opencode/opencode.json */\nfunction hostConfigJsonPath() {\n\treturn `${xdgConfigHome()}/opencode/opencode.json`;\n}\n/** ~/.local/share/opencode/auth.json */\nfunction hostAuthJsonPath() {\n\treturn `${xdgDataHome()}/opencode/auth.json`;\n}\n/** Keys that are safe to import from host opencode.json into OP_HOME config. */\nvar ALLOWED_CONFIG_KEYS = new Set([\n\t\"$schema\",\n\t\"provider\",\n\t\"model\",\n\t\"small_model\",\n\t\"disabled_providers\"\n]);\nfunction readJsonFileSafe(path) {\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction stripDisallowedKeys(obj) {\n\tconst next = {};\n\tif (typeof obj.$schema === \"string\") next.$schema = obj.$schema;\n\tif (obj.provider && typeof obj.provider === \"object\" && !Array.isArray(obj.provider)) next.provider = obj.provider;\n\tif (typeof obj.model === \"string\") next.model = obj.model;\n\tif (typeof obj.small_model === \"string\") next.small_model = obj.small_model;\n\tif (Array.isArray(obj.disabled_providers) && obj.disabled_providers.every((entry) => typeof entry === \"string\")) next.disabled_providers = obj.disabled_providers;\n\treturn Object.fromEntries(Object.entries(next).filter(([k]) => ALLOWED_CONFIG_KEYS.has(k)));\n}\nfunction countProviders(obj) {\n\tconst provider = obj.provider;\n\tif (!provider || typeof provider !== \"object\" || Array.isArray(provider)) return 0;\n\treturn Object.keys(provider).length;\n}\nfunction countCredentials(path) {\n\tconst raw = readJsonFileSafe(path);\n\tif (!raw) return 0;\n\treturn Object.keys(raw).length;\n}\n/**\n* Detect whether a host OpenCode installation is present.\n* Never returns credential values — only counts.\n*/\nfunction detectHostOpenCode() {\n\tconst configPath = hostConfigJsonPath();\n\tconst authPath = hostAuthJsonPath();\n\tconst configExists = existsSync(configPath);\n\tconst authExists = existsSync(authPath);\n\tif (!configExists && !authExists) return {\n\t\tproviderCount: 0,\n\t\tcredentialCount: 0\n\t};\n\tlet providerCount = 0;\n\tlet modelPreferences;\n\tif (configExists) {\n\t\tconst parsed = readJsonFileSafe(configPath);\n\t\tproviderCount = parsed ? countProviders(parsed) : 0;\n\t\tif (parsed) {\n\t\t\tconst prefs = {};\n\t\t\tif (typeof parsed.model === \"string\" && parsed.model) prefs.model = parsed.model;\n\t\t\tif (typeof parsed.small_model === \"string\" && parsed.small_model) prefs.small_model = parsed.small_model;\n\t\t\tif (prefs.model || prefs.small_model) modelPreferences = prefs;\n\t\t}\n\t}\n\tlet credentialCount = 0;\n\tif (authExists) credentialCount = countCredentials(authPath);\n\treturn {\n\t\tconfigPath: configExists ? configPath : void 0,\n\t\tauthPath: authExists ? authPath : void 0,\n\t\tproviderCount,\n\t\tcredentialCount,\n\t\t...modelPreferences ? { modelPreferences } : {}\n\t};\n}\n/**\n* Import host OpenCode config + auth into OP_HOME.\n*\n* - Strips plugin/mcp/permission keys from opencode.json before writing.\n* - Copies auth.json byte-for-byte and chmods it to 0o600.\n* - On conflict: existing OP_HOME provider entries are preserved unless\n* overwriteConflicts is true.\n*\n* @param state ControlPlaneState (for OP_HOME path resolution)\n* @param overwriteConflicts When true, host providers replace existing ones\n*/\nfunction importHostOpenCode(state, options = {}) {\n\tconst { overwriteConflicts = false } = options;\n\tconst status = detectHostOpenCode();\n\tlet importedProviders = 0;\n\tlet importedCredentials = 0;\n\tconst conflicts = [];\n\tif (status.configPath) {\n\t\tconst hostConfig = readJsonFileSafe(status.configPath);\n\t\tif (hostConfig) {\n\t\t\tconst sanitized = stripDisallowedKeys(hostConfig);\n\t\t\tconst destDir = assistantConfigDir(state);\n\t\t\tconst destPath = `${destDir}/opencode.json`;\n\t\t\tmkdirSync(destDir, { recursive: true });\n\t\t\tconst existing = existsSync(destPath) ? readJsonFileSafe(destPath) ?? {} : {};\n\t\t\tconst existingProviders = existing.provider ?? {};\n\t\t\tconst hostProviders = sanitized.provider ?? {};\n\t\t\tconst mergedProviders = { ...existingProviders };\n\t\t\tfor (const [id, entry] of Object.entries(hostProviders)) if (Object.prototype.hasOwnProperty.call(existingProviders, id) && !overwriteConflicts) conflicts.push(id);\n\t\t\telse {\n\t\t\t\tmergedProviders[id] = entry;\n\t\t\t\timportedProviders++;\n\t\t\t}\n\t\t\tconst merged = {\n\t\t\t\t...existing,\n\t\t\t\t...typeof existing.$schema === \"undefined\" && typeof sanitized.$schema !== \"undefined\" ? { $schema: sanitized.$schema } : {},\n\t\t\t\t...Object.keys(mergedProviders).length > 0 ? { provider: mergedProviders } : {}\n\t\t\t};\n\t\t\tfor (const key of [\n\t\t\t\t\"model\",\n\t\t\t\t\"small_model\",\n\t\t\t\t\"disabled_providers\"\n\t\t\t]) if (typeof merged[key] === \"undefined\" && typeof sanitized[key] !== \"undefined\") merged[key] = sanitized[key];\n\t\t\twriteFileSync(destPath, JSON.stringify(merged, null, 2) + \"\\n\");\n\t\t}\n\t}\n\tif (status.authPath) {\n\t\tconst destPath = authJsonPath(state);\n\t\tmkdirSync(dirname(destPath), {\n\t\t\trecursive: true,\n\t\t\tmode: 448\n\t\t});\n\t\tif (existsSync(destPath) && !overwriteConflicts) {\n\t\t\tconst hostAuth = readJsonFileSafe(status.authPath) ?? {};\n\t\t\tconst existingAuth = readJsonFileSafe(destPath) ?? {};\n\t\t\tconst merged = { ...existingAuth };\n\t\t\tfor (const [id, value] of Object.entries(hostAuth)) {\n\t\t\t\tif (id === \"anthropic\") continue;\n\t\t\t\tif (!Object.prototype.hasOwnProperty.call(existingAuth, id)) {\n\t\t\t\t\tmerged[id] = value;\n\t\t\t\t\timportedCredentials++;\n\t\t\t\t}\n\t\t\t}\n\t\t\twriteFileSync(destPath, JSON.stringify(merged, null, 2) + \"\\n\");\n\t\t} else {\n\t\t\tconst hostAuth = readJsonFileSafe(status.authPath) ?? {};\n\t\t\tconst filtered = {};\n\t\t\tfor (const [id, value] of Object.entries(hostAuth)) {\n\t\t\t\tif (id === \"anthropic\") continue;\n\t\t\t\tfiltered[id] = value;\n\t\t\t\timportedCredentials++;\n\t\t\t}\n\t\t\twriteFileSync(destPath, JSON.stringify(filtered, null, 2) + \"\\n\");\n\t\t}\n\t\ttry {\n\t\t\tchmodSync(destPath, 384);\n\t\t} catch {}\n\t}\n\treturn {\n\t\timported: {\n\t\t\tproviders: importedProviders,\n\t\t\tcredentials: importedCredentials\n\t\t},\n\t\tconflicts\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/assistant-akm.ts\nfunction looksMissing(stderr, exitCode) {\n\treturn exitCode === 127 || /executable file not found|no such file|not found/i.test(stderr);\n}\nasync function runAssistantAkmCommand(state, args, timeoutMs, options = {}) {\n\tconst result = await composeExec(\"assistant\", [\"akm\", ...args], {\n\t\t...buildComposeOptions(state),\n\t\ttimeoutMs\n\t});\n\tconst allowed = (options.allowExitCodes ?? []).includes(result.code);\n\treturn {\n\t\tok: result.ok || allowed,\n\t\tstdout: result.stdout,\n\t\tstderr: result.stderr,\n\t\texitCode: result.code,\n\t\tmissing: looksMissing(result.stderr, result.code)\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/akm-stats.ts\nfunction asRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : null;\n}\nfunction asArray(value) {\n\treturn Array.isArray(value) ? value : [];\n}\nfunction asString(value) {\n\treturn typeof value === \"string\" && value.trim() ? value : null;\n}\nfunction asNumber(value) {\n\treturn typeof value === \"number\" && Number.isFinite(value) ? value : null;\n}\nfunction asBoolean(value) {\n\treturn typeof value === \"boolean\" ? value : null;\n}\nfunction parseJsonObject(stdout) {\n\ttry {\n\t\treturn asRecord(JSON.parse(stdout));\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction runAkmJsonCommand(state, args, timeoutMs, options = {}) {\n\treturn runAssistantAkmCommand(state, [\n\t\t...args,\n\t\t\"--format\",\n\t\t\"json\",\n\t\t\"--quiet\"\n\t], timeoutMs, options);\n}\nfunction readAssetCount(info, type) {\n\tif (!info) return null;\n\tconst candidates = [\n\t\tasRecord(info.assetCounts),\n\t\tasRecord(info.assetTypeCounts),\n\t\tasRecord(info.assetsByType),\n\t\tasRecord(info.counts)\n\t];\n\tfor (const candidate of candidates) {\n\t\tconst value = asNumber(candidate?.[type]);\n\t\tif (value !== null) return value;\n\t}\n\treturn null;\n}\nfunction advisoryMessage(value) {\n\tif (typeof value === \"string\" && value.trim()) return value.trim();\n\tconst record = asRecord(value);\n\tif (!record) return null;\n\treturn asString(record.message) ?? asString(record.name);\n}\nfunction parseAkmStats(healthStdout, infoStdout, proposalsStdout) {\n\tconst health = parseJsonObject(healthStdout);\n\tconst info = parseJsonObject(infoStdout);\n\tconst proposalsPayload = parseJsonObject(proposalsStdout);\n\tif (!health && !info) return {\n\t\tavailable: false,\n\t\treason: \"AKM stats unavailable on this host.\"\n\t};\n\tconst indexStats = asRecord(info?.indexStats);\n\tconst improve = asRecord(health?.improve);\n\tconst reflect = asRecord(improve?.reflect);\n\tconst consolidation = asRecord(improve?.consolidation);\n\tconst proposals = asArray(proposalsPayload?.proposals).map((entry) => asRecord(entry)).filter((entry) => entry !== null).map((entry) => ({\n\t\tref: asString(entry.ref),\n\t\tgenerator: asString(entry.generator) ?? asString(entry.source),\n\t\tcreatedAt: asString(entry.createdAt),\n\t\tstatus: asString(entry.status)\n\t}));\n\tconst rawStatus = asString(health?.status)?.toLowerCase();\n\tconst status = rawStatus === \"pass\" || rawStatus === \"ok\" ? \"pass\" : rawStatus === \"warn\" ? \"warn\" : \"unknown\";\n\treturn {\n\t\tavailable: true,\n\t\tversion: asString(info?.version),\n\t\thealth: {\n\t\t\tstatus,\n\t\t\tadvisories: asArray(health?.advisories).map((entry) => advisoryMessage(entry)).filter((entry) => entry !== null)\n\t\t},\n\t\tindex: {\n\t\t\tentryCount: asNumber(indexStats?.entryCount),\n\t\t\tlastBuiltAt: asString(indexStats?.lastBuiltAt),\n\t\t\thasEmbeddings: asBoolean(indexStats?.hasEmbeddings),\n\t\t\tvecAvailable: asBoolean(indexStats?.vecAvailable)\n\t\t},\n\t\tassetCounts: {\n\t\t\tmemory: readAssetCount(info, \"memory\"),\n\t\t\tskill: readAssetCount(info, \"skill\"),\n\t\t\tlesson: readAssetCount(info, \"lesson\")\n\t\t},\n\t\timprove: {\n\t\t\tinvoked: asNumber(improve?.invoked),\n\t\t\tcompleted: asNumber(improve?.completed),\n\t\t\tskipped: asNumber(improve?.skipped),\n\t\t\treflectOk: asNumber(reflect?.ok),\n\t\t\treflectCooldown: asNumber(reflect?.cooldown),\n\t\t\tconsolidation: {\n\t\t\t\tpromoted: asNumber(consolidation?.promoted),\n\t\t\t\tmerged: asNumber(consolidation?.merged),\n\t\t\t\tdeleted: asNumber(consolidation?.deleted)\n\t\t\t}\n\t\t},\n\t\tproposals: {\n\t\t\tpending: proposals.length,\n\t\t\titems: proposals\n\t\t}\n\t};\n}\nasync function getAkmStats(state) {\n\tconst [healthResult, infoResult, proposalsResult] = await Promise.all([\n\t\trunAkmJsonCommand(state, [\"health\"], 8e3, { allowExitCodes: [4] }),\n\t\trunAkmJsonCommand(state, [\"info\"], 8e3),\n\t\trunAkmJsonCommand(state, [\n\t\t\t\"proposal\",\n\t\t\t\"list\",\n\t\t\t\"--status\",\n\t\t\t\"pending\"\n\t\t], 12e3)\n\t]);\n\tif (healthResult.missing || infoResult.missing) return {\n\t\tavailable: false,\n\t\treason: \"The assistant AKM CLI is not available.\"\n\t};\n\treturn parseAkmStats(healthResult.stdout, infoResult.stdout, proposalsResult.stdout);\n}\n//#endregion\n//#region ../lib/src/control-plane/bind-warning.ts\n/**\n* Startup warning for non-loopback bind addresses.\n*\n* When OP_BIND_ADDRESS is set to a non-loopback value (anything other than\n* 127.0.0.1, localhost, or ::1), services are exposed on the host network\n* interface. This helper produces a structured list of warning lines that\n* callers should log at WARN level so operators are aware.\n*\n* Per-service overrides (e.g. OP_CHAT_BIND_ADDRESS, OP_VOICE_BIND_ADDRESS)\n* are also checked and reported individually.\n*/\n/** Known per-service bind address env var names (mirrors compose files). */\nvar PER_SERVICE_BIND_VARS = [\n\t\"OP_ASSISTANT_BIND_ADDRESS\",\n\t\"OP_CHAT_BIND_ADDRESS\",\n\t\"OP_API_BIND_ADDRESS\",\n\t\"OP_VOICE_BIND_ADDRESS\"\n];\nfunction isLoopback(value) {\n\tconst v = value.trim();\n\treturn v === \"127.0.0.1\" || v === \"localhost\" || v === \"::1\";\n}\n/**\n* Inspect `env` for non-loopback bind address settings and return one warning\n* line per problematic variable. Returns an empty array when everything is\n* loopback (or unset, since the compose default is 127.0.0.1).\n*\n* @param env - The environment to inspect; typically `process.env`.\n*/\nfunction collectBindAddressWarnings(env) {\n\tconst warnings = [];\n\tconst globalBind = env[\"OP_BIND_ADDRESS\"];\n\tif (globalBind && !isLoopback(globalBind)) warnings.push(`OP_BIND_ADDRESS is set to \"${globalBind}\" — services will be exposed on the host network interface, not just loopback. Ensure a firewall is in place if this host is reachable from untrusted networks.`);\n\tfor (const key of PER_SERVICE_BIND_VARS) {\n\t\tconst val = env[key];\n\t\tif (val && !isLoopback(val)) warnings.push(`${key} is set to \"${val}\" — this service will be exposed on the host network interface.`);\n\t}\n\treturn warnings;\n}\n//#endregion\nexport { composePreflight as $, resolveDataDir as $t, readDeployJournal as A, resolveRuntimeFiles as At, buildManagedServices as B, readStackRuntimeEnv as Bt, getHostAkmSharingStatus as C, listAvailableAddonIds as Ct, isAllowedService as D, addonProfileId as Dt, fetchProviderModels as E, setAddonProfileSelection as Et, summarizeComposeStderr as F, writeVersions as Ft, classifyLocalInstall as G, readSecret as Gt, initializeStateSecrets as H, writeStackSecretEnv as Ht, buildComposeOptions as I, ensureOpenCodeConfig as It, detectRuntime as J, writeSecretFile as Jt, deriveLaunchStatus as K, readSecretFile as Kt, applyInstall as L, ensureSecrets as Lt, runDeploy as M, DOCKER_IMAGE_NAMES as Mt, mapDockerError as N, SERVICE_VERSION_KEYS as Nt, backupSetupInputs as O, dismissSecretStripNotice as Ot, parseComposeStderr as P, readVersions as Pt, composeLogs as Q, ensureHomeDirs as Qt, applyUninstall as R, patchSecretsEnvFile as Rt, enableHostAkmSharing as S, getRegistryAddonConfig as St, buildAkmEndpoint as T, setAddonEnabled as Tt, performUpgrade as U, assertSafeSecretFilename as Ut, createState as V, readStackSecretEnv as Vt, writeFileAtomic as W, listSecretFiles as Wt, checkDockerCompose as X, seedUiBuild as Xt, checkDocker as Y, authJsonPath as Yt, composeDown as Z, ensureOpenCodeSystemConfig as Zt, ensureAkmUserEnv as _, createLogger as _n, annotateAddonProfileAvailability as _t, importHostOpenCode as a, mergeEnvContent as an, composeStop as at, validateProposedState as b, getAddonProfiles as bt, recommendSetup as c, formatForDisplay as cn, resolveComposeProjectName as ct, executeAutomation as d, inspectInstallLock as dn, readTaskFile as dt, resolveStackDir as en, composePs as et, loadAutomations as f, unlockInstallLock as fn, removeTaskFile as ft, deleteUserEnvKey as g, CORE_SERVICES as gn, useExistingProviderForAssistantCli as gt, buildAkmEnv as h, summarizeBackups as hn, listAssistantCliTools as ht, detectHostOpenCode as i, ensureReleaseMigrated as in, composeStats as it, resolveDeployJournalPath as j, writeRuntimeFiles as jt, markSetupComplete as k, readSecretStripNotice as kt, detectGpu as l, isPrerelease as ln, isSetupComplete as lt, AKM_USER_ENV_REF as m, pruneBackupDirs as mn, createOpenCodeClient as mt, getAkmStats as n, MigrationError as nn, composeRestart as nt, performSetup as o, parseEnvFile as on, composeUp as ot, readAutomationLogs as p, listBackupDirs as pn, writeTaskFile as pt, deriveLocalStackState as q, removeSecretFile as qt, runAssistantAkmCommand as r, ensureMigrated as rn, composeStart as rt, writeVoiceVars as s, PLATFORM_VERSION as sn, getDockerEvents as st, collectBindAddressWarnings as t, BackupSpaceError as tn, composePull as tt, detectLocalProviders as u, INSTALL_LOCK_STALE_AFTER_MS as un, assertSafeTaskFilename as ut, readUserEnvFile as v, getAddonProfileAvailability as vt, hostAkmStashPath as w, listEnabledAddonIds as wt, disableHostAkmSharing as x, getAddonServiceNames as xt, writeUserEnvKey as y, getAddonProfileSelection as yt, applyUpdate as z, readStackEnv as zt };\n"],"names":["Qr"],"mappings":"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IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrX,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAA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"}
|