@symerian/symi 2.7.7 → 2.7.9

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 (410) hide show
  1. package/dist/{acp-cli-DLsBwWlS.js → acp-cli-DwKj-AqM.js} +3 -3
  2. package/dist/{acp-cli-CeN5gs7J.js → acp-cli-lkOF8AeX.js} +3 -3
  3. package/dist/{agents-CCeOMXJF.js → agents-Qr0BDw_h.js} +7 -7
  4. package/dist/{agents.config-AdyGWyGd.js → agents.config-D0ih9tP3.js} +1 -1
  5. package/dist/{agents.config-B8-mSnnL.js → agents.config-DIjsIDbS.js} +1 -1
  6. package/dist/{audio-preflight-BUoEMkmr.js → audio-preflight-D0nJ1LEt.js} +7 -7
  7. package/dist/{audio-preflight-3Wa38hZz.js → audio-preflight-DJXj9QP9.js} +13 -13
  8. package/dist/{audio-preflight-Bsa1_iU3.js → audio-preflight-D_g9Duqw.js} +7 -7
  9. package/dist/{audio-preflight-C45lDI-t.js → audio-preflight-DfALITTK.js} +13 -13
  10. package/dist/{audit-DD5qcj2W.js → audit-DVUHZrf4.js} +7 -7
  11. package/dist/{audit-G3JpLuYZ.js → audit-DgAM_dWL.js} +7 -7
  12. package/dist/{auth-choice-B97lJuV1.js → auth-choice-DhI8MW-5.js} +4 -4
  13. package/dist/{auth-choice-BkF4yNXk.js → auth-choice-PdYn-qiM.js} +4 -4
  14. package/dist/{banner-kmyj39fQ.js → banner-BQhYK_Ag.js} +1 -1
  15. package/dist/{browser-cli-LlkXk8qz.js → browser-cli-CQKRSqbb.js} +4 -4
  16. package/dist/{browser-cli-DPAw_dFl.js → browser-cli-ClxJjz9C.js} +4 -4
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +16 -16
  19. package/dist/bundled/session-memory/handler.js +16 -16
  20. package/dist/{call-ple9aZCT.js → call-BrRWr7Lj.js} +2 -1
  21. package/dist/{call-CtiVeyeQ.js → call-CVqBgwrx.js} +2 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{catalog-NQ4pj9RI.js → catalog-DX1l43Ru.js} +1 -1
  24. package/dist/{catalog-DLQFKucJ.js → catalog-buoA8ik4.js} +1 -1
  25. package/dist/{channel-options-7M72jx9S.js → channel-options-CFwo8sFR.js} +2 -2
  26. package/dist/{channel-options-CWyYAyJ8.js → channel-options-ZHpChVVk.js} +2 -2
  27. package/dist/{channel-web-DNYIZGo5.js → channel-web-UmRhDGhI.js} +7 -7
  28. package/dist/{channels-cli-BbbQhLVm.js → channels-cli-CRDgQtex.js} +34 -34
  29. package/dist/{channels-cli-CIApZn8b.js → channels-cli-rzQvsXSw.js} +35 -35
  30. package/dist/{chrome-CDPH3KAn.js → chrome-BJvuH-NZ.js} +1 -1
  31. package/dist/{chrome-Cs57nwfJ.js → chrome-BUT--ob3.js} +1 -1
  32. package/dist/{chrome-PSMCM7XH.js → chrome-C08Z0XAa.js} +1 -1
  33. package/dist/{chrome-CWdu8vA2.js → chrome-D2ohnA09.js} +1 -1
  34. package/dist/cli/daemon-cli.js +1 -1
  35. package/dist/{cli-BdYpv3II.js → cli-CC9jaj6w.js} +28 -28
  36. package/dist/{cli-Chwue7dC.js → cli-DN6fX0Xu.js} +29 -29
  37. package/dist/{command-registry-X9-mDiVG.js → command-registry-qqb2gJ4P.js} +11 -11
  38. package/dist/{completion-cli-CKRgTAVA.js → completion-cli-BX_yaiom.js} +1 -1
  39. package/dist/{completion-cli-C6CUvtmX.js → completion-cli-g-Vdnude.js} +2 -2
  40. package/dist/{config-1z3NlJzC.js → config-BAVNLbja.js} +1 -1
  41. package/dist/{config-CnQmFG2h.js → config-BkZ9HOKT.js} +1 -1
  42. package/dist/{config-XZ7orePK.js → config-DXt3pc08.js} +1 -1
  43. package/dist/{config-Cz_ObCzY.js → config-PXAJCHa5.js} +1 -1
  44. package/dist/{config-cli-CsqLGGPo.js → config-cli-CnFTSv-1.js} +3 -3
  45. package/dist/{config-cli-mWb-8dem.js → config-cli-CsCvDCZV.js} +3 -3
  46. package/dist/{config-guard-C7V44mcM.js → config-guard-CJ4iAPK5.js} +2 -2
  47. package/dist/{config-guard-NmACsPTr.js → config-guard-DsOhmFl6.js} +6 -6
  48. package/dist/{config-validation-Cp9cMMJA.js → config-validation-BvAfeukQ.js} +1 -1
  49. package/dist/{config-validation-DpNRQ6U4.js → config-validation-CY8IJG3b.js} +1 -1
  50. package/dist/{configure-C-0GLJbj.js → configure-BYd07Mo5.js} +10 -10
  51. package/dist/{configure-cN-Og45p.js → configure-CAuW3YmR.js} +10 -10
  52. package/dist/{control-service-CSbQSkSn.js → control-service-Ce4HMDRY.js} +4 -4
  53. package/dist/{control-service-Cqck1Zry.js → control-service-D0IdaeI8.js} +4 -4
  54. package/dist/control-ui/css/style.css +213 -6
  55. package/dist/control-ui/index.html +24 -2
  56. package/dist/control-ui/js/connections.js +193 -40
  57. package/dist/{cron-cli-CnWIltKL.js → cron-cli--z6DSGhk.js} +4 -4
  58. package/dist/{cron-cli-DLn4ynWB.js → cron-cli-DZJZ_EvY.js} +4 -4
  59. package/dist/{daemon-cli-DGXcyiDn.js → daemon-cli-B9yneKpO.js} +6 -6
  60. package/dist/{daemon-cli-BUO3va5K.js → daemon-cli-bwFAShzf.js} +6 -6
  61. package/dist/daemon-cli.js +3 -1
  62. package/dist/{daemon-runtime-BetFDUaM.js → daemon-runtime-BT1zC2PU.js} +1 -1
  63. package/dist/{daemon-runtime-CbbrW5g3.js → daemon-runtime-BV78EN62.js} +1 -1
  64. package/dist/{deliver-BLNOhQLM.js → deliver-B36OzmeP.js} +2 -2
  65. package/dist/{deliver-DFAium1x.js → deliver-BLt_liXS.js} +3 -3
  66. package/dist/{deliver-DGSxISab.js → deliver-CLZGlRZt.js} +2 -2
  67. package/dist/{deliver-Co2XquFO.js → deliver-lG9ITE8w.js} +3 -3
  68. package/dist/{devices-cli-BvMSzdXp.js → devices-cli-fVRpoa9z.js} +3 -3
  69. package/dist/{devices-cli-CCyr0lUw.js → devices-cli-oqibXYae.js} +3 -3
  70. package/dist/{directory-cli-JgFtCkve.js → directory-cli-CQ5O6Z5j.js} +2 -2
  71. package/dist/{directory-cli-CtA0O-ho.js → directory-cli-Ca5P3Bdg.js} +2 -2
  72. package/dist/{dns-cli-ClxFzTrN.js → dns-cli-7lxNoNVz.js} +2 -2
  73. package/dist/{dns-cli-XEIAfGBW.js → dns-cli-HQ5yjLoE.js} +2 -2
  74. package/dist/{docs-cli-BB4yLXGO.js → docs-cli-BOa4OKW4.js} +2 -2
  75. package/dist/{docs-cli-qE-blOLC.js → docs-cli-Dol0VaNr.js} +2 -2
  76. package/dist/{doctor-completion-9YerM5WQ.js → doctor-completion-Cqce5h2X.js} +1 -1
  77. package/dist/{doctor-completion-CctxaDOf.js → doctor-completion-Dqfl4aR1.js} +1 -1
  78. package/dist/{doctor-config-flow-C7EIHqIm.js → doctor-config-flow-C81j0-sE.js} +3 -3
  79. package/dist/{doctor-config-flow-COCO8sJB.js → doctor-config-flow-CN8seKLA.js} +3 -3
  80. package/dist/entry.js +1 -1
  81. package/dist/{exec-approvals-cli-SLQmCzAk.js → exec-approvals-cli-BpOqYXNL.js} +5 -5
  82. package/dist/{exec-approvals-cli-Be49SVlp.js → exec-approvals-cli-DjGZKQbZ.js} +5 -5
  83. package/dist/extensionAPI.js +16 -16
  84. package/dist/{gateway-cli-DFwW91fW.js → gateway-cli-BUqL_Yh6.js} +49 -48
  85. package/dist/{gateway-cli-EspQMxcD.js → gateway-cli-DA1fRZ5w.js} +50 -49
  86. package/dist/{gateway-rpc-D1Oid7kh.js → gateway-rpc-Bp0KNJtL.js} +1 -1
  87. package/dist/{gateway-rpc-BPldxGhH.js → gateway-rpc-XT8cFwtz.js} +1 -1
  88. package/dist/{glass-ui-ws-C9slRAdq.js → glass-ui-ws-BzBtCYP7.js} +39 -39
  89. package/dist/{glass-ui-ws-BCAruY1k.js → glass-ui-ws-Cm-WtdFI.js} +40 -40
  90. package/dist/{health-CUAawozd.js → health-Bx8UUqFA.js} +5 -5
  91. package/dist/{health-uSVTJefC.js → health-C7HtwYDj.js} +5 -5
  92. package/dist/{hooks-cli-NOol1x2D.js → hooks-cli-5G9JN39f.js} +29 -29
  93. package/dist/{hooks-cli-1hn9EEhc.js → hooks-cli-DtVT3wM_.js} +30 -30
  94. package/dist/{image-9tqGkUqf.js → image-BHhzdmbq.js} +2 -2
  95. package/dist/{image-Dopj30W7.js → image-BnO8X_hj.js} +2 -2
  96. package/dist/{image-DFxGwWA7.js → image-DXco5IYt.js} +2 -2
  97. package/dist/{image-Bd9ilPV9.js → image-D_qN_IxA.js} +2 -2
  98. package/dist/index.js +38 -38
  99. package/dist/{lifecycle-core-AeKXuI87.js → lifecycle-core-B9EgW7Tg.js} +2 -2
  100. package/dist/{lifecycle-core-Dpd8ty8k.js → lifecycle-core-JD8GNX_f.js} +2 -2
  101. package/dist/llm-slug-generator.js +16 -16
  102. package/dist/{login-CQTjtlgX.js → login-BgJLYdBR.js} +2 -2
  103. package/dist/{login-CPDAMiNc.js → login-CksRbu5D.js} +2 -2
  104. package/dist/{login-BKjGtdQb.js → login-DiorUpLk.js} +2 -2
  105. package/dist/{login-qr-BnV3nWaD.js → login-qr-B0SnFKfa.js} +3 -3
  106. package/dist/{login-qr-4Pmnupol.js → login-qr-BkwojQSe.js} +3 -3
  107. package/dist/{login-qr-Ca_QjL8s.js → login-qr-COIr6FGZ.js} +3 -3
  108. package/dist/{login-qr-BkqlPQja.js → login-qr-De_4jYaF.js} +3 -3
  109. package/dist/{login-KF21s52V.js → login-tgA4RM8O.js} +2 -2
  110. package/dist/{logs-cli-wAogU3fl.js → logs-cli-gU7p7zX0.js} +4 -4
  111. package/dist/{logs-cli-BLyCHsIE.js → logs-cli-tJPD_Dps.js} +4 -4
  112. package/dist/{manifest-registry-C4BxOMWX.js → manifest-registry-BDSRH8nU.js} +2 -1
  113. package/dist/{manifest-registry-yb7sAlu4.js → manifest-registry-CBCGTsIb.js} +2 -1
  114. package/dist/{manifest-registry-Czr39pxG.js → manifest-registry-D5bnO5uA.js} +2 -1
  115. package/dist/{manifest-registry-D-mTF1cj.js → manifest-registry-DWdYdchb.js} +2 -1
  116. package/dist/{memory-cli-MMLg1Ccf.js → memory-cli-AoMrHA5O.js} +1 -1
  117. package/dist/{memory-cli-CY3CHJS9.js → memory-cli-Bf2sefbp.js} +1 -1
  118. package/dist/{model-catalog-BkurhUo7.js → model-catalog-DKGSg6jF.js} +2 -2
  119. package/dist/{model-catalog-Bkny3qg9.js → model-catalog-Dex2EDUJ.js} +2 -2
  120. package/dist/{model-picker-CkXMb7R4.js → model-picker-D-n-rWyt.js} +2 -2
  121. package/dist/{model-picker-Bl_c2WTt.js → model-picker-RQfDGgfM.js} +2 -2
  122. package/dist/{models-CYqsDjad.js → models-DQthIpnz.js} +8 -8
  123. package/dist/{models-cli-CmU3OOJG.js → models-cli-D8zc0jSg.js} +32 -32
  124. package/dist/{models-cli-mOTgaVlj.js → models-cli-UaHeUaJq.js} +31 -31
  125. package/dist/{models-config-C7LKdahT.js → models-config-B91ShhoT.js} +1 -1
  126. package/dist/{models-config-CPAA0Wkr.js → models-config-J1x_DaPn.js} +1 -1
  127. package/dist/{node-cli-BJ1yRo3F.js → node-cli-jdFJpJym.js} +10 -10
  128. package/dist/{node-cli-dsjkpZpf.js → node-cli-jnHMAtfE.js} +10 -10
  129. package/dist/{nodes-cli-BxLO-rv5.js → nodes-cli-6vHqlpLI.js} +4 -4
  130. package/dist/{nodes-cli-D1Fz0Q2m.js → nodes-cli-DxHMNlWq.js} +4 -4
  131. package/dist/{onboard-Cf49_nCM.js → onboard-C1GtzpAc.js} +7 -7
  132. package/dist/{onboard-channels-CrQDcwVv.js → onboard-channels-CUUTFx1F.js} +3 -3
  133. package/dist/{onboard-channels-CIP2VRJ-.js → onboard-channels-HyGv2y5c.js} +3 -3
  134. package/dist/{onboard-custom-BVNvbjaX.js → onboard-custom-B1paBymW.js} +2 -2
  135. package/dist/{onboard-custom-MKL2uerp.js → onboard-custom-B3CBlZe5.js} +2 -2
  136. package/dist/{onboard-helpers-09M-gWu4.js → onboard-helpers-7H_XiJt-.js} +2 -2
  137. package/dist/{onboard-helpers-B1El5sBR.js → onboard-helpers-CPSKXD5k.js} +2 -2
  138. package/dist/{onboard-remote-DD3wt16B.js → onboard-remote-BlCdyTsP.js} +1 -1
  139. package/dist/{onboard-remote-C9Ftkn3-.js → onboard-remote-DFavRxQ6.js} +1 -1
  140. package/dist/{onboard-skills-kU_Yop1T.js → onboard-skills-CssuFDjw.js} +3 -3
  141. package/dist/{onboard-skills-dmWPtzui.js → onboard-skills-DVtfVPsB.js} +3 -3
  142. package/dist/{onboard-TK9M_DAs.js → onboard-sl1Xputw.js} +7 -7
  143. package/dist/{onboarding-BQUTtbxF.js → onboarding-B4qg0ZYp.js} +10 -10
  144. package/dist/{onboarding-CfG_bJab.js → onboarding-C89rTOOy.js} +10 -10
  145. package/dist/{onboarding.finalize-Dv8-c9UZ.js → onboarding.finalize-CGk4vov2.js} +36 -36
  146. package/dist/{onboarding.finalize-DycOefUd.js → onboarding.finalize-ClJ1HBVt.js} +34 -34
  147. package/dist/{onboarding.gateway-config-LqxG8IjE.js → onboarding.gateway-config-TM8ERKyn.js} +5 -5
  148. package/dist/{onboarding.gateway-config-dLlNI0HQ.js → onboarding.gateway-config-vGTQDqA6.js} +5 -5
  149. package/dist/{outbound-DHoZh3-b.js → outbound-CX-uuDet.js} +1 -1
  150. package/dist/{outbound-BdTCdEPw.js → outbound-Ct6vGE68.js} +1 -1
  151. package/dist/{outbound-neBb4qTL.js → outbound-D6GeeR8F.js} +1 -1
  152. package/dist/{outbound-BfHd69Dr.js → outbound-XakUc977.js} +1 -1
  153. package/dist/{pairing-cli-DOtEC7pl.js → pairing-cli-C8KSZlA7.js} +2 -2
  154. package/dist/{pairing-cli-CG57JnkE.js → pairing-cli-DmISXPhp.js} +2 -2
  155. package/dist/{pi-embedded-lpIsgmb9.js → pi-embedded-BaNpG0Aq.js} +60 -36
  156. package/dist/{pi-embedded-helpers-Bhi5wJBG.js → pi-embedded-helpers-BET359cH.js} +6 -6
  157. package/dist/{pi-embedded-helpers-DaWb-3Gv.js → pi-embedded-helpers-DSscUmkR.js} +1 -1
  158. package/dist/{pi-embedded-helpers-CU7jP5wD.js → pi-embedded-helpers-DcN8GHTt.js} +6 -6
  159. package/dist/{pi-embedded-helpers-BqeG6ogg.js → pi-embedded-helpers-DpOccVre.js} +1 -1
  160. package/dist/{pi-tools.policy-DN0wUEFa.js → pi-tools.policy-BpN-v9bT.js} +2 -2
  161. package/dist/{pi-tools.policy-jD4uEUBo.js → pi-tools.policy-DOVQ8dDx.js} +2 -2
  162. package/dist/{plugin-auto-enable-Dcki5Acl.js → plugin-auto-enable-BsGorrCZ.js} +1 -1
  163. package/dist/{plugin-auto-enable-hvfjAaew.js → plugin-auto-enable-BvmQklg-.js} +1 -1
  164. package/dist/{plugin-registry-BtHWHT4p.js → plugin-registry-7MeuYUTG.js} +2 -2
  165. package/dist/{plugin-registry-1jm5tMNl.js → plugin-registry-Dx8MaVaX.js} +2 -2
  166. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  167. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  168. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  169. package/dist/plugin-sdk/{active-listener-BgwYQkdI.js → active-listener-BRYwA2Ic.js} +1 -1
  170. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  171. package/dist/plugin-sdk/agents/pi-embedded-runner/email-capability-prompt.d.ts +11 -0
  172. package/dist/plugin-sdk/{api-key-rotation-DGJZ8SVa.js → api-key-rotation-CBsLb_4V.js} +1 -1
  173. package/dist/plugin-sdk/{audio-preflight-BG_wJSnx.js → audio-preflight-B-Laxbmb.js} +24 -24
  174. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  175. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  176. package/dist/plugin-sdk/{channel-web-D8iVDOP9.js → channel-web-C6_r-2VI.js} +22 -22
  177. package/dist/plugin-sdk/{chrome-D5HOVhVd.js → chrome-D9kN9org.js} +3 -3
  178. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  179. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  180. package/dist/plugin-sdk/{commands-registry-Be2qTyJK.js → commands-registry-By2smfUF.js} +4 -4
  181. package/dist/plugin-sdk/{config-B0RNG4KH.js → config-BzupW6LN.js} +9 -9
  182. package/dist/plugin-sdk/{deliver-BgipoVt6.js → deliver-CNuL0O4P.js} +10 -10
  183. package/dist/plugin-sdk/{diagnostic-W5975qL9.js → diagnostic-EyuCSUXO.js} +1 -1
  184. package/dist/plugin-sdk/{image-F536ZrNo.js → image-BmU8yYnz.js} +4 -4
  185. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  186. package/dist/plugin-sdk/index.js +54 -54
  187. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  188. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  189. package/dist/plugin-sdk/{login-zRvF566v.js → login-eqtXmx21.js} +7 -7
  190. package/dist/plugin-sdk/{login-qr-DnVmgDSL.js → login-qr-Cbt9KlK3.js} +9 -9
  191. package/dist/plugin-sdk/{manager-UQQc8UDq.js → manager-Dc9yVyTt.js} +8 -8
  192. package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-hy3Bn-r9.js} +3 -2
  193. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  194. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  195. package/dist/plugin-sdk/{model-selection-Bbs4XGPG.js → model-selection-CtVwtb6y.js} +4 -4
  196. package/dist/plugin-sdk/{outbound-ComvEv1j.js → outbound-ZcDVYNoy.js} +7 -7
  197. package/dist/plugin-sdk/{outbound-attachment-CqhMcNuS.js → outbound-attachment-DJ3CI92h.js} +2 -2
  198. package/dist/plugin-sdk/{pi-auth-json-B_aZna6j.js → pi-auth-json-r2U9wDoc.js} +1 -1
  199. package/dist/plugin-sdk/{pi-embedded-helpers-C-iQL8fR.js → pi-embedded-helpers-BCNFLt_H.js} +17 -17
  200. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  201. package/dist/plugin-sdk/{pw-ai-oafsM7Z6.js → pw-ai-B3jHOSti.js} +8 -8
  202. package/dist/plugin-sdk/{qmd-manager-BZvD_Hd3.js → qmd-manager-C6GM0Qik.js} +4 -4
  203. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  204. package/dist/plugin-sdk/{replies-Df8hdWHU.js → replies-DkGqfiO4.js} +3 -3
  205. package/dist/plugin-sdk/{reply-BSU5u23A.js → reply-CIDYJYie.js} +105 -81
  206. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  207. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  208. package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
  209. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  210. package/dist/plugin-sdk/{runner-BlEQTSlO.js → runner-WzrwRCvL.js} +9 -9
  211. package/dist/plugin-sdk/{send-DjUL-5e8.js → send-7NqCWP0r.js} +7 -7
  212. package/dist/plugin-sdk/{send-NmhuhIk0.js → send-BGE1fXlm.js} +6 -6
  213. package/dist/plugin-sdk/{send-DSaRu7CO.js → send-BP5pSPaZ.js} +6 -6
  214. package/dist/plugin-sdk/{send-BGYE1Ojf.js → send-FFUmNt0K.js} +10 -10
  215. package/dist/plugin-sdk/{send-4CJD3HN9.js → send-ZhAe1nXO.js} +10 -10
  216. package/dist/plugin-sdk/{session-CrxOeAtT.js → session-8vfTL_H6.js} +4 -4
  217. package/dist/plugin-sdk/{skill-commands-DSDv-F1f.js → skill-commands-DF3ouLEu.js} +5 -5
  218. package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-C9DbB-Kp.js} +7 -7
  219. package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
  220. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  221. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  222. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  223. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  224. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  225. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  226. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  227. package/dist/plugin-sdk/{tool-loop-detection-Dthxc7SC.js → tool-loop-detection-BAUvBvAO.js} +2 -2
  228. package/dist/plugin-sdk/web-CHKraWl6.js +66 -0
  229. package/dist/plugin-sdk/{whatsapp-actions-C_Yw2LhH.js → whatsapp-actions-0DfquiaD.js} +21 -21
  230. package/dist/{plugins-cli-uIEn-Rls.js → plugins-cli-bblxpPhT.js} +31 -31
  231. package/dist/{plugins-cli-DZAESODm.js → plugins-cli-oatWFlGr.js} +30 -30
  232. package/dist/{program-BDFBNGBK.js → program-B4MbPh6k.js} +37 -37
  233. package/dist/{program-context-CIIYbXwz.js → program-context-BfdA1JM9.js} +39 -39
  234. package/dist/{prompt-select-styled-Drqp3Q79.js → prompt-select-styled-DNhjvdZL.js} +15 -15
  235. package/dist/{prompt-select-styled-C5haNrfL.js → prompt-select-styled-bMJTZkj7.js} +15 -15
  236. package/dist/{provider-auth-helpers-rSnpzVFU.js → provider-auth-helpers-CezJXPrZ.js} +2 -2
  237. package/dist/{provider-auth-helpers-C90hxnuP.js → provider-auth-helpers-D9BOiQMP.js} +2 -2
  238. package/dist/{push-apns-DhAfcmF5.js → push-apns-CL2MBhWP.js} +1 -1
  239. package/dist/{push-apns-ze6w0evQ.js → push-apns-DUWtWoB-.js} +1 -1
  240. package/dist/{pw-ai-ePWNGOSp.js → pw-ai-B476LzSK.js} +3 -3
  241. package/dist/{pw-ai-seGb-ko0.js → pw-ai-DE8wmtet.js} +3 -3
  242. package/dist/{pw-ai-BeOKbmWW.js → pw-ai-Df3SCnGC.js} +3 -3
  243. package/dist/{pw-ai-P5lOraHd.js → pw-ai-VRkM0Qt0.js} +3 -3
  244. package/dist/{qr-cli-BIl334kM.js → qr-cli-Bgejiz98.js} +2 -2
  245. package/dist/{qr-cli-CGO65wLz.js → qr-cli-D_7jTOhP.js} +2 -2
  246. package/dist/{register.agent-Bpm5Fh13.js → register.agent-B-v1ixge.js} +39 -39
  247. package/dist/{register.agent-BirwyJVS.js → register.agent-Dms0oymW.js} +37 -37
  248. package/dist/{register.configure-BQet1kco.js → register.configure-CVct6y53.js} +44 -44
  249. package/dist/{register.configure-C5UDp3N5.js → register.configure-MY0P8ucP.js} +43 -43
  250. package/dist/{register.maintenance-DYkT5jnV.js → register.maintenance-Ciblsa6H.js} +40 -40
  251. package/dist/{register.maintenance-UfVK3mjx.js → register.maintenance-DpSSW9tp.js} +42 -42
  252. package/dist/{register.message-CKq6NCSm.js → register.message-Csn-WBH0.js} +30 -30
  253. package/dist/{register.message-C3SzLAgk.js → register.message-FsBEsQeD.js} +29 -29
  254. package/dist/{register.onboard-B9a9EHLC.js → register.onboard-BQ-ciW9l.js} +36 -36
  255. package/dist/{register.onboard-D9Cm7LZb.js → register.onboard-MIhaldvp.js} +35 -35
  256. package/dist/{register.setup-ybjh7_q_.js → register.setup-DCTamI7u.js} +35 -35
  257. package/dist/{register.setup-ycd7a2ur.js → register.setup-M0O0Tp-n.js} +36 -36
  258. package/dist/{register.status-health-sessions-2QNhX3pX.js → register.status-health-sessions-Drc5WQGq.js} +33 -33
  259. package/dist/{register.status-health-sessions-BryhDGnZ.js → register.status-health-sessions-DzKtjfA-.js} +35 -35
  260. package/dist/{register.subclis-Dxm9Un5O.js → register.subclis-Btg8-Nnf.js} +29 -29
  261. package/dist/{replies-DFjjnJ3D.js → replies-BVeiOxGr.js} +1 -1
  262. package/dist/{replies-B-xLfipR.js → replies-BWgZR_w5.js} +1 -1
  263. package/dist/{replies-j1a_GMFx.js → replies-CNJXJgMU.js} +1 -1
  264. package/dist/{replies-BQj0lY4W.js → replies-CsUBFXf6.js} +1 -1
  265. package/dist/{reply-WdyooxLc.js → reply-B0azB7WR.js} +70 -47
  266. package/dist/{routes-CRgMkkG0.js → routes-2b4mQUhe.js} +3 -3
  267. package/dist/{routes-K5Fj1g7Q.js → routes-C8PNEZ8b.js} +3 -3
  268. package/dist/{rpc-BWtktGFm.js → rpc-CHb_JvbM.js} +1 -1
  269. package/dist/{rpc-P3TWbEaf.js → rpc-Cog-Z1rx.js} +1 -1
  270. package/dist/{run-main-CijnQAcO.js → run-main-DfxDXt2d.js} +49 -49
  271. package/dist/{runner-ef6nFMvq.js → runner-BVgCl6yZ.js} +2 -2
  272. package/dist/{runner-DOVS95oz.js → runner-CSdQSvE8.js} +3 -3
  273. package/dist/{runner-B59C4Wdw.js → runner-C_BlQ2fG.js} +3 -3
  274. package/dist/{runner-B97ZHSOs.js → runner-D5nFF9E6.js} +2 -2
  275. package/dist/{sandbox-LreyCjoX.js → sandbox-BOVopTqv.js} +6 -6
  276. package/dist/{sandbox-DiPHRUDK.js → sandbox-CDxHBl3I.js} +6 -6
  277. package/dist/{sandbox-cli-Cb7iGM1l.js → sandbox-cli-0eu7BCa8.js} +8 -8
  278. package/dist/{sandbox-cli-B7p0Hp3r.js → sandbox-cli-BpfYaZBG.js} +8 -8
  279. package/dist/{security-cli-DqVGrNy5.js → security-cli-B5s73Le2.js} +11 -11
  280. package/dist/{security-cli-DALRwIjj.js → security-cli-CzWHkrqD.js} +11 -11
  281. package/dist/{send-DAbxpmwe.js → send-AbhXOS2H.js} +1 -1
  282. package/dist/{send-Dc09jNH2.js → send-B7aHpAco.js} +1 -1
  283. package/dist/{send-cpH_yqHj.js → send-B9_a63ZG.js} +1 -1
  284. package/dist/{send-B3j7hxxO.js → send-BKhluIbb.js} +1 -1
  285. package/dist/{send-brznOT92.js → send-BahPjsMR.js} +1 -1
  286. package/dist/{send-Co9egPXG.js → send-BcvVKfh2.js} +1 -1
  287. package/dist/{send-CkIwAjAB.js → send-BuJyyJe7.js} +1 -1
  288. package/dist/{send-BhKkBArw.js → send-C0K_2AUP.js} +1 -1
  289. package/dist/{send-CXuAFSJP.js → send-CBcCKe5w.js} +1 -1
  290. package/dist/{send-CuuFC05i.js → send-CCmxHtaA.js} +1 -1
  291. package/dist/{send-DlsuAlpS.js → send-CaUqpyyp.js} +1 -1
  292. package/dist/{send-EHiP2shE.js → send-D8AIYNR_.js} +1 -1
  293. package/dist/{send-Djb958bI.js → send-DFftzTHo.js} +1 -1
  294. package/dist/{send-BZZ4_x4c.js → send-Dmb0z8Yy.js} +1 -1
  295. package/dist/{send-C2rS0q26.js → send-DnsTDCll.js} +1 -1
  296. package/dist/{send-BMoIcGXM.js → send-H2g9Eaud.js} +1 -1
  297. package/dist/{send-CmP1lu-b.js → send-Yzy50T1h.js} +1 -1
  298. package/dist/{send-cM1DDAnI.js → send-pFcMiyew.js} +1 -1
  299. package/dist/{send-BlSnzj96.js → send-vqwluhp3.js} +1 -1
  300. package/dist/{send-Dkhr43v-.js → send-xTfsDEE2.js} +1 -1
  301. package/dist/{server-context-B4j3P5K6.js → server-context-BBaojT7U.js} +5 -5
  302. package/dist/{server-context-2Vn21Z8T.js → server-context-C2gfYdh8.js} +5 -5
  303. package/dist/{server-methods-Db4Zr1Uh.js → server-methods-BcBroG6v.js} +118 -20
  304. package/dist/{server-methods-DcQq8SQr.js → server-methods-OJbQNjOJ.js} +119 -21
  305. package/dist/{server-node-events-C_v8BnlG.js → server-node-events-AVxH5dXs.js} +29 -29
  306. package/dist/{server-node-events-CaL-a5Ml.js → server-node-events-Ba9K9DB9.js} +30 -30
  307. package/dist/{session-C33JrUuB.js → session-BGKShBIy.js} +1 -1
  308. package/dist/{session-DLof5lJz.js → session-BTLA3Rm7.js} +1 -1
  309. package/dist/{session-L_LqHxcV.js → session-BuAvI2u-.js} +1 -1
  310. package/dist/{session-BddH7QoH.js → session-tLyG4haq.js} +1 -1
  311. package/dist/{session-utils-Ch5rIQbz.js → session-utils-BPXkhuNM.js} +3 -3
  312. package/dist/{sessions-oOAi4H3s.js → sessions-BPD85pWA.js} +1 -1
  313. package/dist/{sessions-C8h-0oVK.js → sessions-BeYHj0gr.js} +1 -1
  314. package/dist/{sessions-RfQP0zIn.js → sessions-NTd36-CO.js} +3 -3
  315. package/dist/{shared-CF9jxSQs.js → shared-D8j919CK.js} +1 -1
  316. package/dist/{shared-DxlCJeK_.js → shared-DdGOSL9s.js} +1 -1
  317. package/dist/{skill-commands-CIkcmGzD.js → skill-commands-BMu-U3SX.js} +1 -1
  318. package/dist/{skill-commands-BVeV_mpq.js → skill-commands-BSJONVkt.js} +1 -1
  319. package/dist/{skill-commands-Cg_ajTBC.js → skill-commands-CkqZdod4.js} +1 -1
  320. package/dist/{skill-commands-eaynYuR6.js → skill-commands-D1hG6Ikz.js} +1 -1
  321. package/dist/{skills-6jdJQ5ZL.js → skills-BG8FpqDp.js} +1 -1
  322. package/dist/{skills-Bs0AW1g3.js → skills-CXxrn_e2.js} +1 -1
  323. package/dist/{skills-hAdgFdrv.js → skills-D_oCiaQn.js} +1 -1
  324. package/dist/{skills-BNpGMnp-.js → skills-XEbTRNYL.js} +1 -1
  325. package/dist/{skills-cli-o6AfvfLb.js → skills-cli-BIURlIkS.js} +6 -6
  326. package/dist/{skills-cli-Cf7sLA5e.js → skills-cli-DBDVQeo4.js} +6 -6
  327. package/dist/{skills-install-CWVdJkLn.js → skills-install-D8JjjETa.js} +1 -1
  328. package/dist/{skills-install-1ZdwGTnh.js → skills-install-Por3jP0P.js} +1 -1
  329. package/dist/{skills-status-C3ptXwnh.js → skills-status-CKmK1hOo.js} +1 -1
  330. package/dist/{skills-status-DKXJ-tbi.js → skills-status-DODCG6UU.js} +1 -1
  331. package/dist/{status-BSd4QQZY.js → status-CpWkGj5h.js} +2 -2
  332. package/dist/{status-BddhZm3Y.js → status-DNxAYvxM.js} +2 -2
  333. package/dist/{status-B17aJsTi.js → status-RlJA2XzQ.js} +11 -11
  334. package/dist/{status-DALZR6Rh.js → status-Ut-dfDT0.js} +12 -12
  335. package/dist/{status.update-DEn_vM2K.js → status.update-BGSQrlxW.js} +1 -1
  336. package/dist/{status.update-DFx1sm1w.js → status.update-C1I_7XIo.js} +1 -1
  337. package/dist/{subagent-registry-DLyi3sgU.js → subagent-registry-CsYeP8wc.js} +71 -48
  338. package/dist/{system-cli-DjQq8evF.js → system-cli-D3CVv1ab.js} +4 -4
  339. package/dist/{system-cli-BfQs2bCu.js → system-cli-rpyy5jcw.js} +4 -4
  340. package/dist/{systemd-hints-CitUdPEJ.js → systemd-hints-BWjICrbb.js} +1 -1
  341. package/dist/{systemd-hints-nyPn6fDv.js → systemd-hints-G9M4s_fF.js} +1 -1
  342. package/dist/{tui-D1JLyFne.js → tui-DfPeXwah.js} +4 -4
  343. package/dist/{tui-D1DDOQ5b.js → tui-LZPdrFmK.js} +4 -4
  344. package/dist/{tui-cli-9g2Fi07C.js → tui-cli-Bm3TJgXf.js} +11 -11
  345. package/dist/{tui-cli-D9jJkoxe.js → tui-cli-DFXZ7r1F.js} +11 -11
  346. package/dist/{unified-runner-Dxj9fcQO.js → unified-runner-BojeuKIk.js} +60 -36
  347. package/dist/{update-DEMKx4eC.js → update-BWwyHVQj.js} +1 -1
  348. package/dist/{update-Ya0e-JnM.js → update-DdQCEAVD.js} +1 -1
  349. package/dist/{update-cli-C0D0gizK.js → update-cli-Cb12PjyN.js} +44 -44
  350. package/dist/{update-cli-CqLTiVU8.js → update-cli-Cm4ftHhu.js} +46 -46
  351. package/dist/{update-runner-DnEVHl6G.js → update-runner-BE6kDMsw.js} +1 -1
  352. package/dist/{update-runner-DRxTynZP.js → update-runner-Cv6hDgKV.js} +1 -1
  353. package/dist/{web-1apyUJY6.js → web-BOv3xM7W.js} +32 -32
  354. package/dist/{web-BTM-eHmT.js → web-CYf5I3aU.js} +32 -32
  355. package/dist/{web-DRQN-o-U.js → web-Dxkxcp7P.js} +19 -19
  356. package/dist/{web-CpLsElI8.js → web-f1xT-H2y.js} +19 -19
  357. package/dist/{webhooks-cli-CVYW5w5y.js → webhooks-cli-UuxPLc9l.js} +3 -3
  358. package/dist/{webhooks-cli-Bgc_FCJP.js → webhooks-cli-YK0wXLCn.js} +3 -3
  359. package/dist/{whatsapp-actions-BWd0ZXyg.js → whatsapp-actions-3wS2mDjT.js} +3 -3
  360. package/dist/{whatsapp-actions-doS0R248.js → whatsapp-actions-CiXMwRR8.js} +3 -3
  361. package/dist/{whatsapp-actions-BA9n6KQd.js → whatsapp-actions-DyfuVva4.js} +3 -3
  362. package/dist/{whatsapp-actions-DqA8SCfH.js → whatsapp-actions-qetg6Gkh.js} +3 -3
  363. package/dist/{with-timeout-Cei98OCY.js → with-timeout-BIXdW2Bg.js} +1 -1
  364. package/dist/{with-timeout-DLKss9E3.js → with-timeout-emS7y-kf.js} +1 -1
  365. package/docs/connections/email.md +143 -0
  366. package/docs/connections/msteams.md +80 -0
  367. package/docs/connections/slack.md +91 -0
  368. package/extensions/bluebubbles/package.json +1 -1
  369. package/extensions/copilot-proxy/package.json +1 -1
  370. package/extensions/diagnostics-otel/package.json +1 -1
  371. package/extensions/discord/package.json +1 -1
  372. package/extensions/feishu/package.json +1 -1
  373. package/extensions/google-antigravity-auth/package.json +1 -1
  374. package/extensions/google-gemini-cli-auth/package.json +1 -1
  375. package/extensions/googlechat/package.json +1 -1
  376. package/extensions/imessage/package.json +1 -1
  377. package/extensions/irc/package.json +1 -1
  378. package/extensions/learning-loop/package.json +1 -1
  379. package/extensions/line/package.json +1 -1
  380. package/extensions/llm-task/package.json +1 -1
  381. package/extensions/matrix/CHANGELOG.md +12 -0
  382. package/extensions/matrix/package.json +1 -1
  383. package/extensions/mattermost/package.json +1 -1
  384. package/extensions/memory-core/package.json +1 -1
  385. package/extensions/memory-lancedb/package.json +1 -1
  386. package/extensions/minimax-portal-auth/package.json +1 -1
  387. package/extensions/msteams/CHANGELOG.md +12 -0
  388. package/extensions/msteams/package.json +1 -1
  389. package/extensions/nextcloud-talk/package.json +1 -1
  390. package/extensions/nostr/CHANGELOG.md +12 -0
  391. package/extensions/nostr/package.json +1 -1
  392. package/extensions/open-prose/package.json +1 -1
  393. package/extensions/outlook/package.json +1 -1
  394. package/extensions/pipeline/package.json +1 -1
  395. package/extensions/signal/package.json +1 -1
  396. package/extensions/slack/package.json +1 -1
  397. package/extensions/telegram/package.json +1 -1
  398. package/extensions/tlon/package.json +1 -1
  399. package/extensions/twitch/CHANGELOG.md +12 -0
  400. package/extensions/twitch/package.json +1 -1
  401. package/extensions/voice-call/CHANGELOG.md +12 -0
  402. package/extensions/voice-call/package.json +1 -1
  403. package/extensions/whatsapp/package.json +1 -1
  404. package/extensions/zalo/CHANGELOG.md +12 -0
  405. package/extensions/zalo/package.json +1 -1
  406. package/extensions/zalouser/CHANGELOG.md +12 -0
  407. package/extensions/zalouser/package.json +1 -1
  408. package/package.json +1 -1
  409. package/skills/connect-email/SKILL.md +141 -0
  410. package/dist/plugin-sdk/web-C9dYYAlm.js +0 -66
