@symerian/symi 2.0.0 → 2.0.1

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 (383) 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-o_sLVYUf.js → acp-cli-D54IzOnz.js} +6 -6
  5. package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
  6. package/dist/{agents-fpLHaNi7.js → agents-DtoHlMPd.js} +4 -4
  7. package/dist/{agents.config-CsSO3wVx.js → agents.config-D42lZLmR.js} +1 -1
  8. package/dist/{agents.config-p7Y2nZHi.js → agents.config-DnUOlYlU.js} +2 -2
  9. package/dist/{api-key-rotation-Dbby3dlf.js → api-key-rotation-Do8JQqVN.js} +1 -1
  10. package/dist/{audio-preflight-79KNH7Tf.js → audio-preflight-CERzpj2b.js} +28 -28
  11. package/dist/{audio-preflight-DL5FZnXU.js → audio-preflight-Idsf-ZfU.js} +4 -4
  12. package/dist/{audit-BUu82PFi.js → audit-D8C59yOo.js} +23 -23
  13. package/dist/{auth-choice-CeNB3tht.js → auth-choice-C9otuJPA.js} +1 -1
  14. package/dist/{auth-choice-C5XKksbt.js → auth-choice-D5BDSGnl.js} +8 -8
  15. package/dist/{auth-token-D4sEkR38.js → auth-token-BszpreVL.js} +1 -1
  16. package/dist/{banner-Cf1EZP4s.js → banner-CF7C3krf.js} +1 -1
  17. package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
  18. package/dist/{browser-cli-VNgWKTmy.js → browser-cli-Bys7B4nj.js} +9 -9
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +6 -6
  21. package/dist/bundled/session-memory/handler.js +6 -6
  22. package/dist/{call-DiLX2POZ.js → call-DAcmbtXf.js} +9 -9
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-options-cu6Y_a_F.js → channel-options-Csa-TtDi.js} +1 -1
  25. package/dist/{channel-options-B6UQDEaE.js → channel-options-DzhTX3wl.js} +2 -2
  26. package/dist/{channel-selection-DjfBv8kq.js → channel-selection-DuWs0Aak.js} +1 -1
  27. package/dist/{channel-web-Bi-6I1-W.js → channel-web-CjvCBPqU.js} +17 -17
  28. package/dist/{channels-cli-Bd5O4SA9.js → channels-cli-DDN_16Kv.js} +4 -4
  29. package/dist/{channels-cli-JCLUuFxJ.js → channels-cli-KlwkjyCS.js} +75 -75
  30. package/dist/{channels-status-issues-BoH1ZJPN.js → channels-status-issues-B_kBkl_u.js} +1 -1
  31. package/dist/{chrome-DuXtddnV.js → chrome-CVy4cA98.js} +7 -7
  32. package/dist/{chrome-CR4GU_ji.js → chrome-w5VRy_4h.js} +2 -2
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-CDZec5HA.js → cli-B5hVys4U.js} +62 -62
  35. package/dist/{cli-nHMrloEB.js → cli-DJI_OS4-.js} +1 -1
  36. package/dist/{client-CIYHP9fS.js → client-Cnoh7nRo.js} +1 -1
  37. package/dist/{command-registry-DXb1lS7l.js → command-registry-DnZXmfQw.js} +9 -9
  38. package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
  39. package/dist/{commands-registry-BmO4ALva.js → commands-registry-FQYB6b0c.js} +3 -3
  40. package/dist/{completion-cli-BzDe-5CO.js → completion-cli-DCxqBDYi.js} +2 -2
  41. package/dist/{completion-cli-CZ0-L0Nx.js → completion-cli-DQL62fp3.js} +12 -12
  42. package/dist/{config-AVc1QpRD.js → config-HatzmzSF.js} +2 -2
  43. package/dist/{config-cli-BfsG-zzV.js → config-cli-BZ9IeSYB.js} +1 -1
  44. package/dist/{config-cli-BIUaw73M.js → config-cli-gykd9rl1.js} +4 -4
  45. package/dist/{config-guard-CPd-_Sug.js → config-guard-B_Oo29C_.js} +12 -12
  46. package/dist/{config-validation-QuKOX6cx.js → config-validation-DWRbfhqx.js} +1 -1
  47. package/dist/{configure-C1JhrX_n.js → configure-DaF95oCr.js} +3 -3
  48. package/dist/{configure-DpG3ItSi.js → configure-awU0fYIM.js} +15 -15
  49. package/dist/{control-service-CT6Tc8zz.js → control-service-su7ltHXJ.js} +4 -4
  50. package/dist/control-ui/css/revert-red-theme.md +141 -0
  51. package/dist/control-ui/css/style.css +23 -54
  52. package/dist/control-ui/css/style.css.backup-2026-03-03-162525 +3546 -0
  53. package/dist/control-ui/css/style.css.backup-before-red-2026-03-03-162525 +3546 -0
  54. package/dist/control-ui/css/style.css.backup-before-red-theme-2026-03-03-162530 +3546 -0
  55. package/dist/control-ui/css/style.css.red-theme +2999 -0
  56. package/dist/control-ui/index.html +5 -18
  57. package/dist/control-ui/js/app.js +1 -1
  58. package/dist/control-ui/js/models.js +35 -108
  59. package/dist/{control-ui-assets-DqGziq7x.js → control-ui-assets-Z947tKLt.js} +1 -1
  60. package/dist/{cron-cli-Dkt9uaVz.js → cron-cli-EwYM3Zhw.js} +10 -10
  61. package/dist/{daemon-cli-CK9BhScf.js → daemon-cli-gSfOKrXx.js} +11 -11
  62. package/dist/{daemon-runtime-CbWCEgFq.js → daemon-runtime-CNFxAJWo.js} +10 -10
  63. package/dist/{deliver-D7lL85xc.js → deliver-Ds9HRkSS.js} +1 -1
  64. package/dist/{deliver-BRZABn2h.js → deliver-Dt-RE3Vx.js} +7 -7
  65. package/dist/{devices-cli-Dt2dSPNN.js → devices-cli-B4Ml0nPd.js} +6 -6
  66. package/dist/{diagnostics-D2yUMZN1.js → diagnostics-BAMlsVVX.js} +5 -5
  67. package/dist/{directory-cli-Bd0yqzdX.js → directory-cli-Dr1AuGU_.js} +7 -7
  68. package/dist/{dm-policy-shared-BbBnj9fh.js → dm-policy-shared-B7mF98WG.js} +2 -2
  69. package/dist/{dns-cli-C8-wE4jg.js → dns-cli-BMuYSI5H.js} +3 -3
  70. package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
  71. package/dist/{docs-cli-BfPfHTDs.js → docs-cli-BpnEOtJi.js} +1 -1
  72. package/dist/{doctor-completion-EiZoSgwZ.js → doctor-completion-CWxrDfTf.js} +2 -2
  73. package/dist/{doctor-completion-BUt4HQxm.js → doctor-completion-Dsc3BTPh.js} +1 -1
  74. package/dist/{doctor-config-flow-DVeRf3Nb.js → doctor-config-flow-CqkfYH5g.js} +10 -10
  75. package/dist/entry.js +1 -1
  76. package/dist/{exec-approvals-cli-_9YulN2v.js → exec-approvals-cli-Bjc1fnXd.js} +13 -13
  77. package/dist/extensionAPI.js +1 -1
  78. package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
  79. package/dist/{gateway-cli-CEO3mZTr.js → gateway-cli-DE-6Dcty.js} +13 -10
  80. package/dist/{gateway-cli-BRuCMLHC.js → gateway-cli-ZjP8i4av.js} +117 -114
  81. package/dist/{gateway-rpc-CPJvpktM.js → gateway-rpc-fojfvlNM.js} +1 -1
  82. package/dist/{glass-ui-ws-BDGgl8ub.js → glass-ui-ws-D421doEO.js} +7 -7
  83. package/dist/{glass-ui-ws-DZBGtG3l.js → glass-ui-ws-DVJ8Jbb_.js} +82 -82
  84. package/dist/{health-JCH1-7ZC.js → health-6eO44S1z.js} +13 -13
  85. package/dist/{health-DOpwYIk9.js → health-Cg5ISkwP.js} +1 -1
  86. package/dist/{hooks-cli-C_swzA-Q.js → hooks-cli-CSudu0uW.js} +76 -76
  87. package/dist/{hooks-cli-8E0NEcp2.js → hooks-cli-DrJLLgya.js} +2 -2
  88. package/dist/{image-CMI-9eRz.js → image-BCpwZwMs.js} +3 -3
  89. package/dist/{image-Bw9ZjAgJ.js → image-CFJ6w7mA.js} +1 -1
  90. package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
  91. package/dist/index.js +72 -72
  92. package/dist/{inspect-ZJkNX0WL.js → inspect-CllGjsWo.js} +4 -4
  93. package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
  94. package/dist/{installs-O9KlRu9h.js → installs-C1Cebk97.js} +10 -10
  95. package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
  96. package/dist/{lifecycle-core-DJ99Nuea.js → lifecycle-core-D7yri0lq.js} +5 -5
  97. package/dist/llm-slug-generator.js +6 -6
  98. package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
  99. package/dist/{login-BbKZ2DjB.js → login-DPZJ0dn5.js} +3 -3
  100. package/dist/{login-qr-DUMFnnHO.js → login-qr-1SS_KLmy.js} +5 -5
  101. package/dist/{logs-cli-Q9BjHa6r.js → logs-cli-DTv4zx9B.js} +7 -7
  102. package/dist/{manager-CMwIsp1s.js → manager-azRNiI63.js} +13 -13
  103. package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
  104. package/dist/{memory-cli-BmVxmjsP.js → memory-cli-BbOD_MAm.js} +12 -12
  105. package/dist/{model-yOMXet9g.js → model-BqEwE-J2.js} +1 -1
  106. package/dist/{model-catalog-B2O_f8W3.js → model-catalog-DchCrtU_.js} +4 -4
  107. package/dist/{model-picker-Cza4RjM6.js → model-picker-kP9-zhYa.js} +3 -3
  108. package/dist/{model-selection-B7KLlkW9.js → model-selection-Bna6Ea2G.js} +9 -9
  109. package/dist/{models-DiSEm28S.js → models-BTRkvFtl.js} +2 -2
  110. package/dist/{models-cli-BNzrvtSd.js → models-cli-D2fJlrQk.js} +3 -3
  111. package/dist/{models-cli-mXtcSXES.js → models-cli-Dj8cNWRT.js} +72 -72
  112. package/dist/{models-config-BBYpnDiI.js → models-config-ClFXUp6F.js} +7 -7
  113. package/dist/{node-cli-0V_HpLpl.js → node-cli-NQpg02gK.js} +28 -28
  114. package/dist/{node-service-CJygtY5M.js → node-service-Cxz4e-Qd.js} +1 -1
  115. package/dist/{nodes-cli-CCcfRy8f.js → nodes-cli-Bb4xaKGj.js} +10 -10
  116. package/dist/{nodes-screen-C99kfE1u.js → nodes-screen-VBGXKdLk.js} +4 -4
  117. package/dist/{npm-registry-spec-DR_at_Hp.js → npm-registry-spec-C2JDdSZS.js} +9 -9
  118. package/dist/{onboard-L0M0Ovnd.js → onboard-CHEs4ExE.js} +2 -2
  119. package/dist/{onboard-t2R-9vg-.js → onboard-CK01iMWd.js} +13 -13
  120. package/dist/{onboard-channels-DUaPDyrm.js → onboard-channels-DRFYxuUu.js} +1 -1
  121. package/dist/{onboard-channels-C7WU9Iin.js → onboard-channels-wh9lIrOV.js} +5 -5
  122. package/dist/{onboard-custom-DPVbOEea.js → onboard-custom-CRCl78Cb.js} +3 -3
  123. package/dist/{onboard-helpers-KDMJj8FR.js → onboard-helpers-y4rvYrnW.js} +8 -8
  124. package/dist/{onboard-hooks-lsws7g2s.js → onboard-hooks-BAA8CoVv.js} +1 -1
  125. package/dist/{onboard-remote-BlAZ1eIO.js → onboard-remote-Jm1aS7bY.js} +1 -1
  126. package/dist/{onboard-skills-B_rjyFsX.js → onboard-skills-Cs350j4k.js} +4 -4
  127. package/dist/{onboarding-DXwjpA2U.js → onboarding-Bp1mnjrX.js} +13 -13
  128. package/dist/{onboarding-B70JwisU.js → onboarding-lUewk1wX.js} +3 -3
  129. package/dist/{onboarding.finalize-7Hj0Ns8P.js → onboarding.finalize-CMRmP9Gh.js} +6 -6
  130. package/dist/{onboarding.finalize-CfqZ4VMN.js → onboarding.finalize-CZdoYQ4E.js} +74 -74
  131. package/dist/{onboarding.gateway-config-DTociuRL.js → onboarding.gateway-config-BKBdInKw.js} +14 -14
  132. package/dist/{openai-model-default-qa2VGxV5.js → openai-model-default-VfhQkucT.js} +2 -2
  133. package/dist/{outbound-4_NH93LY.js → outbound-Bgf3-Xjf.js} +4 -4
  134. package/dist/{outbound-attachment-D62E0xDI.js → outbound-attachment-D_QuKi8U.js} +2 -2
  135. package/dist/{pairing-cli-BjylEroj.js → pairing-cli-DGZ81nF1.js} +8 -8
  136. package/dist/{pairing-labels-BTnwVbGk.js → pairing-labels-DqKysvKw.js} +1 -1
  137. package/dist/{pairing-store-GiI_Y6RI.js → pairing-store-BCNzdZKM.js} +2 -2
  138. package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
  139. package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
  140. package/dist/{pi-auth-json-B1BvsF_W.js → pi-auth-json-CZfGGhvs.js} +3 -3
  141. package/dist/{pi-embedded-DocZDkTo.js → pi-embedded-CS0wnHwK.js} +2 -11
  142. package/dist/{pi-embedded-D7ha4Og0.js → pi-embedded-_CVXk_1W.js} +16 -25
  143. package/dist/{pi-embedded-helpers-CMPwkzmk.js → pi-embedded-helpers-Ccv1YvCu.js} +4 -4
  144. package/dist/{pi-embedded-helpers-CwBUNbtz.js → pi-embedded-helpers-DTf21kBI.js} +6 -6
  145. package/dist/{pi-tools.policy-UOvl9TC5.js → pi-tools.policy-DzNBR_23.js} +4 -4
  146. package/dist/{plugin-auto-enable-DDZK_Dlb.js → plugin-auto-enable-DLa2EY7E.js} +2 -2
  147. package/dist/{plugin-registry-CdtWBNpp.js → plugin-registry-BbbgHAaN.js} +1 -1
  148. package/dist/{plugin-registry-CORXKvoW.js → plugin-registry-UAY71aAp.js} +3 -3
  149. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  150. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  151. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  152. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  153. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  154. package/dist/plugin-sdk/{api-key-rotation-BYeOYbFa.js → api-key-rotation-Q2dih0d4.js} +1 -1
  155. package/dist/plugin-sdk/{audio-preflight-ZgYHV7zZ.js → audio-preflight-B3jftH89.js} +24 -24
  156. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  157. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  158. package/dist/plugin-sdk/{channel-web-DMrXbXuB.js → channel-web-cl9GZI67.js} +22 -22
  159. package/dist/plugin-sdk/{chrome-aebG-57z.js → chrome-Dm5lVW6S.js} +3 -3
  160. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  161. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  162. package/dist/plugin-sdk/{commands-registry-C-40_AnX.js → commands-registry-CPpEN9Mp.js} +4 -4
  163. package/dist/plugin-sdk/{config-_mfvrqyn.js → config-BVu4isPG.js} +9 -9
  164. package/dist/plugin-sdk/{deliver-CjfwhaL4.js → deliver-DSY1Ey3q.js} +10 -10
  165. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  166. package/dist/plugin-sdk/{image-BPKGNrho.js → image-GJ7myokS.js} +4 -4
  167. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  168. package/dist/plugin-sdk/index.js +53 -53
  169. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  170. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  171. package/dist/plugin-sdk/{login-D7FDUOk4.js → login-O6IizOR2.js} +7 -7
  172. package/dist/plugin-sdk/{login-qr-T2-V0Xzo.js → login-qr-_OTg1XmP.js} +9 -9
  173. package/dist/plugin-sdk/{manager-BQMAFDKV.js → manager-DBUFLDPF.js} +8 -8
  174. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  175. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  176. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  177. package/dist/plugin-sdk/{model-selection-SoQVut2b.js → model-selection-DltSbjiW.js} +4 -4
  178. package/dist/plugin-sdk/{outbound-D6-dgoHk.js → outbound-CR8e3Z2m.js} +7 -7
  179. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  180. package/dist/plugin-sdk/{pi-auth-json-BcG0RJ5m.js → pi-auth-json-BZWLIjB8.js} +5 -5
  181. package/dist/plugin-sdk/{pi-embedded-helpers-CoCKvCMg.js → pi-embedded-helpers-DP6QavXU.js} +17 -17
  182. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  183. package/dist/plugin-sdk/{pw-ai-BtL_6nSQ.js → pw-ai--FUGpHYZ.js} +8 -8
  184. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  185. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  186. package/dist/plugin-sdk/{replies-DBhVchqS.js → replies-CbaarhX4.js} +3 -3
  187. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  188. package/dist/plugin-sdk/{reply-BAGhI0bM.js → reply-z8of-Etj.js} +78 -87
  189. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  190. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  191. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  192. package/dist/plugin-sdk/{runner-DI-v2QPz.js → runner-AJx8kwC8.js} +9 -9
  193. package/dist/plugin-sdk/{send-BXEvd9GG.js → send-B0ms2T8N.js} +6 -6
  194. package/dist/plugin-sdk/{send-BqfAkEXB.js → send-BqkPr3tk.js} +10 -10
  195. package/dist/plugin-sdk/{send-_NtbikAq.js → send-CQTQU2QA.js} +10 -10
  196. package/dist/plugin-sdk/{send-OeTV33Hw.js → send-CVgqxLOA.js} +6 -6
  197. package/dist/plugin-sdk/{send-BMFLy4AN.js → send-Czife03a.js} +7 -7
  198. package/dist/plugin-sdk/{session-fs4fyz3Q.js → session-Cj83K_4Y.js} +4 -4
  199. package/dist/plugin-sdk/{skill-commands-BHGE8qj7.js → skill-commands-BLr3yT6A.js} +5 -5
  200. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  201. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  202. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  203. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  204. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  205. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  206. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  207. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  208. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  209. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
  210. package/dist/plugin-sdk/web-C3pizhFX.js +65 -0
  211. package/dist/plugin-sdk/{whatsapp-actions-BYyVUqQU.js → whatsapp-actions-nsnM4jgj.js} +21 -21
  212. package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
  213. package/dist/{plugins-cli-CbYY2c02.js → plugins-cli-EwQ7OW8w.js} +2 -2
  214. package/dist/{plugins-cli-DZ6_6_9N.js → plugins-cli-XdoAm0EH.js} +71 -71
  215. package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
  216. package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
  217. package/dist/{program-C4255SbF.js → program-BU_8y1Dg.js} +7 -7
  218. package/dist/{program-context-CTjApG6i.js → program-context-wuhwrRCO.js} +39 -39
  219. package/dist/{prompt-select-styled-BwJ6oDuF.js → prompt-select-styled-C1ztGQs1.js} +4 -4
  220. package/dist/{prompt-select-styled-C9kVFhhN.js → prompt-select-styled-D1BkIe_s.js} +38 -38
  221. package/dist/{provider-auth-helpers-BhWko9CW.js → provider-auth-helpers-_5rSLUts.js} +1 -1
  222. package/dist/{provider-auth-helpers-Dh0Y9gRH.js → provider-auth-helpers-tpyE_YMw.js} +5 -5
  223. package/dist/{push-apns-Bc01EVHz.js → push-apns-CIcS3If1.js} +1 -1
  224. package/dist/{push-apns-CKA1Hybl.js → push-apns-zJAWgDEO.js} +4 -4
  225. package/dist/{pw-ai-DQ6HUvz0.js → pw-ai-COyYEUif.js} +1 -1
  226. package/dist/{pw-ai-jDxCE_me.js → pw-ai-hxKJoLPO.js} +7 -7
  227. package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
  228. package/dist/{qr-cli-CqfILKdq.js → qr-cli-BevlQ0yQ.js} +3 -3
  229. package/dist/{register.agent-CjihKrgr.js → register.agent-DNcdFB4H.js} +81 -81
  230. package/dist/{register.agent-vJQWUB2a.js → register.agent-brAf6Dmv.js} +6 -6
  231. package/dist/register.configure-C76yU3JC.js +147 -0
  232. package/dist/{register.configure-CWkzQGtI.js → register.configure-DoJEj5YT.js} +6 -6
  233. package/dist/{register.maintenance-BIw99tAg.js → register.maintenance-CW2OCHRX.js} +8 -8
  234. package/dist/{register.maintenance-DSJfxKOM.js → register.maintenance-DYfYvEU8.js} +84 -84
  235. package/dist/{register.message-DYzHnVIl.js → register.message-CJZ0ZuHF.js} +2 -2
  236. package/dist/{register.message-Clc--Yw5.js → register.message-syMzQfo-.js} +63 -63
  237. package/dist/{register.onboard-BfUOVNll.js → register.onboard-DzZn1ZmN.js} +74 -74
  238. package/dist/{register.onboard-BHtw8kJf.js → register.onboard-dZyRfR6-.js} +4 -4
  239. package/dist/{register.setup-GFxvFYnK.js → register.setup-BbkD_3y3.js} +77 -77
  240. package/dist/{register.setup-DgSaVc_m.js → register.setup-XCPDMOgg.js} +4 -4
  241. package/dist/{register.status-health-sessions-BI-s8t9j.js → register.status-health-sessions-87LTzh7r.js} +3 -3
  242. package/dist/{register.status-health-sessions-D9SHcVWG.js → register.status-health-sessions-CPg2ES9O.js} +75 -75
  243. package/dist/{register.subclis-CY89gBXc.js → register.subclis-Bvb5TNzX.js} +9 -9
  244. package/dist/{replies-F62kkRDY.js → replies-Bqmvo_Kt.js} +1 -1
  245. package/dist/{reply-3UdAtBno.js → reply-D-tI2-6J.js} +131 -140
  246. package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
  247. package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
  248. package/dist/{routes-Byuu6IFb.js → routes-BTqP9I0j.js} +8 -8
  249. package/dist/{rpc-W2LE3Gsn.js → rpc-BWLVOOnl.js} +1 -1
  250. package/dist/{run-main-D1u34xwJ.js → run-main-Bt2x9hbu.js} +14 -14
  251. package/dist/{runner-BjY_9Mjp.js → runner-5jm68DaT.js} +20 -20
  252. package/dist/{runner-Duym_W6W.js → runner-D8jpl5qu.js} +1 -1
  253. package/dist/{sandbox-CZNPhRvt.js → sandbox-CI3HOlhZ.js} +18 -18
  254. package/dist/{sandbox-cli-DGr5ZbkP.js → sandbox-cli-XsQ7ytlP.js} +20 -20
  255. package/dist/{security-cli-sPaHQYwq.js → security-cli-CjP-MfW-.js} +36 -36
  256. package/dist/{send-Bq3a_Wnm.js → send-B6F9anOj.js} +6 -6
  257. package/dist/{send-D-WljKDl.js → send-Bdb6djZT.js} +6 -6
  258. package/dist/{send-BOpWKMA3.js → send-C-yyCp3G.js} +4 -4
  259. package/dist/{send-hUOxOHuS.js → send-CRQMds8q.js} +13 -13
  260. package/dist/{send-C-hO5d22.js → send-DCDHTHlP.js} +6 -6
  261. package/dist/{server-context-BvLdcVwk.js → server-context-XZaMhvsO.js} +5 -5
  262. package/dist/{server-methods-BJCrhJnd.js → server-methods-9BRiIiUB.js} +54 -54
  263. package/dist/{server-methods-D6_yT-Bb.js → server-methods-BaOFruL6.js} +7 -7
  264. package/dist/{server-node-events-CykWrHaN.js → server-node-events-CCOXKW9s.js} +63 -63
  265. package/dist/{server-node-events-tdraRFjy.js → server-node-events-DDEX2ugG.js} +2 -2
  266. package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
  267. package/dist/{session-CkpNcCi1.js → session-pB1anvds.js} +2 -2
  268. package/dist/{sessions-F_WFgwcy.js → sessions-Dg88xE66.js} +13 -13
  269. package/dist/{shared-Dj1vNdZR.js → shared-B811_S8D.js} +3 -3
  270. package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
  271. package/dist/{skill-commands-CWFq0coF.js → skill-commands-D23OFeRU.js} +5 -5
  272. package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
  273. package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
  274. package/dist/{skills-cli-ZvR57mAe.js → skills-cli-Cr0T5ExG.js} +7 -7
  275. package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
  276. package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
  277. package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
  278. package/dist/{status-P2xe2kB8.js → status-B_fSdR2z.js} +3 -3
  279. package/dist/{status-DpNpFHi8.js → status-Bhj6pODg.js} +2 -2
  280. package/dist/{status-bDX6eJeC.js → status-CHtXaQCL.js} +25 -25
  281. package/dist/{status-UTAzB6AW.js → status-DWYUBGDM.js} +1 -1
  282. package/dist/{status.update-FbG5gTPn.js → status.update-6yjKgcLs.js} +3 -3
  283. package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
  284. package/dist/{subagent-registry-DW6V21LB.js → subagent-registry-C-rk8Ynb.js} +2 -11
  285. package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
  286. package/dist/{system-cli-B13bcVd7.js → system-cli-D2Gy1uM8.js} +11 -11
  287. package/dist/{systemd-hints-CLsHKdY5.js → systemd-hints-TBjNlcr6.js} +6 -6
  288. package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
  289. package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
  290. package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
  291. package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
  292. package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
  293. package/dist/{tui-9seSCxc3.js → tui-DdPONk1f.js} +7 -7
  294. package/dist/{tui-cli-DN4upjYg.js → tui-cli-BIUejAgV.js} +28 -28
  295. package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
  296. package/dist/{update-cli-BV-ydVs4.js → update-cli-BLezElt_.js} +8 -8
  297. package/dist/{update-cli-KxZVK_fV.js → update-cli-CCaYK9Sf.js} +94 -94
  298. package/dist/{update-runner-Bk1Dw23-.js → update-runner-Bq1u14RR.js} +1 -1
  299. package/dist/{update-runner-BU1pNjNR.js → update-runner-f9lbrrpe.js} +15 -15
  300. package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
  301. package/dist/web-BJBlI9ZQ.js +109 -0
  302. package/dist/{web-CqNKJLiq.js → web-BzQURzi7.js} +1 -1
  303. package/dist/{web-CH5VMs5G.js → web-CP0DJI7i.js} +1 -1
  304. package/dist/{web-C9daLT-M.js → web-S8BbWMEn.js} +6 -6
  305. package/dist/{webhooks-cli-WXHppPGP.js → webhooks-cli-EjU4sMB6.js} +4 -4
  306. package/dist/{whatsapp-actions-CZxAV_jP.js → whatsapp-actions-CXbFvHGB.js} +15 -15
  307. package/dist/{with-timeout-B4dUX-ZK.js → with-timeout-CB59LniF.js} +1 -1
  308. package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
  309. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  310. package/extensions/bluebubbles/node_modules/.bin/symi +4 -4
  311. package/extensions/bluebubbles/package.json +1 -1
  312. package/extensions/copilot-proxy/node_modules/.bin/symi +4 -4
  313. package/extensions/copilot-proxy/package.json +1 -1
  314. package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
  315. package/extensions/diagnostics-otel/node_modules/.bin/symi +4 -4
  316. package/extensions/diagnostics-otel/package.json +1 -1
  317. package/extensions/discord/node_modules/.bin/symi +4 -4
  318. package/extensions/discord/package.json +1 -1
  319. package/extensions/feishu/node_modules/.bin/symi +4 -4
  320. package/extensions/feishu/package.json +1 -1
  321. package/extensions/google-antigravity-auth/node_modules/.bin/symi +4 -4
  322. package/extensions/google-antigravity-auth/package.json +1 -1
  323. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +4 -4
  324. package/extensions/google-gemini-cli-auth/package.json +1 -1
  325. package/extensions/googlechat/node_modules/.bin/symi +4 -4
  326. package/extensions/googlechat/package.json +2 -2
  327. package/extensions/imessage/node_modules/.bin/symi +4 -4
  328. package/extensions/imessage/package.json +1 -1
  329. package/extensions/irc/node_modules/.bin/symi +4 -4
  330. package/extensions/irc/package.json +1 -1
  331. package/extensions/learning-loop/node_modules/.bin/symi +21 -0
  332. package/extensions/learning-loop/package.json +2 -2
  333. package/extensions/line/node_modules/.bin/symi +4 -4
  334. package/extensions/line/package.json +1 -1
  335. package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
  336. package/extensions/matrix/node_modules/.bin/symi +4 -4
  337. package/extensions/matrix/package.json +1 -1
  338. package/extensions/mattermost/node_modules/.bin/symi +4 -4
  339. package/extensions/mattermost/package.json +1 -1
  340. package/extensions/memory-core/node_modules/.bin/symi +4 -4
  341. package/extensions/memory-core/package.json +2 -2
  342. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
  343. package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
  344. package/extensions/memory-lancedb/node_modules/.bin/symi +4 -4
  345. package/extensions/memory-lancedb/package.json +1 -1
  346. package/extensions/minimax-portal-auth/node_modules/.bin/symi +4 -4
  347. package/extensions/minimax-portal-auth/package.json +1 -1
  348. package/extensions/msteams/node_modules/.bin/symi +4 -4
  349. package/extensions/msteams/package.json +1 -1
  350. package/extensions/nextcloud-talk/node_modules/.bin/symi +4 -4
  351. package/extensions/nextcloud-talk/package.json +1 -1
  352. package/extensions/nostr/node_modules/.bin/symi +4 -4
  353. package/extensions/nostr/node_modules/.bin/tsc +2 -2
  354. package/extensions/nostr/node_modules/.bin/tsserver +2 -2
  355. package/extensions/nostr/package.json +1 -1
  356. package/extensions/signal/node_modules/.bin/symi +4 -4
  357. package/extensions/signal/package.json +1 -1
  358. package/extensions/slack/node_modules/.bin/symi +4 -4
  359. package/extensions/slack/package.json +1 -1
  360. package/extensions/telegram/node_modules/.bin/symi +4 -4
  361. package/extensions/telegram/package.json +1 -1
  362. package/extensions/tlon/node_modules/.bin/symi +4 -4
  363. package/extensions/tlon/package.json +1 -1
  364. package/extensions/twitch/node_modules/.bin/symi +4 -4
  365. package/extensions/twitch/package.json +1 -1
  366. package/extensions/voice-call/node_modules/.bin/symi +4 -4
  367. package/extensions/voice-call/package.json +1 -1
  368. package/extensions/whatsapp/node_modules/.bin/symi +4 -4
  369. package/extensions/whatsapp/package.json +1 -1
  370. package/extensions/zalo/node_modules/.bin/symi +4 -4
  371. package/extensions/zalo/package.json +1 -1
  372. package/extensions/zalouser/node_modules/.bin/symi +4 -4
  373. package/extensions/zalouser/package.json +1 -1
  374. package/package.json +1 -2
  375. package/CHANGELOG.md +0 -2520
  376. package/LICENSE +0 -21
  377. package/dist/control-ui/vendor/highlight.css +0 -96
  378. package/dist/control-ui/vendor/highlight.min.js +0 -1244
  379. package/dist/control-ui/vendor/marked.min.js +0 -69
  380. package/dist/plugin-sdk/web-CxcoX0Wr.js +0 -65
  381. package/dist/register.configure-Bb7LY0Z4.js +0 -147
  382. package/dist/session-dirs-D3qlvucD.js +0 -18
  383. package/dist/web-BCk_WT8d.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-B7KLlkW9.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-Bna6Ea2G.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-hUOxOHuS.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-AVc1QpRD.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-CRQMds8q.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-HatzmzSF.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-BjY_9Mjp.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-CMI-9eRz.js";
