@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
@@ -3,101 +3,101 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-EAliFiVK.js";
5
5
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
6
+ import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
8
8
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
9
9
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
10
- import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-BRwEc2pG.js";
11
- import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-X1oLh3CE.js";
10
+ import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-CgUHAtCo.js";
11
+ import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-CyFvYcRt.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DAu1a6BX.js";
13
13
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
16
16
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BnuIB59F.js";
18
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CJMcIRQM.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-CZr1hVHY.js";
18
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CHwyw6l5.js";
19
19
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Cen70krW.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-BiY-PfMh.js";
26
- import { t as ensureSymiModelsJson } from "./models-config-CqDdkHJq.js";
24
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CUglpiFP.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-D9uvDTrc.js";
26
+ import { t as ensureSymiModelsJson } from "./models-config-qyOXrOli.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-DO6u9K2t.js";
29
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-BzNrUHpt.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-r4RThPxq.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DUXqnh6l.js";
32
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DqQUtOph.js";
28
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-CNPyv_ax.js";
29
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-C-T6hOMv.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DtPkPq9T.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CEpFjqSk.js";
32
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-6jdJQ5ZL.js";
33
33
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-CT6jsi4E.js";
34
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DYbDWaIA.js";
37
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-DvtcmOKj.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-D5a7H247.js";
39
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BYiRZSgZ.js";
40
- import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-BAyxWQSz.js";
41
- import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-Cd816n6l.js";
42
- import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
43
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-mN_EcgxC.js";
44
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-dH0xroTu.js";
36
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
37
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-DgYpBvse.js";
39
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
40
+ import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
41
+ import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
42
+ import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
43
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
44
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-CPF8hSFp.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
48
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-B-pqX3nX.js";
48
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DvUBlqjX.js";
49
49
  import { n as resolveToolDisplay } from "./tool-display-D8N3rsYt.js";
50
50
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3da8yR.js";
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
53
- import { v as runTasksWithConcurrency } from "./sqlite-BV5ILFtC.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C3NLvWC2.js";
52
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
+ import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DvBJ8pMD.js";
55
55
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-Cs6_LnHB.js";
57
- import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-Um8yyhRA.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-gmK6RciS.js";
57
+ import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-CceEhg3d.js";
58
58
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DjBRPfu9.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BEeuDXqy.js";
61
- import { a as buildModelAliasLines, n as resolveModel } from "./model-CeeOcylL.js";
62
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BLOOs1aW.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-lk6fRiwy.js";
64
- import { i as resolveMemorySearchConfig } from "./manager-C1CfGzZ2.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Cutb0ZDY.js";
61
+ import { a as buildModelAliasLines, n as resolveModel } from "./model-tWhwnFf8.js";
62
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Ca5r9AUb.js";
64
+ import { i as resolveMemorySearchConfig } from "./manager-D4LJSRyZ.js";
65
65
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
66
- import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-CCz79CmV.js";
66
+ import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-7AvoVa10.js";
67
67
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-1dhPX1NK.js";
68
- import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
69
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Dt4hOzxG.js";
70
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CtocZ4Lg.js";
71
- import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BZ0ZSQpM.js";
72
- import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BsrZnuSi.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-Dd7-bkfG.js";
68
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
69
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
70
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
71
+ import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-BT0-zzs3.js";
72
+ import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CQSyCS4M.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CJaS1iRF.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
77
77
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
78
- import { t as convertMarkdownTables } from "./tables-C38rzF6E.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BjdAgYLu.js";
80
- import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-B8ktu-6j.js";
78
+ import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-tanEMpHN.js";
80
+ import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CK726Dzq.js";
81
81
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
83
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BcnaXYvh.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BL7IBg12.js";
85
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-ZXbEITKi.js";
83
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BMoTaVAH.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-vgss3_QA.js";
85
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
86
86
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
87
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-C95ZRvja.js";
88
- import { r as detectBinary } from "./onboard-helpers-Dixh6cNh.js";
89
- import { t as resolvePairingIdLabel } from "./pairing-labels-27SOKDzJ.js";
87
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-CXxQ_f7L.js";
88
+ import { r as detectBinary } from "./onboard-helpers-ZmZYzlq3.js";
89
+ import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
91
91
  import { t as getActiveWebListener } from "./active-listener-kvXhlgwu.js";
