@symerian/symi 2.6.6 → 2.6.8

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 (163) hide show
  1. package/dist/{agents-DPdRUY_O.js → agents-DUCHzmZ7.js} +4 -4
  2. package/dist/{agents.config-Cr6DcdaD.js → agents.config-CHQebF9q.js} +1 -1
  3. package/dist/{agents.config-DIumfxnN.js → agents.config-CwoBiqZ_.js} +1 -1
  4. package/dist/{auth-choice-C5etRQcH.js → auth-choice-B1zaWakt.js} +1 -1
  5. package/dist/{auth-choice-z3-Baeyd.js → auth-choice-DGzjLihE.js} +1 -1
  6. package/dist/{banner-om7BRUIc.js → banner-Dy01rdll.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-BqnokE7_.js → channel-options-Ba5tfq9-.js} +1 -1
  12. package/dist/{channel-options-Cb1PgfNV.js → channel-options-Cte5qJHT.js} +1 -1
  13. package/dist/{channel-web-DztB2W6w.js → channel-web-NGDI-tJN.js} +1 -1
  14. package/dist/{channels-cli-xlZ2mjBu.js → channels-cli-BDlDCL3R.js} +4 -4
  15. package/dist/{channels-cli-R2PHQWVd.js → channels-cli-CgNtcB-z.js} +4 -4
  16. package/dist/{cli-DLly6H0w.js → cli-C2ZGBmO9.js} +1 -1
  17. package/dist/{cli-DNGrFH7L.js → cli-Da_Dnvvp.js} +1 -1
  18. package/dist/{command-registry-xEOR2NPq.js → command-registry-CLcFUFJs.js} +9 -9
  19. package/dist/{completion-cli-CRhFwMiA.js → completion-cli-BzXhONEe.js} +2 -2
  20. package/dist/{completion-cli-CFJbuU6i.js → completion-cli-MbaQCbTj.js} +1 -1
  21. package/dist/{config-cli-CbdeNt0M.js → config-cli-BHHGJx1I.js} +1 -1
  22. package/dist/{config-cli-BaH8OVQ-.js → config-cli-CT6Q4rhy.js} +1 -1
  23. package/dist/{configure-BmNOfGox.js → configure-BOLt9A-A.js} +3 -3
  24. package/dist/{configure-D5dSJprr.js → configure-CVcHuLVe.js} +3 -3
  25. package/dist/{doctor-completion-DCc4SxWN.js → doctor-completion-BZ-FYLu9.js} +1 -1
  26. package/dist/{doctor-completion-D0L7wK2h.js → doctor-completion-CislKWHy.js} +1 -1
  27. package/dist/entry.js +1 -1
  28. package/dist/extensionAPI.js +1 -1
  29. package/dist/{gateway-cli-DYXn5A0z.js → gateway-cli-2yQf_hKZ.js} +168 -35
  30. package/dist/{gateway-cli-zN6V2qw8.js → gateway-cli-Bzz6Rduw.js} +167 -34
  31. package/dist/{glass-ui-ws-Cj9wbO1L.js → glass-ui-ws-ibSNo7RU.js} +7 -7
  32. package/dist/{glass-ui-ws-B7V2wHEu.js → glass-ui-ws-uRv3KH-0.js} +7 -7
  33. package/dist/{health-DUKLANXu.js → health-CBwxQHlQ.js} +1 -1
  34. package/dist/{health-BPOuBmYt.js → health-D4ySlvOE.js} +1 -1
  35. package/dist/{hooks-cli-BF0mbqlZ.js → hooks-cli-BFN2xMj8.js} +2 -2
  36. package/dist/{hooks-cli-BpfIySkB.js → hooks-cli-CreZeBlG.js} +2 -2
  37. package/dist/index.js +6 -6
  38. package/dist/llm-slug-generator.js +1 -1
  39. package/dist/{models-Bt8lm_nD.js → models-Dk7Q5cSF.js} +2 -2
  40. package/dist/{models-cli-bHYoiL5x.js → models-cli-C9Y-HfLg.js} +2 -2
  41. package/dist/{models-cli-BmBmBUgl.js → models-cli-DzSb3Scm.js} +3 -3
  42. package/dist/{onboard-ttzux1w7.js → onboard-D_PsLQiw.js} +2 -2
  43. package/dist/{onboard-i7lit3dF.js → onboard-N-KB8jvT.js} +2 -2
  44. package/dist/{onboard-channels-DEFF3Rjo.js → onboard-channels-Bp74i8iG.js} +1 -1
  45. package/dist/{onboard-channels-D0RHtaJE.js → onboard-channels-VuJyK9g-.js} +1 -1
  46. package/dist/{onboarding-CAlILYcN.js → onboarding-CRAQ2s_3.js} +3 -3
  47. package/dist/{onboarding-By0D-QmK.js → onboarding-D1AsOvXd.js} +3 -3
  48. package/dist/{onboarding.finalize-DSNIp08z.js → onboarding.finalize-DLUoLFNl.js} +6 -6
  49. package/dist/{onboarding.finalize-BDmc4k2T.js → onboarding.finalize-ZYLgVmdn.js} +5 -5
  50. package/dist/{pi-embedded-BzE5v-JN.js → pi-embedded-BSoqm4lP.js} +47 -52
  51. package/dist/{plugin-registry-C1ghjhOE.js → plugin-registry-CTu9B9S3.js} +1 -1
  52. package/dist/{plugin-registry-CDIOKK_i.js → plugin-registry-DDIcHkNU.js} +1 -1
  53. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  54. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  55. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  56. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  57. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  58. package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +8 -8
  59. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  60. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  61. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  62. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  63. package/dist/plugin-sdk/{channel-web-CxwLjrWk.js → channel-web-BmV3Tuy0.js} +22 -22
  64. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  65. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  66. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  67. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  68. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  69. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  70. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  71. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  72. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  73. package/dist/plugin-sdk/index.js +53 -53
  74. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  75. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  76. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  77. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  78. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  79. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  80. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  81. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  82. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  83. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  84. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  85. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  86. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  87. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  88. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  89. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  90. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  91. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  92. package/dist/plugin-sdk/{reply-CyZfsjrl.js → reply-LQcs9anV.js} +123 -128
  93. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  94. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  95. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  96. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  97. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  98. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  99. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  100. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  101. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  102. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  103. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  104. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  105. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  106. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  107. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  108. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  109. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  110. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  111. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  112. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  113. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  114. package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-at_K42K7.js} +2 -2
  115. package/dist/plugin-sdk/web-DvzecOyx.js +65 -0
  116. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  117. package/dist/{plugins-cli-BFCJyRBX.js → plugins-cli-DJUkvonf.js} +2 -2
  118. package/dist/{plugins-cli-jv-Bqq1t.js → plugins-cli-DdfBwKlP.js} +2 -2
  119. package/dist/{program-sDlUcw2S.js → program-DyPb-tj_.js} +7 -7
  120. package/dist/{program-context-N9-4Ubpp.js → program-context-Bz_GuT_l.js} +17 -17
  121. package/dist/{prompt-select-styled-BtG_t1Tf.js → prompt-select-styled-BKnaBZhj.js} +4 -4
  122. package/dist/{prompt-select-styled-eBoNrCn6.js → prompt-select-styled-CghdSf8F.js} +4 -4
  123. package/dist/{provider-auth-helpers-CqDTEFnD.js → provider-auth-helpers-BdNgfdWd.js} +1 -1
  124. package/dist/{provider-auth-helpers-CfBPNN7J.js → provider-auth-helpers-CXKXgdFl.js} +1 -1
  125. package/dist/{push-apns-CVRC-O3Q.js → push-apns-A--Taj2b.js} +1 -1
  126. package/dist/{push-apns-CHIVwHRD.js → push-apns-Cdjd6L8R.js} +1 -1
  127. package/dist/{register.agent-B0ExzmtM.js → register.agent-BLWVTdIg.js} +6 -6
  128. package/dist/{register.agent-DD2QErXm.js → register.agent-C4tjED3B.js} +5 -5
  129. package/dist/{register.configure-ByNKeAo7.js → register.configure-De6KxZc8.js} +6 -6
  130. package/dist/{register.configure-DpHCcS5d.js → register.configure-DkNQpMco.js} +6 -6
  131. package/dist/{register.maintenance-BMrBjqU4.js → register.maintenance-B7dlUmZQ.js} +7 -7
  132. package/dist/{register.maintenance-_S91q7Rv.js → register.maintenance-el_O34pN.js} +8 -8
  133. package/dist/{register.message-DZ45n1GX.js → register.message-Bg38q7xU.js} +2 -2
  134. package/dist/{register.message-BveFb6IW.js → register.message-CNub6pDr.js} +2 -2
  135. package/dist/{register.onboard-CLGWOBoy.js → register.onboard-DUIvvhd3.js} +4 -4
  136. package/dist/{register.onboard-CUTbssYt.js → register.onboard-OXQpAbIU.js} +4 -4
  137. package/dist/{register.setup-B_cLbC3d.js → register.setup-BAZ3txi6.js} +4 -4
  138. package/dist/{register.setup-CcDqU6WR.js → register.setup-BQLAOnSQ.js} +4 -4
  139. package/dist/{register.status-health-sessions-DgNzHYE-.js → register.status-health-sessions-BU25Fv8p.js} +3 -3
  140. package/dist/{register.status-health-sessions-CMJ_l4rs.js → register.status-health-sessions-bw_2svPd.js} +3 -3
  141. package/dist/{register.subclis-D6LLN38B.js → register.subclis-Bop-tTBx.js} +9 -9
  142. package/dist/{reply-DcyKvFor.js → reply-BR3MMmPE.js} +47 -52
  143. package/dist/{run-main-QW59Pk-I.js → run-main-DFp18fyd.js} +14 -14
  144. package/dist/{server-methods-D1W-tViM.js → server-methods-B7KrCq1B.js} +7 -7
  145. package/dist/{server-methods-BdXCfO_O.js → server-methods-BMrgMa55.js} +7 -7
  146. package/dist/{server-node-events-BwGehjys.js → server-node-events-DcIWSJrb.js} +2 -2
  147. package/dist/{server-node-events-DqVmWjof.js → server-node-events-tKdBKitQ.js} +2 -2
  148. package/dist/{status-CfLq5R5j.js → status-CChK9DsL.js} +2 -2
  149. package/dist/{status-BY4CnB2O.js → status-DAeh7JKa.js} +2 -2
  150. package/dist/{status-kPaSg3RB.js → status-DkAuXji3.js} +1 -1
  151. package/dist/{status-BvnWSBQl.js → status-Ta_hiT2w.js} +1 -1
  152. package/dist/{subagent-registry-CVQOC9Jw.js → subagent-registry-DovA8Baf.js} +47 -52
  153. package/dist/{unified-runner-DpWGASP3.js → unified-runner-OplgmcEq.js} +47 -52
  154. package/dist/{update-cli-DcUr7_Lg.js → update-cli-DPewzEht.js} +8 -8
  155. package/dist/{update-cli-BpSFY22r.js → update-cli-hfO-LduQ.js} +7 -7
  156. package/dist/{update-runner-DdPdhkw5.js → update-runner-DvkWGO1t.js} +1 -1
  157. package/dist/{update-runner-CPOm0f_6.js → update-runner-WFWqzZw8.js} +1 -1
  158. package/dist/{web-DhofKbBh.js → web-BbEzqR_T.js} +1 -1
  159. package/dist/{web-DqjNQqGK.js → web-CEP_xmdJ.js} +2 -2
  160. package/dist/{web-ZnFT5LP9.js → web-DMBrhq3h.js} +1 -1
  161. package/dist/{web-CHV60IdQ.js → web-WfZujXg4.js} +1 -1
  162. package/package.json +1 -1
  163. package/dist/plugin-sdk/web-C2OyRvIo.js +0 -65
