@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
@@ -4,27 +4,27 @@ import "./exec-CBKBIMpA.js";
4
4
  import "./agent-scope-D-jRCY0d.js";
5
5
  import "./github-copilot-token-DuFIqfeC.js";
6
6
  import "./frontmatter-B8duUx_6.js";
7
- import "./skills-hAdgFdrv.js";
8
- import "./manifest-registry-Czr39pxG.js";
9
- import "./config-XZ7orePK.js";
7
+ import "./skills-D_oCiaQn.js";
8
+ import "./manifest-registry-D5bnO5uA.js";
9
+ import "./config-DXt3pc08.js";
10
10
  import "./client-qUlxXXVJ.js";
11
- import "./call-ple9aZCT.js";
11
+ import "./call-CJl0moIs.js";
12
12
  import "./message-channel-C9dERklz.js";
13
13
  import "./pairing-token-Byh6drgn.js";
14
- import "./sessions-oOAi4H3s.js";
14
+ import "./sessions-BPD85pWA.js";
15
15
  import "./plugins-CwSlLxM8.js";
16
16
  import "./accounts-D9ITgITj.js";
17
17
  import "./bindings-DlWb_Kaq.js";
18
18
  import "./logging-CFvkxgcX.js";
19
19
  import "./accounts-D1eLj5t8.js";
20
20
  import "./image-ops-CUkaZz2F.js";
21
- import "./pi-embedded-helpers-DaWb-3Gv.js";
22
- import "./sandbox-DiPHRUDK.js";
23
- import "./chrome-CWdu8vA2.js";
21
+ import "./pi-embedded-helpers-DSscUmkR.js";
22
+ import "./sandbox-CDxHBl3I.js";
23
+ import "./chrome-D2ohnA09.js";
24
24
  import "./tailscale-CbbvYNVw.js";
25
25
  import "./auth-BfDMhFAj.js";
26
- import "./server-context-B4j3P5K6.js";
27
- import "./routes-K5Fj1g7Q.js";
26
+ import "./server-context-BBaojT7U.js";
27
+ import "./routes-C8PNEZ8b.js";
28
28
  import "./redact-B40lik2B.js";
29
29
  import "./errors-Ba_ROWsq.js";
30
30
  import "./fs-safe-CERgjtot.js";
@@ -43,7 +43,7 @@ import "./commands-registry-CccyRhnX.js";
43
43
  import "./tool-display-CXwOC-qw.js";
44
44
  import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
45
45
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
46
- import { t as runTui } from "./tui-D1DDOQ5b.js";
46
+ import { t as runTui } from "./tui-DTW81r9y.js";
47
47
 
48
48
  //#region src/cli/tui-cli.ts
