@symerian/symi 3.0.2 → 3.0.4

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 (267) hide show
  1. package/dist/{accounts-3dCrO3oZ.js → accounts-BaIiyR_C.js} +1 -1
  2. package/dist/{accounts-BRw8yhIW.js → accounts-D5o2mAKN.js} +3 -3
  3. package/dist/{accounts-BuZxOb3B.js → accounts-nSMFGcjE.js} +1 -1
  4. package/dist/{active-listener-BVZOh2T1.js → active-listener-u0n6lV-h.js} +1 -1
  5. package/dist/{agent-scope-Ddr0Ws7u.js → agent-scope-CEzt6H9x.js} +2 -2
  6. package/dist/{agents-DEYqmFEH.js → agents-CeafvAwk.js} +4 -4
  7. package/dist/{agents.config-TArPtTFt.js → agents.config-DyAqyKIS.js} +1 -1
  8. package/dist/{agents.config-ClI9Q05l.js → agents.config-wJSTSxHw.js} +1 -1
  9. package/dist/{audio-preflight-DrG2ef4O.js → audio-preflight-CWHghOEi.js} +26 -26
  10. package/dist/{audio-preflight-BrKBM7JM.js → audio-preflight-Cje-A0Fs.js} +4 -4
  11. package/dist/{auth-choice-kJVkaHx6.js → auth-choice-BrH3g0l7.js} +1 -1
  12. package/dist/{auth-choice-bOht3his.js → auth-choice-CSXt138B.js} +1 -1
  13. package/dist/{auth-profiles-Bs0Z0FzU.js → auth-profiles-BoHFXe5T.js} +4 -4
  14. package/dist/{banner--HSjGLhi.js → banner-kkSwCGXn.js} +1 -1
  15. package/dist/{bindings-D43o9y2s.js → bindings-B1fUDYvC.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +51 -51
  18. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  19. package/dist/bundled/session-memory/handler.js +51 -51
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-activity-D8QD7GoV.js → channel-activity-cK3ZB6TE.js} +1 -1
  22. package/dist/{channel-options-C68HZtw7.js → channel-options-BC-QbEPJ.js} +1 -1
  23. package/dist/{channel-options-Cj2ZMHvy.js → channel-options-BdMw9pwh.js} +1 -1
  24. package/dist/{channel-web-BGZxsb8l.js → channel-web-B9o347ZR.js} +1 -1
  25. package/dist/{channels-cli-CLkq2ISd.js → channels-cli-CFZVgAxq.js} +6 -6
  26. package/dist/{channels-cli-C775zJjx.js → channels-cli-n1iS1gNN.js} +6 -6
  27. package/dist/{chrome-X5wmeW9f.js → chrome-BK_P1Tqm.js} +10 -10
  28. package/dist/{chrome-WfENE6tB.js → chrome-DaduLVA1.js} +7 -7
  29. package/dist/{chunk-BRe1o4Af.js → chunk-BMvnM1K5.js} +1 -1
  30. package/dist/{cli-B2FVKvPQ.js → cli-B3M7EAy1.js} +3 -3
  31. package/dist/{cli-8ibydSgl.js → cli-C852-xID.js} +3 -3
  32. package/dist/{command-registry-C-c2RS-n.js → command-registry-CsiR9i7E.js} +10 -10
  33. package/dist/{commands-registry-Tug42snN.js → commands-registry-D0jEfZ42.js} +4 -4
  34. package/dist/{completion-cli-BLO_wsYD.js → completion-cli-Bon9_6qA.js} +2 -2
  35. package/dist/{completion-cli-IKI4BpqL.js → completion-cli-Dnyp6OJy.js} +1 -1
  36. package/dist/{config-CCbXer2L.js → config-BmrykwKO.js} +9 -9
  37. package/dist/{config-cli-Bh8aPiiL.js → config-cli-BebhyWjM.js} +1 -1
  38. package/dist/{config-cli-d4RU82ov.js → config-cli-DqfKE_A1.js} +1 -1
  39. package/dist/{configure-jxJfT5_B.js → configure-DB-1UY2t.js} +3 -3
  40. package/dist/{configure-DKmHXbug.js → configure-HMRPjIFX.js} +3 -3
  41. package/dist/{consolidate-tpfmfqvr.js → consolidate-DT78djL9.js} +2 -2
  42. package/dist/control-ui/js/app.js +6 -2
  43. package/dist/{deliver-DShQE_sq.js → deliver-B6vfVmif.js} +1 -1
  44. package/dist/{deliver-BfgRx_NK.js → deliver-DbgdviSo.js} +9 -9
  45. package/dist/{diagnostic-BjfiehUF.js → diagnostic-B0Ynd2kf.js} +1 -1
  46. package/dist/{doctor-completion-VAGhCLD5.js → doctor-completion-D6U7k8ef.js} +1 -1
  47. package/dist/{doctor-completion-C7SuoBlz.js → doctor-completion-DlvHamvv.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{env-BDXYbTKj.js → env-D9chTL63.js} +1 -1
  50. package/dist/extensionAPI.js +7 -7
  51. package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-BbIorbzs.js} +2 -2
  52. package/dist/{gateway-cli-BELyZGAU.js → gateway-cli-CX6HdZS6.js} +14 -13
  53. package/dist/{gateway-cli-D_SJFv7K.js → gateway-cli-ms7HH0-P.js} +14 -13
  54. package/dist/{gemini-auth-Cl5PvzLM.js → gemini-auth-D9vLhghA.js} +1 -1
  55. package/dist/{glass-ui-ws-0agRdhZD.js → glass-ui-ws-7O88M05N.js} +10 -10
  56. package/dist/{glass-ui-ws-qPJDDUD9.js → glass-ui-ws-b6N_1b40.js} +10 -10
  57. package/dist/{health-BnGM6Yux.js → health-_G7Dy5sq.js} +48 -18
  58. package/dist/{health-CCKCR4oM.js → health-xGaC5l7K.js} +48 -18
  59. package/dist/{heartbeat-visibility-CG080wT5.js → heartbeat-visibility-D6uZvFVV.js} +1 -1
  60. package/dist/{heartbeat-visibility-C4Sg0QOd.js → heartbeat-visibility-_mPYbQT2.js} +1 -1
  61. package/dist/{hooks-cli-CtuiPrKW.js → hooks-cli-BFZv9uGo.js} +4 -4
  62. package/dist/{hooks-cli-B2WVvhgH.js → hooks-cli-DuKd3-QN.js} +4 -4
  63. package/dist/{image-DfzwGNoa.js → image-C12-WOMI.js} +1 -1
  64. package/dist/{image-C2w5iw4N.js → image-D1wT_m5z.js} +4 -4
  65. package/dist/{image-ops-DFFGK0lW.js → image-ops-DuOHpA9U.js} +1 -1
  66. package/dist/index.js +9 -9
  67. package/dist/{ir-CC6LUYsV.js → ir-BpwvHMZb.js} +4 -4
  68. package/dist/llm-slug-generator.js +51 -51
  69. package/dist/{local-roots-jzqRdkXA.js → local-roots-BacHGRfJ.js} +4 -4
  70. package/dist/{login-DHJnG8aX.js → login-C9Nfj1r0.js} +7 -7
  71. package/dist/{login-qr-UB9DGMzi.js → login-qr-n2FhZV37.js} +10 -10
  72. package/dist/{manager-zwcQLMln.js → manager-C2jDmkaH.js} +9 -9
  73. package/dist/{manager-Mm_GQxOU.js → manager-C8BydiE8.js} +1 -1
  74. package/dist/{manager-DKUOUCmo.js → manager-DjHARmFk.js} +1 -1
  75. package/dist/{manager-B6EhIj3H.js → manager-DnkWmUWs.js} +1 -1
  76. package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-2WUbwZgO.js} +1 -1
  77. package/dist/{markdown-tables-bViwuQKQ.js → markdown-tables-stYj7BCB.js} +1 -1
  78. package/dist/{memory-cli-BEZM7jn9.js → memory-cli-D69x8sVz.js} +3 -3
  79. package/dist/{memory-cli-D4lLSeA1.js → memory-cli-z9Rsga03.js} +3 -3
  80. package/dist/{message-channel-OlFBYAw8.js → message-channel-w9cWbx_W.js} +1 -1
  81. package/dist/{models-ElQijvpq.js → models-U6PPfAmY.js} +2 -2
  82. package/dist/{models-cli-14U59ejI.js → models-cli-DDev4qyK.js} +5 -5
  83. package/dist/{models-cli-Dtf5Zpgd.js → models-cli-DiqDhhoK.js} +4 -4
  84. package/dist/{onboard-DN2xgEv1.js → onboard-B0Y1u3vK.js} +2 -2
  85. package/dist/{onboard-CaYQVQYI.js → onboard-Db6LQ1SN.js} +2 -2
  86. package/dist/{onboard-channels-C5sKGabO.js → onboard-channels-CkFD8gYa.js} +1 -1
  87. package/dist/{onboard-channels-B1fWI5k5.js → onboard-channels-Cky54l0-.js} +1 -1
  88. package/dist/{onboarding-BngFnwT6.js → onboarding-BSvR9bkU.js} +3 -3
  89. package/dist/{onboarding-DNIz481s.js → onboarding-DTs0CtTa.js} +3 -3
  90. package/dist/{onboarding.finalize-B-x_trN9.js → onboarding.finalize-BCiHVrC3.js} +8 -8
  91. package/dist/{onboarding.finalize-BA8-Tnhc.js → onboarding.finalize-CexXZw9D.js} +9 -9
  92. package/dist/{outbound-DUO7IkKe.js → outbound-BQZtNLk5.js} +7 -7
  93. package/dist/{outbound-attachment-CWi9cBa6.js → outbound-attachment-DhDAO6nl.js} +2 -2
  94. package/dist/{pi-auth-json-S_NBOBoK.js → pi-auth-json-h8jIzOEa.js} +1 -1
  95. package/dist/{pi-embedded-DUJ9Ytfn.js → pi-embedded-DFMFvHP5.js} +29 -20
  96. package/dist/{pi-embedded-helpers-YSU-xmLw.js → pi-embedded-helpers-C4GmoY6O.js} +18 -18
  97. package/dist/{pi-embedded-helpers-B1k1RWqM.js → pi-embedded-helpers-pMH6u36v.js} +4 -4
  98. package/dist/{plugin-registry-C1xFJkog.js → plugin-registry-2T2NDPGh.js} +1 -1
  99. package/dist/{plugin-registry-CZS8ioCg.js → plugin-registry-739qhWq3.js} +1 -1
  100. package/dist/plugin-sdk/{channel-web-B_XlrV_E.js → channel-web-DAJtsqF_.js} +1 -1
  101. package/dist/plugin-sdk/index.js +3 -3
  102. package/dist/plugin-sdk/infra/active-heartbeat-runs.d.ts +24 -7
  103. package/dist/plugin-sdk/{manager-CJd0vK4S.js → manager-DhiL-RSO.js} +1 -1
  104. package/dist/plugin-sdk/{synthesis-Cre_3fLT.js → synthesis-cOQ27lCy.js} +2 -2
  105. package/dist/plugin-sdk/{unified-runner-BNQKFoGX.js → unified-runner-KBVvJUFF.js} +15 -6
  106. package/dist/plugin-sdk/{web-CE-OsTKq.js → web-Bj-jTlHW.js} +3 -3
  107. package/dist/{plugins-BpFxTfLA.js → plugins-CneV0s1f.js} +4 -4
  108. package/dist/{plugins-cli-BGccb2gT.js → plugins-cli-BrLY9BMq.js} +4 -4
  109. package/dist/{plugins-cli-f_Ncophh.js → plugins-cli-rLBIo-nA.js} +4 -4
  110. package/dist/{program-5Hto31sk.js → program-POF8wz57.js} +9 -9
  111. package/dist/{program-context-Baw4Oc1H.js → program-context-DsPL6cge.js} +18 -18
  112. package/dist/{prompt-select-styled-Cm6mr7mH.js → prompt-select-styled-BaQx_oFk.js} +6 -6
  113. package/dist/{prompt-select-styled-DHSySGF2.js → prompt-select-styled-Cz2iXZki.js} +6 -6
  114. package/dist/{provider-auth-helpers-_aPYnJCR.js → provider-auth-helpers-D7_-bTJg.js} +1 -1
  115. package/dist/{provider-auth-helpers-FdlXX50k.js → provider-auth-helpers-tiuH9v1U.js} +1 -1
  116. package/dist/{push-apns-DnMyTqrU.js → push-apns-BP1rb3hW.js} +1 -1
  117. package/dist/{push-apns-Dusza10V.js → push-apns-CB9rSO0r.js} +1 -1
  118. package/dist/{pw-ai-hPAkCert.js → pw-ai-CZJaishg.js} +9 -9
  119. package/dist/{pw-ai-Dd_QrTWR.js → pw-ai-D0CMQA23.js} +1 -1
  120. package/dist/{qmd-manager-DDKAOUcn.js → qmd-manager-Cx3O7YFm.js} +5 -5
  121. package/dist/{register.agent-TI-lzUMT.js → register.agent-BXfiPWJL.js} +8 -8
  122. package/dist/{register.agent-DibuuULq.js → register.agent-BadsiDY7.js} +7 -7
  123. package/dist/{register.configure-CE6z4EEp.js → register.configure-DFUqXeRq.js} +9 -9
  124. package/dist/{register.configure-BbBU2vzP.js → register.configure-DLPSROfI.js} +9 -9
  125. package/dist/{register.maintenance-Dsw96Q5M.js → register.maintenance-CWCtxkNh.js} +10 -10
  126. package/dist/{register.maintenance-D_cRwoi6.js → register.maintenance-Jqn4H62V.js} +11 -11
  127. package/dist/{register.message-BqRfLqBs.js → register.message-CTQZsi6c.js} +4 -4
  128. package/dist/{register.message-7JdfRDPR.js → register.message-CyNUsm17.js} +4 -4
  129. package/dist/{register.onboard-Ca5HGO6E.js → register.onboard-BywdvE0H.js} +7 -7
  130. package/dist/{register.onboard-7iv0kkQk.js → register.onboard-DzX8ZUAK.js} +7 -7
  131. package/dist/{register.setup-D7AKohSt.js → register.setup-acIJDgl8.js} +7 -7
  132. package/dist/{register.setup-Cy3cIayc.js → register.setup-psP-ZtQm.js} +7 -7
  133. package/dist/{register.status-health-sessions-BW51mzBs.js → register.status-health-sessions-BQ9fEidS.js} +6 -6
  134. package/dist/{register.status-health-sessions-DOkSVuJk.js → register.status-health-sessions-C3Ekyerp.js} +6 -6
  135. package/dist/{register.subclis-p-z6ekaE.js → register.subclis-C-Y_J1yd.js} +9 -9
  136. package/dist/{registry-DYq1AYOv.js → registry-BIqyUxh_.js} +2 -2
  137. package/dist/{replies-CDz80zCR.js → replies-CvvV7FsP.js} +3 -3
  138. package/dist/{reply-prefix-C1Tw2ERK.js → reply-prefix-DqhURPy6.js} +1 -1
  139. package/dist/{resolve-route-Cz45JFdW.js → resolve-route-CAgv6NO0.js} +4 -4
  140. package/dist/{retry-B-y5suGA.js → retry-CmtozApI.js} +1 -1
  141. package/dist/{run-main-BhEacTM9.js → run-main-BUTiVWxn.js} +17 -17
  142. package/dist/{runner-CaXOtv_D.js → runner-7XhJhCc0.js} +1 -1
  143. package/dist/{runner-7_mUx-F3.js → runner-R8qsprXG.js} +9 -9
  144. package/dist/{send-BQTsCyf6.js → send-B_g1He3g.js} +10 -10
  145. package/dist/{send-R3nkEMMb.js → send-DGVcpcfh.js} +7 -7
  146. package/dist/{send-fVqebfsH.js → send-DWrapvrU.js} +6 -6
  147. package/dist/{send-DUmV-ltI.js → send-DXW6BXBH.js} +6 -6
  148. package/dist/{send-XAxr3MFp.js → send-DkU1UYlf.js} +10 -10
  149. package/dist/{server-methods-C8ff27p5.js → server-methods-B4SR9px-.js} +11 -10
  150. package/dist/{server-methods-Bcwa782q.js → server-methods-BAZKdAPo.js} +11 -10
  151. package/dist/{server-node-events-B85y_7eX.js → server-node-events-BH1YaeId.js} +4 -4
  152. package/dist/{server-node-events-h8Af4ZTV.js → server-node-events-C3EVBwcx.js} +4 -4
  153. package/dist/{session-Bs8nmUHx.js → session-CI7IFf_N.js} +4 -4
  154. package/dist/{skill-commands-BXs_duC2.js → skill-commands-C0wJE3kM.js} +5 -5
  155. package/dist/{skills-DjtoXuuJ.js → skills-DofJnEQw.js} +6 -6
  156. package/dist/{sqlite-VBmM_OHS.js → sqlite-C7SbUGaN.js} +1 -1
  157. package/dist/{status-DUGaRGN0.js → status-Cnr5heo3.js} +3 -3
  158. package/dist/{status-DsaLdb09.js → status-D5zp5rJK.js} +3 -3
  159. package/dist/{status-DFBG2hcx.js → status-DX8BiUs2.js} +1 -1
  160. package/dist/{status-JL0CD-E1.js → status-DyQuiOVn.js} +1 -1
  161. package/dist/{store-BOFCIL6J.js → store-Bihue0SL.js} +2 -2
  162. package/dist/{subagent-registry-DXCGIrYv.js → subagent-registry-Y_8a_o-m.js} +14 -5
  163. package/dist/{subsystem-BjyjJF-d.js → subsystem-dKFaD1RZ.js} +1 -1
  164. package/dist/{synthesis-CLt-6Pzu.js → synthesis-BVbYJPM-.js} +3 -3
  165. package/dist/{synthesis-BxwFFuqZ.js → synthesis-CIxaIZH1.js} +7 -7
  166. package/dist/{synthesis-BUbH-4DA.js → synthesis-CoWIFjai.js} +51 -51
  167. package/dist/{synthesis-ekn511D_.js → synthesis-ntqeiu25.js} +3 -3
  168. package/dist/{tables-DTIPf6oV.js → tables-DKFvaDXb.js} +1 -1
  169. package/dist/{target-errors-Bp-kjJP5.js → target-errors-S2DP7RcP.js} +2 -2
  170. package/dist/{thinking-awGU51JX.js → thinking-DOvUroda.js} +5 -5
  171. package/dist/{tokens-DLGDtW5r.js → tokens-CFTgwwnd.js} +1 -1
  172. package/dist/{tool-images-CiD-DaWf.js → tool-images-C6fG5hIF.js} +2 -2
  173. package/dist/{tool-loop-detection-Dj9h1ogr.js → tool-loop-detection-Bs0RG2qV.js} +2 -2
  174. package/dist/{unified-runner-DtJxJ016.js → unified-runner-BNiGGPbP.js} +94 -85
  175. package/dist/{unified-runner-CdBxbcO2.js → unified-runner-DWZT5BCl.js} +14 -5
  176. package/dist/{update-cli-4OzLcQIF.js → update-cli-BdYAIokj.js} +10 -10
  177. package/dist/{update-cli-CQbvni-d.js → update-cli-ul-BDwA3.js} +11 -11
  178. package/dist/{update-runner-DLCzD7sp.js → update-runner-D1V7cGWA.js} +1 -1
  179. package/dist/{update-runner-CiYhkA5I.js → update-runner-Des8yO8-.js} +1 -1
  180. package/dist/{web-CSDi520u.js → web-4pKRGaN9.js} +55 -55
  181. package/dist/{web-COnC7jb4.js → web-CeH7sXd1.js} +7 -7
  182. package/dist/{web-DMFKXi8s.js → web-Cm1sUEcG.js} +5 -5
  183. package/dist/{web-DiqLVzt7.js → web-Dd2K5DCI.js} +4 -4
  184. package/dist/{whatsapp-actions-XPj837oV.js → whatsapp-actions-BVTo7B3-.js} +21 -21
  185. package/dist/{workspace-CarmeCYN.js → workspace-D9KMUsNd.js} +2 -2
  186. package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
  187. package/extensions/bluebubbles/package.json +1 -1
  188. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
  189. package/extensions/copilot-proxy/package.json +1 -1
  190. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  191. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
  192. package/extensions/diagnostics-otel/package.json +1 -1
  193. package/extensions/discord/node_modules/.bin/symi +0 -0
  194. package/extensions/discord/package.json +1 -1
  195. package/extensions/feishu/node_modules/.bin/symi +0 -0
  196. package/extensions/feishu/package.json +1 -1
  197. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
  198. package/extensions/google-antigravity-auth/package.json +1 -1
  199. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
  200. package/extensions/google-gemini-cli-auth/package.json +1 -1
  201. package/extensions/googlechat/node_modules/.bin/symi +0 -0
  202. package/extensions/googlechat/package.json +1 -1
  203. package/extensions/imessage/node_modules/.bin/symi +0 -0
  204. package/extensions/imessage/package.json +1 -1
  205. package/extensions/irc/node_modules/.bin/symi +0 -0
  206. package/extensions/irc/package.json +1 -1
  207. package/extensions/learning-loop/node_modules/.bin/symi +0 -0
  208. package/extensions/learning-loop/package.json +1 -1
  209. package/extensions/line/node_modules/.bin/symi +0 -0
  210. package/extensions/line/package.json +1 -1
  211. package/extensions/llm-task/package.json +1 -1
  212. package/extensions/matrix/CHANGELOG.md +12 -0
  213. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  214. package/extensions/matrix/node_modules/.bin/symi +0 -0
  215. package/extensions/matrix/package.json +1 -1
  216. package/extensions/mattermost/node_modules/.bin/symi +0 -0
  217. package/extensions/mattermost/package.json +1 -1
  218. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  219. package/extensions/memory-core/package.json +1 -1
  220. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  221. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  222. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
  223. package/extensions/memory-lancedb/package.json +1 -1
  224. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
  225. package/extensions/minimax-portal-auth/package.json +1 -1
  226. package/extensions/msteams/CHANGELOG.md +12 -0
  227. package/extensions/msteams/node_modules/.bin/symi +0 -0
  228. package/extensions/msteams/package.json +1 -1
  229. package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
  230. package/extensions/nextcloud-talk/package.json +1 -1
  231. package/extensions/nostr/CHANGELOG.md +12 -0
  232. package/extensions/nostr/node_modules/.bin/symi +0 -0
  233. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  234. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  235. package/extensions/nostr/package.json +1 -1
  236. package/extensions/open-prose/package.json +1 -1
  237. package/extensions/outlook/node_modules/.bin/symi +0 -0
  238. package/extensions/outlook/package.json +1 -1
  239. package/extensions/pipeline/package.json +1 -1
  240. package/extensions/signal/node_modules/.bin/symi +0 -0
  241. package/extensions/signal/package.json +1 -1
  242. package/extensions/slack/node_modules/.bin/symi +0 -0
  243. package/extensions/slack/package.json +1 -1
  244. package/extensions/telegram/node_modules/.bin/symi +0 -0
  245. package/extensions/telegram/package.json +1 -1
  246. package/extensions/tlon/node_modules/.bin/symi +0 -0
  247. package/extensions/tlon/package.json +1 -1
  248. package/extensions/twitch/CHANGELOG.md +12 -0
  249. package/extensions/twitch/node_modules/.bin/symi +0 -0
  250. package/extensions/twitch/package.json +1 -1
  251. package/extensions/voice-call/CHANGELOG.md +12 -0
  252. package/extensions/voice-call/node_modules/.bin/symi +0 -0
  253. package/extensions/voice-call/package.json +1 -1
  254. package/extensions/whatsapp/node_modules/.bin/symi +0 -0
  255. package/extensions/whatsapp/package.json +1 -1
  256. package/extensions/zalo/CHANGELOG.md +12 -0
  257. package/extensions/zalo/node_modules/.bin/symi +0 -0
  258. package/extensions/zalo/package.json +1 -1
  259. package/extensions/zalouser/CHANGELOG.md +12 -0
  260. package/extensions/zalouser/node_modules/.bin/symi +0 -0
  261. package/extensions/zalouser/package.json +1 -1
  262. package/package.json +116 -86
  263. package/skills/long-task/scripts/detach-task.sh +0 -0
  264. package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
  265. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  266. package/skills/tmux/scripts/find-sessions.sh +0 -0
  267. package/skills/tmux/scripts/wait-for-text.sh +0 -0
