@symerian/symi 3.0.1 → 3.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.
Files changed (166) hide show
  1. package/dist/{agents-D4F5bhNg.js → agents-DEYqmFEH.js} +4 -4
  2. package/dist/{agents.config-DS9Gbqqg.js → agents.config-ClI9Q05l.js} +1 -1
  3. package/dist/{agents.config-Czr0DbSr.js → agents.config-TArPtTFt.js} +1 -1
  4. package/dist/{audio-preflight-Cje-A0Fs.js → audio-preflight-BrKBM7JM.js} +4 -4
  5. package/dist/{auth-choice-BU6XwruP.js → auth-choice-bOht3his.js} +1 -1
  6. package/dist/{auth-choice-DU5o68ia.js → auth-choice-kJVkaHx6.js} +1 -1
  7. package/dist/{banner-qaKrETF8.js → banner--HSjGLhi.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +2 -2
  10. package/dist/bundled/session-memory/handler.js +2 -2
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-Bkfyg4nZ.js → channel-options-C68HZtw7.js} +1 -1
  13. package/dist/{channel-options-DW3nWxkv.js → channel-options-Cj2ZMHvy.js} +1 -1
  14. package/dist/{channel-web-DoDJqXyN.js → channel-web-BGZxsb8l.js} +1 -1
  15. package/dist/{channels-cli-B9tesYLD.js → channels-cli-C775zJjx.js} +6 -6
  16. package/dist/{channels-cli-V7ii1g6k.js → channels-cli-CLkq2ISd.js} +6 -6
  17. package/dist/{chrome-DaduLVA1.js → chrome-WfENE6tB.js} +7 -7
  18. package/dist/{cli-0GHBNwqe.js → cli-8ibydSgl.js} +3 -3
  19. package/dist/{cli-CAhOnKQ3.js → cli-B2FVKvPQ.js} +3 -3
  20. package/dist/{command-registry-Phoz_hat.js → command-registry-C-c2RS-n.js} +10 -10
  21. package/dist/{completion-cli-BAebbT-g.js → completion-cli-BLO_wsYD.js} +2 -2
  22. package/dist/{completion-cli-FR_B0tX1.js → completion-cli-IKI4BpqL.js} +1 -1
  23. package/dist/{config-cli-BXus9Npr.js → config-cli-Bh8aPiiL.js} +1 -1
  24. package/dist/{config-cli-DLSg0aaH.js → config-cli-d4RU82ov.js} +1 -1
  25. package/dist/{configure-BsrDBB87.js → configure-DKmHXbug.js} +3 -3
  26. package/dist/{configure-CPweqV68.js → configure-jxJfT5_B.js} +3 -3
  27. package/dist/daemon-cli.js +6 -6
  28. package/dist/{deliver-B6vfVmif.js → deliver-DShQE_sq.js} +1 -1
  29. package/dist/{doctor-completion-D5BKaeyT.js → doctor-completion-C7SuoBlz.js} +1 -1
  30. package/dist/{doctor-completion-DBs809iZ.js → doctor-completion-VAGhCLD5.js} +1 -1
  31. package/dist/entry.js +1 -1
  32. package/dist/extensionAPI.js +7 -7
  33. package/dist/{gateway-cli-DDxIyaeu.js → gateway-cli-BELyZGAU.js} +12 -12
  34. package/dist/{gateway-cli-D7ppw9MR.js → gateway-cli-D_SJFv7K.js} +12 -12
  35. package/dist/{glass-ui-ws-DSCEyW9z.js → glass-ui-ws-0agRdhZD.js} +10 -10
  36. package/dist/{glass-ui-ws-BK6Ca98g.js → glass-ui-ws-qPJDDUD9.js} +10 -10
  37. package/dist/{health-ByAPhIlQ.js → health-BnGM6Yux.js} +69 -5
  38. package/dist/{health-VfVqsLcU.js → health-CCKCR4oM.js} +69 -5
  39. package/dist/{heartbeat-visibility-BdqXBLOd.js → heartbeat-visibility-C4Sg0QOd.js} +1 -1
  40. package/dist/{heartbeat-visibility-ol7hy6FB.js → heartbeat-visibility-CG080wT5.js} +1 -1
  41. package/dist/{hooks-cli-CA2ikPts.js → hooks-cli-B2WVvhgH.js} +4 -4
  42. package/dist/{hooks-cli-D8u-iqwZ.js → hooks-cli-CtuiPrKW.js} +4 -4
  43. package/dist/{image-C12-WOMI.js → image-DfzwGNoa.js} +1 -1
  44. package/dist/index.js +9 -9
  45. package/dist/llm-slug-generator.js +2 -2
  46. package/dist/{manager-DfZDS6-4.js → manager-B6EhIj3H.js} +1 -1
  47. package/dist/{manager-DPxj_q1-.js → manager-DKUOUCmo.js} +1 -1
  48. package/dist/{manager-C9NXB77i.js → manager-Mm_GQxOU.js} +1 -1
  49. package/dist/{manager-DxihqoWd.js → manager-zwcQLMln.js} +1 -1
  50. package/dist/{memory-cli-Bjj5cTuq.js → memory-cli-BEZM7jn9.js} +3 -3
  51. package/dist/{memory-cli-D_O5bN6m.js → memory-cli-D4lLSeA1.js} +3 -3
  52. package/dist/{models-CD7SOI3V.js → models-ElQijvpq.js} +2 -2
  53. package/dist/{models-cli-Wjh_xd50.js → models-cli-14U59ejI.js} +5 -5
  54. package/dist/{models-cli-Dj5BnQIi.js → models-cli-Dtf5Zpgd.js} +4 -4
  55. package/dist/{onboard-Bgl-nPXW.js → onboard-CaYQVQYI.js} +2 -2
  56. package/dist/{onboard-CCfkebWZ.js → onboard-DN2xgEv1.js} +2 -2
  57. package/dist/{onboard-channels-DKFmls3m.js → onboard-channels-B1fWI5k5.js} +1 -1
  58. package/dist/{onboard-channels-CHJjmcTz.js → onboard-channels-C5sKGabO.js} +1 -1
  59. package/dist/{onboarding-CtCbkyNo.js → onboarding-BngFnwT6.js} +3 -3
  60. package/dist/{onboarding-GXSRt2Z4.js → onboarding-DNIz481s.js} +3 -3
  61. package/dist/{onboarding.finalize-CTqy_Unj.js → onboarding.finalize-B-x_trN9.js} +8 -8
  62. package/dist/{onboarding.finalize-Cyo7tKOt.js → onboarding.finalize-BA8-Tnhc.js} +9 -9
  63. package/dist/{pi-embedded-gBOzgRYn.js → pi-embedded-DUJ9Ytfn.js} +67 -24
  64. package/dist/{pi-embedded-helpers-pMH6u36v.js → pi-embedded-helpers-B1k1RWqM.js} +4 -4
  65. package/dist/{plugin-registry-BMavDLfZ.js → plugin-registry-C1xFJkog.js} +1 -1
  66. package/dist/{plugin-registry-CO6iA1TE.js → plugin-registry-CZS8ioCg.js} +1 -1
  67. package/dist/plugin-sdk/agents/system-prompt.d.ts +8 -0
  68. package/dist/plugin-sdk/{channel-web--Ru_sFHM.js → channel-web-B_XlrV_E.js} +1 -1
  69. package/dist/plugin-sdk/index.js +3 -3
  70. package/dist/plugin-sdk/infra/active-heartbeat-runs.d.ts +34 -0
  71. package/dist/plugin-sdk/{manager-CDV3YWoX.js → manager-CJd0vK4S.js} +1 -1
  72. package/dist/plugin-sdk/{synthesis-Bojs0PJL.js → synthesis-Cre_3fLT.js} +2 -2
  73. package/dist/plugin-sdk/{unified-runner-D7m-WeUt.js → unified-runner-BNQKFoGX.js} +53 -10
  74. package/dist/plugin-sdk/{web-BoYy2HSO.js → web-CE-OsTKq.js} +3 -3
  75. package/dist/{plugins-cli-2A8lifj4.js → plugins-cli-BGccb2gT.js} +4 -4
  76. package/dist/{plugins-cli-DhQzD98q.js → plugins-cli-f_Ncophh.js} +4 -4
  77. package/dist/{program-DEaYsa-L.js → program-5Hto31sk.js} +9 -9
  78. package/dist/{program-context-rJ500lzQ.js → program-context-Baw4Oc1H.js} +18 -18
  79. package/dist/{prompt-select-styled-3tYztnc1.js → prompt-select-styled-Cm6mr7mH.js} +6 -6
  80. package/dist/{prompt-select-styled-BcJXLROq.js → prompt-select-styled-DHSySGF2.js} +6 -6
  81. package/dist/{provider-auth-helpers-COKxBW7N.js → provider-auth-helpers-FdlXX50k.js} +1 -1
  82. package/dist/{provider-auth-helpers-eQzmopYc.js → provider-auth-helpers-_aPYnJCR.js} +1 -1
  83. package/dist/{push-apns-CBPUnPja.js → push-apns-DnMyTqrU.js} +1 -1
  84. package/dist/{push-apns-kuIc4QSa.js → push-apns-Dusza10V.js} +1 -1
  85. package/dist/{pw-ai-D0CMQA23.js → pw-ai-Dd_QrTWR.js} +1 -1
  86. package/dist/{register.agent-CNpLOx-Y.js → register.agent-DibuuULq.js} +7 -7
  87. package/dist/{register.agent-Bj4dYxX1.js → register.agent-TI-lzUMT.js} +8 -8
  88. package/dist/{register.configure-BsXY0hbE.js → register.configure-BbBU2vzP.js} +9 -9
  89. package/dist/{register.configure-CM4isxt8.js → register.configure-CE6z4EEp.js} +9 -9
  90. package/dist/{register.maintenance-Dphm3utW.js → register.maintenance-D_cRwoi6.js} +11 -11
  91. package/dist/{register.maintenance-Bvt-fYOe.js → register.maintenance-Dsw96Q5M.js} +10 -10
  92. package/dist/{register.message-C4WU4qwG.js → register.message-7JdfRDPR.js} +4 -4
  93. package/dist/{register.message-CuJ6kd3Y.js → register.message-BqRfLqBs.js} +4 -4
  94. package/dist/{register.onboard-D_HBo-CG.js → register.onboard-7iv0kkQk.js} +7 -7
  95. package/dist/{register.onboard-4GJ7224e.js → register.onboard-Ca5HGO6E.js} +7 -7
  96. package/dist/{register.setup-Blb61XAC.js → register.setup-Cy3cIayc.js} +7 -7
  97. package/dist/{register.setup-BJ9kJazQ.js → register.setup-D7AKohSt.js} +7 -7
  98. package/dist/{register.status-health-sessions-CRAYzQLg.js → register.status-health-sessions-BW51mzBs.js} +6 -6
  99. package/dist/{register.status-health-sessions-B4hENuHX.js → register.status-health-sessions-DOkSVuJk.js} +6 -6
  100. package/dist/{register.subclis-CmDRn7Z2.js → register.subclis-p-z6ekaE.js} +9 -9
  101. package/dist/{run-main-CPcu8T5o.js → run-main-BhEacTM9.js} +17 -17
  102. package/dist/{runner-7XhJhCc0.js → runner-CaXOtv_D.js} +1 -1
  103. package/dist/{server-methods-DDbTMvnA.js → server-methods-Bcwa782q.js} +10 -9
  104. package/dist/{server-methods-CX3ldLPd.js → server-methods-C8ff27p5.js} +10 -9
  105. package/dist/{server-node-events-Bzoq_nfx.js → server-node-events-B85y_7eX.js} +4 -4
  106. package/dist/{server-node-events-Ccoeyw6p.js → server-node-events-h8Af4ZTV.js} +4 -4
  107. package/dist/{status-CyHHusPc.js → status-DFBG2hcx.js} +1 -1
  108. package/dist/{status-BEAngZOJ.js → status-DUGaRGN0.js} +3 -3
  109. package/dist/{status-OAdlubd0.js → status-DsaLdb09.js} +3 -3
  110. package/dist/{status-BdKI8eQ7.js → status-JL0CD-E1.js} +1 -1
  111. package/dist/{subagent-registry-UkXCmOLK.js → subagent-registry-DXCGIrYv.js} +53 -10
  112. package/dist/{synthesis-DnRaxWS6.js → synthesis-BUbH-4DA.js} +2 -2
  113. package/dist/{synthesis-BkOyAKJV.js → synthesis-BxwFFuqZ.js} +7 -7
  114. package/dist/{synthesis-DGBPTml_.js → synthesis-CLt-6Pzu.js} +3 -3
  115. package/dist/{synthesis-D_fSgB6z.js → synthesis-ekn511D_.js} +3 -3
  116. package/dist/{unified-runner-BNTy0IvK.js → unified-runner-CdBxbcO2.js} +53 -10
  117. package/dist/{unified-runner-BlsArDPO.js → unified-runner-DtJxJ016.js} +53 -10
  118. package/dist/{update-cli-DuALcXLb.js → update-cli-4OzLcQIF.js} +10 -10
  119. package/dist/{update-cli-Cwi3bnhh.js → update-cli-CQbvni-d.js} +11 -11
  120. package/dist/{update-runner-C3OhMuSJ.js → update-runner-CiYhkA5I.js} +1 -1
  121. package/dist/{update-runner-DkNNsx67.js → update-runner-DLCzD7sp.js} +1 -1
  122. package/dist/{web-arCxqOL_.js → web-COnC7jb4.js} +7 -7
  123. package/dist/{web-PndcPkY5.js → web-CSDi520u.js} +2 -2
  124. package/dist/{web-Cp_dpAof.js → web-DMFKXi8s.js} +5 -5
  125. package/dist/{web-DtgGgNSl.js → web-DiqLVzt7.js} +4 -4
  126. package/extensions/bluebubbles/package.json +1 -1
  127. package/extensions/copilot-proxy/package.json +1 -1
  128. package/extensions/diagnostics-otel/package.json +1 -1
  129. package/extensions/discord/package.json +1 -1
  130. package/extensions/feishu/package.json +1 -1
  131. package/extensions/google-antigravity-auth/package.json +1 -1
  132. package/extensions/google-gemini-cli-auth/package.json +1 -1
  133. package/extensions/googlechat/package.json +1 -1
  134. package/extensions/imessage/package.json +1 -1
  135. package/extensions/irc/package.json +1 -1
  136. package/extensions/learning-loop/package.json +1 -1
  137. package/extensions/line/package.json +1 -1
  138. package/extensions/llm-task/package.json +1 -1
  139. package/extensions/matrix/CHANGELOG.md +6 -0
  140. package/extensions/matrix/package.json +1 -1
  141. package/extensions/mattermost/package.json +1 -1
  142. package/extensions/memory-core/package.json +1 -1
  143. package/extensions/memory-lancedb/package.json +1 -1
  144. package/extensions/minimax-portal-auth/package.json +1 -1
  145. package/extensions/msteams/CHANGELOG.md +6 -0
  146. package/extensions/msteams/package.json +1 -1
  147. package/extensions/nextcloud-talk/package.json +1 -1
  148. package/extensions/nostr/CHANGELOG.md +6 -0
  149. package/extensions/nostr/package.json +1 -1
  150. package/extensions/open-prose/package.json +1 -1
  151. package/extensions/outlook/package.json +1 -1
  152. package/extensions/pipeline/package.json +1 -1
  153. package/extensions/signal/package.json +1 -1
  154. package/extensions/slack/package.json +1 -1
  155. package/extensions/telegram/package.json +1 -1
  156. package/extensions/tlon/package.json +1 -1
  157. package/extensions/twitch/CHANGELOG.md +6 -0
  158. package/extensions/twitch/package.json +1 -1
  159. package/extensions/voice-call/CHANGELOG.md +6 -0
  160. package/extensions/voice-call/package.json +1 -1
  161. package/extensions/whatsapp/package.json +1 -1
  162. package/extensions/zalo/CHANGELOG.md +6 -0
  163. package/extensions/zalo/package.json +1 -1
  164. package/extensions/zalouser/CHANGELOG.md +6 -0
  165. package/extensions/zalouser/package.json +1 -1
  166. package/package.json +1 -1