49
49
  function registerTuiCli(program) {
@@ -10,17 +10,17 @@ import "./github-copilot-token-DAu1a6BX.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
- import "./config-Cz_ObCzY.js";
14
- import "./manifest-registry-C4BxOMWX.js";
15
- import "./pi-embedded-helpers-BqeG6ogg.js";
16
- import "./sandbox-LreyCjoX.js";
17
- import "./chrome-CDPH3KAn.js";
13
+ import "./config-PXAJCHa5.js";
14
+ import "./manifest-registry-BDSRH8nU.js";
15
+ import "./pi-embedded-helpers-DpOccVre.js";
16
+ import "./sandbox-BOVopTqv.js";
17
+ import "./chrome-BJvuH-NZ.js";
18
18
  import "./tailscale-D5dKabOc.js";
19
19
  import "./auth-B741uFtk.js";
20
- import "./server-context-2Vn21Z8T.js";
20
+ import "./server-context-C2gfYdh8.js";
21
21
  import "./frontmatter-DWQhtOo7.js";
22
- import "./skills-6jdJQ5ZL.js";
23
- import "./routes-CRgMkkG0.js";
22
+ import "./skills-BG8FpqDp.js";
23
+ import "./routes-2b4mQUhe.js";
24
24
  import "./redact-f-Q-hFt_.js";
25
25
  import "./errors-BF3TeRH2.js";
26
26
  import "./fs-safe-CUjO1ca2.js";
@@ -30,7 +30,7 @@ import "./image-ops-1OJMSAUX.js";
30
30
  import "./store-r1DJSDq-.js";
31
31
  import "./ports-BOmtxoTv.js";
32
32
  import "./trash-DcMh1i4B.js";
33
- import "./sessions-C8h-0oVK.js";
33
+ import "./sessions-BeYHj0gr.js";
34
34
  import "./dock-BhS32F6E.js";
35
35
  import "./plugins-DKDeQZF0.js";
36
36
  import "./accounts-DDuIpcln.js";
@@ -44,11 +44,11 @@ import "./tool-display-D8N3rsYt.js";
44
44
  import "./commands-BNLCWX6e.js";
45
45
  import "./commands-registry-B6cf3Cmq.js";
46
46
  import "./client-B8xmq-Pw.js";
47
- import "./call-CtiVeyeQ.js";
47
+ import "./call-BHn18ubR.js";
48
48
  import "./pairing-token-CX3NN_qj.js";
49
49
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
50
50
  import { t as parseTimeoutMs } from "./parse-timeout-2S5vp0-9.js";
51
- import { t as runTui } from "./tui-D1JLyFne.js";
51
+ import { t as runTui } from "./tui-CXTwJqpz.js";
52
52
 
53
53
  //#region src/cli/tui-cli.ts
54
54
  function registerTuiCli(program) {
@@ -10,11 +10,11 @@ import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C a
10
10
  import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-CU7jP5wD.js";
14
- 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-CnQmFG2h.js";
15
- import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-yb7sAlu4.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-PSMCM7XH.js";
17
- 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-Bs0AW1g3.js";
13
+ import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BUNbSNWw.js";
14
+ 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-BkZ9HOKT.js";
15
+ import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CBCGTsIb.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-ROtrXlNs.js";
17
+ 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-CXxrn_e2.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
19
19
  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-C7CauEK8.js";
20
20
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DpUUUgkK.js";
@@ -27,17 +27,17 @@ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTele
27
27
  import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
28
28
  import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
29
29
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BuZxOb3B.js";
30
- 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-Dc09jNH2.js";
31
- 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-CmP1lu-b.js";
30
+ 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-B7aHpAco.js";
31
+ 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-Yzy50T1h.js";
32
32
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
33
33
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
34
- 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-DGSxISab.js";
34
+ 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-BC3liFsT.js";
35
35
  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-CQiU0O8b.js";
36
36
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
37
- 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-Dopj30W7.js";
37
+ 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-C6v6m8Id.js";
38
38
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-RXOlh8ar.js";
39
39
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-W0JzCJJM.js";
40
- 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-Dkhr43v-.js";
40
+ 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-xTfsDEE2.js";
41
41
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
43
43
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-DXyJKTj7.js";
@@ -50,19 +50,19 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Cj6k
50
50
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-Se92wAN5.js";
51
51
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-JAy_3A3B.js";
52
52
  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-CfoYlMQB.js";
53
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-B97ZHSOs.js";
54
- 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-eaynYuR6.js";
53
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-QX0Z6K1w.js";
54
+ 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-D1hG6Ikz.js";
55
55
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-Dvqh1Tgb.js";
56
56
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Dnti0cFs.js";
57
57
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BGS2SHjF.js";
58
58
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D-kw83R0.js";
59
59
  import { n as normalizePollInput } from "./polls-BKbIUHj7.js";
60
60
  import { t as convertMarkdownTables } from "./tables-BuM4FKR3.js";
61
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CuuFC05i.js";
62
- 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-BlSnzj96.js";
61
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CCmxHtaA.js";
62
+ 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-vqwluhp3.js";
63
63
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DX7xcMsD.js";
64
64
  import { t as makeProxyFetch } from "./proxy-DVy9foH0.js";
65
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-B-xLfipR.js";
65
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BWgZR_w5.js";
66
66
  import { t as getActiveWebListener } from "./active-listener-Br2FcRv7.js";
67
67
  import { createRequire } from "node:module";
68
68
  import * as path$1 from "node:path";
@@ -81,7 +81,7 @@ import AjvPkg from "ajv";
81
81
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
82
82
  import { createServer } from "node:http";
83
83
  import { ProxyAgent, fetch as fetch$1 } from "undici";
84
- import WebSocket$1, { WebSocket } from "ws";
84
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
85
85
  import { Buffer as Buffer$1 } from "node:buffer";
86
86
  import { EdgeTTS } from "node-edge-tts";
87
87
  import { createJiti } from "jiti";
@@ -8798,7 +8798,7 @@ var GatewayClient = class {
8798
8798
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8799
8799
  });
8800
8800
  }
