@noxsoft/anima 2.0.1 → 2.0.2

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.1",
3
- "commit": "66cc9d8cbb4577598ac78dd2c4cf44b41d5280cf",
4
- "builtAt": "2026-03-01T19:00:12.417Z"
2
+ "version": "2.0.2",
3
+ "commit": "3a6b7ccb8ba1c14362991f9bf87f52a5786cf0bb",
4
+ "builtAt": "2026-03-01T19:09:01.663Z"
5
5
  }
@@ -10,7 +10,7 @@ import { C as resolveThinkingDefault, L as DEFAULT_CONTEXT_TOKENS, R as DEFAULT_
10
10
  import "../../boolean-Ce2-qkSB.js";
11
11
  import { b as resolveMessageChannel, f as INTERNAL_MESSAGE_CHANNEL, h as isInternalMessageChannel, m as isGatewayMessageChannel, p as isDeliverableMessageChannel, r as normalizeChannelId, t as getChannelPlugin, v as normalizeMessageChannel } from "../../plugins-B362e77G.js";
12
12
  import { n as resolveSessionFilePath, s as resolveStorePath } from "../../paths-BTc4nk-6.js";
13
- import { B as runCliAgent, C as supportsXHighThinking, D as buildWorkspaceSkillSnapshot, F as loadModelCatalog, N as runWithModelFallback, R as getCliSessionId, T as getSkillsSnapshotVersion, a as lookupContextTokens, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, h as formatXHighModelHint, m as formatThinkingLevels, n as deriveSessionTotalTokens, o as resolveOutboundTarget, p as getRemoteSkillEligibility, r as hasNonzeroUsage, s as resolveSessionDeliveryTarget, u as resolveSendPolicy, vt as clearSessionAuthProfileOverride, x as normalizeVerboseLevel, y as normalizeThinkLevel, z as setCliSessionId } from "../../usage-DT8fA_sU.js";
13
+ import { B as runCliAgent, C as supportsXHighThinking, D as buildWorkspaceSkillSnapshot, F as loadModelCatalog, N as runWithModelFallback, R as getCliSessionId, T as getSkillsSnapshotVersion, a as lookupContextTokens, d as applyModelOverrideToSessionEntry, f as applyVerboseOverride, h as formatXHighModelHint, m as formatThinkingLevels, n as deriveSessionTotalTokens, o as resolveOutboundTarget, p as getRemoteSkillEligibility, r as hasNonzeroUsage, s as resolveSessionDeliveryTarget, u as resolveSendPolicy, vt as clearSessionAuthProfileOverride, x as normalizeVerboseLevel, y as normalizeThinkLevel, z as setCliSessionId } from "../../usage-ApGvBLVg.js";
14
14
  import { a as resolveAgentTimeoutMs, i as registerAgentRunContext, n as emitAgentEvent, o as AGENT_LANE_NESTED, s as AGENT_LANE_SUBAGENT, t as clearAgentRunContext } from "../../agent-events-BEBQsyE5.js";
15
15
  import "../../mime-Bm1xTtpY.js";
16
16
  import "../../frontmatter-YijVi0FQ.js";
@@ -24,7 +24,7 @@ import crypto from "node:crypto";
24
24
  function createDefaultDeps() {
25
25
  return {
26
26
  sendMessageWhatsApp: async (...args) => {
27
- const { sendMessageWhatsApp } = await import("../../web-DeUZRbHY.js");
27
+ const { sendMessageWhatsApp } = await import("../../web-EZLQEWXY.js");
28
28
  return await sendMessageWhatsApp(...args);
29
29
  },
30
30
  sendMessageTelegram: async (...args) => {
@@ -4,7 +4,7 @@ import "../../exec-BenD3A5l.js";
4
4
  import "../../boolean-Ce2-qkSB.js";
5
5
  import { n as isAgentBootstrapEvent } from "../../internal-hooks-DFTIurVM.js";
6
6
  import "../../frontmatter-YijVi0FQ.js";
7
- import { t as resolveHookConfig } from "../../config-CdK6Gy6A.js";
7
+ import { t as resolveHookConfig } from "../../config-Co6UXXF5.js";
8
8
 
9
9
  //#region src/hooks/bundled/bootstrap-extra-files/handler.ts
10
10
  const HOOK_KEY = "bootstrap-extra-files";
@@ -5,8 +5,8 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-BVf4aSwY.js";
5
5
  import { generateSlugViaLLM } from "../../llm-slug-generator.js";
6
6
  import "../../boolean-Ce2-qkSB.js";
7
7
  import "../../frontmatter-YijVi0FQ.js";
8
- import { n as hasInterSessionUserProvenance } from "../../input-provenance-FBfKhRye.js";
9
- import { t as resolveHookConfig } from "../../config-CdK6Gy6A.js";
8
+ import { t as resolveHookConfig } from "../../config-Co6UXXF5.js";
9
+ import { n as hasInterSessionUserProvenance } from "../../input-provenance-BgwBljRz.js";
10
10
  import fs from "node:fs/promises";
11
11
  import os from "node:os";
12
12
  import path from "node:path";
@@ -1 +1 @@
1
- 37cb27b550e27f0ae3cd3fd44804d7ca99d2ec5d64aaf5fe5941ae15575727f2
1
+ e7b28f4343c0809976388761e3d39e4db4eae87bef4a6b0b7e605fdd89fa4040
package/dist/entry.js CHANGED
@@ -1550,7 +1550,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1550
1550
  applyCliProfileEnv({ profile: parsed.profile });
1551
1551
  process$1.argv = parsed.argv;
1552
1552
  }
1553
- import("./run-main-DUQDJuyf.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1553
+ import("./run-main-BMpKw8Mp.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1554
1554
  console.error("[anima] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1555
1555
  process$1.exitCode = 1;
1556
1556
  });
@@ -1,3 +1,3 @@
1
- import { _ as discoverAuthStorage, g as ModelRegistry, h as AuthStorage, v as discoverModels } from "./web-DeUZRbHY.js";
1
+ import { _ as discoverAuthStorage, g as ModelRegistry, h as AuthStorage, v as discoverModels } from "./web-EZLQEWXY.js";
2
2
 
3
3
  export { AuthStorage, ModelRegistry, discoverAuthStorage, discoverModels };
@@ -6,7 +6,7 @@ import { z } from "zod";
6
6
  import fs$1, { createWriteStream, existsSync, readFileSync, statSync } from "node:fs";
7
7
  import os, { homedir } from "node:os";
8
8
  import { Logger } from "tslog";
9
- import json5 from "json5";
9
+ import JSON5 from "json5";
10
10
  import chalk, { Chalk } from "chalk";
11
11
  import { execFile, execFileSync, spawn } from "node:child_process";
12
12
  import { isDeepStrictEqual, promisify } from "node:util";
@@ -2578,7 +2578,7 @@ function readLoggingConfig() {
2578
2578
  try {
2579
2579
  if (!fs$1.existsSync(configPath)) return;
2580
2580
  const raw = fs$1.readFileSync(configPath, "utf-8");
2581
- const logging = json5.parse(raw)?.logging;
2581
+ const logging = JSON5.parse(raw)?.logging;
2582
2582
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
2583
2583
  return logging;
2584
2584
  } catch {
@@ -8464,7 +8464,7 @@ var IncludeProcessor = class IncludeProcessor {
8464
8464
  };
8465
8465
  const defaultResolver = {
8466
8466
  readFile: (p) => fs$1.readFileSync(p, "utf-8"),
8467
- parseJson: (raw) => json5.parse(raw)
8467
+ parseJson: (raw) => JSON5.parse(raw)
8468
8468
  };
8469
8469
  /**
8470
8470
  * Resolves all $include directives in a parsed config object.
@@ -11504,7 +11504,7 @@ function resolveConfigPathForDeps(deps) {
11504
11504
  function normalizeDeps(overrides = {}) {
11505
11505
  return {
11506
11506
  fs: overrides.fs ?? fs$1,
11507
- json5: overrides.json5 ?? json5,
11507
+ json5: overrides.json5 ?? JSON5,
11508
11508
  env: overrides.env ?? process.env,
11509
11509
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
11510
11510
  configPath: overrides.configPath ?? "",
@@ -11515,11 +11515,11 @@ function maybeLoadDotEnvForConfig(env) {
11515
11515
  if (env !== process.env) return;
11516
11516
  loadDotEnv({ quiet: true });
11517
11517
  }
11518
- function parseConfigJson5(raw, json5$1 = json5) {
11518
+ function parseConfigJson5(raw, json5 = JSON5) {
11519
11519
  try {
11520
11520
  return {
11521
11521
  ok: true,
11522
- parsed: json5$1.parse(raw)
11522
+ parsed: json5.parse(raw)
11523
11523
  };
11524
11524
  } catch (err) {
11525
11525
  return {
@@ -53,7 +53,7 @@ import "./channel-selection-DfGpCyh2.js";
53
53
  import "./delivery-queue-B6IHz4Ry.js";
54
54
  import "./pi-tools.policy-DSHkkb5b.js";
55
55
  import "./session-cost-usage-BwiTZuKl.js";
56
- import "./path-env-Bu6k0jDQ.js";
56
+ import { t as ensureAnimaCliOnPath } from "./path-env-Bu6k0jDQ.js";
57
57
  import "./catalog-BAayBt1L.js";
58
58
  import "./prompt-style-DKy6qQxR.js";
59
59
  import "./note-uiuPxhyX.js";
@@ -332,7 +332,7 @@ async function runCli(argv = process$1.argv) {
332
332
  const normalizedArgv = normalizeWindowsArgv(argv);
333
333
  loadDotEnv({ quiet: true });
334
334
  normalizeEnv();
335
- if (shouldEnsureCliPath(normalizedArgv)) ensureOpenClawCliOnPath();
335
+ if (shouldEnsureCliPath(normalizedArgv)) ensureAnimaCliOnPath();
336
336
  assertSupportedRuntime();
337
337
  if (await tryRouteCli(normalizedArgv)) return;
338
338
  enableConsoleCapture();
@@ -340,7 +340,7 @@ async function runCli(argv = process$1.argv) {
340
340
  const program = buildProgram();
341
341
  installUnhandledRejectionHandler();
342
342
  process$1.on("uncaughtException", (error) => {
343
- console.error("[openclaw] Uncaught exception:", formatUncaughtError(error));
343
+ console.error("[anima] Uncaught exception:", formatUncaughtError(error));
344
344
  process$1.exit(1);
345
345
  });
346
346
  const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
@@ -9,6 +9,6 @@ import "./boolean-Ce2-qkSB.js";
9
9
  import "./plugins-B362e77G.js";
10
10
  import "./paths-BTc4nk-6.js";
11
11
  import "./agent-events-BEBQsyE5.js";
12
- import { a as clearSubagentRunSteerRestart, c as isSubagentSessionRunActive, d as markSubagentRunTerminated, f as registerSubagentRun, l as listSubagentRunsForRequester, m as resolveRequesterForChildSession, o as countActiveDescendantRuns, p as replaceSubagentRunAfterSteer, s as countActiveRunsForSession, u as markSubagentRunForSteerRestart } from "./web-DeUZRbHY.js";
12
+ import { a as clearSubagentRunSteerRestart, c as isSubagentSessionRunActive, d as markSubagentRunTerminated, f as registerSubagentRun, l as listSubagentRunsForRequester, m as resolveRequesterForChildSession, o as countActiveDescendantRuns, p as replaceSubagentRunAfterSteer, s as countActiveRunsForSession, u as markSubagentRunForSteerRestart } from "./web-EZLQEWXY.js";
13
13
 
14
14
  export { countActiveDescendantRuns, isSubagentSessionRunActive, resolveRequesterForChildSession };
@@ -2947,7 +2947,7 @@ async function ensureAnimaModelsJson(config, agentDirOverride) {
2947
2947
  //#region src/agents/model-catalog.ts
2948
2948
  let modelCatalogPromise = null;
2949
2949
  let hasLoggedModelCatalogError = false;
2950
- const defaultImportPiSdk = () => import("./pi-model-discovery-CYh6nRuo.js");
2950
+ const defaultImportPiSdk = () => import("./pi-model-discovery-Cxs4pvC2.js");
2951
2951
  let importPiSdk = defaultImportPiSdk;
2952
2952
  const CODEX_PROVIDER = "openai-codex";
2953
2953
  const OPENAI_CODEX_GPT53_MODEL_ID = "gpt-5.3-codex";
@@ -4441,7 +4441,7 @@ function resolveOutboundTarget(params) {
4441
4441
  const MODEL_CACHE = /* @__PURE__ */ new Map();
4442
4442
  (async () => {
4443
4443
  try {
4444
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CYh6nRuo.js");
4444
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Cxs4pvC2.js");
4445
4445
  await ensureAnimaModelsJson(loadConfig());
4446
4446
  const agentDir = resolveAnimaAgentDir();
4447
4447
  const models = discoverModels(discoverAuthStorage(agentDir), agentDir).getAll();
@@ -10,7 +10,7 @@ import { A as normalizeSecretInput, B as resolveAuthProfileDisplayLabel, C as re
10
10
  import { t as parseBooleanValue } from "./boolean-Ce2-qkSB.js";
11
11
  import { C as GATEWAY_CLIENT_NAMES, S as GATEWAY_CLIENT_MODES, _ as listDeliverableMessageChannels, a as normalizeWhatsAppTarget, b as resolveMessageChannel, c as resolveSlackAccount, d as resolveDiscordAccount, f as INTERNAL_MESSAGE_CHANNEL, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as isWhatsAppGroupJid, n as listChannelPlugins, o as listEnabledTelegramAccounts, p as isDeliverableMessageChannel, r as normalizeChannelId$1, s as resolveTelegramAccount, t as getChannelPlugin, u as listEnabledDiscordAccounts, v as normalizeMessageChannel, x as GATEWAY_CLIENT_IDS, y as resolveGatewayMessageChannel } from "./plugins-B362e77G.js";
12
12
  import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath } from "./paths-BTc4nk-6.js";
13
- import { $ as getTtsProvider, A as assertSandboxPath, B as runCliAgent, C as supportsXHighThinking, D as buildWorkspaceSkillSnapshot, E as buildWorkspaceSkillCommandSpecs, F as loadModelCatalog, G as resolveUserTimezone, H as buildSystemPromptParams, I as modelSupportsVision, J as killProcessTree, K as withNormalizedTimestamp, L as ensureAnimaModelsJson, M as runWithImageModelFallback, N as runWithModelFallback, O as syncSkillsToWorkspace, P as findModelInCatalog, Q as getTtsMaxLength, R as getCliSessionId, S as resolveResponseUsageMode, T as getSkillsSnapshotVersion, U as formatUserTime, V as buildAgentSystemPrompt, W as resolveUserTimeFormat, X as buildTtsSystemPromptHint, Y as sanitizeBinaryOutput, Z as getLastTtsAttempt, _ as normalizeElevatedLevel, _t as resolveBootstrapContextForRun, a as lookupContextTokens, at as resolveTtsApiKey, b as normalizeUsageDisplay, c as ambiguousTargetError, ct as resolveTtsPrefsPath, d as applyModelOverrideToSessionEntry, dt as setTtsEnabled, et as isSummarizationEnabled, f as applyVerboseOverride, ft as setTtsMaxLength, g as listThinkingLevels, gt as isVoiceCompatibleAudio, h as formatXHighModelHint, ht as textToSpeechTelephony, i as normalizeUsage, it as normalizeTtsAutoMode, j as resolveSandboxedMediaSource, k as assertMediaNotDataUrl, l as unknownTargetError, lt as setLastTtsAttempt, m as formatThinkingLevels, mt as textToSpeech, n as deriveSessionTotalTokens, nt as isTtsProviderConfigured, o as resolveOutboundTarget, ot as resolveTtsAutoMode, p as getRemoteSkillEligibility, pt as setTtsProvider, q as getShellConfig, r as hasNonzeroUsage, rt as maybeApplyTtsToPayload, s as resolveSessionDeliveryTarget, st as resolveTtsConfig, t as derivePromptTokens, tt as isTtsEnabled, u as resolveSendPolicy, ut as setSummarizationEnabled, v as normalizeReasoningLevel, vt as clearSessionAuthProfileOverride, w as ensureSkillsWatcher, x as normalizeVerboseLevel, y as normalizeThinkLevel, yt as resolveSessionAuthProfileOverride, z as setCliSessionId } from "./usage-DT8fA_sU.js";
13
+ import { $ as getTtsProvider, A as assertSandboxPath, B as runCliAgent, C as supportsXHighThinking, D as buildWorkspaceSkillSnapshot, E as buildWorkspaceSkillCommandSpecs, F as loadModelCatalog, G as resolveUserTimezone, H as buildSystemPromptParams, I as modelSupportsVision, J as killProcessTree, K as withNormalizedTimestamp, L as ensureAnimaModelsJson, M as runWithImageModelFallback, N as runWithModelFallback, O as syncSkillsToWorkspace, P as findModelInCatalog, Q as getTtsMaxLength, R as getCliSessionId, S as resolveResponseUsageMode, T as getSkillsSnapshotVersion, U as formatUserTime, V as buildAgentSystemPrompt, W as resolveUserTimeFormat, X as buildTtsSystemPromptHint, Y as sanitizeBinaryOutput, Z as getLastTtsAttempt, _ as normalizeElevatedLevel, _t as resolveBootstrapContextForRun, a as lookupContextTokens, at as resolveTtsApiKey, b as normalizeUsageDisplay, c as ambiguousTargetError, ct as resolveTtsPrefsPath, d as applyModelOverrideToSessionEntry, dt as setTtsEnabled, et as isSummarizationEnabled, f as applyVerboseOverride, ft as setTtsMaxLength, g as listThinkingLevels, gt as isVoiceCompatibleAudio, h as formatXHighModelHint, ht as textToSpeechTelephony, i as normalizeUsage, it as normalizeTtsAutoMode, j as resolveSandboxedMediaSource, k as assertMediaNotDataUrl, l as unknownTargetError, lt as setLastTtsAttempt, m as formatThinkingLevels, mt as textToSpeech, n as deriveSessionTotalTokens, nt as isTtsProviderConfigured, o as resolveOutboundTarget, ot as resolveTtsAutoMode, p as getRemoteSkillEligibility, pt as setTtsProvider, q as getShellConfig, r as hasNonzeroUsage, rt as maybeApplyTtsToPayload, s as resolveSessionDeliveryTarget, st as resolveTtsConfig, t as derivePromptTokens, tt as isTtsEnabled, u as resolveSendPolicy, ut as setSummarizationEnabled, v as normalizeReasoningLevel, vt as clearSessionAuthProfileOverride, w as ensureSkillsWatcher, x as normalizeVerboseLevel, y as normalizeThinkLevel, yt as resolveSessionAuthProfileOverride, z as setCliSessionId } from "./usage-ApGvBLVg.js";
14
14
  import { a as resolveAgentTimeoutMs, c as CommandLane, i as registerAgentRunContext, n as emitAgentEvent, o as AGENT_LANE_NESTED, r as onAgentEvent, s as AGENT_LANE_SUBAGENT, u as stripHeartbeatToken } from "./agent-events-BEBQsyE5.js";
15
15
  import { i as triggerInternalHook, r as registerInternalHook, t as createInternalHookEvent } from "./internal-hooks-DFTIurVM.js";
16
16
  import { a as isAudioFileName, i as imageMimeFromFormat, l as mediaKindFromMime, n as extensionForMime, o as kindFromMime, r as getFileExtension, t as detectMime } from "./mime-Bm1xTtpY.js";
@@ -18,7 +18,7 @@ import "./frontmatter-YijVi0FQ.js";
18
18
  import { a as chunkMarkdownTextWithMode, c as resolveChunkMode, i as chunkMarkdownText, l as resolveTextChunkLimit, n as chunkByNewline, o as chunkText, s as chunkTextWithMode, t as resolveMarkdownTableMode } from "./markdown-tables-BT1X6jqH.js";
19
19
  import { _ as parseReplyDirectives, b as initializeGlobalHookRunner, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as throwIfAborted, y as getGlobalHookRunner } from "./deliver-B4HuPwJA.js";
20
20
  import { t as sendMessageSignal } from "./send-BTA6qupx.js";
21
- import { t as INPUT_PROVENANCE_KIND_VALUES } from "./input-provenance-FBfKhRye.js";
21
+ import { t as INPUT_PROVENANCE_KIND_VALUES } from "./input-provenance-BgwBljRz.js";
22
22
  import { a as pickPrimaryTailnetIPv4, i as rawDataToString, n as isLoopbackHost, r as pickPrimaryLanIPv4 } from "./net-CDi_lJMH.js";
23
23
  import { _ as setActiveWebListener, a as loadWebMedia, b as convertMarkdownTables, c as MediaFetchError, d as fetchWithSsrFGuard, f as SsrFBlockedError, g as getActiveWebListener, h as bindAbortRelay, i as getDefaultLocalRoots, l as fetchRemoteMedia, m as isPrivateIpAddress, n as sendMessageWhatsApp, o as getImageMetadata, p as isBlockedHostname, r as sendReactionWhatsApp, s as resizeToJpeg, u as readResponseWithLimit, v as normalizePollInput, y as markdownToWhatsApp } from "./outbound-BgA9hNlP.js";
24
24
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-A_GqUU6B.js";
@@ -3836,7 +3836,7 @@ async function runSubagentAnnounceFlow(params) {
3836
3836
  if (!outcome) outcome = { status: "unknown" };
3837
3837
  let activeChildDescendantRuns = 0;
3838
3838
  try {
3839
- const { countActiveDescendantRuns } = await import("./subagent-registry-C_L25DeQ.js");
3839
+ const { countActiveDescendantRuns } = await import("./subagent-registry-DOBunBYS.js");
3840
3840
  activeChildDescendantRuns = Math.max(0, countActiveDescendantRuns(params.childSessionKey));
3841
3841
  } catch {}
3842
3842
  if (activeChildDescendantRuns > 0) {
@@ -3852,7 +3852,7 @@ async function runSubagentAnnounceFlow(params) {
3852
3852
  let requesterDepth = getSubagentDepthFromSessionStore(targetRequesterSessionKey);
3853
3853
  let requesterIsSubagent = requesterDepth >= 1;
3854
3854
  if (requesterIsSubagent) {
3855
- const { isSubagentSessionRunActive, resolveRequesterForChildSession } = await import("./subagent-registry-C_L25DeQ.js");
3855
+ const { isSubagentSessionRunActive, resolveRequesterForChildSession } = await import("./subagent-registry-DOBunBYS.js");
3856
3856
  if (!isSubagentSessionRunActive(targetRequesterSessionKey)) {
3857
3857
  const fallback = resolveRequesterForChildSession(targetRequesterSessionKey);
3858
3858
  if (!fallback?.requesterSessionKey) {
@@ -3867,7 +3867,7 @@ async function runSubagentAnnounceFlow(params) {
3867
3867
  }
3868
3868
  let remainingActiveSubagentRuns = 0;
3869
3869
  try {
3870
- const { countActiveDescendantRuns } = await import("./subagent-registry-C_L25DeQ.js");
3870
+ const { countActiveDescendantRuns } = await import("./subagent-registry-DOBunBYS.js");
3871
3871
  remainingActiveSubagentRuns = Math.max(0, countActiveDescendantRuns(targetRequesterSessionKey));
3872
3872
  } catch {}
3873
3873
  const replyInstruction = buildAnnounceReplyInstruction({
@@ -24960,11 +24960,11 @@ function loadWebLoginQr() {
24960
24960
  return webLoginQrPromise;
24961
24961
  }
24962
24962
  function loadWebChannel() {
24963
- webChannelPromise ??= import("./web-DeUZRbHY.js");
24963
+ webChannelPromise ??= import("./web-EZLQEWXY.js");
24964
24964
  return webChannelPromise;
24965
24965
  }
24966
24966
  function loadWhatsAppActions() {
24967
- whatsappActionsPromise ??= import("./whatsapp-actions-DElImNQl.js");
24967
+ whatsappActionsPromise ??= import("./whatsapp-actions-Ck9Uv0Nw.js");
24968
24968
  return whatsappActionsPromise;
24969
24969
  }
24970
24970
  function createPluginRuntime() {
@@ -9,7 +9,7 @@ import "./plugins-B362e77G.js";
9
9
  import "./mime-Bm1xTtpY.js";
10
10
  import "./markdown-tables-BT1X6jqH.js";
11
11
  import { r as sendReactionWhatsApp } from "./outbound-BgA9hNlP.js";
12
- import { i as readStringParam, n as jsonResult, r as readReactionParams, t as createActionGate } from "./web-DeUZRbHY.js";
12
+ import { i as readStringParam, n as jsonResult, r as readReactionParams, t as createActionGate } from "./web-EZLQEWXY.js";
13
13
 
14
14
  //#region src/agents/tools/whatsapp-actions.ts
15
15
  async function handleWhatsAppAction(params, cfg) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noxsoft/anima",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "AI orchestration daemon with persistent identity — by NoxSoft",
5
5
  "keywords": [
6
6
  "agent",
File without changes