@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
@@ -54,8 +54,8 @@ import { A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as
54
54
  import { a as buildModelAliasLines, n as resolveModel } from "./model-DIO3dH08.js";
55
55
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CXXH7biP.js";
56
56
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DnXliXio.js";
57
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BFgNzW3D.js";
58
- import { i as resolveMemorySearchConfig } from "./manager-DdfJ-DW0.js";
57
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-LV7-59SK.js";
58
+ import { i as resolveMemorySearchConfig } from "./manager-_IXN4-V8.js";
59
59
  import { f as runTasksWithConcurrency } from "./internal-7ow_5D0m.js";
60
60
  import { n as retryAsync } from "./retry-DYICeae5.js";
61
61
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-T0R2wR5q.js";
@@ -6836,6 +6836,11 @@ function buildAgentSystemPrompt(params) {
6836
6836
  "- 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.",
6837
6837
  "- 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.",
6838
6838
  "",
6839
+ "Example — when the user explicitly names a tool:",
6840
+ " User: \"Use the exec tool to run: echo hi\"",
6841
+ " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
6842
+ " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
6843
+ "",
6839
6844
  ...compactMode ? [] : [
6840
6845
  "## Tool Call Style",
6841
6846
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -48486,7 +48491,7 @@ function setCliSessionId(entry, provider, sessionId) {
48486
48491
  function createDefaultDeps() {
48487
48492
  return {
48488
48493
  sendMessageWhatsApp: async (...args) => {
48489
- const { sendMessageWhatsApp } = await import("./web-DNwg0ZOA.js");
48494
+ const { sendMessageWhatsApp } = await import("./web-DJqpgWuK.js");
48490
48495
  return await sendMessageWhatsApp(...args);
48491
48496
  },
48492
48497
  sendMessageTelegram: async (...args) => {
@@ -63800,7 +63805,7 @@ function loadWebLoginQr() {
63800
63805
  return webLoginQrPromise;
63801
63806
  }
63802
63807
  function loadWebChannel() {
63803
- webChannelPromise ??= import("./web-DNwg0ZOA.js");
63808
+ webChannelPromise ??= import("./web-DJqpgWuK.js");
63804
63809
  return webChannelPromise;
63805
63810
  }
63806
63811
  function loadWhatsAppActions() {
@@ -68281,6 +68286,91 @@ function createOutputNormalizer(profile, modelId) {
68281
68286
  //#endregion
68282
68287
  //#region src/agents/model-aware-stream.ts
68283
68288
  /**
68289
+ * Match imperative tool requests:
68290
+ * "Use the exec tool to run X"
68291
+ * "use exec to ..."
68292
+ * "Please invoke the read tool"
68293
+ * "call memory_search with ..."
68294
+ *
68295
+ * Anchored to start-of-string, start-of-line, or after a closing-bracket
68296
+ * delimiter `] ` (covers Symi's `[Thu 2026-04-30 20:48 EDT] ` timestamp
68297
+ * envelope, the `[Outlook 365] ` plugin banner, and similar prefixes that
68298
+ * gateway middleware can inject before the user's actual prompt — verified
68299
+ * live: `chat.send` from Glass UI ships content like
68300
+ *
68301
+ * Conversation info (untrusted metadata):
68302
+ * ```json
68303
+ * { "message_id": "...", ... }
68304
+ * ```
68305
+ *
68306
+ * [Thu 2026-04-30 20:48 EDT] Use the exec tool to run: hostname
68307
+ *
68308
+ * so the `Use` is preceded by `] ` not by `\n` or `^`).
68309
+ *
68310
+ * Verb list is conservative (use/invoke/call/please-{use,call}) — pure
68311
+ * imperative verbs that read unambiguously as "do this for me." Tool name
68312
+ * must match EXPLICIT_TOOL_NAMES exactly to keep "use poetic language" /
68313
+ * "use clear writing" / etc. from triggering.
68314
+ */
68315
+ const EXPLICIT_TOOL_REQUEST_PATTERN = new RegExp(String.raw`(?:^|\n|\]\s)\s*(?:please\s+)?(?:use|invoke|call)\s+(?:the\s+)?(?:` + [
68316
+ "exec",
68317
+ "bash",
68318
+ "read",
68319
+ "write",
68320
+ "edit",
68321
+ "patch",
68322
+ "web_search",
68323
+ "web_fetch",
68324
+ "browser",
68325
+ "browser_navigate",
68326
+ "browser_snapshot",
68327
+ "browser_click",
68328
+ "browser_type",
68329
+ "memory_search",
68330
+ "memory_get",
68331
+ "memory_pin",
68332
+ "memory_unpin",
68333
+ "spawn_agent",
68334
+ "message",
68335
+ "task_list",
68336
+ "task_cancel",
68337
+ "cron",
68338
+ "fetch",
68339
+ "skill_search"
68340
+ ].map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|") + String.raw`)(?:\s+tool)?\b`, "i");
68341
+ /**
68342
+ * Extract the user-role text ONLY when it's the LAST message in the
68343
+ * conversation (i.e., we're at the start of a fresh turn, not in the
68344
+ * middle of an agent loop). Returns "" when:
68345
+ * - messages isn't an array
68346
+ * - the last message isn't user-role (= we're after a tool_call /
68347
+ * tool_result and the model is continuing — forcing tool_choice
68348
+ * "required" here would loop the agent: model must call a tool →
68349
+ * tool result → model must call ANOTHER tool → tool result → ...)
68350
+ *
68351
+ * Verified live on 3.0.7 dev: with the original "find any prior user
68352
+ * message" implementation, every agent-loop iteration saw the same
68353
+ * matching userText and re-forced tool_choice="required", spinning the
68354
+ * model in an infinite tool-call loop and timing out at 180s.
68355
+ */
68356
+ function extractLastUserText(messages) {
68357
+ if (!Array.isArray(messages) || messages.length === 0) return "";
68358
+ const last = messages[messages.length - 1];
68359
+ if (!last || typeof last !== "object") return "";
68360
+ const msg = last;
68361
+ if (msg.role !== "user") return "";
68362
+ if (typeof msg.content === "string") return msg.content;
68363
+ if (Array.isArray(msg.content)) {
68364
+ const parts = [];
68365
+ for (const part of msg.content) if (part && typeof part === "object") {
68366
+ const block = part;
68367
+ if (block.type === "text" && typeof block.text === "string") parts.push(block.text);
68368
+ }
68369
+ return parts.join("\n");
68370
+ }
68371
+ return "";
68372
+ }
68373
+ /**
68284
68374
  * Create a single stream function wrapper that handles all provider-specific
68285
68375
  * param injection via one onPayload hook.
68286
68376
  *
@@ -68328,6 +68418,10 @@ function createModelAwareStreamFn(opts) {
68328
68418
  delete p.store;
68329
68419
  }
68330
68420
  if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === void 0) p.tool_choice = "auto";
68421
+ if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === "auto") {
68422
+ const userText = extractLastUserText(p.messages);
68423
+ if (userText && EXPLICIT_TOOL_REQUEST_PATTERN.test(userText)) p.tool_choice = "required";
68424
+ }
68331
68425
  }
68332
68426
  callerOnPayload?.(payload);
68333
68427
  };
@@ -41,7 +41,7 @@ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BmjnXR7W.j
41
41
  import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DqDuxaGt.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
43
43
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
44
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-H_Xir_av.js";
44
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CpueNJtZ.js";
45
45
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
46
46
  import { n as retryAsync } from "./retry-B-y5suGA.js";
47
47
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Bp-kjJP5.js";
@@ -4616,7 +4616,7 @@ async function getMemorySearchManager(params) {
4616
4616
  const wrapper = new FallbackMemoryManager({
4617
4617
  primary,
4618
4618
  fallbackFactory: async () => {
4619
- const { MemoryIndexManager } = await import("./manager-H_Xir_av.js").then((n) => n.t);
4619
+ const { MemoryIndexManager } = await import("./manager-CpueNJtZ.js").then((n) => n.t);
4620
4620
  return await MemoryIndexManager.get(params);
4621
4621
  }
4622
4622
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4629,7 +4629,7 @@ async function getMemorySearchManager(params) {
4629
4629
  }
4630
4630
  }
4631
4631
  try {
4632
- const { MemoryIndexManager } = await import("./manager-H_Xir_av.js").then((n) => n.t);
4632
+ const { MemoryIndexManager } = await import("./manager-CpueNJtZ.js").then((n) => n.t);
4633
4633
  return { manager: await MemoryIndexManager.get(params) };
4634
4634
  } catch (err) {
4635
4635
  return {
@@ -7499,6 +7499,11 @@ function buildAgentSystemPrompt(params) {
7499
7499
  "- 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.",
7500
7500
  "- 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.",
7501
7501
  "",
7502
+ "Example — when the user explicitly names a tool:",
7503
+ " User: \"Use the exec tool to run: echo hi\"",
7504
+ " Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
7505
+ " Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
7506
+ "",
7502
7507
  ...compactMode ? [] : [
7503
7508
  "## Tool Call Style",
7504
7509
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -53670,7 +53675,7 @@ function setCliSessionId(entry, provider, sessionId) {
53670
53675
  function createDefaultDeps() {
53671
53676
  return {
53672
53677
  sendMessageWhatsApp: async (...args) => {
53673
- const { sendMessageWhatsApp } = await import("./web-CWFF4V6q.js");
53678
+ const { sendMessageWhatsApp } = await import("./web-CSPcQYqR.js");
53674
53679
  return await sendMessageWhatsApp(...args);
53675
53680
  },
53676
53681
  sendMessageTelegram: async (...args) => {
@@ -68950,7 +68955,7 @@ function loadWebLoginQr() {
68950
68955
  return webLoginQrPromise;
68951
68956
  }
68952
68957
  function loadWebChannel() {
68953
- webChannelPromise ??= import("./web-CWFF4V6q.js");
68958
+ webChannelPromise ??= import("./web-CSPcQYqR.js");
68954
68959
  return webChannelPromise;
68955
68960
  }
68956
68961
  function loadWhatsAppActions() {
@@ -73660,6 +73665,91 @@ function createOutputNormalizer(profile, modelId) {
73660
73665
  //#endregion
73661
73666
  //#region src/agents/model-aware-stream.ts
73662
73667
  /**
73668
+ * Match imperative tool requests:
73669
+ * "Use the exec tool to run X"
73670
+ * "use exec to ..."
73671
+ * "Please invoke the read tool"
73672
+ * "call memory_search with ..."
73673
+ *
73674
+ * Anchored to start-of-string, start-of-line, or after a closing-bracket
73675
+ * delimiter `] ` (covers Symi's `[Thu 2026-04-30 20:48 EDT] ` timestamp
73676
+ * envelope, the `[Outlook 365] ` plugin banner, and similar prefixes that
73677
+ * gateway middleware can inject before the user's actual prompt — verified
73678
+ * live: `chat.send` from Glass UI ships content like
73679
+ *
73680
+ * Conversation info (untrusted metadata):
73681
+ * ```json
73682
+ * { "message_id": "...", ... }
73683
+ * ```
73684
+ *
73685
+ * [Thu 2026-04-30 20:48 EDT] Use the exec tool to run: hostname
73686
+ *
73687
+ * so the `Use` is preceded by `] ` not by `\n` or `^`).
73688
+ *
73689
+ * Verb list is conservative (use/invoke/call/please-{use,call}) — pure
73690
+ * imperative verbs that read unambiguously as "do this for me." Tool name
73691
+ * must match EXPLICIT_TOOL_NAMES exactly to keep "use poetic language" /
73692
+ * "use clear writing" / etc. from triggering.
73693
+ */
73694
+ const EXPLICIT_TOOL_REQUEST_PATTERN = new RegExp(String.raw`(?:^|\n|\]\s)\s*(?:please\s+)?(?:use|invoke|call)\s+(?:the\s+)?(?:` + [
73695
+ "exec",
73696
+ "bash",
73697
+ "read",
73698
+ "write",
73699
+ "edit",
73700
+ "patch",
73701
+ "web_search",
73702
+ "web_fetch",
73703
+ "browser",
73704
+ "browser_navigate",
73705
+ "browser_snapshot",
73706
+ "browser_click",
73707
+ "browser_type",
73708
+ "memory_search",
73709
+ "memory_get",
73710
+ "memory_pin",
73711
+ "memory_unpin",
73712
+ "spawn_agent",
73713
+ "message",
73714
+ "task_list",
73715
+ "task_cancel",
73716
+ "cron",
73717
+ "fetch",
73718
+ "skill_search"
73719
+ ].map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|") + String.raw`)(?:\s+tool)?\b`, "i");
73720
+ /**
73721
+ * Extract the user-role text ONLY when it's the LAST message in the
73722
+ * conversation (i.e., we're at the start of a fresh turn, not in the
73723
+ * middle of an agent loop). Returns "" when:
73724
+ * - messages isn't an array
73725
+ * - the last message isn't user-role (= we're after a tool_call /
73726
+ * tool_result and the model is continuing — forcing tool_choice
73727
+ * "required" here would loop the agent: model must call a tool →
73728
+ * tool result → model must call ANOTHER tool → tool result → ...)
73729
+ *
73730
+ * Verified live on 3.0.7 dev: with the original "find any prior user
73731
+ * message" implementation, every agent-loop iteration saw the same
73732
+ * matching userText and re-forced tool_choice="required", spinning the
73733
+ * model in an infinite tool-call loop and timing out at 180s.
73734
+ */
73735
+ function extractLastUserText(messages) {
73736
+ if (!Array.isArray(messages) || messages.length === 0) return "";
73737
+ const last = messages[messages.length - 1];
73738
+ if (!last || typeof last !== "object") return "";
73739
+ const msg = last;
73740
+ if (msg.role !== "user") return "";
73741
+ if (typeof msg.content === "string") return msg.content;
73742
+ if (Array.isArray(msg.content)) {
73743
+ const parts = [];
73744
+ for (const part of msg.content) if (part && typeof part === "object") {
73745
+ const block = part;
73746
+ if (block.type === "text" && typeof block.text === "string") parts.push(block.text);
73747
+ }
73748
+ return parts.join("\n");
73749
+ }
73750
+ return "";
73751
+ }
73752
+ /**
73663
73753
  * Create a single stream function wrapper that handles all provider-specific
73664
73754
  * param injection via one onPayload hook.
73665
73755
  *
@@ -73707,6 +73797,10 @@ function createModelAwareStreamFn(opts) {
73707
73797
  delete p.store;
73708
73798
  }
73709
73799
  if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === void 0) p.tool_choice = "auto";
73800
+ if (Array.isArray(p.tools) && p.tools.length > 0 && p.tool_choice === "auto") {
73801
+ const userText = extractLastUserText(p.messages);
73802
+ if (userText && EXPLICIT_TOOL_REQUEST_PATTERN.test(userText)) p.tool_choice = "required";
73803
+ }
73710
73804
  }
73711
73805
  callerOnPayload?.(payload);
73712
73806
  };
@@ -17,7 +17,7 @@ import "./client-CJIMV1WD.js";
17
17
  import "./call-DgBbW7bk.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Ot as trimLogTail } from "./subagent-registry-B4gg8TFc.js";
20
+ import { Ot as trimLogTail } from "./subagent-registry-k0ZBnJuU.js";
21
21
  import "./sessions-D94fC0u0.js";
22
22
  import "./tokens-BEvOiQ65.js";
23
23
  import "./plugins-DTKQE9kt.js";
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
55
55
  import "./thinking-8sKPnzpp.js";
56
56
  import "./models-config-BEX8iiQb.js";
57
57
  import "./reply-prefix-Pz-5t5RS.js";
58
- import "./memory-cli-CEvfDody.js";
59
- import "./manager-OL6o99xD.js";
58
+ import "./memory-cli-CFc9bXRp.js";
59
+ import "./manager-DrpXfTr8.js";
60
60
  import "./gemini-auth-48fFOTO4.js";
61
61
  import "./retry-C4Q_VPOo.js";
62
62
  import "./sqlite-BP8tiuca.js";
@@ -103,7 +103,7 @@ import "./onboard-helpers-wWVzXusf.js";
103
103
  import { n as stylePromptMessage } from "./prompt-style-BxVdnrLq.js";
104
104
  import "./pairing-labels-D5bj-6hr.js";
105
105
  import "./pi-tools.policy-Dcon0Kdw.js";
106
- import "./heartbeat-visibility-BOc3XHJM.js";
106
+ import "./heartbeat-visibility-C1vHOBwO.js";
107
107
  import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
108
108
  import "./catalog-KcLvtTfa.js";
109
109
  import "./note-DewoEWtc.js";
@@ -113,10 +113,10 @@ import "./npm-registry-spec-PuS2I1Em.js";
113
113
  import "./skill-scanner-BV3QHmsf.js";
114
114
  import "./installs-B4sNNRaW.js";
115
115
  import "./channels-status-issues-BICbi-81.js";
116
- import "./register.subclis-Bd9G7Uhk.js";
117
- import "./command-registry-BuNPoTgT.js";
116
+ import "./register.subclis-Bzag-xbt.js";
117
+ import "./command-registry-DvI-_9ed.js";
118
118
  import "./program-context-DeZ44oQ9.js";
119
- import { r as installCompletion } from "./completion-cli-CslG8pRZ.js";
119
+ import { r as installCompletion } from "./completion-cli-D4db0jDk.js";
120
120
  import "./daemon-runtime-zr84-Tnf.js";
121
121
  import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
122
122
  import "./systemd-CJ5L2ee4.js";
@@ -126,19 +126,19 @@ import "./systemd-hints-rhtpAhSk.js";
126
126
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-C2Sgv9GR.js";
127
127
  import "./diagnostics-C6xPE2ln.js";
128
128
  import { t as renderTable } from "./table-Bka4fasy.js";
129
- import "./health-BJOdskDn.js";
129
+ import "./health-CMNaNxdO.js";
130
130
  import "./control-ui-assets-DKcwWWGv.js";
131
131
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
132
132
  import "./dm-policy-shared-Bj7A4uyh.js";
133
133
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-BdkE6Cod.js";
134
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-BSHkPRya.js";
134
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-BSDKsvVP.js";
135
135
  import "./logging-PVQxLC6I.js";
136
136
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
137
137
  import "./doctor-config-flow-DsChXcPq.js";
138
138
  import "./systemd-linger-ipoPa7o0.js";
139
139
  import "./health-format-DkjSgkDx.js";
140
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-9fffbtA8.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BdPD9NXi.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DZLfB9dr.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Dh1Ui0Jl.js";
142
142
  import { spawn, spawnSync } from "node:child_process";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./tokens-Cz6cgZ7r.js";
4
- import { vt as trimLogTail } from "./unified-runner-NjwIEpGt.js";
4
+ import { vt as trimLogTail } from "./unified-runner-CzxCpDUC.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-HXq6s5EV.js";
@@ -57,8 +57,8 @@ import "./send-DNJPCiwf.js";
57
57
  import "./model-DIO3dH08.js";
58
58
  import "./pi-model-discovery-CXXH7biP.js";
59
59
  import "./reply-prefix-DnXliXio.js";
60
- import "./memory-cli-BFgNzW3D.js";
61
- import "./manager-DdfJ-DW0.js";
60
+ import "./memory-cli-LV7-59SK.js";
61
+ import "./manager-_IXN4-V8.js";
62
62
  import "./gemini-auth-D7Wqp9Ma.js";
63
63
  import "./retry-DYICeae5.js";
64
64
  import "./sqlite-CRogFEk1.js";
@@ -106,9 +106,9 @@ import "./onboard-helpers-B-ZzwyS1.js";
106
106
  import { n as stylePromptMessage } from "./prompt-style-CSNJI4MG.js";
107
107
  import "./pairing-labels-6wdVkxUt.js";
108
108
  import "./pi-tools.policy-CQ0NqaBl.js";
109
- import "./heartbeat-visibility-DiKuGlXT.js";
109
+ import "./heartbeat-visibility-D7nLp3pi.js";
110
110
  import { r as parseSemver } from "./runtime-guard-dBbuLE2m.js";
111
- import "./program-context-DUf2HkNT.js";
111
+ import "./program-context-C_BCGX6e.js";
112
112
  import "./catalog-pt1jhhyb.js";
113
113
  import "./skills-status-DzvtNke3.js";
114
114
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
@@ -119,7 +119,7 @@ import "./npm-registry-spec-DzwsFqwv.js";
119
119
  import "./skill-scanner-DI28Pqv5.js";
120
120
  import "./installs-DH3fKGSH.js";
121
121
  import "./channels-status-issues-Crr1XNY1.js";
122
- import { r as installCompletion } from "./completion-cli-CtslzC-3.js";
122
+ import { r as installCompletion } from "./completion-cli-CSoNdvYn.js";
123
123
  import "./daemon-runtime-BR2zWQaj.js";
124
124
  import "./systemd-z4aO4iTi.js";
125
125
  import { t as resolveGatewayService } from "./service-CW2RUNzh.js";
@@ -128,19 +128,19 @@ import "./systemd-hints-CtDlWsoa.js";
128
128
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-oss3NUE6.js";
129
129
  import "./diagnostics-D40jPn_9.js";
130
130
  import { t as renderTable } from "./table-Cg6YZXv9.js";
131
- import "./health-Ux1rRtE3.js";
131
+ import "./health-CcIuOt6-.js";
132
132
  import "./control-ui-assets-CtKVON4w.js";
133
133
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
134
134
  import "./dm-policy-shared-CpZQv0Ar.js";
135
135
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-Ci9RxUx0.js";
136
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DObjNXP5.js";
136
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-Bcmd0XnZ.js";
137
137
  import "./logging-CZuxhCZR.js";
138
138
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BnkusEA2.js";
139
139
  import "./doctor-config-flow-D2wMpwl6.js";
140
140
  import "./systemd-linger-Bl13Nbce.js";
141
141
  import "./health-format-Ct4VWeSk.js";
142
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-MZgg9luq.js";
143
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-C7FYoFcz.js";
142
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DmA5bdHo.js";
143
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Cx_h4e8C.js";
144
144
  import os from "node:os";
145
145
  import path from "node:path";
146
146
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Ot as trimLogTail } from "./subagent-registry-B4gg8TFc.js";
3
+ import { Ot as trimLogTail } from "./subagent-registry-k0ZBnJuU.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-DKcwWWGv.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
6
6
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { vt as trimLogTail } from "./unified-runner-NjwIEpGt.js";
2
+ import { vt as trimLogTail } from "./unified-runner-CzxCpDUC.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-q6BX_N9b.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-CtKVON4w.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
@@ -5,7 +5,7 @@ import "./agent-scope-Ddr0Ws7u.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import "./workspace-CarmeCYN.js";
7
7
  import "./tokens-DLGDtW5r.js";
8
- import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-Bvqbwaaa.js";
8
+ import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-Dv9LPnmm.js";
9
9
  import "./auth-profiles-D4Yfd-KL.js";
10
10
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
@@ -40,7 +40,7 @@ import "./pi-auth-json-BmjnXR7W.js";
40
40
  import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-DqDuxaGt.js";
41
41
  import "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
43
- import "./manager-H_Xir_av.js";
43
+ import "./manager-CpueNJtZ.js";
44
44
  import "./gemini-auth-CN9Q-uXv.js";
45
45
  import "./retry-B-y5suGA.js";
46
46
  import "./sqlite-VBmM_OHS.js";
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
16
16
  import "./call-DgBbW7bk.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { $n as buildMentionRegexes, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as resolveInboundDebounceMs, Hn as normalizeGroupActivation, I as resolveMentionGating, K as createDedupeCache, Kn as formatInboundEnvelope, L as DEFAULT_GROUP_HISTORY_LIMIT, Pn as enqueueSystemEvent, R as buildHistoryContextFromEntries, Un as parseActivationCommand, V as dispatchReplyWithBufferedBlockDispatcher, Wn as createInboundDebouncer, Xn as shouldComputeCommandAuthorized, Yn as hasControlCommand, b as sleepWithAbort, er as normalizeMentionText, qn as resolveEnvelopeFormatOptions, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-B4gg8TFc.js";
19
+ import { $n as buildMentionRegexes, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as resolveInboundDebounceMs, Hn as normalizeGroupActivation, I as resolveMentionGating, K as createDedupeCache, Kn as formatInboundEnvelope, L as DEFAULT_GROUP_HISTORY_LIMIT, Pn as enqueueSystemEvent, R as buildHistoryContextFromEntries, Un as parseActivationCommand, V as dispatchReplyWithBufferedBlockDispatcher, Wn as createInboundDebouncer, Xn as shouldComputeCommandAuthorized, Yn as hasControlCommand, b as sleepWithAbort, er as normalizeMentionText, qn as resolveEnvelopeFormatOptions, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-k0ZBnJuU.js";
20
20
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-D94fC0u0.js";
21
21
  import "./tokens-BEvOiQ65.js";
22
22
  import "./plugins-DTKQE9kt.js";
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
54
54
  import "./thinking-8sKPnzpp.js";
55
55
  import "./models-config-BEX8iiQb.js";
56
56
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-Pz-5t5RS.js";
57
- import "./memory-cli-CEvfDody.js";
58
- import "./manager-OL6o99xD.js";
57
+ import "./memory-cli-CFc9bXRp.js";
58
+ import "./manager-DrpXfTr8.js";
59
59
  import "./gemini-auth-48fFOTO4.js";
60
60
  import "./retry-C4Q_VPOo.js";
61
61
  import "./sqlite-BP8tiuca.js";
@@ -104,7 +104,7 @@ import "./pairing-labels-D5bj-6hr.js";
104
104
  import { r as setActiveWebListener } from "./active-listener-DEi7sEFa.js";
105
105
  import "./pi-tools.policy-Dcon0Kdw.js";
106
106
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-Deksgw1c.js";
107
- import "./heartbeat-visibility-BOc3XHJM.js";
107
+ import "./heartbeat-visibility-C1vHOBwO.js";
108
108
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-pKv-4CWW.js";
109
109
  import { t as loginWeb } from "./login-DUm_-NBD.js";
110
110
  import { randomUUID } from "node:crypto";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./tokens-Cz6cgZ7r.js";
4
- import "./unified-runner-NjwIEpGt.js";
4
+ import "./unified-runner-CzxCpDUC.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-HXq6s5EV.js";
@@ -55,8 +55,8 @@ import "./send-DNJPCiwf.js";
55
55
  import "./model-DIO3dH08.js";
56
56
  import "./pi-model-discovery-CXXH7biP.js";
57
57
  import "./reply-prefix-DnXliXio.js";
58
- import "./memory-cli-BFgNzW3D.js";
59
- import "./manager-DdfJ-DW0.js";
58
+ import "./memory-cli-LV7-59SK.js";
59
+ import "./manager-_IXN4-V8.js";
60
60
  import "./gemini-auth-D7Wqp9Ma.js";
61
61
  import "./retry-DYICeae5.js";
62
62
  import "./sqlite-CRogFEk1.js";
@@ -102,8 +102,8 @@ import "./onboard-helpers-B-ZzwyS1.js";
102
102
  import "./prompt-style-CSNJI4MG.js";
103
103
  import "./pairing-labels-6wdVkxUt.js";
104
104
  import "./pi-tools.policy-CQ0NqaBl.js";
105
- import "./heartbeat-visibility-DiKuGlXT.js";
106
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CegzhXtr.js";
105
+ import "./heartbeat-visibility-D7nLp3pi.js";
106
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CBUFAaN-.js";
107
107
  import { n as sendMessageWhatsApp } from "./outbound-pYvJZbxj.js";
108
108
  import { i as waitForWaConnection, t as createWaSocket } from "./session-Cqv-gYTI.js";
109
109
  import { t as loginWeb } from "./login-Wq2hdug_.js";
@@ -8,7 +8,7 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-DRIIdGfF.js";
11
- import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-DiktDTAb.js";
11
+ import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-D9KmgdGY.js";
12
12
  import "./plugins-CpxUKuIt.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-pK-Lzohb.js";
@@ -36,7 +36,7 @@ import "./accounts-DImOt9jX.js";
36
36
  import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
37
37
  import "./tool-images-CdTyeTEN.js";
38
38
  import "./image-BwUdkv5g.js";
39
- import "./manager-D7uDkX3d.js";
39
+ import "./manager-ba9NOjzn.js";
40
40
  import "./gemini-auth-Drot-Pd7.js";
41
41
  import "./retry-QGp0jvVi.js";
42
42
  import "./sqlite-Bo4pHfp8.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/bluebubbles",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "Symi BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/copilot-proxy",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "private": true,
5
5
  "description": "Symi Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/diagnostics-otel",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "Symi diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/discord",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "Symi Discord channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/feishu",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "Symi Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-antigravity-auth",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "private": true,
5
5
  "description": "Symi Google Antigravity OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/google-gemini-cli-auth",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "private": true,
5
5
  "description": "Symi Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/googlechat",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "private": true,
5
5
  "description": "Symi Google Chat channel plugin",
6
6
  "type": "module",