@hanzo/bot 2026.3.11 → 2026.3.13

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 (169) hide show
  1. package/dist/{accounts-cApXM7Ij.js → accounts-BfUDrXkg.js} +17 -17
  2. package/dist/{accounts-7zwrtsCi.js → accounts-CU6IpCdO.js} +2 -2
  3. package/dist/{accounts-BEs2omoE.js → accounts-CvwEUGLi.js} +2 -2
  4. package/dist/{active-listener-DR8OFowd.js → active-listener-BrRv4Xwc.js} +2 -2
  5. package/dist/{api-key-rotation-RknBrUrn.js → api-key-rotation-GaH2pQmb.js} +2 -2
  6. package/dist/{audio-preflight-Chfaq_QP.js → audio-preflight-ClPkYtiy.js} +32 -32
  7. package/dist/{audio-preflight-D2ryNxLv.js → audio-preflight-hEJ-K1Ib.js} +4 -4
  8. package/dist/{audio-transcription-runner-BI-TLd1r.js → audio-transcription-runner-CqUAFMxM.js} +1 -1
  9. package/dist/{audio-transcription-runner-BvSPpIzU.js → audio-transcription-runner-DcmYYRTV.js} +12 -12
  10. package/dist/{audit-membership-runtime-CVVxrZ7j.js → audit-membership-runtime-BJ149bTU.js} +4 -4
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +51 -51
  13. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  14. package/dist/bundled/command-logger/handler.js +2 -2
  15. package/dist/bundled/session-memory/handler.js +51 -51
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-activity-CALqzTg5.js → channel-activity-BtB_KYWB.js} +3 -3
  18. package/dist/{chrome-CFVzlBUF.js → chrome-CiH9yYg6.js} +18 -18
  19. package/dist/{chrome-DWoTm_BG.js → chrome-jdOx2dAl.js} +8 -8
  20. package/dist/{cloud-connect-bZKXaJWj.js → cloud-connect-yv8A2P84.js} +1 -1
  21. package/dist/{commands-registry-DD9ywdfc.js → commands-registry-CYzULUtG.js} +4 -4
  22. package/dist/{deliver-B2IvdEAO.js → deliver-CQ6QaVna.js} +21 -21
  23. package/dist/{deliver-BrVS3qD4.js → deliver-DpRQLcxS.js} +1 -1
  24. package/dist/{deliver-runtime-y426rL_k.js → deliver-runtime-9qy2zTFN.js} +3 -3
  25. package/dist/deliver-runtime-AIl3Ydhb.js +36 -0
  26. package/dist/deps-send-discord.runtime-BCKKTBVj.js +26 -0
  27. package/dist/deps-send-imessage.runtime-CrYNg1e_.js +25 -0
  28. package/dist/deps-send-signal.runtime-rttQOioa.js +24 -0
  29. package/dist/deps-send-slack.runtime-BsCUhMAR.js +22 -0
  30. package/dist/deps-send-telegram.runtime-sOFkXXMD.js +27 -0
  31. package/dist/deps-send-whatsapp.runtime-B4PrMybd.js +60 -0
  32. package/dist/{deps-send-whatsapp.runtime-CUDRJQI6.js → deps-send-whatsapp.runtime-CZEk5mx7.js} +7 -7
  33. package/dist/{diagnostic-pXxnbxER.js → diagnostic-Dt3OGXoB.js} +2 -2
  34. package/dist/entry.js +1 -1
  35. package/dist/{errors-CHd6Q-vF.js → errors-DDrhcWHi.js} +1 -1
  36. package/dist/extensionAPI.js +6 -6
  37. package/dist/{fetch-DZVswJ-3.js → fetch-C7bGdK_0.js} +5 -5
  38. package/dist/{fetch-guard-EqKIhwBB.js → fetch-guard-Danf_0St.js} +2 -2
  39. package/dist/{frontmatter-B6XNqDx2.js → frontmatter-BFHzrAY7.js} +3 -3
  40. package/dist/{fs-safe-ClYE3-y0.js → fs-safe-Cou1ijNV.js} +4 -4
  41. package/dist/{github-copilot-token-BDioPmd6.js → github-copilot-token-D13V9YBz.js} +7 -7
  42. package/dist/{image-BgWMM5C3.js → image-Cw0N8PLF.js} +6 -6
  43. package/dist/{image-D99xLnGA.js → image-YeyG7rr8.js} +1 -1
  44. package/dist/{image-ops-DGh7juCd.js → image-ops-C23SGeMe.js} +2 -2
  45. package/dist/image-runtime-BTWt5pDL.js +29 -0
  46. package/dist/{image-runtime-BHiX93k-.js → image-runtime-DZ9BSPkK.js} +3 -3
  47. package/dist/{ir-BUxTWPJl.js → ir-CeK8iZwE.js} +8 -8
  48. package/dist/{legacy-names-DZdACm3t.js → legacy-names-Bkl4tjN-.js} +1 -1
  49. package/dist/llm-slug-generator.js +51 -51
  50. package/dist/{local-launch-DO77bp0N.js → local-launch-CUwfR4xk.js} +29 -9
  51. package/dist/{logger-LCC1m_20.js → logger-D4RcXHR-.js} +7 -7
  52. package/dist/{login-BPpT7LmW.js → login-CHghmysG.js} +5 -5
  53. package/dist/{login-qr-ROsDrMTV.js → login-qr-CNFNhTf4.js} +10 -10
  54. package/dist/{manager-DcZ7mOtr.js → manager-DD6mzJNU.js} +13 -13
  55. package/dist/manager-runtime-Daqs8hiB.js +18 -0
  56. package/dist/{model-selection-DX7XfNlF.js → model-selection-CLGE3YIs.js} +43 -43
  57. package/dist/{outbound-attachment-CC04mCS8.js → outbound-attachment-gUN8NzLf.js} +2 -2
  58. package/dist/{outbound-CQ5XVDFO.js → outbound-qbvc4GA6.js} +6 -6
  59. package/dist/{path-alias-guards-IQC4IpGS.js → path-alias-guards-BzNEeFKJ.js} +1 -1
  60. package/dist/{paths-GZsDv0mI.js → paths-0WxUzzEz.js} +4 -4
  61. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  62. package/dist/{pi-embedded-bHDdzvEW.js → pi-embedded-DF0t5HJD.js} +159 -159
  63. package/dist/{pi-embedded-DoF5GLjn.js → pi-embedded-bklbT-yp.js} +24 -24
  64. package/dist/{pi-embedded-helpers-CVj2Bw45.js → pi-embedded-helpers-BT9OkmaI.js} +52 -52
  65. package/dist/{pi-embedded-helpers-DkZKaPa4.js → pi-embedded-helpers-CSHUPpwW.js} +3 -3
  66. package/dist/pi-model-discovery-runtime-C9astVbX.js +11 -0
  67. package/dist/{pi-model-discovery-BYBYqQ0u.js → pi-model-discovery-vsJpfYA9.js} +7 -7
  68. package/dist/{pi-tools.before-tool-call.runtime-BiTed3Jt.js → pi-tools.before-tool-call.runtime-D-Vj4eZ7.js} +9 -9
  69. package/dist/plugin-sdk/discord.js +6 -6
  70. package/dist/plugin-sdk/mattermost.js +3 -3
  71. package/dist/{plugins-DB-tbkgl.js → plugins-BZY4UQdP.js} +13 -13
  72. package/dist/{proxy-env-CiOhiqru.js → proxy-env-BgSzvACM.js} +1 -1
  73. package/dist/{proxy-fetch-lxJGuoUa.js → proxy-fetch-ChfJDZwG.js} +1 -1
  74. package/dist/{pw-ai-Mq6HuD9y.js → pw-ai-C99W41P5.js} +1 -1
  75. package/dist/{pw-ai-WtE5uJRQ.js → pw-ai-CaeuHJYc.js} +14 -14
  76. package/dist/{qmd-manager-Bcw2cb8D.js → qmd-manager-IaHGjYlf.js} +10 -10
  77. package/dist/{query-expansion-D9bYNybh.js → query-expansion-CzkZbxDS.js} +6 -6
  78. package/dist/{redact-DqlKR0-n.js → redact-DGz6yigq.js} +1 -1
  79. package/dist/{run-main-BDJMRMI4.js → run-main-BmfZLBd9.js} +2 -2
  80. package/dist/{run-with-concurrency-B8f7bYi3.js → run-with-concurrency-Ccm0w34R.js} +4 -4
  81. package/dist/runtime-whatsapp-login.runtime-BQjNpkbA.js +13 -0
  82. package/dist/runtime-whatsapp-outbound.runtime-GVjcQLWE.js +22 -0
  83. package/dist/{send-CkPIBk6V.js → send-BRWGalFX.js} +8 -8
  84. package/dist/{send-BftnuVa7.js → send-CYoz4Xjy.js} +7 -7
  85. package/dist/{send-D9k6sRe5.js → send-Cpd5Q5mD.js} +6 -6
  86. package/dist/{send-yLSU7X_F.js → send-Dsz28eiu.js} +28 -28
  87. package/dist/{send-pIawmzTN.js → send-tBfK5Za7.js} +5 -5
  88. package/dist/{session-CgL23zvS.js → session-Dn8bzB0l.js} +8 -8
  89. package/dist/{skill-commands-Cnz3QjWm.js → skill-commands-LO2hG7Hm.js} +9 -9
  90. package/dist/{skills-BhLAW7lA.js → skills-mpCKgKof.js} +22 -22
  91. package/dist/slash-commands.runtime-Qho-6_Lc.js +16 -0
  92. package/dist/{slash-dispatch.runtime-BI4kyhSk.js → slash-dispatch.runtime-CLPlz-lX.js} +6 -6
  93. package/dist/slash-dispatch.runtime-CkR-TldC.js +56 -0
  94. package/dist/slash-skill-commands.runtime-DmrTozXn.js +20 -0
  95. package/dist/{store-EDjci9yP.js → store-DbpT7v8D.js} +2 -2
  96. package/dist/subagent-registry-runtime-DWAZpHqO.js +56 -0
  97. package/dist/{subagent-registry-runtime-nzkRCNeS.js → subagent-registry-runtime-TuyVULIb.js} +6 -6
  98. package/dist/{subsystem-CdFYjh2k.js → subsystem-W834z9Wa.js} +14 -14
  99. package/dist/{tables-tp9Zl0hI.js → tables-BpeU6RzS.js} +1 -1
  100. package/dist/{target-errors-3YX3buv4.js → target-errors-Dcsvl3HX.js} +2 -2
  101. package/dist/{thinking-BaTRgLOg.js → thinking-DzbkyD99.js} +7 -7
  102. package/dist/{tokens-mtgzW7UN.js → tokens-Cyi-NbsV.js} +1 -1
  103. package/dist/{tool-images-C3-c00jy.js → tool-images-DktJ_8C5.js} +2 -2
  104. package/dist/{web-BOPbMZux.js → web-BByXTa4p.js} +55 -55
  105. package/dist/{web-72kt7sM1.js → web-Ci3EFOGu.js} +6 -6
  106. package/dist/{whatsapp-actions-BQWT_h74.js → whatsapp-actions-BK9m2IVX.js} +21 -21
  107. package/dist/{workspace-DKhOowSl.js → workspace-BhNk7PBH.js} +20 -20
  108. package/extensions/acpx/package.json +1 -1
  109. package/extensions/bluebubbles/package.json +1 -1
  110. package/extensions/ci-fix-loop/package.json +1 -1
  111. package/extensions/continuous-learning/package.json +1 -1
  112. package/extensions/copilot-proxy/package.json +1 -1
  113. package/extensions/diagnostics-otel/package.json +1 -1
  114. package/extensions/diffs/package.json +1 -1
  115. package/extensions/discord/package.json +1 -1
  116. package/extensions/feishu/package.json +1 -1
  117. package/extensions/flow/package.json +1 -1
  118. package/extensions/google-antigravity-auth/package.json +1 -1
  119. package/extensions/google-gemini-cli-auth/package.json +1 -1
  120. package/extensions/googlechat/package.json +1 -1
  121. package/extensions/imessage/package.json +1 -1
  122. package/extensions/irc/package.json +1 -1
  123. package/extensions/line/package.json +1 -1
  124. package/extensions/llm-task/package.json +1 -1
  125. package/extensions/lobster/package.json +1 -1
  126. package/extensions/matrix/CHANGELOG.md +10 -0
  127. package/extensions/matrix/package.json +1 -1
  128. package/extensions/mattermost/package.json +1 -1
  129. package/extensions/memory-core/package.json +1 -1
  130. package/extensions/memory-lancedb/package.json +1 -1
  131. package/extensions/minimax-portal-auth/package.json +1 -1
  132. package/extensions/msteams/CHANGELOG.md +10 -0
  133. package/extensions/msteams/package.json +1 -1
  134. package/extensions/nextcloud-talk/package.json +1 -1
  135. package/extensions/nostr/CHANGELOG.md +10 -0
  136. package/extensions/nostr/package.json +1 -1
  137. package/extensions/open-prose/package.json +1 -1
  138. package/extensions/self-improvement/package.json +1 -1
  139. package/extensions/signal/package.json +1 -1
  140. package/extensions/slack/package.json +1 -1
  141. package/extensions/synology-chat/package.json +1 -1
  142. package/extensions/telegram/package.json +1 -1
  143. package/extensions/tlon/package.json +1 -1
  144. package/extensions/twitch/CHANGELOG.md +10 -0
  145. package/extensions/twitch/package.json +1 -1
  146. package/extensions/voice-call/CHANGELOG.md +10 -0
  147. package/extensions/voice-call/package.json +1 -1
  148. package/extensions/whatsapp/package.json +1 -1
  149. package/extensions/zalo/CHANGELOG.md +10 -0
  150. package/extensions/zalo/package.json +1 -1
  151. package/extensions/zalouser/CHANGELOG.md +10 -0
  152. package/extensions/zalouser/package.json +1 -1
  153. package/package.json +1 -1
  154. package/dist/deliver-runtime-DY7UPWdO.js +0 -36
  155. package/dist/deps-send-discord.runtime-B_MPWdLu.js +0 -26
  156. package/dist/deps-send-imessage.runtime-BqgAHmfA.js +0 -25
  157. package/dist/deps-send-signal.runtime-B4CYnceH.js +0 -24
  158. package/dist/deps-send-slack.runtime-dtkYbGcS.js +0 -22
  159. package/dist/deps-send-telegram.runtime-C5f1UIXW.js +0 -27
  160. package/dist/deps-send-whatsapp.runtime-D6XwcPPI.js +0 -60
  161. package/dist/image-runtime-v_h0aTZD.js +0 -29
  162. package/dist/manager-runtime-D_u9rPEs.js +0 -18
  163. package/dist/pi-model-discovery-runtime-ZDLroaI6.js +0 -11
  164. package/dist/runtime-whatsapp-login.runtime-A_4Z63o5.js +0 -13
  165. package/dist/runtime-whatsapp-outbound.runtime-QGzX864p.js +0 -22
  166. package/dist/slash-commands.runtime-BD-KtYmG.js +0 -16
  167. package/dist/slash-dispatch.runtime-Dzq3WGxH.js +0 -56
  168. package/dist/slash-skill-commands.runtime-EpYM7zik.js +0 -20
  169. package/dist/subagent-registry-runtime-DwTeW5f1.js +0 -56