92
92
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-Kn31mBcW.js";
93
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-C99kfE1u.js";
93
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-VBGXKdLk.js";
94
94
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
95
95
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
96
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-juZV2uUv.js";
97
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-B8H3Bqpv.js";
96
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CIDBbw6x.js";
97
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Bz7rxLWq.js";
98
98
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
99
99
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-C8_BLnaW.js";
100
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DjfBv8kq.js";
100
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DuWs0Aak.js";
101
101
  import { t as parseTimeoutMs } from "./parse-timeout-C385GCpE.js";
102
102
  import { createRequire } from "node:module";
103
103
  import { fileURLToPath } from "node:url";
@@ -105,7 +105,7 @@ import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSyn
105
105
  import os, { homedir } from "node:os";
106
106
  import path from "node:path";
107
107
  import JSON5 from "json5";
108
- import fsPromises from "node:fs/promises";
108
+ import fs$1 from "node:fs/promises";
109
109
  import { execFileSync, spawn, spawnSync } from "node:child_process";
110
110
  import { inspect } from "node:util";
111
111
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
@@ -2893,7 +2893,7 @@ async function createModelSelectionState(params) {
2893
2893
  }
2894
2894
  }
2895
2895
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
2896
- const { ensureAuthProfileStore } = await import("./model-selection-X1oLh3CE.js").then((n) => n.dt);
2896
+ const { ensureAuthProfileStore } = await import("./model-selection-CyFvYcRt.js").then((n) => n.dt);
2897
2897
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
2898
2898
  const providerKey = normalizeProviderId(provider);
