@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
|
@@ -1,960 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-C6VCWKo3.js";
|
|
3
|
-
import { u as defaultRuntime } from "./subsystem-Dowf8fSU.js";
|
|
4
|
-
import { C as shortenHomePath, b as resolveUserPath } from "./utils-Bsw__U-F.js";
|
|
5
|
-
import { mt as ensureAuthProfileStore } from "./model-selection-YcSr9CgC.js";
|
|
6
|
-
import { t as formatCliCommand } from "./command-format-DELazozB.js";
|
|
7
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-SY8M0kM_.js";
|
|
8
|
-
import { f as findTailscaleBinary } from "./auth-91o2YM96.js";
|
|
9
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CmSUIUNi.js";
|
|
10
|
-
import { n as withProgress } from "./progress-Bek_GyWS.js";
|
|
11
|
-
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-lu0clOOE.js";
|
|
12
|
-
import { t as note$1 } from "./note-Bi8Wb8DV.js";
|
|
13
|
-
import { t as WizardCancelledError } from "./prompts-BI__va99.js";
|
|
14
|
-
import { t as createClackPrompter } from "./clack-prompter-B1YxZdRy.js";
|
|
15
|
-
import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-Cg_EkBa4.js";
|
|
16
|
-
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BXZhtBL9.js";
|
|
17
|
-
import { _ as summarizeExistingConfig, a as ensureWorkspaceAndSessions, f as printWizardHeader, h as resolveControlUiLinks, m as randomToken, n as applyWizardMetadata, p as probeGatewayReachable, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as validateGatewayPasswordInput, y as waitForGatewayReachable } from "./onboard-helpers-_XgJgeqh.js";
|
|
18
|
-
import { t as resolveGatewayService } from "./service-D56aMXUB.js";
|
|
19
|
-
import { c as promptCustomApiConfig, d as applyModelFallbacksFromSelection, f as applyPrimaryModel, i as promptRemoteGatewayConfig, m as promptModelAllowlist, n as setupSkills, p as promptDefaultModel, t as validateIPv4AddressInput, u as applyModelAllowlist } from "./ipv4-wWNs8IH_.js";
|
|
20
|
-
import { r as healthCommand } from "./health-Cn2OoVWZ.js";
|
|
21
|
-
import { n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-JEChH08S.js";
|
|
22
|
-
import { r as applyAuthChoice, t as resolvePreferredProviderForAuthChoice, u as promptAuthChoiceGrouped } from "./auth-choice-CAmACV13.js";
|
|
23
|
-
import { n as logConfigUpdated } from "./logging-mcb66J0p.js";
|
|
24
|
-
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CTmV2Gci.js";
|
|
25
|
-
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
26
|
-
|
|
27
|
-
//#region src/commands/configure.shared.ts
|
|
28
|
-
const CONFIGURE_WIZARD_SECTIONS = [
|
|
29
|
-
"workspace",
|
|
30
|
-
"model",
|
|
31
|
-
"web",
|
|
32
|
-
"gateway",
|
|
33
|
-
"daemon",
|
|
34
|
-
"channels",
|
|
35
|
-
"skills",
|
|
36
|
-
"health"
|
|
37
|
-
];
|
|
38
|
-
function parseConfigureWizardSections(raw) {
|
|
39
|
-
const sectionsRaw = Array.isArray(raw) ? raw.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
|
|
40
|
-
if (sectionsRaw.length === 0) return {
|
|
41
|
-
sections: [],
|
|
42
|
-
invalid: []
|
|
43
|
-
};
|
|
44
|
-
const invalid = sectionsRaw.filter((s) => !CONFIGURE_WIZARD_SECTIONS.includes(s));
|
|
45
|
-
return {
|
|
46
|
-
sections: sectionsRaw.filter((s) => CONFIGURE_WIZARD_SECTIONS.includes(s)),
|
|
47
|
-
invalid
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const CONFIGURE_SECTION_OPTIONS = [
|
|
51
|
-
{
|
|
52
|
-
value: "workspace",
|
|
53
|
-
label: "Workspace",
|
|
54
|
-
hint: "Set workspace + sessions"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
value: "model",
|
|
58
|
-
label: "Model",
|
|
59
|
-
hint: "Pick provider + credentials"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
value: "web",
|
|
63
|
-
label: "Web tools",
|
|
64
|
-
hint: "Configure Brave search + fetch"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
value: "gateway",
|
|
68
|
-
label: "Gateway",
|
|
69
|
-
hint: "Port, bind, auth, tailscale"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
value: "daemon",
|
|
73
|
-
label: "Daemon",
|
|
74
|
-
hint: "Install/manage the background service"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
value: "channels",
|
|
78
|
-
label: "Channels",
|
|
79
|
-
hint: "Link WhatsApp/Telegram/etc and defaults"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
value: "skills",
|
|
83
|
-
label: "Skills",
|
|
84
|
-
hint: "Install/enable workspace skills"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
value: "health",
|
|
88
|
-
label: "Health check",
|
|
89
|
-
hint: "Run gateway + channel checks"
|
|
90
|
-
}
|
|
91
|
-
];
|
|
92
|
-
const intro$1 = (message) => intro(stylePromptTitle(message) ?? message);
|
|
93
|
-
const outro$1 = (message) => outro(stylePromptTitle(message) ?? message);
|
|
94
|
-
const text$1 = (params) => text({
|
|
95
|
-
...params,
|
|
96
|
-
message: stylePromptMessage(params.message)
|
|
97
|
-
});
|
|
98
|
-
const confirm$1 = (params) => confirm({
|
|
99
|
-
...params,
|
|
100
|
-
message: stylePromptMessage(params.message)
|
|
101
|
-
});
|
|
102
|
-
const select$1 = (params) => select({
|
|
103
|
-
...params,
|
|
104
|
-
message: stylePromptMessage(params.message),
|
|
105
|
-
options: params.options.map((opt) => opt.hint === void 0 ? opt : {
|
|
106
|
-
...opt,
|
|
107
|
-
hint: stylePromptHint(opt.hint)
|
|
108
|
-
})
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
//#endregion
|
|
112
|
-
//#region src/commands/configure.channels.ts
|
|
113
|
-
async function removeChannelConfigWizard(cfg, runtime) {
|
|
114
|
-
let next = { ...cfg };
|
|
115
|
-
const listConfiguredChannels = () => listChannelPlugins().map((plugin) => plugin.meta).filter((meta) => next.channels?.[meta.id] !== void 0);
|
|
116
|
-
while (true) {
|
|
117
|
-
const configured = listConfiguredChannels();
|
|
118
|
-
if (configured.length === 0) {
|
|
119
|
-
note$1(["No channel config found in anima.json.", `Tip: \`${formatCliCommand("anima channels status")}\` shows what is configured and enabled.`].join("\n"), "Remove channel");
|
|
120
|
-
return next;
|
|
121
|
-
}
|
|
122
|
-
const channel = guardCancel(await select$1({
|
|
123
|
-
message: "Remove which channel config?",
|
|
124
|
-
options: [...configured.map((meta) => ({
|
|
125
|
-
value: meta.id,
|
|
126
|
-
label: meta.label,
|
|
127
|
-
hint: "Deletes tokens + settings from config (credentials stay on disk)"
|
|
128
|
-
})), {
|
|
129
|
-
value: "done",
|
|
130
|
-
label: "Done"
|
|
131
|
-
}]
|
|
132
|
-
}), runtime);
|
|
133
|
-
if (channel === "done") return next;
|
|
134
|
-
const label = getChannelPlugin(channel)?.meta.label ?? channel;
|
|
135
|
-
if (!guardCancel(await confirm$1({
|
|
136
|
-
message: `Delete ${label} configuration from ${shortenHomePath(CONFIG_PATH)}?`,
|
|
137
|
-
initialValue: false
|
|
138
|
-
}), runtime)) continue;
|
|
139
|
-
const nextChannels = { ...next.channels };
|
|
140
|
-
delete nextChannels[channel];
|
|
141
|
-
next = {
|
|
142
|
-
...next,
|
|
143
|
-
channels: Object.keys(nextChannels).length ? nextChannels : void 0
|
|
144
|
-
};
|
|
145
|
-
note$1([`${label} removed from config.`, "Note: credentials/sessions on disk are unchanged."].join("\n"), "Channel removed");
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
//#endregion
|
|
150
|
-
//#region src/commands/configure.daemon.ts
|
|
151
|
-
async function maybeInstallDaemon(params) {
|
|
152
|
-
const service = resolveGatewayService();
|
|
153
|
-
const loaded = await service.isLoaded({ env: process.env });
|
|
154
|
-
let shouldCheckLinger = false;
|
|
155
|
-
let shouldInstall = true;
|
|
156
|
-
let daemonRuntime = params.daemonRuntime ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
|
|
157
|
-
if (loaded) {
|
|
158
|
-
const action = guardCancel(await select$1({
|
|
159
|
-
message: "Gateway service already installed",
|
|
160
|
-
options: [
|
|
161
|
-
{
|
|
162
|
-
value: "restart",
|
|
163
|
-
label: "Restart"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
value: "reinstall",
|
|
167
|
-
label: "Reinstall"
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
value: "skip",
|
|
171
|
-
label: "Skip"
|
|
172
|
-
}
|
|
173
|
-
]
|
|
174
|
-
}), params.runtime);
|
|
175
|
-
if (action === "restart") {
|
|
176
|
-
await withProgress({
|
|
177
|
-
label: "Gateway service",
|
|
178
|
-
indeterminate: true,
|
|
179
|
-
delayMs: 0
|
|
180
|
-
}, async (progress) => {
|
|
181
|
-
progress.setLabel("Restarting Gateway service…");
|
|
182
|
-
await service.restart({
|
|
183
|
-
env: process.env,
|
|
184
|
-
stdout: process.stdout
|
|
185
|
-
});
|
|
186
|
-
progress.setLabel("Gateway service restarted.");
|
|
187
|
-
});
|
|
188
|
-
shouldCheckLinger = true;
|
|
189
|
-
shouldInstall = false;
|
|
190
|
-
}
|
|
191
|
-
if (action === "skip") return;
|
|
192
|
-
if (action === "reinstall") await withProgress({
|
|
193
|
-
label: "Gateway service",
|
|
194
|
-
indeterminate: true,
|
|
195
|
-
delayMs: 0
|
|
196
|
-
}, async (progress) => {
|
|
197
|
-
progress.setLabel("Uninstalling Gateway service…");
|
|
198
|
-
await service.uninstall({
|
|
199
|
-
env: process.env,
|
|
200
|
-
stdout: process.stdout
|
|
201
|
-
});
|
|
202
|
-
progress.setLabel("Gateway service uninstalled.");
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
if (shouldInstall) {
|
|
206
|
-
let installError = null;
|
|
207
|
-
if (!params.daemonRuntime) if (GATEWAY_DAEMON_RUNTIME_OPTIONS.length === 1) daemonRuntime = GATEWAY_DAEMON_RUNTIME_OPTIONS[0]?.value ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
|
|
208
|
-
else daemonRuntime = guardCancel(await select$1({
|
|
209
|
-
message: "Gateway service runtime",
|
|
210
|
-
options: GATEWAY_DAEMON_RUNTIME_OPTIONS,
|
|
211
|
-
initialValue: DEFAULT_GATEWAY_DAEMON_RUNTIME
|
|
212
|
-
}), params.runtime);
|
|
213
|
-
await withProgress({
|
|
214
|
-
label: "Gateway service",
|
|
215
|
-
indeterminate: true,
|
|
216
|
-
delayMs: 0
|
|
217
|
-
}, async (progress) => {
|
|
218
|
-
progress.setLabel("Preparing Gateway service…");
|
|
219
|
-
const cfg = loadConfig();
|
|
220
|
-
const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
|
|
221
|
-
env: process.env,
|
|
222
|
-
port: params.port,
|
|
223
|
-
token: params.gatewayToken,
|
|
224
|
-
runtime: daemonRuntime,
|
|
225
|
-
warn: (message, title) => note$1(message, title),
|
|
226
|
-
config: cfg
|
|
227
|
-
});
|
|
228
|
-
progress.setLabel("Installing Gateway service…");
|
|
229
|
-
try {
|
|
230
|
-
await service.install({
|
|
231
|
-
env: process.env,
|
|
232
|
-
stdout: process.stdout,
|
|
233
|
-
programArguments,
|
|
234
|
-
workingDirectory,
|
|
235
|
-
environment
|
|
236
|
-
});
|
|
237
|
-
progress.setLabel("Gateway service installed.");
|
|
238
|
-
} catch (err) {
|
|
239
|
-
installError = err instanceof Error ? err.message : String(err);
|
|
240
|
-
progress.setLabel("Gateway service install failed.");
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
if (installError) {
|
|
244
|
-
note$1("Gateway service install failed: " + installError, "Gateway");
|
|
245
|
-
note$1(gatewayInstallErrorHint(), "Gateway");
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
shouldCheckLinger = true;
|
|
249
|
-
}
|
|
250
|
-
if (shouldCheckLinger) await ensureSystemdUserLingerInteractive({
|
|
251
|
-
runtime: params.runtime,
|
|
252
|
-
prompter: {
|
|
253
|
-
confirm: async (p) => guardCancel(await confirm$1(p), params.runtime),
|
|
254
|
-
note: note$1
|
|
255
|
-
},
|
|
256
|
-
reason: "Linux installs use a systemd user service. Without lingering, systemd stops the user session on logout/idle and kills the Gateway.",
|
|
257
|
-
requireConfirm: true
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
//#endregion
|
|
262
|
-
//#region src/commands/configure.gateway-auth.ts
|
|
263
|
-
/** Reject undefined, empty, and common JS string-coercion artifacts for token auth. */
|
|
264
|
-
function sanitizeTokenValue(value) {
|
|
265
|
-
if (typeof value !== "string") return;
|
|
266
|
-
const trimmed = value.trim();
|
|
267
|
-
if (!trimmed || trimmed === "undefined" || trimmed === "null") return;
|
|
268
|
-
return trimmed;
|
|
269
|
-
}
|
|
270
|
-
const ANTHROPIC_OAUTH_MODEL_KEYS = [
|
|
271
|
-
"anthropic/claude-opus-4-6",
|
|
272
|
-
"anthropic/claude-opus-4-5",
|
|
273
|
-
"anthropic/claude-sonnet-4-5",
|
|
274
|
-
"anthropic/claude-haiku-4-5"
|
|
275
|
-
];
|
|
276
|
-
function buildGatewayAuthConfig(params) {
|
|
277
|
-
const allowTailscale = params.existing?.allowTailscale;
|
|
278
|
-
const base = {};
|
|
279
|
-
if (typeof allowTailscale === "boolean") base.allowTailscale = allowTailscale;
|
|
280
|
-
if (params.mode === "token") {
|
|
281
|
-
const token = sanitizeTokenValue(params.token) ?? randomToken();
|
|
282
|
-
return {
|
|
283
|
-
...base,
|
|
284
|
-
mode: "token",
|
|
285
|
-
token
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
if (params.mode === "password") {
|
|
289
|
-
const password = params.password?.trim();
|
|
290
|
-
return {
|
|
291
|
-
...base,
|
|
292
|
-
mode: "password",
|
|
293
|
-
...password && { password }
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
if (params.mode === "trusted-proxy") {
|
|
297
|
-
if (!params.trustedProxy) throw new Error("trustedProxy config is required when mode is trusted-proxy");
|
|
298
|
-
return {
|
|
299
|
-
...base,
|
|
300
|
-
mode: "trusted-proxy",
|
|
301
|
-
trustedProxy: params.trustedProxy
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
return base;
|
|
305
|
-
}
|
|
306
|
-
async function promptAuthConfig(cfg, runtime, prompter) {
|
|
307
|
-
const authChoice = await promptAuthChoiceGrouped({
|
|
308
|
-
prompter,
|
|
309
|
-
store: ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }),
|
|
310
|
-
includeSkip: true
|
|
311
|
-
});
|
|
312
|
-
let next = cfg;
|
|
313
|
-
if (authChoice === "custom-api-key") next = (await promptCustomApiConfig({
|
|
314
|
-
prompter,
|
|
315
|
-
runtime,
|
|
316
|
-
config: next
|
|
317
|
-
})).config;
|
|
318
|
-
else if (authChoice !== "skip") next = (await applyAuthChoice({
|
|
319
|
-
authChoice,
|
|
320
|
-
config: next,
|
|
321
|
-
prompter,
|
|
322
|
-
runtime,
|
|
323
|
-
setDefaultModel: true
|
|
324
|
-
})).config;
|
|
325
|
-
else {
|
|
326
|
-
const modelSelection = await promptDefaultModel({
|
|
327
|
-
config: next,
|
|
328
|
-
prompter,
|
|
329
|
-
allowKeep: true,
|
|
330
|
-
ignoreAllowlist: true,
|
|
331
|
-
preferredProvider: resolvePreferredProviderForAuthChoice(authChoice)
|
|
332
|
-
});
|
|
333
|
-
if (modelSelection.config) next = modelSelection.config;
|
|
334
|
-
if (modelSelection.model) next = applyPrimaryModel(next, modelSelection.model);
|
|
335
|
-
}
|
|
336
|
-
const anthropicOAuth = authChoice === "setup-token" || authChoice === "token" || authChoice === "oauth";
|
|
337
|
-
if (authChoice !== "custom-api-key") {
|
|
338
|
-
const allowlistSelection = await promptModelAllowlist({
|
|
339
|
-
config: next,
|
|
340
|
-
prompter,
|
|
341
|
-
allowedKeys: anthropicOAuth ? ANTHROPIC_OAUTH_MODEL_KEYS : void 0,
|
|
342
|
-
initialSelections: anthropicOAuth ? ["anthropic/claude-opus-4-6"] : void 0,
|
|
343
|
-
message: anthropicOAuth ? "Anthropic OAuth models" : void 0
|
|
344
|
-
});
|
|
345
|
-
if (allowlistSelection.models) {
|
|
346
|
-
next = applyModelAllowlist(next, allowlistSelection.models);
|
|
347
|
-
next = applyModelFallbacksFromSelection(next, allowlistSelection.models);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
return next;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
//#endregion
|
|
354
|
-
//#region src/commands/configure.gateway.ts
|
|
355
|
-
async function promptGatewayConfig(cfg, runtime) {
|
|
356
|
-
const portRaw = guardCancel(await text$1({
|
|
357
|
-
message: "Gateway port",
|
|
358
|
-
initialValue: String(resolveGatewayPort(cfg)),
|
|
359
|
-
validate: (value) => Number.isFinite(Number(value)) ? void 0 : "Invalid port"
|
|
360
|
-
}), runtime);
|
|
361
|
-
const port = Number.parseInt(String(portRaw), 10);
|
|
362
|
-
let bind = guardCancel(await select$1({
|
|
363
|
-
message: "Gateway bind mode",
|
|
364
|
-
options: [
|
|
365
|
-
{
|
|
366
|
-
value: "loopback",
|
|
367
|
-
label: "Loopback (Local only)",
|
|
368
|
-
hint: "Bind to 127.0.0.1 - secure, local-only access"
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
value: "tailnet",
|
|
372
|
-
label: "Tailnet (Tailscale IP)",
|
|
373
|
-
hint: "Bind to your Tailscale IP only (100.x.x.x)"
|
|
374
|
-
},
|
|
375
|
-
{
|
|
376
|
-
value: "auto",
|
|
377
|
-
label: "Auto (Loopback → LAN)",
|
|
378
|
-
hint: "Prefer loopback; fall back to all interfaces if unavailable"
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
value: "lan",
|
|
382
|
-
label: "LAN (All interfaces)",
|
|
383
|
-
hint: "Bind to 0.0.0.0 - accessible from anywhere on your network"
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
value: "custom",
|
|
387
|
-
label: "Custom IP",
|
|
388
|
-
hint: "Specify a specific IP address, with 0.0.0.0 fallback if unavailable"
|
|
389
|
-
}
|
|
390
|
-
]
|
|
391
|
-
}), runtime);
|
|
392
|
-
let customBindHost;
|
|
393
|
-
if (bind === "custom") {
|
|
394
|
-
const input = guardCancel(await text$1({
|
|
395
|
-
message: "Custom IP address",
|
|
396
|
-
placeholder: "192.168.1.100",
|
|
397
|
-
validate: validateIPv4AddressInput
|
|
398
|
-
}), runtime);
|
|
399
|
-
customBindHost = typeof input === "string" ? input : void 0;
|
|
400
|
-
}
|
|
401
|
-
let authMode = guardCancel(await select$1({
|
|
402
|
-
message: "Gateway auth",
|
|
403
|
-
options: [
|
|
404
|
-
{
|
|
405
|
-
value: "token",
|
|
406
|
-
label: "Token",
|
|
407
|
-
hint: "Recommended default"
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
value: "password",
|
|
411
|
-
label: "Password"
|
|
412
|
-
},
|
|
413
|
-
{
|
|
414
|
-
value: "trusted-proxy",
|
|
415
|
-
label: "Trusted Proxy",
|
|
416
|
-
hint: "Behind reverse proxy (Pomerium, Caddy, Traefik, etc.)"
|
|
417
|
-
}
|
|
418
|
-
],
|
|
419
|
-
initialValue: "token"
|
|
420
|
-
}), runtime);
|
|
421
|
-
let tailscaleMode = guardCancel(await select$1({
|
|
422
|
-
message: "Tailscale exposure",
|
|
423
|
-
options: [
|
|
424
|
-
{
|
|
425
|
-
value: "off",
|
|
426
|
-
label: "Off",
|
|
427
|
-
hint: "No Tailscale exposure"
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
value: "serve",
|
|
431
|
-
label: "Serve",
|
|
432
|
-
hint: "Private HTTPS for your tailnet (devices on Tailscale)"
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
value: "funnel",
|
|
436
|
-
label: "Funnel",
|
|
437
|
-
hint: "Public HTTPS via Tailscale Funnel (internet)"
|
|
438
|
-
}
|
|
439
|
-
]
|
|
440
|
-
}), runtime);
|
|
441
|
-
if (tailscaleMode !== "off") {
|
|
442
|
-
if (!await findTailscaleBinary()) note$1([
|
|
443
|
-
"Tailscale binary not found in PATH or /Applications.",
|
|
444
|
-
"Ensure Tailscale is installed from:",
|
|
445
|
-
" https://tailscale.com/download/mac",
|
|
446
|
-
"",
|
|
447
|
-
"You can continue setup, but serve/funnel will fail at runtime."
|
|
448
|
-
].join("\n"), "Tailscale Warning");
|
|
449
|
-
}
|
|
450
|
-
let tailscaleResetOnExit = false;
|
|
451
|
-
if (tailscaleMode !== "off") {
|
|
452
|
-
note$1([
|
|
453
|
-
"Docs:",
|
|
454
|
-
"https://docs.anima.ai/gateway/tailscale",
|
|
455
|
-
"https://docs.anima.ai/web"
|
|
456
|
-
].join("\n"), "Tailscale");
|
|
457
|
-
tailscaleResetOnExit = Boolean(guardCancel(await confirm$1({
|
|
458
|
-
message: "Reset Tailscale serve/funnel on exit?",
|
|
459
|
-
initialValue: false
|
|
460
|
-
}), runtime));
|
|
461
|
-
}
|
|
462
|
-
if (tailscaleMode !== "off" && bind !== "loopback") {
|
|
463
|
-
note$1("Tailscale requires bind=loopback. Adjusting bind to loopback.", "Note");
|
|
464
|
-
bind = "loopback";
|
|
465
|
-
}
|
|
466
|
-
if (tailscaleMode === "funnel" && authMode !== "password") {
|
|
467
|
-
note$1("Tailscale funnel requires password auth.", "Note");
|
|
468
|
-
authMode = "password";
|
|
469
|
-
}
|
|
470
|
-
if (authMode === "trusted-proxy" && bind === "loopback") {
|
|
471
|
-
note$1("Trusted proxy auth requires network bind. Adjusting bind to lan.", "Note");
|
|
472
|
-
bind = "lan";
|
|
473
|
-
}
|
|
474
|
-
if (authMode === "trusted-proxy" && tailscaleMode !== "off") {
|
|
475
|
-
note$1("Trusted proxy auth is incompatible with Tailscale serve/funnel. Disabling Tailscale.", "Note");
|
|
476
|
-
tailscaleMode = "off";
|
|
477
|
-
tailscaleResetOnExit = false;
|
|
478
|
-
}
|
|
479
|
-
let gatewayToken;
|
|
480
|
-
let gatewayPassword;
|
|
481
|
-
let trustedProxyConfig;
|
|
482
|
-
let trustedProxies;
|
|
483
|
-
let next = cfg;
|
|
484
|
-
if (authMode === "token") gatewayToken = normalizeGatewayTokenInput(guardCancel(await text$1({
|
|
485
|
-
message: "Gateway token (blank to generate)",
|
|
486
|
-
initialValue: randomToken()
|
|
487
|
-
}), runtime)) || randomToken();
|
|
488
|
-
if (authMode === "password") {
|
|
489
|
-
const password = guardCancel(await text$1({
|
|
490
|
-
message: "Gateway password",
|
|
491
|
-
validate: validateGatewayPasswordInput
|
|
492
|
-
}), runtime);
|
|
493
|
-
gatewayPassword = String(password ?? "").trim();
|
|
494
|
-
}
|
|
495
|
-
if (authMode === "trusted-proxy") {
|
|
496
|
-
note$1([
|
|
497
|
-
"Trusted proxy mode: Anima trusts user identity from a reverse proxy.",
|
|
498
|
-
"The proxy must authenticate users and pass identity via headers.",
|
|
499
|
-
"Only requests from specified proxy IPs will be trusted.",
|
|
500
|
-
"",
|
|
501
|
-
"Common use cases: Pomerium, Caddy + OAuth, Traefik + forward auth",
|
|
502
|
-
"Docs: https://docs.anima.ai/gateway/trusted-proxy-auth"
|
|
503
|
-
].join("\n"), "Trusted Proxy Auth");
|
|
504
|
-
const userHeader = guardCancel(await text$1({
|
|
505
|
-
message: "Header containing user identity",
|
|
506
|
-
placeholder: "x-forwarded-user",
|
|
507
|
-
initialValue: "x-forwarded-user",
|
|
508
|
-
validate: (value) => value?.trim() ? void 0 : "User header is required"
|
|
509
|
-
}), runtime);
|
|
510
|
-
const requiredHeadersRaw = guardCancel(await text$1({
|
|
511
|
-
message: "Required headers (comma-separated, optional)",
|
|
512
|
-
placeholder: "x-forwarded-proto,x-forwarded-host"
|
|
513
|
-
}), runtime);
|
|
514
|
-
const requiredHeaders = requiredHeadersRaw ? String(requiredHeadersRaw).split(",").map((h) => h.trim()).filter(Boolean) : [];
|
|
515
|
-
const allowUsersRaw = guardCancel(await text$1({
|
|
516
|
-
message: "Allowed users (comma-separated, blank = all authenticated users)",
|
|
517
|
-
placeholder: "nick@example.com,admin@company.com"
|
|
518
|
-
}), runtime);
|
|
519
|
-
const allowUsers = allowUsersRaw ? String(allowUsersRaw).split(",").map((u) => u.trim()).filter(Boolean) : [];
|
|
520
|
-
const trustedProxiesRaw = guardCancel(await text$1({
|
|
521
|
-
message: "Trusted proxy IPs (comma-separated)",
|
|
522
|
-
placeholder: "10.0.1.10,192.168.1.5",
|
|
523
|
-
validate: (value) => {
|
|
524
|
-
if (!value || String(value).trim() === "") return "At least one trusted proxy IP is required";
|
|
525
|
-
}
|
|
526
|
-
}), runtime);
|
|
527
|
-
trustedProxies = String(trustedProxiesRaw).split(",").map((ip) => ip.trim()).filter(Boolean);
|
|
528
|
-
trustedProxyConfig = {
|
|
529
|
-
userHeader: String(userHeader).trim(),
|
|
530
|
-
requiredHeaders: requiredHeaders.length > 0 ? requiredHeaders : void 0,
|
|
531
|
-
allowUsers: allowUsers.length > 0 ? allowUsers : void 0
|
|
532
|
-
};
|
|
533
|
-
}
|
|
534
|
-
const authConfig = buildGatewayAuthConfig({
|
|
535
|
-
existing: next.gateway?.auth,
|
|
536
|
-
mode: authMode,
|
|
537
|
-
token: gatewayToken,
|
|
538
|
-
password: gatewayPassword,
|
|
539
|
-
trustedProxy: trustedProxyConfig
|
|
540
|
-
});
|
|
541
|
-
next = {
|
|
542
|
-
...next,
|
|
543
|
-
gateway: {
|
|
544
|
-
...next.gateway,
|
|
545
|
-
mode: "local",
|
|
546
|
-
port,
|
|
547
|
-
bind,
|
|
548
|
-
auth: authConfig,
|
|
549
|
-
...customBindHost && { customBindHost },
|
|
550
|
-
...trustedProxies && { trustedProxies },
|
|
551
|
-
tailscale: {
|
|
552
|
-
...next.gateway?.tailscale,
|
|
553
|
-
mode: tailscaleMode,
|
|
554
|
-
resetOnExit: tailscaleResetOnExit
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
};
|
|
558
|
-
return {
|
|
559
|
-
config: next,
|
|
560
|
-
port,
|
|
561
|
-
token: gatewayToken
|
|
562
|
-
};
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
//#endregion
|
|
566
|
-
//#region src/commands/configure.wizard.ts
|
|
567
|
-
async function runGatewayHealthCheck(params) {
|
|
568
|
-
const localLinks = resolveControlUiLinks({
|
|
569
|
-
bind: params.cfg.gateway?.bind ?? "loopback",
|
|
570
|
-
port: params.port,
|
|
571
|
-
customBindHost: params.cfg.gateway?.customBindHost,
|
|
572
|
-
basePath: void 0
|
|
573
|
-
});
|
|
574
|
-
const remoteUrl = params.cfg.gateway?.remote?.url?.trim();
|
|
575
|
-
await waitForGatewayReachable({
|
|
576
|
-
url: params.cfg.gateway?.mode === "remote" && remoteUrl ? remoteUrl : localLinks.wsUrl,
|
|
577
|
-
token: params.cfg.gateway?.auth?.token ?? process.env.ANIMA_GATEWAY_TOKEN,
|
|
578
|
-
password: params.cfg.gateway?.auth?.password ?? process.env.ANIMA_GATEWAY_PASSWORD,
|
|
579
|
-
deadlineMs: 15e3
|
|
580
|
-
});
|
|
581
|
-
try {
|
|
582
|
-
await healthCommand({
|
|
583
|
-
json: false,
|
|
584
|
-
timeoutMs: 1e4
|
|
585
|
-
}, params.runtime);
|
|
586
|
-
} catch (err) {
|
|
587
|
-
params.runtime.error(formatHealthCheckFailure(err));
|
|
588
|
-
note$1([
|
|
589
|
-
"Docs:",
|
|
590
|
-
"https://docs.anima.ai/gateway/health",
|
|
591
|
-
"https://docs.anima.ai/gateway/troubleshooting"
|
|
592
|
-
].join("\n"), "Health check help");
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
async function promptConfigureSection(runtime, hasSelection) {
|
|
596
|
-
return guardCancel(await select$1({
|
|
597
|
-
message: "Select sections to configure",
|
|
598
|
-
options: [...CONFIGURE_SECTION_OPTIONS, {
|
|
599
|
-
value: "__continue",
|
|
600
|
-
label: "Continue",
|
|
601
|
-
hint: hasSelection ? "Done" : "Skip for now"
|
|
602
|
-
}],
|
|
603
|
-
initialValue: CONFIGURE_SECTION_OPTIONS[0]?.value
|
|
604
|
-
}), runtime);
|
|
605
|
-
}
|
|
606
|
-
async function promptChannelMode(runtime) {
|
|
607
|
-
return guardCancel(await select$1({
|
|
608
|
-
message: "Channels",
|
|
609
|
-
options: [{
|
|
610
|
-
value: "configure",
|
|
611
|
-
label: "Configure/link",
|
|
612
|
-
hint: "Add/update channels; disable unselected accounts"
|
|
613
|
-
}, {
|
|
614
|
-
value: "remove",
|
|
615
|
-
label: "Remove channel config",
|
|
616
|
-
hint: "Delete channel tokens/settings from anima.json"
|
|
617
|
-
}],
|
|
618
|
-
initialValue: "configure"
|
|
619
|
-
}), runtime);
|
|
620
|
-
}
|
|
621
|
-
async function promptWebToolsConfig(nextConfig, runtime) {
|
|
622
|
-
const existingSearch = nextConfig.tools?.web?.search;
|
|
623
|
-
const existingFetch = nextConfig.tools?.web?.fetch;
|
|
624
|
-
const hasSearchKey = Boolean(existingSearch?.apiKey);
|
|
625
|
-
note$1([
|
|
626
|
-
"Web search lets your agent look things up online using the `web_search` tool.",
|
|
627
|
-
"It requires a Brave Search API key (you can store it in the config or set BRAVE_API_KEY in the Gateway environment).",
|
|
628
|
-
"Docs: https://docs.anima.ai/tools/web"
|
|
629
|
-
].join("\n"), "Web search");
|
|
630
|
-
const enableSearch = guardCancel(await confirm$1({
|
|
631
|
-
message: "Enable web_search (Brave Search)?",
|
|
632
|
-
initialValue: existingSearch?.enabled ?? hasSearchKey
|
|
633
|
-
}), runtime);
|
|
634
|
-
let nextSearch = {
|
|
635
|
-
...existingSearch,
|
|
636
|
-
enabled: enableSearch
|
|
637
|
-
};
|
|
638
|
-
if (enableSearch) {
|
|
639
|
-
const keyInput = guardCancel(await text$1({
|
|
640
|
-
message: hasSearchKey ? "Brave Search API key (leave blank to keep current or use BRAVE_API_KEY)" : "Brave Search API key (paste it here; leave blank to use BRAVE_API_KEY)",
|
|
641
|
-
placeholder: hasSearchKey ? "Leave blank to keep current" : "BSA..."
|
|
642
|
-
}), runtime);
|
|
643
|
-
const key = String(keyInput ?? "").trim();
|
|
644
|
-
if (key) nextSearch = {
|
|
645
|
-
...nextSearch,
|
|
646
|
-
apiKey: key
|
|
647
|
-
};
|
|
648
|
-
else if (!hasSearchKey) note$1([
|
|
649
|
-
"No key stored yet, so web_search will stay unavailable.",
|
|
650
|
-
"Store a key here or set BRAVE_API_KEY in the Gateway environment.",
|
|
651
|
-
"Docs: https://docs.anima.ai/tools/web"
|
|
652
|
-
].join("\n"), "Web search");
|
|
653
|
-
}
|
|
654
|
-
const enableFetch = guardCancel(await confirm$1({
|
|
655
|
-
message: "Enable web_fetch (keyless HTTP fetch)?",
|
|
656
|
-
initialValue: existingFetch?.enabled ?? true
|
|
657
|
-
}), runtime);
|
|
658
|
-
const nextFetch = {
|
|
659
|
-
...existingFetch,
|
|
660
|
-
enabled: enableFetch
|
|
661
|
-
};
|
|
662
|
-
return {
|
|
663
|
-
...nextConfig,
|
|
664
|
-
tools: {
|
|
665
|
-
...nextConfig.tools,
|
|
666
|
-
web: {
|
|
667
|
-
...nextConfig.tools?.web,
|
|
668
|
-
search: nextSearch,
|
|
669
|
-
fetch: nextFetch
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
};
|
|
673
|
-
}
|
|
674
|
-
async function runConfigureWizard(opts, runtime = defaultRuntime) {
|
|
675
|
-
try {
|
|
676
|
-
printWizardHeader(runtime);
|
|
677
|
-
intro$1(opts.command === "update" ? "Anima update wizard" : "Anima configure");
|
|
678
|
-
const prompter = createClackPrompter();
|
|
679
|
-
const snapshot = await readConfigFileSnapshot();
|
|
680
|
-
const baseConfig = snapshot.valid ? snapshot.config : {};
|
|
681
|
-
if (snapshot.exists) {
|
|
682
|
-
const title = snapshot.valid ? "Existing config detected" : "Invalid config";
|
|
683
|
-
note$1(summarizeExistingConfig(baseConfig), title);
|
|
684
|
-
if (!snapshot.valid && snapshot.issues.length > 0) note$1([
|
|
685
|
-
...snapshot.issues.map((iss) => `- ${iss.path}: ${iss.message}`),
|
|
686
|
-
"",
|
|
687
|
-
"Docs: https://docs.anima.ai/gateway/configuration"
|
|
688
|
-
].join("\n"), "Config issues");
|
|
689
|
-
if (!snapshot.valid) {
|
|
690
|
-
outro$1(`Config invalid. Run \`${formatCliCommand("anima doctor")}\` to repair it, then re-run configure.`);
|
|
691
|
-
runtime.exit(1);
|
|
692
|
-
return;
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
const localUrl = "ws://127.0.0.1:18789";
|
|
696
|
-
const localProbe = await probeGatewayReachable({
|
|
697
|
-
url: localUrl,
|
|
698
|
-
token: baseConfig.gateway?.auth?.token ?? process.env.ANIMA_GATEWAY_TOKEN,
|
|
699
|
-
password: baseConfig.gateway?.auth?.password ?? process.env.ANIMA_GATEWAY_PASSWORD
|
|
700
|
-
});
|
|
701
|
-
const remoteUrl = baseConfig.gateway?.remote?.url?.trim() ?? "";
|
|
702
|
-
const remoteProbe = remoteUrl ? await probeGatewayReachable({
|
|
703
|
-
url: remoteUrl,
|
|
704
|
-
token: baseConfig.gateway?.remote?.token
|
|
705
|
-
}) : null;
|
|
706
|
-
const mode = guardCancel(await select$1({
|
|
707
|
-
message: "Where will the Gateway run?",
|
|
708
|
-
options: [{
|
|
709
|
-
value: "local",
|
|
710
|
-
label: "Local (this machine)",
|
|
711
|
-
hint: localProbe.ok ? `Gateway reachable (${localUrl})` : `No gateway detected (${localUrl})`
|
|
712
|
-
}, {
|
|
713
|
-
value: "remote",
|
|
714
|
-
label: "Remote (info-only)",
|
|
715
|
-
hint: !remoteUrl ? "No remote URL configured yet" : remoteProbe?.ok ? `Gateway reachable (${remoteUrl})` : `Configured but unreachable (${remoteUrl})`
|
|
716
|
-
}]
|
|
717
|
-
}), runtime);
|
|
718
|
-
if (mode === "remote") {
|
|
719
|
-
let remoteConfig = await promptRemoteGatewayConfig(baseConfig, prompter);
|
|
720
|
-
remoteConfig = applyWizardMetadata(remoteConfig, {
|
|
721
|
-
command: opts.command,
|
|
722
|
-
mode
|
|
723
|
-
});
|
|
724
|
-
await writeConfigFile(remoteConfig);
|
|
725
|
-
logConfigUpdated(runtime);
|
|
726
|
-
outro$1("Remote gateway configured.");
|
|
727
|
-
return;
|
|
728
|
-
}
|
|
729
|
-
let nextConfig = { ...baseConfig };
|
|
730
|
-
let didSetGatewayMode = false;
|
|
731
|
-
if (nextConfig.gateway?.mode !== "local") {
|
|
732
|
-
nextConfig = {
|
|
733
|
-
...nextConfig,
|
|
734
|
-
gateway: {
|
|
735
|
-
...nextConfig.gateway,
|
|
736
|
-
mode: "local"
|
|
737
|
-
}
|
|
738
|
-
};
|
|
739
|
-
didSetGatewayMode = true;
|
|
740
|
-
}
|
|
741
|
-
let workspaceDir = nextConfig.agents?.defaults?.workspace ?? baseConfig.agents?.defaults?.workspace ?? DEFAULT_WORKSPACE;
|
|
742
|
-
let gatewayPort = resolveGatewayPort(baseConfig);
|
|
743
|
-
let gatewayToken = nextConfig.gateway?.auth?.token ?? baseConfig.gateway?.auth?.token ?? process.env.ANIMA_GATEWAY_TOKEN;
|
|
744
|
-
const persistConfig = async () => {
|
|
745
|
-
nextConfig = applyWizardMetadata(nextConfig, {
|
|
746
|
-
command: opts.command,
|
|
747
|
-
mode
|
|
748
|
-
});
|
|
749
|
-
await writeConfigFile(nextConfig);
|
|
750
|
-
logConfigUpdated(runtime);
|
|
751
|
-
};
|
|
752
|
-
const configureWorkspace = async () => {
|
|
753
|
-
const workspaceInput = guardCancel(await text$1({
|
|
754
|
-
message: "Workspace directory",
|
|
755
|
-
initialValue: workspaceDir
|
|
756
|
-
}), runtime);
|
|
757
|
-
workspaceDir = resolveUserPath(String(workspaceInput ?? "").trim() || DEFAULT_WORKSPACE);
|
|
758
|
-
nextConfig = {
|
|
759
|
-
...nextConfig,
|
|
760
|
-
agents: {
|
|
761
|
-
...nextConfig.agents,
|
|
762
|
-
defaults: {
|
|
763
|
-
...nextConfig.agents?.defaults,
|
|
764
|
-
workspace: workspaceDir
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
};
|
|
768
|
-
await ensureWorkspaceAndSessions(workspaceDir, runtime);
|
|
769
|
-
};
|
|
770
|
-
if (opts.sections) {
|
|
771
|
-
const selected = opts.sections;
|
|
772
|
-
if (!selected || selected.length === 0) {
|
|
773
|
-
outro$1("No changes selected.");
|
|
774
|
-
return;
|
|
775
|
-
}
|
|
776
|
-
if (selected.includes("workspace")) await configureWorkspace();
|
|
777
|
-
if (selected.includes("model")) nextConfig = await promptAuthConfig(nextConfig, runtime, prompter);
|
|
778
|
-
if (selected.includes("web")) nextConfig = await promptWebToolsConfig(nextConfig, runtime);
|
|
779
|
-
if (selected.includes("gateway")) {
|
|
780
|
-
const gateway = await promptGatewayConfig(nextConfig, runtime);
|
|
781
|
-
nextConfig = gateway.config;
|
|
782
|
-
gatewayPort = gateway.port;
|
|
783
|
-
gatewayToken = gateway.token;
|
|
784
|
-
}
|
|
785
|
-
if (selected.includes("channels")) {
|
|
786
|
-
await noteChannelStatus({
|
|
787
|
-
cfg: nextConfig,
|
|
788
|
-
prompter
|
|
789
|
-
});
|
|
790
|
-
if (await promptChannelMode(runtime) === "configure") nextConfig = await setupChannels(nextConfig, runtime, prompter, {
|
|
791
|
-
allowDisable: true,
|
|
792
|
-
allowSignalInstall: true,
|
|
793
|
-
skipConfirm: true,
|
|
794
|
-
skipStatusNote: true
|
|
795
|
-
});
|
|
796
|
-
else nextConfig = await removeChannelConfigWizard(nextConfig, runtime);
|
|
797
|
-
}
|
|
798
|
-
if (selected.includes("skills")) {
|
|
799
|
-
const wsDir = resolveUserPath(workspaceDir);
|
|
800
|
-
nextConfig = await setupSkills(nextConfig, wsDir, runtime, prompter);
|
|
801
|
-
}
|
|
802
|
-
await persistConfig();
|
|
803
|
-
if (selected.includes("daemon")) {
|
|
804
|
-
if (!selected.includes("gateway")) {
|
|
805
|
-
const portInput = guardCancel(await text$1({
|
|
806
|
-
message: "Gateway port for service install",
|
|
807
|
-
initialValue: String(gatewayPort),
|
|
808
|
-
validate: (value) => Number.isFinite(Number(value)) ? void 0 : "Invalid port"
|
|
809
|
-
}), runtime);
|
|
810
|
-
gatewayPort = Number.parseInt(String(portInput), 10);
|
|
811
|
-
}
|
|
812
|
-
await maybeInstallDaemon({
|
|
813
|
-
runtime,
|
|
814
|
-
port: gatewayPort,
|
|
815
|
-
gatewayToken
|
|
816
|
-
});
|
|
817
|
-
}
|
|
818
|
-
if (selected.includes("health")) await runGatewayHealthCheck({
|
|
819
|
-
cfg: nextConfig,
|
|
820
|
-
runtime,
|
|
821
|
-
port: gatewayPort
|
|
822
|
-
});
|
|
823
|
-
} else {
|
|
824
|
-
let ranSection = false;
|
|
825
|
-
let didConfigureGateway = false;
|
|
826
|
-
while (true) {
|
|
827
|
-
const choice = await promptConfigureSection(runtime, ranSection);
|
|
828
|
-
if (choice === "__continue") break;
|
|
829
|
-
ranSection = true;
|
|
830
|
-
if (choice === "workspace") {
|
|
831
|
-
await configureWorkspace();
|
|
832
|
-
await persistConfig();
|
|
833
|
-
}
|
|
834
|
-
if (choice === "model") {
|
|
835
|
-
nextConfig = await promptAuthConfig(nextConfig, runtime, prompter);
|
|
836
|
-
await persistConfig();
|
|
837
|
-
}
|
|
838
|
-
if (choice === "web") {
|
|
839
|
-
nextConfig = await promptWebToolsConfig(nextConfig, runtime);
|
|
840
|
-
await persistConfig();
|
|
841
|
-
}
|
|
842
|
-
if (choice === "gateway") {
|
|
843
|
-
const gateway = await promptGatewayConfig(nextConfig, runtime);
|
|
844
|
-
nextConfig = gateway.config;
|
|
845
|
-
gatewayPort = gateway.port;
|
|
846
|
-
gatewayToken = gateway.token;
|
|
847
|
-
didConfigureGateway = true;
|
|
848
|
-
await persistConfig();
|
|
849
|
-
}
|
|
850
|
-
if (choice === "channels") {
|
|
851
|
-
await noteChannelStatus({
|
|
852
|
-
cfg: nextConfig,
|
|
853
|
-
prompter
|
|
854
|
-
});
|
|
855
|
-
if (await promptChannelMode(runtime) === "configure") nextConfig = await setupChannels(nextConfig, runtime, prompter, {
|
|
856
|
-
allowDisable: true,
|
|
857
|
-
allowSignalInstall: true,
|
|
858
|
-
skipConfirm: true,
|
|
859
|
-
skipStatusNote: true
|
|
860
|
-
});
|
|
861
|
-
else nextConfig = await removeChannelConfigWizard(nextConfig, runtime);
|
|
862
|
-
await persistConfig();
|
|
863
|
-
}
|
|
864
|
-
if (choice === "skills") {
|
|
865
|
-
const wsDir = resolveUserPath(workspaceDir);
|
|
866
|
-
nextConfig = await setupSkills(nextConfig, wsDir, runtime, prompter);
|
|
867
|
-
await persistConfig();
|
|
868
|
-
}
|
|
869
|
-
if (choice === "daemon") {
|
|
870
|
-
if (!didConfigureGateway) {
|
|
871
|
-
const portInput = guardCancel(await text$1({
|
|
872
|
-
message: "Gateway port for service install",
|
|
873
|
-
initialValue: String(gatewayPort),
|
|
874
|
-
validate: (value) => Number.isFinite(Number(value)) ? void 0 : "Invalid port"
|
|
875
|
-
}), runtime);
|
|
876
|
-
gatewayPort = Number.parseInt(String(portInput), 10);
|
|
877
|
-
}
|
|
878
|
-
await maybeInstallDaemon({
|
|
879
|
-
runtime,
|
|
880
|
-
port: gatewayPort,
|
|
881
|
-
gatewayToken
|
|
882
|
-
});
|
|
883
|
-
}
|
|
884
|
-
if (choice === "health") await runGatewayHealthCheck({
|
|
885
|
-
cfg: nextConfig,
|
|
886
|
-
runtime,
|
|
887
|
-
port: gatewayPort
|
|
888
|
-
});
|
|
889
|
-
}
|
|
890
|
-
if (!ranSection) {
|
|
891
|
-
if (didSetGatewayMode) {
|
|
892
|
-
await persistConfig();
|
|
893
|
-
outro$1("Gateway mode set to local.");
|
|
894
|
-
return;
|
|
895
|
-
}
|
|
896
|
-
outro$1("No changes selected.");
|
|
897
|
-
return;
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
|
-
const controlUiAssets = await ensureControlUiAssetsBuilt(runtime);
|
|
901
|
-
if (!controlUiAssets.ok && controlUiAssets.message) runtime.error(controlUiAssets.message);
|
|
902
|
-
const links = resolveControlUiLinks({
|
|
903
|
-
bind: nextConfig.gateway?.bind ?? "loopback",
|
|
904
|
-
port: gatewayPort,
|
|
905
|
-
customBindHost: nextConfig.gateway?.customBindHost,
|
|
906
|
-
basePath: nextConfig.gateway?.controlUi?.basePath
|
|
907
|
-
});
|
|
908
|
-
const newPassword = nextConfig.gateway?.auth?.password ?? process.env.ANIMA_GATEWAY_PASSWORD;
|
|
909
|
-
const oldPassword = baseConfig.gateway?.auth?.password ?? process.env.ANIMA_GATEWAY_PASSWORD;
|
|
910
|
-
const token = nextConfig.gateway?.auth?.token ?? process.env.ANIMA_GATEWAY_TOKEN;
|
|
911
|
-
let gatewayProbe = await probeGatewayReachable({
|
|
912
|
-
url: links.wsUrl,
|
|
913
|
-
token,
|
|
914
|
-
password: newPassword
|
|
915
|
-
});
|
|
916
|
-
if (!gatewayProbe.ok && newPassword !== oldPassword && oldPassword) gatewayProbe = await probeGatewayReachable({
|
|
917
|
-
url: links.wsUrl,
|
|
918
|
-
token,
|
|
919
|
-
password: oldPassword
|
|
920
|
-
});
|
|
921
|
-
const gatewayStatusLine = gatewayProbe.ok ? "Gateway: reachable" : `Gateway: not detected${gatewayProbe.detail ? ` (${gatewayProbe.detail})` : ""}`;
|
|
922
|
-
note$1([
|
|
923
|
-
`Web UI: ${links.httpUrl}`,
|
|
924
|
-
`Gateway WS: ${links.wsUrl}`,
|
|
925
|
-
gatewayStatusLine,
|
|
926
|
-
"Docs: https://docs.anima.ai/web/control-ui"
|
|
927
|
-
].join("\n"), "Control UI");
|
|
928
|
-
outro$1("Configure complete.");
|
|
929
|
-
} catch (err) {
|
|
930
|
-
if (err instanceof WizardCancelledError) {
|
|
931
|
-
runtime.exit(1);
|
|
932
|
-
return;
|
|
933
|
-
}
|
|
934
|
-
throw err;
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
//#endregion
|
|
939
|
-
//#region src/commands/configure.commands.ts
|
|
940
|
-
async function configureCommand(runtime = defaultRuntime) {
|
|
941
|
-
await runConfigureWizard({ command: "configure" }, runtime);
|
|
942
|
-
}
|
|
943
|
-
async function configureCommandWithSections(sections, runtime = defaultRuntime) {
|
|
944
|
-
await runConfigureWizard({
|
|
945
|
-
command: "configure",
|
|
946
|
-
sections
|
|
947
|
-
}, runtime);
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
//#endregion
|
|
951
|
-
//#region src/commands/configure.ts
|
|
952
|
-
var configure_exports = /* @__PURE__ */ __exportAll({
|
|
953
|
-
CONFIGURE_WIZARD_SECTIONS: () => CONFIGURE_WIZARD_SECTIONS,
|
|
954
|
-
configureCommand: () => configureCommand,
|
|
955
|
-
configureCommandWithSections: () => configureCommandWithSections,
|
|
956
|
-
parseConfigureWizardSections: () => parseConfigureWizardSections
|
|
957
|
-
});
|
|
958
|
-
|
|
959
|
-
//#endregion
|
|
960
|
-
export { parseConfigureWizardSections as a, CONFIGURE_WIZARD_SECTIONS as i, configureCommand as n, configureCommandWithSections as r, configure_exports as t };
|