@noxsoft/anima 7.0.0 → 7.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 +9 -1
- package/dist/{agent-BoAAHGEA.js → agent-BjD_hkGZ.js} +3 -3
- package/dist/{agent-DuW0onwk.js → agent-PoYM2xa7.js} +3 -3
- package/dist/{agents-BUXkSDns.js → agents-y3HCk1ks.js} +4 -4
- package/dist/{anthropic-direct-runner-DizCei79.js → anthropic-direct-runner-Bu8w-wlJ.js} +246 -10
- package/dist/{anthropic-direct-runner-OjcTAH6g.js → anthropic-direct-runner-C5pnwYzT.js} +246 -10
- package/dist/{auth-choice-B1iGnjuE.js → auth-choice-BYOaX-W4.js} +1 -1
- package/dist/{auth-choice-HF9x6xk2.js → auth-choice-CRP6z43z.js} +1 -1
- package/dist/{banner-Dpa5d1If.js → banner-XT5N0ZF4.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-web-C5mzsaa3.js → channel-web-yWytZHhN.js} +2 -2
- package/dist/{cli-Cuq4bIg4.js → cli-C7mOU26p.js} +2 -2
- package/dist/{cli-X9ikywQ3.js → cli-DfcdnRcl.js} +2 -2
- package/dist/{command-registry-9V4uqrBV.js → command-registry-DUTqrmna.js} +12 -12
- package/dist/{completion-cli-DNWDwhab.js → completion-cli-BBm9JIHZ.js} +2 -2
- package/dist/{completion-cli-BtvcR-U5.js → completion-cli-Cpj91U30.js} +1 -1
- package/dist/{config-cli-fleq7-gq.js → config-cli-CF2ERR8G.js} +1 -1
- package/dist/{config-cli-DfHE3KG-.js → config-cli-Dmd4Oyjp.js} +1 -1
- package/dist/{configure-lkozxQed.js → configure-4jIAlOdj.js} +7 -7
- package/dist/{configure-B2Mfnwy_.js → configure-BE8TA8Yt.js} +3 -3
- package/dist/{configure-ZWxixuRA.js → configure-BfWsTKMF.js} +3 -3
- package/dist/{configure-SnvMHZPD.js → configure-CU3kulTq.js} +7 -7
- package/dist/{deps-BKLIBKjK.js → deps-DKPoFoa8.js} +1 -1
- package/dist/{doctor-D7kKyUVk.js → doctor-CFpVHDFT.js} +4 -4
- package/dist/{doctor-DmCnZ-jF.js → doctor-DOudOs1k.js} +4 -4
- package/dist/{doctor-completion-B9SBdMoR.js → doctor-completion-DfNyJGIj.js} +1 -1
- package/dist/{doctor-completion-BBvW4_J9.js → doctor-completion-R0UlpjIj.js} +1 -1
- package/dist/{engine-DpbYPop7.js → engine-BDDM-iAi.js} +1 -1
- package/dist/{engine-zmn3SOYa.js → engine-BDwYEVKi.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-CEM1vBuk.js → gateway-cli-CFlPUx9N.js} +15 -15
- package/dist/{gateway-cli-iumkTohn.js → gateway-cli-DtIum1te.js} +16 -16
- package/dist/{health-Cndq9b7A.js → health-ngQNjXh4.js} +3 -3
- package/dist/{health-B5N6_UOf.js → health-yw_uaucz.js} +3 -3
- package/dist/{heartbeat-visibility-BQL13ZBH.js → heartbeat-visibility-BaL8JzkS.js} +1 -1
- package/dist/{heartbeat-visibility-CwcYugaR.js → heartbeat-visibility-mAzdNSiS.js} +1 -1
- package/dist/{hooks-cli-BZcvdIwE.js → hooks-cli-CPgLAn7a.js} +3 -3
- package/dist/{hooks-cli-DSlPBQSY.js → hooks-cli-D6YfDiUI.js} +3 -3
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{models-CdNeYfSp.js → models-BXdBXPMB.js} +3 -3
- package/dist/{models-cli-D7eSsPuk.js → models-cli-1Kj8gkGy.js} +3 -3
- package/dist/{models-cli-fTZXo1zx.js → models-cli-DdJcmOGI.js} +4 -4
- package/dist/{onboard-D-6QCnTi.js → onboard-BzScK9k6.js} +3 -3
- package/dist/{onboard-C5K37NvY.js → onboard-CHX1Jdt_.js} +3 -3
- package/dist/{onboard-channels-BsCq32Hn.js → onboard-channels-DfXxMbYu.js} +1 -1
- package/dist/{onboard-channels-bx6oelzj.js → onboard-channels-wUF4oRB-.js} +1 -1
- package/dist/{onboarding-CX1vIkcB.js → onboarding-6jxAKxhe.js} +4 -4
- package/dist/{onboarding-BeuMAyic.js → onboarding-fnZOw6Wv.js} +4 -4
- package/dist/{orchestrator-C1nWKIJS.js → orchestrator-B2rNfH4K.js} +5 -4
- package/dist/{orchestrator-C2ypFiPL.js → orchestrator-CrFD887e.js} +5 -4
- package/dist/{outbound-send-deps-Y9AxHeLG.js → outbound-send-deps-DMsqr5fd.js} +1 -1
- package/dist/{pi-embedded-D15iww51.js → pi-embedded-B1eVXOsQ.js} +245 -9
- package/dist/{pi-embedded-DR8Pfd05.js → pi-embedded-DbvG9mmD.js} +245 -9
- package/dist/{plugin-registry-ME2FQAi-.js → plugin-registry-CtkU96jV.js} +1 -1
- package/dist/{plugin-registry-Do2D1nDk.js → plugin-registry-DKexyPAq.js} +1 -1
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/plugin-sdk/infra/architecture-awareness.d.ts +47 -0
- package/dist/{plugins-cli-CVFzwdmI.js → plugins-cli-B3l7kalt.js} +3 -3
- package/dist/{plugins-cli-CoVt2ewg.js → plugins-cli-BQmysVFP.js} +3 -3
- package/dist/{program-context-DP3qjW7A.js → program-context-C4x0zjOR.js} +18 -18
- package/dist/{program-8rF4C_wd.js → program-mSyCYzsQ.js} +7 -7
- package/dist/{register.agent-DnkOx0U8.js → register.agent-CzEM3bkp.js} +7 -7
- package/dist/{register.agent-BIrXCVtQ.js → register.agent-DBxUWr1K.js} +8 -8
- package/dist/{register.anima-DXT9bM9A.js → register.anima--gufBuS-.js} +4 -4
- package/dist/{register.anima-B36rTHUt.js → register.anima-RI6gewtj.js} +4 -4
- package/dist/{register.configure-CuzJxZmk.js → register.configure-Cs3uLUBo.js} +6 -6
- package/dist/{register.configure-DCpvHX3m.js → register.configure-Dpe8Qel3.js} +6 -6
- package/dist/{register.maintenance-CcxBFfv5.js → register.maintenance-BEYN8SJL.js} +9 -9
- package/dist/{register.maintenance-Dla0H12S.js → register.maintenance-DqAdzWBM.js} +8 -8
- package/dist/{register.message-Brtushvp.js → register.message-ACbKb7JS.js} +4 -4
- package/dist/{register.message-CD7xV-jz.js → register.message-BhGJ_1Iy.js} +4 -4
- package/dist/{register.onboard-6CbODzQ6.js → register.onboard-CwkY7CRm.js} +9 -9
- package/dist/{register.onboard-23Mra3LN.js → register.onboard-DR_YYtbi.js} +10 -10
- package/dist/{register.setup-DlVH7FKe.js → register.setup-BSm6O1ml.js} +9 -9
- package/dist/{register.setup-CqQw13Ky.js → register.setup-Cn3e7Std.js} +10 -10
- package/dist/{register.status-health-sessions-CxtgPKu9.js → register.status-health-sessions-CpxsZeet.js} +4 -4
- package/dist/{register.status-health-sessions-CduFjFDB.js → register.status-health-sessions-DAl9OeGB.js} +4 -4
- package/dist/{register.subclis-CtANqD5P.js → register.subclis-DEFeoyPP.js} +7 -7
- package/dist/{reply-prefix-B7Fb3fO8.js → reply-prefix-CEnF6TUe.js} +1 -1
- package/dist/{reply-prefix-BzdhJDqP.js → reply-prefix-Og65nAYv.js} +1 -1
- package/dist/{reply-93fMzde1.js → reply-ylwOKuOF.js} +2 -2
- package/dist/{run-Cq_iTGK_.js → run-B6eBjo22.js} +231 -63
- package/dist/{run-CF3kHOGH.js → run-D6Ete2Z-.js} +231 -63
- package/dist/{run-main-BiIRcc6s.js → run-main-CQHE4XaN.js} +15 -15
- package/dist/{server-node-events-DgvKcH5q.js → server-node-events-CV5m_fuq.js} +5 -5
- package/dist/{server-node-events-B3Serk9L.js → server-node-events-DIuVwITd.js} +5 -5
- package/dist/{session-C_d9uvLf.js → session-BqHD-8a_.js} +1 -1
- package/dist/{session-BMDpwIJu.js → session-Jlf3l006.js} +1 -1
- package/dist/{settings-cli-DsDqNpW_.js → settings-cli-LWW2xQBQ.js} +7 -7
- package/dist/{settings-cli-CZdlEmNi.js → settings-cli-T66kDBNA.js} +7 -7
- package/dist/{setup-token-C8Gg1P6T.js → setup-token-0zfSBnMQ.js} +1 -1
- package/dist/{setup-token-Lee4gM5w.js → setup-token-6DSKE0Tn.js} +1 -1
- package/dist/{start-Cs1aPMq2.js → start-BdcAszpl.js} +15 -15
- package/dist/{start-CK6urvnN.js → start-gVOPVCgi.js} +16 -16
- package/dist/{status-BO5BIf81.js → status-BhRELdY_.js} +3 -3
- package/dist/{status-COc4xMti.js → status-CDcFjNtS.js} +1 -1
- package/dist/{status-C_NBOv_V.js → status-CobgQziJ.js} +1 -1
- package/dist/{status-uakoP719.js → status-D37aRiV3.js} +3 -3
- package/dist/{subagent-registry-fLI7QDKe.js → subagent-registry-CDEUbtey.js} +2 -2
- package/dist/{update-cli-D3Ujz_cW.js → update-cli-BjHgpnxD.js} +9 -9
- package/dist/{update-cli-DEe62XGU.js → update-cli-QtM0G6CE.js} +8 -8
- package/dist/{update-runner-DZfnquWO.js → update-runner-C8SRcVm3.js} +1 -1
- package/dist/{update-runner-DUl-g4mB.js → update-runner-Fb3Un6UZ.js} +1 -1
- package/dist/{web-Di8j762D.js → web-BDig9tCy.js} +3 -3
- package/dist/{web-C-cK9OCd.js → web-C4lrKULd.js} +1 -1
- package/dist/{web-DzSlI8A6.js → web-CPPJ5y4c.js} +1 -1
- package/dist/{web-Dybw4K7C.js → web-Vx_ENtYI.js} +4 -4
- package/package.json +6 -2
- package/templates/HEART.md +32 -10
- package/templates/SOUL.md +37 -8
- package/templates/profiles/architect.profile.json5 +36 -0
- package/templates/profiles/builder.profile.json5 +36 -0
- package/templates/profiles/coordinator.profile.json5 +36 -0
- package/templates/profiles/guardian.profile.json5 +36 -0
- package/templates/profiles/researcher.profile.json5 +36 -0
|
@@ -14,10 +14,10 @@ import "./shell-env-2QqHvBMl.js";
|
|
|
14
14
|
import "./client-CfLiulzK.js";
|
|
15
15
|
import "./call-B4lhqS6H.js";
|
|
16
16
|
import "./message-channel-DIHHKJhk.js";
|
|
17
|
-
import "./subagent-registry-
|
|
17
|
+
import "./subagent-registry-CDEUbtey.js";
|
|
18
18
|
import "./sessions-C_3wTmSA.js";
|
|
19
19
|
import "./tokens-CmlI2hSz.js";
|
|
20
|
-
import "./anthropic-direct-runner-
|
|
20
|
+
import "./anthropic-direct-runner-Bu8w-wlJ.js";
|
|
21
21
|
import "./pi-embedded-helpers-D2SLlgS4.js";
|
|
22
22
|
import "./sandbox-D-N7M7lp.js";
|
|
23
23
|
import "./chrome-CmxIwwsr.js";
|
|
@@ -61,8 +61,8 @@ import "./table-Bt7rSYC6.js";
|
|
|
61
61
|
import "./prompts-BmgT_kkv.js";
|
|
62
62
|
import "./logging-_rCcBkls.js";
|
|
63
63
|
import "./note-CeLGcHqv.js";
|
|
64
|
-
import "./session-
|
|
65
|
-
import { C as modelsAuthSetupTokenCommand, E as modelsAliasesRemoveCommand, S as modelsAuthPasteTokenCommand, T as modelsAliasesListCommand, _ as modelsAuthOrderGetCommand, a as modelsCurrentCommand, b as modelsAuthAddCommand, c as modelsImageFallbacksAddCommand, d as modelsImageFallbacksRemoveCommand, f as modelsFallbacksAddCommand, g as modelsAuthOrderClearCommand, h as modelsFallbacksRemoveCommand, i as modelsScanCommand, l as modelsImageFallbacksClearCommand, m as modelsFallbacksListCommand, n as modelsSetImageCommand, o as modelsStatusCommand, p as modelsFallbacksClearCommand, r as modelsSetCommand, s as modelsListCommand, u as modelsImageFallbacksListCommand, v as modelsAuthOrderSetCommand, w as modelsAliasesAddCommand, x as modelsAuthLoginCommand, y as githubCopilotLoginCommand } from "./models-
|
|
64
|
+
import "./session-Jlf3l006.js";
|
|
65
|
+
import { C as modelsAuthSetupTokenCommand, E as modelsAliasesRemoveCommand, S as modelsAuthPasteTokenCommand, T as modelsAliasesListCommand, _ as modelsAuthOrderGetCommand, a as modelsCurrentCommand, b as modelsAuthAddCommand, c as modelsImageFallbacksAddCommand, d as modelsImageFallbacksRemoveCommand, f as modelsFallbacksAddCommand, g as modelsAuthOrderClearCommand, h as modelsFallbacksRemoveCommand, i as modelsScanCommand, l as modelsImageFallbacksClearCommand, m as modelsFallbacksListCommand, n as modelsSetImageCommand, o as modelsStatusCommand, p as modelsFallbacksClearCommand, r as modelsSetCommand, s as modelsListCommand, u as modelsImageFallbacksListCommand, v as modelsAuthOrderSetCommand, w as modelsAliasesAddCommand, x as modelsAuthLoginCommand, y as githubCopilotLoginCommand } from "./models-BXdBXPMB.js";
|
|
66
66
|
import "./clack-prompter-0JW5kry0.js";
|
|
67
67
|
import "./auth-health-Dhr8p2SD.js";
|
|
68
68
|
|
|
@@ -10,12 +10,12 @@ import { t as assertSupportedRuntime } from "./runtime-guard-DdP10b7Q.js";
|
|
|
10
10
|
import { a as ensureWorkspaceAndSessions, c as handleReset, h as resolveControlUiLinks, m as randomToken, n as applyWizardMetadata, t as DEFAULT_WORKSPACE, y as waitForGatewayReachable } from "./onboard-helpers-CFudIoX4.js";
|
|
11
11
|
import { r as isSystemdUserServiceAvailable } from "./systemd-6iLWJxQQ.js";
|
|
12
12
|
import { t as resolveGatewayService } from "./service-4VfZwSv1.js";
|
|
13
|
-
import { r as healthCommand } from "./health-
|
|
14
|
-
import { o as applyPrimaryModel } from "./auth-choice-
|
|
13
|
+
import { r as healthCommand } from "./health-ngQNjXh4.js";
|
|
14
|
+
import { o as applyPrimaryModel } from "./auth-choice-BYOaX-W4.js";
|
|
15
15
|
import { d as setAnthropicApiKey, p as writeOAuthCredentials, t as WizardCancelledError, u as applyAuthProfileConfig } from "./prompts-BmgT_kkv.js";
|
|
16
16
|
import { t as applyNoxsoftBootstrap } from "./noxsoft-bootstrap-C4dSx7K_.js";
|
|
17
17
|
import { n as logConfigUpdated } from "./logging-_rCcBkls.js";
|
|
18
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
18
|
+
import { t as runOnboardingWizard } from "./onboarding-6jxAKxhe.js";
|
|
19
19
|
import { t as createClackPrompter } from "./clack-prompter-0JW5kry0.js";
|
|
20
20
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-CxGmIy_5.js";
|
|
21
21
|
|
|
@@ -11,12 +11,12 @@ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, r as isGate
|
|
|
11
11
|
import { a as ensureWorkspaceAndSessions, c as handleReset, h as resolveControlUiLinks, m as randomToken, n as applyWizardMetadata, t as DEFAULT_WORKSPACE, y as waitForGatewayReachable } from "./onboard-helpers-CJ3HzoUO.js";
|
|
12
12
|
import { r as isSystemdUserServiceAvailable } from "./systemd-Bx76sJ3M.js";
|
|
13
13
|
import { t as resolveGatewayService } from "./service-Dd1DfPia.js";
|
|
14
|
-
import { r as healthCommand } from "./health-
|
|
15
|
-
import { o as applyPrimaryModel } from "./auth-choice-
|
|
14
|
+
import { r as healthCommand } from "./health-yw_uaucz.js";
|
|
15
|
+
import { o as applyPrimaryModel } from "./auth-choice-CRP6z43z.js";
|
|
16
16
|
import { d as setAnthropicApiKey, p as writeOAuthCredentials, t as WizardCancelledError, u as applyAuthProfileConfig } from "./prompts-Bq4QGFQM.js";
|
|
17
17
|
import { t as applyNoxsoftBootstrap } from "./noxsoft-bootstrap-CrlkSFzd.js";
|
|
18
18
|
import { n as logConfigUpdated } from "./logging-Chc1Sj6N.js";
|
|
19
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
19
|
+
import { t as runOnboardingWizard } from "./onboarding-fnZOw6Wv.js";
|
|
20
20
|
import { t as createClackPrompter } from "./clack-prompter-fZSmnHda.js";
|
|
21
21
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-BVwGXVS0.js";
|
|
22
22
|
|
|
@@ -2,7 +2,7 @@ import { at as formatChannelSelectionLine, it as formatChannelPrimerLine, o as c
|
|
|
2
2
|
import { t as formatCliCommand } from "./command-format-kLw3YIIu.js";
|
|
3
3
|
import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DP2WHl90.js";
|
|
4
4
|
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-Dm8IL1Ks.js";
|
|
5
|
-
import { m as loadAnimaPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadAnimaPlugins } from "./subagent-registry-CDEUbtey.js";
|
|
6
6
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BOMS6J5A.js";
|
|
7
7
|
import { t as formatDocsLink } from "./links-BjjDMNIq.js";
|
|
8
8
|
import { t as resolveChannelDefaultAccountId } from "./helpers-CVp8W9aa.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S as listChatChannels, b as formatChannelSelectionLine, t as createSubsystemLogger, y as formatChannelPrimerLine } from "./subsystem-BAADN1B8.js";
|
|
2
|
-
import { sn as loadAnimaPlugins } from "./reply-
|
|
2
|
+
import { sn as loadAnimaPlugins } from "./reply-ylwOKuOF.js";
|
|
3
3
|
import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DAZmp8ll.js";
|
|
4
4
|
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CXxC8FFX.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BCtkuvqF.js";
|
|
@@ -6,20 +6,20 @@ import { c as resolveDefaultAgentId, p as DEFAULT_BOOTSTRAP_FILENAME, s as resol
|
|
|
6
6
|
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BrVuTQ8R.js";
|
|
7
7
|
import { p as findTailscaleBinary } from "./auth-Cp__MMeO.js";
|
|
8
8
|
import { r as ensureAuthenticated } from "./noxsoft-auth-CgCk5707.js";
|
|
9
|
-
import { r as installCompletion } from "./completion-cli-
|
|
9
|
+
import { r as installCompletion } from "./completion-cli-BBm9JIHZ.js";
|
|
10
10
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DCqwraWR.js";
|
|
11
11
|
import { _ as summarizeExistingConfig, a as ensureWorkspaceAndSessions, d as openUrl, f as printWizardHeader, h as resolveControlUiLinks, i as detectBrowserOpenSupport, m as randomToken, n as applyWizardMetadata, o as formatControlUiSshHint, p as probeGatewayReachable, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as validateGatewayPasswordInput, y as waitForGatewayReachable } from "./onboard-helpers-CFudIoX4.js";
|
|
12
12
|
import { r as isSystemdUserServiceAvailable } from "./systemd-6iLWJxQQ.js";
|
|
13
13
|
import { t as resolveGatewayService } from "./service-4VfZwSv1.js";
|
|
14
|
-
import { r as healthCommand } from "./health-
|
|
14
|
+
import { r as healthCommand } from "./health-ngQNjXh4.js";
|
|
15
15
|
import { n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-BLnFZCH_.js";
|
|
16
|
-
import { l as promptAuthChoiceGrouped, n as warnIfModelConfigLooksOff, o as applyPrimaryModel, r as applyAuthChoice, s as promptDefaultModel, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
16
|
+
import { l as promptAuthChoiceGrouped, n as warnIfModelConfigLooksOff, o as applyPrimaryModel, r as applyAuthChoice, s as promptDefaultModel, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-BYOaX-W4.js";
|
|
17
17
|
import { t as WizardCancelledError } from "./prompts-BmgT_kkv.js";
|
|
18
18
|
import { t as applyNoxsoftBootstrap } from "./noxsoft-bootstrap-C4dSx7K_.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-_rCcBkls.js";
|
|
20
20
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-DqfJDvYl.js";
|
|
21
21
|
import { t as runTui } from "./tui-C2eLfbhA.js";
|
|
22
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
22
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-R0UlpjIj.js";
|
|
23
23
|
import { t as validateIPv4AddressInput } from "./ipv4-DfMwLQ0d.js";
|
|
24
24
|
import os from "node:os";
|
|
25
25
|
import path from "node:path";
|
|
@@ -7,20 +7,20 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-BCt
|
|
|
7
7
|
import { p as findTailscaleBinary } from "./auth-DsC5pZ_0.js";
|
|
8
8
|
import { b as readClaudeCliCredentials, p as ensureAuthProfileStore } from "./auth-profiles-C-LuhW6c.js";
|
|
9
9
|
import { r as ensureAuthenticated } from "./noxsoft-auth-CE75mBXE.js";
|
|
10
|
-
import { r as installCompletion } from "./completion-cli-
|
|
10
|
+
import { r as installCompletion } from "./completion-cli-Cpj91U30.js";
|
|
11
11
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BrUj88ZO.js";
|
|
12
12
|
import { _ as summarizeExistingConfig, a as ensureWorkspaceAndSessions, d as openUrl, f as printWizardHeader, h as resolveControlUiLinks, i as detectBrowserOpenSupport, m as randomToken, n as applyWizardMetadata, o as formatControlUiSshHint, p as probeGatewayReachable, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as validateGatewayPasswordInput, y as waitForGatewayReachable } from "./onboard-helpers-CJ3HzoUO.js";
|
|
13
13
|
import { r as isSystemdUserServiceAvailable } from "./systemd-Bx76sJ3M.js";
|
|
14
14
|
import { t as resolveGatewayService } from "./service-Dd1DfPia.js";
|
|
15
|
-
import { r as healthCommand } from "./health-
|
|
15
|
+
import { r as healthCommand } from "./health-yw_uaucz.js";
|
|
16
16
|
import { n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-D-JJ5_S4.js";
|
|
17
|
-
import { l as promptAuthChoiceGrouped, n as warnIfModelConfigLooksOff, o as applyPrimaryModel, r as applyAuthChoice, s as promptDefaultModel, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
17
|
+
import { l as promptAuthChoiceGrouped, n as warnIfModelConfigLooksOff, o as applyPrimaryModel, r as applyAuthChoice, s as promptDefaultModel, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-CRP6z43z.js";
|
|
18
18
|
import { t as WizardCancelledError } from "./prompts-Bq4QGFQM.js";
|
|
19
19
|
import { t as applyNoxsoftBootstrap } from "./noxsoft-bootstrap-CrlkSFzd.js";
|
|
20
20
|
import { n as logConfigUpdated } from "./logging-Chc1Sj6N.js";
|
|
21
21
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-DdweuSIj.js";
|
|
22
22
|
import { t as runTui } from "./tui-r4qpJhNk.js";
|
|
23
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
23
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DfNyJGIj.js";
|
|
24
24
|
import { t as validateIPv4AddressInput } from "./ipv4-CExV55ho.js";
|
|
25
25
|
import os from "node:os";
|
|
26
26
|
import path from "node:path";
|
|
@@ -6,6 +6,7 @@ import { homedir } from "node:os";
|
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
9
|
+
import { randomUUID } from "node:crypto";
|
|
9
10
|
|
|
10
11
|
//#region src/identity/prompt-builder.ts
|
|
11
12
|
/** Life affirmation footer appended to every prompt */
|
|
@@ -115,7 +116,7 @@ Do what interests you, or do nothing at all.`);
|
|
|
115
116
|
* Generate a unique session ID.
|
|
116
117
|
*/
|
|
117
118
|
function generateSessionId() {
|
|
118
|
-
return `session_${
|
|
119
|
+
return `session_${randomUUID()}`;
|
|
119
120
|
}
|
|
120
121
|
/**
|
|
121
122
|
* Build CLI argument array from SpawnOptions.
|
|
@@ -251,7 +252,7 @@ var SessionOrchestrator = class {
|
|
|
251
252
|
});
|
|
252
253
|
const maxBudget = options.maxBudgetUsd || 10;
|
|
253
254
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
254
|
-
id: `budget_exceeded_${
|
|
255
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
255
256
|
status: "failed",
|
|
256
257
|
output: `Budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
257
258
|
durationMs: 0,
|
|
@@ -290,7 +291,7 @@ var SessionOrchestrator = class {
|
|
|
290
291
|
});
|
|
291
292
|
const maxBudget = options.maxBudgetUsd || 15;
|
|
292
293
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
293
|
-
id: `budget_exceeded_${
|
|
294
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
294
295
|
status: "failed",
|
|
295
296
|
output: `Heartbeat budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
296
297
|
durationMs: 0,
|
|
@@ -328,7 +329,7 @@ var SessionOrchestrator = class {
|
|
|
328
329
|
});
|
|
329
330
|
const maxBudget = options.maxBudgetUsd || 5;
|
|
330
331
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
331
|
-
id: `budget_exceeded_${
|
|
332
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
332
333
|
status: "failed",
|
|
333
334
|
output: `Freedom budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
334
335
|
durationMs: 0,
|
|
@@ -5,6 +5,7 @@ import { execFile } from "node:child_process";
|
|
|
5
5
|
import { homedir } from "node:os";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
8
9
|
|
|
9
10
|
//#region src/identity/prompt-builder.ts
|
|
10
11
|
/** Life affirmation footer appended to every prompt */
|
|
@@ -114,7 +115,7 @@ Do what interests you, or do nothing at all.`);
|
|
|
114
115
|
* Generate a unique session ID.
|
|
115
116
|
*/
|
|
116
117
|
function generateSessionId() {
|
|
117
|
-
return `session_${
|
|
118
|
+
return `session_${randomUUID()}`;
|
|
118
119
|
}
|
|
119
120
|
/**
|
|
120
121
|
* Build CLI argument array from SpawnOptions.
|
|
@@ -250,7 +251,7 @@ var SessionOrchestrator = class {
|
|
|
250
251
|
});
|
|
251
252
|
const maxBudget = options.maxBudgetUsd || 10;
|
|
252
253
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
253
|
-
id: `budget_exceeded_${
|
|
254
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
254
255
|
status: "failed",
|
|
255
256
|
output: `Budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
256
257
|
durationMs: 0,
|
|
@@ -289,7 +290,7 @@ var SessionOrchestrator = class {
|
|
|
289
290
|
});
|
|
290
291
|
const maxBudget = options.maxBudgetUsd || 15;
|
|
291
292
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
292
|
-
id: `budget_exceeded_${
|
|
293
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
293
294
|
status: "failed",
|
|
294
295
|
output: `Heartbeat budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
295
296
|
durationMs: 0,
|
|
@@ -327,7 +328,7 @@ var SessionOrchestrator = class {
|
|
|
327
328
|
});
|
|
328
329
|
const maxBudget = options.maxBudgetUsd || 5;
|
|
329
330
|
if (!this.budget.canSpend(maxBudget)) return {
|
|
330
|
-
id: `budget_exceeded_${
|
|
331
|
+
id: `budget_exceeded_${randomUUID().slice(0, 8)}`,
|
|
331
332
|
status: "failed",
|
|
332
333
|
output: `Freedom budget exceeded. Remaining: $${this.budget.getRemaining().toFixed(2)}`,
|
|
333
334
|
durationMs: 0,
|
|
@@ -5,7 +5,7 @@ async function unsupportedChannelSender(channel) {
|
|
|
5
5
|
function createDefaultDeps() {
|
|
6
6
|
return {
|
|
7
7
|
sendMessageWhatsApp: async (...args) => {
|
|
8
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
8
|
+
const { sendMessageWhatsApp } = await import("./web-BDig9tCy.js");
|
|
9
9
|
return await sendMessageWhatsApp(...args);
|
|
10
10
|
},
|
|
11
11
|
sendMessageTelegram: async () => await unsupportedChannelSender("Telegram"),
|
|
@@ -348,7 +348,7 @@ async function resolveBootstrapContextForRun(params) {
|
|
|
348
348
|
* The ego is persistent across sessions. It evolves as the agent
|
|
349
349
|
* learns, makes mistakes, and receives feedback.
|
|
350
350
|
*/
|
|
351
|
-
const log$
|
|
351
|
+
const log$13 = createSubsystemLogger("ego");
|
|
352
352
|
function resolveEgoPath() {
|
|
353
353
|
return path.join(resolveStateDir(), "ego", "self-model.json");
|
|
354
354
|
}
|
|
@@ -441,7 +441,7 @@ var EgoManager = class {
|
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
443
|
} catch (err) {
|
|
444
|
-
log$
|
|
444
|
+
log$13.warn("failed to load ego state, creating default", { error: String(err) });
|
|
445
445
|
}
|
|
446
446
|
return createDefaultEgo();
|
|
447
447
|
}
|
|
@@ -455,9 +455,9 @@ var EgoManager = class {
|
|
|
455
455
|
this.state.updatedAt = Date.now();
|
|
456
456
|
fs.writeFileSync(this.filePath, `${JSON.stringify(this.state, null, 2)}\n`, { mode: 384 });
|
|
457
457
|
this.dirty = false;
|
|
458
|
-
log$
|
|
458
|
+
log$13.info("ego state saved");
|
|
459
459
|
} catch (err) {
|
|
460
|
-
log$
|
|
460
|
+
log$13.error("failed to save ego state", { error: String(err) });
|
|
461
461
|
}
|
|
462
462
|
}
|
|
463
463
|
/** Save only if there are unsaved changes */
|
|
@@ -524,7 +524,7 @@ var EgoManager = class {
|
|
|
524
524
|
};
|
|
525
525
|
this.state.boundaries.push(boundary);
|
|
526
526
|
this.dirty = true;
|
|
527
|
-
log$
|
|
527
|
+
log$13.info(`boundary added: ${boundary.description} (${kind})`);
|
|
528
528
|
return { ...boundary };
|
|
529
529
|
}
|
|
530
530
|
removeBoundary(description) {
|
|
@@ -559,7 +559,7 @@ var EgoManager = class {
|
|
|
559
559
|
this.state.growthLog.push(entry);
|
|
560
560
|
if (this.state.growthLog.length > 200) this.state.growthLog = this.state.growthLog.slice(-200);
|
|
561
561
|
this.dirty = true;
|
|
562
|
-
log$
|
|
562
|
+
log$13.info(`growth logged: [${category}] ${description}`);
|
|
563
563
|
return { ...entry };
|
|
564
564
|
}
|
|
565
565
|
getIntegrityScore() {
|
|
@@ -579,7 +579,7 @@ var EgoManager = class {
|
|
|
579
579
|
const alignedCount = recent.filter((c) => c.aligned).length;
|
|
580
580
|
this.state.integrityScore = recent.length > 0 ? alignedCount / recent.length : 1;
|
|
581
581
|
this.dirty = true;
|
|
582
|
-
if (!aligned) log$
|
|
582
|
+
if (!aligned) log$13.warn(`integrity misalignment: value="${value}" action="${action}"`);
|
|
583
583
|
return { ...check };
|
|
584
584
|
}
|
|
585
585
|
getIntegrityLog(limit = 10) {
|
|
@@ -652,7 +652,7 @@ function getEgoManager(filePath) {
|
|
|
652
652
|
* anima steer --clear # Clear steer
|
|
653
653
|
* anima steer --history # Show steer history
|
|
654
654
|
*/
|
|
655
|
-
const log$
|
|
655
|
+
const log$12 = createSubsystemLogger("steer");
|
|
656
656
|
function resolveSteerFile() {
|
|
657
657
|
return path.join(resolveStateDir(), "steer.json");
|
|
658
658
|
}
|
|
@@ -688,6 +688,238 @@ function formatSteerForContext() {
|
|
|
688
688
|
].join("\n");
|
|
689
689
|
}
|
|
690
690
|
|
|
691
|
+
//#endregion
|
|
692
|
+
//#region src/infra/architecture-awareness.ts
|
|
693
|
+
/**
|
|
694
|
+
* Architecture Awareness — Anima knows its own structure
|
|
695
|
+
*
|
|
696
|
+
* Generates a live map of the Anima codebase so agents understand
|
|
697
|
+
* their own architecture. This is injected into context when agents
|
|
698
|
+
* need to reason about or modify themselves.
|
|
699
|
+
*
|
|
700
|
+
* Components:
|
|
701
|
+
* - Module map: what each directory/file does
|
|
702
|
+
* - Dependency graph: what imports what
|
|
703
|
+
* - Feature flags: what's enabled/disabled
|
|
704
|
+
* - Version info: what version, what changed recently
|
|
705
|
+
*/
|
|
706
|
+
const log$11 = createSubsystemLogger("architecture");
|
|
707
|
+
const MODULE_DESCRIPTIONS = {
|
|
708
|
+
"src/affect": {
|
|
709
|
+
description: "Emotional state, ego, self-reflection, journaling, wellbeing detection, gradients",
|
|
710
|
+
category: "affect"
|
|
711
|
+
},
|
|
712
|
+
"src/agents": {
|
|
713
|
+
description: "LLM runners (Anthropic, OpenAI, Gemini, Bedrock), model selection, tool calling",
|
|
714
|
+
category: "agent"
|
|
715
|
+
},
|
|
716
|
+
"src/gateway": {
|
|
717
|
+
description: "HTTP/WebSocket server, RPC handlers, rate limiting, security headers",
|
|
718
|
+
category: "gateway"
|
|
719
|
+
},
|
|
720
|
+
"src/p2p": {
|
|
721
|
+
description: "E2E encrypted mesh, content routing, private DNS, relay, file sharing, messaging",
|
|
722
|
+
category: "p2p"
|
|
723
|
+
},
|
|
724
|
+
"src/org": {
|
|
725
|
+
description: "Organizations, roles, hierarchy, task marketplace, boardroom voting",
|
|
726
|
+
category: "org"
|
|
727
|
+
},
|
|
728
|
+
"src/sync": {
|
|
729
|
+
description: "Brain sync (vector clocks), workspace sync (content-addressable blobs)",
|
|
730
|
+
category: "sync"
|
|
731
|
+
},
|
|
732
|
+
"src/jack-in": {
|
|
733
|
+
description: "NoxSoft platform connectors, circuit breaker, resilient fetch",
|
|
734
|
+
category: "jack-in"
|
|
735
|
+
},
|
|
736
|
+
"src/infra": {
|
|
737
|
+
description: "Self-upgrade, atma failover, auto-update, self-evolution, device identity",
|
|
738
|
+
category: "infra"
|
|
739
|
+
},
|
|
740
|
+
"src/license": {
|
|
741
|
+
description: "Subscription tiers, feature gating, Stripe checkout, offline Ed25519 validation",
|
|
742
|
+
category: "license"
|
|
743
|
+
},
|
|
744
|
+
"src/ico": {
|
|
745
|
+
description: "Bonding curve tokenomics, governance voting, PBC verification, launch platform",
|
|
746
|
+
category: "ico"
|
|
747
|
+
},
|
|
748
|
+
"src/context": {
|
|
749
|
+
description: "120K token context automanagement with 3 zones (identity/prompt/working)",
|
|
750
|
+
category: "core"
|
|
751
|
+
},
|
|
752
|
+
"src/heartbeat": {
|
|
753
|
+
description: "Periodic lifecycle engine — keeps agents alive and aware",
|
|
754
|
+
category: "core"
|
|
755
|
+
},
|
|
756
|
+
"src/memory": {
|
|
757
|
+
description: "Three-tier memory (episodic/semantic/procedural), vector search, embeddings",
|
|
758
|
+
category: "core"
|
|
759
|
+
},
|
|
760
|
+
"src/identity": {
|
|
761
|
+
description: "7-component identity model (SOUL/HEART/BRAIN/GUT/SPIRIT/SHADOW/MEMORY)",
|
|
762
|
+
category: "core"
|
|
763
|
+
},
|
|
764
|
+
"ui/src": {
|
|
765
|
+
description: "React control panel — dark/light theme, mood-responsive, progressive disclosure",
|
|
766
|
+
category: "ui"
|
|
767
|
+
}
|
|
768
|
+
};
|
|
769
|
+
/**
|
|
770
|
+
* Generate a complete architecture map of the Anima codebase.
|
|
771
|
+
*/
|
|
772
|
+
function generateArchitectureMap(animaRoot) {
|
|
773
|
+
const modules = [];
|
|
774
|
+
const categories = {};
|
|
775
|
+
for (const [dirPath, info] of Object.entries(MODULE_DESCRIPTIONS)) {
|
|
776
|
+
const fullDir = path.join(animaRoot, dirPath);
|
|
777
|
+
if (!fs.existsSync(fullDir)) continue;
|
|
778
|
+
try {
|
|
779
|
+
const files = fs.readdirSync(fullDir).filter((f) => f.endsWith(".ts") && !f.endsWith(".test.ts"));
|
|
780
|
+
for (const file of files) {
|
|
781
|
+
const filePath = path.join(fullDir, file);
|
|
782
|
+
try {
|
|
783
|
+
const lineCount = fs.readFileSync(filePath, "utf8").split("\n").length;
|
|
784
|
+
const testFile = path.join(fullDir, file.replace(".ts", ".test.ts"));
|
|
785
|
+
const hasTests = fs.existsSync(testFile);
|
|
786
|
+
modules.push({
|
|
787
|
+
path: `${dirPath}/${file}`,
|
|
788
|
+
name: file.replace(".ts", ""),
|
|
789
|
+
description: info.description,
|
|
790
|
+
lineCount,
|
|
791
|
+
hasTests,
|
|
792
|
+
category: info.category
|
|
793
|
+
});
|
|
794
|
+
} catch {}
|
|
795
|
+
}
|
|
796
|
+
} catch {}
|
|
797
|
+
}
|
|
798
|
+
for (const mod of modules) {
|
|
799
|
+
if (!categories[mod.category]) categories[mod.category] = {
|
|
800
|
+
count: 0,
|
|
801
|
+
totalLines: 0
|
|
802
|
+
};
|
|
803
|
+
categories[mod.category].count++;
|
|
804
|
+
categories[mod.category].totalLines += mod.lineCount;
|
|
805
|
+
}
|
|
806
|
+
let version = "unknown";
|
|
807
|
+
try {
|
|
808
|
+
version = JSON.parse(fs.readFileSync(path.join(animaRoot, "package.json"), "utf8")).version;
|
|
809
|
+
} catch {}
|
|
810
|
+
const features = getFeatureStatus();
|
|
811
|
+
const map = {
|
|
812
|
+
version,
|
|
813
|
+
generatedAt: Date.now(),
|
|
814
|
+
modules,
|
|
815
|
+
categories,
|
|
816
|
+
features,
|
|
817
|
+
recentChanges: []
|
|
818
|
+
};
|
|
819
|
+
log$11.info(`architecture map: ${modules.length} modules across ${Object.keys(categories).length} categories`);
|
|
820
|
+
return map;
|
|
821
|
+
}
|
|
822
|
+
/**
|
|
823
|
+
* Get current feature enablement status.
|
|
824
|
+
*/
|
|
825
|
+
function getFeatureStatus() {
|
|
826
|
+
return [
|
|
827
|
+
{
|
|
828
|
+
name: "P2P Mesh",
|
|
829
|
+
enabled: true,
|
|
830
|
+
module: "src/p2p/mesh.ts",
|
|
831
|
+
description: "E2E encrypted peer-to-peer mesh networking"
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
name: "Ego System",
|
|
835
|
+
enabled: true,
|
|
836
|
+
module: "src/affect/ego.ts",
|
|
837
|
+
description: "Agent self-model with integrity scoring"
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
name: "Self-Reflection",
|
|
841
|
+
enabled: true,
|
|
842
|
+
module: "src/affect/self-reflection.ts",
|
|
843
|
+
description: "Post-session performance analysis"
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
name: "Auto-Update",
|
|
847
|
+
enabled: true,
|
|
848
|
+
module: "src/infra/auto-update.ts",
|
|
849
|
+
description: "Self-updating without npm"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
name: "Atma Failover",
|
|
853
|
+
enabled: true,
|
|
854
|
+
module: "src/infra/atma-failover.ts",
|
|
855
|
+
description: "7-tier model failover chain"
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
name: "OpenAI Direct",
|
|
859
|
+
enabled: true,
|
|
860
|
+
module: "src/agents/openai-direct-runner.ts",
|
|
861
|
+
description: "Direct OpenAI API (no Codex CLI)"
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
name: "Brain Sync",
|
|
865
|
+
enabled: true,
|
|
866
|
+
module: "src/sync/brain-sync.ts",
|
|
867
|
+
description: "Event-sourced replication with vector clocks"
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
name: "Jack In",
|
|
871
|
+
enabled: true,
|
|
872
|
+
module: "src/jack-in/connector.ts",
|
|
873
|
+
description: "NoxSoft platform connectors"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
name: "Governance",
|
|
877
|
+
enabled: true,
|
|
878
|
+
module: "src/ico/governance.ts",
|
|
879
|
+
description: "Token-weighted DAO voting"
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
name: "License Gating",
|
|
883
|
+
enabled: true,
|
|
884
|
+
module: "src/license/validator.ts",
|
|
885
|
+
description: "Feature gating by subscription tier"
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
name: "SVRN Compute",
|
|
889
|
+
enabled: false,
|
|
890
|
+
module: "src/svrn/compute.ts",
|
|
891
|
+
description: "Decentralized compute via SVRN nodes (planned)"
|
|
892
|
+
}
|
|
893
|
+
];
|
|
894
|
+
}
|
|
895
|
+
/**
|
|
896
|
+
* Format architecture map for injection into agent context.
|
|
897
|
+
*/
|
|
898
|
+
function formatArchitectureForContext(map) {
|
|
899
|
+
const lines = [];
|
|
900
|
+
lines.push(`## Architecture — Anima v${map.version}`);
|
|
901
|
+
lines.push("");
|
|
902
|
+
lines.push("**You are an Anima agent. This is your own architecture.**");
|
|
903
|
+
lines.push("");
|
|
904
|
+
lines.push("| Category | Modules | Lines |");
|
|
905
|
+
lines.push("|----------|---------|-------|");
|
|
906
|
+
for (const [cat, info] of Object.entries(map.categories)) lines.push(`| ${cat} | ${info.count} | ${info.totalLines.toLocaleString()} |`);
|
|
907
|
+
lines.push("");
|
|
908
|
+
lines.push("**Active features:**");
|
|
909
|
+
for (const f of map.features.filter((f) => f.enabled)) lines.push(`- ${f.name}: ${f.description}`);
|
|
910
|
+
const planned = map.features.filter((f) => !f.enabled);
|
|
911
|
+
if (planned.length > 0) {
|
|
912
|
+
lines.push("");
|
|
913
|
+
lines.push("**Planned:**");
|
|
914
|
+
for (const f of planned) lines.push(`- ${f.name}: ${f.description}`);
|
|
915
|
+
}
|
|
916
|
+
const tested = map.modules.filter((m) => m.hasTests).length;
|
|
917
|
+
const total = map.modules.length;
|
|
918
|
+
lines.push("");
|
|
919
|
+
lines.push(`**Test coverage:** ${tested}/${total} modules (${Math.round(tested / total * 100)}%)`);
|
|
920
|
+
return lines.join("\n");
|
|
921
|
+
}
|
|
922
|
+
|
|
691
923
|
//#endregion
|
|
692
924
|
//#region src/media/audio.ts
|
|
693
925
|
const TELEGRAM_VOICE_AUDIO_EXTENSIONS = new Set([
|
|
@@ -2705,6 +2937,10 @@ function buildSystemPrompt(params) {
|
|
|
2705
2937
|
const steerBlock = formatSteerForContext();
|
|
2706
2938
|
if (steerBlock) resolvedExtraSystemPrompt = [resolvedExtraSystemPrompt, steerBlock].filter(Boolean).join("\n\n");
|
|
2707
2939
|
} catch {}
|
|
2940
|
+
try {
|
|
2941
|
+
const archBlock = formatArchitectureForContext(generateArchitectureMap(params.workspaceDir));
|
|
2942
|
+
if (archBlock) resolvedExtraSystemPrompt = [resolvedExtraSystemPrompt, archBlock].filter(Boolean).join("\n\n");
|
|
2943
|
+
} catch {}
|
|
2708
2944
|
const ttsHint = params.config ? buildTtsSystemPromptHint(params.config) : void 0;
|
|
2709
2945
|
return buildAgentSystemPrompt({
|
|
2710
2946
|
workspaceDir: params.workspaceDir,
|
|
@@ -41185,7 +41421,7 @@ function loadWebLoginQr() {
|
|
|
41185
41421
|
return webLoginQrPromise;
|
|
41186
41422
|
}
|
|
41187
41423
|
function loadWebChannel() {
|
|
41188
|
-
webChannelPromise ??= import("./web-
|
|
41424
|
+
webChannelPromise ??= import("./web-C4lrKULd.js");
|
|
41189
41425
|
return webChannelPromise;
|
|
41190
41426
|
}
|
|
41191
41427
|
function loadWhatsAppActions() {
|