2899
2899
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -10415,7 +10415,7 @@ async function routeReply(params) {
10415
10415
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10416
10416
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10417
10417
  try {
10418
- const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
10418
+ const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
10419
10419
  return {
10420
10420
  ok: true,
10421
10421
  messageId: (await deliverOutboundPayloads({
@@ -12964,8 +12964,8 @@ async function describeStickerImage(params) {
12964
12964
  const { provider, model } = resolved;
12965
12965
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
12966
12966
  try {
12967
- const buffer = await fsPromises.readFile(imagePath);
12968
- const { describeImageWithModel } = await import("./image-BiY-PfMh.js").then((n) => n.n);
12967
+ const buffer = await fs$1.readFile(imagePath);
12968
+ const { describeImageWithModel } = await import("./image-D9uvDTrc.js").then((n) => n.n);
12969
12969
  return (await describeImageWithModel({
12970
12970
  buffer,
12971
12971
  fileName: "sticker.webp",
@@ -13388,7 +13388,7 @@ function createWhatsAppLoginTool() {
13388
13388
  force: Type.Optional(Type.Boolean())
13389
13389
  }),
13390
13390
  execute: async (_toolCallId, args) => {
13391
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-wCWBOMwB.js");
13391
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-pbXdFORv.js");
13392
13392
  if ((args?.action ?? "start") === "wait") {
13393
13393
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13394
13394
  return {
@@ -15604,7 +15604,7 @@ async function preflightDiscordMessage(params) {
15604
15604
  let preflightTranscript;
15605
15605
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15606
15606
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15607
- const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
15607
+ const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
15608
15608
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15609
15609
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15610
15610
  ctx: {
@@ -21610,18 +21610,18 @@ function appendImagePathsToPrompt(prompt, paths) {
21610
21610
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
21611
21611
  }
21612
21612
  async function writeCliImages(images) {
21613
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21613
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21614
21614
  const paths = [];
21615
21615
  for (let i = 0; i < images.length; i += 1) {
21616
21616
  const image = images[i];
21617
21617
  const ext = resolveImageExtension(image.mimeType);
21618
21618
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
21619
21619
  const buffer = Buffer.from(image.data, "base64");
21620
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
21620
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
21621
21621
  paths.push(filePath);
21622
21622
  }
21623
21623
  const cleanup = async () => {
21624
- await fsPromises.rm(tempDir, {
21624
+ await fs$1.rm(tempDir, {
21625
21625
  recursive: true,
21626
21626
  force: true
21627
21627
  });
@@ -22374,27 +22374,27 @@ async function runWithImageModelFallback(params) {
22374
22374
  function createDefaultDeps() {
22375
22375
  return {
22376
22376
  sendMessageWhatsApp: async (...args) => {
22377
- const { sendMessageWhatsApp } = await import("./web-DsCqmzyk.js");
22377
+ const { sendMessageWhatsApp } = await import("./web-HeObJp6A.js");
22378
22378
  return await sendMessageWhatsApp(...args);
22379
22379
  },
22380
22380
  sendMessageTelegram: async (...args) => {
22381
- const { sendMessageTelegram } = await import("./send-BEeuDXqy.js").then((n) => n.l);
22381
+ const { sendMessageTelegram } = await import("./send-Cutb0ZDY.js").then((n) => n.l);
22382
22382
  return await sendMessageTelegram(...args);
22383
22383
  },
22384
22384
  sendMessageDiscord: async (...args) => {
22385
- const { sendMessageDiscord } = await import("./send-BnuIB59F.js").then((n) => n.t);
22385
+ const { sendMessageDiscord } = await import("./send-CZr1hVHY.js").then((n) => n.t);
22386
22386
  return await sendMessageDiscord(...args);
22387
22387
  },
22388
22388
  sendMessageSlack: async (...args) => {
22389
- const { sendMessageSlack } = await import("./send-dH0xroTu.js").then((n) => n.n);
22389
+ const { sendMessageSlack } = await import("./send-CPF8hSFp.js").then((n) => n.n);
22390
22390
  return await sendMessageSlack(...args);
22391
22391
  },
22392
22392
  sendMessageSignal: async (...args) => {
22393
- const { sendMessageSignal } = await import("./send-BjdAgYLu.js").then((n) => n.i);
22393
+ const { sendMessageSignal } = await import("./send-tanEMpHN.js").then((n) => n.i);
22394
22394
  return await sendMessageSignal(...args);
22395
22395
  },
22396
22396
  sendMessageIMessage: async (...args) => {
22397
- const { sendMessageIMessage } = await import("./send-C95ZRvja.js").then((n) => n.n);
22397
+ const { sendMessageIMessage } = await import("./send-CXxQ_f7L.js").then((n) => n.n);
22398
22398
  return await sendMessageIMessage(...args);
22399
22399
  }
22400
22400
  };
@@ -23578,10 +23578,10 @@ function estimateDurationSeconds(pcm) {
23578
23578
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
23579
23579
  }
23580
23580
  async function writeWavFile(pcm) {
23581
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23581
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23582
23582
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
23583
23583
  const wav = buildWavBuffer(pcm);
23584
- await fsPromises.writeFile(filePath, wav);
23584
+ await fs$1.writeFile(filePath, wav);
23585
23585
  scheduleTempCleanup(tempDir);
23586
23586
  return {
23587
23587
  path: filePath,
@@ -23590,7 +23590,7 @@ async function writeWavFile(pcm) {
23590
23590
  }
23591
23591
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
23592
23592
  setTimeout(() => {
23593
- fsPromises.rm(tempDir, {
23593
+ fs$1.rm(tempDir, {
23594
23594
  recursive: true,
23595
23595
  force: true
23596
23596
  }).catch((err) => {
@@ -27329,7 +27329,7 @@ function normalizeAllowList$2(list) {
27329
27329
  async function detectRemoteHostFromCliPath(cliPath) {
27330
27330
  try {
27331
27331
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
27332
- const content = await fsPromises.readFile(expanded, "utf8");
27332
+ const content = await fs$1.readFile(expanded, "utf8");
27333
27333
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
27334
27334
  if (userHostMatch) return userHostMatch[1];
27335
27335
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -33544,7 +33544,7 @@ function readSlackExternalArgMenuToken(raw) {
33544
33544
  }
33545
33545
  let commandsRegistry;
33546
33546
  async function getCommandsRegistry() {
33547
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BZ0ZSQpM.js").then((n) => n.n);
33547
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BT0-zzs3.js").then((n) => n.n);
33548
33548
  return commandsRegistry;
33549
33549
  }
33550
33550
  function encodeSlackCommandArgValue(parts) {
@@ -33886,11 +33886,11 @@ async function registerSlackMonitorSlashCommands(params) {
33886
33886
  const channelName = channelInfo?.name;
33887
33887
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
33888
33888
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
33889
- import("./resolve-route-BcnaXYvh.js").then((n) => n.r),
33889
+ import("./resolve-route-BMoTaVAH.js").then((n) => n.r),
33890
33890
  import("./inbound-context-CmmmT8IP.js").then((n) => n.n),
33891
33891
  Promise.resolve().then(() => provider_dispatcher_exports)
33892
33892
  ]);
33893
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-BLOOs1aW.js").then((n) => n.n)]);
33893
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-CE2YmmsD.js").then((n) => n.n)]);
33894
33894
  const route = resolveAgentRoute({
33895
33895
  cfg,
33896
33896
  channel: "slack",
@@ -33947,9 +33947,9 @@ async function registerSlackMonitorSlashCommands(params) {
33947
33947
  });
33948
33948
  const deliverSlashPayloads = async (replies) => {
33949
33949
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
33950
- import("./replies-BL7IBg12.js").then((n) => n.r),
33950
+ import("./replies-vgss3_QA.js").then((n) => n.r),
33951
33951
  import("./chunk-1dhPX1NK.js").then((n) => n.s),
33952
- import("./markdown-tables-ZwP14ydw.js").then((n) => n.t)
33952
+ import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
33953
33953
  ]);
33954
33954
  await deliverSlackSlashReplies({
33955
33955
  replies,
@@ -34002,7 +34002,7 @@ async function registerSlackMonitorSlashCommands(params) {
34002
34002
  let nativeCommands = [];
34003
34003
  if (nativeEnabled) {
34004
34004
  reg = await getCommandsRegistry();
34005
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-ZXbEITKi.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34005
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cxw-jNxU.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34006
34006
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
34007
34007
  skillCommands,
34008
34008
  provider: "slack"
@@ -38771,7 +38771,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
38771
38771
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
38772
38772
  let preflightTranscript;
38773
38773
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
38774
- const { transcribeFirstAudio } = await import("./audio-preflight-CjysqO8U.js");
38774
+ const { transcribeFirstAudio } = await import("./audio-preflight-CWnxkaac.js");
38775
38775
  preflightTranscript = await transcribeFirstAudio({
38776
38776
  ctx: {
38777
38777
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -40539,7 +40539,7 @@ function safeParseState(raw) {
40539
40539
  async function readTelegramUpdateOffset(params) {
40540
40540
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40541
40541
  try {
40542
- return safeParseState(await fsPromises.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40542
+ return safeParseState(await fs$1.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40543
40543
  } catch (err) {
40544
40544
  if (err.code === "ENOENT") return null;
40545
40545
  return null;
@@ -40548,7 +40548,7 @@ async function readTelegramUpdateOffset(params) {
40548
40548
  async function writeTelegramUpdateOffset(params) {
40549
40549
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40550
40550
  const dir = path.dirname(filePath);
40551
- await fsPromises.mkdir(dir, {
40551
+ await fs$1.mkdir(dir, {
40552
40552
  recursive: true,
40553
40553
  mode: 448
40554
40554
  });
@@ -40557,14 +40557,14 @@ async function writeTelegramUpdateOffset(params) {
40557
40557
  version: STORE_VERSION,
40558
40558
  lastUpdateId: params.updateId
40559
40559
  };
40560
- await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40561
- await fsPromises.chmod(tmp, 384);
40562
- await fsPromises.rename(tmp, filePath);
40560
+ await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40561
+ await fs$1.chmod(tmp, 384);
40562
+ await fs$1.rename(tmp, filePath);
40563
40563
  }
40564
40564
  async function deleteTelegramUpdateOffset(params) {
40565
40565
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40566
40566
  try {
40567
- await fsPromises.unlink(filePath);
40567
+ await fs$1.unlink(filePath);
40568
40568
  } catch (err) {
40569
40569
  if (err.code === "ENOENT") return;
40570
40570
  throw err;
@@ -40925,23 +40925,23 @@ let webLoginQrPromise = null;
40925
40925
  let webChannelPromise = null;
40926
40926
  let whatsappActionsPromise = null;
40927
40927
  function loadWebOutbound() {
40928
- webOutboundPromise ??= import("./outbound-NJCy0h4x.js").then((n) => n.t);
40928
+ webOutboundPromise ??= import("./outbound-DB5Zus0-.js").then((n) => n.t);
40929
40929
  return webOutboundPromise;
40930
40930
  }
40931
40931
  function loadWebLogin() {
40932
- webLoginPromise ??= import("./login-1sleXoB4.js").then((n) => n.n);
40932
+ webLoginPromise ??= import("./login-dIlDkG4X.js").then((n) => n.n);
40933
40933
  return webLoginPromise;
40934
40934
  }
40935
40935
  function loadWebLoginQr() {
40936
- webLoginQrPromise ??= import("./login-qr-wCWBOMwB.js");
40936
+ webLoginQrPromise ??= import("./login-qr-pbXdFORv.js");
40937
40937
  return webLoginQrPromise;
40938
40938
  }
40939
40939
  function loadWebChannel() {
40940
- webChannelPromise ??= import("./web-DsCqmzyk.js");
40940
+ webChannelPromise ??= import("./web-HeObJp6A.js");
40941
40941
  return webChannelPromise;
40942
40942
  }
40943
40943
  function loadWhatsAppActions() {
40944
- whatsappActionsPromise ??= import("./whatsapp-actions-CFXNPLco.js");
40944
+ whatsappActionsPromise ??= import("./whatsapp-actions-DbcsdOH3.js");
40945
40945
  return whatsappActionsPromise;
40946
40946
  }
40947
40947
  function createPluginRuntime() {
@@ -41708,7 +41708,7 @@ function resolvePluginTools(params) {
41708
41708
  //#endregion
41709
41709
  //#region src/agents/apply-patch-update.ts
41710
41710
  async function defaultReadFile(filePath) {
41711
- return fsPromises.readFile(filePath, "utf8");
41711
+ return fs$1.readFile(filePath, "utf8");
41712
41712
  }
41713
41713
  async function applyUpdateHunk(filePath, chunks, options) {
41714
41714
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -41952,10 +41952,10 @@ function resolvePatchFileOps(options) {
41952
41952
  };
41953
41953
  }
41954
41954
  return {
41955
- readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
41956
- writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
41957
- remove: (filePath) => fsPromises.rm(filePath),
41958
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
41955
+ readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
41956
+ writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
41957
+ remove: (filePath) => fs$1.rm(filePath),
41958
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
41959
41959
  };
41960
41960
  }
41961
41961
  async function ensureDir(filePath, ops) {
@@ -42676,7 +42676,7 @@ async function resolveSandboxWorkdir(params) {
42676
42676
  cwd: process.cwd(),
42677
42677
  root: params.sandbox.workspaceDir
42678
42678
  });
42679
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42679
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42680
42680
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
42681
42681
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
42682
42682
  return {
@@ -43657,13 +43657,13 @@ async function validateScriptFileForShellBleed(params) {
43657
43657
  cwd: params.workdir,
43658
43658
  root: params.workdir
43659
43659
  });
43660
- stat = await fsPromises.stat(absPath);
43660
+ stat = await fs$1.stat(absPath);
43661
43661
  } catch {
43662
43662
  return;
43663
43663
  }
43664
43664
  if (!stat.isFile()) return;
43665
43665
  if (stat.size > 512 * 1024) return;
43666
- const content = await fsPromises.readFile(absPath, "utf-8");
43666
+ const content = await fs$1.readFile(absPath, "utf-8");
43667
43667
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
43668
43668
  if (first) {
43669
43669
  const idx = first.index;
@@ -44602,8 +44602,16 @@ const GEMMA_TOKEN_PATTERNS = [
44602
44602
  /<start_of_turn>(?:model|user)?/g,
44603
44603
  /<end_of_turn>/g,
44604
44604
  /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
44605
- /^\s*<bos>\s*/gm
44605
+ /^\s*<bos>\s*/gm,
44606
+ /<\|[^|>]{0,30}\|>/g,
44607
+ /<\|[^>]{0,30}>/g
44606
44608
  ];
44609
+ /**
44610
+ * Aggressively strip all fragments of model control token corruption from
44611
+ * tool arguments. This catches cases where the model produces raw garbage
44612
+ * like `<|<|"|<|<|\'` that doesn't match any known token template.
44613
+ */
44614
+ const AGGRESSIVE_TOKEN_FRAGMENTS = [/<\|/g, /\|>/g];
44607
44615
  const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
44608
44616
  function isGemmaModel$1(modelId) {
44609
44617
  const lower = modelId.toLowerCase();
@@ -44613,6 +44621,10 @@ function isGemmaModel$1(modelId) {
44613
44621
  * Strip known control tokens from text. Only applies to Gemma-family models;
44614
44622
  * other models pass through unchanged.
44615
44623
  */
44624
+ /**
44625
+ * Strip known control tokens from text. Only applies to Gemma-family models;
44626
+ * other models pass through unchanged. Used for streamed text output.
44627
+ */
44616
44628
  function stripModelTokens(text, modelId) {
44617
44629
  if (!text || !isGemmaModel$1(modelId)) return text;
44618
44630
  let result = text;
@@ -44622,6 +44634,21 @@ function stripModelTokens(text, modelId) {
44622
44634
  }
44623
44635
  return result;
44624
44636
  }
44637
+ /**
44638
+ * Aggressively strip ALL token-like fragments from a string. Used for tool
44639
+ * call arguments where any `<|` corruption causes downstream failures.
44640
+ * More aggressive than `stripModelTokens` — removes bare `<|` and `|>` fragments
44641
+ * that don't match any known token template.
44642
+ */
44643
+ function stripModelTokensAggressive(text, modelId) {
44644
+ if (!text || !isGemmaModel$1(modelId)) return text;
44645
+ let result = stripModelTokens(text, modelId);
44646
+ for (const re of AGGRESSIVE_TOKEN_FRAGMENTS) {
44647
+ re.lastIndex = 0;
44648
+ result = result.replace(re, "");
44649
+ }
44650
+ return result;
44651
+ }
44625
44652
 
44626
44653
  //#endregion
44627
44654
  //#region src/agents/pi-tools.abort.ts
@@ -46867,7 +46894,7 @@ async function readJsonlFromPath(jsonlPath) {
46867
46894
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
46868
46895
  throw new Error("jsonlPath outside allowed roots");
46869
46896
  }
46870
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
46897
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
46871
46898
  if (!isInboundPathAllowed({
46872
46899
  filePath: canonical,
46873
46900
  roots
@@ -46875,7 +46902,7 @@ async function readJsonlFromPath(jsonlPath) {
46875
46902
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
46876
46903
  throw new Error("jsonlPath outside allowed roots");
46877
46904
  }
46878
- return await fsPromises.readFile(canonical, "utf8");
46905
+ return await fs$1.readFile(canonical, "utf8");
46879
46906
  }
46880
46907
  const CanvasToolSchema = Type.Object({
46881
46908
  action: stringEnum(CANVAS_ACTIONS),
@@ -47655,27 +47682,27 @@ function resolveRestartSentinelPath(env = process.env) {
47655
47682
  }
47656
47683
  async function writeRestartSentinel(payload, env = process.env) {
47657
47684
  const filePath = resolveRestartSentinelPath(env);
47658
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
47685
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
47659
47686
  const data = {
47660
47687
  version: 1,
47661
47688
  payload
47662
47689
  };
47663
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47690
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47664
47691
  return filePath;
47665
47692
  }
47666
47693
  async function readRestartSentinel(env = process.env) {
47667
47694
  const filePath = resolveRestartSentinelPath(env);
47668
47695
  try {
47669
- const raw = await fsPromises.readFile(filePath, "utf-8");
47696
+ const raw = await fs$1.readFile(filePath, "utf-8");
47670
47697
  let parsed;
47671
47698
  try {
47672
47699
  parsed = JSON.parse(raw);
47673
47700
  } catch {
47674
- await fsPromises.unlink(filePath).catch(() => {});
47701
+ await fs$1.unlink(filePath).catch(() => {});
47675
47702
  return null;
47676
47703
  }
47677
47704
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
47678
- await fsPromises.unlink(filePath).catch(() => {});
47705
+ await fs$1.unlink(filePath).catch(() => {});
47679
47706
  return null;
47680
47707
  }
47681
47708
  return parsed;
@@ -47687,7 +47714,7 @@ async function consumeRestartSentinel(env = process.env) {
47687
47714
  const filePath = resolveRestartSentinelPath(env);
47688
47715
  const parsed = await readRestartSentinel(env);
47689
47716
  if (!parsed) return null;
47690
- await fsPromises.unlink(filePath).catch(() => {});
47717
+ await fs$1.unlink(filePath).catch(() => {});
47691
47718
  return parsed;
47692
47719
  }
47693
47720
  function formatRestartSentinelMessage(payload) {
@@ -48794,7 +48821,7 @@ async function hydrateAttachmentPayload(params) {
48794
48821
  accountId: params.accountId
48795
48822
  }),
48796
48823
  sandboxValidated: true,
48797
- readFile: (filePath) => fsPromises.readFile(filePath)
48824
+ readFile: (filePath) => fs$1.readFile(filePath)
48798
48825
  });
48799
48826
  params.args.buffer = media.buffer.toString("base64");
48800
48827
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -56022,10 +56049,10 @@ function wrapToolWithArgSanitization(tool, modelId) {
56022
56049
  };
56023
56050
  }
56024
56051
  function sanitizeToolArgs(params, modelId) {
56025
- if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
56052
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokensAggressive(params, modelId) : params;
56026
56053
  if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
56027
56054
  const result = {};
56028
- for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
56055
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokensAggressive(value, modelId);
56029
56056
  else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
56030
56057
  else result[key] = value;
56031
56058
  return result;
@@ -56276,7 +56303,7 @@ async function repairSessionFileIfNeeded(params) {
56276
56303
  };
56277
56304
  let content;
56278
56305
  try {
56279
- content = await fsPromises.readFile(sessionFile, "utf-8");
56306
+ content = await fs$1.readFile(sessionFile, "utf-8");
56280
56307
  } catch (err) {
56281
56308
  if (err?.code === "ENOENT") return {
56282
56309
  repaired: false,
@@ -56324,15 +56351,15 @@ async function repairSessionFileIfNeeded(params) {
56324
56351
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
56325
56352
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
56326
56353
  try {
56327
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
56328
- await fsPromises.writeFile(backupPath, content, "utf-8");
56329
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
56330
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
56331
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
56332
- await fsPromises.rename(tmpPath, sessionFile);
56354
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
56355
+ await fs$1.writeFile(backupPath, content, "utf-8");
56356
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
56357
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
56358
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
56359
+ await fs$1.rename(tmpPath, sessionFile);
56333
56360
  } catch (err) {
56334
56361
  try {
56335
- await fsPromises.unlink(tmpPath);
56362
+ await fs$1.unlink(tmpPath);
56336
56363
  } catch (cleanupErr) {
56337
56364
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
56338
56365
  }
@@ -58437,7 +58464,7 @@ async function prewarmSessionFile(sessionFile) {
58437
58464
  if (!isSessionManagerCacheEnabled()) return;
58438
58465
  if (isSessionManagerCached(sessionFile)) return;
58439
58466
  try {
58440
- const handle = await fsPromises.open(sessionFile, "r");
58467
+ const handle = await fs$1.open(sessionFile, "r");
58441
58468
  try {
58442
58469
  const buffer = Buffer$1.alloc(4096);
58443
58470
  await handle.read(buffer, 0, buffer.length, 0);
@@ -58761,7 +58788,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58761
58788
  } catch (err) {
58762
58789
  return fail(describeUnknownError(err));
58763
58790
  }
58764
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
58791
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
58765
58792
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
58766
58793
  const sandbox = await resolveSandboxContext({
58767
58794
  config: params.config,
@@ -58769,7 +58796,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58769
58796
  workspaceDir: resolvedWorkspace
58770
58797
  });
58771
58798
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
58772
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
58799
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
58773
58800
  await ensureSessionHeader({
58774
58801
  sessionFile: params.sessionFile,
58775
58802
  sessionId: params.sessionId,
@@ -59559,12 +59586,12 @@ function getQueuedFileWriter(writers, filePath) {
59559
59586
  const existing = writers.get(filePath);
59560
59587
  if (existing) return existing;
59561
59588
  const dir = path.dirname(filePath);
59562
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
59589
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
59563
59590
  let queue = Promise.resolve();
59564
59591
  const writer = {
59565
59592
  filePath,
59566
59593
  write: (line) => {
59567
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
59594
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
59568
59595
  }
59569
59596
  };
59570
59597
  writers.set(filePath, writer);
@@ -61956,7 +61983,7 @@ async function prepareSessionManagerForRun(params) {
61956
61983
  return;
61957
61984
  }
61958
61985
  if (params.hadSessionFile && header && !hasAssistant) {
61959
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
61986
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
61960
61987
  sm.fileEntries = [header];
61961
61988
  sm.byId?.clear?.();
61962
61989
  sm.labelsById?.clear?.();
@@ -62514,7 +62541,7 @@ async function runEmbeddedAttempt(params) {
62514
62541
  const prevCwd = process.cwd();
62515
62542
  const runAbortController = new AbortController();
62516
62543
  log$2.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
62517
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
62544
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
62518
62545
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
62519
62546
  const sandbox = await resolveSandboxContext({
62520
62547
  config: params.config,
@@ -62522,7 +62549,7 @@ async function runEmbeddedAttempt(params) {
62522
62549
  workspaceDir: resolvedWorkspace
62523
62550
  });
62524
62551
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
62525
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
62552
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
62526
62553
  let restoreSkillEnv;
62527
62554
  process.chdir(effectiveWorkspace);
62528
62555
  try {
@@ -62750,7 +62777,7 @@ async function runEmbeddedAttempt(params) {
62750
62777
  sessionFile: params.sessionFile,
62751
62778
  warn: (message) => log$2.warn(message)
62752
62779
  });
62753
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
62780
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
62754
62781
  const transcriptPolicy = resolveTranscriptPolicy({
62755
62782
  modelApi: params.model?.api,
62756
62783
  provider: params.provider,
@@ -63768,7 +63795,7 @@ async function runEmbeddedPiAgent(params) {
63768
63795
  }
63769
63796
  runLoopIterations += 1;
63770
63797
  attemptedThinking.add(thinkLevel);
63771
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
63798
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
63772
63799
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
63773
63800
  const attempt = await runEmbeddedAttempt({
63774
63801
  sessionId: params.sessionId,
@@ -68110,7 +68137,7 @@ async function handleCommands(params) {
68110
68137
  try {
68111
68138
  const messages = [];
68112
68139
  if (sessionFile) {
68113
- const content = await fsPromises.readFile(sessionFile, "utf-8");
68140
+ const content = await fs$1.readFile(sessionFile, "utf-8");
68114
68141
  for (const line of content.split("\n")) {
68115
68142
  if (!line.trim()) continue;
68116
68143
  try {
@@ -71768,7 +71795,7 @@ async function deliverSessionMaintenanceWarning(params) {
71768
71795
  return;
71769
71796
  }
71770
71797
  try {
71771
- const { deliverOutboundPayloads } = await import("./deliver-Um8yyhRA.js").then((n) => n.n);
71798
+ const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
71772
71799
  await deliverOutboundPayloads({
71773
71800
  cfg: params.cfg,
71774
71801
  channel,
@@ -72143,7 +72170,7 @@ async function stageSandboxMedia(params) {
72143
72170
  };
72144
72171
  try {
72145
72172
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
72146
- await fsPromises.mkdir(destDir, { recursive: true });
72173
+ await fs$1.mkdir(destDir, { recursive: true });
72147
72174
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
72148
72175
  cfg,
72149
72176
  accountId: ctx.AccountId
@@ -72193,7 +72220,7 @@ async function stageSandboxMedia(params) {
72193
72220
  usedNames.add(fileName);
72194
72221
  const dest = path.join(destDir, fileName);
72195
72222
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
72196
- else await fsPromises.copyFile(source, dest);
72223
+ else await fs$1.copyFile(source, dest);
72197
72224
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
72198
72225
  staged.set(source, stagedPath);
72199
72226
  }