@@ -1,76 +1,76 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
3
3
  import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as isAcpSessionKey, h as getSubagentDepth, l as resolveAgentIdFromSessionKey, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-BCzIW1Y2.js";
4
- import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-DYq1AYOv.js";
5
- import { a as resolveAgentSkillsFilter, c as resolveEffectiveModelFallbacks, i as resolveAgentModelPrimary, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, t as listAgentIds, u as resolveSessionAgentIds } from "./agent-scope-Ddr0Ws7u.js";
6
- import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
7
- import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-CarmeCYN.js";
8
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-DLGDtW5r.js";
9
- import { $ as DEFAULT_PROVIDER, A as resolveThinkingDefault, B as requireApiKey, C as normalizeModelRef$2, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, G as normalizeSecretInput, H as resolveEnvApiKey, I as OLLAMA_NATIVE_BASE_URL, J as resolveShellEnvFallbackTimeoutMs, K as getShellPathFromLoginShell, L as createOllamaStreamFn, O as resolveModelRefFromString, Q as DEFAULT_MODEL, R as getApiKeyForModel, S as modelKey, U as resolveModelAuthMode, V as resolveApiKeyForProvider, Z as DEFAULT_CONTEXT_TOKENS, _ as buildAllowedModelSet, a as markAuthProfileFailure, b as findNormalizedProviderValue, c as dedupeProfileIds, d as ensureAuthProfileStore, et as resolveAuthProfileDisplayLabel, f as resolveAuthStorePathForDisplay, i as isProfileInCooldown, k as resolveSubagentSpawnModelSelection, l as listProfilesForProvider, m as withFileLock, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildConfiguredAllowlistKeys, w as normalizeProviderId, x as isCliProvider, y as buildModelAliasIndex, z as getCustomProviderApiKey } from "./auth-profiles-Bs0Z0FzU.js";
10
- import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
4
+ import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-BIqyUxh_.js";
5
+ import { a as resolveAgentSkillsFilter, c as resolveEffectiveModelFallbacks, i as resolveAgentModelPrimary, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, t as listAgentIds, u as resolveSessionAgentIds } from "./agent-scope-CEzt6H9x.js";
6
+ import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-dKFaD1RZ.js";
7
+ import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-D9KMUsNd.js";
8
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CFTgwwnd.js";
9
+ import { $ as DEFAULT_PROVIDER, A as resolveThinkingDefault, B as requireApiKey, C as normalizeModelRef$2, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, G as normalizeSecretInput, H as resolveEnvApiKey, I as OLLAMA_NATIVE_BASE_URL, J as resolveShellEnvFallbackTimeoutMs, K as getShellPathFromLoginShell, L as createOllamaStreamFn, O as resolveModelRefFromString, Q as DEFAULT_MODEL, R as getApiKeyForModel, S as modelKey, U as resolveModelAuthMode, V as resolveApiKeyForProvider, Z as DEFAULT_CONTEXT_TOKENS, _ as buildAllowedModelSet, a as markAuthProfileFailure, b as findNormalizedProviderValue, c as dedupeProfileIds, d as ensureAuthProfileStore, et as resolveAuthProfileDisplayLabel, f as resolveAuthStorePathForDisplay, i as isProfileInCooldown, k as resolveSubagentSpawnModelSelection, l as listProfilesForProvider, m as withFileLock, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildConfiguredAllowlistKeys, w as normalizeProviderId, x as isCliProvider, y as buildModelAliasIndex, z as getCustomProviderApiKey } from "./auth-profiles-BoHFXe5T.js";
10
+ import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-D9chTL63.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-YSU-xmLw.js";
14
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-CCbXer2L.js";
15
- import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CBCGTsIb.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-X5wmeW9f.js";
17
- import { l as parseFrontmatterBlock } from "./frontmatter-CTR5f_Ez.js";
18
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DjtoXuuJ.js";
13
+ import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-C4GmoY6O.js";
14
+ import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BmrykwKO.js";
15
+ import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-2WUbwZgO.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BK_P1Tqm.js";
17
+ import { l as parseFrontmatterBlock } from "./frontmatter-BbIorbzs.js";
18
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DofJnEQw.js";
19
19
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
20
- import { c as detectMime, d as imageMimeFromFormat, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DFFGK0lW.js";
20
+ import { c as detectMime, d as imageMimeFromFormat, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DuOHpA9U.js";
21
21
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DpUUUgkK.js";
22
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-BOFCIL6J.js";
23
- import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-awGU51JX.js";
24
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-OlFBYAw8.js";
22
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-Bihue0SL.js";
23
+ import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-DOvUroda.js";
24
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-w9cWbx_W.js";
25
25
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
26
26
  import { n as resolveConversationLabel } from "./conversation-label-Onz2hiJh.js";
27
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-BpFxTfLA.js";
28
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
29
- import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
30
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BuZxOb3B.js";
31
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-fVqebfsH.js";
32
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-XAxr3MFp.js";
27
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-CneV0s1f.js";
28
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-D5o2mAKN.js";
29
+ import { t as resolveIMessageAccount } from "./accounts-BaIiyR_C.js";
30
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-nSMFGcjE.js";
31
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DWrapvrU.js";
32
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DkU1UYlf.js";
33
33
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BrogUBLf.js";
34
34
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-rfRgaULw.js";
35
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CiD-DaWf.js";
36
- import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-BfgRx_NK.js";
37
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, o as logMessageQueued, p as isDiagnosticsEnabled, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BjfiehUF.js";
35
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-C6fG5hIF.js";
36
+ import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-DbgdviSo.js";
37
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, o as logMessageQueued, p as isDiagnosticsEnabled, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-B0Ynd2kf.js";
38
38
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C9jKr8qI.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-C2w5iw4N.js";
40
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-S_NBOBoK.js";
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-BQTsCyf6.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-D1wT_m5z.js";
40
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-h8jIzOEa.js";
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-B_g1He3g.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
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-zwcQLMln.js";
43
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DqhURPy6.js";
44
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-C2jDmkaH.js";
45
45
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
46
- import { n as retryAsync } from "./retry-B-y5suGA.js";
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";
48
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BRe1o4Af.js";
49
- import { n as resolveMarkdownTableMode } from "./markdown-tables-bViwuQKQ.js";
46
+ import { n as retryAsync } from "./retry-CmtozApI.js";
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-S2DP7RcP.js";
48
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BMvnM1K5.js";
49
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-stYj7BCB.js";
50
50
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCBkyv1.js";
51
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-jzqRdkXA.js";
52
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CC6LUYsV.js";
53
- import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-Tug42snN.js";
54
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-7_mUx-F3.js";
55
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BXs_duC2.js";
51
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-BacHGRfJ.js";
52
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BpwvHMZb.js";
53
+ import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-D0jEfZ42.js";
54
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-R8qsprXG.js";
55
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-C0wJE3kM.js";
56
56
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
57
57
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
58
58
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-q0xAK3nQ.js";
59
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D8QD7GoV.js";
59
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-cK3ZB6TE.js";
60
60
  import { n as normalizePollInput } from "./polls-Kt7OzYCK.js";
61
- import { t as convertMarkdownTables } from "./tables-DTIPf6oV.js";
62
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DUmV-ltI.js";
63
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-R3nkEMMb.js";
64
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Cz45JFdW.js";
61
+ import { t as convertMarkdownTables } from "./tables-DKFvaDXb.js";
62
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DXW6BXBH.js";
63
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-DGVcpcfh.js";
64
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CAgv6NO0.js";
65
65
  import { t as makeProxyFetch } from "./proxy-d9fklNTC.js";
66
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CDz80zCR.js";
67
- import { t as getActiveWebListener } from "./active-listener-BVZOh2T1.js";
66
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CvvV7FsP.js";
67
+ import { t as getActiveWebListener } from "./active-listener-u0n6lV-h.js";
68
68
  import { createRequire } from "node:module";
69
69
  import * as path$1 from "node:path";
70
70
  import path from "node:path";
71
71
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
72
72
  import os, { homedir } from "node:os";
73
- import JSON5 from "json5";
73
+ import json5 from "json5";
74
74
  import * as fs$2 from "node:fs/promises";
75
75
  import fs$1 from "node:fs/promises";
76
76
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -82,7 +82,7 @@ import AjvPkg from "ajv";
82
82
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
83
83
  import { createServer } from "node:http";
84
84
  import { ProxyAgent, fetch as fetch$1 } from "undici";
85
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
85
+ import WebSocket$1, { WebSocket } from "ws";
86
86
  import { Buffer as Buffer$1 } from "node:buffer";
87
87
  import { EdgeTTS } from "node-edge-tts";
88
88
  import { createJiti } from "jiti";
@@ -785,7 +785,11 @@ const SAFETY_AND_STYLE_ADDITIONS = [
785
785
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
786
786
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
787
787
  "- If you need to verify your work, do so before writing your response, not after.",
788
- "- Send brief progress updates on long tasks so the user knows you are active."
788
+ "- Send brief progress updates on long tasks so the user knows you are active.",
789
+ "TOOL USE DISCIPLINE (no fabrication):",
790
+ "- If the user asks you to use a tool (e.g., 'use exec to run X', 'read the file', 'check the hostname'), you MUST invoke that tool. Do not answer from training data or priors in place of an actual tool call.",
791
+ "- Never narrate or quote tool output you did not receive from a real tool result. Writing 'I ran X and got Y' without a corresponding tool call is fabrication.",
792
+ "- For local-system facts (hostname, file contents, process state, env vars, current dir), the answer comes from running the tool, not from priors — always invoke."
789
793
  ];
790
794
  /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
791
795
  * planning internal. Not applied to Gemma/Ollama because those models
@@ -4601,7 +4605,7 @@ async function getMemorySearchManager(params) {
4601
4605
  if (cached) return { manager: cached };
4602
4606
  }
4603
4607
  try {
4604
- const { QmdMemoryManager } = await import("./qmd-manager-DDKAOUcn.js");
4608
+ const { QmdMemoryManager } = await import("./qmd-manager-Cx3O7YFm.js");
4605
4609
  const primary = await QmdMemoryManager.create({
4606
4610
  cfg: params.cfg,
4607
4611
  agentId: params.agentId,
@@ -4613,7 +4617,7 @@ async function getMemorySearchManager(params) {
4613
4617
  const wrapper = new FallbackMemoryManager({
4614
4618
  primary,
4615
4619
  fallbackFactory: async () => {
4616
- const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4620
+ const { MemoryIndexManager } = await import("./manager-C2jDmkaH.js").then((n) => n.t);
4617
4621
  return await MemoryIndexManager.get(params);
4618
4622
  }
4619
4623
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4626,7 +4630,7 @@ async function getMemorySearchManager(params) {
4626
4630
  }
4627
4631
  }
4628
4632
  try {
4629
- const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4633
+ const { MemoryIndexManager } = await import("./manager-C2jDmkaH.js").then((n) => n.t);
4630
4634
  return { manager: await MemoryIndexManager.get(params) };
4631
4635
  } catch (err) {
4632
4636
  return {
@@ -7491,6 +7495,11 @@ function buildAgentSystemPrompt(params) {
7491
7495
  "If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done.",
7492
7496
  "Do not poll `subagents list` / `sessions_list` in a loop; only check status on-demand (for intervention, debugging, or when explicitly asked).",
7493
7497
  "",
7498
+ "## Tool Use Discipline (mandatory)",
7499
+ "- If the user explicitly tells you to use a tool (e.g., \"use exec to run X\", \"read the file with read\", \"check the hostname\"), you MUST invoke that tool. Do not answer from training data or memory in place of the tool call.",
7500
+ "- 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.",
7501
+ "- 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.",
7502
+ "",
7494
7503
  ...compactMode ? [] : [
7495
7504
  "## Tool Call Style",
7496
7505
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -7739,7 +7748,7 @@ async function recordLoopOutcome(args) {
7739
7748
  if (!args.ctx?.sessionKey) return;
7740
7749
  try {
7741
7750
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C9jKr8qI.js").then((n) => n.n);
7742
- const { recordToolCallOutcome } = await import("./tool-loop-detection-Dj9h1ogr.js");
7751
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-Bs0RG2qV.js");
7743
7752
  recordToolCallOutcome(getDiagnosticSessionState({
7744
7753
  sessionKey: args.ctx.sessionKey,
7745
7754
  sessionId: args.ctx?.agentId
@@ -7760,8 +7769,8 @@ async function runBeforeToolCallHook(args) {
7760
7769
  const params = args.params;
7761
7770
  if (args.ctx?.sessionKey) {
7762
7771
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-C9jKr8qI.js").then((n) => n.n);
7763
- const { logToolLoopAction } = await import("./diagnostic-BjfiehUF.js").then((n) => n.n);
7764
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Dj9h1ogr.js");
7772
+ const { logToolLoopAction } = await import("./diagnostic-B0Ynd2kf.js").then((n) => n.n);
7773
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Bs0RG2qV.js");
7765
7774
  const sessionState = getDiagnosticSessionState({
7766
7775
  sessionKey: args.ctx.sessionKey,
7767
7776
  sessionId: args.ctx?.agentId
@@ -9667,7 +9676,7 @@ var GatewayClient = class {
9667
9676
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
9668
9677
  });
9669
9678
  }
9670
- this.ws = new WebSocket$1(url, wsOptions);
9679
+ this.ws = new WebSocket(url, wsOptions);
9671
9680
  this.ws.on("open", () => {
9672
9681
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
9673
9682
  const tlsError = this.validateTlsFingerprint();
@@ -9886,7 +9895,7 @@ var GatewayClient = class {
9886
9895
  return null;
9887
9896
  }
9888
9897
  async request(method, params, opts) {
9889
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9898
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9890
9899
  const id = randomUUID();
9891
9900
  const frame = {
9892
9901
  type: "req",
@@ -11085,7 +11094,7 @@ async function routeReply(params) {
11085
11094
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
11086
11095
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
11087
11096
  try {
11088
- const { deliverOutboundPayloads } = await import("./deliver-BfgRx_NK.js").then((n) => n.n);
11097
+ const { deliverOutboundPayloads } = await import("./deliver-DbgdviSo.js").then((n) => n.n);
11089
11098
  return {
11090
11099
  ok: true,
11091
11100
  messageId: (await deliverOutboundPayloads({
@@ -11362,7 +11371,7 @@ function normalizeSessionKey(value) {
11362
11371
  function readSessionStore(storePath) {
11363
11372
  try {
11364
11373
  const raw = fs.readFileSync(storePath, "utf-8");
11365
- const parsed = JSON5.parse(raw);
11374
+ const parsed = json5.parse(raw);
11366
11375
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
11367
11376
  } catch {}
11368
11377
  return {};
@@ -17166,7 +17175,7 @@ async function createModelSelectionState(params) {
17166
17175
  }
17167
17176
  }
17168
17177
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
17169
- const { ensureAuthProfileStore } = await import("./auth-profiles-Bs0Z0FzU.js").then((n) => n.t);
17178
+ const { ensureAuthProfileStore } = await import("./auth-profiles-BoHFXe5T.js").then((n) => n.t);
17170
17179
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
17171
17180
  const providerKey = normalizeProviderId(provider);
17172
17181
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -41966,7 +41975,7 @@ async function deliverSessionMaintenanceWarning(params) {
41966
41975
  return;
41967
41976
  }
41968
41977
  try {
41969
- const { deliverOutboundPayloads } = await import("./deliver-BfgRx_NK.js").then((n) => n.n);
41978
+ const { deliverOutboundPayloads } = await import("./deliver-DbgdviSo.js").then((n) => n.n);
41970
41979
  await deliverOutboundPayloads({
41971
41980
  cfg: params.cfg,
41972
41981
  channel,
@@ -46167,7 +46176,7 @@ async function describeStickerImage(params) {
46167
46176
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46168
46177
  try {
46169
46178
  const buffer = await fs$1.readFile(imagePath);
46170
- const { describeImageWithModel } = await import("./image-C2w5iw4N.js").then((n) => n.n);
46179
+ const { describeImageWithModel } = await import("./image-D1wT_m5z.js").then((n) => n.n);
46171
46180
  return (await describeImageWithModel({
46172
46181
  buffer,
46173
46182
  fileName: "sticker.webp",
@@ -46590,7 +46599,7 @@ function createWhatsAppLoginTool() {
46590
46599
  force: Type.Optional(Type.Boolean())
46591
46600
  }),
46592
46601
  execute: async (_toolCallId, args) => {
46593
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-UB9DGMzi.js");
46602
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-n2FhZV37.js");
46594
46603
  if ((args?.action ?? "start") === "wait") {
46595
46604
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
46596
46605
  return {
@@ -48916,7 +48925,7 @@ async function preflightDiscordMessage(params) {
48916
48925
  let preflightTranscript;
48917
48926
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
48918
48927
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
48919
- const { transcribeFirstAudio } = await import("./audio-preflight-DrG2ef4O.js");
48928
+ const { transcribeFirstAudio } = await import("./audio-preflight-CWHghOEi.js");
48920
48929
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
48921
48930
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
48922
48931
  ctx: {
@@ -53662,27 +53671,27 @@ function setCliSessionId(entry, provider, sessionId) {
53662
53671
  function createDefaultDeps() {
53663
53672
  return {
53664
53673
  sendMessageWhatsApp: async (...args) => {
53665
- const { sendMessageWhatsApp } = await import("./web-CSDi520u.js");
53674
+ const { sendMessageWhatsApp } = await import("./web-4pKRGaN9.js");
53666
53675
  return await sendMessageWhatsApp(...args);
53667
53676
  },
53668
53677
  sendMessageTelegram: async (...args) => {
53669
- const { sendMessageTelegram } = await import("./send-BQTsCyf6.js").then((n) => n.l);
53678
+ const { sendMessageTelegram } = await import("./send-B_g1He3g.js").then((n) => n.l);
53670
53679
  return await sendMessageTelegram(...args);
53671
53680
  },
53672
53681
  sendMessageDiscord: async (...args) => {
53673
- const { sendMessageDiscord } = await import("./send-XAxr3MFp.js").then((n) => n.t);
53682
+ const { sendMessageDiscord } = await import("./send-DkU1UYlf.js").then((n) => n.t);
53674
53683
  return await sendMessageDiscord(...args);
53675
53684
  },
53676
53685
  sendMessageSlack: async (...args) => {
53677
- const { sendMessageSlack } = await import("./send-fVqebfsH.js").then((n) => n.n);
53686
+ const { sendMessageSlack } = await import("./send-DWrapvrU.js").then((n) => n.n);
53678
53687
  return await sendMessageSlack(...args);
53679
53688
  },
53680
53689
  sendMessageSignal: async (...args) => {
53681
- const { sendMessageSignal } = await import("./send-DUmV-ltI.js").then((n) => n.i);
53690
+ const { sendMessageSignal } = await import("./send-DXW6BXBH.js").then((n) => n.i);
53682
53691
  return await sendMessageSignal(...args);
53683
53692
  },
53684
53693
  sendMessageIMessage: async (...args) => {
53685
- const { sendMessageIMessage } = await import("./send-R3nkEMMb.js").then((n) => n.n);
53694
+ const { sendMessageIMessage } = await import("./send-DGVcpcfh.js").then((n) => n.n);
53686
53695
  return await sendMessageIMessage(...args);
53687
53696
  }
53688
53697
  };
@@ -56567,7 +56576,7 @@ function createDiscordGatewayPlugin(params) {
56567
56576
  super(options);
56568
56577
  }
56569
56578
  createWebSocket(url) {
56570
- return new WebSocket(url, { agent });
56579
+ return new WebSocket$1(url, { agent });
56571
56580
  }
56572
56581
  }
56573
56582
  return new ProxyGatewayPlugin();
@@ -64109,7 +64118,7 @@ function readSlackExternalArgMenuToken(raw) {
64109
64118
  }
64110
64119
  let commandsRegistry;
64111
64120
  async function getCommandsRegistry() {
64112
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Tug42snN.js").then((n) => n.n);
64121
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-D0jEfZ42.js").then((n) => n.n);
64113
64122
  return commandsRegistry;
64114
64123
  }
64115
64124
  function encodeSlackCommandArgValue(parts) {
@@ -64451,11 +64460,11 @@ async function registerSlackMonitorSlashCommands(params) {
64451
64460
  const channelName = channelInfo?.name;
64452
64461
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
64453
64462
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
64454
- import("./resolve-route-Cz45JFdW.js").then((n) => n.r),
64463
+ import("./resolve-route-CAgv6NO0.js").then((n) => n.r),
64455
64464
  import("./inbound-context-DZQU0r3y.js").then((n) => n.n),
64456
64465
  Promise.resolve().then(() => provider_dispatcher_exports)
64457
64466
  ]);
64458
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Onz2hiJh.js").then((n) => n.t), import("./reply-prefix-C1Tw2ERK.js").then((n) => n.n)]);
64467
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Onz2hiJh.js").then((n) => n.t), import("./reply-prefix-DqhURPy6.js").then((n) => n.n)]);
64459
64468
  const route = resolveAgentRoute({
64460
64469
  cfg,
64461
64470
  channel: "slack",
@@ -64512,9 +64521,9 @@ async function registerSlackMonitorSlashCommands(params) {
64512
64521
  });
64513
64522
  const deliverSlashPayloads = async (replies) => {
64514
64523
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64515
- import("./replies-CDz80zCR.js").then((n) => n.r),
64516
- import("./chunk-BRe1o4Af.js").then((n) => n.s),
64517
- import("./markdown-tables-bViwuQKQ.js").then((n) => n.t)
64524
+ import("./replies-CvvV7FsP.js").then((n) => n.r),
64525
+ import("./chunk-BMvnM1K5.js").then((n) => n.s),
64526
+ import("./markdown-tables-stYj7BCB.js").then((n) => n.t)
64518
64527
  ]);
64519
64528
  await deliverSlackSlashReplies({
64520
64529
  replies,
@@ -64567,7 +64576,7 @@ async function registerSlackMonitorSlashCommands(params) {
64567
64576
  let nativeCommands = [];
64568
64577
  if (nativeEnabled) {
64569
64578
  reg = await getCommandsRegistry();
64570
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BXs_duC2.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64579
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C0wJE3kM.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64571
64580
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
64572
64581
  skillCommands,
64573
64582
  provider: "slack"
@@ -66785,7 +66794,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66785
66794
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66786
66795
  let preflightTranscript;
66787
66796
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66788
- const { transcribeFirstAudio } = await import("./audio-preflight-DrG2ef4O.js");
66797
+ const { transcribeFirstAudio } = await import("./audio-preflight-CWHghOEi.js");
66789
66798
  preflightTranscript = await transcribeFirstAudio({
66790
66799
  ctx: {
66791
66800
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68930,23 +68939,23 @@ let webLoginQrPromise = null;
68930
68939
  let webChannelPromise = null;
68931
68940
  let whatsappActionsPromise = null;
68932
68941
  function loadWebOutbound() {
68933
- webOutboundPromise ??= import("./outbound-DUO7IkKe.js").then((n) => n.t);
68942
+ webOutboundPromise ??= import("./outbound-BQZtNLk5.js").then((n) => n.t);
68934
68943
  return webOutboundPromise;
68935
68944
  }
68936
68945
  function loadWebLogin() {
68937
- webLoginPromise ??= import("./login-DHJnG8aX.js").then((n) => n.n);
68946
+ webLoginPromise ??= import("./login-C9Nfj1r0.js").then((n) => n.n);
68938
68947
  return webLoginPromise;
68939
68948
  }
68940
68949
  function loadWebLoginQr() {
68941
- webLoginQrPromise ??= import("./login-qr-UB9DGMzi.js");
68950
+ webLoginQrPromise ??= import("./login-qr-n2FhZV37.js");
68942
68951
  return webLoginQrPromise;
68943
68952
  }
68944
68953
  function loadWebChannel() {
68945
- webChannelPromise ??= import("./web-CSDi520u.js");
68954
+ webChannelPromise ??= import("./web-4pKRGaN9.js");
68946
68955
  return webChannelPromise;
68947
68956
  }
68948
68957
  function loadWhatsAppActions() {
68949
- whatsappActionsPromise ??= import("./whatsapp-actions-XPj837oV.js");
68958
+ whatsappActionsPromise ??= import("./whatsapp-actions-BVTo7B3-.js");
68950
68959
  return whatsappActionsPromise;
68951
68960
  }
68952
68961
  function createPluginRuntime() {
@@ -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-JOScPOPJ.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-BEZM7jn9.js";
58
- import { i as resolveMemorySearchConfig } from "./manager-DKUOUCmo.js";
57
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-D69x8sVz.js";
58
+ import { i as resolveMemorySearchConfig } from "./manager-DjHARmFk.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";
@@ -841,7 +841,11 @@ const SAFETY_AND_STYLE_ADDITIONS = [
841
841
  "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
842
842
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
843
843
  "- If you need to verify your work, do so before writing your response, not after.",
844
- "- Send brief progress updates on long tasks so the user knows you are active."
844
+ "- Send brief progress updates on long tasks so the user knows you are active.",
845
+ "TOOL USE DISCIPLINE (no fabrication):",
846
+ "- If the user asks you to use a tool (e.g., 'use exec to run X', 'read the file', 'check the hostname'), you MUST invoke that tool. Do not answer from training data or priors in place of an actual tool call.",
847
+ "- Never narrate or quote tool output you did not receive from a real tool result. Writing 'I ran X and got Y' without a corresponding tool call is fabrication.",
848
+ "- For local-system facts (hostname, file contents, process state, env vars, current dir), the answer comes from running the tool, not from priors — always invoke."
845
849
  ];
846
850
  /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
847
851
  * planning internal. Not applied to Gemma/Ollama because those models
@@ -6828,6 +6832,11 @@ function buildAgentSystemPrompt(params) {
6828
6832
  "If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done.",
6829
6833
  "Do not poll `subagents list` / `sessions_list` in a loop; only check status on-demand (for intervention, debugging, or when explicitly asked).",
6830
6834
  "",
6835
+ "## Tool Use Discipline (mandatory)",
6836
+ "- If the user explicitly tells you to use a tool (e.g., \"use exec to run X\", \"read the file with read\", \"check the hostname\"), you MUST invoke that tool. Do not answer from training data or memory in place of the tool call.",
6837
+ "- 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.",
6838
+ "- 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.",
6839
+ "",
6831
6840
  ...compactMode ? [] : [
6832
6841
  "## Tool Call Style",
6833
6842
  "Default: do not narrate routine, low-risk tool calls (just call the tool).",
@@ -48478,7 +48487,7 @@ function setCliSessionId(entry, provider, sessionId) {
48478
48487
  function createDefaultDeps() {
48479
48488
  return {
48480
48489
  sendMessageWhatsApp: async (...args) => {
48481
- const { sendMessageWhatsApp } = await import("./web-DMFKXi8s.js");
48490
+ const { sendMessageWhatsApp } = await import("./web-Cm1sUEcG.js");
48482
48491
  return await sendMessageWhatsApp(...args);
48483
48492
  },
48484
48493
  sendMessageTelegram: async (...args) => {
@@ -63792,7 +63801,7 @@ function loadWebLoginQr() {
63792
63801
  return webLoginQrPromise;
63793
63802
  }
63794
63803
  function loadWebChannel() {
63795
- webChannelPromise ??= import("./web-DMFKXi8s.js");
63804
+ webChannelPromise ??= import("./web-Cm1sUEcG.js");
63796
63805
  return webChannelPromise;
63797
63806
  }
63798
63807
  function loadWhatsAppActions() {
@@ -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-CdBxbcO2.js";
4
+ import { vt as trimLogTail } from "./unified-runner-DWZT5BCl.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CtBXKml4.js";
@@ -57,8 +57,8 @@ import "./send-CrFVrFoV.js";
57
57
  import "./model-JOScPOPJ.js";
58
58
  import "./pi-model-discovery-CXXH7biP.js";
59
59
  import "./reply-prefix-DnXliXio.js";
60
- import "./memory-cli-BEZM7jn9.js";
61
- import "./manager-DKUOUCmo.js";
60
+ import "./memory-cli-D69x8sVz.js";
61
+ import "./manager-DjHARmFk.js";
62
62
  import "./gemini-auth-rYBkv11i.js";
63
63
  import "./retry-DYICeae5.js";
64
64
  import "./sqlite-CRogFEk1.js";
@@ -106,9 +106,9 @@ import "./onboard-helpers-ncV67aOo.js";
106
106
  import { n as stylePromptMessage } from "./prompt-style-CSNJI4MG.js";
107
107
  import "./pairing-labels-DJfFSZUS.js";
108
108
  import "./pi-tools.policy-D4i_i5CV.js";
109
- import "./heartbeat-visibility-C4Sg0QOd.js";
109
+ import "./heartbeat-visibility-_mPYbQT2.js";
110
110
  import { r as parseSemver } from "./runtime-guard-dBbuLE2m.js";
111
- import "./program-context-Baw4Oc1H.js";
111
+ import "./program-context-DsPL6cge.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-IKI4BpqL.js";
122
+ import { r as installCompletion } from "./completion-cli-Dnyp6OJy.js";
123
123
  import "./daemon-runtime-CNvz5bbJ.js";
124
124
  import "./systemd-z4aO4iTi.js";
125
125
  import { t as resolveGatewayService } from "./service-CW2RUNzh.js";
@@ -128,19 +128,19 @@ import "./systemd-hints-CnJtd2EU.js";
128
128
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BZuA8L1N.js";
129
129
  import "./diagnostics-D40jPn_9.js";
130
130
  import { t as renderTable } from "./table-Cg6YZXv9.js";
131
- import "./health-CCKCR4oM.js";
131
+ import "./health-xGaC5l7K.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-Ca_yzxgO.js";
135
135
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B7og6NgE.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-DLCzD7sp.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-D1V7cGWA.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-D3sS9iLa.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-Cm6mr7mH.js";
143
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-VAGhCLD5.js";
142
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BaQx_oFk.js";
143
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D6U7k8ef.js";
144
144
  import os from "node:os";
145
145
  import path from "node:path";
146
146
  import fs from "node:fs/promises";