@symerian/symi 2.3.1 → 2.3.3

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 (311) hide show
  1. package/dist/{accounts-ChTFYj8Q.js → accounts-CWktKM8a.js} +1 -1
  2. package/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
  3. package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
  4. package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
  5. package/dist/{accounts-CJR8j_Kq.js → accounts-qtxJ-6em.js} +1 -1
  6. package/dist/{accounts-CI6zQTJj.js → accounts-tNElYrCH.js} +14 -14
  7. package/dist/{acp-cli-Cu4icbJT.js → acp-cli-BgyJMtqt.js} +6 -6
  8. package/dist/{active-listener-D6sXIjAg.js → active-listener-C9r8ZB9m.js} +1 -1
  9. package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
  10. package/dist/{agent-scope-Bw1Ed8W9.js → agent-scope-BxoUQqgM.js} +3 -3
  11. package/dist/{agents-DzuttgJU.js → agents-DjLt6jc3.js} +4 -4
  12. package/dist/{agents.config-CSucty2T.js → agents.config-Dt7B_P5o.js} +1 -1
  13. package/dist/{agents.config-2HlZJsR3.js → agents.config-u_ibObha.js} +2 -2
  14. package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
  15. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  16. package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CjysqO8U.js} +28 -28
  17. package/dist/{audio-preflight-BsfqyC31.js → audio-preflight-D02HwB-I.js} +29 -29
  18. package/dist/{audit-CrITRV6w.js → audit-BSB9NPSO.js} +23 -23
  19. package/dist/{auth-choice-Cve09z1a.js → auth-choice-DUUu6Nhg.js} +1 -1
  20. package/dist/{auth-choice-ChrEc3cZ.js → auth-choice-DmSG7c8J.js} +8 -8
  21. package/dist/{auth-token-BnOynwk4.js → auth-token-DC5w1WoS.js} +1 -1
  22. package/dist/{banner-BoLflN_R.js → banner-BiAcdT2T.js} +1 -1
  23. package/dist/{bindings-BU2hsBd9.js → bindings-B7Ke6LJi.js} +2 -2
  24. package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
  25. package/dist/{browser-cli-BG4qPxpM.js → browser-cli-C4D9Ql3c.js} +9 -9
  26. package/dist/build-info.json +3 -3
  27. package/dist/bundled/boot-md/handler.js +53 -53
  28. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  29. package/dist/bundled/command-logger/handler.js +1 -1
  30. package/dist/bundled/session-memory/handler.js +53 -53
  31. package/dist/{call-CJaS1iRF.js → call-Dd7-bkfG.js} +9 -9
  32. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  33. package/dist/{channel-activity-C9-gaquj.js → channel-activity-CsM_hJ_s.js} +1 -1
  34. package/dist/{channel-options-DqgeO1f6.js → channel-options-ClfXE1B7.js} +1 -1
  35. package/dist/{channel-options-Dkd1WQZx.js → channel-options-vQREpu-n.js} +2 -2
  36. package/dist/{channel-selection-DuWs0Aak.js → channel-selection-DjfBv8kq.js} +1 -1
  37. package/dist/{channel-web-CJvDQ5Ea.js → channel-web-y6pd_GHr.js} +17 -17
  38. package/dist/{channels-cli-D0jjOLRb.js → channels-cli-CjYD1_OO.js} +75 -75
  39. package/dist/{channels-cli-DtqwJZWy.js → channels-cli-suXRcyfF.js} +4 -4
  40. package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-BoH1ZJPN.js} +1 -1
  41. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  42. package/dist/{chrome-w3SLcQJF.js → chrome-EyvdASWt.js} +20 -20
  43. package/dist/{chrome-DtPkPq9T.js → chrome-r4RThPxq.js} +2 -2
  44. package/dist/{chunk-ClbN9Pqy.js → chunk-BW5f05BR.js} +1 -1
  45. package/dist/cli/daemon-cli.js +1 -1
  46. package/dist/{cli-CHOmeum9.js → cli-B-911QZL.js} +62 -62
  47. package/dist/{cli-CEtg8kql.js → cli-mbfUlFn3.js} +1 -1
  48. package/dist/{client-CQSyCS4M.js → client-BsrZnuSi.js} +1 -1
  49. package/dist/{command-format-UKHV-j0K.js → command-format-BaxDnULz.js} +1 -1
  50. package/dist/{command-registry-Ba2z3dYq.js → command-registry-y8CXSD5O.js} +9 -9
  51. package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
  52. package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
  53. package/dist/{commands-registry-VSmULp-g.js → commands-registry-D7CTCQPm.js} +4 -4
  54. package/dist/{completion-cli-CD-306wt.js → completion-cli-2Mi5hts2.js} +2 -2
  55. package/dist/{completion-cli-BgX3MWVU.js → completion-cli-BLrwUAyo.js} +12 -12
  56. package/dist/{config-CHwyw6l5.js → config-CJMcIRQM.js} +2 -2
  57. package/dist/{config-eEaJddXj.js → config-DRbjHIwD.js} +12 -12
  58. package/dist/{config-cli-Cz87-TYh.js → config-cli-CF-wdLkO.js} +4 -4
  59. package/dist/{config-cli-DAbXVRUL.js → config-cli-tYZAnvgQ.js} +1 -1
  60. package/dist/{config-guard-BflmO0t7.js → config-guard-C1Rs8NZG.js} +12 -12
  61. package/dist/{config-validation-CmimHAES.js → config-validation-ChQQVndI.js} +1 -1
  62. package/dist/{configure-D45ne4lm.js → configure-BHKdqhLb.js} +15 -15
  63. package/dist/{configure-0nrthdSf.js → configure-si19m30s.js} +3 -3
  64. package/dist/{control-service-Bz7rxLWq.js → control-service-B8H3Bqpv.js} +4 -4
  65. package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-DqGziq7x.js} +1 -1
  66. package/dist/{cron-cli-DBIlCvp3.js → cron-cli-YrMWJCkm.js} +10 -10
  67. package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-Dx4SXRyp.js} +11 -11
  68. package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime--RiRUx_2.js} +10 -10
  69. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  70. package/dist/{deliver-BmPK91JP.js → deliver-D1ZN6-fl.js} +20 -20
  71. package/dist/{deliver-CceEhg3d.js → deliver-Um8yyhRA.js} +7 -7
  72. package/dist/{devices-cli-Dds-25Ve.js → devices-cli-DAJ84AOe.js} +6 -6
  73. package/dist/{diagnostic-C3nsWaw3.js → diagnostic-CI0kRQkt.js} +1 -1
  74. package/dist/{diagnostics-BAMlsVVX.js → diagnostics-D2yUMZN1.js} +5 -5
  75. package/dist/{directory-cli-CpUByQew.js → directory-cli-C4h8KQLH.js} +7 -7
  76. package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-BCSw0GJS.js} +2 -2
  77. package/dist/{dns-cli-Beyzdh3S.js → dns-cli-s0ZWvTPm.js} +3 -3
  78. package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
  79. package/dist/{docs-cli-BpnEOtJi.js → docs-cli-BfPfHTDs.js} +1 -1
  80. package/dist/{doctor-completion-CcDVOtZ5.js → doctor-completion-C19QYsQN.js} +2 -2
  81. package/dist/{doctor-completion-CmGtqUHQ.js → doctor-completion-Dn_Kn4gz.js} +1 -1
  82. package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-D05HlWdn.js} +10 -10
  83. package/dist/entry.js +1 -1
  84. package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-Df1lyRyE.js} +13 -13
  85. package/dist/extensionAPI.js +6 -6
  86. package/dist/{frontmatter-DPlG6yha.js → frontmatter-C_bv_0P8.js} +2 -2
  87. package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
  88. package/dist/{gateway-cli-DajX3Pye.js → gateway-cli-B7khyAHs.js} +139 -155
  89. package/dist/{gateway-cli-BVN31fwu.js → gateway-cli-DG_Mdw0H.js} +35 -51
  90. package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DFeD8pZh.js} +1 -1
  91. package/dist/{gemini-auth-CF48hUR9.js → gemini-auth-CdSPHuLl.js} +1 -1
  92. package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
  93. package/dist/{glass-ui-ws-CQG6acJl.js → glass-ui-ws-BAub_JoN.js} +7 -7
  94. package/dist/{glass-ui-ws-Z1IOT6Vc.js → glass-ui-ws-BmQAULMj.js} +82 -82
  95. package/dist/{health-D9eQW7fJ.js → health-CboWXJkq.js} +1 -1
  96. package/dist/{health-f056vLGT.js → health-DkKXiUEF.js} +13 -13
  97. package/dist/{hooks-cli-hJ4euq2R.js → hooks-cli-BrO_9pas.js} +76 -76
  98. package/dist/{hooks-cli-CW-IRS72.js → hooks-cli-DLM_5caf.js} +2 -2
  99. package/dist/{image-D9uvDTrc.js → image-BiY-PfMh.js} +3 -3
  100. package/dist/{image-rZ4x9VS9.js → image-Cp3JDEBB.js} +4 -4
  101. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  102. package/dist/{image-ops-S8-8dAhx.js → image-ops-CvJzsyvE.js} +1 -1
  103. package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
  104. package/dist/index.js +72 -72
  105. package/dist/{inspect-CllGjsWo.js → inspect-ZJkNX0WL.js} +4 -4
  106. package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-Qqr_t_tH.js} +11 -11
  107. package/dist/{installs-C1Cebk97.js → installs-O9KlRu9h.js} +10 -10
  108. package/dist/{ir-CbFUkv_T.js → ir-DccrnjsE.js} +4 -4
  109. package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
  110. package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-BkPSoGM2.js} +5 -5
  111. package/dist/llm-slug-generator.js +53 -53
  112. package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
  113. package/dist/{local-roots-C7OCYACU.js → local-roots-DMwIh5cS.js} +5 -5
  114. package/dist/{login-dIlDkG4X.js → login-1sleXoB4.js} +3 -3
  115. package/dist/{login-B8uiUAnV.js → login-CwCoxapk.js} +7 -7
  116. package/dist/{login-qr-CIZk8uKX.js → login-qr-Batf3PT5.js} +12 -12
  117. package/dist/{login-qr-pbXdFORv.js → login-qr-wCWBOMwB.js} +5 -5
  118. package/dist/{logs-cli-xOzIPrHm.js → logs-cli-DVeEdUCU.js} +7 -7
  119. package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
  120. package/dist/{manager-BoLr3xR_.js → manager-D_LwXbc6.js} +13 -13
  121. package/dist/{manifest-registry-CneMHk0N.js → manifest-registry-D0IQ3WuX.js} +19 -19
  122. package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
  123. package/dist/{markdown-tables-DSHvnTLx.js → markdown-tables-iMQQZu4Q.js} +1 -1
  124. package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-lk6fRiwy.js} +14 -14
  125. package/dist/{message-channel-DbsRltF2.js → message-channel-Dz5lr5b0.js} +1 -1
  126. package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
  127. package/dist/{model-auth-CwOuTuXl.js → model-auth-DK43VicI.js} +9 -9
  128. package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-C3NLvWC2.js} +4 -4
  129. package/dist/{model-picker-Ddo3jHe-.js → model-picker-LKZLY2DL.js} +3 -3
  130. package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
  131. package/dist/{models-nO_t1uzp.js → models-BmiRYEVd.js} +2 -2
  132. package/dist/{models-cli-B2ticsCM.js → models-cli-4vQrbW6G.js} +72 -72
  133. package/dist/{models-cli-D9bG44Ao.js → models-cli-Tf61I97Q.js} +3 -3
  134. package/dist/{models-config-qyOXrOli.js → models-config-CqDdkHJq.js} +7 -7
  135. package/dist/{node-cli-C_G-Q3h-.js → node-cli-Jj2LTGzF.js} +28 -28
  136. package/dist/{node-service-Cxz4e-Qd.js → node-service-CJygtY5M.js} +1 -1
  137. package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-C43ifECe.js} +10 -10
  138. package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-C99kfE1u.js} +4 -4
  139. package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-DR_at_Hp.js} +9 -9
  140. package/dist/{onboard-BDbpfrZj.js → onboard-D8uxVvMq.js} +13 -13
  141. package/dist/{onboard-BtZ9WqhJ.js → onboard-FpptSqHZ.js} +2 -2
  142. package/dist/{onboard-channels-HubyUVjT.js → onboard-channels-DOKid2w1.js} +5 -5
  143. package/dist/{onboard-channels-CHE8nfNA.js → onboard-channels-Q_xxgZ8O.js} +1 -1
  144. package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-DPJiy9aT.js} +3 -3
  145. package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-Dixh6cNh.js} +8 -8
  146. package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-lsws7g2s.js} +1 -1
  147. package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-B66ZWtkN.js} +1 -1
  148. package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-B0IA09ig.js} +4 -4
  149. package/dist/{onboarding-eVb5gvwo.js → onboarding-CdlGKa0U.js} +13 -13
  150. package/dist/{onboarding-DtP0sps0.js → onboarding-DhIEUmp5.js} +3 -3
  151. package/dist/{onboarding.finalize-D8035U2E.js → onboarding.finalize-CEYLIXkq.js} +6 -6
  152. package/dist/{onboarding.finalize-CetxPTxL.js → onboarding.finalize-DyBsPxXJ.js} +74 -74
  153. package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-CCJqI0kw.js} +14 -14
  154. package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-BJ1IZ3TN.js} +2 -2
  155. package/dist/{outbound-opDNxv-l.js → outbound-D4fN_ZlE.js} +7 -7
  156. package/dist/{outbound-DB5Zus0-.js → outbound-NJCy0h4x.js} +4 -4
  157. package/dist/{outbound-attachment-D_QuKi8U.js → outbound-attachment-D62E0xDI.js} +2 -2
  158. package/dist/{outbound-attachment-Co2diKdP.js → outbound-attachment-DjNDa3zn.js} +2 -2
  159. package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CcW0ndhB.js} +8 -8
  160. package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-27SOKDzJ.js} +1 -1
  161. package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
  162. package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
  163. package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
  164. package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
  165. package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
  166. package/dist/{pi-auth-json-DPWPoruO.js → pi-auth-json-0SYBFZTt.js} +8 -8
  167. package/dist/{pi-auth-json-DayrlDg_.js → pi-auth-json-CCneTXUh.js} +3 -3
  168. package/dist/{pi-embedded-BY-dBus2.js → pi-embedded-BThV36aG.js} +109 -21
  169. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  170. package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-DO6u9K2t.js} +6 -6
  171. package/dist/{pi-embedded-helpers-B2z46qeM.js → pi-embedded-helpers-ag2bosuj.js} +52 -52
  172. package/dist/{pi-embedded-Dc3muKtS.js → pi-embedded-wr4HXhzm.js} +255 -167
  173. package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-juZV2uUv.js} +4 -4
  174. package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-Bbm7MwFV.js} +2 -2
  175. package/dist/{plugin-registry-CuoX8mar.js → plugin-registry-DvWWctC9.js} +1 -1
  176. package/dist/{plugin-registry-fxcvycGr.js → plugin-registry-lWWSu9UD.js} +3 -3
  177. package/dist/plugin-sdk/agents/model-token-filter.d.ts +15 -0
  178. package/dist/plugin-sdk/{channel-web-CV1KLtZh.js → channel-web-BnrTC55Y.js} +1 -1
  179. package/dist/plugin-sdk/index.js +2 -2
  180. package/dist/plugin-sdk/{reply-C4mijdMZ.js → reply-kuMxu6Q4.js} +95 -7
  181. package/dist/plugin-sdk/{web-B17UUsjm.js → web-TMIhKQyF.js} +2 -2
  182. package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
  183. package/dist/{plugins-C4C9637U.js → plugins-DQYI3Fr-.js} +9 -9
  184. package/dist/{plugins-cli-4OqSGHp-.js → plugins-cli-BHfzYAq6.js} +71 -71
  185. package/dist/{plugins-cli-BbE_Qnlk.js → plugins-cli-wlWRx4Oj.js} +2 -2
  186. package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
  187. package/dist/{ports-BX0kKI0g.js → ports-b36gHZbA.js} +1 -1
  188. package/dist/{program-DkXOdfM2.js → program-CKy7s-bm.js} +7 -7
  189. package/dist/{program-context-0bDxGpMx.js → program-context-D4gbh6dg.js} +39 -39
  190. package/dist/{prompt-select-styled-DJkRn30j.js → prompt-select-styled-DlGPNq9c.js} +38 -38
  191. package/dist/{prompt-select-styled-_6KbTFXs.js → prompt-select-styled-bh0GLMiQ.js} +4 -4
  192. package/dist/{provider-auth-helpers-BpVAdwK_.js → provider-auth-helpers-B-YsKbwc.js} +1 -1
  193. package/dist/{provider-auth-helpers-Bnkj4QXS.js → provider-auth-helpers-Bd5VVReu.js} +5 -5
  194. package/dist/{push-apns-EKnCwrqK.js → push-apns-0et2AR44.js} +4 -4
  195. package/dist/{push-apns-C0wMP1XU.js → push-apns-ByyOJyDl.js} +1 -1
  196. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  197. package/dist/{pw-ai-PiQUncix.js → pw-ai-Ch7liUOW.js} +11 -11
  198. package/dist/{pw-ai-DqL87js3.js → pw-ai-MVzi113V.js} +7 -7
  199. package/dist/{qmd-manager-D85GJrir.js → qmd-manager-BP2r8b1D.js} +18 -18
  200. package/dist/{qmd-manager-DdZh9PHs.js → qmd-manager-QHUP-_em.js} +7 -7
  201. package/dist/{qr-cli-jd9LdZpq.js → qr-cli-17laLZm_.js} +3 -3
  202. package/dist/{register.agent-B0S1CJEx.js → register.agent-Dhijhxr5.js} +81 -81
  203. package/dist/{register.agent-B48Vf_DK.js → register.agent-oKma6YjU.js} +6 -6
  204. package/dist/{register.configure-Wyv7vb24.js → register.configure-BX8vQ2Np.js} +6 -6
  205. package/dist/register.configure-BcZ-7Yir.js +147 -0
  206. package/dist/{register.maintenance-Cmf17EW0.js → register.maintenance-B3TPb969.js} +84 -84
  207. package/dist/{register.maintenance-TgjAQ4E0.js → register.maintenance-OJCduNdt.js} +8 -8
  208. package/dist/{register.message-Dwv2puIB.js → register.message-CX8C_Fds.js} +2 -2
  209. package/dist/{register.message-BcsPnPvW.js → register.message-D0aswsGo.js} +63 -63
  210. package/dist/{register.onboard-BDGaSyq2.js → register.onboard-BHTyEs6d.js} +74 -74
  211. package/dist/{register.onboard-C8w7_w93.js → register.onboard-CSepiSPt.js} +4 -4
  212. package/dist/{register.setup-CMGSNKXS.js → register.setup-lZSHKiGQ.js} +4 -4
  213. package/dist/{register.setup-CiEuZOlI.js → register.setup-uhpgkBjU.js} +77 -77
  214. package/dist/{register.status-health-sessions-zKjmZyOs.js → register.status-health-sessions-Cbavf8do.js} +3 -3
  215. package/dist/{register.status-health-sessions-C8p0uINc.js → register.status-health-sessions-v1KN3eEp.js} +75 -75
  216. package/dist/{register.subclis-CofZE_pt.js → register.subclis-DBEv5xOP.js} +9 -9
  217. package/dist/{registry-DP24za6g.js → registry-CK4e9hn8.js} +17 -17
  218. package/dist/{replies-DpPvWiGF.js → replies-BIX_isV7.js} +3 -3
  219. package/dist/{replies-vgss3_QA.js → replies-BL7IBg12.js} +1 -1
  220. package/dist/{reply-SBi_U7P7.js → reply-DVxU0AMq.js} +225 -137
  221. package/dist/{reply-prefix-CtL0omgM.js → reply-prefix-BLOOs1aW.js} +1 -1
  222. package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-XlyuyChD.js} +1 -1
  223. package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
  224. package/dist/{resolve-route-BVikmvWO.js → resolve-route-CZ-1eqw0.js} +4 -4
  225. package/dist/{retry-dGG-MbxL.js → retry-Cly39XZB.js} +1 -1
  226. package/dist/{routes-Ba9CUQ8M.js → routes-CE-ohckF.js} +8 -8
  227. package/dist/{rpc-BfhojW8g.js → rpc-wovSCB5v.js} +1 -1
  228. package/dist/{run-main-BJaDO3WW.js → run-main-DspjiCY1.js} +14 -14
  229. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  230. package/dist/{runner-CUglpiFP.js → runner-Cen70krW.js} +20 -20
  231. package/dist/{runner-CCSMfQee.js → runner-D0QUGA_X.js} +9 -9
  232. package/dist/{sandbox-C-T6hOMv.js → sandbox-BzNrUHpt.js} +18 -18
  233. package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-CZrMO34w.js} +20 -20
  234. package/dist/{security-cli-BFLtWWHy.js → security-cli-CeBoEmeN.js} +36 -36
  235. package/dist/{send-DeEosX8F.js → send-B1u-LrcS.js} +18 -18
  236. package/dist/{send-Cutb0ZDY.js → send-BEeuDXqy.js} +6 -6
  237. package/dist/{send-tanEMpHN.js → send-BjdAgYLu.js} +6 -6
  238. package/dist/{send-CZr1hVHY.js → send-BnuIB59F.js} +13 -13
  239. package/dist/{send-CXxQ_f7L.js → send-C95ZRvja.js} +6 -6
  240. package/dist/{send-DwKJK3sM.js → send-CiTGOvEc.js} +10 -10
  241. package/dist/{send-zSarozV2.js → send-DW96zgDL.js} +6 -6
  242. package/dist/{send-CHEOWVc8.js → send-DeFniOjh.js} +6 -6
  243. package/dist/{send-DbcLJb0P.js → send-WyRqb4WD.js} +7 -7
  244. package/dist/{send-CPF8hSFp.js → send-dH0xroTu.js} +4 -4
  245. package/dist/{server-context-CEpFjqSk.js → server-context-DUXqnh6l.js} +5 -5
  246. package/dist/{server-methods-CyFB3XQf.js → server-methods-B9alalq5.js} +7 -7
  247. package/dist/{server-methods-Cm6W01ne.js → server-methods-BgBq7KRL.js} +54 -54
  248. package/dist/{server-node-events-Bhgt3xLw.js → server-node-events-BrBsrcCd.js} +63 -63
  249. package/dist/{server-node-events-CX1plxJz.js → server-node-events-DWG81_Fo.js} +2 -2
  250. package/dist/{service-Cl74hx8J.js → service--qMN5DPm.js} +15 -15
  251. package/dist/{session-DIBTkyvE.js → session-CsIk0Sqq.js} +2 -2
  252. package/dist/{session-DV1MNlbV.js → session-SM36BTsl.js} +8 -8
  253. package/dist/session-dirs-D3qlvucD.js +18 -0
  254. package/dist/{sessions-DgYpBvse.js → sessions-D5a7H247.js} +13 -13
  255. package/dist/{shared-Knv1hy6h.js → shared-Gi3l7nlY.js} +3 -3
  256. package/dist/{shared-BJvwnR5z.js → shared-Jm_QdQJQ.js} +1 -1
  257. package/dist/{skill-commands-D610IKhm.js → skill-commands-BJMb_psG.js} +9 -9
  258. package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
  259. package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-CXg9eeyc.js} +5 -5
  260. package/dist/{skills-o5WVqM4V.js → skills-BFekKL7i.js} +21 -21
  261. package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
  262. package/dist/{skills-cli-BZTBLQTt.js → skills-cli-D1JL_utC.js} +7 -7
  263. package/dist/{skills-install-D67isO1L.js → skills-install-DjcTy3CT.js} +3 -3
  264. package/dist/{skills-status-CURJKnyY.js → skills-status-DS-NZQiq.js} +1 -1
  265. package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
  266. package/dist/{sqlite-6H6Zw1cs.js → sqlite-DRbx2dhW.js} +4 -4
  267. package/dist/{status-CwXg8OO1.js → status-CgPPKk09.js} +25 -25
  268. package/dist/{status-U_1mE-yc.js → status-CkJV2sl6.js} +3 -3
  269. package/dist/{status-BdmYV3_x.js → status-DqMwkAnF.js} +1 -1
  270. package/dist/{status-BBpD_1pG.js → status-DxodHhzX.js} +2 -2
  271. package/dist/{status.update-DtwCUTf-.js → status.update-CmGpjKSr.js} +3 -3
  272. package/dist/{store-vVE6N2mH.js → store-C0wvOkae.js} +2 -2
  273. package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
  274. package/dist/{subagent-registry-Du9P0G2U.js → subagent-registry-CBklD0OL.js} +96 -8
  275. package/dist/{subsystem-DgpxyDQ_.js → subsystem-Bs9YvKLa.js} +1 -1
  276. package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
  277. package/dist/{system-cli-UMsMEurS.js → system-cli-Buhvt_H5.js} +11 -11
  278. package/dist/{systemd-riq8uNJQ.js → systemd-AhJEsmIk.js} +5 -5
  279. package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-Db0oImvK.js} +6 -6
  280. package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-BXwqn1jL.js} +1 -1
  281. package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
  282. package/dist/{tables-BIWsCKXJ.js → tables-DuZspiBu.js} +1 -1
  283. package/dist/{target-errors-DyItGyW9.js → target-errors-Be1SwYlW.js} +2 -2
  284. package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
  285. package/dist/{thinking-Ni0HF-w6.js → thinking-CdlENGRW.js} +5 -5
  286. package/dist/{tokens-c_SLAkVb.js → tokens-H1H1LiSQ.js} +1 -1
  287. package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
  288. package/dist/{tool-images-DBCfXdli.js → tool-images-DXB7tqWi.js} +2 -2
  289. package/dist/{tool-loop-detection-Bbc9OPFR.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
  290. package/dist/{tui-CriznorL.js → tui-C0A9W969.js} +7 -7
  291. package/dist/{tui-cli-CSIdfCTR.js → tui-cli-tCnkNdSx.js} +28 -28
  292. package/dist/{update-rw7wJwHd.js → update-Df4sEKtI.js} +3 -3
  293. package/dist/{update-check-CtckACbb.js → update-check-C0oYCI89.js} +5 -5
  294. package/dist/{update-cli-_45TJ3hZ.js → update-cli-BqdgQuYp.js} +8 -8
  295. package/dist/{update-cli-DJzF_9UX.js → update-cli-DYrpyu4a.js} +94 -94
  296. package/dist/{update-runner-BSQFv9b6.js → update-runner-BgzyPjF5.js} +15 -15
  297. package/dist/{update-runner-8Ac4bJ1w.js → update-runner-CmZW3aeK.js} +1 -1
  298. package/dist/{web-C1Zn8_qW.js → web-CfZp0Jv6.js} +6 -6
  299. package/dist/{web-BqRsq6mP.js → web-DNQzo8ao.js} +57 -57
  300. package/dist/web-DsCqmzyk.js +109 -0
  301. package/dist/{web-w-vV1rCZ.js → web-GL_nqURg.js} +1 -1
  302. package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-Bp-7Rs2Y.js} +4 -4
  303. package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-CFXNPLco.js} +15 -15
  304. package/dist/{whatsapp-actions-oRQjcdQe.js → whatsapp-actions-D1RsnX7P.js} +23 -23
  305. package/dist/{with-timeout-gmK6RciS.js → with-timeout-Cs6_LnHB.js} +1 -1
  306. package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
  307. package/dist/{workspace-CbvamIU6.js → workspace-wAaHI8-5.js} +6 -6
  308. package/dist/{wsl-C4424szg.js → wsl-BbXxnokd.js} +2 -2
  309. package/package.json +1 -1
  310. package/dist/register.configure-Drr3E9OG.js +0 -147
  311. package/dist/web-BZSI7b07.js +0 -109