@@ -3,7 +3,7 @@ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
  import { Logger } from "tslog";
6
- import json5 from "json5";
6
+ import JSON5 from "json5";
7
7
  import chalk, { Chalk } from "chalk";
8
8
 
9
9
  //#region src/infra/tmp-symi-dir.ts
@@ -70,7 +70,7 @@ function readLoggingConfig() {
70
70
  try {
71
71
  if (!fs.existsSync(configPath)) return;
72
72
  const raw = fs.readFileSync(configPath, "utf-8");
73
- const logging = json5.parse(raw)?.logging;
73
+ const logging = JSON5.parse(raw)?.logging;
74
74
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
75
75
  return logging;
76
76
  } catch {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { i as chunkMarkdownTextWithMode } from "./chunk-jvk9axTQ.js";
3
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BtANzsAo.js";
4
- import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CWMflosr.js";
2
+ import { i as chunkMarkdownTextWithMode } from "./chunk-Dw2XBYXv.js";
3
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-B2CEnVLL.js";
4
+ import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-bC3UVmVH.js";
5
5
 
6
6
  //#region src/auto-reply/reply/reply-reference.ts
7
7
  function createReplyReferencePlanner(options) {
@@ -1,72 +1,72 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as isAcpSessionKey, h as getSubagentDepth, l as resolveAgentIdFromSessionKey, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
3
- import { c as logoutWeb, f as readWebSelfId, g as webAuthExists, o as getWebAuthAgeMs, r as resolveWhatsAppAccount, s as logWebSelfId } from "./accounts-D9zGZU5t.js";
3
+ import { c as logoutWeb, f as readWebSelfId, g as webAuthExists, o as getWebAuthAgeMs, r as resolveWhatsAppAccount, s as logWebSelfId } from "./accounts-Ddm33hQm.js";
4
4
  import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-D9X2phUj.js";
6
- import { A as resolveSlackBotToken, C as resolveTelegramToken, D as resolveSlackAccount, F as resolveDiscordAccount, I as normalizeDiscordToken, N as listEnabledDiscordAccounts, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget, b as listTelegramAccountIds, g as isWhatsAppGroupJid, h as resolveSlackChannelId, j as createDiscordActionGate, k as resolveSlackAppToken, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as createTelegramActionGate, y as listEnabledTelegramAccounts } from "./plugins-BbAvhC25.js";
6
+ import { A as resolveSlackBotToken, C as resolveTelegramToken, D as resolveSlackAccount, F as resolveDiscordAccount, I as normalizeDiscordToken, N as listEnabledDiscordAccounts, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget, b as listTelegramAccountIds, g as isWhatsAppGroupJid, h as resolveSlackChannelId, j as createDiscordActionGate, k as resolveSlackAppToken, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as createTelegramActionGate, y as listEnabledTelegramAccounts } from "./plugins-BNByVCIH.js";
7
7
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ChYuW7LE.js";
8
8
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CUNoPTKm.js";
9
- import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry--_pGht6S.js";
10
- import { n as retryAsync } from "./retry-ilSJqnz9.js";
11
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Bxdu6ZZy.js";
12
- import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-DDkdiUOR.js";
13
- import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
14
- import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
15
- import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-OpU8HN50.js";
16
- import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
17
- import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-B3ugY9-f.js";
9
+ import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry-D0xTnUWt.js";
10
+ import { n as retryAsync } from "./retry-CwQ_iIj8.js";
11
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-CjOBB3Vo.js";
12
+ import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-KlTNfkFF.js";
13
+ import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
14
+ import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-GKSevep4.js";
15
+ import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-CsbEfrS0.js";
16
+ import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-CYYpcO9W.js";
17
+ import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CPnHl_K3.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
19
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Ji7f0gqq.js";
19
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DoC1xtDu.js";
20
20
  import { n as normalizePollInput } from "./polls-3WJMd-G-.js";
21
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
21
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-BlQR__MN.js";
22
22
  import { a as isBlockedHostnameOrIp, c as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DKZ8eBrk.js";
23
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-Ckk1QfzI.js";
24
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Fb3qpcis.js";
25
- import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-jvk9axTQ.js";
26
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BdI5Ra9S.js";
23
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-BHLNSI8U.js";
24
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BJ6BHE5b.js";
25
+ import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-Dw2XBYXv.js";
26
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-COTAJzHd.js";
27
27
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
28
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
29
- import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
30
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BHbXh8Ly.js";
31
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-D7Lno-TE.js";
32
- 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-B7YyMnIi.js";
33
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-BtANzsAo.js";
34
- import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-D6LMZJ_h.js";
35
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-BVqnEfNe.js";
36
- import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BHuV5t70.js";
37
- import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CWMflosr.js";
38
- import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-DCNXVERE.js";
39
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-B1GeRYlu.js";
40
- import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-C7c_0I5M.js";
41
- import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-DCNUIAHY.js";
42
- import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
43
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BToL3HlP.js";
44
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BZ6iNLl7.js";
45
- import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-BveUP4hk.js";
28
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
29
+ import { t as convertMarkdownTables } from "./tables-DNwXwNFa.js";
30
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-C5h_YxNb.js";
31
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-HJ2sfZDV.js";
32
+ 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-Paro1BjP.js";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-B2CEnVLL.js";
34
+ import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-CRsR8-vO.js";
35
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-CGBT7tgF.js";
36
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-uxfMZW4p.js";
37
+ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-bC3UVmVH.js";
38
+ import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-ff_01_r3.js";
39
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-_yTP47Cd.js";
40
+ import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-B7RdxmJ0.js";
41
+ import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-CXqf7WTe.js";
42
+ import { r as resolveIMessageAccount } from "./accounts-s-AdhXVR.js";
43
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BtaOa4z_.js";
44
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BZ99UKQq.js";
45
+ import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-CW630epe.js";
46
46
  import { n as resolveConversationLabel } from "./conversation-label-yNSj43Jt.js";
47
47
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-A0xdf3yk.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
49
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-mFf4i4G9.js";
50
- import { i as saveMediaBuffer, r as getMediaDir } from "./store-Do3t33-c.js";
49
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-05pm5Rxi.js";
50
+ import { i as saveMediaBuffer, r as getMediaDir } from "./store-BdrNabcU.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
52
- import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-BOYy0Ump.js";
52
+ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-CLOPx7yW.js";
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
- import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-Cq_7Cg4E.js";
54
+ import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-CxAR5ttJ.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-DckktAQ3.js";
57
- import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-CQFbmUMs.js";
58
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BMfJIhCk.js";
56
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CBSBFuFz.js";
57
+ import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-COIaslGl.js";
58
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-pYqe432l.js";
59
59
  import { t as makeProxyFetch } from "./proxy-MquBDehr.js";
60
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D3JH_D2N.js";
61
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-fI39rPGa.js";
62
- import { t as getActiveWebListener } from "./active-listener-bEk__wbB.js";
60
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B3CCBumQ.js";
61
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-LLcQL3w6.js";
62
+ import { t as getActiveWebListener } from "./active-listener-BXYeALs0.js";
63
63
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CBq0jVRw.js";
64
64
  import { createRequire } from "node:module";
65
65
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
66
66
  import * as path$1 from "node:path";
67
67
  import path from "node:path";
68
68
  import os, { homedir } from "node:os";
69
- import json5 from "json5";
69
+ import JSON5 from "json5";
70
70
  import { ApplicationCommandOptionType, ButtonStyle, ChannelType, PermissionFlagsBits, Routes, StickerFormatType } from "discord-api-types/v10";
71
71
  import { Button, ChannelSelectMenu, ChannelType as ChannelType$1, Client, Command, CommandWithSubcommands, Container, MentionableSelectMenu, MessageCreateListener, MessageReactionAddListener, MessageReactionRemoveListener, MessageType, Modal, PresenceUpdateListener, ReadyListener, RoleSelectMenu, Row, Separator, StringSelectMenu, TextDisplay, UserSelectMenu, serializePayload } from "@buape/carbon";
72
72
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
@@ -7792,7 +7792,7 @@ async function createModelSelectionState(params) {
7792
7792
  }
7793
7793
  }
7794
7794
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
7795
- const { ensureAuthProfileStore } = await import("./model-selection-OpU8HN50.js").then((n) => n.O);
7795
+ const { ensureAuthProfileStore } = await import("./model-selection-CsbEfrS0.js").then((n) => n.O);
7796
7796
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
7797
7797
  const providerKey = normalizeProviderId(provider);
7798
7798
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -11544,7 +11544,7 @@ async function getMemorySearchManager(params) {
11544
11544
  if (cached) return { manager: cached };
11545
11545
  }
11546
11546
  try {
11547
- const { QmdMemoryManager } = await import("./qmd-manager-mjKcdwVr.js");
11547
+ const { QmdMemoryManager } = await import("./qmd-manager-CH0XbIHf.js");
11548
11548
  const primary = await QmdMemoryManager.create({
11549
11549
  cfg: params.cfg,
11550
11550
  agentId: params.agentId,
@@ -11556,7 +11556,7 @@ async function getMemorySearchManager(params) {
11556
11556
  const wrapper = new FallbackMemoryManager({
11557
11557
  primary,
11558
11558
  fallbackFactory: async () => {
11559
- const { MemoryIndexManager } = await import("./manager-DckktAQ3.js").then((n) => n.t);
11559
+ const { MemoryIndexManager } = await import("./manager-CBSBFuFz.js").then((n) => n.t);
11560
11560
  return await MemoryIndexManager.get(params);
11561
11561
  }
11562
11562
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11569,7 +11569,7 @@ async function getMemorySearchManager(params) {
11569
11569
  }
11570
11570
  }
11571
11571
  try {
11572
- const { MemoryIndexManager } = await import("./manager-DckktAQ3.js").then((n) => n.t);
11572
+ const { MemoryIndexManager } = await import("./manager-CBSBFuFz.js").then((n) => n.t);
11573
11573
  return { manager: await MemoryIndexManager.get(params) };
11574
11574
  } catch (err) {
11575
11575
  return {
@@ -12628,7 +12628,7 @@ function normalizeSessionKey(value) {
12628
12628
  function readSessionStore(storePath) {
12629
12629
  try {
12630
12630
  const raw = fs.readFileSync(storePath, "utf-8");
12631
- const parsed = json5.parse(raw);
12631
+ const parsed = JSON5.parse(raw);
12632
12632
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
12633
12633
  } catch {}
12634
12634
  return {};
@@ -15485,7 +15485,7 @@ async function routeReply(params) {
15485
15485
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
15486
15486
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
15487
15487
  try {
15488
- const { deliverOutboundPayloads } = await import("./deliver-BZ6iNLl7.js").then((n) => n.n);
15488
+ const { deliverOutboundPayloads } = await import("./deliver-BZ99UKQq.js").then((n) => n.n);
15489
15489
  return {
15490
15490
  ok: true,
15491
15491
  messageId: (await deliverOutboundPayloads({
@@ -17959,7 +17959,7 @@ async function describeStickerImage(params) {
17959
17959
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
17960
17960
  try {
17961
17961
  const buffer = await fs$1.readFile(imagePath);
17962
- const { describeImageWithModel } = await import("./image-BOYy0Ump.js").then((n) => n.n);
17962
+ const { describeImageWithModel } = await import("./image-CLOPx7yW.js").then((n) => n.n);
17963
17963
  return (await describeImageWithModel({
17964
17964
  buffer,
17965
17965
  fileName: "sticker.webp",
@@ -18370,7 +18370,7 @@ function createWhatsAppLoginTool() {
18370
18370
  force: Type.Optional(Type.Boolean())
18371
18371
  }),
18372
18372
  execute: async (_toolCallId, args) => {
18373
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DbR7odSr.js");
18373
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BjVZSoCi.js");
18374
18374
  if ((args?.action ?? "start") === "wait") {
18375
18375
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
18376
18376
  return {
@@ -20438,7 +20438,7 @@ async function preflightDiscordMessage(params) {
20438
20438
  let preflightTranscript;
20439
20439
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
20440
20440
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
20441
- const { transcribeFirstAudio } = await import("./audio-preflight-DoQQKlxa.js");
20441
+ const { transcribeFirstAudio } = await import("./audio-preflight-VpItkiy3.js");
20442
20442
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
20443
20443
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
20444
20444
  ctx: {
@@ -29932,7 +29932,7 @@ async function recordLoopOutcome(args) {
29932
29932
  if (!args.ctx?.sessionKey) return;
29933
29933
  try {
29934
29934
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
29935
- const { recordToolCallOutcome } = await import("./tool-loop-detection-DU5sTIKg.js");
29935
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-at_K42K7.js");
29936
29936
  recordToolCallOutcome(getDiagnosticSessionState({
29937
29937
  sessionKey: args.ctx.sessionKey,
29938
29938
  sessionId: args.ctx?.agentId
@@ -29953,8 +29953,8 @@ async function runBeforeToolCallHook(args) {
29953
29953
  const params = args.params;
29954
29954
  if (args.ctx?.sessionKey) {
29955
29955
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
29956
- const { logToolLoopAction } = await import("./diagnostic-mFf4i4G9.js").then((n) => n.n);
29957
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DU5sTIKg.js");
29956
+ const { logToolLoopAction } = await import("./diagnostic-05pm5Rxi.js").then((n) => n.n);
29957
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-at_K42K7.js");
29958
29958
  const sessionState = getDiagnosticSessionState({
29959
29959
  sessionKey: args.ctx.sessionKey,
29960
29960
  sessionId: args.ctx?.agentId
@@ -30275,25 +30275,10 @@ function validateShellCommand(command) {
30275
30275
  //#region src/agents/pi-tools.validate-wrapper.ts
30276
30276
  const log$3 = createSubsystemLogger("agents/tool-validate");
30277
30277
  const EXEC_TOOL_NAMES = new Set(["exec", "bash"]);
30278
- const FILE_TOOL_NAMES = new Set([
30279
- "write",
30280
- "read",
30281
- "edit",
30282
- "patch",
30283
- "file_write",
30284
- "file_edit",
30285
- "write_file",
30286
- "edit_file",
30287
- "create_file"
30288
- ]);
30289
- const FILE_PATH_KEYS = [
30290
- "file_path",
30291
- "path",
30292
- "filePath"
30293
- ];
30278
+ const GEMMA_MODEL_ID = "gemma";
30294
30279
  /**
30295
- * Wrap tools with argument validation. Exec/bash commands and file paths
30296
- * are validated. Other tools pass through unchanged.
30280
+ * Wrap ALL tools with universal string argument sanitization.
30281
+ * Exec/bash tools get additional structural command validation.
30297
30282
  *
30298
30283
  * Call this AFTER tools are created and the model profile is resolved.
30299
30284
  */
@@ -30303,44 +30288,64 @@ function wrapToolsWithArgValidation(tools, profile) {
30303
30288
  return tools;
30304
30289
  }
30305
30290
  const wrapped = tools.map((tool) => wrapToolWithArgValidation(tool));
30306
- const wrappedNames = wrapped.filter((t, i) => t !== tools[i]).map((t) => t.name);
30307
- log$3.debug(`[validate] applied to ${wrappedNames.length} tools: ${wrappedNames.join(",") || "(none matched)"}`);
30291
+ log$3.debug(`[validate] universal sanitizer applied to ${wrapped.length} tools`);
30308
30292
  return wrapped;
30309
30293
  }
30310
30294
  /**
30311
- * Clean a file path by stripping control token fragments.
30312
- * Returns null if the path is irreparably corrupted (empty after cleanup).
30295
+ * Sanitize a single string value: strip control tokens + residual fragments.
30296
+ * Returns the cleaned string, or the original if no changes needed.
30313
30297
  */
30314
- function cleanFilePath(filePath) {
30315
- let cleaned = filePath.replace(/<\|[^|>]*(?:\|>)?/g, "");
30316
- cleaned = cleanResidualTokenFragments(cleaned);
30317
- cleaned = cleaned.trim();
30318
- if (!cleaned || !/[a-zA-Z0-9/._~-]/.test(cleaned)) return {
30319
- valid: false,
30320
- cleaned
30321
- };
30298
+ function sanitizeString(value) {
30299
+ return cleanResidualTokenFragments(stripModelTokensAggressive(value, GEMMA_MODEL_ID));
30300
+ }
30301
+ /**
30302
+ * Check if a string contains control token patterns that need sanitization.
30303
+ * Fast check to avoid unnecessary work on clean strings.
30304
+ */
30305
+ function needsSanitization(value) {
30306
+ return value.includes("<|") || value.includes("|>") || /^[<"|]/.test(value);
30307
+ }
30308
+ /**
30309
+ * Recursively sanitize all string values in a params object.
30310
+ * Returns a new object if any values were changed, or the original if clean.
30311
+ */
30312
+ function sanitizeParams(params) {
30313
+ let changed = false;
30314
+ const cleaned = {};
30315
+ for (const [key, value] of Object.entries(params)) {
30316
+ if (typeof value === "string" && needsSanitization(value)) {
30317
+ const sanitized = sanitizeString(value);
30318
+ if (sanitized !== value) {
30319
+ cleaned[key] = sanitized;
30320
+ changed = true;
30321
+ continue;
30322
+ }
30323
+ }
30324
+ cleaned[key] = value;
30325
+ }
30322
30326
  return {
30323
- valid: true,
30324
- cleaned
30327
+ cleaned,
30328
+ changed
30325
30329
  };
30326
30330
  }
30327
30331
  /**
30328
- * Wrap a single tool with argument validation.
30332
+ * Wrap a single tool with universal argument sanitization.
30329
30333
  */
30330
30334
  function wrapToolWithArgValidation(tool) {
30331
30335
  const toolName = (tool.name ?? "").toLowerCase().trim();
30332
30336
  const isExecTool = EXEC_TOOL_NAMES.has(toolName);
30333
- const isFileTool = FILE_TOOL_NAMES.has(toolName);
30334
- if (!isExecTool && !isFileTool) return tool;
30335
30337
  const originalExecute = tool.execute;
30336
30338
  return {
30337
30339
  ...tool,
30338
30340
  execute(toolCallId, params, ...rest) {
30341
+ const { cleaned, changed } = sanitizeParams(params);
30342
+ if (changed) log$3.debug(`[validate] sanitized args for ${toolName}: ${Object.keys(params).filter((k) => cleaned[k] !== params[k]).join(",")}`);
30343
+ const effectiveParams = changed ? cleaned : params;
30339
30344
  if (isExecTool) {
30340
- const command = params.command ?? params.cmd;
30345
+ const command = effectiveParams.command ?? effectiveParams.cmd;
30341
30346
  if (typeof command !== "string") {
30342
- log$3.debug(`[validate] exec called without string command: keys=${Object.keys(params).join(",")}`);
30343
- return originalExecute.call(tool, toolCallId, params, ...rest);
30347
+ log$3.debug(`[validate] exec called without string command: keys=${Object.keys(effectiveParams).join(",")}`);
30348
+ return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
30344
30349
  }
30345
30350
  const result = validateShellCommand(command);
30346
30351
  if (!result.valid) {
@@ -30350,22 +30355,12 @@ function wrapToolWithArgValidation(tool) {
30350
30355
  if (result.cleaned !== command) {
30351
30356
  log$3.debug(`[validate] exec command cleaned: raw=${command.slice(0, 80)} → cleaned=${result.cleaned.slice(0, 80)}`);
30352
30357
  return originalExecute.call(tool, toolCallId, {
30353
- ...params,
30358
+ ...effectiveParams,
30354
30359
  command: result.cleaned
30355
30360
  }, ...rest);
30356
30361
  }
30357
- return originalExecute.call(tool, toolCallId, params, ...rest);
30358
30362
  }
30359
- const pathKey = FILE_PATH_KEYS.find((k) => typeof params[k] === "string");
30360
- if (!pathKey) return originalExecute.call(tool, toolCallId, params, ...rest);
30361
- const rawPath = params[pathKey];
30362
- if (!rawPath.includes("<|") && !rawPath.includes("|>") && !/^[<"|]/.test(rawPath)) return originalExecute.call(tool, toolCallId, params, ...rest);
30363
- const pathResult = cleanFilePath(rawPath);
30364
- if (!pathResult.valid) return Promise.resolve({ output: `Error: file path "${rawPath}" contains model control tokens and could not be cleaned. Please provide a clean file path without any <|, |>, or XML-like tags.` });
30365
- return originalExecute.call(tool, toolCallId, {
30366
- ...params,
30367
- [pathKey]: pathResult.cleaned
30368
- }, ...rest);
30363
+ return originalExecute.call(tool, toolCallId, effectiveParams, ...rest);
30369
30364
  }
30370
30365
  };
30371
30366
  }
@@ -36198,27 +36193,27 @@ async function runAgentTurn(params) {
36198
36193
  function createDefaultDeps() {
36199
36194
  return {
36200
36195
  sendMessageWhatsApp: async (...args) => {
36201
- const { sendMessageWhatsApp } = await import("./web-C2OyRvIo.js");
36196
+ const { sendMessageWhatsApp } = await import("./web-DvzecOyx.js");
36202
36197
  return await sendMessageWhatsApp(...args);
36203
36198
  },
36204
36199
  sendMessageTelegram: async (...args) => {
36205
- const { sendMessageTelegram } = await import("./send-D6LMZJ_h.js").then((n) => n.l);
36200
+ const { sendMessageTelegram } = await import("./send-CRsR8-vO.js").then((n) => n.l);
36206
36201
  return await sendMessageTelegram(...args);
36207
36202
  },
36208
36203
  sendMessageDiscord: async (...args) => {
36209
- const { sendMessageDiscord } = await import("./send-Bxdu6ZZy.js").then((n) => n.t);
36204
+ const { sendMessageDiscord } = await import("./send-CjOBB3Vo.js").then((n) => n.t);
36210
36205
  return await sendMessageDiscord(...args);
36211
36206
  },
36212
36207
  sendMessageSlack: async (...args) => {
36213
- const { sendMessageSlack } = await import("./send-BtANzsAo.js").then((n) => n.n);
36208
+ const { sendMessageSlack } = await import("./send-B2CEnVLL.js").then((n) => n.n);
36214
36209
  return await sendMessageSlack(...args);
36215
36210
  },
36216
36211
  sendMessageSignal: async (...args) => {
36217
- const { sendMessageSignal } = await import("./send-BMfJIhCk.js").then((n) => n.i);
36212
+ const { sendMessageSignal } = await import("./send-pYqe432l.js").then((n) => n.i);
36218
36213
  return await sendMessageSignal(...args);
36219
36214
  },
36220
36215
  sendMessageIMessage: async (...args) => {
36221
- const { sendMessageIMessage } = await import("./send-BHbXh8Ly.js").then((n) => n.n);
36216
+ const { sendMessageIMessage } = await import("./send-C5h_YxNb.js").then((n) => n.n);
36222
36217
  return await sendMessageIMessage(...args);
36223
36218
  }
36224
36219
  };
@@ -46370,7 +46365,7 @@ function readSlackExternalArgMenuToken(raw) {
46370
46365
  }
46371
46366
  let commandsRegistry;
46372
46367
  async function getCommandsRegistry() {
46373
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CQFbmUMs.js").then((n) => n.n);
46368
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-COIaslGl.js").then((n) => n.n);
46374
46369
  return commandsRegistry;
46375
46370
  }
46376
46371
  function encodeSlackCommandArgValue(parts) {
@@ -46712,11 +46707,11 @@ async function registerSlackMonitorSlashCommands(params) {
46712
46707
  const channelName = channelInfo?.name;
46713
46708
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
46714
46709
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
46715
- import("./resolve-route-D3JH_D2N.js").then((n) => n.r),
46710
+ import("./resolve-route-B3CCBumQ.js").then((n) => n.r),
46716
46711
  import("./inbound-context-D5EzMeL_.js").then((n) => n.n),
46717
46712
  Promise.resolve().then(() => provider_dispatcher_exports)
46718
46713
  ]);
46719
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-BHuV5t70.js").then((n) => n.r)]);
46714
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-uxfMZW4p.js").then((n) => n.r)]);
46720
46715
  const route = resolveAgentRoute({
46721
46716
  cfg,
46722
46717
  channel: "slack",
@@ -46773,9 +46768,9 @@ async function registerSlackMonitorSlashCommands(params) {
46773
46768
  });
46774
46769
  const deliverSlashPayloads = async (replies) => {
46775
46770
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
46776
- import("./replies-fI39rPGa.js").then((n) => n.r),
46777
- import("./chunk-jvk9axTQ.js").then((n) => n.s),
46778
- import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
46771
+ import("./replies-LLcQL3w6.js").then((n) => n.r),
46772
+ import("./chunk-Dw2XBYXv.js").then((n) => n.s),
46773
+ import("./markdown-tables-BoYFajMu.js").then((n) => n.t)
46779
46774
  ]);
46780
46775
  await deliverSlackSlashReplies({
46781
46776
  replies,
@@ -46828,7 +46823,7 @@ async function registerSlackMonitorSlashCommands(params) {
46828
46823
  let nativeCommands = [];
46829
46824
  if (nativeEnabled) {
46830
46825
  reg = await getCommandsRegistry();
46831
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DCNXVERE.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46826
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ff_01_r3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46832
46827
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
46833
46828
  skillCommands,
46834
46829
  provider: "slack"
@@ -51479,7 +51474,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
51479
51474
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
51480
51475
  let preflightTranscript;
51481
51476
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
51482
- const { transcribeFirstAudio } = await import("./audio-preflight-DoQQKlxa.js");
51477
+ const { transcribeFirstAudio } = await import("./audio-preflight-VpItkiy3.js");
51483
51478
  preflightTranscript = await transcribeFirstAudio({
51484
51479
  ctx: {
51485
51480
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -53624,23 +53619,23 @@ let webLoginQrPromise = null;
53624
53619
  let webChannelPromise = null;
53625
53620
  let whatsappActionsPromise = null;
53626
53621
  function loadWebOutbound() {
53627
- webOutboundPromise ??= import("./outbound-rF6G8Xpr.js").then((n) => n.t);
53622
+ webOutboundPromise ??= import("./outbound-B0e8KdaR.js").then((n) => n.t);
53628
53623
  return webOutboundPromise;
53629
53624
  }
53630
53625
  function loadWebLogin() {
53631
- webLoginPromise ??= import("./login-Bh3DZPam.js").then((n) => n.n);
53626
+ webLoginPromise ??= import("./login-DQMXuxOk.js").then((n) => n.n);
53632
53627
  return webLoginPromise;
53633
53628
  }
53634
53629
  function loadWebLoginQr() {
53635
- webLoginQrPromise ??= import("./login-qr-DbR7odSr.js");
53630
+ webLoginQrPromise ??= import("./login-qr-BjVZSoCi.js");
53636
53631
  return webLoginQrPromise;
53637
53632
  }
53638
53633
  function loadWebChannel() {
53639
- webChannelPromise ??= import("./web-C2OyRvIo.js");
53634
+ webChannelPromise ??= import("./web-DvzecOyx.js");
53640
53635
  return webChannelPromise;
53641
53636
  }
53642
53637
  function loadWhatsAppActions() {
53643
- whatsappActionsPromise ??= import("./whatsapp-actions-CcBzDuL-.js");
53638
+ whatsappActionsPromise ??= import("./whatsapp-actions-DfseosPO.js");
53644
53639
  return whatsappActionsPromise;
53645
53640
  }
53646
53641
  function createPluginRuntime() {
@@ -78083,7 +78078,7 @@ async function deliverSessionMaintenanceWarning(params) {
78083
78078
  return;
78084
78079
  }
78085
78080
  try {
78086
- const { deliverOutboundPayloads } = await import("./deliver-BZ6iNLl7.js").then((n) => n.n);
78081
+ const { deliverOutboundPayloads } = await import("./deliver-BZ99UKQq.js").then((n) => n.n);
78087
78082
  await deliverOutboundPayloads({
78088
78083
  cfg: params.cfg,
78089
78084
  channel,
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as resolveAgentConfig } from "./agent-scope-C3gMMKCU.js";
2
+ import { n as resolveAgentConfig } from "./agent-scope-CYYpcO9W.js";
3
3
 
4
4
  //#region src/agents/identity.ts
5
5
  const DEFAULT_ACK_REACTION = "👀";
@@ -1,5 +1,5 @@
1
- import { _ as normalizeWhatsAppTarget, g as isWhatsAppGroupJid } from "./plugins-BbAvhC25.js";
2
- import { n as missingTargetError } from "./target-errors-B7YyMnIi.js";
1
+ import { _ as normalizeWhatsAppTarget, g as isWhatsAppGroupJid } from "./plugins-BNByVCIH.js";
2
+ import { n as missingTargetError } from "./target-errors-Paro1BjP.js";
3
3
 
4
4
  //#region src/whatsapp/resolve-outbound-target.ts
5
5
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, n as DEFAULT_MAIN_KEY, p as normalizeAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-C_0eELjb.js";
3
- import { Y as shouldLogVerbose } from "./registry--_pGht6S.js";
4
- import { O as logDebug, c as resolveDefaultAgentId } from "./agent-scope-C3gMMKCU.js";
3
+ import { Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
4
+ import { O as logDebug, c as resolveDefaultAgentId } from "./agent-scope-CYYpcO9W.js";
5
5
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
6
- import { t as listBindings } from "./bindings-BbwoUGPx.js";
6
+ import { t as listBindings } from "./bindings-C7hRtgYW.js";
7
7
 
8
8
  //#region src/routing/resolve-route.ts
9
9
  var resolve_route_exports = /* @__PURE__ */ __exportAll({