@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,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as resolveAgentConfig } from "./agent-scope-CYYpcO9W.js";
2
+ import { n as resolveAgentConfig } from "./agent-scope-C3gMMKCU.js";
3
3
 
4
4
  //#region src/agents/identity.ts
5
5
  const DEFAULT_ACK_REACTION = "👀";
@@ -1,5 +1,5 @@
1
- import { _ as normalizeWhatsAppTarget, g as isWhatsAppGroupJid } from "./plugins-BNByVCIH.js";
2
- import { n as missingTargetError } from "./target-errors-Paro1BjP.js";
1
+ import { _ as normalizeWhatsAppTarget, g as isWhatsAppGroupJid } from "./plugins-BbAvhC25.js";
2
+ import { n as missingTargetError } from "./target-errors-B7YyMnIi.js";
3
3
 
4
4
  //#region src/whatsapp/resolve-outbound-target.ts
5
5
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, n as DEFAULT_MAIN_KEY, p as normalizeAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-C_0eELjb.js";
3
- import { Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
4
- import { O as logDebug, c as resolveDefaultAgentId } from "./agent-scope-CYYpcO9W.js";
3
+ import { Y as shouldLogVerbose } from "./registry--_pGht6S.js";
4
+ import { O as logDebug, c as resolveDefaultAgentId } from "./agent-scope-C3gMMKCU.js";
5
5
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
6
- import { t as listBindings } from "./bindings-C7hRtgYW.js";
6
+ import { t as listBindings } from "./bindings-BbwoUGPx.js";
7
7
 
8
8
  //#region src/routing/resolve-route.ts
9
9
  var resolve_route_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { R as sleep } from "./registry-D0xTnUWt.js";
1
+ import { R as sleep } from "./registry--_pGht6S.js";
2
2
 
3
3
  //#region src/infra/retry.ts
4
4
  const DEFAULT_RETRY_CONFIG = {
@@ -1,13 +1,13 @@
1
1
  import { n as fetchWithTimeout } from "./fetch-timeout-ChYuW7LE.js";
2
- import { K as logVerbose, Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
3
- import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-KlTNfkFF.js";
4
- import { B as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalizeProviderId, h as normalizeGoogleModelId, w as requireApiKey } from "./model-selection-CsbEfrS0.js";
5
- import { E as runExec } from "./agent-scope-CYYpcO9W.js";
6
- import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-BlQR__MN.js";
7
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-BHLNSI8U.js";
2
+ import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
3
+ import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-DDkdiUOR.js";
4
+ import { B as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalizeProviderId, h as normalizeGoogleModelId, w as requireApiKey } from "./model-selection-OpU8HN50.js";
5
+ import { E as runExec } from "./agent-scope-C3gMMKCU.js";
6
+ import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-Bnp6LXEx.js";
7
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-Ckk1QfzI.js";
8
8
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
9
- import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-CLOPx7yW.js";
10
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-D_sMvI5W.js";
9
+ import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-BOYy0Ump.js";
10
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CVBMpnPc.js";
11
11
  import { constants } from "node:fs";
12
12
  import path from "node:path";
13
13
  import os from "node:os";
@@ -899,7 +899,7 @@ async function loadModelCatalog(params) {
899
899
  });
900
900
  try {
901
901
  await ensureSymiModelsJson(params?.config ?? loadConfig());
902
- await (await import("./pi-auth-json-qWi7ZIYV.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
902
+ await (await import("./pi-auth-json-CJk8t14T.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
903
903
  const piSdk = await importPiSdk();
904
904
  const agentDir = resolveSymiAgentDir();
905
905
  const { join } = await import("node:path");
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { A as normalizeE164, P as resolveUserPath } from "./registry-D0xTnUWt.js";
3
- import { n as loadConfig } from "./config-KlTNfkFF.js";
4
- import { v as mediaKindFromMime } from "./image-ops-BlQR__MN.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
6
- import { t as convertMarkdownTables } from "./tables-DNwXwNFa.js";
7
- import { r as resolveIMessageAccount } from "./accounts-s-AdhXVR.js";
8
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CnslKL38.js";
2
+ import { A as normalizeE164, P as resolveUserPath } from "./registry--_pGht6S.js";
3
+ import { n as loadConfig } from "./config-DDkdiUOR.js";
4
+ import { v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
6
+ import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
7
+ import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
8
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DnVQfTG2.js";
9
9
  import { spawn } from "node:child_process";
10
10
  import { createInterface } from "node:readline";
11
11
 
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { n as fetchWithTimeout } from "./fetch-timeout-ChYuW7LE.js";
3
3
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
4
- import { n as loadConfig } from "./config-KlTNfkFF.js";
5
- import { v as mediaKindFromMime } from "./image-ops-BlQR__MN.js";
6
- import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-BJ6BHE5b.js";
7
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
8
- import { i as resolveSignalAccount } from "./accounts-BtaOa4z_.js";
9
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CnslKL38.js";
4
+ import { n as loadConfig } from "./config-DDkdiUOR.js";
5
+ import { v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
6
+ import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
7
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
8
+ import { i as resolveSignalAccount } from "./accounts-BToL3HlP.js";
9
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DnVQfTG2.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/signal/client.ts
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { A as resolveSlackBotToken, D as resolveSlackAccount, m as parseSlackTarget } from "./plugins-BNByVCIH.js";
3
- import { K as logVerbose } from "./registry-D0xTnUWt.js";
4
- import { n as loadConfig } from "./config-KlTNfkFF.js";
5
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-BJ6BHE5b.js";
6
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-Dw2XBYXv.js";
7
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
2
+ import { A as resolveSlackBotToken, D as resolveSlackAccount, m as parseSlackTarget } from "./plugins-BbAvhC25.js";
3
+ import { K as logVerbose } from "./registry--_pGht6S.js";
4
+ import { n as loadConfig } from "./config-DDkdiUOR.js";
5
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
6
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-jvk9axTQ.js";
7
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
8
8
  import { t as renderMarkdownWithMarkers } from "./render-BiJZ5W4Z.js";
9
9
  import { WebClient } from "@slack/web-api";
10
10
 
@@ -1,16 +1,16 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { B as parseTargetPrefixes, F as resolveDiscordAccount, I as normalizeDiscordToken, L as buildMessagingTarget, R as ensureTargetId, V as requireTargetKind, z as parseTargetMention } from "./plugins-BNByVCIH.js";
2
+ import { B as parseTargetPrefixes, F as resolveDiscordAccount, I as normalizeDiscordToken, L as buildMessagingTarget, R as ensureTargetId, V as requireTargetKind, z as parseTargetMention } from "./plugins-BbAvhC25.js";
3
3
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
4
- import { ut as resolvePreferredSymiTmpDir } from "./registry-D0xTnUWt.js";
5
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-CwQ_iIj8.js";
6
- import { n as loadConfig } from "./config-KlTNfkFF.js";
7
- import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-DoC1xtDu.js";
4
+ import { ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
5
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-ilSJqnz9.js";
6
+ import { n as loadConfig } from "./config-DDkdiUOR.js";
7
+ import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-Ji7f0gqq.js";
8
8
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-3WJMd-G-.js";
9
- import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-BlQR__MN.js";
10
- import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-BJ6BHE5b.js";
11
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-Dw2XBYXv.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
13
- import { t as convertMarkdownTables } from "./tables-DNwXwNFa.js";
9
+ import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-Bnp6LXEx.js";
10
+ import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-Fb3qpcis.js";
11
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-jvk9axTQ.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
13
+ import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
14
14
  import path from "node:path";
15
15
  import { ButtonStyle, ChannelType, MessageFlags, PermissionFlagsBits, Routes, TextInputStyle } from "discord-api-types/v10";
16
16
  import { Button, ChannelSelectMenu, CheckboxGroup, Container, Embed, File, Label, LinkButton, MediaGallery, MentionableSelectMenu, Modal, RadioGroup, RequestClient, RoleSelectMenu, Row, Section, Separator, StringSelectMenu, TextDisplay, TextInput, Thumbnail, UserSelectMenu, parseCustomId, serializePayload } from "@buape/carbon";
@@ -1,19 +1,19 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
3
- import { S as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BNByVCIH.js";
3
+ import { S as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BbAvhC25.js";
4
4
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
5
- import { F as safeParseJson, K as logVerbose, U as danger } from "./registry-D0xTnUWt.js";
6
- import { n as loadConfig } from "./config-KlTNfkFF.js";
7
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
8
- import { r as isTruthyEnvValue } from "./command-format-GKSevep4.js";
9
- import { H as withFileLock$1 } from "./model-selection-CsbEfrS0.js";
5
+ import { F as safeParseJson, K as logVerbose, U as danger } from "./registry--_pGht6S.js";
6
+ import { n as loadConfig } from "./config-DDkdiUOR.js";
7
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
8
+ import { r as isTruthyEnvValue } from "./command-format-DSdvQ_M5.js";
9
+ import { H as withFileLock$1 } from "./model-selection-OpU8HN50.js";
10
10
  import { t as redactSensitiveText } from "./redact-DPnDWsnT.js";
11
11
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Bv8oZiTO.js";
12
- import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-DoC1xtDu.js";
12
+ import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-Ji7f0gqq.js";
13
13
  import { n as normalizePollInput } from "./polls-3WJMd-G-.js";
14
- import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-BlQR__MN.js";
15
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-BJ6BHE5b.js";
16
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BoYFajMu.js";
14
+ import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
15
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
16
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
17
17
  import { t as renderMarkdownWithMarkers } from "./render-BiJZ5W4Z.js";
18
18
  import { t as makeProxyFetch } from "./proxy-MquBDehr.js";
19
19
  import fs from "node:fs";
@@ -1,7 +1,7 @@
1
- import { d as readCredsJsonRaw, h as resolveWebCredsPath, l as maybeRestoreCredsFromBackup, m as resolveWebCredsBackupPath, p as resolveDefaultWebAuthDir } from "./accounts-Ddm33hQm.js";
2
- import { P as resolveUserPath, U as danger, X as success, at as toPinoLikeLogger, tt as getChildLogger, w as ensureDir } from "./registry-D0xTnUWt.js";
3
- import { Z as VERSION } from "./config-KlTNfkFF.js";
4
- import { t as formatCliCommand } from "./command-format-GKSevep4.js";
1
+ import { d as readCredsJsonRaw, h as resolveWebCredsPath, l as maybeRestoreCredsFromBackup, m as resolveWebCredsBackupPath, p as resolveDefaultWebAuthDir } from "./accounts-D9zGZU5t.js";
2
+ import { P as resolveUserPath, U as danger, X as success, at as toPinoLikeLogger, tt as getChildLogger, w as ensureDir } from "./registry--_pGht6S.js";
3
+ import { Z as VERSION } from "./config-DDkdiUOR.js";
4
+ import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
5
5
  import fs from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { s as resolveStateDir } from "./paths-DR2yt_mP.js";
3
- import { P as resolveUserPath, b as CONFIG_DIR } from "./registry-D0xTnUWt.js";
4
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
5
- import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-CYYpcO9W.js";
6
- import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-_yTP47Cd.js";
7
- import { i as listChatCommands } from "./commands-registry-COIaslGl.js";
3
+ import { P as resolveUserPath, b as CONFIG_DIR } from "./registry--_pGht6S.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
5
+ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-C3gMMKCU.js";
6
+ import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-B1GeRYlu.js";
7
+ import { i as listChatCommands } from "./commands-registry-CQFbmUMs.js";
8
8
  import fs from "node:fs";
9
9
  import path from "node:path";
10
10
  import os from "node:os";
@@ -1,12 +1,12 @@
1
- import { P as resolveUserPath, b as CONFIG_DIR } from "./registry-D0xTnUWt.js";
2
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
3
- import { i as parseBooleanValue } from "./command-format-GKSevep4.js";
4
- import { M as normalizeSkillFilter, w as resolveSymiPackageRootSync } from "./agent-scope-CYYpcO9W.js";
5
- import { a as LEGACY_MANIFEST_KEYS, c as normalizePluginsConfig, l as resolveEnableState, o as MANIFEST_KEY, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CPnHl_K3.js";
1
+ import { P as resolveUserPath, b as CONFIG_DIR } from "./registry--_pGht6S.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
3
+ import { i as parseBooleanValue } from "./command-format-DSdvQ_M5.js";
4
+ import { M as normalizeSkillFilter, w as resolveSymiPackageRootSync } from "./agent-scope-C3gMMKCU.js";
5
+ import { a as LEGACY_MANIFEST_KEYS, c as normalizePluginsConfig, l as resolveEnableState, o as MANIFEST_KEY, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-B3ugY9-f.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import os from "node:os";
9
- import JSON5 from "json5";
9
+ import json5 from "json5";
10
10
  import { createHash, timingSafeEqual } from "node:crypto";
11
11
  import fs$1 from "node:fs/promises";
12
12
  import { fileURLToPath } from "node:url";
@@ -226,7 +226,7 @@ function resolveSymiManifestBlock(params) {
226
226
  const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
227
227
  if (!raw) return;
228
228
  try {
229
- const parsed = JSON5.parse(raw);
229
+ const parsed = json5.parse(raw);
230
230
  if (!parsed || typeof parsed !== "object") return;
231
231
  const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
232
232
  for (const key of manifestKeys) {
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
2
2
  import { t as redactSensitiveText } from "./redact-DPnDWsnT.js";
3
3
  import { o as resolveSessionTranscriptsDirForAgent } from "./paths-A0xdf3yk.js";
4
4
  import { createRequire } from "node:module";
@@ -1,5 +1,5 @@
1
- import { M as resolveConfigDir } from "./registry-D0xTnUWt.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-BlQR__MN.js";
1
+ import { M as resolveConfigDir } from "./registry--_pGht6S.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-Bnp6LXEx.js";
3
3
  import { createWriteStream } from "node:fs";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
@@ -1,4 +1,4 @@
1
- import { G as isVerbose, ct as normalizeLogLevel, lt as readLoggingConfig, n as CHAT_CHANNEL_ORDER, ot as loggingState, rt as isFileLogLevelEnabled, st as levelToMinLevel, tt as getChildLogger } from "./registry-D0xTnUWt.js";
1
+ import { G as isVerbose, ct as normalizeLogLevel, lt as readLoggingConfig, n as CHAT_CHANNEL_ORDER, ot as loggingState, rt as isFileLogLevelEnabled, st as levelToMinLevel, tt as getChildLogger } from "./registry--_pGht6S.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-BJ6BHE5b.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-Fb3qpcis.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-BiJZ5W4Z.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,5 +1,5 @@
1
- import { c as detectMime } from "./image-ops-BlQR__MN.js";
2
- import { r as sanitizeToolResultImages } from "./tool-images-HJ2sfZDV.js";
1
+ import { c as detectMime } from "./image-ops-Bnp6LXEx.js";
2
+ import { r as sanitizeToolResultImages } from "./tool-images-D7Lno-TE.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
@@ -1,9 +1,9 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { r as resolveWhatsAppAccount } from "./accounts-Ddm33hQm.js";
3
- import { D as resolveSlackAccount, F as resolveDiscordAccount, O as resolveSlackReplyToMode, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget } from "./plugins-BNByVCIH.js";
4
- import { A as normalizeE164, T as escapeRegExp, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-D0xTnUWt.js";
5
- import { r as resolveIMessageAccount } from "./accounts-s-AdhXVR.js";
6
- import { i as resolveSignalAccount } from "./accounts-BtaOa4z_.js";
2
+ import { r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
+ import { D as resolveSlackAccount, F as resolveDiscordAccount, O as resolveSlackReplyToMode, S as resolveTelegramAccount, _ as normalizeWhatsAppTarget } from "./plugins-BbAvhC25.js";
4
+ import { A as normalizeE164, T as escapeRegExp, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry--_pGht6S.js";
5
+ import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
6
+ import { i as resolveSignalAccount } from "./accounts-BToL3HlP.js";
7
7
 
8
8
  //#region src/config/group-policy.ts
9
9
  function resolveChannelGroupConfig(groups, groupId, caseInsensitive = false) {
@@ -1,4 +1,4 @@
1
- import { T as escapeRegExp } from "./registry-D0xTnUWt.js";
1
+ import { T as escapeRegExp } from "./registry--_pGht6S.js";
2
2
 
3
3
  //#region src/auto-reply/tokens.ts
4
4
  const SYMIPULSE_TOKEN = "SYMIPULSE_OK";
@@ -1,5 +1,5 @@
1
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
2
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BlQR__MN.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
2
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-Bnp6LXEx.js";
3
3
 
4
4
  //#region src/agents/image-sanitization.ts
5
5
  const DEFAULT_IMAGE_MAX_DIMENSION_PX = 1200;
@@ -1,6 +1,6 @@
1
1
  import "./paths-DR2yt_mP.js";
2
- import { H as isPlainObject } from "./registry-D0xTnUWt.js";
3
- import { t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
2
+ import { H as isPlainObject } from "./registry--_pGht6S.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
4
4
  import { createHash } from "node:crypto";
5
5
 
6
6
  //#region src/agents/tool-loop-detection.ts
@@ -9,6 +9,8 @@ const TOOL_CALL_HISTORY_SIZE = 30;
9
9
  const WARNING_THRESHOLD = 10;
10
10
  const CRITICAL_THRESHOLD = 20;
11
11
  const GLOBAL_CIRCUIT_BREAKER_THRESHOLD = 30;
12
+ const CONSECUTIVE_FAILURE_WARNING_THRESHOLD = 3;
13
+ const CONSECUTIVE_FAILURE_CRITICAL_THRESHOLD = 5;
12
14
  const DEFAULT_LOOP_DETECTION_CONFIG = {
13
15
  enabled: false,
14
16
  historySize: TOOL_CALL_HISTORY_SIZE,
@@ -18,8 +20,11 @@ const DEFAULT_LOOP_DETECTION_CONFIG = {
18
20
  detectors: {
19
21
  genericRepeat: true,
20
22
  knownPollNoProgress: true,
21
- pingPong: true
22
- }
23
+ pingPong: true,
24
+ consecutiveFailure: true
25
+ },
26
+ consecutiveFailureWarningThreshold: CONSECUTIVE_FAILURE_WARNING_THRESHOLD,
27
+ consecutiveFailureCriticalThreshold: CONSECUTIVE_FAILURE_CRITICAL_THRESHOLD
23
28
  };
24
29
  function asPositiveInt(value, fallback) {
25
30
  if (typeof value !== "number" || !Number.isInteger(value) || value <= 0) return fallback;
@@ -37,10 +42,13 @@ function resolveLoopDetectionConfig(config) {
37
42
  warningThreshold,
38
43
  criticalThreshold,
39
44
  globalCircuitBreakerThreshold,
45
+ consecutiveFailureWarningThreshold: asPositiveInt(config?.consecutiveFailureWarningThreshold, DEFAULT_LOOP_DETECTION_CONFIG.consecutiveFailureWarningThreshold),
46
+ consecutiveFailureCriticalThreshold: asPositiveInt(config?.consecutiveFailureCriticalThreshold, DEFAULT_LOOP_DETECTION_CONFIG.consecutiveFailureCriticalThreshold),
40
47
  detectors: {
41
48
  genericRepeat: config?.detectors?.genericRepeat ?? DEFAULT_LOOP_DETECTION_CONFIG.detectors.genericRepeat,
42
49
  knownPollNoProgress: config?.detectors?.knownPollNoProgress ?? DEFAULT_LOOP_DETECTION_CONFIG.detectors.knownPollNoProgress,
43
- pingPong: config?.detectors?.pingPong ?? DEFAULT_LOOP_DETECTION_CONFIG.detectors.pingPong
50
+ pingPong: config?.detectors?.pingPong ?? DEFAULT_LOOP_DETECTION_CONFIG.detectors.pingPong,
51
+ consecutiveFailure: (config?.detectors)?.consecutiveFailure ?? DEFAULT_LOOP_DETECTION_CONFIG.detectors.consecutiveFailure
44
52
  }
45
53
  };
46
54
  }
@@ -218,6 +226,22 @@ function canonicalPairKey(signatureA, signatureB) {
218
226
  return [signatureA, signatureB].toSorted().join("|");
219
227
  }
220
228
  /**
229
+ * Count consecutive error results for a specific tool, walking backward from
230
+ * the most recent call. A success or a call to a different tool resets the streak.
231
+ * Only counts entries that have been resolved (have a resultHash or isError flag).
232
+ */
233
+ function getConsecutiveFailureStreak(history, toolName) {
234
+ let count = 0;
235
+ for (let i = history.length - 1; i >= 0; i--) {
236
+ const entry = history[i];
237
+ if (entry.toolName !== toolName) break;
238
+ if (entry.resultHash === void 0 && entry.isError === void 0) break;
239
+ if (!entry.isError) break;
240
+ count++;
241
+ }
242
+ return count;
243
+ }
244
+ /**
221
245
  * Detect if an agent is stuck in a repetitive tool call loop.
222
246
  * Checks if the same tool+params combination has been called excessively.
223
247
  */
@@ -230,6 +254,31 @@ function detectToolCallLoop(state, toolName, params, config) {
230
254
  const noProgressStreak = noProgress.count;
231
255
  const knownPollTool = isKnownPollToolCall(toolName, params);
232
256
  const pingPong = getPingPongStreak(history, currentHash);
257
+ if (resolvedConfig.detectors.consecutiveFailure) {
258
+ const failureStreak = getConsecutiveFailureStreak(history, toolName);
259
+ if (failureStreak >= resolvedConfig.consecutiveFailureCriticalThreshold) {
260
+ log.error(`Consecutive failure circuit breaker: ${toolName} failed ${failureStreak} times in a row`);
261
+ return {
262
+ stuck: true,
263
+ level: "critical",
264
+ detector: "consecutive_failure",
265
+ count: failureStreak,
266
+ message: `CRITICAL: ${toolName} has failed ${failureStreak} consecutive times. Stop calling this tool. Explain to the user what you were trying to do and why it failed.`,
267
+ warningKey: `consecutive-failure:${toolName}`
268
+ };
269
+ }
270
+ if (failureStreak >= resolvedConfig.consecutiveFailureWarningThreshold) {
271
+ log.warn(`Consecutive failure warning: ${toolName} failed ${failureStreak} times in a row`);
272
+ return {
273
+ stuck: true,
274
+ level: "warning",
275
+ detector: "consecutive_failure",
276
+ count: failureStreak,
277
+ message: `WARNING: You have failed to call ${toolName} ${failureStreak} times consecutively. Stop retrying and explain to the user what you were trying to do. The tool arguments may contain invalid syntax from model control tokens.`,
278
+ warningKey: `consecutive-failure:${toolName}`
279
+ };
280
+ }
281
+ }
233
282
  if (noProgressStreak >= resolvedConfig.globalCircuitBreakerThreshold) {
234
283
  log.error(`Global circuit breaker triggered: ${toolName} repeated ${noProgressStreak} times with no progress`);
235
284
  return {
@@ -334,6 +383,7 @@ function recordToolCallOutcome(state, params) {
334
383
  if (call.toolName !== params.toolName || call.argsHash !== argsHash) continue;
335
384
  if (call.resultHash !== void 0) continue;
336
385
  call.resultHash = resultHash;
386
+ call.isError = params.error !== void 0;
337
387
  matched = true;
338
388
  break;
339
389
  }
@@ -0,0 +1,65 @@
1
+ import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
+ import "./reply-DvZeyOVA.js";
3
+ import "./paths-DR2yt_mP.js";
4
+ import "./github-copilot-token-D9X2phUj.js";
5
+ import "./plugins-BbAvhC25.js";
6
+ import "./fetch-CUNoPTKm.js";
7
+ import "./registry--_pGht6S.js";
8
+ import "./retry-ilSJqnz9.js";
9
+ import "./send-Bxdu6ZZy.js";
10
+ import "./config-DDkdiUOR.js";
11
+ import "./subsystem-Coz2AgU8.js";
12
+ import "./command-format-DSdvQ_M5.js";
13
+ import "./model-selection-OpU8HN50.js";
14
+ import "./agent-scope-C3gMMKCU.js";
15
+ import "./manifest-registry-B3ugY9-f.js";
16
+ import "./redact-DPnDWsnT.js";
17
+ import "./errors-Bv8oZiTO.js";
18
+ import "./channel-activity-Ji7f0gqq.js";
19
+ import "./image-ops-Bnp6LXEx.js";
20
+ import "./ssrf-DKZ8eBrk.js";
21
+ import "./local-roots-Ckk1QfzI.js";
22
+ import "./ir-Fb3qpcis.js";
23
+ import "./chunk-jvk9axTQ.js";
24
+ import "./message-channel-BdI5Ra9S.js";
25
+ import "./bindings-BbwoUGPx.js";
26
+ import "./markdown-tables-Dfaqilz6.js";
27
+ import "./render-BiJZ5W4Z.js";
28
+ import "./tables-DR0NmBeH.js";
29
+ import "./send-BHbXh8Ly.js";
30
+ import "./tool-images-D7Lno-TE.js";
31
+ import "./target-errors-B7YyMnIi.js";
32
+ import "./send-BtANzsAo.js";
33
+ import "./send-D6LMZJ_h.js";
34
+ import "./runner-BVqnEfNe.js";
35
+ import "./reply-prefix-BHuV5t70.js";
36
+ import "./tokens-CWMflosr.js";
37
+ import "./skill-commands-DCNXVERE.js";
38
+ import "./skills-B1GeRYlu.js";
39
+ import "./chrome-C7c_0I5M.js";
40
+ import "./thinking-DCNUIAHY.js";
41
+ import "./accounts-Dtszw3Zn.js";
42
+ import "./accounts-BToL3HlP.js";
43
+ import "./deliver-BZ6iNLl7.js";
44
+ import "./pi-embedded-helpers-BveUP4hk.js";
45
+ import "./paths-A0xdf3yk.js";
46
+ import "./diagnostic-mFf4i4G9.js";
47
+ import "./store-Do3t33-c.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DZQQ0mzN.js";
49
+ import "./image-BOYy0Ump.js";
50
+ import "./pi-model-discovery-LbcEa65a.js";
51
+ import "./api-key-rotation-CVBMpnPc.js";
52
+ import "./sqlite-Cq_7Cg4E.js";
53
+ import "./diagnostic-session-state-Wd5tNeQG.js";
54
+ import "./manager-DckktAQ3.js";
55
+ import "./commands-registry-CQFbmUMs.js";
56
+ import "./send-BMfJIhCk.js";
57
+ import "./proxy-MquBDehr.js";
58
+ import "./resolve-route-D3JH_D2N.js";
59
+ import "./replies-fI39rPGa.js";
60
+ import "./outbound-attachment-DnVQfTG2.js";
61
+ import { n as sendMessageWhatsApp } from "./outbound-rF6G8Xpr.js";
62
+ import { i as waitForWaConnection, t as createWaSocket } from "./session-kI0tzViQ.js";
63
+ import { t as loginWeb } from "./login-Bh3DZPam.js";
64
+
65
+ export { WA_WEB_AUTH_DIR, createWaSocket, logWebSelfId, loginWeb, monitorWebChannel, monitorWebInbox, pickWebChannel, sendMessageWhatsApp, waitForWaConnection, webAuthExists };
@@ -1,28 +1,28 @@
1
- import { r as resolveWhatsAppAccount } from "./accounts-Ddm33hQm.js";
1
+ import { r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
2
2
  import "./paths-DR2yt_mP.js";
3
3
  import "./github-copilot-token-D9X2phUj.js";
4
- import "./plugins-BNByVCIH.js";
5
- import "./registry-D0xTnUWt.js";
6
- import "./config-KlTNfkFF.js";
7
- import "./subsystem-B2uDN3TV.js";
8
- import "./command-format-GKSevep4.js";
9
- import "./model-selection-CsbEfrS0.js";
10
- import "./agent-scope-CYYpcO9W.js";
11
- import "./manifest-registry-CPnHl_K3.js";
12
- import "./image-ops-BlQR__MN.js";
4
+ import "./plugins-BbAvhC25.js";
5
+ import "./registry--_pGht6S.js";
6
+ import "./config-DDkdiUOR.js";
7
+ import "./subsystem-Coz2AgU8.js";
8
+ import "./command-format-DSdvQ_M5.js";
9
+ import "./model-selection-OpU8HN50.js";
10
+ import "./agent-scope-C3gMMKCU.js";
11
+ import "./manifest-registry-B3ugY9-f.js";
12
+ import "./image-ops-Bnp6LXEx.js";
13
13
  import "./ssrf-DKZ8eBrk.js";
14
- import "./local-roots-BHLNSI8U.js";
15
- import "./ir-BJ6BHE5b.js";
16
- import "./chunk-Dw2XBYXv.js";
17
- import "./message-channel-COTAJzHd.js";
18
- import "./bindings-C7hRtgYW.js";
19
- import "./markdown-tables-BoYFajMu.js";
14
+ import "./local-roots-Ckk1QfzI.js";
15
+ import "./ir-Fb3qpcis.js";
16
+ import "./chunk-jvk9axTQ.js";
17
+ import "./message-channel-BdI5Ra9S.js";
18
+ import "./bindings-BbwoUGPx.js";
19
+ import "./markdown-tables-Dfaqilz6.js";
20
20
  import "./render-BiJZ5W4Z.js";
21
- import "./tables-DNwXwNFa.js";
22
- import "./tool-images-HJ2sfZDV.js";
23
- import { a as createActionGate, c as jsonResult, d as readReactionParams, i as ToolAuthorizationError, m as readStringParam } from "./target-errors-Paro1BjP.js";
24
- import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BiyAyTWz.js";
25
- import { r as sendReactionWhatsApp } from "./outbound-B0e8KdaR.js";
21
+ import "./tables-DR0NmBeH.js";
22
+ import "./tool-images-D7Lno-TE.js";
23
+ import { a as createActionGate, c as jsonResult, d as readReactionParams, i as ToolAuthorizationError, m as readStringParam } from "./target-errors-B7YyMnIi.js";
24
+ import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
25
+ import { r as sendReactionWhatsApp } from "./outbound-rF6G8Xpr.js";
26
26
 
27
27
  //#region src/agents/tools/whatsapp-target-auth.ts
28
28
  function resolveAuthorizedWhatsAppOutboundTarget(params) {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-D40cmAci.js";
4
+ import "./reply-05js8eGB.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -106,7 +106,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
106
106
  import "./skill-scanner-CLs8u6vQ.js";
107
107
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-C1Cebk97.js";
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
- import { t as buildPluginStatusReport } from "./status-Kv_hsY8N.js";
109
+ import { t as buildPluginStatusReport } from "./status-BqQ9mm64.js";
110
110
  import { n as updateNpmInstalledPlugins } from "./update-rw7wJwHd.js";
111
111
  import fs from "node:fs";
112
112
  import os from "node:os";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-Cb5e_x99.js";
16
+ import "./subagent-registry-lbDgDwLy.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
102
102
  import "./skill-scanner-BGWOBqLY.js";
103
103
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
- import { t as buildPluginStatusReport } from "./status-BSMEjz4q.js";
105
+ import { t as buildPluginStatusReport } from "./status-CfYa1Q9K.js";
106
106
  import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
107
107
  import os from "node:os";
108
108
  import path from "node:path";