@@ -3,101 +3,101 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  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-EAliFiVK.js";
5
5
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
+ import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
8
8
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
9
9
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
10
- import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-CgUHAtCo.js";
11
- import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-CyFvYcRt.js";
10
+ import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-BRwEc2pG.js";
11
+ import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-X1oLh3CE.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DAu1a6BX.js";
13
13
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
16
16
  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-aT-I_DTX.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-CZr1hVHY.js";
18
- 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-CHwyw6l5.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BnuIB59F.js";
18
+ 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-CJMcIRQM.js";
19
19
  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-C4BxOMWX.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- 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-CUglpiFP.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-D9uvDTrc.js";
26
- import { t as ensureSymiModelsJson } from "./models-config-qyOXrOli.js";
24
+ 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-Cen70krW.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-BiY-PfMh.js";
26
+ import { t as ensureSymiModelsJson } from "./models-config-CqDdkHJq.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- 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-CNPyv_ax.js";
29
- 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-C-T6hOMv.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DtPkPq9T.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CEpFjqSk.js";
32
- 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-6jdJQ5ZL.js";
28
+ 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-DO6u9K2t.js";
29
+ 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-BzNrUHpt.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-r4RThPxq.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DUXqnh6l.js";
32
+ 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-DqQUtOph.js";
33
33
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
34
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-CT6jsi4E.js";
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
- 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-1OJMSAUX.js";
37
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-DgYpBvse.js";
39
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
40
- 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-DKDeQZF0.js";
41
- import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
42
- import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
43
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
44
- 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-CPF8hSFp.js";
36
+ 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-DYbDWaIA.js";
37
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-DvtcmOKj.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-D5a7H247.js";
39
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BYiRZSgZ.js";
40
+ 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-BAyxWQSz.js";
41
+ import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-Cd816n6l.js";
42
+ import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
43
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-mN_EcgxC.js";
44
+ 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-dH0xroTu.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
48
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DvUBlqjX.js";
48
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-B-pqX3nX.js";
49
49
  import { n as resolveToolDisplay } from "./tool-display-D8N3rsYt.js";