@@ -1,13 +1,13 @@
1
- import { c as resolveAgentWorkspaceDir, r as listAgentIds, s as resolveAgentSkillsFilter } from "./run-with-concurrency-B8f7bYi3.js";
2
- import { c as resolveStateDir } from "./paths-Cvc9EM8Y.js";
3
- import { t as createSubsystemLogger, u as logVerbose } from "./subsystem-CdFYjh2k.js";
4
- import { a as CONFIG_DIR, y as resolveUserPath } from "./logger-LCC1m_20.js";
5
- import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-BhLAW7lA.js";
1
+ import { c as resolveAgentWorkspaceDir, r as listAgentIds, s as resolveAgentSkillsFilter } from "./run-with-concurrency-Ccm0w34R.js";
2
+ import { c as resolveStateDir } from "./paths-C6TxBCvO.js";
3
+ import { t as createSubsystemLogger, u as logVerbose } from "./subsystem-W834z9Wa.js";
4
+ import { a as CONFIG_DIR, y as resolveUserPath } from "./logger-D4RcXHR-.js";
5
+ import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-mpCKgKof.js";
6
6
  import { t as createAsyncLock } from "./json-files-D7-rxoSr.js";
7
- import { i as listChatCommands } from "./commands-registry-DD9ywdfc.js";
7
+ import { i as listChatCommands } from "./commands-registry-CYzULUtG.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fs from "node:fs";
10
+ import syncFs from "node:fs";
11
11
  import { randomUUID } from "node:crypto";