26
- import { t as ensureSymiModelsJson } from "./models-config-BBYpnDiI.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-5jm68DaT.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-BCpwZwMs.js";
26
+ import { t as ensureSymiModelsJson } from "./models-config-ClFXUp6F.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-CwBUNbtz.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-CZNPhRvt.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CR4GU_ji.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BvLdcVwk.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-DTf21kBI.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-CI3HOlhZ.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-w5VRy_4h.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-XZaMhvsO.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-F_WFgwcy.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-BOpWKMA3.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-Dg88xE66.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-C-yyCp3G.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-B2O_f8W3.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-DchCrtU_.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-B4dUX-ZK.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-BRZABn2h.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-CB59LniF.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-Dt-RE3Vx.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-D-WljKDl.js";
61
- import { a as buildModelAliasLines, n as resolveModel } from "./model-yOMXet9g.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-BmVxmjsP.js";
64
- import { n as resolveMemorySearchConfig } from "./manager-CMwIsp1s.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-Bdb6djZT.js";
61
+ import { a as buildModelAliasLines, n as resolveModel } from "./model-BqEwE-J2.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-BbOD_MAm.js";
64
+ import { n as resolveMemorySearchConfig } from "./manager-azRNiI63.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-BmO4ALva.js";
72
- import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CIYHP9fS.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DiLX2POZ.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-FQYB6b0c.js";
72
+ import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-Cnoh7nRo.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DAcmbtXf.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-Bq3a_Wnm.js";
80
- import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-GiI_Y6RI.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-B6F9anOj.js";
80
+ import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BCNzdZKM.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-F62kkRDY.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-CWFq0coF.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-Bqmvo_Kt.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-D23OFeRU.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-C-hO5d22.js";
88
- import { r as detectBinary } from "./onboard-helpers-KDMJj8FR.js";
89
- import { t as resolvePairingIdLabel } from "./pairing-labels-BTnwVbGk.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-DCDHTHlP.js";
88
+ import { r as detectBinary } from "./onboard-helpers-y4rvYrnW.js";
89
+ import { t as resolvePairingIdLabel } from "./pairing-labels-DqKysvKw.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-UOvl9TC5.js";
97
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CT6Tc8zz.js";
96
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DzNBR_23.js";
97
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-su7ltHXJ.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";
@@ -2891,7 +2891,7 @@ async function createModelSelectionState(params) {
2891
2891
  }