50
50
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3da8yR.js";
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
- import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
52
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
53
+ import { v as runTasksWithConcurrency } from "./sqlite-BV5ILFtC.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C3NLvWC2.js";
55
55
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-gmK6RciS.js";
57
- import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, 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 parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-CceEhg3d.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-Cs6_LnHB.js";
57
+ import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, 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 parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-Um8yyhRA.js";
58
58
  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-DjBRPfu9.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, 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 buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Cutb0ZDY.js";
61
- import { a as buildModelAliasLines, n as resolveModel } from "./model-tWhwnFf8.js";
62
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Ca5r9AUb.js";
64
- import { i as resolveMemorySearchConfig } from "./manager-D4LJSRyZ.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, 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 buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BEeuDXqy.js";
61
+ import { a as buildModelAliasLines, n as resolveModel } from "./model-CeeOcylL.js";
62
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BLOOs1aW.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-lk6fRiwy.js";
64
+ import { i as resolveMemorySearchConfig } from "./manager-C1CfGzZ2.js";
65
65
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
66
- 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-7AvoVa10.js";
66
+ 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-CCz79CmV.js";
67
67
  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-1dhPX1NK.js";
68
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
69
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
70
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
71
- 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-BT0-zzs3.js";
72
- import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CQSyCS4M.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CJaS1iRF.js";
68
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
69
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Dt4hOzxG.js";
70
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CtocZ4Lg.js";
71
+ 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-BZ0ZSQpM.js";
72
+ import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BsrZnuSi.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-Dd7-bkfG.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
77
77
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
78
- import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-tanEMpHN.js";
80
- import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CK726Dzq.js";
78
+ import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BjdAgYLu.js";
80
+ import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-B8ktu-6j.js";
81
81
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
83
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BMoTaVAH.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-vgss3_QA.js";
85
- 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-Cxw-jNxU.js";
83
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BcnaXYvh.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BL7IBg12.js";
85
+ 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-ZXbEITKi.js";
86
86
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
87
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-CXxQ_f7L.js";
88
- import { r as detectBinary } from "./onboard-helpers-ZmZYzlq3.js";
89
- import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
87
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-C95ZRvja.js";
88
+ import { r as detectBinary } from "./onboard-helpers-Dixh6cNh.js";
89
+ import { t as resolvePairingIdLabel } from "./pairing-labels-27SOKDzJ.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
91
91
  import { t as getActiveWebListener } from "./active-listener-kvXhlgwu.js";
