@symerian/symi 2.6.0 → 2.6.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 (188) hide show
  1. package/dist/{agents-Bi50kp6u.js → agents-qLMWAYwU.js} +4 -4
  2. package/dist/{agents.config-BcTeP94V.js → agents.config-BfjAwFCr.js} +1 -1
  3. package/dist/{agents.config-Duce7lam.js → agents.config-BmdFH4J5.js} +1 -1
  4. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
  5. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  6. package/dist/{auth-choice-Dyq-0MNq.js → auth-choice-D1u_GPfQ.js} +1 -1
  7. package/dist/{auth-choice-BFIBR4l9.js → auth-choice-zFq3WRQ0.js} +1 -1
  8. package/dist/{banner-D50f_0qf.js → banner-DpH44qlJ.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +6 -6
  11. package/dist/bundled/session-memory/handler.js +6 -6
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-BFqaanEt.js → channel-options-0iOfzVR3.js} +1 -1
  14. package/dist/{channel-options-BvBcjqyk.js → channel-options-C8tKm8re.js} +1 -1
  15. package/dist/{channel-web-BQtFg4IP.js → channel-web-DYinYBz4.js} +1 -1
  16. package/dist/{channels-cli-BuTH-iVi.js → channels-cli-93tLT17t.js} +4 -4
  17. package/dist/{channels-cli-BYFQdWnL.js → channels-cli-C8HgSMTH.js} +4 -4
  18. package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
  19. package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
  20. package/dist/{cli-r2L-UK6y.js → cli-BYJyRW2M.js} +1 -1
  21. package/dist/{cli-eOBlVLcC.js → cli-DapZXGSB.js} +1 -1
  22. package/dist/{command-registry-D-pwcAIW.js → command-registry-9EhYc6da.js} +9 -9
  23. package/dist/{completion-cli-DIx7KyOG.js → completion-cli-BFZv3K5D.js} +2 -2
  24. package/dist/{completion-cli-DMO2OGTm.js → completion-cli-CCeQlMlC.js} +1 -1
  25. package/dist/{config-cli-BsDxqYDU.js → config-cli-DbWMIBUz.js} +1 -1
  26. package/dist/{config-cli-seaVWVru.js → config-cli-Dv2mtIeM.js} +1 -1
  27. package/dist/{configure-BmPwuHXL.js → configure-B8zV6Hxj.js} +3 -3
  28. package/dist/{configure-CqbKA0_V.js → configure-CVQf2UJE.js} +3 -3
  29. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  30. package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
  31. package/dist/{doctor-completion-DMjs7-Qa.js → doctor-completion-BunqvoqZ.js} +1 -1
  32. package/dist/{doctor-completion-C2IV3lKi.js → doctor-completion-CLeX1kaN.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{gateway-cli-BanaeKQ_.js → gateway-cli-Co-tp-WC.js} +9 -9
  36. package/dist/{gateway-cli-C-J_s559.js → gateway-cli-DMey_29a.js} +9 -9
  37. package/dist/{glass-ui-ws-DUzp9m0D.js → glass-ui-ws-C4O227UO.js} +7 -7
  38. package/dist/{glass-ui-ws-DK7x3Tz7.js → glass-ui-ws-CKb1jTZR.js} +7 -7
  39. package/dist/{health-DK6rAOhC.js → health-CDGOsNeD.js} +1 -1
  40. package/dist/{health-BpHgCv-u.js → health-CM1asUG8.js} +1 -1
  41. package/dist/{hooks-cli-D-75G_66.js → hooks-cli-DFKB3Z6X.js} +2 -2
  42. package/dist/{hooks-cli-Cin_3tFg.js → hooks-cli-Tx0TzSju.js} +2 -2
  43. package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
  44. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  45. package/dist/index.js +6 -6
  46. package/dist/llm-slug-generator.js +6 -6
  47. package/dist/{models-CeKIXf5B.js → models-CiqHYwje.js} +2 -2
  48. package/dist/{models-cli-2NcPKR9A.js → models-cli-B-b-gBKG.js} +2 -2
  49. package/dist/{models-cli-DN4AVlpI.js → models-cli-B4ATSsNS.js} +3 -3
  50. package/dist/{onboard-BukRqcRH.js → onboard-B_ECX48L.js} +2 -2
  51. package/dist/{onboard-BcxDiUl_.js → onboard-DcnGZKZX.js} +2 -2
  52. package/dist/{onboard-channels-DS6s341R.js → onboard-channels-FFQPpuEN.js} +1 -1
  53. package/dist/{onboard-channels-HPxu77wp.js → onboard-channels-pfSGhg_C.js} +1 -1
  54. package/dist/{onboarding-DI-o_sax.js → onboarding-BU14cspo.js} +3 -3
  55. package/dist/{onboarding-B8uz24jt.js → onboarding-jhZxQcZ3.js} +3 -3
  56. package/dist/{onboarding.finalize-CfE_AEto.js → onboarding.finalize-B8oOMfHc.js} +6 -6
  57. package/dist/{onboarding.finalize-Bn2e61yb.js → onboarding.finalize-ByZT4dF5.js} +5 -5
  58. package/dist/{pi-embedded-B5qBa69e.js → pi-embedded-BY9AnmoP.js} +203 -27
  59. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  60. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
  61. package/dist/{plugin-registry-NIUxULTk.js → plugin-registry-CNf1_8hj.js} +1 -1
  62. package/dist/{plugin-registry-cj99EI0k.js → plugin-registry-DXWJkJX6.js} +1 -1
  63. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  64. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  65. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  66. package/dist/plugin-sdk/{active-listener-BXYeALs0.js → active-listener-bEk__wbB.js} +1 -1
  67. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  68. package/dist/plugin-sdk/agents/model-token-filter.d.ts +10 -0
  69. package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +23 -0
  70. package/dist/plugin-sdk/agents/pi-tools.validate.d.ts +26 -0
  71. package/dist/plugin-sdk/agents/tool-loop-detection.d.ts +3 -1
  72. package/dist/plugin-sdk/{api-key-rotation-D_sMvI5W.js → api-key-rotation-CVBMpnPc.js} +1 -1
  73. package/dist/plugin-sdk/{audio-preflight-VpItkiy3.js → audio-preflight-DoQQKlxa.js} +24 -24
  74. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  75. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  76. package/dist/plugin-sdk/{channel-web-CSd16cDi.js → channel-web-DZQQ0mzN.js} +22 -22
  77. package/dist/plugin-sdk/{chrome-B7RdxmJ0.js → chrome-C7c_0I5M.js} +3 -3
  78. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  79. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  80. package/dist/plugin-sdk/{commands-registry-COIaslGl.js → commands-registry-CQFbmUMs.js} +4 -4
  81. package/dist/plugin-sdk/config/model-profiles.d.ts +2 -0
  82. package/dist/plugin-sdk/{config-KlTNfkFF.js → config-DDkdiUOR.js} +9 -9
  83. package/dist/plugin-sdk/{deliver-BZ99UKQq.js → deliver-BZ6iNLl7.js} +10 -10
  84. package/dist/plugin-sdk/{diagnostic-05pm5Rxi.js → diagnostic-mFf4i4G9.js} +1 -1
  85. package/dist/plugin-sdk/{image-CLOPx7yW.js → image-BOYy0Ump.js} +4 -4
  86. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  87. package/dist/plugin-sdk/index.js +53 -53
  88. package/dist/plugin-sdk/infra/diagnostic-events.d.ts +1 -1
  89. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  90. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  91. package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +2 -0
  92. package/dist/plugin-sdk/logging/diagnostic.d.ts +1 -1
  93. package/dist/plugin-sdk/{login-DQMXuxOk.js → login-Bh3DZPam.js} +7 -7
  94. package/dist/plugin-sdk/{login-qr-BjVZSoCi.js → login-qr-DbR7odSr.js} +9 -9
  95. package/dist/plugin-sdk/{manager-CBSBFuFz.js → manager-DckktAQ3.js} +8 -8
  96. package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-B3ugY9-f.js} +1 -1
  97. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  98. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  99. package/dist/plugin-sdk/{model-selection-CsbEfrS0.js → model-selection-OpU8HN50.js} +4 -4
  100. package/dist/plugin-sdk/{outbound-attachment-CnslKL38.js → outbound-attachment-DnVQfTG2.js} +2 -2
  101. package/dist/plugin-sdk/{outbound-B0e8KdaR.js → outbound-rF6G8Xpr.js} +7 -7
  102. package/dist/plugin-sdk/{pi-auth-json-qWi7ZIYV.js → pi-auth-json-CJk8t14T.js} +5 -5
  103. package/dist/plugin-sdk/{pi-embedded-helpers-CW630epe.js → pi-embedded-helpers-BveUP4hk.js} +17 -17
  104. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  105. package/dist/plugin-sdk/{pw-ai-CnbPIPY9.js → pw-ai-DjGUsee-.js} +8 -8
  106. package/dist/plugin-sdk/{qmd-manager-CH0XbIHf.js → qmd-manager-mjKcdwVr.js} +4 -4
  107. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  108. package/dist/plugin-sdk/{replies-LLcQL3w6.js → replies-fI39rPGa.js} +3 -3
  109. package/dist/plugin-sdk/{reply-CkqSfQZN.js → reply-DvZeyOVA.js} +263 -87
  110. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  111. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  112. package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
  113. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  114. package/dist/plugin-sdk/{runner-CGBT7tgF.js → runner-BVqnEfNe.js} +9 -9
  115. package/dist/plugin-sdk/{send-C5h_YxNb.js → send-BHbXh8Ly.js} +7 -7
  116. package/dist/plugin-sdk/{send-pYqe432l.js → send-BMfJIhCk.js} +6 -6
  117. package/dist/plugin-sdk/{send-B2CEnVLL.js → send-BtANzsAo.js} +6 -6
  118. package/dist/plugin-sdk/{send-CjOBB3Vo.js → send-Bxdu6ZZy.js} +10 -10
  119. package/dist/plugin-sdk/{send-CRsR8-vO.js → send-D6LMZJ_h.js} +10 -10
  120. package/dist/plugin-sdk/{session-BsOrxiMj.js → session-kI0tzViQ.js} +4 -4
  121. package/dist/plugin-sdk/{skill-commands-ff_01_r3.js → skill-commands-DCNXVERE.js} +5 -5
  122. package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-B1GeRYlu.js} +7 -7
  123. package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
  124. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  125. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  126. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  127. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  128. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  129. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  130. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  131. package/dist/plugin-sdk/{tool-loop-detection-BVA6fax-.js → tool-loop-detection-DU5sTIKg.js} +55 -5
  132. package/dist/plugin-sdk/web-BCsJFuQu.js +65 -0
  133. package/dist/plugin-sdk/{whatsapp-actions-DfseosPO.js → whatsapp-actions-CcBzDuL-.js} +21 -21
  134. package/dist/{plugins-cli-CcjxxESJ.js → plugins-cli-BiedlZMy.js} +2 -2
  135. package/dist/{plugins-cli-D8hhTHZD.js → plugins-cli-C9TYM40P.js} +2 -2
  136. package/dist/{program-D09h71pS.js → program-bnWda72r.js} +7 -7
  137. package/dist/{program-context-CLJSWBZr.js → program-context-CY1jWc5A.js} +17 -17
  138. package/dist/{prompt-select-styled-DQqZEGoo.js → prompt-select-styled-BEnZY8wI.js} +4 -4
  139. package/dist/{prompt-select-styled-zRUqu0c8.js → prompt-select-styled-B_lFTtqp.js} +4 -4
  140. package/dist/{provider-auth-helpers-LzJ2WQIc.js → provider-auth-helpers-DApJuzBd.js} +1 -1
  141. package/dist/{provider-auth-helpers-16r2WHNe.js → provider-auth-helpers-DcNKxc7D.js} +1 -1
  142. package/dist/{push-apns-DJddAK3u.js → push-apns-CKKHlj6j.js} +1 -1
  143. package/dist/{push-apns-B5xZKIxK.js → push-apns-DA7UMNQH.js} +1 -1
  144. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  145. package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
  146. package/dist/{register.agent-D7NKuUkY.js → register.agent-8lxVlmzQ.js} +5 -5
  147. package/dist/{register.agent-CP_sigRh.js → register.agent-ulu0VmOg.js} +6 -6
  148. package/dist/{register.configure-BEsGd0PR.js → register.configure-45--Sly1.js} +6 -6
  149. package/dist/{register.configure-BjRLNatb.js → register.configure-rq0h5r3X.js} +6 -6
  150. package/dist/{register.maintenance-DD6TNFtV.js → register.maintenance-CXbxRtWI.js} +8 -8
  151. package/dist/{register.maintenance-CN6KUuX7.js → register.maintenance-DyEJx7NY.js} +7 -7
  152. package/dist/{register.message-DEUcNly1.js → register.message-C7Yh1uky.js} +2 -2
  153. package/dist/{register.message-DMVC_Sqm.js → register.message-CiN_pt6K.js} +2 -2
  154. package/dist/{register.onboard-CP6RP90V.js → register.onboard-BWaRkbei.js} +4 -4
  155. package/dist/{register.onboard-J1pgV7lz.js → register.onboard-e_2hc2Rm.js} +4 -4
  156. package/dist/{register.setup-Dhc3jKpK.js → register.setup-BIIFHtF7.js} +4 -4
  157. package/dist/{register.setup-BeHpW3xI.js → register.setup-zwh90Vn-.js} +4 -4
  158. package/dist/{register.status-health-sessions-b-lWNsTM.js → register.status-health-sessions-D6t5maEr.js} +3 -3
  159. package/dist/{register.status-health-sessions-DDkC0aoW.js → register.status-health-sessions-O-sVAFHE.js} +3 -3
  160. package/dist/{register.subclis-BJqiT8Q2.js → register.subclis-DOiZocR6.js} +9 -9
  161. package/dist/{reply-D40cmAci.js → reply-05js8eGB.js} +189 -13
  162. package/dist/{run-main-BruREeZ6.js → run-main-u-Eyc8Wm.js} +14 -14
  163. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  164. package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
  165. package/dist/{server-methods-K-0MHs8x.js → server-methods-Bvl1xubo.js} +7 -7
  166. package/dist/{server-methods-Cyw_WS3A.js → server-methods-Dds-iEoY.js} +7 -7
  167. package/dist/{server-node-events-89R9Ryky.js → server-node-events-Qp-gJMET.js} +2 -2
  168. package/dist/{server-node-events-RA8RurtC.js → server-node-events-qGqpsPxm.js} +2 -2
  169. package/dist/{status-DHJLMwQN.js → status-BATOXGRi.js} +2 -2
  170. package/dist/{status-CtNKWuzg.js → status-BRSo-LY3.js} +2 -2
  171. package/dist/{status-Kv_hsY8N.js → status-BqQ9mm64.js} +1 -1
  172. package/dist/{status-BSMEjz4q.js → status-CfYa1Q9K.js} +1 -1
  173. package/dist/{subagent-registry-Cb5e_x99.js → subagent-registry-lbDgDwLy.js} +189 -13
  174. package/dist/{tool-loop-detection-BgbtzUGc.js → tool-loop-detection-C7TCF2V2.js} +53 -3
  175. package/dist/{tool-loop-detection-BU3fbtCd.js → tool-loop-detection-D7qjFnRh.js} +53 -3
  176. package/dist/{tool-loop-detection-B6j1r-Wk.js → tool-loop-detection-DPVtQOfM.js} +53 -3
  177. package/dist/{tool-loop-detection-D0kUzUGu.js → tool-loop-detection-DR_rrIA1.js} +53 -3
  178. package/dist/{unified-runner-CkJLTsTK.js → unified-runner-B4ICXRlg.js} +203 -27
  179. package/dist/{update-cli-CrRBoiVU.js → update-cli-BOaP4XyQ.js} +8 -8
  180. package/dist/{update-cli-Bl66LJZ4.js → update-cli-R8-SSkbS.js} +7 -7
  181. package/dist/{update-runner-DxpSPK-f.js → update-runner-B8UmqtLI.js} +1 -1
  182. package/dist/{update-runner-FgrqoxvV.js → update-runner-CWJ4pC1b.js} +1 -1
  183. package/dist/{web-BYRKX5Ln.js → web-BWybtnEa.js} +2 -2
  184. package/dist/{web-RePh7lRy.js → web-CQH9fSkH.js} +6 -6
  185. package/dist/{web-Czp0JS6-.js → web-CSrDbJJ7.js} +1 -1
  186. package/dist/{web-D99WHLTL.js → web-DBFW0ejP.js} +6 -6
  187. package/package.json +1 -1
  188. package/dist/plugin-sdk/web-DdTTil50.js +0 -65
@@ -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-Ddm33hQm.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";
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-BNByVCIH.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";
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-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";
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";
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-DoC1xtDu.js";
19
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Ji7f0gqq.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-BlQR__MN.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";
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-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";
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";
27
27
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.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";
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";
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-05pm5Rxi.js";
50
- import { i as saveMediaBuffer, r as getMediaDir } from "./store-BdrNabcU.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";
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-CLOPx7yW.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";
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-CxAR5ttJ.js";
54
+ import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-Cq_7Cg4E.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-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";
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";
59
59
  import { t as makeProxyFetch } from "./proxy-MquBDehr.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";
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";
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-CsbEfrS0.js").then((n) => n.O);
7795
+ const { ensureAuthProfileStore } = await import("./model-selection-OpU8HN50.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-CH0XbIHf.js");
11547
+ const { QmdMemoryManager } = await import("./qmd-manager-mjKcdwVr.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-CBSBFuFz.js").then((n) => n.t);
11559
+ const { MemoryIndexManager } = await import("./manager-DckktAQ3.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-CBSBFuFz.js").then((n) => n.t);
11572
+ const { MemoryIndexManager } = await import("./manager-DckktAQ3.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-BZ99UKQq.js").then((n) => n.n);
15488
+ const { deliverOutboundPayloads } = await import("./deliver-BZ6iNLl7.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-CLOPx7yW.js").then((n) => n.n);
17962
+ const { describeImageWithModel } = await import("./image-BOYy0Ump.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-BjVZSoCi.js");
18373
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DbR7odSr.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-VpItkiy3.js");
20441
+ const { transcribeFirstAudio } = await import("./audio-preflight-DoQQKlxa.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: {
@@ -27147,7 +27147,8 @@ const BUILTIN_PROFILES = [
27147
27147
  "<end_of_turn>"
27148
27148
  ],
27149
27149
  suppressMonologue: true,
27150
- hasStructuredThinking: false
27150
+ hasStructuredThinking: false,
27151
+ validateToolArgs: true
27151
27152
  },
