@symerian/symi 2.6.40 → 2.6.41

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 (343) hide show
  1. package/dist/{acp-cli-Cm65S6FL.js → acp-cli-BLUeUUA5.js} +2 -2
  2. package/dist/{acp-cli-CArw-nEj.js → acp-cli-CrEIx-c7.js} +2 -2
  3. package/dist/{agents-BUphGO8B.js → agents-B4RNdKQ3.js} +7 -7
  4. package/dist/{agents.config-bWQyGjxK.js → agents.config-CA31c0kN.js} +1 -1
  5. package/dist/{agents.config-C5FjRTiH.js → agents.config-CG2klYOg.js} +1 -1
  6. package/dist/{audio-preflight-DEJHmI9r.js → audio-preflight-CIiS5cfP.js} +11 -11
  7. package/dist/{audio-preflight-B0alOE_D.js → audio-preflight-DD18zIZd.js} +5 -5
  8. package/dist/{audio-preflight-BUO1aDLp.js → audio-preflight-K-s65jbB.js} +5 -5
  9. package/dist/{audio-preflight-EindUWk_.js → audio-preflight-XrlQA8IZ.js} +11 -11
  10. package/dist/{audit-ChxZ7_3y.js → audit-BjI_Yyr5.js} +5 -5
  11. package/dist/{audit-B_XnVSC_.js → audit-DB9YkTVX.js} +5 -5
  12. package/dist/{auth-choice-CScrqcEI.js → auth-choice-CCGIgXvF.js} +4 -4
  13. package/dist/{auth-choice-BZIJ1WP4.js → auth-choice-CiMf3Pjp.js} +4 -4
  14. package/dist/{banner-DdxLX10a.js → banner-BNsB_A87.js} +1 -1
  15. package/dist/{browser-cli-B8qCOonD.js → browser-cli-Ctn9do4z.js} +3 -3
  16. package/dist/{browser-cli-d3tBzuZB.js → browser-cli-kDUw45Y0.js} +3 -3
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +13 -13
  19. package/dist/bundled/session-memory/handler.js +13 -13
  20. package/dist/{call-CLKMnHOP.js → call-DKi-hnaF.js} +1 -1
  21. package/dist/{call-Dqx-xSZ7.js → call-DwpGquzW.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-CC5ojwB6.js → channel-options-BMQlkUDX.js} +1 -1
  24. package/dist/{channel-options-BAqgueJ5.js → channel-options-pAH4A-xX.js} +1 -1
  25. package/dist/{channel-web-_jV8VUEw.js → channel-web-Dwuj48T5.js} +7 -7
  26. package/dist/{channels-cli-1we8fBWm.js → channels-cli-CuExxB0U.js} +30 -30
  27. package/dist/{channels-cli-GldZ8ajW.js → channels-cli-rmDzxb0W.js} +29 -29
  28. package/dist/{chrome-D07ZncFh.js → chrome-BYOhnxTr.js} +8 -8
  29. package/dist/{chrome-DJn17LsI.js → chrome-BxwUEWrH.js} +1 -1
  30. package/dist/{chrome-Cixcv-qk.js → chrome-DAw-AWNi.js} +1 -1
  31. package/dist/{chrome-DtPv6OzN.js → chrome-DU2ZysN3.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-CNO5cyFx.js → cli-BPGZalMg.js} +25 -25
  34. package/dist/{cli-DZAotBEi.js → cli-Mcq2pPI0.js} +26 -26
  35. package/dist/{command-registry-DZIdLwVe.js → command-registry-BoEw2RzH.js} +11 -11
  36. package/dist/{completion-cli-BWw06AVN.js → completion-cli-CE9Xqlyx.js} +1 -1
  37. package/dist/{completion-cli-DYgPksHH.js → completion-cli-CQVZGJPg.js} +2 -2
  38. package/dist/{config-CyV6zkEL.js → config-B6OxYMgn.js} +6 -1
  39. package/dist/{config-BwQutavB.js → config-BNTB6qj8.js} +6 -1
  40. package/dist/{config-jVLwO6DP.js → config-BUTI-mUZ.js} +6 -1
  41. package/dist/{config-Bjt5P4vW.js → config-Dz95lSBW.js} +6 -1
  42. package/dist/{config-cli-DNHtgLYH.js → config-cli-BucNvr-c.js} +2 -2
  43. package/dist/{config-cli-BOS84uDD.js → config-cli-mU_ckD4l.js} +2 -2
  44. package/dist/{config-guard-bJv1t515.js → config-guard-B1skCv1C.js} +2 -2
  45. package/dist/{config-guard-BTGDJDTi.js → config-guard-CEkSg4hl.js} +3 -3
  46. package/dist/{config-validation-D1EjO6bG.js → config-validation-Cutpn5eO.js} +1 -1
  47. package/dist/{config-validation-PZAxf4DR.js → config-validation-HDVDlMSV.js} +1 -1
  48. package/dist/{configure-B7YGhbtM.js → configure-CDOF87Fk.js} +10 -10
  49. package/dist/{configure-DZQuTL_V.js → configure-CxnBcN95.js} +10 -10
  50. package/dist/{control-service-B0G5d40m.js → control-service-BYKXzY4f.js} +4 -4
  51. package/dist/{control-service-BW1BNnC1.js → control-service-rbSHSlcd.js} +4 -4
  52. package/dist/control-ui/js/app.js +41 -0
  53. package/dist/{cron-cli-B88WIOK2.js → cron-cli-DCpsXkrw.js} +3 -3
  54. package/dist/{cron-cli-QxHcrynL.js → cron-cli-QCTdVZuP.js} +3 -3
  55. package/dist/{daemon-cli-Cy45NZwV.js → daemon-cli-DSDcmWOi.js} +6 -6
  56. package/dist/{daemon-cli-DK3CCo49.js → daemon-cli-DhJYEAoL.js} +6 -6
  57. package/dist/daemon-cli.js +6 -1
  58. package/dist/{daemon-runtime-A-deduW3.js → daemon-runtime-CVFg-ZmT.js} +1 -1
  59. package/dist/{daemon-runtime-CdKAsAeg.js → daemon-runtime-mE1b-Q48.js} +1 -1
  60. package/dist/{deliver-BjpaKGTx.js → deliver-B4KZ6-oZ.js} +3 -3
  61. package/dist/{deliver-BCmoI9iE.js → deliver-Bu0iWeja.js} +3 -3
  62. package/dist/{deliver-Cm6Yfbzh.js → deliver-C1HRkzPJ.js} +2 -2
  63. package/dist/{deliver-SIVO_ZZm.js → deliver-DtuY4Wgl.js} +2 -2
  64. package/dist/{devices-cli-f3yJl6-G.js → devices-cli-BNG-fvdl.js} +2 -2
  65. package/dist/{devices-cli-D6sKbRkk.js → devices-cli-x3jIP4Ih.js} +2 -2
  66. package/dist/{directory-cli-DDb20Fzl.js → directory-cli-BxnSZZsW.js} +1 -1
  67. package/dist/{directory-cli-hohI4d8v.js → directory-cli-KgsAVTA0.js} +1 -1
  68. package/dist/{dns-cli-DIZyU_2d.js → dns-cli-BuVomfxS.js} +1 -1
  69. package/dist/{dns-cli-C1SXZIAh.js → dns-cli-Cwr92Aiq.js} +1 -1
  70. package/dist/{doctor-completion-UC-Jc5jn.js → doctor-completion-CHF_TwGQ.js} +1 -1
  71. package/dist/{doctor-completion-BayL_S0c.js → doctor-completion-CoftKlUX.js} +1 -1
  72. package/dist/{doctor-config-flow-DLtGtIf_.js → doctor-config-flow-DhAYwhNB.js} +2 -2
  73. package/dist/{doctor-config-flow-i4XYSFXR.js → doctor-config-flow-iIzSEQxb.js} +2 -2
  74. package/dist/entry.js +1 -1
  75. package/dist/{exec-approvals-cli-DpFjEahL.js → exec-approvals-cli-BSgxsdMt.js} +4 -4
  76. package/dist/{exec-approvals-cli-Cr-mrEfY.js → exec-approvals-cli-CmndFjEA.js} +4 -4
  77. package/dist/extensionAPI.js +13 -13
  78. package/dist/{gateway-cli-Cwh2BbPv.js → gateway-cli-G7fiXsQ6.js} +42 -42
  79. package/dist/{gateway-cli-BFPPqLYw.js → gateway-cli-SNaqDM7f.js} +41 -41
  80. package/dist/{gateway-rpc-CS_pPYyV.js → gateway-rpc-5fREQe9Q.js} +1 -1
  81. package/dist/{gateway-rpc-Ddqs16S-.js → gateway-rpc-BMdVa3QV.js} +1 -1
  82. package/dist/{glass-ui-ws-DB9p7t4H.js → glass-ui-ws-CF0__vuO.js} +34 -34
  83. package/dist/{glass-ui-ws-BfHJCfCz.js → glass-ui-ws-he25wGFt.js} +33 -33
  84. package/dist/{health-Bx6RQ4MZ.js → health-en2N_Kqc.js} +5 -5
  85. package/dist/{health-CLIwZbJe.js → health-q7706M36.js} +5 -5
  86. package/dist/{hooks-cli-BgALdxuB.js → hooks-cli-C4rVaLzZ.js} +26 -26
  87. package/dist/{hooks-cli-CF4fT-gm.js → hooks-cli-ChQbBpyb.js} +27 -27
  88. package/dist/{image-DI1dYFo0.js → image-BWmcNF8N.js} +2 -2
  89. package/dist/{image-KpMaj86B.js → image-C3wYkWyK.js} +2 -2
  90. package/dist/{image-BmIvgTV4.js → image-CbyTdMd5.js} +2 -2
  91. package/dist/{image-BrxGAFvc.js → image-lp19FlzF.js} +2 -2
  92. package/dist/index.js +34 -34
  93. package/dist/{lifecycle-core-BnlvcthF.js → lifecycle-core-BZ5sOcHT.js} +2 -2
  94. package/dist/{lifecycle-core-D8iU9ahw.js → lifecycle-core-C4HzGXA1.js} +2 -2
  95. package/dist/llm-slug-generator.js +13 -13
  96. package/dist/{login-CayZfsyE.js → login-BkbDSDPc.js} +2 -2
  97. package/dist/{login-bQWLSSfZ.js → login-BtBwGFrb.js} +2 -2
  98. package/dist/{login-DPxmcuIe.js → login-CiVdC-o_.js} +2 -2
  99. package/dist/{login-QU18rIZK.js → login-DODfJ3Dn.js} +2 -2
  100. package/dist/{login-qr-Bn4BQkWf.js → login-qr-CBRxijIg.js} +2 -2
  101. package/dist/{login-qr-BB2Zfn7K.js → login-qr-DPxuLEvD.js} +2 -2
  102. package/dist/{login-qr-CPn2Q7vV.js → login-qr-Dbw5m381.js} +2 -2
  103. package/dist/{login-qr-l5XwJWk9.js → login-qr-q201Ckfe.js} +2 -2
  104. package/dist/{logs-cli-COwO0YyZ.js → logs-cli-CfGj-dOg.js} +3 -3
  105. package/dist/{logs-cli-2z1YdwSX.js → logs-cli-DtlrLf7u.js} +3 -3
  106. package/dist/{memory-cli-B7GV_Iz_.js → memory-cli-Btzr8gfD.js} +1 -1
  107. package/dist/{memory-cli-9q0ppQpo.js → memory-cli-DDumUksr.js} +1 -1
  108. package/dist/{model-catalog-CsKgWlNp.js → model-catalog-8Son0J4O.js} +2 -2
  109. package/dist/{model-catalog-b9o0TtF7.js → model-catalog-DNvgFPZn.js} +2 -2
  110. package/dist/{model-picker-DBsP93uq.js → model-picker-CAm2Bftd.js} +2 -2
  111. package/dist/{model-picker-CRy3nJeT.js → model-picker-Casgrpw3.js} +2 -2
  112. package/dist/{models-CPIhph0W.js → models-DOTpfa7b.js} +8 -8
  113. package/dist/{models-cli-C01GsvW2.js → models-cli-CBl45f7R.js} +28 -28
  114. package/dist/{models-cli-CLqS4ENq.js → models-cli-MJAY_Wg4.js} +29 -29
  115. package/dist/{models-config-Bc8qKqev.js → models-config-Be8DRFkB.js} +1 -1
  116. package/dist/{models-config-BiIYPWCW.js → models-config-CFFjJPe7.js} +1 -1
  117. package/dist/{node-cli-BeZKOSYR.js → node-cli-DnfDOh1d.js} +9 -9
  118. package/dist/{node-cli-74pkmapS.js → node-cli-eHn9-YfJ.js} +9 -9
  119. package/dist/{nodes-cli-nic1q7eb.js → nodes-cli-Ci3oxw8k.js} +3 -3
  120. package/dist/{nodes-cli-DJHcnIfL.js → nodes-cli-Ct4M7JOe.js} +3 -3
  121. package/dist/{onboard-CzncEzdT.js → onboard-Bx02XPb1.js} +7 -7
  122. package/dist/{onboard-BrxB6sbz.js → onboard-DQdGJ1lE.js} +7 -7
  123. package/dist/{onboard-channels-BBUPobrz.js → onboard-channels-Bp89ZT6Q.js} +1 -1
  124. package/dist/{onboard-channels-H11ympjW.js → onboard-channels-Ct2eNYUC.js} +1 -1
  125. package/dist/{onboard-custom-BFbF4nGV.js → onboard-custom-CQOMQkfS.js} +2 -2
  126. package/dist/{onboard-custom-Bt-wDMSz.js → onboard-custom-XiomtQr7.js} +2 -2
  127. package/dist/{onboard-helpers-ChH5EhW2.js → onboard-helpers-BBtPmJEe.js} +2 -2
  128. package/dist/{onboard-helpers-MnxHJAaB.js → onboard-helpers-DFvWPFhU.js} +2 -2
  129. package/dist/{onboard-remote-57GHsVPU.js → onboard-remote-BURDxwoE.js} +1 -1
  130. package/dist/{onboard-remote-BRxgNeoe.js → onboard-remote-D-B4EiOE.js} +1 -1
  131. package/dist/{onboard-skills-DtcVRCTc.js → onboard-skills-BDCzVjxb.js} +1 -1
  132. package/dist/{onboard-skills-CLnJpRrp.js → onboard-skills-CbzgBT1W.js} +1 -1
  133. package/dist/{onboarding-D8p8ii63.js → onboarding-Dnn_0VTy.js} +10 -10
  134. package/dist/{onboarding-D7hzRo_I.js → onboarding-DxUcsrKV.js} +10 -10
  135. package/dist/{onboarding.finalize-BJUg2rlZ.js → onboarding.finalize-1kzzMLFM.js} +33 -33
  136. package/dist/{onboarding.finalize-C-rIKbkf.js → onboarding.finalize-Dwr-jEtL.js} +31 -31
  137. package/dist/{onboarding.gateway-config-CTbWQvl6.js → onboarding.gateway-config-B9zGPfCl.js} +4 -4
  138. package/dist/{onboarding.gateway-config-oxW0bLBK.js → onboarding.gateway-config-DKwJ5bWd.js} +4 -4
  139. package/dist/{outbound-BodV7hPd.js → outbound-BIOChOHt.js} +1 -1
  140. package/dist/{outbound-BOqx1b0e.js → outbound-Bt8rj9kO.js} +1 -1
  141. package/dist/{outbound-BhKz3zWF.js → outbound-DL8bdXlZ.js} +1 -1
  142. package/dist/{outbound-CG3KehgB.js → outbound-wnv03tb3.js} +1 -1
  143. package/dist/{pairing-cli-RbEs_EMc.js → pairing-cli-DSM82gJG.js} +1 -1
  144. package/dist/{pairing-cli-NErE7ajG.js → pairing-cli-HDWwcqjZ.js} +1 -1
  145. package/dist/{pi-embedded-b2yPH0UQ.js → pi-embedded-BfEg6Wwb.js} +377 -247
  146. package/dist/{pi-embedded-helpers-CeNTB0sV.js → pi-embedded-helpers-BgdB5kvy.js} +1 -1
  147. package/dist/{pi-embedded-helpers-cgZRM5cz.js → pi-embedded-helpers-DA4liAIZ.js} +1 -1
  148. package/dist/{pi-embedded-helpers-Bdac0DIf.js → pi-embedded-helpers-Dij3O6ox.js} +5 -5
  149. package/dist/{pi-embedded-helpers-BDI11Fqj.js → pi-embedded-helpers-GaCyI2oH.js} +5 -5
  150. package/dist/{pi-tools.policy-BYklnTNc.js → pi-tools.policy-DRWb_Cax.js} +2 -2
  151. package/dist/{pi-tools.policy-B4NDL7r-.js → pi-tools.policy-DxNwL7Dl.js} +2 -2
  152. package/dist/{plugin-registry-CzWOGG0k.js → plugin-registry-BMFEJ4FA.js} +2 -2
  153. package/dist/{plugin-registry-29yLAS46.js → plugin-registry-wAQeBSeD.js} +2 -2
  154. package/dist/plugin-sdk/agents/session-empty-prune.d.ts +37 -0
  155. package/dist/plugin-sdk/agents/session-transcript-repair.d.ts +8 -0
  156. package/dist/plugin-sdk/{audio-preflight-DSEypXnx.js → audio-preflight-BacDFPyc.js} +5 -5
  157. package/dist/plugin-sdk/{channel-web-DwLIjUen.js → channel-web-Ba27v-Om.js} +7 -7
  158. package/dist/plugin-sdk/{chrome-DC-la42T.js → chrome-BMimuhgP.js} +1 -1
  159. package/dist/plugin-sdk/config/model-profiles.d.ts +7 -0
  160. package/dist/plugin-sdk/config/zod-schema.core.d.ts +2 -0
  161. package/dist/plugin-sdk/config/zod-schema.d.ts +1 -0
  162. package/dist/plugin-sdk/{config-DgwyZd2S.js → config-DdA6JiyD.js} +6 -1
  163. package/dist/plugin-sdk/{deliver-7pgLdSpM.js → deliver-Bxa1-mj5.js} +2 -2
  164. package/dist/plugin-sdk/{image-CqMZSk6f.js → image-aq-JAobP.js} +2 -2
  165. package/dist/plugin-sdk/index.js +17 -17
  166. package/dist/plugin-sdk/{login-DJzS9QT2.js → login-CHgiUvI_.js} +2 -2
  167. package/dist/plugin-sdk/{login-qr-DziBjQY5.js → login-qr-D5vJo1fy.js} +2 -2
  168. package/dist/plugin-sdk/{outbound-DmsEc64Z.js → outbound-CD38Hxn9.js} +1 -1
  169. package/dist/plugin-sdk/{pi-embedded-helpers-C33OSgwG.js → pi-embedded-helpers-BPvzgLtj.js} +5 -5
  170. package/dist/plugin-sdk/{pw-ai-MIepjtIO.js → pw-ai-fdBOQzz5.js} +2 -2
  171. package/dist/plugin-sdk/{replies-Bw1Amxop.js → replies-CW_-4klO.js} +1 -1
  172. package/dist/plugin-sdk/{reply-BxYNpQRu.js → reply-Bok_WQGW.js} +377 -247
  173. package/dist/plugin-sdk/{runner-Bh4NdzRK.js → runner-BQJ7x06O.js} +2 -2
  174. package/dist/plugin-sdk/{send-CENVp2ol.js → send-C4t6h9-o.js} +1 -1
  175. package/dist/plugin-sdk/{send-Bf62p_ul.js → send-Cz_FQ8Ao.js} +1 -1
  176. package/dist/plugin-sdk/{send-D5_J2DiV.js → send-DG6c7BpZ.js} +1 -1
  177. package/dist/plugin-sdk/{send-P1G7c4FN.js → send-HKy51Hz_.js} +1 -1
  178. package/dist/plugin-sdk/{send-Ddy4p4LW.js → send-Xy1L54q4.js} +1 -1
  179. package/dist/plugin-sdk/{session-Z4-R_Top.js → session-BUzIlHr9.js} +1 -1
  180. package/dist/plugin-sdk/{web-DiNM_c37.js → web-BoOAa0Xn.js} +17 -17
  181. package/dist/plugin-sdk/{whatsapp-actions-Bg6DfWkN.js → whatsapp-actions-CZLagx0h.js} +2 -2
  182. package/dist/{plugins-cli-D4bGKnOF.js → plugins-cli-B36YKKla.js} +26 -26
  183. package/dist/{plugins-cli-DZ6arND4.js → plugins-cli-DoJbbST7.js} +27 -27
  184. package/dist/{program-DE9DbHYV.js → program-4f7W2RMs.js} +33 -33
  185. package/dist/{program-context-iI9_njQv.js → program-context-Y4KnAKNT.js} +38 -38
  186. package/dist/{prompt-select-styled-SHa0ZJL9.js → prompt-select-styled-D0sLJ4TD.js} +14 -14
  187. package/dist/{prompt-select-styled-D0ELdY0x.js → prompt-select-styled-Dql_0SI0.js} +14 -14
  188. package/dist/{provider-auth-helpers-EMBbfX3w.js → provider-auth-helpers-CJbHC_mv.js} +2 -2
  189. package/dist/{provider-auth-helpers-BI2k0jlH.js → provider-auth-helpers-GSv3namf.js} +2 -2
  190. package/dist/{push-apns-DyeCPAvI.js → push-apns-giplY7u-.js} +1 -1
  191. package/dist/{push-apns-DcbeaY5y.js → push-apns-sxB8QxSj.js} +1 -1
  192. package/dist/{pw-ai-LB6wkt8h.js → pw-ai-BCSFVeD5.js} +2 -2
  193. package/dist/{pw-ai-sY1BRRsq.js → pw-ai-BO5cSmwD.js} +2 -2
  194. package/dist/{pw-ai-C2z2aMEp.js → pw-ai-DQohWnzT.js} +2 -2
  195. package/dist/{pw-ai-C_7yEh9n.js → pw-ai-pQoxTh-a.js} +2 -2
  196. package/dist/{qr-cli-B-NWpxfN.js → qr-cli-CejYwqsj.js} +1 -1
  197. package/dist/{qr-cli-TaubpmtG.js → qr-cli-XttU2KOR.js} +1 -1
  198. package/dist/{register.agent-D4o7bi_u.js → register.agent-_2tVQLMK.js} +34 -34
  199. package/dist/{register.agent-D-1w3KOa.js → register.agent-vd2BSsyE.js} +32 -32
  200. package/dist/{register.configure-BIczNshG.js → register.configure-BVKwTrz8.js} +37 -37
  201. package/dist/{register.configure-BYCEJg1c.js → register.configure-D-XV6_Nb.js} +36 -36
  202. package/dist/{register.maintenance-k6z5GVrO.js → register.maintenance-BqYR2fop.js} +36 -36
  203. package/dist/{register.maintenance-Syt4oSuk.js → register.maintenance-XySU31jf.js} +34 -34
  204. package/dist/{register.message-Bi7QLNId.js → register.message-CCfWNWs3.js} +26 -26
  205. package/dist/{register.message-BJeeT9xQ.js → register.message-DOyREWdG.js} +27 -27
  206. package/dist/{register.onboard-B_FeHkL-.js → register.onboard-Dy_D_uMj.js} +33 -33
  207. package/dist/{register.onboard-DDbxMjmt.js → register.onboard-zmF-euog.js} +32 -32
  208. package/dist/{register.setup-Cpl67hQ6.js → register.setup-DiGPa1Fw.js} +32 -32
  209. package/dist/{register.setup-CPi3uss4.js → register.setup-cE7gPp2m.js} +33 -33
  210. package/dist/{register.status-health-sessions-DsY8YuEo.js → register.status-health-sessions-DWKL1rkz.js} +29 -29
  211. package/dist/{register.status-health-sessions-CHPN3CNt.js → register.status-health-sessions-ksv1WnIs.js} +31 -31
  212. package/dist/{register.subclis-D5JRuk93.js → register.subclis-Crt_IYK0.js} +28 -28
  213. package/dist/{replies-cMkt1-fW.js → replies-BMqtgBhh.js} +1 -1
  214. package/dist/{replies-CYuZN9PJ.js → replies-Bo49QlAg.js} +1 -1
  215. package/dist/{replies-C2sQt_cX.js → replies-CBS0567j.js} +1 -1
  216. package/dist/{replies-zOTZyd6v.js → replies-CfyMcfoY.js} +1 -1
  217. package/dist/{reply-D55iMWI5.js → reply-CjYJHt_H.js} +388 -258
  218. package/dist/{routes-ClhmdN8I.js → routes-BAZTZNuQ.js} +3 -3
  219. package/dist/{routes-DRkO6iuR.js → routes-CMvgBDOg.js} +3 -3
  220. package/dist/{rpc-DvA01fCj.js → rpc-Co5PQ3IJ.js} +1 -1
  221. package/dist/{rpc-UsQvUYIP.js → rpc-D0FiEinj.js} +1 -1
  222. package/dist/{run-main-BWoPODyq.js → run-main-bOlPbL7t.js} +44 -44
  223. package/dist/{runner-_7xOqQDP.js → runner-B0AbN8wV.js} +2 -2
  224. package/dist/{runner-CtF7EgsD.js → runner-Ct0suQrd.js} +2 -2
  225. package/dist/{runner-D3aZ5p3H.js → runner-DRv0uCK_.js} +3 -3
  226. package/dist/{runner-z_tSZGY5.js → runner-Dd2bbNGV.js} +3 -3
  227. package/dist/{sandbox-rjqN2SHD.js → sandbox-B6N8cV4d.js} +5 -5
  228. package/dist/{sandbox-DrIHYiE6.js → sandbox-DY75ZyJD.js} +5 -5
  229. package/dist/{sandbox-cli-QpZpJ6Hq.js → sandbox-cli-BDM_QM_f.js} +6 -6
  230. package/dist/{sandbox-cli-BiiThMpq.js → sandbox-cli-DwzaNjIJ.js} +6 -6
  231. package/dist/{security-cli-DxNPZzVB.js → security-cli-CG1uSlRK.js} +9 -9
  232. package/dist/{security-cli-s_AbIm-b.js → security-cli-D5BWzqEJ.js} +9 -9
  233. package/dist/{send-C1ptDV-M.js → send-9SapUCg7.js} +1 -1
  234. package/dist/{send-DV8npIWi.js → send-B3RdXvjC.js} +1 -1
  235. package/dist/{send-CVSO0ZdD.js → send-B7HhiTdx.js} +1 -1
  236. package/dist/{send-DryK_KEK.js → send-B986asZ7.js} +1 -1
  237. package/dist/{send-DNJAa7Q_.js → send-B9EinkUl.js} +1 -1
  238. package/dist/{send-De1p8sZA.js → send-BNnv8GtF.js} +1 -1
  239. package/dist/{send-B9pwTYyE.js → send-BhJZ16uV.js} +1 -1
  240. package/dist/{send-B62vYwo8.js → send-Bm4ULEzh.js} +1 -1
  241. package/dist/{send-BJNUY-9E.js → send-BzKHnf3b.js} +1 -1
  242. package/dist/{send-C6jy9sVB.js → send-CC9V8V81.js} +1 -1
  243. package/dist/{send-DK-Jat_i.js → send-CQVnyJyF.js} +1 -1
  244. package/dist/{send-Dx7S4jGp.js → send-CZemAajS.js} +1 -1
  245. package/dist/{send-BTXR3fPR.js → send-DI9Vhnmw.js} +1 -1
  246. package/dist/{send-BvCit35j.js → send-DLWaX69q.js} +1 -1
  247. package/dist/{send-qSITFlVc.js → send-DSnJ503J.js} +1 -1
  248. package/dist/{send-B7MtdeLq.js → send-DVm0du0_.js} +1 -1
  249. package/dist/{send-D8DhbDGm.js → send-DaBsat3L.js} +1 -1
  250. package/dist/{send-iIqnmxNc.js → send-DdLJtOjk.js} +1 -1
  251. package/dist/{send-4MJyhXk5.js → send-DlQtxlG_.js} +1 -1
  252. package/dist/{send-DiYc3Z2y.js → send-RfIXG6-I.js} +1 -1
  253. package/dist/{server-context-C3fvq6h5.js → server-context-CCBZN8a0.js} +5 -5
  254. package/dist/{server-context-CtYkBX0P.js → server-context-DK-T2rBR.js} +5 -5
  255. package/dist/{server-methods-DY-jApXo.js → server-methods-CiwWwj6K.js} +15 -15
  256. package/dist/{server-methods-C4oRmj--.js → server-methods-VimYvcpY.js} +16 -16
  257. package/dist/{server-node-events--9s3cGoR.js → server-node-events-CHmLiFNV.js} +27 -27
  258. package/dist/{server-node-events-Bw6yFsJP.js → server-node-events-DYC45lKC.js} +26 -26
  259. package/dist/{session-XfYb9nxX.js → session-C1cn-CxQ.js} +1 -1
  260. package/dist/{session-BmC1G2OF.js → session-CUeezgP1.js} +1 -1
  261. package/dist/{session-3P44Lx9Z.js → session-DsJGtM7g.js} +1 -1
  262. package/dist/{session-utils-DlQSI-Te.js → session-utils-B8Fif925.js} +3 -3
  263. package/dist/{session-BUTPdQjj.js → session-v_9AVJhH.js} +1 -1
  264. package/dist/{sessions-Dxc5UV-H.js → sessions-Cfa6JEB3.js} +1 -1
  265. package/dist/{sessions-9tWmT3oM.js → sessions-Cpgnq0pA.js} +1 -1
  266. package/dist/{sessions-BL_hivz0.js → sessions-DfbhRBHR.js} +3 -3
  267. package/dist/{shared-DEvSdt0I.js → shared-73T9fyuK.js} +1 -1
  268. package/dist/{shared-DwzDlNQn.js → shared-DdxPzyOH.js} +1 -1
  269. package/dist/{skills-cli-BHJAAvDv.js → skills-cli-DXkx4vNV.js} +1 -1
  270. package/dist/{skills-cli-CES7tX87.js → skills-cli-uEA9KXOO.js} +1 -1
  271. package/dist/{status-DxqgzaIz.js → status-CA5wJHMj.js} +2 -2
  272. package/dist/{status-CfCqG5a6.js → status-DEpM69Pd.js} +9 -9
  273. package/dist/{status-CPQrmN1p.js → status-Dt_MXoNa.js} +2 -2
  274. package/dist/{status-DZHTCKq_.js → status-DxhtJtzE.js} +10 -10
  275. package/dist/{status.update-BhJp4NkS.js → status.update-C2GN8s9C.js} +1 -1
  276. package/dist/{status.update-DqXGFKta.js → status.update-CG0ciGaf.js} +1 -1
  277. package/dist/{subagent-registry-BGKDFTRA.js → subagent-registry-BPwn3Qm7.js} +389 -259
  278. package/dist/{system-cli-BrZGQcZl.js → system-cli-DFZNGx0i.js} +3 -3
  279. package/dist/{system-cli-CjgIC8rh.js → system-cli-Z7uzO8qd.js} +3 -3
  280. package/dist/{systemd-hints-B8AHs8Nn.js → systemd-hints-DT6cDIM2.js} +1 -1
  281. package/dist/{systemd-hints-DUXXob94.js → systemd-hints-xYZbFny_.js} +1 -1
  282. package/dist/{tui-BktCSga7.js → tui-DjPsMdL6.js} +4 -4
  283. package/dist/{tui-CAzxJ9EP.js → tui-DrATGNms.js} +4 -4
  284. package/dist/{tui-cli-AXeYpVcb.js → tui-cli-D19-MCXt.js} +9 -9
  285. package/dist/{tui-cli-Bz3RdHqe.js → tui-cli-pWD_NrUR.js} +9 -9
  286. package/dist/{unified-runner-BhGMOS0G.js → unified-runner-CVkyzT1I.js} +166 -36
  287. package/dist/{update-cli-n_Tkv8N_.js → update-cli-Dh_dfprI.js} +39 -39
  288. package/dist/{update-cli-C8EpxduY.js → update-cli-Dv4c5Gup.js} +37 -37
  289. package/dist/{update-runner-CowTMnrt.js → update-runner-CG_kbbGR.js} +1 -1
  290. package/dist/{update-runner-Tk50GxTW.js → update-runner-MMFI1UZ0.js} +1 -1
  291. package/dist/{web-CMLJq-WC.js → web-BUc-ts5b.js} +16 -16
  292. package/dist/{web-Cz8o-Hc9.js → web-CJk-lv93.js} +16 -16
  293. package/dist/{web-ONk39lyq.js → web-CfVd3Mhp.js} +29 -29
  294. package/dist/{web-BIpIz8vD.js → web-DCBOD-Vj.js} +29 -29
  295. package/dist/{webhooks-cli-v0rfBwU8.js → webhooks-cli-BRxe4uCg.js} +1 -1
  296. package/dist/{webhooks-cli-Da8YhVu4.js → webhooks-cli-CsRZl0_H.js} +1 -1
  297. package/dist/{whatsapp-actions-Cz2qhCrD.js → whatsapp-actions-7YbV2-Fv.js} +2 -2
  298. package/dist/{whatsapp-actions-Ba3KBpGu.js → whatsapp-actions-BylecqEa.js} +2 -2
  299. package/dist/{whatsapp-actions-AEeCOVko.js → whatsapp-actions-ChO_shrk.js} +2 -2
  300. package/dist/{whatsapp-actions-BPn8FtPC.js → whatsapp-actions-mBarFBeS.js} +2 -2
  301. package/dist/{with-timeout-487M8IgO.js → with-timeout-Cgi3TwWN.js} +1 -1
  302. package/dist/{with-timeout-BU7MJQDD.js → with-timeout-CtVdu_1U.js} +1 -1
  303. package/extensions/bluebubbles/package.json +1 -1
  304. package/extensions/copilot-proxy/package.json +1 -1
  305. package/extensions/diagnostics-otel/package.json +1 -1
  306. package/extensions/discord/package.json +1 -1
  307. package/extensions/feishu/package.json +1 -1
  308. package/extensions/google-antigravity-auth/package.json +1 -1
  309. package/extensions/google-gemini-cli-auth/package.json +1 -1
  310. package/extensions/googlechat/package.json +1 -1
  311. package/extensions/imessage/package.json +1 -1
  312. package/extensions/irc/package.json +1 -1
  313. package/extensions/learning-loop/package.json +1 -1
  314. package/extensions/line/package.json +1 -1
  315. package/extensions/llm-task/package.json +1 -1
  316. package/extensions/matrix/CHANGELOG.md +6 -0
  317. package/extensions/matrix/package.json +1 -1
  318. package/extensions/mattermost/package.json +1 -1
  319. package/extensions/memory-core/package.json +1 -1
  320. package/extensions/memory-lancedb/package.json +1 -1
  321. package/extensions/minimax-portal-auth/package.json +1 -1
  322. package/extensions/msteams/CHANGELOG.md +6 -0
  323. package/extensions/msteams/package.json +1 -1
  324. package/extensions/nextcloud-talk/package.json +1 -1
  325. package/extensions/nostr/CHANGELOG.md +6 -0
  326. package/extensions/nostr/package.json +1 -1
  327. package/extensions/open-prose/package.json +1 -1
  328. package/extensions/outlook/package.json +1 -1
  329. package/extensions/pipeline/package.json +1 -1
  330. package/extensions/signal/package.json +1 -1
  331. package/extensions/slack/package.json +1 -1
  332. package/extensions/telegram/package.json +1 -1
  333. package/extensions/tlon/package.json +1 -1
  334. package/extensions/twitch/CHANGELOG.md +6 -0
  335. package/extensions/twitch/package.json +1 -1
  336. package/extensions/voice-call/CHANGELOG.md +6 -0
  337. package/extensions/voice-call/package.json +1 -1
  338. package/extensions/whatsapp/package.json +1 -1
  339. package/extensions/zalo/CHANGELOG.md +6 -0
  340. package/extensions/zalo/package.json +1 -1
  341. package/extensions/zalouser/CHANGELOG.md +6 -0
  342. package/extensions/zalouser/package.json +1 -1
  343. package/package.json +1 -1
@@ -14,29 +14,29 @@ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discov
14
14
  import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
15
15
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-hAdgFdrv.js";
16
16
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-Czr39pxG.js";
17
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BwQutavB.js";
17
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BNTB6qj8.js";
18
18
  import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-T3qcxXru.js";
19
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CLKMnHOP.js";
19
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
21
21
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
22
- import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Dxc5UV-H.js";
22
+ import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Cfa6JEB3.js";
23
23
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Csntmwwn.js";
24
24
  import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-CwSlLxM8.js";
25
25
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-D9ITgITj.js";
26
26
  import { t as normalizeChatType } from "./chat-type-CeFzWU-6.js";
27
- 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-CVSO0ZdD.js";
28
- 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-C6jy9sVB.js";
29
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-487M8IgO.js";
30
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BCmoI9iE.js";
27
+ 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-B7HhiTdx.js";
28
+ 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-CC9V8V81.js";
29
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-Cgi3TwWN.js";
30
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-Bu0iWeja.js";
31
31
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-Ci8Xsc_Y.js";
32
32
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
33
33
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-D1eLj5t8.js";
34
- import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-4MJyhXk5.js";
34
+ import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DlQtxlG_.js";
35
35
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-CUkaZz2F.js";
36
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-cgZRM5cz.js";
37
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DrIHYiE6.js";
38
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-Cixcv-qk.js";
39
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CtYkBX0P.js";
36
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-DA4liAIZ.js";
37
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DY75ZyJD.js";
38
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DAw-AWNi.js";
39
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DK-T2rBR.js";
40
40
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Ba_ROWsq.js";
41
41
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-OWKu4tXF.js";
42
42
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Ixuyn7h8.js";
@@ -48,9 +48,9 @@ import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveS
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-D5O01TlD.js";
49
49
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CVLISeRT.js";
50
50
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
51
- import { t as ensureSymiModelsJson } from "./models-config-Bc8qKqev.js";
51
+ import { t as ensureSymiModelsJson } from "./models-config-Be8DRFkB.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
53
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-B7GV_Iz_.js";
53
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Btzr8gfD.js";
54
54
  import { i as resolveMemorySearchConfig } from "./manager-Vb2F7vQq.js";
55
55
  import { g as runTasksWithConcurrency } from "./sqlite-CQGamAhm.js";
56
56
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
@@ -63,13 +63,13 @@ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMedia
63
63
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D-flMHhr.js";
64
64
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CkrIpKCc.js";
65
65
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-D1K_inhv.js";
66
- import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-KpMaj86B.js";
66
+ import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-C3wYkWyK.js";
67
67
  import { n as resolveToolDisplay } from "./tool-display-CXwOC-qw.js";
68
68
  import { n as formatTimeAgo } from "./format-relative-DX-rh76l.js";
69
69
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-72dOKfLG.js";
70
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-z_tSZGY5.js";
71
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-b9o0TtF7.js";
72
- import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-DlQSI-Te.js";
70
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Dd2bbNGV.js";
71
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DNvgFPZn.js";
72
+ import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-B8Fif925.js";
73
73
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-C8BcwE33.js";
74
74
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-vpO8vXVN.js";
75
75
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BhFkwlZW.js";
@@ -83,19 +83,19 @@ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChan
83
83
  import { n as normalizePollInput } from "./polls-DXeUmcgz.js";
84
84
  import { t as convertMarkdownTables } from "./tables-CXWwq-Md.js";
85
85
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CPeVoSXJ.js";
86
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BW1BNnC1.js";
86
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-rbSHSlcd.js";
87
87
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CQar2eKe.js";
88
88
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BzfEFyPn.js";
89
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-B9pwTYyE.js";
90
- 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-qSITFlVc.js";
89
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BhJZ16uV.js";
90
+ 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-DSnJ503J.js";
91
91
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CjnIuTqX.js";
92
92
  import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