92
92
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-Kn31mBcW.js";
93
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-VBGXKdLk.js";
93
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-C99kfE1u.js";
94
94
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
95
95
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
96
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CIDBbw6x.js";
97
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Bz7rxLWq.js";
96
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-juZV2uUv.js";
97
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-B8H3Bqpv.js";
98
98
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
99
99
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-C8_BLnaW.js";
100
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DuWs0Aak.js";
100
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DjfBv8kq.js";
101
101
  import { t as parseTimeoutMs } from "./parse-timeout-C385GCpE.js";
102
102
  import { createRequire } from "node:module";
103
103
  import { fileURLToPath } from "node:url";
@@ -105,7 +105,7 @@ import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSyn
105
105
  import os, { homedir } from "node:os";
106
106
  import path from "node:path";
107
107
  import JSON5 from "json5";
108
- import fs$1 from "node:fs/promises";
108
+ import fsPromises from "node:fs/promises";
109
109
  import { execFileSync, spawn, spawnSync } from "node:child_process";
110
110
  import { inspect } from "node:util";
111
111
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
@@ -2893,7 +2893,7 @@ async function createModelSelectionState(params) {
2893
2893
  }
2894
2894
  }
2895
2895
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
2896
- const { ensureAuthProfileStore } = await import("./model-selection-CyFvYcRt.js").then((n) => n.dt);
2896
+ const { ensureAuthProfileStore } = await import("./model-selection-X1oLh3CE.js").then((n) => n.dt);
2897
2897
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
2898
2898
  const providerKey = normalizeProviderId(provider);
