@openpalm/ui 0.13.0-beta.7 → 0.13.0-beta.8
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/README.md +3 -2
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css +1 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css +1 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.br +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{BE_4J5sS.js → B9uMOgDZ.js} +2 -2
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js +1 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.br +2 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{mNzUu332.js → C092q_Hl.js} +1 -1
- package/build/client/_app/immutable/chunks/C092q_Hl.js.br +0 -0
- package/build/client/_app/immutable/chunks/C092q_Hl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js +1 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CuKFR3Qo.js → CR3nChHO.js} +2 -2
- package/build/client/_app/immutable/chunks/CR3nChHO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR3nChHO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Clt9pCG1.js → CXv_deBx.js} +1 -1
- package/build/client/_app/immutable/chunks/CXv_deBx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXv_deBx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js +9 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js +1 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js +1 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.br +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BdIq5WIo.js → qrqTdjh7.js} +1 -1
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.br +0 -0
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DKG33-gU.js → app.CXHi3StM.js} +2 -2
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.br +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.eA5H3idZ.js → 0.Bfv0aXoG.js} +1 -1
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CvKFymDh.js → 1.B8Ebge5I.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.DFMf8WUQ.js → 10.Di4b61Rb.js} +1 -1
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js +8 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js +1 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.bgdUYUlr.js → 5.BGqmDWpO.js} +1 -1
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js +2 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js +16 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js +128 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-D9FIO-Bk.js → 0-D8UAPThv.js} +12 -6
- package/build/server/chunks/0-D8UAPThv.js.map +1 -0
- package/build/server/chunks/1-bS23Eg-d.js +9 -0
- package/build/server/chunks/{1-ItPJxTHP.js.map → 1-bS23Eg-d.js.map} +1 -1
- package/build/server/chunks/{10-B4fDiATl.js → 10-C5TUqG1t.js} +3 -3
- package/build/server/chunks/{10-B4fDiATl.js.map → 10-C5TUqG1t.js.map} +1 -1
- package/build/server/chunks/11-DSjZgp33.js +9 -0
- package/build/server/chunks/11-DSjZgp33.js.map +1 -0
- package/build/server/chunks/{3-DpC38K23.js → 3-D0iTJ9v2.js} +6 -6
- package/build/server/chunks/{3-DpC38K23.js.map → 3-D0iTJ9v2.js.map} +1 -1
- package/build/server/chunks/{4-DrJ64j1x.js → 4-CHJRF8qs.js} +3 -3
- package/build/server/chunks/{4-DrJ64j1x.js.map → 4-CHJRF8qs.js.map} +1 -1
- package/build/server/chunks/{5-BxzwX0rY.js → 5-CwCiwnFt.js} +3 -3
- package/build/server/chunks/{5-BxzwX0rY.js.map → 5-CwCiwnFt.js.map} +1 -1
- package/build/server/chunks/6-raswytzE.js +9 -0
- package/build/server/chunks/{6-DxXeT1e3.js.map → 6-raswytzE.js.map} +1 -1
- package/build/server/chunks/7-NC4-KlW9.js +9 -0
- package/build/server/chunks/7-NC4-KlW9.js.map +1 -0
- package/build/server/chunks/9-rIsHxfiY.js +9 -0
- package/build/server/chunks/9-rIsHxfiY.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js → ChatNavbar-DqdxDR5U.js} +9 -9
- package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js.map → ChatNavbar-DqdxDR5U.js.map} +1 -1
- package/build/server/chunks/IconMic-CZN60P6B.js +10 -0
- package/build/server/chunks/IconMic-CZN60P6B.js.map +1 -0
- package/build/server/chunks/{IconServer-DkywyVFu.js → IconServer-BwcRjcsS.js} +4 -4
- package/build/server/chunks/{IconServer-DkywyVFu.js.map → IconServer-BwcRjcsS.js.map} +1 -1
- package/build/server/chunks/{IconSoundOn-DoAiK-qp.js → IconSoundOn-DTZuBn2-.js} +4 -4
- package/build/server/chunks/{IconSoundOn-DoAiK-qp.js.map → IconSoundOn-DTZuBn2-.js.map} +1 -1
- package/build/server/chunks/{IconStop-DKVpXPKq.js → IconStop-BxUfqTaV.js} +114 -847
- package/build/server/chunks/IconStop-BxUfqTaV.js.map +1 -0
- package/build/server/chunks/{QuestionCard-BCfoxMiS.js → QuestionCard-DOLuSSbI.js} +2 -2
- package/build/server/chunks/{QuestionCard-BCfoxMiS.js.map → QuestionCard-DOLuSSbI.js.map} +1 -1
- package/build/server/chunks/Spinner-2WZW6r_I.js +12 -0
- package/build/server/chunks/Spinner-2WZW6r_I.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-DArOWGd3.js → _layout.svelte-CBBWJ3m3.js} +2 -3
- package/build/server/chunks/{_layout.svelte-DArOWGd3.js.map → _layout.svelte-CBBWJ3m3.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-S90xJHRa.js → _page.svelte-CYzntFY4.js} +10 -10
- package/build/server/chunks/{_page.svelte-S90xJHRa.js.map → _page.svelte-CYzntFY4.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CGEtuNmS.js → _page.svelte-CysG6Te2.js} +13 -13
- package/build/server/chunks/_page.svelte-CysG6Te2.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dpf94Jor.js → _page.svelte-D-_cPU8e.js} +3 -3
- package/build/server/chunks/{_page.svelte-Dpf94Jor.js.map → _page.svelte-D-_cPU8e.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-qxgG6hsh.js → _page.svelte-D4hOWjfm.js} +61 -351
- package/build/server/chunks/_page.svelte-D4hOWjfm.js.map +1 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js +183 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js.map +1 -0
- package/build/server/chunks/{_page.svelte-FOm-OMQe.js → _page.svelte-DjldYxQn.js} +25 -133
- package/build/server/chunks/_page.svelte-DjldYxQn.js.map +1 -0
- package/build/server/chunks/{_page.svelte-B2cX_j9w.js → _page.svelte-DsJgu4mW.js} +3 -3
- package/build/server/chunks/{_page.svelte-B2cX_j9w.js.map → _page.svelte-DsJgu4mW.js.map} +1 -1
- package/build/server/chunks/_server.ts-1qbl_1NY.js +87 -0
- package/build/server/chunks/_server.ts-1qbl_1NY.js.map +1 -0
- package/build/server/chunks/{_server.ts-DQI9hYcE.js → _server.ts-2VPdIZFH.js} +6 -6
- package/build/server/chunks/{_server.ts-DQI9hYcE.js.map → _server.ts-2VPdIZFH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5T_Zuoy.js → _server.ts-68MuZYx_.js} +7 -7
- package/build/server/chunks/{_server.ts-C5T_Zuoy.js.map → _server.ts-68MuZYx_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cph8nHvr.js → _server.ts-8AfutA1j.js} +6 -6
- package/build/server/chunks/{_server.ts-Cph8nHvr.js.map → _server.ts-8AfutA1j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ZKEBn-qW.js → _server.ts-B-5y1hA4.js} +8 -8
- package/build/server/chunks/{_server.ts-ZKEBn-qW.js.map → _server.ts-B-5y1hA4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cjo35hc1.js → _server.ts-B1CunPF7.js} +6 -6
- package/build/server/chunks/{_server.ts-Cjo35hc1.js.map → _server.ts-B1CunPF7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYLc6Os9.js → _server.ts-B1KGSkdl.js} +6 -6
- package/build/server/chunks/{_server.ts-DYLc6Os9.js.map → _server.ts-B1KGSkdl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_7lGoo_.js → _server.ts-B2NALEcR.js} +6 -6
- package/build/server/chunks/{_server.ts-B_7lGoo_.js.map → _server.ts-B2NALEcR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-i9TaUbWr.js → _server.ts-B2iUBxXh.js} +8 -8
- package/build/server/chunks/{_server.ts-i9TaUbWr.js.map → _server.ts-B2iUBxXh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IEM_8o6U.js → _server.ts-BN8EkPAZ.js} +7 -7
- package/build/server/chunks/{_server.ts-IEM_8o6U.js.map → _server.ts-BN8EkPAZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-N_mH0t0f.js → _server.ts-BQJfEfl9.js} +6 -6
- package/build/server/chunks/{_server.ts-N_mH0t0f.js.map → _server.ts-BQJfEfl9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4tBc7fm.js → _server.ts-BQSMacks.js} +9 -9
- package/build/server/chunks/{_server.ts-C4tBc7fm.js.map → _server.ts-BQSMacks.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vJBq3idp.js → _server.ts-BYt64wi5.js} +2 -2
- package/build/server/chunks/{_server.ts-vJBq3idp.js.map → _server.ts-BYt64wi5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWMJRzwx.js → _server.ts-Ba0MJSs9.js} +6 -6
- package/build/server/chunks/{_server.ts-BWMJRzwx.js.map → _server.ts-Ba0MJSs9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1vQkdVA.js → _server.ts-BdIM_pWg.js} +8 -8
- package/build/server/chunks/{_server.ts-B1vQkdVA.js.map → _server.ts-BdIM_pWg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYg52Wyj.js → _server.ts-BfxTJHa-.js} +6 -6
- package/build/server/chunks/{_server.ts-DYg52Wyj.js.map → _server.ts-BfxTJHa-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMfz71Do.js → _server.ts-BiVyFRNv.js} +6 -6
- package/build/server/chunks/{_server.ts-CMfz71Do.js.map → _server.ts-BiVyFRNv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vlaPk3to.js → _server.ts-BrgEQhDo.js} +6 -6
- package/build/server/chunks/{_server.ts-vlaPk3to.js.map → _server.ts-BrgEQhDo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BKnCIXe5.js → _server.ts-BtZN_8lV.js} +6 -6
- package/build/server/chunks/{_server.ts-BKnCIXe5.js.map → _server.ts-BtZN_8lV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhA9ywuA.js → _server.ts-Bx0PXf1w.js} +6 -6
- package/build/server/chunks/{_server.ts-BhA9ywuA.js.map → _server.ts-Bx0PXf1w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CkVeEW46.js → _server.ts-Byaj9iKd.js} +6 -6
- package/build/server/chunks/{_server.ts-CkVeEW46.js.map → _server.ts-Byaj9iKd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-oSGbQw4A.js → _server.ts-C1kDLq6m.js} +6 -6
- package/build/server/chunks/{_server.ts-oSGbQw4A.js.map → _server.ts-C1kDLq6m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLMsuxkK.js → _server.ts-C28zIW49.js} +6 -6
- package/build/server/chunks/{_server.ts-CLMsuxkK.js.map → _server.ts-C28zIW49.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BHaFrgm9.js → _server.ts-C2F80x6V.js} +7 -7
- package/build/server/chunks/{_server.ts-BHaFrgm9.js.map → _server.ts-C2F80x6V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BOn4TCRw.js → _server.ts-C70sKEjH.js} +7 -7
- package/build/server/chunks/{_server.ts-BOn4TCRw.js.map → _server.ts-C70sKEjH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CYu5XSM8.js → _server.ts-C754EzJA.js} +6 -6
- package/build/server/chunks/{_server.ts-CYu5XSM8.js.map → _server.ts-C754EzJA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B7319d6O.js → _server.ts-C8n83Xl1.js} +6 -6
- package/build/server/chunks/{_server.ts-B7319d6O.js.map → _server.ts-C8n83Xl1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DQTJ_bFp.js → _server.ts-CC6Bt-9t.js} +7 -7
- package/build/server/chunks/{_server.ts-DQTJ_bFp.js.map → _server.ts-CC6Bt-9t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Y5pBzFz4.js → _server.ts-CJ76gcOX.js} +6 -6
- package/build/server/chunks/{_server.ts-Y5pBzFz4.js.map → _server.ts-CJ76gcOX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3iKXyUo.js → _server.ts-CMW6wbwP.js} +6 -6
- package/build/server/chunks/{_server.ts-B3iKXyUo.js.map → _server.ts-CMW6wbwP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pf6WrGLo.js → _server.ts-CNjG4x1a.js} +6 -6
- package/build/server/chunks/{_server.ts-pf6WrGLo.js.map → _server.ts-CNjG4x1a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DhcBS9KQ.js → _server.ts-CRl7GqvU.js} +6 -6
- package/build/server/chunks/{_server.ts-DhcBS9KQ.js.map → _server.ts-CRl7GqvU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6-C5ctd.js → _server.ts-CUBWjRlp.js} +7 -7
- package/build/server/chunks/{_server.ts-D6-C5ctd.js.map → _server.ts-CUBWjRlp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-uAgtQC.js → _server.ts-CYoKjlbj.js} +6 -6
- package/build/server/chunks/{_server.ts-B-uAgtQC.js.map → _server.ts-CYoKjlbj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cu48eVwM.js → _server.ts-CafJDVBQ.js} +2 -2
- package/build/server/chunks/{_server.ts-Cu48eVwM.js.map → _server.ts-CafJDVBQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CvjVUcFR.js → _server.ts-Cd9hDiKk.js} +6 -6
- package/build/server/chunks/{_server.ts-CvjVUcFR.js.map → _server.ts-Cd9hDiKk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgL3_hTS.js → _server.ts-CgQfVR3g.js} +7 -7
- package/build/server/chunks/{_server.ts-BgL3_hTS.js.map → _server.ts-CgQfVR3g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtZ9-ZYu.js → _server.ts-CilbVIRO.js} +2 -2
- package/build/server/chunks/{_server.ts-BtZ9-ZYu.js.map → _server.ts-CilbVIRO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSBd_6yC.js → _server.ts-Ck25Xm32.js} +7 -7
- package/build/server/chunks/{_server.ts-CSBd_6yC.js.map → _server.ts-Ck25Xm32.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvUVX3X0.js → _server.ts-Cp-_qWC_.js} +7 -7
- package/build/server/chunks/{_server.ts-DvUVX3X0.js.map → _server.ts-Cp-_qWC_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-7pcCO8Pf.js → _server.ts-CuEFmJ07.js} +7 -7
- package/build/server/chunks/{_server.ts-7pcCO8Pf.js.map → _server.ts-CuEFmJ07.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DR0kmbl9.js → _server.ts-D5vc4lGC.js} +6 -6
- package/build/server/chunks/{_server.ts-DR0kmbl9.js.map → _server.ts-D5vc4lGC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtkA_Ld0.js → _server.ts-DDLE66QT.js} +7 -7
- package/build/server/chunks/{_server.ts-CtkA_Ld0.js.map → _server.ts-DDLE66QT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xQhNjF_X.js → _server.ts-DEF1ChPD.js} +6 -6
- package/build/server/chunks/{_server.ts-xQhNjF_X.js.map → _server.ts-DEF1ChPD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BH8Y1mmb.js → _server.ts-DHUtPRWK.js} +4 -4
- package/build/server/chunks/{_server.ts-BH8Y1mmb.js.map → _server.ts-DHUtPRWK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0MK-ynu.js → _server.ts-DHoTyKXL.js} +14 -10
- package/build/server/chunks/_server.ts-DHoTyKXL.js.map +1 -0
- package/build/server/chunks/{_server.ts-BaEUZaLH.js → _server.ts-DSB9Fzwa.js} +4 -4
- package/build/server/chunks/{_server.ts-BaEUZaLH.js.map → _server.ts-DSB9Fzwa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc1s3sLN.js → _server.ts-DW36Vbiq.js} +6 -6
- package/build/server/chunks/{_server.ts-Dc1s3sLN.js.map → _server.ts-DW36Vbiq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-v3cF2xWi.js → _server.ts-DWG4CKWG.js} +6 -6
- package/build/server/chunks/{_server.ts-v3cF2xWi.js.map → _server.ts-DWG4CKWG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCTZbI7L.js → _server.ts-DXxQIT2o.js} +7 -7
- package/build/server/chunks/{_server.ts-CCTZbI7L.js.map → _server.ts-DXxQIT2o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSYdjKAH.js → _server.ts-Da8_J1a4.js} +7 -7
- package/build/server/chunks/{_server.ts-CSYdjKAH.js.map → _server.ts-Da8_J1a4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DeuURP8u.js → _server.ts-DcH5edss.js} +6 -6
- package/build/server/chunks/{_server.ts-DeuURP8u.js.map → _server.ts-DcH5edss.js.map} +1 -1
- package/build/server/chunks/{_server.ts-iXjPBf7J.js → _server.ts-DiHLYNbQ.js} +7 -7
- package/build/server/chunks/{_server.ts-iXjPBf7J.js.map → _server.ts-DiHLYNbQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fenM6Iln.js → _server.ts-Dio2CslE.js} +7 -7
- package/build/server/chunks/_server.ts-Dio2CslE.js.map +1 -0
- package/build/server/chunks/{_server.ts-DcpOpD6s.js → _server.ts-Dlt1obi9.js} +6 -6
- package/build/server/chunks/{_server.ts-DcpOpD6s.js.map → _server.ts-Dlt1obi9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CEUFtmpE.js → _server.ts-Ds0U_zKR.js} +7 -7
- package/build/server/chunks/{_server.ts-CEUFtmpE.js.map → _server.ts-Ds0U_zKR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DlKT-RbM.js → _server.ts-DsVsFcf8.js} +15 -10
- package/build/server/chunks/_server.ts-DsVsFcf8.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCpQ8Qdr.js → _server.ts-Du3PIYf8.js} +6 -6
- package/build/server/chunks/{_server.ts-BCpQ8Qdr.js.map → _server.ts-Du3PIYf8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-3bBG0DBN.js → _server.ts-Duzj6Wm_.js} +6 -18
- package/build/server/chunks/_server.ts-Duzj6Wm_.js.map +1 -0
- package/build/server/chunks/{_server.ts-BGTw6w-C.js → _server.ts-DyaoaWIS.js} +7 -7
- package/build/server/chunks/{_server.ts-BGTw6w-C.js.map → _server.ts-DyaoaWIS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CxH-7UEc.js → _server.ts-EYtSo6HZ.js} +6 -6
- package/build/server/chunks/{_server.ts-CxH-7UEc.js.map → _server.ts-EYtSo6HZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgOS_sDK.js → _server.ts-JvnkkOhX.js} +7 -7
- package/build/server/chunks/{_server.ts-BgOS_sDK.js.map → _server.ts-JvnkkOhX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzV6EO26.js → _server.ts-N0u5ruZe.js} +6 -6
- package/build/server/chunks/{_server.ts-DzV6EO26.js.map → _server.ts-N0u5ruZe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0XsGdhx.js → _server.ts-NdCztCBP.js} +6 -6
- package/build/server/chunks/{_server.ts-D0XsGdhx.js.map → _server.ts-NdCztCBP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFKGqT4L.js → _server.ts-OGUKP5Tu.js} +6 -6
- package/build/server/chunks/{_server.ts-CFKGqT4L.js.map → _server.ts-OGUKP5Tu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuO_GU5A.js → _server.ts-Q1KEyBck.js} +6 -6
- package/build/server/chunks/{_server.ts-DuO_GU5A.js.map → _server.ts-Q1KEyBck.js.map} +1 -1
- package/build/server/chunks/{_server.ts-z5C3PAAB.js → _server.ts-TIRuudir.js} +2 -2
- package/build/server/chunks/{_server.ts-z5C3PAAB.js.map → _server.ts-TIRuudir.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DXwG4w1_.js → _server.ts-WTZtC5sX.js} +10 -4
- package/build/server/chunks/_server.ts-WTZtC5sX.js.map +1 -0
- package/build/server/chunks/{_server.ts-DR_9WXW4.js → _server.ts-WsWoJE5V.js} +8 -8
- package/build/server/chunks/{_server.ts-DR_9WXW4.js.map → _server.ts-WsWoJE5V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CjeMP5Vf.js → _server.ts-X8GX4ChJ.js} +6 -6
- package/build/server/chunks/{_server.ts-CjeMP5Vf.js.map → _server.ts-X8GX4ChJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts--F22byeV.js → _server.ts-XIc2PDRd.js} +7 -7
- package/build/server/chunks/{_server.ts--F22byeV.js.map → _server.ts-XIc2PDRd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQeqwCqj.js → _server.ts-YsFgaaVd.js} +6 -6
- package/build/server/chunks/{_server.ts-CQeqwCqj.js.map → _server.ts-YsFgaaVd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpyfojV9.js → _server.ts-bOcb37D9.js} +7 -7
- package/build/server/chunks/{_server.ts-CpyfojV9.js.map → _server.ts-bOcb37D9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yZ8CGJNE.js → _server.ts-e_8LykNe.js} +7 -7
- package/build/server/chunks/{_server.ts-yZ8CGJNE.js.map → _server.ts-e_8LykNe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CY-GNKZT.js → _server.ts-hLimfy8i.js} +6 -6
- package/build/server/chunks/{_server.ts-CY-GNKZT.js.map → _server.ts-hLimfy8i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-AC1zqetQ.js → _server.ts-khI1sqja.js} +2 -2
- package/build/server/chunks/{_server.ts-AC1zqetQ.js.map → _server.ts-khI1sqja.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BF5JzSrs.js → _server.ts-p1Z3DBlr.js} +6 -6
- package/build/server/chunks/{_server.ts-BF5JzSrs.js.map → _server.ts-p1Z3DBlr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvfnkNfI.js → _server.ts-uzB454LO.js} +7 -7
- package/build/server/chunks/{_server.ts-DvfnkNfI.js.map → _server.ts-uzB454LO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jqktLs6L.js → _server.ts-wKSTgSwf.js} +6 -6
- package/build/server/chunks/{_server.ts-jqktLs6L.js.map → _server.ts-wKSTgSwf.js.map} +1 -1
- package/build/server/chunks/addon-helpers-DaC3GR9u.js +153 -0
- package/build/server/chunks/addon-helpers-DaC3GR9u.js.map +1 -0
- package/build/server/chunks/{admin-update-lock-B-z4UE8R.js → admin-update-lock-Bu3VvAoN.js} +3 -3
- package/build/server/chunks/{admin-update-lock-B-z4UE8R.js.map → admin-update-lock-Bu3VvAoN.js.map} +1 -1
- package/build/server/chunks/{akm-C4NCZfJB.js → akm-DsJ8_uuW.js} +2 -2
- package/build/server/chunks/{akm-C4NCZfJB.js.map → akm-DsJ8_uuW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-08JCSzPu.js → bring-up-BBKMJltU.js} +30 -228
- package/build/server/chunks/bring-up-BBKMJltU.js.map +1 -0
- package/build/server/chunks/{catalog-Czlhb_2V.js → catalog-8d-U0FbY.js} +5 -5
- package/build/server/chunks/{catalog-Czlhb_2V.js.map → catalog-8d-U0FbY.js.map} +1 -1
- package/build/server/chunks/{client-HEAniq5u.js → client-CHoZA_w9.js} +2 -2
- package/build/server/chunks/{client-HEAniq5u.js.map → client-CHoZA_w9.js.map} +1 -1
- package/build/server/chunks/{compose-args2-B1cYvF5r.js → compose-args2-C9sLS6QR.js} +2 -2
- package/build/server/chunks/compose-args2-C9sLS6QR.js.map +1 -0
- package/build/server/chunks/{config-C15S-ENd.js → config-ChxZZk6h.js} +2 -2
- package/build/server/chunks/{config-C15S-ENd.js.map → config-ChxZZk6h.js.map} +1 -1
- package/build/server/chunks/{docker2-CF7qyd1U.js → docker2-DGq6J3Kp.js} +2 -2
- package/build/server/chunks/docker2-DGq6J3Kp.js.map +1 -0
- package/build/server/chunks/{docker3-BsPagEza.js → docker3-DFlJ-o_d.js} +2 -2
- package/build/server/chunks/{docker3-BsPagEza.js.map → docker3-DFlJ-o_d.js.map} +1 -1
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C-lukbaB.js → error.svelte-BXxIEYd4.js} +4 -4
- package/build/server/chunks/{error.svelte-C-lukbaB.js.map → error.svelte-BXxIEYd4.js.map} +1 -1
- package/build/server/chunks/{features-DltizIi4.js → features-D8Ez2vwC.js} +26 -4
- package/build/server/chunks/features-D8Ez2vwC.js.map +1 -0
- package/build/server/chunks/{helpers-DWpoPvHz.js → helpers-BrD1e__f.js} +4 -4
- package/build/server/chunks/{helpers-DWpoPvHz.js.map → helpers-BrD1e__f.js.map} +1 -1
- package/build/server/chunks/{hooks.server-BcdEyWVU.js → hooks.server-Blba-Qw7.js} +9 -9
- package/build/server/chunks/{hooks.server-BcdEyWVU.js.map → hooks.server-Blba-Qw7.js.map} +1 -1
- package/build/server/chunks/{http-7E5W3vGt.js → http-B4Us23Mo.js} +2 -2
- package/build/server/chunks/{http-7E5W3vGt.js.map → http-B4Us23Mo.js.map} +1 -1
- package/build/server/chunks/{internal-BNSUwl-r.js → internal-CSnzBDeT.js} +3 -3
- package/build/server/chunks/{internal-BNSUwl-r.js.map → internal-CSnzBDeT.js.map} +1 -1
- package/build/server/chunks/{landing-DY53l_CN.js → landing-DxFOhZxH.js} +5 -5
- package/build/server/chunks/{landing-DY53l_CN.js.map → landing-DxFOhZxH.js.map} +1 -1
- package/build/server/chunks/{opencode-target-DYD2zQ4l.js → opencode-target-D4BxXYHJ.js} +3 -3
- package/build/server/chunks/{opencode-target-DYD2zQ4l.js.map → opencode-target-D4BxXYHJ.js.map} +1 -1
- package/build/server/chunks/{paths-BVdkvR9U.js → paths-6f-5gYkd.js} +2 -2
- package/build/server/chunks/{paths-BVdkvR9U.js.map → paths-6f-5gYkd.js.map} +1 -1
- package/build/server/chunks/{session-cookie-D2_H1UEW.js → session-cookie-5J3xCH94.js} +2 -2
- package/build/server/chunks/{session-cookie-D2_H1UEW.js.map → session-cookie-5J3xCH94.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-C1h733rH.js → setup-deploy-DUbX3fHm.js} +2 -2
- package/build/server/chunks/{setup-deploy-C1h733rH.js.map → setup-deploy-DUbX3fHm.js.map} +1 -1
- package/build/server/chunks/{src-B2-r_9oB.js → src-B2wHibme.js} +55 -70
- package/build/server/chunks/src-B2wHibme.js.map +1 -0
- package/build/server/chunks/{state-Dkjz2T4C.js → state-JIy0tegD.js} +2 -2
- package/build/server/chunks/{state-Dkjz2T4C.js.map → state-JIy0tegD.js.map} +1 -1
- package/build/server/chunks/{state2-CS9rhust.js → state2-Br2snAqo.js} +2 -2
- package/build/server/chunks/{state2-CS9rhust.js.map → state2-Br2snAqo.js.map} +1 -1
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js +1610 -0
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +96 -110
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/assets/7.BsquVIMw.css +0 -1
- package/build/client/_app/immutable/assets/7.BsquVIMw.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BsquVIMw.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css +0 -1
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BE_4J5sS.js.br +0 -0
- package/build/client/_app/immutable/chunks/BE_4J5sS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BdIq5WIo.js.br +0 -5
- package/build/client/_app/immutable/chunks/BdIq5WIo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Clt9pCG1.js.br +0 -0
- package/build/client/_app/immutable/chunks/Clt9pCG1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CuKFR3Qo.js.br +0 -0
- package/build/client/_app/immutable/chunks/CuKFR3Qo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D1VTYdXF.js +0 -1
- package/build/client/_app/immutable/chunks/D1VTYdXF.js.br +0 -0
- package/build/client/_app/immutable/chunks/D1VTYdXF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DF5Aoa59.js +0 -1
- package/build/client/_app/immutable/chunks/DF5Aoa59.js.br +0 -2
- package/build/client/_app/immutable/chunks/DF5Aoa59.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DaRQZQEK.js +0 -5
- package/build/client/_app/immutable/chunks/DaRQZQEK.js.br +0 -0
- package/build/client/_app/immutable/chunks/DaRQZQEK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js +0 -5
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/mNzUu332.js.br +0 -0
- package/build/client/_app/immutable/chunks/mNzUu332.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DKG33-gU.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DKG33-gU.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js +0 -1
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js.br +0 -1
- package/build/client/_app/immutable/entry/start.vDtUfDrT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CvKFymDh.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CvKFymDh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js +0 -8
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js +0 -1
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B-36aGPk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D0P837Li.js +0 -2
- package/build/client/_app/immutable/nodes/6.D0P837Li.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D0P837Li.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js +0 -14
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C4seSCJq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js +0 -128
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.gz +0 -0
- package/build/server/chunks/0-D9FIO-Bk.js.map +0 -1
- package/build/server/chunks/1-ItPJxTHP.js +0 -9
- package/build/server/chunks/11-CZj9K6K7.js +0 -9
- package/build/server/chunks/11-CZj9K6K7.js.map +0 -1
- package/build/server/chunks/6-DxXeT1e3.js +0 -9
- package/build/server/chunks/7-CuHe_mFY.js +0 -9
- package/build/server/chunks/7-CuHe_mFY.js.map +0 -1
- package/build/server/chunks/9-CVIPxN5B.js +0 -9
- package/build/server/chunks/9-CVIPxN5B.js.map +0 -1
- package/build/server/chunks/IconMic-BbjkE_nG.js +0 -18
- package/build/server/chunks/IconMic-BbjkE_nG.js.map +0 -1
- package/build/server/chunks/IconStop-DKVpXPKq.js.map +0 -1
- package/build/server/chunks/_page.svelte-BcpGl-vl.js +0 -91
- package/build/server/chunks/_page.svelte-BcpGl-vl.js.map +0 -1
- package/build/server/chunks/_page.svelte-CGEtuNmS.js.map +0 -1
- package/build/server/chunks/_page.svelte-FOm-OMQe.js.map +0 -1
- package/build/server/chunks/_page.svelte-qxgG6hsh.js.map +0 -1
- package/build/server/chunks/_server.ts-08JCSzPu.js.map +0 -1
- package/build/server/chunks/_server.ts-3bBG0DBN.js.map +0 -1
- package/build/server/chunks/_server.ts-B0MK-ynu.js.map +0 -1
- package/build/server/chunks/_server.ts-BS4UTF4H.js +0 -93
- package/build/server/chunks/_server.ts-BS4UTF4H.js.map +0 -1
- package/build/server/chunks/_server.ts-DXwG4w1_.js.map +0 -1
- package/build/server/chunks/_server.ts-DlKT-RbM.js.map +0 -1
- package/build/server/chunks/_server.ts-fenM6Iln.js.map +0 -1
- package/build/server/chunks/_server.ts-zt3yI2wU.js +0 -97
- package/build/server/chunks/_server.ts-zt3yI2wU.js.map +0 -1
- package/build/server/chunks/addon-helpers-B7bkHg-K.js +0 -64
- package/build/server/chunks/addon-helpers-B7bkHg-K.js.map +0 -1
- package/build/server/chunks/compose-args2-B1cYvF5r.js.map +0 -1
- package/build/server/chunks/docker2-CF7qyd1U.js.map +0 -1
- package/build/server/chunks/features-DltizIi4.js.map +0 -1
- package/build/server/chunks/speakable-text-BflxDDdY.js +0 -65
- package/build/server/chunks/speakable-text-BflxDDdY.js.map +0 -1
- package/build/server/chunks/src-B2-r_9oB.js.map +0 -1
- package/build/server/chunks/voice-state.svelte-CSmyLPRH.js +0 -561
- package/build/server/chunks/voice-state.svelte-CSmyLPRH.js.map +0 -1
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js → DD22UF1L2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.br → DD22UF1L2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.gz → DD22UF1L2.js.gz} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-B2wHibme.js","sources":["../../../.svelte-kit/adapter-node/chunks/docker.js","../../../.svelte-kit/adapter-node/chunks/compose-args.js","../../../.svelte-kit/adapter-node/chunks/src.js"],"sourcesContent":["import { r as __require, t as __commonJSMin } from \"./chunk.js\";\nimport { copyFileSync, existsSync, readFileSync } from \"node:fs\";\nimport { execFile, execFileSync } from \"node:child_process\";\n//#endregion\n//#region ../lib/src/control-plane/env.ts\nvar import_main = (/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar fs = __require(\"fs\");\n\tvar path = __require(\"path\");\n\tvar os = __require(\"os\");\n\tvar crypto = __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.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.existsSync(possibleVaultPath)) return possibleVaultPath;\n\t\treturn null;\n\t}\n\tfunction _resolveHome(envPath) {\n\t\treturn envPath[0] === \"~\" ? path.join(os.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.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.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})))();\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}\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 = /^[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.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\tconst value = remaining.get(key);\n\t\tif (value !== void 0) {\n\t\t\tlines[i] = `${hadExport ? \"export \" : \"\"}${key}=${quoteEnvValue(value)}`;\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/compose-errors.ts\n/** Matches `toomanyrequests: You have reached your pull rate limit` (Docker Hub rate limit). */\nvar RATE_LIMIT_RE = /toomanyrequests/i;\n/**\n* Matches `manifest unknown` or `manifest for <image>:<tag> not found`.\n* Captures the offending image reference when present.\n*/\nvar MANIFEST_UNKNOWN_RE = /manifest\\s+(?:unknown|for\\s+([^\\s]+)\\s+not found)/i;\n/** Matches network-level pull failures (dial tcp, connection reset, EOF mid-layer). */\nvar NETWORK_ERROR_RE = /(?:dial tcp|connection reset by peer|EOF|i\\/o timeout|TLS handshake timeout|no route to host)/i;\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\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 (RATE_LIMIT_RE.test(stderr) || MANIFEST_UNKNOWN_RE.test(stderr) || NETWORK_ERROR_RE.test(stderr) || /pull access denied|unauthorized|authentication required|requested access to the resource is denied|denied: requested access/i.test(stderr)) return {\n\t\tcode: \"image_pull_failed\",\n\t\tmessage: `Docker could not pull the required image: ${summary}`\n\t};\n\tif (/no space left on device|ENOSPC|out of memory|cannot allocate memory|ENOMEM|oom killed|oomkilled/i.test(stderr)) return {\n\t\tcode: \"resource_exhausted\",\n\t\tmessage: `Docker ran out of a critical resource (disk space or memory): ${summary}`\n\t};\n\tif (/health check|is unhealthy|unhealthy|failed to start/i.test(stderr)) 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/docker.ts\n/** Docker integration — executes docker compose commands via execFile (no shell). */\n/**\n* Build a {@link DockerResult} from a node:child_process callback.\n*\n* Node's `error.code` is OVERLOADED: for a process that exits non-zero it is the\n* numeric exit status, but for a spawn/OS failure it is a STRING errno\n* (\"ENOENT\", \"EACCES\", …). Blindly `Number(error.code)`-ing the string yields\n* NaN silently stored in a `number` field, so callers branching on `result.code`\n* (e.g. `allowExitCodes.includes(result.code)`) get garbage. This normalizes:\n* numeric codes pass through unchanged; a string code surfaces via `errorCode`\n* while `code` falls back to a non-zero sentinel (any error ⇒ non-zero).\n*\n* Pure and exported (package-internal) so the string-code path is unit-testable\n* without spawning docker.\n*/\nfunction toDockerResult(error, stdout, stderr) {\n\tconst rawCode = error?.code;\n\tconst code = typeof rawCode === \"number\" ? rawCode : error ? 1 : 0;\n\tconst result = {\n\t\tok: !error,\n\t\tstdout: stdout?.toString() ?? \"\",\n\t\tstderr: stderr?.toString() ?? \"\",\n\t\tcode\n\t};\n\tif (typeof rawCode === \"string\") result.errorCode = rawCode;\n\treturn result;\n}\nvar realDockerClient = { run: (args, opts) => run(args, opts?.cwd, opts?.timeoutMs, opts?.env) };\nvar defaultStackDeps = {\n\tdocker: realDockerClient,\n\tfileExists: existsSync\n};\n/**\n* Execute docker with an argument array — no shell interpolation.\n*\n* Exported (package-internal — not surfaced through the barrel) so the\n* volume-ownership repair subsystem reuses the exact same execFile wrapper\n* instead of re-implementing it.\n*/\nfunction run(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(toDockerResult(error, stdout, stderr));\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 proves nothing, so it\n* must not authorize destructive project operations.\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* Docker errors are returned separately from a confirmed absent project so\n* callers never mistake \"could not check\" for \"safe to continue\".\n*/\nasync function detectExistingProject(opts) {\n\tconst none = {\n\t\texists: false,\n\t\tisOurs: false,\n\t\tworkingDir: \"\"\n\t};\n\tconst ps = await run([\n\t\t\"ps\",\n\t\t\"-q\",\n\t\t\"--filter\",\n\t\t`label=com.docker.compose.project=${opts.projectName}`\n\t], void 0, 1e4);\n\tif (!ps.ok) return {\n\t\t...none,\n\t\terror: ps.stderr || \"Could not query Docker projects\"\n\t};\n\tconst ids = ps.stdout.trim().split(/\\s+/).filter(Boolean);\n\tif (ids.length === 0) return none;\n\tconst inspect = await run([\n\t\t\"inspect\",\n\t\t\"--format\",\n\t\t\"{{ index .Config.Labels \\\"com.docker.compose.project.working_dir\\\" }}\",\n\t\tids[0]\n\t], void 0, 1e4);\n\tif (!inspect.ok) return {\n\t\texists: true,\n\t\tisOurs: false,\n\t\tworkingDir: \"\",\n\t\terror: inspect.stderr || \"Could not inspect Docker project ownership\"\n\t};\n\tconst workingDir = inspect.stdout.trim();\n\treturn {\n\t\texists: true,\n\t\tisOurs: isProjectOurs(workingDir, opts.expectedWorkingDir),\n\t\tworkingDir\n\t};\n}\n/** Check if Docker is available */\nasync function checkDocker() {\n\tconst result = await run([\n\t\t\"info\",\n\t\t\"--format\",\n\t\t\"{{.ServerVersion}}\"\n\t], void 0, 0);\n\tconst stdout = result.stdout.trim();\n\treturn {\n\t\tok: stdout.length > 0 || result.ok,\n\t\tstdout,\n\t\tstderr: result.stderr,\n\t\tcode: result.code\n\t};\n}\n/**\n* Minimum Docker Compose version that supports `--wait`/`--wait-timeout`\n* (added in Compose v2.14.0) — §2.1 makes these the single health gate for\n* every `compose up`, so an older CLI must fail the preflight instead of\n* silently rejecting the flag at runtime.\n*/\nvar COMPOSE_WAIT_FLOOR = [\n\t2,\n\t14,\n\t0\n];\n/**\n* Decide whether a `docker compose version` output (e.g. \"Docker Compose\n* version v2.29.1\") is new enough for `--wait`/`--wait-timeout`. An\n* unparsable string is treated as new enough — fail open on a version-string\n* format change rather than blocking every install.\n*/\nfunction meetsComposeWaitFloor(versionOutput) {\n\tconst match = /(\\d+)\\.(\\d+)\\.(\\d+)/.exec(versionOutput);\n\tif (!match) return true;\n\tconst actual = [\n\t\tNumber(match[1]),\n\t\tNumber(match[2]),\n\t\tNumber(match[3])\n\t];\n\tfor (let i = 0; i < COMPOSE_WAIT_FLOOR.length; i++) {\n\t\tif (actual[i] > COMPOSE_WAIT_FLOOR[i]) return true;\n\t\tif (actual[i] < COMPOSE_WAIT_FLOOR[i]) return false;\n\t}\n\treturn true;\n}\n/** Check if docker compose is available AND new enough for `--wait` (§2.1). */\nasync function checkDockerCompose() {\n\tconst result = await run([\"compose\", \"version\"], void 0, 0);\n\tif (!result.ok) return result;\n\tif (!meetsComposeWaitFloor(result.stdout)) return {\n\t\t...result,\n\t\tok: false,\n\t\tstderr: result.stderr || `Docker Compose ${result.stdout.trim() || \"(unknown version)\"} is too old — v2.14.0 or newer is required.`\n\t};\n\treturn result;\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, fileExists = existsSync) {\n\tconst envOverrides = collectComposeEnvOverrides(options.envFiles);\n\tconst args = [\n\t\t\"--project-name\",\n\t\toptions.projectName ?? resolveComposeProjectName(envOverrides),\n\t\t...options.files.flatMap((f) => [\"-f\", f])\n\t];\n\tfor (const ef of options.envFiles ?? []) if (fileExists(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 --progress plain -f ... --project-name ... --env-file ... --profile ... */\nfunction buildComposeArgs(options, fileExists = existsSync) {\n\treturn [\n\t\t\"compose\",\n\t\t\"--progress\",\n\t\t\"plain\",\n\t\t...buildComposeCommandArgs(options, fileExists)\n\t];\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(args, void 0, 3e4, collectComposeEnvOverrides(options.envFiles));\n}\n/**\n* Build the human-facing error message for a failed compose preflight\n* (`docker compose config --quiet`). SINGLE SOURCE OF TRUTH: lib's own\n* {@link runPreflight} and the CLI's compose path both call this so the two\n* never diverge again.\n*\n* The message includes, in order:\n* - the raw preflight stderr,\n* - the resolved `docker compose … config --quiet` command (WITH `--profile`\n* args) so the failure is reproducible,\n* - the file / env-file / project breakdown,\n* - repair guidance when the failure looks like a missing secret/asset file.\n* A missing secret means OP_HOME is incomplete — usually a home behind the\n* running platform (secrets are written only by install/update, not\n* self-healed on a plain command) — so we point the user at `openpalm\n* update` instead of leaving them with a raw compose \"file not found\".\n*/\nfunction buildComposePreflightError(options, stderr) {\n\tconst project = resolveComposeProjectName(collectComposeEnvOverrides(options.envFiles));\n\tconst files = options.files;\n\tconst envFiles = options.envFiles ?? [];\n\tconst profiles = options.profiles ?? [];\n\tconst fileArgs = files.map((f) => `-f ${f}`).join(\" \");\n\tconst envArgs = envFiles.map((f) => `--env-file ${f}`).join(\" \");\n\tconst profileArgs = profiles.map((p) => `--profile ${p}`).join(\" \");\n\tconst resolvedCommand = [\n\t\t\"docker compose\",\n\t\tfileArgs,\n\t\t`--project-name ${project}`,\n\t\tenvArgs,\n\t\tprofileArgs,\n\t\t\"config --quiet\"\n\t].filter(Boolean).join(\" \");\n\tconst guidance = /secret/i.test(stderr) && /(not found|no such file|does not exist|cannot find)/i.test(stderr) ? \"\\n\\nThis usually means your OpenPalm home is missing files. Run `openpalm update` to repair it, then try again.\" : \"\";\n\treturn `Compose preflight failed: ${stderr}\\nResolved command: ${resolvedCommand}\\nFiles: ${files.join(\", \")}\\nEnv files: ${envFiles.filter(existsSync).join(\", \")}\\nProfiles: ${profiles.join(\", \") || \"(none)\"}\\nProject: ${project}` + guidance;\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) throw new Error(buildComposePreflightError(options, result.stderr));\n}\nasync function composeConfigServices(options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"config\", \"--services\");\n\tconst result = await run(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 config --format json` and return Docker's fully-resolved\n* project view. This is the SINGLE SOURCE OF TRUTH for compose volume/env\n* resolution — callers that need a service's real bind-mount source paths use\n* this instead of re-implementing `${VAR}` interpolation or `split(':')`, both\n* of which are fragile (Windows drive paths, nested `${VAR:-${VAR}}` defaults).\n*\n* Synchronous (`execFileSync`, arg array — never a shell string) on purpose:\n* the sole consumer is the fully-synchronous bind-mount pre-creation path\n* (`ensureComposeVolumeTargets` → mkdirSync/chownSync) reached from synchronous\n* `setAddonEnabled` and the synchronous ownership-repair path resolver. Making\n* this async would force an async cascade through those and their many\n* synchronous UI/CLI callers for no benefit — this runs during a blocking\n* install/addon mutation where a short subprocess wait is already the norm.\n*\n* Best-effort: a compose or JSON-parse failure returns `{ ok:false, config:null }`.\n*/\nfunction composeConfigJsonSync(options) {\n\tconst args = buildComposeArgs(options);\n\targs.push(\"config\", \"--format\", \"json\");\n\ttry {\n\t\tconst stdout = execFileSync(\"docker\", args, {\n\t\t\ttimeout: 3e4,\n\t\t\tencoding: \"utf-8\",\n\t\t\tenv: {\n\t\t\t\t...process.env,\n\t\t\t\t...collectComposeEnvOverrides(options.envFiles)\n\t\t\t}\n\t\t});\n\t\treturn {\n\t\t\tok: true,\n\t\t\tconfig: JSON.parse(stdout),\n\t\t\tstderr: \"\"\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tconfig: null,\n\t\t\tstderr: error?.stderr?.toString() ?? String(error)\n\t\t};\n\t}\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*\n* Exported so interactive callers that stream stdio (the CLI's `up` path via\n* {@link runComposeStreaming}) apply the SAME budget as the capturing\n* {@link applyStack} — the two must not diverge.\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* Seconds budget for compose's OWN `--wait-timeout` (§2.1's single health\n* gate) — how long compose itself waits for every targeted service to become\n* healthy before `up` exits non-zero. Default 5 minutes, matching the\n* health-poll deadline this replaces (the deleted deploy.ts pollContainerHealth\n* loop) and comfortably above the voice addon's 180s start_period. Override\n* with OP_COMPOSE_WAIT_TIMEOUT_MS (ms).\n*/\nfunction composeWaitTimeoutSec() {\n\tconst raw = process.env.OP_COMPOSE_WAIT_TIMEOUT_MS?.trim();\n\tconst parsed = raw ? Number(raw) : NaN;\n\treturn Math.ceil((Number.isFinite(parsed) && parsed > 0 ? parsed : 5 * 6e4) / 1e3);\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(args, void 0);\n}\n/**\n* Run `docker compose down` against an EXPLICIT project name instead of the\n* one resolved from env files. Exists for the project-rename flow (#540):\n* once OP_PROJECT_NAME changes in stack.env, every normal compose call\n* resolves the NEW name, so the outgoing project's containers can never be\n* addressed again and would keep running forever. The rename teardown is the\n* only caller that may target a project other than the current one — callers\n* MUST verify ownership (working_dir label) before invoking this.\n*\n* No preflight: the compose config is validated by the surrounding apply\n* flow, and this teardown must stay best-effort — a preflight hiccup must not\n* strand the old project.\n*/\nasync function composeDownProject(projectName, options) {\n\tif (options.files.length === 0 || !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({\n\t\t...options,\n\t\tprojectName\n\t});\n\targs.push(\"down\");\n\tif (options.removeOrphans) args.push(\"--remove-orphans\");\n\treturn run(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(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(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(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([\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(args, void 0);\n}\n/**\n* Parse `compose ps --format json` stdout (one JSON object per line, or a\n* JSON array on some Compose versions) into {@link ComposePsRow}s. Matches\n* by the `Service` field — NEVER derive the service name from the container\n* name (which carries a `-<n>` suffix, e.g. `assistant-1`).\n*\n* Single source of truth for this parse — used by {@link applyStack}'s\n* post-failure diagnosis and by the deploy-journal's display refresh.\n*/\nfunction parseComposePsRows(stdout) {\n\tconst rows = [];\n\tconst trimmedStdout = stdout.trim();\n\tif (!trimmedStdout) return rows;\n\tfor (const line of trimmedStdout.split(/\\r?\\n/)) {\n\t\tconst trimmed = line.trim();\n\t\tif (!trimmed) continue;\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(trimmed);\n\t\t\tconst entries = Array.isArray(parsed) ? parsed : [parsed];\n\t\t\tfor (const entry of entries) {\n\t\t\t\tconst obj = entry;\n\t\t\t\tconst service = String(obj.Service ?? obj.Name ?? \"\");\n\t\t\t\tif (!service) continue;\n\t\t\t\trows.push({\n\t\t\t\t\tservice,\n\t\t\t\t\tstate: String(obj.State ?? \"\"),\n\t\t\t\t\thealth: String(obj.Health ?? \"\")\n\t\t\t\t});\n\t\t\t}\n\t\t} catch {}\n\t}\n\treturn rows;\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(args, void 0);\n}\nvar PULL_TIMEOUT_MS = 60 * 6e4;\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(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(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([\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* The SINGLE Docker Compose driver for install/update/upgrade/pull (§4.3, plan 2.2).\n*\n* The default `--pull missing` path remains one `up` call. `pull: \"always\"`\n* deliberately uses two ordered calls: `pull` must succeed for the complete\n* requested scope before `up --pull never` may mutate containers. This prevents\n* a multi-service update from starting against a partially refreshed image set.\n* `--force-recreate` is REQUIRED on every scope so a\n* container whose managed compose config is unchanged still restarts onto a\n* freshly pulled same-tag image (#450). Active profiles are always passed\n* (§4.3). Success = running AND healthy — `up -d --wait` IS the single health\n* gate (§2.1): compose blocks until every targeted service reaches\n* running+healthy or `--wait-timeout` elapses, so there is no separate\n* per-container poll loop; on failure ONE `compose ps --format json` call names\n* which services didn't come up.\n*\n* scope = { kind:\"service\", service:\"assistant\" } → pull/up the service\n* scope = { kind:\"services\", services:[\"a\",\"b\"] } → pull/up both services\n* scope = { kind:\"all\" } → pull/up the active project\n*\n* `services` (plural) is the multi-service sibling of `service` — a named,\n* pre-resolved subset (e.g. every service in one addon profile) recreated\n* together with no `--remove-orphans`, exactly like the singular form. It\n* exists so a caller that owns a named group of services (e.g. the voice\n* addon's bring-up flow, or the manual pull button) can route through this\n* single driver instead of reimplementing its own up + health-wait.\n*\n* Callers pass the resolved ComposeOptions so this function never builds them\n* itself — profiles are already resolved.\n*/\nasync function applyStack(scope, options, deps = defaultStackDeps, applyOpts = {}) {\n\tif (scope.kind === \"services\" && scope.services.length === 0) return {\n\t\tok: true,\n\t\tstarted: [],\n\t\tfailed: []\n\t};\n\tconst { docker, fileExists } = deps;\n\tconst envOverrides = collectComposeEnvOverrides(options.envFiles);\n\tconst base = buildComposeArgs(options, fileExists);\n\tconst pullMode = applyOpts.pull ?? \"missing\";\n\tconst waitTimeoutSec = applyOpts.healthTimeoutMs ? Math.max(1, Math.ceil(applyOpts.healthTimeoutMs / 1e3)) : composeWaitTimeoutSec();\n\tconst scopedServices = scope.kind === \"service\" ? [scope.service] : scope.kind === \"services\" ? scope.services : [];\n\tif (pullMode === \"always\") {\n\t\tconst pullArgs = [\n\t\t\t...base,\n\t\t\t\"pull\",\n\t\t\t...scopedServices\n\t\t];\n\t\tconst pullResult = await docker.run(pullArgs, {\n\t\t\ttimeoutMs: PULL_TIMEOUT_MS,\n\t\t\tenv: envOverrides\n\t\t});\n\t\tif (!pullResult.ok) {\n\t\t\tconst mapped = mapDockerError(pullResult.stderr || `docker compose pull exited with code ${pullResult.code}`);\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\tstarted: [],\n\t\t\t\tfailed: scopedServices.map((service) => ({\n\t\t\t\t\tservice,\n\t\t\t\t\treason: mapped.message\n\t\t\t\t})),\n\t\t\t\terror: mapped.message,\n\t\t\t\tpullFailed: true\n\t\t\t};\n\t\t}\n\t}\n\tconst upPullMode = pullMode === \"always\" ? \"never\" : \"missing\";\n\tconst upArgs = [\n\t\t...base,\n\t\t\"up\",\n\t\t\"-d\",\n\t\t\"--pull\",\n\t\tupPullMode,\n\t\t\"--wait\",\n\t\t\"--wait-timeout\",\n\t\tString(waitTimeoutSec),\n\t\t\"--force-recreate\"\n\t];\n\tif (scope.kind === \"service\") upArgs.push(\"--no-deps\", scope.service);\n\telse if (scope.kind === \"services\") upArgs.push(\"--no-deps\", ...scope.services);\n\telse upArgs.push(\"--remove-orphans\");\n\tconst upTimeout = pullMode === \"always\" ? composeUpTimeoutMs() : PULL_TIMEOUT_MS + composeUpTimeoutMs();\n\tconst upResult = await docker.run(upArgs, {\n\t\ttimeoutMs: upTimeout,\n\t\tenv: envOverrides\n\t});\n\tconst targetServices = scope.kind === \"service\" ? [scope.service] : scope.kind === \"services\" ? scope.services : await (async () => {\n\t\tconst configArgs = [\n\t\t\t...base,\n\t\t\t\"config\",\n\t\t\t\"--services\"\n\t\t];\n\t\tconst r = await docker.run(configArgs, {\n\t\t\ttimeoutMs: 15e3,\n\t\t\tenv: envOverrides\n\t\t});\n\t\treturn r.ok ? r.stdout.split(/\\r?\\n/).map((s) => s.trim()).filter(Boolean) : [];\n\t})();\n\tif (!upResult.ok) {\n\t\tconst psArgs = [\n\t\t\t...base,\n\t\t\t\"ps\",\n\t\t\t\"--format\",\n\t\t\t\"json\"\n\t\t];\n\t\tconst psResult = await docker.run(psArgs, {\n\t\t\ttimeoutMs: 15e3,\n\t\t\tenv: envOverrides\n\t\t});\n\t\tconst rows = psResult.ok ? parseComposePsRows(psResult.stdout) : [];\n\t\tif (rows.length === 0) {\n\t\t\tconst mapped = mapDockerError(upResult.stderr || `docker compose exited with code ${upResult.code}`);\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\tstarted: [],\n\t\t\t\tfailed: targetServices.map((service) => ({\n\t\t\t\t\tservice,\n\t\t\t\t\treason: mapped.message\n\t\t\t\t})),\n\t\t\t\terror: mapped.message,\n\t\t\t\tupFailed: true,\n\t\t\t\trawStderr: upResult.stderr\n\t\t\t};\n\t\t}\n\t\tconst started = [];\n\t\tconst failed = [];\n\t\tfor (const svc of targetServices) {\n\t\t\tconst row = rows.find((r) => r.service === svc);\n\t\t\tif (row && row.state === \"running\" && row.health !== \"unhealthy\") {\n\t\t\t\tstarted.push(svc);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst rawReason = !row ? `container for service ${svc} not found after up` : row.health === \"unhealthy\" ? `container ${svc} is unhealthy` : `container ${svc} did not become healthy (state: ${row.state || \"unknown\"})`;\n\t\t\tfailed.push({\n\t\t\t\tservice: svc,\n\t\t\t\treason: mapDockerError(rawReason).message\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\tok: false,\n\t\t\tstarted,\n\t\t\tfailed,\n\t\t\terror: failed.map((f) => f.reason).join(\"; \") || mapDockerError(upResult.stderr).message,\n\t\t\tupFailed: started.length === 0,\n\t\t\trawStderr: upResult.stderr\n\t\t};\n\t}\n\treturn {\n\t\tok: true,\n\t\tstarted: targetServices,\n\t\tfailed: []\n\t};\n}\n//#endregion\nexport { toDockerResult as A, getDockerEvents as C, realDockerClient as D, parseComposePsRows as E, parseEnvFile as F, removeEnvKey as I, upsertEnvValue as L, mergeEnvContent as M, parseEnabledAddons as N, resolveComposeProjectName as O, parseEnvContent as P, detectExistingProject as S, meetsComposeWaitFloor as T, composeStats as _, checkDockerCompose as a, composeWaitTimeoutSec as b, composeConfigServices as c, composeExec as d, composeLogs as f, composeStart as g, composeRestart as h, checkDocker as i, mapDockerError as j, run as k, composeDown as l, composePs as m, buildComposeCommandArgs as n, collectComposeEnvOverrides as o, composePreflight as p, buildComposePreflightError as r, composeConfigJsonSync as s, applyStack as t, composeDownProject as u, composeStop as v, isProjectOurs as w, defaultStackDeps as x, composeUpTimeoutMs as y };\n","import { n as GUARDIAN_INGRESS_ADDON_IDS, r as PORTAL_SECRET_ADDON_IDS, t as BUILTIN_ADDON_IDS } from \"./addon-ids.js\";\nimport { t as require_dist } from \"./dist.js\";\nimport { F as parseEnvFile, I as removeEnvKey, M as mergeEnvContent, N as parseEnabledAddons, O as resolveComposeProjectName, P as parseEnvContent, c as composeConfigServices, i as checkDocker, k as run, p as composePreflight, r as buildComposePreflightError, s as composeConfigJsonSync, t as applyStack } from \"./docker.js\";\nimport { createRequire } from \"node:module\";\nimport Vt, { chmodSync, chownSync, closeSync, constants, copyFileSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, 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 { fileURLToPath } from \"node:url\";\nimport { homedir, hostname, tmpdir } from \"node:os\";\nimport { createHash, randomBytes } from \"node:crypto\";\nimport Vr, { EventEmitter } from \"events\";\nimport I from \"fs\";\nimport { EventEmitter as EventEmitter$1 } from \"node:events\";\nimport Ds from \"node:stream\";\nimport { StringDecoder } from \"node:string_decoder\";\nimport Xs, { dirname as dirname$1, parse } from \"path\";\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 { execFile } from \"node:child_process\";\n//#region ../lib/src/control-plane/errors.ts\n/** Small error-handling utilities shared across the control plane. */\n/**\n* Normalize an unknown thrown value to a human-readable message string.\n*\n* Replaces the `err instanceof Error ? err.message : String(err)` idiom that\n* recurs across control-plane modules. An `Error` yields its `message`; anything\n* else is coerced with `String(...)`.\n*/\nfunction errMessage(err) {\n\treturn err instanceof Error ? err.message : String(err);\n}\n//#endregion\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}\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}\n/**\n* `-pre-rollback`/`-pre-update` suffixed backups are safety snapshots taken\n* right before a destructive restore/upgrade — they may be the only surviving\n* copy of data lost elsewhere (a stripped secret value, a clobbered\n* moderation.md edit). Pruning must never touch them, regardless of the\n* `keep` count or how old they are.\n*/\nfunction isProtectedRecoveryBackup(dirPath) {\n\treturn /-pre-(rollback|update)$/.test(dirPath);\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).filter((dir) => !isProtectedRecoveryBackup(dir)).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/compose-services.ts\nvar import_dist = require_dist();\n/**\n* Normalize a compose `labels:` value (either an array of `KEY=VALUE`\n* strings or a map) into a flat record. Mirrors Docker Compose semantics.\n*/\nfunction normalizeLabels(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}\n/**\n* Parse a compose document's `services:` into typed, normalized services.\n*\n* Returns `[]` when there is no `services` map. Throws only if the YAML\n* itself is malformed (the `yaml` parser throws) — callers decide how to\n* recover.\n*/\nfunction parseComposeServices(yaml) {\n\tconst doc = (0, import_dist.parse)(yaml);\n\tif (!doc || typeof doc !== \"object\") return [];\n\tconst services = doc.services;\n\tif (!services || typeof services !== \"object\" || Array.isArray(services)) return [];\n\tconst out = [];\n\tfor (const [name, raw] of Object.entries(services)) {\n\t\tconst service = {\n\t\t\tname,\n\t\t\tprofiles: [],\n\t\t\tlabels: {}\n\t\t};\n\t\tif (raw && typeof raw === \"object\") {\n\t\t\tconst obj = raw;\n\t\t\tif (Array.isArray(obj.profiles)) service.profiles = obj.profiles.filter((p) => typeof p === \"string\");\n\t\t\tservice.labels = normalizeLabels(obj.labels);\n\t\t}\n\t\tout.push(service);\n\t}\n\treturn out;\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 (four-tree ownership — constitution §1):\n* config/ — USER: editable config + system config files (akm/)\n* config/stack/ — USER: the custom.compose.yml overlay ONLY (seeded once, never overwritten)\n* system/stack/ — MANAGED: fixed compose files (core/services/portals), overwritten on reconcile\n* data/ — RUNTIME: persistent service data, logs, backups, rollback (never written by install/update)\n* knowledge/ — USER/services: akm knowledge (env, secrets, tasks); env/stack.env holds\n* non-secret base Compose configuration only\n* workspace/ — USER: shared assistant work area\n* state/ — app-written records (version pins, enabled add-ons, channel, setup);\n* stack.state.env is merged OVER legacy stack.env at compose time, so\n* pins/channel/add-ons live here, not in knowledge/env/stack.env\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 stackDirFor(resolveOpenPalmHome());\n}\n/** The managed compose dir for a home root (homeDir-param form of resolveStackDir). */\nfunction stackDirFor(home) {\n\treturn `${home}/system/stack`;\n}\n/** A MANAGED fixed compose file in the system stack dir (overwritten on reconcile). */\nfunction composeFilePath(home, name) {\n\treturn `${stackDirFor(home)}/${name}`;\n}\n/**\n* The USER-owned custom compose overlay. It lives in the user tree\n* (config/stack/), NOT the managed system/stack/ — co-locating a never-overwrite\n* user file inside the wholesale-overwritten managed tree is forbidden by the\n* four-tree ownership model (constitution §1). Seeded once, never clobbered.\n*/\nfunction customComposeFilePath(home) {\n\treturn `${home}/config/stack/custom.compose.yml`;\n}\n/** Pins/add-ons/channel state (constitution §1) — OP_HOME/state. */\nfunction stateEnvFile(home) {\n\treturn `${home}/state/stack.state.env`;\n}\nfunction hostIdentityFile(home) {\n\treturn `${home}/state/host-identity.json`;\n}\n/** Pre-split system env; read only as a transition fallback, then deleted. */\nfunction legacyStackEnvFile(home) {\n\treturn `${home}/knowledge/env/stack.env`;\n}\nfunction secretsDir(home) {\n\treturn `${home}/knowledge/secrets`;\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}/config/stack`,\n\t\t`${home}/data`,\n\t\t`${home}/data/assistant`,\n\t\t`${home}/data/assistant/.cache`,\n\t\t`${home}/data/assistant/.config/opencode`,\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/.config/opencode`,\n\t\t`${home}/data/guardian/.local/share/opencode`,\n\t\t`${home}/data/guardian/.local/state/opencode`,\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}/system/stack`,\n\t\t`${home}/system/assistant`,\n\t\t`${home}/system/guardian`,\n\t\t`${home}/state`\n\t]) mkdirSync(dir, { recursive: true });\n\tfor (const file of [`${home}/data/assistant/.local/share/opencode/auth.json`, `${home}/data/guardian/.local/share/opencode/auth.json`]) if (!existsSync(file)) writeFileSync(file, \"\");\n}\nvar package_default = {\n\tname: \"@openpalm/lib\",\n\tversion: \"0.13.0-beta.8\",\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/*.js\": \"./src/control-plane/*.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\"multicast-dns\": \"^7.2.5\",\n\t\t\"tar\": \"^7.5.15\",\n\t\t\"yaml\": \"^2.8.0\"\n\t},\n\tdevDependencies: {\n\t\t\"@types/multicast-dns\": \"^7.2.4\",\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* Matches an Electron desktop-app installer asset by filename. Anchored to\n* `^OpenPalm-` so it excludes CLI binaries and deploy bundles; `.zip` is the\n* Windows installer. This is the ONE definition shared by every consumer that\n* asks \"does this GitHub release actually ship an installer\" — the UI's\n* `selectInstallableReleases` (packages/ui) and the desktop app's notify-only\n* update check (packages/electron). A release whose assets fail this pattern is\n* NOT an installable app update, no matter how new its tag is (a platform patch\n* published with include_electron=false ships a newer bare X.Y.Z release with\n* CLI/deploy assets only).\n*/\nvar ELECTRON_ASSET_PATTERN = /^OpenPalm-.*\\.(dmg|AppImage|zip|deb|rpm|pkg)$/i;\n/**\n* The canonical control-plane / platform version.\n*\n* This is the ONE source of truth for \"which @openpalm/lib + lifecycle is\n* 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 BARE (npm form, no `v`) — the canonical spelling everywhere. Docker\n* image tags, git tags, `.skeleton-version`, `OP_RELEASE_VERSION`, and\n* `OP_*_VERSION` are all bare as of 0.12.41 (the `v` prefix was retired); reads\n* still tolerate a legacy leading `v` via `normalizeVersion`. A `v`-prefixed\n* PLATFORM_VERSION was the source of a false-mismatch bug class (\"v0.12.37\"\n* stamp vs \"0.12.37\" tag).\n*/\nvar PLATFORM_VERSION = normalizeVersion(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}\nfunction majorVersionOf(version) {\n\tif (version == null || !isComparableSemver(version)) return null;\n\treturn parseComparableVersion(version).major;\n}\nfunction isSameMajorVersion(a, b) {\n\tconst aMajor = majorVersionOf(a);\n\tconst bMajor = majorVersionOf(b);\n\treturn aMajor !== null && bMajor !== null && aMajor === bMajor;\n}\n/**\n* Canonical bare form: strip a single legacy leading `v` and trim. `v0.12.0` →\n* `0.12.0`. Pass-through for an already-bare version. Empty/whitespace → ''.\n* This is the form written to stack.env (`OP_*_VERSION`), used as the Docker\n* image tag, and stamped into `.skeleton-version`.\n*/\nfunction normalizeVersion(version) {\n\treturn (version ?? \"\").trim().replace(/^v/, \"\");\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 (version == null || !isComparableSemver(version)) return false;\n\treturn parseComparableVersion(version).prerelease !== null;\n}\n/**\n* The npm dist-tag channel a release stream tracks: prereleases ride `next`,\n* stable rides `latest`. Canonical home for the prerelease→channel mapping.\n*/\nfunction distTagForVersion(version) {\n\treturn isPrerelease(version) ? \"next\" : \"latest\";\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* system/stack/ — system-owned compose files, refreshed every reconcile\n*\n* This module manages runtime-owned core files only.\n* Addon compose bundle generation and registry catalog refresh are handled\n* separately in addons.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$8 = createLogger(\"core-assets\");\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()}/system/stack/core.compose.yml`;\n\tif (existsSync(livePath)) return readFileSync(livePath, \"utf-8\");\n\treturn readFileSync(bundledAssetPath(\"system/stack/core.compose.yml\"), \"utf-8\");\n}\nfunction readBundledStackAsset(name) {\n\ttry {\n\t\treturn readFileSync(bundledAssetPath(`system/stack/${name}`), \"utf-8\");\n\t} catch (err) {\n\t\tlogger$8.warn(\"bundled stack asset unavailable (returning empty)\", {\n\t\t\tname,\n\t\t\terror: errMessage(err)\n\t\t});\n\t\treturn \"\";\n\t}\n}\n/**\n* The bundled USER custom.compose.yml default. Unlike the managed trio it ships\n* in the user tree (config/stack/), so it is resolved separately. Used only to\n* seed the file once when absent — never to overwrite an existing user overlay.\n*/\nfunction readBundledCustomCompose() {\n\ttry {\n\t\treturn readFileSync(bundledAssetPath(\"config/stack/custom.compose.yml\"), \"utf-8\");\n\t} catch (err) {\n\t\tlogger$8.warn(\"bundled custom.compose.yml unavailable (returning empty)\", { error: errMessage(err) });\n\t\treturn \"\";\n\t}\n}\nfunction ensureOpenCodeSystemConfig() {\n\tmkdirSync(`${resolveDataDir()}/assistant`, { recursive: true });\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}\n/**\n* Overwrite the entire MANAGED `system/` tree from the release skeleton.\n*\n* This is the \"overwrite the managed tree\" primitive (constitution §1):\n* `system/` IS the skeleton, so every install/update blind-copies the release's\n* `system/` over OP_HOME/system — compose stack AND the system OpenCode config\n* (plugins/permissions/instructions). Unchanged files are skipped; changed ones\n* are backed up first (full recovery). User trees, `data/`, and `state/` are\n* NEVER touched here — that is the caller's seed-if-missing step.\n*/\nfunction overwriteSystemTree(sourceRoot, homeDir = resolveOpenPalmHome()) {\n\tconst updated = [];\n\tlet backupDir = null;\n\tconst sysSource = join(sourceRoot, \"system\");\n\tif (!existsSync(sysSource)) return {\n\t\tbackupDir,\n\t\tupdated\n\t};\n\tfor (const entry of readdirSync(sysSource, {\n\t\trecursive: true,\n\t\twithFileTypes: true\n\t})) {\n\t\tif (!entry.isFile()) continue;\n\t\tconst sourcePath = join(entry.parentPath ?? entry.path, entry.name);\n\t\tconst rel = join(\"system\", relative(sysSource, sourcePath));\n\t\tconst targetPath = join(homeDir, rel);\n\t\tconst freshContent = readFileSync(sourcePath);\n\t\tif (existsSync(targetPath)) {\n\t\t\tif (sha256(readFileSync(targetPath).toString(\"utf-8\")) === sha256(freshContent.toString(\"utf-8\"))) continue;\n\t\t\tbackupDir = backupExistingFile(targetPath, rel, backupDir);\n\t\t}\n\t\tmkdirSync(dirname(targetPath), { recursive: true });\n\t\twriteFileSync(targetPath, freshContent);\n\t\tupdated.push(rel);\n\t}\n\treturn {\n\t\tbackupDir,\n\t\tupdated\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/retry.ts\n/**\n* Run `fn` with bounded retries on a fixed delay schedule.\n*\n* `fn` is attempted `delays.length` times. Before attempt `i` the helper waits\n* `delays[i]` ms (skipped when `<= 0`). A returned value resolves immediately; a\n* thrown error is swallowed and the next attempt is made. When every attempt has\n* thrown, the *last* error is rethrown.\n*\n* This is an exception-retry primitive: only thrown errors trigger a retry. Poll\n* loops that branch on a returned *value* (rather than throwing) are a different\n* shape and are intentionally not modeled here.\n*/\nasync function retry(fn, opts) {\n\tconst sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));\n\tlet lastError;\n\tfor (let attempt = 0; attempt < opts.delays.length; attempt++) {\n\t\tif (opts.delays[attempt] > 0) await sleep(opts.delays[attempt]);\n\t\ttry {\n\t\t\treturn await fn(attempt);\n\t\t} catch (err) {\n\t\t\tlastError = err;\n\t\t}\n\t}\n\tthrow lastError;\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/npm-bundle-updater.ts\n/**\n* Generic npm-tarball download / verify / stage / swap engine.\n*\n* The UI build (`@openpalm/ui`) and the OP_HOME skeleton (`@openpalm/skeleton`)\n* are both independently-versioned npm packages the control plane hot-swaps at\n* runtime through the SAME pipeline: resolve a channel/version, fetch the\n* registry manifest, download the tarball, verify its sha512 integrity\n* (fail-closed), extract into a staging dir, validate, then atomically swap it\n* into place — backing up the previous copy first. The two flows diverge only\n* in a handful of policy knobs (strip depth, tarball filter, staging validation,\n* the swap destination, the version stamp, the harness-contract gate, and\n* restore-on-failure vs. return-the-backup). This module captures the shared\n* mechanics; ui-assets.ts instantiates it twice with those knobs as parameters.\n*\n* Node.js-compatible only (no Bun.* APIs) — consumed by the CLI and Electron.\n*/\nvar logger$7 = createLogger(\"lib:npm-bundle\");\nvar NPM_REGISTRY = \"https://registry.npmjs.org\";\n/**\n* Fetch a URL with bounded retries. Retries on network error or 5xx; a 4xx is\n* returned as-is (the caller decides). Throws only after exhausting retries.\n*/\nasync function fetchWithRetry(url, retries = 3) {\n\treturn retry(async () => {\n\t\tconst res = await fetch(url, { signal: AbortSignal.timeout(6e4) });\n\t\tif (res.ok || res.status < 500) return res;\n\t\tthrow new Error(`Failed to fetch ${url} after ${retries} attempts`);\n\t}, { delays: Array.from({ length: retries }, (_, i) => i === 0 ? 0 : 200 * 2 ** (i - 1)) });\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 `manifest.tarball`, verify its integrity fail-closed, extract it into\n* a fresh staging dir under `dataDir`, validate, and RETURN the staging path.\n*\n* The caller owns the staging dir on success (swap it into place, then remove\n* it). On any failure the staging dir is removed and the error rethrown; the\n* temp tarball is always cleaned up.\n*/\nasync function stageNpmBundle(manifest, dataDir, opts) {\n\tconst res = await fetchWithRetry(manifest.tarball);\n\tif (!res.ok) throw new Error(`Failed to download ${opts.label} bundle (HTTP ${res.status})`);\n\tconst data = new Uint8Array(await res.arrayBuffer());\n\tif (!manifest.integrity) throw new Error(`npm manifest for ${opts.packageName}@${manifest.version} has no integrity hash — refusing to install unverified`);\n\tverifyNpmIntegrity(data, manifest.integrity);\n\tlogger$7.debug(`${opts.label} bundle integrity verified`, { version: manifest.version });\n\tconst tmpTar = join(dataDir, opts.tmpTarName);\n\tconst staging = join(dataDir, opts.stagingName);\n\trmSync(staging, {\n\t\trecursive: true,\n\t\tforce: true\n\t});\n\tmkdirSync(staging, { recursive: true });\n\ttry {\n\t\twriteFileSync(tmpTar, data);\n\t\tawait fo({\n\t\t\tfile: tmpTar,\n\t\t\tcwd: staging,\n\t\t\tstrip: opts.strip,\n\t\t\t...opts.filter ? { filter: opts.filter } : {}\n\t\t});\n\t\topts.validate(staging);\n\t\treturn staging;\n\t} catch (err) {\n\t\trmSync(staging, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\tthrow err;\n\t} finally {\n\t\trmSync(tmpTar, { force: true });\n\t}\n}\n/**\n* Shared \"is there a newer bundle on our channel? if so, back up + swap it in\"\n* flow. Never auto-crosses a major version. Non-fatal: any network/extraction\n* error is caught and routed through `onError` so the caller proceeds with the\n* existing bundle.\n*/\nasync function checkAndUpdateNpmBundle(cfg) {\n\tlet backupDir;\n\ttry {\n\t\tconst manifest = await cfg.resolveManifest();\n\t\tconst latestVersion = manifest.version;\n\t\tconst gated = cfg.preflight?.(manifest);\n\t\tif (gated) return gated;\n\t\tconst currentVersion = cfg.readCurrentVersion();\n\t\tconst currentVersionForPolicy = currentVersion ?? cfg.appVersion;\n\t\tif (!isSameMajorVersion(latestVersion, currentVersionForPolicy)) {\n\t\t\tlogger$7.debug(`${cfg.logLabel} update blocked by major-version policy`, {\n\t\t\t\tcurrent: currentVersion ?? \"(unstamped)\",\n\t\t\t\tpolicyBase: currentVersionForPolicy,\n\t\t\t\tlatest: latestVersion\n\t\t\t});\n\t\t\treturn cfg.onBlockedMajor(latestVersion);\n\t\t}\n\t\tif (currentVersion && compareComparableVersions(latestVersion, currentVersion) <= 0) {\n\t\t\tlogger$7.debug(`${cfg.logLabel} is up to date`, {\n\t\t\t\tcurrent: currentVersion,\n\t\t\t\tlatest: latestVersion\n\t\t\t});\n\t\t\treturn cfg.onUpToDate(latestVersion);\n\t\t}\n\t\tif (!currentVersion) logger$7.debug(`${cfg.logLabel} is unstamped — refreshing from npm`, { latest: latestVersion });\n\t\tif (existsSync(cfg.backup.gate)) {\n\t\t\tbackupDir = join(resolveBackupsDir(), `${cfg.backup.prefix}-${Date.now()}`);\n\t\t\tmkdirSync(resolveBackupsDir(), { recursive: true });\n\t\t\trenameSync(cfg.backup.dir, backupDir);\n\t\t\tlogger$7.debug(`backed up ${cfg.logLabel} before update`, { backup: backupDir });\n\t\t}\n\t\tawait cfg.install(manifest);\n\t\tcfg.afterInstall?.(manifest);\n\t\tlogger$7.debug(`${cfg.logLabel} updated`, {\n\t\t\tfrom: currentVersion ?? \"(unstamped)\",\n\t\t\tto: latestVersion\n\t\t});\n\t\treturn cfg.onSuccess(latestVersion, backupDir);\n\t} catch (err) {\n\t\tconst error = errMessage(err);\n\t\tlogger$7.debug(`${cfg.logLabel} update check failed (non-fatal)`, { error });\n\t\tif (cfg.restoreOnFailure && backupDir && !existsSync(cfg.backup.dir)) try {\n\t\t\trenameSync(backupDir, cfg.backup.dir);\n\t\t\tlogger$7.debug(`${cfg.logLabel} backup restored after failed update`, { restored: backupDir });\n\t\t} catch (restoreErr) {\n\t\t\tlogger$7.debug(`${cfg.logLabel} backup restore also failed`, {\n\t\t\t\tbackup: backupDir,\n\t\t\t\trestoreError: errMessage(restoreErr)\n\t\t\t});\n\t\t}\n\t\treturn cfg.onError(error, backupDir);\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 → applyHomeSeed 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$6 = createLogger(\"lib:ui-assets\");\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 applyHomeSeed 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* Seed the bundled `.openpalm/` skeleton into OP_HOME.\n*\n* Called on every install/update. Per constitution §1 and §8:\n* - system/ (managed tree) is ALWAYS overwritten from the release skeleton.\n* - User trees (config/, knowledge/, workspace/, data/) are seeded-once via\n* copyTree({skipExisting:true}) — existing files are never overwritten.\n*\n* No version-stamp gate. skipExisting already preserves user edits, so running\n* unconditionally is both correct and simpler. Changed managed files are backed\n* up first by overwriteSystemTree.\n*/\nasync function applyHomeSeed(repoRef, homeDir, _configDir, dataDir) {\n\tlet local = resolveLocalOpenpalmDir();\n\tlet staged = null;\n\tif (!local) {\n\t\tlogger$6.debug(\"no local skeleton found — downloading @openpalm/skeleton from npm\", { repoRef });\n\t\ttry {\n\t\t\tstaged = await fetchRemoteSkeleton(repoRef, dataDir);\n\t\t} catch (err) {\n\t\t\tthrow new Error(`Could not obtain @openpalm/skeleton: ${errMessage(err)}. Check network access, or set OPENPALM_REPO_ROOT to a source checkout for development.`);\n\t\t}\n\t\tlocal = staged;\n\t}\n\ttry {\n\t\tconst { updated, backupDir } = overwriteSystemTree(local, homeDir);\n\t\tif (updated.length) logger$6.debug(\"overwrote managed system/ tree\", { refreshed: updated });\n\t\tlogger$6.debug(\"seeding .openpalm from skeleton source\", {\n\t\t\tsrc: local,\n\t\t\trepoRef\n\t\t});\n\t\tcopyTree(local, homeDir, { skipExisting: true });\n\t\treturn {\n\t\t\tupdated,\n\t\t\tbackupDir\n\t\t};\n\t} finally {\n\t\tif (staged) rmSync(staged, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t}\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* Resolve which UI build to run.\n*\n* Two channels exist: the bundled build (shipped inside the AppImage / source\n* tree) and `data/ui` (operator-updatable, seeded from the @openpalm/ui npm\n* registry tarball). To fix\n* the stale-`data/ui` shadowing bug AND stay forward-compatible with updating the\n* UI without shipping a new app (D5), selection is VERSION-AWARE:\n*\n* - If only one channel has a build → use it.\n* - If both exist → use `data/ui` ONLY when it is strictly NEWER than the\n* bundled build (per the version stamp); otherwise prefer the bundled build.\n* An unstamped/older `data/ui` never shadows a newer bundled build.\n*\n* This means a fresh app runs its bundled UI, and a future \"update UI only\" flow\n* (seed a newer-stamped build into data/ui) is picked up automatically — no app\n* reinstall required.\n*/\nfunction resolveUiBuildDir() {\n\tconst dataBuild = join(resolveDataDir(), \"ui\");\n\tconst hasData = existsSync(join(dataBuild, \"index.js\"));\n\tconst bundledRaw = resolveLocalUiBuild();\n\tconst bundled = bundledRaw && existsSync(join(bundledRaw, \"index.js\")) ? bundledRaw : null;\n\tif (hasData && bundled) {\n\t\tconst dataVer = readUiBuildVersion(dataBuild);\n\t\tconst bundledVer = readUiBuildVersion(bundled);\n\t\tif (dataVer && bundledVer && compareComparableVersions(dataVer, bundledVer) > 0) return dataBuild;\n\t\tif (!dataVer) logger$6.warn(\"data/ui present but UNSTAMPED — ignoring it and running the frozen bundled UI build; the downloaded control plane is NOT executing\", {\n\t\t\tdataBuild,\n\t\t\tbundled,\n\t\t\tbundledVersion: bundledVer ?? \"(unstamped)\"\n\t\t});\n\t\telse logger$6.warn(\"data/ui present but not strictly newer than the bundled build — running the frozen bundled UI build\", {\n\t\t\tdataBuild,\n\t\t\tdataVersion: dataVer,\n\t\t\tbundled,\n\t\t\tbundledVersion: bundledVer ?? \"(unstamped)\"\n\t\t});\n\t\treturn bundled;\n\t}\n\tif (hasData) return dataBuild;\n\tif (bundled) return bundled;\n\treturn dataBuild;\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 UI_PACKAGE = \"@openpalm/ui\";\n/**\n* Read an explicitly DECLARED platform channel from the environment, if any.\n*\n* This decouples the channel from the harness/app version (§6.4 of the\n* thin-harness design): a *stable* host can opt into a `next` control plane for\n* testing by setting `OP_UI_CHANNEL=next` WITHOUT faking its app version, and\n* the choice survives the harness↔platform version split. Returns null when\n* unset/blank or not one of the two valid dist-tags (caller falls back to\n* deriving the channel from the version).\n*/\nfunction declaredUiChannel() {\n\tconst raw = (process.env.OP_UI_CHANNEL ?? \"\").trim().toLowerCase();\n\treturn raw === \"latest\" || raw === \"next\" ? raw : null;\n}\n/**\n* The npm dist-tag channel a release stream tracks: prereleases ride `next`,\n* stable rides `latest`. `@openpalm/ui` is independently versioned (it publishes\n* on its own `publish-ui.yml` workflow, like the channel adapters), so the\n* desktop/host updaters can't compare a UI version against the app version —\n* they pick the CHANNEL from the app's release stream and then resolve the\n* newest UI on that channel.\n*\n* An EXPLICITLY declared channel (`OP_UI_CHANNEL` or the `channel` argument)\n* always wins over the version-derived default, so a stable host can opt into a\n* `next` control plane without faking its version. Falls back to\n* `distTagForVersion` (the canonical prerelease→channel mapping from Stage 1).\n*/\nfunction uiUpdateChannel(appVersion, channel) {\n\treturn channel ?? declaredUiChannel() ?? distTagForVersion(appVersion);\n}\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 : null;\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* Resolve a channel to the npm version ref to install.\n*\n* `latest` → the @latest dist-tag (newest STABLE) — unchanged.\n* `next` → the NEWEST published version across ALL dist-tags.\n*\n* Why not just `@next`: prereleases publish to a SUFFIX dist-tag (X.Y.Z-beta.N →\n* `beta`, -rc.N → `rc`), NOT a single moving `next` tag — so the `next` tag goes\n* stale (it sat at 0.12.0-rc.8 while betas shipped to `beta`). Resolving `@next`\n* therefore froze (or downgraded) the prerelease channel. Mirroring the Docker\n* resolver (which lists tags and picks the newest on-channel), take max(dist-tags)\n* = the true bleeding edge (latest beta/rc/stable, whichever is newest).\n*/\nasync function resolveChannelRef(pkg, channel) {\n\tif (channel === \"latest\") return \"latest\";\n\tconst res = await fetchWithRetry(`${NPM_REGISTRY}/-/package/${encodeURIComponent(pkg)}/dist-tags`);\n\tif (!res.ok) throw new Error(`npm registry returned HTTP ${res.status} for ${pkg} dist-tags`);\n\tconst tags = await res.json();\n\tconst versions = Object.values(tags).filter((v) => typeof v === \"string\" && v.length > 0);\n\tif (versions.length === 0) return \"next\";\n\treturn versions.reduce((newest, v) => compareComparableVersions(v, newest) > 0 ? v : newest);\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: stageNpmBundle throws if integrity is missing or\n* mismatched (the contract is that npm always provides a sha512) and validates the\n* staged build has a runnable `index.js` before we swap it over `uiDir` — so a\n* truncated download or bad tarball never leaves `uiDir` empty.\n*/\nasync function downloadNpmUiBundle(manifest, uiDir, dataDir) {\n\tconst staging = await stageNpmBundle(manifest, dataDir, {\n\t\tpackageName: UI_PACKAGE,\n\t\tlabel: \"UI\",\n\t\ttmpTarName: \".ui-build.tgz.tmp\",\n\t\tstagingName: \".ui-build.staging\",\n\t\tstrip: 2,\n\t\tfilter: (p) => p.startsWith(\"package/build/\"),\n\t\tvalidate: (s) => {\n\t\t\tif (!existsSync(join(s, \"index.js\"))) throw new Error(\"downloaded UI bundle is missing build/index.js\");\n\t\t}\n\t});\n\ttry {\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(staging, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t}\n}\n/**\n* Check npm for a newer `@openpalm/ui` build and apply it if one exists.\n*\n* `@openpalm/ui` is INDEPENDENTLY versioned, so we do NOT compare against the\n* app/platform version. We pick the dist-tag CHANNEL from the app's release\n* stream (`appVersion`: prerelease → `next`, stable → `latest`) and compare the\n* newest UI on that channel against the version actually on disk (the stamp in\n* the resolved build). This tracks prerelease UIs for prerelease apps and fixes\n* the `releases/latest`-excludes-prereleases blind spot.\n*\n* When an update is available:\n* 1. Move data/ui/ → data/backups/ui-{timestamp}/ (preserves the old build)\n* 2. Download the npm bundle (integrity-verified) and extract to data/ui/\n*\n* Non-fatal: any network or extraction error returns { updated: false, error }.\n* The caller should proceed with the existing build on failure.\n*/\nasync function checkAndUpdateUiBuild(appVersion, dataDir, channelOverride, harnessContract) {\n\tconst uiDir = join(dataDir, \"ui\");\n\treturn checkAndUpdateNpmBundle({\n\t\tappVersion,\n\t\tlogLabel: \"UI build\",\n\t\tresolveManifest: async () => fetchNpmUiManifest(await resolveChannelRef(UI_PACKAGE, uiUpdateChannel(appVersion, channelOverride))),\n\t\treadCurrentVersion: () => readUiBuildVersion(resolveUiBuildDir()),\n\t\tpreflight: (manifest) => {\n\t\t\tif (typeof harnessContract === \"number\" && manifest.minHarnessContract !== null && manifest.minHarnessContract > harnessContract) {\n\t\t\t\tlogger$6.warn(\"UI build requires a newer harness — re-download required\", {\n\t\t\t\t\tlatest: manifest.version,\n\t\t\t\t\tminHarnessContract: manifest.minHarnessContract,\n\t\t\t\t\tharnessContract\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tupdated: false,\n\t\t\t\t\tlatestVersion: manifest.version,\n\t\t\t\t\tredownloadRequired: true,\n\t\t\t\t\trequiredHarnessContract: manifest.minHarnessContract\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tbackup: {\n\t\t\tdir: uiDir,\n\t\t\tgate: join(uiDir, \"index.js\"),\n\t\t\tprefix: \"ui\"\n\t\t},\n\t\tinstall: (manifest) => downloadNpmUiBundle(manifest, uiDir, dataDir),\n\t\trestoreOnFailure: false,\n\t\tonBlockedMajor: (latestVersion) => ({\n\t\t\tupdated: false,\n\t\t\tlatestVersion\n\t\t}),\n\t\tonUpToDate: (latestVersion) => ({\n\t\t\tupdated: false,\n\t\t\tlatestVersion\n\t\t}),\n\t\tonSuccess: (latestVersion, backupDir) => ({\n\t\t\tupdated: true,\n\t\t\tlatestVersion,\n\t\t\tbackupDir\n\t\t}),\n\t\tonError: (error, backupDir) => ({\n\t\t\tupdated: false,\n\t\t\tlatestVersion: null,\n\t\t\terror,\n\t\t\tbackupDir\n\t\t})\n\t});\n}\nvar SKELETON_PACKAGE = \"@openpalm/skeleton\";\nasync function fetchNpmSkeletonManifest(versionOrTag) {\n\tconst res = await fetchWithRetry(`${NPM_REGISTRY}/${SKELETON_PACKAGE}/${versionOrTag}`);\n\tif (!res.ok) throw new Error(`npm registry returned HTTP ${res.status} for ${SKELETON_PACKAGE}@${versionOrTag}`);\n\tconst m = await res.json();\n\tif (!m.version || !m.dist?.tarball) throw new Error(`npm manifest for ${SKELETON_PACKAGE}@${versionOrTag} is missing version/dist.tarball`);\n\treturn {\n\t\tversion: m.version,\n\t\ttarball: m.dist.tarball,\n\t\tintegrity: m.dist.integrity ?? null\n\t};\n}\n/**\n* Download `@openpalm/skeleton` from npm, verify integrity, and extract the FULL\n* skeleton tree into a fresh staging dir under `dataDir`, returning that path.\n* The tarball wraps the tree under `package/` (npm standard), so we strip 1 path\n* component to land config/, data/, knowledge/, system/, workspace/ directly in\n* staging.\n*\n* FAIL-CLOSED: throws if integrity is missing or wrong, or if the bundle is\n* missing system/stack/. On any failure the staging dir is removed; on success\n* the CALLER owns cleanup of the returned path.\n*/\nasync function stageSkeletonDownload(manifest, dataDir) {\n\treturn stageNpmBundle(manifest, dataDir, {\n\t\tpackageName: SKELETON_PACKAGE,\n\t\tlabel: \"skeleton\",\n\t\ttmpTarName: \".skeleton.tgz.tmp\",\n\t\tstagingName: \".skeleton.staging\",\n\t\tstrip: 1,\n\t\tvalidate: (s) => {\n\t\t\tif (!existsSync(join(s, \"system\", \"stack\"))) throw new Error(\"downloaded skeleton bundle is missing system/stack/\");\n\t\t}\n\t});\n}\n/**\n* Seed-path remote fallback for applyHomeSeed: resolve the skeleton on the\n* platform's release channel, download it, and stage the FULL tree, returning\n* that path. Mirrors seedUiBuild's local-or-download model so a packaged binary\n* never asks the user to `npm install @openpalm/skeleton` by hand. The caller\n* owns cleanup of the returned staging dir.\n*/\nasync function fetchRemoteSkeleton(repoRef, dataDir) {\n\tconst channel = uiUpdateChannel(repoRef);\n\tconst manifest = await fetchNpmSkeletonManifest(await resolveChannelRef(SKELETON_PACKAGE, channel));\n\tlogger$6.debug(\"fetching @openpalm/skeleton from npm for cold-start seed\", {\n\t\tversion: manifest.version,\n\t\tchannel\n\t});\n\treturn stageSkeletonDownload(manifest, dataDir);\n}\n//#endregion\n//#region ../lib/src/control-plane/paths.ts\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* System env: non-secret runtime configuration (the Compose `--env-file`).\n* Lives under knowledge/env/ alongside the user env file (akm `env:stack`).\n*/\nvar stackEnvPath = (s) => `${s.stashDir}/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}\n/**\n* Resolve (and harden) the secrets dir for an OP_HOME. The location comes from\n* the single source of truth (home.ts `secretsDir`) — secrets are USER-owned\n* `knowledge/secrets`, derived from `homeDir` alone, never inferred from a\n* sibling path. Ensures 0700 on the dir and 0600 on its files.\n*/\nfunction resolveSecretsDir(homeDir) {\n\tconst dir = secretsDir(homeDir);\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(homeDir, name) {\n\tvalidateSecretName(name);\n\treturn join(resolveSecretsDir(homeDir), name);\n}\nfunction readSecret(homeDir, name) {\n\tconst path = secretPath(homeDir, name);\n\tif (!existsSync(path)) return null;\n\tchmodSync(path, SECRET_FILE_MODE);\n\treturn readFileSync(path, \"utf-8\");\n}\nfunction writeSecret(homeDir, name, value) {\n\tconst path = secretPath(homeDir, name);\n\twriteFileSync(path, value, { mode: SECRET_FILE_MODE });\n\tchmodSync(path, SECRET_FILE_MODE);\n}\nfunction ensureSecret(homeDir, name, valueFactory) {\n\tconst path = secretPath(homeDir, name);\n\tconst existing = existsSync(path) && statSync(path).size === 0 ? null : readSecret(homeDir, name);\n\tif (existing !== null) return existing;\n\tconst value = valueFactory();\n\twriteSecret(homeDir, name, value);\n\treturn value;\n}\nfunction listSecretNames(homeDir) {\n\treturn readdirSync(resolveSecretsDir(homeDir), { 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(homeDir) {\n\tconst dir = resolveSecretsDir(homeDir);\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(homeDir, name) {\n\tassertSafeSecretFilename(name);\n\tconst path = join(resolveSecretsDir(homeDir), 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(homeDir, name, value) {\n\tassertSafeSecretFilename(name);\n\tconst path = join(resolveSecretsDir(homeDir), 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(homeDir, name) {\n\tassertSafeSecretFilename(name);\n\trmSync(join(resolveSecretsDir(homeDir), name), { force: true });\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/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$5 = 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$5.warn(\"failed to enforce vault directory permissions\", {\n\t\t\tvaultDir,\n\t\t\terror: errMessage(error)\n\t\t});\n\t}\n}\nfunction writeVaultFile(path, content) {\n\twriteFileAtomic(path, content, VAULT_FILE_MODE);\n\ttry {\n\t\tchmodSync(path, VAULT_FILE_MODE);\n\t} catch (error) {\n\t\tlogger$5.warn(\"failed to enforce vault file permissions\", {\n\t\t\tpath,\n\t\t\terror: errMessage(error)\n\t\t});\n\t}\n}\nfunction readStackSecretEnv(homeDir) {\n\tconst out = {};\n\tfor (const name of listSecretNames(homeDir)) {\n\t\tconst envKey = name.toUpperCase();\n\t\ttry {\n\t\t\tout[envKey] = (readSecret(homeDir, 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.homeDir);\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.homeDir, envKey.toLowerCase(), value.endsWith(\"\\n\") ? value : `${value}\\n`);\n\t}\n}\nfunction ensureSystemSecrets(state) {\n\tconst systemEnvPath = stackEnvPath(state);\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.homeDir, \"op_guardian_admin_token\", () => crypto.randomUUID().replace(/-/g, \"\"));\n\tensureSecret(state.homeDir, \"op_guardian_mcp_token\", () => crypto.randomUUID().replace(/-/g, \"\"));\n\tensureSecret(state.homeDir, \"op_api_key\", () => crypto.randomUUID().replace(/-/g, \"\"));\n\tensureSecret(state.homeDir, \"op_opencode_password\", () => 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()) {\n\t\t\tconst timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\");\n\t\t\tconst movedTo = join(state.dataDir, \"backups\", `auth.json-dir-${timestamp}`);\n\t\t\ttry {\n\t\t\t\tmkdirSync(dirname(movedTo), { recursive: true });\n\t\t\t\trenameSync(authJsonPath$1, movedTo);\n\t\t\t\tlogger$5.warn(\"auth.json was unexpectedly a directory — moved aside for recovery and replaced with a fresh file\", {\n\t\t\t\t\tpath: authJsonPath$1,\n\t\t\t\t\tmovedTo\n\t\t\t\t});\n\t\t\t} catch (moveError) {\n\t\t\t\trmSync(authJsonPath$1, {\n\t\t\t\t\trecursive: true,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t\tlogger$5.warn(\"auth.json was unexpectedly a directory — could not move it aside, deleted it and replaced with a fresh file\", {\n\t\t\t\t\tpath: authJsonPath$1,\n\t\t\t\t\terror: errMessage(moveError)\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tchmodSync(authJsonPath$1, VAULT_FILE_MODE);\n\t\t\treturn;\n\t\t}\n\t} catch (error) {\n\t\tlogger$5.warn(\"failed to repair auth.json path\", {\n\t\t\tpath: authJsonPath$1,\n\t\t\terror: errMessage(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.homeDir, 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$5.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$5.warn(\"could not rename corrupt auth.json; starting fresh\", {\n\t\t\t\tpath: authJsonPath$2,\n\t\t\t\terror: errMessage(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. */\n/**\n* The effective non-secret stack config, merging the app-written `state/` tree\n* OVER the legacy `knowledge/env/stack.env`. This matches the compose `--env-file`\n* precedence (buildEnvFiles passes legacy then state, so state wins) — so host\n* code reads the SAME effective values the running stack does. Without this merge,\n* a pin/addon recorded in state/ but stale in legacy would make the host report a\n* different value than the containers actually use (the \"current ≠ running\" trap).\n*/\nfunction readStackEnv(homeDir) {\n\tconst legacy = parseEnvFile(legacyStackEnvFile(homeDir));\n\tconst state = existsSync(stateEnvFile(homeDir)) ? parseEnvFile(stateEnvFile(homeDir)) : {};\n\tconst merged = {\n\t\t...legacy,\n\t\t...state\n\t};\n\tconst nonSecret = {};\n\tfor (const [key, value] of Object.entries(merged)) if (!isSecretLikeStackEnvKey(key)) nonSecret[key] = value;\n\treturn nonSecret;\n}\nfunction readStackRuntimeEnv(homeDir) {\n\treturn {\n\t\t...readStackEnv(homeDir),\n\t\t...readStackSecretEnv(homeDir)\n\t};\n}\nfunction patchSecretsEnvFile(homeDir, 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) {\n\t\tresolveSecretsDir(homeDir);\n\t\tfor (const [envKey, value] of Object.entries(secretPatches)) {\n\t\t\tif (!/^[A-Z0-9_]+$/.test(envKey)) throw new Error(`Invalid secret env key: ${envKey}`);\n\t\t\twriteSecret(homeDir, envKey.toLowerCase(), value.endsWith(\"\\n\") ? value : `${value}\\n`);\n\t\t}\n\t}\n\tif (Object.keys(stackPatches).length === 0) return;\n\tassertNoSecretLikeStackEnvKeys(stackPatches);\n\tconst stackEnvPath = legacyStackEnvFile(homeDir);\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}\n/**\n* Patch app-written records into OP_HOME/state/stack.state.env.\n*\n* Constitution §1: state/ is the app-written tree (setup record, enabled add-ons,\n* version pins, channel). readStackEnv / buildEnvFiles merge this OVER the legacy\n* knowledge/env/stack.env, so values written here win. This is the symmetric\n* counterpart to patchSecretsEnvFile: use it for records the app owns, so the app\n* never writes into the operator-facing stack.env. Non-secret keys only.\n*/\nfunction patchStateEnvFile(homeDir, patches) {\n\tif (Object.keys(patches).length === 0) return;\n\tassertNoSecretLikeStackEnvKeys(patches);\n\tconst path = stateEnvFile(homeDir);\n\tmkdirSync(dirname(path), {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\tlet existing = \"\";\n\ttry {\n\t\tif (existsSync(path)) existing = readFileSync(path, \"utf-8\");\n\t} catch {}\n\tlet result = mergeEnvContent(existing, patches);\n\tif (!result.endsWith(\"\\n\")) result += \"\\n\";\n\tconst tmp = `${path}.tmp`;\n\twriteFileSync(tmp, result, { mode: 384 });\n\trenameSync(tmp, path);\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* Resolve the LIVE SESSION identity — the uid/gid this process is actually\n* running as — for host-swap detection and ownership repair.\n*\n* This deliberately does NOT prefer the OP_HOME directory owner the way\n* `resolveOperatorIds` does. After a real drive move the on-disk owner is the\n* STALE previous uid; preferring it would make the \"current identity\" equal the\n* stale disk owner, every canary would match, and the swap gate would never\n* fire (the tautology this fixes). So:\n* • Non-root session (uid !== 0): the process IS the operator. Return its\n* real uid/gid directly — a moved drive's stale owner cannot mask the swap.\n* • Root session (uid 0, e.g. `sudo openpalm start`) or getuid unavailable:\n* fall back to `resolveOperatorIds` (disk-owner-preferring) so a\n* sudo-install-for-service-user still resolves the intended service account.\n* • Windows: null (no meaningful host uid).\n*/\nfunction resolveSessionIdentity(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\tif (processUid !== void 0 && processUid !== 0) {\n\t\tif (processGid === void 0) return null;\n\t\treturn {\n\t\t\tuid: processUid,\n\t\t\tgid: processGid\n\t\t};\n\t}\n\treturn resolveOperatorIds(homeDir);\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},\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 (§4.2, §5).\n*\n* SERVICE versions (`OP_*_VERSION`) are Docker image tags. They take an exact\n* tag, the moving \"latest\" / \"next\" refs, or empty (Compose falls back to\n* \"latest\"). They are never semver ranges.\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*/\n/** Docker image tags — one per deployable OpenPalm image. */\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];\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}\nvar VALID_CHANNELS = new Set([\"latest\", \"next\"]);\nfunction isChannelPreference(value) {\n\treturn VALID_CHANNELS.has(value.trim().toLowerCase());\n}\n/**\n* Read the channel preference from state (OP_UI_CHANNEL), falling back to the\n* legacy stack.env, then the default (\"latest\").\n*\n* The channel preference controls UI package self-updates. Container image tags\n* are configured directly through the version keys above.\n*/\nfunction readChannelPreference(state) {\n\tconst fromState = existsSync(stateEnvFile(state.homeDir)) ? parseEnvFile(stateEnvFile(state.homeDir)) : {};\n\tconst fromLegacy = existsSync(legacyStackEnvFile(state.homeDir)) ? parseEnvFile(legacyStackEnvFile(state.homeDir)) : {};\n\tconst raw = (fromState.OP_UI_CHANNEL ?? fromLegacy.OP_UI_CHANNEL ?? \"\").trim().toLowerCase();\n\treturn VALID_CHANNELS.has(raw) ? raw : distTagForVersion(PLATFORM_VERSION);\n}\n/**\n* Write the channel preference to the state file (atomically: temp + rename).\n* Only \"latest\" and \"next\" are valid; an invalid value throws.\n*/\nfunction writeChannelPreference(state, channel) {\n\tconst normalized = channel.trim().toLowerCase();\n\tif (!VALID_CHANNELS.has(normalized)) throw new Error(`Invalid channel preference: ${JSON.stringify(channel)}. Must be \"latest\" or \"next\".`);\n\tconst path = stateEnvFile(state.homeDir);\n\tmkdirSync(`${state.homeDir}/state`, {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\tconst current = existsSync(path) ? readFileSync(path, \"utf-8\") : \"\";\n\tconst tmp = `${path}.tmp`;\n\twriteFileSync(tmp, mergeEnvContent(current, { OP_UI_CHANNEL: normalized }), { mode: 384 });\n\trenameSync(tmp, path);\n}\n/**\n* Read configured image tags from app-owned state. Legacy stack.env version\n* values represented the previously applied release on older installs, not a\n* deliberate pin, so treating them as pins would freeze updates.\n*/\nfunction readVersions(state) {\n\tconst fromState = existsSync(stateEnvFile(state.homeDir)) ? parseEnvFile(stateEnvFile(state.homeDir)) : {};\n\tconst out = {};\n\tfor (const key of SERVICE_VERSION_KEYS) out[key] = fromState[key] ?? VERSION_DEFAULTS[key];\n\treturn out;\n}\n/** Ensure every image has an explicit state value that overrides legacy env files. */\nfunction ensureVersionDefaults(state) {\n\tconst path = stateEnvFile(state.homeDir);\n\tconst current = existsSync(path) ? parseEnvFile(path) : {};\n\tconst missing = {};\n\tfor (const key of SERVICE_VERSION_KEYS) if (current[key] === void 0) missing[key] = VERSION_DEFAULTS[key];\n\twriteVersions(state, missing);\n}\n/**\n* Write validated version tags to the state file (atomically: temp + rename).\n* Only SERVICE_VERSION_KEYS are accepted, so a typo or hostile caller can't smuggle\n* arbitrary env into the stack config. mergeEnvContent preserves any existing state\n* keys/comments. Supplied values, including `latest` and `next`, are persisted\n* honestly as the desired Compose configuration.\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 = stateEnvFile(state.homeDir);\n\tmkdirSync(`${state.homeDir}/state`, {\n\t\trecursive: true,\n\t\tmode: 448\n\t});\n\tconst current = existsSync(path) ? readFileSync(path, \"utf-8\") : \"\";\n\tconst tmp = `${path}.tmp`;\n\twriteFileSync(tmp, mergeEnvContent(current, accepted), { mode: 384 });\n\trenameSync(tmp, path);\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$4 = 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 [legacyStackEnvFile(state.homeDir), stateEnvFile(state.homeDir)].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 = stackEnvPath(state);\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\tfor (const { key, value } of removed) writeSecret(state.homeDir, key.toLowerCase(), value.endsWith(\"\\n\") ? value : `${value}\\n`);\n\t\tconst removedKeys = removed.map((r) => r.key);\n\t\tlogger$4.warn(\"Removed secret-looking keys from stack.env; relocated values to knowledge/secrets/\", {\n\t\t\tremovedKeys,\n\t\t\tstackEnvPath: systemEnvPath\n\t\t});\n\t\trecordSecretStripNotice(state, removedKeys);\n\t}\n\tassertNoSecretLikeStackEnvKeys(parseEnvContent(base));\n\tassertNoSecretLikeStackEnvKeys(adminManaged);\n\twriteFileAtomic(systemEnvPath, mergeEnvContent(base, adminManaged, { sectionHeader: \"# ── Admin-managed ──────────────────────────────────────────────────\" }), 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\tlet value = trimmed.slice(eq + 1).trim();\n\t\t\t\tif (value.startsWith(\"\\\"\") && value.endsWith(\"\\\"\") || value.startsWith(\"'\") && value.endsWith(\"'\")) value = value.slice(1, -1);\n\t\t\t\tremoved.push({\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue\n\t\t\t\t});\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$4.warn(\"Could not persist secret-strip notice\", { error: errMessage(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$4.warn(\"Could not dismiss secret-strip notice\", { error: errMessage(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\"# ── 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(homeDir) {\n\tconst files = [];\n\tfor (const name of [\n\t\t\"core.compose.yml\",\n\t\t\"services.compose.yml\",\n\t\t\"portals.compose.yml\"\n\t]) {\n\t\tconst composePath = composeFilePath(homeDir, name);\n\t\tif (existsSync(composePath)) files.push(composePath);\n\t}\n\tconst custom = customComposeFilePath(homeDir);\n\tif (existsSync(custom)) files.push(custom);\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(homeDir, addon) {\n\treturn ensureSecret(homeDir, 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 operatorIds = resolveOperatorIds(state.homeDir);\n\tfor (const mount of discoverHomeBindMountSources(state)) {\n\t\tif (existsSync(mount.path)) continue;\n\t\tif (mount.isFile) {\n\t\t\tconst parent = dirname(mount.path);\n\t\t\tmkdirSync(parent, { recursive: true });\n\t\t\twriteFileSync(mount.path, \"\");\n\t\t\tchownVolumeTarget(parent, operatorIds);\n\t\t\tchownVolumeTarget(mount.path, operatorIds);\n\t\t} else {\n\t\t\tmkdirSync(mount.path, { recursive: true });\n\t\t\tchownVolumeTarget(mount.path, operatorIds);\n\t\t}\n\t}\n}\nfunction discoverHomeBindMountSources(state, resolveConfig = composeConfigJsonSync) {\n\tconst composeFiles = discoverStackOverlays(state.homeDir);\n\tif (composeFiles.length === 0) return [];\n\tconst { ok, config, stderr } = resolveConfig({\n\t\tfiles: composeFiles,\n\t\tenvFiles: [stackEnvPath(state)]\n\t});\n\tif (!ok || !config?.services) {\n\t\tlogger$4.warn(`Could not resolve compose config for bind-mount pre-creation: ${stderr}`);\n\t\treturn [];\n\t}\n\tconst homeRoot = resolve(state.homeDir);\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst mounts = [];\n\tfor (const svc of Object.values(config.services)) for (const vol of svc?.volumes ?? []) {\n\t\tif (vol.type && vol.type !== \"bind\") continue;\n\t\tconst source = vol.source;\n\t\tif (!source?.startsWith(\"/\")) continue;\n\t\tconst resolvedHostPath = resolve(source);\n\t\tif (!resolvedHostPath.startsWith(`${homeRoot}/`) && resolvedHostPath !== homeRoot) continue;\n\t\tif (seen.has(resolvedHostPath)) continue;\n\t\tseen.add(resolvedHostPath);\n\t\tmounts.push({\n\t\t\tpath: resolvedHostPath,\n\t\t\tisFile: isFileMount(resolvedHostPath)\n\t\t});\n\t}\n\treturn mounts;\n}\n/**\n* Decide whether a bind-mount target should be pre-created as a file vs a\n* directory, from the resolved host path alone.\n*\n* Docker's resolved project view normalizes every host mount to `type: bind`\n* (short- and long-form alike), so it carries no file-vs-directory signal —\n* that distinction is inherently ours. We use a basename heuristic: a dot in\n* the basename means a file (e.g. `auth.json`, the only file mounts the shipped\n* stack declares). It is imperfect for dotted *directory* names like `data.v2`\n* (none exist in the shipped stack); prefer dotless directory names in compose\n* files to avoid relying on it.\n*/\nfunction isFileMount(resolvedHostPath) {\n\treturn (resolvedHostPath.split(\"/\").pop() ?? \"\").includes(\".\");\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$4.warn(`Could not chown volume target ${path} to ${operatorIds.uid}:${operatorIds.gid}: ${errMessage(error)}`);\n\t}\n}\nfunction writeRuntimeFiles(state) {\n\tmkdirSync(state.stackDir, { recursive: true });\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 = customComposeFilePath(state.homeDir);\n\tif (!existsSync(customComposePath)) {\n\t\tmkdirSync(dirname(customComposePath), { recursive: true });\n\t\twriteFileSync(customComposePath, readBundledCustomCompose());\n\t}\n\tfor (const addon of listEnabledAddonIds(state.homeDir)) if (PORTAL_SECRET_ADDON_IDS.includes(addon)) {\n\t\tfor (const portal of PORTAL_SECRET_ADDON_IDS) ensurePortalSecret(state.homeDir, 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/addon-availability.ts\n/**\n* Host-capability detection for addon profiles.\n*\n* Split out from addons.ts: these probes inspect the *host* (docker runtimes,\n* GPU device nodes, published image manifests) rather than compose/state, so\n* they belong to their own cohesive module. Everything here uses execFile (no\n* shell) and never throws — errors collapse to `{ available: false, reason }`.\n*/\nvar HOST_PROBE_TIMEOUT_MS = 2e3;\nvar availabilityCache = /* @__PURE__ */ new Map();\n/**\n* execFile wrapper that never throws and synthesises actionable stderr for\n* spawn errors.\n*\n* ENOENT (binary missing) surfaces here with no stderr — child_process never\n* gets to exec the program. Inject a synthetic stderr that matches the\n* translateDockerError ENOENT regex so callers get actionable copy instead of\n* \"unknown error (no stderr)\".\n*/\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: ${errMessage(err)}`\n\t\t};\n\t}\n\tavailabilityCache.set(cacheKey, result);\n\treturn result;\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# Appearance\n# ---\n\n# Display name used in Slack modal titles and the App Home tab.\n# Default: OpenPalm\nSLACK_BOT_NAME=\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//#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$3 = 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(homeDir);\n\tconst available = new Set(BUILTIN_ADDON_IDS);\n\treturn [...new Set(parseEnabledAddons(env.OP_ENABLED_ADDONS))].filter((name) => available.has(name)).sort();\n}\nfunction readAddonServiceNamesFromContent(composeContent, composePath, addonName) {\n\ttry {\n\t\tconst services = parseComposeServices(composeContent);\n\t\tif (!addonName) return services.map((svc) => svc.name);\n\t\treturn services.filter((svc) => {\n\t\t\tif (svc.name === addonName || svc.name.startsWith(`${addonName}-`)) return true;\n\t\t\treturn svc.profiles.some((p) => p.startsWith(`addon.${addonName}`));\n\t\t}).map((svc) => svc.name);\n\t} catch (error) {\n\t\tlogger$3.warn(\"failed to parse addon compose services\", {\n\t\t\tcomposePath,\n\t\t\terror: errMessage(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\tcomposeFilePath(homeDir, \"portals.compose.yml\"),\n\t\tcomposeFilePath(homeDir, \"services.compose.yml\"),\n\t\tcustomComposeFilePath(homeDir)\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 [\"portals.compose.yml\", \"services.compose.yml\"]) {\n\t\tconst services = readAddonServiceNamesFromContent(readBundledStackAsset(assetName), `bundled:${assetName}`, name);\n\t\tif (services.length > 0) return services;\n\t}\n\tconst customServices = readAddonServiceNamesFromContent(readBundledCustomCompose(), \"bundled:custom.compose.yml\", name);\n\tif (customServices.length > 0) return customServices;\n\treturn [];\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 services;\n\ttry {\n\t\tservices = parseComposeServices(composeContent);\n\t} catch (error) {\n\t\tlogger$3.warn(\"failed to parse addon compose profiles\", {\n\t\t\tcomposePath,\n\t\t\terror: errMessage(error)\n\t\t});\n\t\treturn [];\n\t}\n\tconst byProfile = /* @__PURE__ */ new Map();\n\tfor (const svc of services) {\n\t\tif (svc.profiles.length === 0) continue;\n\t\tconst labels = 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 svc.profiles) {\n\t\t\tconst existing = byProfile.get(id);\n\t\t\tif (existing) {\n\t\t\t\texisting.services.push(svc.name);\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: [svc.name]\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 getAddonProfiles(homeDir, name) {\n\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\tconst composeCandidates = [\n\t\tcomposeFilePath(homeDir, \"portals.compose.yml\"),\n\t\tcomposeFilePath(homeDir, \"services.compose.yml\"),\n\t\tcustomComposeFilePath(homeDir)\n\t];\n\tconst localOpenpalmDir = resolveLocalOpenpalmDir();\n\tif (localOpenpalmDir) {\n\t\tcomposeCandidates.push(composeFilePath(localOpenpalmDir, \"portals.compose.yml\"));\n\t\tcomposeCandidates.push(composeFilePath(localOpenpalmDir, \"services.compose.yml\"));\n\t\tcomposeCandidates.push(customComposeFilePath(localOpenpalmDir));\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 [\"portals.compose.yml\", \"services.compose.yml\"]) {\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\tconst customProfiles = readAddonProfilesFromContent(readBundledCustomCompose(), \"bundled:custom.compose.yml\").filter((profile) => profile.id.startsWith(`addon.${name}`));\n\tif (customProfiles.length > 0) return customProfiles;\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(homeDir, name) {\n\tconst value = readStackEnv(homeDir)[profileEnvKey(name)];\n\tconst normalized = value ? canonicalAddonProfileSelection(name, value) : \"\";\n\treturn normalized ? normalized : null;\n}\nfunction setAddonProfileSelection(homeDir, name, profile) {\n\tconst trimmed = canonicalAddonProfileSelection(name, profile);\n\tif (!trimmed) throw new Error(`Invalid canonical profile id for addon ${name}: ${profile}`);\n\tpatchStateEnvFile(homeDir, { [profileEnvKey(name)]: trimmed });\n}\n/** Add/remove one or more addon ids in the OP_ENABLED_ADDONS list (app-written → state/). */\nfunction setEnabledAddonState(homeDir, name, enabled) {\n\tconst names = Array.isArray(name) ? name : [name];\n\tconst current = new Set(parseEnabledAddons(readStackEnv(homeDir).OP_ENABLED_ADDONS));\n\tfor (const n of names) if (enabled) current.add(n);\n\telse current.delete(n);\n\tpatchStateEnvFile(homeDir, { OP_ENABLED_ADDONS: [...current].sort().join(\",\") });\n}\nfunction enableAddon(homeDir, name) {\n\ttry {\n\t\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\t\tsetEnabledAddonState(homeDir, name, true);\n\t\treturn { ok: true };\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: errMessage(error)\n\t\t};\n\t}\n}\nfunction disableAddonByName(homeDir, name) {\n\ttry {\n\t\tif (!VALID_NAME_RE.test(name)) throw new Error(`Invalid addon name: ${name}`);\n\t\tsetEnabledAddonState(homeDir, name, false);\n\t\tconst profileKey = profileEnvKey(name);\n\t\tif (PROFILE_ONLY_ENV_KEYS.includes(profileKey)) for (const path of [stateEnvFile(homeDir), legacyStackEnvFile(homeDir)]) removeEnvKeyFromFile(path, profileKey);\n\t\treturn { ok: true };\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: errMessage(error)\n\t\t};\n\t}\n}\n/**\n* Retired env keys stripped from both env files on every reconcile so upgraded\n* installs don't carry stale values forever:\n* - OPENCODE_ENABLE_SSH — written by the removed `ssh` addon.\n* - OP_TTS_* / OP_STT_* — the pre-split host-side voice provider config\n* (written by the retired writeVoiceVars / admin Voice tab). TTS/STT\n* provider choice is a client-owned browser setting now; nothing reads\n* these keys anymore.\n*/\nvar RETIRED_ENV_KEYS = [\n\t\"OPENCODE_ENABLE_SSH\",\n\t\"OP_TTS_ENGINE\",\n\t\"OP_TTS_PROVIDER\",\n\t\"OP_TTS_BASE_URL\",\n\t\"OP_TTS_MODEL\",\n\t\"OP_TTS_VOICE\",\n\t\"OP_STT_ENGINE\",\n\t\"OP_STT_PROVIDER\",\n\t\"OP_STT_BASE_URL\",\n\t\"OP_STT_MODEL\",\n\t\"OP_STT_LANGUAGE\"\n];\n/** Remove a key from an env file if present. Returns whether the file changed. */\nfunction removeEnvKeyFromFile(path, key) {\n\tif (!existsSync(path)) return false;\n\tconst before = readFileSync(path, \"utf-8\");\n\tconst after = removeEnvKey(before, key);\n\tif (after === before) return false;\n\twriteFileSync(path, after.endsWith(\"\\n\") || after.length === 0 ? after : `${after}\\n`, { mode: 384 });\n\treturn true;\n}\n/**\n* Section-header comment lines that only retired keys ever lived under. Once\n* their keys are gone the header would advertise a section that no longer\n* exists, so the prune drops the exact line too (exact match keeps this\n* idempotent and unable to touch operator-authored comments).\n*/\nvar RETIRED_ENV_SECTION_HEADERS = [\"# ── Voice Channel (TTS/STT) ──────────────────────────────────────────\"];\n/** Remove an exact comment line from an env file if present. Returns whether the file changed. */\nfunction removeEnvCommentLineFromFile(path, commentLine) {\n\tif (!existsSync(path)) return false;\n\tconst lines = readFileSync(path, \"utf-8\").split(\"\\n\");\n\tconst out = lines.filter((line) => line.trim() !== commentLine);\n\tif (out.length === lines.length) return false;\n\twhile (out.length > 1 && out[out.length - 1] === \"\" && out[out.length - 2] === \"\") out.pop();\n\tconst after = out.join(\"\\n\");\n\twriteFileSync(path, after.endsWith(\"\\n\") || after.length === 0 ? after : `${after}\\n`, { mode: 384 });\n\treturn true;\n}\n/** Strip every retired env key (and orphaned section header) from both env files. Returns the keys removed. */\nfunction removeRetiredEnvKeys(homeDir) {\n\tconst removed = /* @__PURE__ */ new Set();\n\tfor (const path of [stateEnvFile(homeDir), legacyStackEnvFile(homeDir)]) {\n\t\tfor (const key of RETIRED_ENV_KEYS) if (removeEnvKeyFromFile(path, key)) removed.add(key);\n\t\tfor (const header of RETIRED_ENV_SECTION_HEADERS) removeEnvCommentLineFromFile(path, header);\n\t}\n\treturn [...removed];\n}\n/**\n* One-time cleanup of addon state left behind by addons that were removed from\n* BUILTIN_ADDON_IDS (currently `ssh`). On an upgraded install OP_ENABLED_ADDONS\n* can still list a removed addon — `resolveActiveProfiles` then emits its stale\n* `--profile addon.<id>` on every compose call — plus retired env keys (see\n* RETIRED_ENV_KEYS) left by older releases.\n*\n* Idempotent and skip-if-absent: strips any OP_ENABLED_ADDONS entry that is no\n* longer built in and drops the removed-addon env keys. A no-op that writes\n* nothing (`changed: false`) when the state is already clean, so it is safe to\n* run unconditionally on every reconcile — no version gate needed.\n*/\nfunction pruneRemovedAddonState(homeDir) {\n\tconst builtin = new Set(BUILTIN_ADDON_IDS);\n\tconst removedAddons = parseEnabledAddons(readStackEnv(homeDir).OP_ENABLED_ADDONS).filter((id) => !builtin.has(id));\n\tif (removedAddons.length > 0) setEnabledAddonState(homeDir, removedAddons, false);\n\tconst removedEnvKeys = removeRetiredEnvKeys(homeDir);\n\treturn {\n\t\tchanged: removedAddons.length > 0 || removedEnvKeys.length > 0,\n\t\tremovedAddons,\n\t\tremovedEnvKeys\n\t};\n}\n/**\n* Hardware-profile env keys that, before plan 2.2, implied an addon was enabled\n* even when OP_ENABLED_ADDONS never named it. Now read ONLY by the one-time\n* migration below — listEnabledAddonIds no longer reverse-parses them.\n*/\nvar PROFILE_ONLY_ENV_KEYS = [\"OP_VOICE_PROFILE\", \"OP_OLLAMA_PROFILE\"];\n/**\n* One-time upgrade guard (2.2, verification correction #4): an install that\n* enabled voice/ollama ONLY by picking a hardware profile — never through\n* OP_ENABLED_ADDONS — used to have its addon enablement derived at READ time by\n* a reverse-parse in listEnabledAddonIds. That reverse-parse is now deleted (a\n* single source of truth), so this migration persists the derived addon id into\n* OP_ENABLED_ADDONS; without it such an install would silently lose the addon.\n*\n* Idempotent and skip-if-already-enabled, so it is safe to run on every\n* reconcile (mirrors pruneRemovedAddonState): write the derived addon id into\n* OP_ENABLED_ADDONS (app-written → state/) whenever a profile var names one\n* that isn't already listed.\n*/\nfunction migrateProfileOnlyAddonEnablement(homeDir) {\n\tconst env = readStackEnv(homeDir);\n\tconst enabled = new Set(parseEnabledAddons(env.OP_ENABLED_ADDONS));\n\tconst missing = /* @__PURE__ */ new Set();\n\tfor (const key of PROFILE_ONLY_ENV_KEYS) {\n\t\tconst profile = env[key]?.trim();\n\t\tif (!profile) continue;\n\t\tconst addonId = profile.match(/^addon\\.([a-z0-9-]+)(?:\\.|$)/)?.[1];\n\t\tif (addonId && !enabled.has(addonId)) missing.add(addonId);\n\t}\n\tif (missing.size === 0) return {\n\t\tchanged: false,\n\t\tmigratedAddons: []\n\t};\n\tconst migratedAddons = [...missing].sort();\n\tsetEnabledAddonState(homeDir, migratedAddons, true);\n\treturn {\n\t\tchanged: true,\n\t\tmigratedAddons\n\t};\n}\nfunction setAddonEnabled(homeDir, 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)) {\n\t\tif (enabled) return {\n\t\t\tok: false,\n\t\t\terror: `Addon \"${name}\" is not built in`\n\t\t};\n\t\tif (!parseEnabledAddons(readStackEnv(homeDir).OP_ENABLED_ADDONS).includes(name)) return {\n\t\t\tok: true,\n\t\t\tenabled: false,\n\t\t\tchanged: false,\n\t\t\tservices: []\n\t\t};\n\t\tsetEnabledAddonState(homeDir, name, false);\n\t\tremoveRetiredEnvKeys(homeDir);\n\t\treturn {\n\t\t\tok: true,\n\t\t\tenabled: false,\n\t\t\tchanged: true,\n\t\t\tservices: []\n\t\t};\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(homeDir, name) : disableAddonByName(homeDir, name);\n\tif (!mutation.ok) return mutation;\n\tif (enabled) {\n\t\tif (PORTAL_SECRET_ADDON_IDS.includes(name)) for (const portal of PORTAL_SECRET_ADDON_IDS) ensurePortalSecret(homeDir, 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/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.\n*\n* auth.json is backed up but not restored automatically (see RESTORE_FILES). */\nvar SNAPSHOT_FILES = [\n\t\"knowledge/env/stack.env\",\n\t\"state/stack.state.env\",\n\t\"system/stack/services.compose.yml\",\n\t\"system/stack/portals.compose.yml\",\n\t\"config/stack/custom.compose.yml\",\n\t\"knowledge/secrets/auth.json\"\n];\n/** Files actually overwritten by restoreSnapshot(). Deliberately excludes\n* auth.json: restoring day-old provider credentials over live ones is rarely\n* what a user wants, so auth.json is captured in snapshots and pre-rollback\n* backups for safety but never restored automatically. */\nvar RESTORE_FILES = SNAPSHOT_FILES.filter((rel) => rel !== \"knowledge/secrets/auth.json\");\nvar SNAPSHOT_TS_FILE = \".snapshot-ts\";\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) {\n\tconst rollbackDir = resolveRollbackDir();\n\tmkdirSync(rollbackDir, { recursive: true });\n\trmSync(join(rollbackDir, SNAPSHOT_TS_FILE), { force: true });\n\tfor (const rel of SNAPSHOT_FILES) safeCopy(join(state.homeDir, rel), join(rollbackDir, rel));\n\tsafeCopy(join(state.homeDir, \"system/stack/core.compose.yml\"), join(rollbackDir, \"system/stack/core.compose.yml\"));\n\twriteFileSync(join(rollbackDir, SNAPSHOT_TS_FILE), `${(/* @__PURE__ */ new Date()).toISOString()}\\n`);\n}\n/**\n* Restore the most recent snapshot from the rollback directory\n* back to their live positions.\n*\n* Non-destructive: every live file this is about to overwrite is copied first\n* to data/backups/<ts>-pre-rollback/, so a bad rollback is itself recoverable.\n* auth.json is intentionally excluded from the overwrite (see RESTORE_FILES)\n* but is still backed up here for safety.\n*/\nfunction restoreSnapshot(state) {\n\tconst rollbackDir = resolveRollbackDir();\n\tif (!hasSnapshot()) throw new Error(\"No rollback snapshot available\");\n\tconst preRollbackDir = join(resolveBackupsDir(), `${timestampDirName()}-pre-rollback`);\n\tfor (const rel of [...SNAPSHOT_FILES, \"system/stack/core.compose.yml\"]) safeCopy(join(state.homeDir, rel), join(preRollbackDir, rel));\n\tfor (const rel of RESTORE_FILES) safeCopy(join(rollbackDir, rel), join(state.homeDir, rel));\n\tconst srcCoreCompose = join(rollbackDir, \"system/stack/core.compose.yml\");\n\tif (existsSync(srcCoreCompose)) safeCopy(srcCoreCompose, join(state.homeDir, \"system/stack/core.compose.yml\"));\n}\n/**\n* Check whether a rollback snapshot exists.\n*/\nfunction hasSnapshot() {\n\treturn existsSync(join(resolveRollbackDir(), SNAPSHOT_TS_FILE));\n}\n//#endregion\n//#region ../lib/src/control-plane/host-identity.ts\n/**\n* The single seam that classifies the container runtime for ownership reasoning.\n* Docker (and OrbStack / Colima / Podman machine) on macOS and Windows ALWAYS run\n* containers in a Linux VM; only native Linux runs them in the host kernel with\n* the host's own uid namespace. So `process.platform` alone is a reliable,\n* dependency-free signal — no `docker context inspect` on the hot start path, and\n* all runtime-specific ownership reasoning lives here rather than scattered as\n* `if (dockerDesktop)` checks through the reconcile logic.\n*/\nfunction describeHostRuntime() {\n\tif (process.platform === \"linux\") return {\n\t\tid: \"linux-native\",\n\t\thostUidAuthoritative: true\n\t};\n\treturn {\n\t\tid: `vm-mediated-${process.platform}`,\n\t\thostUidAuthoritative: false\n\t};\n}\nfunction detectHostIdentity(homeDir) {\n\tconst ids = resolveSessionIdentity(homeDir);\n\treturn {\n\t\tkind: process.platform,\n\t\thost: hostname(),\n\t\tuid: ids?.uid ?? null,\n\t\tgid: ids?.gid ?? null\n\t};\n}\nfunction readHostIdentity(path) {\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf8\"));\n\t\tif (typeof parsed.kind !== \"string\" || typeof parsed.host !== \"string\") return null;\n\t\tconst uidIsNumber = typeof parsed.uid === \"number\";\n\t\tconst gidIsNumber = typeof parsed.gid === \"number\";\n\t\tconst uidIsNullish = parsed.uid === null || parsed.uid === void 0;\n\t\tconst gidIsNullish = parsed.gid === null || parsed.gid === void 0;\n\t\tif (!(uidIsNumber && gidIsNumber || uidIsNullish && gidIsNullish)) return null;\n\t\treturn {\n\t\t\tkind: parsed.kind,\n\t\t\thost: parsed.host,\n\t\t\tuid: uidIsNumber ? parsed.uid : null,\n\t\t\tgid: gidIsNumber ? parsed.gid : null\n\t\t};\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction writeHostIdentity(path, identity) {\n\tmkdirSync(dirname(path), { recursive: true });\n\twriteFileAtomic(path, `${JSON.stringify(identity, null, 2)}\\n`);\n}\n//#endregion\n//#region ../lib/src/control-plane/volume-ownership.ts\n/**\n* Privileged ownership-repair subsystem for OP_HOME bind mounts and Docker\n* named volumes.\n*\n* Rootless containers cannot chown files a previous root-entrypoint image left\n* behind, so these helpers spin up throwaway `alpine chown` containers (Docker\n* has root via the daemon) to repair ownership back to the operator UID:GID.\n* Kept separate from the compose driver (docker.ts): this is a distinct,\n* privileged concern that reaches into operator-ids and stack secrets, whereas\n* docker.ts is a pure compose-command wrapper.\n*/\nvar logger$2 = createLogger(\"lib:volume-ownership\");\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*\n* Returns whether the repair fully succeeded (true when nothing needed\n* fixing, or the docker chown reported ok). In non-strict mode a failure is\n* still swallowed (logged, not thrown) but now reported back via the return\n* value so the caller can decide whether it is safe to record \"repaired\"\n* state (see ownership-reconcile.ts).\n*/\nasync function repairRootOwnedBindMounts(homeDir, candidates, opts) {\n\tif (process.platform === \"win32\") return true;\n\tconst repairCandidates = candidates ?? [join(homeDir, \"data\", \"guardian\"), join(homeDir, \"data\", \"logs\")];\n\tconst ids = resolveSessionIdentity(homeDir);\n\tif (!ids) return true;\n\tconst repairAll = opts?.strict || opts?.deep;\n\tconst mismatched = repairCandidates.filter((dir) => {\n\t\ttry {\n\t\t\tif (!existsSync(dir)) return false;\n\t\t\tif (repairAll) return true;\n\t\t\tconst stat = statSync(dir);\n\t\t\treturn stat.uid !== ids.uid || stat.gid !== ids.gid;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t});\n\tif (mismatched.length === 0) return true;\n\tconst volumeArgs = mismatched.flatMap((dir, i) => [\"-v\", `${dir}:/chown_target_${i}`]);\n\tconst targets = mismatched.map((_, i) => `/chown_target_${i}`);\n\tlogger$2.info(`Repairing mismatched bind mounts: ${mismatched.map((d) => d.split(\"/\").slice(-2).join(\"/\")).join(\", \")}`);\n\tconst result = await run([\n\t\t\"run\",\n\t\t\"--rm\",\n\t\t...volumeArgs,\n\t\t\"alpine\",\n\t\t\"chown\",\n\t\t\"-R\",\n\t\t`${ids.uid}:${ids.gid}`,\n\t\t...targets\n\t], void 0, 3e4);\n\tif (!result.ok) {\n\t\tconst message = `Could not repair mismatched bind mounts: ${result.stderr.trim()}`;\n\t\tif (opts?.strict) throw new Error(message);\n\t\tlogger$2.warn(message);\n\t\treturn false;\n\t}\n\treturn true;\n}\n/** Returns whether the repair succeeded (see repairRootOwnedBindMounts doc). */\nasync function repairNamedVolumeOwnership(volumeName, ids, opts) {\n\tconst inspect = await run([\n\t\t\"volume\",\n\t\t\"inspect\",\n\t\tvolumeName\n\t], void 0, 15e3);\n\tif (!inspect.ok) {\n\t\tif (/no such volume/i.test(inspect.stderr)) return true;\n\t\tconst message = `Could not inspect named volume ${volumeName}: ${inspect.stderr.trim()}`;\n\t\tif (opts?.strict) throw new Error(message);\n\t\tlogger$2.warn(message);\n\t\treturn false;\n\t}\n\tconst result = await run([\n\t\t\"run\",\n\t\t\"--rm\",\n\t\t\"-v\",\n\t\t`${volumeName}:/repair_target`,\n\t\t\"alpine\",\n\t\t\"chown\",\n\t\t\"-R\",\n\t\t`${ids.uid}:${ids.gid}`,\n\t\t\"/repair_target\"\n\t], void 0, 3e4);\n\tif (!result.ok) {\n\t\tconst message = `Could not repair named volume ${volumeName}: ${result.stderr.trim()}`;\n\t\tif (opts?.strict) throw new Error(message);\n\t\tlogger$2.warn(message);\n\t\treturn false;\n\t}\n\treturn true;\n}\n/**\n* Named volumes written by pre-rootless (root-entrypoint) images, keyed by the\n* compose service that mounts them. Rootless containers cannot fix these\n* themselves, so both orchestrators (CLI start and lib lifecycle reconcile)\n* repair them before compose up. Volumes that do not exist yet are skipped.\n*/\nvar SERVICE_NAMED_VOLUMES = {\n\tguardian: [\"guardian-cache\"],\n\tassistant: [\"assistant-artifacts\", \"assistant-persistent\"],\n\tdiscord: [\"portal-cache\"],\n\tslack: [\"portal-cache\"]\n};\n/**\n* Repairs every managed named volume for the given services. Always attempts\n* all of them (a failure on one volume must not skip the rest); returns\n* whether every attempted repair succeeded (see repairRootOwnedBindMounts doc).\n*/\nasync function repairManagedNamedVolumes(homeDir, services, opts) {\n\tconst ids = resolveSessionIdentity(homeDir);\n\tif (!ids) return true;\n\tconst projectName = resolveComposeProjectName(readStackEnv(homeDir));\n\tconst repaired = /* @__PURE__ */ new Set();\n\tlet allOk = true;\n\tfor (const [service, volumes] of Object.entries(SERVICE_NAMED_VOLUMES)) {\n\t\tif (!services.includes(service)) continue;\n\t\tfor (const volume of volumes) {\n\t\t\tconst qualified = `${projectName}_${volume}`;\n\t\t\tif (repaired.has(qualified)) continue;\n\t\t\trepaired.add(qualified);\n\t\t\tif (!await repairNamedVolumeOwnership(qualified, ids, opts)) allOk = false;\n\t\t}\n\t}\n\treturn allOk;\n}\n//#endregion\n//#region ../lib/src/control-plane/ownership-reconcile.ts\nvar logger$1 = createLogger(\"lib:ownership-reconcile\");\nfunction ownershipRepairPaths(state) {\n\tconst discovered = discoverHomeBindMountSources(state).map((mount) => mount.isFile ? dirname(mount.path) : mount.path);\n\tconst deduped = [...new Set(discovered)];\n\tconst base = [\n\t\t`${state.homeDir}/state`,\n\t\t`${state.homeDir}/knowledge`,\n\t\tstate.workspaceDir\n\t];\n\treturn [...new Set([...base, ...deduped])];\n}\nfunction ownershipCanaryPaths(state) {\n\treturn [stateEnvFile(state.homeDir), ...ownershipRepairPaths(state)];\n}\nfunction readCanaryOwners(paths) {\n\tconst owners = [];\n\tfor (const path of paths) try {\n\t\tif (!existsSync(path)) continue;\n\t\tconst stat = statSync(path);\n\t\towners.push({\n\t\t\tpath,\n\t\t\tuid: stat.uid,\n\t\t\tgid: stat.gid\n\t\t});\n\t} catch {}\n\treturn owners;\n}\nfunction decideOwnershipFromCanaries(input) {\n\tconst { currentIdentity, previousIdentity, canaries } = input;\n\tif (previousIdentity && !isSameMachine(currentIdentity, previousIdentity)) return \"swap\";\n\tif (currentIdentity.uid === null || currentIdentity.gid === null) return \"match\";\n\treturn canaries.length > 0 && canaries.every((canary) => canary.uid === currentIdentity.uid && canary.gid === currentIdentity.gid) ? \"match\" : \"drift\";\n}\n/** Same physical machine = same platform kind and hostname (the machine identity). */\nfunction isSameMachine(a, b) {\n\treturn a.kind === b.kind && a.host === b.host;\n}\nfunction buildReconcileDecision(input) {\n\tconst canaries = readCanaryOwners(ownershipCanaryPaths(input.state));\n\treturn {\n\t\tdecision: decideOwnershipFromCanaries({\n\t\t\tcurrentIdentity: input.currentIdentity,\n\t\t\tpreviousIdentity: input.previousIdentity,\n\t\t\tcanaries\n\t\t}),\n\t\tcanaries,\n\t\tpreviousIdentity: input.previousIdentity,\n\t\tcurrentIdentity: input.currentIdentity\n\t};\n}\nfunction ownershipRepairMarkerFile(homeDir) {\n\treturn join(homeDir, \"state\", \"ownership-repaired.json\");\n}\n/** True when the recursive repair already ran for this exact session uid/gid. */\nfunction ownershipRepairMarkerMatches(homeDir, ids) {\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(ownershipRepairMarkerFile(homeDir), \"utf8\"));\n\t\treturn parsed.uid === ids.uid && parsed.gid === ids.gid;\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction writeOwnershipRepairMarker(homeDir, ids) {\n\tconst file = ownershipRepairMarkerFile(homeDir);\n\tmkdirSync(dirname(file), { recursive: true });\n\twriteFileAtomic(file, `${JSON.stringify({\n\t\tuid: ids.uid,\n\t\tgid: ids.gid\n\t})}\\n`);\n}\n/**\n* Raised when OP_HOME's on-disk owners belong to a DIFFERENT host than the one\n* now running (a real drive move) and the caller did not opt into adopting the\n* new host. Carries the identities so a UI route can render an actionable\n* \"host swap — needs adopt\" response; the bare `.message` is CLI-facing.\n*/\nvar HostSwapBlockedError = class extends Error {\n\tcode = \"host_swap_blocked\";\n\tpreviousIdentity;\n\tcurrentIdentity;\n\tconstructor(previousIdentity, currentIdentity) {\n\t\tconst prev = previousIdentity ? `${previousIdentity.kind} ${previousIdentity.host} uid=${previousIdentity.uid ?? \"unknown\"} gid=${previousIdentity.gid ?? \"unknown\"}` : \"unknown host\";\n\t\tconst curr = `${currentIdentity.kind} ${currentIdentity.host} uid=${currentIdentity.uid ?? \"unknown\"} gid=${currentIdentity.gid ?? \"unknown\"}`;\n\t\tsuper(`Host swap detected for OP_HOME. Previous: ${prev}. Current: ${curr}. Re-run with \\`--adopt-host\\` to repair ownership for this host before starting.`);\n\t\tthis.name = \"HostSwapBlockedError\";\n\t\tthis.previousIdentity = previousIdentity;\n\t\tthis.currentIdentity = currentIdentity;\n\t}\n};\n/**\n* The single host-ownership reconcile shared by every start path (CLI\n* `openpalm start`, lib lifecycle upgrade, UI container start): detect the live\n* session identity → decide match/drift/swap against the recorded identity and\n* on-disk canaries → block or repair → record the new identity.\n*\n* On a real host swap the block is fail-safe: it throws HostSwapBlockedError\n* unless `adoptHost` is set. Repair is deep (recursive) so nested root-owned\n* files inside user-owned mount roots are fixed on the drift path too (R3), and\n* it is gated by a session-uid marker so the costly walk runs once per uid\n* change, not on every start (R4).\n*\n* Portable: the caller supplies the managed `services` list (this module must\n* not import lifecycle). CLI/UI callers stay thin.\n*/\nasync function reconcileHostOwnership(state, options = {}) {\n\tconst { adoptHost = false, services } = options;\n\tconst homeDir = state.homeDir;\n\tconst currentIdentity = detectHostIdentity(homeDir);\n\tconst sessionIds = resolveSessionIdentity(homeDir);\n\tconst runtime = describeHostRuntime();\n\tif (!runtime.hostUidAuthoritative) {\n\t\tif (sessionIds && services && services.length > 0) await repairManagedNamedVolumes(homeDir, services, { strict: adoptHost });\n\t\tlogger$1.info(`Runtime ${runtime.id}: bind-mount ownership is VM-mediated — skipping host-swap detection and bind-mount adopt; named volumes repaired in the VM uid namespace.`);\n\t\twriteHostIdentity(hostIdentityFile(homeDir), currentIdentity);\n\t\treturn;\n\t}\n\tconst previousIdentity = readHostIdentity(hostIdentityFile(homeDir));\n\tconst { decision } = buildReconcileDecision({\n\t\tstate,\n\t\tcurrentIdentity,\n\t\tpreviousIdentity\n\t});\n\tif (decision === \"swap\" && !adoptHost) throw new HostSwapBlockedError(previousIdentity, currentIdentity);\n\tconst alreadyRepaired = sessionIds !== null && ownershipRepairMarkerMatches(homeDir, sessionIds);\n\tif (sessionIds && sessionIds !== null && (adoptHost || decision === \"drift\" || !alreadyRepaired)) {\n\t\tconst bindMountsOk = await repairRootOwnedBindMounts(homeDir, ownershipRepairPaths(state), {\n\t\t\tstrict: adoptHost,\n\t\t\tdeep: true\n\t\t});\n\t\tlet namedVolumesOk = true;\n\t\tif (services && services.length > 0) namedVolumesOk = await repairManagedNamedVolumes(homeDir, services, { strict: adoptHost });\n\t\tif (decision === \"swap\" && adoptHost) patchStateEnvFile(homeDir, {\n\t\t\tOP_UID: String(sessionIds.uid),\n\t\t\tOP_GID: String(sessionIds.gid)\n\t\t});\n\t\tif (bindMountsOk && namedVolumesOk) writeOwnershipRepairMarker(homeDir, sessionIds);\n\t\telse logger$1.warn(`Ownership repair did not fully succeed for uid=${sessionIds.uid} — not recording it as done; the next \\`openpalm start\\` will retry automatically. If it keeps failing, run \\`openpalm start --adopt-host\\` to force a full repair and see the underlying error.`);\n\t} else if (sessionIds) logger$1.info(`Ownership already reconciled for uid=${sessionIds.uid} — skipping repair walk`);\n\twriteHostIdentity(hostIdentityFile(homeDir), currentIdentity);\n}\n//#endregion\n//#region ../lib/src/control-plane/project-rename.ts\n/**\n* Compose project rename handling (#540).\n*\n* The compose project name is never stored anywhere — every compose call\n* re-resolves it from stack.env at invocation time. So the moment\n* OP_PROJECT_NAME changes, the still-running containers of the OLD project\n* become unaddressable: every subsequent compose command targets the new\n* name, nothing enumerates the old one, and the stack splits across two\n* projects (only whatever the next apply touches moves to the new name,\n* while the rest keeps running — and holding host ports — under the old).\n*\n* The fix is two-phase:\n* 1. When the rename is SAVED (admin assistant settings), record the\n* outgoing name as OP_PREVIOUS_PROJECT_NAME in the app-written\n* state/stack.state.env via {@link recordProjectRename}. No compose\n* runs at save time — the save path holds no install lock.\n* 2. When the stack is next APPLIED under the install lock (deploy,\n* upgrade, CLI start/restart), {@link teardownRenamedProject} downs the\n* recorded old project — after verifying via the compose working_dir\n* label that it belongs to THIS install — then clears the marker.\n*/\nvar PREVIOUS_PROJECT_NAME_KEY = \"OP_PREVIOUS_PROJECT_NAME\";\n/**\n* Record that the compose project name is changing from `previousName` to\n* `nextName`, so the next locked apply can tear the old project down.\n*\n* Chain-safe: if a marker is already recorded, the RUNNING stack still wears\n* that original name (no apply has happened yet), so a second rename keeps\n* the original marker rather than overwriting it with an intermediate name\n* that never had containers. Renaming back to the recorded name simply\n* clears the marker — the running stack already matches.\n*/\nfunction recordProjectRename(homeDir, previousName, nextName) {\n\tif (previousName === nextName) return;\n\tconst recorded = readStackEnv(homeDir)[\"OP_PREVIOUS_PROJECT_NAME\"]?.trim() ?? \"\";\n\tif (recorded === nextName) {\n\t\tclearRecordedProjectRename(homeDir);\n\t\treturn;\n\t}\n\tif (recorded) return;\n\tpatchStateEnvFile(homeDir, { [PREVIOUS_PROJECT_NAME_KEY]: previousName });\n}\n/** Clear the rename marker (teardown done, or rename reverted). */\nfunction clearRecordedProjectRename(homeDir) {\n\tpatchStateEnvFile(homeDir, { [PREVIOUS_PROJECT_NAME_KEY]: \"\" });\n}\n/**\n* If a project rename is recorded, tear down the OUTGOING compose project so\n* the stack can come up whole under the new name (no orphaned containers, no\n* host-port conflicts). Call this from apply paths that hold the install\n* lock, BEFORE bringing the stack up.\n*\n* Safety rules:\n* - Only a project whose `com.docker.compose.project.working_dir` label\n* matches THIS install is downed. A foreign project with the same name is\n* skipped (marker cleared — retrying would never become safe).\n* - A failed `down` KEEPS the marker so the next apply retries, and returns\n* `blocked: true` — the old project is still holding host ports, so the\n* caller must abort rather than bring up a colliding second stack.\n* - No recorded rename, or a marker equal to the current name (rename\n* reverted), is a cheap no-op.\n*/\nasync function teardownRenamedProject(state, deps) {\n\tconst env = readStackEnv(state.homeDir);\n\tconst previous = env[\"OP_PREVIOUS_PROJECT_NAME\"]?.trim() ?? \"\";\n\tif (!previous) return {\n\t\tdowned: null,\n\t\twarning: null,\n\t\tblocked: false\n\t};\n\tconst docker = await import(\"./docker2.js\");\n\tconst { buildComposeOptions } = await import(\"./compose-args2.js\");\n\tconst resolvedDeps = deps ?? {\n\t\tdetectExistingProject: docker.detectExistingProject,\n\t\tcomposeDownProject: docker.composeDownProject\n\t};\n\tif (previous === docker.resolveComposeProjectName(env)) {\n\t\tclearRecordedProjectRename(state.homeDir);\n\t\treturn {\n\t\t\tdowned: null,\n\t\t\twarning: null,\n\t\t\tblocked: false\n\t\t};\n\t}\n\tconst existing = await resolvedDeps.detectExistingProject({\n\t\tprojectName: previous,\n\t\texpectedWorkingDir: state.stackDir\n\t});\n\tif (existing.error) return {\n\t\tdowned: null,\n\t\twarning: `Project rename: could not verify previous docker project \"${previous}\" (${existing.error}).`,\n\t\tblocked: true\n\t};\n\tif (!existing.exists) {\n\t\tclearRecordedProjectRename(state.homeDir);\n\t\treturn {\n\t\t\tdowned: null,\n\t\t\twarning: null,\n\t\t\tblocked: false\n\t\t};\n\t}\n\tif (!existing.isOurs) {\n\t\tclearRecordedProjectRename(state.homeDir);\n\t\treturn {\n\t\t\tdowned: null,\n\t\t\twarning: `Project rename: previous docker project \"${previous}\" is owned by another install (${existing.workingDir}); skipping teardown.`,\n\t\t\tblocked: false\n\t\t};\n\t}\n\tconst result = await resolvedDeps.composeDownProject(previous, {\n\t\t...buildComposeOptions(state),\n\t\tremoveOrphans: true\n\t});\n\tif (!result.ok) return {\n\t\tdowned: null,\n\t\twarning: `Project rename: failed to stop previous docker project \"${previous}\" (${result.stderr.trim() || `exit ${result.code}`}); it is still running and would collide with the new project name. Aborting; the rename will be retried on the next apply.`,\n\t\tblocked: true\n\t};\n\tclearRecordedProjectRename(state.homeDir);\n\treturn {\n\t\tdowned: previous,\n\t\twarning: null,\n\t\tblocked: false\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/overlay-deprecations.ts\n/**\n* Deprecation scan for the removed `channel_lan` Docker network (#490).\n*\n* `channel_lan` was renamed to `portal_net` in 0.12.0 and retained one\n* release as an empty compatibility bridge; it is fully removed from the\n* skeleton in 0.13.0. A user overlay (`config/stack/custom.compose.yml`)\n* that still attaches a service to `channel_lan` without defining that\n* network itself would produce an invalid merged compose config the moment\n* the skeleton refresh lands. This module is a read-only, advisory scan run\n* BEFORE any lifecycle mutation so the failure is caught early with an\n* actionable message instead of a later, worse Docker error.\n*/\nvar DEPRECATED_NETWORK = \"channel_lan\";\nvar REPLACEMENT_NETWORK = \"portal_net\";\n/**\n* Pure: parse compose YAML content; report services whose `networks` include\n* channel_lan (list or map form) and whether top-level networks defines it.\n* Unparseable/non-object input -> empty scan (advisory scan, fail-open by\n* design: compose preflight still hard-fails genuinely broken YAML).\n*/\nfunction scanComposeForChannelLan(content) {\n\tconst empty = {\n\t\treferencedBy: [],\n\t\tdefinesNetwork: false\n\t};\n\ttry {\n\t\tconst doc = (0, import_dist.parse)(content);\n\t\tif (typeof doc !== \"object\" || doc === null) return empty;\n\t\tconst referencedBy = [];\n\t\tconst services = doc.services;\n\t\tif (typeof services === \"object\" && services !== null) for (const [svcName, svcDef] of Object.entries(services)) {\n\t\t\tif (typeof svcDef !== \"object\" || svcDef === null) continue;\n\t\t\tconst networks = svcDef.networks;\n\t\t\tif (Array.isArray(networks)) {\n\t\t\t\tif (networks.some((n) => n === DEPRECATED_NETWORK)) referencedBy.push(svcName);\n\t\t\t} else if (typeof networks === \"object\" && networks !== null) {\n\t\t\t\tif (DEPRECATED_NETWORK in networks) referencedBy.push(svcName);\n\t\t\t}\n\t\t}\n\t\tlet definesNetwork = false;\n\t\tconst topNetworks = doc.networks;\n\t\tif (typeof topNetworks === \"object\" && topNetworks !== null) definesNetwork = DEPRECATED_NETWORK in topNetworks;\n\t\treturn {\n\t\t\treferencedBy,\n\t\t\tdefinesNetwork\n\t\t};\n\t} catch {\n\t\treturn empty;\n\t}\n}\n/**\n* Read-only check of the user overlay (customComposeFilePath(homeDir)).\n* Missing file -> both null.\n* referencedBy.length > 0 && !definesNetwork -> blockError (merged config\n* would fail `docker compose config`): names the services, the file path,\n* instructs renaming to portal_net, and states nothing was changed.\n* definesNetwork -> warning (self-defined network still validates but is\n* deprecated; suggest renaming to portal_net).\n*/\nfunction checkCustomComposeChannelLan(homeDir) {\n\tconst path = customComposeFilePath(homeDir);\n\tif (!existsSync(path)) return {\n\t\tblockError: null,\n\t\twarning: null\n\t};\n\tconst scan = scanComposeForChannelLan(readFileSync(path, \"utf-8\"));\n\tif (scan.referencedBy.length > 0 && !scan.definesNetwork) return {\n\t\tblockError: `Service(s) ${scan.referencedBy.join(\", \")} in ${path} reference the removed \"${DEPRECATED_NETWORK}\" Docker network. Rename to \"${REPLACEMENT_NETWORK}\" in ${path}; nothing was changed.`,\n\t\twarning: null\n\t};\n\tif (scan.definesNetwork) return {\n\t\tblockError: null,\n\t\twarning: `${path} defines a deprecated \"${DEPRECATED_NETWORK}\" network. It still validates, but you should rename it to \"${REPLACEMENT_NETWORK}\".`\n\t};\n\treturn {\n\t\tblockError: null,\n\t\twarning: null\n\t};\n}\n//#endregion\n//#region ../lib/src/control-plane/install-lock.ts\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. A LIVE holder is\n* never stale — a genuinely-running deploy can exceed any age window, so age\n* alone must not steal the lock from it (`openpalm unlock` handles the rare\n* dead-holder-without-signal case).\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 = 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 } = parseLockContent(content);\n\tif (pid !== null) return !isProcessAlive(pid);\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.warn(\"failed to ensure data dir for install lock\", {\n\t\t\tdataDir,\n\t\t\terror: errMessage(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.warn(\"unexpected error acquiring install lock\", {\n\t\t\tpath,\n\t\t\terror: errMessage(err)\n\t\t});\n\t\treturn null;\n\t}\n\tif (!isStale(path)) return null;\n\tlogger.info(\"removing stale install lock and retrying acquire\", { path });\n\ttry {\n\t\trmSync(path, { force: true });\n\t} catch (err) {\n\t\tlogger.warn(\"failed to remove stale install lock\", {\n\t\t\tpath,\n\t\t\terror: errMessage(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.warn(\"unexpected error re-acquiring install lock\", {\n\t\t\tpath,\n\t\t\terror: errMessage(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. By default removes ONLY a stale lock (dead holder\n* PID, or an unparseable file older than the mtime fallback window) and returns\n* `{ ok: false, reason: \"live\" }` for a live holder so the caller can surface a\n* clear message instead of forcing.\n*\n* `opts.force` removes the lock regardless of holder liveness. This is the\n* escape hatch for the one case a liveness check cannot resolve on its own: the\n* recorded PID belonged to a crashed holder but the OS has since reused that PID\n* for an unrelated live process, so `isStale` reports the lock as held forever.\n* Forcing is an explicit operator action (`openpalm unlock --force`) — the\n* caller owns the risk of clearing a lock a real install might still hold.\n*/\nfunction unlockInstallLock(dataDir, opts) {\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 && !opts?.force) return {\n\t\tok: false,\n\t\treason: \"live\",\n\t\tstatus\n\t};\n\tconst forced = !status.stale && opts?.force === true;\n\ttry {\n\t\trmSync(status.path, { force: true });\n\t\tlogger.info(forced ? \"force-removed a live install lock via unlock\" : \"removed stale install lock via unlock\", { path: status.path });\n\t} catch (err) {\n\t\tlogger.warn(\"failed to remove stale install lock during unlock\", {\n\t\t\tpath: status.path,\n\t\t\terror: errMessage(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.warn(\"failed to release install lock\", {\n\t\t\tpath: handle.path,\n\t\t\terror: errMessage(err)\n\t\t});\n\t}\n}\n//#endregion\n//#region ../lib/src/control-plane/lifecycle.ts\n/** Lifecycle helpers — state factory, apply transitions, compose file list. */\nvar lifecycleLogger = createLogger(\"lifecycle\");\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) throw new Error(buildComposePreflightError({\n\t\t\tfiles,\n\t\t\tenvFiles,\n\t\t\tprofiles\n\t\t}, preflight.stderr));\n\t}\n\tstate.artifacts = resolveRuntimeFiles();\n\twriteRuntimeFiles(state);\n\treturn active;\n}\n/**\n* Bring an OP_HOME's assets to the running platform version — the \"apply\" half\n* of the single install==update path (constitution §1, §3, §4).\n*\n* Ownership is by top-level tree, so the write policy follows the destination.\n* Every step is idempotent:\n* • ensureHomeDirs — create the OP_HOME directory layout\n* • ensureSecrets — generate any missing service secrets\n* • applyHomeSeed — overwrite the managed system/ tree wholesale +\n* seed the user/data trees once (skip-existing)\n* • ensureOpenCode* — starter OpenCode config + data dir (seed-if-missing)\n*\n* This is the ONLY function that writes OP_HOME's layout/assets, so callers never\n* need to defensively re-ensure dirs or config themselves.\n*/\nasync function applyHome(state) {\n\tensureHomeDirs();\n\tensureSecrets(state);\n\tawait applyHomeSeed(PLATFORM_VERSION, state.homeDir, state.configDir, state.dataDir);\n\tmigrateProfileOnlyAddonEnablement(state.homeDir);\n\tpruneRemovedAddonState(state.homeDir);\n\tensureVersionDefaults(state);\n\tensureOpenCodeConfig();\n\tensureOpenCodeSystemConfig();\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 applyManagedFiles(state, activateServices = false) {\n\tconst overlayCheck = checkCustomComposeChannelLan(state.homeDir);\n\tif (overlayCheck.blockError) throw new Error(overlayCheck.blockError);\n\tif (overlayCheck.warning) lifecycleLogger.warn(overlayCheck.warning);\n\tsnapshotCurrentState(state);\n\tawait applyHome(state);\n\tawait reconcileCore(state, { activateServices });\n}\nasync function reapplyRestoredStack(state) {\n\tconst result = await applyStack({ kind: \"all\" }, buildComposeOptions(state), void 0, { pull: \"missing\" });\n\tif (!result.ok) throw new Error(result.error ?? \"Failed to reapply restored stack\");\n}\nasync function restoreSnapshotAndApplyStack(state) {\n\trestoreSnapshot(state);\n\tawait reapplyRestoredStack(state);\n}\nasync function runWithSnapshotRollback(state, run, shouldReapplyStack = false) {\n\ttry {\n\t\tawait run();\n\t} catch (error) {\n\t\tlet restored = false;\n\t\ttry {\n\t\t\trestoreSnapshot(state);\n\t\t\trestored = true;\n\t\t} catch (restoreError) {\n\t\t\tlifecycleLogger.error(\"failed to restore lifecycle snapshot\", { error: restoreError instanceof Error ? restoreError.message : String(restoreError) });\n\t\t}\n\t\tconst reapplyStack = typeof shouldReapplyStack === \"function\" ? shouldReapplyStack() : shouldReapplyStack;\n\t\tif (restored && reapplyStack) try {\n\t\t\tawait reapplyRestoredStack(state);\n\t\t} catch (reapplyError) {\n\t\t\tlifecycleLogger.error(\"failed to reapply restored stack\", { error: reapplyError instanceof Error ? reapplyError.message : String(reapplyError) });\n\t\t}\n\t\tthrow error;\n\t}\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 runWithSnapshotRollback(state, async () => {\n\t\t\tawait applyManagedFiles(state, true);\n\t\t\tensureComposeVolumeTargets(state);\n\t\t});\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}\n/** Refresh managed files, pull every active image, then apply the stack once. */\nasync function performUpgrade(state, opts) {\n\tconst lock = resolveLifecycleLock(state, opts);\n\tif (!lock) throw new Error(\"Another install is already in progress\");\n\tlet containersMutated = false;\n\ttry {\n\t\tawait runWithSnapshotRollback(state, async () => {\n\t\t\tawait applyManagedFiles(state, true);\n\t\t\tawait reconcileHostOwnership(state, { services: await buildManagedServices(state) });\n\t\t\tconst renameTeardown = await teardownRenamedProject(state);\n\t\t\tif (renameTeardown.warning) lifecycleLogger.warn(renameTeardown.warning);\n\t\t\tif (renameTeardown.downed) containersMutated = true;\n\t\t\tif (renameTeardown.blocked) throw new Error(renameTeardown.warning ?? \"Project rename teardown failed.\");\n\t\t\tconst result = await applyStack({ kind: \"all\" }, buildComposeOptions(state), void 0, { pull: \"always\" });\n\t\t\tif (!result.ok) {\n\t\t\t\tcontainersMutated = containersMutated || result.pullFailed !== true;\n\t\t\t\tthrow new Error(result.error ?? \"Failed to apply stack\");\n\t\t\t}\n\t\t}, () => containersMutated);\n\t} finally {\n\t\treleaseLifecycleLock(lock, opts);\n\t}\n}\nfunction buildComposeFileList(state) {\n\treturn discoverStackOverlays(state.homeDir);\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) => GUARDIAN_INGRESS_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* 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 env = readStackEnv(state.homeDir);\n\tconst voiceProfile = canonicalAddonProfileSelection(\"voice\", env.OP_VOICE_PROFILE ?? \"\");\n\tif (voiceProfile) profiles.push(voiceProfile);\n\tconst ollamaProfile = canonicalAddonProfileSelection(\"ollama\", env.OP_OLLAMA_PROFILE ?? \"\");\n\tif (ollamaProfile) profiles.push(ollamaProfile);\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\nexport { writeStackSecretEnv as $, setAddonProfileSelection as A, readVersions as B, getAddonProfiles as C, listBackupDirs as Ct, listAvailableAddonIds as D, createLogger as Dt, getRegistryAutomation as E, CORE_SERVICES as Et, dismissSecretStripNotice as F, isSecretLikeKey as G, writeVersions as H, readSecretStripNotice as I, readStackEnv as J, patchSecretsEnvFile as K, SERVICE_VERSION_KEYS as L, getAddonProfileAvailability as M, addonProfileId as N, listEnabledAddonIds as O, errMessage as Ot, discoverStackOverlays as P, writeAuthJsonProviderKeys as Q, isChannelPreference as R, getAddonProfileSelection as S, stateEnvFile as St, getRegistryAddonConfig as T, summarizeBackups as Tt, ensureOpenCodeConfig as U, writeChannelPreference as V, ensureSecrets as W, readStackSecretEnv as X, readStackRuntimeEnv as Y, updateSecretsEnv as Z, teardownRenamedProject as _, legacyStackEnvFile as _t, buildManagedServices as a, removeSecretFile as at, restoreSnapshot as b, secretsDir as bt, performUpgrade as c, assistantServiceDir as ct, acquireInstallLock as d, checkAndUpdateUiBuild as dt, writeFileAtomic as et, inspectInstallLock as f, ELECTRON_ASSET_PATTERN as ft, recordProjectRename as g, ensureHomeDirs as gt, unlockInstallLock as h, customComposeFilePath as ht, applyUninstall as i, readSecretFile as it, execFileNoThrow as j, setAddonEnabled as k, restoreSnapshotAndApplyStack as l, authJsonPath as lt, releaseInstallLock as m, composeFilePath as mt, resolveActiveProfiles as n, listSecretFiles as nt, createState as o, writeSecretFile as ot, isProcessAlive as p, PLATFORM_VERSION as pt, patchStateEnvFile as q, applyInstall as r, readSecret as rt, initializeStateSecrets as s, assistantConfigDir as st, buildComposeOptions as t, assertSafeSecretFilename as tt, INSTALL_LOCK_STALE_AFTER_MS as u, stackEnvPath as ut, HostSwapBlockedError as v, resolveBackupsDir as vt, getAddonServiceNames as w, pruneBackupDirs as wt, annotateAddonProfileAvailability as x, stackDirFor as xt, reconcileHostOwnership as y, resolveOpenPalmHome as yt, readChannelPreference as z };\n","import { i as __toESM, 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 { A as setAddonProfileSelection, Dt as createLogger, E as getRegistryAutomation, Et as CORE_SERVICES, G as isSecretLikeKey, H as writeVersions, J as readStackEnv, K as patchSecretsEnvFile, L as SERVICE_VERSION_KEYS, O as listEnabledAddonIds, Ot as errMessage, P as discoverStackOverlays, Q as writeAuthJsonProviderKeys, St as stateEnvFile, U as ensureOpenCodeConfig, W as ensureSecrets, Y as readStackRuntimeEnv, Z as updateSecretsEnv, _ as teardownRenamedProject, _t as legacyStackEnvFile, a as buildManagedServices, b as restoreSnapshot, bt as secretsDir, ct as assistantServiceDir, d as acquireInstallLock, et as writeFileAtomic, gt as ensureHomeDirs, ht as customComposeFilePath, j as execFileNoThrow, k as setAddonEnabled, l as restoreSnapshotAndApplyStack, lt as authJsonPath, m as releaseInstallLock, mt as composeFilePath, o as createState, p as isProcessAlive, q as patchStateEnvFile, r as applyInstall, rt as readSecret, s as initializeStateSecrets, st as assistantConfigDir, t as buildComposeOptions, ut as stackEnvPath, vt as resolveBackupsDir } from \"./compose-args.js\";\nimport { n as GUARDIAN_INGRESS_ADDON_IDS } from \"./addon-ids.js\";\nimport { t as require_dist } from \"./dist.js\";\nimport { E as parseComposePsRows, F as parseEnvFile, I as removeEnvKey, L as upsertEnvValue, M as mergeEnvContent, O as resolveComposeProjectName, S as detectExistingProject, a as checkDockerCompose, d as composeExec, i as checkDocker, m as composePs, t as applyStack } from \"./docker.js\";\nimport { a as isNetworkAccessPreset, c as isLoopback, o as resolveNetworkPreset, s as validateNetworkPresetEnv } from \"./network-preset.js\";\nimport { chmodSync, copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from \"node:fs\";\nimport { basename, dirname, join } from \"node:path\";\nimport { homedir, networkInterfaces } from \"node:os\";\nimport { execFile } from \"node:child_process\";\n//#region ../lib/src/control-plane/voice-host-probes.ts\n/**\n* Host-fact probes for the voice addon bring-up engine.\n*\n* Split out of packages/ui/.../voice/bring-up.ts (2.2 — \"collapse to one\n* compose driver, including voice\"): these inspect the *host* docker daemon\n* (rootless mode, registered runtimes) rather than UI/addon/compose state, so\n* they belong in lib beside hardware-detect.ts, not the UI-only bring-up\n* orchestration. bring-up.ts consumes them to decide whether to include the\n* static voice.compose.rootless.yml / voice.compose.cdi.yml overlays.\n*/\n/**\n* Detect rootless Docker. The compose `user: \"${OP_UID:-1000}:${OP_GID:-1000}\"`\n* directive bakes the host UID into the container — but on a rootless daemon\n* the bind-mount UID inside the container is subuid-remapped, so the\n* resulting container UID has no write permission against\n* `${OP_HOME}/data/voice/models`. Removing the `user:` directive (via the\n* voice.compose.rootless.yml overlay) lets Docker pick whatever UID the\n* rootless mapping translates to inside the user namespace, which DOES have\n* write access to the bind-mount.\n*\n* `docker info` is the authoritative source: rootless daemons advertise\n* `SecurityOptions: ... name=rootless` and `CgroupDriver: ... rootless`.\n* We accept either signal.\n*/\nasync function detectRootlessDocker() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"info\",\n\t\t\"--format\",\n\t\t\"{{json .}}\"\n\t], 5e3);\n\tif (!res.ok || !res.stdout) return false;\n\ttry {\n\t\tconst parsed = JSON.parse(res.stdout);\n\t\tif ((Array.isArray(parsed.SecurityOptions) ? parsed.SecurityOptions.map((s) => String(s)) : []).some((s) => /name=rootless/i.test(s))) return true;\n\t\tif (typeof parsed.CgroupDriver === \"string\" && /rootless/i.test(parsed.CgroupDriver)) return true;\n\t\treturn false;\n\t} catch {\n\t\treturn /name=rootless|cgroup\\s*driver:.*rootless/i.test(res.stdout);\n\t}\n}\n/**\n* Lightweight wrapper around `docker info` to check whether the `nvidia`\n* runtime is registered. Used as a second signal alongside the cached\n* canonical CUDA profile availability result (getAddonProfileAvailability),\n* which also accepts a CDI-only host as available.\n*/\nasync function dockerHasNvidiaRuntime() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"info\",\n\t\t\"--format\",\n\t\t\"{{json .Runtimes}}\"\n\t], 2e3);\n\treturn res.ok && res.stdout.includes(\"\\\"nvidia\\\"\");\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/pairing.ts\n/**\n* Pairing code codec + guardian principal minting (#511 D3/D4).\n*\n* Portable control-plane logic: encoding/decoding the one-time pairing code\n* and orchestrating the guardian admin-API mint both live here so a future\n* `openpalm pair` CLI command never has to duplicate them (core-principles\n* §Shared control-plane library). `packages/ui`'s pairing route is a thin\n* transport wrapper over `mintDirectPrincipalPairingCode`, and its browser\n* decoder (`connections/pairing.ts` `parsePairingCode`) is a hand-maintained\n* twin of `decodePairingCode` here — the browser bundle never imports\n* `@openpalm/lib`.\n*\n* The pairing code itself is a self-contained, signed-nothing payload (D3):\n* `openpalm-pair:` + base64url(JSON). It is never persisted host-side — the\n* durable artifact is the minted guardian principal, individually revocable\n* via the guardian admin listener's principal-delete endpoint (#433,\n* `packages/guardian/src/admin.ts`).\n*/\nvar PAIRING_CODE_PREFIX = \"openpalm-pair:\";\nvar DEFAULT_GUARDIAN_ADMIN_URL = \"http://127.0.0.1:3831\";\n/** Bound on the guardian admin mint call (PR #564 second retest) — a listener\n* that accepts but never responds must not hang the mint. */\nvar PAIRING_ADMIN_TIMEOUT_MS = 5e3;\n/** Encode a pairing payload as `openpalm-pair:` + base64url(JSON). */\nfunction encodePairingCode(payload) {\n\tconst json = JSON.stringify(payload);\n\treturn `${PAIRING_CODE_PREFIX}${Buffer.from(json, \"utf-8\").toString(\"base64url\")}`;\n}\n/** `slug(label) + '-' + 4 hex chars` — never the bare slug, so a mint never\n* clobbers an existing principal via a bare-label upsert. */\nfunction slugifyLabel(label) {\n\treturn label.toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\").slice(0, 24).replace(/-+$/g, \"\") || \"device\";\n}\nfunction randomHex(byteLength) {\n\tconst bytes = new Uint8Array(byteLength);\n\tcrypto.getRandomValues(bytes);\n\treturn Array.from(bytes, (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\n/**\n* Mint a `direct` guardian principal via the guardian's existing loopback-\n* only, Bearer-gated admin API and return a one-time pairing code carrying\n* its credential (D3). Fails closed: a missing admin-token secret or an\n* unreachable/non-2xx admin API is a structured `{ ok: false }`, never a\n* thrown error and never a fetch attempt without a token in hand.\n*/\nasync function mintDirectPrincipalPairingCode(options) {\n\tconst { homeDir, label, url, guardianAdminUrl = DEFAULT_GUARDIAN_ADMIN_URL, fetchImpl = fetch } = options;\n\tlet parsedUrl;\n\ttry {\n\t\tparsedUrl = new URL(url);\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: \"Pairing target url must be a valid http(s) URL.\"\n\t\t};\n\t}\n\tif (parsedUrl.protocol !== \"http:\" && parsedUrl.protocol !== \"https:\") return {\n\t\tok: false,\n\t\terror: \"Pairing target url must be a valid http(s) URL.\"\n\t};\n\tconst rawToken = readSecret(homeDir, \"op_guardian_admin_token\");\n\tif (!rawToken) return {\n\t\tok: false,\n\t\terror: \"op_guardian_admin_token secret is missing — mint the guardian admin token first.\"\n\t};\n\tconst adminToken = rawToken.trim();\n\tconst principalId = `${slugifyLabel(label)}-${randomHex(8)}`;\n\tconst principalToken = randomHex(32);\n\tlet response;\n\ttry {\n\t\tresponse = await fetchImpl(`${guardianAdminUrl}/admin/principals`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\tauthorization: `Bearer ${adminToken}`,\n\t\t\t\t\"content-type\": \"application/json\"\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tid: principalId,\n\t\t\t\tkind: \"direct\",\n\t\t\t\ttoken: principalToken,\n\t\t\t\tlabel\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(PAIRING_ADMIN_TIMEOUT_MS)\n\t\t});\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: \"guardian admin listener unreachable — is the stack running with a guardian-ingress addon enabled?\"\n\t\t};\n\t}\n\tif (!response.ok) return {\n\t\tok: false,\n\t\terror: `guardian admin API responded with HTTP ${response.status}`\n\t};\n\treturn {\n\t\tok: true,\n\t\tcode: encodePairingCode({\n\t\t\tv: 1,\n\t\t\tkind: \"openpalm-connection\",\n\t\t\turl,\n\t\t\tlabel,\n\t\t\tusername: principalId,\n\t\t\tsecret: principalToken\n\t\t}),\n\t\tprincipalId\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/secret-audit.ts\nvar import_dist = require_dist();\nfunction issue(code, message, path) {\n\treturn {\n\t\tseverity: \"error\",\n\t\tcode,\n\t\tmessage,\n\t\tpath\n\t};\n}\nfunction parseComposeConfig(input) {\n\tif (typeof input === \"string\") {\n\t\tconst parsed = (0, import_dist.parse)(input);\n\t\treturn isRecord(parsed) ? parsed : {};\n\t}\n\treturn isRecord(input) ? input : {};\n}\nfunction isRecord(value) {\n\treturn Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction environmentEntries(environment) {\n\tif (Array.isArray(environment)) return environment.flatMap((entry) => {\n\t\tif (typeof entry !== \"string\") return [];\n\t\tconst eq = entry.indexOf(\"=\");\n\t\treturn eq > 0 ? [[entry.slice(0, eq), entry.slice(eq + 1)]] : [[entry, \"\"]];\n\t});\n\tif (isRecord(environment)) return Object.entries(environment);\n\treturn [];\n}\nfunction serviceSecrets(secrets) {\n\tif (!Array.isArray(secrets)) return [];\n\treturn secrets.flatMap((entry) => {\n\t\tif (typeof entry === \"string\") return [entry];\n\t\tif (!isRecord(entry)) return [];\n\t\tconst source = entry.source ?? entry.target;\n\t\treturn typeof source === \"string\" ? [source] : [];\n\t});\n}\nfunction serviceNetworks(networks) {\n\tif (Array.isArray(networks)) return networks.filter((entry) => typeof entry === \"string\");\n\tif (isRecord(networks)) return Object.keys(networks);\n\treturn [];\n}\nfunction normalizedSecretName(name) {\n\treturn name.toLowerCase().replace(/[^a-z0-9]+/g, \"_\").replace(/^_+|_+$/g, \"\");\n}\nfunction isPortalService(name, service) {\n\tif (normalizedSecretName(name).startsWith(\"portal_\")) return true;\n\tconst image = typeof service.image === \"string\" ? service.image.toLowerCase() : \"\";\n\tif (image.includes(\"/portal\") || image.endsWith(\":portal\") || image.includes(\"openpalm/portal\")) return true;\n\treturn serviceNetworks(service.networks).includes(\"portal_net\") && name !== \"guardian\";\n}\nfunction allowedSecretForService(serviceName, service, secretName) {\n\tconst serviceId = normalizedSecretName(serviceName.replace(/^portal[-_]/i, \"\"));\n\tconst secretId = normalizedSecretName(secretName);\n\tif (serviceName === \"assistant\") return /^(assistant|opencode|provider|llm|embedding|akm|user)_/.test(secretId) || secretId === \"ui_login_password\";\n\tif (serviceName === \"guardian\") return secretId.startsWith(\"guardian_\") || secretId.startsWith(\"portal_\") || secretId.startsWith(\"op_guardian_\") || secretId === \"op_api_key\" || secretId === \"opencode_server_password\";\n\tif (serviceName === \"admin\") return /^(admin|ui|openpalm)_/.test(secretId);\n\tif (isPortalService(serviceName, service)) return secretId.startsWith(`portal_${serviceId}_`) || secretId.startsWith(`${serviceId}_`);\n\treturn secretId.startsWith(`${serviceId}_`);\n}\nfunction auditComposeSecrets(composeConfig) {\n\tconst compose = parseComposeConfig(composeConfig);\n\tconst issues = [];\n\tfor (const [serviceName, service] of Object.entries(compose.services ?? {})) {\n\t\tif (service.env_file !== void 0) issues.push(issue(\"compose-service-env-file\", `service ${serviceName} must not use env_file; pass non-secrets explicitly and use Docker secrets for secret values.`, `services.${serviceName}.env_file`));\n\t\tfor (const [key] of environmentEntries(service.environment)) if (isSecretLikeKey(key)) issues.push(issue(\"compose-secret-env-var\", `service ${serviceName} environment key ${key} is secret-like; expose only ${key}_FILE.`, `services.${serviceName}.environment.${key}`));\n\t\tfor (const secretName of serviceSecrets(service.secrets)) if (!allowedSecretForService(serviceName, service, secretName)) issues.push(issue(\"compose-secret-boundary\", `service ${serviceName} is not allowed to mount secret ${secretName}.`, `services.${serviceName}.secrets`));\n\t}\n\treturn issues;\n}\n//#endregion\n//#region ../lib/src/control-plane/setup-status.ts\n/**\n* Check if setup is complete.\n*\n* OP_SETUP_COMPLETE is an app-written record stored in state/stack.state.env\n* (constitution §1). Merge state OVER the legacy knowledge/env/stack.env so that\n* installs which recorded completion in the legacy file still read as complete.\n* Only OP_SETUP_COMPLETE=true is authoritative.\n*/\nfunction isSetupComplete(homeDir) {\n\tconst legacy = parseEnvFile(legacyStackEnvFile(homeDir));\n\tconst state = existsSync(stateEnvFile(homeDir)) ? parseEnvFile(stateEnvFile(homeDir)) : {};\n\treturn {\n\t\t...legacy,\n\t\t...state\n\t}.OP_SETUP_COMPLETE === \"true\";\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' and no\n* other observable evidence of a completed install\n* - installed: OP_SETUP_COMPLETE === 'true', OR (cheap observable\n* fallback, docs/reviews/fable-remediation-plan.md §1.5)\n* core.compose.yml is present AND both guardian tokens\n* performSetup mints exist. Caller maps \"installed\" to\n* running/offline/broken via a container-health probe.\n*\n* The fallback exists because a hand-built install (copy the skeleton, run\n* `docker compose up -d` yourself) never runs `performSetup` and so never gets\n* the stamp — without it, a stack a user hand-assembled and is already running\n* gets shunted back into the setup wizard. Guardian tokens are cheap\n* (existsSync, no I/O beyond two stat calls) and, combined with the compose\n* file, are strong evidence the layout was actually assembled rather than\n* merely a stray core.compose.yml sitting on disk.\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, homeDir) {\n\tconst hasCompose = existsSync(join(stackDir, \"core.compose.yml\"));\n\tconst legacy = parseEnvFile(legacyStackEnvFile(homeDir));\n\tconst state = existsSync(stateEnvFile(homeDir)) ? parseEnvFile(stateEnvFile(homeDir)) : {};\n\tconst env = {\n\t\t...legacy,\n\t\t...state\n\t};\n\tif (!hasCompose && env.OP_SETUP_COMPLETE !== \"true\") return \"not_installed\";\n\tif (env.OP_SETUP_COMPLETE === \"true\") return \"installed\";\n\tconst secrets = secretsDir(homeDir);\n\tconst hasGuardianTokens = existsSync(join(secrets, \"op_guardian_admin_token\")) && existsSync(join(secrets, \"op_guardian_mcp_token\"));\n\tif (hasCompose && hasGuardianTokens) 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/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 system/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 stackEnvFile = stackEnvPath(state);\n\tif (!existsSync(stackEnvFile)) {\n\t\terrors.push(`ERROR: stack env file missing at ${stackEnvFile}`);\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.homeDir);\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.hasOwn(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/deploy.ts\nvar deployLogger = createLogger(\"deploy\");\nfunction restoreDeployFiles(state) {\n\ttry {\n\t\trestoreSnapshot(state);\n\t} catch (error) {\n\t\tdeployLogger.error(\"failed to restore deploy snapshot\", { error: error instanceof Error ? error.message : String(error) });\n\t}\n}\nasync function restoreDeployStack(state) {\n\ttry {\n\t\tawait restoreSnapshotAndApplyStack(state);\n\t} catch (error) {\n\t\tdeployLogger.error(\"failed to restore deployed stack\", { error: error instanceof Error ? error.message : String(error) });\n\t}\n}\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 && !isProcessAlive(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 projectNameForState(state) {\n\treturn resolveComposeProjectName(parseEnvFile(stackEnvPath(state)));\n}\nfunction resolveImageTag(state) {\n\tconst env = readStackEnv(state.homeDir);\n\treturn env.OP_ASSISTANT_VERSION ?? env.OP_IMAGE_TAG ?? \"\";\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.error) continue;\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}\n/**\n* §2.1: `compose up -d --wait` IS the health gate now — this no longer polls\n* or decides pass/fail. Demoted + renamed from the old pollContainerHealth\n* gate: ONE `compose ps` call refreshes the per-service display labels the UI\n* shows. On a successful `up`, `--wait` already confirmed every requested\n* service is healthy, so every entry is marked running regardless of what\n* this best-effort ps call sees. On a failed `up`, the same single call NAMES\n* which services didn't come up (§2.1's \"one compose ps --format json call\n* names the failed services\"), split into CORE_SERVICES vs everything else —\n* runDeploy gates setup-completion on core only.\n*/\nasync function refreshDeployStatus(state, progress, upFailed) {\n\tconst psResult = await composePs(buildComposeOptions(state));\n\tconst rows = psResult.ok ? parseComposePsRows(psResult.stdout) : [];\n\tconst coreServices = CORE_SERVICES;\n\tconst failedCore = [];\n\tconst failedOptional = [];\n\tprogress.deployStatus = progress.deployStatus.map((entry) => {\n\t\tconst row = rows.find((r) => r.service === entry.service);\n\t\tif (row?.state === \"running\" && row.health !== \"unhealthy\" || !upFailed) return {\n\t\t\t...entry,\n\t\t\tstatus: \"running\",\n\t\t\tlabel: \"Running\"\n\t\t};\n\t\t(coreServices.includes(entry.service) ? failedCore : failedOptional).push(entry.service);\n\t\tconst label = !row ? \"Did not start\" : row.health === \"unhealthy\" ? \"Unhealthy\" : `Exited (${row.state || \"unknown\"})`;\n\t\treturn {\n\t\t\t...entry,\n\t\t\tstatus: \"error\",\n\t\t\tlabel\n\t\t};\n\t});\n\treturn {\n\t\tfailedCore,\n\t\tfailedOptional\n\t};\n}\nfunction markSetupComplete(state) {\n\tpatchStateEnvFile(state.homeDir, { OP_SETUP_COMPLETE: \"true\" });\n}\nfunction backupSetupInputs(state) {\n\tconst stackEnvFile = stackEnvPath(state);\n\tconst secretsDir = `${state.stashDir}/secrets`;\n\tif (!existsSync(stackEnvFile) && !existsSync(secretsDir)) return null;\n\tconst backupDir = join(resolveBackupsDir(), `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, \"-\")}-setup`);\n\tif (existsSync(stackEnvFile)) {\n\t\tconst dest = join(backupDir, \"knowledge/env/stack.env\");\n\t\tmkdirSync(dirname(dest), { recursive: true });\n\t\tcopyFileSync(stackEnvFile, 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}\n/**\n* Secret-boundary + runtime-config gate the deploy runs before it touches any\n* container (S.2.2). Before this, neither `auditComposeSecrets` nor\n* `validateProposedState` was invoked outside the manual `openpalm audit-secrets`\n* command, so an apply could grant a secret across the boundary unchecked. Runs\n* `auditComposeSecrets` over the on-disk compose overlays plus\n* `validateProposedState`; `error`-severity audit issues and validation errors\n* block the deploy, warnings are returned for the caller to log and continue.\n*/\nasync function auditApplyState(state) {\n\tconst errors = [];\n\tconst warnings = [];\n\tfor (const file of discoverStackOverlays(state.homeDir)) for (const auditIssue of auditComposeSecrets(readFileSync(file, \"utf-8\"))) {\n\t\tconst where = auditIssue.path ? `${file}:${auditIssue.path}` : file;\n\t\tconst line = `${auditIssue.code}: ${auditIssue.message} (${where})`;\n\t\t(auditIssue.severity === \"error\" ? errors : warnings).push(line);\n\t}\n\tconst validation = await validateProposedState(state);\n\terrors.push(...validation.errors);\n\twarnings.push(...validation.warnings);\n\treturn {\n\t\terrors,\n\t\twarnings\n\t};\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 audit = await auditApplyState(state);\n\t\tfor (const warning of audit.warnings) deployLogger.warn(warning);\n\t\tif (audit.errors.length > 0) {\n\t\t\trestoreDeployFiles(state);\n\t\t\tprogress.deployError = `Refusing to deploy: configuration validation failed.\\n${audit.errors.join(\"\\n\")}`;\n\t\t\tprogress.deploying = false;\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\tprogress.deployStatus = (await buildManagedServices(state)).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\tconst renameTeardown = await teardownRenamedProject(state);\n\t\tif (renameTeardown.warning) deployLogger.warn(renameTeardown.warning);\n\t\tif (renameTeardown.blocked) {\n\t\t\trestoreDeployFiles(state);\n\t\t\tprogress.deployError = renameTeardown.warning ?? \"Project rename teardown failed.\";\n\t\t\tprogress.deploying = false;\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\tif (renameTeardown.downed) deployLogger.info(`project rename: stopped previous docker project \"${renameTeardown.downed}\"`);\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 imageTag = resolveImageTag(state);\n\t\tconst isDevTag = imageTag.startsWith(\"dev\");\n\t\tconst stackResult = await applyStack({ kind: \"all\" }, composeOpts, void 0, {\n\t\t\tpull: isDevTag ? \"missing\" : \"always\",\n\t\t\thealthTimeoutMs: 5 * 6e4\n\t\t});\n\t\tif (!stackResult.ok) {\n\t\t\tconst { failedCore, failedOptional } = await refreshDeployStatus(state, progress, true);\n\t\t\tif (stackResult.pullFailed || failedCore.length > 0 || stackResult.upFailed) {\n\t\t\t\tif (stackResult.pullFailed && !renameTeardown.downed) restoreDeployFiles(state);\n\t\t\t\telse await restoreDeployStack(state);\n\t\t\t\tconst allFailed = [...failedCore, ...failedOptional];\n\t\t\t\tconst failureDetail = allFailed.length > 0 ? allFailed.join(\", \") : stackResult.error ?? \"stack update\";\n\t\t\t\tprogress.deployError = isDevTag ? `Dev images not found locally or failed to start (tag: ${imageTag}): ${failureDetail}. Run \\`bun run dev:build\\` from the project root to build them, then retry setup.` : `Stack update failed: ${failureDetail}.${allFailed.length > 0 ? ` ${buildLogHint(state, allFailed)}` : \"\"}`;\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\tprogress.imageWarning = `The following optional service(s) did not start correctly and were skipped: ${failedOptional.join(\", \")}. ${buildLogHint(state, failedOptional)}`;\n\t\t\toptions.markSetupComplete?.();\n\t\t\tprogress.deploying = false;\n\t\t\tprogress.setupComplete = true;\n\t\t\tprogress.phase = \"ready\";\n\t\t\temitProgress(options, progress);\n\t\t\treturn progress;\n\t\t}\n\t\tawait refreshDeployStatus(state, progress, false);\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 [\"portals.compose.yml\", \"services.compose.yml\"]) {\n\t\tconst composePath = composeFilePath(homeDir, name);\n\t\tif (existsSync(composePath)) paths.push(composePath);\n\t}\n\tconst custom = customComposeFilePath(homeDir);\n\tif (existsSync(custom)) paths.push(custom);\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?.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}\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 `homeDir`.\n* - Anything else → returned verbatim (treated as a literal key value).\n*/\nfunction resolveApiKey(apiKeyRef, homeDir) {\n\tif (!apiKeyRef) return \"\";\n\tif (!apiKeyRef.startsWith(\"env:\")) return apiKeyRef;\n\tconst varName = apiKeyRef.slice(4);\n\tconst fromProcessEnv = process.env[varName];\n\tif (fromProcessEnv) return fromProcessEnv;\n\treturn readStackRuntimeEnv(homeDir)[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, homeDir) {\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, homeDir);\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$7 = 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$7.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$6 = 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}\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$6.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$6.info(\"host akm sharing disabled\");\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$5 = 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$5.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$5.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$5.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$5.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$5.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$5.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$5.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$5.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$5.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* `packages/skeleton/system/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$4 = 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$4.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$3 = 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$3.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$3.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$2 = 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$2.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/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\tvalidateNetwork(body, errors);\n\treturn {\n\t\tvalid: errors.length === 0,\n\t\terrors\n\t};\n}\nfunction validateNetwork(body, errors) {\n\tif (body.network === void 0) return;\n\tconst network = requireObj(body.network, \"network must be an object if provided\", errors);\n\tif (!network) return;\n\tif (!isNetworkAccessPreset(network.preset)) {\n\t\terrors.push(`network.preset must be one of: this-pc, home-password, home-open, shared-guardian`);\n\t\treturn;\n\t}\n\tconst password = network.opencodePassword;\n\tif (network.preset === \"home-password\") {\n\t\tif (typeof password !== \"string\" || password.length < 8) errors.push(\"network.opencodePassword is required for the home-password preset and must be at least 8 characters\");\n\t} else if (password !== void 0) errors.push(`network.opencodePassword must not be supplied for the \"${network.preset}\" preset`);\n}\nfunction validateSecurity(body, errors) {\n\tconst security = requireObj(body.security, \"security object is required\", errors);\n\tif (!security) return;\n\tif (security.uiLoginPassword === void 0) return;\n\tif (!requireStr(security, \"uiLoginPassword\", \"security.uiLoginPassword must be a non-empty string when provided\", 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$1 = 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}\n/**\n* Merge the setup wizard's LLM + embedding selections into the assistant's\n* akm config.json (atomic write). Existing operator keys — sibling profiles,\n* `sources`, custom fields — are preserved. No-op when neither llm nor\n* embedding is supplied.\n*\n* Writes the CANONICAL akm 0.8.0 shape: profiles.llm.default + defaults.llm.\n* The runtime resolver reads profiles.llm[defaults.llm] (akm config.ts).\n* Do NOT write a top-level `llm` — akm's top-level schema is .strict() with no\n* `llm` key (config-schema.ts AkmConfigShape). A top-level `llm` only loads\n* today via akm's legacy 0.7→0.8 migration shim (config-migration.ts), which\n* rewrites the file on load and is marked for removal — writing the native\n* shape removes that dependency, so any pre-existing legacy key is dropped.\n*/\nfunction persistAkmConfig(state, opts) {\n\tconst { llm, embedding } = opts;\n\tif (!llm && !embedding) return;\n\tconst akmConfigDir = join(state.configDir, \"akm\");\n\tmkdirSync(akmConfigDir, { recursive: true });\n\tconst akmConfigPath = join(akmConfigDir, \"config.json\");\n\tlet existing = {};\n\tif (existsSync(akmConfigPath)) try {\n\t\texisting = JSON.parse(readFileSync(akmConfigPath, \"utf-8\"));\n\t} catch {}\n\tconst updated = { ...existing };\n\tif (llm) {\n\t\tconst profiles = updated.profiles ?? {};\n\t\tconst llmProfiles = profiles.llm ?? {};\n\t\tllmProfiles.default = {\n\t\t\t...llmProfiles.default ?? {},\n\t\t\tendpoint: buildAkmEndpoint(llm.provider, llm.baseUrl, \"/chat/completions\"),\n\t\t\tmodel: llm.model,\n\t\t\tprovider: llm.provider\n\t\t};\n\t\tprofiles.llm = llmProfiles;\n\t\tupdated.profiles = profiles;\n\t\tconst defaults = updated.defaults ?? {};\n\t\tif (typeof defaults.llm !== \"string\") defaults.llm = \"default\";\n\t\tupdated.defaults = defaults;\n\t\tdelete updated.llm;\n\t}\n\tif (embedding) updated.embedding = {\n\t\t...existing.embedding ?? {},\n\t\tendpoint: buildAkmEndpoint(embedding.provider, embedding.baseUrl, \"/embeddings\"),\n\t\tmodel: embedding.model,\n\t\tprovider: embedding.provider,\n\t\tdimension: embedding.dims\n\t};\n\tupdated.stashDir = \"/stash\";\n\twriteFileAtomic(akmConfigPath, JSON.stringify(updated, null, 2), 384);\n}\n/**\n* Persist portal (discord/slack/…) credentials into the vault secrets env.\n* Credential values come ONLY from the setup spec. PR #564 second retest P1-3:\n* the previous host-process-env fallback silently consumed ambient variables\n* (e.g. a leftover `DISCORD_BOT_TOKEN` in the operator's shell) as operator\n* input, overwriting an existing secret BEFORE keep-existing semantics could\n* preserve it. Omitting a credential now leaves the persisted secret untouched\n* — updateSecretsEnv only writes the keys explicitly supplied.\n*/\nfunction persistPortalCredentials(state, portalCredentials) {\n\tupdateSecretsEnv(state, portalCredentials ? buildPortalCredentialEnvVars(portalCredentials) : {});\n}\n/**\n* Seed the default automation (akm-improve) into the AKM stash. Idempotent —\n* an existing file is left untouched so operator edits survive re-install and\n* upgrade. A no-op (with a warning) when the automation is missing from the\n* registry.\n*/\nfunction seedDefaultAutomation(state) {\n\tconst tasksDir = join(state.stashDir, \"tasks\");\n\tmkdirSync(tasksDir, { recursive: true });\n\tconst akmImproveDest = join(tasksDir, \"akm-improve.yml\");\n\tif (existsSync(akmImproveDest)) return;\n\tconst akmImproveTask = getRegistryAutomation(\"akm-improve\");\n\tif (akmImproveTask) {\n\t\twriteFileSync(akmImproveDest, akmImproveTask);\n\t\tlogger$1.info(\"seeded default automation\", { name: \"akm-improve\" });\n\t} else logger$1.warn(\"default automation missing from registry; skipping seed\", { name: \"akm-improve\" });\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\tif (input.network) {\n\t\tconst envCheck = validateNetworkPresetEnv(input.network.preset, process.env);\n\t\tif (!envCheck.valid) return {\n\t\t\tok: false,\n\t\t\terror: envCheck.errors.join(\"; \")\n\t\t};\n\t}\n\tconst { llm, embedding, security, owner, connections, portalCredentials, addons, voiceProfile, ollamaProfile, imageTag, hostAkm, network } = 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$1.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\tupdateSecretsEnv(state, updates);\n\t\t\tpersistPortalCredentials(state, portalCredentials);\n\t\t\tif (security.uiLoginPassword) patchSecretsEnvFile(state.homeDir, { OP_UI_LOGIN_PASSWORD: security.uiLoginPassword });\n\t\t\telse if (!readSecret(state.homeDir, \"op_ui_login_password\")?.trim()) throw new Error(\"security.uiLoginPassword is required — no existing UI login password to preserve.\");\n\t\t\tif (network) {\n\t\t\t\tconst resolution = resolveNetworkPreset(network.preset, { opencodePassword: network.opencodePassword });\n\t\t\t\tpatchSecretsEnvFile(state.homeDir, {\n\t\t\t\t\t...resolution.env,\n\t\t\t\t\t...resolution.opencodePassword ? { OP_OPENCODE_PASSWORD: resolution.opencodePassword } : {}\n\t\t\t\t});\n\t\t\t}\n\t\t\twriteAuthJsonProviderKeys(state, providerKeys);\n\t\t} catch (err) {\n\t\t\tconst message = errMessage(err);\n\t\t\tlogger$1.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 akmUpdates = {};\n\t\t\tconst requestedTag = imageTag?.trim() ? imageTag.trim() : \"latest\";\n\t\t\tfor (const key of SERVICE_VERSION_KEYS) akmUpdates[key] = requestedTag;\n\t\t\twriteVersions(state, akmUpdates);\n\t\t\tpersistAkmConfig(state, {\n\t\t\t\tllm,\n\t\t\t\tembedding\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$1.info(\"host akm sharing enabled during setup\", { profilesImported });\n\t\t\t} else disableHostAkmSharing(state);\n\t\t\tif (addons) for (const [name, enabled] of Object.entries(addons)) setAddonEnabled(state.homeDir, name, enabled === true, state);\n\t\t\tif (network?.preset === \"shared-guardian\") {\n\t\t\t\tif (![...Object.entries(addons ?? {}).filter(([, on]) => on).map(([name]) => name), ...listEnabledAddonIds(state.homeDir)].some((a) => GUARDIAN_INGRESS_ADDON_IDS.includes(a))) {\n\t\t\t\t\tsetAddonEnabled(state.homeDir, \"chat\", true, state);\n\t\t\t\t\tlogger$1.info(\"shared-guardian preset auto-enabled the chat portal\", { reason: \"guardian ingress required for the protected front door\" });\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (voiceProfile?.trim()) setAddonProfileSelection(state.homeDir, \"voice\", voiceProfile.trim());\n\t\t\tif (ollamaProfile?.trim()) setAddonProfileSelection(state.homeDir, \"ollama\", ollamaProfile.trim());\n\t\t\tensureOpenCodeConfig();\n\t\t\tseedDefaultAutomation(state);\n\t\t} catch (err) {\n\t\t\tconst message = errMessage(err);\n\t\t\tlogger$1.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$1.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}\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 next;\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.hasOwn(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.hasOwn(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 ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/types.js\nvar require_types = /* @__PURE__ */ __commonJSMin(((exports) => {\n\texports.toString = function(type) {\n\t\tswitch (type) {\n\t\t\tcase 1: return \"A\";\n\t\t\tcase 10: return \"NULL\";\n\t\t\tcase 28: return \"AAAA\";\n\t\t\tcase 18: return \"AFSDB\";\n\t\t\tcase 42: return \"APL\";\n\t\t\tcase 257: return \"CAA\";\n\t\t\tcase 60: return \"CDNSKEY\";\n\t\t\tcase 59: return \"CDS\";\n\t\t\tcase 37: return \"CERT\";\n\t\t\tcase 5: return \"CNAME\";\n\t\t\tcase 49: return \"DHCID\";\n\t\t\tcase 32769: return \"DLV\";\n\t\t\tcase 39: return \"DNAME\";\n\t\t\tcase 48: return \"DNSKEY\";\n\t\t\tcase 43: return \"DS\";\n\t\t\tcase 55: return \"HIP\";\n\t\t\tcase 13: return \"HINFO\";\n\t\t\tcase 45: return \"IPSECKEY\";\n\t\t\tcase 25: return \"KEY\";\n\t\t\tcase 36: return \"KX\";\n\t\t\tcase 29: return \"LOC\";\n\t\t\tcase 15: return \"MX\";\n\t\t\tcase 35: return \"NAPTR\";\n\t\t\tcase 2: return \"NS\";\n\t\t\tcase 47: return \"NSEC\";\n\t\t\tcase 50: return \"NSEC3\";\n\t\t\tcase 51: return \"NSEC3PARAM\";\n\t\t\tcase 12: return \"PTR\";\n\t\t\tcase 46: return \"RRSIG\";\n\t\t\tcase 17: return \"RP\";\n\t\t\tcase 24: return \"SIG\";\n\t\t\tcase 6: return \"SOA\";\n\t\t\tcase 99: return \"SPF\";\n\t\t\tcase 33: return \"SRV\";\n\t\t\tcase 44: return \"SSHFP\";\n\t\t\tcase 32768: return \"TA\";\n\t\t\tcase 249: return \"TKEY\";\n\t\t\tcase 52: return \"TLSA\";\n\t\t\tcase 250: return \"TSIG\";\n\t\t\tcase 16: return \"TXT\";\n\t\t\tcase 252: return \"AXFR\";\n\t\t\tcase 251: return \"IXFR\";\n\t\t\tcase 41: return \"OPT\";\n\t\t\tcase 255: return \"ANY\";\n\t\t}\n\t\treturn \"UNKNOWN_\" + type;\n\t};\n\texports.toType = function(name) {\n\t\tswitch (name.toUpperCase()) {\n\t\t\tcase \"A\": return 1;\n\t\t\tcase \"NULL\": return 10;\n\t\t\tcase \"AAAA\": return 28;\n\t\t\tcase \"AFSDB\": return 18;\n\t\t\tcase \"APL\": return 42;\n\t\t\tcase \"CAA\": return 257;\n\t\t\tcase \"CDNSKEY\": return 60;\n\t\t\tcase \"CDS\": return 59;\n\t\t\tcase \"CERT\": return 37;\n\t\t\tcase \"CNAME\": return 5;\n\t\t\tcase \"DHCID\": return 49;\n\t\t\tcase \"DLV\": return 32769;\n\t\t\tcase \"DNAME\": return 39;\n\t\t\tcase \"DNSKEY\": return 48;\n\t\t\tcase \"DS\": return 43;\n\t\t\tcase \"HIP\": return 55;\n\t\t\tcase \"HINFO\": return 13;\n\t\t\tcase \"IPSECKEY\": return 45;\n\t\t\tcase \"KEY\": return 25;\n\t\t\tcase \"KX\": return 36;\n\t\t\tcase \"LOC\": return 29;\n\t\t\tcase \"MX\": return 15;\n\t\t\tcase \"NAPTR\": return 35;\n\t\t\tcase \"NS\": return 2;\n\t\t\tcase \"NSEC\": return 47;\n\t\t\tcase \"NSEC3\": return 50;\n\t\t\tcase \"NSEC3PARAM\": return 51;\n\t\t\tcase \"PTR\": return 12;\n\t\t\tcase \"RRSIG\": return 46;\n\t\t\tcase \"RP\": return 17;\n\t\t\tcase \"SIG\": return 24;\n\t\t\tcase \"SOA\": return 6;\n\t\t\tcase \"SPF\": return 99;\n\t\t\tcase \"SRV\": return 33;\n\t\t\tcase \"SSHFP\": return 44;\n\t\t\tcase \"TA\": return 32768;\n\t\t\tcase \"TKEY\": return 249;\n\t\t\tcase \"TLSA\": return 52;\n\t\t\tcase \"TSIG\": return 250;\n\t\t\tcase \"TXT\": return 16;\n\t\t\tcase \"AXFR\": return 252;\n\t\t\tcase \"IXFR\": return 251;\n\t\t\tcase \"OPT\": return 41;\n\t\t\tcase \"ANY\": return 255;\n\t\t\tcase \"*\": return 255;\n\t\t}\n\t\tif (name.toUpperCase().startsWith(\"UNKNOWN_\")) return parseInt(name.slice(8));\n\t\treturn 0;\n\t};\n}));\n//#endregion\n//#region ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/rcodes.js\nvar require_rcodes = /* @__PURE__ */ __commonJSMin(((exports) => {\n\texports.toString = function(rcode) {\n\t\tswitch (rcode) {\n\t\t\tcase 0: return \"NOERROR\";\n\t\t\tcase 1: return \"FORMERR\";\n\t\t\tcase 2: return \"SERVFAIL\";\n\t\t\tcase 3: return \"NXDOMAIN\";\n\t\t\tcase 4: return \"NOTIMP\";\n\t\t\tcase 5: return \"REFUSED\";\n\t\t\tcase 6: return \"YXDOMAIN\";\n\t\t\tcase 7: return \"YXRRSET\";\n\t\t\tcase 8: return \"NXRRSET\";\n\t\t\tcase 9: return \"NOTAUTH\";\n\t\t\tcase 10: return \"NOTZONE\";\n\t\t\tcase 11: return \"RCODE_11\";\n\t\t\tcase 12: return \"RCODE_12\";\n\t\t\tcase 13: return \"RCODE_13\";\n\t\t\tcase 14: return \"RCODE_14\";\n\t\t\tcase 15: return \"RCODE_15\";\n\t\t}\n\t\treturn \"RCODE_\" + rcode;\n\t};\n\texports.toRcode = function(code) {\n\t\tswitch (code.toUpperCase()) {\n\t\t\tcase \"NOERROR\": return 0;\n\t\t\tcase \"FORMERR\": return 1;\n\t\t\tcase \"SERVFAIL\": return 2;\n\t\t\tcase \"NXDOMAIN\": return 3;\n\t\t\tcase \"NOTIMP\": return 4;\n\t\t\tcase \"REFUSED\": return 5;\n\t\t\tcase \"YXDOMAIN\": return 6;\n\t\t\tcase \"YXRRSET\": return 7;\n\t\t\tcase \"NXRRSET\": return 8;\n\t\t\tcase \"NOTAUTH\": return 9;\n\t\t\tcase \"NOTZONE\": return 10;\n\t\t\tcase \"RCODE_11\": return 11;\n\t\t\tcase \"RCODE_12\": return 12;\n\t\t\tcase \"RCODE_13\": return 13;\n\t\t\tcase \"RCODE_14\": return 14;\n\t\t\tcase \"RCODE_15\": return 15;\n\t\t}\n\t\treturn 0;\n\t};\n}));\n//#endregion\n//#region ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/opcodes.js\nvar require_opcodes = /* @__PURE__ */ __commonJSMin(((exports) => {\n\texports.toString = function(opcode) {\n\t\tswitch (opcode) {\n\t\t\tcase 0: return \"QUERY\";\n\t\t\tcase 1: return \"IQUERY\";\n\t\t\tcase 2: return \"STATUS\";\n\t\t\tcase 3: return \"OPCODE_3\";\n\t\t\tcase 4: return \"NOTIFY\";\n\t\t\tcase 5: return \"UPDATE\";\n\t\t\tcase 6: return \"OPCODE_6\";\n\t\t\tcase 7: return \"OPCODE_7\";\n\t\t\tcase 8: return \"OPCODE_8\";\n\t\t\tcase 9: return \"OPCODE_9\";\n\t\t\tcase 10: return \"OPCODE_10\";\n\t\t\tcase 11: return \"OPCODE_11\";\n\t\t\tcase 12: return \"OPCODE_12\";\n\t\t\tcase 13: return \"OPCODE_13\";\n\t\t\tcase 14: return \"OPCODE_14\";\n\t\t\tcase 15: return \"OPCODE_15\";\n\t\t}\n\t\treturn \"OPCODE_\" + opcode;\n\t};\n\texports.toOpcode = function(code) {\n\t\tswitch (code.toUpperCase()) {\n\t\t\tcase \"QUERY\": return 0;\n\t\t\tcase \"IQUERY\": return 1;\n\t\t\tcase \"STATUS\": return 2;\n\t\t\tcase \"OPCODE_3\": return 3;\n\t\t\tcase \"NOTIFY\": return 4;\n\t\t\tcase \"UPDATE\": return 5;\n\t\t\tcase \"OPCODE_6\": return 6;\n\t\t\tcase \"OPCODE_7\": return 7;\n\t\t\tcase \"OPCODE_8\": return 8;\n\t\t\tcase \"OPCODE_9\": return 9;\n\t\t\tcase \"OPCODE_10\": return 10;\n\t\t\tcase \"OPCODE_11\": return 11;\n\t\t\tcase \"OPCODE_12\": return 12;\n\t\t\tcase \"OPCODE_13\": return 13;\n\t\t\tcase \"OPCODE_14\": return 14;\n\t\t\tcase \"OPCODE_15\": return 15;\n\t\t}\n\t\treturn 0;\n\t};\n}));\n//#endregion\n//#region ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/classes.js\nvar require_classes = /* @__PURE__ */ __commonJSMin(((exports) => {\n\texports.toString = function(klass) {\n\t\tswitch (klass) {\n\t\t\tcase 1: return \"IN\";\n\t\t\tcase 2: return \"CS\";\n\t\t\tcase 3: return \"CH\";\n\t\t\tcase 4: return \"HS\";\n\t\t\tcase 255: return \"ANY\";\n\t\t}\n\t\treturn \"UNKNOWN_\" + klass;\n\t};\n\texports.toClass = function(name) {\n\t\tswitch (name.toUpperCase()) {\n\t\t\tcase \"IN\": return 1;\n\t\t\tcase \"CS\": return 2;\n\t\t\tcase \"CH\": return 3;\n\t\t\tcase \"HS\": return 4;\n\t\t\tcase \"ANY\": return 255;\n\t\t}\n\t\treturn 0;\n\t};\n}));\n//#endregion\n//#region ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/optioncodes.js\nvar require_optioncodes = /* @__PURE__ */ __commonJSMin(((exports) => {\n\texports.toString = function(type) {\n\t\tswitch (type) {\n\t\t\tcase 1: return \"LLQ\";\n\t\t\tcase 2: return \"UL\";\n\t\t\tcase 3: return \"NSID\";\n\t\t\tcase 5: return \"DAU\";\n\t\t\tcase 6: return \"DHU\";\n\t\t\tcase 7: return \"N3U\";\n\t\t\tcase 8: return \"CLIENT_SUBNET\";\n\t\t\tcase 9: return \"EXPIRE\";\n\t\t\tcase 10: return \"COOKIE\";\n\t\t\tcase 11: return \"TCP_KEEPALIVE\";\n\t\t\tcase 12: return \"PADDING\";\n\t\t\tcase 13: return \"CHAIN\";\n\t\t\tcase 14: return \"KEY_TAG\";\n\t\t\tcase 26946: return \"DEVICEID\";\n\t\t}\n\t\tif (type < 0) return null;\n\t\treturn `OPTION_${type}`;\n\t};\n\texports.toCode = function(name) {\n\t\tif (typeof name === \"number\") return name;\n\t\tif (!name) return -1;\n\t\tswitch (name.toUpperCase()) {\n\t\t\tcase \"OPTION_0\": return 0;\n\t\t\tcase \"LLQ\": return 1;\n\t\t\tcase \"UL\": return 2;\n\t\t\tcase \"NSID\": return 3;\n\t\t\tcase \"OPTION_4\": return 4;\n\t\t\tcase \"DAU\": return 5;\n\t\t\tcase \"DHU\": return 6;\n\t\t\tcase \"N3U\": return 7;\n\t\t\tcase \"CLIENT_SUBNET\": return 8;\n\t\t\tcase \"EXPIRE\": return 9;\n\t\t\tcase \"COOKIE\": return 10;\n\t\t\tcase \"TCP_KEEPALIVE\": return 11;\n\t\t\tcase \"PADDING\": return 12;\n\t\t\tcase \"CHAIN\": return 13;\n\t\t\tcase \"KEY_TAG\": return 14;\n\t\t\tcase \"DEVICEID\": return 26946;\n\t\t\tcase \"OPTION_65535\": return 65535;\n\t\t}\n\t\tconst m = name.match(/_(\\d+)$/);\n\t\tif (m) return parseInt(m[1], 10);\n\t\treturn -1;\n\t};\n}));\n//#endregion\n//#region ../../node_modules/.bun/@leichtgewicht+ip-codec@2.0.5/node_modules/@leichtgewicht/ip-codec/index.cjs\nvar require_ip_codec = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar ipCodec = (function(exports$1) {\n\t\t\"use strict\";\n\t\tObject.defineProperty(exports$1, \"__esModule\", { value: true });\n\t\texports$1.decode = decode;\n\t\texports$1.encode = encode;\n\t\texports$1.familyOf = familyOf;\n\t\texports$1.name = void 0;\n\t\texports$1.sizeOf = sizeOf;\n\t\texports$1.v6 = exports$1.v4 = void 0;\n\t\tconst v4Regex = /^(\\d{1,3}\\.){3,3}\\d{1,3}$/;\n\t\tconst v4Size = 4;\n\t\tconst v6Regex = /^(::)?(((\\d{1,3}\\.){3}(\\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;\n\t\tconst v6Size = 16;\n\t\tconst v4 = {\n\t\t\tname: \"v4\",\n\t\t\tsize: v4Size,\n\t\t\tisFormat: (ip) => v4Regex.test(ip),\n\t\t\tencode(ip, buff, offset) {\n\t\t\t\toffset = ~~offset;\n\t\t\t\tbuff = buff || new Uint8Array(offset + v4Size);\n\t\t\t\tconst max = ip.length;\n\t\t\t\tlet n = 0;\n\t\t\t\tfor (let i = 0; i < max;) {\n\t\t\t\t\tconst c = ip.charCodeAt(i++);\n\t\t\t\t\tif (c === 46) {\n\t\t\t\t\t\tbuff[offset++] = n;\n\t\t\t\t\t\tn = 0;\n\t\t\t\t\t} else n = n * 10 + (c - 48);\n\t\t\t\t}\n\t\t\t\tbuff[offset] = n;\n\t\t\t\treturn buff;\n\t\t\t},\n\t\t\tdecode(buff, offset) {\n\t\t\t\toffset = ~~offset;\n\t\t\t\treturn `${buff[offset++]}.${buff[offset++]}.${buff[offset++]}.${buff[offset]}`;\n\t\t\t}\n\t\t};\n\t\texports$1.v4 = v4;\n\t\tconst v6 = {\n\t\t\tname: \"v6\",\n\t\t\tsize: v6Size,\n\t\t\tisFormat: (ip) => ip.length > 0 && v6Regex.test(ip),\n\t\t\tencode(ip, buff, offset) {\n\t\t\t\toffset = ~~offset;\n\t\t\t\tlet end = offset + v6Size;\n\t\t\t\tlet fill = -1;\n\t\t\t\tlet hexN = 0;\n\t\t\t\tlet decN = 0;\n\t\t\t\tlet prevColon = true;\n\t\t\t\tlet useDec = false;\n\t\t\t\tbuff = buff || new Uint8Array(offset + v6Size);\n\t\t\t\tfor (let i = 0; i < ip.length; i++) {\n\t\t\t\t\tlet c = ip.charCodeAt(i);\n\t\t\t\t\tif (c === 58) {\n\t\t\t\t\t\tif (prevColon) {\n\t\t\t\t\t\t\tif (fill !== -1) {\n\t\t\t\t\t\t\t\tif (offset < end) buff[offset] = 0;\n\t\t\t\t\t\t\t\tif (offset < end - 1) buff[offset + 1] = 0;\n\t\t\t\t\t\t\t\toffset += 2;\n\t\t\t\t\t\t\t} else if (offset < end) fill = offset;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (useDec === true) {\n\t\t\t\t\t\t\t\tif (offset < end) buff[offset] = decN;\n\t\t\t\t\t\t\t\toffset++;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (offset < end) buff[offset] = hexN >> 8;\n\t\t\t\t\t\t\t\tif (offset < end - 1) buff[offset + 1] = hexN & 255;\n\t\t\t\t\t\t\t\toffset += 2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thexN = 0;\n\t\t\t\t\t\t\tdecN = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprevColon = true;\n\t\t\t\t\t\tuseDec = false;\n\t\t\t\t\t} else if (c === 46) {\n\t\t\t\t\t\tif (offset < end) buff[offset] = decN;\n\t\t\t\t\t\toffset++;\n\t\t\t\t\t\tdecN = 0;\n\t\t\t\t\t\thexN = 0;\n\t\t\t\t\t\tprevColon = false;\n\t\t\t\t\t\tuseDec = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprevColon = false;\n\t\t\t\t\t\tif (c >= 97) c -= 87;\n\t\t\t\t\t\telse if (c >= 65) c -= 55;\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tc -= 48;\n\t\t\t\t\t\t\tdecN = decN * 10 + c;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thexN = (hexN << 4) + c;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (prevColon === false) if (useDec === true) {\n\t\t\t\t\tif (offset < end) buff[offset] = decN;\n\t\t\t\t\toffset++;\n\t\t\t\t} else {\n\t\t\t\t\tif (offset < end) buff[offset] = hexN >> 8;\n\t\t\t\t\tif (offset < end - 1) buff[offset + 1] = hexN & 255;\n\t\t\t\t\toffset += 2;\n\t\t\t\t}\n\t\t\t\telse if (fill === 0) {\n\t\t\t\t\tif (offset < end) buff[offset] = 0;\n\t\t\t\t\tif (offset < end - 1) buff[offset + 1] = 0;\n\t\t\t\t\toffset += 2;\n\t\t\t\t} else if (fill !== -1) {\n\t\t\t\t\toffset += 2;\n\t\t\t\t\tfor (let i = Math.min(offset - 1, end - 1); i >= fill + 2; i--) buff[i] = buff[i - 2];\n\t\t\t\t\tbuff[fill] = 0;\n\t\t\t\t\tbuff[fill + 1] = 0;\n\t\t\t\t\tfill = offset;\n\t\t\t\t}\n\t\t\t\tif (fill !== offset && fill !== -1) {\n\t\t\t\t\tif (offset > end - 2) offset = end - 2;\n\t\t\t\t\twhile (end > fill) buff[--end] = offset < end && offset > fill ? buff[--offset] : 0;\n\t\t\t\t} else while (offset < end) buff[offset++] = 0;\n\t\t\t\treturn buff;\n\t\t\t},\n\t\t\tdecode(buff, offset) {\n\t\t\t\toffset = ~~offset;\n\t\t\t\tlet result = \"\";\n\t\t\t\tfor (let i = 0; i < v6Size; i += 2) {\n\t\t\t\t\tif (i !== 0) result += \":\";\n\t\t\t\t\tresult += (buff[offset + i] << 8 | buff[offset + i + 1]).toString(16);\n\t\t\t\t}\n\t\t\t\treturn result.replace(/(^|:)0(:0)*:0(:|$)/, \"$1::$3\").replace(/:{3,4}/, \"::\");\n\t\t\t}\n\t\t};\n\t\texports$1.v6 = v6;\n\t\texports$1.name = \"ip\";\n\t\tfunction sizeOf(ip) {\n\t\t\tif (v4.isFormat(ip)) return v4.size;\n\t\t\tif (v6.isFormat(ip)) return v6.size;\n\t\t\tthrow Error(`Invalid ip address: ${ip}`);\n\t\t}\n\t\tfunction familyOf(string) {\n\t\t\treturn sizeOf(string) === v4.size ? 1 : 2;\n\t\t}\n\t\tfunction encode(ip, buff, offset) {\n\t\t\toffset = ~~offset;\n\t\t\tconst size = sizeOf(ip);\n\t\t\tif (typeof buff === \"function\") buff = buff(offset + size);\n\t\t\tif (size === v4.size) return v4.encode(ip, buff, offset);\n\t\t\treturn v6.encode(ip, buff, offset);\n\t\t}\n\t\tfunction decode(buff, offset, length) {\n\t\t\toffset = ~~offset;\n\t\t\tlength = length || buff.length - offset;\n\t\t\tif (length === v4.size) return v4.decode(buff, offset, length);\n\t\t\tif (length === v6.size) return v6.decode(buff, offset, length);\n\t\t\tthrow Error(`Invalid buffer size needs to be ${v4.size} for v4 or ${v6.size} for v6.`);\n\t\t}\n\t\treturn \"default\" in exports$1 ? exports$1.default : exports$1;\n\t})({});\n\tif (typeof define === \"function\" && define.amd) define([], function() {\n\t\treturn ipCodec;\n\t});\n\telse if (typeof module === \"object\" && typeof exports === \"object\") module.exports = ipCodec;\n}));\n//#endregion\n//#region ../../node_modules/.bun/dns-packet@5.6.1/node_modules/dns-packet/index.js\nvar require_dns_packet = /* @__PURE__ */ __commonJSMin(((exports) => {\n\tvar Buffer$1 = __require(\"buffer\").Buffer;\n\tvar types = require_types();\n\tvar rcodes = require_rcodes();\n\tvar opcodes = require_opcodes();\n\tvar classes = require_classes();\n\tvar optioncodes = require_optioncodes();\n\tvar ip = require_ip_codec();\n\tvar QUERY_FLAG = 0;\n\tvar RESPONSE_FLAG = 32768;\n\tvar FLUSH_MASK = 32768;\n\tvar NOT_FLUSH_MASK = -32769;\n\tvar QU_MASK = 32768;\n\tvar NOT_QU_MASK = -32769;\n\tvar name = exports.name = {};\n\tname.encode = function(str, buf, offset, { mail = false } = {}) {\n\t\tif (!buf) buf = Buffer$1.alloc(name.encodingLength(str));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst n = str.replace(/^\\.|\\.$/gm, \"\");\n\t\tif (n.length) {\n\t\t\tlet list = [];\n\t\t\tif (mail) {\n\t\t\t\tlet localPart = \"\";\n\t\t\t\tn.split(\".\").forEach((label) => {\n\t\t\t\t\tif (label.endsWith(\"\\\\\")) localPart += (localPart.length ? \".\" : \"\") + label.slice(0, -1);\n\t\t\t\t\telse if (list.length === 0 && localPart.length) list.push(localPart + \".\" + label);\n\t\t\t\t\telse list.push(label);\n\t\t\t\t});\n\t\t\t} else list = n.split(\".\");\n\t\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\t\tconst len = buf.write(list[i], offset + 1);\n\t\t\t\tbuf[offset] = len;\n\t\t\t\toffset += len + 1;\n\t\t\t}\n\t\t}\n\t\tbuf[offset++] = 0;\n\t\tname.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\tname.encode.bytes = 0;\n\tname.decode = function(buf, offset, { mail = false } = {}) {\n\t\tif (!offset) offset = 0;\n\t\tconst list = [];\n\t\tlet oldOffset = offset;\n\t\tlet totalLength = 0;\n\t\tlet consumedBytes = 0;\n\t\tlet jumped = false;\n\t\twhile (true) {\n\t\t\tif (offset >= buf.length) throw new Error(\"Cannot decode name (buffer overflow)\");\n\t\t\tconst len = buf[offset++];\n\t\t\tconsumedBytes += jumped ? 0 : 1;\n\t\t\tif (len === 0) break;\n\t\t\telse if ((len & 192) === 0) {\n\t\t\t\tif (offset + len > buf.length) throw new Error(\"Cannot decode name (buffer overflow)\");\n\t\t\t\ttotalLength += len + 1;\n\t\t\t\tif (totalLength > 254) throw new Error(\"Cannot decode name (name too long)\");\n\t\t\t\tlet label = buf.toString(\"utf-8\", offset, offset + len);\n\t\t\t\tif (mail) label = label.replace(/\\./g, \"\\\\.\");\n\t\t\t\tlist.push(label);\n\t\t\t\toffset += len;\n\t\t\t\tconsumedBytes += jumped ? 0 : len;\n\t\t\t} else if ((len & 192) === 192) {\n\t\t\t\tif (offset + 1 > buf.length) throw new Error(\"Cannot decode name (buffer overflow)\");\n\t\t\t\tconst jumpOffset = buf.readUInt16BE(offset - 1) - 49152;\n\t\t\t\tif (jumpOffset >= oldOffset) throw new Error(\"Cannot decode name (bad pointer)\");\n\t\t\t\toffset = jumpOffset;\n\t\t\t\toldOffset = jumpOffset;\n\t\t\t\tconsumedBytes += jumped ? 0 : 1;\n\t\t\t\tjumped = true;\n\t\t\t} else throw new Error(\"Cannot decode name (bad label)\");\n\t\t}\n\t\tname.decode.bytes = consumedBytes;\n\t\treturn list.length === 0 ? \".\" : list.join(\".\");\n\t};\n\tname.decode.bytes = 0;\n\tname.encodingLength = function(n) {\n\t\tif (n === \".\" || n === \"..\") return 1;\n\t\treturn Buffer$1.byteLength(n.replace(/^\\.|\\.$/gm, \"\")) + 2;\n\t};\n\tvar string = {};\n\tstring.encode = function(s, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(string.encodingLength(s));\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf.write(s, offset + 1);\n\t\tbuf[offset] = len;\n\t\tstring.encode.bytes = len + 1;\n\t\treturn buf;\n\t};\n\tstring.encode.bytes = 0;\n\tstring.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf[offset];\n\t\tconst s = buf.toString(\"utf-8\", offset + 1, offset + 1 + len);\n\t\tstring.decode.bytes = len + 1;\n\t\treturn s;\n\t};\n\tstring.decode.bytes = 0;\n\tstring.encodingLength = function(s) {\n\t\treturn Buffer$1.byteLength(s) + 1;\n\t};\n\tvar header = {};\n\theader.encode = function(h, buf, offset) {\n\t\tif (!buf) buf = header.encodingLength(h);\n\t\tif (!offset) offset = 0;\n\t\tconst flags = (h.flags || 0) & 32767;\n\t\tconst type = h.type === \"response\" ? RESPONSE_FLAG : QUERY_FLAG;\n\t\tbuf.writeUInt16BE(h.id || 0, offset);\n\t\tbuf.writeUInt16BE(flags | type, offset + 2);\n\t\tbuf.writeUInt16BE(h.questions.length, offset + 4);\n\t\tbuf.writeUInt16BE(h.answers.length, offset + 6);\n\t\tbuf.writeUInt16BE(h.authorities.length, offset + 8);\n\t\tbuf.writeUInt16BE(h.additionals.length, offset + 10);\n\t\treturn buf;\n\t};\n\theader.encode.bytes = 12;\n\theader.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tif (buf.length < 12) throw new Error(\"Header must be 12 bytes\");\n\t\tconst flags = buf.readUInt16BE(offset + 2);\n\t\treturn {\n\t\t\tid: buf.readUInt16BE(offset),\n\t\t\ttype: flags & RESPONSE_FLAG ? \"response\" : \"query\",\n\t\t\tflags: flags & 32767,\n\t\t\tflag_qr: (flags >> 15 & 1) === 1,\n\t\t\topcode: opcodes.toString(flags >> 11 & 15),\n\t\t\tflag_aa: (flags >> 10 & 1) === 1,\n\t\t\tflag_tc: (flags >> 9 & 1) === 1,\n\t\t\tflag_rd: (flags >> 8 & 1) === 1,\n\t\t\tflag_ra: (flags >> 7 & 1) === 1,\n\t\t\tflag_z: (flags >> 6 & 1) === 1,\n\t\t\tflag_ad: (flags >> 5 & 1) === 1,\n\t\t\tflag_cd: (flags >> 4 & 1) === 1,\n\t\t\trcode: rcodes.toString(flags & 15),\n\t\t\tquestions: new Array(buf.readUInt16BE(offset + 4)),\n\t\t\tanswers: new Array(buf.readUInt16BE(offset + 6)),\n\t\t\tauthorities: new Array(buf.readUInt16BE(offset + 8)),\n\t\t\tadditionals: new Array(buf.readUInt16BE(offset + 10))\n\t\t};\n\t};\n\theader.decode.bytes = 12;\n\theader.encodingLength = function() {\n\t\treturn 12;\n\t};\n\tvar runknown = exports.unknown = {};\n\trunknown.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(runknown.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tbuf.writeUInt16BE(data.length, offset);\n\t\tdata.copy(buf, offset + 2);\n\t\trunknown.encode.bytes = data.length + 2;\n\t\treturn buf;\n\t};\n\trunknown.encode.bytes = 0;\n\trunknown.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\tconst data = buf.slice(offset + 2, offset + 2 + len);\n\t\trunknown.decode.bytes = len + 2;\n\t\treturn data;\n\t};\n\trunknown.decode.bytes = 0;\n\trunknown.encodingLength = function(data) {\n\t\treturn data.length + 2;\n\t};\n\tvar rns = exports.ns = {};\n\trns.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rns.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tname.encode(data, buf, offset + 2);\n\t\tbuf.writeUInt16BE(name.encode.bytes, offset);\n\t\trns.encode.bytes = name.encode.bytes + 2;\n\t\treturn buf;\n\t};\n\trns.encode.bytes = 0;\n\trns.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\tconst dd = name.decode(buf, offset + 2);\n\t\trns.decode.bytes = len + 2;\n\t\treturn dd;\n\t};\n\trns.decode.bytes = 0;\n\trns.encodingLength = function(data) {\n\t\treturn name.encodingLength(data) + 2;\n\t};\n\tvar rsoa = exports.soa = {};\n\trsoa.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rsoa.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tname.encode(data.mname, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\tname.encode(data.rname, buf, offset, { mail: true });\n\t\toffset += name.encode.bytes;\n\t\tbuf.writeUInt32BE(data.serial || 0, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(data.refresh || 0, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(data.retry || 0, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(data.expire || 0, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(data.minimum || 0, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt16BE(offset - oldOffset - 2, oldOffset);\n\t\trsoa.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\trsoa.encode.bytes = 0;\n\trsoa.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\toffset += 2;\n\t\tdata.mname = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\tdata.rname = name.decode(buf, offset, { mail: true });\n\t\toffset += name.decode.bytes;\n\t\tdata.serial = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tdata.refresh = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tdata.retry = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tdata.expire = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tdata.minimum = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\trsoa.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trsoa.decode.bytes = 0;\n\trsoa.encodingLength = function(data) {\n\t\treturn 22 + name.encodingLength(data.mname) + name.encodingLength(data.rname);\n\t};\n\tvar rtxt = exports.txt = {};\n\trtxt.encode = function(data, buf, offset) {\n\t\tif (!Array.isArray(data)) data = [data];\n\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\tif (typeof data[i] === \"string\") data[i] = Buffer$1.from(data[i]);\n\t\t\tif (!Buffer$1.isBuffer(data[i])) throw new Error(\"Must be a Buffer\");\n\t\t}\n\t\tif (!buf) buf = Buffer$1.alloc(rtxt.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tdata.forEach(function(d) {\n\t\t\tbuf[offset++] = d.length;\n\t\t\td.copy(buf, offset, 0, d.length);\n\t\t\toffset += d.length;\n\t\t});\n\t\tbuf.writeUInt16BE(offset - oldOffset - 2, oldOffset);\n\t\trtxt.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\trtxt.encode.bytes = 0;\n\trtxt.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tlet remaining = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tlet data = [];\n\t\twhile (remaining > 0) {\n\t\t\tconst len = buf[offset++];\n\t\t\t--remaining;\n\t\t\tif (remaining < len) throw new Error(\"Buffer overflow\");\n\t\t\tdata.push(buf.slice(offset, offset + len));\n\t\t\toffset += len;\n\t\t\tremaining -= len;\n\t\t}\n\t\trtxt.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trtxt.decode.bytes = 0;\n\trtxt.encodingLength = function(data) {\n\t\tif (!Array.isArray(data)) data = [data];\n\t\tlet length = 2;\n\t\tdata.forEach(function(buf) {\n\t\t\tif (typeof buf === \"string\") length += Buffer$1.byteLength(buf) + 1;\n\t\t\telse length += buf.length + 1;\n\t\t});\n\t\treturn length;\n\t};\n\tvar rnull = exports.null = {};\n\trnull.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rnull.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tif (typeof data === \"string\") data = Buffer$1.from(data);\n\t\tif (!data) data = Buffer$1.alloc(0);\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tconst len = data.length;\n\t\tdata.copy(buf, offset, 0, len);\n\t\toffset += len;\n\t\tbuf.writeUInt16BE(offset - oldOffset - 2, oldOffset);\n\t\trnull.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\trnull.encode.bytes = 0;\n\trnull.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tconst data = buf.slice(offset, offset + len);\n\t\toffset += len;\n\t\trnull.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trnull.decode.bytes = 0;\n\trnull.encodingLength = function(data) {\n\t\tif (!data) return 2;\n\t\treturn (Buffer$1.isBuffer(data) ? data.length : Buffer$1.byteLength(data)) + 2;\n\t};\n\tvar rhinfo = exports.hinfo = {};\n\trhinfo.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rhinfo.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tstring.encode(data.cpu, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tstring.encode(data.os, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tbuf.writeUInt16BE(offset - oldOffset - 2, oldOffset);\n\t\trhinfo.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\trhinfo.encode.bytes = 0;\n\trhinfo.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\toffset += 2;\n\t\tdata.cpu = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\tdata.os = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\trhinfo.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trhinfo.decode.bytes = 0;\n\trhinfo.encodingLength = function(data) {\n\t\treturn string.encodingLength(data.cpu) + string.encodingLength(data.os) + 2;\n\t};\n\tvar rptr = exports.ptr = {};\n\tvar rcname = exports.cname = rptr;\n\tvar rdname = exports.dname = rptr;\n\trptr.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rptr.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tname.encode(data, buf, offset + 2);\n\t\tbuf.writeUInt16BE(name.encode.bytes, offset);\n\t\trptr.encode.bytes = name.encode.bytes + 2;\n\t\treturn buf;\n\t};\n\trptr.encode.bytes = 0;\n\trptr.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst data = name.decode(buf, offset + 2);\n\t\trptr.decode.bytes = name.decode.bytes + 2;\n\t\treturn data;\n\t};\n\trptr.decode.bytes = 0;\n\trptr.encodingLength = function(data) {\n\t\treturn name.encodingLength(data) + 2;\n\t};\n\tvar rsrv = exports.srv = {};\n\trsrv.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rsrv.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tbuf.writeUInt16BE(data.priority || 0, offset + 2);\n\t\tbuf.writeUInt16BE(data.weight || 0, offset + 4);\n\t\tbuf.writeUInt16BE(data.port || 0, offset + 6);\n\t\tname.encode(data.target, buf, offset + 8);\n\t\tconst len = name.encode.bytes + 6;\n\t\tbuf.writeUInt16BE(len, offset);\n\t\trsrv.encode.bytes = len + 2;\n\t\treturn buf;\n\t};\n\trsrv.encode.bytes = 0;\n\trsrv.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\tconst data = {};\n\t\tdata.priority = buf.readUInt16BE(offset + 2);\n\t\tdata.weight = buf.readUInt16BE(offset + 4);\n\t\tdata.port = buf.readUInt16BE(offset + 6);\n\t\tdata.target = name.decode(buf, offset + 8);\n\t\trsrv.decode.bytes = len + 2;\n\t\treturn data;\n\t};\n\trsrv.decode.bytes = 0;\n\trsrv.encodingLength = function(data) {\n\t\treturn 8 + name.encodingLength(data.target);\n\t};\n\tvar rcaa = exports.caa = {};\n\trcaa.ISSUER_CRITICAL = 128;\n\trcaa.encode = function(data, buf, offset) {\n\t\tconst len = rcaa.encodingLength(data);\n\t\tif (!buf) buf = Buffer$1.alloc(rcaa.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tif (data.issuerCritical) data.flags = rcaa.ISSUER_CRITICAL;\n\t\tbuf.writeUInt16BE(len - 2, offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt8(data.flags || 0, offset);\n\t\toffset += 1;\n\t\tstring.encode(data.tag, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tbuf.write(data.value, offset);\n\t\toffset += Buffer$1.byteLength(data.value);\n\t\trcaa.encode.bytes = len;\n\t\treturn buf;\n\t};\n\trcaa.encode.bytes = 0;\n\trcaa.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\tdata.flags = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tdata.tag = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\tdata.value = buf.toString(\"utf-8\", offset, oldOffset + len);\n\t\tdata.issuerCritical = !!(data.flags & rcaa.ISSUER_CRITICAL);\n\t\trcaa.decode.bytes = len + 2;\n\t\treturn data;\n\t};\n\trcaa.decode.bytes = 0;\n\trcaa.encodingLength = function(data) {\n\t\treturn string.encodingLength(data.tag) + string.encodingLength(data.value) + 2;\n\t};\n\tvar rmx = exports.mx = {};\n\trmx.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rmx.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(data.preference || 0, offset);\n\t\toffset += 2;\n\t\tname.encode(data.exchange, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\tbuf.writeUInt16BE(offset - oldOffset - 2, oldOffset);\n\t\trmx.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\trmx.encode.bytes = 0;\n\trmx.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\toffset += 2;\n\t\tdata.preference = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tdata.exchange = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\trmx.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trmx.encodingLength = function(data) {\n\t\treturn 4 + name.encodingLength(data.exchange);\n\t};\n\tvar ra = exports.a = {};\n\tra.encode = function(host, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(ra.encodingLength(host));\n\t\tif (!offset) offset = 0;\n\t\tbuf.writeUInt16BE(4, offset);\n\t\toffset += 2;\n\t\tip.v4.encode(host, buf, offset);\n\t\tra.encode.bytes = 6;\n\t\treturn buf;\n\t};\n\tra.encode.bytes = 0;\n\tra.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\toffset += 2;\n\t\tconst host = ip.v4.decode(buf, offset);\n\t\tra.decode.bytes = 6;\n\t\treturn host;\n\t};\n\tra.decode.bytes = 0;\n\tra.encodingLength = function() {\n\t\treturn 6;\n\t};\n\tvar raaaa = exports.aaaa = {};\n\traaaa.encode = function(host, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(raaaa.encodingLength(host));\n\t\tif (!offset) offset = 0;\n\t\tbuf.writeUInt16BE(16, offset);\n\t\toffset += 2;\n\t\tip.v6.encode(host, buf, offset);\n\t\traaaa.encode.bytes = 18;\n\t\treturn buf;\n\t};\n\traaaa.encode.bytes = 0;\n\traaaa.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\toffset += 2;\n\t\tconst host = ip.v6.decode(buf, offset);\n\t\traaaa.decode.bytes = 18;\n\t\treturn host;\n\t};\n\traaaa.decode.bytes = 0;\n\traaaa.encodingLength = function() {\n\t\treturn 18;\n\t};\n\tvar roption = exports.option = {};\n\troption.encode = function(option, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(roption.encodingLength(option));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst code = optioncodes.toCode(option.code);\n\t\tbuf.writeUInt16BE(code, offset);\n\t\toffset += 2;\n\t\tif (option.data) {\n\t\t\tbuf.writeUInt16BE(option.data.length, offset);\n\t\t\toffset += 2;\n\t\t\toption.data.copy(buf, offset);\n\t\t\toffset += option.data.length;\n\t\t} else switch (code) {\n\t\t\tcase 8:\n\t\t\t\tconst spl = option.sourcePrefixLength || 0;\n\t\t\t\tconst fam = option.family || ip.familyOf(option.ip);\n\t\t\t\tconst ipBuf = ip.encode(option.ip, Buffer$1.alloc);\n\t\t\t\tconst ipLen = Math.ceil(spl / 8);\n\t\t\t\tbuf.writeUInt16BE(ipLen + 4, offset);\n\t\t\t\toffset += 2;\n\t\t\t\tbuf.writeUInt16BE(fam, offset);\n\t\t\t\toffset += 2;\n\t\t\t\tbuf.writeUInt8(spl, offset++);\n\t\t\t\tbuf.writeUInt8(option.scopePrefixLength || 0, offset++);\n\t\t\t\tipBuf.copy(buf, offset, 0, ipLen);\n\t\t\t\toffset += ipLen;\n\t\t\t\tbreak;\n\t\t\tcase 11:\n\t\t\t\tif (option.timeout) {\n\t\t\t\t\tbuf.writeUInt16BE(2, offset);\n\t\t\t\t\toffset += 2;\n\t\t\t\t\tbuf.writeUInt16BE(option.timeout, offset);\n\t\t\t\t\toffset += 2;\n\t\t\t\t} else {\n\t\t\t\t\tbuf.writeUInt16BE(0, offset);\n\t\t\t\t\toffset += 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 12:\n\t\t\t\tconst len = option.length || 0;\n\t\t\t\tbuf.writeUInt16BE(len, offset);\n\t\t\t\toffset += 2;\n\t\t\t\tbuf.fill(0, offset, offset + len);\n\t\t\t\toffset += len;\n\t\t\t\tbreak;\n\t\t\tcase 14:\n\t\t\t\tconst tagsLen = option.tags.length * 2;\n\t\t\t\tbuf.writeUInt16BE(tagsLen, offset);\n\t\t\t\toffset += 2;\n\t\t\t\tfor (const tag of option.tags) {\n\t\t\t\t\tbuf.writeUInt16BE(tag, offset);\n\t\t\t\t\toffset += 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error(`Unknown roption code: ${option.code}`);\n\t\t}\n\t\troption.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\troption.encode.bytes = 0;\n\troption.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst option = {};\n\t\toption.code = buf.readUInt16BE(offset);\n\t\toption.type = optioncodes.toString(option.code);\n\t\toffset += 2;\n\t\tconst len = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\toption.data = buf.slice(offset, offset + len);\n\t\tswitch (option.code) {\n\t\t\tcase 8:\n\t\t\t\toption.family = buf.readUInt16BE(offset);\n\t\t\t\toffset += 2;\n\t\t\t\toption.sourcePrefixLength = buf.readUInt8(offset++);\n\t\t\t\toption.scopePrefixLength = buf.readUInt8(offset++);\n\t\t\t\tconst padded = Buffer$1.alloc(option.family === 1 ? 4 : 16);\n\t\t\t\tbuf.copy(padded, 0, offset, offset + len - 4);\n\t\t\t\toption.ip = ip.decode(padded);\n\t\t\t\tbreak;\n\t\t\tcase 11:\n\t\t\t\tif (len > 0) {\n\t\t\t\t\toption.timeout = buf.readUInt16BE(offset);\n\t\t\t\t\toffset += 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 14:\n\t\t\t\toption.tags = [];\n\t\t\t\tfor (let i = 0; i < len; i += 2) {\n\t\t\t\t\toption.tags.push(buf.readUInt16BE(offset));\n\t\t\t\t\toffset += 2;\n\t\t\t\t}\n\t\t}\n\t\troption.decode.bytes = len + 4;\n\t\treturn option;\n\t};\n\troption.decode.bytes = 0;\n\troption.encodingLength = function(option) {\n\t\tif (option.data) return option.data.length + 4;\n\t\tswitch (optioncodes.toCode(option.code)) {\n\t\t\tcase 8:\n\t\t\t\tconst spl = option.sourcePrefixLength || 0;\n\t\t\t\treturn Math.ceil(spl / 8) + 8;\n\t\t\tcase 11: return typeof option.timeout === \"number\" ? 6 : 4;\n\t\t\tcase 12: return option.length + 4;\n\t\t\tcase 14: return 4 + option.tags.length * 2;\n\t\t}\n\t\tthrow new Error(`Unknown roption code: ${option.code}`);\n\t};\n\tvar ropt = exports.opt = {};\n\tropt.encode = function(options, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(ropt.encodingLength(options));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst rdlen = encodingLengthList(options, roption);\n\t\tbuf.writeUInt16BE(rdlen, offset);\n\t\toffset = encodeList(options, roption, buf, offset + 2);\n\t\tropt.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\tropt.encode.bytes = 0;\n\tropt.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst options = [];\n\t\tlet rdlen = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tlet o = 0;\n\t\twhile (rdlen > 0) {\n\t\t\toptions[o++] = roption.decode(buf, offset);\n\t\t\toffset += roption.decode.bytes;\n\t\t\trdlen -= roption.decode.bytes;\n\t\t}\n\t\tropt.decode.bytes = offset - oldOffset;\n\t\treturn options;\n\t};\n\tropt.decode.bytes = 0;\n\tropt.encodingLength = function(options) {\n\t\treturn 2 + encodingLengthList(options || [], roption);\n\t};\n\tvar rdnskey = exports.dnskey = {};\n\trdnskey.PROTOCOL_DNSSEC = 3;\n\trdnskey.ZONE_KEY = 128;\n\trdnskey.SECURE_ENTRYPOINT = 32768;\n\trdnskey.encode = function(key, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rdnskey.encodingLength(key));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst keydata = key.key;\n\t\tif (!Buffer$1.isBuffer(keydata)) throw new Error(\"Key must be a Buffer\");\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(key.flags, offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt8(rdnskey.PROTOCOL_DNSSEC, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(key.algorithm, offset);\n\t\toffset += 1;\n\t\tkeydata.copy(buf, offset, 0, keydata.length);\n\t\toffset += keydata.length;\n\t\trdnskey.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rdnskey.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trdnskey.encode.bytes = 0;\n\trdnskey.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar key = {};\n\t\tvar length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tkey.flags = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tif (buf.readUInt8(offset) !== rdnskey.PROTOCOL_DNSSEC) throw new Error(\"Protocol must be 3\");\n\t\toffset += 1;\n\t\tkey.algorithm = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tkey.key = buf.slice(offset, oldOffset + length + 2);\n\t\toffset += key.key.length;\n\t\trdnskey.decode.bytes = offset - oldOffset;\n\t\treturn key;\n\t};\n\trdnskey.decode.bytes = 0;\n\trdnskey.encodingLength = function(key) {\n\t\treturn 6 + Buffer$1.byteLength(key.key);\n\t};\n\tvar rrrsig = exports.rrsig = {};\n\trrrsig.encode = function(sig, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rrrsig.encodingLength(sig));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst signature = sig.signature;\n\t\tif (!Buffer$1.isBuffer(signature)) throw new Error(\"Signature must be a Buffer\");\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(types.toType(sig.typeCovered), offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt8(sig.algorithm, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(sig.labels, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt32BE(sig.originalTTL, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(sig.expiration, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt32BE(sig.inception, offset);\n\t\toffset += 4;\n\t\tbuf.writeUInt16BE(sig.keyTag, offset);\n\t\toffset += 2;\n\t\tname.encode(sig.signersName, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\tsignature.copy(buf, offset, 0, signature.length);\n\t\toffset += signature.length;\n\t\trrrsig.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rrrsig.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trrrsig.encode.bytes = 0;\n\trrrsig.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar sig = {};\n\t\tvar length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tsig.typeCovered = types.toString(buf.readUInt16BE(offset));\n\t\toffset += 2;\n\t\tsig.algorithm = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tsig.labels = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tsig.originalTTL = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tsig.expiration = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tsig.inception = buf.readUInt32BE(offset);\n\t\toffset += 4;\n\t\tsig.keyTag = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tsig.signersName = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\tsig.signature = buf.slice(offset, oldOffset + length + 2);\n\t\toffset += sig.signature.length;\n\t\trrrsig.decode.bytes = offset - oldOffset;\n\t\treturn sig;\n\t};\n\trrrsig.decode.bytes = 0;\n\trrrsig.encodingLength = function(sig) {\n\t\treturn 20 + name.encodingLength(sig.signersName) + Buffer$1.byteLength(sig.signature);\n\t};\n\tvar rrp = exports.rp = {};\n\trrp.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rrp.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tname.encode(data.mbox || \".\", buf, offset, { mail: true });\n\t\toffset += name.encode.bytes;\n\t\tname.encode(data.txt || \".\", buf, offset);\n\t\toffset += name.encode.bytes;\n\t\trrp.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rrp.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trrp.encode.bytes = 0;\n\trrp.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\toffset += 2;\n\t\tdata.mbox = name.decode(buf, offset, { mail: true }) || \".\";\n\t\toffset += name.decode.bytes;\n\t\tdata.txt = name.decode(buf, offset) || \".\";\n\t\toffset += name.decode.bytes;\n\t\trrp.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trrp.decode.bytes = 0;\n\trrp.encodingLength = function(data) {\n\t\treturn 2 + name.encodingLength(data.mbox || \".\") + name.encodingLength(data.txt || \".\");\n\t};\n\tvar typebitmap = {};\n\ttypebitmap.encode = function(typelist, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(typebitmap.encodingLength(typelist));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar typesByWindow = [];\n\t\tfor (var i = 0; i < typelist.length; i++) {\n\t\t\tvar typeid = types.toType(typelist[i]);\n\t\t\tif (typesByWindow[typeid >> 8] === void 0) typesByWindow[typeid >> 8] = [];\n\t\t\ttypesByWindow[typeid >> 8][typeid >> 3 & 31] |= 1 << 7 - (typeid & 7);\n\t\t}\n\t\tfor (i = 0; i < typesByWindow.length; i++) if (typesByWindow[i] !== void 0) {\n\t\t\tvar windowBuf = Buffer$1.from(typesByWindow[i]);\n\t\t\tbuf.writeUInt8(i, offset);\n\t\t\toffset += 1;\n\t\t\tbuf.writeUInt8(windowBuf.length, offset);\n\t\t\toffset += 1;\n\t\t\twindowBuf.copy(buf, offset);\n\t\t\toffset += windowBuf.length;\n\t\t}\n\t\ttypebitmap.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\ttypebitmap.encode.bytes = 0;\n\ttypebitmap.decode = function(buf, offset, length) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar typelist = [];\n\t\twhile (offset - oldOffset < length) {\n\t\t\tvar window = buf.readUInt8(offset);\n\t\t\toffset += 1;\n\t\t\tvar windowLength = buf.readUInt8(offset);\n\t\t\toffset += 1;\n\t\t\tfor (var i = 0; i < windowLength; i++) {\n\t\t\t\tvar b = buf.readUInt8(offset + i);\n\t\t\t\tfor (var j = 0; j < 8; j++) if (b & 1 << 7 - j) {\n\t\t\t\t\tvar typeid = types.toString(window << 8 | i << 3 | j);\n\t\t\t\t\ttypelist.push(typeid);\n\t\t\t\t}\n\t\t\t}\n\t\t\toffset += windowLength;\n\t\t}\n\t\ttypebitmap.decode.bytes = offset - oldOffset;\n\t\treturn typelist;\n\t};\n\ttypebitmap.decode.bytes = 0;\n\ttypebitmap.encodingLength = function(typelist) {\n\t\tvar extents = [];\n\t\tfor (var i = 0; i < typelist.length; i++) {\n\t\t\tvar typeid = types.toType(typelist[i]);\n\t\t\textents[typeid >> 8] = Math.max(extents[typeid >> 8] || 0, typeid & 255);\n\t\t}\n\t\tvar len = 0;\n\t\tfor (i = 0; i < extents.length; i++) if (extents[i] !== void 0) len += 2 + Math.ceil((extents[i] + 1) / 8);\n\t\treturn len;\n\t};\n\tvar rnsec = exports.nsec = {};\n\trnsec.encode = function(record, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rnsec.encodingLength(record));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tname.encode(record.nextDomain, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\ttypebitmap.encode(record.rrtypes, buf, offset);\n\t\toffset += typebitmap.encode.bytes;\n\t\trnsec.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rnsec.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trnsec.encode.bytes = 0;\n\trnsec.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar record = {};\n\t\tvar length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\trecord.nextDomain = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\trecord.rrtypes = typebitmap.decode(buf, offset, length - (offset - oldOffset));\n\t\toffset += typebitmap.decode.bytes;\n\t\trnsec.decode.bytes = offset - oldOffset;\n\t\treturn record;\n\t};\n\trnsec.decode.bytes = 0;\n\trnsec.encodingLength = function(record) {\n\t\treturn 2 + name.encodingLength(record.nextDomain) + typebitmap.encodingLength(record.rrtypes);\n\t};\n\tvar rnsec3 = exports.nsec3 = {};\n\trnsec3.encode = function(record, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rnsec3.encodingLength(record));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst salt = record.salt;\n\t\tif (!Buffer$1.isBuffer(salt)) throw new Error(\"salt must be a Buffer\");\n\t\tconst nextDomain = record.nextDomain;\n\t\tif (!Buffer$1.isBuffer(nextDomain)) throw new Error(\"nextDomain must be a Buffer\");\n\t\toffset += 2;\n\t\tbuf.writeUInt8(record.algorithm, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(record.flags, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt16BE(record.iterations, offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt8(salt.length, offset);\n\t\toffset += 1;\n\t\tsalt.copy(buf, offset, 0, salt.length);\n\t\toffset += salt.length;\n\t\tbuf.writeUInt8(nextDomain.length, offset);\n\t\toffset += 1;\n\t\tnextDomain.copy(buf, offset, 0, nextDomain.length);\n\t\toffset += nextDomain.length;\n\t\ttypebitmap.encode(record.rrtypes, buf, offset);\n\t\toffset += typebitmap.encode.bytes;\n\t\trnsec3.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rnsec3.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trnsec3.encode.bytes = 0;\n\trnsec3.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar record = {};\n\t\tvar length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\trecord.algorithm = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\trecord.flags = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\trecord.iterations = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tconst saltLength = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\trecord.salt = buf.slice(offset, offset + saltLength);\n\t\toffset += saltLength;\n\t\tconst hashLength = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\trecord.nextDomain = buf.slice(offset, offset + hashLength);\n\t\toffset += hashLength;\n\t\trecord.rrtypes = typebitmap.decode(buf, offset, length - (offset - oldOffset));\n\t\toffset += typebitmap.decode.bytes;\n\t\trnsec3.decode.bytes = offset - oldOffset;\n\t\treturn record;\n\t};\n\trnsec3.decode.bytes = 0;\n\trnsec3.encodingLength = function(record) {\n\t\treturn 8 + record.salt.length + record.nextDomain.length + typebitmap.encodingLength(record.rrtypes);\n\t};\n\tvar rds = exports.ds = {};\n\trds.encode = function(digest, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rds.encodingLength(digest));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst digestdata = digest.digest;\n\t\tif (!Buffer$1.isBuffer(digestdata)) throw new Error(\"Digest must be a Buffer\");\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(digest.keyTag, offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt8(digest.algorithm, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(digest.digestType, offset);\n\t\toffset += 1;\n\t\tdigestdata.copy(buf, offset, 0, digestdata.length);\n\t\toffset += digestdata.length;\n\t\trds.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rds.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trds.encode.bytes = 0;\n\trds.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tvar digest = {};\n\t\tvar length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tdigest.keyTag = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tdigest.algorithm = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tdigest.digestType = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tdigest.digest = buf.slice(offset, oldOffset + length + 2);\n\t\toffset += digest.digest.length;\n\t\trds.decode.bytes = offset - oldOffset;\n\t\treturn digest;\n\t};\n\trds.decode.bytes = 0;\n\trds.encodingLength = function(digest) {\n\t\treturn 6 + Buffer$1.byteLength(digest.digest);\n\t};\n\tvar rsshfp = exports.sshfp = {};\n\trsshfp.getFingerprintLengthForHashType = function getFingerprintLengthForHashType(hashType) {\n\t\tswitch (hashType) {\n\t\t\tcase 1: return 20;\n\t\t\tcase 2: return 32;\n\t\t}\n\t};\n\trsshfp.encode = function encode(record, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rsshfp.encodingLength(record));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tbuf[offset] = record.algorithm;\n\t\toffset += 1;\n\t\tbuf[offset] = record.hash;\n\t\toffset += 1;\n\t\tconst fingerprintBuf = Buffer$1.from(record.fingerprint.toUpperCase(), \"hex\");\n\t\tif (fingerprintBuf.length !== rsshfp.getFingerprintLengthForHashType(record.hash)) throw new Error(\"Invalid fingerprint length\");\n\t\tfingerprintBuf.copy(buf, offset);\n\t\toffset += fingerprintBuf.byteLength;\n\t\trsshfp.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rsshfp.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trsshfp.encode.bytes = 0;\n\trsshfp.decode = function decode(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst record = {};\n\t\toffset += 2;\n\t\trecord.algorithm = buf[offset];\n\t\toffset += 1;\n\t\trecord.hash = buf[offset];\n\t\toffset += 1;\n\t\tconst fingerprintLength = rsshfp.getFingerprintLengthForHashType(record.hash);\n\t\trecord.fingerprint = buf.slice(offset, offset + fingerprintLength).toString(\"hex\").toUpperCase();\n\t\toffset += fingerprintLength;\n\t\trsshfp.decode.bytes = offset - oldOffset;\n\t\treturn record;\n\t};\n\trsshfp.decode.bytes = 0;\n\trsshfp.encodingLength = function(record) {\n\t\treturn 4 + Buffer$1.from(record.fingerprint, \"hex\").byteLength;\n\t};\n\tvar rnaptr = exports.naptr = {};\n\trnaptr.encode = function(data, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rnaptr.encodingLength(data));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(data.order || 0, offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(data.preference || 0, offset);\n\t\toffset += 2;\n\t\tstring.encode(data.flags, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tstring.encode(data.services, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tstring.encode(data.regexp, buf, offset);\n\t\toffset += string.encode.bytes;\n\t\tname.encode(data.replacement, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\trnaptr.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rnaptr.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trnaptr.encode.bytes = 0;\n\trnaptr.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst data = {};\n\t\toffset += 2;\n\t\tdata.order = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tdata.preference = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tdata.flags = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\tdata.services = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\tdata.regexp = string.decode(buf, offset);\n\t\toffset += string.decode.bytes;\n\t\tdata.replacement = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\trnaptr.decode.bytes = offset - oldOffset;\n\t\treturn data;\n\t};\n\trnaptr.decode.bytes = 0;\n\trnaptr.encodingLength = function(data) {\n\t\treturn string.encodingLength(data.flags) + string.encodingLength(data.services) + string.encodingLength(data.regexp) + name.encodingLength(data.replacement) + 6;\n\t};\n\tvar rtlsa = exports.tlsa = {};\n\trtlsa.encode = function(cert, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(rtlsa.encodingLength(cert));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst certdata = cert.certificate;\n\t\tif (!Buffer$1.isBuffer(certdata)) throw new Error(\"Certificate must be a Buffer\");\n\t\toffset += 2;\n\t\tbuf.writeUInt8(cert.usage, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(cert.selector, offset);\n\t\toffset += 1;\n\t\tbuf.writeUInt8(cert.matchingType, offset);\n\t\toffset += 1;\n\t\tcertdata.copy(buf, offset, 0, certdata.length);\n\t\toffset += certdata.length;\n\t\trtlsa.encode.bytes = offset - oldOffset;\n\t\tbuf.writeUInt16BE(rtlsa.encode.bytes - 2, oldOffset);\n\t\treturn buf;\n\t};\n\trtlsa.encode.bytes = 0;\n\trtlsa.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst cert = {};\n\t\tconst length = buf.readUInt16BE(offset);\n\t\toffset += 2;\n\t\tcert.usage = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tcert.selector = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tcert.matchingType = buf.readUInt8(offset);\n\t\toffset += 1;\n\t\tcert.certificate = buf.slice(offset, oldOffset + length + 2);\n\t\toffset += cert.certificate.length;\n\t\trtlsa.decode.bytes = offset - oldOffset;\n\t\treturn cert;\n\t};\n\trtlsa.decode.bytes = 0;\n\trtlsa.encodingLength = function(cert) {\n\t\treturn 5 + Buffer$1.byteLength(cert.certificate);\n\t};\n\tvar renc = exports.record = function(type) {\n\t\tswitch (type.toUpperCase()) {\n\t\t\tcase \"A\": return ra;\n\t\t\tcase \"PTR\": return rptr;\n\t\t\tcase \"CNAME\": return rcname;\n\t\t\tcase \"DNAME\": return rdname;\n\t\t\tcase \"TXT\": return rtxt;\n\t\t\tcase \"NULL\": return rnull;\n\t\t\tcase \"AAAA\": return raaaa;\n\t\t\tcase \"SRV\": return rsrv;\n\t\t\tcase \"HINFO\": return rhinfo;\n\t\t\tcase \"CAA\": return rcaa;\n\t\t\tcase \"NS\": return rns;\n\t\t\tcase \"SOA\": return rsoa;\n\t\t\tcase \"MX\": return rmx;\n\t\t\tcase \"OPT\": return ropt;\n\t\t\tcase \"DNSKEY\": return rdnskey;\n\t\t\tcase \"RRSIG\": return rrrsig;\n\t\t\tcase \"RP\": return rrp;\n\t\t\tcase \"NSEC\": return rnsec;\n\t\t\tcase \"NSEC3\": return rnsec3;\n\t\t\tcase \"SSHFP\": return rsshfp;\n\t\t\tcase \"DS\": return rds;\n\t\t\tcase \"NAPTR\": return rnaptr;\n\t\t\tcase \"TLSA\": return rtlsa;\n\t\t}\n\t\treturn runknown;\n\t};\n\tvar answer = exports.answer = {};\n\tanswer.encode = function(a, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(answer.encodingLength(a));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tname.encode(a.name, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\tbuf.writeUInt16BE(types.toType(a.type), offset);\n\t\tif (a.type.toUpperCase() === \"OPT\") {\n\t\t\tif (a.name !== \".\") throw new Error(\"OPT name must be root.\");\n\t\t\tbuf.writeUInt16BE(a.udpPayloadSize || 4096, offset + 2);\n\t\t\tbuf.writeUInt8(a.extendedRcode || 0, offset + 4);\n\t\t\tbuf.writeUInt8(a.ednsVersion || 0, offset + 5);\n\t\t\tbuf.writeUInt16BE(a.flags || 0, offset + 6);\n\t\t\toffset += 8;\n\t\t\tropt.encode(a.options || [], buf, offset);\n\t\t\toffset += ropt.encode.bytes;\n\t\t} else {\n\t\t\tlet klass = classes.toClass(a.class === void 0 ? \"IN\" : a.class);\n\t\t\tif (a.flush) klass |= FLUSH_MASK;\n\t\t\tbuf.writeUInt16BE(klass, offset + 2);\n\t\t\tbuf.writeUInt32BE(a.ttl || 0, offset + 4);\n\t\t\toffset += 8;\n\t\t\tconst enc = renc(a.type);\n\t\t\tenc.encode(a.data, buf, offset);\n\t\t\toffset += enc.encode.bytes;\n\t\t}\n\t\tanswer.encode.bytes = offset - oldOffset;\n\t\treturn buf;\n\t};\n\tanswer.encode.bytes = 0;\n\tanswer.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst a = {};\n\t\tconst oldOffset = offset;\n\t\ta.name = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\ta.type = types.toString(buf.readUInt16BE(offset));\n\t\tif (a.type === \"OPT\") {\n\t\t\ta.udpPayloadSize = buf.readUInt16BE(offset + 2);\n\t\t\ta.extendedRcode = buf.readUInt8(offset + 4);\n\t\t\ta.ednsVersion = buf.readUInt8(offset + 5);\n\t\t\ta.flags = buf.readUInt16BE(offset + 6);\n\t\t\ta.flag_do = (a.flags >> 15 & 1) === 1;\n\t\t\ta.options = ropt.decode(buf, offset + 8);\n\t\t\toffset += 8 + ropt.decode.bytes;\n\t\t} else {\n\t\t\tconst klass = buf.readUInt16BE(offset + 2);\n\t\t\ta.ttl = buf.readUInt32BE(offset + 4);\n\t\t\ta.class = classes.toString(klass & NOT_FLUSH_MASK);\n\t\t\ta.flush = !!(klass & FLUSH_MASK);\n\t\t\tconst enc = renc(a.type);\n\t\t\ta.data = enc.decode(buf, offset + 8);\n\t\t\toffset += 8 + enc.decode.bytes;\n\t\t}\n\t\tanswer.decode.bytes = offset - oldOffset;\n\t\treturn a;\n\t};\n\tanswer.decode.bytes = 0;\n\tanswer.encodingLength = function(a) {\n\t\tconst data = a.data !== null && a.data !== void 0 ? a.data : a.options;\n\t\treturn name.encodingLength(a.name) + 8 + renc(a.type).encodingLength(data);\n\t};\n\tvar question = exports.question = {};\n\tquestion.encode = function(q, buf, offset) {\n\t\tif (!buf) buf = Buffer$1.alloc(question.encodingLength(q));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tname.encode(q.name, buf, offset);\n\t\toffset += name.encode.bytes;\n\t\tbuf.writeUInt16BE(types.toType(q.type), offset);\n\t\toffset += 2;\n\t\tbuf.writeUInt16BE(classes.toClass(q.class === void 0 ? \"IN\" : q.class), offset);\n\t\toffset += 2;\n\t\tquestion.encode.bytes = offset - oldOffset;\n\t\treturn q;\n\t};\n\tquestion.encode.bytes = 0;\n\tquestion.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst q = {};\n\t\tq.name = name.decode(buf, offset);\n\t\toffset += name.decode.bytes;\n\t\tq.type = types.toString(buf.readUInt16BE(offset));\n\t\toffset += 2;\n\t\tq.class = classes.toString(buf.readUInt16BE(offset));\n\t\toffset += 2;\n\t\tif (!!(q.class & QU_MASK)) q.class &= NOT_QU_MASK;\n\t\tquestion.decode.bytes = offset - oldOffset;\n\t\treturn q;\n\t};\n\tquestion.decode.bytes = 0;\n\tquestion.encodingLength = function(q) {\n\t\treturn name.encodingLength(q.name) + 4;\n\t};\n\texports.AUTHORITATIVE_ANSWER = 1024;\n\texports.TRUNCATED_RESPONSE = 512;\n\texports.RECURSION_DESIRED = 256;\n\texports.RECURSION_AVAILABLE = 128;\n\texports.AUTHENTIC_DATA = 32;\n\texports.CHECKING_DISABLED = 16;\n\texports.DNSSEC_OK = 32768;\n\texports.encode = function(result, buf, offset) {\n\t\tconst allocing = !buf;\n\t\tif (allocing) buf = Buffer$1.alloc(exports.encodingLength(result));\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tif (!result.questions) result.questions = [];\n\t\tif (!result.answers) result.answers = [];\n\t\tif (!result.authorities) result.authorities = [];\n\t\tif (!result.additionals) result.additionals = [];\n\t\theader.encode(result, buf, offset);\n\t\toffset += header.encode.bytes;\n\t\toffset = encodeList(result.questions, question, buf, offset);\n\t\toffset = encodeList(result.answers, answer, buf, offset);\n\t\toffset = encodeList(result.authorities, answer, buf, offset);\n\t\toffset = encodeList(result.additionals, answer, buf, offset);\n\t\texports.encode.bytes = offset - oldOffset;\n\t\tif (allocing && exports.encode.bytes !== buf.length) return buf.slice(0, exports.encode.bytes);\n\t\treturn buf;\n\t};\n\texports.encode.bytes = 0;\n\texports.decode = function(buf, offset) {\n\t\tif (!offset) offset = 0;\n\t\tconst oldOffset = offset;\n\t\tconst result = header.decode(buf, offset);\n\t\toffset += header.decode.bytes;\n\t\toffset = decodeList(result.questions, question, buf, offset);\n\t\toffset = decodeList(result.answers, answer, buf, offset);\n\t\toffset = decodeList(result.authorities, answer, buf, offset);\n\t\toffset = decodeList(result.additionals, answer, buf, offset);\n\t\texports.decode.bytes = offset - oldOffset;\n\t\treturn result;\n\t};\n\texports.decode.bytes = 0;\n\texports.encodingLength = function(result) {\n\t\treturn header.encodingLength(result) + encodingLengthList(result.questions || [], question) + encodingLengthList(result.answers || [], answer) + encodingLengthList(result.authorities || [], answer) + encodingLengthList(result.additionals || [], answer);\n\t};\n\texports.streamEncode = function(result) {\n\t\tconst buf = exports.encode(result);\n\t\tconst sbuf = Buffer$1.alloc(2);\n\t\tsbuf.writeUInt16BE(buf.byteLength);\n\t\tconst combine = Buffer$1.concat([sbuf, buf]);\n\t\texports.streamEncode.bytes = combine.byteLength;\n\t\treturn combine;\n\t};\n\texports.streamEncode.bytes = 0;\n\texports.streamDecode = function(sbuf) {\n\t\tconst len = sbuf.readUInt16BE(0);\n\t\tif (sbuf.byteLength < len + 2) return null;\n\t\tconst result = exports.decode(sbuf.slice(2));\n\t\texports.streamDecode.bytes = exports.decode.bytes;\n\t\treturn result;\n\t};\n\texports.streamDecode.bytes = 0;\n\tfunction encodingLengthList(list, enc) {\n\t\tlet len = 0;\n\t\tfor (let i = 0; i < list.length; i++) len += enc.encodingLength(list[i]);\n\t\treturn len;\n\t}\n\tfunction encodeList(list, enc, buf, offset) {\n\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\tenc.encode(list[i], buf, offset);\n\t\t\toffset += enc.encode.bytes;\n\t\t}\n\t\treturn offset;\n\t}\n\tfunction decodeList(list, enc, buf, offset) {\n\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\tlist[i] = enc.decode(buf, offset);\n\t\t\toffset += enc.decode.bytes;\n\t\t}\n\t\treturn offset;\n\t}\n}));\n//#endregion\n//#region ../../node_modules/.bun/thunky@1.1.0/node_modules/thunky/index.js\nvar require_thunky = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar nextTick = nextTickArgs;\n\tprocess.nextTick(upgrade, 42);\n\tmodule.exports = thunky;\n\tfunction thunky(fn) {\n\t\tvar state = run;\n\t\treturn thunk;\n\t\tfunction thunk(callback) {\n\t\t\tstate(callback || noop);\n\t\t}\n\t\tfunction run(callback) {\n\t\t\tvar stack = [callback];\n\t\t\tstate = wait;\n\t\t\tfn(done);\n\t\t\tfunction wait(callback) {\n\t\t\t\tstack.push(callback);\n\t\t\t}\n\t\t\tfunction done(err) {\n\t\t\t\tvar args = arguments;\n\t\t\t\tstate = isError(err) ? run : finished;\n\t\t\t\twhile (stack.length) finished(stack.shift());\n\t\t\t\tfunction finished(callback) {\n\t\t\t\t\tnextTick(apply, callback, args);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction isError(err) {\n\t\treturn Object.prototype.toString.call(err) === \"[object Error]\";\n\t}\n\tfunction noop() {}\n\tfunction apply(callback, args) {\n\t\tcallback.apply(null, args);\n\t}\n\tfunction upgrade(val) {\n\t\tif (val === 42) nextTick = process.nextTick;\n\t}\n\tfunction nextTickArgs(fn, a, b) {\n\t\tprocess.nextTick(function() {\n\t\t\tfn(a, b);\n\t\t});\n\t}\n}));\n//#endregion\n//#region ../lib/src/control-plane/mdns-responder.ts\nvar import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar packet = require_dns_packet();\n\tvar dgram = __require(\"dgram\");\n\tvar thunky = require_thunky();\n\tvar events = __require(\"events\");\n\tvar os = __require(\"os\");\n\tvar noop = function() {};\n\tmodule.exports = function(opts) {\n\t\tif (!opts) opts = {};\n\t\tvar that = new events.EventEmitter();\n\t\tvar port = typeof opts.port === \"number\" ? opts.port : 5353;\n\t\tvar type = opts.type || \"udp4\";\n\t\tvar ip = opts.ip || opts.host || (type === \"udp4\" ? \"224.0.0.251\" : null);\n\t\tvar me = {\n\t\t\taddress: ip,\n\t\t\tport\n\t\t};\n\t\tvar memberships = {};\n\t\tvar destroyed = false;\n\t\tvar interval = null;\n\t\tif (type === \"udp6\" && (!ip || !opts.interface)) throw new Error(\"For IPv6 multicast you must specify `ip` and `interface`\");\n\t\tvar socket = opts.socket || dgram.createSocket({\n\t\t\ttype,\n\t\t\treuseAddr: opts.reuseAddr !== false,\n\t\t\ttoString: function() {\n\t\t\t\treturn type;\n\t\t\t}\n\t\t});\n\t\tsocket.on(\"error\", function(err) {\n\t\t\tif (err.code === \"EACCES\" || err.code === \"EADDRINUSE\") that.emit(\"error\", err);\n\t\t\telse that.emit(\"warning\", err);\n\t\t});\n\t\tsocket.on(\"message\", function(message, rinfo) {\n\t\t\ttry {\n\t\t\t\tmessage = packet.decode(message);\n\t\t\t} catch (err) {\n\t\t\t\tthat.emit(\"warning\", err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthat.emit(\"packet\", message, rinfo);\n\t\t\tif (message.type === \"query\") that.emit(\"query\", message, rinfo);\n\t\t\tif (message.type === \"response\") that.emit(\"response\", message, rinfo);\n\t\t});\n\t\tsocket.on(\"listening\", function() {\n\t\t\tif (!port) port = me.port = socket.address().port;\n\t\t\tif (opts.multicast !== false) {\n\t\t\t\tthat.update();\n\t\t\t\tinterval = setInterval(that.update, 5e3);\n\t\t\t\tsocket.setMulticastTTL(opts.ttl || 255);\n\t\t\t\tsocket.setMulticastLoopback(opts.loopback !== false);\n\t\t\t}\n\t\t});\n\t\tvar bind = thunky(function(cb) {\n\t\t\tif (!port || opts.bind === false) return cb(null);\n\t\t\tsocket.once(\"error\", cb);\n\t\t\tsocket.bind(port, opts.bind || opts.interface, function() {\n\t\t\t\tsocket.removeListener(\"error\", cb);\n\t\t\t\tcb(null);\n\t\t\t});\n\t\t});\n\t\tbind(function(err) {\n\t\t\tif (err) return that.emit(\"error\", err);\n\t\t\tthat.emit(\"ready\");\n\t\t});\n\t\tthat.send = function(value, rinfo, cb) {\n\t\t\tif (typeof rinfo === \"function\") return that.send(value, null, rinfo);\n\t\t\tif (!cb) cb = noop;\n\t\t\tif (!rinfo) rinfo = me;\n\t\t\telse if (!rinfo.host && !rinfo.address) rinfo.address = me.address;\n\t\t\tbind(onbind);\n\t\t\tfunction onbind(err) {\n\t\t\t\tif (destroyed) return cb();\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tvar message = packet.encode(value);\n\t\t\t\tsocket.send(message, 0, message.length, rinfo.port, rinfo.address || rinfo.host, cb);\n\t\t\t}\n\t\t};\n\t\tthat.response = that.respond = function(res, rinfo, cb) {\n\t\t\tif (Array.isArray(res)) res = { answers: res };\n\t\t\tres.type = \"response\";\n\t\t\tres.flags = (res.flags || 0) | packet.AUTHORITATIVE_ANSWER;\n\t\t\tthat.send(res, rinfo, cb);\n\t\t};\n\t\tthat.query = function(q, type, rinfo, cb) {\n\t\t\tif (typeof type === \"function\") return that.query(q, null, null, type);\n\t\t\tif (typeof type === \"object\" && type && type.port) return that.query(q, null, type, rinfo);\n\t\t\tif (typeof rinfo === \"function\") return that.query(q, type, null, rinfo);\n\t\t\tif (!cb) cb = noop;\n\t\t\tif (typeof q === \"string\") q = [{\n\t\t\t\tname: q,\n\t\t\t\ttype: type || \"ANY\"\n\t\t\t}];\n\t\t\tif (Array.isArray(q)) q = {\n\t\t\t\ttype: \"query\",\n\t\t\t\tquestions: q\n\t\t\t};\n\t\t\tq.type = \"query\";\n\t\t\tthat.send(q, rinfo, cb);\n\t\t};\n\t\tthat.destroy = function(cb) {\n\t\t\tif (!cb) cb = noop;\n\t\t\tif (destroyed) return process.nextTick(cb);\n\t\t\tdestroyed = true;\n\t\t\tclearInterval(interval);\n\t\t\tfor (var iface in memberships) try {\n\t\t\t\tsocket.dropMembership(ip, iface);\n\t\t\t} catch (e) {}\n\t\t\tmemberships = {};\n\t\t\tsocket.close(cb);\n\t\t};\n\t\tthat.update = function() {\n\t\t\tvar ifaces = opts.interface ? [].concat(opts.interface) : allInterfaces();\n\t\t\tvar updated = false;\n\t\t\tfor (var i = 0; i < ifaces.length; i++) {\n\t\t\t\tvar addr = ifaces[i];\n\t\t\t\tif (memberships[addr]) continue;\n\t\t\t\ttry {\n\t\t\t\t\tsocket.addMembership(ip, addr);\n\t\t\t\t\tmemberships[addr] = true;\n\t\t\t\t\tupdated = true;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthat.emit(\"warning\", err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (updated) {\n\t\t\t\tif (socket.setMulticastInterface) try {\n\t\t\t\t\tsocket.setMulticastInterface(opts.interface || defaultInterface());\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthat.emit(\"warning\", err);\n\t\t\t\t}\n\t\t\t\tthat.emit(\"networkInterface\");\n\t\t\t}\n\t\t};\n\t\treturn that;\n\t};\n\tfunction defaultInterface() {\n\t\tvar networks = os.networkInterfaces();\n\t\tvar names = Object.keys(networks);\n\t\tfor (var i = 0; i < names.length; i++) {\n\t\t\tvar net = networks[names[i]];\n\t\t\tfor (var j = 0; j < net.length; j++) {\n\t\t\t\tvar iface = net[j];\n\t\t\t\tif (isIPv4(iface.family) && !iface.internal) {\n\t\t\t\t\tif (os.platform() === \"darwin\" && names[i] === \"en0\") return iface.address;\n\t\t\t\t\treturn \"0.0.0.0\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"127.0.0.1\";\n\t}\n\tfunction allInterfaces() {\n\t\tvar networks = os.networkInterfaces();\n\t\tvar names = Object.keys(networks);\n\t\tvar res = [];\n\t\tfor (var i = 0; i < names.length; i++) {\n\t\t\tvar net = networks[names[i]];\n\t\t\tfor (var j = 0; j < net.length; j++) {\n\t\t\t\tvar iface = net[j];\n\t\t\t\tif (isIPv4(iface.family)) {\n\t\t\t\t\tres.push(iface.address);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n\tfunction isIPv4(family) {\n\t\treturn family === 4 || family === \"IPv4\";\n\t}\n})))(), 1);\nvar logger = createLogger(\"mdns\");\nvar MDNS_PORT = 5353;\nvar TTL = 120;\nvar HTTP_SERVICE = \"_http._tcp.local\";\nvar DEFAULT_GUARDIAN_PORT = 3830;\nvar DEFAULT_ASSISTANT_PORT = 3800;\n/**\n* Sanitize an arbitrary string into a DNS label: lowercase, map every\n* character outside `[a-z0-9-]` (including `_`) to `-`, collapse `-` runs,\n* strip leading/trailing `-`, truncate to `maxLength`, and fall back to\n* `\"openpalm\"` if nothing survives. `maxLength` defaults to 54 so the\n* guardian variant (`<label>-guardian`, +9 chars) still fits the 63-char\n* DNS label limit.\n*/\nfunction sanitizeDnsLabel(raw, maxLength = 54) {\n\treturn raw.trim().toLowerCase().replace(/[^a-z0-9-]/g, \"-\").replace(/-+/g, \"-\").replace(/^-+|-+$/g, \"\").slice(0, maxLength).replace(/-+$/g, \"\") || \"openpalm\";\n}\n/**\n* Derive the base label and full `.local` names from `OP_PROJECT_NAME`\n* (there is no structured \"assistant name\" — persona is free-text\n* markdown). Defaults to `openpalm`.\n*/\nfunction deriveMdnsNames(env) {\n\tconst base = sanitizeDnsLabel(env.OP_PROJECT_NAME ?? \"openpalm\");\n\treturn {\n\t\tbase,\n\t\tassistantName: `${base}.local`,\n\t\tguardianName: `${base}-guardian.local`\n\t};\n}\nfunction isMdnsOffToken(value) {\n\tif (value === void 0) return false;\n\tconst v = value.trim().toLowerCase();\n\treturn v === \"0\" || v === \"false\" || v === \"off\" || v === \"no\";\n}\nfunction isGuardianGated(env) {\n\tif (isMdnsOffToken(env.OP_MDNS)) return false;\n\tif (env.GUARDIAN_DIRECT_INGRESS !== \"true\") return false;\n\tconst bind = env.OP_BIND_ADDRESS;\n\treturn !!bind && !isLoopback(bind);\n}\nfunction isAssistantGated(env) {\n\tif (isMdnsOffToken(env.OP_MDNS)) return false;\n\tconst bind = env.OP_ASSISTANT_BIND_ADDRESS;\n\treturn !!bind && !isLoopback(bind);\n}\nfunction parsePort(value, fallback) {\n\tif (!value) return fallback;\n\tconst n = Number.parseInt(value, 10);\n\treturn Number.isFinite(n) && n > 0 ? n : fallback;\n}\nfunction defaultHostIpv4() {\n\tconst interfaces = networkInterfaces();\n\tconst addresses = [];\n\tfor (const entries of Object.values(interfaces)) {\n\t\tif (!entries) continue;\n\t\tfor (const entry of entries) {\n\t\t\tconst family = entry.family;\n\t\t\tif ((family === \"IPv4\" || family === 4) && !entry.internal) addresses.push(entry.address);\n\t\t}\n\t}\n\treturn addresses;\n}\n/** True only for a dotted-quad IPv4 literal (4 octets, each 0-255). */\nfunction isIpv4(address) {\n\tconst parts = address.trim().split(\".\");\n\tif (parts.length !== 4) return false;\n\treturn parts.every((p) => /^\\d{1,3}$/.test(p) && Number(p) <= 255);\n}\n/** A specific bind IP narrows the addresses; a wildcard bind uses the host interface list. */\nfunction resolveAdvertAddresses(bind, hostIpv4) {\n\tconst v = bind.trim();\n\treturn (v !== \"\" && v !== \"0.0.0.0\" && v !== \"::\" ? [v] : hostIpv4).filter(isIpv4);\n}\n/**\n* Resolve which names should be advertised right now, given non-secret env\n* (typically `readStackEnv(homeDir)`). Disabled entirely when `OP_MDNS`\n* trims/lowercases to \"0\"/\"false\"/\"off\"/\"no\". Guardian advert iff\n* `OP_BIND_ADDRESS` is set and non-loopback; assistant advert iff\n* `OP_ASSISTANT_BIND_ADDRESS` is set and non-loopback. An advert with zero\n* resolved addresses is dropped.\n*/\nfunction resolveMdnsAdvertisements(env, hostIpv4 = defaultHostIpv4()) {\n\tconst names = deriveMdnsNames(env);\n\tconst adverts = [];\n\tif (isGuardianGated(env)) {\n\t\tconst bind = env.OP_BIND_ADDRESS;\n\t\tconst addresses = resolveAdvertAddresses(bind, hostIpv4);\n\t\tif (addresses.length > 0) adverts.push({\n\t\t\tservice: \"guardian\",\n\t\t\tname: names.guardianName,\n\t\t\tport: parsePort(env.OP_GUARDIAN_PORT, DEFAULT_GUARDIAN_PORT),\n\t\t\taddresses\n\t\t});\n\t}\n\tif (isAssistantGated(env)) {\n\t\tconst bind = env.OP_ASSISTANT_BIND_ADDRESS;\n\t\tconst addresses = resolveAdvertAddresses(bind, hostIpv4);\n\t\tif (addresses.length > 0) adverts.push({\n\t\t\tservice: \"assistant\",\n\t\t\tname: names.assistantName,\n\t\t\tport: parsePort(env.OP_ASSISTANT_PORT, DEFAULT_ASSISTANT_PORT),\n\t\t\taddresses\n\t\t});\n\t}\n\treturn adverts;\n}\n/**\n* Names/ports/advertised-state for the admin UI, independent of whether any\n* host IPv4 address can actually be resolved right now — `advertised`\n* reflects the bind-address gate only (D6: gating is bind-address-only), so\n* this never needs a `hostIpv4` param.\n*/\nfunction resolveMdnsStatus(env) {\n\tconst names = deriveMdnsNames(env);\n\treturn {\n\t\tassistant: {\n\t\t\tname: names.assistantName,\n\t\t\tport: parsePort(env.OP_ASSISTANT_PORT, DEFAULT_ASSISTANT_PORT),\n\t\t\tadvertised: isAssistantGated(env)\n\t\t},\n\t\tguardian: {\n\t\t\tname: names.guardianName,\n\t\t\tport: parsePort(env.OP_GUARDIAN_PORT, DEFAULT_GUARDIAN_PORT),\n\t\t\tadvertised: isGuardianGated(env)\n\t\t}\n\t};\n}\n/** The `<name>._http._tcp.local` service instance for a `<name>.local` host. */\nfunction mdnsInstanceName(name) {\n\treturn `${name.toLowerCase().endsWith(\".local\") ? name.slice(0, -6) : name}.${HTTP_SERVICE}`;\n}\n/**\n* Build the answer + additional records for `questions` against the currently\n* advertised `adverts`. `A`/`ANY` queries match a `.local` name exactly; `PTR`/\n* `ANY` queries for `_http._tcp.local` list one service instance per advert\n* with SRV/TXT/A in the additional section. Returns `null` when nothing matches.\n*/\nfunction buildResponse(questions, adverts) {\n\tconst answers = [];\n\tconst additionals = [];\n\tconst aRecord = (name, address) => ({\n\t\tname,\n\t\ttype: \"A\",\n\t\tttl: TTL,\n\t\tflush: true,\n\t\tdata: address\n\t});\n\tfor (const q of questions) {\n\t\tconst qName = (q.name ?? \"\").toLowerCase();\n\t\tconst qType = q.type;\n\t\tif (qType === \"A\" || qType === \"ANY\") {\n\t\t\tconst advert = adverts.find((a) => a.name.toLowerCase() === qName);\n\t\t\tif (advert) for (const address of advert.addresses) answers.push(aRecord(advert.name, address));\n\t\t}\n\t\tif ((qType === \"PTR\" || qType === \"ANY\") && qName === HTTP_SERVICE) for (const advert of adverts) {\n\t\t\tconst instance = mdnsInstanceName(advert.name);\n\t\t\tanswers.push({\n\t\t\t\tname: HTTP_SERVICE,\n\t\t\t\ttype: \"PTR\",\n\t\t\t\tttl: TTL,\n\t\t\t\tdata: instance\n\t\t\t});\n\t\t\tadditionals.push({\n\t\t\t\tname: instance,\n\t\t\t\ttype: \"SRV\",\n\t\t\t\tttl: TTL,\n\t\t\t\tdata: {\n\t\t\t\t\tport: advert.port,\n\t\t\t\t\ttarget: advert.name\n\t\t\t\t}\n\t\t\t});\n\t\t\tadditionals.push({\n\t\t\t\tname: instance,\n\t\t\t\ttype: \"TXT\",\n\t\t\t\tttl: TTL,\n\t\t\t\tdata: [\"path=/\"]\n\t\t\t});\n\t\t\tfor (const address of advert.addresses) additionals.push(aRecord(advert.name, address));\n\t\t}\n\t}\n\tif (answers.length === 0) return null;\n\treturn {\n\t\tanswers,\n\t\tadditionals\n\t};\n}\n/** Gratuitous announcement (one A answer per advert address). */\nfunction announcementAnswers(adverts) {\n\treturn adverts.flatMap((a) => a.addresses.map((address) => ({\n\t\tname: a.name,\n\t\ttype: \"A\",\n\t\tttl: TTL,\n\t\tflush: true,\n\t\tdata: address\n\t})));\n}\n/** TTL-0 goodbye records for every advert address, sent best-effort on stop(). */\nfunction goodbyeAnswers(adverts) {\n\treturn adverts.flatMap((a) => a.addresses.map((address) => ({\n\t\tname: a.name,\n\t\ttype: \"A\",\n\t\tttl: 0,\n\t\tflush: true,\n\t\tdata: address\n\t})));\n}\n/** Test-only override consulted whenever a caller doesn't pass `deps.makeMdns`. */\nvar testMdnsFactory = null;\nfunction defaultMdnsFactory() {\n\treturn (0, import_multicast_dns.default)({ loopback: false });\n}\n/**\n* Build a live responder for `adverts`. Returns the public handle (`stop()` —\n* goodbye + destroy) plus an internal `silentClose` (destroy with no goodbye,\n* used only by `_resetMdnsResponderForTests`). All failures are logged `warn`\n* and swallowed — advertisement is a convenience and must never take the UI\n* server down.\n*/\nfunction createResponder(adverts, deps = {}) {\n\tif (adverts.length === 0) return null;\n\tconst factory = deps.makeMdns ?? testMdnsFactory ?? defaultMdnsFactory;\n\tconst names = adverts.map((a) => a.name);\n\tlet mdns;\n\ttry {\n\t\tmdns = factory();\n\t} catch (err) {\n\t\tlogger.warn(\"mdns: failed to create socket\", {\n\t\t\terror: String(err),\n\t\t\tnames\n\t\t});\n\t\treturn null;\n\t}\n\tlet stopped = false;\n\tlet announceTimer = null;\n\tfunction announce() {\n\t\tconst answers = announcementAnswers(adverts);\n\t\tif (answers.length === 0) return;\n\t\ttry {\n\t\t\tmdns.respond({ answers });\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"mdns: send failed\", {\n\t\t\t\terror: String(err),\n\t\t\t\tnames\n\t\t\t});\n\t\t}\n\t}\n\ttry {\n\t\tmdns.on(\"query\", (message, rinfo) => {\n\t\t\tif (stopped) return;\n\t\t\ttry {\n\t\t\t\tconst res = buildResponse(message.questions ?? [], adverts);\n\t\t\t\tif (!res) return;\n\t\t\t\tconst legacy = rinfo.port !== MDNS_PORT;\n\t\t\t\tmdns.respond(res, legacy ? rinfo : void 0);\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"mdns: message handling failed\", {\n\t\t\t\t\terror: String(err),\n\t\t\t\t\tnames\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tmdns.on(\"error\", (err) => logger.warn(\"mdns: socket error\", {\n\t\t\terror: err.message,\n\t\t\tnames\n\t\t}));\n\t\tmdns.on(\"warning\", (err) => logger.warn(\"mdns: warning\", {\n\t\t\terror: err.message,\n\t\t\tnames\n\t\t}));\n\t} catch (err) {\n\t\tlogger.warn(\"mdns: listener setup failed\", {\n\t\t\terror: String(err),\n\t\t\tnames\n\t\t});\n\t}\n\tannounce();\n\tannounceTimer = setTimeout(() => announce(), 1e3);\n\tannounceTimer.unref?.();\n\tfunction destroy() {\n\t\tif (announceTimer) clearTimeout(announceTimer);\n\t\ttry {\n\t\t\tmdns.destroy();\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"mdns: close failed\", {\n\t\t\t\terror: String(err),\n\t\t\t\tnames\n\t\t\t});\n\t\t}\n\t}\n\tfunction silentClose() {\n\t\tif (stopped) return;\n\t\tstopped = true;\n\t\tdestroy();\n\t}\n\treturn {\n\t\thandle: { stop() {\n\t\t\tif (stopped) return;\n\t\t\tstopped = true;\n\t\t\ttry {\n\t\t\t\tconst answers = goodbyeAnswers(adverts);\n\t\t\t\tif (answers.length > 0) mdns.respond({ answers });\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"mdns: goodbye failed\", {\n\t\t\t\t\terror: String(err),\n\t\t\t\t\tnames\n\t\t\t\t});\n\t\t\t}\n\t\t\tdestroy();\n\t\t} },\n\t\tsilentClose\n\t};\n}\nvar active = null;\n/**\n* Reconcile the live responder against the current stack.env (read fresh on\n* every call — never process.env for the gate vars, since hooks.server.ts's\n* startup promotion is only-if-unset and would go stale after a PUT). The\n* single process-env exception: `OP_MDNS` in `processEnv` force-disables\n* (operator/test kill switch), checked alongside the stack.env value. Never\n* throws. Returns the effective `MdnsStatus` so route handlers can echo it.\n*/\nfunction reconcileMdnsResponder(homeDir, deps = {}) {\n\tlet env;\n\ttry {\n\t\tenv = deps.env ?? readStackEnv(homeDir);\n\t} catch (err) {\n\t\tlogger.warn(\"mdns: reading stack.env failed\", { error: String(err) });\n\t\tenv = {};\n\t}\n\tconst effectiveEnv = isMdnsOffToken((deps.processEnv ?? process.env).OP_MDNS) ? {\n\t\t...env,\n\t\tOP_MDNS: \"off\"\n\t} : env;\n\ttry {\n\t\tconst adverts = resolveMdnsAdvertisements(effectiveEnv, deps.hostIpv4);\n\t\tconst key = JSON.stringify(adverts);\n\t\tif (active && active.key === key) return resolveMdnsStatus(effectiveEnv);\n\t\tif (active) {\n\t\t\ttry {\n\t\t\t\tactive.handle.stop();\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"mdns: stop failed during reconcile\", { error: String(err) });\n\t\t\t}\n\t\t\tactive = null;\n\t\t}\n\t\tif (adverts.length > 0) {\n\t\t\tconst created = createResponder(adverts, { makeMdns: deps.makeMdns });\n\t\t\tif (created) active = {\n\t\t\t\tkey,\n\t\t\t\t...created\n\t\t\t};\n\t\t}\n\t} catch (err) {\n\t\tlogger.warn(\"mdns: reconcile failed\", { error: String(err) });\n\t}\n\treturn resolveMdnsStatus(effectiveEnv);\n}\n//#endregion\n//#region ../lib/src/control-plane/ui-supervisor.ts\n/**\n* Shared UI-server supervisor primitives.\n*\n* The CLI (`openpalm ui serve`) and the Electron desktop shell both run a\n* long-lived supervisor around the SvelteKit adapter-node UI child: they spawn\n* it, wait for it to become ready, and — on a SIGUSR2-triggered UI-build\n* update — kill/respawn it and, on failure, restore the previous data/ui backup.\n*\n* These two harnesses independently reimplemented the same logic and DRIFTED\n* (notably the ready-timeout: CLI 15s vs Electron 60s). This module is the SSOT\n* for the pure, harness-agnostic pieces so both consume one implementation.\n*\n* Node.js-compatible only (no Bun.* APIs) so the Electron Node child can use it.\n* No `process.exit` here — these functions return/throw and the CLI/Electron\n* entry points decide exit behavior.\n*/\nvar UI_BACKUP_MARKER = \".ui-update-backup\";\n/** Persist an on-demand UI swap's backup path for the parent supervisor. */\nfunction recordPendingUiBackup(dataDir, backupDir) {\n\tmkdirSync(dataDir, { recursive: true });\n\tconst marker = join(dataDir, UI_BACKUP_MARKER);\n\tconst tmp = `${marker}.tmp`;\n\twriteFileSync(tmp, `${backupDir}\\n`, { mode: 384 });\n\trenameSync(tmp, marker);\n}\n/**\n* Restore the previous `data/ui` after a UI-build update failed to become ready\n* (design §4.4 / §6). Moves the failed build to `.ui-failed-<ts>` and renames the\n* backup back into place — a purely local operation, no registry needed.\n*\n* Behavior-preserving extraction of the block both supervisors copy-pasted; the\n* exact log messages are retained here so the SSOT owns them.\n*/\nfunction restoreUiBackup(dataDir, uiBackupDir, deps = {}) {\n\tconst { existsSync: existsSync$1 = existsSync, renameSync: renameSync$1 = renameSync, now = Date.now, log = console.error } = deps;\n\tif (!uiBackupDir || !existsSync$1(uiBackupDir)) return { status: \"no-backup\" };\n\ttry {\n\t\tconst dataUiDir = join(dataDir, \"ui\");\n\t\tconst failedDir = join(dataDir, `.ui-failed-${now()}`);\n\t\tif (existsSync$1(dataUiDir)) renameSync$1(dataUiDir, failedDir);\n\t\trenameSync$1(uiBackupDir, dataUiDir);\n\t\tlog(`UI build restore: reinstated backup from ${uiBackupDir}; failed build at ${failedDir}`);\n\t\treturn {\n\t\t\tstatus: \"restored\",\n\t\t\tfailedDir\n\t\t};\n\t} catch (restoreErr) {\n\t\tlog(\"UI backup restore failed:\", errMessage(restoreErr));\n\t\treturn {\n\t\t\tstatus: \"error\",\n\t\t\terror: restoreErr\n\t\t};\n\t}\n}\n//#endregion\nexport { markSetupComplete as A, assertSafeTaskFilename as B, enableHostAkmSharing as C, fetchProviderModels as D, buildAkmEndpoint as E, classifyLocalInstall as F, createOpenCodeClient as G, removeTaskFile as H, deriveLaunchStatus as I, detectRootlessDocker as J, listAssistantCliTools as K, deriveLocalStackState as L, resolveDeployJournalPath as M, runDeploy as N, isAllowedService as O, validateProposedState as P, detectRuntime as R, disableHostAkmSharing as S, hostAkmStashPath as T, writeTaskFile as U, readTaskFile as V, mintDirectPrincipalPairingCode as W, dockerHasNvidiaRuntime as Y, buildAkmEnv as _, getAkmStats as a, readUserEnvFile as b, importHostOpenCode as c, detectGpu as d, detectLocalProviders as f, AKM_USER_ENV_REF as g, readAutomationLogs as h, resolveMdnsStatus as i, readDeployJournal as j, backupSetupInputs as k, performSetup as l, loadAutomations as m, restoreUiBackup as n, runAssistantAkmCommand as o, executeAutomation as p, useExistingProviderForAssistantCli as q, reconcileMdnsResponder as r, detectHostOpenCode as s, recordPendingUiBackup as t, recommendSetup as u, deleteUserEnvKey as v, getHostAkmSharingStatus as w, writeUserEnvKey as x, ensureAkmUserEnv as y, isSetupComplete as z };\n"],"names":["run","import_dist","randomHex","Qr","logger$7","logger$6","logger$5","logger$4","logger$3","logger$2","logger$1","logger"],"mappings":"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AC,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,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,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"}
|