93
93
  import { t as makeProxyFetch } from "./proxy-DL3MD6-P.js";
94
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CYuZN9PJ.js";
95
- import { r as detectBinary } from "./onboard-helpers-ChH5EhW2.js";
94
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Bo49QlAg.js";
95
+ import { r as detectBinary } from "./onboard-helpers-BBtPmJEe.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-D1HDboV2.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-De1JhR4W.js";
98
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-B4NDL7r-.js";
98
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DxNwL7Dl.js";
99
99
  import { createRequire } from "node:module";
100
100
  import { execFileSync, spawn, spawnSync } from "node:child_process";
101
101
  import os, { homedir } from "node:os";
@@ -20374,7 +20374,7 @@ async function routeReply(params) {
20374
20374
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
20375
20375
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
20376
20376
  try {
20377
- const { deliverOutboundPayloads } = await import("./deliver-BCmoI9iE.js").then((n) => n.n);
20377
+ const { deliverOutboundPayloads } = await import("./deliver-Bu0iWeja.js").then((n) => n.n);
20378
20378
  return {
20379
20379
  ok: true,
20380
20380
  messageId: (await deliverOutboundPayloads({
@@ -32418,7 +32418,8 @@ const BUILTIN_PROFILES = [
32418
32418
  top_p: .95,
32419
32419
  top_k: 20,
32420
32420
  max_tokens: 16384,
32421
- presence_penalty: 1.5
32421
+ presence_penalty: 1.5,
32422
+ chatTemplateKwargs: { preserve_thinking: true }
32422
32423
  },
32423
32424
  streaming: {
32424
32425
  deltaThrottleMs: 50,
@@ -33152,6 +33153,8 @@ function createModelAwareStreamFn(opts) {
33152
33153
  if (typeof mergedParams.repeat_penalty === "number") injections.repeat_penalty = mergedParams.repeat_penalty;
33153
33154
  if (typeof mergedParams.presence_penalty === "number") injections.presence_penalty = mergedParams.presence_penalty;
33154
33155
  if (typeof mergedParams.frequency_penalty === "number") injections.frequency_penalty = mergedParams.frequency_penalty;
33156
+ const chatTemplateKwargs = mergedParams.chatTemplateKwargs ?? mergedParams.chat_template_kwargs;
33157
+ if (chatTemplateKwargs && typeof chatTemplateKwargs === "object" && !Array.isArray(chatTemplateKwargs)) injections.chat_template_kwargs = chatTemplateKwargs;
33155
33158
  const isVllm = isVllmProvider(opts.provider, opts.modelId, opts.config);
33156
33159
  const isOpenRouter = opts.provider === "openrouter";
33157
33160
  const extraHeaders = {};
@@ -33982,7 +33985,11 @@ function handleMessageUpdate(ctx, evt) {
33982
33985
  emitAgentEvent({
33983
33986
  runId: ctx.params.runId,
33984
33987
  stream: "thinking",
33985
- data: { phase: evtType }
33988
+ data: {
33989
+ phase: evtType,
33990
+ delta: thinkingDelta,
33991
+ content: thinkingContent
33992
+ }
33986
33993
  });
33987
33994
  if (ctx.state.streamReasoning) {
33988
33995
  const partialThinking = extractAssistantThinking(msg);
@@ -36024,6 +36031,338 @@ Use the message tool with buttons:
36024
36031
  [{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
36025
36032
  </plan_mode>`;
36026
36033
 
36034
+ //#endregion
36035
+ //#region src/agents/session-transcript-repair.ts
36036
+ function isToolCallBlock(block) {
36037
+ if (!block || typeof block !== "object") return false;
36038
+ const type = block.type;
36039
+ return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
36040
+ }
36041
+ function hasToolCallInput(block) {
36042
+ const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
36043
+ const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
36044
+ return hasInput || hasArguments;
36045
+ }
36046
+ function hasNonEmptyStringField(value) {
36047
+ return typeof value === "string" && value.trim().length > 0;
36048
+ }
36049
+ function hasToolCallId(block) {
36050
+ return hasNonEmptyStringField(block.id);
36051
+ }
36052
+ function hasToolCallName(block) {
36053
+ return hasNonEmptyStringField(block.name);
36054
+ }
36055
+ function makeMissingToolResult(params) {
36056
+ return {
36057
+ role: "toolResult",
36058
+ toolCallId: params.toolCallId,
36059
+ toolName: params.toolName ?? "unknown",
36060
+ content: [{
36061
+ type: "text",
36062
+ text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
36063
+ }],
36064
+ isError: true,
36065
+ timestamp: Date.now()
36066
+ };
36067
+ }
36068
+ /**
36069
+ * True when an assistant message has no tool calls and only empty/whitespace
36070
+ * text or thinking blocks. This happens when a stream fails before any
36071
+ * content arrives — the blank entry is otherwise persisted and produces
36072
+ * consecutive same-role messages, which strict providers (vLLM) reject with
36073
+ * "role must alternate" errors that poison the session for every future turn.
36074
+ */
36075
+ function isEmptyAssistantMessage(message) {
36076
+ if (!message || typeof message !== "object") return false;
36077
+ const msg = message;
36078
+ if (msg.role !== "assistant") return false;
36079
+ if (!Array.isArray(msg.content) || msg.content.length === 0) return true;
36080
+ for (const block of msg.content) {
36081
+ if (!block || typeof block !== "object") continue;
36082
+ const type = block.type;
36083
+ if (type === "toolCall" || type === "toolUse" || type === "functionCall") return false;
36084
+ if (type === "text") {
36085
+ const text = block.text;
36086
+ if (typeof text === "string" && text.trim().length > 0) return false;
36087
+ continue;
36088
+ }
36089
+ if (type === "thinking") {
36090
+ const thinking = block.thinking;
36091
+ if (typeof thinking === "string" && thinking.trim().length > 0) return false;
36092
+ continue;
36093
+ }
36094
+ return false;
36095
+ }
36096
+ return true;
36097
+ }
36098
+ function stripToolResultDetails(messages) {
36099
+ let touched = false;
36100
+ const out = [];
36101
+ for (const msg of messages) {
36102
+ if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
36103
+ out.push(msg);
36104
+ continue;
36105
+ }
36106
+ if (!("details" in msg)) {
36107
+ out.push(msg);
36108
+ continue;
36109
+ }
36110
+ const { details: _details, ...rest } = msg;
36111
+ touched = true;
36112
+ out.push(rest);
36113
+ }
36114
+ return touched ? out : messages;
36115
+ }
36116
+ function repairToolCallInputs(messages) {
36117
+ let droppedToolCalls = 0;
36118
+ let droppedAssistantMessages = 0;
36119
+ let changed = false;
36120
+ const out = [];
36121
+ for (const msg of messages) {
36122
+ if (!msg || typeof msg !== "object") {
36123
+ out.push(msg);
36124
+ continue;
36125
+ }
36126
+ if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
36127
+ out.push(msg);
36128
+ continue;
36129
+ }
36130
+ const nextContent = [];
36131
+ let droppedInMessage = 0;
36132
+ for (const block of msg.content) {
36133
+ if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
36134
+ droppedToolCalls += 1;
36135
+ droppedInMessage += 1;
36136
+ changed = true;
36137
+ continue;
36138
+ }
36139
+ nextContent.push(block);
36140
+ }
36141
+ if (droppedInMessage > 0) {
36142
+ if (nextContent.length === 0) {
36143
+ droppedAssistantMessages += 1;
36144
+ changed = true;
36145
+ continue;
36146
+ }
36147
+ out.push({
36148
+ ...msg,
36149
+ content: nextContent
36150
+ });
36151
+ continue;
36152
+ }
36153
+ out.push(msg);
36154
+ }
36155
+ return {
36156
+ messages: changed ? out : messages,
36157
+ droppedToolCalls,
36158
+ droppedAssistantMessages
36159
+ };
36160
+ }
36161
+ function sanitizeToolCallInputs(messages) {
36162
+ return repairToolCallInputs(messages).messages;
36163
+ }
36164
+ function sanitizeToolUseResultPairing(messages) {
36165
+ return repairToolUseResultPairing(messages).messages;
36166
+ }
36167
+ function repairToolUseResultPairing(messages) {
36168
+ const out = [];
36169
+ const added = [];
36170
+ const seenToolResultIds = /* @__PURE__ */ new Set();
36171
+ let droppedDuplicateCount = 0;
36172
+ let droppedOrphanCount = 0;
36173
+ let moved = false;
36174
+ let changed = false;
36175
+ const pushToolResult = (msg) => {
36176
+ const id = extractToolResultId(msg);
36177
+ if (id && seenToolResultIds.has(id)) {
36178
+ droppedDuplicateCount += 1;
36179
+ changed = true;
36180
+ return;
36181
+ }
36182
+ if (id) seenToolResultIds.add(id);
36183
+ out.push(msg);
36184
+ };
36185
+ for (let i = 0; i < messages.length; i += 1) {
36186
+ const msg = messages[i];
36187
+ if (!msg || typeof msg !== "object") {
36188
+ out.push(msg);
36189
+ continue;
36190
+ }
36191
+ const role = msg.role;
36192
+ if (role !== "assistant") {
36193
+ if (role !== "toolResult") out.push(msg);
36194
+ else {
36195
+ droppedOrphanCount += 1;
36196
+ changed = true;
36197
+ }
36198
+ continue;
36199
+ }
36200
+ const assistant = msg;
36201
+ const stopReason = assistant.stopReason;
36202
+ if (stopReason === "error" || stopReason === "aborted") {
36203
+ out.push(msg);
36204
+ continue;
36205
+ }
36206
+ const toolCalls = extractToolCallsFromAssistant(assistant);
36207
+ if (toolCalls.length === 0) {
36208
+ out.push(msg);
36209
+ continue;
36210
+ }
36211
+ const toolCallIds = new Set(toolCalls.map((t) => t.id));
36212
+ const spanResultsById = /* @__PURE__ */ new Map();
36213
+ const remainder = [];
36214
+ let j = i + 1;
36215
+ for (; j < messages.length; j += 1) {
36216
+ const next = messages[j];
36217
+ if (!next || typeof next !== "object") {
36218
+ remainder.push(next);
36219
+ continue;
36220
+ }
36221
+ const nextRole = next.role;
36222
+ if (nextRole === "assistant") break;
36223
+ if (nextRole === "toolResult") {
36224
+ const toolResult = next;
36225
+ const id = extractToolResultId(toolResult);
36226
+ if (id && toolCallIds.has(id)) {
36227
+ if (seenToolResultIds.has(id)) {
36228
+ droppedDuplicateCount += 1;
36229
+ changed = true;
36230
+ continue;
36231
+ }
36232
+ if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
36233
+ continue;
36234
+ }
36235
+ }
36236
+ if (nextRole !== "toolResult") remainder.push(next);
36237
+ else {
36238
+ droppedOrphanCount += 1;
36239
+ changed = true;
36240
+ }
36241
+ }
36242
+ out.push(msg);
36243
+ if (spanResultsById.size > 0 && remainder.length > 0) {
36244
+ moved = true;
36245
+ changed = true;
36246
+ }
36247
+ for (const call of toolCalls) {
36248
+ const existing = spanResultsById.get(call.id);
36249
+ if (existing) pushToolResult(existing);
36250
+ else {
36251
+ const missing = makeMissingToolResult({
36252
+ toolCallId: call.id,
36253
+ toolName: call.name
36254
+ });
36255
+ added.push(missing);
36256
+ changed = true;
36257
+ pushToolResult(missing);
36258
+ }
36259
+ }
36260
+ for (const rem of remainder) {
36261
+ if (!rem || typeof rem !== "object") {
36262
+ out.push(rem);
36263
+ continue;
36264
+ }
36265
+ out.push(rem);
36266
+ }
36267
+ i = j - 1;
36268
+ }
36269
+ const changedOrMoved = changed || moved;
36270
+ return {
36271
+ messages: changedOrMoved ? out : messages,
36272
+ added,
36273
+ droppedDuplicateCount,
36274
+ droppedOrphanCount,
36275
+ moved: changedOrMoved
36276
+ };
36277
+ }
36278
+
36279
+ //#endregion
36280
+ //#region src/agents/session-empty-prune.ts
36281
+ /**
36282
+ * Pre-run prune of empty assistant entries from a session JSONL file.
36283
+ *
36284
+ * When a stream fails before any content arrives, pi-coding-agent persists
36285
+ * an assistant message with an empty content array. If this repeats (e.g. a
36286
+ * misconfigured provider fails on every retry), the session ends up with
36287
+ * hundreds of consecutive empty assistant entries. vLLM and other strict
36288
+ * providers then reject the request with a role-ordering error — once the
36289
+ * session is in that state, every future turn fails until the user runs /new.
36290
+ *
36291
+ * This helper runs before SessionManager opens the file, reads the JSONL
36292
+ * line-by-line, filters out any line whose `message` is an empty-content
36293
+ * assistant, and rewrites the file atomically if anything was dropped. The
36294
+ * in-memory SessionManager state and the on-disk file stay consistent.
36295
+ *
36296
+ * The append guard in {@link ./session-tool-result-guard.ts} prevents new
36297
+ * empty entries from being written; this helper retroactively cleans files
36298
+ * that were poisoned before the guard existed.
36299
+ *
36300
+ * @module
36301
+ */
36302
+ async function readSessionFile(sessionFile) {
36303
+ try {
36304
+ return await fs$1.readFile(sessionFile, "utf-8");
36305
+ } catch {
36306
+ return null;
36307
+ }
36308
+ }
36309
+ async function writeAtomically(sessionFile, text) {
36310
+ const dir = path.dirname(sessionFile);
36311
+ const base = path.basename(sessionFile);
36312
+ const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
36313
+ await fs$1.writeFile(tmp, text, "utf-8");
36314
+ await fs$1.rename(tmp, sessionFile);
36315
+ }
36316
+ /**
36317
+ * Remove empty assistant JSONL entries from the session file.
36318
+ *
36319
+ * Parses each line; lines that don't parse are preserved verbatim so we don't
36320
+ * lose unknown data. Only lines that parse into a `{type:"message", message:
36321
+ * <empty-assistant>}` entry are dropped.
36322
+ */
36323
+ async function pruneEmptyAssistantsFromSessionFile(sessionFile) {
36324
+ const raw = await readSessionFile(sessionFile);
36325
+ if (raw === null || raw.length === 0) return {
36326
+ rewrote: false,
36327
+ pruned: 0,
36328
+ unparsable: 0
36329
+ };
36330
+ const lines = raw.split("\n");
36331
+ const kept = [];
36332
+ let pruned = 0;
36333
+ let unparsable = 0;
36334
+ for (const line of lines) {
36335
+ if (line.length === 0) {
36336
+ kept.push(line);
36337
+ continue;
36338
+ }
36339
+ let parsed = null;
36340
+ try {
36341
+ parsed = JSON.parse(line);
36342
+ } catch {
36343
+ unparsable += 1;
36344
+ kept.push(line);
36345
+ continue;
36346
+ }
36347
+ if (parsed?.type === "message" && isEmptyAssistantMessage(parsed.message)) {
36348
+ pruned += 1;
36349
+ continue;
36350
+ }
36351
+ kept.push(line);
36352
+ }
36353
+ if (pruned === 0) return {
36354
+ rewrote: false,
36355
+ pruned: 0,
36356
+ unparsable
36357
+ };
36358
+ await writeAtomically(sessionFile, kept.join("\n"));
36359
+ return {
36360
+ rewrote: true,
36361
+ pruned,
36362
+ unparsable
36363
+ };
36364
+ }
36365
+
36027
36366
  //#endregion
36028
36367
  //#region src/agents/session-file-repair.ts
36029
36368
  function isSessionHeader(entry) {
@@ -36297,221 +36636,6 @@ function sessionLikelyHasOversizedToolResults(params) {
36297
36636
  return false;
36298
36637
  }
36299
36638
 
36300
- //#endregion
36301
- //#region src/agents/session-transcript-repair.ts
36302
- function isToolCallBlock(block) {
36303
- if (!block || typeof block !== "object") return false;
36304
- const type = block.type;
36305
- return typeof type === "string" && (type === "toolCall" || type === "toolUse" || type === "functionCall");
36306
- }
36307
- function hasToolCallInput(block) {
36308
- const hasInput = "input" in block ? block.input !== void 0 && block.input !== null : false;
36309
- const hasArguments = "arguments" in block ? block.arguments !== void 0 && block.arguments !== null : false;
36310
- return hasInput || hasArguments;
36311
- }
36312
- function hasNonEmptyStringField(value) {
36313
- return typeof value === "string" && value.trim().length > 0;
36314
- }
36315
- function hasToolCallId(block) {
36316
- return hasNonEmptyStringField(block.id);
36317
- }
36318
- function hasToolCallName(block) {
36319
- return hasNonEmptyStringField(block.name);
36320
- }
36321
- function makeMissingToolResult(params) {
36322
- return {
36323
- role: "toolResult",
36324
- toolCallId: params.toolCallId,
36325
- toolName: params.toolName ?? "unknown",
36326
- content: [{
36327
- type: "text",
36328
- text: "[symi] missing tool result in session history; inserted synthetic error result for transcript repair."
36329
- }],
36330
- isError: true,
36331
- timestamp: Date.now()
36332
- };
36333
- }
36334
- function stripToolResultDetails(messages) {
36335
- let touched = false;
36336
- const out = [];
36337
- for (const msg of messages) {
36338
- if (!msg || typeof msg !== "object" || msg.role !== "toolResult") {
36339
- out.push(msg);
36340
- continue;
36341
- }
36342
- if (!("details" in msg)) {
36343
- out.push(msg);
36344
- continue;
36345
- }
36346
- const { details: _details, ...rest } = msg;
36347
- touched = true;
36348
- out.push(rest);
36349
- }
36350
- return touched ? out : messages;
36351
- }
36352
- function repairToolCallInputs(messages) {
36353
- let droppedToolCalls = 0;
36354
- let droppedAssistantMessages = 0;
36355
- let changed = false;
36356
- const out = [];
36357
- for (const msg of messages) {
36358
- if (!msg || typeof msg !== "object") {
36359
- out.push(msg);
36360
- continue;
36361
- }
36362
- if (msg.role !== "assistant" || !Array.isArray(msg.content)) {
36363
- out.push(msg);
36364
- continue;
36365
- }
36366
- const nextContent = [];
36367
- let droppedInMessage = 0;
36368
- for (const block of msg.content) {
36369
- if (isToolCallBlock(block) && (!hasToolCallInput(block) || !hasToolCallId(block) || !hasToolCallName(block))) {
36370
- droppedToolCalls += 1;
36371
- droppedInMessage += 1;
36372
- changed = true;
36373
- continue;
36374
- }
36375
- nextContent.push(block);
36376
- }
36377
- if (droppedInMessage > 0) {
36378
- if (nextContent.length === 0) {
36379
- droppedAssistantMessages += 1;
36380
- changed = true;
36381
- continue;
36382
- }
36383
- out.push({
36384
- ...msg,
36385
- content: nextContent
36386
- });
36387
- continue;
36388
- }
36389
- out.push(msg);
36390
- }
36391
- return {
36392
- messages: changed ? out : messages,
36393
- droppedToolCalls,
36394
- droppedAssistantMessages
36395
- };
36396
- }
36397
- function sanitizeToolCallInputs(messages) {
36398
- return repairToolCallInputs(messages).messages;
36399
- }
36400
- function sanitizeToolUseResultPairing(messages) {
36401
- return repairToolUseResultPairing(messages).messages;
36402
- }
36403
- function repairToolUseResultPairing(messages) {
36404
- const out = [];
36405
- const added = [];
36406
- const seenToolResultIds = /* @__PURE__ */ new Set();
36407
- let droppedDuplicateCount = 0;
36408
- let droppedOrphanCount = 0;
36409
- let moved = false;
36410
- let changed = false;
36411
- const pushToolResult = (msg) => {
36412
- const id = extractToolResultId(msg);
36413
- if (id && seenToolResultIds.has(id)) {
36414
- droppedDuplicateCount += 1;
36415
- changed = true;
36416
- return;
36417
- }
36418
- if (id) seenToolResultIds.add(id);
36419
- out.push(msg);
36420
- };
36421
- for (let i = 0; i < messages.length; i += 1) {
36422
- const msg = messages[i];
36423
- if (!msg || typeof msg !== "object") {
36424
- out.push(msg);
36425
- continue;
36426
- }
36427
- const role = msg.role;
36428
- if (role !== "assistant") {
36429
- if (role !== "toolResult") out.push(msg);
36430
- else {
36431
- droppedOrphanCount += 1;
36432
- changed = true;
36433
- }
36434
- continue;
36435
- }
36436
- const assistant = msg;
36437
- const stopReason = assistant.stopReason;
36438
- if (stopReason === "error" || stopReason === "aborted") {
36439
- out.push(msg);
36440
- continue;
36441
- }
36442
- const toolCalls = extractToolCallsFromAssistant(assistant);
36443
- if (toolCalls.length === 0) {
36444
- out.push(msg);
36445
- continue;
36446
- }
36447
- const toolCallIds = new Set(toolCalls.map((t) => t.id));
36448
- const spanResultsById = /* @__PURE__ */ new Map();
36449
- const remainder = [];
36450
- let j = i + 1;
36451
- for (; j < messages.length; j += 1) {
36452
- const next = messages[j];
36453
- if (!next || typeof next !== "object") {
36454
- remainder.push(next);
36455
- continue;
36456
- }
36457
- const nextRole = next.role;
36458
- if (nextRole === "assistant") break;
36459
- if (nextRole === "toolResult") {
36460
- const toolResult = next;
36461
- const id = extractToolResultId(toolResult);
36462
- if (id && toolCallIds.has(id)) {
36463
- if (seenToolResultIds.has(id)) {
36464
- droppedDuplicateCount += 1;
36465
- changed = true;
36466
- continue;
36467
- }
36468
- if (!spanResultsById.has(id)) spanResultsById.set(id, toolResult);
36469
- continue;
36470
- }
36471
- }
36472
- if (nextRole !== "toolResult") remainder.push(next);
36473
- else {
36474
- droppedOrphanCount += 1;
36475
- changed = true;
36476
- }
36477
- }
36478
- out.push(msg);
36479
- if (spanResultsById.size > 0 && remainder.length > 0) {
36480
- moved = true;
36481
- changed = true;
36482
- }
36483
- for (const call of toolCalls) {
36484
- const existing = spanResultsById.get(call.id);
36485
- if (existing) pushToolResult(existing);
36486
- else {
36487
- const missing = makeMissingToolResult({
36488
- toolCallId: call.id,
36489
- toolName: call.name
36490
- });
36491
- added.push(missing);
36492
- changed = true;
36493
- pushToolResult(missing);
36494
- }
36495
- }
36496
- for (const rem of remainder) {
36497
- if (!rem || typeof rem !== "object") {
36498
- out.push(rem);
36499
- continue;
36500
- }
36501
- out.push(rem);
36502
- }
36503
- i = j - 1;
36504
- }
36505
- const changedOrMoved = changed || moved;
36506
- return {
36507
- messages: changedOrMoved ? out : messages,
36508
- added,
36509
- droppedDuplicateCount,
36510
- droppedOrphanCount,
36511
- moved: changedOrMoved
36512
- };
36513
- }
36514
-
36515
36639
  //#endregion
36516
36640
  //#region src/agents/session-tool-result-guard.ts
36517
36641
  const GUARD_TRUNCATION_SUFFIX = "\n\n⚠️ [Content truncated during persistence — original exceeded size limit. Use offset/limit parameters or request specific sections for large content.]";
@@ -36592,6 +36716,10 @@ function installSessionToolResultGuard(sessionManager, opts) {
36592
36716
  const guardedAppend = (message) => {
36593
36717
  let nextMessage = message;
36594
36718
  if (message.role === "assistant") {
36719
+ if (isEmptyAssistantMessage(message)) {
36720
+ if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
36721
+ return;
36722
+ }
36595
36723
  const sanitized = sanitizeToolCallInputs([message]);
36596
36724
  if (sanitized.length === 0) {
36597
36725
  if (allowSyntheticToolResults && pending.size > 0) flushPendingToolResults();
@@ -39793,6 +39921,8 @@ async function runEmbeddedAttempt(params) {
39793
39921
  });
39794
39922
  const versionCheck = await handleSessionVersion(params.sessionFile);
39795
39923
  if (versionCheck.archived) log$5.warn(`session archived: created by ${versionCheck.poisonVersion}, known corruption range → ${versionCheck.archivePath}`);
39924
+ const pruneReport = await pruneEmptyAssistantsFromSessionFile(params.sessionFile);
39925
+ if (pruneReport.rewrote) log$5.warn(`session prune: removed ${pruneReport.pruned} empty assistant entries from ${params.sessionFile}`);
39796
39926
  await prewarmSessionFile(params.sessionFile);
39797
39927
  sessionManager = guardSessionManager(SessionManager.open(params.sessionFile), {
39798
39928
  agentId: sessionAgentId,
@@ -44165,7 +44295,7 @@ async function deliverSessionMaintenanceWarning(params) {
44165
44295
  return;
44166
44296
  }
44167
44297
  try {
44168
- const { deliverOutboundPayloads } = await import("./deliver-BCmoI9iE.js").then((n) => n.n);
44298
+ const { deliverOutboundPayloads } = await import("./deliver-Bu0iWeja.js").then((n) => n.n);
44169
44299
  await deliverOutboundPayloads({
44170
44300
  cfg: params.cfg,
44171
44301
  channel,
@@ -47619,7 +47749,7 @@ async function describeStickerImage(params) {
47619
47749
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47620
47750
  try {
47621
47751
  const buffer = await fs$1.readFile(imagePath);
47622
- const { describeImageWithModel } = await import("./image-KpMaj86B.js").then((n) => n.n);
47752
+ const { describeImageWithModel } = await import("./image-C3wYkWyK.js").then((n) => n.n);
47623
47753
  return (await describeImageWithModel({
47624
47754
  buffer,
47625
47755
  fileName: "sticker.webp",
@@ -48042,7 +48172,7 @@ function createWhatsAppLoginTool() {
48042
48172
  force: Type.Optional(Type.Boolean())
48043
48173
  }),
48044
48174
  execute: async (_toolCallId, args) => {
48045
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BB2Zfn7K.js");
48175
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DPxuLEvD.js");
48046
48176
  if ((args?.action ?? "start") === "wait") {
48047
48177
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
48048
48178
  return {
@@ -49418,7 +49548,7 @@ async function preflightDiscordMessage(params) {
49418
49548
  let preflightTranscript;
49419
49549
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49420
49550
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49421
- const { transcribeFirstAudio } = await import("./audio-preflight-EindUWk_.js");
49551
+ const { transcribeFirstAudio } = await import("./audio-preflight-XrlQA8IZ.js");
49422
49552
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49423
49553
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49424
49554
  ctx: {
@@ -53201,27 +53331,27 @@ function isVoiceChannelType(type) {
53201
53331
  function createDefaultDeps() {
53202
53332
  return {
53203
53333
  sendMessageWhatsApp: async (...args) => {
53204
- const { sendMessageWhatsApp } = await import("./web-BIpIz8vD.js");
53334
+ const { sendMessageWhatsApp } = await import("./web-DCBOD-Vj.js");
53205
53335
  return await sendMessageWhatsApp(...args);
53206
53336
  },
53207
53337
  sendMessageTelegram: async (...args) => {
53208
- const { sendMessageTelegram } = await import("./send-4MJyhXk5.js").then((n) => n.l);
53338
+ const { sendMessageTelegram } = await import("./send-DlQtxlG_.js").then((n) => n.l);
53209
53339
  return await sendMessageTelegram(...args);
53210
53340
  },
53211
53341
  sendMessageDiscord: async (...args) => {
53212
- const { sendMessageDiscord } = await import("./send-C6jy9sVB.js").then((n) => n.t);
53342
+ const { sendMessageDiscord } = await import("./send-CC9V8V81.js").then((n) => n.t);
53213
53343
  return await sendMessageDiscord(...args);
53214
53344
  },
53215
53345
  sendMessageSlack: async (...args) => {
53216
- const { sendMessageSlack } = await import("./send-CVSO0ZdD.js").then((n) => n.n);
53346
+ const { sendMessageSlack } = await import("./send-B7HhiTdx.js").then((n) => n.n);
53217
53347
  return await sendMessageSlack(...args);
53218
53348
  },
53219
53349
  sendMessageSignal: async (...args) => {
53220
- const { sendMessageSignal } = await import("./send-B9pwTYyE.js").then((n) => n.i);
53350
+ const { sendMessageSignal } = await import("./send-BhJZ16uV.js").then((n) => n.i);
53221
53351
  return await sendMessageSignal(...args);
53222
53352
  },
53223
53353
  sendMessageIMessage: async (...args) => {
53224
- const { sendMessageIMessage } = await import("./send-qSITFlVc.js").then((n) => n.n);
53354
+ const { sendMessageIMessage } = await import("./send-DSnJ503J.js").then((n) => n.n);
53225
53355
  return await sendMessageIMessage(...args);
53226
53356
  }
53227
53357
  };
@@ -64076,7 +64206,7 @@ async function registerSlackMonitorSlashCommands(params) {
64076
64206
  });
64077
64207
  const deliverSlashPayloads = async (replies) => {
64078
64208
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64079
- import("./replies-CYuZN9PJ.js").then((n) => n.r),
64209
+ import("./replies-Bo49QlAg.js").then((n) => n.r),
64080
64210
  import("./chunk-CQyUJNtc.js").then((n) => n.s),
64081
64211
  import("./markdown-tables-D82z_Ahc.js").then((n) => n.t)
64082
64212
  ]);
@@ -66349,7 +66479,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66349
66479
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66350
66480
  let preflightTranscript;
66351
66481
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66352
- const { transcribeFirstAudio } = await import("./audio-preflight-EindUWk_.js");
66482
+ const { transcribeFirstAudio } = await import("./audio-preflight-XrlQA8IZ.js");
66353
66483
  preflightTranscript = await transcribeFirstAudio({
66354
66484
  ctx: {
66355
66485
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68503,23 +68633,23 @@ let webLoginQrPromise = null;
68503
68633
  let webChannelPromise = null;
68504
68634
  let whatsappActionsPromise = null;
68505
68635
  function loadWebOutbound() {
68506
- webOutboundPromise ??= import("./outbound-BOqx1b0e.js").then((n) => n.t);
68636
+ webOutboundPromise ??= import("./outbound-Bt8rj9kO.js").then((n) => n.t);
68507
68637
  return webOutboundPromise;
68508
68638
  }
68509
68639
  function loadWebLogin() {
68510
- webLoginPromise ??= import("./login-DPxmcuIe.js").then((n) => n.n);
68640
+ webLoginPromise ??= import("./login-CiVdC-o_.js").then((n) => n.n);
68511
68641
  return webLoginPromise;
68512
68642
  }
68513
68643
  function loadWebLoginQr() {
68514
- webLoginQrPromise ??= import("./login-qr-BB2Zfn7K.js");
68644
+ webLoginQrPromise ??= import("./login-qr-DPxuLEvD.js");
68515
68645
  return webLoginQrPromise;
68516
68646
  }
68517
68647
  function loadWebChannel() {
68518
- webChannelPromise ??= import("./web-BIpIz8vD.js");
68648
+ webChannelPromise ??= import("./web-DCBOD-Vj.js");
68519
68649
  return webChannelPromise;
68520
68650
  }
68521
68651
  function loadWhatsAppActions() {
68522
- whatsappActionsPromise ??= import("./whatsapp-actions-Cz2qhCrD.js");
68652
+ whatsappActionsPromise ??= import("./whatsapp-actions-7YbV2-Fv.js");
68523
68653
  return whatsappActionsPromise;
68524
68654
  }
68525
68655
  function createPluginRuntime() {