@@ -12,21 +12,21 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
12
12
  import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
13
13
  import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-CkIwAjAB.js";
16
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-EHiP2shE.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BLNOhQLM.js";
15
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BuJyyJe7.js";
16
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-D8AIYNR_.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B36OzmeP.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
21
- import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-BhKkBArw.js";
21
+ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-C0K_2AUP.js";
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Bhi5wJBG.js";
26
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-1z3NlJzC.js";
27
- import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-Cs57nwfJ.js";
29
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BNpGMnp-.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BET359cH.js";
26
+ import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BAVNLbja.js";
27
+ import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-DWdYdchb.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BUT--ob3.js";
29
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-XEbTRNYL.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
32
32
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-bnzGvI16.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-9tqGkUqf.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-BHhzdmbq.js";
40
40
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-B0BFUVEs.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
@@ -47,20 +47,20 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BheT
47
47
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-CC8jiKDk.js";
48
48
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-D9ZzWaEz.js";
50
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-Cg_ajTBC.js";
50
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CkqZdod4.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-ef6nFMvq.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BVgCl6yZ.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
56
56
  import { n as normalizePollInput } from "./polls-DQcEziPg.js";
57
57
  import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
58
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DAbxpmwe.js";
59
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-cpH_yqHj.js";
58
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-AbhXOS2H.js";
59
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-B9_a63ZG.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
61
61
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BVcOA3t8.js";
62
62
  import { t as makeProxyFetch } from "./proxy-CLEew2L6.js";
