@symerian/symi 2.3.3 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/{accounts-Cd816n6l.js → accounts-DDuIpcln.js} +7 -7
  2. package/dist/{accounts-mN_EcgxC.js → accounts-DyJN4_vR.js} +1 -1
  3. package/dist/{accounts-CokRskCl.js → accounts-bK-Yqdwx.js} +1 -1
  4. package/dist/{acp-cli-BgyJMtqt.js → acp-cli-Cu4icbJT.js} +6 -6
  5. package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
  6. package/dist/{agents-DjLt6jc3.js → agents-E_Ere0qU.js} +4 -4
  7. package/dist/{agents.config-u_ibObha.js → agents.config-Cv_wsBXL.js} +2 -2
  8. package/dist/{agents.config-Dt7B_P5o.js → agents.config-DJTb7Jka.js} +1 -1
  9. package/dist/{api-key-rotation-CEr3lKih.js → api-key-rotation-CzuPlV2t.js} +1 -1
  10. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  11. package/dist/{audio-preflight-CjysqO8U.js → audio-preflight-CWnxkaac.js} +28 -28
  12. package/dist/{audio-preflight-D02HwB-I.js → audio-preflight-O3ASWbaG.js} +4 -4
  13. package/dist/{audit-BSB9NPSO.js → audit-CrITRV6w.js} +23 -23
  14. package/dist/{auth-choice-DUUu6Nhg.js → auth-choice-B3D_jLQw.js} +1 -1
  15. package/dist/{auth-choice-DmSG7c8J.js → auth-choice-D8ynWABO.js} +8 -8
  16. package/dist/{auth-token-DC5w1WoS.js → auth-token-BnOynwk4.js} +1 -1
  17. package/dist/{banner-BiAcdT2T.js → banner-ChYzCy5p.js} +1 -1
  18. package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
  19. package/dist/{browser-cli-C4D9Ql3c.js → browser-cli-BG4qPxpM.js} +9 -9
  20. package/dist/build-info.json +3 -3
  21. package/dist/bundled/boot-md/handler.js +6 -6
  22. package/dist/bundled/session-memory/handler.js +6 -6
  23. package/dist/{call-Dd7-bkfG.js → call-CJaS1iRF.js} +9 -9
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-options-vQREpu-n.js → channel-options-BYUiEgev.js} +2 -2
  26. package/dist/{channel-options-ClfXE1B7.js → channel-options-CMNzHg4p.js} +1 -1
  27. package/dist/{channel-selection-DjfBv8kq.js → channel-selection-DuWs0Aak.js} +1 -1
  28. package/dist/{channel-web-y6pd_GHr.js → channel-web-C-HLPbLL.js} +17 -17
  29. package/dist/{channels-cli-CjYD1_OO.js → channels-cli-CcCmH-Tp.js} +75 -75
  30. package/dist/{channels-cli-suXRcyfF.js → channels-cli-CyhXPEWq.js} +4 -4
  31. package/dist/{channels-status-issues-BoH1ZJPN.js → channels-status-issues-B_kBkl_u.js} +1 -1
  32. package/dist/{chrome-EyvdASWt.js → chrome-BFekevcE.js} +7 -7
  33. package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
  34. package/dist/{chrome-r4RThPxq.js → chrome-DtPkPq9T.js} +2 -2
  35. package/dist/cli/daemon-cli.js +1 -1
  36. package/dist/{cli-B-911QZL.js → cli-Cp-NQ7yu.js} +62 -62
  37. package/dist/{cli-mbfUlFn3.js → cli-Gcuf3NTF.js} +1 -1
  38. package/dist/{client-BsrZnuSi.js → client-CQSyCS4M.js} +1 -1
  39. package/dist/{command-registry-y8CXSD5O.js → command-registry-Cvr_dlLY.js} +9 -9
  40. package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
  41. package/dist/{commands-registry-BZ0ZSQpM.js → commands-registry-BT0-zzs3.js} +3 -3
  42. package/dist/{completion-cli-2Mi5hts2.js → completion-cli-DDlYn0ya.js} +2 -2
  43. package/dist/{completion-cli-BLrwUAyo.js → completion-cli-DaOHSXM3.js} +12 -12
  44. package/dist/{config-CJMcIRQM.js → config-CHwyw6l5.js} +2 -2
  45. package/dist/{config-cli-tYZAnvgQ.js → config-cli-BcuAsDOu.js} +1 -1
  46. package/dist/{config-cli-CF-wdLkO.js → config-cli-CmUPAVUz.js} +4 -4
  47. package/dist/{config-guard-C1Rs8NZG.js → config-guard-BflmO0t7.js} +12 -12
  48. package/dist/{config-validation-ChQQVndI.js → config-validation-CmimHAES.js} +1 -1
  49. package/dist/{configure-si19m30s.js → configure-Ctwt1377.js} +3 -3
  50. package/dist/{configure-BHKdqhLb.js → configure-OxYdT2hU.js} +15 -15
  51. package/dist/{control-service-B8H3Bqpv.js → control-service-Bz7rxLWq.js} +4 -4
  52. package/dist/{control-ui-assets-DqGziq7x.js → control-ui-assets-Z947tKLt.js} +1 -1
  53. package/dist/{cron-cli-YrMWJCkm.js → cron-cli-DBIlCvp3.js} +10 -10
  54. package/dist/{daemon-cli-Dx4SXRyp.js → daemon-cli-DscwlsKW.js} +11 -11
  55. package/dist/{daemon-runtime--RiRUx_2.js → daemon-runtime-2mwX-jqj.js} +10 -10
  56. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  57. package/dist/{deliver-Um8yyhRA.js → deliver-CceEhg3d.js} +7 -7
  58. package/dist/{deliver-D1ZN6-fl.js → deliver-CvCK5Mm9.js} +1 -1
  59. package/dist/{devices-cli-DAJ84AOe.js → devices-cli-Dds-25Ve.js} +6 -6
  60. package/dist/{diagnostics-D2yUMZN1.js → diagnostics-BAMlsVVX.js} +5 -5
  61. package/dist/{directory-cli-C4h8KQLH.js → directory-cli-CpUByQew.js} +7 -7
  62. package/dist/{dm-policy-shared-BCSw0GJS.js → dm-policy-shared-Bh3TbexU.js} +2 -2
  63. package/dist/{dns-cli-s0ZWvTPm.js → dns-cli-Beyzdh3S.js} +3 -3
  64. package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
  65. package/dist/{docs-cli-BfPfHTDs.js → docs-cli-BpnEOtJi.js} +1 -1
  66. package/dist/{doctor-completion-C19QYsQN.js → doctor-completion-D7ShsgUp.js} +2 -2
  67. package/dist/{doctor-completion-Dn_Kn4gz.js → doctor-completion-Dw78bQaQ.js} +1 -1
  68. package/dist/{doctor-config-flow-D05HlWdn.js → doctor-config-flow-QnaBd8kL.js} +10 -10
  69. package/dist/entry.js +1 -1
  70. package/dist/{exec-approvals-cli-Df1lyRyE.js → exec-approvals-cli-BliRl8VB.js} +13 -13
  71. package/dist/extensionAPI.js +6 -6
  72. package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
  73. package/dist/{gateway-cli-B7khyAHs.js → gateway-cli-Bd7u0krH.js} +126 -121
  74. package/dist/{gateway-cli-DG_Mdw0H.js → gateway-cli-D7nxPtEc.js} +22 -17
  75. package/dist/{gateway-rpc-DFeD8pZh.js → gateway-rpc-BxkKeCZ0.js} +1 -1
  76. package/dist/{glass-ui-ws-BmQAULMj.js → glass-ui-ws-CzH0ikhI.js} +82 -82
  77. package/dist/{glass-ui-ws-BAub_JoN.js → glass-ui-ws-DBivjzVA.js} +7 -7
  78. package/dist/{health-CboWXJkq.js → health-BSOMI4B6.js} +1 -1
  79. package/dist/{health-DkKXiUEF.js → health-rR61mwm3.js} +13 -13
  80. package/dist/{hooks-cli-DLM_5caf.js → hooks-cli-BbiA-gGi.js} +2 -2
  81. package/dist/{hooks-cli-BrO_9pas.js → hooks-cli-dS4fMEKE.js} +76 -76
  82. package/dist/{image-Cp3JDEBB.js → image-B0wGflxA.js} +1 -1
  83. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  84. package/dist/{image-BiY-PfMh.js → image-D9uvDTrc.js} +3 -3
  85. package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
  86. package/dist/index.js +72 -72
  87. package/dist/{inspect-ZJkNX0WL.js → inspect-CllGjsWo.js} +4 -4
  88. package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
  89. package/dist/{installs-O9KlRu9h.js → installs-C1Cebk97.js} +10 -10
  90. package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
  91. package/dist/{lifecycle-core-BkPSoGM2.js → lifecycle-core-D6LYXpFj.js} +5 -5
  92. package/dist/llm-slug-generator.js +6 -6
  93. package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
  94. package/dist/{login-1sleXoB4.js → login-dIlDkG4X.js} +3 -3
  95. package/dist/{login-qr-wCWBOMwB.js → login-qr-pbXdFORv.js} +5 -5
  96. package/dist/{logs-cli-DVeEdUCU.js → logs-cli-xOzIPrHm.js} +7 -7
  97. package/dist/{manager-C1CfGzZ2.js → manager-D4LJSRyZ.js} +13 -13
  98. package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
  99. package/dist/{memory-cli-lk6fRiwy.js → memory-cli-Ca5r9AUb.js} +14 -14
  100. package/dist/{model-catalog-C3NLvWC2.js → model-catalog-DvBJ8pMD.js} +4 -4
  101. package/dist/{model-picker-LKZLY2DL.js → model-picker-Ddo3jHe-.js} +3 -3
  102. package/dist/{model-selection-X1oLh3CE.js → model-selection-CyFvYcRt.js} +9 -9
  103. package/dist/{model-CeeOcylL.js → model-tWhwnFf8.js} +1 -1
  104. package/dist/{models-BmiRYEVd.js → models-DqE1s0YL.js} +2 -2
  105. package/dist/{models-cli-Tf61I97Q.js → models-cli-6v9jkDxp.js} +3 -3
  106. package/dist/{models-cli-4vQrbW6G.js → models-cli-BWC7jYp4.js} +72 -72
  107. package/dist/{models-config-CqDdkHJq.js → models-config-qyOXrOli.js} +7 -7
  108. package/dist/{node-cli-Jj2LTGzF.js → node-cli-C_G-Q3h-.js} +28 -28
  109. package/dist/{node-service-CJygtY5M.js → node-service-Cxz4e-Qd.js} +1 -1
  110. package/dist/{nodes-cli-C43ifECe.js → nodes-cli-BcnuJajV.js} +10 -10
  111. package/dist/{nodes-screen-C99kfE1u.js → nodes-screen-VBGXKdLk.js} +4 -4
  112. package/dist/{npm-registry-spec-DR_at_Hp.js → npm-registry-spec-C2JDdSZS.js} +9 -9
  113. package/dist/{onboard-D8uxVvMq.js → onboard-BUEYf2m9.js} +13 -13
  114. package/dist/{onboard-FpptSqHZ.js → onboard-Bxoibs4p.js} +2 -2
  115. package/dist/{onboard-channels-Q_xxgZ8O.js → onboard-channels-C3UYzZNC.js} +1 -1
  116. package/dist/{onboard-channels-DOKid2w1.js → onboard-channels-af6Cu6fT.js} +5 -5
  117. package/dist/{onboard-custom-DPJiy9aT.js → onboard-custom-C7O-zfQ1.js} +3 -3
  118. package/dist/{onboard-helpers-Dixh6cNh.js → onboard-helpers-ZmZYzlq3.js} +8 -8
  119. package/dist/{onboard-hooks-lsws7g2s.js → onboard-hooks-BAA8CoVv.js} +1 -1
  120. package/dist/{onboard-remote-B66ZWtkN.js → onboard-remote-zUjD7UtM.js} +1 -1
  121. package/dist/{onboard-skills-B0IA09ig.js → onboard-skills-BB0YhUmF.js} +4 -4
  122. package/dist/{onboarding-DhIEUmp5.js → onboarding-CDdMZbov.js} +3 -3
  123. package/dist/{onboarding-CdlGKa0U.js → onboarding-DW-7o6Ln.js} +13 -13
  124. package/dist/{onboarding.finalize-CEYLIXkq.js → onboarding.finalize-29jsMLO2.js} +6 -6
  125. package/dist/{onboarding.finalize-DyBsPxXJ.js → onboarding.finalize-BI70KOeI.js} +74 -74
  126. package/dist/{onboarding.gateway-config-CCJqI0kw.js → onboarding.gateway-config-CJUgDC6Y.js} +14 -14
  127. package/dist/{openai-model-default-BJ1IZ3TN.js → openai-model-default-DMjQRsb1.js} +2 -2
  128. package/dist/{outbound-NJCy0h4x.js → outbound-DB5Zus0-.js} +4 -4
  129. package/dist/{outbound-attachment-D62E0xDI.js → outbound-attachment-D_QuKi8U.js} +2 -2
  130. package/dist/{pairing-cli-CcW0ndhB.js → pairing-cli-CBLfGvqW.js} +8 -8
  131. package/dist/{pairing-labels-27SOKDzJ.js → pairing-labels-2S6x2UoV.js} +1 -1
  132. package/dist/{pairing-store-B8ktu-6j.js → pairing-store-CK726Dzq.js} +2 -2
  133. package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
  134. package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
  135. package/dist/{pi-auth-json-CCneTXUh.js → pi-auth-json-DayrlDg_.js} +3 -3
  136. package/dist/{pi-embedded-BThV36aG.js → pi-embedded-JXvD5-F-.js} +46 -19
  137. package/dist/{pi-embedded-wr4HXhzm.js → pi-embedded-PkSwAmVq.js} +46 -19
  138. package/dist/{pi-embedded-helpers-DO6u9K2t.js → pi-embedded-helpers-CNPyv_ax.js} +6 -6
  139. package/dist/{pi-embedded-helpers-ag2bosuj.js → pi-embedded-helpers-DLFjnVBb.js} +4 -4
  140. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  141. package/dist/{pi-tools.policy-juZV2uUv.js → pi-tools.policy-CIDBbw6x.js} +4 -4
  142. package/dist/{plugin-auto-enable-Bbm7MwFV.js → plugin-auto-enable-BzX1uAKy.js} +2 -2
  143. package/dist/{plugin-registry-DvWWctC9.js → plugin-registry-B7AdPXfF.js} +1 -1
  144. package/dist/{plugin-registry-lWWSu9UD.js → plugin-registry-Reem6P3K.js} +3 -3
  145. package/dist/plugin-sdk/agents/model-token-filter.d.ts +11 -0
  146. package/dist/plugin-sdk/{channel-web-BnrTC55Y.js → channel-web-CM7A3Y7G.js} +1 -1
  147. package/dist/plugin-sdk/index.js +2 -2
  148. package/dist/plugin-sdk/{reply-kuMxu6Q4.js → reply-CDloTGFF.js} +32 -5
  149. package/dist/plugin-sdk/{web-TMIhKQyF.js → web-CWNoMlnF.js} +2 -2
  150. package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
  151. package/dist/{plugins-cli-wlWRx4Oj.js → plugins-cli-B-6wVg3A.js} +2 -2
  152. package/dist/{plugins-cli-BHfzYAq6.js → plugins-cli-V8mTTTnD.js} +71 -71
  153. package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
  154. package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
  155. package/dist/{program-CKy7s-bm.js → program-DBtlRiFS.js} +7 -7
  156. package/dist/{program-context-D4gbh6dg.js → program-context-BHPNVgg2.js} +39 -39
  157. package/dist/{prompt-select-styled-bh0GLMiQ.js → prompt-select-styled-Bh-zAqW1.js} +4 -4
  158. package/dist/{prompt-select-styled-DlGPNq9c.js → prompt-select-styled-Cup1c9RJ.js} +38 -38
  159. package/dist/{provider-auth-helpers-Bd5VVReu.js → provider-auth-helpers-BNmU48Ez.js} +5 -5
  160. package/dist/{provider-auth-helpers-B-YsKbwc.js → provider-auth-helpers-CiuLdUK3.js} +1 -1
  161. package/dist/{push-apns-ByyOJyDl.js → push-apns-8VJkVSdh.js} +1 -1
  162. package/dist/{push-apns-0et2AR44.js → push-apns-9zUNNHgy.js} +4 -4
  163. package/dist/{pw-ai-Ch7liUOW.js → pw-ai-BnAKvSuw.js} +1 -1
  164. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  165. package/dist/{pw-ai-MVzi113V.js → pw-ai-DqL87js3.js} +7 -7
  166. package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
  167. package/dist/{qr-cli-17laLZm_.js → qr-cli-jd9LdZpq.js} +3 -3
  168. package/dist/{register.agent-oKma6YjU.js → register.agent-BtNmleKV.js} +6 -6
  169. package/dist/{register.agent-Dhijhxr5.js → register.agent-DnglG42G.js} +81 -81
  170. package/dist/{register.configure-BX8vQ2Np.js → register.configure-CLW9tdE4.js} +6 -6
  171. package/dist/register.configure-DfQOfV1W.js +147 -0
  172. package/dist/{register.maintenance-OJCduNdt.js → register.maintenance-BQfMsgo7.js} +8 -8
  173. package/dist/{register.maintenance-B3TPb969.js → register.maintenance-jFYcRLEN.js} +84 -84
  174. package/dist/{register.message-D0aswsGo.js → register.message-BhoZYcqM.js} +63 -63
  175. package/dist/{register.message-CX8C_Fds.js → register.message-DUsBvFSF.js} +2 -2
  176. package/dist/{register.onboard-CSepiSPt.js → register.onboard-BBwhoeoE.js} +4 -4
  177. package/dist/{register.onboard-BHTyEs6d.js → register.onboard-DQOkpYBY.js} +74 -74
  178. package/dist/{register.setup-lZSHKiGQ.js → register.setup-6jlL3L1h.js} +4 -4
  179. package/dist/{register.setup-uhpgkBjU.js → register.setup-Ca6khTSz.js} +77 -77
  180. package/dist/{register.status-health-sessions-Cbavf8do.js → register.status-health-sessions-DQDXZYI3.js} +3 -3
  181. package/dist/{register.status-health-sessions-v1KN3eEp.js → register.status-health-sessions-DsYNMl06.js} +75 -75
  182. package/dist/{register.subclis-DBEv5xOP.js → register.subclis-DJf3ihsW.js} +9 -9
  183. package/dist/{replies-BL7IBg12.js → replies-vgss3_QA.js} +1 -1
  184. package/dist/{reply-DVxU0AMq.js → reply-DSjeqLEz.js} +161 -134
  185. package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
  186. package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
  187. package/dist/{routes-CE-ohckF.js → routes-Ba9CUQ8M.js} +8 -8
  188. package/dist/{rpc-wovSCB5v.js → rpc-BfhojW8g.js} +1 -1
  189. package/dist/{run-main-DspjiCY1.js → run-main-B2coomPj.js} +14 -14
  190. package/dist/{runner-Cen70krW.js → runner-CUglpiFP.js} +20 -20
  191. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  192. package/dist/{runner-D0QUGA_X.js → runner-odEv83vv.js} +1 -1
  193. package/dist/{sandbox-BzNrUHpt.js → sandbox-C-T6hOMv.js} +18 -18
  194. package/dist/{sandbox-cli-CZrMO34w.js → sandbox-cli-BllVdQzR.js} +20 -20
  195. package/dist/{security-cli-CeBoEmeN.js → security-cli-BFLtWWHy.js} +36 -36
  196. package/dist/{send-dH0xroTu.js → send-CPF8hSFp.js} +4 -4
  197. package/dist/{send-C95ZRvja.js → send-CXxQ_f7L.js} +6 -6
  198. package/dist/{send-BnuIB59F.js → send-CZr1hVHY.js} +13 -13
  199. package/dist/{send-BEeuDXqy.js → send-Cutb0ZDY.js} +6 -6
  200. package/dist/{send-BjdAgYLu.js → send-tanEMpHN.js} +6 -6
  201. package/dist/{server-context-DUXqnh6l.js → server-context-CEpFjqSk.js} +5 -5
  202. package/dist/{server-methods-B9alalq5.js → server-methods-DHo5e8Gj.js} +7 -7
  203. package/dist/{server-methods-BgBq7KRL.js → server-methods-QNBQbsvr.js} +54 -54
  204. package/dist/{server-node-events-DWG81_Fo.js → server-node-events-CJOo8WcL.js} +2 -2
  205. package/dist/{server-node-events-BrBsrcCd.js → server-node-events-D_S0NRCQ.js} +63 -63
  206. package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
  207. package/dist/{session-CsIk0Sqq.js → session-DIBTkyvE.js} +2 -2
  208. package/dist/{sessions-D5a7H247.js → sessions-DgYpBvse.js} +13 -13
  209. package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
  210. package/dist/{shared-Gi3l7nlY.js → shared-Knv1hy6h.js} +3 -3
  211. package/dist/{skill-commands-ZXbEITKi.js → skill-commands-Cxw-jNxU.js} +5 -5
  212. package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
  213. package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
  214. package/dist/{skills-cli-D1JL_utC.js → skills-cli-BZTBLQTt.js} +7 -7
  215. package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
  216. package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
  217. package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
  218. package/dist/{status-DxodHhzX.js → status-4DaGE8j5.js} +2 -2
  219. package/dist/{status-CgPPKk09.js → status-B8yaGk2o.js} +25 -25
  220. package/dist/{status-DqMwkAnF.js → status-D_J6qcC1.js} +1 -1
  221. package/dist/{status-CkJV2sl6.js → status-kfEtYX22.js} +3 -3
  222. package/dist/{status.update-CmGpjKSr.js → status.update-DtwCUTf-.js} +3 -3
  223. package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
  224. package/dist/{subagent-registry-CBklD0OL.js → subagent-registry-CyW0EDWw.js} +32 -5
  225. package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
  226. package/dist/{system-cli-Buhvt_H5.js → system-cli-UMsMEurS.js} +11 -11
  227. package/dist/{systemd-hints-Db0oImvK.js → systemd-hints-BR6gChwm.js} +6 -6
  228. package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
  229. package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
  230. package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
  231. package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
  232. package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
  233. package/dist/{tui-C0A9W969.js → tui-CriznorL.js} +7 -7
  234. package/dist/{tui-cli-tCnkNdSx.js → tui-cli-CSIdfCTR.js} +28 -28
  235. package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
  236. package/dist/{update-cli-BqdgQuYp.js → update-cli-C-ZGqknl.js} +8 -8
  237. package/dist/{update-cli-DYrpyu4a.js → update-cli-DJupxo-f.js} +94 -94
  238. package/dist/{update-runner-BgzyPjF5.js → update-runner-AiIhp7fw.js} +15 -15
  239. package/dist/{update-runner-CmZW3aeK.js → update-runner-BF5UULe-.js} +1 -1
  240. package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
  241. package/dist/{web-GL_nqURg.js → web-6026eRzJ.js} +1 -1
  242. package/dist/{web-DNQzo8ao.js → web-6vYYN17n.js} +6 -6
  243. package/dist/{web-CfZp0Jv6.js → web-CryqKXT4.js} +6 -6
  244. package/dist/web-HeObJp6A.js +109 -0
  245. package/dist/{webhooks-cli-Bp-7Rs2Y.js → webhooks-cli-cD58DWAE.js} +4 -4
  246. package/dist/{whatsapp-actions-CFXNPLco.js → whatsapp-actions-DbcsdOH3.js} +15 -15
  247. package/dist/{with-timeout-Cs6_LnHB.js → with-timeout-gmK6RciS.js} +1 -1
  248. package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
  249. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  250. package/package.json +1 -1
  251. package/dist/register.configure-BcZ-7Yir.js +0 -147
  252. package/dist/session-dirs-D3qlvucD.js +0 -18
  253. package/dist/web-DsCqmzyk.js +0 -109