27152
27153
  promptAdditions: [
27153
27154
  "CRITICAL OUTPUT RULES:",
@@ -27157,7 +27158,8 @@ const BUILTIN_PROFILES = [
27157
27158
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27158
27159
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27159
27160
  "- If you need to verify your work, do so before writing your response, not after.",
27160
- "- Send brief progress updates on long tasks so the user knows you are active."
27161
+ "- Send brief progress updates on long tasks so the user knows you are active.",
27162
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
27161
27163
  ],
27162
27164
  ui: {
27163
27165
  badge: "Local",
@@ -27181,7 +27183,8 @@ const BUILTIN_PROFILES = [
27181
27183
  filters: {
27182
27184
  stripPatterns: [],
27183
27185
  suppressMonologue: false,
27184
- hasStructuredThinking: true
27186
+ hasStructuredThinking: true,
27187
+ validateToolArgs: false
27185
27188
  },
27186
27189
  promptAdditions: [],
27187
27190
  ui: {
@@ -27215,7 +27218,8 @@ const BUILTIN_PROFILES = [
27215
27218
  "^\\s*<bos>\\s*"
27216
27219
  ],
27217
27220
  suppressMonologue: true,
27218
- hasStructuredThinking: false
27221
+ hasStructuredThinking: false,
27222
+ validateToolArgs: true
27219
27223
  },
27220
27224
  promptAdditions: [
27221
27225
  "CRITICAL OUTPUT RULES:",
@@ -27226,7 +27230,8 @@ const BUILTIN_PROFILES = [
27226
27230
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27227
27231
  "- If you need to verify your work, do so before writing your response, not after.",
27228
27232
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27229
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
27233
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
27234
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
27230
27235
  ],
27231
27236
  ui: {
27232
27237
  badge: "CoreWeave",
@@ -27254,7 +27259,8 @@ const FALLBACK_PROFILE = {
27254
27259
  filters: {
27255
27260
  stripPatterns: [],
27256
27261
  suppressMonologue: false,
27257
- hasStructuredThinking: false
27262
+ hasStructuredThinking: false,
27263
+ validateToolArgs: false
27258
27264
  },
27259
27265
  promptAdditions: [],
27260
27266
  ui: {
@@ -27737,6 +27743,19 @@ function stripModelTokensAggressive(text, modelId) {
27737
27743
  }
27738
27744
  return result;
27739
27745
  }
27746
+ /**
27747
+ * Clean residual fragments left after aggressive token stripping.
27748
+ * After `<|` and `|>` are removed, orphaned `<`, `"`, `|` can remain
27749
+ * at string boundaries (e.g., `<<|"|uname -a` → `<"uname -a`).
27750
+ *
27751
+ * Conservative: only trims leading junk before what looks like a command,
27752
+ * and trailing junk. Does NOT touch content in the middle of the string.
27753
+ * Preserves heredoc syntax (`<<EOF`, `<<"EOF"`) via negative lookahead.
27754
+ */
27755
+ function cleanResidualTokenFragments(text) {
27756
+ if (!text) return text;
27757
+ return text.replace(/^[<"|]+(?!<[A-Z_])(?=[a-zA-Z0-9/~$.(])/gm, "").replace(/[<"|]+$/gm, "").trim();
27758
+ }
27740
27759
 
27741
27760
  //#endregion
27742
27761
  //#region src/agents/output-normalizer.ts
@@ -27822,10 +27841,14 @@ function detectRepetition(text, minBlock) {
27822
27841
  const searchStart = sampleStart + minBlock;
27823
27842
  return text.indexOf(sample, searchStart) >= 0;
27824
27843
  }
27844
+ function sanitizeStringValue(value, modelId) {
27845
+ const stripped = stripModelTokensAggressive(value, modelId);
27846
+ return isGemmaModel$1(modelId) ? cleanResidualTokenFragments(stripped) : stripped;
27847
+ }
27825
27848
  function sanitizeArgs(args, modelId) {
27826
27849
  const result = {};
27827
- for (const [key, value] of Object.entries(args)) if (typeof value === "string") result[key] = stripModelTokensAggressive(value, modelId);
27828
- else if (Array.isArray(value)) result[key] = value.map((item) => typeof item === "string" ? stripModelTokensAggressive(item, modelId) : item && typeof item === "object" ? sanitizeArgs(item, modelId) : item);
27850
+ for (const [key, value] of Object.entries(args)) if (typeof value === "string") result[key] = sanitizeStringValue(value, modelId);
27851
+ else if (Array.isArray(value)) result[key] = value.map((item) => typeof item === "string" ? sanitizeStringValue(item, modelId) : item && typeof item === "object" ? sanitizeArgs(item, modelId) : item);
27829
27852
  else if (value && typeof value === "object") result[key] = sanitizeArgs(value, modelId);
27830
27853
  else result[key] = value;
27831
27854
  return result;
@@ -29909,7 +29932,7 @@ async function recordLoopOutcome(args) {
29909
29932
  if (!args.ctx?.sessionKey) return;
29910
29933
  try {
29911
29934
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
29912
- const { recordToolCallOutcome } = await import("./tool-loop-detection-BVA6fax-.js");
29935
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-DU5sTIKg.js");
29913
29936
  recordToolCallOutcome(getDiagnosticSessionState({
29914
29937
  sessionKey: args.ctx.sessionKey,
29915
29938
  sessionId: args.ctx?.agentId
@@ -29930,8 +29953,8 @@ async function runBeforeToolCallHook(args) {
29930
29953
  const params = args.params;
29931
29954
  if (args.ctx?.sessionKey) {
29932
29955
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
29933
- const { logToolLoopAction } = await import("./diagnostic-05pm5Rxi.js").then((n) => n.n);
29934
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BVA6fax-.js");
29956
+ const { logToolLoopAction } = await import("./diagnostic-mFf4i4G9.js").then((n) => n.n);
29957
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DU5sTIKg.js");
29935
29958
  const sessionState = getDiagnosticSessionState({
29936
29959
  sessionKey: args.ctx.sessionKey,
29937
29960
  sessionId: args.ctx?.agentId
@@ -30202,6 +30225,135 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
30202
30225
  });
30203
30226
  }
30204
30227
 
30228
+ //#endregion
30229
+ //#region src/agents/pi-tools.validate.ts
30230
+ /**
30231
+ * Tool argument validation — validates that exec/bash commands contain
30232
+ * valid shell syntax after model token sanitization.
30233
+ *
30234
+ * Gated on ModelProfile.filters.validateToolArgs — only active for
30235
+ * models known to leak control tokens into structured output (Gemma, Ollama).
30236
+ *
30237
+ * @module
30238
+ */
30239
+ /**
30240
+ * Validate that a command string contains extractable valid shell syntax.
30241
+ * Returns the cleaned command if valid, or an error reason if not.
30242
+ *
30243
+ * Does NOT attempt to parse the full shell grammar — just checks for
30244
+ * obvious corruption (residual control tokens, empty commands).
30245
+ * Preserves heredocs, redirects, pipes, and other legitimate shell syntax.
30246
+ */
30247
+ function validateShellCommand(command) {
30248
+ if (!command || !command.trim()) return {
30249
+ valid: false,
30250
+ cleaned: "",
30251
+ reason: "empty command"
30252
+ };
30253
+ let cleaned = cleanResidualTokenFragments(command);
30254
+ if (/(?:^|[^<])<\|/.test(cleaned) || /\|>/.test(cleaned)) {
30255
+ cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
30256
+ cleaned = cleanResidualTokenFragments(cleaned);
30257
+ }
30258
+ if (!cleaned || !cleaned.trim()) return {
30259
+ valid: false,
30260
+ cleaned: "",
30261
+ reason: "command is empty after removing control tokens"
30262
+ };
30263
+ if (!/[a-zA-Z0-9_/.~-]/.test(cleaned)) return {
30264
+ valid: false,
30265
+ cleaned,
30266
+ reason: "no recognizable shell command found"
30267
+ };
30268
+ return {
30269
+ valid: true,
30270
+ cleaned: cleaned.trim()
30271
+ };
30272
+ }
30273
+
30274
+ //#endregion
30275
+ //#region src/agents/pi-tools.validate-wrapper.ts
30276
+ const EXEC_TOOL_NAMES = new Set(["exec", "bash"]);
30277
+ const FILE_TOOL_NAMES = new Set([
30278
+ "write",
30279
+ "read",
30280
+ "edit",
30281
+ "patch",
30282
+ "file_write",
30283
+ "file_edit",
30284
+ "write_file",
30285
+ "edit_file",
30286
+ "create_file"
30287
+ ]);
30288
+ const FILE_PATH_KEYS = [
30289
+ "file_path",
30290
+ "path",
30291
+ "filePath"
30292
+ ];
30293
+ /**
30294
+ * Wrap tools with argument validation. Exec/bash commands and file paths
30295
+ * are validated. Other tools pass through unchanged.
30296
+ *
30297
+ * Call this AFTER tools are created and the model profile is resolved.
30298
+ */
30299
+ function wrapToolsWithArgValidation(tools, profile) {
30300
+ if (!profile.filters?.validateToolArgs) return tools;
30301
+ return tools.map((tool) => wrapToolWithArgValidation(tool));
30302
+ }
30303
+ /**
30304
+ * Clean a file path by stripping control token fragments.
30305
+ * Returns null if the path is irreparably corrupted (empty after cleanup).
30306
+ */
30307
+ function cleanFilePath(filePath) {
30308
+ let cleaned = filePath.replace(/<\|[^|>]*(?:\|>)?/g, "");
30309
+ cleaned = cleanResidualTokenFragments(cleaned);
30310
+ cleaned = cleaned.trim();
30311
+ if (!cleaned || !/[a-zA-Z0-9/._~-]/.test(cleaned)) return {
30312
+ valid: false,
30313
+ cleaned
30314
+ };
30315
+ return {
30316
+ valid: true,
30317
+ cleaned
30318
+ };
30319
+ }
30320
+ /**
30321
+ * Wrap a single tool with argument validation.
30322
+ */
30323
+ function wrapToolWithArgValidation(tool) {
30324
+ const toolName = (tool.name ?? "").toLowerCase().trim();
30325
+ const isExecTool = EXEC_TOOL_NAMES.has(toolName);
30326
+ const isFileTool = FILE_TOOL_NAMES.has(toolName);
30327
+ if (!isExecTool && !isFileTool) return tool;
30328
+ const originalExecute = tool.execute;
30329
+ return {
30330
+ ...tool,
30331
+ execute(toolCallId, params, ...rest) {
30332
+ if (isExecTool) {
30333
+ const command = params.command ?? params.cmd;
30334
+ if (typeof command !== "string") return originalExecute.call(tool, toolCallId, params, ...rest);
30335
+ const result = validateShellCommand(command);
30336
+ if (!result.valid) return Promise.resolve({ output: `Error: ${result.reason}. The command appears to contain model control tokens. Please provide a clean shell command without any <|, |>, or XML-like tags. Only valid shell syntax is accepted.` });
30337
+ if (result.cleaned !== command) return originalExecute.call(tool, toolCallId, {
30338
+ ...params,
30339
+ command: result.cleaned
30340
+ }, ...rest);
30341
+ return originalExecute.call(tool, toolCallId, params, ...rest);
30342
+ }
30343
+ const pathKey = FILE_PATH_KEYS.find((k) => typeof params[k] === "string");
30344
+ if (!pathKey) return originalExecute.call(tool, toolCallId, params, ...rest);
30345
+ const rawPath = params[pathKey];
30346
+ if (!rawPath.includes("<|") && !rawPath.includes("|>") && !/^[<"|]/.test(rawPath)) return originalExecute.call(tool, toolCallId, params, ...rest);
30347
+ const pathResult = cleanFilePath(rawPath);
30348
+ 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.` });
30349
+ return originalExecute.call(tool, toolCallId, {
30350
+ ...params,
30351
+ [pathKey]: pathResult.cleaned
30352
+ }, ...rest);
30353
+ }
30354
+ };
30355
+ }
30356
+
30205
30357
  //#endregion
30206
30358
  //#region src/agents/plan-mode.ts
30207
30359
  /**
@@ -34281,10 +34433,11 @@ async function runEmbeddedAttempt(params) {
34281
34433
  await resourceLoader.reload();
34282
34434
  }
34283
34435
  const hookRunner = getGlobalHookRunner();
34284
- const { builtInTools, customTools } = splitSdkTools({
34436
+ const { builtInTools: rawBuiltInTools, customTools } = splitSdkTools({
34285
34437
  tools,
34286
34438
  sandboxEnabled: !!sandbox?.enabled
34287
34439
  });
34440
+ const builtInTools = wrapToolsWithArgValidation(rawBuiltInTools, modelProfile);
34288
34441
  let clientToolCallDetected = null;
34289
34442
  const clientToolLoopDetection = resolveToolLoopDetectionConfig({
34290
34443
  cfg: params.config,
@@ -34493,6 +34646,10 @@ async function runEmbeddedAttempt(params) {
34493
34646
  });
34494
34647
  };
34495
34648
  const streamMonitor = createStreamMonitor(modelProfile);
34649
+ const TOOL_ERROR_ABORT_THRESHOLD = 5;
34650
+ const TOOL_ERROR_WARN_THRESHOLD = 3;
34651
+ let consecutiveToolErrors = 0;
34652
+ let lastErrorToolName = "";
34496
34653
  const subscription = subscribeEmbeddedPiSession({
34497
34654
  session: activeSession,
34498
34655
  runId: params.runId,
@@ -34514,6 +34671,25 @@ async function runEmbeddedAttempt(params) {
34514
34671
  onAgentEvent: (evt) => {
34515
34672
  armSymipulseTimer();
34516
34673
  params.onAgentEvent?.(evt);
34674
+ if (evt.stream === "tool" && !aborted) {
34675
+ const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
34676
+ const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
34677
+ const isError = evt.data?.isError === true;
34678
+ if (phase === "result" && toolName) {
34679
+ if (isError && toolName === lastErrorToolName) consecutiveToolErrors++;
34680
+ else if (isError) {
34681
+ consecutiveToolErrors = 1;
34682
+ lastErrorToolName = toolName;
34683
+ } else {
34684
+ consecutiveToolErrors = 0;
34685
+ lastErrorToolName = "";
34686
+ }
34687
+ if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
34688
+ log$6.error(`Agent-loop circuit breaker: ${toolName} failed ${consecutiveToolErrors} consecutive times. Aborting run ${params.runId}.`);
34689
+ abortRun(false, /* @__PURE__ */ new Error(`Tool ${toolName} failed ${consecutiveToolErrors} consecutive times. The model may be generating corrupted tool arguments. Run aborted to prevent infinite loop.`));
34690
+ } else if (consecutiveToolErrors === TOOL_ERROR_WARN_THRESHOLD) log$6.warn(`Agent-loop tool error warning: ${toolName} failed ${consecutiveToolErrors} times consecutively. runId=${params.runId}`);
34691
+ }
34692
+ }
34517
34693
  if (evt.stream === "assistant" && typeof evt.data?.text === "string" && !aborted) {
34518
34694
  streamMonitor.onChunk(evt.data.text);
34519
34695
  if (streamMonitor.shouldStop()) log$6.debug(`stream monitor detection (log-only, no abort): runId=${params.runId} reason=${streamMonitor.getStopReason()}`);
@@ -36009,27 +36185,27 @@ async function runAgentTurn(params) {
36009
36185
  function createDefaultDeps() {
36010
36186
  return {
36011
36187
  sendMessageWhatsApp: async (...args) => {
36012
- const { sendMessageWhatsApp } = await import("./web-DdTTil50.js");
36188
+ const { sendMessageWhatsApp } = await import("./web-BCsJFuQu.js");
36013
36189
  return await sendMessageWhatsApp(...args);
36014
36190
  },
36015
36191
  sendMessageTelegram: async (...args) => {
36016
- const { sendMessageTelegram } = await import("./send-CRsR8-vO.js").then((n) => n.l);
36192
+ const { sendMessageTelegram } = await import("./send-D6LMZJ_h.js").then((n) => n.l);
36017
36193
  return await sendMessageTelegram(...args);
36018
36194
  },
36019
36195
  sendMessageDiscord: async (...args) => {
36020
- const { sendMessageDiscord } = await import("./send-CjOBB3Vo.js").then((n) => n.t);
36196
+ const { sendMessageDiscord } = await import("./send-Bxdu6ZZy.js").then((n) => n.t);
36021
36197
  return await sendMessageDiscord(...args);
36022
36198
  },
36023
36199
  sendMessageSlack: async (...args) => {
36024
- const { sendMessageSlack } = await import("./send-B2CEnVLL.js").then((n) => n.n);
36200
+ const { sendMessageSlack } = await import("./send-BtANzsAo.js").then((n) => n.n);
36025
36201
  return await sendMessageSlack(...args);
36026
36202
  },
36027
36203
  sendMessageSignal: async (...args) => {
36028
- const { sendMessageSignal } = await import("./send-pYqe432l.js").then((n) => n.i);
36204
+ const { sendMessageSignal } = await import("./send-BMfJIhCk.js").then((n) => n.i);
36029
36205
  return await sendMessageSignal(...args);
36030
36206
  },
36031
36207
  sendMessageIMessage: async (...args) => {
36032
- const { sendMessageIMessage } = await import("./send-C5h_YxNb.js").then((n) => n.n);
36208
+ const { sendMessageIMessage } = await import("./send-BHbXh8Ly.js").then((n) => n.n);
36033
36209
  return await sendMessageIMessage(...args);
36034
36210
  }
36035
36211
  };
@@ -46181,7 +46357,7 @@ function readSlackExternalArgMenuToken(raw) {
46181
46357
  }
46182
46358
  let commandsRegistry;
46183
46359
  async function getCommandsRegistry() {
46184
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-COIaslGl.js").then((n) => n.n);
46360
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CQFbmUMs.js").then((n) => n.n);
46185
46361
  return commandsRegistry;
46186
46362
  }
46187
46363
  function encodeSlackCommandArgValue(parts) {
@@ -46523,11 +46699,11 @@ async function registerSlackMonitorSlashCommands(params) {
46523
46699
  const channelName = channelInfo?.name;
46524
46700
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
46525
46701
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
46526
- import("./resolve-route-B3CCBumQ.js").then((n) => n.r),
46702
+ import("./resolve-route-D3JH_D2N.js").then((n) => n.r),
46527
46703
  import("./inbound-context-D5EzMeL_.js").then((n) => n.n),
46528
46704
  Promise.resolve().then(() => provider_dispatcher_exports)
46529
46705
  ]);
46530
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-uxfMZW4p.js").then((n) => n.r)]);
46706
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-BHuV5t70.js").then((n) => n.r)]);
46531
46707
  const route = resolveAgentRoute({
46532
46708
  cfg,
46533
46709
  channel: "slack",
@@ -46584,9 +46760,9 @@ async function registerSlackMonitorSlashCommands(params) {
46584
46760
  });
46585
46761
  const deliverSlashPayloads = async (replies) => {
46586
46762
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
46587
- import("./replies-LLcQL3w6.js").then((n) => n.r),
46588
- import("./chunk-Dw2XBYXv.js").then((n) => n.s),
46589
- import("./markdown-tables-BoYFajMu.js").then((n) => n.t)
46763
+ import("./replies-fI39rPGa.js").then((n) => n.r),
46764
+ import("./chunk-jvk9axTQ.js").then((n) => n.s),
46765
+ import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
46590
46766
  ]);
46591
46767
  await deliverSlackSlashReplies({
46592
46768
  replies,
@@ -46639,7 +46815,7 @@ async function registerSlackMonitorSlashCommands(params) {
46639
46815
  let nativeCommands = [];
46640
46816
  if (nativeEnabled) {
46641
46817
  reg = await getCommandsRegistry();
46642
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ff_01_r3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46818
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DCNXVERE.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
46643
46819
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
46644
46820
  skillCommands,
46645
46821
  provider: "slack"
@@ -51290,7 +51466,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
51290
51466
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
51291
51467
  let preflightTranscript;
51292
51468
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
51293
- const { transcribeFirstAudio } = await import("./audio-preflight-VpItkiy3.js");
51469
+ const { transcribeFirstAudio } = await import("./audio-preflight-DoQQKlxa.js");
51294
51470
  preflightTranscript = await transcribeFirstAudio({
51295
51471
  ctx: {
51296
51472
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -53435,23 +53611,23 @@ let webLoginQrPromise = null;
53435
53611
  let webChannelPromise = null;
53436
53612
  let whatsappActionsPromise = null;
53437
53613
  function loadWebOutbound() {
53438
- webOutboundPromise ??= import("./outbound-B0e8KdaR.js").then((n) => n.t);
53614
+ webOutboundPromise ??= import("./outbound-rF6G8Xpr.js").then((n) => n.t);
53439
53615
  return webOutboundPromise;
53440
53616
  }
53441
53617
  function loadWebLogin() {
53442
- webLoginPromise ??= import("./login-DQMXuxOk.js").then((n) => n.n);
53618
+ webLoginPromise ??= import("./login-Bh3DZPam.js").then((n) => n.n);
53443
53619
  return webLoginPromise;
53444
53620
  }
53445
53621
  function loadWebLoginQr() {
53446
- webLoginQrPromise ??= import("./login-qr-BjVZSoCi.js");
53622
+ webLoginQrPromise ??= import("./login-qr-DbR7odSr.js");
53447
53623
  return webLoginQrPromise;
53448
53624
  }
53449
53625
  function loadWebChannel() {
53450
- webChannelPromise ??= import("./web-DdTTil50.js");
53626
+ webChannelPromise ??= import("./web-BCsJFuQu.js");
53451
53627
  return webChannelPromise;
53452
53628
  }
53453
53629
  function loadWhatsAppActions() {
53454
- whatsappActionsPromise ??= import("./whatsapp-actions-DfseosPO.js");
53630
+ whatsappActionsPromise ??= import("./whatsapp-actions-CcBzDuL-.js");
53455
53631
  return whatsappActionsPromise;
53456
53632
  }
53457
53633
  function createPluginRuntime() {
@@ -77894,7 +78070,7 @@ async function deliverSessionMaintenanceWarning(params) {
77894
78070
  return;
77895
78071
  }
77896
78072
  try {
77897
- const { deliverOutboundPayloads } = await import("./deliver-BZ99UKQq.js").then((n) => n.n);
78073
+ const { deliverOutboundPayloads } = await import("./deliver-BZ6iNLl7.js").then((n) => n.n);
77898
78074
  await deliverOutboundPayloads({
77899
78075
  cfg: params.cfg,
77900
78076
  channel,