@symerian/symi 3.0.6 → 3.0.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 (217) hide show
  1. package/dist/{agents-gbr-1Je_.js → agents-CFKyEJDh.js} +4 -4
  2. package/dist/{agents.config-CpxstSW7.js → agents.config-DSrQ0TM2.js} +1 -1
  3. package/dist/{agents.config-BfNlwhop.js → agents.config-JYh7a1x9.js} +1 -1
  4. package/dist/{auth-choice-54kgymsK.js → auth-choice-BPmdR0Zg.js} +1 -1
  5. package/dist/{auth-choice-D-6X8Ju1.js → auth-choice-BqParF2V.js} +1 -1
  6. package/dist/{banner-a-SFB2A_.js → banner-Lq52Hf1m.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +2 -2
  9. package/dist/bundled/session-memory/handler.js +2 -2
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-LdOWOuGF.js → channel-options-DbwyNFsd.js} +1 -1
  12. package/dist/{channel-options-Gr9E4Kzw.js → channel-options-uukUHxrR.js} +1 -1
  13. package/dist/{channel-web-CegzhXtr.js → channel-web-CBUFAaN-.js} +1 -1
  14. package/dist/{channels-cli-yEaXg9E8.js → channels-cli-DUwg4n9o.js} +6 -6
  15. package/dist/{channels-cli-BqxfCcHJ.js → channels-cli-DwWkhoS-.js} +6 -6
  16. package/dist/{cli-frCx1q0g.js → cli-BK00_StG.js} +3 -3
  17. package/dist/{cli-CBgbuAgA.js → cli-DZZmysLn.js} +3 -3
  18. package/dist/{command-registry-BuNPoTgT.js → command-registry-DvI-_9ed.js} +10 -10
  19. package/dist/{completion-cli-CtslzC-3.js → completion-cli-CSoNdvYn.js} +1 -1
  20. package/dist/{completion-cli-CslG8pRZ.js → completion-cli-D4db0jDk.js} +2 -2
  21. package/dist/{config-cli-DG0Q2opp.js → config-cli-CfqGGDZJ.js} +1 -1
  22. package/dist/{config-cli-Bne_ToTi.js → config-cli-Chi8-vDl.js} +1 -1
  23. package/dist/{configure-CrUroh9h.js → configure-CpVWXUGL.js} +3 -3
  24. package/dist/{configure-DVEumX9d.js → configure-n6QOImwq.js} +3 -3
  25. package/dist/{doctor-completion-C7FYoFcz.js → doctor-completion-Cx_h4e8C.js} +1 -1
  26. package/dist/{doctor-completion-BdPD9NXi.js → doctor-completion-Dh1Ui0Jl.js} +1 -1
  27. package/dist/entry.js +1 -1
  28. package/dist/extensionAPI.js +2 -2
  29. package/dist/{gateway-cli-C01t6lTD.js → gateway-cli-CBC3MsCD.js} +25 -14
  30. package/dist/{gateway-cli-C3pl_TOb.js → gateway-cli-DLCN4Pur.js} +25 -14
  31. package/dist/{glass-ui-ws-DdfAZRq2.js → glass-ui-ws-CSvguyD3.js} +10 -10
  32. package/dist/{glass-ui-ws-D4FpSEkk.js → glass-ui-ws-Dy9BMqps.js} +10 -10
  33. package/dist/{health-BJOdskDn.js → health-CMNaNxdO.js} +2 -2
  34. package/dist/{health-Ux1rRtE3.js → health-CcIuOt6-.js} +2 -2
  35. package/dist/{heartbeat-visibility-BOc3XHJM.js → heartbeat-visibility-C1vHOBwO.js} +1 -1
  36. package/dist/{heartbeat-visibility-DiKuGlXT.js → heartbeat-visibility-D7nLp3pi.js} +1 -1
  37. package/dist/{hooks-cli-QOqeVacd.js → hooks-cli-BJBRRQxq.js} +4 -4
  38. package/dist/{hooks-cli-C4qRn2e6.js → hooks-cli-Lu13tVB5.js} +4 -4
  39. package/dist/index.js +9 -9
  40. package/dist/llm-slug-generator.js +2 -2
  41. package/dist/{manager-H_Xir_av.js → manager-CpueNJtZ.js} +1 -1
  42. package/dist/{manager-OL6o99xD.js → manager-DrpXfTr8.js} +1 -1
  43. package/dist/{manager-DdfJ-DW0.js → manager-_IXN4-V8.js} +1 -1
  44. package/dist/{manager-D7uDkX3d.js → manager-ba9NOjzn.js} +1 -1
  45. package/dist/{memory-cli-CEvfDody.js → memory-cli-CFc9bXRp.js} +3 -3
  46. package/dist/{memory-cli-BFgNzW3D.js → memory-cli-LV7-59SK.js} +3 -3
  47. package/dist/{models-Bf1Qgxcd.js → models-BB9yLhYJ.js} +2 -2
  48. package/dist/{models-cli-C-yQI9uO.js → models-cli-RtPAmw2C.js} +4 -4
  49. package/dist/{models-cli-IPj8YpFi.js → models-cli-trgrhp5d.js} +5 -5
  50. package/dist/{onboard-DxD7tZro.js → onboard-2UCdDScQ.js} +2 -2
  51. package/dist/{onboard-D3RCwOQV.js → onboard-BLaF7s8_.js} +2 -2
  52. package/dist/{onboard-channels-C9yhPSG7.js → onboard-channels-jMIN_VEb.js} +1 -1
  53. package/dist/{onboard-channels-DjyTcloL.js → onboard-channels-puKAWnzj.js} +1 -1
  54. package/dist/{onboarding-BT5x19Ld.js → onboarding-Buq2k7LQ.js} +3 -3
  55. package/dist/{onboarding-3Zmxzq_U.js → onboarding-HqJ5qUk9.js} +3 -3
  56. package/dist/{onboarding.finalize-Di8oo0E9.js → onboarding.finalize-B_n1Ng2R.js} +8 -8
  57. package/dist/{onboarding.finalize-DYIUxpai.js → onboarding.finalize-CDNE7OaF.js} +9 -9
  58. package/dist/{pi-embedded-DiktDTAb.js → pi-embedded-D9KmgdGY.js} +99 -5
  59. package/dist/{plugin-registry-Dv9QEb6z.js → plugin-registry-B33lS3i0.js} +1 -1
  60. package/dist/{plugin-registry-DSVGT3l_.js → plugin-registry-DzQCMRvf.js} +1 -1
  61. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  62. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  63. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  64. package/dist/plugin-sdk/{active-listener-BtNt_ynZ.js → active-listener-BaxIPBYG.js} +1 -1
  65. package/dist/plugin-sdk/{agent-scope-RSN8nr_m.js → agent-scope-BREbt-rZ.js} +2 -2
  66. package/dist/plugin-sdk/agents/model-aware-stream.d.ts +21 -0
  67. package/dist/plugin-sdk/{audio-preflight-Cl6PVUW_.js → audio-preflight-D9L7twa5.js} +24 -24
  68. package/dist/plugin-sdk/{bindings-DhPQDTtp.js → bindings-Da0i5ERM.js} +2 -2
  69. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  70. package/dist/plugin-sdk/{channel-web-CQucEpek.js → channel-web-C8ezEiP7.js} +22 -22
  71. package/dist/plugin-sdk/{chrome-CrHP4JAa.js → chrome-BWTwV7zX.js} +3 -3
  72. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  73. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  74. package/dist/plugin-sdk/{commands-registry-BMqWVyks.js → commands-registry-Du2NjN4l.js} +4 -4
  75. package/dist/plugin-sdk/{config-Bv0LE_Mp.js → config-gBtOrR8U.js} +9 -9
  76. package/dist/plugin-sdk/{consolidate-BieO-_k_.js → consolidate-DHzE-Epp.js} +2 -2
  77. package/dist/plugin-sdk/{deliver-lElKpUWY.js → deliver-DnGDY8HE.js} +9 -9
  78. package/dist/plugin-sdk/{diagnostic-fnIb_o_V.js → diagnostic-Jo7QixCi.js} +1 -1
  79. package/dist/plugin-sdk/{gemini-auth-BJBLsO9s.js → gemini-auth-tw0x8cTJ.js} +1 -1
  80. package/dist/plugin-sdk/{image-Br537YWQ.js → image-B5JkxaYD.js} +4 -4
  81. package/dist/plugin-sdk/{image-ops-C_3iBQe1.js → image-ops-DZ8OTT0B.js} +1 -1
  82. package/dist/plugin-sdk/index.js +54 -54
  83. package/dist/plugin-sdk/{ir-DrnNua4p.js → ir-DfsDN6C5.js} +4 -4
  84. package/dist/plugin-sdk/{local-roots-8f4AroIC.js → local-roots-CxzyCF23.js} +3 -3
  85. package/dist/plugin-sdk/{login-BqGhBXI8.js → login-CiJUA7rI.js} +7 -7
  86. package/dist/plugin-sdk/{login-qr-mWNNbk2o.js → login-qr-DOY_pSMD.js} +9 -9
  87. package/dist/plugin-sdk/{manager-DMMQnz2r.js → manager-DfIw_nTh.js} +9 -9
  88. package/dist/plugin-sdk/{manifest-registry-hy3Bn-r9.js → manifest-registry-BRx4JDK0.js} +1 -1
  89. package/dist/plugin-sdk/{markdown-tables-ivSTmsOn.js → markdown-tables-BBiVsk1q.js} +1 -1
  90. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  91. package/dist/plugin-sdk/{model-selection-B-K2B0xR.js → model-selection-DSYL4oYC.js} +4 -4
  92. package/dist/plugin-sdk/{outbound-CgeYMV-m.js → outbound-0mkEeuuS.js} +7 -7
  93. package/dist/plugin-sdk/{outbound-attachment-qB-kgb_3.js → outbound-attachment-V-8HPvXC.js} +2 -2
  94. package/dist/plugin-sdk/{pi-auth-json-BMKHahdN.js → pi-auth-json-7_Iwu6Aw.js} +1 -1
  95. package/dist/plugin-sdk/{pi-embedded-helpers-DLlOikDI.js → pi-embedded-helpers-IgdlMVmo.js} +17 -17
  96. package/dist/plugin-sdk/{plugins-muf5lfx-.js → plugins-DRWyzk5i.js} +4 -4
  97. package/dist/plugin-sdk/{pw-ai-Bo7ZVnlF.js → pw-ai-Ch5O4KwP.js} +8 -8
  98. package/dist/plugin-sdk/{qmd-manager-Chj9aSN5.js → qmd-manager-BvQckdNY.js} +4 -4
  99. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  100. package/dist/plugin-sdk/{replies-CuNUVXBG.js → replies-D5beVE9J.js} +3 -3
  101. package/dist/plugin-sdk/{reply-prefix-CDeu1pum.js → reply-prefix-BKFQ9roP.js} +1 -1
  102. package/dist/plugin-sdk/{resolve-outbound-target-BkHNUpdB.js → resolve-outbound-target-BHmUS6gT.js} +2 -2
  103. package/dist/plugin-sdk/{resolve-route-kXW9e3Go.js → resolve-route-B34r6gNi.js} +3 -3
  104. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  105. package/dist/plugin-sdk/{runner-NZmejDHd.js → runner-BbSYOhWN.js} +9 -9
  106. package/dist/plugin-sdk/{send-CNkol_HZ.js → send-BG9dfcnW.js} +10 -10
  107. package/dist/plugin-sdk/{send-v8Nttqd6.js → send-BkajF0QS.js} +7 -7
  108. package/dist/plugin-sdk/{send-BE1OwwUT.js → send-BrFerfxu.js} +6 -6
  109. package/dist/plugin-sdk/{send-CKznEmCe.js → send-CYozWNvy.js} +6 -6
  110. package/dist/plugin-sdk/{send-CNHhzZOb.js → send-v1NlN5gT.js} +10 -10
  111. package/dist/plugin-sdk/{session-DMulfRcG.js → session-Cs-mNH2L.js} +4 -4
  112. package/dist/plugin-sdk/{skill-commands-HLp_gCNJ.js → skill-commands-7-2Ap-qA.js} +5 -5
  113. package/dist/plugin-sdk/{skills-ksP6m2tL.js → skills-BDwS4XUE.js} +7 -7
  114. package/dist/plugin-sdk/{sqlite-BflKfcLD.js → sqlite-DLwYpBWC.js} +1 -1
  115. package/dist/plugin-sdk/{store-uf7TpQm3.js → store-Dt1oCaOn.js} +2 -2
  116. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  117. package/dist/plugin-sdk/{synthesis-B3oSNA87.js → synthesis-D3NFc3n3.js} +49 -49
  118. package/dist/plugin-sdk/{tables-DE2W8BrP.js → tables-MCQfYFPK.js} +1 -1
  119. package/dist/plugin-sdk/{target-errors-Dqf_-SRz.js → target-errors-BGT90lj4.js} +2 -2
  120. package/dist/plugin-sdk/{thinking-Bq90REOa.js → thinking-qM2Kzm92.js} +5 -5
  121. package/dist/plugin-sdk/{tokens-D-HI9PZG.js → tokens-CVWPo-HD.js} +1 -1
  122. package/dist/plugin-sdk/{tool-images-DAXbRHJ1.js → tool-images-DvOrYSAO.js} +2 -2
  123. package/dist/plugin-sdk/{tool-loop-detection-DseOlBug.js → tool-loop-detection-gmtzSlNZ.js} +2 -2
  124. package/dist/plugin-sdk/{unified-runner-DPD66ppH.js → unified-runner-BnOMNrBG.js} +172 -78
  125. package/dist/plugin-sdk/web-pXmkwCgo.js +66 -0
  126. package/dist/plugin-sdk/{whatsapp-actions-BXONjmN2.js → whatsapp-actions-00m45Zqm.js} +21 -21
  127. package/dist/{plugins-cli-BKE00xaA.js → plugins-cli-BH-dPouA.js} +4 -4
  128. package/dist/{plugins-cli-Cudgx5xM.js → plugins-cli-D7SeopUy.js} +4 -4
  129. package/dist/{program-D6GycU7K.js → program-CWtqcl5o.js} +9 -9
  130. package/dist/{program-context-DUf2HkNT.js → program-context-C_BCGX6e.js} +18 -18
  131. package/dist/{prompt-select-styled-9fffbtA8.js → prompt-select-styled-DZLfB9dr.js} +6 -6
  132. package/dist/{prompt-select-styled-MZgg9luq.js → prompt-select-styled-DmA5bdHo.js} +6 -6
  133. package/dist/{provider-auth-helpers-CbjDDek6.js → provider-auth-helpers-Brx0zsB4.js} +1 -1
  134. package/dist/{provider-auth-helpers-CH_rD9Ck.js → provider-auth-helpers-Df50nCNL.js} +1 -1
  135. package/dist/{push-apns-D2xhFnz-.js → push-apns-CXP9q39j.js} +1 -1
  136. package/dist/{push-apns-zIsKDi4p.js → push-apns-jE3kPG6g.js} +1 -1
  137. package/dist/{register.agent-BkQdGAxf.js → register.agent-DGwbPjex.js} +7 -7
  138. package/dist/{register.agent-CR1I0Nxi.js → register.agent-DzQtVgfQ.js} +8 -8
  139. package/dist/{register.configure-CIbNs3Ys.js → register.configure-B56gsKYf.js} +9 -9
  140. package/dist/{register.configure-O5fmbHql.js → register.configure-BQ1gQQOO.js} +9 -9
  141. package/dist/{register.maintenance-BjE-lDkf.js → register.maintenance-B12lwewm.js} +10 -10
  142. package/dist/{register.maintenance-B6o6Fdf-.js → register.maintenance-DXD1xP8H.js} +11 -11
  143. package/dist/{register.message-DkZC56-E.js → register.message--QXkhXHQ.js} +4 -4
  144. package/dist/{register.message-CPV6KKj_.js → register.message-xW7Gic5V.js} +4 -4
  145. package/dist/{register.onboard-DB0X3H1H.js → register.onboard-CWycJIUS.js} +7 -7
  146. package/dist/{register.onboard-DPUx5H9I.js → register.onboard-CqP2iJit.js} +7 -7
  147. package/dist/{register.setup-BHGui0h8.js → register.setup-B33Xl3Vr.js} +7 -7
  148. package/dist/{register.setup-BdfIHr44.js → register.setup-COjF7Ffj.js} +7 -7
  149. package/dist/{register.status-health-sessions-CAr_-YOR.js → register.status-health-sessions-BGA-7IT8.js} +6 -6
  150. package/dist/{register.status-health-sessions-Bx_x7PLI.js → register.status-health-sessions-CsjDghzj.js} +6 -6
  151. package/dist/{register.subclis-Bd9G7Uhk.js → register.subclis-Bzag-xbt.js} +9 -9
  152. package/dist/{run-main-DINwkweo.js → run-main-BPMrQvz2.js} +17 -17
  153. package/dist/{server-methods-D_HpHoWo.js → server-methods-C72ajlYe.js} +9 -9
  154. package/dist/{server-methods-BBiqjTnY.js → server-methods-C_TFp6B4.js} +9 -9
  155. package/dist/{server-node-events-D33Ivpdb.js → server-node-events-BTuwCzuB.js} +4 -4
  156. package/dist/{server-node-events-BBcYbve5.js → server-node-events-Cn5abeER.js} +4 -4
  157. package/dist/{status-CdRoRdX8.js → status-C5RXDLjI.js} +1 -1
  158. package/dist/{status-Do0t7I6P.js → status-CrxGjZwV.js} +3 -3
  159. package/dist/{status-B5SAsM15.js → status-CvJZLdWA.js} +1 -1
  160. package/dist/{status-E8bxgRbF.js → status-DIGJ8-hp.js} +3 -3
  161. package/dist/{subagent-registry-B4gg8TFc.js → subagent-registry-k0ZBnJuU.js} +98 -4
  162. package/dist/{synthesis-BzXl3DdN.js → synthesis-C-rsRpDw.js} +2 -2
  163. package/dist/{synthesis-BuXEOM51.js → synthesis-C3AKD3Nb.js} +2 -2
  164. package/dist/{synthesis-CmoAF3Ks.js → synthesis-D4qwtCYE.js} +3 -3
  165. package/dist/{synthesis-Camc_uQg.js → synthesis-cor0WJGI.js} +3 -3
  166. package/dist/{unified-runner-NjwIEpGt.js → unified-runner-CzxCpDUC.js} +98 -4
  167. package/dist/{unified-runner-Bvqbwaaa.js → unified-runner-Dv9LPnmm.js} +99 -5
  168. package/dist/{update-cli-DT51XdLt.js → update-cli-CEhf4IFG.js} +11 -11
  169. package/dist/{update-cli-BmxN561H.js → update-cli-uwOyL4_F.js} +10 -10
  170. package/dist/{update-runner-BSHkPRya.js → update-runner-BSDKsvVP.js} +1 -1
  171. package/dist/{update-runner-DObjNXP5.js → update-runner-Bcmd0XnZ.js} +1 -1
  172. package/dist/{web-CWFF4V6q.js → web-CSPcQYqR.js} +2 -2
  173. package/dist/{web-DMJyGxn3.js → web-D9-D09LS.js} +4 -4
  174. package/dist/{web-DNwg0ZOA.js → web-DJqpgWuK.js} +5 -5
  175. package/dist/{web-BPiGXIj5.js → web-gqbdxJga.js} +2 -2
  176. package/extensions/bluebubbles/package.json +1 -1
  177. package/extensions/copilot-proxy/package.json +1 -1
  178. package/extensions/diagnostics-otel/package.json +1 -1
  179. package/extensions/discord/package.json +1 -1
  180. package/extensions/feishu/package.json +1 -1
  181. package/extensions/google-antigravity-auth/package.json +1 -1
  182. package/extensions/google-gemini-cli-auth/package.json +1 -1
  183. package/extensions/googlechat/package.json +1 -1
  184. package/extensions/imessage/package.json +1 -1
  185. package/extensions/irc/package.json +1 -1
  186. package/extensions/learning-loop/package.json +1 -1
  187. package/extensions/line/package.json +1 -1
  188. package/extensions/llm-task/package.json +1 -1
  189. package/extensions/matrix/CHANGELOG.md +12 -0
  190. package/extensions/matrix/package.json +1 -1
  191. package/extensions/mattermost/package.json +1 -1
  192. package/extensions/memory-core/package.json +1 -1
  193. package/extensions/memory-lancedb/package.json +1 -1
  194. package/extensions/minimax-portal-auth/package.json +1 -1
  195. package/extensions/msteams/CHANGELOG.md +12 -0
  196. package/extensions/msteams/package.json +1 -1
  197. package/extensions/nextcloud-talk/package.json +1 -1
  198. package/extensions/nostr/CHANGELOG.md +12 -0
  199. package/extensions/nostr/package.json +1 -1
  200. package/extensions/open-prose/package.json +1 -1
  201. package/extensions/outlook/package.json +1 -1
  202. package/extensions/pipeline/package.json +1 -1
  203. package/extensions/signal/package.json +1 -1
  204. package/extensions/slack/package.json +1 -1
  205. package/extensions/telegram/package.json +1 -1
  206. package/extensions/tlon/package.json +1 -1
  207. package/extensions/twitch/CHANGELOG.md +12 -0
  208. package/extensions/twitch/package.json +1 -1
  209. package/extensions/voice-call/CHANGELOG.md +12 -0
  210. package/extensions/voice-call/package.json +1 -1
  211. package/extensions/whatsapp/package.json +1 -1
  212. package/extensions/zalo/CHANGELOG.md +12 -0
  213. package/extensions/zalo/package.json +1 -1
  214. package/extensions/zalouser/CHANGELOG.md +12 -0
  215. package/extensions/zalouser/package.json +1 -1
  216. package/package.json +1 -1
  217. package/dist/plugin-sdk/web-O8zxjM0h.js +0 -66
