@noxsoft/anima 5.1.1 → 5.1.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.
Files changed (128) hide show
  1. package/dist/{accounts-Dyb3ijJm.js → accounts-DZsqyow2.js} +38 -38
  2. package/dist/{active-listener-B7OcwSxK.js → active-listener-GJR3nLhX.js} +5 -5
  3. package/dist/{agent-B8ciDTm6.js → agent-CaaEZsXl.js} +2 -2
  4. package/dist/{agent-DImD77Te.js → agent-DUAarfNl.js} +2 -2
  5. package/dist/{agent-scope-BHR6uOLT.js → agent-scope-BZ8hjIt_.js} +3 -3
  6. package/dist/{agents-DvkZi7oF.js → agents-t54YcbvK.js} +3 -3
  7. package/dist/{auth-choice-i9Z_cli_.js → auth-choice-DPWnLV_w.js} +1 -1
  8. package/dist/{auth-profiles-Da39zGOD.js → auth-profiles-eZzmaeR3.js} +13 -13
  9. package/dist/{auth-store-Bl6rpC4E.js → auth-store-CnRrUELz.js} +13 -13
  10. package/dist/{banner-CjrhpA68.js → banner-D9JyV5SF.js} +1 -1
  11. package/dist/build-info.json +2 -2
  12. package/dist/bundled/boot-md/handler.js +25 -25
  13. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  14. package/dist/bundled/command-logger/handler.js +1 -1
  15. package/dist/bundled/session-memory/handler.js +24 -24
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-web-9ikdY9RK.js → channel-web-CQIbtfme.js} +2 -2
  18. package/dist/{chrome-CkSIMI7j.js → chrome-Cfak4A3i.js} +12 -12
  19. package/dist/{chunk-5llVa3wc.js → chunk-CyT-_QsQ.js} +3 -3
  20. package/dist/{clack-prompter-DlmPIB0y.js → clack-prompter-rXuqdPbx.js} +1 -1
  21. package/dist/{cli-PD3ygS3H.js → cli--Gal7v4I.js} +1 -1
  22. package/dist/{cli-d0H0Bpz9.js → cli-kT9Mb3dT.js} +1 -1
  23. package/dist/{command-registry-Dv064HDc.js → command-registry-vEVxxxzI.js} +10 -10
  24. package/dist/{common-CKoFTq83.js → common-BzPvZcxT.js} +2 -2
  25. package/dist/{completion-cli-Blp8bILB.js → completion-cli-BBKG6buM.js} +1 -1
  26. package/dist/{completion-cli-C-fu_7Kd.js → completion-cli-C84I5l8a.js} +2 -2
  27. package/dist/{config-BfhpauV9.js → config-6FVC8hW0.js} +27 -27
  28. package/dist/{config-cli-BFQDt_5i.js → config-cli-CQzq5yWB.js} +1 -1
  29. package/dist/{config-cli-CgG6CaWK.js → config-cli-cyvL43DG.js} +1 -1
  30. package/dist/{configure-fHta2Meh.js → configure-B-dfdPKX.js} +4 -4
  31. package/dist/{configure-DLPHJ8nv.js → configure-Bv6mqD0j.js} +7 -7
  32. package/dist/{configure-Bbx4y0lr.js → configure-DxQqSUJs.js} +6 -6
  33. package/dist/{configure-CJYocuSp.js → configure-G6h2Ppk0.js} +3 -3
  34. package/dist/{deliver-CoQP7nSu.js → deliver-D2hQZ9X0.js} +52 -52
  35. package/dist/{deps-CMFpRoYp.js → deps-CeyVMZf1.js} +1 -1
  36. package/dist/{doctor-2O2knHXJ.js → doctor-DumyG85t.js} +4 -4
  37. package/dist/{doctor-completion-jbYrRr0H.js → doctor-completion-C8JSWfqN.js} +1 -1
  38. package/dist/{doctor-completion-CaC89XwQ.js → doctor-completion-lAyxyd7X.js} +1 -1
  39. package/dist/{doctor-qayl5A-F.js → doctor-vXt5qjNJ.js} +4 -4
  40. package/dist/entry.js +1 -1
  41. package/dist/{exec-CEFTijVj.js → exec-Bfd4ztFZ.js} +7 -7
  42. package/dist/extensionAPI.js +1 -1
  43. package/dist/{frontmatter-Dsa7N963.js → frontmatter-BP4GSt5L.js} +2 -2
  44. package/dist/{gateway-cli-CDg1qmsU.js → gateway-cli-B60L2z4a.js} +13 -13
  45. package/dist/{gateway-cli-DAPK-NMP.js → gateway-cli-CHhTweWb.js} +13 -13
  46. package/dist/{health-BNasz7nv.js → health-BttJ1Qeh.js} +1 -1
  47. package/dist/{health-2sA2ziYt.js → health-D8fJ6U_k.js} +1 -1
  48. package/dist/{hooks-cli-Cwe9oz1p.js → hooks-cli-BMZF6RF3.js} +2 -2
  49. package/dist/{hooks-cli-D8SvsiGN.js → hooks-cli-DRUryj5H.js} +2 -2
  50. package/dist/index.js +7 -7
  51. package/dist/llm-slug-generator.js +24 -24
  52. package/dist/{login-7Yj2TvMd.js → login-C4mptULi.js} +5 -5
  53. package/dist/{login-qr-CuwWMetN.js → login-qr-BxNKHxcf.js} +10 -10
  54. package/dist/{manager-kdmVqWxk.js → manager-A3pC-CW-.js} +15 -15
  55. package/dist/{model-selection-BuMFehML.js → model-selection-BI8CKPwQ.js} +1 -1
  56. package/dist/{models-2GYW4-6h.js → models-ByeH7ZKb.js} +1 -1
  57. package/dist/{onboard-channels-Cqeff8-v.js → onboard-channels-D6Gt3CsX.js} +1 -1
  58. package/dist/{onboard-channels-CWMuM-3k.js → onboard-channels-RsbA6EaD.js} +1 -1
  59. package/dist/{onboard-DbzYS52G.js → onboard-i4CJtSb9.js} +3 -3
  60. package/dist/{onboard-DJ4ON8sf.js → onboard-xSPFmM29.js} +4 -4
  61. package/dist/{onboarding-SrNptVqc.js → onboarding-CZBVMwFn.js} +4 -4
  62. package/dist/{onboarding-GIx1Wpw0.js → onboarding-Cao0a_Z1.js} +4 -4
  63. package/dist/{outbound-CovlPIFx.js → outbound-DWfSyfZC.js} +4 -4
  64. package/dist/{paths-CLxC7m0Z.js → paths-Cwszsz1I.js} +2 -2
  65. package/dist/{paths-B-AkG5FD.js → paths-D2eokayo.js} +3 -3
  66. package/dist/{pi-auth-json-BLCyhR5p.js → pi-auth-json-smxh_Xud.js} +7 -7
  67. package/dist/{pi-embedded-BL-Js-lp.js → pi-embedded-D4eEfxIU.js} +31 -23
  68. package/dist/{pi-embedded-fZ1QlJ9C.js → pi-embedded-DifnZvKk.js} +126 -118
  69. package/dist/{plugin-registry-X7L3BrUu.js → plugin-registry-CkZnT8Fb.js} +1 -1
  70. package/dist/{plugin-registry-DboWDOrG.js → plugin-registry-CpXm8ADp.js} +1 -1
  71. package/dist/plugin-sdk/agents/cli-backends.d.ts +4 -1
  72. package/dist/{plugins-cli-C-PA_T5k.js → plugins-cli-CrrkMAYM.js} +2 -2
  73. package/dist/{plugins-cli-BraLLKDO.js → plugins-cli-D4VxQKaJ.js} +2 -2
  74. package/dist/{program-BriwVW7P.js → program-CTDFmZNx.js} +6 -6
  75. package/dist/{program-context-oXX-h-yI.js → program-context-Hl6bnPfB.js} +15 -15
  76. package/dist/{prompts-C9IyM74_.js → prompts-CneQ6SeF.js} +1 -1
  77. package/dist/{pw-ai-BJfL9dGV.js → pw-ai-CY-VcqJp.js} +4 -4
  78. package/dist/{qmd-manager-DHQgWjsV.js → qmd-manager-CwbYv6nJ.js} +7 -7
  79. package/dist/{register.agent-BMKeVZeq.js → register.agent-BKINbWbs.js} +6 -6
  80. package/dist/{register.agent-BO5BCkbO.js → register.agent-CMoYTJqj.js} +5 -5
  81. package/dist/{register.anima-BS8nsOpD.js → register.anima-BHrZ90Sv.js} +1 -1
  82. package/dist/{register.anima-DPurDgXW.js → register.anima-CnEy5VFQ.js} +1 -1
  83. package/dist/{register.configure-Dvg0Vi23.js → register.configure-3GfqcGLK.js} +6 -6
  84. package/dist/{register.configure-Di8agIXW.js → register.configure-Cv5NkGH2.js} +5 -5
  85. package/dist/{register.maintenance-DjXwK16H.js → register.maintenance-DtAw8E_a.js} +8 -8
  86. package/dist/{register.maintenance-CKE15LXK.js → register.maintenance-YZDsMymb.js} +7 -7
  87. package/dist/{register.onboard-Du-u1lcX.js → register.onboard-Dswys-iV.js} +9 -9
  88. package/dist/{register.onboard-BkUxrYi2.js → register.onboard-U3lIfaw_.js} +9 -9
  89. package/dist/{register.setup-DyqOWQ2D.js → register.setup-CLkGhR-e.js} +9 -9
  90. package/dist/{register.setup-DEtz71o0.js → register.setup-Dyp5L_GQ.js} +9 -9
  91. package/dist/{register.status-health-sessions-CXMn5NfF.js → register.status-health-sessions-Cc2Y5gSj.js} +3 -3
  92. package/dist/{register.status-health-sessions-DjsEuYmp.js → register.status-health-sessions-Dx-qZMol.js} +3 -3
  93. package/dist/{register.subclis-CMlPDwE5.js → register.subclis-L55mGheS.js} +6 -6
  94. package/dist/{reply-DWdVFSBB.js → reply-BgPvB-gR.js} +31 -23
  95. package/dist/{reply-prefix-CRGxza-M.js → reply-prefix-37W_P4kH.js} +1 -1
  96. package/dist/{reply-prefix-_gr2uQ1Z.js → reply-prefix-DBRqtDEq.js} +1 -1
  97. package/dist/{run-CXLRGLdR.js → run-BFPM6M2S.js} +8 -8
  98. package/dist/{run-GZnwhuUG.js → run-DEHnKm2x.js} +10 -10
  99. package/dist/{run-main-Coy6Vx7R.js → run-main-Cxmjk1SF.js} +14 -14
  100. package/dist/{semantic-BZw2SVoG.js → semantic-CG6X3rBo.js} +1 -1
  101. package/dist/{server-node-events-BMO931Md.js → server-node-events-CmZXzWcd.js} +2 -2
  102. package/dist/{server-node-events-yZM_OBSZ.js → server-node-events-DBOg36in.js} +3 -3
  103. package/dist/{session-CB9OL4Ml.js → session-3MLbl1-K.js} +1 -1
  104. package/dist/{settings-cli-_DoMmFH9.js → settings-cli-CCtkuc1r.js} +7 -7
  105. package/dist/{settings-cli-BVBFgDUd.js → settings-cli-Ccizggz2.js} +6 -6
  106. package/dist/{shell-env-DaSbgZYX.js → shell-env-B4ae4lFh.js} +1 -1
  107. package/dist/{soul-B7vtVbSs.js → soul-Bt57OdSx.js} +1 -1
  108. package/dist/{sqlite-D_h-b5t2.js → sqlite-ClLAW1iQ.js} +4 -4
  109. package/dist/{start-C0Uw_pIA.js → start-BPye9w5U.js} +13 -13
  110. package/dist/{start-C6a18wc7.js → start-DfC7PlAH.js} +13 -13
  111. package/dist/{status-CUyIggna.js → status-BU6h4wUP.js} +1 -1
  112. package/dist/{status-DyD7gtoK.js → status-BVAoIQ0V.js} +2 -2
  113. package/dist/{status-DmsznVj5.js → status-BaEcHPtc.js} +1 -1
  114. package/dist/{status-CWgHkLTE.js → status-C9B6cEM0.js} +2 -2
  115. package/dist/{subagent-registry-BVrDlKmm.js → subagent-registry-MZIxVf8W.js} +31 -23
  116. package/dist/{subsystem-BP2l3SHn.js → subsystem-DA3Cno1i.js} +20 -20
  117. package/dist/{tool-images-CUx-9B7B.js → tool-images-DK97edts.js} +2 -2
  118. package/dist/{update-cli-4VAEZsrR.js → update-cli-D1e-DsWy.js} +8 -8
  119. package/dist/{update-cli-JPLB8AtM.js → update-cli-QMVW2eiR.js} +7 -7
  120. package/dist/{update-runner-BxdLd4Q8.js → update-runner-DPmSGXS3.js} +1 -1
  121. package/dist/{update-runner-pmlbxeZ-.js → update-runner-iLJQF6VA.js} +1 -1
  122. package/dist/{web-B3O004_b.js → web-DBQRQY6n.js} +27 -27
  123. package/dist/{web-D8EsFSet.js → web-DDAkSrtZ.js} +2 -2
  124. package/dist/{web-B9-C6C1i.js → web-DE-hmqXy.js} +3 -3
  125. package/dist/{web-cpPr1Em8.js → web-DJRRkHG8.js} +1 -1
  126. package/dist/{whatsapp-actions-9PCfw-Zh.js → whatsapp-actions-CMEP8v3k.js} +13 -13
  127. package/dist/{workspace-Cvio8QlZ.js → workspace-BQkffCaR.js} +5 -5
  128. package/package.json +1 -1
