@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,21 +3,21 @@ import { B as theme } from "./utils-B-0b9bGM.js";
3
3
  import "./registry-Cja8eT7G.js";
4
4
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
5
5
  import "./exec-CWkblSrI.js";
6
- import "./agent-scope-CgUHAtCo.js";
7
- import "./model-selection-CyFvYcRt.js";
6
+ import "./agent-scope-BRwEc2pG.js";
7
+ import "./model-selection-X1oLh3CE.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
- import { i as loadConfig } from "./config-CHwyw6l5.js";
12
+ import { i as loadConfig } from "./config-CJMcIRQM.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
- import { r as normalizeChannelId } from "./plugins-DKDeQZF0.js";
15
- import "./accounts-DDuIpcln.js";
16
- import "./bindings-DFaVVCsf.js";
14
+ import { r as normalizeChannelId } from "./plugins-BAyxWQSz.js";
15
+ import "./accounts-Cd816n6l.js";
16
+ import "./bindings-ChzePa8q.js";
17
17
  import "./logging-w5jq5901.js";
18
- import { l as listPairingChannels, n as approveChannelPairingCode, r as listChannelPairingRequests, u as notifyPairingApproved } from "./pairing-store-CK726Dzq.js";
18
+ import { l as listPairingChannels, n as approveChannelPairingCode, r as listChannelPairingRequests, u as notifyPairingApproved } from "./pairing-store-B8ktu-6j.js";
19
19
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
20
- import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
20
+ import { t as resolvePairingIdLabel } from "./pairing-labels-27SOKDzJ.js";
21
21
  import { t as renderTable } from "./table-BTgkRafz.js";
22
22
 
23
23
  //#region src/cli/pairing-cli.ts
@@ -1,4 +1,4 @@
1
- import { c as getPairingAdapter } from "./pairing-store-CK726Dzq.js";
1
+ import { c as getPairingAdapter } from "./pairing-store-B8ktu-6j.js";
2
2
 
3
3
  //#region src/pairing/pairing-labels.ts