2892
2892
  }
2893
2893
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
2894
- const { ensureAuthProfileStore } = await import("./model-selection-B7KLlkW9.js").then((n) => n.dt);
2894
+ const { ensureAuthProfileStore } = await import("./model-selection-Bna6Ea2G.js").then((n) => n.dt);
2895
2895
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
2896
2896
  const providerKey = normalizeProviderId(provider);
2897
2897
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -10413,7 +10413,7 @@ async function routeReply(params) {
10413
10413
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10414
10414
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10415
10415
  try {
10416
- const { deliverOutboundPayloads } = await import("./deliver-BRZABn2h.js").then((n) => n.n);
10416
+ const { deliverOutboundPayloads } = await import("./deliver-Dt-RE3Vx.js").then((n) => n.n);
10417
10417
  return {
10418
10418
  ok: true,
10419
10419
  messageId: (await deliverOutboundPayloads({
@@ -12962,8 +12962,8 @@ async function describeStickerImage(params) {
12962
12962
  const { provider, model } = resolved;
12963
12963
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
12964
12964
  try {
12965
- const buffer = await fsPromises.readFile(imagePath);
12966
- const { describeImageWithModel } = await import("./image-CMI-9eRz.js").then((n) => n.n);
12965
+ const buffer = await fs$1.readFile(imagePath);
12966
+ const { describeImageWithModel } = await import("./image-BCpwZwMs.js").then((n) => n.n);
12967
12967
  return (await describeImageWithModel({
12968
12968
  buffer,
12969
12969
  fileName: "sticker.webp",
@@ -13386,7 +13386,7 @@ function createWhatsAppLoginTool() {
13386
13386
  force: Type.Optional(Type.Boolean())
13387
13387
  }),
13388
13388
  execute: async (_toolCallId, args) => {
13389
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DUMFnnHO.js");
13389
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-1SS_KLmy.js");
13390
13390
  if ((args?.action ?? "start") === "wait") {
13391
13391
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13392
13392
  return {
@@ -15602,7 +15602,7 @@ async function preflightDiscordMessage(params) {
15602
15602
  let preflightTranscript;
15603
15603
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15604
15604
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15605
- const { transcribeFirstAudio } = await import("./audio-preflight-79KNH7Tf.js");
15605
+ const { transcribeFirstAudio } = await import("./audio-preflight-CERzpj2b.js");
15606
15606
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15607
15607
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15608
15608
  ctx: {
@@ -21527,18 +21527,18 @@ function appendImagePathsToPrompt(prompt, paths) {
21527
21527
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
21528
21528
  }
21529
21529
  async function writeCliImages(images) {
21530
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21530
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-cli-images-"));
21531
21531
  const paths = [];
21532
21532
  for (let i = 0; i < images.length; i += 1) {
21533
21533
  const image = images[i];
21534
21534
  const ext = resolveImageExtension(image.mimeType);
21535
21535
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
21536
21536
  const buffer = Buffer.from(image.data, "base64");
21537
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
21537
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
21538
21538
  paths.push(filePath);
21539
21539
  }
21540
21540
  const cleanup = async () => {
21541
- await fsPromises.rm(tempDir, {
21541
+ await fs$1.rm(tempDir, {
21542
21542
  recursive: true,
21543
21543
  force: true
21544
21544
  });
@@ -22291,27 +22291,27 @@ async function runWithImageModelFallback(params) {
22291
22291
  function createDefaultDeps() {
22292
22292
  return {
22293
22293
  sendMessageWhatsApp: async (...args) => {
22294
- const { sendMessageWhatsApp } = await import("./web-BCk_WT8d.js");
22294
+ const { sendMessageWhatsApp } = await import("./web-BJBlI9ZQ.js");
22295
22295
  return await sendMessageWhatsApp(...args);
22296
22296
  },
22297
22297
  sendMessageTelegram: async (...args) => {
22298
- const { sendMessageTelegram } = await import("./send-D-WljKDl.js").then((n) => n.l);
22298
+ const { sendMessageTelegram } = await import("./send-Bdb6djZT.js").then((n) => n.l);
22299
22299
  return await sendMessageTelegram(...args);
22300
22300
  },
22301
22301
  sendMessageDiscord: async (...args) => {
22302
- const { sendMessageDiscord } = await import("./send-hUOxOHuS.js").then((n) => n.t);
22302
+ const { sendMessageDiscord } = await import("./send-CRQMds8q.js").then((n) => n.t);
22303
22303
  return await sendMessageDiscord(...args);
22304
22304
  },
22305
22305
  sendMessageSlack: async (...args) => {
22306
- const { sendMessageSlack } = await import("./send-BOpWKMA3.js").then((n) => n.n);
22306
+ const { sendMessageSlack } = await import("./send-C-yyCp3G.js").then((n) => n.n);
22307
22307
  return await sendMessageSlack(...args);
22308
22308
  },
22309
22309
  sendMessageSignal: async (...args) => {
22310
- const { sendMessageSignal } = await import("./send-Bq3a_Wnm.js").then((n) => n.i);
22310
+ const { sendMessageSignal } = await import("./send-B6F9anOj.js").then((n) => n.i);
22311
22311
  return await sendMessageSignal(...args);
22312
22312
  },
22313
22313
  sendMessageIMessage: async (...args) => {
22314
- const { sendMessageIMessage } = await import("./send-C-hO5d22.js").then((n) => n.n);
22314
+ const { sendMessageIMessage } = await import("./send-DCDHTHlP.js").then((n) => n.n);
22315
22315
  return await sendMessageIMessage(...args);
22316
22316
  }
22317
22317
  };
@@ -23468,15 +23468,6 @@ function createOpusDecoder() {
23468
23468
  } catch (err) {
23469
23469
  logger.warn(`discord voice: opusscript init failed: ${formatErrorMessage(err)}`);
23470
23470
  }
23471
- try {
23472
- const { OpusEncoder } = require("@discordjs/opus");
23473
- return {
23474
- decoder: new OpusEncoder(SAMPLE_RATE, CHANNELS),
23475
- name: "@discordjs/opus"
23476
- };
23477
- } catch (err) {
23478
- logger.warn(`discord voice: opus decoder init failed: ${formatErrorMessage(err)}`);
23479
- }
23480
23471
  return null;
23481
23472
  }
23482
23473
  async function decodeOpusStream(stream) {
@@ -23501,10 +23492,10 @@ function estimateDurationSeconds(pcm) {
23501
23492
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
23502
23493
  }
23503
23494
  async function writeWavFile(pcm) {
23504
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23495
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredSymiTmpDir(), "discord-voice-"));
23505
23496
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
23506
23497
  const wav = buildWavBuffer(pcm);
23507
- await fsPromises.writeFile(filePath, wav);
23498
+ await fs$1.writeFile(filePath, wav);
23508
23499
  scheduleTempCleanup(tempDir);
23509
23500
  return {
23510
23501
  path: filePath,
@@ -23513,7 +23504,7 @@ async function writeWavFile(pcm) {
23513
23504
  }
23514
23505
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
23515
23506
  setTimeout(() => {
23516
- fsPromises.rm(tempDir, {
23507
+ fs$1.rm(tempDir, {
23517
23508
  recursive: true,
23518
23509
  force: true
23519
23510
  }).catch((err) => {
@@ -27252,7 +27243,7 @@ function normalizeAllowList$2(list) {
27252
27243
  async function detectRemoteHostFromCliPath(cliPath) {
27253
27244
  try {
27254
27245
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
27255
- const content = await fsPromises.readFile(expanded, "utf8");
27246
+ const content = await fs$1.readFile(expanded, "utf8");
27256
27247
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
27257
27248
  if (userHostMatch) return userHostMatch[1];
27258
27249
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -33467,7 +33458,7 @@ function readSlackExternalArgMenuToken(raw) {
33467
33458
  }
33468
33459
  let commandsRegistry;
33469
33460
  async function getCommandsRegistry() {
33470
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BmO4ALva.js").then((n) => n.n);
33461
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-FQYB6b0c.js").then((n) => n.n);
33471
33462
  return commandsRegistry;
33472
33463
  }
33473
33464
  function encodeSlackCommandArgValue(parts) {
@@ -33809,11 +33800,11 @@ async function registerSlackMonitorSlashCommands(params) {
33809
33800
  const channelName = channelInfo?.name;
33810
33801
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
33811
33802
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
33812
- import("./resolve-route-BcnaXYvh.js").then((n) => n.r),
33803
+ import("./resolve-route-BMoTaVAH.js").then((n) => n.r),
33813
33804
  import("./inbound-context-CmmmT8IP.js").then((n) => n.n),
33814
33805
  Promise.resolve().then(() => provider_dispatcher_exports)
33815
33806
  ]);
33816
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-BLOOs1aW.js").then((n) => n.n)]);
33807
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-CE2YmmsD.js").then((n) => n.n)]);
33817
33808
  const route = resolveAgentRoute({
33818
33809
  cfg,
33819
33810
  channel: "slack",
@@ -33870,9 +33861,9 @@ async function registerSlackMonitorSlashCommands(params) {
33870
33861
  });
33871
33862
  const deliverSlashPayloads = async (replies) => {
33872
33863
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
33873
- import("./replies-F62kkRDY.js").then((n) => n.r),
33864
+ import("./replies-Bqmvo_Kt.js").then((n) => n.r),
33874
33865
  import("./chunk-1dhPX1NK.js").then((n) => n.s),
33875
- import("./markdown-tables-ZwP14ydw.js").then((n) => n.t)
33866
+ import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
33876
33867
  ]);
33877
33868
  await deliverSlackSlashReplies({
33878
33869
  replies,
@@ -33925,7 +33916,7 @@ async function registerSlackMonitorSlashCommands(params) {
33925
33916
  let nativeCommands = [];
33926
33917
  if (nativeEnabled) {
33927
33918
  reg = await getCommandsRegistry();
33928
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CWFq0coF.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
33919
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D23OFeRU.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
33929
33920
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
33930
33921
  skillCommands,
33931
33922
  provider: "slack"
@@ -38694,7 +38685,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
38694
38685
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
38695
38686
  let preflightTranscript;
38696
38687
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
38697
- const { transcribeFirstAudio } = await import("./audio-preflight-79KNH7Tf.js");
38688
+ const { transcribeFirstAudio } = await import("./audio-preflight-CERzpj2b.js");
38698
38689
  preflightTranscript = await transcribeFirstAudio({
38699
38690
  ctx: {
38700
38691
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -40462,7 +40453,7 @@ function safeParseState(raw) {
40462
40453
  async function readTelegramUpdateOffset(params) {
40463
40454
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40464
40455
  try {
40465
- return safeParseState(await fsPromises.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40456
+ return safeParseState(await fs$1.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40466
40457
  } catch (err) {
40467
40458
  if (err.code === "ENOENT") return null;
40468
40459
  return null;
@@ -40471,7 +40462,7 @@ async function readTelegramUpdateOffset(params) {
40471
40462
  async function writeTelegramUpdateOffset(params) {
40472
40463
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40473
40464
  const dir = path.dirname(filePath);
40474
- await fsPromises.mkdir(dir, {
40465
+ await fs$1.mkdir(dir, {
40475
40466
  recursive: true,
40476
40467
  mode: 448
40477
40468
  });
@@ -40480,14 +40471,14 @@ async function writeTelegramUpdateOffset(params) {
40480
40471
  version: STORE_VERSION,
40481
40472
  lastUpdateId: params.updateId
40482
40473
  };
40483
- await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40484
- await fsPromises.chmod(tmp, 384);
40485
- await fsPromises.rename(tmp, filePath);
40474
+ await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40475
+ await fs$1.chmod(tmp, 384);
40476
+ await fs$1.rename(tmp, filePath);
40486
40477
  }
40487
40478
  async function deleteTelegramUpdateOffset(params) {
40488
40479
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40489
40480
  try {
40490
- await fsPromises.unlink(filePath);
40481
+ await fs$1.unlink(filePath);
40491
40482
  } catch (err) {
40492
40483
  if (err.code === "ENOENT") return;
40493
40484
  throw err;
@@ -40848,23 +40839,23 @@ let webLoginQrPromise = null;
40848
40839
  let webChannelPromise = null;
40849
40840
  let whatsappActionsPromise = null;
40850
40841
  function loadWebOutbound() {
40851
- webOutboundPromise ??= import("./outbound-4_NH93LY.js").then((n) => n.t);
40842
+ webOutboundPromise ??= import("./outbound-Bgf3-Xjf.js").then((n) => n.t);
40852
40843
  return webOutboundPromise;
40853
40844
  }
40854
40845
  function loadWebLogin() {
40855
- webLoginPromise ??= import("./login-BbKZ2DjB.js").then((n) => n.n);
40846
+ webLoginPromise ??= import("./login-DPZJ0dn5.js").then((n) => n.n);
40856
40847
  return webLoginPromise;
40857
40848
  }
40858
40849
  function loadWebLoginQr() {
40859
- webLoginQrPromise ??= import("./login-qr-DUMFnnHO.js");
40850
+ webLoginQrPromise ??= import("./login-qr-1SS_KLmy.js");
40860
40851
  return webLoginQrPromise;
40861
40852
  }
40862
40853
  function loadWebChannel() {
40863
- webChannelPromise ??= import("./web-BCk_WT8d.js");
40854
+ webChannelPromise ??= import("./web-BJBlI9ZQ.js");
40864
40855
  return webChannelPromise;
40865
40856
  }
40866
40857
  function loadWhatsAppActions() {
40867
- whatsappActionsPromise ??= import("./whatsapp-actions-CZxAV_jP.js");
40858
+ whatsappActionsPromise ??= import("./whatsapp-actions-CXbFvHGB.js");
40868
40859
  return whatsappActionsPromise;
40869
40860
  }
40870
40861
  function createPluginRuntime() {
@@ -41631,7 +41622,7 @@ function resolvePluginTools(params) {
41631
41622
  //#endregion
41632
41623
  //#region src/agents/apply-patch-update.ts
41633
41624
  async function defaultReadFile(filePath) {
41634
- return fsPromises.readFile(filePath, "utf8");
41625
+ return fs$1.readFile(filePath, "utf8");
41635
41626
  }
41636
41627
  async function applyUpdateHunk(filePath, chunks, options) {
41637
41628
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -41875,10 +41866,10 @@ function resolvePatchFileOps(options) {
41875
41866
  };
41876
41867
  }
41877
41868
  return {
41878
- readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
41879
- writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
41880
- remove: (filePath) => fsPromises.rm(filePath),
41881
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
41869
+ readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
41870
+ writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
41871
+ remove: (filePath) => fs$1.rm(filePath),
41872
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
41882
41873
  };
41883
41874
  }
41884
41875
  async function ensureDir(filePath, ops) {
@@ -42599,7 +42590,7 @@ async function resolveSandboxWorkdir(params) {
42599
42590
  cwd: process.cwd(),
42600
42591
  root: params.sandbox.workspaceDir
42601
42592
  });
42602
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42593
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42603
42594
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
42604
42595
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
42605
42596
  return {
@@ -43580,13 +43571,13 @@ async function validateScriptFileForShellBleed(params) {
43580
43571
  cwd: params.workdir,
43581
43572
  root: params.workdir
43582
43573
  });
43583
- stat = await fsPromises.stat(absPath);
43574
+ stat = await fs$1.stat(absPath);
43584
43575
  } catch {
43585
43576
  return;
43586
43577
  }
43587
43578
  if (!stat.isFile()) return;
43588
43579
  if (stat.size > 512 * 1024) return;
43589
- const content = await fsPromises.readFile(absPath, "utf-8");
43580
+ const content = await fs$1.readFile(absPath, "utf-8");
43590
43581
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
43591
43582
  if (first) {
43592
43583
  const idx = first.index;
@@ -46754,7 +46745,7 @@ async function readJsonlFromPath(jsonlPath) {
46754
46745
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
46755
46746
  throw new Error("jsonlPath outside allowed roots");
46756
46747
  }
46757
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
46748
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
46758
46749
  if (!isInboundPathAllowed({
46759
46750
  filePath: canonical,
46760
46751
  roots
@@ -46762,7 +46753,7 @@ async function readJsonlFromPath(jsonlPath) {
46762
46753
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
46763
46754
  throw new Error("jsonlPath outside allowed roots");
46764
46755
  }
46765
- return await fsPromises.readFile(canonical, "utf8");
46756
+ return await fs$1.readFile(canonical, "utf8");
46766
46757
  }
46767
46758
  const CanvasToolSchema = Type.Object({
46768
46759
  action: stringEnum(CANVAS_ACTIONS),
@@ -47542,27 +47533,27 @@ function resolveRestartSentinelPath(env = process.env) {
47542
47533
  }
47543
47534
  async function writeRestartSentinel(payload, env = process.env) {
47544
47535
  const filePath = resolveRestartSentinelPath(env);
47545
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
47536
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
47546
47537
  const data = {
47547
47538
  version: 1,
47548
47539
  payload
47549
47540
  };
47550
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47541
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
47551
47542
  return filePath;
47552
47543
  }
47553
47544
  async function readRestartSentinel(env = process.env) {
47554
47545
  const filePath = resolveRestartSentinelPath(env);
47555
47546
  try {
47556
- const raw = await fsPromises.readFile(filePath, "utf-8");
47547
+ const raw = await fs$1.readFile(filePath, "utf-8");
47557
47548
  let parsed;
47558
47549
  try {
47559
47550
  parsed = JSON.parse(raw);
47560
47551
  } catch {
47561
- await fsPromises.unlink(filePath).catch(() => {});
47552
+ await fs$1.unlink(filePath).catch(() => {});
47562
47553
  return null;
47563
47554
  }
47564
47555
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
47565
- await fsPromises.unlink(filePath).catch(() => {});
47556
+ await fs$1.unlink(filePath).catch(() => {});
47566
47557
  return null;
47567
47558
  }
47568
47559
  return parsed;
@@ -47574,7 +47565,7 @@ async function consumeRestartSentinel(env = process.env) {
47574
47565
  const filePath = resolveRestartSentinelPath(env);
47575
47566
  const parsed = await readRestartSentinel(env);
47576
47567
  if (!parsed) return null;
47577
- await fsPromises.unlink(filePath).catch(() => {});
47568
+ await fs$1.unlink(filePath).catch(() => {});
47578
47569
  return parsed;
47579
47570
  }
47580
47571
  function formatRestartSentinelMessage(payload) {
@@ -48681,7 +48672,7 @@ async function hydrateAttachmentPayload(params) {
48681
48672
  accountId: params.accountId
48682
48673
  }),
48683
48674
  sandboxValidated: true,
48684
- readFile: (filePath) => fsPromises.readFile(filePath)
48675
+ readFile: (filePath) => fs$1.readFile(filePath)
48685
48676
  });
48686
48677
  params.args.buffer = media.buffer.toString("base64");
48687
48678
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -56134,7 +56125,7 @@ async function repairSessionFileIfNeeded(params) {
56134
56125
  };
56135
56126
  let content;
56136
56127
  try {
56137
- content = await fsPromises.readFile(sessionFile, "utf-8");
56128
+ content = await fs$1.readFile(sessionFile, "utf-8");
56138
56129
  } catch (err) {
56139
56130
  if (err?.code === "ENOENT") return {
56140
56131
  repaired: false,
@@ -56182,15 +56173,15 @@ async function repairSessionFileIfNeeded(params) {
56182
56173
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
56183
56174
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
56184
56175
  try {
56185
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
56186
- await fsPromises.writeFile(backupPath, content, "utf-8");
56187
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
56188
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
56189
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
56190
- await fsPromises.rename(tmpPath, sessionFile);
56176
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
56177
+ await fs$1.writeFile(backupPath, content, "utf-8");
56178
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
56179
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
56180
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
56181
+ await fs$1.rename(tmpPath, sessionFile);
56191
56182
  } catch (err) {
56192
56183
  try {
56193
- await fsPromises.unlink(tmpPath);
56184
+ await fs$1.unlink(tmpPath);
56194
56185
  } catch (cleanupErr) {
56195
56186
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
56196
56187
  }
@@ -58284,7 +58275,7 @@ async function prewarmSessionFile(sessionFile) {
58284
58275
  if (!isSessionManagerCacheEnabled()) return;
58285
58276
  if (isSessionManagerCached(sessionFile)) return;
58286
58277
  try {
58287
- const handle = await fsPromises.open(sessionFile, "r");
58278
+ const handle = await fs$1.open(sessionFile, "r");
58288
58279
  try {
58289
58280
  const buffer = Buffer$1.alloc(4096);
58290
58281
  await handle.read(buffer, 0, buffer.length, 0);
@@ -58608,7 +58599,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58608
58599
  } catch (err) {
58609
58600
  return fail(describeUnknownError(err));
58610
58601
  }
58611
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
58602
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
58612
58603
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
58613
58604
  const sandbox = await resolveSandboxContext({
58614
58605
  config: params.config,
@@ -58616,7 +58607,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58616
58607
  workspaceDir: resolvedWorkspace
58617
58608
  });
58618
58609
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
58619
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
58610
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
58620
58611
  await ensureSessionHeader({
58621
58612
  sessionFile: params.sessionFile,
58622
58613
  sessionId: params.sessionId,
@@ -59180,12 +59171,12 @@ function getQueuedFileWriter(writers, filePath) {
59180
59171
  const existing = writers.get(filePath);
59181
59172
  if (existing) return existing;
59182
59173
  const dir = path.dirname(filePath);
59183
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
59174
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
59184
59175
  let queue = Promise.resolve();
59185
59176
  const writer = {
59186
59177
  filePath,
59187
59178
  write: (line) => {
59188
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
59179
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
59189
59180
  }
59190
59181
  };
59191
59182
  writers.set(filePath, writer);
@@ -61405,7 +61396,7 @@ async function prepareSessionManagerForRun(params) {
61405
61396
  return;
61406
61397
  }
61407
61398
  if (params.hadSessionFile && header && !hasAssistant) {
61408
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
61399
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
61409
61400
  sm.fileEntries = [header];
61410
61401
  sm.byId?.clear?.();
61411
61402
  sm.labelsById?.clear?.();
@@ -61963,7 +61954,7 @@ async function runEmbeddedAttempt(params) {
61963
61954
  const prevCwd = process.cwd();
61964
61955
  const runAbortController = new AbortController();
61965
61956
  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"}`);
61966
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
61957
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
61967
61958
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
61968
61959
  const sandbox = await resolveSandboxContext({
61969
61960
  config: params.config,
@@ -61971,7 +61962,7 @@ async function runEmbeddedAttempt(params) {
61971
61962
  workspaceDir: resolvedWorkspace
61972
61963
  });
61973
61964
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
61974
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
61965
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
61975
61966
  let restoreSkillEnv;
61976
61967
  process.chdir(effectiveWorkspace);
61977
61968
  try {
@@ -62198,7 +62189,7 @@ async function runEmbeddedAttempt(params) {
62198
62189
  sessionFile: params.sessionFile,
62199
62190
  warn: (message) => log$2.warn(message)
62200
62191
  });
62201
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
62192
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
62202
62193
  const transcriptPolicy = resolveTranscriptPolicy({
62203
62194
  modelApi: params.model?.api,
62204
62195
  provider: params.provider,
@@ -63132,7 +63123,7 @@ async function runEmbeddedPiAgent(params) {
63132
63123
  }
63133
63124
  runLoopIterations += 1;
63134
63125
  attemptedThinking.add(thinkLevel);
63135
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
63126
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
63136
63127
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
63137
63128
  const attempt = await runEmbeddedAttempt({
63138
63129
  sessionId: params.sessionId,
@@ -67363,7 +67354,7 @@ async function handleCommands(params) {
67363
67354
  try {
67364
67355
  const messages = [];
67365
67356
  if (sessionFile) {
67366
- const content = await fsPromises.readFile(sessionFile, "utf-8");
67357
+ const content = await fs$1.readFile(sessionFile, "utf-8");
67367
67358
  for (const line of content.split("\n")) {
67368
67359
  if (!line.trim()) continue;
67369
67360
  try {
@@ -71003,7 +70994,7 @@ async function deliverSessionMaintenanceWarning(params) {
71003
70994
  return;
71004
70995
  }
71005
70996
  try {
71006
- const { deliverOutboundPayloads } = await import("./deliver-BRZABn2h.js").then((n) => n.n);
70997
+ const { deliverOutboundPayloads } = await import("./deliver-Dt-RE3Vx.js").then((n) => n.n);
71007
70998
  await deliverOutboundPayloads({
71008
70999
  cfg: params.cfg,
71009
71000
  channel,
@@ -71378,7 +71369,7 @@ async function stageSandboxMedia(params) {
71378
71369
  };
71379
71370
  try {
71380
71371
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
71381
- await fsPromises.mkdir(destDir, { recursive: true });
71372
+ await fs$1.mkdir(destDir, { recursive: true });
71382
71373
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
71383
71374
  cfg,
71384
71375
  accountId: ctx.AccountId
@@ -71428,7 +71419,7 @@ async function stageSandboxMedia(params) {
71428
71419
  usedNames.add(fileName);
71429
71420
  const dest = path.join(destDir, fileName);
71430
71421
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
71431
- else await fsPromises.copyFile(source, dest);
71422
+ else await fs$1.copyFile(source, dest);
71432
71423
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
71433
71424
  staged.set(source, stagedPath);
71434
71425
  }