@@ -1,21 +1,21 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
- import { i as resolveGatewayPort, s as resolveStateDir, t as STATE_DIR } from "./paths-B-AkG5FD.js";
3
- import { E as resolveAgentIdFromSessionKey, T as normalizeMainKey, _ as DEFAULT_AGENT_ID, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, h as resolveAnimaPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, w as normalizeAgentId, y as buildAgentMainSessionKey } from "./workspace-Cvio8QlZ.js";
4
- import { j as resolvePreferredAnimaTmpDir, l as getChatChannelMeta, m as requireActivePluginRegistry, n as defaultRuntime, o as CHANNEL_IDS, p as getActivePluginRegistry, s as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-BP2l3SHn.js";
5
- import { S as resolveConfigDir, b as normalizeE164, j as truncateUtf16Safe, l as CONFIG_DIR, m as escapeRegExp, n as runExec, w as resolveUserPath } from "./exec-CEFTijVj.js";
6
- import { l as resolveSessionAgentId, n as resolveAgentConfig } from "./agent-scope-BHR6uOLT.js";
7
- import { a as writeConfigFile, c as parseDurationMs, h as resolveMemorySlotDecision, m as resolveEnableState, n as loadConfig, p as normalizePluginsConfig, s as parseByteSize, t as createConfigIO, u as loadPluginManifestRegistry } from "./config-BfhpauV9.js";
2
+ import { i as resolveGatewayPort, s as resolveStateDir, t as STATE_DIR } from "./paths-D2eokayo.js";
3
+ import { E as resolveAgentIdFromSessionKey, T as normalizeMainKey, _ as DEFAULT_AGENT_ID, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, h as resolveAnimaPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, w as normalizeAgentId, y as buildAgentMainSessionKey } from "./workspace-BQkffCaR.js";
4
+ import { j as resolvePreferredAnimaTmpDir, l as getChatChannelMeta, m as requireActivePluginRegistry, n as defaultRuntime, o as CHANNEL_IDS, p as getActivePluginRegistry, s as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-DA3Cno1i.js";
5
+ import { S as resolveConfigDir, b as normalizeE164, j as truncateUtf16Safe, l as CONFIG_DIR, m as escapeRegExp, n as runExec, w as resolveUserPath } from "./exec-Bfd4ztFZ.js";
6
+ import { l as resolveSessionAgentId, n as resolveAgentConfig } from "./agent-scope-BZ8hjIt_.js";
7
+ import { a as writeConfigFile, c as parseDurationMs, h as resolveMemorySlotDecision, m as resolveEnableState, n as loadConfig, p as normalizePluginsConfig, s as parseByteSize, t as createConfigIO, u as loadPluginManifestRegistry } from "./config-6FVC8hW0.js";
8
8
  import { t as parseBooleanValue } from "./boolean-Ce2-qkSB.js";
9
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, D as DEFAULT_ANIMA_BROWSER_ENABLED, E as DEFAULT_ANIMA_BROWSER_COLOR, O as DEFAULT_ANIMA_BROWSER_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, _ as ensureChromeExtensionRelayServer, a as resolveAnimaUserDataDir, b as isLoopbackHost, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as getHeadersWithAuth, i as launchAnimaChrome, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, n as isChromeCdpReady, o as stopAnimaChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as stopChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-CkSIMI7j.js";
10
- import { a as parseFrontmatterBlock, c as resolveRuntimePlatform, i as resolveAnimaManifestBlock, n as normalizeStringList, o as hasBinary, r as parseFrontmatterBool, s as isConfigPathTruthyWithDefaults, t as getFrontmatterString } from "./frontmatter-Dsa7N963.js";
9
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, D as DEFAULT_ANIMA_BROWSER_ENABLED, E as DEFAULT_ANIMA_BROWSER_COLOR, O as DEFAULT_ANIMA_BROWSER_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, _ as ensureChromeExtensionRelayServer, a as resolveAnimaUserDataDir, b as isLoopbackHost, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as getHeadersWithAuth, i as launchAnimaChrome, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, n as isChromeCdpReady, o as stopAnimaChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as stopChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-Cfak4A3i.js";
10
+ import { a as parseFrontmatterBlock, c as resolveRuntimePlatform, i as resolveAnimaManifestBlock, n as normalizeStringList, o as hasBinary, r as parseFrontmatterBool, s as isConfigPathTruthyWithDefaults, t as getFrontmatterString } from "./frontmatter-BP4GSt5L.js";
11
11
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-UbDRvfEx.js";
12
- import { A as detectMime, E as getImageMetadata, c as resolveTextChunkLimit, f as normalizeChannelId, i as chunkMarkdownTextWithMode, j as extensionForMime, k as resizeToJpeg, l as parseFenceSpans, n as chunkByParagraph, s as resolveChunkMode, u as getChannelPlugin, v as listDeliverableMessageChannels, y as normalizeMessageChannel } from "./chunk-5llVa3wc.js";
13
- import { n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CLxC7m0Z.js";
12
+ import { A as detectMime, E as getImageMetadata, c as resolveTextChunkLimit, f as normalizeChannelId, i as chunkMarkdownTextWithMode, j as extensionForMime, k as resizeToJpeg, l as parseFenceSpans, n as chunkByParagraph, s as resolveChunkMode, u as getChannelPlugin, v as listDeliverableMessageChannels, y as normalizeMessageChannel } from "./chunk-CyT-_QsQ.js";
13
+ import { n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-Cwszsz1I.js";
14
14
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-D0hT93vo.js";
15
15
  import fs from "node:fs/promises";
16
16
  import os from "node:os";
17
17
  import path from "node:path";
18
- import fs$1, { existsSync } from "node:fs";
18
+ import fsSync, { existsSync } from "node:fs";
19
19
  import { spawn } from "node:child_process";
20
20
  import { fileURLToPath } from "node:url";
21
21
  import crypto from "node:crypto";
@@ -865,13 +865,13 @@ function shortPath(value) {
865
865
  //#region src/agents/skills/bundled-dir.ts
866
866
  function looksLikeSkillsDir(dir) {
867
867
  try {
868
- const entries = fs$1.readdirSync(dir, { withFileTypes: true });
868
+ const entries = fsSync.readdirSync(dir, { withFileTypes: true });
869
869
  for (const entry of entries) {
870
870
  if (entry.name.startsWith(".")) continue;
871
871
  const fullPath = path.join(dir, entry.name);
872
872
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
873
873
  if (entry.isDirectory()) {
874
- if (fs$1.existsSync(path.join(fullPath, "SKILL.md"))) return true;
874
+ if (fsSync.existsSync(path.join(fullPath, "SKILL.md"))) return true;
875
875
  }
876
876
  }
877
877
  } catch {
@@ -886,7 +886,7 @@ function resolveBundledSkillsDir(opts = {}) {
886
886
  const execPath = opts.execPath ?? process.execPath;
887
887
  const execDir = path.dirname(execPath);
888
888
  const sibling = path.join(execDir, "skills");
889
- if (fs$1.existsSync(sibling)) return sibling;
889
+ if (fsSync.existsSync(sibling)) return sibling;
890
890
  } catch {}
891
891
  try {
892
892
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -942,7 +942,7 @@ function resolvePluginSkillDirs(params) {
942
942
  const trimmed = raw.trim();
943
943
  if (!trimmed) continue;
944
944
  const candidate = path.resolve(record.rootDir, trimmed);
945
- if (!fs$1.existsSync(candidate)) {
945
+ if (!fsSync.existsSync(candidate)) {
946
946
  log$2.warn(`plugin skill path not found (${record.id}): ${candidate}`);
947
947
  continue;
948
948
  }
@@ -969,7 +969,7 @@ async function serializeByKey(key, task) {
969
969
 
970
970
  //#endregion
971
971
  //#region src/agents/skills/workspace.ts
972
- const fsp = fs$1.promises;
972
+ const fsp = fsSync.promises;
973
973
  const skillsLogger = createSubsystemLogger("skills");
974
974
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
975
975
  function debugSkillCommandOnce(messageKey, message, meta) {
@@ -1062,7 +1062,7 @@ function loadSkillEntries(workspaceDir, opts) {
1062
1062
  return Array.from(merged.values()).map((skill) => {
1063
1063
  let frontmatter = {};
1064
1064
  try {
1065
- frontmatter = parseFrontmatter(fs$1.readFileSync(skill.filePath, "utf-8"));
1065
+ frontmatter = parseFrontmatter(fsSync.readFileSync(skill.filePath, "utf-8"));
1066
1066
  } catch {}
1067
1067
  return {
1068
1068
  skill,
@@ -1269,7 +1269,7 @@ function isModuleNotFoundError(err) {
1269
1269
  }
1270
1270
  async function loadPwAiModule(mode) {
1271
1271
  try {
1272
- return await import("./pw-ai-BJfL9dGV.js");
1272
+ return await import("./pw-ai-CY-VcqJp.js");
1273
1273
  } catch (err) {
1274
1274
  if (mode === "soft") return null;
1275
1275
  if (isModuleNotFoundError(err)) return null;
@@ -2984,11 +2984,11 @@ async function movePathToTrash(targetPath) {
2984
2984
  return targetPath;
2985
2985
  } catch {
2986
2986
  const trashDir = path.join(os.homedir(), ".Trash");
2987
- fs$1.mkdirSync(trashDir, { recursive: true });
2987
+ fsSync.mkdirSync(trashDir, { recursive: true });
2988
2988
  const base = path.basename(targetPath);
2989
2989
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
2990
- if (fs$1.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2991
- fs$1.renameSync(targetPath, dest);
2990
+ if (fsSync.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2991
+ fsSync.renameSync(targetPath, dest);
2992
2992
  return dest;
2993
2993
  }
2994
2994
  }
@@ -3066,7 +3066,7 @@ function createBrowserProfilesService(ctx) {
3066
3066
  } catch {}
3067
3067
  const userDataDir = resolveAnimaUserDataDir(name);
3068
3068
  const profileDir = path.dirname(userDataDir);
3069
- if (fs$1.existsSync(profileDir)) {
3069
+ if (fsSync.existsSync(profileDir)) {
3070
3070
  await movePathToTrash(profileDir);
3071
3071
  deleted = true;
3072
3072
  }
@@ -3727,13 +3727,13 @@ function createProfileContext(opts, profile) {
3727
3727
  const userDataDir = resolveAnimaUserDataDir(profile.name);
3728
3728
  const profileState = getProfileState();
3729
3729
  if (await isHttpReachable(300) && !profileState.running) try {
3730
- await (await import("./pw-ai-BJfL9dGV.js")).closePlaywrightBrowserConnection();
3730
+ await (await import("./pw-ai-CY-VcqJp.js")).closePlaywrightBrowserConnection();
3731
3731
  } catch {}
3732
3732
  if (profileState.running) await stopRunningBrowser();
3733
3733
  try {
3734
- await (await import("./pw-ai-BJfL9dGV.js")).closePlaywrightBrowserConnection();
3734
+ await (await import("./pw-ai-CY-VcqJp.js")).closePlaywrightBrowserConnection();
3735
3735
  } catch {}
3736
- if (!fs$1.existsSync(userDataDir)) return {
3736
+ if (!fsSync.existsSync(userDataDir)) return {
3737
3737
  moved: false,
3738
3738
  from: userDataDir
3739
3739
  };
@@ -4349,7 +4349,7 @@ function releaseAllLocksSync() {
4349
4349
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
4350
4350
  } catch {}
4351
4351
  try {
4352
- fs$1.rmSync(held.lockPath, { force: true });
4352
+ fsSync.rmSync(held.lockPath, { force: true });
4353
4353
  } catch {}
4354
4354
  HELD_LOCKS.delete(sessionFile);
4355
4355
  }
@@ -4571,7 +4571,7 @@ function isCacheEnabled(ttlMs) {
4571
4571
  }
4572
4572
  function getFileMtimeMs(filePath) {
4573
4573
  try {
4574
- return fs$1.statSync(filePath).mtimeMs;
4574
+ return fsSync.statSync(filePath).mtimeMs;
4575
4575
  } catch {
4576
4576
  return;
4577
4577
  }
@@ -4648,7 +4648,7 @@ function loadSessionStore(storePath, opts = {}) {
4648
4648
  let store = {};
4649
4649
  let mtimeMs = getFileMtimeMs(storePath);
4650
4650
  try {
4651
- const raw = fs$1.readFileSync(storePath, "utf-8");
4651
+ const raw = fsSync.readFileSync(storePath, "utf-8");
4652
4652
  const parsed = JSON.parse(raw);
4653
4653
  if (isSessionStoreRecord(parsed)) store = parsed;
4654
4654
  mtimeMs = getFileMtimeMs(storePath) ?? mtimeMs;
@@ -4786,7 +4786,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
4786
4786
  }
4787
4787
  async function getSessionFileSize(storePath) {
4788
4788
  try {
4789
- return (await fs$1.promises.stat(storePath)).size;
4789
+ return (await fsSync.promises.stat(storePath)).size;
4790
4790
  } catch {
4791
4791
  return null;
4792
4792
  }
@@ -4803,7 +4803,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
4803
4803
  if (fileSize <= maxBytes) return false;
4804
4804
  const backupPath = `${storePath}.bak.${Date.now()}`;
4805
4805
  try {
4806
- await fs$1.promises.rename(storePath, backupPath);
4806
+ await fsSync.promises.rename(storePath, backupPath);
4807
4807
  log$1.info("rotated session store file", {
4808
4808
  backupPath: path.basename(backupPath),
4809
4809
  sizeBytes: fileSize
@@ -4814,11 +4814,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
4814
4814
  try {
4815
4815
  const dir = path.dirname(storePath);
4816
4816
  const baseName = path.basename(storePath);
4817
- const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
4817
+ const backups = (await fsSync.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
4818
4818
  const maxBackups = 3;
4819
4819
  if (backups.length > maxBackups) {
4820
4820
  const toDelete = backups.slice(maxBackups);
4821
- for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
4821
+ for (const old of toDelete) await fsSync.promises.unlink(path.join(dir, old)).catch(() => void 0);
4822
4822
  log$1.info("cleaned up old session store backups", { deleted: toDelete.length });
4823
4823
  }
4824
4824
  } catch {}
@@ -4855,11 +4855,11 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
4855
4855
  await rotateSessionFile(storePath, maintenance.rotateBytes);
4856
4856
  }
4857
4857
  }
4858
- await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
4858
+ await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
4859
4859
  const json = JSON.stringify(store, null, 2);
4860
4860
  if (process.platform === "win32") {
4861
4861
  try {
4862
- await fs$1.promises.writeFile(storePath, json, "utf-8");
4862
+ await fsSync.promises.writeFile(storePath, json, "utf-8");
4863
4863
  } catch (err) {
4864
4864
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") return;
4865
4865
  throw err;
@@ -4868,21 +4868,21 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
4868
4868
  }
4869
4869
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
4870
4870
  try {
4871
- await fs$1.promises.writeFile(tmp, json, {
4871
+ await fsSync.promises.writeFile(tmp, json, {
4872
4872
  mode: 384,
4873
4873
  encoding: "utf-8"
4874
4874
  });
4875
- await fs$1.promises.rename(tmp, storePath);
4876
- await fs$1.promises.chmod(storePath, 384);
4875
+ await fsSync.promises.rename(tmp, storePath);
4876
+ await fsSync.promises.chmod(storePath, 384);
4877
4877
  } catch (err) {
4878
4878
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") {
4879
4879
  try {
4880
- await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
4881
- await fs$1.promises.writeFile(storePath, json, {
4880
+ await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
4881
+ await fsSync.promises.writeFile(storePath, json, {
4882
4882
  mode: 384,
4883
4883
  encoding: "utf-8"
4884
4884
  });
4885
- await fs$1.promises.chmod(storePath, 384);
4885
+ await fsSync.promises.chmod(storePath, 384);
4886
4886
  } catch (err2) {
4887
4887
  if ((err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null) === "ENOENT") return;
4888
4888
  throw err2;
@@ -4891,7 +4891,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
4891
4891
  }
4892
4892
  throw err;
4893
4893
  } finally {
4894
- await fs$1.promises.rm(tmp, { force: true });
4894
+ await fsSync.promises.rm(tmp, { force: true });
4895
4895
  }
4896
4896
  }
4897
4897
  async function updateSessionStore(storePath, mutator, opts) {
@@ -5109,8 +5109,8 @@ function resolveMirroredTranscriptText(params) {
5109
5109
  return trimmed ? trimmed : null;
5110
5110
  }
5111
5111
  async function ensureSessionHeader(params) {
5112
- if (fs$1.existsSync(params.sessionFile)) return;
5113
- await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
5112
+ if (fsSync.existsSync(params.sessionFile)) return;
5113
+ await fsSync.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
5114
5114
  const header = {
5115
5115
  type: "session",
5116
5116
  version: CURRENT_SESSION_VERSION,
@@ -5118,7 +5118,7 @@ async function ensureSessionHeader(params) {
5118
5118
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
5119
5119
  cwd: process.cwd()
5120
5120
  };
5121
- await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
5121
+ await fsSync.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
5122
5122
  }
5123
5123
  async function appendAssistantMessageToSessionTranscript(params) {
5124
5124
  const sessionKey = params.sessionKey.trim();
@@ -6544,11 +6544,11 @@ function resolveFailedDir(stateDir) {
6544
6544
  /** Ensure the queue directory (and failed/ subdirectory) exist. */
6545
6545
  async function ensureQueueDir(stateDir) {
6546
6546
  const queueDir = resolveQueueDir(stateDir);
6547
- await fs$1.promises.mkdir(queueDir, {
6547
+ await fsSync.promises.mkdir(queueDir, {
6548
6548
  recursive: true,
6549
6549
  mode: 448
6550
6550
  });
6551
- await fs$1.promises.mkdir(resolveFailedDir(stateDir), {
6551
+ await fsSync.promises.mkdir(resolveFailedDir(stateDir), {
6552
6552
  recursive: true,
6553
6553
  mode: 448
6554
6554
  });
@@ -6576,18 +6576,18 @@ async function enqueueDelivery(params, stateDir) {
6576
6576
  const filePath = path.join(queueDir, `${id}.json`);
6577
6577
  const tmp = `${filePath}.${process.pid}.tmp`;
6578
6578
  const json = JSON.stringify(entry, null, 2);
6579
- await fs$1.promises.writeFile(tmp, json, {
6579
+ await fsSync.promises.writeFile(tmp, json, {
6580
6580
  encoding: "utf-8",
6581
6581
  mode: 384
6582
6582
  });
6583
- await fs$1.promises.rename(tmp, filePath);
6583
+ await fsSync.promises.rename(tmp, filePath);
6584
6584
  return id;
6585
6585
  }
6586
6586
  /** Remove a successfully delivered entry from the queue. */
6587
6587
  async function ackDelivery(id, stateDir) {
6588
6588
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
6589
6589
  try {
6590
- await fs$1.promises.unlink(filePath);
6590
+ await fsSync.promises.unlink(filePath);
6591
6591
  } catch (err) {
6592
6592
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
6593
6593
  }
@@ -6595,16 +6595,16 @@ async function ackDelivery(id, stateDir) {
6595
6595
  /** Update a queue entry after a failed delivery attempt. */
6596
6596
  async function failDelivery(id, error, stateDir) {
6597
6597
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
6598
- const raw = await fs$1.promises.readFile(filePath, "utf-8");
6598
+ const raw = await fsSync.promises.readFile(filePath, "utf-8");
6599
6599
  const entry = JSON.parse(raw);
6600
6600
  entry.retryCount += 1;
6601
6601
  entry.lastError = error;
6602
6602
  const tmp = `${filePath}.${process.pid}.tmp`;
6603
- await fs$1.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
6603
+ await fsSync.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
6604
6604
  encoding: "utf-8",
6605
6605
  mode: 384
6606
6606
  });
6607
- await fs$1.promises.rename(tmp, filePath);
6607
+ await fsSync.promises.rename(tmp, filePath);
6608
6608
  }
6609
6609
 
6610
6610
  //#endregion
@@ -1,7 +1,7 @@
1
1
  //#region src/cli/deps.ts
2
2
  function createDefaultDeps() {
3
3
  return { sendMessageWhatsApp: async (...args) => {
4
- const { sendMessageWhatsApp } = await import("./web-B9-C6C1i.js");
4
+ const { sendMessageWhatsApp } = await import("./web-DE-hmqXy.js");
5
5
  return await sendMessageWhatsApp(...args);
6
6
  } };
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { _ as resolveRequiredHomeDir, d as resolveIsNixMode, f as resolveOAuthDir, m as resolveStateDir, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-zhVksOvm.js";
2
2
  import { W as getResolvedLoggerSettings, d as defaultRuntime } from "./subsystem-BMsbqSb4.js";
3
3
  import { C as shortenHomePath, b as resolveUserPath, w as sleep } from "./utils-B60lF9Wq.js";
4
- import { in as loadAnimaPlugins, lr as loadModelCatalog } from "./reply-DWdVFSBB.js";
4
+ import { in as loadAnimaPlugins, lr as loadModelCatalog } from "./reply-BgPvB-gR.js";
5
5
  import { n as runExec, t as runCommandWithTimeout } from "./exec-cazBMA02.js";
6
6
  import { t as resolveAnimaPackageRoot } from "./anima-root-xWSKR6Wm.js";
7
7
  import { c as resolveDefaultAgentId, d as DEFAULT_AGENTS_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-D3HZp64M.js";
@@ -33,13 +33,13 @@ import { n as renderSystemdUnavailableHints, r as formatRuntimeStatus, t as isSy
33
33
  import { t as readLastGatewayErrorLine } from "./diagnostics-DXeDqA_-.js";
34
34
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-BaoBb09i.js";
35
35
  import { t as resolveChannelDefaultAccountId } from "./helpers-1MPChTcB.js";
36
- import { r as healthCommand } from "./health-2sA2ziYt.js";
36
+ import { r as healthCommand } from "./health-D8fJ6U_k.js";
37
37
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-CH6JWH45.js";
38
38
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DdjvFHx9.js";
39
39
  import { n as logConfigUpdated } from "./logging-DhXRGHWg.js";
40
40
  import { t as note$1 } from "./note-De2zPKl3.js";
41
- import { n as doctorShellCompletion } from "./doctor-completion-jbYrRr0H.js";
42
- import { t as runGatewayUpdate } from "./update-runner-BxdLd4Q8.js";
41
+ import { n as doctorShellCompletion } from "./doctor-completion-C8JSWfqN.js";
42
+ import { t as runGatewayUpdate } from "./update-runner-DPmSGXS3.js";
43
43
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-DA50eWp5.js";
44
44
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-B-uyzDap.js";
45
45
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { t as resolveAnimaPackageRoot } from "./anima-root-xWSKR6Wm.js";
2
2
  import { r as resolveCliName } from "./command-format-BCtkuvqF.js";
3
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Blp8bILB.js";
3
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BBKG6buM.js";
4
4
  import { t as note } from "./note-De2zPKl3.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
@@ -1,6 +1,6 @@
1
1
  import { r as resolveCliName } from "./command-format-kLw3YIIu.js";
2
2
  import { t as resolveAnimaPackageRoot } from "./anima-root-CxtpOklc.js";
3
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-C-fu_7Kd.js";
3
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-C84I5l8a.js";
4
4
  import { t as note } from "./note-BaOKDvcy.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
@@ -10,7 +10,7 @@ import { t as buildWorkspaceSkillStatus } from "./skills-status-DuLjkX2E.js";
10
10
  import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Ofh9gKvs.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DHZ76BNg.js";
12
12
  import { c as resolveGatewayBindHost, n as isLoopbackHost } from "./net-CRsiP49R.js";
13
- import { Rn as loadModelCatalog, m as loadAnimaPlugins } from "./subagent-registry-BVrDlKmm.js";
13
+ import { Rn as loadModelCatalog, m as loadAnimaPlugins } from "./subagent-registry-MZIxVf8W.js";
14
14
  import { S as resolveMainSessionKey, i as loadSessionStore } from "./sessions-1XK2mH6L.js";
15
15
  import { C as DEFAULT_SANDBOX_IMAGE, S as DEFAULT_SANDBOX_COMMON_IMAGE, l as resolveSandboxScope, x as DEFAULT_SANDBOX_BROWSER_IMAGE } from "./sandbox-DDOFuJU9.js";
16
16
  import { i as resolveGatewayAuth } from "./auth-Cp__MMeO.js";
@@ -31,13 +31,13 @@ import { n as renderSystemdUnavailableHints, r as formatRuntimeStatus, t as isSy
31
31
  import { t as readLastGatewayErrorLine } from "./diagnostics-BhSwKIcN.js";
32
32
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-D4xG05j8.js";
33
33
  import { t as resolveChannelDefaultAccountId } from "./helpers-CVp8W9aa.js";
34
- import { r as healthCommand } from "./health-BNasz7nv.js";
34
+ import { r as healthCommand } from "./health-BttJ1Qeh.js";
35
35
  import { i as resolveControlUiDistIndexPathForRoot, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-BLnFZCH_.js";
36
36
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CklLFAsD.js";
37
37
  import { n as logConfigUpdated } from "./logging-DcXIbpwk.js";
38
38
  import { t as note$1 } from "./note-BaOKDvcy.js";
39
- import { n as doctorShellCompletion } from "./doctor-completion-CaC89XwQ.js";
40
- import { t as runGatewayUpdate } from "./update-runner-pmlbxeZ-.js";
39
+ import { n as doctorShellCompletion } from "./doctor-completion-lAyxyd7X.js";
40
+ import { t as runGatewayUpdate } from "./update-runner-iLJQF6VA.js";
41
41
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BjfGQ1Br.js";
42
42
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CS_pA1-a.js";
43
43
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-DmrnGklu.js";
package/dist/entry.js CHANGED
@@ -1588,7 +1588,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1588
1588
  applyCliProfileEnv({ profile: parsed.profile });
1589
1589
  process$1.argv = parsed.argv;
1590
1590
  }
1591
- import("./run-main-Coy6Vx7R.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1591
+ import("./run-main-Cxmjk1SF.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1592
1592
  console.error("[anima] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1593
1593
  process$1.exitCode = 1;
1594
1594
  });
@@ -1,21 +1,21 @@
1
- import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, u as resolveRequiredHomeDir } from "./paths-B-AkG5FD.js";
2
- import { C as warn, O as getLogger, _ as info, g as danger, n as defaultRuntime, t as createSubsystemLogger, v as logVerbose, x as shouldLogVerbose, y as logVerboseConsole } from "./subsystem-BP2l3SHn.js";
1
+ import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, u as resolveRequiredHomeDir } from "./paths-D2eokayo.js";
2
+ import { C as warn, O as getLogger, _ as info, g as danger, n as defaultRuntime, t as createSubsystemLogger, v as logVerbose, x as shouldLogVerbose, y as logVerboseConsole } from "./subsystem-DA3Cno1i.js";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
- import fs from "node:fs";
5
+ import fsSync from "node:fs";
6
6
  import { execFile, spawn } from "node:child_process";
7
7
  import { promisify } from "node:util";
8
8
 
9
9
  //#region src/utils.ts
10
10
  async function ensureDir(dir) {
11
- await fs.promises.mkdir(dir, { recursive: true });
11
+ await fsSync.promises.mkdir(dir, { recursive: true });
12
12
  }
13
13
  /**
14
14
  * Check if a file or directory exists at the given path.
15
15
  */
16
16
  async function pathExists(targetPath) {
17
17
  try {
18
- await fs.promises.access(targetPath);
18
+ await fsSync.promises.access(targetPath);
19
19
  return true;
20
20
  } catch {
21
21
  return false;
@@ -105,7 +105,7 @@ function readLidReverseMapping(lid, opts) {
105
105
  for (const dir of mappingDirs) {
106
106
  const mappingPath = path.join(dir, mappingFilename);
107
107
  try {
108
- const data = fs.readFileSync(mappingPath, "utf8");
108
+ const data = fsSync.readFileSync(mappingPath, "utf8");
109
109
  const phone = JSON.parse(data);
110
110
  if (phone === null || phone === void 0) continue;
111
111
  return normalizeE164(String(phone));
@@ -189,7 +189,7 @@ function resolveConfigDir(env = process.env, homedir = os.homedir) {
189
189
  if (override) return resolveUserPath(override);
190
190
  const newDir = path.join(resolveRequiredHomeDir(env, homedir), ".anima");
191
191
  try {
192
- if (fs.existsSync(newDir)) return newDir;
192
+ if (fsSync.existsSync(newDir)) return newDir;
193
193
  } catch {}
194
194
  return newDir;
195
195
  }
@@ -2,7 +2,7 @@ import "./subsystem-CucjNlOk.js";
2
2
  import { r as resolveAgentDir, s as resolveAgentWorkspaceDir, y as ensureAgentWorkspace } from "./agent-scope-C9CiVcmh.js";
3
3
  import "./exec-gKbUce2p.js";
4
4
  import { f as resolveThinkingDefault, h as DEFAULT_PROVIDER, m as DEFAULT_MODEL } from "./model-selection-BPkpXepz.js";
5
- import { A as resolveAgentTimeoutMs, M as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-BL-Js-lp.js";
5
+ import { A as resolveAgentTimeoutMs, M as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-D4eEfxIU.js";
6
6
  import { H as saveSessionStore, z as loadSessionStore } from "./deliver-8r6UbXnC.js";
7
7
  import "./config-D2kCn7yR.js";
8
8
  import "./shell-env-KRrv3dPW.js";
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-Ce2-qkSB.js";
2
2
  import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-CKU7tKQR.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
 
@@ -56,7 +56,7 @@ function hasBinary(bin) {
56
56
  for (const part of parts) for (const ext of extensions) {
57
57
  const candidate = path.join(part, bin + ext);
58
58
  try {
59
- fs.accessSync(candidate, fs.constants.X_OK);
59
+ fsSync.accessSync(candidate, fsSync.constants.X_OK);
60
60
  hasBinaryCache.set(bin, true);
61
61
  return true;
62
62
  } catch {}
@@ -16,7 +16,7 @@ import "./client-DzIcZx4J.js";
16
16
  import { t as pickPrimaryTailnetIPv4 } from "./tailnet-DpzsRR75.js";
17
17
  import { n as callGateway } from "./call-DHZ76BNg.js";
18
18
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DdOBO6Qm.js";
19
- import "./subagent-registry-BVrDlKmm.js";
19
+ import "./subagent-registry-MZIxVf8W.js";
20
20
  import "./sessions-1XK2mH6L.js";
21
21
  import "./tokens-CmlI2hSz.js";
22
22
  import "./anthropic-direct-runner-CzQb7QkD.js";
@@ -59,14 +59,14 @@ import { n as withProgress } from "./progress-Dj2aBWOI.js";
59
59
  import "./logging-Bpf6Cepz.js";
60
60
  import "./auth-store-Vfd6oc1G.js";
61
61
  import "./noxsoft-auth-DpwLJIW0.js";
62
- import "./reply-prefix-_gr2uQ1Z.js";
62
+ import "./reply-prefix-DBRqtDEq.js";
63
63
  import "./accounts-CYEa4ttU.js";
64
64
  import "./path-env-CafGfJPa.js";
65
65
  import "./dangerous-tools-Asx2qyrG.js";
66
- import "./register.subclis-CMlPDwE5.js";
67
- import "./command-registry-Dv064HDc.js";
66
+ import "./register.subclis-L55mGheS.js";
67
+ import "./command-registry-vEVxxxzI.js";
68
68
  import "./program-context-Dw8HDTRz.js";
69
- import "./completion-cli-C-fu_7Kd.js";
69
+ import "./completion-cli-C84I5l8a.js";
70
70
  import "./daemon-runtime-BfgstLVI.js";
71
71
  import "./onboard-helpers-IeOtcIME.js";
72
72
  import "./prompt-style-D6SRiiTV.js";
@@ -81,23 +81,23 @@ import "./table-Bt7rSYC6.js";
81
81
  import "./shared-7KwLAyAq.js";
82
82
  import { c as probeGateway } from "./audit-HJOpXfgY.js";
83
83
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-D3HFfTyG.js";
84
- import { i as pickGatewaySelfPresence } from "./status-CWgHkLTE.js";
85
- import { a as styleHealthChannelLine, t as formatHealthChannelLines } from "./health-BNasz7nv.js";
86
- import { t as addGatewayRunCommand } from "./run-CXLRGLdR.js";
87
- import "./agent-DImD77Te.js";
84
+ import { i as pickGatewaySelfPresence } from "./status-C9B6cEM0.js";
85
+ import { a as styleHealthChannelLine, t as formatHealthChannelLines } from "./health-BttJ1Qeh.js";
86
+ import { t as addGatewayRunCommand } from "./run-BFPM6M2S.js";
87
+ import "./agent-DUAarfNl.js";
88
88
  import "./catalog-B-TAbJ2o.js";
89
89
  import "./plugin-auto-enable-OqDAK-ap.js";
90
90
  import "./health-format-BLnFZCH_.js";
91
91
  import "./system-run-command-CxQM9dLk.js";
92
92
  import "./channels-status-issues-CklLFAsD.js";
93
- import "./auth-choice-i9Z_cli_.js";
93
+ import "./auth-choice-DPWnLV_w.js";
94
94
  import "./prompts-D6b3zLVO.js";
95
95
  import "./hooks-status-DiqubDlK.js";
96
- import "./onboarding-SrNptVqc.js";
96
+ import "./onboarding-CZBVMwFn.js";
97
97
  import "./logging-DcXIbpwk.js";
98
98
  import "./tui-Bm8FEW0b.js";
99
99
  import "./note-BaOKDvcy.js";
100
- import "./doctor-completion-CaC89XwQ.js";
100
+ import "./doctor-completion-lAyxyd7X.js";
101
101
  import "./ws-log-BA9w1cJs.js";
102
102
  import "./gmail-setup-utils-CR33Gqfc.js";
103
103
  import "./agents.config-DibGEnBs.js";
@@ -108,7 +108,7 @@ import "./node-service-BDlDNv3t.js";
108
108
  import "./status.update-CPACVnCc.js";
109
109
  import "./archive-BIKRyvqD.js";
110
110
  import "./skills-install-CE6djAWL.js";
111
- import "./update-runner-pmlbxeZ-.js";
111
+ import "./update-runner-iLJQF6VA.js";
112
112
  import "./ports-aNJUI3Mi.js";
113
113
  import { spawn } from "node:child_process";
114
114
  import net from "node:net";
@@ -2,7 +2,7 @@ import { u as resolveGatewayPort } from "./paths-zhVksOvm.js";
2
2
  import { B as isRich, V as theme, d as defaultRuntime, z as colorize } from "./subsystem-BMsbqSb4.js";
3
3
  import "./utils-B60lF9Wq.js";
4
4
  import "./pi-embedded-helpers-B6wVA0hU.js";
5
- import "./reply-DWdVFSBB.js";
5
+ import "./reply-BgPvB-gR.js";
6
6
  import "./exec-cazBMA02.js";
7
7
  import "./agent-scope-D3HZp64M.js";
8
8
  import "./model-selection-wCaVeFbb.js";
@@ -58,17 +58,17 @@ import "./pi-model-discovery-ClWISQ3j.js";
58
58
  import "./delivery-queue-DZ_ibFDu.js";
59
59
  import "./session-cost-usage-BamtB1rn.js";
60
60
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-BtlQ-77V.js";
61
- import "./reply-prefix-CRGxza-M.js";
61
+ import "./reply-prefix-37W_P4kH.js";
62
62
  import "./accounts-CL0JV_xk.js";
63
- import "./deps-CMFpRoYp.js";
63
+ import "./deps-CeyVMZf1.js";
64
64
  import "./path-env-CjpH-KWH.js";
65
65
  import "./ports-B1b1r9Dz.js";
66
- import "./program-context-oXX-h-yI.js";
66
+ import "./program-context-Hl6bnPfB.js";
67
67
  import "./catalog-AZNRamJ4.js";
68
68
  import "./skills-status-ybjSmiHu.js";
69
69
  import "./noxsoft-auth-Bmict45b.js";
70
70
  import "./dangerous-tools-BCnOEYau.js";
71
- import "./completion-cli-Blp8bILB.js";
71
+ import "./completion-cli-BBKG6buM.js";
72
72
  import "./daemon-runtime-CIE27usH.js";
73
73
  import "./onboard-helpers-DPqXrhma.js";
74
74
  import "./prompt-style-DU9Vjqe5.js";
@@ -83,23 +83,23 @@ import "./table-CdHBo5d1.js";
83
83
  import "./shared-Hnu5dChj.js";
84
84
  import { c as probeGateway } from "./audit-ByHmjh-G.js";
85
85
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-QsoaZ8Pr.js";
86
- import { r as pickGatewaySelfPresence } from "./status-DyD7gtoK.js";
87
- import { i as styleHealthChannelLine, t as formatHealthChannelLines } from "./health-2sA2ziYt.js";
88
- import { t as addGatewayRunCommand } from "./run-GZnwhuUG.js";
86
+ import { r as pickGatewaySelfPresence } from "./status-BVAoIQ0V.js";
87
+ import { i as styleHealthChannelLine, t as formatHealthChannelLines } from "./health-D8fJ6U_k.js";
88
+ import { t as addGatewayRunCommand } from "./run-DEHnKm2x.js";
89
89
  import "./plugin-auto-enable-Mj7AnofW.js";
90
90
  import "./health-format-CH6JWH45.js";
91
91
  import "./system-run-command-Bx8-5h2r.js";
92
92
  import "./channels-status-issues-DdjvFHx9.js";
93
- import "./prompts-C9IyM74_.js";
93
+ import "./prompts-CneQ6SeF.js";
94
94
  import "./hooks-status-VvwKn90L.js";
95
- import "./onboarding-GIx1Wpw0.js";
95
+ import "./onboarding-Cao0a_Z1.js";
96
96
  import "./logging-DhXRGHWg.js";
97
97
  import "./tui-DtGKiHUr.js";
98
98
  import "./note-De2zPKl3.js";
99
- import "./doctor-completion-jbYrRr0H.js";
99
+ import "./doctor-completion-C8JSWfqN.js";
100
100
  import "./ws-log-Bc4grA6W.js";
101
101
  import "./gmail-setup-utils-D2uUKNlF.js";
102
- import "./agent-B8ciDTm6.js";
102
+ import "./agent-CaaEZsXl.js";
103
103
  import "./agents.config-J7iEgdW_.js";
104
104
  import "./display-BwSYYxVE.js";
105
105
  import "./migrate-BLjwxe9X.js";
@@ -108,7 +108,7 @@ import "./node-service-4B-0AjmA.js";
108
108
  import "./status.update-CbIRaeaV.js";
109
109
  import "./archive-5e-Ytlq-.js";
110
110
  import "./skills-install-2DbC1Yo2.js";
111
- import "./update-runner-BxdLd4Q8.js";
111
+ import "./update-runner-DPmSGXS3.js";
112
112
  import { spawn } from "node:child_process";
113
113
  import net from "node:net";
114
114
 
@@ -4,7 +4,7 @@ import { d as resolveAgentIdFromSessionKey, h as toAgentStoreSessionKey, l as no
4
4
  import { c as resolveDefaultAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-Dm8IL1Ks.js";
5
5
  import { i as loadConfig, m as parseDurationMs } from "./config-Ofh9gKvs.js";
6
6
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DHZ76BNg.js";
7
- import { Ft as CommandLane, In as peekSystemEventEntries, at as resolveHeartbeatSenderContext, in as setHeartbeatWakeHandler, it as resolveHeartbeatDeliveryTarget, k as getQueueSize, nt as buildChannelAccountBindings, rn as requestHeartbeatNow, rt as resolvePreferredAccountId, w as getReplyFromConfig, yr as resolveEffectiveMessagesConfig } from "./subagent-registry-BVrDlKmm.js";
7
+ import { Ft as CommandLane, In as peekSystemEventEntries, at as resolveHeartbeatSenderContext, in as setHeartbeatWakeHandler, it as resolveHeartbeatDeliveryTarget, k as getQueueSize, nt as buildChannelAccountBindings, rn as requestHeartbeatNow, rt as resolvePreferredAccountId, w as getReplyFromConfig, yr as resolveEffectiveMessagesConfig } from "./subagent-registry-MZIxVf8W.js";
8
8
  import { b as resolveAgentMainSessionKey, i as loadSessionStore, l as updateSessionStore, s as saveSessionStore, y as canonicalizeMainSessionAlias } from "./sessions-1XK2mH6L.js";
9
9
  import { t as HEARTBEAT_TOKEN } from "./tokens-CmlI2hSz.js";
10
10
  import { at as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, ct as resolveHeartbeatPrompt$1, lt as stripHeartbeatToken, ot as DEFAULT_HEARTBEAT_EVERY, st as isHeartbeatContentEffectivelyEmpty, w as resolveUserTimezone } from "./anthropic-direct-runner-CzQb7QkD.js";