@@ -1,6 +1,6 @@
1
1
  import "./paths-DR2yt_mP.js";
2
- import { H as isPlainObject } from "./registry--_pGht6S.js";
3
- import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
2
+ import { H as isPlainObject } from "./registry-D0xTnUWt.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
4
4
  import { createHash } from "node:crypto";
5
5
 
6
6
  //#region src/agents/tool-loop-detection.ts
@@ -1,73 +1,73 @@
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-muf5lfx-.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-DRWyzk5i.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-CNkol_HZ.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-Bv0LE_Mp.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 { $ as resolveShellEnvFallbackTimeoutMs, A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_CONTEXT_TOKENS, K as normalizeSecretInput, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, Z as getShellPathFromLoginShell, 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 resolveAuthProfileDisplayLabel, 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-B-K2B0xR.js";
16
- import { A as logWarn, C as resolveSymiPackageRootSync, D as logDebug, E as spawnWithFallback, O as logError, S as resolveSymiPackageRoot, T as runExec, a as resolveAgentSkillsFilter, b as filterBootstrapFilesForSession, c as resolveEffectiveModelFallbacks, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelPrimary, k as logInfo, l as resolveSessionAgentId, m as DEFAULT_IDENTITY_FILENAME, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveDefaultAgentId, t as listAgentIds, u as resolveSessionAgentIds, w as runCommandWithTimeout, x as loadWorkspaceBootstrapFiles, y as ensureAgentWorkspace } from "./agent-scope-RSN8nr_m.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-hy3Bn-r9.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-BG9dfcnW.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-gBtOrR8U.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 { $ as resolveShellEnvFallbackTimeoutMs, A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_CONTEXT_TOKENS, K as normalizeSecretInput, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, Z as getShellPathFromLoginShell, 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 resolveAuthProfileDisplayLabel, 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-DSYL4oYC.js";
16
+ import { A as logWarn, C as resolveSymiPackageRootSync, D as logDebug, E as spawnWithFallback, O as logError, S as resolveSymiPackageRoot, T as runExec, a as resolveAgentSkillsFilter, b as filterBootstrapFilesForSession, c as resolveEffectiveModelFallbacks, f as DEFAULT_AGENT_WORKSPACE_DIR, i as resolveAgentModelPrimary, k as logInfo, l as resolveSessionAgentId, m as DEFAULT_IDENTITY_FILENAME, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveDefaultAgentId, t as listAgentIds, u as resolveSessionAgentIds, w as runCommandWithTimeout, x as loadWorkspaceBootstrapFiles, y as ensureAgentWorkspace } from "./agent-scope-BREbt-rZ.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-BRx4JDK0.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, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C_3iBQe1.js";
21
+ import { c as detectMime, d as imageMimeFromFormat, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DZ8OTT0B.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-8f4AroIC.js";
24
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DrnNua4p.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-CxzyCF23.js";
24
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DfsDN6C5.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-ivSTmsOn.js";
29
- import { t as convertMarkdownTables } from "./tables-DE2W8BrP.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-v8Nttqd6.js";
31
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DAXbRHJ1.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-Dqf_-SRz.js";
33
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-CKznEmCe.js";
34
- import { $ as parseTelegramTarget, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as addChannelAllowFromStoreEntry, H as firstDefined$1, I as resolveTelegramReplyId, J as removeChannelAllowFromStoreEntry, K as readChannelAllowFromStore, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as isVoiceCompatibleAudio, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as getPairingAdapter, Y as upsertChannelPairingRequest, Z as listPairingChannels, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CNHhzZOb.js";
35
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as modelSupportsVision, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as registerUnhandledRejectionHandler, y as buildRandomTempFilePath } from "./runner-NZmejDHd.js";
36
- import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-CDeu1pum.js";
37
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-D-HI9PZG.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-HLp_gCNJ.js";
39
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-ksP6m2tL.js";
40
- import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-CrHP4JAa.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-Bq90REOa.js";
42
- import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
43
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BToL3HlP.js";
44
- import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-lElKpUWY.js";
45
- import { $ as stripPluginOnlyAllowlist, A as parseImageDimensionError, At as INPUT_PROVENANCE_KIND_VALUES, B as DEFAULT_UPLOAD_DIR, Bt as resolveSessionResetType, C as isFailoverAssistantError, Ct as normalizeDeliveryContext, D as isRawApiErrorPayload, Dt as capArrayByJsonBytes, E as isRateLimitAssistantError, Et as archiveSessionTranscripts, F as resolveSandboxRuntimeStatus, Ft as resolveSessionLockMaxHoldFromTimeout, G as applyOwnerOnlyToolPolicy, Gt as resolveExplicitAgentSessionKey, H as getBridgeAuthForPort, Ht as DEFAULT_RESET_TRIGGERS, I as createBrowserRouteContext, It as resolveSessionKey, J as expandPolicyWithPluginGroups, Jt as resolveGroupSessionKey, K as buildPluginToolGroups, Kt as resolveMainSessionKey, L as registerBrowserRoutes, Lt as evaluateSessionFreshness, M as sanitizeUserFacingText, Mt as hasInterSessionUserProvenance, N as ensureSandboxWorkspaceForSession, Nt as normalizeInputProvenance, O as isTimeoutErrorMessage, Ot as countToolResults, P as resolveSandboxContext, Pt as acquireSessionWriteLock, Q as resolveToolProfilePolicy, R as resolveBrowserConfig, Rt as resolveChannelResetConfig, S as isContextOverflowError, St as mergeDeliveryContext, T as isLikelyContextOverflowError, Tt as normalizeAccountId$3, U as ensureBrowserControlAuth, Ut as resolveFreshSessionTotalTokens, V as resolveExistingPathsWithinRoot, Vt as resolveThreadFlag, W as resolveBrowserControlAuth, Wt as canonicalizeMainSessionAlias, X as mergeAlsoAllowPolicy, Y as expandToolGroups, Z as normalizeToolName, _ as getApiErrorPayloadFingerprint, _t as updateSessionStoreEntry, a as normalizeTextForComparison, at as resolveBootstrapTotalMaxChars, b as isCloudCodeAssistFormatError, bt as deliveryContextFromSession, c as extractToolResultId, ct as parseSessionThreadInfo, d as isGoogleModelApi, dt as resolveAndPersistSessionFile, et as compileGlobPatterns, f as BILLING_ERROR_USER_MESSAGE, ft as loadSessionStore, g as formatRawAssistantErrorForUi, gt as updateSessionStore, h as formatBillingErrorMessage, ht as updateLastRoute, i as isMessagingToolDuplicateNormalized, it as resolveBootstrapMaxChars, j as parseImageSizeError, jt as applyInputProvenanceToUserMessage, k as isTransientHttpError, kt as extractToolCallNames, l as downgradeOpenAIReasoningBlocks, lt as appendAssistantMessageToSessionTranscript, m as formatAssistantErrorText, mt as recordSessionMetaFromInbound, n as validateGeminiTurns, nt as buildBootstrapContextFiles, o as sanitizeSessionMessagesImages, ot as sanitizeGoogleTurnOrdering, p as classifyFailoverReason, pt as readSessionUpdatedAt, q as collectExplicitAllowlist, qt as deriveSessionMetaPatch, r as pickFallbackThinkingLevel, rt as ensureSessionHeader, s as extractToolCallsFromAssistant, st as extractDeliveryInfo, t as validateAnthropicTurns, tt as matchesAnyGlobPattern, u as isAntigravityClaude, v as isAuthAssistantError, vt as isCacheEnabled, w as isFailoverErrorMessage, wt as normalizeSessionDeliveryFields, x as isCompactionFailureError, xt as deliveryContextKey, y as isBillingAssistantError, yt as resolveCacheTtlMs$1, z as resolveProfile, zt as resolveSessionResetPolicy } from "./pi-embedded-helpers-DLlOikDI.js";
28
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BBiVsk1q.js";
29
+ import { t as convertMarkdownTables } from "./tables-MCQfYFPK.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-BkajF0QS.js";
31
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DvOrYSAO.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-BGT90lj4.js";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-CYozWNvy.js";
34
+ import { $ as parseTelegramTarget, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as addChannelAllowFromStoreEntry, H as firstDefined$1, I as resolveTelegramReplyId, J as removeChannelAllowFromStoreEntry, K as readChannelAllowFromStore, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as isVoiceCompatibleAudio, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as getPairingAdapter, Y as upsertChannelPairingRequest, Z as listPairingChannels, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-v1NlN5gT.js";
35
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as modelSupportsVision, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as registerUnhandledRejectionHandler, y as buildRandomTempFilePath } from "./runner-BbSYOhWN.js";
36
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BKFQ9roP.js";
37
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CVWPo-HD.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-7-2Ap-qA.js";
39
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BDwS4XUE.js";
40
+ import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-BWTwV7zX.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-qM2Kzm92.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 { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-DnGDY8HE.js";
45
+ import { $ as stripPluginOnlyAllowlist, A as parseImageDimensionError, At as INPUT_PROVENANCE_KIND_VALUES, B as DEFAULT_UPLOAD_DIR, Bt as resolveSessionResetType, C as isFailoverAssistantError, Ct as normalizeDeliveryContext, D as isRawApiErrorPayload, Dt as capArrayByJsonBytes, E as isRateLimitAssistantError, Et as archiveSessionTranscripts, F as resolveSandboxRuntimeStatus, Ft as resolveSessionLockMaxHoldFromTimeout, G as applyOwnerOnlyToolPolicy, Gt as resolveExplicitAgentSessionKey, H as getBridgeAuthForPort, Ht as DEFAULT_RESET_TRIGGERS, I as createBrowserRouteContext, It as resolveSessionKey, J as expandPolicyWithPluginGroups, Jt as resolveGroupSessionKey, K as buildPluginToolGroups, Kt as resolveMainSessionKey, L as registerBrowserRoutes, Lt as evaluateSessionFreshness, M as sanitizeUserFacingText, Mt as hasInterSessionUserProvenance, N as ensureSandboxWorkspaceForSession, Nt as normalizeInputProvenance, O as isTimeoutErrorMessage, Ot as countToolResults, P as resolveSandboxContext, Pt as acquireSessionWriteLock, Q as resolveToolProfilePolicy, R as resolveBrowserConfig, Rt as resolveChannelResetConfig, S as isContextOverflowError, St as mergeDeliveryContext, T as isLikelyContextOverflowError, Tt as normalizeAccountId$3, U as ensureBrowserControlAuth, Ut as resolveFreshSessionTotalTokens, V as resolveExistingPathsWithinRoot, Vt as resolveThreadFlag, W as resolveBrowserControlAuth, Wt as canonicalizeMainSessionAlias, X as mergeAlsoAllowPolicy, Y as expandToolGroups, Z as normalizeToolName, _ as getApiErrorPayloadFingerprint, _t as updateSessionStoreEntry, a as normalizeTextForComparison, at as resolveBootstrapTotalMaxChars, b as isCloudCodeAssistFormatError, bt as deliveryContextFromSession, c as extractToolResultId, ct as parseSessionThreadInfo, d as isGoogleModelApi, dt as resolveAndPersistSessionFile, et as compileGlobPatterns, f as BILLING_ERROR_USER_MESSAGE, ft as loadSessionStore, g as formatRawAssistantErrorForUi, gt as updateSessionStore, h as formatBillingErrorMessage, ht as updateLastRoute, i as isMessagingToolDuplicateNormalized, it as resolveBootstrapMaxChars, j as parseImageSizeError, jt as applyInputProvenanceToUserMessage, k as isTransientHttpError, kt as extractToolCallNames, l as downgradeOpenAIReasoningBlocks, lt as appendAssistantMessageToSessionTranscript, m as formatAssistantErrorText, mt as recordSessionMetaFromInbound, n as validateGeminiTurns, nt as buildBootstrapContextFiles, o as sanitizeSessionMessagesImages, ot as sanitizeGoogleTurnOrdering, p as classifyFailoverReason, pt as readSessionUpdatedAt, q as collectExplicitAllowlist, qt as deriveSessionMetaPatch, r as pickFallbackThinkingLevel, rt as ensureSessionHeader, s as extractToolCallsFromAssistant, st as extractDeliveryInfo, t as validateAnthropicTurns, tt as matchesAnyGlobPattern, u as isAntigravityClaude, v as isAuthAssistantError, vt as isCacheEnabled, w as isFailoverErrorMessage, wt as normalizeSessionDeliveryFields, x as isCompactionFailureError, xt as deliveryContextKey, y as isBillingAssistantError, yt as resolveCacheTtlMs$1, z as resolveProfile, zt as resolveSessionResetPolicy } from "./pi-embedded-helpers-IgdlMVmo.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, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-fnIb_o_V.js";
50
- import { i as saveMediaBuffer, r as getMediaDir } from "./store-uf7TpQm3.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, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-Jo7QixCi.js";
50
+ import { i as saveMediaBuffer, r as getMediaDir } from "./store-Dt1oCaOn.js";
51
51
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DnkpMfCl.js";
52
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-Br537YWQ.js";
53
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BMKHahdN.js";
52
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-B5JkxaYD.js";
53
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-7_Iwu6Aw.js";
54
54
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Cdz3tuFk.js";
55
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-DMMQnz2r.js";
55
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-DfIw_nTh.js";
56
56
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-BpFmQTvo.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-BMqWVyks.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-Du2NjN4l.js";
58
58
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-5H7RKVif.js";
59
59
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CA97QrJY.js";
60
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BE1OwwUT.js";
61
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-kXW9e3Go.js";
60
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BrFerfxu.js";
61
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-B34r6gNi.js";
62
62
  import { t as makeProxyFetch } from "./proxy-DAnyKGG4.js";
63
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CuNUVXBG.js";
64
- import { t as getActiveWebListener } from "./active-listener-BtNt_ynZ.js";
63
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-D5beVE9J.js";
64
+ import { t as getActiveWebListener } from "./active-listener-BaxIPBYG.js";
65
65
  import { createRequire } from "node:module";
66
66
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
67
67
  import * as path$1 from "node:path";
68
68
  import path from "node:path";
69
69
  import os, { homedir } from "node:os";
70
- import json5 from "json5";
70
+ import JSON5 from "json5";
71
71
  import { ApplicationCommandOptionType, ButtonStyle, ChannelType, PermissionFlagsBits, Routes, StickerFormatType } from "discord-api-types/v10";
72
72
  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";
73
73
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
@@ -9616,7 +9616,7 @@ async function getMemorySearchManager(params) {
9616
9616
  if (cached) return { manager: cached };
9617
9617
  }
9618
9618
  try {
9619
- const { QmdMemoryManager } = await import("./qmd-manager-Chj9aSN5.js");
9619
+ const { QmdMemoryManager } = await import("./qmd-manager-BvQckdNY.js");
9620
9620
  const primary = await QmdMemoryManager.create({
9621
9621
  cfg: params.cfg,
9622
9622
  agentId: params.agentId,
@@ -9628,7 +9628,7 @@ async function getMemorySearchManager(params) {
9628
9628
  const wrapper = new FallbackMemoryManager({
9629
9629
  primary,
9630
9630
  fallbackFactory: async () => {
9631
- const { MemoryIndexManager } = await import("./manager-DMMQnz2r.js").then((n) => n.t);
9631
+ const { MemoryIndexManager } = await import("./manager-DfIw_nTh.js").then((n) => n.t);
9632
9632
  return await MemoryIndexManager.get(params);
9633
9633
  }
9634
9634
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -9641,7 +9641,7 @@ async function getMemorySearchManager(params) {
9641
9641
  }
9642
9642
  }
9643
9643
  try {
9644
- const { MemoryIndexManager } = await import("./manager-DMMQnz2r.js").then((n) => n.t);
9644
+ const { MemoryIndexManager } = await import("./manager-DfIw_nTh.js").then((n) => n.t);
9645
9645
  return { manager: await MemoryIndexManager.get(params) };
9646
9646
  } catch (err) {
9647
9647
  return {
@@ -12511,6 +12511,11 @@ function buildAgentSystemPrompt(params) {
12511
12511
  "- Never narrate or quote tool output you did not actually receive from a real tool result. Writing \"I ran X and got Y\" without a corresponding tool invocation is fabrication and breaks user trust.",
12512
12512
  "- For factual local-system lookups (hostname, file contents, process state, env vars, current dir, system info), the answer comes from invoking the appropriate tool — not from priors. Always invoke.",
12513
12513
  "",
12514
+ "Example — when the user explicitly names a tool:",
12515
+ " User: \"Use the exec tool to run: echo hi\"",
12516
+ " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
12517
+ " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
12518
+ "",
12514
12519
  ...compactMode ? [] : [
12515
12520
  "## Tool Call Style",
12516
12521
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -12759,7 +12764,7 @@ async function recordLoopOutcome(args) {
12759
12764
  if (!args.ctx?.sessionKey) return;
12760
12765
  try {
12761
12766
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
12762
- const { recordToolCallOutcome } = await import("./tool-loop-detection-DseOlBug.js");
12767
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-gmtzSlNZ.js");
12763
12768
  recordToolCallOutcome(getDiagnosticSessionState({
12764
12769
  sessionKey: args.ctx.sessionKey,
12765
12770
  sessionId: args.ctx?.agentId
@@ -12780,8 +12785,8 @@ async function runBeforeToolCallHook(args) {
12780
12785
  const params = args.params;
12781
12786
  if (args.ctx?.sessionKey) {
12782
12787
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
12783
- const { logToolLoopAction } = await import("./diagnostic-fnIb_o_V.js").then((n) => n.n);
12784
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DseOlBug.js");
12788
+ const { logToolLoopAction } = await import("./diagnostic-Jo7QixCi.js").then((n) => n.n);
12789
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-gmtzSlNZ.js");
12785
12790
  const sessionState = getDiagnosticSessionState({
12786
12791
  sessionKey: args.ctx.sessionKey,
12787
12792
  sessionId: args.ctx?.agentId
@@ -13880,7 +13885,7 @@ async function routeReply(params) {
13880
13885
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
13881
13886
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
13882
13887
  try {
13883
- const { deliverOutboundPayloads } = await import("./deliver-lElKpUWY.js").then((n) => n.n);
13888
+ const { deliverOutboundPayloads } = await import("./deliver-DnGDY8HE.js").then((n) => n.n);
13884
13889
  return {
13885
13890
  ok: true,
13886
13891
  messageId: (await deliverOutboundPayloads({
@@ -14062,7 +14067,7 @@ function normalizeSessionKey(value) {
14062
14067
  function readSessionStore(storePath) {
14063
14068
  try {
14064
14069
  const raw = fs.readFileSync(storePath, "utf-8");
14065
- const parsed = json5.parse(raw);
14070
+ const parsed = JSON5.parse(raw);
14066
14071
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
14067
14072
  } catch {}
14068
14073
  return {};
@@ -19778,7 +19783,7 @@ async function createModelSelectionState(params) {
19778
19783
  }
19779
19784
  }
19780
19785
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
19781
- const { ensureAuthProfileStore } = await import("./model-selection-B-K2B0xR.js").then((n) => n.O);
19786
+ const { ensureAuthProfileStore } = await import("./model-selection-DSYL4oYC.js").then((n) => n.O);
19782
19787
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
19783
19788
  const providerKey = normalizeProviderId(provider);
19784
19789
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -43290,7 +43295,7 @@ async function deliverSessionMaintenanceWarning(params) {
43290
43295
  return;
43291
43296
  }
43292
43297
  try {
43293
- const { deliverOutboundPayloads } = await import("./deliver-lElKpUWY.js").then((n) => n.n);
43298
+ const { deliverOutboundPayloads } = await import("./deliver-DnGDY8HE.js").then((n) => n.n);
43294
43299
  await deliverOutboundPayloads({
43295
43300
  cfg: params.cfg,
43296
43301
  channel,
@@ -47368,7 +47373,7 @@ async function describeStickerImage(params) {
47368
47373
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47369
47374
  try {
47370
47375
  const buffer = await fs$1.readFile(imagePath);
47371
- const { describeImageWithModel } = await import("./image-Br537YWQ.js").then((n) => n.n);
47376
+ const { describeImageWithModel } = await import("./image-B5JkxaYD.js").then((n) => n.n);
47372
47377
  return (await describeImageWithModel({
47373
47378
  buffer,
47374
47379
  fileName: "sticker.webp",
@@ -47779,7 +47784,7 @@ function createWhatsAppLoginTool() {
47779
47784
  force: Type.Optional(Type.Boolean())
47780
47785
  }),
47781
47786
  execute: async (_toolCallId, args) => {
47782
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-mWNNbk2o.js");
47787
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DOY_pSMD.js");
47783
47788
  if ((args?.action ?? "start") === "wait") {
47784
47789
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
47785
47790
  return {
@@ -49892,7 +49897,7 @@ async function preflightDiscordMessage(params) {
49892
49897
  let preflightTranscript;
49893
49898
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49894
49899
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49895
- const { transcribeFirstAudio } = await import("./audio-preflight-Cl6PVUW_.js");
49900
+ const { transcribeFirstAudio } = await import("./audio-preflight-D9L7twa5.js");
49896
49901
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49897
49902
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49898
49903
  ctx: {
@@ -54617,27 +54622,27 @@ function setCliSessionId(entry, provider, sessionId) {
54617
54622
  function createDefaultDeps() {
54618
54623
  return {
54619
54624
  sendMessageWhatsApp: async (...args) => {
54620
- const { sendMessageWhatsApp } = await import("./web-O8zxjM0h.js");
54625
+ const { sendMessageWhatsApp } = await import("./web-pXmkwCgo.js");
54621
54626
  return await sendMessageWhatsApp(...args);
54622
54627
  },
54623
54628
  sendMessageTelegram: async (...args) => {
54624
- const { sendMessageTelegram } = await import("./send-CNHhzZOb.js").then((n) => n.l);
54629
+ const { sendMessageTelegram } = await import("./send-v1NlN5gT.js").then((n) => n.l);
54625
54630
  return await sendMessageTelegram(...args);
54626
54631
  },
54627
54632
  sendMessageDiscord: async (...args) => {
54628
- const { sendMessageDiscord } = await import("./send-CNkol_HZ.js").then((n) => n.t);
54633
+ const { sendMessageDiscord } = await import("./send-BG9dfcnW.js").then((n) => n.t);
54629
54634
  return await sendMessageDiscord(...args);
54630
54635
  },
54631
54636
  sendMessageSlack: async (...args) => {
54632
- const { sendMessageSlack } = await import("./send-CKznEmCe.js").then((n) => n.n);
54637
+ const { sendMessageSlack } = await import("./send-CYozWNvy.js").then((n) => n.n);
54633
54638
  return await sendMessageSlack(...args);
54634
54639
  },
54635
54640
  sendMessageSignal: async (...args) => {
54636
- const { sendMessageSignal } = await import("./send-BE1OwwUT.js").then((n) => n.i);
54641
+ const { sendMessageSignal } = await import("./send-BrFerfxu.js").then((n) => n.i);
54637
54642
  return await sendMessageSignal(...args);
54638
54643
  },
54639
54644
  sendMessageIMessage: async (...args) => {
54640
- const { sendMessageIMessage } = await import("./send-v8Nttqd6.js").then((n) => n.n);
54645
+ const { sendMessageIMessage } = await import("./send-BkajF0QS.js").then((n) => n.n);
54641
54646
  return await sendMessageIMessage(...args);
54642
54647
  }
54643
54648
  };
@@ -64455,7 +64460,7 @@ function readSlackExternalArgMenuToken(raw) {
64455
64460
  }
64456
64461
  let commandsRegistry;
64457
64462
  async function getCommandsRegistry() {
64458
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BMqWVyks.js").then((n) => n.n);
64463
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Du2NjN4l.js").then((n) => n.n);
64459
64464
  return commandsRegistry;
64460
64465
  }
64461
64466
  function encodeSlackCommandArgValue(parts) {
@@ -64797,11 +64802,11 @@ async function registerSlackMonitorSlashCommands(params) {
64797
64802
  const channelName = channelInfo?.name;
64798
64803
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
64799
64804
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
64800
- import("./resolve-route-kXW9e3Go.js").then((n) => n.r),
64805
+ import("./resolve-route-B34r6gNi.js").then((n) => n.r),
64801
64806
  import("./inbound-context-5H7RKVif.js").then((n) => n.n),
64802
64807
  Promise.resolve().then(() => provider_dispatcher_exports)
64803
64808
  ]);
64804
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-CDeu1pum.js").then((n) => n.r)]);
64809
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-yNSj43Jt.js").then((n) => n.t), import("./reply-prefix-BKFQ9roP.js").then((n) => n.r)]);
64805
64810
  const route = resolveAgentRoute({
64806
64811
  cfg,
64807
64812
  channel: "slack",
@@ -64858,9 +64863,9 @@ async function registerSlackMonitorSlashCommands(params) {
64858
64863
  });
64859
64864
  const deliverSlashPayloads = async (replies) => {
64860
64865
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64861
- import("./replies-CuNUVXBG.js").then((n) => n.r),
64862
- import("./chunk-jvk9axTQ.js").then((n) => n.s),
64863
- import("./markdown-tables-ivSTmsOn.js").then((n) => n.t)
64866
+ import("./replies-D5beVE9J.js").then((n) => n.r),
64867
+ import("./chunk-Dw2XBYXv.js").then((n) => n.s),
64868
+ import("./markdown-tables-BBiVsk1q.js").then((n) => n.t)
64864
64869
  ]);
64865
64870
  await deliverSlackSlashReplies({
64866
64871
  replies,
@@ -64913,7 +64918,7 @@ async function registerSlackMonitorSlashCommands(params) {
64913
64918
  let nativeCommands = [];
64914
64919
  if (nativeEnabled) {
64915
64920
  reg = await getCommandsRegistry();
64916
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-HLp_gCNJ.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64921
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-7-2Ap-qA.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64917
64922
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
64918
64923
  skillCommands,
64919
64924
  provider: "slack"
@@ -67131,7 +67136,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
67131
67136
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
67132
67137
  let preflightTranscript;
67133
67138
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
67134
- const { transcribeFirstAudio } = await import("./audio-preflight-Cl6PVUW_.js");
67139
+ const { transcribeFirstAudio } = await import("./audio-preflight-D9L7twa5.js");
67135
67140
  preflightTranscript = await transcribeFirstAudio({
67136
67141
  ctx: {
67137
67142
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69276,23 +69281,23 @@ let webLoginQrPromise = null;
69276
69281
  let webChannelPromise = null;
69277
69282
  let whatsappActionsPromise = null;
69278
69283
  function loadWebOutbound() {
69279
- webOutboundPromise ??= import("./outbound-CgeYMV-m.js").then((n) => n.t);
69284
+ webOutboundPromise ??= import("./outbound-0mkEeuuS.js").then((n) => n.t);
69280
69285
  return webOutboundPromise;
69281
69286
  }
69282
69287
  function loadWebLogin() {
69283
- webLoginPromise ??= import("./login-BqGhBXI8.js").then((n) => n.n);
69288
+ webLoginPromise ??= import("./login-CiJUA7rI.js").then((n) => n.n);
69284
69289
  return webLoginPromise;
69285
69290
  }
69286
69291
  function loadWebLoginQr() {
69287
- webLoginQrPromise ??= import("./login-qr-mWNNbk2o.js");
69292
+ webLoginQrPromise ??= import("./login-qr-DOY_pSMD.js");
69288
69293
  return webLoginQrPromise;
69289
69294
  }
69290
69295
  function loadWebChannel() {
69291
- webChannelPromise ??= import("./web-O8zxjM0h.js");
69296
+ webChannelPromise ??= import("./web-pXmkwCgo.js");
69292
69297
  return webChannelPromise;
69293
69298
  }
69294
69299
  function loadWhatsAppActions() {
69295
- whatsappActionsPromise ??= import("./whatsapp-actions-BXONjmN2.js");
69300
+ whatsappActionsPromise ??= import("./whatsapp-actions-00m45Zqm.js");
69296
69301
  return whatsappActionsPromise;
69297
69302
  }
69298
69303
  function createPluginRuntime() {
@@ -73998,6 +74003,91 @@ function createOutputNormalizer(profile, modelId) {
73998
74003
  //#endregion
73999
74004
  //#region src/agents/model-aware-stream.ts
74000
74005
  /**
74006
+ * Match imperative tool requests:
74007
+ * "Use the exec tool to run X"
74008
+ * "use exec to ..."
74009
+ * "Please invoke the read tool"
74010
+ * "call memory_search with ..."
74011
+ *
74012
+ * Anchored to start-of-string, start-of-line, or after a closing-bracket
74013
+ * delimiter `] ` (covers Symi's `[Thu 2026-04-30 20:48 EDT] ` timestamp
74014
+ * envelope, the `[Outlook 365] ` plugin banner, and similar prefixes that
74015
+ * gateway middleware can inject before the user's actual prompt — verified
74016
+ * live: `chat.send` from Glass UI ships content like
74017
+ *
74018
+ * Conversation info (untrusted metadata):
74019
+ * ```json
74020
+ * { "message_id": "...", ... }
74021
+ * ```
74022
+ *
74023
+ * [Thu 2026-04-30 20:48 EDT] Use the exec tool to run: hostname
74024
+ *
74025
+ * so the `Use` is preceded by `] ` not by `\n` or `^`).
74026
+ *
74027
+ * Verb list is conservative (use/invoke/call/please-{use,call}) — pure
74028
+ * imperative verbs that read unambiguously as "do this for me." Tool name
74029
+ * must match EXPLICIT_TOOL_NAMES exactly to keep "use poetic language" /
74030
+ * "use clear writing" / etc. from triggering.
74031
+ */
74032
+ const EXPLICIT_TOOL_REQUEST_PATTERN = new RegExp(String.raw`(?:^|\n|\]\s)\s*(?:please\s+)?(?:use|invoke|call)\s+(?:the\s+)?(?:` + [
74033
+ "exec",
74034
+ "bash",
74035
+ "read",
74036
+ "write",
74037
+ "edit",
74038
+ "patch",
74039
+ "web_search",
74040
+ "web_fetch",
74041
+ "browser",
74042
+ "browser_navigate",
74043
+ "browser_snapshot",
74044
+ "browser_click",
74045
+ "browser_type",
74046
+ "memory_search",
74047
+ "memory_get",
74048
+ "memory_pin",
74049
+ "memory_unpin",
74050
+ "spawn_agent",
74051
+ "message",
74052
+ "task_list",
74053
+ "task_cancel",
74054
+ "cron",
74055
+ "fetch",
74056
+ "skill_search"
74057
+ ].map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|") + String.raw`)(?:\s+tool)?\b`, "i");
74058
+ /**
74059
+ * Extract the user-role text ONLY when it's the LAST message in the
74060
+ * conversation (i.e., we're at the start of a fresh turn, not in the
74061
+ * middle of an agent loop). Returns "" when:
74062
+ * - messages isn't an array
74063
+ * - the last message isn't user-role (= we're after a tool_call /
74064
+ * tool_result and the model is continuing — forcing tool_choice
74065
+ * "required" here would loop the agent: model must call a tool →
74066
+ * tool result → model must call ANOTHER tool → tool result → ...)
74067
+ *
74068
+ * Verified live on 3.0.7 dev: with the original "find any prior user
74069
+ * message" implementation, every agent-loop iteration saw the same
74070
+ * matching userText and re-forced tool_choice="required", spinning the
74071
+ * model in an infinite tool-call loop and timing out at 180s.
74072
+ */
74073
+ function extractLastUserText(messages) {
74074
+ if (!Array.isArray(messages) || messages.length === 0) return "";
74075
+ const last = messages[messages.length - 1];
74076
+ if (!last || typeof last !== "object") return "";
74077
+ const msg = last;
74078
+ if (msg.role !== "user") return "";
74079
+ if (typeof msg.content === "string") return msg.content;
74080
+ if (Array.isArray(msg.content)) {
74081
+ const parts = [];
74082
+ for (const part of msg.content) if (part && typeof part === "object") {
74083
+ const block = part;
74084
+ if (block.type === "text" && typeof block.text === "string") parts.push(block.text);
74085
+ }
74086
+ return parts.join("\n");
74087
+ }
74088
+ return "";
74089
+ }
74090
+ /**
74001
74091
  * Create a single stream function wrapper that handles all provider-specific
74002
74092
  * param injection via one onPayload hook.
74003
74093
  *
@@ -74045,6 +74135,10 @@ function createModelAwareStreamFn(opts) {
74045
74135
  delete p.store;
74046
74136
  }
74047
74137
  if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === void 0) p.tool_choice = "auto";
74138
+ if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === "auto") {
74139
+ const userText = extractLastUserText(p.messages);
74140
+ if (userText && EXPLICIT_TOOL_REQUEST_PATTERN.test(userText)) p.tool_choice = "required";
74141
+ }
74048
74142
  }
74049
74143
  callerOnPayload?.(payload);
74050
74144
  };
@@ -0,0 +1,66 @@
1
+ import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-Ddm33hQm.js";
2
+ import "./unified-runner-BnOMNrBG.js";
3
+ import "./paths-DR2yt_mP.js";
4
+ import "./github-copilot-token-D9X2phUj.js";
5
+ import "./plugins-DRWyzk5i.js";
6
+ import "./fetch-CUNoPTKm.js";
7
+ import "./registry-D0xTnUWt.js";
8
+ import "./retry-CwQ_iIj8.js";
9
+ import "./send-BG9dfcnW.js";
10
+ import "./config-gBtOrR8U.js";
11
+ import "./subsystem-B2uDN3TV.js";
12
+ import "./command-format-GKSevep4.js";
13
+ import "./model-selection-DSYL4oYC.js";
14
+ import "./agent-scope-BREbt-rZ.js";
15
+ import "./manifest-registry-BRx4JDK0.js";
16
+ import "./redact-DPnDWsnT.js";
17
+ import "./errors-Bv8oZiTO.js";
18
+ import "./channel-activity-DoC1xtDu.js";
19
+ import "./image-ops-DZ8OTT0B.js";
20
+ import "./ssrf-DKZ8eBrk.js";
21
+ import "./local-roots-CxzyCF23.js";
22
+ import "./ir-DfsDN6C5.js";
23
+ import "./chunk-Dw2XBYXv.js";
24
+ import "./message-channel-COTAJzHd.js";
25
+ import "./bindings-Da0i5ERM.js";
26
+ import "./markdown-tables-BBiVsk1q.js";
27
+ import "./render-BiJZ5W4Z.js";
28
+ import "./tables-MCQfYFPK.js";
29
+ import "./send-BkajF0QS.js";
30
+ import "./tool-images-DvOrYSAO.js";
31
+ import "./target-errors-BGT90lj4.js";
32
+ import "./send-CYozWNvy.js";
33
+ import "./send-v1NlN5gT.js";
34
+ import "./runner-BbSYOhWN.js";
35
+ import "./reply-prefix-BKFQ9roP.js";
36
+ import "./tokens-CVWPo-HD.js";
37
+ import "./skill-commands-7-2Ap-qA.js";
38
+ import "./skills-BDwS4XUE.js";
39
+ import "./chrome-BWTwV7zX.js";
40
+ import "./thinking-qM2Kzm92.js";
41
+ import "./accounts-s-AdhXVR.js";
42
+ import "./accounts-BtaOa4z_.js";
43
+ import "./deliver-DnGDY8HE.js";
44
+ import "./pi-embedded-helpers-IgdlMVmo.js";
45
+ import "./paths-A0xdf3yk.js";
46
+ import "./diagnostic-Jo7QixCi.js";
47
+ import "./store-Dt1oCaOn.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-C8ezEiP7.js";
49
+ import "./diagnostic-session-state-DnkpMfCl.js";
50
+ import "./image-B5JkxaYD.js";
51
+ import "./pi-auth-json-7_Iwu6Aw.js";
52
+ import "./pi-model-discovery-Cdz3tuFk.js";
53
+ import "./manager-DfIw_nTh.js";
54
+ import "./gemini-auth-tw0x8cTJ.js";
55
+ import "./sqlite-DLwYpBWC.js";
56
+ import "./commands-registry-Du2NjN4l.js";
57
+ import "./send-BrFerfxu.js";
58
+ import "./outbound-attachment-V-8HPvXC.js";
59
+ import "./resolve-route-B34r6gNi.js";
60
+ import "./proxy-DAnyKGG4.js";
61
+ import "./replies-D5beVE9J.js";
62
+ import { n as sendMessageWhatsApp } from "./outbound-0mkEeuuS.js";
63
+ import { i as waitForWaConnection, t as createWaSocket } from "./session-Cs-mNH2L.js";
64
+ import { t as loginWeb } from "./login-CiJUA7rI.js";
65
+
66
+ export { WA_WEB_AUTH_DIR, createWaSocket, logWebSelfId, loginWeb, monitorWebChannel, monitorWebInbox, pickWebChannel, sendMessageWhatsApp, waitForWaConnection, webAuthExists };