2899
2899
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -10415,7 +10415,7 @@ async function routeReply(params) {
10415
10415
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10416
10416
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10417
10417
  try {
10418
- const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
10418
+ const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
10419
10419
  return {
10420
10420
  ok: true,
10421
10421
  messageId: (await deliverOutboundPayloads({
@@ -12964,8 +12964,8 @@ async function describeStickerImage(params) {
12964
12964
  const { provider, model } = resolved;
12965
12965
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
12966
12966
  try {
12967
- const buffer = await fs$1.readFile(imagePath);
12968
- const { describeImageWithModel } = await import("./image-D9uvDTrc.js").then((n) => n.n);
12967
+ const buffer = await fsPromises.readFile(imagePath);
12968
+ const { describeImageWithModel } = await import("./image-BiY-PfMh.js").then((n) => n.n);
12969
12969
  return (await describeImageWithModel({
12970
12970
  buffer,
12971
12971
  fileName: "sticker.webp",
@@ -13388,7 +13388,7 @@ function createWhatsAppLoginTool() {
13388
13388
  force: Type.Optional(Type.Boolean())
13389
13389
  }),
13390
13390
  execute: async (_toolCallId, args) => {
13391
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-pbXdFORv.js");
13391
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-wCWBOMwB.js");
13392
13392
  if ((args?.action ?? "start") === "wait") {
13393
13393
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13394
13394
  return {
@@ -15604,7 +15604,7 @@ async function preflightDiscordMessage(params) {
15604
15604
  let preflightTranscript;
15605
15605
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15606
15606
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15607
- const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
15607
+ const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
15608
15608
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15609
15609
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15610
15610
  ctx: {
@@ -21610,18 +21610,18 @@ function appendImagePathsToPrompt(prompt, paths) {
21610
21610
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
21611
21611
  }
21612
21612
  async function writeCliImages(images) {
21613
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21613
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21614
21614
  const paths = [];
21615
21615
  for (let i = 0; i < images.length; i += 1) {
21616
21616
  const image = images[i];
21617
21617
  const ext = resolveImageExtension(image.mimeType);
21618
21618
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
21619
21619
  const buffer = Buffer.from(image.data, "base64");
21620
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
21620
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
21621
21621
  paths.push(filePath);
21622
21622
  }
21623
21623
  const cleanup = async () => {
21624
- await fs$1.rm(tempDir, {
21624
+ await fsPromises.rm(tempDir, {
21625
21625
  recursive: true,
21626
21626
  force: true
21627
21627
  });
@@ -22374,27 +22374,27 @@ async function runWithImageModelFallback(params) {
22374
22374
  function createDefaultDeps() {
22375
22375
  return {
22376
22376
  sendMessageWhatsApp: async (...args) => {
22377
- const { sendMessageWhatsApp } = await import("./web-BZSI7b07.js");
22377
+ const { sendMessageWhatsApp } = await import("./web-DsCqmzyk.js");
22378
22378
  return await sendMessageWhatsApp(...args);
22379
22379
  },
22380
22380
  sendMessageTelegram: async (...args) => {
22381
- const { sendMessageTelegram } = await import("./send-Cutb0ZDY.js").then((n) => n.l);
22381
+ const { sendMessageTelegram } = await import("./send-BEeuDXqy.js").then((n) => n.l);
22382
22382
  return await sendMessageTelegram(...args);
22383
22383
  },
22384
22384
  sendMessageDiscord: async (...args) => {
22385
- const { sendMessageDiscord } = await import("./send-CZr1hVHY.js").then((n) => n.t);
22385
+ const { sendMessageDiscord } = await import("./send-BnuIB59F.js").then((n) => n.t);
22386
22386
  return await sendMessageDiscord(...args);
22387
22387
  },
22388
22388
  sendMessageSlack: async (...args) => {
22389
- const { sendMessageSlack } = await import("./send-CPF8hSFp.js").then((n) => n.n);
22389
+ const { sendMessageSlack } = await import("./send-dH0xroTu.js").then((n) => n.n);
22390
22390
  return await sendMessageSlack(...args);
22391
22391
  },
22392
22392
  sendMessageSignal: async (...args) => {
22393
- const { sendMessageSignal } = await import("./send-tanEMpHN.js").then((n) => n.i);
22393
+ const { sendMessageSignal } = await import("./send-BjdAgYLu.js").then((n) => n.i);
22394
22394
  return await sendMessageSignal(...args);
22395
22395
  },
22396
22396
  sendMessageIMessage: async (...args) => {
22397
- const { sendMessageIMessage } = await import("./send-CXxQ_f7L.js").then((n) => n.n);
22397
+ const { sendMessageIMessage } = await import("./send-C95ZRvja.js").then((n) => n.n);
22398
22398
  return await sendMessageIMessage(...args);
22399
22399
  }
22400
22400
  };
@@ -23578,10 +23578,10 @@ function estimateDurationSeconds(pcm) {
23578
23578
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
23579
23579
  }
23580
23580
  async function writeWavFile(pcm) {
23581
- const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23581
+ const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23582
23582
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
23583
23583
  const wav = buildWavBuffer(pcm);
23584
- await fs$1.writeFile(filePath, wav);
23584
+ await fsPromises.writeFile(filePath, wav);
23585
23585
  scheduleTempCleanup(tempDir);
23586
23586
  return {
23587
23587
  path: filePath,
@@ -23590,7 +23590,7 @@ async function writeWavFile(pcm) {
23590
23590
  }
23591
23591
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
23592
23592
  setTimeout(() => {
23593
- fs$1.rm(tempDir, {
23593
+ fsPromises.rm(tempDir, {
23594
23594
  recursive: true,
23595
23595
  force: true
23596
23596
  }).catch((err) => {
@@ -27329,7 +27329,7 @@ function normalizeAllowList$2(list) {
27329
27329
  async function detectRemoteHostFromCliPath(cliPath) {
27330
27330
  try {
27331
27331
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
27332
- const content = await fs$1.readFile(expanded, "utf8");
27332
+ const content = await fsPromises.readFile(expanded, "utf8");
27333
27333
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
27334
27334
  if (userHostMatch) return userHostMatch[1];
27335
27335
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -33544,7 +33544,7 @@ function readSlackExternalArgMenuToken(raw) {
33544
33544
  }
33545
33545
  let commandsRegistry;
33546
33546
  async function getCommandsRegistry() {
33547
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BT0-zzs3.js").then((n) => n.n);
33547
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BZ0ZSQpM.js").then((n) => n.n);
33548
33548
  return commandsRegistry;
33549
33549
  }
33550
33550
  function encodeSlackCommandArgValue(parts) {
@@ -33886,11 +33886,11 @@ async function registerSlackMonitorSlashCommands(params) {
33886
33886
  const channelName = channelInfo?.name;
33887
33887
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
33888
33888
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
33889
- import("./resolve-route-BMoTaVAH.js").then((n) => n.r),
33889
+ import("./resolve-route-BcnaXYvh.js").then((n) => n.r),
33890
33890
  import("./inbound-context-CmmmT8IP.js").then((n) => n.n),
33891
33891
  Promise.resolve().then(() => provider_dispatcher_exports)
33892
33892
  ]);
33893
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-CE2YmmsD.js").then((n) => n.n)]);
33893
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-BLOOs1aW.js").then((n) => n.n)]);
33894
33894
  const route = resolveAgentRoute({
33895
33895
  cfg,
33896
33896
  channel: "slack",
@@ -33947,9 +33947,9 @@ async function registerSlackMonitorSlashCommands(params) {
33947
33947
  });
33948
33948
  const deliverSlashPayloads = async (replies) => {
33949
33949
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
33950
- import("./replies-vgss3_QA.js").then((n) => n.r),
33950
+ import("./replies-BL7IBg12.js").then((n) => n.r),
33951
33951
  import("./chunk-1dhPX1NK.js").then((n) => n.s),
33952
- import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
33952
+ import("./markdown-tables-ZwP14ydw.js").then((n) => n.t)
33953
33953
  ]);
33954
33954
  await deliverSlackSlashReplies({
33955
33955
  replies,
@@ -34002,7 +34002,7 @@ async function registerSlackMonitorSlashCommands(params) {
34002
34002
  let nativeCommands = [];
34003
34003
  if (nativeEnabled) {
34004
34004
  reg = await getCommandsRegistry();
34005
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cxw-jNxU.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34005
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ZXbEITKi.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34006
34006
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
34007
34007
  skillCommands,
34008
34008
  provider: "slack"
@@ -38771,7 +38771,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
38771
38771
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
38772
38772
  let preflightTranscript;
38773
38773
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
38774
- const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
38774
+ const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
38775
38775
  preflightTranscript = await transcribeFirstAudio({
38776
38776
  ctx: {
38777
38777
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -40539,7 +40539,7 @@ function safeParseState(raw) {
40539
40539
  async function readTelegramUpdateOffset(params) {
40540
40540
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40541
40541
  try {
40542
- return safeParseState(await fs$1.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40542
+ return safeParseState(await fsPromises.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40543
40543
  } catch (err) {
40544
40544
  if (err.code === "ENOENT") return null;
40545
40545
  return null;
@@ -40548,7 +40548,7 @@ async function readTelegramUpdateOffset(params) {
40548
40548
  async function writeTelegramUpdateOffset(params) {
40549
40549
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40550
40550
  const dir = path.dirname(filePath);
40551
- await fs$1.mkdir(dir, {
40551
+ await fsPromises.mkdir(dir, {
40552
40552
  recursive: true,
40553
40553
  mode: 448
40554
40554
  });
@@ -40557,14 +40557,14 @@ async function writeTelegramUpdateOffset(params) {
40557
40557
  version: STORE_VERSION,
40558
40558
  lastUpdateId: params.updateId
40559
40559
  };
40560
- await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40561
- await fs$1.chmod(tmp, 384);
40562
- await fs$1.rename(tmp, filePath);
40560
+ await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40561
+ await fsPromises.chmod(tmp, 384);
40562
+ await fsPromises.rename(tmp, filePath);
40563
40563
  }
40564
40564
  async function deleteTelegramUpdateOffset(params) {
40565
40565
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40566
40566
  try {
40567
- await fs$1.unlink(filePath);
40567
+ await fsPromises.unlink(filePath);
40568
40568
  } catch (err) {
40569
40569
  if (err.code === "ENOENT") return;
40570
40570
  throw err;
@@ -40925,23 +40925,23 @@ let webLoginQrPromise = null;
40925
40925
  let webChannelPromise = null;
40926
40926
  let whatsappActionsPromise = null;
40927
40927
  function loadWebOutbound() {
40928
- webOutboundPromise ??= import("./outbound-DB5Zus0-.js").then((n) => n.t);
40928
+ webOutboundPromise ??= import("./outbound-NJCy0h4x.js").then((n) => n.t);
40929
40929
  return webOutboundPromise;
40930
40930
  }
40931
40931
  function loadWebLogin() {
40932
- webLoginPromise ??= import("./login-dIlDkG4X.js").then((n) => n.n);
40932
+ webLoginPromise ??= import("./login-1sleXoB4.js").then((n) => n.n);
40933
40933
  return webLoginPromise;
40934
40934
  }
40935
40935
  function loadWebLoginQr() {
40936
- webLoginQrPromise ??= import("./login-qr-pbXdFORv.js");
40936
+ webLoginQrPromise ??= import("./login-qr-wCWBOMwB.js");
40937
40937
  return webLoginQrPromise;
40938
40938
  }
40939
40939
  function loadWebChannel() {
40940
- webChannelPromise ??= import("./web-BZSI7b07.js");
40940
+ webChannelPromise ??= import("./web-DsCqmzyk.js");
40941
40941
  return webChannelPromise;
40942
40942
  }
40943
40943
  function loadWhatsAppActions() {
40944
- whatsappActionsPromise ??= import("./whatsapp-actions-DbcsdOH3.js");
40944
+ whatsappActionsPromise ??= import("./whatsapp-actions-CFXNPLco.js");
40945
40945
  return whatsappActionsPromise;
40946
40946
  }
40947
40947
  function createPluginRuntime() {
@@ -41708,7 +41708,7 @@ function resolvePluginTools(params) {
41708
41708
  //#endregion
41709
41709
  //#region src/agents/apply-patch-update.ts
41710
41710
  async function defaultReadFile(filePath) {
41711
- return fs$1.readFile(filePath, "utf8");
41711
+ return fsPromises.readFile(filePath, "utf8");
41712
41712
  }
41713
41713
  async function applyUpdateHunk(filePath, chunks, options) {
41714
41714
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -41952,10 +41952,10 @@ function resolvePatchFileOps(options) {
41952
41952
  };
41953
41953
  }
41954
41954
  return {
41955
- readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
41956
- writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
41957
- remove: (filePath) => fs$1.rm(filePath),
41958
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
41955
+ readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
41956
+ writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
41957
+ remove: (filePath) => fsPromises.rm(filePath),
41958
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
41959
41959
  };
41960
41960
  }
41961
41961
  async function ensureDir(filePath, ops) {
@@ -42676,7 +42676,7 @@ async function resolveSandboxWorkdir(params) {
42676
42676
  cwd: process.cwd(),
42677
42677
  root: params.sandbox.workspaceDir
42678
42678
  });
42679
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42679
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42680
42680
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
42681
42681
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
42682
42682
  return {
@@ -43657,13 +43657,13 @@ async function validateScriptFileForShellBleed(params) {
43657
43657
  cwd: params.workdir,
43658
43658
  root: params.workdir
43659
43659
  });
43660
- stat = await fs$1.stat(absPath);
43660
+ stat = await fsPromises.stat(absPath);
43661
43661
  } catch {
43662
43662
  return;
43663
43663
  }
43664
43664
  if (!stat.isFile()) return;
43665
43665
  if (stat.size > 512 * 1024) return;
43666
- const content = await fs$1.readFile(absPath, "utf-8");
43666
+ const content = await fsPromises.readFile(absPath, "utf-8");
43667
43667
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
43668
43668
  if (first) {
43669
43669
  const idx = first.index;
@@ -44587,6 +44587,42 @@ function createProcessTool(defaults) {
44587
44587
  }
44588
44588
  const processTool = createProcessTool();
44589
44589
 
44590
+ //#endregion
44591
+ //#region src/agents/model-token-filter.ts
44592
+ /**
44593
+ * Strips model-specific control tokens from streamed text.
44594
+ *
44595
+ * Used both server-side (in the streaming pipeline) and by the Glass UI
44596
+ * (as a defense-in-depth fallback). The patterns here cover tokens known
44597
+ * to leak from Gemma 4 / vLLM; Claude output is left untouched.
44598
+ */
44599
+ const GEMMA_TOKEN_PATTERNS = [
44600
+ /<\|channel>\w*/g,
44601
+ /<channel\|>/g,
44602
+ /<start_of_turn>(?:model|user)?/g,
44603
+ /<end_of_turn>/g,
44604
+ /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
44605
+ /^\s*<bos>\s*/gm
44606
+ ];
44607
+ const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
44608
+ function isGemmaModel$1(modelId) {
44609
+ const lower = modelId.toLowerCase();
44610
+ return GEMMA_MODEL_HINTS$1.some((hint) => lower.includes(hint));
44611
+ }
44612
+ /**
44613
+ * Strip known control tokens from text. Only applies to Gemma-family models;
44614
+ * other models pass through unchanged.
44615
+ */
44616
+ function stripModelTokens(text, modelId) {
44617
+ if (!text || !isGemmaModel$1(modelId)) return text;
44618
+ let result = text;
44619
+ for (const re of GEMMA_TOKEN_PATTERNS) {
44620
+ re.lastIndex = 0;
44621
+ result = result.replace(re, "");
44622
+ }
44623
+ return result;
44624
+ }
44625
+
44590
44626
  //#endregion
44591
44627
  //#region src/agents/pi-tools.abort.ts
44592
44628
  function throwAbortError() {
@@ -46831,7 +46867,7 @@ async function readJsonlFromPath(jsonlPath) {
46831
46867
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
46832
46868
  throw new Error("jsonlPath outside allowed roots");
46833
46869
  }
46834
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
46870
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
46835
46871
  if (!isInboundPathAllowed({
46836
46872
  filePath: canonical,
46837
46873
  roots
@@ -46839,7 +46875,7 @@ async function readJsonlFromPath(jsonlPath) {
46839
46875
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
46840
46876
  throw new Error("jsonlPath outside allowed roots");
46841
46877
  }
46842
- return await fs$1.readFile(canonical, "utf8");
46878
+ return await fsPromises.readFile(canonical, "utf8");
46843
46879
  }
46844
46880
  const CanvasToolSchema = Type.Object({
46845
46881
  action: stringEnum(CANVAS_ACTIONS),
@@ -47619,27 +47655,27 @@ function resolveRestartSentinelPath(env = process.env) {
47619
47655
  }
47620
47656
  async function writeRestartSentinel(payload, env = process.env) {
47621
47657
  const filePath = resolveRestartSentinelPath(env);
47622
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
47658
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
47623
47659
  const data = {
47624
47660
  version: 1,
47625
47661
  payload
47626
47662
  };
47627
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47663
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47628
47664
  return filePath;
47629
47665
  }
47630
47666
  async function readRestartSentinel(env = process.env) {
47631
47667
  const filePath = resolveRestartSentinelPath(env);
47632
47668
  try {
47633
- const raw = await fs$1.readFile(filePath, "utf-8");
47669
+ const raw = await fsPromises.readFile(filePath, "utf-8");
47634
47670
  let parsed;
47635
47671
  try {
47636
47672
  parsed = JSON.parse(raw);
47637
47673
  } catch {
47638
- await fs$1.unlink(filePath).catch(() => {});
47674
+ await fsPromises.unlink(filePath).catch(() => {});
47639
47675
  return null;
47640
47676
  }
47641
47677
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
47642
- await fs$1.unlink(filePath).catch(() => {});
47678
+ await fsPromises.unlink(filePath).catch(() => {});
47643
47679
  return null;
47644
47680
  }
47645
47681
  return parsed;
@@ -47651,7 +47687,7 @@ async function consumeRestartSentinel(env = process.env) {
47651
47687
  const filePath = resolveRestartSentinelPath(env);
47652
47688
  const parsed = await readRestartSentinel(env);
47653
47689
  if (!parsed) return null;
47654
- await fs$1.unlink(filePath).catch(() => {});
47690
+ await fsPromises.unlink(filePath).catch(() => {});
47655
47691
  return parsed;
47656
47692
  }
47657
47693
  function formatRestartSentinelMessage(payload) {
@@ -48758,7 +48794,7 @@ async function hydrateAttachmentPayload(params) {
48758
48794
  accountId: params.accountId
48759
48795
  }),
48760
48796
  sandboxValidated: true,
48761
- readFile: (filePath) => fs$1.readFile(filePath)
48797
+ readFile: (filePath) => fsPromises.readFile(filePath)
48762
48798
  });
48763
48799
  params.args.buffer = media.buffer.toString("base64");
48764
48800
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -55969,6 +56005,31 @@ function resolveToolLoopDetectionConfig(params) {
55969
56005
  }
55970
56006
  };
55971
56007
  }
56008
+ /**
56009
+ * Wrap a tool to strip model-specific control tokens from string arguments
56010
+ * before execution. Gemma 4 via vLLM sometimes injects tokens like `<|`
56011
+ * into tool call arguments (e.g. `exec("<|node -v")`). This wrapper
56012
+ * sanitizes all string values in the argument object.
56013
+ */
56014
+ function wrapToolWithArgSanitization(tool, modelId) {
56015
+ const execute = tool.execute;
56016
+ if (!execute) return tool;
56017
+ return {
56018
+ ...tool,
56019
+ execute: async (toolCallId, params, signal, onUpdate) => {
56020
+ return execute(toolCallId, sanitizeToolArgs(params, modelId), signal, onUpdate);
56021
+ }
56022
+ };
56023
+ }
56024
+ function sanitizeToolArgs(params, modelId) {
56025
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
56026
+ if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
56027
+ const result = {};
56028
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
56029
+ else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
56030
+ else result[key] = value;
56031
+ return result;
56032
+ }
55972
56033
  function createSymiCodingTools(options) {
55973
56034
  const execToolName = "exec";
55974
56035
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -56192,7 +56253,11 @@ function createSymiCodingTools(options) {
56192
56253
  agentId
56193
56254
  })
56194
56255
  }));
56195
- return options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
56256
+ const withAbort = options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
56257
+ const modelId = options?.modelId ?? "";
56258
+ const modelProvider = options?.modelProvider ?? "";
56259
+ const fullModelId = modelProvider ? `${modelProvider}/${modelId}` : modelId;
56260
+ return fullModelId ? withAbort.map((tool) => wrapToolWithArgSanitization(tool, fullModelId)) : withAbort;
56196
56261
  }
56197
56262
 
56198
56263
  //#endregion
@@ -56211,7 +56276,7 @@ async function repairSessionFileIfNeeded(params) {
56211
56276
  };
56212
56277
  let content;
56213
56278
  try {
56214
- content = await fs$1.readFile(sessionFile, "utf-8");
56279
+ content = await fsPromises.readFile(sessionFile, "utf-8");
56215
56280
  } catch (err) {
56216
56281
  if (err?.code === "ENOENT") return {
56217
56282
  repaired: false,
@@ -56259,15 +56324,15 @@ async function repairSessionFileIfNeeded(params) {
56259
56324
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
56260
56325
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
56261
56326
  try {
56262
- const stat = await fs$1.stat(sessionFile).catch(() => null);
56263
- await fs$1.writeFile(backupPath, content, "utf-8");
56264
- if (stat) await fs$1.chmod(backupPath, stat.mode);
56265
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
56266
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
56267
- await fs$1.rename(tmpPath, sessionFile);
56327
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
56328
+ await fsPromises.writeFile(backupPath, content, "utf-8");
56329
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
56330
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
56331
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
56332
+ await fsPromises.rename(tmpPath, sessionFile);
56268
56333
  } catch (err) {
56269
56334
  try {
56270
- await fs$1.unlink(tmpPath);
56335
+ await fsPromises.unlink(tmpPath);
56271
56336
  } catch (cleanupErr) {
56272
56337
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
56273
56338
  }
@@ -58372,7 +58437,7 @@ async function prewarmSessionFile(sessionFile) {
58372
58437
  if (!isSessionManagerCacheEnabled()) return;
58373
58438
  if (isSessionManagerCached(sessionFile)) return;
58374
58439
  try {
58375
- const handle = await fs$1.open(sessionFile, "r");
58440
+ const handle = await fsPromises.open(sessionFile, "r");
58376
58441
  try {
58377
58442
  const buffer = Buffer$1.alloc(4096);
58378
58443
  await handle.read(buffer, 0, buffer.length, 0);
@@ -58696,7 +58761,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58696
58761
  } catch (err) {
58697
58762
  return fail(describeUnknownError(err));
58698
58763
  }
58699
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
58764
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
58700
58765
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
58701
58766
  const sandbox = await resolveSandboxContext({
58702
58767
  config: params.config,
@@ -58704,7 +58769,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58704
58769
  workspaceDir: resolvedWorkspace
58705
58770
  });
58706
58771
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
58707
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
58772
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
58708
58773
  await ensureSessionHeader({
58709
58774
  sessionFile: params.sessionFile,
58710
58775
  sessionId: params.sessionId,
@@ -59242,11 +59307,34 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
59242
59307
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
59243
59308
  if (Object.keys(streamParams).length === 0) return;
59244
59309
  log$2.debug(`creating streamFn wrapper with params: ${JSON.stringify(streamParams)}`);
59310
+ const sp = streamParams;
59311
+ const payloadOverrides = {};
59312
+ if (Array.isArray(sp.stop) && sp.stop.length > 0) payloadOverrides.stop = sp.stop;
59313
+ if (typeof sp.top_p === "number") payloadOverrides.top_p = sp.top_p;
59314
+ if (typeof sp.top_k === "number") payloadOverrides.top_k = sp.top_k;
59315
+ if (typeof sp.repeat_penalty === "number") payloadOverrides.repeat_penalty = sp.repeat_penalty;
59316
+ const hasPayloadOverrides = Object.keys(payloadOverrides).length > 0;
59245
59317
  const underlying = baseStreamFn ?? streamSimple;
59246
- const wrappedStreamFn = (model, context, options) => underlying(model, context, {
59247
- ...streamParams,
59248
- ...options
59249
- });
59318
+ const wrappedStreamFn = (model, context, options) => {
59319
+ if (hasPayloadOverrides) {
59320
+ const originalOnPayload = options?.onPayload;
59321
+ return underlying(model, context, {
59322
+ ...streamParams,
59323
+ ...options,
59324
+ onPayload: (payload) => {
59325
+ if (payload && typeof payload === "object") {
59326
+ const p = payload;
59327
+ for (const [key, value] of Object.entries(payloadOverrides)) if (p[key] === void 0) p[key] = value;
59328
+ }
59329
+ originalOnPayload?.(payload);
59330
+ }
59331
+ });
59332
+ }
59333
+ return underlying(model, context, {
59334
+ ...streamParams,
59335
+ ...options
59336
+ });
59337
+ };
59250
59338
  return wrappedStreamFn;
59251
59339
  }
59252
59340
  function isDirectOpenAIBaseUrl(baseUrl) {
@@ -59471,12 +59559,12 @@ function getQueuedFileWriter(writers, filePath) {
59471
59559
  const existing = writers.get(filePath);
59472
59560
  if (existing) return existing;
59473
59561
  const dir = path.dirname(filePath);
59474
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
59562
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
59475
59563
  let queue = Promise.resolve();
59476
59564
  const writer = {
59477
59565
  filePath,
59478
59566
  write: (line) => {
59479
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
59567
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
59480
59568
  }
59481
59569
  };
59482
59570
  writers.set(filePath, writer);
@@ -61868,7 +61956,7 @@ async function prepareSessionManagerForRun(params) {
61868
61956
  return;
61869
61957
  }
61870
61958
  if (params.hadSessionFile && header && !hasAssistant) {
61871
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
61959
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
61872
61960
  sm.fileEntries = [header];
61873
61961
  sm.byId?.clear?.();
61874
61962
  sm.labelsById?.clear?.();
@@ -62426,7 +62514,7 @@ async function runEmbeddedAttempt(params) {
62426
62514
  const prevCwd = process.cwd();
62427
62515
  const runAbortController = new AbortController();
62428
62516
  log$2.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
62429
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
62517
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
62430
62518
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
62431
62519
  const sandbox = await resolveSandboxContext({
62432
62520
  config: params.config,
@@ -62434,7 +62522,7 @@ async function runEmbeddedAttempt(params) {
62434
62522
  workspaceDir: resolvedWorkspace
62435
62523
  });
62436
62524
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
62437
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
62525
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
62438
62526
  let restoreSkillEnv;
62439
62527
  process.chdir(effectiveWorkspace);
62440
62528
  try {
@@ -62662,7 +62750,7 @@ async function runEmbeddedAttempt(params) {
62662
62750
  sessionFile: params.sessionFile,
62663
62751
  warn: (message) => log$2.warn(message)
62664
62752
  });
62665
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
62753
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
62666
62754
  const transcriptPolicy = resolveTranscriptPolicy({
62667
62755
  modelApi: params.model?.api,
62668
62756
  provider: params.provider,
@@ -63680,7 +63768,7 @@ async function runEmbeddedPiAgent(params) {
63680
63768
  }
63681
63769
  runLoopIterations += 1;
63682
63770
  attemptedThinking.add(thinkLevel);
63683
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
63771
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
63684
63772
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
63685
63773
  const attempt = await runEmbeddedAttempt({
63686
63774
  sessionId: params.sessionId,
@@ -68022,7 +68110,7 @@ async function handleCommands(params) {
68022
68110
  try {
68023
68111
  const messages = [];
68024
68112
  if (sessionFile) {
68025
- const content = await fs$1.readFile(sessionFile, "utf-8");
68113
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
68026
68114
  for (const line of content.split("\n")) {
68027
68115
  if (!line.trim()) continue;
68028
68116
  try {
@@ -71680,7 +71768,7 @@ async function deliverSessionMaintenanceWarning(params) {
71680
71768
  return;
71681
71769
  }
71682
71770
  try {
71683
- const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
71771
+ const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
71684
71772
  await deliverOutboundPayloads({
71685
71773
  cfg: params.cfg,
71686
71774
  channel,
@@ -72055,7 +72143,7 @@ async function stageSandboxMedia(params) {
72055
72143
  };
72056
72144
  try {
72057
72145
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
72058
- await fs$1.mkdir(destDir, { recursive: true });
72146
+ await fsPromises.mkdir(destDir, { recursive: true });
72059
72147
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
72060
72148
  cfg,
72061
72149
  accountId: ctx.AccountId
@@ -72105,7 +72193,7 @@ async function stageSandboxMedia(params) {
72105
72193
  usedNames.add(fileName);
72106
72194
  const dest = path.join(destDir, fileName);
72107
72195
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
72108
- else await fs$1.copyFile(source, dest);
72196
+ else await fsPromises.copyFile(source, dest);
72109
72197
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
72110
72198
  staged.set(source, stagedPath);
72111
72199
  }
@@ -72537,4 +72625,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
72537
72625
  }
72538
72626
 
72539
72627
  //#endregion
72540
- export { normalizeOptionalSessionKey as $, OPENAI_TTS_MODELS as $n, parseIdentityMarkdown as $t, formatTargetDisplay as A, initSubagentRegistry as An, extractImageContentFromSource as Ar, sleepWithAbort as At, setPreRestartDeferralCheck as B, registerAgentRunContext as Bn, normalizeSendPolicy as Bt, loadSessionEntry as C, shouldComputeCommandAuthorized as Cn, peekSystemEventEntries as Cr, formatUsageWindowSummary as Ct, runMessageAction as D, normalizeMentionText as Dn, DEFAULT_INPUT_MAX_REDIRECTS as Dr, readJsonBodyWithLimit as Dt, resolveSessionModelRef as E, buildMentionRegexes as En, DEFAULT_INPUT_IMAGE_MIMES as Er, handleSlackHttpRequest as Et, emitGatewayRestart as F, readLatestAssistantReply as Fn, resolveHeartbeatDeliveryTarget as Ft, summarizeRestartSentinel as G, resolveTtsApiKey as Gn, getCliSessionId as Gt, formatDoctorNonInteractiveHint as H, getTtsProvider as Hn, createDefaultDeps as Ht, isGatewaySigusr1RestartExternallyAllowed as I, clearAgentRunContext as In, resolveHeartbeatSenderContext as It, normalizeHttpWebhookUrl as J, resolveTtsPrefsPath as Jn, sha256HexPrefix as Jt, trimLogTail as K, resolveTtsAutoMode as Kn, setCliSessionId as Kt, markGatewaySigusr1RestartHandled as L, emitAgentEvent as Ln, resolveOutboundTarget as Lt, CHANNEL_MESSAGE_ACTION_NAMES as M, listSubagentRunsForRequester as Mn, resolveInputFileLimits as Mr, resolveSessionKeyForRequest as Mt, consumeGatewaySigusr1RestartAuthorization as N, subagent_registry_exports as Nn, estimateBase64DecodedBytes as Nr, resolveAgentDeliveryPlan as Nt, ensureOutboundSessionEntry as O, countActiveDescendantRuns as On, DEFAULT_INPUT_TIMEOUT_MS as Or, requestBodyErrorToText as Ot, deferGatewayRestartUntilIdle as P, runSubagentAnnounceFlow as Pn, resolveAgentTimeoutMs as Pr, resolveAgentOutboundTarget as Pt, normalizeOptionalAgentId as Q, textToSpeech as Qn, loadAgentIdentityFromWorkspace as Qt, scheduleGatewaySigusr1Restart as R, getAgentRunContext as Rn, resolveSessionDeliveryTarget as Rt, loadCombinedSessionStoreForGateway as S, hasControlCommand as Sn, isSystemEventContextChanged as Sr, formatUsageReportLines as St, resolveGatewaySessionStoreTarget as T, stopSubagentsForRequester as Tn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Tr, resolveCommitHash as Tt, formatRestartSentinelMessage as U, isTtsEnabled as Un, createOutboundSendDeps$1 as Ut, consumeRestartSentinel as V, resolveUserTimezone as Vn, resolveSendPolicy as Vt, readRestartSentinel as W, isTtsProviderConfigured as Wn, runWithModelFallback as Wt, normalizeCronJobPatch as X, setTtsEnabled as Xn, resolveAgentAvatar as Xt, normalizeCronJobCreate as Y, resolveTtsProviderOrder as Yn, describeFailoverError as Yt, inferLegacyName as Z, setTtsProvider as Zn, identityHasValues as Zt, resolveAnnounceTargetFromKey as _, createInboundDebouncer as _n, formatRemainingShort as _r, loadSymiPlugins as _t, buildChannelSummary as a, buildPairingReply as an, setCommandLaneConcurrency as ar, hasLegacyDeliveryHints as at, listAgentsForGateway as b, resolveEnvelopeFormatOptions as bn, parseVerboseOverride as br, parseActivationCommand as bt, clearSessionQueues as c, buildHistoryContextFromEntries as cn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as cr, CHANNEL_TARGET_DESCRIPTION as ct, getActiveEmbeddedRunCount as d, dispatchReplyWithBufferedBlockDispatcher as dn, resolveHeartbeatPrompt as dr, sniffMimeFromBase64 as dt, buildSafeExternalPrompt as en, OPENAI_TTS_VOICES as er, normalizeOptionalText as et, waitForEmbeddedPiRunEnd as f, provider_dispatcher_exports as fn, stripHeartbeatToken as fr, requestHeartbeatNow as ft, createSymiTools as g, createDedupeCache as gn, buildAuthHealthSummary as gr, createPluginLoaderLogger as gt, buildDefaultToolPolicyPipelineSteps as h, getTotalPendingReplies as hn, DEFAULT_OAUTH_WARN_MS as hr, getPluginToolMeta as ht, resolveCronStyleNow as i, unbindThreadBindingsBySessionKey as in, resetAllLanes as ir, buildDeliveryFromLegacyPayload as it, resetDirectoryCache as j, listDescendantRunsForRequester as jn, normalizeMimeList as jr, agentCommand as jt, resolveOutboundSessionRoute as k, countActiveRunsForSession as kn, extractFileContentFromSource as kr, computeBackoff as kt, runEmbeddedPiAgent as l, recordPendingHistoryEntryIfEnabled as ln, DEFAULT_HEARTBEAT_EVERY as lr, applyBrowserProxyPaths as lt, applyToolPolicyPipeline as m, createReplyDispatcher as mn, maskApiKey as mr, resolveHeartbeatReasonKind as mt, BARE_SESSION_RESET_PROMPT as n, getHookType as nn, getQueueSize as nr, normalizeRequiredName as nt, buildChannelAccountSnapshot as o, resolveMentionGating as on, waitForActiveTasks as or, stripLegacyDeliveryFields as ot, resolveModelProfile as p, dispatchInboundMessage as pn, lookupContextTokens as pr, setHeartbeatWakeHandler as pt, writeRestartSentinel as q, resolveTtsConfig as qn, runCliAgent as qt, appendCronStyleCurrentTimeLine as r, isExternalHookSession as rn, getTotalQueueSize as rr, migrateLegacyCronPayload as rt, formatChannelAllowFrom as s, DEFAULT_GROUP_HISTORY_LIMIT as sn, CommandLane as sr, CHANNEL_TARGETS_DESCRIPTION as st, getReplyFromConfig as t, detectSuspiciousPatterns as tn, getActiveTaskCount as tr, normalizePayloadToSystemText as tt, abortEmbeddedPiRun as u, shouldAckReactionForWhatsApp as un, isHeartbeatContentEffectivelyEmpty as ur, persistBrowserProxyFiles as ut, canonicalizeSpawnedByForAgent as v, resolveInboundDebounceMs as vn, applyModelOverrideToSessionEntry as vr, deleteTelegramUpdateOffset as vt, pruneLegacyStoreKeys as w, isAbortTrigger as wn, peekSystemEvents as wr, resolveUsageProviderId as wt, listSessionsFromStore as x, formatZonedTimestamp as xn, enqueueSystemEvent as xr, loadProviderUsageSummary as xt, classifySessionKey as y, formatInboundEnvelope as yn, applyVerboseOverride as yr, normalizeGroupActivation as yt, setGatewaySigusr1RestartPolicy as z, onAgentEvent as zn, createOutboundSendDeps as zt };
72628
+ export { normalizeOptionalSessionKey as $, textToSpeech as $n, loadAgentIdentityFromWorkspace as $t, formatTargetDisplay as A, countActiveRunsForSession as An, extractFileContentFromSource as Ar, computeBackoff as At, setPreRestartDeferralCheck as B, onAgentEvent as Bn, createOutboundSendDeps as Bt, loadSessionEntry as C, hasControlCommand as Cn, isSystemEventContextChanged as Cr, formatUsageReportLines as Ct, runMessageAction as D, buildMentionRegexes as Dn, DEFAULT_INPUT_IMAGE_MIMES as Dr, handleSlackHttpRequest as Dt, resolveSessionModelRef as E, stopSubagentsForRequester as En, DEFAULT_INPUT_IMAGE_MAX_BYTES as Er, resolveCommitHash as Et, emitGatewayRestart as F, runSubagentAnnounceFlow as Fn, resolveAgentTimeoutMs as Fr, resolveAgentOutboundTarget as Ft, summarizeRestartSentinel as G, isTtsProviderConfigured as Gn, runWithModelFallback as Gt, formatDoctorNonInteractiveHint as H, resolveUserTimezone as Hn, resolveSendPolicy as Ht, isGatewaySigusr1RestartExternallyAllowed as I, readLatestAssistantReply as In, resolveHeartbeatDeliveryTarget as It, normalizeHttpWebhookUrl as J, resolveTtsConfig as Jn, runCliAgent as Jt, trimLogTail as K, resolveTtsApiKey as Kn, getCliSessionId as Kt, markGatewaySigusr1RestartHandled as L, clearAgentRunContext as Ln, resolveHeartbeatSenderContext as Lt, CHANNEL_MESSAGE_ACTION_NAMES as M, listDescendantRunsForRequester as Mn, normalizeMimeList as Mr, agentCommand as Mt, consumeGatewaySigusr1RestartAuthorization as N, listSubagentRunsForRequester as Nn, resolveInputFileLimits as Nr, resolveSessionKeyForRequest as Nt, ensureOutboundSessionEntry as O, normalizeMentionText as On, DEFAULT_INPUT_MAX_REDIRECTS as Or, readJsonBodyWithLimit as Ot, deferGatewayRestartUntilIdle as P, subagent_registry_exports as Pn, estimateBase64DecodedBytes as Pr, resolveAgentDeliveryPlan as Pt, normalizeOptionalAgentId as Q, setTtsProvider as Qn, identityHasValues as Qt, scheduleGatewaySigusr1Restart as R, emitAgentEvent as Rn, resolveOutboundTarget as Rt, loadCombinedSessionStoreForGateway as S, formatZonedTimestamp as Sn, enqueueSystemEvent as Sr, loadProviderUsageSummary as St, resolveGatewaySessionStoreTarget as T, isAbortTrigger as Tn, peekSystemEvents as Tr, resolveUsageProviderId as Tt, formatRestartSentinelMessage as U, getTtsProvider as Un, createDefaultDeps as Ut, consumeRestartSentinel as V, registerAgentRunContext as Vn, normalizeSendPolicy as Vt, readRestartSentinel as W, isTtsEnabled as Wn, createOutboundSendDeps$1 as Wt, normalizeCronJobPatch as X, resolveTtsProviderOrder as Xn, describeFailoverError as Xt, normalizeCronJobCreate as Y, resolveTtsPrefsPath as Yn, sha256HexPrefix as Yt, inferLegacyName as Z, setTtsEnabled as Zn, resolveAgentAvatar as Zt, resolveAnnounceTargetFromKey as _, createDedupeCache as _n, buildAuthHealthSummary as _r, createPluginLoaderLogger as _t, buildChannelSummary as a, unbindThreadBindingsBySessionKey as an, resetAllLanes as ar, hasLegacyDeliveryHints as at, listAgentsForGateway as b, formatInboundEnvelope as bn, applyVerboseOverride as br, normalizeGroupActivation as bt, clearSessionQueues as c, DEFAULT_GROUP_HISTORY_LIMIT as cn, CommandLane as cr, CHANNEL_TARGET_DESCRIPTION as ct, getActiveEmbeddedRunCount as d, shouldAckReactionForWhatsApp as dn, isHeartbeatContentEffectivelyEmpty as dr, sniffMimeFromBase64 as dt, parseIdentityMarkdown as en, OPENAI_TTS_MODELS as er, normalizeOptionalText as et, waitForEmbeddedPiRunEnd as f, dispatchReplyWithBufferedBlockDispatcher as fn, resolveHeartbeatPrompt as fr, stripModelTokens as ft, createSymiTools as g, getTotalPendingReplies as gn, DEFAULT_OAUTH_WARN_MS as gr, getPluginToolMeta as gt, buildDefaultToolPolicyPipelineSteps as h, createReplyDispatcher as hn, maskApiKey as hr, resolveHeartbeatReasonKind as ht, resolveCronStyleNow as i, isExternalHookSession as in, getTotalQueueSize as ir, buildDeliveryFromLegacyPayload as it, resetDirectoryCache as j, initSubagentRegistry as jn, extractImageContentFromSource as jr, sleepWithAbort as jt, resolveOutboundSessionRoute as k, countActiveDescendantRuns as kn, DEFAULT_INPUT_TIMEOUT_MS as kr, requestBodyErrorToText as kt, runEmbeddedPiAgent as l, buildHistoryContextFromEntries as ln, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as lr, applyBrowserProxyPaths as lt, applyToolPolicyPipeline as m, dispatchInboundMessage as mn, lookupContextTokens as mr, setHeartbeatWakeHandler as mt, BARE_SESSION_RESET_PROMPT as n, detectSuspiciousPatterns as nn, getActiveTaskCount as nr, normalizeRequiredName as nt, buildChannelAccountSnapshot as o, buildPairingReply as on, setCommandLaneConcurrency as or, stripLegacyDeliveryFields as ot, resolveModelProfile as p, provider_dispatcher_exports as pn, stripHeartbeatToken as pr, requestHeartbeatNow as pt, writeRestartSentinel as q, resolveTtsAutoMode as qn, setCliSessionId as qt, appendCronStyleCurrentTimeLine as r, getHookType as rn, getQueueSize as rr, migrateLegacyCronPayload as rt, formatChannelAllowFrom as s, resolveMentionGating as sn, waitForActiveTasks as sr, CHANNEL_TARGETS_DESCRIPTION as st, getReplyFromConfig as t, buildSafeExternalPrompt as tn, OPENAI_TTS_VOICES as tr, normalizePayloadToSystemText as tt, abortEmbeddedPiRun as u, recordPendingHistoryEntryIfEnabled as un, DEFAULT_HEARTBEAT_EVERY as ur, persistBrowserProxyFiles as ut, canonicalizeSpawnedByForAgent as v, createInboundDebouncer as vn, formatRemainingShort as vr, loadSymiPlugins as vt, pruneLegacyStoreKeys as w, shouldComputeCommandAuthorized as wn, peekSystemEventEntries as wr, formatUsageWindowSummary as wt, listSessionsFromStore as x, resolveEnvelopeFormatOptions as xn, parseVerboseOverride as xr, parseActivationCommand as xt, classifySessionKey as y, resolveInboundDebounceMs as yn, applyModelOverrideToSessionEntry as yr, deleteTelegramUpdateOffset as yt, setGatewaySigusr1RestartPolicy as z, getAgentRunContext as zn, resolveSessionDeliveryTarget as zt };