12
12
  import chokidar from "chokidar";
13
13
 
@@ -252,13 +252,13 @@ function listSkillCommandsForAgents(params) {
252
252
  const workspaceFilters = /* @__PURE__ */ new Map();
253
253
  for (const agentId of agentIds) {
254
254
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
255
- if (!fs.existsSync(workspaceDir)) {
255
+ if (!syncFs.existsSync(workspaceDir)) {
256
256
  logVerbose(`Skipping agent "${agentId}": workspace does not exist: ${workspaceDir}`);
257
257
  continue;
258
258
  }
259
259
  let canonicalDir;
260
260
  try {
261
- canonicalDir = fs.realpathSync(workspaceDir);
261
+ canonicalDir = syncFs.realpathSync(workspaceDir);
262
262
  } catch {
263
263
  logVerbose(`Skipping agent "${agentId}": cannot resolve workspace: ${workspaceDir}`);
264
264
  continue;
@@ -1,13 +1,13 @@
1
- import { m as normalizeSkillFilter } from "./run-with-concurrency-B8f7bYi3.js";
2
- import { t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-CdFYjh2k.js";
3
- import { O as isPathInside, h as resolveOpenClawPackageRootSync } from "./workspace-DKhOowSl.js";
4
- import { a as CONFIG_DIR, y as resolveUserPath } from "./logger-LCC1m_20.js";
5
- import { $n as isDangerousHostEnvVarName, Bt as resolveEffectiveEnableState, Kn as isPathInsideWithRealpath, Pt as loadPluginManifestRegistry, Vt as resolveMemorySlotDecision, yr as normalizeResolvedSecretInputString, zt as normalizePluginsConfig } from "./model-selection-DX7XfNlF.js";
6
- import { a as resolveOpenClawManifestBlock, c as resolveOpenClawManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseOpenClawManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveOpenClawManifestInstall, r as parseFrontmatterBool, s as resolveOpenClawManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-B6XNqDx2.js";
7
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-IQC4IpGS.js";
1
+ import { m as normalizeSkillFilter } from "./run-with-concurrency-Ccm0w34R.js";
2
+ import { t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-W834z9Wa.js";
3
+ import { O as isPathInside, h as resolveOpenClawPackageRootSync } from "./workspace-BhNk7PBH.js";
4
+ import { a as CONFIG_DIR, y as resolveUserPath } from "./logger-D4RcXHR-.js";
5
+ import { $n as isDangerousHostEnvVarName, Bt as resolveEffectiveEnableState, Kn as isPathInsideWithRealpath, Pt as loadPluginManifestRegistry, Vt as resolveMemorySlotDecision, yr as normalizeResolvedSecretInputString, zt as normalizePluginsConfig } from "./model-selection-CLGE3YIs.js";
6
+ import { a as resolveOpenClawManifestBlock, c as resolveOpenClawManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseOpenClawManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveOpenClawManifestInstall, r as parseFrontmatterBool, s as resolveOpenClawManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-BFHzrAY7.js";
7
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BzNEeFKJ.js";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fs from "node:fs";
10
+ import syncFs from "node:fs";
11
11
  import { URL as URL$1, fileURLToPath } from "node:url";
12
12
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
13
13
 
@@ -543,13 +543,13 @@ function shortPath(value) {
543
543
  //#region src/agents/skills/bundled-dir.ts
544
544
  function looksLikeSkillsDir(dir) {
545
545
  try {
546
- const entries = fs.readdirSync(dir, { withFileTypes: true });
546
+ const entries = syncFs.readdirSync(dir, { withFileTypes: true });
547
547
  for (const entry of entries) {
548
548
  if (entry.name.startsWith(".")) continue;
549
549
  const fullPath = path.join(dir, entry.name);
550
550
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
551
551
  if (entry.isDirectory()) {
552
- if (fs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
552
+ if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
553
553
  }
554
554
  }
555
555
  } catch {
@@ -564,7 +564,7 @@ function resolveBundledSkillsDir(opts = {}) {
564
564
  const execPath = opts.execPath ?? process.execPath;
565
565
  const execDir = path.dirname(execPath);
566
566
  const sibling = path.join(execDir, "skills");
567
- if (fs.existsSync(sibling)) return sibling;
567
+ if (syncFs.existsSync(sibling)) return sibling;
568
568
  } catch {}
569
569
  try {
570
570
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -627,7 +627,7 @@ function resolvePluginSkillDirs(params) {
627
627
  const trimmed = raw.trim();
628
628
  if (!trimmed) continue;
629
629
  const candidate = path.resolve(record.rootDir, trimmed);
630
- if (!fs.existsSync(candidate)) {
630
+ if (!syncFs.existsSync(candidate)) {
631
631
  log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
632
632
  continue;
633
633
  }
@@ -658,7 +658,7 @@ async function serializeByKey(key, task) {
658
658
 
659
659
  //#endregion
660
660
  //#region src/agents/skills/workspace.ts
661
- const fsp = fs.promises;
661
+ const fsp = syncFs.promises;
662
662
  const skillsLogger = createSubsystemLogger("skills");
663
663
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
664
664
  /**
@@ -735,7 +735,7 @@ function resolveSkillsLimits(config) {
735
735
  }
736
736
  function listChildDirectories(dir) {
737
737
  try {
738
- const entries = fs.readdirSync(dir, { withFileTypes: true });
738
+ const entries = syncFs.readdirSync(dir, { withFileTypes: true });
739
739
  const dirs = [];
740
740
  for (const entry of entries) {
741
741
  if (entry.name.startsWith(".")) continue;
@@ -746,7 +746,7 @@ function listChildDirectories(dir) {
746
746
  continue;
747
747
  }
748
748
  if (entry.isSymbolicLink()) try {
749
- if (fs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
749
+ if (syncFs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
750
750
  } catch {}
751
751
  }
752
752
  return dirs;
@@ -757,7 +757,7 @@ function listChildDirectories(dir) {
757
757
  function resolveNestedSkillsRoot(dir, opts) {
758
758
  const nested = path.join(dir, "skills");
759
759
  try {
760
- if (!fs.existsSync(nested) || !fs.statSync(nested).isDirectory()) return { baseDir: dir };
760
+ if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) return { baseDir: dir };
761
761
  } catch {
762
762
  return { baseDir: dir };
763
763
  }
@@ -766,7 +766,7 @@ function resolveNestedSkillsRoot(dir, opts) {
766
766
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
767
767
  for (const name of toScan) {
768
768
  const skillMd = path.join(nested, name, "SKILL.md");
769
- if (fs.existsSync(skillMd)) return {
769
+ if (syncFs.existsSync(skillMd)) return {
770
770
  baseDir: nested,
771
771
  note: `Detected nested skills root at ${nested}`
772
772
  };
@@ -786,9 +786,9 @@ function loadSkillEntries(workspaceDir, opts) {
786
786
  const loadSkills = (params) => {
787
787
  const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
788
788
  const rootSkillMd = path.join(baseDir, "SKILL.md");
789
- if (fs.existsSync(rootSkillMd)) {
789
+ if (syncFs.existsSync(rootSkillMd)) {
790
790
  try {
791
- const size = fs.statSync(rootSkillMd).size;
791
+ const size = syncFs.statSync(rootSkillMd).size;
792
792
  if (size > limits.maxSkillFileBytes) {
793
793
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
794
794
  dir: baseDir,
@@ -827,9 +827,9 @@ function loadSkillEntries(workspaceDir, opts) {
827
827
  for (const name of limitedChildren) {
828
828
  const skillDir = path.join(baseDir, name);
829
829
  const skillMd = path.join(skillDir, "SKILL.md");
830
- if (!fs.existsSync(skillMd)) continue;
830
+ if (!syncFs.existsSync(skillMd)) continue;
831
831
  try {
832
- const size = fs.statSync(skillMd).size;
832
+ const size = syncFs.statSync(skillMd).size;
833
833
  if (size > limits.maxSkillFileBytes) {
834
834
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
835
835
  skill: name,
@@ -897,7 +897,7 @@ function loadSkillEntries(workspaceDir, opts) {
897
897
  return Array.from(merged.values()).map((skill) => {
898
898
  let frontmatter = {};
899
899
  try {
900
- frontmatter = parseFrontmatter(fs.readFileSync(skill.filePath, "utf-8"));
900
+ frontmatter = parseFrontmatter(syncFs.readFileSync(skill.filePath, "utf-8"));
901
901
  } catch {}
902
902
  return {
903
903
  skill,
@@ -0,0 +1,16 @@
1
+ import "./run-with-concurrency-Ccm0w34R.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-W834z9Wa.js";
4
+ import "./workspace-BhNk7PBH.js";
5
+ import "./logger-D4RcXHR-.js";
6
+ import "./model-selection-CLGE3YIs.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-Bkl4tjN-.js";
9
+ import "./thinking-DzbkyD99.js";
10
+ import "./accounts-BfUDrXkg.js";
11
+ import "./plugins-BZY4UQdP.js";
12
+ import "./accounts-CU6IpCdO.js";
13
+ import "./accounts-CvwEUGLi.js";
14
+ import { f as resolveCommandArgMenu, n as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-CYzULUtG.js";
15
+
16
+ export { buildCommandTextFromArgs, findCommandByNativeName, listNativeCommandSpecsForConfig, parseCommandArgs, resolveCommandArgMenu };
@@ -2,7 +2,7 @@ import "./run-with-concurrency-Cl6RA1jj.js";
2
2
  import "./paths-CaA28K0s.js";
3
3
  import "./logger-03l-fZAz.js";
4
4
  import "./model-selection-DBsGeiK-.js";
5
- import { F as finalizeInboundContext, P as resolveAgentRoute, c as createReplyPrefixOptions, i as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, x as dispatchReplyWithDispatcher } from "./pi-embedded-DoF5GLjn.js";
5
+ import { F as finalizeInboundContext, P as resolveAgentRoute, c as createReplyPrefixOptions, i as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, x as dispatchReplyWithDispatcher } from "./pi-embedded-bklbT-yp.js";
6
6
  import "./github-copilot-token-BWXANsA6.js";
7
7
  import "./thinking-CfyiCA3G.js";
8
8
  import "./tokens-BNir7uMh.js";
@@ -10,14 +10,14 @@ import "./accounts-DY1X-s7s.js";
10
10
  import "./plugins-D-0WTgB3.js";
11
11
  import "./send-RnwO-RHl.js";
12
12
  import "./send-D8sX0KzB.js";
13
- import "./deliver-BrVS3qD4.js";
13
+ import "./deliver-DpRQLcxS.js";
14
14
  import "./diagnostic-4mG4HPNM.js";
15
15
  import "./accounts-DTt92bBI.js";
16
16
  import "./image-ops-H7-oxso2.js";
17
17
  import "./send-BwwO-RRn.js";
18
18
  import "./pi-model-discovery-BCAL3jTa.js";
19
- import { kt as resolveConversationLabel } from "./pi-embedded-helpers-DkZKaPa4.js";
20
- import "./chrome-DWoTm_BG.js";
19
+ import { kt as resolveConversationLabel } from "./pi-embedded-helpers-CSHUPpwW.js";
20
+ import "./chrome-jdOx2dAl.js";
21
21
  import "./skills-DYPNXcqp.js";
22
22
  import "./path-alias-guards-CnMi477K.js";
23
23
  import "./redact-BYyl-Ec1.js";
@@ -28,8 +28,8 @@ import "./store-fRWpW53K.js";
28
28
  import "./accounts-Gr3z2vFt.js";
29
29
  import "./paths-CYxtj6M6.js";
30
30
  import "./tool-images-CP_K-W16.js";
31
- import "./image-D99xLnGA.js";
32
- import "./audio-transcription-runner-BI-TLd1r.js";
31
+ import "./image-YeyG7rr8.js";
32
+ import "./audio-transcription-runner-CqUAFMxM.js";
33
33
  import "./fetch-eWgbLfn0.js";
34
34
  import "./fetch-guard-DuC_-ogd.js";
35
35
  import "./api-key-rotation-BGQLOWVR.js";
@@ -0,0 +1,56 @@
1
+ import "./run-with-concurrency-Ccm0w34R.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-W834z9Wa.js";
4
+ import "./workspace-BhNk7PBH.js";
5
+ import "./logger-D4RcXHR-.js";
6
+ import "./model-selection-CLGE3YIs.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-Bkl4tjN-.js";
9
+ import "./thinking-DzbkyD99.js";
10
+ import "./tokens-Cyi-NbsV.js";
11
+ import { C as dispatchReplyWithDispatcher, I as resolveAgentRoute, L as finalizeInboundContext, i as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, u as createReplyPrefixOptions } from "./pi-embedded-DF0t5HJD.js";
12
+ import "./accounts-BfUDrXkg.js";
13
+ import "./plugins-BZY4UQdP.js";
14
+ import "./send-Cpd5Q5mD.js";
15
+ import "./send-BRWGalFX.js";
16
+ import "./deliver-CQ6QaVna.js";
17
+ import "./diagnostic-Dt3OGXoB.js";
18
+ import "./accounts-CU6IpCdO.js";
19
+ import "./image-ops-C23SGeMe.js";
20
+ import "./send-Dsz28eiu.js";
21
+ import "./pi-model-discovery-vsJpfYA9.js";
22
+ import { kt as resolveConversationLabel } from "./pi-embedded-helpers-BT9OkmaI.js";
23
+ import "./chrome-CiH9yYg6.js";
24
+ import "./frontmatter-BFHzrAY7.js";
25
+ import "./skills-mpCKgKof.js";
26
+ import "./path-alias-guards-BzNEeFKJ.js";
27
+ import "./redact-DGz6yigq.js";
28
+ import "./errors-DDrhcWHi.js";
29
+ import "./fs-safe-Cou1ijNV.js";
30
+ import "./proxy-env-BgSzvACM.js";
31
+ import "./store-DbpT7v8D.js";
32
+ import "./accounts-CvwEUGLi.js";
33
+ import "./paths-0WxUzzEz.js";
34
+ import "./tool-images-DktJ_8C5.js";
35
+ import "./image-Cw0N8PLF.js";
36
+ import "./audio-transcription-runner-DcmYYRTV.js";
37
+ import "./fetch-C7bGdK_0.js";
38
+ import "./fetch-guard-Danf_0St.js";
39
+ import "./api-key-rotation-GaH2pQmb.js";
40
+ import "./proxy-fetch-ChfJDZwG.js";
41
+ import { m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-CeK8iZwE.js";
42
+ import "./render-DW7AcFdD.js";
43
+ import "./target-errors-Dcsvl3HX.js";
44
+ import "./commands-registry-CYzULUtG.js";
45
+ import "./skill-commands-LO2hG7Hm.js";
46
+ import "./fetch-BfuG8uZ8.js";
47
+ import "./channel-activity-BtB_KYWB.js";
48
+ import "./tables-BpeU6RzS.js";
49
+ import "./send-tBfK5Za7.js";
50
+ import "./outbound-attachment-gUN8NzLf.js";
51
+ import "./send-CYoz4Xjy.js";
52
+ import "./proxy-CecQTx_Z.js";
53
+ import "./manager-DD6mzJNU.js";
54
+ import "./query-expansion-CzkZbxDS.js";
55
+
56
+ export { createReplyPrefixOptions, deliverSlackSlashReplies, dispatchReplyWithDispatcher, finalizeInboundContext, recordInboundSessionMetaSafe, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode };
@@ -0,0 +1,20 @@
1
+ import "./run-with-concurrency-Ccm0w34R.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-W834z9Wa.js";
4
+ import "./workspace-BhNk7PBH.js";
5
+ import "./logger-D4RcXHR-.js";
6
+ import "./model-selection-CLGE3YIs.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-Bkl4tjN-.js";
9
+ import "./thinking-DzbkyD99.js";
10
+ import "./accounts-BfUDrXkg.js";
11
+ import "./plugins-BZY4UQdP.js";
12
+ import "./accounts-CU6IpCdO.js";
13
+ import "./frontmatter-BFHzrAY7.js";
14
+ import "./skills-mpCKgKof.js";
15
+ import "./path-alias-guards-BzNEeFKJ.js";
16
+ import "./accounts-CvwEUGLi.js";
17
+ import "./commands-registry-CYzULUtG.js";
18
+ import { n as listSkillCommandsForAgents } from "./skill-commands-LO2hG7Hm.js";
19
+
20
+ export { listSkillCommandsForAgents };
@@ -1,5 +1,5 @@
1
- import { _ as resolveConfigDir } from "./logger-LCC1m_20.js";
2
- import { b as detectMime, x as extensionForMime } from "./image-ops-DGh7juCd.js";
1
+ import { _ as resolveConfigDir } from "./logger-D4RcXHR-.js";
2
+ import { b as detectMime, x as extensionForMime } from "./image-ops-C23SGeMe.js";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
@@ -0,0 +1,56 @@
1
+ import "./run-with-concurrency-Ccm0w34R.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-W834z9Wa.js";
4
+ import "./workspace-BhNk7PBH.js";
5
+ import "./logger-D4RcXHR-.js";
6
+ import "./model-selection-CLGE3YIs.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-Bkl4tjN-.js";
9
+ import "./thinking-DzbkyD99.js";
10
+ import "./tokens-Cyi-NbsV.js";
11
+ import { G as isSubagentSessionRunActive, H as countActiveDescendantRuns, J as resolveRequesterForChildSession, K as listSubagentRunsForRequester, U as countPendingDescendantRuns, W as countPendingDescendantRunsExcludingRun, Y as shouldIgnorePostCompletionAnnounceForSession, q as replaceSubagentRunAfterSteer } from "./pi-embedded-DF0t5HJD.js";
12
+ import "./accounts-BfUDrXkg.js";
13
+ import "./plugins-BZY4UQdP.js";
14
+ import "./send-Cpd5Q5mD.js";
15
+ import "./send-BRWGalFX.js";
16
+ import "./deliver-CQ6QaVna.js";
17
+ import "./diagnostic-Dt3OGXoB.js";
18
+ import "./accounts-CU6IpCdO.js";
19
+ import "./image-ops-C23SGeMe.js";
20
+ import "./send-Dsz28eiu.js";
21
+ import "./pi-model-discovery-vsJpfYA9.js";
22
+ import "./pi-embedded-helpers-BT9OkmaI.js";
23
+ import "./chrome-CiH9yYg6.js";
24
+ import "./frontmatter-BFHzrAY7.js";
25
+ import "./skills-mpCKgKof.js";
26
+ import "./path-alias-guards-BzNEeFKJ.js";
27
+ import "./redact-DGz6yigq.js";
28
+ import "./errors-DDrhcWHi.js";
29
+ import "./fs-safe-Cou1ijNV.js";
30
+ import "./proxy-env-BgSzvACM.js";
31
+ import "./store-DbpT7v8D.js";
32
+ import "./accounts-CvwEUGLi.js";
33
+ import "./paths-0WxUzzEz.js";
34
+ import "./tool-images-DktJ_8C5.js";
35
+ import "./image-Cw0N8PLF.js";
36
+ import "./audio-transcription-runner-DcmYYRTV.js";
37
+ import "./fetch-C7bGdK_0.js";
38
+ import "./fetch-guard-Danf_0St.js";
39
+ import "./api-key-rotation-GaH2pQmb.js";
40
+ import "./proxy-fetch-ChfJDZwG.js";
41
+ import "./ir-CeK8iZwE.js";
42
+ import "./render-DW7AcFdD.js";
43
+ import "./target-errors-Dcsvl3HX.js";
44
+ import "./commands-registry-CYzULUtG.js";
45
+ import "./skill-commands-LO2hG7Hm.js";
46
+ import "./fetch-BfuG8uZ8.js";
47
+ import "./channel-activity-BtB_KYWB.js";
48
+ import "./tables-BpeU6RzS.js";
49
+ import "./send-tBfK5Za7.js";
50
+ import "./outbound-attachment-gUN8NzLf.js";
51
+ import "./send-CYoz4Xjy.js";
52
+ import "./proxy-CecQTx_Z.js";
53
+ import "./manager-DD6mzJNU.js";
54
+ import "./query-expansion-CzkZbxDS.js";
55
+
56
+ export { countActiveDescendantRuns, countPendingDescendantRuns, countPendingDescendantRunsExcludingRun, isSubagentSessionRunActive, listSubagentRunsForRequester, replaceSubagentRunAfterSteer, resolveRequesterForChildSession, shouldIgnorePostCompletionAnnounceForSession };
@@ -2,7 +2,7 @@ import "./run-with-concurrency-Cl6RA1jj.js";
2
2
  import "./paths-CaA28K0s.js";
3
3
  import "./logger-03l-fZAz.js";
4
4
  import "./model-selection-DBsGeiK-.js";
5
- import { B as countActiveDescendantRuns, G as replaceSubagentRunAfterSteer, H as countPendingDescendantRunsExcludingRun, K as resolveRequesterForChildSession, U as isSubagentSessionRunActive, V as countPendingDescendantRuns, W as listSubagentRunsForRequester, q as shouldIgnorePostCompletionAnnounceForSession } from "./pi-embedded-DoF5GLjn.js";
5
+ import { B as countActiveDescendantRuns, G as replaceSubagentRunAfterSteer, H as countPendingDescendantRunsExcludingRun, K as resolveRequesterForChildSession, U as isSubagentSessionRunActive, V as countPendingDescendantRuns, W as listSubagentRunsForRequester, q as shouldIgnorePostCompletionAnnounceForSession } from "./pi-embedded-bklbT-yp.js";
6
6
  import "./github-copilot-token-BWXANsA6.js";
7
7
  import "./thinking-CfyiCA3G.js";
8
8
  import "./tokens-BNir7uMh.js";
@@ -10,14 +10,14 @@ import "./accounts-DY1X-s7s.js";
10
10
  import "./plugins-D-0WTgB3.js";
11
11
  import "./send-RnwO-RHl.js";
12
12
  import "./send-D8sX0KzB.js";
13
- import "./deliver-BrVS3qD4.js";
13
+ import "./deliver-DpRQLcxS.js";
14
14
  import "./diagnostic-4mG4HPNM.js";
15
15
  import "./accounts-DTt92bBI.js";
16
16
  import "./image-ops-H7-oxso2.js";
17
17
  import "./send-BwwO-RRn.js";
18
18
  import "./pi-model-discovery-BCAL3jTa.js";
19
- import "./pi-embedded-helpers-DkZKaPa4.js";
20
- import "./chrome-DWoTm_BG.js";
19
+ import "./pi-embedded-helpers-CSHUPpwW.js";
20
+ import "./chrome-jdOx2dAl.js";
21
21
  import "./skills-DYPNXcqp.js";
22
22
  import "./path-alias-guards-CnMi477K.js";
23
23
  import "./redact-BYyl-Ec1.js";
@@ -28,8 +28,8 @@ import "./store-fRWpW53K.js";
28
28
  import "./accounts-Gr3z2vFt.js";
29
29
  import "./paths-CYxtj6M6.js";
30
30
  import "./tool-images-CP_K-W16.js";
31
- import "./image-D99xLnGA.js";
32
- import "./audio-transcription-runner-BI-TLd1r.js";
31
+ import "./image-YeyG7rr8.js";
32
+ import "./audio-transcription-runner-CqUAFMxM.js";
33
33
  import "./fetch-eWgbLfn0.js";
34
34
  import "./fetch-guard-DuC_-ogd.js";
35
35
  import "./api-key-rotation-BGQLOWVR.js";
@@ -1,7 +1,7 @@
1
- import { r as resolveConfigPath } from "./paths-Cvc9EM8Y.js";
1
+ import { r as resolveConfigPath } from "./paths-C6TxBCvO.js";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import syncFs from "node:fs";
5
5
  import chalk, { Chalk } from "chalk";
6
6
  import { Logger } from "tslog";
7
7
  import JSON5 from "json5";
@@ -54,15 +54,15 @@ function getCommandPathInternal(argv, depth, opts) {
54
54
  //#endregion
55
55
  //#region src/infra/tmp-openclaw-dir.ts
56
56
  const POSIX_OPENCLAW_TMP_DIR = "/tmp/openclaw";
57
- const TMP_DIR_ACCESS_MODE = fs.constants.W_OK | fs.constants.X_OK;
57
+ const TMP_DIR_ACCESS_MODE = syncFs.constants.W_OK | syncFs.constants.X_OK;
58
58
  function isNodeErrorWithCode(err, code) {
59
59
  return typeof err === "object" && err !== null && "code" in err && err.code === code;
60
60
  }
61
61
  function resolvePreferredOpenClawTmpDir(options = {}) {
62
- const accessSync = options.accessSync ?? fs.accessSync;
63
- const chmodSync = options.chmodSync ?? fs.chmodSync;
64
- const lstatSync = options.lstatSync ?? fs.lstatSync;
65
- const mkdirSync = options.mkdirSync ?? fs.mkdirSync;
62
+ const accessSync = options.accessSync ?? syncFs.accessSync;
63
+ const chmodSync = options.chmodSync ?? syncFs.chmodSync;
64
+ const lstatSync = options.lstatSync ?? syncFs.lstatSync;
65
+ const mkdirSync = options.mkdirSync ?? syncFs.mkdirSync;
66
66
  const warn = options.warn ?? ((message) => console.warn(message));
67
67
  const getuid = options.getuid ?? (() => {
68
68
  try {
@@ -155,8 +155,8 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
155
155
  function readLoggingConfig() {
156
156
  const configPath = resolveConfigPath();
157
157
  try {
158
- if (!fs.existsSync(configPath)) return;
159
- const raw = fs.readFileSync(configPath, "utf-8");
158
+ if (!syncFs.existsSync(configPath)) return;
159
+ const raw = syncFs.readFileSync(configPath, "utf-8");
160
160
  const logging = JSON5.parse(raw)?.logging;
161
161
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
162
162
  return logging;
@@ -344,7 +344,7 @@ function buildLogger(settings) {
344
344
  for (const transport of externalTransports) attachExternalTransport(logger, transport);
345
345
  return logger;
346
346
  }
347
- fs.mkdirSync(path.dirname(settings.file), { recursive: true });
347
+ syncFs.mkdirSync(path.dirname(settings.file), { recursive: true });
348
348
  if (isRollingPath(settings.file)) pruneOldRollingLogs(path.dirname(settings.file));
349
349
  let currentFileBytes = getCurrentLogFileBytes(settings.file);
350
350
  let warnedAboutSizeCap = false;
@@ -383,14 +383,14 @@ function resolveMaxLogFileBytes(raw) {
383
383
  }
384
384
  function getCurrentLogFileBytes(file) {
385
385
  try {
386
- return fs.statSync(file).size;
386
+ return syncFs.statSync(file).size;
387
387
  } catch {
388
388
  return 0;
389
389
  }
390
390
  }
391
391
  function appendLogLine(file, line) {
392
392
  try {
393
- fs.appendFileSync(file, line, { encoding: "utf8" });
393
+ syncFs.appendFileSync(file, line, { encoding: "utf8" });
394
394
  return true;
395
395
  } catch {
396
396
  return false;
@@ -442,14 +442,14 @@ function isRollingPath(file) {
442
442
  }
443
443
  function pruneOldRollingLogs(dir) {
444
444
  try {
445
- const entries = fs.readdirSync(dir, { withFileTypes: true });
445
+ const entries = syncFs.readdirSync(dir, { withFileTypes: true });
446
446
  const cutoff = Date.now() - MAX_LOG_AGE_MS;
447
447
  for (const entry of entries) {
448
448
  if (!entry.isFile()) continue;
449
449
  if (!entry.name.startsWith(`${LOG_PREFIX}-`) || !entry.name.endsWith(LOG_SUFFIX)) continue;
450
450
  const fullPath = path.join(dir, entry.name);
451
451
  try {
452
- if (fs.statSync(fullPath).mtimeMs < cutoff) fs.rmSync(fullPath, { force: true });
452
+ if (syncFs.statSync(fullPath).mtimeMs < cutoff) syncFs.rmSync(fullPath, { force: true });
453
453
  } catch {}
454
454
  }
455
455
  } catch {}
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-BUxTWPJl.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-CeK8iZwE.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-DW7AcFdD.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,5 +1,5 @@
1
- import { b as detectMime } from "./image-ops-DGh7juCd.js";
2
- import { r as sanitizeToolResultImages } from "./tool-images-C3-c00jy.js";
1
+ import { b as detectMime } from "./image-ops-C23SGeMe.js";
2
+ import { r as sanitizeToolResultImages } from "./tool-images-DktJ_8C5.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
@@ -1,10 +1,10 @@
1
- import { G as normalizeAccountId } from "./workspace-DKhOowSl.js";
2
- import { h as normalizeE164, u as escapeRegExp } from "./logger-LCC1m_20.js";
3
- import { Qt as requireActivePluginRegistry, Ut as CHAT_CHANNEL_ORDER, Wt as getChatChannelMeta } from "./model-selection-DX7XfNlF.js";
4
- import { g as resolveAccountEntry, n as resolveWhatsAppAccount } from "./accounts-cApXM7Ij.js";
5
- import { S as inspectDiscordAccount, _ as resolveSlackAccount, a as normalizeWhatsAppTarget, g as inspectSlackAccount, o as inspectTelegramAccount, v as resolveSlackReplyToMode } from "./plugins-DB-tbkgl.js";
6
- import { n as resolveSignalAccount } from "./accounts-7zwrtsCi.js";
7
- import { t as resolveIMessageAccount } from "./accounts-BEs2omoE.js";
1
+ import { G as normalizeAccountId } from "./workspace-BhNk7PBH.js";
2
+ import { h as normalizeE164, u as escapeRegExp } from "./logger-D4RcXHR-.js";
3
+ import { Qt as requireActivePluginRegistry, Ut as CHAT_CHANNEL_ORDER, Wt as getChatChannelMeta } from "./model-selection-CLGE3YIs.js";
4
+ import { g as resolveAccountEntry, n as resolveWhatsAppAccount } from "./accounts-BfUDrXkg.js";
5
+ import { S as inspectDiscordAccount, _ as resolveSlackAccount, a as normalizeWhatsAppTarget, g as inspectSlackAccount, o as inspectTelegramAccount, v as resolveSlackReplyToMode } from "./plugins-BZY4UQdP.js";
6
+ import { n as resolveSignalAccount } from "./accounts-CU6IpCdO.js";
7
+ import { t as resolveIMessageAccount } from "./accounts-CvwEUGLi.js";
8
8
 
9
9
  //#region src/config/types.tools.ts
10
10
  const TOOLS_BY_SENDER_KEY_TYPES = [
@@ -1,4 +1,4 @@
1
- import { u as escapeRegExp } from "./logger-LCC1m_20.js";
1
+ import { u as escapeRegExp } from "./logger-D4RcXHR-.js";
2
2
 
3
3
  //#region src/auto-reply/tokens.ts
4
4
  const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
@@ -1,5 +1,5 @@
1
- import { t as createSubsystemLogger } from "./subsystem-CdFYjh2k.js";
2
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DGh7juCd.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-W834z9Wa.js";
2
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-C23SGeMe.js";
3
3
 
4
4
  //#region src/media/base64.ts
5
5
  function estimateBase64DecodedBytes(base64) {