@symerian/symi 2.7.7 → 2.7.8

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 (405) hide show
  1. package/dist/{acp-cli-CeN5gs7J.js → acp-cli-6peVIuMz.js} +3 -3
  2. package/dist/{acp-cli-DLsBwWlS.js → acp-cli-DV6gYjcL.js} +3 -3
  3. package/dist/{agents-CCeOMXJF.js → agents-DhWccW-I.js} +7 -7
  4. package/dist/{agents.config-B8-mSnnL.js → agents.config-ByNtHnqX.js} +1 -1
  5. package/dist/{agents.config-AdyGWyGd.js → agents.config-DwibJO90.js} +1 -1
  6. package/dist/{audio-preflight-BUoEMkmr.js → audio-preflight-DIXDvyz5.js} +7 -7
  7. package/dist/{audio-preflight-3Wa38hZz.js → audio-preflight-DJXj9QP9.js} +13 -13
  8. package/dist/{audio-preflight-C45lDI-t.js → audio-preflight-DfALITTK.js} +13 -13
  9. package/dist/{audio-preflight-Bsa1_iU3.js → audio-preflight-lr-WPpc9.js} +7 -7
  10. package/dist/{audit-DD5qcj2W.js → audit-BZU2PNKl.js} +7 -7
  11. package/dist/{audit-G3JpLuYZ.js → audit-CaFXenfE.js} +7 -7
  12. package/dist/{auth-choice-BkF4yNXk.js → auth-choice-DOQ4Xf6i.js} +4 -4
  13. package/dist/{auth-choice-B97lJuV1.js → auth-choice-Divyczym.js} +4 -4
  14. package/dist/{banner-kmyj39fQ.js → banner-Cyi2LLe-.js} +1 -1
  15. package/dist/{browser-cli-DPAw_dFl.js → browser-cli-DM3GvpUm.js} +4 -4
  16. package/dist/{browser-cli-LlkXk8qz.js → browser-cli-DUcEYbmP.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-CtiVeyeQ.js → call-BHn18ubR.js} +1 -1
  21. package/dist/{call-ple9aZCT.js → call-CJl0moIs.js} +1 -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-CWyYAyJ8.js → channel-options-Bk4m4-d5.js} +2 -2
  26. package/dist/{channel-options-7M72jx9S.js → channel-options-C1sGPky6.js} +2 -2
  27. package/dist/{channel-web-DNYIZGo5.js → channel-web-BKbzqQ7x.js} +7 -7
  28. package/dist/{channels-cli-BbbQhLVm.js → channels-cli-CAz8gCcs.js} +34 -34
  29. package/dist/{channels-cli-CIApZn8b.js → channels-cli-CGOOVbGf.js} +35 -35
  30. package/dist/{chrome-Cs57nwfJ.js → chrome-B14NNyfm.js} +8 -8
  31. package/dist/{chrome-CDPH3KAn.js → chrome-BJvuH-NZ.js} +1 -1
  32. package/dist/{chrome-CWdu8vA2.js → chrome-D2ohnA09.js} +1 -1
  33. package/dist/{chrome-PSMCM7XH.js → chrome-ROtrXlNs.js} +8 -8
  34. package/dist/cli/daemon-cli.js +1 -1
  35. package/dist/{cli-BdYpv3II.js → cli-7JBNvH2_.js} +28 -28
  36. package/dist/{cli-Chwue7dC.js → cli-C0zcu-AX.js} +29 -29
  37. package/dist/{command-registry-X9-mDiVG.js → command-registry-BGMCr778.js} +11 -11
  38. package/dist/{completion-cli-C6CUvtmX.js → completion-cli-B1wj8Q43.js} +2 -2
  39. package/dist/{completion-cli-CKRgTAVA.js → completion-cli-EO1xz8q6.js} +1 -1
  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-B9RnWD0Y.js} +3 -3
  45. package/dist/{config-cli-mWb-8dem.js → config-cli-QugXKbsV.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-C_BD9gNf.js} +10 -10
  51. package/dist/{configure-cN-Og45p.js → configure-DOfxxuzV.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/js/connections.js +80 -35
  55. package/dist/{cron-cli-CnWIltKL.js → cron-cli-CH0XOOxj.js} +4 -4
  56. package/dist/{cron-cli-DLn4ynWB.js → cron-cli-DBt3Lxhm.js} +4 -4
  57. package/dist/{daemon-cli-DGXcyiDn.js → daemon-cli-BRMcpQb7.js} +6 -6
  58. package/dist/{daemon-cli-BUO3va5K.js → daemon-cli-DZeTm_F2.js} +6 -6
  59. package/dist/daemon-cli.js +2 -1
  60. package/dist/{daemon-runtime-BetFDUaM.js → daemon-runtime-BT1zC2PU.js} +1 -1
  61. package/dist/{daemon-runtime-CbbrW5g3.js → daemon-runtime-BV78EN62.js} +1 -1
  62. package/dist/{deliver-DGSxISab.js → deliver-BC3liFsT.js} +2 -2
  63. package/dist/{deliver-DFAium1x.js → deliver-BLt_liXS.js} +3 -3
  64. package/dist/{deliver-BLNOhQLM.js → deliver-DrC7tG6s.js} +2 -2
  65. package/dist/{deliver-Co2XquFO.js → deliver-lG9ITE8w.js} +3 -3
  66. package/dist/{devices-cli-CCyr0lUw.js → devices-cli-C7aaQeFG.js} +3 -3
  67. package/dist/{devices-cli-BvMSzdXp.js → devices-cli-DwCYjYyV.js} +3 -3
  68. package/dist/{directory-cli-JgFtCkve.js → directory-cli-CQ5O6Z5j.js} +2 -2
  69. package/dist/{directory-cli-CtA0O-ho.js → directory-cli-Ca5P3Bdg.js} +2 -2
  70. package/dist/{dns-cli-ClxFzTrN.js → dns-cli-7lxNoNVz.js} +2 -2
  71. package/dist/{dns-cli-XEIAfGBW.js → dns-cli-HQ5yjLoE.js} +2 -2
  72. package/dist/{docs-cli-BB4yLXGO.js → docs-cli-BOa4OKW4.js} +2 -2
  73. package/dist/{docs-cli-qE-blOLC.js → docs-cli-Dol0VaNr.js} +2 -2
  74. package/dist/{doctor-completion-CctxaDOf.js → doctor-completion-DL-ojJGb.js} +1 -1
  75. package/dist/{doctor-completion-9YerM5WQ.js → doctor-completion-Dm4QxJdc.js} +1 -1
  76. package/dist/{doctor-config-flow-C7EIHqIm.js → doctor-config-flow-C81j0-sE.js} +3 -3
  77. package/dist/{doctor-config-flow-COCO8sJB.js → doctor-config-flow-CN8seKLA.js} +3 -3
  78. package/dist/entry.js +1 -1
  79. package/dist/{exec-approvals-cli-SLQmCzAk.js → exec-approvals-cli-BcwVEh83.js} +5 -5
  80. package/dist/{exec-approvals-cli-Be49SVlp.js → exec-approvals-cli-CWpi7F1X.js} +5 -5
  81. package/dist/extensionAPI.js +16 -16
  82. package/dist/{gateway-cli-EspQMxcD.js → gateway-cli-DcrPLnL3.js} +49 -49
  83. package/dist/{gateway-cli-DFwW91fW.js → gateway-cli-DyFOMcg2.js} +48 -48
  84. package/dist/{gateway-rpc-D1Oid7kh.js → gateway-rpc-BzkjTxlD.js} +1 -1
  85. package/dist/{gateway-rpc-BPldxGhH.js → gateway-rpc-CJPoGX_W.js} +1 -1
  86. package/dist/{glass-ui-ws-BCAruY1k.js → glass-ui-ws-Czh-1YjO.js} +40 -40
  87. package/dist/{glass-ui-ws-C9slRAdq.js → glass-ui-ws-nxFknxgE.js} +39 -39
  88. package/dist/{health-uSVTJefC.js → health-1ZDwurPU.js} +5 -5
  89. package/dist/{health-CUAawozd.js → health-CFd-Q1SH.js} +5 -5
  90. package/dist/{hooks-cli-NOol1x2D.js → hooks-cli-C4tUO222.js} +29 -29
  91. package/dist/{hooks-cli-1hn9EEhc.js → hooks-cli-nKBiWE2v.js} +30 -30
  92. package/dist/{image-Dopj30W7.js → image-C6v6m8Id.js} +2 -2
  93. package/dist/{image-9tqGkUqf.js → image-CKeN0xJL.js} +2 -2
  94. package/dist/{image-DFxGwWA7.js → image-DXco5IYt.js} +2 -2
  95. package/dist/{image-Bd9ilPV9.js → image-D_qN_IxA.js} +2 -2
  96. package/dist/index.js +38 -38
  97. package/dist/{lifecycle-core-AeKXuI87.js → lifecycle-core-B9EgW7Tg.js} +2 -2
  98. package/dist/{lifecycle-core-Dpd8ty8k.js → lifecycle-core-JD8GNX_f.js} +2 -2
  99. package/dist/llm-slug-generator.js +16 -16
  100. package/dist/{login-CQTjtlgX.js → login-BgJLYdBR.js} +2 -2
  101. package/dist/{login-CPDAMiNc.js → login-CksRbu5D.js} +2 -2
  102. package/dist/{login-BKjGtdQb.js → login-DiorUpLk.js} +2 -2
  103. package/dist/{login-qr-BnV3nWaD.js → login-qr-B0SnFKfa.js} +3 -3
  104. package/dist/{login-qr-4Pmnupol.js → login-qr-BkwojQSe.js} +3 -3
  105. package/dist/{login-qr-Ca_QjL8s.js → login-qr-COIr6FGZ.js} +3 -3
  106. package/dist/{login-qr-BkqlPQja.js → login-qr-De_4jYaF.js} +3 -3
  107. package/dist/{login-KF21s52V.js → login-tgA4RM8O.js} +2 -2
  108. package/dist/{logs-cli-wAogU3fl.js → logs-cli-DWqkAMwy.js} +4 -4
  109. package/dist/{logs-cli-BLyCHsIE.js → logs-cli-q93Kur4b.js} +4 -4
  110. package/dist/{manifest-registry-C4BxOMWX.js → manifest-registry-BDSRH8nU.js} +2 -1
  111. package/dist/{manifest-registry-yb7sAlu4.js → manifest-registry-CBCGTsIb.js} +2 -1
  112. package/dist/{manifest-registry-Czr39pxG.js → manifest-registry-D5bnO5uA.js} +2 -1
  113. package/dist/{manifest-registry-D-mTF1cj.js → manifest-registry-DWdYdchb.js} +2 -1
  114. package/dist/{memory-cli-MMLg1Ccf.js → memory-cli-AoMrHA5O.js} +1 -1
  115. package/dist/{memory-cli-CY3CHJS9.js → memory-cli-Bf2sefbp.js} +1 -1
  116. package/dist/{model-catalog-BkurhUo7.js → model-catalog-DKGSg6jF.js} +2 -2
  117. package/dist/{model-catalog-Bkny3qg9.js → model-catalog-Dex2EDUJ.js} +2 -2
  118. package/dist/{model-picker-CkXMb7R4.js → model-picker-D-n-rWyt.js} +2 -2
  119. package/dist/{model-picker-Bl_c2WTt.js → model-picker-RQfDGgfM.js} +2 -2
  120. package/dist/{models-CYqsDjad.js → models-Cd9pFy1G.js} +8 -8
  121. package/dist/{models-cli-mOTgaVlj.js → models-cli-CSqy5xI0.js} +31 -31
  122. package/dist/{models-cli-CmU3OOJG.js → models-cli-Cxo55E0S.js} +32 -32
  123. package/dist/{models-config-C7LKdahT.js → models-config-B91ShhoT.js} +1 -1
  124. package/dist/{models-config-CPAA0Wkr.js → models-config-J1x_DaPn.js} +1 -1
  125. package/dist/{node-cli-BJ1yRo3F.js → node-cli-jdFJpJym.js} +10 -10
  126. package/dist/{node-cli-dsjkpZpf.js → node-cli-jnHMAtfE.js} +10 -10
  127. package/dist/{nodes-cli-BxLO-rv5.js → nodes-cli-BHVOxukb.js} +4 -4
  128. package/dist/{nodes-cli-D1Fz0Q2m.js → nodes-cli-seBKfjdd.js} +4 -4
  129. package/dist/{onboard-TK9M_DAs.js → onboard-CVKCZHVL.js} +7 -7
  130. package/dist/{onboard-Cf49_nCM.js → onboard-SceHniST.js} +7 -7
  131. package/dist/{onboard-channels-CrQDcwVv.js → onboard-channels-BI-59zLH.js} +3 -3
  132. package/dist/{onboard-channels-CIP2VRJ-.js → onboard-channels-KGMbYFcP.js} +3 -3
  133. package/dist/{onboard-custom-BVNvbjaX.js → onboard-custom-B1paBymW.js} +2 -2
  134. package/dist/{onboard-custom-MKL2uerp.js → onboard-custom-B3CBlZe5.js} +2 -2
  135. package/dist/{onboard-helpers-B1El5sBR.js → onboard-helpers-BFyI1sla.js} +2 -2
  136. package/dist/{onboard-helpers-09M-gWu4.js → onboard-helpers-BV3zKTt_.js} +2 -2
  137. package/dist/{onboard-remote-DD3wt16B.js → onboard-remote-C-EvSvV9.js} +1 -1
  138. package/dist/{onboard-remote-C9Ftkn3-.js → onboard-remote-CvtBwhma.js} +1 -1
  139. package/dist/{onboard-skills-kU_Yop1T.js → onboard-skills-C1jrqA-P.js} +3 -3
  140. package/dist/{onboard-skills-dmWPtzui.js → onboard-skills-CWaMGMQi.js} +3 -3
  141. package/dist/{onboarding-CfG_bJab.js → onboarding-BPjquWC3.js} +10 -10
  142. package/dist/{onboarding-BQUTtbxF.js → onboarding-Bs3JhONv.js} +10 -10
  143. package/dist/{onboarding.finalize-Dv8-c9UZ.js → onboarding.finalize-Dbx89qG2.js} +36 -36
  144. package/dist/{onboarding.finalize-DycOefUd.js → onboarding.finalize-lAwIuZFE.js} +34 -34
  145. package/dist/{onboarding.gateway-config-LqxG8IjE.js → onboarding.gateway-config-Btb5PaGv.js} +5 -5
  146. package/dist/{onboarding.gateway-config-dLlNI0HQ.js → onboarding.gateway-config-gMhAsXgO.js} +5 -5
  147. package/dist/{outbound-DHoZh3-b.js → outbound-CX-uuDet.js} +1 -1
  148. package/dist/{outbound-BdTCdEPw.js → outbound-Ct6vGE68.js} +1 -1
  149. package/dist/{outbound-neBb4qTL.js → outbound-D6GeeR8F.js} +1 -1
  150. package/dist/{outbound-BfHd69Dr.js → outbound-XakUc977.js} +1 -1
  151. package/dist/{pairing-cli-DOtEC7pl.js → pairing-cli-C8KSZlA7.js} +2 -2
  152. package/dist/{pairing-cli-CG57JnkE.js → pairing-cli-DmISXPhp.js} +2 -2
  153. package/dist/{pi-embedded-lpIsgmb9.js → pi-embedded-CG4P3hy3.js} +63 -40
  154. package/dist/{pi-embedded-helpers-CU7jP5wD.js → pi-embedded-helpers-BUNbSNWw.js} +6 -6
  155. package/dist/{pi-embedded-helpers-Bhi5wJBG.js → pi-embedded-helpers-D8YgtMdl.js} +6 -6
  156. package/dist/{pi-embedded-helpers-DaWb-3Gv.js → pi-embedded-helpers-DSscUmkR.js} +1 -1
  157. package/dist/{pi-embedded-helpers-BqeG6ogg.js → pi-embedded-helpers-DpOccVre.js} +1 -1
  158. package/dist/{pi-tools.policy-DN0wUEFa.js → pi-tools.policy-BpN-v9bT.js} +2 -2
  159. package/dist/{pi-tools.policy-jD4uEUBo.js → pi-tools.policy-DOVQ8dDx.js} +2 -2
  160. package/dist/{plugin-auto-enable-Dcki5Acl.js → plugin-auto-enable-BsGorrCZ.js} +1 -1
  161. package/dist/{plugin-auto-enable-hvfjAaew.js → plugin-auto-enable-BvmQklg-.js} +1 -1
  162. package/dist/{plugin-registry-1jm5tMNl.js → plugin-registry-C4aoDdOB.js} +2 -2
  163. package/dist/{plugin-registry-BtHWHT4p.js → plugin-registry-DSrgdZKM.js} +2 -2
  164. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  165. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  166. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  167. package/dist/plugin-sdk/{active-listener-BgwYQkdI.js → active-listener-BRYwA2Ic.js} +1 -1
  168. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  169. package/dist/plugin-sdk/agents/pi-embedded-runner/email-capability-prompt.d.ts +11 -0
  170. package/dist/plugin-sdk/{api-key-rotation-DGJZ8SVa.js → api-key-rotation-CBsLb_4V.js} +1 -1
  171. package/dist/plugin-sdk/{audio-preflight-BG_wJSnx.js → audio-preflight-B-Laxbmb.js} +24 -24
  172. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  173. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  174. package/dist/plugin-sdk/{channel-web-D8iVDOP9.js → channel-web-CsZ6epLT.js} +22 -22
  175. package/dist/plugin-sdk/{chrome-D5HOVhVd.js → chrome-D9kN9org.js} +3 -3
  176. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  177. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  178. package/dist/plugin-sdk/{commands-registry-Be2qTyJK.js → commands-registry-By2smfUF.js} +4 -4
  179. package/dist/plugin-sdk/{config-B0RNG4KH.js → config-BzupW6LN.js} +9 -9
  180. package/dist/plugin-sdk/{deliver-BgipoVt6.js → deliver-CNuL0O4P.js} +10 -10
  181. package/dist/plugin-sdk/{diagnostic-W5975qL9.js → diagnostic-EyuCSUXO.js} +1 -1
  182. package/dist/plugin-sdk/{image-F536ZrNo.js → image-BmU8yYnz.js} +4 -4
  183. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  184. package/dist/plugin-sdk/index.js +54 -54
  185. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  186. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  187. package/dist/plugin-sdk/{login-zRvF566v.js → login-eqtXmx21.js} +7 -7
  188. package/dist/plugin-sdk/{login-qr-DnVmgDSL.js → login-qr-Cbt9KlK3.js} +9 -9
  189. package/dist/plugin-sdk/{manager-UQQc8UDq.js → manager-Dc9yVyTt.js} +8 -8
  190. package/dist/plugin-sdk/{manifest-registry-CPnHl_K3.js → manifest-registry-hy3Bn-r9.js} +3 -2
  191. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  192. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  193. package/dist/plugin-sdk/{model-selection-Bbs4XGPG.js → model-selection-CtVwtb6y.js} +4 -4
  194. package/dist/plugin-sdk/{outbound-ComvEv1j.js → outbound-ZcDVYNoy.js} +7 -7
  195. package/dist/plugin-sdk/{outbound-attachment-CqhMcNuS.js → outbound-attachment-DJ3CI92h.js} +2 -2
  196. package/dist/plugin-sdk/{pi-auth-json-B_aZna6j.js → pi-auth-json-r2U9wDoc.js} +1 -1
  197. package/dist/plugin-sdk/{pi-embedded-helpers-C-iQL8fR.js → pi-embedded-helpers-BCNFLt_H.js} +17 -17
  198. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  199. package/dist/plugin-sdk/{pw-ai-oafsM7Z6.js → pw-ai-B3jHOSti.js} +8 -8
  200. package/dist/plugin-sdk/{qmd-manager-BZvD_Hd3.js → qmd-manager-C6GM0Qik.js} +4 -4
  201. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  202. package/dist/plugin-sdk/{replies-Df8hdWHU.js → replies-DkGqfiO4.js} +3 -3
  203. package/dist/plugin-sdk/{reply-BSU5u23A.js → reply-Rv3jE0Rs.js} +104 -81
  204. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  205. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  206. package/dist/plugin-sdk/{resolve-route-B3CCBumQ.js → resolve-route-D3JH_D2N.js} +3 -3
  207. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  208. package/dist/plugin-sdk/{runner-BlEQTSlO.js → runner-WzrwRCvL.js} +9 -9
  209. package/dist/plugin-sdk/{send-DjUL-5e8.js → send-7NqCWP0r.js} +7 -7
  210. package/dist/plugin-sdk/{send-NmhuhIk0.js → send-BGE1fXlm.js} +6 -6
  211. package/dist/plugin-sdk/{send-DSaRu7CO.js → send-BP5pSPaZ.js} +6 -6
  212. package/dist/plugin-sdk/{send-BGYE1Ojf.js → send-FFUmNt0K.js} +10 -10
  213. package/dist/plugin-sdk/{send-4CJD3HN9.js → send-ZhAe1nXO.js} +10 -10
  214. package/dist/plugin-sdk/{session-CrxOeAtT.js → session-8vfTL_H6.js} +4 -4
  215. package/dist/plugin-sdk/{skill-commands-DSDv-F1f.js → skill-commands-DF3ouLEu.js} +5 -5
  216. package/dist/plugin-sdk/{skills-_yTP47Cd.js → skills-C9DbB-Kp.js} +7 -7
  217. package/dist/plugin-sdk/{sqlite-CxAR5ttJ.js → sqlite-Cq_7Cg4E.js} +1 -1
  218. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  219. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  220. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  221. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  222. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  223. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  224. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  225. package/dist/plugin-sdk/{tool-loop-detection-Dthxc7SC.js → tool-loop-detection-BAUvBvAO.js} +2 -2
  226. package/dist/plugin-sdk/web-D6R4__wu.js +66 -0
  227. package/dist/plugin-sdk/{whatsapp-actions-C_Yw2LhH.js → whatsapp-actions-0DfquiaD.js} +21 -21
  228. package/dist/{plugins-cli-DZAESODm.js → plugins-cli-CSwcV2M6.js} +30 -30
  229. package/dist/{plugins-cli-uIEn-Rls.js → plugins-cli-DJM_xxIg.js} +31 -31
  230. package/dist/{program-BDFBNGBK.js → program-CtX7o1VN.js} +37 -37
  231. package/dist/{program-context-CIIYbXwz.js → program-context-B2HPYMcn.js} +39 -39
  232. package/dist/{prompt-select-styled-C5haNrfL.js → prompt-select-styled-5a7_K1sn.js} +15 -15
  233. package/dist/{prompt-select-styled-Drqp3Q79.js → prompt-select-styled-Cs79EjHm.js} +15 -15
  234. package/dist/{provider-auth-helpers-rSnpzVFU.js → provider-auth-helpers-DOa1Rc3D.js} +2 -2
  235. package/dist/{provider-auth-helpers-C90hxnuP.js → provider-auth-helpers-fWAoFIwZ.js} +2 -2
  236. package/dist/{push-apns-ze6w0evQ.js → push-apns-Dnd_jTU-.js} +1 -1
  237. package/dist/{push-apns-DhAfcmF5.js → push-apns-HnaGVJwW.js} +1 -1
  238. package/dist/{pw-ai-ePWNGOSp.js → pw-ai-BLrC_W1X.js} +3 -3
  239. package/dist/{pw-ai-seGb-ko0.js → pw-ai-DTmHAKPA.js} +3 -3
  240. package/dist/{pw-ai-BeOKbmWW.js → pw-ai-Df3SCnGC.js} +3 -3
  241. package/dist/{pw-ai-P5lOraHd.js → pw-ai-VRkM0Qt0.js} +3 -3
  242. package/dist/{qr-cli-BIl334kM.js → qr-cli-Bgejiz98.js} +2 -2
  243. package/dist/{qr-cli-CGO65wLz.js → qr-cli-D_7jTOhP.js} +2 -2
  244. package/dist/{register.agent-Bpm5Fh13.js → register.agent-CaputGWT.js} +39 -39
  245. package/dist/{register.agent-BirwyJVS.js → register.agent-lqb5eXZs.js} +37 -37
  246. package/dist/{register.configure-BQet1kco.js → register.configure-C0KBR4e6.js} +44 -44
  247. package/dist/{register.configure-C5UDp3N5.js → register.configure-C3AQZaAa.js} +43 -43
  248. package/dist/{register.maintenance-DYkT5jnV.js → register.maintenance-DLY3bZTm.js} +40 -40
  249. package/dist/{register.maintenance-UfVK3mjx.js → register.maintenance-c8Ig4nYO.js} +42 -42
  250. package/dist/{register.message-C3SzLAgk.js → register.message-Bexo7F0u.js} +29 -29
  251. package/dist/{register.message-CKq6NCSm.js → register.message-CUclEFp5.js} +30 -30
  252. package/dist/{register.onboard-B9a9EHLC.js → register.onboard-CVmFRJ__.js} +36 -36
  253. package/dist/{register.onboard-D9Cm7LZb.js → register.onboard-DpeqS3GT.js} +35 -35
  254. package/dist/{register.setup-ycd7a2ur.js → register.setup-DogqYYN7.js} +36 -36
  255. package/dist/{register.setup-ybjh7_q_.js → register.setup-NiDBVZE2.js} +35 -35
  256. package/dist/{register.status-health-sessions-BryhDGnZ.js → register.status-health-sessions-C5noW7M3.js} +35 -35
  257. package/dist/{register.status-health-sessions-2QNhX3pX.js → register.status-health-sessions-CTErhiR9.js} +33 -33
  258. package/dist/{register.subclis-Dxm9Un5O.js → register.subclis-E_1XOkdf.js} +29 -29
  259. package/dist/{replies-DFjjnJ3D.js → replies-BVeiOxGr.js} +1 -1
  260. package/dist/{replies-B-xLfipR.js → replies-BWgZR_w5.js} +1 -1
  261. package/dist/{replies-j1a_GMFx.js → replies-CNJXJgMU.js} +1 -1
  262. package/dist/{replies-BQj0lY4W.js → replies-CsUBFXf6.js} +1 -1
  263. package/dist/{reply-WdyooxLc.js → reply-DAMo5JhO.js} +70 -47
  264. package/dist/{routes-CRgMkkG0.js → routes-2b4mQUhe.js} +3 -3
  265. package/dist/{routes-K5Fj1g7Q.js → routes-C8PNEZ8b.js} +3 -3
  266. package/dist/{rpc-BWtktGFm.js → rpc-IXmOgc1l.js} +1 -1
  267. package/dist/{rpc-P3TWbEaf.js → rpc-k8pnK8TE.js} +1 -1
  268. package/dist/{run-main-CijnQAcO.js → run-main-Cv91hLSK.js} +49 -49
  269. package/dist/{runner-ef6nFMvq.js → runner-COpebDew.js} +2 -2
  270. package/dist/{runner-DOVS95oz.js → runner-CSdQSvE8.js} +3 -3
  271. package/dist/{runner-B59C4Wdw.js → runner-C_BlQ2fG.js} +3 -3
  272. package/dist/{runner-B97ZHSOs.js → runner-QX0Z6K1w.js} +2 -2
  273. package/dist/{sandbox-LreyCjoX.js → sandbox-BOVopTqv.js} +6 -6
  274. package/dist/{sandbox-DiPHRUDK.js → sandbox-CDxHBl3I.js} +6 -6
  275. package/dist/{sandbox-cli-Cb7iGM1l.js → sandbox-cli-0eu7BCa8.js} +8 -8
  276. package/dist/{sandbox-cli-B7p0Hp3r.js → sandbox-cli-BpfYaZBG.js} +8 -8
  277. package/dist/{security-cli-DALRwIjj.js → security-cli-BsStEfWU.js} +11 -11
  278. package/dist/{security-cli-DqVGrNy5.js → security-cli-Cxmb5Rpv.js} +11 -11
  279. package/dist/{send-DAbxpmwe.js → send-AbhXOS2H.js} +1 -1
  280. package/dist/{send-Dc09jNH2.js → send-B7aHpAco.js} +1 -1
  281. package/dist/{send-cpH_yqHj.js → send-B9_a63ZG.js} +1 -1
  282. package/dist/{send-B3j7hxxO.js → send-BKhluIbb.js} +1 -1
  283. package/dist/{send-brznOT92.js → send-BahPjsMR.js} +1 -1
  284. package/dist/{send-Co9egPXG.js → send-BcvVKfh2.js} +1 -1
  285. package/dist/{send-CkIwAjAB.js → send-BuJyyJe7.js} +1 -1
  286. package/dist/{send-BhKkBArw.js → send-C0K_2AUP.js} +1 -1
  287. package/dist/{send-CXuAFSJP.js → send-CBcCKe5w.js} +1 -1
  288. package/dist/{send-CuuFC05i.js → send-CCmxHtaA.js} +1 -1
  289. package/dist/{send-DlsuAlpS.js → send-CaUqpyyp.js} +1 -1
  290. package/dist/{send-EHiP2shE.js → send-D8AIYNR_.js} +1 -1
  291. package/dist/{send-Djb958bI.js → send-DFftzTHo.js} +1 -1
  292. package/dist/{send-BZZ4_x4c.js → send-Dmb0z8Yy.js} +1 -1
  293. package/dist/{send-C2rS0q26.js → send-DnsTDCll.js} +1 -1
  294. package/dist/{send-BMoIcGXM.js → send-H2g9Eaud.js} +1 -1
  295. package/dist/{send-CmP1lu-b.js → send-Yzy50T1h.js} +1 -1
  296. package/dist/{send-cM1DDAnI.js → send-pFcMiyew.js} +1 -1
  297. package/dist/{send-BlSnzj96.js → send-vqwluhp3.js} +1 -1
  298. package/dist/{send-Dkhr43v-.js → send-xTfsDEE2.js} +1 -1
  299. package/dist/{server-context-B4j3P5K6.js → server-context-BBaojT7U.js} +5 -5
  300. package/dist/{server-context-2Vn21Z8T.js → server-context-C2gfYdh8.js} +5 -5
  301. package/dist/{server-methods-DcQq8SQr.js → server-methods-CXL1Nrbp.js} +61 -21
  302. package/dist/{server-methods-Db4Zr1Uh.js → server-methods-C_rhjm5p.js} +60 -20
  303. package/dist/{server-node-events-C_v8BnlG.js → server-node-events-B_UZBZn_.js} +29 -29
  304. package/dist/{server-node-events-CaL-a5Ml.js → server-node-events-CdUVoXvg.js} +30 -30
  305. package/dist/{session-C33JrUuB.js → session-BGKShBIy.js} +1 -1
  306. package/dist/{session-DLof5lJz.js → session-BTLA3Rm7.js} +1 -1
  307. package/dist/{session-L_LqHxcV.js → session-BuAvI2u-.js} +1 -1
  308. package/dist/{session-BddH7QoH.js → session-tLyG4haq.js} +1 -1
  309. package/dist/{session-utils-Ch5rIQbz.js → session-utils-BPXkhuNM.js} +3 -3
  310. package/dist/{sessions-oOAi4H3s.js → sessions-BPD85pWA.js} +1 -1
  311. package/dist/{sessions-C8h-0oVK.js → sessions-BeYHj0gr.js} +1 -1
  312. package/dist/{sessions-RfQP0zIn.js → sessions-NTd36-CO.js} +3 -3
  313. package/dist/{shared-CF9jxSQs.js → shared-D8j919CK.js} +1 -1
  314. package/dist/{shared-DxlCJeK_.js → shared-DdGOSL9s.js} +1 -1
  315. package/dist/{skill-commands-CIkcmGzD.js → skill-commands-BMu-U3SX.js} +1 -1
  316. package/dist/{skill-commands-BVeV_mpq.js → skill-commands-BSJONVkt.js} +1 -1
  317. package/dist/{skill-commands-Cg_ajTBC.js → skill-commands-CkqZdod4.js} +1 -1
  318. package/dist/{skill-commands-eaynYuR6.js → skill-commands-D1hG6Ikz.js} +1 -1
  319. package/dist/{skills-6jdJQ5ZL.js → skills-BG8FpqDp.js} +1 -1
  320. package/dist/{skills-Bs0AW1g3.js → skills-CXxrn_e2.js} +1 -1
  321. package/dist/{skills-hAdgFdrv.js → skills-D_oCiaQn.js} +1 -1
  322. package/dist/{skills-BNpGMnp-.js → skills-XEbTRNYL.js} +1 -1
  323. package/dist/{skills-cli-o6AfvfLb.js → skills-cli-BIURlIkS.js} +6 -6
  324. package/dist/{skills-cli-Cf7sLA5e.js → skills-cli-DBDVQeo4.js} +6 -6
  325. package/dist/{skills-install-CWVdJkLn.js → skills-install-D8JjjETa.js} +1 -1
  326. package/dist/{skills-install-1ZdwGTnh.js → skills-install-Por3jP0P.js} +1 -1
  327. package/dist/{skills-status-C3ptXwnh.js → skills-status-CKmK1hOo.js} +1 -1
  328. package/dist/{skills-status-DKXJ-tbi.js → skills-status-DODCG6UU.js} +1 -1
  329. package/dist/{status-B17aJsTi.js → status-CzI_lZth.js} +11 -11
  330. package/dist/{status-DALZR6Rh.js → status-DQQ-w3eF.js} +12 -12
  331. package/dist/{status-BddhZm3Y.js → status-Drn5xFtL.js} +2 -2
  332. package/dist/{status-BSd4QQZY.js → status-Ds4oB9tJ.js} +2 -2
  333. package/dist/{status.update-DEn_vM2K.js → status.update-BGSQrlxW.js} +1 -1
  334. package/dist/{status.update-DFx1sm1w.js → status.update-C1I_7XIo.js} +1 -1
  335. package/dist/{subagent-registry-DLyi3sgU.js → subagent-registry-CfoRc8ng.js} +71 -48
  336. package/dist/{system-cli-BfQs2bCu.js → system-cli-CQNazJoF.js} +4 -4
  337. package/dist/{system-cli-DjQq8evF.js → system-cli-DnlgTnqh.js} +4 -4
  338. package/dist/{systemd-hints-CitUdPEJ.js → systemd-hints-BWjICrbb.js} +1 -1
  339. package/dist/{systemd-hints-nyPn6fDv.js → systemd-hints-G9M4s_fF.js} +1 -1
  340. package/dist/{tui-D1JLyFne.js → tui-CXTwJqpz.js} +4 -4
  341. package/dist/{tui-D1DDOQ5b.js → tui-DTW81r9y.js} +4 -4
  342. package/dist/{tui-cli-D9jJkoxe.js → tui-cli-DGmt1Xs0.js} +11 -11
  343. package/dist/{tui-cli-9g2Fi07C.js → tui-cli-KiaTeKr0.js} +11 -11
  344. package/dist/{unified-runner-Dxj9fcQO.js → unified-runner-DweFv8Vx.js} +63 -40
  345. package/dist/{update-DEMKx4eC.js → update-BWwyHVQj.js} +1 -1
  346. package/dist/{update-Ya0e-JnM.js → update-DdQCEAVD.js} +1 -1
  347. package/dist/{update-cli-C0D0gizK.js → update-cli-Ba4La00X.js} +44 -44
  348. package/dist/{update-cli-CqLTiVU8.js → update-cli-BkJZPKh8.js} +46 -46
  349. package/dist/{update-runner-DRxTynZP.js → update-runner-CqWSrJXt.js} +1 -1
  350. package/dist/{update-runner-DnEVHl6G.js → update-runner-w3GO-spo.js} +1 -1
  351. package/dist/{web-1apyUJY6.js → web-0cG6_ynp.js} +32 -32
  352. package/dist/{web-DRQN-o-U.js → web-9rrJ5lZr.js} +19 -19
  353. package/dist/{web-CpLsElI8.js → web-Cx3SfQiX.js} +19 -19
  354. package/dist/{web-BTM-eHmT.js → web-DHAEIalz.js} +32 -32
  355. package/dist/{webhooks-cli-CVYW5w5y.js → webhooks-cli-UuxPLc9l.js} +3 -3
  356. package/dist/{webhooks-cli-Bgc_FCJP.js → webhooks-cli-YK0wXLCn.js} +3 -3
  357. package/dist/{whatsapp-actions-BWd0ZXyg.js → whatsapp-actions-3wS2mDjT.js} +3 -3
  358. package/dist/{whatsapp-actions-doS0R248.js → whatsapp-actions-CiXMwRR8.js} +3 -3
  359. package/dist/{whatsapp-actions-BA9n6KQd.js → whatsapp-actions-DyfuVva4.js} +3 -3
  360. package/dist/{whatsapp-actions-DqA8SCfH.js → whatsapp-actions-qetg6Gkh.js} +3 -3
  361. package/dist/{with-timeout-Cei98OCY.js → with-timeout-BIXdW2Bg.js} +1 -1
  362. package/dist/{with-timeout-DLKss9E3.js → with-timeout-emS7y-kf.js} +1 -1
  363. package/extensions/bluebubbles/package.json +1 -1
  364. package/extensions/copilot-proxy/package.json +1 -1
  365. package/extensions/diagnostics-otel/package.json +1 -1
  366. package/extensions/discord/package.json +1 -1
  367. package/extensions/feishu/package.json +1 -1
  368. package/extensions/google-antigravity-auth/package.json +1 -1
  369. package/extensions/google-gemini-cli-auth/package.json +1 -1
  370. package/extensions/googlechat/package.json +1 -1
  371. package/extensions/imessage/package.json +1 -1
  372. package/extensions/irc/package.json +1 -1
  373. package/extensions/learning-loop/package.json +1 -1
  374. package/extensions/line/package.json +1 -1
  375. package/extensions/llm-task/package.json +1 -1
  376. package/extensions/matrix/CHANGELOG.md +6 -0
  377. package/extensions/matrix/package.json +1 -1
  378. package/extensions/mattermost/package.json +1 -1
  379. package/extensions/memory-core/package.json +1 -1
  380. package/extensions/memory-lancedb/package.json +1 -1
  381. package/extensions/minimax-portal-auth/package.json +1 -1
  382. package/extensions/msteams/CHANGELOG.md +6 -0
  383. package/extensions/msteams/package.json +1 -1
  384. package/extensions/nextcloud-talk/package.json +1 -1
  385. package/extensions/nostr/CHANGELOG.md +6 -0
  386. package/extensions/nostr/package.json +1 -1
  387. package/extensions/open-prose/package.json +1 -1
  388. package/extensions/outlook/package.json +1 -1
  389. package/extensions/pipeline/package.json +1 -1
  390. package/extensions/signal/package.json +1 -1
  391. package/extensions/slack/package.json +1 -1
  392. package/extensions/telegram/package.json +1 -1
  393. package/extensions/tlon/package.json +1 -1
  394. package/extensions/twitch/CHANGELOG.md +6 -0
  395. package/extensions/twitch/package.json +1 -1
  396. package/extensions/voice-call/CHANGELOG.md +6 -0
  397. package/extensions/voice-call/package.json +1 -1
  398. package/extensions/whatsapp/package.json +1 -1
  399. package/extensions/zalo/CHANGELOG.md +6 -0
  400. package/extensions/zalo/package.json +1 -1
  401. package/extensions/zalouser/CHANGELOG.md +6 -0
  402. package/extensions/zalouser/package.json +1 -1
  403. package/package.json +1 -1
  404. package/skills/connect-email/SKILL.md +141 -0
  405. package/dist/plugin-sdk/web-C9dYYAlm.js +0 -66
@@ -33,7 +33,7 @@ const shouldEagerRegisterSubcommands = (_argv) => {
33
33
  return isTruthyEnvValue(process.env.SYMI_DISABLE_LAZY_SUBCOMMANDS);
34
34
  };
35
35
  const loadConfig = async () => {
36
- return (await import("./config-XZ7orePK.js").then((n) => n.t)).loadConfig();
36
+ return (await import("./config-DXt3pc08.js").then((n) => n.t)).loadConfig();
37
37
  };
38
38
  const entries = [
39
39
  {
@@ -41,7 +41,7 @@ const entries = [
41
41
  description: "Agent Control Protocol tools",
42
42
  hasSubcommands: true,
43
43
  register: async (program) => {
44
- (await import("./acp-cli-CeN5gs7J.js")).registerAcpCli(program);
44
+ (await import("./acp-cli-6peVIuMz.js")).registerAcpCli(program);
45
45
  }
46
46
  },
47
47
  {
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-EspQMxcD.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-DcrPLnL3.js")).registerGatewayCli(program);
53
53
  }
54
54
  },
55
55
  {
@@ -57,7 +57,7 @@ const entries = [
57
57
  description: "Gateway service (legacy alias)",
58
58
  hasSubcommands: true,
59
59
  register: async (program) => {
60
- (await import("./daemon-cli-DGXcyiDn.js").then((n) => n.t)).registerDaemonCli(program);
60
+ (await import("./daemon-cli-BRMcpQb7.js").then((n) => n.t)).registerDaemonCli(program);
61
61
  }
62
62
  },
63
63
  {
@@ -65,7 +65,7 @@ const entries = [
65
65
  description: "Tail gateway file logs via RPC",
66
66
  hasSubcommands: false,
67
67
  register: async (program) => {
68
- (await import("./logs-cli-wAogU3fl.js")).registerLogsCli(program);
68
+ (await import("./logs-cli-DWqkAMwy.js")).registerLogsCli(program);
69
69
  }
70
70
  },
71
71
  {
@@ -73,7 +73,7 @@ const entries = [
73
73
  description: "System events, heartbeat, and presence",
74
74
  hasSubcommands: true,
75
75
  register: async (program) => {
76
- (await import("./system-cli-BfQs2bCu.js")).registerSystemCli(program);
76
+ (await import("./system-cli-CQNazJoF.js")).registerSystemCli(program);
77
77
  }
78
78
  },
79
79
  {
@@ -81,7 +81,7 @@ const entries = [
81
81
  description: "Discover, scan, and configure models",
82
82
  hasSubcommands: true,
83
83
  register: async (program) => {
84
- (await import("./models-cli-CmU3OOJG.js")).registerModelsCli(program);
84
+ (await import("./models-cli-Cxo55E0S.js")).registerModelsCli(program);
85
85
  }
86
86
  },
87
87
  {
@@ -89,7 +89,7 @@ const entries = [
89
89
  description: "Manage exec approvals (gateway or node host)",
90
90
  hasSubcommands: true,
91
91
  register: async (program) => {
92
- (await import("./exec-approvals-cli-Be49SVlp.js")).registerExecApprovalsCli(program);
92
+ (await import("./exec-approvals-cli-CWpi7F1X.js")).registerExecApprovalsCli(program);
93
93
  }
94
94
  },
95
95
  {
@@ -97,7 +97,7 @@ const entries = [
97
97
  description: "Manage gateway-owned node pairing and node commands",
98
98
  hasSubcommands: true,
99
99
  register: async (program) => {
100
- (await import("./nodes-cli-D1Fz0Q2m.js")).registerNodesCli(program);
100
+ (await import("./nodes-cli-seBKfjdd.js")).registerNodesCli(program);
101
101
  }
102
102
  },
103
103
  {
@@ -105,7 +105,7 @@ const entries = [
105
105
  description: "Device pairing + token management",
106
106
  hasSubcommands: true,
107
107
  register: async (program) => {
108
- (await import("./devices-cli-CCyr0lUw.js")).registerDevicesCli(program);
108
+ (await import("./devices-cli-C7aaQeFG.js")).registerDevicesCli(program);
109
109
  }
110
110
  },
111
111
  {
@@ -113,7 +113,7 @@ const entries = [
113
113
  description: "Run and manage the headless node host service",
114
114
  hasSubcommands: true,
115
115
  register: async (program) => {
116
- (await import("./node-cli-dsjkpZpf.js")).registerNodeCli(program);
116
+ (await import("./node-cli-jnHMAtfE.js")).registerNodeCli(program);
117
117
  }
118
118
  },
119
119
  {
@@ -121,7 +121,7 @@ const entries = [
121
121
  description: "Manage sandbox containers for agent isolation",
122
122
  hasSubcommands: true,
123
123
  register: async (program) => {
124
- (await import("./sandbox-cli-B7p0Hp3r.js")).registerSandboxCli(program);
124
+ (await import("./sandbox-cli-BpfYaZBG.js")).registerSandboxCli(program);
125
125
  }
126
126
  },
127
127
  {
@@ -129,7 +129,7 @@ const entries = [
129
129
  description: "Open a terminal UI connected to the Gateway",
130
130
  hasSubcommands: false,
131
131
  register: async (program) => {
132
- (await import("./tui-cli-D9jJkoxe.js")).registerTuiCli(program);
132
+ (await import("./tui-cli-DGmt1Xs0.js")).registerTuiCli(program);
133
133
  }
134
134
  },
135
135
  {
@@ -137,7 +137,7 @@ const entries = [
137
137
  description: "Manage cron jobs via the Gateway scheduler",
138
138
  hasSubcommands: true,
139
139
  register: async (program) => {
140
- (await import("./cron-cli-DLn4ynWB.js")).registerCronCli(program);
140
+ (await import("./cron-cli-DBt3Lxhm.js")).registerCronCli(program);
141
141
  }
142
142
  },
143
143
  {
@@ -145,7 +145,7 @@ const entries = [
145
145
  description: "DNS helpers for wide-area discovery (Tailscale + CoreDNS)",
146
146
  hasSubcommands: true,
147
147
  register: async (program) => {
148
- (await import("./dns-cli-XEIAfGBW.js")).registerDnsCli(program);
148
+ (await import("./dns-cli-HQ5yjLoE.js")).registerDnsCli(program);
149
149
  }
150
150
  },
151
151
  {
@@ -153,7 +153,7 @@ const entries = [
153
153
  description: "Search the live Symi docs",
154
154
  hasSubcommands: false,
155
155
  register: async (program) => {
156
- (await import("./docs-cli-BB4yLXGO.js")).registerDocsCli(program);
156
+ (await import("./docs-cli-BOa4OKW4.js")).registerDocsCli(program);
157
157
  }
158
158
  },
159
159
  {
@@ -161,7 +161,7 @@ const entries = [
161
161
  description: "Manage internal agent hooks",
162
162
  hasSubcommands: true,
163
163
  register: async (program) => {
164
- (await import("./hooks-cli-1hn9EEhc.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-nKBiWE2v.js")).registerHooksCli(program);
165
165
  }
166
166
  },
167
167
  {
@@ -169,7 +169,7 @@ const entries = [
169
169
  description: "Webhook helpers and integrations",
170
170
  hasSubcommands: true,
171
171
  register: async (program) => {
172
- (await import("./webhooks-cli-Bgc_FCJP.js")).registerWebhooksCli(program);
172
+ (await import("./webhooks-cli-YK0wXLCn.js")).registerWebhooksCli(program);
173
173
  }
174
174
  },
175
175
  {
@@ -177,7 +177,7 @@ const entries = [
177
177
  description: "Generate iOS pairing QR/setup code",
178
178
  hasSubcommands: false,
179
179
  register: async (program) => {
180
- (await import("./qr-cli-CGO65wLz.js")).registerQrCli(program);
180
+ (await import("./qr-cli-D_7jTOhP.js")).registerQrCli(program);
181
181
  }
182
182
  },
183
183
  {
@@ -185,9 +185,9 @@ const entries = [
185
185
  description: "Secure DM pairing (approve inbound requests)",
186
186
  hasSubcommands: true,
187
187
  register: async (program) => {
188
- const { registerPluginCliCommands } = await import("./cli-Chwue7dC.js");
188
+ const { registerPluginCliCommands } = await import("./cli-C0zcu-AX.js");
189
189
  registerPluginCliCommands(program, await loadConfig());
190
- (await import("./pairing-cli-DOtEC7pl.js")).registerPairingCli(program);
190
+ (await import("./pairing-cli-C8KSZlA7.js")).registerPairingCli(program);
191
191
  }
192
192
  },
193
193
  {
@@ -195,8 +195,8 @@ const entries = [
195
195
  description: "Manage Symi plugins and extensions",
196
196
  hasSubcommands: true,
197
197
  register: async (program) => {
198
- (await import("./plugins-cli-uIEn-Rls.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-Chwue7dC.js");
198
+ (await import("./plugins-cli-DJM_xxIg.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-C0zcu-AX.js");
200
200
  registerPluginCliCommands(program, await loadConfig());
201
201
  }
202
202
  },
@@ -205,7 +205,7 @@ const entries = [
205
205
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
206
206
  hasSubcommands: true,
207
207
  register: async (program) => {
208
- (await import("./channels-cli-CIApZn8b.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli-CGOOVbGf.js")).registerChannelsCli(program);
209
209
  }
210
210
  },
211
211
  {
@@ -213,7 +213,7 @@ const entries = [
213
213
  description: "Lookup contact and group IDs (self, peers, groups) for supported chat channels",
214
214
  hasSubcommands: true,
215
215
  register: async (program) => {
216
- (await import("./directory-cli-JgFtCkve.js")).registerDirectoryCli(program);
216
+ (await import("./directory-cli-CQ5O6Z5j.js")).registerDirectoryCli(program);
217
217
  }
218
218
  },
219
219
  {
@@ -221,7 +221,7 @@ const entries = [
221
221
  description: "Security tools and local config audits",
222
222
  hasSubcommands: true,
223
223
  register: async (program) => {
224
- (await import("./security-cli-DALRwIjj.js")).registerSecurityCli(program);
224
+ (await import("./security-cli-BsStEfWU.js")).registerSecurityCli(program);
225
225
  }
226
226
  },
227
227
  {
@@ -229,7 +229,7 @@ const entries = [
229
229
  description: "List and inspect available skills",
230
230
  hasSubcommands: true,
231
231
  register: async (program) => {
232
- (await import("./skills-cli-Cf7sLA5e.js")).registerSkillsCli(program);
232
+ (await import("./skills-cli-DBDVQeo4.js")).registerSkillsCli(program);
233
233
  }
234
234
  },
235
235
  {
@@ -237,7 +237,7 @@ const entries = [
237
237
  description: "Update Symi and inspect update channel status",
238
238
  hasSubcommands: true,
239
239
  register: async (program) => {
240
- (await import("./update-cli-CqLTiVU8.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-BkJZPKh8.js")).registerUpdateCli(program);
241
241
  }
242
242
  },
243
243
  {
@@ -245,7 +245,7 @@ const entries = [
245
245
  description: "Generate shell completion script",
246
246
  hasSubcommands: false,
247
247
  register: async (program) => {
248
- (await import("./completion-cli-C6CUvtmX.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-B1wj8Q43.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BMoIcGXM.js";
2
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-H2g9Eaud.js";
3
3
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
4
4
  import { i as chunkMarkdownTextWithMode } from "./chunk-1dhPX1NK.js";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Dc09jNH2.js";
2
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-B7aHpAco.js";
3
3
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-W0JzCJJM.js";
4
4
  import { i as chunkMarkdownTextWithMode } from "./chunk-BHW8Yu5A.js";
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Cn6drXx2.js";
3
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-CkIwAjAB.js";
3
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BuJyyJe7.js";
4
4
  import { i as chunkMarkdownTextWithMode } from "./chunk-DTMTDXwE.js";
5
5
 
6
6
  //#region src/auto-reply/reply/reply-reference.ts
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
3
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Co9egPXG.js";
3
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BcvVKfh2.js";
4
4
  import { i as chunkMarkdownTextWithMode } from "./chunk-CQyUJNtc.js";
5
5
 
6
6
  //#region src/auto-reply/reply/reply-reference.ts
@@ -14,34 +14,34 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
16
16
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-B3j7hxxO.js";
18
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Cz_ObCzY.js";
19
- import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BKhluIbb.js";
18
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-PXAJCHa5.js";
19
+ import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-BDSRH8nU.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-B59C4Wdw.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-Bd9ilPV9.js";
26
- import { t as ensureSymiModelsJson } from "./models-config-C7LKdahT.js";
24
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-C_BlQ2fG.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-D_qN_IxA.js";
26
+ import { t as ensureSymiModelsJson } from "./models-config-B91ShhoT.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-BqeG6ogg.js";
29
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-LreyCjoX.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CDPH3KAn.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-2Vn21Z8T.js";
32
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-6jdJQ5ZL.js";
28
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-DpOccVre.js";
29
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-BOVopTqv.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BJvuH-NZ.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-C2gfYdh8.js";
32
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BG8FpqDp.js";
33
33
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
34
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
36
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
37
37
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-C8h-0oVK.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-BeYHj0gr.js";
39
39
  import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
40
40
  import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
41
41
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
42
42
  import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
43
43
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
44
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BMoIcGXM.js";
44
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-H2g9Eaud.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
@@ -51,16 +51,16 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
52
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
53
  import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Bkny3qg9.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Dex2EDUJ.js";
55
55
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-DLKss9E3.js";
57
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-Co2XquFO.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-emS7y-kf.js";
57
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-lG9ITE8w.js";
58
58
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CH0skkp6.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Djb958bI.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DFftzTHo.js";
61
61
  import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
62
62
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-MMLg1Ccf.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-AoMrHA5O.js";
64
64
  import { i as resolveMemorySearchConfig } from "./manager-B2Yd9HdF.js";
65
65
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
66
66
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-7AvoVa10.js";
@@ -70,23 +70,23 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
70
70
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
71
71
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-B6cf3Cmq.js";
72
72
  import { It as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-B8xmq-Pw.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CtiVeyeQ.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BHn18ubR.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
77
77
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
78
78
  import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-cM1DDAnI.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-pFcMiyew.js";
80
80
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BRM-hV6H.js";
81
81
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
83
83
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BMoTaVAH.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DFjjnJ3D.js";
85
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-CIkcmGzD.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BVeiOxGr.js";
85
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-BMu-U3SX.js";
86
86
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-wOW5rGEs.js";
87
87
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BXAI7CNH.js";
88
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-CXuAFSJP.js";
89
- import { r as detectBinary } from "./onboard-helpers-B1El5sBR.js";
88
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-CBcCKe5w.js";
89
+ import { r as detectBinary } from "./onboard-helpers-BFyI1sla.js";
90
90
  import { t as resolvePairingIdLabel } from "./pairing-labels-BScqzHEx.js";
91
91
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BgUx3Bm4.js";
92
92
  import { t as getActiveWebListener } from "./active-listener-SKkHHqlN.js";
@@ -94,8 +94,8 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
94
94
  import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-8Bq7DiSa.js";
95
95
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CdUiymRU.js";
96
96
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CaTOIqVn.js";
97
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DN0wUEFa.js";
98
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Cqck1Zry.js";
97
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BpN-v9bT.js";
98
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-D0IdaeI8.js";
99
99
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CvFURHzt.js";
100
100
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CafH8-8D.js";
101
101
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-V2xDgw16.js";
@@ -10416,7 +10416,7 @@ async function routeReply(params) {
10416
10416
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10417
10417
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10418
10418
  try {
10419
- const { deliverOutboundPayloads } = await import("./deliver-Co2XquFO.js").then((n) => n.n);
10419
+ const { deliverOutboundPayloads } = await import("./deliver-lG9ITE8w.js").then((n) => n.n);
10420
10420
  return {
10421
10421
  ok: true,
10422
10422
  messageId: (await deliverOutboundPayloads({
@@ -12966,7 +12966,7 @@ async function describeStickerImage(params) {
12966
12966
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
12967
12967
  try {
12968
12968
  const buffer = await fs$1.readFile(imagePath);
12969
- const { describeImageWithModel } = await import("./image-Bd9ilPV9.js").then((n) => n.n);
12969
+ const { describeImageWithModel } = await import("./image-D_qN_IxA.js").then((n) => n.n);
12970
12970
  return (await describeImageWithModel({
12971
12971
  buffer,
12972
12972
  fileName: "sticker.webp",
@@ -13389,7 +13389,7 @@ function createWhatsAppLoginTool() {
13389
13389
  force: Type.Optional(Type.Boolean())
13390
13390
  }),
13391
13391
  execute: async (_toolCallId, args) => {
13392
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BnV3nWaD.js");
13392
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-B0SnFKfa.js");
13393
13393
  if ((args?.action ?? "start") === "wait") {
13394
13394
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13395
13395
  return {
@@ -15605,7 +15605,7 @@ async function preflightDiscordMessage(params) {
15605
15605
  let preflightTranscript;
15606
15606
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15607
15607
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15608
- const { transcribeFirstAudio } = await import("./audio-preflight-3Wa38hZz.js");
15608
+ const { transcribeFirstAudio } = await import("./audio-preflight-DJXj9QP9.js");
15609
15609
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15610
15610
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15611
15611
  ctx: {
@@ -27131,6 +27131,27 @@ function appendCacheTtlTimestamp(sessionManager, data) {
27131
27131
  } catch {}
27132
27132
  }
27133
27133
 
27134
+ //#endregion
27135
+ //#region src/agents/pi-embedded-runner/email-capability-prompt.ts
27136
+ /**
27137
+ * Always-on system-prompt block that advertises Symi's email capabilities and
27138
+ * points the model at the `connect-email` skill. Fixes the failure mode where
27139
+ * the model denied email support because no profile's `promptAdditions`
27140
+ * mentioned it — see the sandbox2 interaction that motivated this.
27141
+ *
27142
+ * Sibling of `buildLongTaskPromptSuffix`; spliced at the same site in
27143
+ * `run/attempt.ts` so every profile (Claude, Gemma, Qwen, Nemotron, Ollama)
27144
+ * sees it.
27145
+ */
27146
+ function buildEmailCapabilityPromptSuffix() {
27147
+ return "\n\n" + [
27148
+ "EMAIL CAPABILITIES:",
27149
+ "- 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).",
27150
+ "- 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.",
27151
+ "- Do NOT guess email setup steps. Do NOT claim email is unsupported."
27152
+ ].join("\n");
27153
+ }
27154
+
27134
27155
  //#endregion
27135
27156
  //#region src/agents/pi-extensions/session-manager-runtime-registry.ts
27136
27157
  function createSessionManagerRuntimeRegistry() {
@@ -29971,11 +29992,13 @@ async function runEmbeddedAttempt(params) {
29971
29992
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
29972
29993
  log$7.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
29973
29994
  const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
29974
- const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
29995
+ const longTaskSuffix = await buildLongTaskPromptSuffix({
29975
29996
  argv1: process.argv[1],
29976
29997
  cwd: process.cwd(),
29977
29998
  moduleUrl: import.meta.url
29978
- }) + profilePromptSuffix)();
29999
+ });
30000
+ const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
30001
+ const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
29979
30002
  const sessionLock = await acquireSessionWriteLock({
29980
30003
  sessionFile: params.sessionFile,
29981
30004
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -31784,27 +31807,27 @@ async function runAgentTurn(params) {
31784
31807
  function createDefaultDeps() {
31785
31808
  return {
31786
31809
  sendMessageWhatsApp: async (...args) => {
31787
- const { sendMessageWhatsApp } = await import("./web-1apyUJY6.js");
31810
+ const { sendMessageWhatsApp } = await import("./web-0cG6_ynp.js");
31788
31811
  return await sendMessageWhatsApp(...args);
31789
31812
  },
31790
31813
  sendMessageTelegram: async (...args) => {
31791
- const { sendMessageTelegram } = await import("./send-Djb958bI.js").then((n) => n.l);
31814
+ const { sendMessageTelegram } = await import("./send-DFftzTHo.js").then((n) => n.l);
31792
31815
  return await sendMessageTelegram(...args);
31793
31816
  },
31794
31817
  sendMessageDiscord: async (...args) => {
31795
- const { sendMessageDiscord } = await import("./send-B3j7hxxO.js").then((n) => n.t);
31818
+ const { sendMessageDiscord } = await import("./send-BKhluIbb.js").then((n) => n.t);
31796
31819
  return await sendMessageDiscord(...args);
31797
31820
  },
31798
31821
  sendMessageSlack: async (...args) => {
31799
- const { sendMessageSlack } = await import("./send-BMoIcGXM.js").then((n) => n.n);
31822
+ const { sendMessageSlack } = await import("./send-H2g9Eaud.js").then((n) => n.n);
31800
31823
  return await sendMessageSlack(...args);
31801
31824
  },
31802
31825
  sendMessageSignal: async (...args) => {
31803
- const { sendMessageSignal } = await import("./send-cM1DDAnI.js").then((n) => n.i);
31826
+ const { sendMessageSignal } = await import("./send-pFcMiyew.js").then((n) => n.i);
31804
31827
  return await sendMessageSignal(...args);
31805
31828
  },
31806
31829
  sendMessageIMessage: async (...args) => {
31807
- const { sendMessageIMessage } = await import("./send-CXuAFSJP.js").then((n) => n.n);
31830
+ const { sendMessageIMessage } = await import("./send-CBcCKe5w.js").then((n) => n.n);
31808
31831
  return await sendMessageIMessage(...args);
31809
31832
  }
31810
31833
  };
@@ -43355,7 +43378,7 @@ async function registerSlackMonitorSlashCommands(params) {
43355
43378
  });
43356
43379
  const deliverSlashPayloads = async (replies) => {
43357
43380
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
43358
- import("./replies-DFjjnJ3D.js").then((n) => n.r),
43381
+ import("./replies-BVeiOxGr.js").then((n) => n.r),
43359
43382
  import("./chunk-1dhPX1NK.js").then((n) => n.s),
43360
43383
  import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
43361
43384
  ]);
@@ -43410,7 +43433,7 @@ async function registerSlackMonitorSlashCommands(params) {
43410
43433
  let nativeCommands = [];
43411
43434
  if (nativeEnabled) {
43412
43435
  reg = await getCommandsRegistry();
43413
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CIkcmGzD.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
43436
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BMu-U3SX.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
43414
43437
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
43415
43438
  skillCommands,
43416
43439
  provider: "slack"
@@ -48049,7 +48072,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
48049
48072
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
48050
48073
  let preflightTranscript;
48051
48074
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
48052
- const { transcribeFirstAudio } = await import("./audio-preflight-3Wa38hZz.js");
48075
+ const { transcribeFirstAudio } = await import("./audio-preflight-DJXj9QP9.js");
48053
48076
  preflightTranscript = await transcribeFirstAudio({
48054
48077
  ctx: {
48055
48078
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -50203,23 +50226,23 @@ let webLoginQrPromise = null;
50203
50226
  let webChannelPromise = null;
50204
50227
  let whatsappActionsPromise = null;
50205
50228
  function loadWebOutbound() {
50206
- webOutboundPromise ??= import("./outbound-BfHd69Dr.js").then((n) => n.t);
50229
+ webOutboundPromise ??= import("./outbound-XakUc977.js").then((n) => n.t);
50207
50230
  return webOutboundPromise;
50208
50231
  }
50209
50232
  function loadWebLogin() {
50210
- webLoginPromise ??= import("./login-BKjGtdQb.js").then((n) => n.n);
50233
+ webLoginPromise ??= import("./login-DiorUpLk.js").then((n) => n.n);
50211
50234
  return webLoginPromise;
50212
50235
  }
50213
50236
  function loadWebLoginQr() {
50214
- webLoginQrPromise ??= import("./login-qr-BnV3nWaD.js");
50237
+ webLoginQrPromise ??= import("./login-qr-B0SnFKfa.js");
50215
50238
  return webLoginQrPromise;
50216
50239
  }
50217
50240
  function loadWebChannel() {
50218
- webChannelPromise ??= import("./web-1apyUJY6.js");
50241
+ webChannelPromise ??= import("./web-0cG6_ynp.js");
50219
50242
  return webChannelPromise;
50220
50243
  }
50221
50244
  function loadWhatsAppActions() {
50222
- whatsappActionsPromise ??= import("./whatsapp-actions-DqA8SCfH.js");
50245
+ whatsappActionsPromise ??= import("./whatsapp-actions-qetg6Gkh.js");
50223
50246
  return whatsappActionsPromise;
50224
50247
  }
50225
50248
  function createPluginRuntime() {
@@ -72918,7 +72941,7 @@ async function deliverSessionMaintenanceWarning(params) {
72918
72941
  return;
72919
72942
  }
72920
72943
  try {
72921
- const { deliverOutboundPayloads } = await import("./deliver-Co2XquFO.js").then((n) => n.n);
72944
+ const { deliverOutboundPayloads } = await import("./deliver-lG9ITE8w.js").then((n) => n.n);
72922
72945
  await deliverOutboundPayloads({
72923
72946
  cfg: params.cfg,
72924
72947
  channel,
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
2
- import { i as loadConfig, l as writeConfigFile } from "./config-Cz_ObCzY.js";
3
- import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-CDPH3KAn.js";
4
- import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-2Vn21Z8T.js";
2
+ import { i as loadConfig, l as writeConfigFile } from "./config-PXAJCHa5.js";
3
+ import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-BJvuH-NZ.js";
4
+ import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-C2gfYdh8.js";
5
5
  import { a as resolvePathWithinRoot, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-BBm9fwuG.js";
6
6
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-1OJMSAUX.js";
7
7
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-r1DJSDq-.js";