63
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-j1a_GMFx.js";
63
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CNJXJgMU.js";
64
64
  import { t as getActiveWebListener } from "./active-listener-Dx_Y1ouV.js";
65
65
  import { createRequire } from "node:module";
66
66
  import * as path$1 from "node:path";
@@ -6009,6 +6009,7 @@ const METHOD_SCOPE_GROUPS = {
6009
6009
  "health",
6010
6010
  "logs.tail",
6011
6011
  "channels.status",
6012
+ "docs.get",
6012
6013
  "status",
6013
6014
  "usage.status",
6014
6015
  "usage.cost",
@@ -7217,7 +7218,7 @@ async function routeReply(params) {
7217
7218
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7218
7219
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7219
7220
  try {
7220
- const { deliverOutboundPayloads } = await import("./deliver-BLNOhQLM.js").then((n) => n.n);
7221
+ const { deliverOutboundPayloads } = await import("./deliver-B36OzmeP.js").then((n) => n.n);
7221
7222
  return {
7222
7223
  ok: true,
7223
7224
  messageId: (await deliverOutboundPayloads({
@@ -43895,6 +43896,27 @@ function appendCacheTtlTimestamp(sessionManager, data) {
43895
43896
  } catch {}
43896
43897
  }
43897
43898
 
43899
+ //#endregion
43900
+ //#region src/agents/pi-embedded-runner/email-capability-prompt.ts
43901
+ /**
43902
+ * Always-on system-prompt block that advertises Symi's email capabilities and
43903
+ * points the model at the `connect-email` skill. Fixes the failure mode where
43904
+ * the model denied email support because no profile's `promptAdditions`
43905
+ * mentioned it — see the sandbox2 interaction that motivated this.
43906
+ *
43907
+ * Sibling of `buildLongTaskPromptSuffix`; spliced at the same site in
43908
+ * `run/attempt.ts` so every profile (Claude, Gemma, Qwen, Nemotron, Ollama)
43909
+ * sees it.
43910
+ */
43911
+ function buildEmailCapabilityPromptSuffix() {
43912
+ return "\n\n" + [
43913
+ "EMAIL CAPABILITIES:",
43914
+ "- Symi supports Outlook 365 (bundled `outlook` plugin; users connect by sending `/outlook login` in chat, which starts a Microsoft device-code flow) and Gmail (via `hooks.gmail` Pub/Sub integration).",
43915
+ "- When the user wants to connect, set up, configure, or troubleshoot email, read the `connect-email` skill FIRST. It has the precheck (detect existing connection), the Gmail-or-Outlook branch, the Outlook walkthrough, and the full Gmail Pub/Sub setup.",
43916
+ "- Do NOT guess email setup steps. Do NOT claim email is unsupported."
43917
+ ].join("\n");
43918
+ }
43919
+
43898
43920
  //#endregion
43899
43921
  //#region src/agents/pi-extensions/session-manager-runtime-registry.ts
43900
43922
  function createSessionManagerRuntimeRegistry() {
@@ -46720,11 +46742,13 @@ async function runEmbeddedAttempt(params) {
46720
46742
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
46721
46743
  log$5.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
46722
46744
  const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
46723
- const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
46745
+ const longTaskSuffix = await buildLongTaskPromptSuffix({
46724
46746
  argv1: process.argv[1],
46725
46747
  cwd: process.cwd(),
46726
46748
  moduleUrl: import.meta.url
46727
- }) + profilePromptSuffix)();
46749
+ });
46750
+ const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
46751
+ const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
46728
46752
  const sessionLock = await acquireSessionWriteLock({
46729
46753
  sessionFile: params.sessionFile,
46730
46754
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -51113,7 +51137,7 @@ async function deliverSessionMaintenanceWarning(params) {
51113
51137
  return;
51114
51138
  }
51115
51139
  try {
51116
- const { deliverOutboundPayloads } = await import("./deliver-BLNOhQLM.js").then((n) => n.n);
51140
+ const { deliverOutboundPayloads } = await import("./deliver-B36OzmeP.js").then((n) => n.n);
51117
51141
  await deliverOutboundPayloads({
51118
51142
  cfg: params.cfg,
51119
51143
  channel,
@@ -54559,7 +54583,7 @@ async function describeStickerImage(params) {
54559
54583
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54560
54584
  try {
54561
54585
  const buffer = await fs$1.readFile(imagePath);
54562
- const { describeImageWithModel } = await import("./image-9tqGkUqf.js").then((n) => n.n);
54586
+ const { describeImageWithModel } = await import("./image-BHhzdmbq.js").then((n) => n.n);
54563
54587
  return (await describeImageWithModel({
54564
54588
  buffer,
54565
54589
  fileName: "sticker.webp",
@@ -54982,7 +55006,7 @@ function createWhatsAppLoginTool() {
54982
55006
  force: Type.Optional(Type.Boolean())
54983
55007
  }),
54984
55008
  execute: async (_toolCallId, args) => {
54985
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-4Pmnupol.js");
55009
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BkwojQSe.js");
54986
55010
  if ((args?.action ?? "start") === "wait") {
54987
55011
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
54988
55012
  return {
@@ -57221,7 +57245,7 @@ async function preflightDiscordMessage(params) {
57221
57245
  let preflightTranscript;
57222
57246
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
57223
57247
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
57224
- const { transcribeFirstAudio } = await import("./audio-preflight-Bsa1_iU3.js");
57248
+ const { transcribeFirstAudio } = await import("./audio-preflight-D_g9Duqw.js");
57225
57249
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
57226
57250
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
57227
57251
  ctx: {
@@ -61004,27 +61028,27 @@ function isVoiceChannelType(type) {
61004
61028
  function createDefaultDeps() {
61005
61029
  return {
61006
61030
  sendMessageWhatsApp: async (...args) => {
61007
- const { sendMessageWhatsApp } = await import("./web-CpLsElI8.js");
61031
+ const { sendMessageWhatsApp } = await import("./web-f1xT-H2y.js");
61008
61032
  return await sendMessageWhatsApp(...args);
61009
61033
  },
61010
61034
  sendMessageTelegram: async (...args) => {
61011
- const { sendMessageTelegram } = await import("./send-BhKkBArw.js").then((n) => n.l);
61035
+ const { sendMessageTelegram } = await import("./send-C0K_2AUP.js").then((n) => n.l);
61012
61036
  return await sendMessageTelegram(...args);
61013
61037
  },
61014
61038
  sendMessageDiscord: async (...args) => {
61015
- const { sendMessageDiscord } = await import("./send-EHiP2shE.js").then((n) => n.t);
61039
+ const { sendMessageDiscord } = await import("./send-D8AIYNR_.js").then((n) => n.t);
61016
61040
  return await sendMessageDiscord(...args);
61017
61041
  },
61018
61042
  sendMessageSlack: async (...args) => {
61019
- const { sendMessageSlack } = await import("./send-CkIwAjAB.js").then((n) => n.n);
61043
+ const { sendMessageSlack } = await import("./send-BuJyyJe7.js").then((n) => n.n);
61020
61044
  return await sendMessageSlack(...args);
61021
61045
  },
61022
61046
  sendMessageSignal: async (...args) => {
61023
- const { sendMessageSignal } = await import("./send-DAbxpmwe.js").then((n) => n.i);
61047
+ const { sendMessageSignal } = await import("./send-AbhXOS2H.js").then((n) => n.i);
61024
61048
  return await sendMessageSignal(...args);
61025
61049
  },
61026
61050
  sendMessageIMessage: async (...args) => {
61027
- const { sendMessageIMessage } = await import("./send-cpH_yqHj.js").then((n) => n.n);
61051
+ const { sendMessageIMessage } = await import("./send-B9_a63ZG.js").then((n) => n.n);
61028
61052
  return await sendMessageIMessage(...args);
61029
61053
  }
61030
61054
  };
@@ -71854,7 +71878,7 @@ async function registerSlackMonitorSlashCommands(params) {
71854
71878
  });
71855
71879
  const deliverSlashPayloads = async (replies) => {
71856
71880
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
71857
- import("./replies-j1a_GMFx.js").then((n) => n.r),
71881
+ import("./replies-CNJXJgMU.js").then((n) => n.r),
71858
71882
  import("./chunk-DTMTDXwE.js").then((n) => n.s),
71859
71883
  import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
71860
71884
  ]);
@@ -71909,7 +71933,7 @@ async function registerSlackMonitorSlashCommands(params) {
71909
71933
  let nativeCommands = [];
71910
71934
  if (nativeEnabled) {
71911
71935
  reg = await getCommandsRegistry();
71912
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cg_ajTBC.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71936
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CkqZdod4.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71913
71937
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
71914
71938
  skillCommands,
71915
71939
  provider: "slack"
@@ -74127,7 +74151,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
74127
74151
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
74128
74152
  let preflightTranscript;
74129
74153
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
74130
- const { transcribeFirstAudio } = await import("./audio-preflight-Bsa1_iU3.js");
74154
+ const { transcribeFirstAudio } = await import("./audio-preflight-D_g9Duqw.js");
74131
74155
  preflightTranscript = await transcribeFirstAudio({
74132
74156
  ctx: {
74133
74157
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76272,23 +76296,23 @@ let webLoginQrPromise = null;
76272
76296
  let webChannelPromise = null;
76273
76297
  let whatsappActionsPromise = null;
76274
76298
  function loadWebOutbound() {
76275
- webOutboundPromise ??= import("./outbound-BdTCdEPw.js").then((n) => n.t);
76299
+ webOutboundPromise ??= import("./outbound-Ct6vGE68.js").then((n) => n.t);
76276
76300
  return webOutboundPromise;
76277
76301
  }
76278
76302
  function loadWebLogin() {
76279
- webLoginPromise ??= import("./login-KF21s52V.js").then((n) => n.n);
76303
+ webLoginPromise ??= import("./login-tgA4RM8O.js").then((n) => n.n);
76280
76304
  return webLoginPromise;
76281
76305
  }
76282
76306
  function loadWebLoginQr() {
76283
- webLoginQrPromise ??= import("./login-qr-4Pmnupol.js");
76307
+ webLoginQrPromise ??= import("./login-qr-BkwojQSe.js");
76284
76308
  return webLoginQrPromise;
76285
76309
  }
76286
76310
  function loadWebChannel() {
76287
- webChannelPromise ??= import("./web-CpLsElI8.js");
76311
+ webChannelPromise ??= import("./web-f1xT-H2y.js");
76288
76312
  return webChannelPromise;
76289
76313
  }
76290
76314
  function loadWhatsAppActions() {
76291
- whatsappActionsPromise ??= import("./whatsapp-actions-BA9n6KQd.js");
76315
+ whatsappActionsPromise ??= import("./whatsapp-actions-DyfuVva4.js");
76292
76316
  return whatsappActionsPromise;
76293
76317
  }
76294
76318
  function createPluginRuntime() {
@@ -9,9 +9,9 @@ import { r as normalizeChannelId } from "./plugins-71oIavrF.js";
9
9
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-1z3NlJzC.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-Cs57nwfJ.js";
14
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
12
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BAVNLbja.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-BUT--ob3.js";
14
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-XEbTRNYL.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
17
17
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-bnzGvI16.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-seGb-ko0.js");
934
+ return await import("./pw-ai-DE8wmtet.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-seGb-ko0.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-DE8wmtet.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-seGb-ko0.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-DE8wmtet.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { pt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DiPHRUDK.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CDxHBl3I.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-CVLISeRT.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
5
5
  import path from "node:path";
@@ -8,9 +8,9 @@ import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPa
8
8
  import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-C2vj6htZ.js";
9
9
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
10
10
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
11
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-CnQmFG2h.js";
12
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-PSMCM7XH.js";
13
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Bs0AW1g3.js";
11
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BkZ9HOKT.js";
12
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-C08Z0XAa.js";
13
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CXxrn_e2.js";
14
14
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-XIsvXeC-.js";
15
15
  import { b as openFileWithinRoot, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-DpUUUgkK.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-ePWNGOSp.js");
936
+ return await import("./pw-ai-B476LzSK.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-ePWNGOSp.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-B476LzSK.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-ePWNGOSp.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-B476LzSK.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -1,6 +1,6 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-LreyCjoX.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BOVopTqv.js";
4
4
  import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DCt45XZa.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
4
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Cz_ObCzY.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-LreyCjoX.js";
4
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-PXAJCHa5.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BOVopTqv.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BhS32F6E.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DjZ7Z1hW.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
3
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-XZ7orePK.js";
3
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DXt3pc08.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-C9dERklz.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-DiPHRUDK.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CDxHBl3I.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-DKxQXuAg.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -2,7 +2,7 @@ import { d as isRecord } from "./utils-B-0b9bGM.js";
2
2
  import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
3
3
  import { l as normalizeProviderId } from "./model-selection-C-eIBa0H.js";
4
4
  import { t as hasAnyWhatsAppAuth } from "./accounts-DDuIpcln.js";
5
- import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-NQ4pj9RI.js";
5
+ import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-DX1l43Ru.js";
6
6
  import { t as ensurePluginAllowlisted } from "./plugins-allowlist-BjKJrQ0e.js";
7
7
 
8
8
  //#region src/config/plugin-auto-enable.ts
@@ -1,7 +1,7 @@
1
1
  import { D as getChatChannelMeta, O as listChatChannels, Q as isRecord, j as normalizeChatChannelId } from "./entry.js";
2
2
  import { L as normalizeProviderId } from "./auth-profiles-BBniPGeS.js";
3
3
  import { t as hasAnyWhatsAppAuth } from "./accounts-D9ITgITj.js";
4
- import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-DLQFKucJ.js";
4
+ import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-buoA8ik4.js";
5
5
  import { t as ensurePluginAllowlisted } from "./plugins-allowlist-CCpr61rO.js";
6
6
 
7
7
  //#region src/config/plugin-auto-enable.ts
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
- import { i as loadConfig } from "./config-XZ7orePK.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-DLyi3sgU.js";
4
+ import { i as loadConfig } from "./config-DXt3pc08.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-CsYeP8wc.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as loadSymiPlugins } from "./reply-WdyooxLc.js";
2
+ import { ft as loadSymiPlugins } from "./reply-B0azB7WR.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
6
- import { i as loadConfig } from "./config-Cz_ObCzY.js";
6
+ import { i as loadConfig } from "./config-PXAJCHa5.js";
7
7
 
8
8
  //#region src/cli/plugin-registry.ts
9
9
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-Ddm33hQm.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,8 +1,8 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { a as resolveOAuthDir } from "./paths-DR2yt_mP.js";
3
- import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry-D0xTnUWt.js";
4
- import { i as defaultRuntime } from "./subsystem-B2uDN3TV.js";
5
- import { t as formatCliCommand } from "./command-format-GKSevep4.js";
3
+ import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry--_pGht6S.js";
4
+ import { i as defaultRuntime } from "./subsystem-Coz2AgU8.js";
5
+ import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import fs$1 from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-Ddm33hQm.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,5 +1,5 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-C_0eELjb.js";
2
- import { t as formatCliCommand } from "./command-format-GKSevep4.js";
2
+ import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
5
5
  const listeners = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { _ as isCronSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
2
2
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
3
- import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry-D0xTnUWt.js";
4
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
3
+ import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry--_pGht6S.js";
4
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Always-on system-prompt block that advertises Symi's email capabilities and
3
+ * points the model at the `connect-email` skill. Fixes the failure mode where
4
+ * the model denied email support because no profile's `promptAdditions`
5
+ * mentioned it — see the sandbox2 interaction that motivated this.
6
+ *
7
+ * Sibling of `buildLongTaskPromptSuffix`; spliced at the same site in
8
+ * `run/attempt.ts` so every profile (Claude, Gemma, Qwen, Nemotron, Ollama)
9
+ * sees it.
10
+ */
11
+ export declare function buildEmailCapabilityPromptSuffix(): string;
@@ -1,4 +1,4 @@
1
- import { c as normalizeProviderId } from "./model-selection-Bbs4XGPG.js";
1
+ import { c as normalizeProviderId } from "./model-selection-CtVwtb6y.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
@@ -1,34 +1,34 @@
1
- import "./accounts-Ddm33hQm.js";
1
+ import "./accounts-D9zGZU5t.js";
2
2
  import "./paths-DR2yt_mP.js";
3
3
  import "./github-copilot-token-D9X2phUj.js";
4
- import "./plugins-BNByVCIH.js";
5
- import { K as logVerbose, Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
6
- import "./config-B0RNG4KH.js";
7
- import "./subsystem-B2uDN3TV.js";
8
- import "./command-format-GKSevep4.js";
9
- import "./model-selection-Bbs4XGPG.js";
10
- import "./agent-scope-CYYpcO9W.js";
11
- import "./manifest-registry-CPnHl_K3.js";
4
+ import "./plugins-BbAvhC25.js";
5
+ import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
6
+ import "./config-BzupW6LN.js";
7
+ import "./subsystem-Coz2AgU8.js";
8
+ import "./command-format-DSdvQ_M5.js";
9
+ import "./model-selection-CtVwtb6y.js";
10
+ import "./agent-scope-C3gMMKCU.js";
11
+ import "./manifest-registry-hy3Bn-r9.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import "./errors-Bv8oZiTO.js";
14
- import "./image-ops-BlQR__MN.js";
14
+ import "./image-ops-Bnp6LXEx.js";
15
15
  import "./ssrf-DKZ8eBrk.js";
16
- import "./local-roots-BHLNSI8U.js";
17
- import "./message-channel-COTAJzHd.js";
18
- import "./bindings-C7hRtgYW.js";
19
- import "./tool-images-HJ2sfZDV.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BlEQTSlO.js";
21
- import "./skills-_yTP47Cd.js";
22
- import "./chrome-D5HOVhVd.js";
23
- import "./thinking-CXqf7WTe.js";
24
- import "./accounts-s-AdhXVR.js";
25
- import "./accounts-BtaOa4z_.js";
26
- import "./pi-embedded-helpers-C-iQL8fR.js";
16
+ import "./local-roots-Ckk1QfzI.js";
17
+ import "./message-channel-BdI5Ra9S.js";
18
+ import "./bindings-BbwoUGPx.js";
19
+ import "./tool-images-D7Lno-TE.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-WzrwRCvL.js";
21
+ import "./skills-C9DbB-Kp.js";
22
+ import "./chrome-D9kN9org.js";
23
+ import "./thinking-DCNUIAHY.js";
24
+ import "./accounts-Dtszw3Zn.js";
25
+ import "./accounts-BToL3HlP.js";
26
+ import "./pi-embedded-helpers-BCNFLt_H.js";
27
27
  import "./paths-A0xdf3yk.js";
28
- import "./store-BdrNabcU.js";
29
- import "./image-F536ZrNo.js";
28
+ import "./store-Do3t33-c.js";
29
+ import "./image-BmU8yYnz.js";
30
30
  import "./pi-model-discovery-LbcEa65a.js";
31
- import "./api-key-rotation-DGJZ8SVa.js";
31
+ import "./api-key-rotation-CBsLb_4V.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { s as normalizeChatChannelId } from "./registry-D0xTnUWt.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-CYYpcO9W.js";
2
+ import { s as normalizeChatChannelId } from "./registry--_pGht6S.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-C3gMMKCU.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {