@noxsoft/anima 2.0.2 → 2.0.4
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 +1260 -28
- package/dist/accounts-Bth3PpPD.js +260 -0
- package/dist/accounts-D8CPKNkN.js +259 -0
- package/dist/acp-cli-ByK6lS6c.js +1081 -0
- package/dist/acp-cli-CaQCjIw4.js +1084 -0
- package/dist/agent-BgIkqd3F.js +725 -0
- package/dist/agent-N5BDcge4.js +725 -0
- package/dist/agent-events-COH7NDW2.js +182 -0
- package/dist/agent-scope-CPphqq-U.js +452 -0
- package/dist/agent-scope-DZgptr9J.js +452 -0
- package/dist/agent-scope-cj2QCT6R.js +112 -0
- package/dist/agents-NEudYMdg.js +774 -0
- package/dist/agents.config-Bujs-NIy.js +182 -0
- package/dist/agents.config-jp7OLssr.js +182 -0
- package/dist/argv-BMZMiW7v.js +73 -0
- package/dist/audit-C-UJhfdv.js +2401 -0
- package/dist/audit-CeCO7SK5.js +2401 -0
- package/dist/auth-BNZsOHGF.js +648 -0
- package/dist/auth-DMPZWzEa.js +639 -0
- package/dist/auth-choice-5VnaGMD-.js +2681 -0
- package/dist/auth-choice-DA2k4vs8.js +2681 -0
- package/dist/auth-health-B7FqA26_.js +149 -0
- package/dist/auth-health-VO_MPqVX.js +149 -0
- package/dist/auth-profiles-BDrNYX_n.js +1564 -0
- package/dist/auth-profiles-CxSHydjn.js +2689 -0
- package/dist/banner-BtDZPRzi.js +294 -0
- package/dist/browser-cli-8yQMpxb8.js +1679 -0
- package/dist/browser-cli-Czg3JtDH.js +1676 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +16 -16
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +5 -5
- package/dist/call-BIzCaKZb.js +282 -0
- package/dist/call-BYDpTVCZ.js +282 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/catalog-CqKiUgu6.js +185 -0
- package/dist/catalog-DMfEg-oK.js +185 -0
- package/dist/channel-options-BrtCtyrT.js +32 -0
- package/dist/channel-options-CO21Gl8p.js +33 -0
- package/dist/channel-selection-Bbm1lq3P.js +51 -0
- package/dist/channel-selection-CqcX7Ocw.js +51 -0
- package/dist/channel-web-DrsT6OAE.js +2162 -0
- package/dist/channels-cli-Juyh1S6n.js +1304 -0
- package/dist/channels-cli-zNvi1m5c.js +1306 -0
- package/dist/channels-status-issues-CqzqshW4.js +18 -0
- package/dist/channels-status-issues-DdJdO866.js +18 -0
- package/dist/chrome-C4dOMO8z.js +1601 -0
- package/dist/chrome-DdcDzAtH.js +1629 -0
- package/dist/chrome-U3DRzjJD.js +1601 -0
- package/dist/chunk-D2nLsrEW.js +348 -0
- package/dist/clack-prompter-BI3RDW5w.js +92 -0
- package/dist/clack-prompter-Dwr1m_IZ.js +92 -0
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-C3cpDaz8.js +99 -0
- package/dist/cli-CjWUGdGC.js +101 -0
- package/dist/cli-session-BVjY_XrW.js +5463 -0
- package/dist/cli-session-gtuYN2Iq.js +5408 -0
- package/dist/client-Dswwze5_.js +1692 -0
- package/dist/client-LRKFjo4A.js +1692 -0
- package/dist/clipboard-BZKS9O1u.js +31 -0
- package/dist/clipboard-DES8b1AM.js +31 -0
- package/dist/command-format-CP1YTNCl.js +52 -0
- package/dist/command-format-CVL4K5cj.js +52 -0
- package/dist/command-format-G6N2zghg.js +38 -0
- package/dist/command-registry-BBvNvysr.js +248 -0
- package/dist/commands-AZ3n8Y2c.js +726 -0
- package/dist/commands-BMnD_QRY.js +726 -0
- package/dist/commands-registry-cFqZ6Ib4.js +766 -0
- package/dist/commands-registry-q13H7ng5.js +766 -0
- package/dist/common-CX5458fH.js +287 -0
- package/dist/common-DJbnT8ws.js +287 -0
- package/dist/completion-cli-BADRBcIl.js +432 -0
- package/dist/completion-cli-DMQgiObF.js +431 -0
- package/dist/config-CU-Axg8P.js +5704 -0
- package/dist/config-DaqbUdkI.js +5705 -0
- package/dist/config-cli-BPlbwiuA.js +244 -0
- package/dist/config-cli-DXgZJkPU.js +247 -0
- package/dist/config-guard-Ba49JNds.js +76 -0
- package/dist/config-guard-Cu0qMKZJ.js +93 -0
- package/dist/config-kVVm5EYV.js +6523 -0
- package/dist/config-sync-CzLnLTXt.js +91 -0
- package/dist/config-sync-DuydxPWx.js +91 -0
- package/dist/configure-CHgacLyi.js +960 -0
- package/dist/configure-DfHXDa1L.js +959 -0
- package/dist/context-DzgXOckU.js +60 -0
- package/dist/control-service-8_wKHwBa.js +72 -0
- package/dist/control-service-BtL1Jto_.js +72 -0
- package/dist/cron-cli-BCzSR2c0.js +448 -0
- package/dist/cron-cli-CCWNkykU.js +451 -0
- package/dist/daemon-cli-Bjkbu9Vy.js +565 -0
- package/dist/daemon-cli-CmlHcC1J.js +566 -0
- package/dist/daemon-cli.js +16 -16
- package/dist/daemon-runtime-C0tz7VAC.js +460 -0
- package/dist/daemon-runtime-rUTqCVwJ.js +460 -0
- package/dist/deliver-BBggsviM.js +1097 -0
- package/dist/deliver-CePITOl8.js +1162 -0
- package/dist/deliver-DFnVaetP.js +1097 -0
- package/dist/delivery-queue-BJQK3oh5.js +220 -0
- package/dist/deps-CeEKhrp7.js +42 -0
- package/dist/devices-cli-DQrDMrZH.js +198 -0
- package/dist/devices-cli-Oe-A1Dv0.js +195 -0
- package/dist/diagnostics-DxMFrBLO.js +35 -0
- package/dist/diagnostics-m79ZlMmZ.js +35 -0
- package/dist/directory-cli-BL6h8cGF.js +246 -0
- package/dist/directory-cli-Cjgmi_sj.js +243 -0
- package/dist/dispatcher-DAFbQM-c.js +100 -0
- package/dist/dispatcher-DNd40gUn.js +100 -0
- package/dist/dist-CqDI82ei.js +929 -0
- package/dist/dist-DnHRxR5U.js +929 -0
- package/dist/dns-cli-CFtV3BXK.js +200 -0
- package/dist/dns-cli-NyIHvQ5S.js +197 -0
- package/dist/dock-BdXLb5oY.js +753 -0
- package/dist/dock-jYICmNcI.js +753 -0
- package/dist/docs-cli-CrOaIK_H.js +161 -0
- package/dist/docs-cli-D_cmJDSr.js +159 -0
- package/dist/doctor-BpGxKrBl.js +1815 -0
- package/dist/doctor-D12wNQPU.js +1813 -0
- package/dist/doctor-completion-DeOfofek.js +92 -0
- package/dist/doctor-completion-DwjqdEcK.js +92 -0
- package/dist/doctor-config-flow-BI3mpkbd.js +1232 -0
- package/dist/doctor-config-flow-wMHheFkC.js +1232 -0
- package/dist/engine-BCtL-AMw.js +563 -0
- package/dist/engine-Bk_UT413.js +563 -0
- package/dist/entry.js +5 -5
- package/dist/env-v6411I8h.js +32 -0
- package/dist/exec-B7sUS164.js +1167 -0
- package/dist/exec-approvals-CroGJRUg.js +1221 -0
- package/dist/exec-approvals-cli-BTxF_RsH.js +371 -0
- package/dist/exec-approvals-cli-n1gyGwH2.js +368 -0
- package/dist/exec-mhSykkaa.js +255 -0
- package/dist/extensionAPI.js +3 -3
- package/dist/frontmatter-BmHq0vRD.js +204 -0
- package/dist/gateway-cli-DDBadlrS.js +19971 -0
- package/dist/gateway-cli-IZNkOMBe.js +19972 -0
- package/dist/gateway-rpc-Dtx8HN-n.js +28 -0
- package/dist/gateway-rpc-L2PVSqGj.js +28 -0
- package/dist/github-copilot-auth-DKyqDaGU.js +1418 -0
- package/dist/github-copilot-auth-DXpOMSd3.js +1418 -0
- package/dist/gmail-setup-utils-BKNczIJ9.js +428 -0
- package/dist/gmail-setup-utils-co0ppccC.js +428 -0
- package/dist/health-Bm8ZTvC3.js +1253 -0
- package/dist/health-DUf1gt4E.js +1258 -0
- package/dist/health-format-BksT6F68.js +208 -0
- package/dist/health-format-uzh1xYLD.js +208 -0
- package/dist/heartbeat-visibility-1TJb1Zao.js +98 -0
- package/dist/heartbeat-visibility-CwodtdcX.js +98 -0
- package/dist/help-format-C6cv_aZp.js +17 -0
- package/dist/helpers-N-uSFKOn.js +10 -0
- package/dist/hooks-cli-1POsXqOl.js +993 -0
- package/dist/hooks-cli-BGjILbze.js +991 -0
- package/dist/hooks-status-DE07n5RC.js +356 -0
- package/dist/hooks-status-Du-d1jde.js +356 -0
- package/dist/image-ops-B_AYV3tp.js +541 -0
- package/dist/image-ops-Bp0C6Mvr.js +541 -0
- package/dist/index.js +82 -82
- package/dist/init-9A0s7bWG.js +122 -0
- package/dist/init-DoyCHJDC.js +122 -0
- package/dist/installs-D1C9wHAq.js +383 -0
- package/dist/installs-Dh4dHayM.js +383 -0
- package/dist/ipv4-DCItfaJo.js +1964 -0
- package/dist/ipv4-DSOUVx0i.js +1964 -0
- package/dist/lanes-BvSnHq2h.js +232 -0
- package/dist/lifecycle-core-BY4WIf9g.js +388 -0
- package/dist/lifecycle-core-TQKyXO-6.js +387 -0
- package/dist/links-CNu_8RZl.js +15 -0
- package/dist/links-D2tt2ouh.js +15 -0
- package/dist/llm-slug-generator.js +4 -4
- package/dist/logging-BIeRw0WR.js +15 -0
- package/dist/logging-C7lb3Vjc.js +15 -0
- package/dist/login-DXWKewA2.js +59 -0
- package/dist/login-Fhh4uWmf.js +61 -0
- package/dist/login-pPs3UO38.js +61 -0
- package/dist/login-qr-CevLD8cV.js +326 -0
- package/dist/login-qr-GF2JMIy-.js +323 -0
- package/dist/login-qr-ZYYKD6Yt.js +321 -0
- package/dist/logs-cli-CzXbX8HZ.js +242 -0
- package/dist/logs-cli-D9ngH9PF.js +245 -0
- package/dist/manager-BD5rA3w0.js +3244 -0
- package/dist/manager-BDPgBQSH.js +3246 -0
- package/dist/manager-DRWMWM--.js +3244 -0
- package/dist/manifest-registry-DbvPaBXY.js +748 -0
- package/dist/manifest-registry-kHX_MFa1.js +748 -0
- package/dist/markdown-tables-CqwihY2m.js +347 -0
- package/dist/markdown-tables-DJV7eAJZ.js +348 -0
- package/dist/media-lUqN-0O9.js +1342 -0
- package/dist/memory-cli-BLXSpgnN.js +868 -0
- package/dist/memory-cli-BcGVkkRJ.js +869 -0
- package/dist/message-channel-D_jIO87f.js +110 -0
- package/dist/migrate-BpVOar4L.js +157 -0
- package/dist/migrate-CkgGDkWy.js +157 -0
- package/dist/model-selection-Cqt6aJ0G.js +2691 -0
- package/dist/models-CExsNQPH.js +2510 -0
- package/dist/models-cli-Ba3Jmwev.js +2739 -0
- package/dist/models-cli-iDAlsbL2.js +258 -0
- package/dist/net-0A_zcaQD.js +218 -0
- package/dist/node-cli-ATmwCXIk.js +1319 -0
- package/dist/node-cli-DYFR_V25.js +1322 -0
- package/dist/node-service-CN4LqR1A.js +67 -0
- package/dist/node-service-CWt3MdSC.js +67 -0
- package/dist/nodes-cli-BeVmhTz3.js +1197 -0
- package/dist/nodes-cli-QeJIfa18.js +1200 -0
- package/dist/nodes-screen-DHyWAlla.js +234 -0
- package/dist/nodes-screen-qs3jRBPk.js +234 -0
- package/dist/note-CSlg2BnB.js +73 -0
- package/dist/note-Ctvglhp1.js +73 -0
- package/dist/npm-registry-spec-DQd4M22q.js +351 -0
- package/dist/npm-registry-spec-PxisIMts.js +351 -0
- package/dist/onboard-DeruD10m.js +1166 -0
- package/dist/onboard-SAcu5N6N.js +1165 -0
- package/dist/onboard-channels-C4iSfFXR.js +672 -0
- package/dist/onboard-channels-oVTVgoyg.js +672 -0
- package/dist/onboard-helpers-B8roRwLP.js +365 -0
- package/dist/onboard-helpers-Dgh26hgP.js +365 -0
- package/dist/onboarding-Bi-ac8we.js +911 -0
- package/dist/onboarding-C2gjB2u8.js +910 -0
- package/dist/orchestrator-DlbAYMQP.js +357 -0
- package/dist/orchestrator-DlwVRVDA.js +357 -0
- package/dist/outbound-CkKgc6iR.js +2062 -0
- package/dist/outbound-Vfm5yDh3.js +214 -0
- package/dist/outbound-bs_VK51X.js +214 -0
- package/dist/outbound-send-deps-DDjiMfEL.js +55 -0
- package/dist/pairing-cli-CJYeuEik.js +118 -0
- package/dist/pairing-cli-mqopHI8s.js +121 -0
- package/dist/pairing-store-BsXzUDPv.js +388 -0
- package/dist/pairing-store-DoNj00-X.js +388 -0
- package/dist/path-env-C_xpiG8l.js +89 -0
- package/dist/path-env-DSSMHu5A.js +89 -0
- package/dist/paths-B1vRVCad.js +126 -0
- package/dist/paths-BMuHNFxg.js +238 -0
- package/dist/paths-BXQQzXGQ.js +129 -0
- package/dist/paths-Buw_geoe.js +54 -0
- package/dist/paths-DA9WYabg.js +222 -0
- package/dist/paths-DfQGx0_k.js +129 -0
- package/dist/pi-auth-json-DOPW3e4X.js +78 -0
- package/dist/pi-auth-json-MruLmI_X.js +82 -0
- package/dist/pi-auth-json-lae_wwwo.js +80 -0
- package/dist/pi-model-discovery-7q0GxMrp.js +3 -0
- package/dist/pi-tools.policy-Csmla32P.js +200 -0
- package/dist/pi-tools.policy-xYdDLEv9.js +200 -0
- package/dist/plugin-auto-enable-CViVVWgg.js +282 -0
- package/dist/plugin-auto-enable-CjZ238UI.js +282 -0
- package/dist/plugin-registry-B4Aw2hzq.js +32 -0
- package/dist/plugin-registry-DW81arxW.js +32 -0
- package/dist/plugin-sdk/cli/cli-name.d.ts +1 -1
- package/dist/plugin-sdk/config/paths.d.ts +2 -2
- package/dist/plugin-sdk/index.js +7 -7
- package/dist/plugins-DhcGAPDB.js +38 -0
- package/dist/plugins-DtghNRtM.js +168 -0
- package/dist/plugins-cli-4vWTmOAb.js +736 -0
- package/dist/plugins-cli-CdTMbP0X.js +734 -0
- package/dist/polls-D6eCdatA.js +1343 -0
- package/dist/ports-BtZx-JKD.js +96 -0
- package/dist/ports-C8bKN8s0.js +96 -0
- package/dist/ports-DHiKnPRX.js +344 -0
- package/dist/ports-vd93M_Pt.js +317 -0
- package/dist/program-CX3aUVeb.js +176 -0
- package/dist/program-context-BPos0ivo.js +496 -0
- package/dist/progress-oiAjiiNi.js +133 -0
- package/dist/prompt-style-Cm4wOtKm.js +9 -0
- package/dist/pw-ai-4QbK5YFe.js +1865 -0
- package/dist/pw-ai-BWz3Cxt7.js +1868 -0
- package/dist/pw-ai-C83HBue2.js +1867 -0
- package/dist/qmd-manager-BcMeZiGD.js +938 -0
- package/dist/qmd-manager-CPypGJ0P.js +935 -0
- package/dist/qmd-manager-CRrSkfia.js +937 -0
- package/dist/register.agent-DDY8KJhn.js +265 -0
- package/dist/register.agent-DKawm-9d.js +1003 -0
- package/dist/register.anima-CEWUo29k.js +193 -0
- package/dist/register.anima-DBWz2rk_.js +193 -0
- package/dist/register.configure-BX67qV8k.js +103 -0
- package/dist/register.configure-CWsySuiq.js +101 -0
- package/dist/register.maintenance-0k-ZNhDg.js +543 -0
- package/dist/register.maintenance-BIwx1fzX.js +543 -0
- package/dist/register.message-CXPsoakA.js +657 -0
- package/dist/register.message-DA3jvfgI.js +660 -0
- package/dist/register.onboard-C4HG7Hqv.js +170 -0
- package/dist/register.onboard-GOpdif-j.js +170 -0
- package/dist/register.setup-B17vZT7C.js +175 -0
- package/dist/register.setup-GJyUDCqh.js +175 -0
- package/dist/register.status-health-sessions-D5876dGx.js +313 -0
- package/dist/register.status-health-sessions-lOewVIZR.js +142 -0
- package/dist/register.subclis-Dwnujj5C.js +255 -0
- package/dist/reply-CR5T_oQJ.js +32212 -0
- package/dist/reply-prefix-BcrS4Umd.js +100 -0
- package/dist/reply-prefix-Btb5o2NH.js +100 -0
- package/dist/reply-r089HuRA.js +32212 -0
- package/dist/routes-B4czFzIb.js +1820 -0
- package/dist/routes-ucJWAk5O.js +1820 -0
- package/dist/rpc-BnKxnQ0v.js +70 -0
- package/dist/rpc-DgE-xnyx.js +70 -0
- package/dist/run-main-B74kv84C.js +371 -0
- package/dist/runtime-guard-CKFdts2L.js +60 -0
- package/dist/sandbox-CJTS3er6.js +858 -0
- package/dist/sandbox-DBSiVHt_.js +859 -0
- package/dist/sandbox-cli-CrkjyU5M.js +461 -0
- package/dist/sandbox-cli-D1r5y6Sz.js +458 -0
- package/dist/security-cli-BZUdnkhn.js +462 -0
- package/dist/security-cli-DS09ebvA.js +465 -0
- package/dist/server-context-C0xZbYhg.js +824 -0
- package/dist/server-context-DVh2z7om.js +824 -0
- package/dist/server-node-events-bu9lpkMH.js +233 -0
- package/dist/server-node-events-i1Rrww31.js +231 -0
- package/dist/service-CJJwLEor.js +642 -0
- package/dist/service-DxLxBhaU.js +642 -0
- package/dist/service-audit-DB4Y3Ekp.js +488 -0
- package/dist/service-audit-M8y4TXVb.js +488 -0
- package/dist/session-CGxOLFs2.js +179 -0
- package/dist/session-DTTbdKb0.js +181 -0
- package/dist/session-cost-usage-FcdJl9c3.js +600 -0
- package/dist/session-cost-usage-qdfsGU2a.js +600 -0
- package/dist/session-yOhWcsD2.js +181 -0
- package/dist/sessions-B-Cu7JZq.js +1296 -0
- package/dist/sessions-BgLN4KFr.js +180 -0
- package/dist/sessions-CnRjwdVr.js +1296 -0
- package/dist/sessions-wRKla1Qh.js +2038 -0
- package/dist/shared-DS3UaJSP.js +66 -0
- package/dist/shared-DxNHzky3.js +77 -0
- package/dist/shared-Qpt4hUDi.js +66 -0
- package/dist/shared-kzrojZ1B.js +77 -0
- package/dist/skill-scanner-DLJji5Ye.js +263 -0
- package/dist/skills-BWFIEp4j.js +807 -0
- package/dist/skills-DV4zKdCx.js +808 -0
- package/dist/skills-cli-BY53ILm2.js +289 -0
- package/dist/skills-cli-CO3gxl8A.js +286 -0
- package/dist/skills-status-DX5pcqY3.js +166 -0
- package/dist/skills-status-zhcKzGkp.js +166 -0
- package/dist/sqlite-B6MojU1I.js +321 -0
- package/dist/sqlite-CuprTGR7.js +453 -0
- package/dist/sqlite-dzD-jMjs.js +368 -0
- package/dist/start-Cu3aLoSf.js +297 -0
- package/dist/start-Dz7tMAl8.js +296 -0
- package/dist/status-CaSxhxfV.js +2132 -0
- package/dist/status-D2C0JCX3.js +2137 -0
- package/dist/status-DlFMsQzh.js +27 -0
- package/dist/status-G0CITnKR.js +27 -0
- package/dist/status.update-CHjhVxJY.js +79 -0
- package/dist/status.update-DVFelehi.js +79 -0
- package/dist/subagent-registry-3Xb4el-8.js +14 -0
- package/dist/subagent-registry-CdSjz14I.js +2760 -0
- package/dist/subagent-registry-DNDhbHWi.js +2759 -0
- package/dist/subsystem-DfKstnEK.js +860 -0
- package/dist/system-cli-B5mt0FWa.js +82 -0
- package/dist/system-cli-Dg3UQ3Zz.js +79 -0
- package/dist/systemd-B43AvOGx.js +452 -0
- package/dist/systemd-RpPE0XGg.js +452 -0
- package/dist/systemd-hints-DMJT-Bbc.js +36 -0
- package/dist/systemd-hints-vRInKcz9.js +36 -0
- package/dist/systemd-linger-Dzyxqsod.js +75 -0
- package/dist/systemd-linger-EujbmI5A.js +75 -0
- package/dist/table-DhXHfRX2.js +279 -0
- package/dist/table-bWCLW-3P.js +279 -0
- package/dist/timeout-Ddn-5kAO.js +232 -0
- package/dist/tokens-3psI_Qk2.js +14 -0
- package/dist/tokens-BaM53PEx.js +14 -0
- package/dist/trash-Bmxs1Rnm.js +23 -0
- package/dist/trash-C39a6hKA.js +23 -0
- package/dist/tui-BHgBWhHE.js +3894 -0
- package/dist/tui-cli-B9Sq5-cC.js +50 -0
- package/dist/tui-cli-Dw7v4JoJ.js +47 -0
- package/dist/tui-mUwDwqvd.js +3894 -0
- package/dist/update-DF0GHG0j.js +317 -0
- package/dist/update-DoZLVjva.js +317 -0
- package/dist/update-check-Bt1dVPVN.js +400 -0
- package/dist/update-check-D5qAKes7.js +400 -0
- package/dist/update-cli-BNu2Oi7H.js +1105 -0
- package/dist/update-cli-D36AmALA.js +1105 -0
- package/dist/update-runner-CNQQaTwA.js +894 -0
- package/dist/update-runner-CvxZmbu-.js +894 -0
- package/dist/usage-BGCwNnjk.js +4516 -0
- package/dist/utils-DZ8pnOD5.js +243 -0
- package/dist/web-B5QG839O.js +46842 -0
- package/dist/web-Cmnvk9v0.js +2203 -0
- package/dist/web-Cv2KnTnL.js +63 -0
- package/dist/webhooks-cli-B6y89Pj_.js +319 -0
- package/dist/webhooks-cli-BDzHON4w.js +316 -0
- package/dist/whatsapp-actions-C_5MwVxM.js +45 -0
- package/dist/whatsapp-actions-hgYA12To.js +53 -0
- package/dist/whatsapp-actions-zTiVOoOV.js +49 -0
- package/dist/widearea-dns-BeIdnISJ.js +127 -0
- package/dist/widearea-dns-CF1gxpJ-.js +127 -0
- package/dist/workspace-DLna1IxR.js +649 -0
- package/dist/ws-log-Q4wO1Ztb.js +267 -0
- package/dist/ws-log-xF0kxDzp.js +267 -0
- package/package.json +1 -2
- package/dist/accounts-Cc5E4IDO.js +0 -260
- package/dist/accounts-CcVrwKqv.js +0 -259
- package/dist/acp-cli-DvphOKuh.js +0 -1081
- package/dist/acp-cli-p28pQ65a.js +0 -1084
- package/dist/agent-Cj7uDJaZ.js +0 -725
- package/dist/agent-Cuj9-2sT.js +0 -725
- package/dist/agent-events-BEBQsyE5.js +0 -182
- package/dist/agent-scope-BVf4aSwY.js +0 -112
- package/dist/agent-scope-OZi7lb8S.js +0 -452
- package/dist/agent-scope-V1bi9OYL.js +0 -452
- package/dist/agents-BUWqn_Ui.js +0 -774
- package/dist/agents.config-Dvo2ULxs.js +0 -182
- package/dist/agents.config-d6H0_3oj.js +0 -182
- package/dist/argv-DqUHKf0o.js +0 -73
- package/dist/audit-C6okOOSh.js +0 -2401
- package/dist/audit-VWjIdwC7.js +0 -2401
- package/dist/auth-91o2YM96.js +0 -648
- package/dist/auth-choice-CAmACV13.js +0 -2681
- package/dist/auth-choice-p3SeHPj2.js +0 -2681
- package/dist/auth-health-B_jXrWe6.js +0 -149
- package/dist/auth-health-DCicUKYR.js +0 -149
- package/dist/auth-lZ26wsbN.js +0 -639
- package/dist/auth-profiles-CCDD56dU.js +0 -1564
- package/dist/auth-profiles-DxI8L7bs.js +0 -2689
- package/dist/banner-Cohn04J6.js +0 -294
- package/dist/browser-cli-DANzjztE.js +0 -1676
- package/dist/browser-cli-WjsVH741.js +0 -1679
- package/dist/call-BAHvlu2G.js +0 -282
- package/dist/call-Ct7EGP_L.js +0 -282
- package/dist/catalog-BAayBt1L.js +0 -185
- package/dist/catalog-BNsf97BM.js +0 -185
- package/dist/channel-options-Dx9nPlX8.js +0 -33
- package/dist/channel-options-ZdvXrTGs.js +0 -32
- package/dist/channel-selection-CujyiWGM.js +0 -51
- package/dist/channel-selection-DfGpCyh2.js +0 -51
- package/dist/channel-web-CC0hkgkR.js +0 -2162
- package/dist/channels-cli-D7lNBpIb.js +0 -1304
- package/dist/channels-cli-DUPG8WDv.js +0 -1306
- package/dist/channels-status-issues-DBc1pU_R.js +0 -18
- package/dist/channels-status-issues-DjO9MHIG.js +0 -18
- package/dist/chrome-Bi6iZ5sG.js +0 -1601
- package/dist/chrome-DNSv7Cpy.js +0 -1629
- package/dist/chrome-DScZx4Lk.js +0 -1601
- package/dist/chunk-mxPVo000.js +0 -348
- package/dist/clack-prompter-B0kl7shw.js +0 -92
- package/dist/clack-prompter-B1YxZdRy.js +0 -92
- package/dist/cli-CfHUkOD0.js +0 -101
- package/dist/cli-ClMrIh6l.js +0 -99
- package/dist/cli-session-BkPTd9Pk.js +0 -5463
- package/dist/cli-session-Dd8DKb5a.js +0 -5408
- package/dist/client-C1avc0vD.js +0 -1692
- package/dist/client-CC94YZrT.js +0 -1692
- package/dist/clipboard-B2fBy8tG.js +0 -31
- package/dist/clipboard-BbGnZskJ.js +0 -31
- package/dist/command-format-Clp46jkj.js +0 -38
- package/dist/command-format-DELazozB.js +0 -52
- package/dist/command-format-SkzzRqR1.js +0 -52
- package/dist/command-registry-DZ4hkmA0.js +0 -248
- package/dist/commands-DtYZJSPn.js +0 -568
- package/dist/commands-Dujk1JmY.js +0 -568
- package/dist/commands-registry-Bd0xbvwG.js +0 -766
- package/dist/commands-registry-DYfRSVF3.js +0 -766
- package/dist/common-D6bu0zHC.js +0 -287
- package/dist/common-zW9Y2P1B.js +0 -287
- package/dist/completion-cli-tSe7Pmqm.js +0 -431
- package/dist/completion-cli-vn4IScs5.js +0 -432
- package/dist/config-C8rUDJXY.js +0 -5704
- package/dist/config-CLZ_XGVw.js +0 -6523
- package/dist/config-SY8M0kM_.js +0 -5705
- package/dist/config-cli-1V7D2Wsw.js +0 -247
- package/dist/config-cli-CjWEC81L.js +0 -244
- package/dist/config-guard-BW2gpKj_.js +0 -93
- package/dist/config-guard-BvxuzHpo.js +0 -76
- package/dist/config-sync-CoIIbEOe.js +0 -91
- package/dist/config-sync-DvAttep0.js +0 -91
- package/dist/configure-Bf0oupCE.js +0 -959
- package/dist/configure-DRM-7zFf.js +0 -960
- package/dist/context-D5iEFzv9.js +0 -60
- package/dist/control-service-C8m8F9pr.js +0 -72
- package/dist/control-service-DKotCWCg.js +0 -72
- package/dist/cron-cli-DB_FLYHD.js +0 -448
- package/dist/cron-cli-bxm5lrrO.js +0 -451
- package/dist/daemon-cli-1LsOnICv.js +0 -566
- package/dist/daemon-cli-CC2NrJ7a.js +0 -565
- package/dist/daemon-runtime-BXZhtBL9.js +0 -460
- package/dist/daemon-runtime-DW4USC7r.js +0 -460
- package/dist/deliver-B4HuPwJA.js +0 -1162
- package/dist/deliver-LiY5oL52.js +0 -1097
- package/dist/deliver-xrmk7xjh.js +0 -1097
- package/dist/delivery-queue-TnQykYsg.js +0 -220
- package/dist/deps-CMMOiOsF.js +0 -42
- package/dist/devices-cli-Be5he2SA.js +0 -195
- package/dist/devices-cli-z6ecoFe9.js +0 -198
- package/dist/diagnostics-Dj75aEHN.js +0 -35
- package/dist/diagnostics-DlIw6fqD.js +0 -35
- package/dist/directory-cli-CEy-0nxj.js +0 -243
- package/dist/directory-cli-DpzKcigr.js +0 -246
- package/dist/dispatcher-10Shiuz3.js +0 -100
- package/dist/dispatcher-3Jae6AiW.js +0 -100
- package/dist/dns-cli-Bat1pkc-.js +0 -200
- package/dist/dns-cli-NohNyEo0.js +0 -197
- package/dist/dock-DbxBBv30.js +0 -753
- package/dist/dock-cPBY4qGl.js +0 -753
- package/dist/docs-cli-BWp6p-Tq.js +0 -161
- package/dist/docs-cli-x22FnZfL.js +0 -159
- package/dist/doctor-BrT5m_on.js +0 -1815
- package/dist/doctor-Pp2HVnjM.js +0 -1813
- package/dist/doctor-completion-DNTimX9o.js +0 -92
- package/dist/doctor-completion-ylN9QAJ6.js +0 -92
- package/dist/doctor-config-flow-D1w3700T.js +0 -1232
- package/dist/doctor-config-flow-Dq50iE1R.js +0 -1232
- package/dist/engine-B9avUJL5.js +0 -563
- package/dist/engine-BiUQ25D4.js +0 -563
- package/dist/env-0lJfCPsw.js +0 -32
- package/dist/exec-BenD3A5l.js +0 -1167
- package/dist/exec-Bv3pyjeM.js +0 -255
- package/dist/exec-approvals-CdLmKX2R.js +0 -1221
- package/dist/exec-approvals-cli-DXfV6G8H.js +0 -368
- package/dist/exec-approvals-cli-J2cZs10o.js +0 -371
- package/dist/frontmatter-YijVi0FQ.js +0 -204
- package/dist/gateway-cli-DOAbA0pc.js +0 -19972
- package/dist/gateway-cli-QpWtBhQy.js +0 -19971
- package/dist/gateway-rpc-DJKBil9s.js +0 -28
- package/dist/gateway-rpc-DVterpLP.js +0 -28
- package/dist/github-copilot-auth-4IUFp669.js +0 -1418
- package/dist/github-copilot-auth-C9E0IROs.js +0 -1418
- package/dist/gmail-setup-utils-BPo_LkKI.js +0 -428
- package/dist/gmail-setup-utils-D3Yqgor7.js +0 -428
- package/dist/health-BeZnqp6m.js +0 -1258
- package/dist/health-Cn2OoVWZ.js +0 -1253
- package/dist/health-format-CdP99j3Y.js +0 -208
- package/dist/health-format-JEChH08S.js +0 -208
- package/dist/heartbeat-visibility-BL3WAchI.js +0 -98
- package/dist/heartbeat-visibility-CQ9QimI7.js +0 -98
- package/dist/help-format-Dl4bsrLI.js +0 -17
- package/dist/helpers-ZKNRexvX.js +0 -10
- package/dist/hooks-cli-D99hXt7K.js +0 -991
- package/dist/hooks-cli-DMB8RiEO.js +0 -993
- package/dist/hooks-status-B-e96dZj.js +0 -356
- package/dist/hooks-status-C_9sE0ox.js +0 -356
- package/dist/image-ops-Dlt3T7th.js +0 -541
- package/dist/image-ops-omlvdfah.js +0 -541
- package/dist/init-Bm04RagW.js +0 -122
- package/dist/init-CaJBf4p1.js +0 -122
- package/dist/installs-C2iMRBVz.js +0 -383
- package/dist/installs-D-cPGdCw.js +0 -383
- package/dist/ipv4-Bf7NS3QU.js +0 -1964
- package/dist/ipv4-wWNs8IH_.js +0 -1964
- package/dist/lanes-CNxj3tit.js +0 -232
- package/dist/lifecycle-core-B_7XRcvF.js +0 -388
- package/dist/lifecycle-core-By83PVAK.js +0 -387
- package/dist/links-BfjHVTB_.js +0 -15
- package/dist/links-DPGe0OHw.js +0 -15
- package/dist/logging-DB6BQmhi.js +0 -15
- package/dist/logging-mcb66J0p.js +0 -15
- package/dist/login-BDCg6D0N.js +0 -61
- package/dist/login-BDfnbjnZ.js +0 -59
- package/dist/login-BqH1itcg.js +0 -61
- package/dist/login-qr-CyOw3R4r.js +0 -321
- package/dist/login-qr-D8ECtb72.js +0 -323
- package/dist/login-qr-RnR7e4Bw.js +0 -326
- package/dist/logs-cli--j89L74J.js +0 -245
- package/dist/logs-cli-DpEMg_Gq.js +0 -242
- package/dist/manager-B4OyvcxT.js +0 -3244
- package/dist/manager-Cqc1CeH7.js +0 -3246
- package/dist/manager-DUyQPFvj.js +0 -3244
- package/dist/manifest-registry-CW1zCyRF.js +0 -748
- package/dist/manifest-registry-D4lM2RdV.js +0 -748
- package/dist/markdown-tables-BT1X6jqH.js +0 -347
- package/dist/markdown-tables-DHgOK2vI.js +0 -348
- package/dist/media-THyainiE.js +0 -1342
- package/dist/memory-cli-BKocCWXM.js +0 -868
- package/dist/memory-cli-Jmma-xI_.js +0 -869
- package/dist/message-channel-dSTVVCyX.js +0 -110
- package/dist/migrate-BR6iAIjO.js +0 -157
- package/dist/migrate-D0EcMs0f.js +0 -157
- package/dist/model-selection-YcSr9CgC.js +0 -2691
- package/dist/models-1vUQBVfw.js +0 -2510
- package/dist/models-cli-BK3BwUhL.js +0 -2739
- package/dist/models-cli-DECrM8oA.js +0 -258
- package/dist/net-B5lXhYLV.js +0 -218
- package/dist/node-cli-cLHUNpPD.js +0 -1319
- package/dist/node-cli-fO7Y132S.js +0 -1322
- package/dist/node-service-BFxHJsno.js +0 -67
- package/dist/node-service-DUnan4uK.js +0 -67
- package/dist/nodes-cli-BCq35E6N.js +0 -1200
- package/dist/nodes-cli-vD7MwAKP.js +0 -1197
- package/dist/nodes-screen-1YiLkqr5.js +0 -234
- package/dist/nodes-screen-DZeD8hE5.js +0 -234
- package/dist/note-Bi8Wb8DV.js +0 -73
- package/dist/note-uiuPxhyX.js +0 -73
- package/dist/npm-registry-spec-B-XIShkB.js +0 -351
- package/dist/npm-registry-spec-za3itb5Y.js +0 -351
- package/dist/onboard-Ds6w_sWo.js +0 -1165
- package/dist/onboard-SAVx3bp4.js +0 -1166
- package/dist/onboard-channels-Cg_EkBa4.js +0 -672
- package/dist/onboard-channels-D7NbA55V.js +0 -672
- package/dist/onboard-helpers-DO_hgZb9.js +0 -365
- package/dist/onboard-helpers-_XgJgeqh.js +0 -365
- package/dist/onboarding-3hLmDd0r.js +0 -911
- package/dist/onboarding-B4LKLsbU.js +0 -910
- package/dist/orchestrator-BKzmyBWy.js +0 -357
- package/dist/orchestrator-BN3QCz2s.js +0 -357
- package/dist/outbound-BgA9hNlP.js +0 -2062
- package/dist/outbound-CjdvVhUI.js +0 -214
- package/dist/outbound-DOGe6qb2.js +0 -214
- package/dist/outbound-send-deps-Du5aBpd7.js +0 -55
- package/dist/pairing-cli-2vnyg_Nd.js +0 -118
- package/dist/pairing-cli-BH1KQtNV.js +0 -121
- package/dist/pairing-store-DJz_9Gv0.js +0 -388
- package/dist/pairing-store-DmOzxcuk.js +0 -388
- package/dist/path-env-Bu6k0jDQ.js +0 -89
- package/dist/path-env-C0zQSjw8.js +0 -89
- package/dist/paths-BTc4nk-6.js +0 -126
- package/dist/paths-BgUi2Z2G.js +0 -54
- package/dist/paths-C6VCWKo3.js +0 -238
- package/dist/paths-CCxa0o9c.js +0 -222
- package/dist/paths-CxRf2rBG.js +0 -129
- package/dist/paths-hcX1Gqg5.js +0 -129
- package/dist/pi-auth-json-B68R7q7_.js +0 -82
- package/dist/pi-auth-json-CR0jXAgq.js +0 -78
- package/dist/pi-auth-json-ZYzi3nxs.js +0 -80
- package/dist/pi-model-discovery-Cxs4pvC2.js +0 -3
- package/dist/pi-tools.policy-D81U5xy0.js +0 -200
- package/dist/pi-tools.policy-DSHkkb5b.js +0 -200
- package/dist/plugin-auto-enable-CxF4bpDN.js +0 -282
- package/dist/plugin-auto-enable-jNaAeyEh.js +0 -282
- package/dist/plugin-registry-C7XWotZG.js +0 -32
- package/dist/plugin-registry-DcUCbGax.js +0 -32
- package/dist/plugins-B362e77G.js +0 -168
- package/dist/plugins-CmSUIUNi.js +0 -38
- package/dist/plugins-cli-BsCEnoQ7.js +0 -734
- package/dist/plugins-cli-QSIsMUG7.js +0 -736
- package/dist/polls-CItfB1H8.js +0 -1343
- package/dist/ports-BVLMN1Sr.js +0 -96
- package/dist/ports-CqLSlU6Z.js +0 -317
- package/dist/ports-D94CwCrv.js +0 -344
- package/dist/ports-D_NHthOz.js +0 -96
- package/dist/program-DkJHjI0R.js +0 -176
- package/dist/program-context-DnyGM2SC.js +0 -496
- package/dist/progress-Bek_GyWS.js +0 -133
- package/dist/prompt-style-lu0clOOE.js +0 -9
- package/dist/pw-ai-BLVMuSLv.js +0 -1867
- package/dist/pw-ai-DZJWEF_f.js +0 -1865
- package/dist/pw-ai-dzf-ptcn.js +0 -1868
- package/dist/qmd-manager-Cur_Ekn0.js +0 -937
- package/dist/qmd-manager-DNAUuwjK.js +0 -938
- package/dist/qmd-manager-DepEoASu.js +0 -935
- package/dist/register.agent-CSWvzOkR.js +0 -265
- package/dist/register.agent-UeH2NXmH.js +0 -1003
- package/dist/register.anima-DOdee0dh.js +0 -193
- package/dist/register.anima-HHDWsz6r.js +0 -193
- package/dist/register.configure-CSJFxdz9.js +0 -103
- package/dist/register.configure-D84Fvcz4.js +0 -101
- package/dist/register.maintenance-B3pvNbZb.js +0 -543
- package/dist/register.maintenance-BKVOwkw6.js +0 -543
- package/dist/register.message-BAO6CPl2.js +0 -657
- package/dist/register.message-OXoOKE_6.js +0 -660
- package/dist/register.onboard-BK_ixVmD.js +0 -170
- package/dist/register.onboard-cfCaPx6j.js +0 -170
- package/dist/register.setup-BGfDnzph.js +0 -175
- package/dist/register.setup-Y-Q74M-0.js +0 -175
- package/dist/register.status-health-sessions-CT14eitH.js +0 -142
- package/dist/register.status-health-sessions-TfZMzAUn.js +0 -313
- package/dist/register.subclis-BZwdlNHC.js +0 -255
- package/dist/reply-mlsExaZm.js +0 -32212
- package/dist/reply-prefix-B0CfR4bM.js +0 -100
- package/dist/reply-prefix-w4a39ybC.js +0 -100
- package/dist/reply-qalRISe_.js +0 -32212
- package/dist/routes-CENsHJyg.js +0 -1820
- package/dist/routes-DO0HqW2e.js +0 -1820
- package/dist/rpc-C0pjNhBi.js +0 -70
- package/dist/rpc-DZ44PIXE.js +0 -70
- package/dist/run-main-BMpKw8Mp.js +0 -371
- package/dist/runtime-guard-BSUFiAQV.js +0 -60
- package/dist/sandbox-BIGfMYEI.js +0 -858
- package/dist/sandbox-DxP3IpUP.js +0 -859
- package/dist/sandbox-cli-DtLGH8sL.js +0 -461
- package/dist/sandbox-cli-_Tg7lfJ_.js +0 -458
- package/dist/security-cli-BRwgbedo.js +0 -462
- package/dist/security-cli-D3bSuyZt.js +0 -465
- package/dist/server-context-49XFFxFg.js +0 -824
- package/dist/server-context-LrlgrZzS.js +0 -824
- package/dist/server-node-events-Dm52i7NW.js +0 -231
- package/dist/server-node-events-QX523UyF.js +0 -233
- package/dist/service-BNVpYcQe.js +0 -642
- package/dist/service-D56aMXUB.js +0 -642
- package/dist/service-audit-D0X_XAB2.js +0 -488
- package/dist/service-audit-qmf6XMmP.js +0 -488
- package/dist/session-CrQQLLhx.js +0 -179
- package/dist/session-LocsOOWJ.js +0 -181
- package/dist/session-Vlce2BAT.js +0 -181
- package/dist/session-cost-usage-BwiTZuKl.js +0 -600
- package/dist/session-cost-usage-DT9YNXTJ.js +0 -600
- package/dist/sessions-BfV53TbG.js +0 -1296
- package/dist/sessions-BimpX_km.js +0 -180
- package/dist/sessions-DcXpzig0.js +0 -1296
- package/dist/sessions-Wd18dukK.js +0 -2038
- package/dist/shared-Bsr69u_7.js +0 -77
- package/dist/shared-Cgly1vPb.js +0 -66
- package/dist/shared-JOo05hST.js +0 -66
- package/dist/shared-f7dvQsi7.js +0 -77
- package/dist/skill-scanner-CkaVLABv.js +0 -263
- package/dist/skills-B-G7UHOa.js +0 -808
- package/dist/skills-B5LQx4lT.js +0 -807
- package/dist/skills-cli-DUGe2ZWW.js +0 -286
- package/dist/skills-cli-DtOk0bvK.js +0 -289
- package/dist/skills-status-Clq9ZnYu.js +0 -166
- package/dist/skills-status-JQluhU-P.js +0 -166
- package/dist/sqlite-BukcjdJa.js +0 -321
- package/dist/sqlite-CGcOZZ0C.js +0 -368
- package/dist/sqlite-Ck6f9KWc.js +0 -453
- package/dist/start--xmSFepB.js +0 -372
- package/dist/start-BdlZbqrr.js +0 -371
- package/dist/status-BgoeFm6g.js +0 -2137
- package/dist/status-BjjDrUq7.js +0 -27
- package/dist/status-Ct0DgOZ-.js +0 -2132
- package/dist/status-RA_uNmK0.js +0 -27
- package/dist/status.update-BjOH3GlS.js +0 -79
- package/dist/status.update-DLU1qBf0.js +0 -79
- package/dist/subagent-registry-9RLdKxES.js +0 -2760
- package/dist/subagent-registry-Byuex3zp.js +0 -2759
- package/dist/subagent-registry-DOBunBYS.js +0 -14
- package/dist/subsystem-Dowf8fSU.js +0 -860
- package/dist/system-cli-C5oBpzni.js +0 -79
- package/dist/system-cli-DXNKD_Id.js +0 -82
- package/dist/systemd-BSrHDyeU.js +0 -452
- package/dist/systemd-By5xdSB4.js +0 -452
- package/dist/systemd-hints-BtjL_5Rh.js +0 -36
- package/dist/systemd-hints-sJmr6cjb.js +0 -36
- package/dist/systemd-linger-CTmV2Gci.js +0 -75
- package/dist/systemd-linger-CmyqQkeC.js +0 -75
- package/dist/table-BL0lJzsm.js +0 -279
- package/dist/table-DoiRPsn0.js +0 -279
- package/dist/timeout-CswI_K-U.js +0 -232
- package/dist/tokens-C-X7wDKj.js +0 -14
- package/dist/tokens-DkvqA72p.js +0 -14
- package/dist/trash-BJLK1vMn.js +0 -23
- package/dist/trash-_x5UZ94k.js +0 -23
- package/dist/tui-BHjxDFZC.js +0 -3894
- package/dist/tui-CgOocwN8.js +0 -3894
- package/dist/tui-cli-5ANH8dE5.js +0 -47
- package/dist/tui-cli-BQ4P-JW_.js +0 -50
- package/dist/update-LFgxHHPd.js +0 -317
- package/dist/update-TxptCqk7.js +0 -317
- package/dist/update-check-CWc7YXmc.js +0 -400
- package/dist/update-check-IhlWaui6.js +0 -400
- package/dist/update-cli-PtXU62w7.js +0 -1105
- package/dist/update-cli-Va0EtETG.js +0 -1105
- package/dist/update-runner-BLeKFkiB.js +0 -894
- package/dist/update-runner-Iuzpc-_y.js +0 -894
- package/dist/usage-ApGvBLVg.js +0 -4516
- package/dist/utils-Bsw__U-F.js +0 -243
- package/dist/web-B6_Ky60G.js +0 -63
- package/dist/web-EZLQEWXY.js +0 -46842
- package/dist/web-pec8YJUX.js +0 -2203
- package/dist/webhooks-cli-BYQKTHTp.js +0 -319
- package/dist/webhooks-cli-C2_xtsUQ.js +0 -316
- package/dist/whatsapp-actions-C72VCq8f.js +0 -49
- package/dist/whatsapp-actions-Ck9Uv0Nw.js +0 -45
- package/dist/whatsapp-actions-D0reTj2k.js +0 -53
- package/dist/widearea-dns-B6ocX23x.js +0 -127
- package/dist/widearea-dns-NsEUNYwz.js +0 -127
- package/dist/workspace-Dcfoy5JJ.js +0 -649
- package/dist/ws-log-N8R5MvGE.js +0 -267
- package/dist/ws-log-gwFxPxj5.js +0 -267
- /package/dist/{auto-update-CUeF99gI.js → auto-update-CpF0fycd.js} +0 -0
- /package/dist/{auto-update-cgkp9ZTJ.js → auto-update-DNWdO7uF.js} +0 -0
- /package/dist/{brew-CVZkr0GU.js → brew-nqf_MiE4.js} +0 -0
- /package/dist/{budget-DxYQSekw.js → budget-CPedI-qW.js} +0 -0
- /package/dist/{budget-BWBp8Res.js → budget-CRpvqDRX.js} +0 -0
- /package/dist/{cli-utils-DtAxdCte.js → cli-utils-C1YHVD4o.js} +0 -0
- /package/dist/{command-options-CSbuuqHr.js → command-options-BbponVnw.js} +0 -0
- /package/dist/{command-options-Cp1tf96a.js → command-options-s0gnvXnS.js} +0 -0
- /package/dist/{constants-O8yBqCBv.js → constants-Dhb6zSIV.js} +0 -0
- /package/dist/{dangerous-tools-5ObDWy1N.js → dangerous-tools-DGTtJ_JR.js} +0 -0
- /package/dist/{dangerous-tools-Jwr7jqNw.js → dangerous-tools-DxrfTOfT.js} +0 -0
- /package/dist/{delivery-queue-B6IHz4Ry.js → delivery-queue-Bxm0nzw7.js} +0 -0
- /package/dist/{display-BDOsXu8F.js → display-Jy3UdGzA.js} +0 -0
- /package/dist/{errors-CHow2wtt.js → errors-CKaCqKga.js} +0 -0
- /package/dist/{exec-BizYYQgP.js → exec-DDmuVVNq.js} +0 -0
- /package/dist/{format-Mq6iU0_5.js → format-ByEjgyTF.js} +0 -0
- /package/dist/{format-duration-DhWzz_5b.js → format-duration-Aaj5tjJd.js} +0 -0
- /package/dist/{format-relative-C6kUHuOj.js → format-relative-79_Y1n2Y.js} +0 -0
- /package/dist/{help-format-DUBI91Ti.js → help-format-BMKzarov.js} +0 -0
- /package/dist/{helpers-eJFa4K6r.js → helpers-DpEB9Mh0.js} +0 -0
- /package/dist/{helpers-DLgbkcEn.js → helpers-FMld9sBT.js} +0 -0
- /package/dist/{input-provenance-DJBdpeKk.js → input-provenance-Cy_KnBlP.js} +0 -0
- /package/dist/{is-main-Dt9DTcH1.js → is-main-yjaVwMtJ.js} +0 -0
- /package/dist/{loader-l2OBdJ8x.js → loader-Br7Vr0zn.js} +0 -0
- /package/dist/{loader-BoYxRfcW.js → loader-CkmOrXcC.js} +0 -0
- /package/dist/{logging-BdnOSVPD.js → logging-CY-Q5cwf.js} +0 -0
- /package/dist/{message-channel-w4F2b2F6.js → message-channel-dua8OOGJ.js} +0 -0
- /package/dist/{mime-B1ZoR53M.js → mime-CBg4KybI.js} +0 -0
- /package/dist/{model-param-b-DPwyNGn8.js → model-param-b-DW9f0NN8.js} +0 -0
- /package/dist/{node-match-8XZnaid6.js → node-match-BV8bTBd4.js} +0 -0
- /package/dist/{normalize-GDK8JTNW.js → normalize-_lmlBOW9.js} +0 -0
- /package/dist/{openclaw-root-C85WMnVV.js → openclaw-root-JPvmPTf7.js} +0 -0
- /package/dist/{outbound-send-deps-ANnAhImn.js → outbound-send-deps-BfUvuWGa.js} +0 -0
- /package/dist/{parse-6-2MDhdT.js → parse-CZRwKocn.js} +0 -0
- /package/dist/{parse-log-line-Bqh1SSzC.js → parse-log-line-CvrZEK6A.js} +0 -0
- /package/dist/{parse-log-line-DUZCjXbl.js → parse-log-line-mLdat0AH.js} +0 -0
- /package/dist/{parse-port-BKB9Exlg.js → parse-port-BSOOdo7I.js} +0 -0
- /package/dist/{parse-port-DrfvwwiL.js → parse-port-Y0NK62x1.js} +0 -0
- /package/dist/{parse-timeout-Di_tcEmi.js → parse-timeout-DVPQ3n9j.js} +0 -0
- /package/dist/{paths-DcVEkYX5.js → paths-DHjlJ6cn.js} +0 -0
- /package/dist/{pi-model-discovery-DsRqYJLy.js → pi-model-discovery-DzEIEgHL.js} +0 -0
- /package/dist/{plugins-CDJw924T.js → plugins-D6PBOdkn.js} +0 -0
- /package/dist/{program-context-Bvn8046-.js → program-context-Q1hkT73c.js} +0 -0
- /package/dist/{progress-CbZ2D53A.js → progress-C9Ha1NJh.js} +0 -0
- /package/dist/{prompt-style-DKy6qQxR.js → prompt-style-DQi8j03a.js} +0 -0
- /package/dist/{prompts-BI__va99.js → prompts-BEHxUC3w.js} +0 -0
- /package/dist/{prompts-_dDWkCAz.js → prompts-CSOhuiqe.js} +0 -0
- /package/dist/{queue-D_u34pbL.js → queue-BJGo7kAB.js} +0 -0
- /package/dist/{queue-PG591iID.js → queue-DYgUbdoq.js} +0 -0
- /package/dist/{redact-ClVwO7Nn.js → redact-CyKvdFrg.js} +0 -0
- /package/dist/{registry-Bs_DJK9E.js → registry-C5MAYD4V.js} +0 -0
- /package/dist/{registry-D_zlP1U-.js → registry-CRrXXVs0.js} +0 -0
- /package/dist/{requirements-BzZxj2Wu.js → requirements-CGkxTCu4.js} +0 -0
- /package/dist/{requirements-DIW1svgA.js → requirements-CIDaOcbO.js} +0 -0
- /package/dist/{runtime-guard-DeOXA_86.js → runtime-guard-nL3Lp8T-.js} +0 -0
- /package/dist/{secret-equal-Dghy3xsA.js → secret-equal-DJpmLXlG.js} +0 -0
- /package/dist/{send-BhAfdGII.js → send-CTcxgDDU.js} +0 -0
- /package/dist/{send-ga9udK1_.js → send-DPezUR3-.js} +0 -0
- /package/dist/{send-C2t9xpXI.js → send-DZQTaG7-.js} +0 -0
- /package/dist/{send-DigO-i9j.js → send-VDff2gra.js} +0 -0
- /package/dist/{send-Dz2BDHll.js → send-bgQNV8d1.js} +0 -0
- /package/dist/{session-key-BGiG_JcT.js → session-key-CQT-NR6w.js} +0 -0
- /package/dist/{shell-argv-CAq1mLa2.js → shell-argv-n9IueeJQ.js} +0 -0
- /package/dist/{skill-scanner-Coo4QoCd.js → skill-scanner-o6NgVMD9.js} +0 -0
- /package/dist/{status-CMnlcBVc.js → status-C53kTIXF.js} +0 -0
- /package/dist/{status-tDZPwewW.js → status-CZDDA_Sy.js} +0 -0
- /package/dist/{system-run-command-X9lDJIy0.js → system-run-command-BCjUffN9.js} +0 -0
- /package/dist/{system-run-command-DGk7dwQP.js → system-run-command-CqAqKL9K.js} +0 -0
- /package/dist/{tailnet-CuiNECdL.js → tailnet-Ciwjv243.js} +0 -0
- /package/dist/{templates-CeYJjVzw.js → templates-37RKpACb.js} +0 -0
- /package/dist/{templates-I3Z0xplD.js → templates-DPalk30o.js} +0 -0
- /package/dist/{thinking-BXEswx1X.js → thinking-2hxwmvTl.js} +0 -0
- /package/dist/{transcript-events-C1hdue6u.js → transcript-events-Bp7fGnwv.js} +0 -0
- /package/dist/{transcript-tools-DuyYOkUq.js → transcript-tools-D4Lbxlka.js} +0 -0
- /package/dist/{usage-format-BAirWUSO.js → usage-format-6Uar63S0.js} +0 -0
- /package/dist/{utils-C9sj30YY.js → utils-DT8uXjFS.js} +0 -0
- /package/dist/{wsl-CqyuRvtM.js → wsl-CrPvx2kZ.js} +0 -0
- /package/dist/{wsl-ymJYvc9Q.js → wsl-UvJ5dHah.js} +0 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
import { A as colorize, M as theme, j as isRich } from "./entry.js";
|
|
2
|
+
import { n as runExec, t as runCommandWithTimeout } from "./exec-DDmuVVNq.js";
|
|
3
|
+
import { d as resolveGatewaySystemdServiceName, s as formatGatewayServiceDescription, u as resolveGatewayProfileSuffix } from "./constants-Dhb6zSIV.js";
|
|
4
|
+
import { execFile } from "node:child_process";
|
|
5
|
+
import os from "node:os";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import fs from "node:fs/promises";
|
|
8
|
+
|
|
9
|
+
//#region src/daemon/exec-file.ts
|
|
10
|
+
async function execFileUtf8(command, args, options = {}) {
|
|
11
|
+
return await new Promise((resolve) => {
|
|
12
|
+
execFile(command, args, {
|
|
13
|
+
...options,
|
|
14
|
+
encoding: "utf8"
|
|
15
|
+
}, (error, stdout, stderr) => {
|
|
16
|
+
if (!error) {
|
|
17
|
+
resolve({
|
|
18
|
+
stdout: String(stdout ?? ""),
|
|
19
|
+
stderr: String(stderr ?? ""),
|
|
20
|
+
code: 0
|
|
21
|
+
});
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const e = error;
|
|
25
|
+
const stderrText = String(stderr ?? "");
|
|
26
|
+
resolve({
|
|
27
|
+
stdout: String(stdout ?? ""),
|
|
28
|
+
stderr: stderrText || (typeof e.message === "string" ? e.message : typeof error === "string" ? error : ""),
|
|
29
|
+
code: typeof e.code === "number" ? e.code : 1
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/daemon/output.ts
|
|
37
|
+
const toPosixPath = (value) => value.replace(/\\/g, "/");
|
|
38
|
+
function formatLine(label, value) {
|
|
39
|
+
const rich = isRich();
|
|
40
|
+
return `${colorize(rich, theme.muted, `${label}:`)} ${colorize(rich, theme.command, value)}`;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/daemon/paths.ts
|
|
45
|
+
const windowsAbsolutePath = /^[a-zA-Z]:[\\/]/;
|
|
46
|
+
const windowsUncPath = /^\\\\/;
|
|
47
|
+
function resolveHomeDir(env) {
|
|
48
|
+
const home = env.HOME?.trim() || env.USERPROFILE?.trim();
|
|
49
|
+
if (!home) throw new Error("Missing HOME");
|
|
50
|
+
return home;
|
|
51
|
+
}
|
|
52
|
+
function resolveUserPathWithHome(input, home) {
|
|
53
|
+
const trimmed = input.trim();
|
|
54
|
+
if (!trimmed) return trimmed;
|
|
55
|
+
if (trimmed.startsWith("~")) {
|
|
56
|
+
if (!home) throw new Error("Missing HOME");
|
|
57
|
+
const expanded = trimmed.replace(/^~(?=$|[\\/])/, home);
|
|
58
|
+
return path.resolve(expanded);
|
|
59
|
+
}
|
|
60
|
+
if (windowsAbsolutePath.test(trimmed) || windowsUncPath.test(trimmed)) return trimmed;
|
|
61
|
+
return path.resolve(trimmed);
|
|
62
|
+
}
|
|
63
|
+
function resolveGatewayStateDir(env) {
|
|
64
|
+
const override = env.ANIMA_STATE_DIR?.trim();
|
|
65
|
+
if (override) return resolveUserPathWithHome(override, override.startsWith("~") ? resolveHomeDir(env) : void 0);
|
|
66
|
+
const home = resolveHomeDir(env);
|
|
67
|
+
const suffix = resolveGatewayProfileSuffix(env.ANIMA_PROFILE);
|
|
68
|
+
return path.join(home, `.anima${suffix}`);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/daemon/runtime-parse.ts
|
|
73
|
+
function parseKeyValueOutput(output, separator) {
|
|
74
|
+
const entries = {};
|
|
75
|
+
for (const rawLine of output.split(/\r?\n/)) {
|
|
76
|
+
const line = rawLine.trim();
|
|
77
|
+
if (!line) continue;
|
|
78
|
+
const idx = line.indexOf(separator);
|
|
79
|
+
if (idx <= 0) continue;
|
|
80
|
+
const key = line.slice(0, idx).trim().toLowerCase();
|
|
81
|
+
if (!key) continue;
|
|
82
|
+
entries[key] = line.slice(idx + separator.length).trim();
|
|
83
|
+
}
|
|
84
|
+
return entries;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/daemon/systemd-linger.ts
|
|
89
|
+
function resolveLoginctlUser(env) {
|
|
90
|
+
const fromEnv = env.USER?.trim() || env.LOGNAME?.trim();
|
|
91
|
+
if (fromEnv) return fromEnv;
|
|
92
|
+
try {
|
|
93
|
+
return os.userInfo().username;
|
|
94
|
+
} catch {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function readSystemdUserLingerStatus(env) {
|
|
99
|
+
const user = resolveLoginctlUser(env);
|
|
100
|
+
if (!user) return null;
|
|
101
|
+
try {
|
|
102
|
+
const { stdout } = await runExec("loginctl", [
|
|
103
|
+
"show-user",
|
|
104
|
+
user,
|
|
105
|
+
"-p",
|
|
106
|
+
"Linger"
|
|
107
|
+
], { timeoutMs: 5e3 });
|
|
108
|
+
const value = stdout.split("\n").map((entry) => entry.trim()).find((entry) => entry.startsWith("Linger="))?.split("=")[1]?.trim().toLowerCase();
|
|
109
|
+
if (value === "yes" || value === "no") return {
|
|
110
|
+
user,
|
|
111
|
+
linger: value
|
|
112
|
+
};
|
|
113
|
+
} catch {}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
async function enableSystemdUserLinger(params) {
|
|
117
|
+
const user = params.user ?? resolveLoginctlUser(params.env);
|
|
118
|
+
if (!user) return {
|
|
119
|
+
ok: false,
|
|
120
|
+
stdout: "",
|
|
121
|
+
stderr: "Missing user",
|
|
122
|
+
code: 1
|
|
123
|
+
};
|
|
124
|
+
const argv = [
|
|
125
|
+
...(typeof process.getuid === "function" ? process.getuid() !== 0 : true) && params.sudoMode !== void 0 ? ["sudo", ...params.sudoMode === "non-interactive" ? ["-n"] : []] : [],
|
|
126
|
+
"loginctl",
|
|
127
|
+
"enable-linger",
|
|
128
|
+
user
|
|
129
|
+
];
|
|
130
|
+
try {
|
|
131
|
+
const result = await runCommandWithTimeout(argv, { timeoutMs: 3e4 });
|
|
132
|
+
return {
|
|
133
|
+
ok: result.code === 0,
|
|
134
|
+
stdout: result.stdout,
|
|
135
|
+
stderr: result.stderr,
|
|
136
|
+
code: result.code ?? 1
|
|
137
|
+
};
|
|
138
|
+
} catch (error) {
|
|
139
|
+
return {
|
|
140
|
+
ok: false,
|
|
141
|
+
stdout: "",
|
|
142
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
143
|
+
code: 1
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/daemon/systemd-unit.ts
|
|
150
|
+
function systemdEscapeArg(value) {
|
|
151
|
+
if (!/[\\s"\\\\]/.test(value)) return value;
|
|
152
|
+
return `"${value.replace(/\\\\/g, "\\\\\\\\").replace(/"/g, "\\\\\"")}"`;
|
|
153
|
+
}
|
|
154
|
+
function renderEnvLines(env) {
|
|
155
|
+
if (!env) return [];
|
|
156
|
+
const entries = Object.entries(env).filter(([, value]) => typeof value === "string" && value.trim());
|
|
157
|
+
if (entries.length === 0) return [];
|
|
158
|
+
return entries.map(([key, value]) => `Environment=${systemdEscapeArg(`${key}=${value?.trim() ?? ""}`)}`);
|
|
159
|
+
}
|
|
160
|
+
function buildSystemdUnit({ description, programArguments, workingDirectory, environment }) {
|
|
161
|
+
const execStart = programArguments.map(systemdEscapeArg).join(" ");
|
|
162
|
+
const descriptionLine = `Description=${description?.trim() || "Anima Gateway"}`;
|
|
163
|
+
const workingDirLine = workingDirectory ? `WorkingDirectory=${systemdEscapeArg(workingDirectory)}` : null;
|
|
164
|
+
const envLines = renderEnvLines(environment);
|
|
165
|
+
return [
|
|
166
|
+
"[Unit]",
|
|
167
|
+
descriptionLine,
|
|
168
|
+
"After=network-online.target",
|
|
169
|
+
"Wants=network-online.target",
|
|
170
|
+
"",
|
|
171
|
+
"[Service]",
|
|
172
|
+
`ExecStart=${execStart}`,
|
|
173
|
+
"Restart=always",
|
|
174
|
+
"RestartSec=5",
|
|
175
|
+
"KillMode=process",
|
|
176
|
+
workingDirLine,
|
|
177
|
+
...envLines,
|
|
178
|
+
"",
|
|
179
|
+
"[Install]",
|
|
180
|
+
"WantedBy=default.target",
|
|
181
|
+
""
|
|
182
|
+
].filter((line) => line !== null).join("\n");
|
|
183
|
+
}
|
|
184
|
+
function parseSystemdExecStart(value) {
|
|
185
|
+
const args = [];
|
|
186
|
+
let current = "";
|
|
187
|
+
let inQuotes = false;
|
|
188
|
+
let escapeNext = false;
|
|
189
|
+
for (const char of value) {
|
|
190
|
+
if (escapeNext) {
|
|
191
|
+
current += char;
|
|
192
|
+
escapeNext = false;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (char === "\\\\") {
|
|
196
|
+
escapeNext = true;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (char === "\"") {
|
|
200
|
+
inQuotes = !inQuotes;
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (!inQuotes && /\s/.test(char)) {
|
|
204
|
+
if (current) {
|
|
205
|
+
args.push(current);
|
|
206
|
+
current = "";
|
|
207
|
+
}
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
current += char;
|
|
211
|
+
}
|
|
212
|
+
if (current) args.push(current);
|
|
213
|
+
return args;
|
|
214
|
+
}
|
|
215
|
+
function parseSystemdEnvAssignment(raw) {
|
|
216
|
+
const trimmed = raw.trim();
|
|
217
|
+
if (!trimmed) return null;
|
|
218
|
+
const unquoted = (() => {
|
|
219
|
+
if (!(trimmed.startsWith("\"") && trimmed.endsWith("\""))) return trimmed;
|
|
220
|
+
let out = "";
|
|
221
|
+
let escapeNext = false;
|
|
222
|
+
for (const ch of trimmed.slice(1, -1)) {
|
|
223
|
+
if (escapeNext) {
|
|
224
|
+
out += ch;
|
|
225
|
+
escapeNext = false;
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
if (ch === "\\\\") {
|
|
229
|
+
escapeNext = true;
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
out += ch;
|
|
233
|
+
}
|
|
234
|
+
return out;
|
|
235
|
+
})();
|
|
236
|
+
const eq = unquoted.indexOf("=");
|
|
237
|
+
if (eq <= 0) return null;
|
|
238
|
+
const key = unquoted.slice(0, eq).trim();
|
|
239
|
+
if (!key) return null;
|
|
240
|
+
return {
|
|
241
|
+
key,
|
|
242
|
+
value: unquoted.slice(eq + 1)
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region src/daemon/systemd.ts
|
|
248
|
+
function resolveSystemdUnitPathForName(env, name) {
|
|
249
|
+
const home = toPosixPath(resolveHomeDir(env));
|
|
250
|
+
return path.posix.join(home, ".config", "systemd", "user", `${name}.service`);
|
|
251
|
+
}
|
|
252
|
+
function resolveSystemdServiceName(env) {
|
|
253
|
+
const override = env.ANIMA_SYSTEMD_UNIT?.trim();
|
|
254
|
+
if (override) return override.endsWith(".service") ? override.slice(0, -8) : override;
|
|
255
|
+
return resolveGatewaySystemdServiceName(env.ANIMA_PROFILE);
|
|
256
|
+
}
|
|
257
|
+
function resolveSystemdUnitPath(env) {
|
|
258
|
+
return resolveSystemdUnitPathForName(env, resolveSystemdServiceName(env));
|
|
259
|
+
}
|
|
260
|
+
function resolveSystemdUserUnitPath(env) {
|
|
261
|
+
return resolveSystemdUnitPath(env);
|
|
262
|
+
}
|
|
263
|
+
async function readSystemdServiceExecStart(env) {
|
|
264
|
+
const unitPath = resolveSystemdUnitPath(env);
|
|
265
|
+
try {
|
|
266
|
+
const content = await fs.readFile(unitPath, "utf8");
|
|
267
|
+
let execStart = "";
|
|
268
|
+
let workingDirectory = "";
|
|
269
|
+
const environment = {};
|
|
270
|
+
for (const rawLine of content.split("\n")) {
|
|
271
|
+
const line = rawLine.trim();
|
|
272
|
+
if (!line || line.startsWith("#")) continue;
|
|
273
|
+
if (line.startsWith("ExecStart=")) execStart = line.slice(10).trim();
|
|
274
|
+
else if (line.startsWith("WorkingDirectory=")) workingDirectory = line.slice(17).trim();
|
|
275
|
+
else if (line.startsWith("Environment=")) {
|
|
276
|
+
const parsed = parseSystemdEnvAssignment(line.slice(12).trim());
|
|
277
|
+
if (parsed) environment[parsed.key] = parsed.value;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (!execStart) return null;
|
|
281
|
+
return {
|
|
282
|
+
programArguments: parseSystemdExecStart(execStart),
|
|
283
|
+
...workingDirectory ? { workingDirectory } : {},
|
|
284
|
+
...Object.keys(environment).length > 0 ? { environment } : {},
|
|
285
|
+
sourcePath: unitPath
|
|
286
|
+
};
|
|
287
|
+
} catch {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function parseSystemdShow(output) {
|
|
292
|
+
const entries = parseKeyValueOutput(output, "=");
|
|
293
|
+
const info = {};
|
|
294
|
+
const activeState = entries.activestate;
|
|
295
|
+
if (activeState) info.activeState = activeState;
|
|
296
|
+
const subState = entries.substate;
|
|
297
|
+
if (subState) info.subState = subState;
|
|
298
|
+
const mainPidValue = entries.mainpid;
|
|
299
|
+
if (mainPidValue) {
|
|
300
|
+
const pid = Number.parseInt(mainPidValue, 10);
|
|
301
|
+
if (Number.isFinite(pid) && pid > 0) info.mainPid = pid;
|
|
302
|
+
}
|
|
303
|
+
const execMainStatusValue = entries.execmainstatus;
|
|
304
|
+
if (execMainStatusValue) {
|
|
305
|
+
const status = Number.parseInt(execMainStatusValue, 10);
|
|
306
|
+
if (Number.isFinite(status)) info.execMainStatus = status;
|
|
307
|
+
}
|
|
308
|
+
const execMainCode = entries.execmaincode;
|
|
309
|
+
if (execMainCode) info.execMainCode = execMainCode;
|
|
310
|
+
return info;
|
|
311
|
+
}
|
|
312
|
+
async function execSystemctl(args) {
|
|
313
|
+
return await execFileUtf8("systemctl", args);
|
|
314
|
+
}
|
|
315
|
+
async function isSystemdUserServiceAvailable() {
|
|
316
|
+
const res = await execSystemctl(["--user", "status"]);
|
|
317
|
+
if (res.code === 0) return true;
|
|
318
|
+
const detail = `${res.stderr} ${res.stdout}`.toLowerCase();
|
|
319
|
+
if (!detail) return false;
|
|
320
|
+
if (detail.includes("not found")) return false;
|
|
321
|
+
if (detail.includes("failed to connect")) return false;
|
|
322
|
+
if (detail.includes("not been booted")) return false;
|
|
323
|
+
if (detail.includes("no such file or directory")) return false;
|
|
324
|
+
if (detail.includes("not supported")) return false;
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
async function assertSystemdAvailable() {
|
|
328
|
+
const res = await execSystemctl(["--user", "status"]);
|
|
329
|
+
if (res.code === 0) return;
|
|
330
|
+
const detail = res.stderr || res.stdout;
|
|
331
|
+
if (detail.toLowerCase().includes("not found")) throw new Error("systemctl not available; systemd user services are required on Linux.");
|
|
332
|
+
throw new Error(`systemctl --user unavailable: ${detail || "unknown error"}`.trim());
|
|
333
|
+
}
|
|
334
|
+
async function installSystemdService({ env, stdout, programArguments, workingDirectory, environment, description }) {
|
|
335
|
+
await assertSystemdAvailable();
|
|
336
|
+
const unitPath = resolveSystemdUnitPath(env);
|
|
337
|
+
await fs.mkdir(path.dirname(unitPath), { recursive: true });
|
|
338
|
+
const unit = buildSystemdUnit({
|
|
339
|
+
description: description ?? formatGatewayServiceDescription({
|
|
340
|
+
profile: env.ANIMA_PROFILE,
|
|
341
|
+
version: environment?.ANIMA_SERVICE_VERSION ?? env.ANIMA_SERVICE_VERSION
|
|
342
|
+
}),
|
|
343
|
+
programArguments,
|
|
344
|
+
workingDirectory,
|
|
345
|
+
environment
|
|
346
|
+
});
|
|
347
|
+
await fs.writeFile(unitPath, unit, "utf8");
|
|
348
|
+
const unitName = `${resolveGatewaySystemdServiceName(env.ANIMA_PROFILE)}.service`;
|
|
349
|
+
const reload = await execSystemctl(["--user", "daemon-reload"]);
|
|
350
|
+
if (reload.code !== 0) throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
|
|
351
|
+
const enable = await execSystemctl([
|
|
352
|
+
"--user",
|
|
353
|
+
"enable",
|
|
354
|
+
unitName
|
|
355
|
+
]);
|
|
356
|
+
if (enable.code !== 0) throw new Error(`systemctl enable failed: ${enable.stderr || enable.stdout}`.trim());
|
|
357
|
+
const restart = await execSystemctl([
|
|
358
|
+
"--user",
|
|
359
|
+
"restart",
|
|
360
|
+
unitName
|
|
361
|
+
]);
|
|
362
|
+
if (restart.code !== 0) throw new Error(`systemctl restart failed: ${restart.stderr || restart.stdout}`.trim());
|
|
363
|
+
stdout.write("\n");
|
|
364
|
+
stdout.write(`${formatLine("Installed systemd service", unitPath)}\n`);
|
|
365
|
+
return { unitPath };
|
|
366
|
+
}
|
|
367
|
+
async function uninstallSystemdService({ env, stdout }) {
|
|
368
|
+
await assertSystemdAvailable();
|
|
369
|
+
await execSystemctl([
|
|
370
|
+
"--user",
|
|
371
|
+
"disable",
|
|
372
|
+
"--now",
|
|
373
|
+
`${resolveGatewaySystemdServiceName(env.ANIMA_PROFILE)}.service`
|
|
374
|
+
]);
|
|
375
|
+
const unitPath = resolveSystemdUnitPath(env);
|
|
376
|
+
try {
|
|
377
|
+
await fs.unlink(unitPath);
|
|
378
|
+
stdout.write(`${formatLine("Removed systemd service", unitPath)}\n`);
|
|
379
|
+
} catch {
|
|
380
|
+
stdout.write(`Systemd service not found at ${unitPath}\n`);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
async function stopSystemdService({ stdout, env }) {
|
|
384
|
+
await assertSystemdAvailable();
|
|
385
|
+
const unitName = `${resolveSystemdServiceName(env ?? {})}.service`;
|
|
386
|
+
const res = await execSystemctl([
|
|
387
|
+
"--user",
|
|
388
|
+
"stop",
|
|
389
|
+
unitName
|
|
390
|
+
]);
|
|
391
|
+
if (res.code !== 0) throw new Error(`systemctl stop failed: ${res.stderr || res.stdout}`.trim());
|
|
392
|
+
stdout.write(`${formatLine("Stopped systemd service", unitName)}\n`);
|
|
393
|
+
}
|
|
394
|
+
async function restartSystemdService({ stdout, env }) {
|
|
395
|
+
await assertSystemdAvailable();
|
|
396
|
+
const unitName = `${resolveSystemdServiceName(env ?? {})}.service`;
|
|
397
|
+
const res = await execSystemctl([
|
|
398
|
+
"--user",
|
|
399
|
+
"restart",
|
|
400
|
+
unitName
|
|
401
|
+
]);
|
|
402
|
+
if (res.code !== 0) throw new Error(`systemctl restart failed: ${res.stderr || res.stdout}`.trim());
|
|
403
|
+
stdout.write(`${formatLine("Restarted systemd service", unitName)}\n`);
|
|
404
|
+
}
|
|
405
|
+
async function isSystemdServiceEnabled(args) {
|
|
406
|
+
await assertSystemdAvailable();
|
|
407
|
+
return (await execSystemctl([
|
|
408
|
+
"--user",
|
|
409
|
+
"is-enabled",
|
|
410
|
+
`${resolveSystemdServiceName(args.env ?? {})}.service`
|
|
411
|
+
])).code === 0;
|
|
412
|
+
}
|
|
413
|
+
async function readSystemdServiceRuntime(env = process.env) {
|
|
414
|
+
try {
|
|
415
|
+
await assertSystemdAvailable();
|
|
416
|
+
} catch (err) {
|
|
417
|
+
return {
|
|
418
|
+
status: "unknown",
|
|
419
|
+
detail: String(err)
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
const res = await execSystemctl([
|
|
423
|
+
"--user",
|
|
424
|
+
"show",
|
|
425
|
+
`${resolveSystemdServiceName(env)}.service`,
|
|
426
|
+
"--no-page",
|
|
427
|
+
"--property",
|
|
428
|
+
"ActiveState,SubState,MainPID,ExecMainStatus,ExecMainCode"
|
|
429
|
+
]);
|
|
430
|
+
if (res.code !== 0) {
|
|
431
|
+
const detail = (res.stderr || res.stdout).trim();
|
|
432
|
+
const missing = detail.toLowerCase().includes("not found");
|
|
433
|
+
return {
|
|
434
|
+
status: missing ? "stopped" : "unknown",
|
|
435
|
+
detail: detail || void 0,
|
|
436
|
+
missingUnit: missing
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
const parsed = parseSystemdShow(res.stdout || "");
|
|
440
|
+
const activeState = parsed.activeState?.toLowerCase();
|
|
441
|
+
return {
|
|
442
|
+
status: activeState === "active" ? "running" : activeState ? "stopped" : "unknown",
|
|
443
|
+
state: parsed.activeState,
|
|
444
|
+
subState: parsed.subState,
|
|
445
|
+
pid: parsed.mainPid,
|
|
446
|
+
lastExitStatus: parsed.execMainStatus,
|
|
447
|
+
lastExitReason: parsed.execMainCode
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
//#endregion
|
|
452
|
+
export { execFileUtf8 as _, readSystemdServiceRuntime as a, stopSystemdService as c, readSystemdUserLingerStatus as d, parseKeyValueOutput as f, toPosixPath as g, formatLine as h, readSystemdServiceExecStart as i, uninstallSystemdService as l, resolveHomeDir as m, isSystemdServiceEnabled as n, resolveSystemdUserUnitPath as o, resolveGatewayStateDir as p, isSystemdUserServiceAvailable as r, restartSystemdService as s, installSystemdService as t, enableSystemdUserLinger as u };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { t as formatCliCommand } from "./command-format-CVL4K5cj.js";
|
|
2
|
+
|
|
3
|
+
//#region src/daemon/runtime-format.ts
|
|
4
|
+
function formatRuntimeStatus(runtime) {
|
|
5
|
+
if (!runtime) return null;
|
|
6
|
+
const status = runtime.status ?? "unknown";
|
|
7
|
+
const details = [];
|
|
8
|
+
if (runtime.pid) details.push(`pid ${runtime.pid}`);
|
|
9
|
+
if (runtime.state && runtime.state.toLowerCase() !== status) details.push(`state ${runtime.state}`);
|
|
10
|
+
if (runtime.subState) details.push(`sub ${runtime.subState}`);
|
|
11
|
+
if (runtime.lastExitStatus !== void 0) details.push(`last exit ${runtime.lastExitStatus}`);
|
|
12
|
+
if (runtime.lastExitReason) details.push(`reason ${runtime.lastExitReason}`);
|
|
13
|
+
if (runtime.lastRunResult) details.push(`last run ${runtime.lastRunResult}`);
|
|
14
|
+
if (runtime.lastRunTime) details.push(`last run time ${runtime.lastRunTime}`);
|
|
15
|
+
if (runtime.detail) details.push(runtime.detail);
|
|
16
|
+
return details.length > 0 ? `${status} (${details.join(", ")})` : status;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/daemon/systemd-hints.ts
|
|
21
|
+
function isSystemdUnavailableDetail(detail) {
|
|
22
|
+
if (!detail) return false;
|
|
23
|
+
const normalized = detail.toLowerCase();
|
|
24
|
+
return normalized.includes("systemctl --user unavailable") || normalized.includes("systemctl not available") || normalized.includes("not been booted with systemd") || normalized.includes("failed to connect to bus") || normalized.includes("systemd user services are required");
|
|
25
|
+
}
|
|
26
|
+
function renderSystemdUnavailableHints(options = {}) {
|
|
27
|
+
if (options.wsl) return [
|
|
28
|
+
"WSL2 needs systemd enabled: edit /etc/wsl.conf with [boot]\\nsystemd=true",
|
|
29
|
+
"Then run: wsl --shutdown (from PowerShell) and reopen your distro.",
|
|
30
|
+
"Verify: systemctl --user status"
|
|
31
|
+
];
|
|
32
|
+
return ["systemd user services are unavailable; install/enable systemd or run the gateway under your supervisor.", `If you're in a container, run the gateway in the foreground instead of \`${formatCliCommand("anima gateway")}\`.`];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { renderSystemdUnavailableHints as n, formatRuntimeStatus as r, isSystemdUnavailableDetail as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { t as formatCliCommand } from "./command-format-G6N2zghg.js";
|
|
2
|
+
|
|
3
|
+
//#region src/daemon/runtime-format.ts
|
|
4
|
+
function formatRuntimeStatus(runtime) {
|
|
5
|
+
if (!runtime) return null;
|
|
6
|
+
const status = runtime.status ?? "unknown";
|
|
7
|
+
const details = [];
|
|
8
|
+
if (runtime.pid) details.push(`pid ${runtime.pid}`);
|
|
9
|
+
if (runtime.state && runtime.state.toLowerCase() !== status) details.push(`state ${runtime.state}`);
|
|
10
|
+
if (runtime.subState) details.push(`sub ${runtime.subState}`);
|
|
11
|
+
if (runtime.lastExitStatus !== void 0) details.push(`last exit ${runtime.lastExitStatus}`);
|
|
12
|
+
if (runtime.lastExitReason) details.push(`reason ${runtime.lastExitReason}`);
|
|
13
|
+
if (runtime.lastRunResult) details.push(`last run ${runtime.lastRunResult}`);
|
|
14
|
+
if (runtime.lastRunTime) details.push(`last run time ${runtime.lastRunTime}`);
|
|
15
|
+
if (runtime.detail) details.push(runtime.detail);
|
|
16
|
+
return details.length > 0 ? `${status} (${details.join(", ")})` : status;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/daemon/systemd-hints.ts
|
|
21
|
+
function isSystemdUnavailableDetail(detail) {
|
|
22
|
+
if (!detail) return false;
|
|
23
|
+
const normalized = detail.toLowerCase();
|
|
24
|
+
return normalized.includes("systemctl --user unavailable") || normalized.includes("systemctl not available") || normalized.includes("not been booted with systemd") || normalized.includes("failed to connect to bus") || normalized.includes("systemd user services are required");
|
|
25
|
+
}
|
|
26
|
+
function renderSystemdUnavailableHints(options = {}) {
|
|
27
|
+
if (options.wsl) return [
|
|
28
|
+
"WSL2 needs systemd enabled: edit /etc/wsl.conf with [boot]\\nsystemd=true",
|
|
29
|
+
"Then run: wsl --shutdown (from PowerShell) and reopen your distro.",
|
|
30
|
+
"Verify: systemctl --user status"
|
|
31
|
+
];
|
|
32
|
+
return ["systemd user services are unavailable; install/enable systemd or run the gateway under your supervisor.", `If you're in a container, run the gateway in the foreground instead of \`${formatCliCommand("anima gateway")}\`.`];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { renderSystemdUnavailableHints as n, formatRuntimeStatus as r, isSystemdUnavailableDetail as t };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
+
import { t as note } from "./note-CSlg2BnB.js";
|
|
3
|
+
import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-B43AvOGx.js";
|
|
4
|
+
|
|
5
|
+
//#region src/commands/systemd-linger.ts
|
|
6
|
+
var systemd_linger_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
ensureSystemdUserLingerInteractive: () => ensureSystemdUserLingerInteractive,
|
|
8
|
+
ensureSystemdUserLingerNonInteractive: () => ensureSystemdUserLingerNonInteractive
|
|
9
|
+
});
|
|
10
|
+
async function ensureSystemdUserLingerInteractive(params) {
|
|
11
|
+
if (process.platform !== "linux") return;
|
|
12
|
+
if (params.prompt === false) return;
|
|
13
|
+
const env = params.env ?? process.env;
|
|
14
|
+
const prompter = params.prompter ?? { note };
|
|
15
|
+
const title = params.title ?? "Systemd";
|
|
16
|
+
if (!await isSystemdUserServiceAvailable()) {
|
|
17
|
+
await prompter.note("Systemd user services are unavailable. Skipping lingering checks.", title);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const status = await readSystemdUserLingerStatus(env);
|
|
21
|
+
if (!status) {
|
|
22
|
+
await prompter.note("Unable to read loginctl linger status. Ensure systemd + loginctl are available.", title);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (status.linger === "yes") return;
|
|
26
|
+
const reason = params.reason ?? "Systemd user services stop when you log out or go idle, which kills the Gateway.";
|
|
27
|
+
const actionNote = params.requireConfirm ? "We can enable lingering now (may require sudo; writes /var/lib/systemd/linger)." : "Enabling lingering now (may require sudo; writes /var/lib/systemd/linger).";
|
|
28
|
+
await prompter.note(`${reason}\n${actionNote}`, title);
|
|
29
|
+
if (params.requireConfirm && prompter.confirm) {
|
|
30
|
+
if (!await prompter.confirm({
|
|
31
|
+
message: `Enable systemd lingering for ${status.user}?`,
|
|
32
|
+
initialValue: true
|
|
33
|
+
})) {
|
|
34
|
+
await prompter.note("Without lingering, the Gateway will stop when you log out.", title);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if ((await enableSystemdUserLinger({
|
|
39
|
+
env,
|
|
40
|
+
user: status.user
|
|
41
|
+
})).ok) {
|
|
42
|
+
await prompter.note(`Enabled systemd lingering for ${status.user}.`, title);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const result = await enableSystemdUserLinger({
|
|
46
|
+
env,
|
|
47
|
+
user: status.user,
|
|
48
|
+
sudoMode: "prompt"
|
|
49
|
+
});
|
|
50
|
+
if (result.ok) {
|
|
51
|
+
await prompter.note(`Enabled systemd lingering for ${status.user}.`, title);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
params.runtime.error(`Failed to enable lingering: ${result.stderr || result.stdout || "unknown error"}`);
|
|
55
|
+
await prompter.note(`Run manually: sudo loginctl enable-linger ${status.user}`, title);
|
|
56
|
+
}
|
|
57
|
+
async function ensureSystemdUserLingerNonInteractive(params) {
|
|
58
|
+
if (process.platform !== "linux") return;
|
|
59
|
+
const env = params.env ?? process.env;
|
|
60
|
+
if (!await isSystemdUserServiceAvailable()) return;
|
|
61
|
+
const status = await readSystemdUserLingerStatus(env);
|
|
62
|
+
if (!status || status.linger === "yes") return;
|
|
63
|
+
if ((await enableSystemdUserLinger({
|
|
64
|
+
env,
|
|
65
|
+
user: status.user,
|
|
66
|
+
sudoMode: "non-interactive"
|
|
67
|
+
})).ok) {
|
|
68
|
+
params.runtime.log(`Enabled systemd lingering for ${status.user}.`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
params.runtime.log(`Systemd lingering is disabled for ${status.user}. Run: sudo loginctl enable-linger ${status.user}`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { ensureSystemdUserLingerNonInteractive as n, systemd_linger_exports as r, ensureSystemdUserLingerInteractive as t };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
+
import { t as note } from "./note-Ctvglhp1.js";
|
|
3
|
+
import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-RpPE0XGg.js";
|
|
4
|
+
|
|
5
|
+
//#region src/commands/systemd-linger.ts
|
|
6
|
+
var systemd_linger_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
ensureSystemdUserLingerInteractive: () => ensureSystemdUserLingerInteractive,
|
|
8
|
+
ensureSystemdUserLingerNonInteractive: () => ensureSystemdUserLingerNonInteractive
|
|
9
|
+
});
|
|
10
|
+
async function ensureSystemdUserLingerInteractive(params) {
|
|
11
|
+
if (process.platform !== "linux") return;
|
|
12
|
+
if (params.prompt === false) return;
|
|
13
|
+
const env = params.env ?? process.env;
|
|
14
|
+
const prompter = params.prompter ?? { note };
|
|
15
|
+
const title = params.title ?? "Systemd";
|
|
16
|
+
if (!await isSystemdUserServiceAvailable()) {
|
|
17
|
+
await prompter.note("Systemd user services are unavailable. Skipping lingering checks.", title);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const status = await readSystemdUserLingerStatus(env);
|
|
21
|
+
if (!status) {
|
|
22
|
+
await prompter.note("Unable to read loginctl linger status. Ensure systemd + loginctl are available.", title);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (status.linger === "yes") return;
|
|
26
|
+
const reason = params.reason ?? "Systemd user services stop when you log out or go idle, which kills the Gateway.";
|
|
27
|
+
const actionNote = params.requireConfirm ? "We can enable lingering now (may require sudo; writes /var/lib/systemd/linger)." : "Enabling lingering now (may require sudo; writes /var/lib/systemd/linger).";
|
|
28
|
+
await prompter.note(`${reason}\n${actionNote}`, title);
|
|
29
|
+
if (params.requireConfirm && prompter.confirm) {
|
|
30
|
+
if (!await prompter.confirm({
|
|
31
|
+
message: `Enable systemd lingering for ${status.user}?`,
|
|
32
|
+
initialValue: true
|
|
33
|
+
})) {
|
|
34
|
+
await prompter.note("Without lingering, the Gateway will stop when you log out.", title);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if ((await enableSystemdUserLinger({
|
|
39
|
+
env,
|
|
40
|
+
user: status.user
|
|
41
|
+
})).ok) {
|
|
42
|
+
await prompter.note(`Enabled systemd lingering for ${status.user}.`, title);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const result = await enableSystemdUserLinger({
|
|
46
|
+
env,
|
|
47
|
+
user: status.user,
|
|
48
|
+
sudoMode: "prompt"
|
|
49
|
+
});
|
|
50
|
+
if (result.ok) {
|
|
51
|
+
await prompter.note(`Enabled systemd lingering for ${status.user}.`, title);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
params.runtime.error(`Failed to enable lingering: ${result.stderr || result.stdout || "unknown error"}`);
|
|
55
|
+
await prompter.note(`Run manually: sudo loginctl enable-linger ${status.user}`, title);
|
|
56
|
+
}
|
|
57
|
+
async function ensureSystemdUserLingerNonInteractive(params) {
|
|
58
|
+
if (process.platform !== "linux") return;
|
|
59
|
+
const env = params.env ?? process.env;
|
|
60
|
+
if (!await isSystemdUserServiceAvailable()) return;
|
|
61
|
+
const status = await readSystemdUserLingerStatus(env);
|
|
62
|
+
if (!status || status.linger === "yes") return;
|
|
63
|
+
if ((await enableSystemdUserLinger({
|
|
64
|
+
env,
|
|
65
|
+
user: status.user,
|
|
66
|
+
sudoMode: "non-interactive"
|
|
67
|
+
})).ok) {
|
|
68
|
+
params.runtime.log(`Enabled systemd lingering for ${status.user}.`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
params.runtime.log(`Systemd lingering is disabled for ${status.user}. Run: sudo loginctl enable-linger ${status.user}`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { ensureSystemdUserLingerNonInteractive as n, systemd_linger_exports as r, ensureSystemdUserLingerInteractive as t };
|