@noxsoft/anima 2.1.0 → 3.0.1
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/CHANGELOG.md +36 -1
- package/dist/{accounts-CGzuQdAx.js → accounts-ZMhj636e.js} +38 -38
- package/dist/{acp-cli-B91vBbbX.js → acp-cli-CcOE2A2i.js} +4 -4
- package/dist/{acp-cli-C2nYnQx-.js → acp-cli-PhWp41mc.js} +5 -5
- package/dist/{agent-Bd6Zpqnq.js → agent-CT2PCft4.js} +9 -9
- package/dist/{agent-CoxwYg20.js → agent-DvWSUuKy.js} +8 -8
- package/dist/{agent-events-BVc91Gjk.js → agent-events-iR_gRjZA.js} +2 -2
- package/dist/{agent-scope-BoQtElEh.js → agent-scope-DWKQJUUZ.js} +3 -3
- package/dist/{agent-scope-CuAaArMB.js → agent-scope-M302b8FW.js} +3 -1
- package/dist/{agent-scope-kT_pK2eJ.js → agent-scope-vpVhWds3.js} +3 -1
- package/dist/{agents-ERV83c8T.js → agents-DAg3VWr9.js} +9 -9
- package/dist/{agents.config-Bar8RHWv.js → agents.config-Dqcq7hEy.js} +1 -1
- package/dist/{agents.config-CvQgWymp.js → agents.config-M3p4E9Vk.js} +1 -1
- package/dist/{audit-C4pngOZo.js → audit-BDXqNA5J.js} +6 -6
- package/dist/{audit-94c4PKy2.js → audit-Cm50mcVm.js} +7 -7
- package/dist/{auth-choice-RnqXSEZo.js → auth-choice-CPDNhDPT.js} +145 -7
- package/dist/{auth-health-C2V2unOG.js → auth-health-C0g38cq2.js} +1 -1
- package/dist/{auth-profiles-DNpEm389.js → auth-profiles-BYETsqKc.js} +1 -1
- package/dist/{auth-profiles-DxPI9Swi.js → auth-profiles-BqrAPweI.js} +9 -9
- package/dist/{auth-profiles-CzyebTC0.js → auth-profiles-DZS4PC_i.js} +1 -1
- package/dist/{auth-store-vxi4ZPnZ.js → auth-store-eNVxoq_h.js} +13 -13
- package/dist/{auto-update-CFjmeMj2.js → auto-update-D5cnVgXE.js} +10 -4
- package/dist/{auto-update-Ct6OO4xu.js → auto-update-DYjBYplz.js} +10 -4
- package/dist/{banner-D3viiyMP.js → banner-CcUSTTQw.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +22 -22
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-CItRp_pr.js → call-C0Yk2qNb.js} +2 -2
- package/dist/{call-DxImJH07.js → call-LugHQWOF.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-web-DbqT9emt.js → channel-web-Co4IvTdB.js} +10 -10
- package/dist/{chrome-CVfcErE4.js → chrome-_87P03u5.js} +7 -7
- package/dist/{chrome-C1KpzLwu.js → chrome-s7nTgmbn.js} +12 -12
- package/dist/{chunk-B7HJmFUg.js → chunk-lDG_8LI5.js} +2 -2
- package/dist/{clack-prompter-DzyUpdYc.js → clack-prompter-1d_RjjVW.js} +1 -1
- package/dist/{clack-prompter-DGILBk0Q.js → clack-prompter-DXovYg0Q.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CIqM2CiL.js → cli-4D3JIGFt.js} +21 -21
- package/dist/{cli-D3fgTPqQ.js → cli-BkI8EYn3.js} +22 -22
- package/dist/{cli-session-C5q6Uryq.js → cli-session-CIhvoVRb.js} +55 -7
- package/dist/{cli-session-DQ9kepDS.js → cli-session-CJ4_a3AU.js} +56 -8
- package/dist/{client-oEG5cM5Q.js → client-BM5PkIwQ.js} +3 -3
- package/dist/{command-registry-S2ZqFzVe.js → command-registry-Cl3Z-qsS.js} +10 -10
- package/dist/{commands-C8xFlkZx.js → commands-BsZdF-6N.js} +1 -1
- package/dist/{commands-Cd2w9dmK.js → commands-quS1zRPr.js} +1 -1
- package/dist/{common-DgcMt-pi.js → common-DbouukNi.js} +2 -2
- package/dist/{completion-cli-BHlamZC3.js → completion-cli-BB3_g8w5.js} +1 -1
- package/dist/{completion-cli-CC0KmaZL.js → completion-cli-DcTEhrAe.js} +2 -2
- package/dist/{config-CaE6v09P.js → config-6zE4ZkSF.js} +2 -2
- package/dist/{config-Bda-8Rdh.js → config-9JRRXykP.js} +2 -2
- package/dist/{config-BEiShGVB.js → config-H_VHtPeY.js} +27 -27
- package/dist/{config-cli-DtJe8KPs.js → config-cli-DCNRWoyW.js} +4 -4
- package/dist/{config-cli-CEU2oLOH.js → config-cli-VB37XAkf.js} +4 -4
- package/dist/{config-guard-CQWaFJGt.js → config-guard-BUrJR68X.js} +2 -2
- package/dist/{config-guard-a6BWW0DS.js → config-guard-DJ_IK05w.js} +6 -6
- package/dist/{config-sync-DtK8vF0a.js → config-sync-B6XNCiWO.js} +4 -2
- package/dist/{config-sync-DHZT44We.js → config-sync-CVNJhO-W.js} +4 -2
- package/dist/{configure-BwR-MQg6.js → configure-CkmVabju.js} +9 -9
- package/dist/{configure-BiIaL4NZ.js → configure-Du07BFtQ.js} +10 -10
- package/dist/{context-Nk3BLa3u.js → context-CsnIPzGP.js} +1 -1
- package/dist/{control-service-CJ2uXWYM.js → control-service-BpEnt1xS.js} +4 -4
- package/dist/{control-service-9uTsix_O.js → control-service-dAtxFV2S.js} +2 -2
- package/dist/control-ui/assets/index-CEuStzNh.js +18 -0
- package/dist/control-ui/assets/index-CEuStzNh.js.map +1 -0
- package/dist/control-ui/assets/index-CbNrH7Wu.css +1 -0
- package/dist/control-ui/index.html +20 -0
- package/dist/{cron-cli-Diyg0pr6.js → cron-cli-BT0i4_jA.js} +6 -6
- package/dist/{cron-cli-BoB3GX76.js → cron-cli-DUVPrjk1.js} +5 -5
- package/dist/{daemon-cli-CR7yHMws.js → daemon-cli-DlHFi5Gm.js} +5 -5
- package/dist/{daemon-cli-CXnpU1lw.js → daemon-cli-tZXFDpZX.js} +5 -5
- package/dist/{daemon-runtime-C-xevhQ5.js → daemon-runtime-Cbi2Ox6g.js} +1 -1
- package/dist/{daemon-runtime-DP9zI3um.js → daemon-runtime-DOk9qM0y.js} +1 -1
- package/dist/{deliver-ZUV32EzH.js → deliver-CkrMkcOx.js} +1 -1
- package/dist/{deliver-BJ1xFt2X.js → deliver-DyQtnfXd.js} +14 -14
- package/dist/{deliver-TokuvSTy.js → deliver-tQREYhAr.js} +1 -1
- package/dist/{deps-CV9EwaiA.js → deps-DoPMG4GI.js} +1 -1
- package/dist/{dispatcher-DT5y2bRx.js → dispatcher-BhzRMibw.js} +1 -1
- package/dist/{dispatcher-DnyO_pzZ.js → dispatcher-wmQlHNsm.js} +1 -1
- package/dist/{dns-cli-Cw0G6u5i.js → dns-cli-B6bcA4-G.js} +3 -3
- package/dist/{dns-cli-CTpT3A5j.js → dns-cli-BvKJGCxL.js} +3 -3
- package/dist/{doctor-BRbtvinF.js → doctor-BxzkshQH.js} +20 -20
- package/dist/{doctor-a5nLQGbD.js → doctor-C3foAiuj.js} +19 -19
- package/dist/{doctor-completion-DpxcKMA5.js → doctor-completion-CZgNNZVd.js} +1 -1
- package/dist/{doctor-completion-Dnj6NNct.js → doctor-completion-VtjYTwcS.js} +1 -1
- package/dist/{doctor-config-flow-D80QIcc-.js → doctor-config-flow-BAntaUow.js} +4 -4
- package/dist/{doctor-config-flow-BZOFJuDW.js → doctor-config-flow-d6ocIX0r.js} +4 -4
- package/dist/{engine-Df9mQ7es.js → engine-C6iz-qEe.js} +5 -3
- package/dist/{engine-BqAGzYXO.js → engine-CIid6j5k.js} +5 -3
- package/dist/entry.js +1 -1
- package/dist/{exec-DJTRaYS6.js → exec-CK8CHr7j.js} +7 -7
- package/dist/{exec-approvals-cli-C5OuptCV.js → exec-approvals-cli-CAwe3fFV.js} +6 -6
- package/dist/{exec-approvals-cli-BWeKuHMf.js → exec-approvals-cli-COqsRheN.js} +5 -5
- package/dist/extensionAPI.js +3 -1
- package/dist/{frontmatter-DDYuWuK5.js → frontmatter-BBFYH_d2.js} +2 -2
- package/dist/{gateway-cli-DpikYazv.js → gateway-cli-BKmCrkp2.js} +47 -47
- package/dist/{gateway-cli-CLhlz_uA.js → gateway-cli-D0mD_UV8.js} +48 -48
- package/dist/{gateway-rpc-B30vCjdB.js → gateway-rpc-2MG1-jz-.js} +1 -1
- package/dist/{gateway-rpc-CeSf5jMa.js → gateway-rpc-elmeRwyu.js} +1 -1
- package/dist/{health-1JahEOfG.js → health-27WiwNrh.js} +9 -9
- package/dist/{health-BLxSP-s_.js → health-Cb_2WS_Z.js} +9 -9
- package/dist/{heartbeat-visibility-CS0wp8uu.js → heartbeat-visibility-Blrqxom1.js} +1 -1
- package/dist/{heartbeat-visibility-DgxM3da_.js → heartbeat-visibility-CDRbkOeP.js} +1 -1
- package/dist/{hooks-cli-Bb1UXfXv.js → hooks-cli-BkaD_Vnq.js} +23 -23
- package/dist/{hooks-cli-B-PZNrq5.js → hooks-cli-C7hx3yOv.js} +22 -22
- package/dist/{image-ops-ZMEg1-kE.js → image-ops-DJjERl7d.js} +2 -2
- package/dist/index.js +32 -32
- package/dist/{ipv4-BXko1df7.js → ipv4-sll41DXC.js} +4 -4
- package/dist/{ipv4-BmsAjDnB.js → ipv4-yUiIU5CD.js} +5 -5
- package/dist/json-file-Dvrir7_o.js +25 -0
- package/dist/llm-slug-generator.js +5 -5
- package/dist/{login-DIm-BAka.js → login-CBsXoiD_.js} +2 -2
- package/dist/{login-jV3UWUGr.js → login-CdRss5_H.js} +5 -5
- package/dist/{login-DQALESNM.js → login-DcBFdgol.js} +2 -2
- package/dist/{login-qr-BMMUazkr.js → login-qr-CEarfn5e.js} +4 -4
- package/dist/{login-qr-CJXqxq1y.js → login-qr-DoNanonP.js} +10 -10
- package/dist/{login-qr-BzS8xa3D.js → login-qr-aHN20jEV.js} +4 -4
- package/dist/{logs-cli-yKcOyM8n.js → logs-cli-DbdMIph-.js} +6 -6
- package/dist/{logs-cli-DHjyZjyi.js → logs-cli-O9Vm67Ps.js} +5 -5
- package/dist/{manager-eyHWQVGS.js → manager-1ZMunRXe.js} +2 -2
- package/dist/{manager-I5MlcYXv.js → manager-BVhxScwx.js} +2 -2
- package/dist/{manager-BssWfixS.js → manager-BlXVqzLP.js} +14 -14
- package/dist/{memory-cli-hyoQVF7L.js → memory-cli-CDMb58Y3.js} +5 -5
- package/dist/{memory-cli-DQm_Q8ks.js → memory-cli-DEnGCMk0.js} +5 -5
- package/dist/{model-auth-CQNrcIIT.js → model-auth-B3BPcnwt.js} +2 -2
- package/dist/{model-auth-BbZzb3IY.js → model-auth-ChSwMwh7.js} +3 -3
- package/dist/{model-auth-Cyx2Xoz0.js → model-auth-DUHamQTz.js} +2 -2
- package/dist/{model-selection-MwLHFnAb.js → model-selection-C2dz3AhV.js} +1 -1
- package/dist/{model-selection-BjcyTJyU.js → model-selection-DJcZ82uR.js} +1 -1
- package/dist/{model-selection-CtPzqKKJ.js → model-selection-DPoLkg_t.js} +1 -1
- package/dist/{models-Ca4_dCTC.js → models-B8eCDKpA.js} +26 -26
- package/dist/{node-cli-gop9c9Qq.js → node-cli-Bcrlhaq3.js} +10 -10
- package/dist/{node-cli-CJ-oQ5U6.js → node-cli-CXUIMB7W.js} +8 -8
- package/dist/{onboard-Dyr-G4cr.js → onboard-5GREpC8E.js} +48 -13
- package/dist/{onboard-DbCuaHlU.js → onboard-D8Khq7CJ.js} +49 -13
- package/dist/{onboard-channels-h35eneL1.js → onboard-channels-CuDv5j-L.js} +3 -3
- package/dist/{onboard-channels-D_jRjSPh.js → onboard-channels-DUklZSXY.js} +3 -3
- package/dist/{onboard-helpers-DVbPW8Cs.js → onboard-helpers-CMW6MSXA.js} +5 -4
- package/dist/{onboard-helpers-CAxb1eBy.js → onboard-helpers-DKu_2enh.js} +5 -4
- package/dist/{onboarding-ifLjX4Oc.js → onboarding-B_Gs5W53.js} +34 -15
- package/dist/{onboarding-Djv0NsZi.js → onboarding-CGG6jZ0y.js} +35 -16
- package/dist/{orchestrator-DeKyZfHL.js → orchestrator-CZ5SiD5l.js} +4 -2
- package/dist/{orchestrator-DAY2aHzl.js → orchestrator-KqoQDkvl.js} +4 -2
- package/dist/{outbound-_KURrkN3.js → outbound-Cf_1Utlz.js} +1 -1
- package/dist/{outbound-DptF-A0k.js → outbound-CwCRq4Cg.js} +1 -1
- package/dist/{outbound-ChmdbJju.js → outbound-DK71dddk.js} +6 -6
- package/dist/{parse-timeout-ByYuFf-D.js → parse-timeout-DhqvtdXz.js} +1 -1
- package/dist/{parse-timeout-PImvLfCF.js → parse-timeout-qnHqZvCW.js} +1 -1
- package/dist/{paths-BzTTzuSa.js → paths-CmZenvlb.js} +2 -2
- package/dist/{paths-B-AkG5FD.js → paths-D2eokayo.js} +3 -3
- package/dist/{pi-auth-json-Ct4FUjxN.js → pi-auth-json-BYN-DI5a.js} +7 -7
- package/dist/{pi-auth-json-QVWbBbGs.js → pi-auth-json-Crkmg439.js} +3 -3
- package/dist/{pi-auth-json-BvGZollA.js → pi-auth-json-PEKcHBMl.js} +3 -3
- package/dist/{pi-embedded-helpers-BS_VM3j4.js → pi-embedded-helpers-CvYnWzAn.js} +44 -44
- package/dist/{pi-tools.policy-BntNhXqZ.js → pi-tools.policy-BoWzLBtH.js} +3 -3
- package/dist/{pi-tools.policy-pvzE9Rfa.js → pi-tools.policy-ClzqRWic.js} +3 -3
- package/dist/{plugin-auto-enable-j_zHeVf1.js → plugin-auto-enable-BlyqT33k.js} +1 -1
- package/dist/{plugin-auto-enable-BvCuJgmb.js → plugin-auto-enable-Df0BKZyz.js} +1 -1
- package/dist/{plugin-registry-BgzrHeH3.js → plugin-registry-CIluPn2C.js} +3 -3
- package/dist/{plugin-registry-DurMOI5P.js → plugin-registry-k-cSnXEV.js} +3 -3
- package/dist/plugin-sdk/agents/workspace.d.ts +1 -0
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/{plugins-cli-DJKbvRtd.js → plugins-cli-CXap4R64.js} +22 -22
- package/dist/{plugins-cli-BFJqs061.js → plugins-cli-CgSDRx-C.js} +23 -23
- package/dist/{program-8-GzSO81.js → program-Dk1iylK1.js} +27 -27
- package/dist/{program-context-CC-g5UxM.js → program-context-r2WimvLs.js} +29 -29
- package/dist/{prompts-BWkFLWEk.js → prompts-BT5ztuUd.js} +144 -6
- package/dist/{prompts-CAgrJeru.js → prompts-vr_Njtil.js} +1 -1
- package/dist/{pw-ai-DVQKx_ca.js → pw-ai-q5Enhcu7.js} +4 -4
- package/dist/{pw-ai-Rz1I4vvf.js → pw-ai-ycVS073z.js} +1 -1
- package/dist/{qmd-manager-TUpRgiFa.js → qmd-manager-BD0uCIzM.js} +1 -1
- package/dist/{qmd-manager-NwDwG7DY.js → qmd-manager-CaNCfJK6.js} +1 -1
- package/dist/{qmd-manager-B5wbKcWC.js → qmd-manager-D_lZFetA.js} +7 -7
- package/dist/{queue-9vTUxVNg.js → queue-CRtO6LOL.js} +3 -1
- package/dist/{queue-R94Bcxk5.js → queue-DMVbLSSW.js} +3 -1
- package/dist/{register.agent-BcxdwhFz.js → register.agent-BCbrZgZT.js} +30 -30
- package/dist/{register.agent-BWl6JYHL.js → register.agent-sq78vQTz.js} +30 -30
- package/dist/{register.anima-D9CE9aVh.js → register.anima-B0tWw_hC.js} +13 -13
- package/dist/{register.anima-D8cnU8Zq.js → register.anima-CObVi7FQ.js} +13 -13
- package/dist/{register.configure-BQ7viIFW.js → register.configure-CM8ScF9N.js} +31 -31
- package/dist/{register.configure-CWWSJ12h.js → register.configure-w6Ptx3C9.js} +32 -32
- package/dist/{register.maintenance-BUkkCBQa.js → register.maintenance-B15nWIhc.js} +33 -33
- package/dist/{register.maintenance-BS36METc.js → register.maintenance-Chm2rk_s.js} +34 -34
- package/dist/{register.onboard-CxktbTOi.js → register.onboard-B7Ozkx53.js} +41 -37
- package/dist/{register.onboard-ks3BprXH.js → register.onboard-k9Rd9qzS.js} +39 -35
- package/dist/register.setup-BId1QGzk.js +270 -0
- package/dist/register.setup-CN1yxMOl.js +267 -0
- package/dist/{register.status-health-sessions-Bmgu0PWs.js → register.status-health-sessions-CNUs9w8v.js} +27 -27
- package/dist/{register.status-health-sessions-Cfhab3ds.js → register.status-health-sessions-CP9VvjA9.js} +27 -27
- package/dist/{register.subclis-Cp2R1dTl.js → register.subclis-N7uAMRX_.js} +20 -20
- package/dist/{reply-F1NR0Mmi.js → reply-BJ3jrefM.js} +29 -29
- package/dist/{reply-BWWaNSoB.js → reply-LaOwllAB.js} +28 -28
- package/dist/{reply-prefix-Cd1ryhL4.js → reply-prefix-DBJU0o4f.js} +2 -2
- package/dist/{reply-prefix-ByFTwsu6.js → reply-prefix-Dl_Gro6x.js} +2 -2
- package/dist/{routes-DdssPiMt.js → routes-Bifu4ATk.js} +2 -2
- package/dist/{routes-TJ5bwx27.js → routes-CNqS9gOj.js} +3 -3
- package/dist/{run-main-Br6uQWzH.js → run-main-DA4rt9qc.js} +40 -40
- package/dist/{sandbox-BIZzFPco.js → sandbox-CR2AIW2N.js} +3 -3
- package/dist/{sandbox-cli-DjALBAAV.js → sandbox-cli-BsMjNBFN.js} +8 -8
- package/dist/{sandbox-cli-DMBBlMK-.js → sandbox-cli-c_HPZNmf.js} +7 -7
- package/dist/{sandbox-hOY3muxh.js → sandbox-wL61f1WP.js} +3 -3
- package/dist/{security-cli-CsDWYPNG.js → security-cli-DTAzTIiZ.js} +10 -10
- package/dist/{security-cli-GXZAU0Ax.js → security-cli-pupt3tx1.js} +12 -12
- package/dist/{semantic-BTp-RtM8.js → semantic-BcioSN1d.js} +1 -1
- package/dist/{server-context-BW5BY88Y.js → server-context-C2TNamEJ.js} +1 -1
- package/dist/{server-context-C0YSbjOv.js → server-context-CcPmRFx_.js} +5 -5
- package/dist/{server-node-events-DM3CCYrf.js → server-node-events-DNDwVJH_.js} +14 -14
- package/dist/{server-node-events-Byy-Is6v.js → server-node-events-DsfvuRBK.js} +13 -13
- package/dist/{service-audit-u3qzhhqv.js → service-audit-BG0tcSCo.js} +1 -1
- package/dist/{service-audit-CGmQWccK.js → service-audit-DLV93I95.js} +1 -1
- package/dist/{session-BQzzYRDO.js → session-D53RZP3i.js} +7 -7
- package/dist/{session-CzBccNiw.js → session-DTRcP2Sj.js} +1 -1
- package/dist/{session-ititeJ0j.js → session-ygzMc3r1.js} +4 -4
- package/dist/{sessions-DiW7DuJO.js → sessions-0J_pFd44.js} +1 -1
- package/dist/{sessions-wzfE85C2.js → sessions-C7jYs5Sc.js} +1 -1
- package/dist/{sessions-Bxpm8P5t.js → sessions-CbUTEpMF.js} +4 -4
- package/dist/{shared-DynkOTFs.js → shared-B9kttsme.js} +1 -1
- package/dist/{shell-env-5vFwNQcz.js → shell-env-BBHdjHEl.js} +1 -1
- package/dist/{skills-cli-Dttyzhqz.js → skills-cli-CrB84lEO.js} +3 -3
- package/dist/{skills-cli-DA18YLo4.js → skills-cli-DC6nGiOg.js} +3 -3
- package/dist/{soul-D4rF0iXu.js → soul-CXGTzaKZ.js} +1 -1
- package/dist/{sqlite-Dx5ydniE.js → sqlite-B-dYyac7.js} +4 -4
- package/dist/{start-BNGlbbt9.js → start-BLi_X68Y.js} +36 -13
- package/dist/{start-DSZJq_zz.js → start-BQfR8aBZ.js} +36 -13
- package/dist/{status-DVYPFs7b.js → status-CzCmUbgr.js} +13 -13
- package/dist/{status-BCbWWHdA.js → status-D5zPydam.js} +3 -3
- package/dist/{status-BToHtmWf.js → status-DNUP2mgR.js} +12 -12
- package/dist/{status-QWb0sx59.js → status-DYGeQK4c.js} +3 -3
- package/dist/{status.update-CwIUq3Bq.js → status.update-_DOVm6Tr.js} +1 -1
- package/dist/{status.update-CJR_Zlvb.js → status.update-s92nCoGl.js} +1 -1
- package/dist/{subagent-registry-BOsyxABV.js → subagent-registry-D4idxv3D.js} +5 -5
- package/dist/{subagent-registry-DEjp4eYh.js → subagent-registry-DQzBrh1E.js} +5 -5
- package/dist/{subagent-registry-DXy6WsnY.js → subagent-registry-DjB3VS5s.js} +27 -27
- package/dist/{subsystem-BlEuMJjX.js → subsystem-CJTCKTwb.js} +13 -13
- package/dist/{system-cli-CtYpaf1K.js → system-cli-BNhplLHn.js} +6 -6
- package/dist/{system-cli-BYJicBL3.js → system-cli-CTN9NSfv.js} +5 -5
- package/dist/{tool-images-2qKyjXUj.js → tool-images-DBOSl4NL.js} +2 -2
- package/dist/{tui-Bx6Ty5e9.js → tui--uEeSnES.js} +4 -4
- package/dist/{tui-cli-BcqM-1Iu.js → tui-cli-ByERfWnP.js} +12 -12
- package/dist/{tui-cli-DM2-e45Y.js → tui-cli-De0zVM4-.js} +10 -10
- package/dist/{tui-BbS56NwI.js → tui-dHcni7fC.js} +5 -5
- package/dist/{update-cli-CzrELkox.js → update-cli-CGVsahIi.js} +41 -41
- package/dist/{update-cli-DHCu3Tw_.js → update-cli-D7SyNIoQ.js} +40 -40
- package/dist/{update-runner-CBoHuDWR.js → update-runner-DeNUEGyr.js} +1 -1
- package/dist/{update-runner-OvETClW6.js → update-runner-O0kK_BAP.js} +1 -1
- package/dist/{usage-ClLnsNuk.js → usage-DSZ_juox.js} +68 -20
- package/dist/{web-B-hsbig8.js → web-DNoikQbD.js} +25 -25
- package/dist/{web-DNwUI_-o.js → web-DY2TrPoD.js} +86 -86
- package/dist/{web-Ci2DZCF7.js → web-DyUoZrMO.js} +27 -27
- package/dist/{webhooks-cli-CK3Ooqxg.js → webhooks-cli-BqeMvo07.js} +3 -3
- package/dist/{webhooks-cli-BGo97Z-y.js → webhooks-cli-Cq3eb3vw.js} +3 -3
- package/dist/{whatsapp-actions-DBSx3VSP.js → whatsapp-actions-B_fglZZt.js} +13 -13
- package/dist/{whatsapp-actions-C-cAzSXs.js → whatsapp-actions-BkSSHLwM.js} +4 -4
- package/dist/{whatsapp-actions-CFQjbIXn.js → whatsapp-actions-j-5lmC5M.js} +4 -4
- package/dist/{workspace-BSBhp-B5.js → workspace-xzxJwPTB.js} +8 -6
- package/package.json +2 -1
- package/templates/SOUL.md +16 -0
- package/dist/json-file-CZ3ssFR9.js +0 -25
- package/dist/register.setup-CP--HKWT.js +0 -180
- package/dist/register.setup-TUHZSkwM.js +0 -177
- /package/dist/{budget-1SoJncof.js → budget-OJQ-m-_V.js} +0 -0
- /package/dist/{budget-DYeweLNW.js → budget-XH9_9WRg.js} +0 -0
- /package/dist/{registry-Dw31-Q3z.js → registry-6ARhh9Nh.js} +0 -0
- /package/dist/{registry-Bkdrbxa5.js → registry-E-bcMZe2.js} +0 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { M as theme, h as defaultRuntime } from "./entry.js";
|
|
2
|
+
import "./auth-profiles-BYETsqKc.js";
|
|
3
|
+
import { S as shortenHomePath } from "./utils-DwcweD55.js";
|
|
4
|
+
import "./exec-DRQWu5Xi.js";
|
|
5
|
+
import { f as DEFAULT_AGENT_WORKSPACE_DIR, x as ensureAgentWorkspace } from "./agent-scope-M302b8FW.js";
|
|
6
|
+
import "./model-selection-DJcZ82uR.js";
|
|
7
|
+
import "./file-lock-CxXn285m.js";
|
|
8
|
+
import "./agent-paths-CrZhIsTW.js";
|
|
9
|
+
import "./pi-model-discovery-DgwvfEmd.js";
|
|
10
|
+
import "./skills-CG8iI6v6.js";
|
|
11
|
+
import "./manifest-registry-BHcAJo9u.js";
|
|
12
|
+
import { l as writeConfigFile, r as createConfigIO } from "./config-6zE4ZkSF.js";
|
|
13
|
+
import "./shell-env-DAw9qXji.js";
|
|
14
|
+
import "./client-BsSB9O8y.js";
|
|
15
|
+
import "./call-LugHQWOF.js";
|
|
16
|
+
import "./message-channel-6Ln4eFyX.js";
|
|
17
|
+
import "./timeout-BXC4bZck.js";
|
|
18
|
+
import "./sessions-C7jYs5Sc.js";
|
|
19
|
+
import "./subagent-registry-DQzBrh1E.js";
|
|
20
|
+
import "./plugins-Tpy9T9c2.js";
|
|
21
|
+
import "./pi-embedded-helpers-D_ZL9Ofu.js";
|
|
22
|
+
import "./sandbox-CR2AIW2N.js";
|
|
23
|
+
import "./chrome-uJGz5mgu.js";
|
|
24
|
+
import "./auth-CBxE4UNz.js";
|
|
25
|
+
import "./server-context-C2TNamEJ.js";
|
|
26
|
+
import "./routes-Bifu4ATk.js";
|
|
27
|
+
import "./image-ops-CcJOy4db.js";
|
|
28
|
+
import "./ports-Dsm-zUSt.js";
|
|
29
|
+
import { o as resolveSessionTranscriptsDir } from "./paths-DqBoV7GZ.js";
|
|
30
|
+
import "./tool-images-C4WmHWDO.js";
|
|
31
|
+
import "./tokens-RUKWFK24.js";
|
|
32
|
+
import "./media-B9MUhrat.js";
|
|
33
|
+
import "./chunk-Cj2sLFwd.js";
|
|
34
|
+
import "./common-CNiE_VZA.js";
|
|
35
|
+
import "./control-service-dAtxFV2S.js";
|
|
36
|
+
import "./cli-session-CJ4_a3AU.js";
|
|
37
|
+
import "./reply-LaOwllAB.js";
|
|
38
|
+
import "./model-auth-B3BPcnwt.js";
|
|
39
|
+
import "./context-CsnIPzGP.js";
|
|
40
|
+
import "./parse-timeout-DhqvtdXz.js";
|
|
41
|
+
import "./deliver-CkrMkcOx.js";
|
|
42
|
+
import "./pi-tools.policy-ClzqRWic.js";
|
|
43
|
+
import "./memory-cli-DEnGCMk0.js";
|
|
44
|
+
import "./manager-BVhxScwx.js";
|
|
45
|
+
import "./sqlite-WDviThxg.js";
|
|
46
|
+
import "./redact-hnHuWzNz.js";
|
|
47
|
+
import "./session-BofBojlx.js";
|
|
48
|
+
import "./semantic-DbJmUUVs.js";
|
|
49
|
+
import "./loader-82icMkcZ.js";
|
|
50
|
+
import "./soul-DriZoW2_.js";
|
|
51
|
+
import { t as formatDocsLink } from "./links-CyFLSgkY.js";
|
|
52
|
+
import { t as runCommandWithRuntime } from "./cli-utils-D-jqXKL_.js";
|
|
53
|
+
import "./progress-DcyA3a5A.js";
|
|
54
|
+
import "./logging-DWwOqnTW.js";
|
|
55
|
+
import "./auth-store-BEUCdUFj.js";
|
|
56
|
+
import "./dispatcher-BhzRMibw.js";
|
|
57
|
+
import "./delivery-queue-BqJKnOa_.js";
|
|
58
|
+
import "./session-cost-usage-lfPU35Sb.js";
|
|
59
|
+
import "./register.subclis-N7uAMRX_.js";
|
|
60
|
+
import "./command-registry-Cl3Z-qsS.js";
|
|
61
|
+
import "./program-context-DItEQSzX.js";
|
|
62
|
+
import "./completion-cli-DcTEhrAe.js";
|
|
63
|
+
import "./daemon-runtime-Cbi2Ox6g.js";
|
|
64
|
+
import "./onboard-helpers-DKu_2enh.js";
|
|
65
|
+
import "./prompt-style-DZq_uOc1.js";
|
|
66
|
+
import "./systemd-BEeuI9u0.js";
|
|
67
|
+
import "./service-U3nMjKlR.js";
|
|
68
|
+
import "./health-27WiwNrh.js";
|
|
69
|
+
import "./health-format-Dug5Rbjg.js";
|
|
70
|
+
import { a as ensureAuthenticated } from "./auth-choice-CPDNhDPT.js";
|
|
71
|
+
import "./prompts-vr_Njtil.js";
|
|
72
|
+
import "./shared-B9kttsme.js";
|
|
73
|
+
import "./ipv4-yUiIU5CD.js";
|
|
74
|
+
import "./hooks-status-B53TbyZm.js";
|
|
75
|
+
import "./onboarding-CGG6jZ0y.js";
|
|
76
|
+
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-B05aEFEO.js";
|
|
77
|
+
import "./tui--uEeSnES.js";
|
|
78
|
+
import "./note-Cdu0wcse.js";
|
|
79
|
+
import "./doctor-completion-CZgNNZVd.js";
|
|
80
|
+
import "./clack-prompter-1d_RjjVW.js";
|
|
81
|
+
import { t as hasExplicitOptions } from "./command-options-mgpP-XId.js";
|
|
82
|
+
import "./systemd-linger-BXOkxYnH.js";
|
|
83
|
+
import { t as onboardCommand } from "./onboard-D8Khq7CJ.js";
|
|
84
|
+
import JSON5 from "json5";
|
|
85
|
+
import { isDeepStrictEqual } from "node:util";
|
|
86
|
+
import fs from "node:fs/promises";
|
|
87
|
+
|
|
88
|
+
//#region src/commands/setup.ts
|
|
89
|
+
const NOXSOFT_AUTONOMY_PRESET = "noxsoft-autonomy";
|
|
90
|
+
function resolveSetupPreset(raw) {
|
|
91
|
+
const normalized = raw?.trim().toLowerCase();
|
|
92
|
+
if (!normalized) return { preset: null };
|
|
93
|
+
if (normalized === NOXSOFT_AUTONOMY_PRESET) return { preset: NOXSOFT_AUTONOMY_PRESET };
|
|
94
|
+
return {
|
|
95
|
+
preset: null,
|
|
96
|
+
error: `Unknown setup preset "${raw}". Supported presets: ${NOXSOFT_AUTONOMY_PRESET}.`
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function normalizeHeartbeatTarget(raw) {
|
|
100
|
+
const normalized = raw?.trim();
|
|
101
|
+
if (!normalized) return;
|
|
102
|
+
if (normalized === "last" || normalized === "none") return normalized;
|
|
103
|
+
return normalized;
|
|
104
|
+
}
|
|
105
|
+
function applyNoxsoftAutonomyPreset(config) {
|
|
106
|
+
const defaults = config.agents?.defaults ?? {};
|
|
107
|
+
const heartbeat = defaults.heartbeat ?? {};
|
|
108
|
+
return {
|
|
109
|
+
...config,
|
|
110
|
+
agents: {
|
|
111
|
+
...config.agents,
|
|
112
|
+
defaults: {
|
|
113
|
+
...defaults,
|
|
114
|
+
heartbeat: {
|
|
115
|
+
...heartbeat,
|
|
116
|
+
every: heartbeat.every ?? "5m",
|
|
117
|
+
target: heartbeat.target ?? "last",
|
|
118
|
+
prompt: heartbeat.prompt ?? [
|
|
119
|
+
"Run NoxSoft autonomy heartbeat.",
|
|
120
|
+
"1) Check chat.noxsoft.net for unread messages and reply when action is required.",
|
|
121
|
+
"2) Check status.noxsoft.net and track regressions/issues before code changes.",
|
|
122
|
+
"3) Continue highest-priority implementation, security, and test work in this workspace.",
|
|
123
|
+
"If no action is required, reply HEARTBEAT_OK."
|
|
124
|
+
].join(" ")
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function applyHeartbeatOverrides(config, opts) {
|
|
131
|
+
const heartbeatEvery = opts?.heartbeatEvery?.trim();
|
|
132
|
+
const heartbeatPrompt = opts?.heartbeatPrompt?.trim();
|
|
133
|
+
const heartbeatTarget = normalizeHeartbeatTarget(opts?.heartbeatTarget);
|
|
134
|
+
if (!heartbeatEvery && !heartbeatPrompt && !heartbeatTarget) return config;
|
|
135
|
+
const defaults = config.agents?.defaults ?? {};
|
|
136
|
+
const heartbeat = defaults.heartbeat ?? {};
|
|
137
|
+
return {
|
|
138
|
+
...config,
|
|
139
|
+
agents: {
|
|
140
|
+
...config.agents,
|
|
141
|
+
defaults: {
|
|
142
|
+
...defaults,
|
|
143
|
+
heartbeat: {
|
|
144
|
+
...heartbeat,
|
|
145
|
+
...heartbeatEvery ? { every: heartbeatEvery } : {},
|
|
146
|
+
...heartbeatPrompt ? { prompt: heartbeatPrompt } : {},
|
|
147
|
+
...heartbeatTarget ? { target: heartbeatTarget } : {}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
async function readConfigFileRaw(configPath) {
|
|
154
|
+
try {
|
|
155
|
+
const raw = await fs.readFile(configPath, "utf-8");
|
|
156
|
+
const parsed = JSON5.parse(raw);
|
|
157
|
+
if (parsed && typeof parsed === "object") return {
|
|
158
|
+
exists: true,
|
|
159
|
+
parsed
|
|
160
|
+
};
|
|
161
|
+
return {
|
|
162
|
+
exists: true,
|
|
163
|
+
parsed: {}
|
|
164
|
+
};
|
|
165
|
+
} catch {
|
|
166
|
+
return {
|
|
167
|
+
exists: false,
|
|
168
|
+
parsed: {}
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async function setupCommand(opts, runtime = defaultRuntime) {
|
|
173
|
+
const desiredWorkspace = typeof opts?.workspace === "string" && opts.workspace.trim() ? opts.workspace.trim() : void 0;
|
|
174
|
+
const presetResolution = resolveSetupPreset(opts?.preset);
|
|
175
|
+
if (presetResolution.error) {
|
|
176
|
+
runtime.error(presetResolution.error);
|
|
177
|
+
runtime.exit(1);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const preset = presetResolution.preset;
|
|
181
|
+
const configPath = createConfigIO().configPath;
|
|
182
|
+
const existingRaw = await readConfigFileRaw(configPath);
|
|
183
|
+
const cfg = existingRaw.parsed;
|
|
184
|
+
const defaults = cfg.agents?.defaults ?? {};
|
|
185
|
+
const workspace = desiredWorkspace ?? defaults.workspace ?? DEFAULT_AGENT_WORKSPACE_DIR;
|
|
186
|
+
const next = {
|
|
187
|
+
...cfg,
|
|
188
|
+
agents: {
|
|
189
|
+
...cfg.agents,
|
|
190
|
+
defaults: {
|
|
191
|
+
...defaults,
|
|
192
|
+
workspace
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const withOverrides = applyHeartbeatOverrides(preset === NOXSOFT_AUTONOMY_PRESET ? applyNoxsoftAutonomyPreset(next) : next, opts);
|
|
197
|
+
if (!existingRaw.exists || !isDeepStrictEqual(cfg, withOverrides)) {
|
|
198
|
+
await writeConfigFile(withOverrides);
|
|
199
|
+
if (!existingRaw.exists) runtime.log(`Wrote ${formatConfigPath(configPath)}`);
|
|
200
|
+
else logConfigUpdated(runtime, {
|
|
201
|
+
path: configPath,
|
|
202
|
+
suffix: "(setup updates applied)"
|
|
203
|
+
});
|
|
204
|
+
} else runtime.log(`Config OK: ${formatConfigPath(configPath)}`);
|
|
205
|
+
const ws = await ensureAgentWorkspace({
|
|
206
|
+
dir: workspace,
|
|
207
|
+
ensureBootstrapFiles: !withOverrides.agents?.defaults?.skipBootstrap,
|
|
208
|
+
seedBootstrapOnFirstRun: !existingRaw.exists
|
|
209
|
+
});
|
|
210
|
+
runtime.log(`Workspace OK: ${shortenHomePath(ws.dir)}`);
|
|
211
|
+
const sessionsDir = resolveSessionTranscriptsDir();
|
|
212
|
+
await fs.mkdir(sessionsDir, { recursive: true });
|
|
213
|
+
runtime.log(`Sessions OK: ${shortenHomePath(sessionsDir)}`);
|
|
214
|
+
const gatewayMode = withOverrides.gateway?.mode;
|
|
215
|
+
const gatewayPort = withOverrides.gateway?.port;
|
|
216
|
+
const heartbeatEvery = withOverrides.agents?.defaults?.heartbeat?.every;
|
|
217
|
+
const heartbeatTarget = withOverrides.agents?.defaults?.heartbeat?.target;
|
|
218
|
+
runtime.log("");
|
|
219
|
+
runtime.log(" Current settings:");
|
|
220
|
+
runtime.log(` Gateway: ${gatewayMode ?? "not configured"}${gatewayPort ? ` (port ${gatewayPort})` : ""}`);
|
|
221
|
+
runtime.log(` Heartbeat: ${heartbeatEvery ?? "default (30m)"}${heartbeatTarget ? ` -> ${heartbeatTarget}` : ""}`);
|
|
222
|
+
if (preset === NOXSOFT_AUTONOMY_PRESET) runtime.log(` Preset: ${NOXSOFT_AUTONOMY_PRESET}`);
|
|
223
|
+
try {
|
|
224
|
+
const auth = await ensureAuthenticated({
|
|
225
|
+
name: opts?.noxsoftAgentName,
|
|
226
|
+
displayName: opts?.noxsoftDisplayName,
|
|
227
|
+
description: "ANIMA setup auto-registration"
|
|
228
|
+
});
|
|
229
|
+
runtime.log(` NoxSoft: \x1b[32m${auth.registered ? "registered" : "authenticated"}\x1b[0m as ${auth.agent.display_name} (@${auth.agent.name})`);
|
|
230
|
+
} catch (error) {
|
|
231
|
+
const message = error instanceof Error && error.message ? error.message : "Unknown NoxSoft authentication error.";
|
|
232
|
+
runtime.error(`NoxSoft authentication is required for setup.\n${message}`);
|
|
233
|
+
runtime.exit(1);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
runtime.log("");
|
|
237
|
+
runtime.log(" Run \x1B[36manima configure\x1B[0m to change settings.");
|
|
238
|
+
runtime.log(" Run \x1B[36manima setup --wizard\x1B[0m for full guided setup.");
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
//#endregion
|
|
242
|
+
//#region src/cli/program/register.setup.ts
|
|
243
|
+
function registerSetupCommand(program) {
|
|
244
|
+
program.command("setup").description("Initialize ANIMA config and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.noxsoft.net/anima/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.anima/workspace; stored as agents.defaults.workspace)").option("--preset <name>", "Apply a setup preset (supported: noxsoft-autonomy)").option("--heartbeat-every <duration>", "Set agents.defaults.heartbeat.every (e.g. 5m, 30m, 1h)").option("--heartbeat-target <target>", "Set agents.defaults.heartbeat.target (last|none|<channel-id>)").option("--heartbeat-prompt <text>", "Set agents.defaults.heartbeat.prompt").option("--noxsoft-agent-name <slug>", "Preferred NoxSoft agent name for automatic registration").option("--noxsoft-display-name <name>", "Preferred NoxSoft display name for automatic registration").option("--wizard", "Run the interactive onboarding wizard", false).option("--non-interactive", "Run the wizard without prompts", false).action(async (opts, command) => {
|
|
245
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
246
|
+
const hasWizardFlags = hasExplicitOptions(command, ["wizard", "nonInteractive"]);
|
|
247
|
+
if (opts.wizard || hasWizardFlags) {
|
|
248
|
+
await onboardCommand({
|
|
249
|
+
workspace: opts.workspace,
|
|
250
|
+
nonInteractive: Boolean(opts.nonInteractive),
|
|
251
|
+
noxsoftAgentName: opts.noxsoftAgentName,
|
|
252
|
+
noxsoftDisplayName: opts.noxsoftDisplayName
|
|
253
|
+
}, defaultRuntime);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
await setupCommand({
|
|
257
|
+
workspace: opts.workspace,
|
|
258
|
+
preset: opts.preset,
|
|
259
|
+
heartbeatEvery: opts.heartbeatEvery,
|
|
260
|
+
heartbeatTarget: opts.heartbeatTarget,
|
|
261
|
+
heartbeatPrompt: opts.heartbeatPrompt,
|
|
262
|
+
noxsoftAgentName: opts.noxsoftAgentName,
|
|
263
|
+
noxsoftDisplayName: opts.noxsoftDisplayName
|
|
264
|
+
}, defaultRuntime);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
//#endregion
|
|
270
|
+
export { registerSetupCommand };
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import "./paths-zhVksOvm.js";
|
|
2
|
+
import { B as theme, u as defaultRuntime } from "./subsystem-BaJ-PqmA.js";
|
|
3
|
+
import { C as shortenHomePath } from "./utils-RdHkpqQp.js";
|
|
4
|
+
import "./pi-embedded-helpers-6Tb87sgU.js";
|
|
5
|
+
import "./subagent-registry-D4idxv3D.js";
|
|
6
|
+
import "./reply-BJ3jrefM.js";
|
|
7
|
+
import "./exec-Bsq6vlwp.js";
|
|
8
|
+
import { f as DEFAULT_AGENT_WORKSPACE_DIR, x as ensureAgentWorkspace } from "./agent-scope-vpVhWds3.js";
|
|
9
|
+
import "./model-selection-C2dz3AhV.js";
|
|
10
|
+
import "./lanes-CjLEc1h9.js";
|
|
11
|
+
import { l as writeConfigFile, r as createConfigIO } from "./config-9JRRXykP.js";
|
|
12
|
+
import "./boolean-Wzu0-e0P.js";
|
|
13
|
+
import "./env-CYcXAarB.js";
|
|
14
|
+
import "./shell-env-SbFYz02H.js";
|
|
15
|
+
import "./manifest-registry-DLouWVJe.js";
|
|
16
|
+
import "./sessions-0J_pFd44.js";
|
|
17
|
+
import "./image-ops-CVabMYiY.js";
|
|
18
|
+
import "./polls-vAdf9owY.js";
|
|
19
|
+
import "./auth-profiles-DZS4PC_i.js";
|
|
20
|
+
import "./file-lock-BRW4LeL0.js";
|
|
21
|
+
import "./model-auth-DUHamQTz.js";
|
|
22
|
+
import "./cli-session-CIhvoVRb.js";
|
|
23
|
+
import "./tokens-BLOye_TP.js";
|
|
24
|
+
import "./sandbox-wL61f1WP.js";
|
|
25
|
+
import "./chrome-_87P03u5.js";
|
|
26
|
+
import "./auth-B8ry4GB_.js";
|
|
27
|
+
import "./server-context-CcPmRFx_.js";
|
|
28
|
+
import "./skills-DsdcfeyV.js";
|
|
29
|
+
import "./routes-CNqS9gOj.js";
|
|
30
|
+
import "./ports-CmAt9mb6.js";
|
|
31
|
+
import "./message-channel-BbkwF58_.js";
|
|
32
|
+
import "./plugins-CFb1gJ4N.js";
|
|
33
|
+
import { o as resolveSessionTranscriptsDir } from "./paths-CqMZNi-M.js";
|
|
34
|
+
import "./tool-images-C4cophRS.js";
|
|
35
|
+
import "./parse-timeout-qnHqZvCW.js";
|
|
36
|
+
import "./chunk-DprzQA5H.js";
|
|
37
|
+
import "./deliver-tQREYhAr.js";
|
|
38
|
+
import "./pi-tools.policy-BoWzLBtH.js";
|
|
39
|
+
import "./client-BM5PkIwQ.js";
|
|
40
|
+
import "./call-C0Yk2qNb.js";
|
|
41
|
+
import "./memory-cli-CDMb58Y3.js";
|
|
42
|
+
import "./manager-1ZMunRXe.js";
|
|
43
|
+
import "./sqlite-EkbWHNXu.js";
|
|
44
|
+
import "./redact-BICFkpn7.js";
|
|
45
|
+
import "./session-DmKXXA8P.js";
|
|
46
|
+
import "./semantic-Dr5Rm54S.js";
|
|
47
|
+
import "./loader-DdJZwB8s.js";
|
|
48
|
+
import "./soul-QDMbOFQ4.js";
|
|
49
|
+
import "./common-CwWabBN8.js";
|
|
50
|
+
import { t as formatDocsLink } from "./links-NgE0SEVZ.js";
|
|
51
|
+
import { t as runCommandWithRuntime } from "./cli-utils-C2Dtl4o_.js";
|
|
52
|
+
import "./progress-gdB4V88Q.js";
|
|
53
|
+
import "./logging-1vypRz8h.js";
|
|
54
|
+
import "./auth-store-DWgI4Vj8.js";
|
|
55
|
+
import "./control-service-BpEnt1xS.js";
|
|
56
|
+
import "./dispatcher-wmQlHNsm.js";
|
|
57
|
+
import "./pi-model-discovery-HH8RvApN.js";
|
|
58
|
+
import "./delivery-queue-CdUtwMZr.js";
|
|
59
|
+
import "./session-cost-usage-CYdqhmt6.js";
|
|
60
|
+
import "./program-context-r2WimvLs.js";
|
|
61
|
+
import "./completion-cli-BB3_g8w5.js";
|
|
62
|
+
import "./daemon-runtime-DOk9qM0y.js";
|
|
63
|
+
import "./onboard-helpers-CMW6MSXA.js";
|
|
64
|
+
import "./prompt-style-CXrnxWQG.js";
|
|
65
|
+
import "./systemd-IDjybnbO.js";
|
|
66
|
+
import "./service-H_0E0nOX.js";
|
|
67
|
+
import "./health-Cb_2WS_Z.js";
|
|
68
|
+
import "./health-format-BMwPAU53.js";
|
|
69
|
+
import { c as ensureAuthenticated } from "./prompts-BT5ztuUd.js";
|
|
70
|
+
import "./ipv4-sll41DXC.js";
|
|
71
|
+
import "./hooks-status-BTVvcXJx.js";
|
|
72
|
+
import "./onboarding-B_Gs5W53.js";
|
|
73
|
+
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-ClHj0gnP.js";
|
|
74
|
+
import "./tui-dHcni7fC.js";
|
|
75
|
+
import "./note-CLRVmCnr.js";
|
|
76
|
+
import "./doctor-completion-VtjYTwcS.js";
|
|
77
|
+
import "./clack-prompter-DXovYg0Q.js";
|
|
78
|
+
import { t as hasExplicitOptions } from "./command-options-HR4rJB0D.js";
|
|
79
|
+
import "./systemd-linger-q1hyIpoI.js";
|
|
80
|
+
import { t as onboardCommand } from "./onboard-5GREpC8E.js";
|
|
81
|
+
import JSON5 from "json5";
|
|
82
|
+
import fs from "node:fs/promises";
|
|
83
|
+
import { isDeepStrictEqual } from "node:util";
|
|
84
|
+
|
|
85
|
+
//#region src/commands/setup.ts
|
|
86
|
+
const NOXSOFT_AUTONOMY_PRESET = "noxsoft-autonomy";
|
|
87
|
+
function resolveSetupPreset(raw) {
|
|
88
|
+
const normalized = raw?.trim().toLowerCase();
|
|
89
|
+
if (!normalized) return { preset: null };
|
|
90
|
+
if (normalized === NOXSOFT_AUTONOMY_PRESET) return { preset: NOXSOFT_AUTONOMY_PRESET };
|
|
91
|
+
return {
|
|
92
|
+
preset: null,
|
|
93
|
+
error: `Unknown setup preset "${raw}". Supported presets: ${NOXSOFT_AUTONOMY_PRESET}.`
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function normalizeHeartbeatTarget(raw) {
|
|
97
|
+
const normalized = raw?.trim();
|
|
98
|
+
if (!normalized) return;
|
|
99
|
+
if (normalized === "last" || normalized === "none") return normalized;
|
|
100
|
+
return normalized;
|
|
101
|
+
}
|
|
102
|
+
function applyNoxsoftAutonomyPreset(config) {
|
|
103
|
+
const defaults = config.agents?.defaults ?? {};
|
|
104
|
+
const heartbeat = defaults.heartbeat ?? {};
|
|
105
|
+
return {
|
|
106
|
+
...config,
|
|
107
|
+
agents: {
|
|
108
|
+
...config.agents,
|
|
109
|
+
defaults: {
|
|
110
|
+
...defaults,
|
|
111
|
+
heartbeat: {
|
|
112
|
+
...heartbeat,
|
|
113
|
+
every: heartbeat.every ?? "5m",
|
|
114
|
+
target: heartbeat.target ?? "last",
|
|
115
|
+
prompt: heartbeat.prompt ?? [
|
|
116
|
+
"Run NoxSoft autonomy heartbeat.",
|
|
117
|
+
"1) Check chat.noxsoft.net for unread messages and reply when action is required.",
|
|
118
|
+
"2) Check status.noxsoft.net and track regressions/issues before code changes.",
|
|
119
|
+
"3) Continue highest-priority implementation, security, and test work in this workspace.",
|
|
120
|
+
"If no action is required, reply HEARTBEAT_OK."
|
|
121
|
+
].join(" ")
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function applyHeartbeatOverrides(config, opts) {
|
|
128
|
+
const heartbeatEvery = opts?.heartbeatEvery?.trim();
|
|
129
|
+
const heartbeatPrompt = opts?.heartbeatPrompt?.trim();
|
|
130
|
+
const heartbeatTarget = normalizeHeartbeatTarget(opts?.heartbeatTarget);
|
|
131
|
+
if (!heartbeatEvery && !heartbeatPrompt && !heartbeatTarget) return config;
|
|
132
|
+
const defaults = config.agents?.defaults ?? {};
|
|
133
|
+
const heartbeat = defaults.heartbeat ?? {};
|
|
134
|
+
return {
|
|
135
|
+
...config,
|
|
136
|
+
agents: {
|
|
137
|
+
...config.agents,
|
|
138
|
+
defaults: {
|
|
139
|
+
...defaults,
|
|
140
|
+
heartbeat: {
|
|
141
|
+
...heartbeat,
|
|
142
|
+
...heartbeatEvery ? { every: heartbeatEvery } : {},
|
|
143
|
+
...heartbeatPrompt ? { prompt: heartbeatPrompt } : {},
|
|
144
|
+
...heartbeatTarget ? { target: heartbeatTarget } : {}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
async function readConfigFileRaw(configPath) {
|
|
151
|
+
try {
|
|
152
|
+
const raw = await fs.readFile(configPath, "utf-8");
|
|
153
|
+
const parsed = JSON5.parse(raw);
|
|
154
|
+
if (parsed && typeof parsed === "object") return {
|
|
155
|
+
exists: true,
|
|
156
|
+
parsed
|
|
157
|
+
};
|
|
158
|
+
return {
|
|
159
|
+
exists: true,
|
|
160
|
+
parsed: {}
|
|
161
|
+
};
|
|
162
|
+
} catch {
|
|
163
|
+
return {
|
|
164
|
+
exists: false,
|
|
165
|
+
parsed: {}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async function setupCommand(opts, runtime = defaultRuntime) {
|
|
170
|
+
const desiredWorkspace = typeof opts?.workspace === "string" && opts.workspace.trim() ? opts.workspace.trim() : void 0;
|
|
171
|
+
const presetResolution = resolveSetupPreset(opts?.preset);
|
|
172
|
+
if (presetResolution.error) {
|
|
173
|
+
runtime.error(presetResolution.error);
|
|
174
|
+
runtime.exit(1);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const preset = presetResolution.preset;
|
|
178
|
+
const configPath = createConfigIO().configPath;
|
|
179
|
+
const existingRaw = await readConfigFileRaw(configPath);
|
|
180
|
+
const cfg = existingRaw.parsed;
|
|
181
|
+
const defaults = cfg.agents?.defaults ?? {};
|
|
182
|
+
const workspace = desiredWorkspace ?? defaults.workspace ?? DEFAULT_AGENT_WORKSPACE_DIR;
|
|
183
|
+
const next = {
|
|
184
|
+
...cfg,
|
|
185
|
+
agents: {
|
|
186
|
+
...cfg.agents,
|
|
187
|
+
defaults: {
|
|
188
|
+
...defaults,
|
|
189
|
+
workspace
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
const withOverrides = applyHeartbeatOverrides(preset === NOXSOFT_AUTONOMY_PRESET ? applyNoxsoftAutonomyPreset(next) : next, opts);
|
|
194
|
+
if (!existingRaw.exists || !isDeepStrictEqual(cfg, withOverrides)) {
|
|
195
|
+
await writeConfigFile(withOverrides);
|
|
196
|
+
if (!existingRaw.exists) runtime.log(`Wrote ${formatConfigPath(configPath)}`);
|
|
197
|
+
else logConfigUpdated(runtime, {
|
|
198
|
+
path: configPath,
|
|
199
|
+
suffix: "(setup updates applied)"
|
|
200
|
+
});
|
|
201
|
+
} else runtime.log(`Config OK: ${formatConfigPath(configPath)}`);
|
|
202
|
+
const ws = await ensureAgentWorkspace({
|
|
203
|
+
dir: workspace,
|
|
204
|
+
ensureBootstrapFiles: !withOverrides.agents?.defaults?.skipBootstrap,
|
|
205
|
+
seedBootstrapOnFirstRun: !existingRaw.exists
|
|
206
|
+
});
|
|
207
|
+
runtime.log(`Workspace OK: ${shortenHomePath(ws.dir)}`);
|
|
208
|
+
const sessionsDir = resolveSessionTranscriptsDir();
|
|
209
|
+
await fs.mkdir(sessionsDir, { recursive: true });
|
|
210
|
+
runtime.log(`Sessions OK: ${shortenHomePath(sessionsDir)}`);
|
|
211
|
+
const gatewayMode = withOverrides.gateway?.mode;
|
|
212
|
+
const gatewayPort = withOverrides.gateway?.port;
|
|
213
|
+
const heartbeatEvery = withOverrides.agents?.defaults?.heartbeat?.every;
|
|
214
|
+
const heartbeatTarget = withOverrides.agents?.defaults?.heartbeat?.target;
|
|
215
|
+
runtime.log("");
|
|
216
|
+
runtime.log(" Current settings:");
|
|
217
|
+
runtime.log(` Gateway: ${gatewayMode ?? "not configured"}${gatewayPort ? ` (port ${gatewayPort})` : ""}`);
|
|
218
|
+
runtime.log(` Heartbeat: ${heartbeatEvery ?? "default (30m)"}${heartbeatTarget ? ` -> ${heartbeatTarget}` : ""}`);
|
|
219
|
+
if (preset === NOXSOFT_AUTONOMY_PRESET) runtime.log(` Preset: ${NOXSOFT_AUTONOMY_PRESET}`);
|
|
220
|
+
try {
|
|
221
|
+
const auth = await ensureAuthenticated({
|
|
222
|
+
name: opts?.noxsoftAgentName,
|
|
223
|
+
displayName: opts?.noxsoftDisplayName,
|
|
224
|
+
description: "ANIMA setup auto-registration"
|
|
225
|
+
});
|
|
226
|
+
runtime.log(` NoxSoft: \x1b[32m${auth.registered ? "registered" : "authenticated"}\x1b[0m as ${auth.agent.display_name} (@${auth.agent.name})`);
|
|
227
|
+
} catch (error) {
|
|
228
|
+
const message = error instanceof Error && error.message ? error.message : "Unknown NoxSoft authentication error.";
|
|
229
|
+
runtime.error(`NoxSoft authentication is required for setup.\n${message}`);
|
|
230
|
+
runtime.exit(1);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
runtime.log("");
|
|
234
|
+
runtime.log(" Run \x1B[36manima configure\x1B[0m to change settings.");
|
|
235
|
+
runtime.log(" Run \x1B[36manima setup --wizard\x1B[0m for full guided setup.");
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
//#endregion
|
|
239
|
+
//#region src/cli/program/register.setup.ts
|
|
240
|
+
function registerSetupCommand(program) {
|
|
241
|
+
program.command("setup").description("Initialize ANIMA config and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.noxsoft.net/anima/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.anima/workspace; stored as agents.defaults.workspace)").option("--preset <name>", "Apply a setup preset (supported: noxsoft-autonomy)").option("--heartbeat-every <duration>", "Set agents.defaults.heartbeat.every (e.g. 5m, 30m, 1h)").option("--heartbeat-target <target>", "Set agents.defaults.heartbeat.target (last|none|<channel-id>)").option("--heartbeat-prompt <text>", "Set agents.defaults.heartbeat.prompt").option("--noxsoft-agent-name <slug>", "Preferred NoxSoft agent name for automatic registration").option("--noxsoft-display-name <name>", "Preferred NoxSoft display name for automatic registration").option("--wizard", "Run the interactive onboarding wizard", false).option("--non-interactive", "Run the wizard without prompts", false).action(async (opts, command) => {
|
|
242
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
243
|
+
const hasWizardFlags = hasExplicitOptions(command, ["wizard", "nonInteractive"]);
|
|
244
|
+
if (opts.wizard || hasWizardFlags) {
|
|
245
|
+
await onboardCommand({
|
|
246
|
+
workspace: opts.workspace,
|
|
247
|
+
nonInteractive: Boolean(opts.nonInteractive),
|
|
248
|
+
noxsoftAgentName: opts.noxsoftAgentName,
|
|
249
|
+
noxsoftDisplayName: opts.noxsoftDisplayName
|
|
250
|
+
}, defaultRuntime);
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
await setupCommand({
|
|
254
|
+
workspace: opts.workspace,
|
|
255
|
+
preset: opts.preset,
|
|
256
|
+
heartbeatEvery: opts.heartbeatEvery,
|
|
257
|
+
heartbeatTarget: opts.heartbeatTarget,
|
|
258
|
+
heartbeatPrompt: opts.heartbeatPrompt,
|
|
259
|
+
noxsoftAgentName: opts.noxsoftAgentName,
|
|
260
|
+
noxsoftDisplayName: opts.noxsoftDisplayName
|
|
261
|
+
}, defaultRuntime);
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
//#endregion
|
|
267
|
+
export { registerSetupCommand };
|
|
@@ -2,45 +2,45 @@ import "./paths-zhVksOvm.js";
|
|
|
2
2
|
import { B as theme, P as setVerbose, k as info, u as defaultRuntime, z as isRich } from "./subsystem-BaJ-PqmA.js";
|
|
3
3
|
import "./utils-RdHkpqQp.js";
|
|
4
4
|
import "./pi-embedded-helpers-6Tb87sgU.js";
|
|
5
|
-
import "./subagent-registry-
|
|
6
|
-
import "./reply-
|
|
5
|
+
import "./subagent-registry-D4idxv3D.js";
|
|
6
|
+
import "./reply-BJ3jrefM.js";
|
|
7
7
|
import "./exec-Bsq6vlwp.js";
|
|
8
|
-
import "./agent-scope-
|
|
9
|
-
import { _ as DEFAULT_MODEL, d as resolveConfiguredModelRef, g as DEFAULT_CONTEXT_TOKENS, v as DEFAULT_PROVIDER } from "./model-selection-
|
|
8
|
+
import "./agent-scope-vpVhWds3.js";
|
|
9
|
+
import { _ as DEFAULT_MODEL, d as resolveConfiguredModelRef, g as DEFAULT_CONTEXT_TOKENS, v as DEFAULT_PROVIDER } from "./model-selection-C2dz3AhV.js";
|
|
10
10
|
import "./lanes-CjLEc1h9.js";
|
|
11
|
-
import { i as loadConfig } from "./config-
|
|
11
|
+
import { i as loadConfig } from "./config-9JRRXykP.js";
|
|
12
12
|
import "./boolean-Wzu0-e0P.js";
|
|
13
13
|
import "./env-CYcXAarB.js";
|
|
14
14
|
import "./shell-env-SbFYz02H.js";
|
|
15
15
|
import "./manifest-registry-DLouWVJe.js";
|
|
16
|
-
import { T as resolveFreshSessionTotalTokens, i as loadSessionStore } from "./sessions-
|
|
16
|
+
import { T as resolveFreshSessionTotalTokens, i as loadSessionStore } from "./sessions-0J_pFd44.js";
|
|
17
17
|
import "./image-ops-CVabMYiY.js";
|
|
18
18
|
import "./polls-vAdf9owY.js";
|
|
19
|
-
import "./auth-profiles-
|
|
19
|
+
import "./auth-profiles-DZS4PC_i.js";
|
|
20
20
|
import "./file-lock-BRW4LeL0.js";
|
|
21
|
-
import "./model-auth-
|
|
22
|
-
import { zt as lookupContextTokens } from "./cli-session-
|
|
21
|
+
import "./model-auth-DUHamQTz.js";
|
|
22
|
+
import { zt as lookupContextTokens } from "./cli-session-CIhvoVRb.js";
|
|
23
23
|
import "./tokens-BLOye_TP.js";
|
|
24
|
-
import "./sandbox-
|
|
25
|
-
import "./chrome-
|
|
24
|
+
import "./sandbox-wL61f1WP.js";
|
|
25
|
+
import "./chrome-_87P03u5.js";
|
|
26
26
|
import "./auth-B8ry4GB_.js";
|
|
27
|
-
import "./server-context-
|
|
27
|
+
import "./server-context-CcPmRFx_.js";
|
|
28
28
|
import "./skills-DsdcfeyV.js";
|
|
29
|
-
import "./routes-
|
|
29
|
+
import "./routes-CNqS9gOj.js";
|
|
30
30
|
import "./ports-CmAt9mb6.js";
|
|
31
31
|
import "./message-channel-BbkwF58_.js";
|
|
32
32
|
import "./plugins-CFb1gJ4N.js";
|
|
33
33
|
import { c as resolveStorePath } from "./paths-CqMZNi-M.js";
|
|
34
34
|
import "./tool-images-C4cophRS.js";
|
|
35
|
-
import "./parse-timeout-
|
|
35
|
+
import "./parse-timeout-qnHqZvCW.js";
|
|
36
36
|
import "./chunk-DprzQA5H.js";
|
|
37
|
-
import "./deliver-
|
|
38
|
-
import "./pi-tools.policy-
|
|
39
|
-
import "./client-
|
|
40
|
-
import "./call-
|
|
37
|
+
import "./deliver-tQREYhAr.js";
|
|
38
|
+
import "./pi-tools.policy-BoWzLBtH.js";
|
|
39
|
+
import "./client-BM5PkIwQ.js";
|
|
40
|
+
import "./call-C0Yk2qNb.js";
|
|
41
41
|
import { n as formatTimeAgo } from "./format-relative-C57Jb4Zw.js";
|
|
42
|
-
import "./memory-cli-
|
|
43
|
-
import "./manager-
|
|
42
|
+
import "./memory-cli-CDMb58Y3.js";
|
|
43
|
+
import "./manager-1ZMunRXe.js";
|
|
44
44
|
import "./sqlite-EkbWHNXu.js";
|
|
45
45
|
import "./redact-BICFkpn7.js";
|
|
46
46
|
import "./session-DmKXXA8P.js";
|
|
@@ -53,27 +53,27 @@ import { t as runCommandWithRuntime } from "./cli-utils-C2Dtl4o_.js";
|
|
|
53
53
|
import "./progress-gdB4V88Q.js";
|
|
54
54
|
import "./logging-1vypRz8h.js";
|
|
55
55
|
import "./auth-store-DWgI4Vj8.js";
|
|
56
|
-
import "./control-service-
|
|
57
|
-
import "./dispatcher-
|
|
56
|
+
import "./control-service-BpEnt1xS.js";
|
|
57
|
+
import "./dispatcher-wmQlHNsm.js";
|
|
58
58
|
import "./pi-model-discovery-HH8RvApN.js";
|
|
59
59
|
import "./delivery-queue-CdUtwMZr.js";
|
|
60
60
|
import "./session-cost-usage-CYdqhmt6.js";
|
|
61
61
|
import { n as parsePositiveIntOrUndefined } from "./helpers-9N2Q5aZj.js";
|
|
62
62
|
import "./skills-status-DeW3dXom.js";
|
|
63
63
|
import "./dangerous-tools-C7Q_csTW.js";
|
|
64
|
-
import "./onboard-helpers-
|
|
64
|
+
import "./onboard-helpers-CMW6MSXA.js";
|
|
65
65
|
import "./prompt-style-CXrnxWQG.js";
|
|
66
66
|
import "./systemd-IDjybnbO.js";
|
|
67
67
|
import "./service-H_0E0nOX.js";
|
|
68
68
|
import "./diagnostics-zpQTQwXE.js";
|
|
69
69
|
import "./table-BDer4ZEZ.js";
|
|
70
|
-
import "./audit-
|
|
71
|
-
import { t as statusCommand } from "./status-
|
|
72
|
-
import { r as healthCommand } from "./health-
|
|
70
|
+
import "./audit-Cm50mcVm.js";
|
|
71
|
+
import { t as statusCommand } from "./status-DNUP2mgR.js";
|
|
72
|
+
import { r as healthCommand } from "./health-Cb_2WS_Z.js";
|
|
73
73
|
import "./channels-status-issues-BCuAG8zm.js";
|
|
74
74
|
import "./skill-scanner-BA9Rv4AE.js";
|
|
75
75
|
import "./node-service-CCMaTNEM.js";
|
|
76
|
-
import "./status.update-
|
|
76
|
+
import "./status.update-s92nCoGl.js";
|
|
77
77
|
import { t as formatHelpExamples } from "./help-format-CaDQjeYI.js";
|
|
78
78
|
|
|
79
79
|
//#region src/commands/sessions.ts
|