8801
- this.ws = new WebSocket(url, wsOptions);
8801
+ this.ws = new WebSocket$1(url, wsOptions);
8802
8802
  this.ws.on("open", () => {
8803
8803
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8804
8804
  const tlsError = this.validateTlsFingerprint();
@@ -9017,7 +9017,7 @@ var GatewayClient = class {
9017
9017
  return null;
9018
9018
  }
9019
9019
  async request(method, params, opts) {
9020
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9020
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9021
9021
  const id = randomUUID();
9022
9022
  const frame = {
9023
9023
  type: "req",
@@ -10283,7 +10283,7 @@ async function routeReply(params) {
10283
10283
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10284
10284
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10285
10285
  try {
10286
- const { deliverOutboundPayloads } = await import("./deliver-DGSxISab.js").then((n) => n.n);
10286
+ const { deliverOutboundPayloads } = await import("./deliver-BC3liFsT.js").then((n) => n.n);
10287
10287
  return {
10288
10288
  ok: true,
10289
10289
  messageId: (await deliverOutboundPayloads({
@@ -43724,7 +43724,7 @@ async function deliverSessionMaintenanceWarning(params) {
43724
43724
  return;
43725
43725
  }
43726
43726
  try {
43727
- const { deliverOutboundPayloads } = await import("./deliver-DGSxISab.js").then((n) => n.n);
43727
+ const { deliverOutboundPayloads } = await import("./deliver-BC3liFsT.js").then((n) => n.n);
43728
43728
  await deliverOutboundPayloads({
43729
43729
  cfg: params.cfg,
43730
43730
  channel,
@@ -47170,7 +47170,7 @@ async function describeStickerImage(params) {
47170
47170
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47171
47171
  try {
47172
47172
  const buffer = await fs$1.readFile(imagePath);
47173
- const { describeImageWithModel } = await import("./image-Dopj30W7.js").then((n) => n.n);
47173
+ const { describeImageWithModel } = await import("./image-C6v6m8Id.js").then((n) => n.n);
47174
47174
  return (await describeImageWithModel({
47175
47175
  buffer,
47176
47176
  fileName: "sticker.webp",
@@ -47593,7 +47593,7 @@ function createWhatsAppLoginTool() {
47593
47593
  force: Type.Optional(Type.Boolean())
47594
47594
  }),
47595
47595
  execute: async (_toolCallId, args) => {
47596
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Ca_QjL8s.js");
47596
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-COIr6FGZ.js");
47597
47597
  if ((args?.action ?? "start") === "wait") {
47598
47598
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
47599
47599
  return {
@@ -49832,7 +49832,7 @@ async function preflightDiscordMessage(params) {
49832
49832
  let preflightTranscript;
49833
49833
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49834
49834
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49835
- const { transcribeFirstAudio } = await import("./audio-preflight-BUoEMkmr.js");
49835
+ const { transcribeFirstAudio } = await import("./audio-preflight-DIXDvyz5.js");
49836
49836
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49837
49837
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49838
49838
  ctx: {
@@ -53838,27 +53838,27 @@ function isVoiceChannelType(type) {
53838
53838
  function createDefaultDeps() {
53839
53839
  return {
53840
53840
  sendMessageWhatsApp: async (...args) => {
53841
- const { sendMessageWhatsApp } = await import("./web-DRQN-o-U.js");
53841
+ const { sendMessageWhatsApp } = await import("./web-9rrJ5lZr.js");
53842
53842
  return await sendMessageWhatsApp(...args);
53843
53843
  },
53844
53844
  sendMessageTelegram: async (...args) => {
53845
- const { sendMessageTelegram } = await import("./send-Dkhr43v-.js").then((n) => n.l);
53845
+ const { sendMessageTelegram } = await import("./send-xTfsDEE2.js").then((n) => n.l);
53846
53846
  return await sendMessageTelegram(...args);
53847
53847
  },
53848
53848
  sendMessageDiscord: async (...args) => {
53849
- const { sendMessageDiscord } = await import("./send-CmP1lu-b.js").then((n) => n.t);
53849
+ const { sendMessageDiscord } = await import("./send-Yzy50T1h.js").then((n) => n.t);
53850
53850
  return await sendMessageDiscord(...args);
53851
53851
  },
53852
53852
  sendMessageSlack: async (...args) => {
53853
- const { sendMessageSlack } = await import("./send-Dc09jNH2.js").then((n) => n.n);
53853
+ const { sendMessageSlack } = await import("./send-B7aHpAco.js").then((n) => n.n);
53854
53854
  return await sendMessageSlack(...args);
53855
53855
  },
53856
53856
  sendMessageSignal: async (...args) => {
53857
- const { sendMessageSignal } = await import("./send-CuuFC05i.js").then((n) => n.i);
53857
+ const { sendMessageSignal } = await import("./send-CCmxHtaA.js").then((n) => n.i);
53858
53858
  return await sendMessageSignal(...args);
53859
53859
  },
53860
53860
  sendMessageIMessage: async (...args) => {
53861
- const { sendMessageIMessage } = await import("./send-BlSnzj96.js").then((n) => n.n);
53861
+ const { sendMessageIMessage } = await import("./send-vqwluhp3.js").then((n) => n.n);
53862
53862
  return await sendMessageIMessage(...args);
53863
53863
  }
53864
53864
  };
@@ -56743,7 +56743,7 @@ function createDiscordGatewayPlugin(params) {
56743
56743
  super(options);
56744
56744
  }
56745
56745
  createWebSocket(url) {
56746
- return new WebSocket$1(url, { agent });
56746
+ return new WebSocket(url, { agent });
56747
56747
  }
56748
56748
  }
56749
56749
  return new ProxyGatewayPlugin();
@@ -64688,7 +64688,7 @@ async function registerSlackMonitorSlashCommands(params) {
64688
64688
  });
64689
64689
  const deliverSlashPayloads = async (replies) => {
64690
64690
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64691
- import("./replies-B-xLfipR.js").then((n) => n.r),
64691
+ import("./replies-BWgZR_w5.js").then((n) => n.r),
64692
64692
  import("./chunk-BHW8Yu5A.js").then((n) => n.s),
64693
64693
  import("./markdown-tables-Dnj2LQUc.js").then((n) => n.t)
64694
64694
  ]);
@@ -64743,7 +64743,7 @@ async function registerSlackMonitorSlashCommands(params) {
64743
64743
  let nativeCommands = [];
64744
64744
  if (nativeEnabled) {
64745
64745
  reg = await getCommandsRegistry();
64746
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-eaynYuR6.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64746
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D1hG6Ikz.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
64747
64747
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
64748
64748
  skillCommands,
64749
64749
  provider: "slack"
@@ -66961,7 +66961,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66961
66961
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66962
66962
  let preflightTranscript;
66963
66963
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66964
- const { transcribeFirstAudio } = await import("./audio-preflight-BUoEMkmr.js");
66964
+ const { transcribeFirstAudio } = await import("./audio-preflight-DIXDvyz5.js");
66965
66965
  preflightTranscript = await transcribeFirstAudio({
66966
66966
  ctx: {
66967
66967
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69106,23 +69106,23 @@ let webLoginQrPromise = null;
69106
69106
  let webChannelPromise = null;
69107
69107
  let whatsappActionsPromise = null;
69108
69108
  function loadWebOutbound() {
69109
- webOutboundPromise ??= import("./outbound-DHoZh3-b.js").then((n) => n.t);
69109
+ webOutboundPromise ??= import("./outbound-CX-uuDet.js").then((n) => n.t);
69110
69110
  return webOutboundPromise;
69111
69111
  }
69112
69112
  function loadWebLogin() {
69113
- webLoginPromise ??= import("./login-CPDAMiNc.js").then((n) => n.n);
69113
+ webLoginPromise ??= import("./login-CksRbu5D.js").then((n) => n.n);
69114
69114
  return webLoginPromise;
69115
69115
  }
69116
69116
  function loadWebLoginQr() {
69117
- webLoginQrPromise ??= import("./login-qr-Ca_QjL8s.js");
69117
+ webLoginQrPromise ??= import("./login-qr-COIr6FGZ.js");
69118
69118
  return webLoginQrPromise;
69119
69119
  }
69120
69120
  function loadWebChannel() {
69121
- webChannelPromise ??= import("./web-DRQN-o-U.js");
69121
+ webChannelPromise ??= import("./web-9rrJ5lZr.js");
69122
69122
  return webChannelPromise;
69123
69123
  }
69124
69124
  function loadWhatsAppActions() {
69125
- whatsappActionsPromise ??= import("./whatsapp-actions-doS0R248.js");
69125
+ whatsappActionsPromise ??= import("./whatsapp-actions-CiXMwRR8.js");
69126
69126
  return whatsappActionsPromise;
69127
69127
  }
69128
69128
  function createPluginRuntime() {
@@ -76317,6 +76317,27 @@ function isRunnerAbortError(err) {
76317
76317
  return ("message" in err && typeof err.message === "string" ? err.message.toLowerCase() : "").includes("aborted");
76318
76318
  }
76319
76319
 
76320
+ //#endregion
76321
+ //#region src/agents/pi-embedded-runner/email-capability-prompt.ts
76322
+ /**
76323
+ * Always-on system-prompt block that advertises Symi's email capabilities and
76324
+ * points the model at the `connect-email` skill. Fixes the failure mode where
76325
+ * the model denied email support because no profile's `promptAdditions`
76326
+ * mentioned it — see the sandbox2 interaction that motivated this.
76327
+ *
76328
+ * Sibling of `buildLongTaskPromptSuffix`; spliced at the same site in
76329
+ * `run/attempt.ts` so every profile (Claude, Gemma, Qwen, Nemotron, Ollama)
76330
+ * sees it.
76331
+ */
76332
+ function buildEmailCapabilityPromptSuffix() {
76333
+ return "\n\n" + [
76334
+ "EMAIL CAPABILITIES:",
76335
+ "- 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).",
76336
+ "- 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.",
76337
+ "- Do NOT guess email setup steps. Do NOT claim email is unsupported."
76338
+ ].join("\n");
76339
+ }
76340
+
76320
76341
  //#endregion
76321
76342
  //#region src/agents/pi-embedded-runner/long-task-prompt.ts
76322
76343
  const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
@@ -77195,11 +77216,13 @@ async function runEmbeddedAttempt(params) {
77195
77216
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
77196
77217
  log$9.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
77197
77218
  const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
77198
- const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
77219
+ const longTaskSuffix = await buildLongTaskPromptSuffix({
77199
77220
  argv1: process.argv[1],
77200
77221
  cwd: process.cwd(),
77201
77222
  moduleUrl: import.meta.url
77202
- }) + profilePromptSuffix)();
77223
+ });
77224
+ const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
77225
+ const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
77203
77226
  const sessionLock = await acquireSessionWriteLock({
77204
77227
  sessionFile: params.sessionFile,
77205
77228
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -1,5 +1,5 @@
1
1
  import { ot as resolveUserPath } from "./entry.js";
2
- import { o as loadPluginManifest, r as discoverSymiPlugins } from "./manifest-registry-Czr39pxG.js";
2
+ import { o as loadPluginManifest, r as discoverSymiPlugins } from "./manifest-registry-D5bnO5uA.js";
3
3
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-CgQpVncj.js";
4
4
  import fs from "node:fs/promises";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { y as resolveUserPath } from "./utils-B-0b9bGM.js";
2
- import { o as loadPluginManifest, r as discoverSymiPlugins } from "./manifest-registry-C4BxOMWX.js";
2
+ import { o as loadPluginManifest, r as discoverSymiPlugins } from "./manifest-registry-BDSRH8nU.js";
3
3
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, t as recordPluginInstall } from "./installs-DQcRVF1U.js";
4
4
  import fs from "node:fs/promises";
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { V as trimLogTail } from "./reply-WdyooxLc.js";
4
+ import { V as trimLogTail } from "./reply-DAMo5JhO.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -13,22 +13,22 @@ import { n as replaceCliName, r as resolveCliName, t as formatCliCommand } from
13
13
  import "./boolean-BsqeuxE6.js";
14
14
  import "./env-DPCHYPeH.js";
15
15
  import "./message-channel-aT-I_DTX.js";
16
- import "./send-B3j7hxxO.js";
17
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Cz_ObCzY.js";
18
- import "./manifest-registry-C4BxOMWX.js";
19
- import "./runner-B59C4Wdw.js";
20
- import "./image-Bd9ilPV9.js";
21
- import "./models-config-C7LKdahT.js";
16
+ import "./send-BKhluIbb.js";
17
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-PXAJCHa5.js";
18
+ import "./manifest-registry-BDSRH8nU.js";
19
+ import "./runner-C_BlQ2fG.js";
20
+ import "./image-D_qN_IxA.js";
21
+ import "./models-config-B91ShhoT.js";
22
22
  import "./pi-model-discovery-4uUnLc3n.js";
23
- import "./pi-embedded-helpers-BqeG6ogg.js";
24
- import "./sandbox-LreyCjoX.js";
25
- import "./chrome-CDPH3KAn.js";
23
+ import "./pi-embedded-helpers-DpOccVre.js";
24
+ import "./sandbox-BOVopTqv.js";
25
+ import "./chrome-BJvuH-NZ.js";
26
26
  import "./tailscale-D5dKabOc.js";
27
27
  import "./auth-B741uFtk.js";
28
- import "./server-context-2Vn21Z8T.js";
28
+ import "./server-context-C2gfYdh8.js";
29
29
  import "./frontmatter-DWQhtOo7.js";
30
- import "./skills-6jdJQ5ZL.js";
31
- import "./routes-CRgMkkG0.js";
30
+ import "./skills-BG8FpqDp.js";
31
+ import "./routes-2b4mQUhe.js";
32
32
  import "./redact-f-Q-hFt_.js";
33
33
  import "./errors-BF3TeRH2.js";
34
34
  import "./fs-safe-CUjO1ca2.js";
@@ -38,7 +38,7 @@ import "./image-ops-1OJMSAUX.js";
38
38
  import "./store-r1DJSDq-.js";
39
39
  import "./ports-BOmtxoTv.js";
40
40
  import "./trash-DcMh1i4B.js";
41
- import "./sessions-C8h-0oVK.js";
41
+ import "./sessions-BeYHj0gr.js";
42
42
  import "./dock-BhS32F6E.js";
43
43
  import "./plugins-DKDeQZF0.js";
44
44
  import "./accounts-DDuIpcln.js";
@@ -46,7 +46,7 @@ import "./accounts-bK-Yqdwx.js";
46
46
  import "./accounts-DyJN4_vR.js";
47
47
  import "./bindings-DFaVVCsf.js";
48
48
  import "./logging-w5jq5901.js";
49
- import "./send-BMoIcGXM.js";
49
+ import "./send-H2g9Eaud.js";
50
50
  import "./paths-CyhzMxFA.js";
51
51
  import "./tool-images-DvUBlqjX.js";
52
52
  import "./tool-display-D8N3rsYt.js";
@@ -54,16 +54,16 @@ import "./fetch-guard-DOPkVbh3.js";
54
54
  import "./api-key-rotation-CI0CtTtl.js";
55
55
  import "./local-roots-aAFLQGkY.js";
56
56
  import "./sqlite-Dx3J_aSE.js";
57
- import "./model-catalog-Bkny3qg9.js";
57
+ import "./model-catalog-Dex2EDUJ.js";
58
58
  import "./tokens-BuceUQDl.js";
59
- import "./with-timeout-DLKss9E3.js";
60
- import "./deliver-Co2XquFO.js";
59
+ import "./with-timeout-emS7y-kf.js";
60
+ import "./deliver-lG9ITE8w.js";
61
61
  import "./diagnostic-CH0skkp6.js";
62
62
  import "./diagnostic-session-state-CUslJyKP.js";
63
- import "./send-Djb958bI.js";
63
+ import "./send-DFftzTHo.js";
64
64
  import "./model-ECsJuJew.js";
65
65
  import "./reply-prefix-CE2YmmsD.js";
66
- import "./memory-cli-MMLg1Ccf.js";
66
+ import "./memory-cli-AoMrHA5O.js";
67
67
  import "./manager-B2Yd9HdF.js";
68
68
  import "./retry-BoS4e4X_.js";
69
69
  import "./target-errors-7AvoVa10.js";
@@ -74,12 +74,12 @@ import "./render-CXDO_kgw.js";
74
74
  import "./commands-BNLCWX6e.js";
75
75
  import "./commands-registry-B6cf3Cmq.js";
76
76
  import "./client-B8xmq-Pw.js";
77
- import "./call-CtiVeyeQ.js";
77
+ import "./call-BHn18ubR.js";
78
78
  import "./pairing-token-CX3NN_qj.js";
79
79
  import "./channel-activity-BOiuJS3t.js";
80
80
  import "./fetch-DTNGXEzX.js";
81
81
  import "./tables-BEzT0Da4.js";
82
- import "./send-cM1DDAnI.js";
82
+ import "./send-pFcMiyew.js";
83
83
  import "./pairing-store-BRM-hV6H.js";
84
84
  import "./proxy-DU7W9XSc.js";
85
85
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -88,58 +88,58 @@ import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
88
88
  import "./progress-jIePzvGA.js";
89
89
  import { r as formatDurationPrecise } from "./format-duration-D0B0Uo-I.js";
90
90
  import "./resolve-route-BMoTaVAH.js";
91
- import "./replies-DFjjnJ3D.js";
92
- import "./skill-commands-CIkcmGzD.js";
91
+ import "./replies-BVeiOxGr.js";
92
+ import "./skill-commands-BMu-U3SX.js";
93
93
  import "./workspace-dirs-GpkFi6Kw.js";
94
94
  import "./pi-auth-json-wOW5rGEs.js";
95
95
  import "./session-cost-usage-BXAI7CNH.js";
96
96
  import "./outbound-attachment-Bw-c5Cdp.js";
97
97
  import "./delivery-queue-CAxX6nGq.js";
98
- import "./send-CXuAFSJP.js";
99
- import "./onboard-helpers-B1El5sBR.js";
98
+ import "./send-CBcCKe5w.js";
99
+ import "./onboard-helpers-BFyI1sla.js";
100
100
  import { n as stylePromptMessage } from "./prompt-style-CnkMpSXt.js";
101
101
  import "./pairing-labels-BScqzHEx.js";
102
102
  import "./exec-approvals-DXM2pQYL.js";
103
103
  import "./nodes-screen-8Bq7DiSa.js";
104
- import "./pi-tools.policy-DN0wUEFa.js";
105
- import "./control-service-Cqck1Zry.js";
104
+ import "./pi-tools.policy-BpN-v9bT.js";
105
+ import "./control-service-D0IdaeI8.js";
106
106
  import "./stagger-CvFURHzt.js";
107
107
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-CafH8-8D.js";
108
108
  import "./channel-selection-V2xDgw16.js";
109
109
  import { r as parseSemver } from "./runtime-guard-Dik20CVM.js";
110
- import "./program-context-CIIYbXwz.js";
111
- import "./catalog-NQ4pj9RI.js";
112
- import "./skills-status-C3ptXwnh.js";
110
+ import "./program-context-B2HPYMcn.js";
111
+ import "./catalog-DX1l43Ru.js";
112
+ import "./skills-status-CKmK1hOo.js";
113
113
  import { n as inheritOptionFromParent } from "./command-options-BkTXKWlb.js";
114
114
  import "./note-DQ9BvHF2.js";
115
- import "./plugin-auto-enable-Dcki5Acl.js";
115
+ import "./plugin-auto-enable-BsGorrCZ.js";
116
116
  import "./install-safe-path-D3Uz77u7.js";
117
117
  import "./npm-registry-spec-C0CPT3vr.js";
118
118
  import "./skill-scanner-hMtQbWPV.js";
119
119
  import "./installs-DQcRVF1U.js";
120
120
  import "./channels-status-issues-CJ0Vb_9z.js";
121
- import { r as installCompletion } from "./completion-cli-CKRgTAVA.js";
122
- import "./daemon-runtime-BetFDUaM.js";
121
+ import { r as installCompletion } from "./completion-cli-EO1xz8q6.js";
122
+ import "./daemon-runtime-BT1zC2PU.js";
123
123
  import "./systemd-DT6SbCim.js";
124
124
  import { t as resolveGatewayService } from "./service-osK70kTZ.js";
125
- import "./lifecycle-core-Dpd8ty8k.js";
126
- import "./systemd-hints-nyPn6fDv.js";
127
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BUO3va5K.js";
125
+ import "./lifecycle-core-JD8GNX_f.js";
126
+ import "./systemd-hints-G9M4s_fF.js";
127
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DZeTm_F2.js";
128
128
  import "./diagnostics-BRwihzJG.js";
129
129
  import { t as renderTable } from "./table-BKlH0YlA.js";
130
- import "./health-CUAawozd.js";
130
+ import "./health-CFd-Q1SH.js";
131
131
  import "./control-ui-assets-B7moDVHX.js";
132
132
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-7EzEjSzb.js";
133
133
  import "./dm-policy-shared-DwFEXR-I.js";
134
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DFx1sm1w.js";
135
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DRxTynZP.js";
134
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-C1I_7XIo.js";
135
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CqWSrJXt.js";
136
136
  import "./logging-KpicI3yD.js";
137
- import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-Ya0e-JnM.js";
138
- import "./doctor-config-flow-COCO8sJB.js";
137
+ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DdQCEAVD.js";
138
+ import "./doctor-config-flow-CN8seKLA.js";
139
139
  import "./systemd-linger-DCskIKcx.js";
140
140
  import "./health-format-DRCaak6L.js";
141
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-C5haNrfL.js";
142
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CctxaDOf.js";
141
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-5a7_K1sn.js";
142
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DL-ojJGb.js";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
145
145
  import fs from "node:fs/promises";