4
4
  function resolvePairingIdLabel(channel) {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-Cqn-zk3M.js";
2
2
  import { b as safeParseJson } from "./utils-B-0b9bGM.js";
3
- import { It as withFileLock$1 } from "./model-selection-CyFvYcRt.js";
4
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
3
+ import { It as withFileLock$1 } from "./model-selection-X1oLh3CE.js";
4
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
5
5
  import fs from "node:fs";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -1,13 +1,13 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
  import { randomBytes, randomUUID } from "node:crypto";
6
6
 
7
7
  //#region src/infra/json-files.ts
8
8
  async function readJsonFile(filePath) {
9
9
  try {
10
- const raw = await fs.readFile(filePath, "utf8");
10
+ const raw = await fsPromises.readFile(filePath, "utf8");
11
11
  return JSON.parse(raw);
12
12
  } catch {
13
13
  return null;
@@ -16,15 +16,15 @@ async function readJsonFile(filePath) {
16
16
  async function writeJsonAtomic(filePath, value, options) {
17
17
  const mode = options?.mode ?? 384;
18
18
  const dir = path.dirname(filePath);
19
- await fs.mkdir(dir, { recursive: true });
19
+ await fsPromises.mkdir(dir, { recursive: true });
20
20
  const tmp = `${filePath}.${randomUUID()}.tmp`;
21
- await fs.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
21
+ await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
22
22
  try {
23
- await fs.chmod(tmp, mode);
23
+ await fsPromises.chmod(tmp, mode);
24
24
  } catch {}
25
- await fs.rename(tmp, filePath);
25
+ await fsPromises.rename(tmp, filePath);
26
26
  try {
27
- await fs.chmod(filePath, mode);
27
+ await fsPromises.chmod(filePath, mode);
28
28
  } catch {}
29
29
  }
30
30
  function createAsyncLock() {
@@ -1,5 +1,5 @@
1
1
  import { X as resolvePreferredSymiTmpDir } from "./utils-B-0b9bGM.js";
2
- import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CUjO1ca2.js";
2
+ import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CTDvb1DF.js";
3
3
  import path from "node:path";
4
4
 
5
5
  //#region src/browser/paths.ts
@@ -1,6 +1,6 @@
1
1
  import os from "node:os";
2
2
  import path from "node:path";
3
- import fsSync from "node:fs";
3
+ import fs from "node:fs";
4
4
 
5
5
  //#region src/infra/home-dir.ts
6
6
  function normalize(value) {
@@ -85,10 +85,10 @@ function resolveStateDir(env = process.env, homedir = envHomedir(env)) {
85
85
  if (override) return resolveUserPath(override, env, effectiveHomedir);
86
86
  const newDir = newStateDir(effectiveHomedir);
87
87
  const legacyDirs = legacyStateDirs(effectiveHomedir);
88
- if (fsSync.existsSync(newDir)) return newDir;
88
+ if (fs.existsSync(newDir)) return newDir;
89
89
  const existingLegacy = legacyDirs.find((dir) => {
90
90
  try {
91
- return fsSync.existsSync(dir);
91
+ return fs.existsSync(dir);
92
92
  } catch {
93
93
  return false;
94
94
  }
@@ -127,7 +127,7 @@ function resolveCanonicalConfigPath(env = process.env, stateDir = resolveStateDi
127
127
  function resolveConfigPathCandidate(env = process.env, homedir = envHomedir(env)) {
128
128
  const existing = resolveDefaultConfigCandidates(env, homedir).find((candidate) => {
129
129
  try {
130
- return fsSync.existsSync(candidate);
130
+ return fs.existsSync(candidate);
131
131
  } catch {
132
132
  return false;
133
133
  }
@@ -144,7 +144,7 @@ function resolveConfigPath(env = process.env, stateDir = resolveStateDir(env, en
144
144
  const stateOverride = env.SYMI_STATE_DIR?.trim();
145
145
  const existing = [path.join(stateDir, CONFIG_FILENAME), ...LEGACY_CONFIG_FILENAMES.map((name) => path.join(stateDir, name))].find((candidate) => {
146
146
  try {
147
- return fsSync.existsSync(candidate);
147
+ return fs.existsSync(candidate);
148
148
  } catch {
149
149
  return false;
150
150
  }
@@ -1,4 +1,4 @@
1
- import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CySxpNhH.js";
1
+ import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-Cce4PUkG.js";
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
@@ -1,12 +1,12 @@
1
- import "./paths-CySxpNhH.js";
2
- import "./registry-DP24za6g.js";
3
- import "./agent-scope-Bw1Ed8W9.js";
4
- import "./subsystem-DgpxyDQ_.js";
5
- import "./workspace-CbvamIU6.js";
1
+ import "./paths-Cce4PUkG.js";
2
+ import "./registry-CK4e9hn8.js";
3
+ import "./agent-scope-BxoUQqgM.js";
4
+ import "./subsystem-Bs9YvKLa.js";
5
+ import "./workspace-wAaHI8-5.js";
6
6
  import "./boolean-B8-BqKGQ.js";
7
- import "./command-format-UKHV-j0K.js";
8
- import { A as normalizeProviderId, _ as ensureAuthProfileStore } from "./model-auth-CwOuTuXl.js";
9
- import "./github-copilot-token-DJqsJ2-r.js";
7
+ import "./command-format-BaxDnULz.js";
8
+ import { A as normalizeProviderId, _ as ensureAuthProfileStore } from "./model-auth-DK43VicI.js";
9
+ import "./github-copilot-token-C_qUP7p5.js";
10
10
  import fs from "node:fs/promises";
11
11
  import path from "node:path";
12
12
 
@@ -3,11 +3,11 @@ import "./utils-B-0b9bGM.js";
3
3
  import "./registry-Cja8eT7G.js";
4
4
  import "./subsystem-D9vIQve0.js";
5
5
  import "./exec-CWkblSrI.js";
6
- import "./agent-scope-CgUHAtCo.js";
7
- import "./model-selection-CyFvYcRt.js";
6
+ import "./agent-scope-BRwEc2pG.js";
7
+ import "./model-selection-X1oLh3CE.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-UMsMEurS.js";
11
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-Buhvt_H5.js";
12
12
 
13
13
  export { ensurePiAuthJsonFromAuthProfiles };
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  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-D-hWrHoH.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-C1IYd3g7.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BH0l3UKW.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C-37cZUe.js";
18
18
  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-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-lgx_U5KS.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B8kqLWns.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BmV60pPT.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CDJYxX5a.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
29
29
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CHzdaNJ4.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DcpMiprB.js";
40
40
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-jpn5vRTY.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-C_aYUwpl.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DklY7Cj7.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DUBExAb5.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BcQ0sF9T.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket$1, { WebSocket } from "ws";
82
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
5714
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5715
5715
  });
5716
5716
  }
5717
- this.ws = new WebSocket(url, wsOptions);
5717
+ this.ws = new WebSocket$1(url, wsOptions);
5718
5718
  this.ws.on("open", () => {
5719
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5720
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
5933
5933
  return null;
5934
5934
  }
5935
5935
  async request(method, params, opts) {
5936
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5937
5937
  const id = randomUUID();
5938
5938
  const frame = {
5939
5939
  type: "req",
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
7199
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7200
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7201
7201
  try {
7202
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -41673,7 +41673,7 @@ async function deliverSessionMaintenanceWarning(params) {
41673
41673
  return;
41674
41674
  }
41675
41675
  try {
41676
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
41676
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
41677
41677
  await deliverOutboundPayloads({
41678
41678
  cfg: params.cfg,
41679
41679
  channel,
@@ -45119,7 +45119,7 @@ async function describeStickerImage(params) {
45119
45119
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45120
45120
  try {
45121
45121
  const buffer = await fs$1.readFile(imagePath);
45122
- const { describeImageWithModel } = await import("./image-CHzdaNJ4.js").then((n) => n.n);
45122
+ const { describeImageWithModel } = await import("./image-DcpMiprB.js").then((n) => n.n);
45123
45123
  return (await describeImageWithModel({
45124
45124
  buffer,
45125
45125
  fileName: "sticker.webp",
@@ -47781,7 +47781,7 @@ async function preflightDiscordMessage(params) {
47781
47781
  let preflightTranscript;
47782
47782
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47783
47783
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47784
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
47784
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
47785
47785
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47786
47786
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47787
47787
  ctx: {
@@ -51787,7 +51787,7 @@ function isVoiceChannelType(type) {
51787
51787
  function createDefaultDeps() {
51788
51788
  return {
51789
51789
  sendMessageWhatsApp: async (...args) => {
51790
- const { sendMessageWhatsApp } = await import("./web-C1Zn8_qW.js");
51790
+ const { sendMessageWhatsApp } = await import("./web-CfZp0Jv6.js");
51791
51791
  return await sendMessageWhatsApp(...args);
51792
51792
  },
51793
51793
  sendMessageTelegram: async (...args) => {
@@ -54694,7 +54694,7 @@ function createDiscordGatewayPlugin(params) {
54694
54694
  super(options);
54695
54695
  }
54696
54696
  createWebSocket(url) {
54697
- return new WebSocket$1(url, { agent });
54697
+ return new WebSocket(url, { agent });
54698
54698
  }
54699
54699
  }
54700
54700
  return new ProxyGatewayPlugin();
@@ -64912,7 +64912,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64912
64912
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64913
64913
  let preflightTranscript;
64914
64914
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64915
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
64915
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
64916
64916
  preflightTranscript = await transcribeFirstAudio({
64917
64917
  ctx: {
64918
64918
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -67069,7 +67069,7 @@ function loadWebLoginQr() {
67069
67069
  return webLoginQrPromise;
67070
67070
  }
67071
67071
  function loadWebChannel() {
67072
- webChannelPromise ??= import("./web-C1Zn8_qW.js");
67072
+ webChannelPromise ??= import("./web-CfZp0Jv6.js");
67073
67073
  return webChannelPromise;
67074
67074
  }
67075
67075
  function loadWhatsAppActions() {
@@ -68287,6 +68287,42 @@ function parseUpdateFileChunk(lines, lineNumber, allowMissingContext) {
68287
68287
  };
68288
68288
  }
68289
68289
 
68290
+ //#endregion
68291
+ //#region src/agents/model-token-filter.ts
68292
+ /**
68293
+ * Strips model-specific control tokens from streamed text.
68294
+ *
68295
+ * Used both server-side (in the streaming pipeline) and by the Glass UI
68296
+ * (as a defense-in-depth fallback). The patterns here cover tokens known
68297
+ * to leak from Gemma 4 / vLLM; Claude output is left untouched.
68298
+ */
68299
+ const GEMMA_TOKEN_PATTERNS = [
68300
+ /<\|channel>\w*/g,
68301
+ /<channel\|>/g,
68302
+ /<start_of_turn>(?:model|user)?/g,
68303
+ /<end_of_turn>/g,
68304
+ /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
68305
+ /^\s*<bos>\s*/gm
68306
+ ];
68307
+ const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
68308
+ function isGemmaModel$1(modelId) {
68309
+ const lower = modelId.toLowerCase();
68310
+ return GEMMA_MODEL_HINTS$1.some((hint) => lower.includes(hint));
68311
+ }
68312
+ /**
68313
+ * Strip known control tokens from text. Only applies to Gemma-family models;
68314
+ * other models pass through unchanged.
68315
+ */
68316
+ function stripModelTokens(text, modelId) {
68317
+ if (!text || !isGemmaModel$1(modelId)) return text;
68318
+ let result = text;
68319
+ for (const re of GEMMA_TOKEN_PATTERNS) {
68320
+ re.lastIndex = 0;
68321
+ result = result.replace(re, "");
68322
+ }
68323
+ return result;
68324
+ }
68325
+
68290
68326
  //#endregion
68291
68327
  //#region src/agents/pi-tools.abort.ts
68292
68328
  function throwAbortError() {
@@ -69584,6 +69620,31 @@ function resolveToolLoopDetectionConfig(params) {
69584
69620
  }
69585
69621
  };
69586
69622
  }
69623
+ /**
69624
+ * Wrap a tool to strip model-specific control tokens from string arguments
69625
+ * before execution. Gemma 4 via vLLM sometimes injects tokens like `<|`
69626
+ * into tool call arguments (e.g. `exec("<|node -v")`). This wrapper
69627
+ * sanitizes all string values in the argument object.
69628
+ */
69629
+ function wrapToolWithArgSanitization(tool, modelId) {
69630
+ const execute = tool.execute;
69631
+ if (!execute) return tool;
69632
+ return {
69633
+ ...tool,
69634
+ execute: async (toolCallId, params, signal, onUpdate) => {
69635
+ return execute(toolCallId, sanitizeToolArgs(params, modelId), signal, onUpdate);
69636
+ }
69637
+ };
69638
+ }
69639
+ function sanitizeToolArgs(params, modelId) {
69640
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
69641
+ if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
69642
+ const result = {};
69643
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
69644
+ else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
69645
+ else result[key] = value;
69646
+ return result;
69647
+ }
69587
69648
  function createSymiCodingTools(options) {
69588
69649
  const execToolName = "exec";
69589
69650
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -69807,7 +69868,11 @@ function createSymiCodingTools(options) {
69807
69868
  agentId
69808
69869
  })
69809
69870
  }));
69810
- return options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
69871
+ const withAbort = options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
69872
+ const modelId = options?.modelId ?? "";
69873
+ const modelProvider = options?.modelProvider ?? "";
69874
+ const fullModelId = modelProvider ? `${modelProvider}/${modelId}` : modelId;
69875
+ return fullModelId ? withAbort.map((tool) => wrapToolWithArgSanitization(tool, fullModelId)) : withAbort;
69811
69876
  }
69812
69877
 
69813
69878
  //#endregion
@@ -72799,11 +72864,34 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
72799
72864
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
72800
72865
  if (Object.keys(streamParams).length === 0) return;
72801
72866
  log$2.debug(`creating streamFn wrapper with params: ${JSON.stringify(streamParams)}`);
72867
+ const sp = streamParams;
72868
+ const payloadOverrides = {};
72869
+ if (Array.isArray(sp.stop) && sp.stop.length > 0) payloadOverrides.stop = sp.stop;
72870
+ if (typeof sp.top_p === "number") payloadOverrides.top_p = sp.top_p;
72871
+ if (typeof sp.top_k === "number") payloadOverrides.top_k = sp.top_k;
72872
+ if (typeof sp.repeat_penalty === "number") payloadOverrides.repeat_penalty = sp.repeat_penalty;
72873
+ const hasPayloadOverrides = Object.keys(payloadOverrides).length > 0;
72802
72874
  const underlying = baseStreamFn ?? streamSimple;
72803
- const wrappedStreamFn = (model, context, options) => underlying(model, context, {
72804
- ...streamParams,
72805
- ...options
72806
- });
72875
+ const wrappedStreamFn = (model, context, options) => {
72876
+ if (hasPayloadOverrides) {
72877
+ const originalOnPayload = options?.onPayload;
72878
+ return underlying(model, context, {
72879
+ ...streamParams,
72880
+ ...options,
72881
+ onPayload: (payload) => {
72882
+ if (payload && typeof payload === "object") {
72883
+ const p = payload;
72884
+ for (const [key, value] of Object.entries(payloadOverrides)) if (p[key] === void 0) p[key] = value;
72885
+ }
72886
+ originalOnPayload?.(payload);
72887
+ }
72888
+ });
72889
+ }
72890
+ return underlying(model, context, {
72891
+ ...streamParams,
72892
+ ...options
72893
+ });
72894
+ };
72807
72895
  return wrappedStreamFn;
72808
72896
  }
72809
72897
  function isDirectOpenAIBaseUrl(baseUrl) {
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BmV60pPT.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CDJYxX5a.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-De-KR9_s.js");
934
+ return await import("./pw-ai-1htA-NnS.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,9 +1,9 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-C-T6hOMv.js";
4
- import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BzNrUHpt.js";
4
+ import { t as sanitizeContentBlocksImages } from "./tool-images-B-pqX3nX.js";
5
5
  import path from "node:path";
6
- import fs from "node:fs/promises";
6
+ import fsPromises from "node:fs/promises";
7
7
  import { createHash } from "node:crypto";
8
8
 
9
9
  //#region src/agents/pi-embedded-helpers/bootstrap.ts
@@ -101,10 +101,10 @@ function clampToBudget(content, budget) {
101
101
  async function ensureSessionHeader(params) {
102
102
  const file = params.sessionFile;
103
103
  try {
104
- await fs.stat(file);
104
+ await fsPromises.stat(file);
105
105
  return;
106
106
  } catch {}
107
- await fs.mkdir(path.dirname(file), { recursive: true });
107
+ await fsPromises.mkdir(path.dirname(file), { recursive: true });
108
108
  const entry = {
109
109
  type: "session",
110
110
  version: 2,
@@ -112,7 +112,7 @@ async function ensureSessionHeader(params) {
112
112
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
113
113
  cwd: params.cwd
114
114
  };
115
- await fs.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
115
+ await fsPromises.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
116
116
  }
117
117
  function buildBootstrapContextFiles(files, opts) {
118
118
  const maxChars = opts?.maxChars ?? DEFAULT_BOOTSTRAP_MAX_CHARS;