@@ -54,8 +54,8 @@ import { A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as
54
54
  import { a as buildModelAliasLines, n as resolveModel } from "./model-JOScPOPJ.js";
55
55
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CXXH7biP.js";
56
56
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DnXliXio.js";
57
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Bjj5cTuq.js";
58
- import { i as resolveMemorySearchConfig } from "./manager-DPxj_q1-.js";
57
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BEZM7jn9.js";
58
+ import { i as resolveMemorySearchConfig } from "./manager-DKUOUCmo.js";
59
59
  import { f as runTasksWithConcurrency } from "./internal-7ow_5D0m.js";
60
60
  import { n as retryAsync } from "./retry-DYICeae5.js";
61
61
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-T0R2wR5q.js";
@@ -6429,6 +6429,40 @@ function buildSkillsJitBlocks(opts) {
6429
6429
 
6430
6430
  //#endregion
6431
6431
  //#region src/agents/system-prompt.ts
6432
+ /**
6433
+ * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
6434
+ * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
6435
+ * for inlining into the system prompt — gives the agent the actual file
6436
+ * surface so it doesn't speculate names like "memory/2026-04-30.md" from
6437
+ * training-data priors. Resilient: missing dir → [], unreadable → [].
6438
+ */
6439
+ function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
6440
+ if (!workspaceDir) return [];
6441
+ const memoryDir = path.join(workspaceDir, "memory");
6442
+ let entries;
6443
+ try {
6444
+ entries = fs.readdirSync(memoryDir, { withFileTypes: true });
6445
+ } catch {
6446
+ return [];
6447
+ }
6448
+ const files = [];
6449
+ for (const entry of entries) {
6450
+ if (!entry.isFile()) continue;
6451
+ if (!entry.name.toLowerCase().endsWith(".md")) continue;
6452
+ let mtimeMs = 0;
6453
+ try {
6454
+ mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
6455
+ } catch {
6456
+ mtimeMs = 0;
6457
+ }
6458
+ files.push({
6459
+ name: entry.name,
6460
+ mtimeMs
6461
+ });
6462
+ }
6463
+ files.sort((a, b) => b.mtimeMs - a.mtimeMs);
6464
+ return files.slice(0, limit).map((f) => f.name);
6465
+ }
6432
6466
  function buildSkillsSection(params) {
6433
6467
  if (params.isMinimal) return [];
6434
6468
  if (params.dropCatalog) return [];
@@ -6452,13 +6486,21 @@ function buildMemorySection(params) {
6452
6486
  "## Memory Recall",
6453
6487
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
6454
6488
  "",
6489
+ "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
6490
+ "",
6455
6491
  "Memory is split into two layers you will see as files:",
6456
6492
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
6457
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
6458
- "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
6459
- "",
6460
- "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
6493
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
6494
+ "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
6461
6495
  ];
6496
+ const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
6497
+ if (memoryFiles.length > 0) {
6498
+ lines.push("");
6499
+ lines.push("Existing memory files in this workspace (most-recently-modified first):");
6500
+ for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
6501
+ }
6502
+ lines.push("");
6503
+ lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
6462
6504
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
6463
6505
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
6464
6506
  lines.push("");
@@ -6747,7 +6789,8 @@ function buildAgentSystemPrompt(params) {
6747
6789
  const memorySection = buildMemorySection({
6748
6790
  isMinimal,
6749
6791
  availableTools,
6750
- citationsMode: params.memoryCitationsMode
6792
+ citationsMode: params.memoryCitationsMode,
6793
+ workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
6751
6794
  });
6752
6795
  const docsSection = buildDocsSection({
6753
6796
  docsPath: params.docsPath,
@@ -48435,7 +48478,7 @@ function setCliSessionId(entry, provider, sessionId) {
48435
48478
  function createDefaultDeps() {
48436
48479
  return {
48437
48480
  sendMessageWhatsApp: async (...args) => {
48438
- const { sendMessageWhatsApp } = await import("./web-Cp_dpAof.js");
48481
+ const { sendMessageWhatsApp } = await import("./web-DMFKXi8s.js");
48439
48482
  return await sendMessageWhatsApp(...args);
48440
48483
  },
48441
48484
  sendMessageTelegram: async (...args) => {
@@ -63749,7 +63792,7 @@ function loadWebLoginQr() {
63749
63792
  return webLoginQrPromise;
63750
63793
  }
63751
63794
  function loadWebChannel() {
63752
- webChannelPromise ??= import("./web-Cp_dpAof.js");
63795
+ webChannelPromise ??= import("./web-DMFKXi8s.js");
63753
63796
  return webChannelPromise;
63754
63797
  }
63755
63798
  function loadWhatsAppActions() {
@@ -73642,4 +73685,4 @@ async function runAgentTurn(params) {
73642
73685
  }
73643
73686
 
73644
73687
  //#endregion
73645
- export { loadSessionEntry as $, readLatestAssistantReply as $n, resolveUsageProviderId as $t, DEFAULT_GROUP_HISTORY_LIMIT as A, formatChannelAllowFrom as An, getAgentRunContext as Ar, buildDeliveryFromLegacyPayload as At, withContextUsageWarning as B, shouldComputeCommandAuthorized as Bn, isHeartbeatContentEffectivelyEmpty as Br, persistBrowserProxyFiles as Bt, runCliAgent as C, prepareAgentRun as Cn, getTotalQueueSize as Cr, inferLegacyName as Ct, parseIdentityMarkdown as D, peekSystemEvents as Dn, CommandLane as Dr, normalizePayloadToSystemText as Dt, loadAgentIdentityFromWorkspace as E, peekSystemEventEntries as En, waitForActiveTasks as Er, normalizeOptionalText as Et, provider_dispatcher_exports as F, resolveInboundDebounceMs as Fn, composeTurnMiddleware as Fr, buildSafeExternalPrompt as Ft, createSymiTools as G, countActiveDescendantRuns as Gn, markGatewaySigusr1RestartHandled as Gt, runUnifiedTurn as H, stopSubagentsForRequester as Hn, stripHeartbeatToken as Hr, deferGatewayRestartUntilIdle as Ht, createReplyDispatcher as I, formatInboundEnvelope as In, runWithModelFallback as Ir, detectSuspiciousPatterns as It, canonicalizeSpawnedByForAgent as J, listDescendantRunsForRequester as Jn, setPreRestartDeferralCheck as Jt, listTasksInWorkdir as K, countActiveRunsForSession as Kn, scheduleGatewaySigusr1Restart as Kt, getTotalPendingReplies as L, resolveEnvelopeFormatOptions as Ln, describeFailoverError as Lr, getHookType as Lt, recordPendingHistoryEntryIfEnabled as M, normalizeGroupActivation as Mn, registerAgentRunContext as Mr, stripLegacyDeliveryFields as Mt, shouldAckReactionForWhatsApp as N, parseActivationCommand as Nn, classifyOutboundMessage as Nr, CHANNEL_TARGETS_DESCRIPTION as Nt, buildPairingReply as O, buildChannelSummary as On, clearAgentRunContext as Or, normalizeRequiredName as Ot, dispatchReplyWithBufferedBlockDispatcher as P, createInboundDebouncer as Pn, resolveModelProfile as Pr, CHANNEL_TARGET_DESCRIPTION as Pt, loadCombinedSessionStoreForGateway as Q, runSubagentAnnounceFlow as Qn, formatUsageWindowSummary as Qt, buildGlassUiProfile as R, formatZonedTimestamp as Rn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as Rr, isExternalHookSession as Rt, setCliSessionId as S, estimateBase64DecodedBytes as Sn, getQueueSize as Sr, normalizeCronJobPatch as St, identityHasValues as T, isSystemEventContextChanged as Tn, setCommandLaneConcurrency as Tr, normalizeOptionalSessionKey as Tt, buildAgentTurnParams as U, buildMentionRegexes as Un, emitGatewayRestart as Ut, withContextOverflowRecovery as V, isAbortTrigger as Vn, resolveHeartbeatPrompt as Vr, consumeGatewaySigusr1RestartAuthorization as Vt, prepareReplyTurn as W, normalizeMentionText as Wn, isGatewaySigusr1RestartExternallyAllowed as Wt, listAgentsForGateway as X, subagent_registry_exports as Xn, loadProviderUsageSummary as Xt, classifySessionKey as Y, listSubagentRunsForRequester as Yn, unbindThreadBindingsBySessionKey as Yt, listSessionsFromStore as Z, resolveAgentTimeoutMs as Zn, formatUsageReportLines as Zt, resolveAgentOutboundTarget as _, DEFAULT_INPUT_TIMEOUT_MS as _n, textToSpeech as _r, summarizeRestartSentinel as _t, getPluginToolMeta as a, resolveSendPolicy as an, resolveUserTimeFormat as ar, resolveOutboundSessionRoute as at, createOutboundSendDeps$1 as b, normalizeMimeList as bn, sha256HexPrefix as br, normalizeHttpWebhookUrl as bt, deleteTelegramUpdateOffset as c, DEFAULT_OAUTH_WARN_MS as cn, isTtsEnabled as cr, resolveOutboundTarget as ct, requestBodyErrorToText as d, applyModelOverrideToSessionEntry as dn, resolveTtsAutoMode as dr, resetDirectoryCache as dt, resolveCommitHash as en, clearSessionQueues as er, pruneLegacyStoreKeys as et, computeBackoff as f, applyVerboseOverride as fn, resolveTtsConfig as fr, CHANNEL_MESSAGE_ACTION_NAMES as ft, resolveAgentDeliveryPlan as g, DEFAULT_INPUT_MAX_REDIRECTS as gn, setTtsProvider as gr, readRestartSentinel as gt, resolveSessionKeyForRequest as h, DEFAULT_INPUT_IMAGE_MIMES as hn, setTtsEnabled as hr, formatRestartSentinelMessage as ht, sniffMimeFromBase64 as i, normalizeSendPolicy as in, formatUserTime as ir, ensureOutboundSessionEntry as it, buildHistoryContextFromEntries as j, BARE_SESSION_RESET_PROMPT as jn, onAgentEvent as jr, hasLegacyDeliveryHints as jt, resolveMentionGating as k, buildChannelAccountSnapshot as kn, emitAgentEvent as kr, migrateLegacyCronPayload as kt, handleSlackHttpRequest as l, buildAuthHealthSummary as ln, isTtsProviderConfigured as lr, resolveSessionDeliveryTarget as lt, agentCommand as m, DEFAULT_INPUT_IMAGE_MAX_BYTES as mn, resolveTtsProviderOrder as mr, formatDoctorNonInteractiveHint as mt, applyToolPolicyPipeline as n, setHeartbeatWakeHandler as nn, getActiveEmbeddedRunCount as nr, resolveSessionModelRef as nt, createPluginLoaderLogger as o, lookupContextTokens as on, resolveUserTimezone as or, resolveHeartbeatDeliveryTarget as ot, sleepWithAbort as p, parseVerboseOverride as pn, resolveTtsPrefsPath as pr, consumeRestartSentinel as pt, resolveAnnounceTargetFromKey as q, initSubagentRegistry as qn, setGatewaySigusr1RestartPolicy as qt, buildDefaultToolPolicyPipelineSteps as r, resolveHeartbeatReasonKind as rn, waitForEmbeddedPiRunEnd as rr, runMessageAction as rt, loadSymiPlugins as s, maskApiKey as sn, getTtsProvider as sr, resolveHeartbeatSenderContext as st, runAgentTurn as t, requestHeartbeatNow as tn, abortEmbeddedPiRun as tr, resolveGatewaySessionStoreTarget as tt, readJsonBodyWithLimit as u, formatRemainingShort as un, resolveTtsApiKey as ur, formatTargetDisplay as ut, createOutboundSendDeps as v, extractFileContentFromSource as vn, OPENAI_TTS_MODELS as vr, trimLogTail as vt, resolveAgentAvatar as w, enqueueSystemEvent as wn, resetAllLanes as wr, normalizeOptionalAgentId as wt, getCliSessionId as x, resolveInputFileLimits as xn, getActiveTaskCount as xr, normalizeCronJobCreate as xt, createDefaultDeps as y, extractImageContentFromSource as yn, OPENAI_TTS_VOICES as yr, writeRestartSentinel as yt, createDedupeCache as z, hasControlCommand as zn, DEFAULT_HEARTBEAT_EVERY as zr, applyBrowserProxyPaths as zt };
73688
+ export { loadSessionEntry as $, readLatestAssistantReply as $n, resolveUsageProviderId as $t, DEFAULT_GROUP_HISTORY_LIMIT as A, formatChannelAllowFrom as An, emitAgentEvent as Ar, buildDeliveryFromLegacyPayload as At, withContextUsageWarning as B, shouldComputeCommandAuthorized as Bn, DEFAULT_HEARTBEAT_EVERY as Br, persistBrowserProxyFiles as Bt, runCliAgent as C, prepareAgentRun as Cn, getQueueSize as Cr, inferLegacyName as Ct, parseIdentityMarkdown as D, peekSystemEvents as Dn, waitForActiveTasks as Dr, normalizePayloadToSystemText as Dt, loadAgentIdentityFromWorkspace as E, peekSystemEventEntries as En, setCommandLaneConcurrency as Er, normalizeOptionalText as Et, provider_dispatcher_exports as F, resolveInboundDebounceMs as Fn, resolveModelProfile as Fr, buildSafeExternalPrompt as Ft, createSymiTools as G, countActiveDescendantRuns as Gn, markGatewaySigusr1RestartHandled as Gt, runUnifiedTurn as H, stopSubagentsForRequester as Hn, resolveHeartbeatPrompt as Hr, deferGatewayRestartUntilIdle as Ht, createReplyDispatcher as I, formatInboundEnvelope as In, composeTurnMiddleware as Ir, detectSuspiciousPatterns as It, canonicalizeSpawnedByForAgent as J, listDescendantRunsForRequester as Jn, setPreRestartDeferralCheck as Jt, listTasksInWorkdir as K, countActiveRunsForSession as Kn, scheduleGatewaySigusr1Restart as Kt, getTotalPendingReplies as L, resolveEnvelopeFormatOptions as Ln, runWithModelFallback as Lr, getHookType as Lt, recordPendingHistoryEntryIfEnabled as M, normalizeGroupActivation as Mn, onAgentEvent as Mr, stripLegacyDeliveryFields as Mt, shouldAckReactionForWhatsApp as N, parseActivationCommand as Nn, registerAgentRunContext as Nr, CHANNEL_TARGETS_DESCRIPTION as Nt, buildPairingReply as O, buildChannelSummary as On, CommandLane as Or, normalizeRequiredName as Ot, dispatchReplyWithBufferedBlockDispatcher as P, createInboundDebouncer as Pn, classifyOutboundMessage as Pr, CHANNEL_TARGET_DESCRIPTION as Pt, loadCombinedSessionStoreForGateway as Q, runSubagentAnnounceFlow as Qn, formatUsageWindowSummary as Qt, buildGlassUiProfile as R, formatZonedTimestamp as Rn, describeFailoverError as Rr, isExternalHookSession as Rt, setCliSessionId as S, estimateBase64DecodedBytes as Sn, getActiveTaskCount as Sr, normalizeCronJobPatch as St, identityHasValues as T, isSystemEventContextChanged as Tn, resetAllLanes as Tr, normalizeOptionalSessionKey as Tt, buildAgentTurnParams as U, buildMentionRegexes as Un, stripHeartbeatToken as Ur, emitGatewayRestart as Ut, withContextOverflowRecovery as V, isAbortTrigger as Vn, isHeartbeatContentEffectivelyEmpty as Vr, consumeGatewaySigusr1RestartAuthorization as Vt, prepareReplyTurn as W, normalizeMentionText as Wn, isGatewaySigusr1RestartExternallyAllowed as Wt, listAgentsForGateway as X, subagent_registry_exports as Xn, loadProviderUsageSummary as Xt, classifySessionKey as Y, listSubagentRunsForRequester as Yn, unbindThreadBindingsBySessionKey as Yt, listSessionsFromStore as Z, resolveAgentTimeoutMs as Zn, formatUsageReportLines as Zt, resolveAgentOutboundTarget as _, DEFAULT_INPUT_TIMEOUT_MS as _n, setTtsProvider as _r, summarizeRestartSentinel as _t, getPluginToolMeta as a, resolveSendPolicy as an, formatUserTime as ar, resolveOutboundSessionRoute as at, createOutboundSendDeps$1 as b, normalizeMimeList as bn, OPENAI_TTS_VOICES as br, normalizeHttpWebhookUrl as bt, deleteTelegramUpdateOffset as c, DEFAULT_OAUTH_WARN_MS as cn, getTtsProvider as cr, resolveOutboundTarget as ct, requestBodyErrorToText as d, applyModelOverrideToSessionEntry as dn, resolveTtsApiKey as dr, resetDirectoryCache as dt, resolveCommitHash as en, clearSessionQueues as er, pruneLegacyStoreKeys as et, computeBackoff as f, applyVerboseOverride as fn, resolveTtsAutoMode as fr, CHANNEL_MESSAGE_ACTION_NAMES as ft, resolveAgentDeliveryPlan as g, DEFAULT_INPUT_MAX_REDIRECTS as gn, setTtsEnabled as gr, readRestartSentinel as gt, resolveSessionKeyForRequest as h, DEFAULT_INPUT_IMAGE_MIMES as hn, resolveTtsProviderOrder as hr, formatRestartSentinelMessage as ht, sniffMimeFromBase64 as i, normalizeSendPolicy as in, resolveEmbeddedSessionLane as ir, ensureOutboundSessionEntry as it, buildHistoryContextFromEntries as j, BARE_SESSION_RESET_PROMPT as jn, getAgentRunContext as jr, hasLegacyDeliveryHints as jt, resolveMentionGating as k, buildChannelAccountSnapshot as kn, clearAgentRunContext as kr, migrateLegacyCronPayload as kt, handleSlackHttpRequest as l, buildAuthHealthSummary as ln, isTtsEnabled as lr, resolveSessionDeliveryTarget as lt, agentCommand as m, DEFAULT_INPUT_IMAGE_MAX_BYTES as mn, resolveTtsPrefsPath as mr, formatDoctorNonInteractiveHint as mt, applyToolPolicyPipeline as n, setHeartbeatWakeHandler as nn, getActiveEmbeddedRunCount as nr, resolveSessionModelRef as nt, createPluginLoaderLogger as o, lookupContextTokens as on, resolveUserTimeFormat as or, resolveHeartbeatDeliveryTarget as ot, sleepWithAbort as p, parseVerboseOverride as pn, resolveTtsConfig as pr, consumeRestartSentinel as pt, resolveAnnounceTargetFromKey as q, initSubagentRegistry as qn, setGatewaySigusr1RestartPolicy as qt, buildDefaultToolPolicyPipelineSteps as r, resolveHeartbeatReasonKind as rn, waitForEmbeddedPiRunEnd as rr, runMessageAction as rt, loadSymiPlugins as s, maskApiKey as sn, resolveUserTimezone as sr, resolveHeartbeatSenderContext as st, runAgentTurn as t, requestHeartbeatNow as tn, abortEmbeddedPiRun as tr, resolveGatewaySessionStoreTarget as tt, readJsonBodyWithLimit as u, formatRemainingShort as un, isTtsProviderConfigured as ur, formatTargetDisplay as ut, createOutboundSendDeps as v, extractFileContentFromSource as vn, textToSpeech as vr, trimLogTail as vt, resolveAgentAvatar as w, enqueueSystemEvent as wn, getTotalQueueSize as wr, normalizeOptionalAgentId as wt, getCliSessionId as x, resolveInputFileLimits as xn, sha256HexPrefix as xr, normalizeCronJobCreate as xt, createDefaultDeps as y, extractImageContentFromSource as yn, OPENAI_TTS_MODELS as yr, writeRestartSentinel as yt, createDedupeCache as z, hasControlCommand as zn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as zr, applyBrowserProxyPaths as zt };
@@ -41,7 +41,7 @@ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-S_NBOBoK.j
41
41
  import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-BQTsCyf6.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
43
43
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
44
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-DxihqoWd.js";
44
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-zwcQLMln.js";
45
45
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
46
46
  import { n as retryAsync } from "./retry-B-y5suGA.js";
47
47
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Bp-kjJP5.js";
@@ -4613,7 +4613,7 @@ async function getMemorySearchManager(params) {
4613
4613
  const wrapper = new FallbackMemoryManager({
4614
4614
  primary,
4615
4615
  fallbackFactory: async () => {
4616
- const { MemoryIndexManager } = await import("./manager-DxihqoWd.js").then((n) => n.t);
4616
+ const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4617
4617
  return await MemoryIndexManager.get(params);
4618
4618
  }
4619
4619
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4626,7 +4626,7 @@ async function getMemorySearchManager(params) {
4626
4626
  }
4627
4627
  }
4628
4628
  try {
4629
- const { MemoryIndexManager } = await import("./manager-DxihqoWd.js").then((n) => n.t);
4629
+ const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4630
4630
  return { manager: await MemoryIndexManager.get(params) };
4631
4631
  } catch (err) {
4632
4632
  return {
@@ -7092,6 +7092,40 @@ function buildSkillsJitBlocks(opts) {
7092
7092
 
7093
7093
  //#endregion
7094
7094
  //#region src/agents/system-prompt.ts
7095
+ /**
7096
+ * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
7097
+ * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
7098
+ * for inlining into the system prompt — gives the agent the actual file
7099
+ * surface so it doesn't speculate names like "memory/2026-04-30.md" from
7100
+ * training-data priors. Resilient: missing dir → [], unreadable → [].
7101
+ */
7102
+ function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
7103
+ if (!workspaceDir) return [];
7104
+ const memoryDir = path.join(workspaceDir, "memory");
7105
+ let entries;
7106
+ try {
7107
+ entries = fs.readdirSync(memoryDir, { withFileTypes: true });
7108
+ } catch {
7109
+ return [];
7110
+ }
7111
+ const files = [];
7112
+ for (const entry of entries) {
7113
+ if (!entry.isFile()) continue;
7114
+ if (!entry.name.toLowerCase().endsWith(".md")) continue;
7115
+ let mtimeMs = 0;
7116
+ try {
7117
+ mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
7118
+ } catch {
7119
+ mtimeMs = 0;
7120
+ }
7121
+ files.push({
7122
+ name: entry.name,
7123
+ mtimeMs
7124
+ });
7125
+ }
7126
+ files.sort((a, b) => b.mtimeMs - a.mtimeMs);
7127
+ return files.slice(0, limit).map((f) => f.name);
7128
+ }
7095
7129
  function buildSkillsSection(params) {
7096
7130
  if (params.isMinimal) return [];
7097
7131
  if (params.dropCatalog) return [];
@@ -7115,13 +7149,21 @@ function buildMemorySection(params) {
7115
7149
  "## Memory Recall",
7116
7150
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
7117
7151
  "",
7152
+ "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
7153
+ "",
7118
7154
  "Memory is split into two layers you will see as files:",
7119
7155
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
7120
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
7121
- "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
7122
- "",
7123
- "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
7156
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
7157
+ "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
7124
7158
  ];
7159
+ const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
7160
+ if (memoryFiles.length > 0) {
7161
+ lines.push("");
7162
+ lines.push("Existing memory files in this workspace (most-recently-modified first):");
7163
+ for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
7164
+ }
7165
+ lines.push("");
7166
+ lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
7125
7167
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
7126
7168
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
7127
7169
  lines.push("");
@@ -7410,7 +7452,8 @@ function buildAgentSystemPrompt(params) {
7410
7452
  const memorySection = buildMemorySection({
7411
7453
  isMinimal,
7412
7454
  availableTools,
7413
- citationsMode: params.memoryCitationsMode
7455
+ citationsMode: params.memoryCitationsMode,
7456
+ workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
7414
7457
  });
7415
7458
  const docsSection = buildDocsSection({
7416
7459
  docsPath: params.docsPath,
@@ -53619,7 +53662,7 @@ function setCliSessionId(entry, provider, sessionId) {
53619
53662
  function createDefaultDeps() {
53620
53663
  return {
53621
53664
  sendMessageWhatsApp: async (...args) => {
53622
- const { sendMessageWhatsApp } = await import("./web-PndcPkY5.js");
53665
+ const { sendMessageWhatsApp } = await import("./web-CSDi520u.js");
53623
53666
  return await sendMessageWhatsApp(...args);
53624
53667
  },
53625
53668
  sendMessageTelegram: async (...args) => {
@@ -68899,7 +68942,7 @@ function loadWebLoginQr() {
68899
68942
  return webLoginQrPromise;
68900
68943
  }
68901
68944
  function loadWebChannel() {
68902
- webChannelPromise ??= import("./web-PndcPkY5.js");
68945
+ webChannelPromise ??= import("./web-CSDi520u.js");
68903
68946
  return webChannelPromise;
68904
68947
  }
68905
68948
  function loadWhatsAppActions() {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./tokens-Cz6cgZ7r.js";
4
- import { vt as trimLogTail } from "./unified-runner-BNTy0IvK.js";
4
+ import { vt as trimLogTail } from "./unified-runner-CdBxbcO2.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CtBXKml4.js";
@@ -57,8 +57,8 @@ import "./send-CrFVrFoV.js";
57
57
  import "./model-JOScPOPJ.js";
58
58
  import "./pi-model-discovery-CXXH7biP.js";
59
59
  import "./reply-prefix-DnXliXio.js";
60
- import "./memory-cli-Bjj5cTuq.js";
61
- import "./manager-DPxj_q1-.js";
60
+ import "./memory-cli-BEZM7jn9.js";
61
+ import "./manager-DKUOUCmo.js";
62
62
  import "./gemini-auth-rYBkv11i.js";
63
63
  import "./retry-DYICeae5.js";
64
64
  import "./sqlite-CRogFEk1.js";
@@ -106,9 +106,9 @@ import "./onboard-helpers-ncV67aOo.js";
106
106
  import { n as stylePromptMessage } from "./prompt-style-CSNJI4MG.js";
107
107
  import "./pairing-labels-DJfFSZUS.js";
108
108
  import "./pi-tools.policy-D4i_i5CV.js";
109
- import "./heartbeat-visibility-BdqXBLOd.js";
109
+ import "./heartbeat-visibility-C4Sg0QOd.js";
110
110
  import { r as parseSemver } from "./runtime-guard-dBbuLE2m.js";
111
- import "./program-context-rJ500lzQ.js";
111
+ import "./program-context-Baw4Oc1H.js";
112
112
  import "./catalog-pt1jhhyb.js";
113
113
  import "./skills-status-DzvtNke3.js";
114
114
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
@@ -119,7 +119,7 @@ import "./npm-registry-spec-DzwsFqwv.js";
119
119
  import "./skill-scanner-DI28Pqv5.js";
120
120
  import "./installs-DH3fKGSH.js";
121
121
  import "./channels-status-issues-Crr1XNY1.js";
122
- import { r as installCompletion } from "./completion-cli-FR_B0tX1.js";
122
+ import { r as installCompletion } from "./completion-cli-IKI4BpqL.js";
123
123
  import "./daemon-runtime-CNvz5bbJ.js";
124
124
  import "./systemd-z4aO4iTi.js";
125
125
  import { t as resolveGatewayService } from "./service-CW2RUNzh.js";
@@ -128,19 +128,19 @@ import "./systemd-hints-CnJtd2EU.js";
128
128
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BZuA8L1N.js";
129
129
  import "./diagnostics-D40jPn_9.js";
130
130
  import { t as renderTable } from "./table-Cg6YZXv9.js";
131
- import "./health-VfVqsLcU.js";
131
+ import "./health-CCKCR4oM.js";
132
132
  import "./control-ui-assets-CtKVON4w.js";
133
133
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
134
134
  import "./dm-policy-shared-Ca_yzxgO.js";
135
135
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B7og6NgE.js";
136
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DkNNsx67.js";
136
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DLCzD7sp.js";
137
137
  import "./logging-CZuxhCZR.js";
138
138
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BnkusEA2.js";
139
139
  import "./doctor-config-flow-D3sS9iLa.js";
140
140
  import "./systemd-linger-Bl13Nbce.js";
141
141
  import "./health-format-Ct4VWeSk.js";
142
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-3tYztnc1.js";
143
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DBs809iZ.js";
142
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Cm6mr7mH.js";
143
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-VAGhCLD5.js";
144
144
  import os from "node:os";
145
145
  import path from "node:path";
146
146
  import fs from "node:fs/promises";
@@ -17,7 +17,7 @@ import "./client-CJIMV1WD.js";
17
17
  import "./call-e869fla2.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Dt as trimLogTail } from "./subagent-registry-UkXCmOLK.js";
20
+ import { Ot as trimLogTail } from "./subagent-registry-DXCGIrYv.js";
21
21
  import "./sessions-CBlCXpU2.js";
22
22
  import "./tokens-BEvOiQ65.js";
23
23
  import "./plugins-DTKQE9kt.js";
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
55
55
  import "./thinking-8sKPnzpp.js";
56
56
  import "./models-config-BjWk_WQa.js";
57
57
  import "./reply-prefix-Pz-5t5RS.js";
58
- import "./memory-cli-D_O5bN6m.js";
59
- import "./manager-DfZDS6-4.js";
58
+ import "./memory-cli-D4lLSeA1.js";
59
+ import "./manager-B6EhIj3H.js";
60
60
  import "./gemini-auth-CdtQ-GuM.js";
61
61
  import "./retry-C4Q_VPOo.js";
62
62
  import "./sqlite-BP8tiuca.js";
@@ -103,7 +103,7 @@ import "./onboard-helpers-C_ASAAp0.js";
103
103
  import { n as stylePromptMessage } from "./prompt-style-BxVdnrLq.js";
104
104
  import "./pairing-labels-B6chnvfn.js";
105
105
  import "./pi-tools.policy-DcwVdzSK.js";
106
- import "./heartbeat-visibility-ol7hy6FB.js";
106
+ import "./heartbeat-visibility-CG080wT5.js";
107
107
  import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
108
108
  import "./catalog-KcLvtTfa.js";
109
109
  import "./note-DewoEWtc.js";
@@ -113,10 +113,10 @@ import "./npm-registry-spec-PuS2I1Em.js";
113
113
  import "./skill-scanner-BV3QHmsf.js";
114
114
  import "./installs-B4sNNRaW.js";
115
115
  import "./channels-status-issues-BICbi-81.js";
116
- import "./register.subclis-CmDRn7Z2.js";
117
- import "./command-registry-Phoz_hat.js";
116
+ import "./register.subclis-p-z6ekaE.js";
117
+ import "./command-registry-C-c2RS-n.js";
118
118
  import "./program-context-DeZ44oQ9.js";
119
- import { r as installCompletion } from "./completion-cli-BAebbT-g.js";
119
+ import { r as installCompletion } from "./completion-cli-BLO_wsYD.js";
120
120
  import "./daemon-runtime-EeFXD_no.js";
121
121
  import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
122
122
  import "./systemd-CJ5L2ee4.js";
@@ -126,19 +126,19 @@ import "./systemd-hints-MqeTsJB1.js";
126
126
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DPN03f9E.js";
127
127
  import "./diagnostics-C6xPE2ln.js";
128
128
  import { t as renderTable } from "./table-Bka4fasy.js";
129
- import "./health-ByAPhIlQ.js";
129
+ import "./health-BnGM6Yux.js";
130
130
  import "./control-ui-assets-DKcwWWGv.js";
131
131
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
132
132
  import "./dm-policy-shared-BSjL81w0.js";
133
133
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DDeJEekl.js";
134
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-C3OhMuSJ.js";
134
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CiYhkA5I.js";
135
135
  import "./logging-PVQxLC6I.js";
136
136
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
137
137
  import "./doctor-config-flow-O07GAnrR.js";
138
138
  import "./systemd-linger-ipoPa7o0.js";
139
139
  import "./health-format-DkjSgkDx.js";
140
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BcJXLROq.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D5BKaeyT.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DHSySGF2.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-C7SuoBlz.js";
142
142
  import { spawn, spawnSync } from "node:child_process";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Dt as trimLogTail } from "./subagent-registry-UkXCmOLK.js";
3
+ import { Ot as trimLogTail } from "./subagent-registry-DXCGIrYv.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-DKcwWWGv.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
6
6
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { vt as trimLogTail } from "./unified-runner-BNTy0IvK.js";
2
+ import { vt as trimLogTail } from "./unified-runner-CdBxbcO2.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-q6BX_N9b.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-CtKVON4w.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
@@ -8,13 +8,13 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-DRIIdGfF.js";
11
- import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-gBOzgRYn.js";
11
+ import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-DUJ9Ytfn.js";
12
12
  import "./plugins-CpxUKuIt.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-pK-Lzohb.js";
15
15
  import "./send-DMhDlUGJ.js";
16
16
  import "./send-ByAzOT7G.js";
17
- import "./deliver-B6vfVmif.js";
17
+ import "./deliver-DShQE_sq.js";
18
18
  import "./diagnostic-BVsSwe-J.js";
19
19
  import "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocatio
22
22
  import "./image-ops-BKUwjozo.js";
23
23
  import "./pi-model-discovery-j5tVLINv.js";
24
24
  import "./message-channel-BQINJQIT.js";
25
- import { G as updateLastRoute, H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore } from "./pi-embedded-helpers-pMH6u36v.js";
25
+ import { G as updateLastRoute, H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore } from "./pi-embedded-helpers-B1k1RWqM.js";
26
26
  import { n as loadConfig } from "./config-BOuq5KZE.js";
27
27
  import "./manifest-registry-DWdYdchb.js";
28
- import "./chrome-DaduLVA1.js";
28
+ import "./chrome-WfENE6tB.js";
29
29
  import "./skills-amp3F-om.js";
30
30
  import "./redact-1NGYV_8p.js";
31
31
  import "./errors-CPfngF0S.js";
@@ -35,8 +35,8 @@ import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy
35
35
  import "./accounts-DImOt9jX.js";
36
36
  import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
37
37
  import "./tool-images-CdTyeTEN.js";
38
- import "./image-C12-WOMI.js";
39
- import "./manager-C9NXB77i.js";
38
+ import "./image-DfzwGNoa.js";
39
+ import "./manager-Mm_GQxOU.js";
40
40
  import "./gemini-auth-D3D-a_lj.js";
41
41
  import "./retry-QGp0jvVi.js";
42
42
  import "./sqlite-Bo4pHfp8.js";
@@ -49,7 +49,7 @@ import "./render-qcqmrHse.js";
49
49
  import "./commands-registry-iF38r_Xp.js";
50
50
  import "./skill-commands-c5Lly1_3.js";
51
51
  import { t as finalizeInboundContext } from "./inbound-context-CgGv6nTy.js";
52
- import { p as registerUnhandledRejectionHandler } from "./runner-7XhJhCc0.js";
52
+ import { p as registerUnhandledRejectionHandler } from "./runner-CaXOtv_D.js";
53
53
  import "./fetch-WLZaC77l.js";
54
54
  import { n as recordChannelActivity } from "./channel-activity-C-6tM-GK.js";
55
55
  import { t as convertMarkdownTables } from "./tables-BuPzx5Wl.js";
@@ -5,7 +5,7 @@ import "./agent-scope-Ddr0Ws7u.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import "./workspace-CarmeCYN.js";
7
7
  import "./tokens-DLGDtW5r.js";
8
- import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-BlsArDPO.js";
8
+ import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-DtJxJ016.js";
9
9
  import "./auth-profiles-Bs0Z0FzU.js";
10
10
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
@@ -40,7 +40,7 @@ import "./pi-auth-json-S_NBOBoK.js";
40
40
  import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-BQTsCyf6.js";
41
41
  import "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
43
- import "./manager-DxihqoWd.js";
43
+ import "./manager-zwcQLMln.js";
44
44
  import "./gemini-auth-Cl5PvzLM.js";
45
45
  import "./retry-B-y5suGA.js";
46
46
  import "./sqlite-VBmM_OHS.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./tokens-Cz6cgZ7r.js";
4
- import "./unified-runner-BNTy0IvK.js";
4
+ import "./unified-runner-CdBxbcO2.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CtBXKml4.js";
@@ -55,8 +55,8 @@ import "./send-CrFVrFoV.js";
55
55
  import "./model-JOScPOPJ.js";
56
56
  import "./pi-model-discovery-CXXH7biP.js";
57
57
  import "./reply-prefix-DnXliXio.js";
58
- import "./memory-cli-Bjj5cTuq.js";
59
- import "./manager-DPxj_q1-.js";
58
+ import "./memory-cli-BEZM7jn9.js";
59
+ import "./manager-DKUOUCmo.js";
60
60
  import "./gemini-auth-rYBkv11i.js";
61
61
  import "./retry-DYICeae5.js";
62
62
  import "./sqlite-CRogFEk1.js";
@@ -102,8 +102,8 @@ import "./onboard-helpers-ncV67aOo.js";
102
102
  import "./prompt-style-CSNJI4MG.js";
103
103
  import "./pairing-labels-DJfFSZUS.js";
104
104
  import "./pi-tools.policy-D4i_i5CV.js";
105
- import "./heartbeat-visibility-BdqXBLOd.js";
106
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DoDJqXyN.js";
105
+ import "./heartbeat-visibility-C4Sg0QOd.js";
106
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BGZxsb8l.js";
107
107
  import { n as sendMessageWhatsApp } from "./outbound-C_ySrqR_.js";
108
108
  import { i as waitForWaConnection, t as createWaSocket } from "./session-Cuih2Tn2.js";
109
109
  import { t as loginWeb } from "./login-CsEJJi3G.js";
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
16
16
  import "./call-e869fla2.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { $n as normalizeMentionText, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as formatInboundEnvelope, Hn as parseActivationCommand, I as resolveMentionGating, Jn as hasControlCommand, K as createDedupeCache, Kn as resolveEnvelopeFormatOptions, L as DEFAULT_GROUP_HISTORY_LIMIT, Nn as enqueueSystemEvent, Qn as buildMentionRegexes, R as buildHistoryContextFromEntries, Un as createInboundDebouncer, V as dispatchReplyWithBufferedBlockDispatcher, Vn as normalizeGroupActivation, Wn as resolveInboundDebounceMs, Yn as shouldComputeCommandAuthorized, b as sleepWithAbort, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-UkXCmOLK.js";
19
+ import { $n as buildMentionRegexes, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as resolveInboundDebounceMs, Hn as normalizeGroupActivation, I as resolveMentionGating, K as createDedupeCache, Kn as formatInboundEnvelope, L as DEFAULT_GROUP_HISTORY_LIMIT, Pn as enqueueSystemEvent, R as buildHistoryContextFromEntries, Un as parseActivationCommand, V as dispatchReplyWithBufferedBlockDispatcher, Wn as createInboundDebouncer, Xn as shouldComputeCommandAuthorized, Yn as hasControlCommand, b as sleepWithAbort, er as normalizeMentionText, qn as resolveEnvelopeFormatOptions, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-DXCGIrYv.js";
20
20
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-CBlCXpU2.js";
21
21
  import "./tokens-BEvOiQ65.js";
22
22
  import "./plugins-DTKQE9kt.js";
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
54
54
  import "./thinking-8sKPnzpp.js";
55
55
  import "./models-config-BjWk_WQa.js";
56
56
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-Pz-5t5RS.js";
57
- import "./memory-cli-D_O5bN6m.js";
58
- import "./manager-DfZDS6-4.js";
57
+ import "./memory-cli-D4lLSeA1.js";
58
+ import "./manager-B6EhIj3H.js";
59
59
  import "./gemini-auth-CdtQ-GuM.js";
60
60
  import "./retry-C4Q_VPOo.js";
61
61
  import "./sqlite-BP8tiuca.js";
@@ -104,7 +104,7 @@ import "./pairing-labels-B6chnvfn.js";
104
104
  import { r as setActiveWebListener } from "./active-listener-DEi7sEFa.js";
105
105
  import "./pi-tools.policy-DcwVdzSK.js";
106
106
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-CJVro3eH.js";
107
- import "./heartbeat-visibility-ol7hy6FB.js";
107
+ import "./heartbeat-visibility-CG080wT5.js";
108
108
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-C5-rN68i.js";
109
109
  import { t as loginWeb } from "./login-Cf8uf5rY.js";
110
110
  import { randomUUID } from "node:crypto";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/bluebubbles",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Symi BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/copilot-proxy",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "private": true,
5
5
  "description": "Symi Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/diagnostics-otel",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Symi diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/discord",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Symi Discord channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/feishu",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Symi Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-antigravity-auth",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "private": true,
5
5
  "description": "Symi Google Antigravity OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-gemini-cli-auth",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "private": true,
5
5
  "description": "Symi Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/googlechat",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "private": true,
5
5
  "description": "Symi Google Chat channel plugin",
6
6
  "type": "module",