@@ -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-C-37cZUe.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";
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-B8kqLWns.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";
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-D2SKJnR7.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CDJYxX5a.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-DcpMiprB.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";
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-BcQ0sF9T.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";
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, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } 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$1(url, wsOptions);
5717
+ this.ws = new WebSocket(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$1.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket.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-C-37cZUe.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.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-C-37cZUe.js").then((n) => n.n);
41676
+ const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.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-DcpMiprB.js").then((n) => n.n);
45122
+ const { describeImageWithModel } = await import("./image-CHzdaNJ4.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-CPBOQV4I.js");
47784
+ const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.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-CfZp0Jv6.js");
51790
+ const { sendMessageWhatsApp } = await import("./web-CryqKXT4.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(url, { agent });
54697
+ return new WebSocket$1(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-CPBOQV4I.js");
64915
+ const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.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-CfZp0Jv6.js");
67072
+ webChannelPromise ??= import("./web-CryqKXT4.js");
67073
67073
  return webChannelPromise;
67074
67074
  }
67075
67075
  function loadWhatsAppActions() {
@@ -68302,8 +68302,16 @@ const GEMMA_TOKEN_PATTERNS = [
68302
68302
  /<start_of_turn>(?:model|user)?/g,
68303
68303
  /<end_of_turn>/g,
68304
68304
  /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
68305
- /^\s*<bos>\s*/gm
68305
+ /^\s*<bos>\s*/gm,
68306
+ /<\|[^|>]{0,30}\|>/g,
68307
+ /<\|[^>]{0,30}>/g
68306
68308
  ];
68309
+ /**
68310
+ * Aggressively strip all fragments of model control token corruption from
68311
+ * tool arguments. This catches cases where the model produces raw garbage
68312
+ * like `<|<|"|<|<|\'` that doesn't match any known token template.
68313
+ */
68314
+ const AGGRESSIVE_TOKEN_FRAGMENTS = [/<\|/g, /\|>/g];
68307
68315
  const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
68308
68316
  function isGemmaModel$1(modelId) {
68309
68317
  const lower = modelId.toLowerCase();
@@ -68313,6 +68321,10 @@ function isGemmaModel$1(modelId) {
68313
68321
  * Strip known control tokens from text. Only applies to Gemma-family models;
68314
68322
  * other models pass through unchanged.
68315
68323
  */
68324
+ /**
68325
+ * Strip known control tokens from text. Only applies to Gemma-family models;
68326
+ * other models pass through unchanged. Used for streamed text output.
68327
+ */
68316
68328
  function stripModelTokens(text, modelId) {
68317
68329
  if (!text || !isGemmaModel$1(modelId)) return text;
68318
68330
  let result = text;
@@ -68322,6 +68334,21 @@ function stripModelTokens(text, modelId) {
68322
68334
  }
68323
68335
  return result;
68324
68336
  }
68337
+ /**
68338
+ * Aggressively strip ALL token-like fragments from a string. Used for tool
68339
+ * call arguments where any `<|` corruption causes downstream failures.
68340
+ * More aggressive than `stripModelTokens` — removes bare `<|` and `|>` fragments
68341
+ * that don't match any known token template.
68342
+ */
68343
+ function stripModelTokensAggressive(text, modelId) {
68344
+ if (!text || !isGemmaModel$1(modelId)) return text;
68345
+ let result = stripModelTokens(text, modelId);
68346
+ for (const re of AGGRESSIVE_TOKEN_FRAGMENTS) {
68347
+ re.lastIndex = 0;
68348
+ result = result.replace(re, "");
68349
+ }
68350
+ return result;
68351
+ }
68325
68352
 
68326
68353
  //#endregion
68327
68354
  //#region src/agents/pi-tools.abort.ts
@@ -69637,10 +69664,10 @@ function wrapToolWithArgSanitization(tool, modelId) {
69637
69664
  };
69638
69665
  }
69639
69666
  function sanitizeToolArgs(params, modelId) {
69640
- if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
69667
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokensAggressive(params, modelId) : params;
69641
69668
  if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
69642
69669
  const result = {};
69643
- for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
69670
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokensAggressive(value, modelId);
69644
69671
  else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
69645
69672
  else result[key] = value;
69646
69673
  return result;
@@ -13,7 +13,7 @@ import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
13
13
  import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
14
14
  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-DeFniOjh.js";
15
15
  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-CiTGOvEc.js";
16
- 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-D1ZN6-fl.js";
16
+ 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-CvCK5Mm9.js";
17
17
  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-CI0kRQkt.js";
18
18
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
19
19
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CWktKM8a.js";
@@ -23,10 +23,10 @@ import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider
23
23
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-C_qUP7p5.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
25
25
  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-Dz5lr5b0.js";
26
- import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-ag2bosuj.js";
26
+ import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-DLFjnVBb.js";
27
27
  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-DRbjHIwD.js";
28
28
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-D0IQ3WuX.js";
29
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-EyvdASWt.js";
29
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BFekevcE.js";
30
30
  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-BFekKL7i.js";
31
31
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
32
32
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -37,7 +37,7 @@ import { t as resolveIMessageAccount } from "./accounts-qtxJ-6em.js";
37
37
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
39
39
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DXB7tqWi.js";
40
- 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-Cp3JDEBB.js";
40
+ 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-B0wGflxA.js";
41
41
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
42
42
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-D_LwXbc6.js";
43
43
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-DRbx2dhW.js";
@@ -51,7 +51,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DccrnjsE.js";
51
51
  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-D7CTCQPm.js";
52
52
  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-BJMb_psG.js";
53
53
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
54
- 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-D0QUGA_X.js";
54
+ 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-odEv83vv.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
56
56
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
57
57
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CsM_hJ_s.js";
@@ -81,7 +81,7 @@ import { EdgeTTS } from "node-edge-tts";
81
81
  import AjvPkg from "ajv";
82
82
  import { createServer } from "node:http";
83
83
  import { ProxyAgent, fetch as fetch$1 } from "undici";
84
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
84
+ import WebSocket$1, { WebSocket } from "ws";
85
85
  import { Buffer as Buffer$1 } from "node:buffer";
86
86
  import { createJiti } from "jiti";
87
87
  import { Type } from "@sinclair/typebox";
@@ -5716,7 +5716,7 @@ var GatewayClient = class {
5716
5716
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5717
5717
  });
5718
5718
  }
5719
- this.ws = new WebSocket$1(url, wsOptions);
5719
+ this.ws = new WebSocket(url, wsOptions);
5720
5720
  this.ws.on("open", () => {
5721
5721
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5722
5722
  const tlsError = this.validateTlsFingerprint();
@@ -5935,7 +5935,7 @@ var GatewayClient = class {
5935
5935
  return null;
5936
5936
  }
5937
5937
  async request(method, params, opts) {
5938
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5938
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5939
5939
  const id = randomUUID();
5940
5940
  const frame = {
5941
5941
  type: "req",
@@ -7201,7 +7201,7 @@ async function routeReply(params) {
7201
7201
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7202
7202
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7203
7203
  try {
7204
- const { deliverOutboundPayloads } = await import("./deliver-D1ZN6-fl.js").then((n) => n.n);
7204
+ const { deliverOutboundPayloads } = await import("./deliver-CvCK5Mm9.js").then((n) => n.n);
7205
7205
  return {
7206
7206
  ok: true,
7207
7207
  messageId: (await deliverOutboundPayloads({
@@ -41675,7 +41675,7 @@ async function deliverSessionMaintenanceWarning(params) {
41675
41675
  return;
41676
41676
  }
41677
41677
  try {
41678
- const { deliverOutboundPayloads } = await import("./deliver-D1ZN6-fl.js").then((n) => n.n);
41678
+ const { deliverOutboundPayloads } = await import("./deliver-CvCK5Mm9.js").then((n) => n.n);
41679
41679
  await deliverOutboundPayloads({
41680
41680
  cfg: params.cfg,
41681
41681
  channel,
@@ -45121,7 +45121,7 @@ async function describeStickerImage(params) {
45121
45121
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45122
45122
  try {
45123
45123
  const buffer = await fs.readFile(imagePath);
45124
- const { describeImageWithModel } = await import("./image-Cp3JDEBB.js").then((n) => n.n);
45124
+ const { describeImageWithModel } = await import("./image-B0wGflxA.js").then((n) => n.n);
45125
45125
  return (await describeImageWithModel({
45126
45126
  buffer,
45127
45127
  fileName: "sticker.webp",
@@ -47783,7 +47783,7 @@ async function preflightDiscordMessage(params) {
47783
47783
  let preflightTranscript;
47784
47784
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47785
47785
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47786
- const { transcribeFirstAudio } = await import("./audio-preflight-D02HwB-I.js");
47786
+ const { transcribeFirstAudio } = await import("./audio-preflight-O3ASWbaG.js");
47787
47787
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47788
47788
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47789
47789
  ctx: {
@@ -51789,7 +51789,7 @@ function isVoiceChannelType(type) {
51789
51789
  function createDefaultDeps() {
51790
51790
  return {
51791
51791
  sendMessageWhatsApp: async (...args) => {
51792
- const { sendMessageWhatsApp } = await import("./web-DNQzo8ao.js");
51792
+ const { sendMessageWhatsApp } = await import("./web-6vYYN17n.js");
51793
51793
  return await sendMessageWhatsApp(...args);
51794
51794
  },
51795
51795
  sendMessageTelegram: async (...args) => {
@@ -54696,7 +54696,7 @@ function createDiscordGatewayPlugin(params) {
54696
54696
  super(options);
54697
54697
  }
54698
54698
  createWebSocket(url) {
54699
- return new WebSocket(url, { agent });
54699
+ return new WebSocket$1(url, { agent });
54700
54700
  }
54701
54701
  }
54702
54702
  return new ProxyGatewayPlugin();
@@ -64914,7 +64914,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64914
64914
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64915
64915
  let preflightTranscript;
64916
64916
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64917
- const { transcribeFirstAudio } = await import("./audio-preflight-D02HwB-I.js");
64917
+ const { transcribeFirstAudio } = await import("./audio-preflight-O3ASWbaG.js");
64918
64918
  preflightTranscript = await transcribeFirstAudio({
64919
64919
  ctx: {
64920
64920
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -67071,7 +67071,7 @@ function loadWebLoginQr() {
67071
67071
  return webLoginQrPromise;
67072
67072
  }
67073
67073
  function loadWebChannel() {
67074
- webChannelPromise ??= import("./web-DNQzo8ao.js");
67074
+ webChannelPromise ??= import("./web-6vYYN17n.js");
67075
67075
  return webChannelPromise;
67076
67076
  }
67077
67077
  function loadWhatsAppActions() {
@@ -68304,8 +68304,16 @@ const GEMMA_TOKEN_PATTERNS = [
68304
68304
  /<start_of_turn>(?:model|user)?/g,
68305
68305
  /<end_of_turn>/g,
68306
68306
  /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
68307
- /^\s*<bos>\s*/gm
68307
+ /^\s*<bos>\s*/gm,
68308
+ /<\|[^|>]{0,30}\|>/g,
68309
+ /<\|[^>]{0,30}>/g
68308
68310
  ];
68311
+ /**
68312
+ * Aggressively strip all fragments of model control token corruption from
68313
+ * tool arguments. This catches cases where the model produces raw garbage
68314
+ * like `<|<|"|<|<|\'` that doesn't match any known token template.
68315
+ */
68316
+ const AGGRESSIVE_TOKEN_FRAGMENTS = [/<\|/g, /\|>/g];
68309
68317
  const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
68310
68318
  function isGemmaModel$1(modelId) {
68311
68319
  const lower = modelId.toLowerCase();
@@ -68315,6 +68323,10 @@ function isGemmaModel$1(modelId) {
68315
68323
  * Strip known control tokens from text. Only applies to Gemma-family models;
68316
68324
  * other models pass through unchanged.
68317
68325
  */
68326
+ /**
68327
+ * Strip known control tokens from text. Only applies to Gemma-family models;
68328
+ * other models pass through unchanged. Used for streamed text output.
68329
+ */
68318
68330
  function stripModelTokens(text, modelId) {
68319
68331
  if (!text || !isGemmaModel$1(modelId)) return text;
68320
68332
  let result = text;
@@ -68324,6 +68336,21 @@ function stripModelTokens(text, modelId) {
68324
68336
  }
68325
68337
  return result;
68326
68338
  }
68339
+ /**
68340
+ * Aggressively strip ALL token-like fragments from a string. Used for tool
68341
+ * call arguments where any `<|` corruption causes downstream failures.
68342
+ * More aggressive than `stripModelTokens` — removes bare `<|` and `|>` fragments
68343
+ * that don't match any known token template.
68344
+ */
68345
+ function stripModelTokensAggressive(text, modelId) {
68346
+ if (!text || !isGemmaModel$1(modelId)) return text;
68347
+ let result = stripModelTokens(text, modelId);
68348
+ for (const re of AGGRESSIVE_TOKEN_FRAGMENTS) {
68349
+ re.lastIndex = 0;
68350
+ result = result.replace(re, "");
68351
+ }
68352
+ return result;
68353
+ }
68327
68354
 
68328
68355
  //#endregion
68329
68356
  //#region src/agents/pi-tools.abort.ts
@@ -69639,10 +69666,10 @@ function wrapToolWithArgSanitization(tool, modelId) {
69639
69666
  };
69640
69667
  }
69641
69668
  function sanitizeToolArgs(params, modelId) {
69642
- if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
69669
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokensAggressive(params, modelId) : params;
69643
69670
  if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
69644
69671
  const result = {};
69645
- for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
69672
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokensAggressive(value, modelId);
69646
69673
  else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
69647
69674
  else result[key] = value;
69648
69675
  return result;
@@ -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-BzNrUHpt.js";
4
- import { t as sanitizeContentBlocksImages } from "./tool-images-B-pqX3nX.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-C-T6hOMv.js";
4
+ import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
5
5
  import path from "node:path";
6
- import fsPromises from "node:fs/promises";
6
+ import fs 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 fsPromises.stat(file);
104
+ await fs.stat(file);
105
105
  return;
106
106
  } catch {}
107
- await fsPromises.mkdir(path.dirname(file), { recursive: true });
107
+ await fs.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 fsPromises.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
115
+ await fs.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;
@@ -12,7 +12,7 @@ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n a
12
12
  import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-DK43VicI.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-Dz5lr5b0.js";
14
14
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DRbjHIwD.js";
15
- 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-EyvdASWt.js";
15
+ 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-BFekevcE.js";
16
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BFekKL7i.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-Ch7liUOW.js");
936
+ return await import("./pw-ai-BnAKvSuw.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-Ch7liUOW.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-BnAKvSuw.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-Ch7liUOW.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-BnAKvSuw.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs$1.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -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-D2SKJnR7.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";
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-1htA-NnS.js");
934
+ return await import("./pw-ai-De-KR9_s.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-1htA-NnS.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,9 +1,9 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DCt45XZa.js";
2
- import { r as resolveAgentConfig } from "./agent-scope-BRwEc2pG.js";
2
+ import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
4
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CJMcIRQM.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BzNrUHpt.js";
6
- import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BYiRZSgZ.js";
4
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CHwyw6l5.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-C-T6hOMv.js";
6
+ import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BhS32F6E.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
9
9
  function unionAllow(base, extra) {
@@ -1,7 +1,7 @@
1
1
  import { d as isRecord } from "./utils-B-0b9bGM.js";
2
2
  import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
3
- import { l as normalizeProviderId } from "./model-selection-X1oLh3CE.js";
4
- import { t as hasAnyWhatsAppAuth } from "./accounts-Cd816n6l.js";
3
+ import { l as normalizeProviderId } from "./model-selection-CyFvYcRt.js";
4
+ import { t as hasAnyWhatsAppAuth } from "./accounts-DDuIpcln.js";
5
5
  import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-RiADx7MA.js";
6
6
  import { t as ensurePluginAllowlisted } from "./plugins-allowlist-sArtGE-d.js";
7
7
 
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-DHBLS1Hl.js";
5
- import { b as loadSymiPlugins } from "./subagent-registry-CBklD0OL.js";
5
+ import { b as loadSymiPlugins } from "./subagent-registry-CyW0EDWw.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { vt as loadSymiPlugins } from "./reply-DVxU0AMq.js";
2
+ import { vt as loadSymiPlugins } from "./reply-DSjeqLEz.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
- import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
6
- import { i as loadConfig } from "./config-CJMcIRQM.js";
5
+ import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
6
+ import { i as loadConfig } from "./config-CHwyw6l5.js";
7
7
 
8
8
  //#region src/cli/plugin-registry.ts
9
9
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });