@symerian/symi 2.8.9 → 2.8.11

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 (234) hide show
  1. package/dist/{agents-BBb3pG_r.js → agents-BbVxJTp2.js} +4 -4
  2. package/dist/{agents.config-DDAd-KmU.js → agents.config-DckCExUX.js} +1 -1
  3. package/dist/{agents.config-C1tHX61N.js → agents.config-LE2JxgiS.js} +1 -1
  4. package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-NdNUAZ0y.js} +4 -4
  5. package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-rjCWpcfE.js} +4 -4
  6. package/dist/{auth-choice-FY48Z00U.js → auth-choice-DnKOB8Gs.js} +1 -1
  7. package/dist/{auth-choice-DPNcCrz1.js → auth-choice-j1FEYnxv.js} +1 -1
  8. package/dist/{banner-yIuMuNbm.js → banner-BFr8n0of.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +7 -7
  11. package/dist/bundled/session-memory/handler.js +7 -7
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-C_9TyM7R.js → channel-options-BtmFCQOB.js} +1 -1
  14. package/dist/{channel-options-C5SLfyqk.js → channel-options-DrBxsMlw.js} +1 -1
  15. package/dist/{channel-web-ByaqLmaZ.js → channel-web-YgdajAXX.js} +1 -1
  16. package/dist/{channels-cli-CSnENSPd.js → channels-cli-ChS_nQcP.js} +6 -6
  17. package/dist/{channels-cli-Ca41AO96.js → channels-cli-fYbw-4gz.js} +6 -6
  18. package/dist/{chrome-B14NNyfm.js → chrome-BUT--ob3.js} +7 -7
  19. package/dist/{chrome-ROtrXlNs.js → chrome-C08Z0XAa.js} +7 -7
  20. package/dist/{cli-BO8YhTtM.js → cli-CA4qcSFY.js} +3 -3
  21. package/dist/{cli-ZZzj67hW.js → cli-NfoZJEPh.js} +3 -3
  22. package/dist/{command-registry-BsNZfjVV.js → command-registry-BZfKQQev.js} +10 -10
  23. package/dist/{completion-cli-D8C9e5yz.js → completion-cli-B1JkGibL.js} +2 -2
  24. package/dist/{completion-cli-xJudxU14.js → completion-cli-B4YP0Otu.js} +1 -1
  25. package/dist/{config-cli-CihWekyc.js → config-cli-CgC3xSoL.js} +1 -1
  26. package/dist/{config-cli-BNZy4xXJ.js → config-cli-Dm2QMcwn.js} +1 -1
  27. package/dist/{configure-BB_JMk-P.js → configure-COCCg2tV.js} +3 -3
  28. package/dist/{configure-pkgSrqbn.js → configure-DiDXmX3E.js} +3 -3
  29. package/dist/{deliver-D0bWiRCg.js → deliver-B_Q_nWJV.js} +1 -1
  30. package/dist/{deliver-B0OUq6RP.js → deliver-qUx-eLKt.js} +1 -1
  31. package/dist/{doctor-completion-BH1bgb64.js → doctor-completion-CjlRDZow.js} +1 -1
  32. package/dist/{doctor-completion-CCoTNGGO.js → doctor-completion-CophMO9P.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +7 -7
  35. package/dist/{gateway-cli-BWz3feID.js → gateway-cli-CAPtJ_VJ.js} +11 -11
  36. package/dist/{gateway-cli-CvWQxaZ9.js → gateway-cli-Dlcx0rsS.js} +11 -11
  37. package/dist/{glass-ui-ws-BRKLiUgG.js → glass-ui-ws-GEiZsdru.js} +9 -9
  38. package/dist/{glass-ui-ws-BvKAGzsP.js → glass-ui-ws-hIgOh0Ub.js} +9 -9
  39. package/dist/{health-C-B-3prj.js → health-BAjSATWA.js} +1 -1
  40. package/dist/{health-DlRTgD3e.js → health-D-0xOxV8.js} +1 -1
  41. package/dist/{hooks-cli-CApedXJB.js → hooks-cli-BaoCFIbQ.js} +4 -4
  42. package/dist/{hooks-cli-oulDpg7g.js → hooks-cli-ZZaM2xfC.js} +4 -4
  43. package/dist/{image-BuVL0jHI.js → image-C6rCON9L.js} +1 -1
  44. package/dist/{image-MNvheU8U.js → image-tzIqIuKx.js} +1 -1
  45. package/dist/index.js +8 -8
  46. package/dist/llm-slug-generator.js +7 -7
  47. package/dist/{manager-BuJDqgQD.js → manager-B5JWZL0E.js} +1 -1
  48. package/dist/{manager-D_NVh5nU.js → manager-BpvcDr-7.js} +1 -1
  49. package/dist/{manager-DfbiNFMG.js → manager-BxJ9BhQe.js} +1 -1
  50. package/dist/{manager-C6236YLp.js → manager-DUuPE1N1.js} +1 -1
  51. package/dist/{memory-cli-j-HcbP06.js → memory-cli-BQZ0rTKC.js} +3 -3
  52. package/dist/{memory-cli-CMd2wNuE.js → memory-cli-r-ulsUBa.js} +3 -3
  53. package/dist/{models-CWWcJjaU.js → models-B1__62Qo.js} +2 -2
  54. package/dist/{models-cli-CTNMdFcR.js → models-cli-BGpB4PAp.js} +4 -4
  55. package/dist/{models-cli-BdTd0wN8.js → models-cli-Ch-4PBud.js} +5 -5
  56. package/dist/{onboard-Bv5Rqw-y.js → onboard-Bub0X2iR.js} +2 -2
  57. package/dist/{onboard-B5BiUZky.js → onboard-CNiwcGJT.js} +2 -2
  58. package/dist/{onboard-channels-Nos59voI.js → onboard-channels-BgA4i9TU.js} +1 -1
  59. package/dist/{onboard-channels-B2HQSE5z.js → onboard-channels-CYlZtWF6.js} +1 -1
  60. package/dist/{onboarding-bijJvCX1.js → onboarding-CvK25SU5.js} +3 -3
  61. package/dist/{onboarding-B-MPWoFm.js → onboarding-DFNiU6QZ.js} +3 -3
  62. package/dist/{onboarding.finalize-CzajeRFW.js → onboarding.finalize-CvXSAjuU.js} +8 -8
  63. package/dist/{onboarding.finalize-2-PkjV7g.js → onboarding.finalize-_r8l4FJ1.js} +7 -7
  64. package/dist/{pi-embedded-rV_lAelt.js → pi-embedded-HSRJqesT.js} +47 -19
  65. package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-DjSdA5BG.js} +4 -4
  66. package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-P13adotN.js} +4 -4
  67. package/dist/{plugin-registry-y33YD86y.js → plugin-registry-Chvg6kT0.js} +1 -1
  68. package/dist/{plugin-registry-nbnWVfl0.js → plugin-registry-DEKq3ti3.js} +1 -1
  69. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  70. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  71. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  72. package/dist/plugin-sdk/{active-listener-DYjn3fML.js → active-listener-CJuvR4C2.js} +1 -1
  73. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  74. package/dist/plugin-sdk/agents/pi-embedded-runner/run/types.d.ts +7 -0
  75. package/dist/plugin-sdk/agents/pi-embedded-runner/types.d.ts +6 -0
  76. package/dist/plugin-sdk/agents/unified-runner.d.ts +8 -0
  77. package/dist/plugin-sdk/{api-key-rotation-DGJZ8SVa.js → api-key-rotation-CBsLb_4V.js} +1 -1
  78. package/dist/plugin-sdk/{audio-preflight-CiVw8470.js → audio-preflight-DucGa8w7.js} +24 -24
  79. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  80. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  81. package/dist/plugin-sdk/{channel-web-CHStB91Z.js → channel-web-CfaamthT.js} +22 -22
  82. package/dist/plugin-sdk/{chrome-CEqfiEs0.js → chrome-D9kN9org.js} +3 -3
  83. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  84. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  85. package/dist/plugin-sdk/{commands-registry-BhW_oGNt.js → commands-registry-BuYpmEx-.js} +4 -4
  86. package/dist/plugin-sdk/{config-Ckum15iC.js → config-BzupW6LN.js} +9 -9
  87. package/dist/plugin-sdk/{consolidate-COuTEt4Z.js → consolidate-CafShdsH.js} +2 -2
  88. package/dist/plugin-sdk/{deliver-B8Y2t-RH.js → deliver-CKgFosI5.js} +10 -10
  89. package/dist/plugin-sdk/{diagnostic-BR07buTm.js → diagnostic-_oc91gNi.js} +1 -1
  90. package/dist/plugin-sdk/{image-CCmNHDV0.js → image-DFyINnvE.js} +4 -4
  91. package/dist/plugin-sdk/{image-ops-BlQR__MN.js → image-ops-Bnp6LXEx.js} +1 -1
  92. package/dist/plugin-sdk/index.js +54 -54
  93. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  94. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  95. package/dist/plugin-sdk/{login-g_rQAcuM.js → login-K1YB_7-t.js} +7 -7
  96. package/dist/plugin-sdk/{login-qr-BOUmLSY3.js → login-qr-lMl_OqDj.js} +9 -9
  97. package/dist/plugin-sdk/{manager-lG0ZXd77.js → manager-B3jEviU1.js} +9 -9
  98. package/dist/plugin-sdk/{manifest-registry-BRx4JDK0.js → manifest-registry-hy3Bn-r9.js} +1 -1
  99. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  100. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  101. package/dist/plugin-sdk/{model-selection-Bbs4XGPG.js → model-selection-CtVwtb6y.js} +4 -4
  102. package/dist/plugin-sdk/{outbound-BVhSNFy0.js → outbound-DW3cqlQW.js} +7 -7
  103. package/dist/plugin-sdk/{outbound-attachment-B56R1Wi4.js → outbound-attachment-D7ME_Kib.js} +2 -2
  104. package/dist/plugin-sdk/{pi-auth-json-CB2bV0Jd.js → pi-auth-json-DiyK6bgV.js} +1 -1
  105. package/dist/plugin-sdk/{pi-embedded-helpers-dd3G9Hfi.js → pi-embedded-helpers-BL7ZRhGv.js} +17 -17
  106. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  107. package/dist/plugin-sdk/{pw-ai-BXeOYCz_.js → pw-ai-B3T0mTHr.js} +8 -8
  108. package/dist/plugin-sdk/{qmd-manager-wIr8qz2n.js → qmd-manager-BlUikj9s.js} +4 -4
  109. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  110. package/dist/plugin-sdk/{replies-CQ4szNhV.js → replies-BR2TPTVW.js} +3 -3
  111. package/dist/plugin-sdk/{reply-CNsK2I6u.js → reply-DWwxgBtH.js} +106 -78
  112. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  113. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  114. package/dist/plugin-sdk/{resolve-route-CWfcnhza.js → resolve-route-CHQ7BTlU.js} +3 -3
  115. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  116. package/dist/plugin-sdk/{runner-BuxCHv_O.js → runner-BhifC1J_.js} +9 -9
  117. package/dist/plugin-sdk/{send-fNRDT21N.js → send-BP5pSPaZ.js} +6 -6
  118. package/dist/plugin-sdk/{send-BtO-7fHs.js → send-CGhw9mO3.js} +6 -6
  119. package/dist/plugin-sdk/{send-CKXzQuXo.js → send-DLO_yV5_.js} +10 -10
  120. package/dist/plugin-sdk/{send-Djq5IPRa.js → send-ZhAe1nXO.js} +10 -10
  121. package/dist/plugin-sdk/{send-XSuwT1PC.js → send-jsofmTfJ.js} +7 -7
  122. package/dist/plugin-sdk/{session-ARbcLHE9.js → session-BfyK_04G.js} +4 -4
  123. package/dist/plugin-sdk/{skill-commands-yzJVuTIW.js → skill-commands-DEfqC_kJ.js} +5 -5
  124. package/dist/plugin-sdk/{skills-BfsaS1F9.js → skills-C9DbB-Kp.js} +7 -7
  125. package/dist/plugin-sdk/{sqlite-A3wGzttn.js → sqlite-CmVrFEYD.js} +1 -1
  126. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  127. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  128. package/dist/plugin-sdk/{synthesis-CpVfnSo_.js → synthesis-C_u94H_P.js} +49 -49
  129. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  130. package/dist/plugin-sdk/{target-errors-Paro1BjP.js → target-errors-B7YyMnIi.js} +2 -2
  131. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  132. package/dist/plugin-sdk/{tokens-bC3UVmVH.js → tokens-CWMflosr.js} +1 -1
  133. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  134. package/dist/plugin-sdk/{tool-loop-detection-gmtzSlNZ.js → tool-loop-detection-DseOlBug.js} +2 -2
  135. package/dist/plugin-sdk/web-DFvYfej5.js +66 -0
  136. package/dist/plugin-sdk/{whatsapp-actions-B_1l8JMU.js → whatsapp-actions-eTefsWhW.js} +21 -21
  137. package/dist/{plugins-cli-9vI7CQW6.js → plugins-cli-Cd99p333.js} +4 -4
  138. package/dist/{plugins-cli-MgRgt7Mu.js → plugins-cli-QZlpLtva.js} +4 -4
  139. package/dist/{program-ZdHXnGOg.js → program-DtyqJT55.js} +9 -9
  140. package/dist/{program-context-DW4w1oN0.js → program-context-D0rHgaWi.js} +18 -18
  141. package/dist/{prompt-select-styled-DV-m7tR8.js → prompt-select-styled-DqjIswKp.js} +6 -6
  142. package/dist/{prompt-select-styled-v1DITP5B.js → prompt-select-styled-Dw0GkMPo.js} +6 -6
  143. package/dist/{provider-auth-helpers-4eBjBsnM.js → provider-auth-helpers-DCEiDG3X.js} +1 -1
  144. package/dist/{provider-auth-helpers-Dr_EyLaO.js → provider-auth-helpers-KFQclkJT.js} +1 -1
  145. package/dist/{push-apns-D4X5TtMo.js → push-apns-CB_8WzQ9.js} +1 -1
  146. package/dist/{push-apns-69s0P1E4.js → push-apns-tfhjtI57.js} +1 -1
  147. package/dist/{pw-ai-40Jf9QIb.js → pw-ai-CQtaPvM8.js} +1 -1
  148. package/dist/{pw-ai-DWkC5eGA.js → pw-ai-CeWN4iD9.js} +1 -1
  149. package/dist/{register.agent-6nMG0iFQ.js → register.agent--QTUjLu9.js} +7 -7
  150. package/dist/{register.agent-Buw0POPK.js → register.agent-i2wi1-vo.js} +8 -8
  151. package/dist/{register.configure-CPHixRQq.js → register.configure-B9JysEK8.js} +8 -8
  152. package/dist/{register.configure-D0QJaqhS.js → register.configure-ByJcC9t4.js} +8 -8
  153. package/dist/{register.maintenance-BQMas0kZ.js → register.maintenance-D67PVhC5.js} +9 -9
  154. package/dist/{register.maintenance-DwfbaiTo.js → register.maintenance-TB5RRHQv.js} +10 -10
  155. package/dist/{register.message-B2iknN6N.js → register.message-DT_TqsFl.js} +4 -4
  156. package/dist/{register.message-B-dikPUk.js → register.message-G6-UeGON.js} +4 -4
  157. package/dist/{register.onboard-B9dopYMP.js → register.onboard-BPcP1dJD.js} +6 -6
  158. package/dist/{register.onboard-DS6BEUmj.js → register.onboard-jbp1Eeea.js} +6 -6
  159. package/dist/{register.setup-C53KVYBZ.js → register.setup-D4QeCLuQ.js} +6 -6
  160. package/dist/{register.setup-wBotANvt.js → register.setup-Le3LEqeh.js} +6 -6
  161. package/dist/{register.status-health-sessions-B_OUXi_q.js → register.status-health-sessions-B03EDfwZ.js} +5 -5
  162. package/dist/{register.status-health-sessions-DXdy2sDv.js → register.status-health-sessions-BACExyrd.js} +5 -5
  163. package/dist/{register.subclis-DolrpDXL.js → register.subclis-CTnvwrsP.js} +9 -9
  164. package/dist/{reply-BwSt9FgY.js → reply-C5VU6T-F.js} +32 -4
  165. package/dist/{run-main-qTPeKPnd.js → run-main-DmgESA-W.js} +17 -17
  166. package/dist/{runner-ecX1WzDt.js → runner-D633VT13.js} +1 -1
  167. package/dist/{runner-DFuAePEr.js → runner-Dpjulwnm.js} +1 -1
  168. package/dist/{server-methods-BGlmZerh.js → server-methods-EJZ_r3g7.js} +38 -14
  169. package/dist/{server-methods-D-X3f0JZ.js → server-methods-kM6zF8qf.js} +38 -14
  170. package/dist/{server-node-events-DYspYAsS.js → server-node-events-BM-APRHy.js} +4 -4
  171. package/dist/{server-node-events-VMWi_q_4.js → server-node-events-ZgCh4sCg.js} +4 -4
  172. package/dist/{status-D4IpFPfd.js → status-BhQk3JSz.js} +1 -1
  173. package/dist/{status-Ciil-4CY.js → status-C_gwgMp4.js} +3 -3
  174. package/dist/{status-CpK9Je7o.js → status-Nf53o222.js} +1 -1
  175. package/dist/{status-BIqQY-EW.js → status-WMQ2CpbK.js} +3 -3
  176. package/dist/{subagent-registry-CA3olOuQ.js → subagent-registry-BCWbFTGF.js} +32 -4
  177. package/dist/{synthesis-tkINNn_o.js → synthesis-CJIAYDoU.js} +3 -3
  178. package/dist/{synthesis-C7vG3X0z.js → synthesis-CWsrtigA.js} +7 -7
  179. package/dist/{synthesis-DhWAXhL7.js → synthesis-DIKBPZgB.js} +3 -3
  180. package/dist/{synthesis-UdetU7yM.js → synthesis-VfWtSYrv.js} +7 -7
  181. package/dist/{unified-runner-BdNmAHcK.js → unified-runner-yPBTU4xt.js} +47 -19
  182. package/dist/{update-cli-DwEwrSKF.js → update-cli-NRTVUdGw.js} +10 -10
  183. package/dist/{update-cli-Bv0gFXOf.js → update-cli-sTB4AuZ6.js} +9 -9
  184. package/dist/{update-runner-yfcQ1dWZ.js → update-runner-BQJSshFU.js} +1 -1
  185. package/dist/{update-runner-BR5qByxw.js → update-runner-DG5x7t--.js} +1 -1
  186. package/dist/{web-BQN_t3ZP.js → web-D9_FatXM.js} +7 -7
  187. package/dist/{web-BD0BGw7V.js → web-Dpfsnk-b.js} +3 -3
  188. package/dist/{web-Cuozfpq6.js → web-TVVa5EDS.js} +4 -4
  189. package/dist/{web-DlA-lLM7.js → web-eJWNRwV5.js} +7 -7
  190. package/docs/reference/templates/AGENTS.md +14 -0
  191. package/extensions/bluebubbles/package.json +1 -1
  192. package/extensions/copilot-proxy/package.json +1 -1
  193. package/extensions/diagnostics-otel/package.json +1 -1
  194. package/extensions/discord/package.json +1 -1
  195. package/extensions/feishu/package.json +1 -1
  196. package/extensions/google-antigravity-auth/package.json +1 -1
  197. package/extensions/google-gemini-cli-auth/package.json +1 -1
  198. package/extensions/googlechat/package.json +1 -1
  199. package/extensions/imessage/package.json +1 -1
  200. package/extensions/irc/package.json +1 -1
  201. package/extensions/learning-loop/package.json +1 -1
  202. package/extensions/line/package.json +1 -1
  203. package/extensions/llm-task/package.json +1 -1
  204. package/extensions/matrix/CHANGELOG.md +12 -0
  205. package/extensions/matrix/package.json +1 -1
  206. package/extensions/mattermost/package.json +1 -1
  207. package/extensions/memory-core/package.json +1 -1
  208. package/extensions/memory-lancedb/package.json +1 -1
  209. package/extensions/minimax-portal-auth/package.json +1 -1
  210. package/extensions/msteams/CHANGELOG.md +12 -0
  211. package/extensions/msteams/package.json +1 -1
  212. package/extensions/nextcloud-talk/package.json +1 -1
  213. package/extensions/nostr/CHANGELOG.md +12 -0
  214. package/extensions/nostr/package.json +1 -1
  215. package/extensions/open-prose/package.json +1 -1
  216. package/extensions/outlook/index.ts +69 -5
  217. package/extensions/outlook/package.json +1 -1
  218. package/extensions/outlook/src/store.ts +118 -11
  219. package/extensions/pipeline/package.json +1 -1
  220. package/extensions/signal/package.json +1 -1
  221. package/extensions/slack/package.json +1 -1
  222. package/extensions/telegram/package.json +1 -1
  223. package/extensions/tlon/package.json +1 -1
  224. package/extensions/twitch/CHANGELOG.md +12 -0
  225. package/extensions/twitch/package.json +1 -1
  226. package/extensions/voice-call/CHANGELOG.md +12 -0
  227. package/extensions/voice-call/package.json +1 -1
  228. package/extensions/whatsapp/package.json +1 -1
  229. package/extensions/zalo/CHANGELOG.md +12 -0
  230. package/extensions/zalo/package.json +1 -1
  231. package/extensions/zalouser/CHANGELOG.md +12 -0
  232. package/extensions/zalouser/package.json +1 -1
  233. package/package.json +1 -1
  234. package/dist/plugin-sdk/web-CN3FvHT9.js +0 -66
@@ -10,10 +10,10 @@ 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-D1_Sab0M.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-P13adotN.js";
14
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
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";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-C08Z0XAa.js";
17
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";
@@ -31,16 +31,16 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
31
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-C0QjmPaf.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-B0OUq6RP.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-qUx-eLKt.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-BUcR3Meg.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-BuVL0jHI.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-C6rCON9L.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
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-Bb4it0te.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
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-C6236YLp.js";
43
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-DUuPE1N1.js";
44
44
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
45
45
  import { n as retryAsync } from "./retry-B-y5suGA.js";
46
46
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-DeJTztcq.js";
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCB
50
50
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-ClipCZ9s.js";
51
51
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-7tMVY7D_.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-DxbSTLNQ.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-ecX1WzDt.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-D633VT13.js";
54
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-DG2lcozb.js";
55
55
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
56
56
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
@@ -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, { WebSocket as WebSocket$1 } from "ws";
84
+ import WebSocket$1, { WebSocket } 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";
@@ -4340,7 +4340,7 @@ async function getMemorySearchManager(params) {
4340
4340
  const wrapper = new FallbackMemoryManager({
4341
4341
  primary,
4342
4342
  fallbackFactory: async () => {
4343
- const { MemoryIndexManager } = await import("./manager-C6236YLp.js").then((n) => n.n);
4343
+ const { MemoryIndexManager } = await import("./manager-DUuPE1N1.js").then((n) => n.n);
4344
4344
  return await MemoryIndexManager.get(params);
4345
4345
  }
4346
4346
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4353,7 +4353,7 @@ async function getMemorySearchManager(params) {
4353
4353
  }
4354
4354
  }
4355
4355
  try {
4356
- const { MemoryIndexManager } = await import("./manager-C6236YLp.js").then((n) => n.n);
4356
+ const { MemoryIndexManager } = await import("./manager-DUuPE1N1.js").then((n) => n.n);
4357
4357
  return { manager: await MemoryIndexManager.get(params) };
4358
4358
  } catch (err) {
4359
4359
  return {
@@ -8894,7 +8894,7 @@ var GatewayClient = class {
8894
8894
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8895
8895
  });
8896
8896
  }
8897
- this.ws = new WebSocket$1(url, wsOptions);
8897
+ this.ws = new WebSocket(url, wsOptions);
8898
8898
  this.ws.on("open", () => {
8899
8899
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8900
8900
  const tlsError = this.validateTlsFingerprint();
@@ -9113,7 +9113,7 @@ var GatewayClient = class {
9113
9113
  return null;
9114
9114
  }
9115
9115
  async request(method, params, opts) {
9116
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9116
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9117
9117
  const id = randomUUID();
9118
9118
  const frame = {
9119
9119
  type: "req",
@@ -10380,7 +10380,7 @@ async function routeReply(params) {
10380
10380
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10381
10381
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10382
10382
  try {
10383
- const { deliverOutboundPayloads } = await import("./deliver-B0OUq6RP.js").then((n) => n.n);
10383
+ const { deliverOutboundPayloads } = await import("./deliver-qUx-eLKt.js").then((n) => n.n);
10384
10384
  return {
10385
10385
  ok: true,
10386
10386
  messageId: (await deliverOutboundPayloads({
@@ -43844,7 +43844,7 @@ async function deliverSessionMaintenanceWarning(params) {
43844
43844
  return;
43845
43845
  }
43846
43846
  try {
43847
- const { deliverOutboundPayloads } = await import("./deliver-B0OUq6RP.js").then((n) => n.n);
43847
+ const { deliverOutboundPayloads } = await import("./deliver-qUx-eLKt.js").then((n) => n.n);
43848
43848
  await deliverOutboundPayloads({
43849
43849
  cfg: params.cfg,
43850
43850
  channel,
@@ -47290,7 +47290,7 @@ async function describeStickerImage(params) {
47290
47290
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
47291
47291
  try {
47292
47292
  const buffer = await fs$1.readFile(imagePath);
47293
- const { describeImageWithModel } = await import("./image-BuVL0jHI.js").then((n) => n.n);
47293
+ const { describeImageWithModel } = await import("./image-C6rCON9L.js").then((n) => n.n);
47294
47294
  return (await describeImageWithModel({
47295
47295
  buffer,
47296
47296
  fileName: "sticker.webp",
@@ -50039,7 +50039,7 @@ async function preflightDiscordMessage(params) {
50039
50039
  let preflightTranscript;
50040
50040
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
50041
50041
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
50042
- const { transcribeFirstAudio } = await import("./audio-preflight-Cb-T0r6e.js");
50042
+ const { transcribeFirstAudio } = await import("./audio-preflight-rjCWpcfE.js");
50043
50043
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
50044
50044
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
50045
50045
  ctx: {
@@ -54045,7 +54045,7 @@ function isVoiceChannelType(type) {
54045
54045
  function createDefaultDeps() {
54046
54046
  return {
54047
54047
  sendMessageWhatsApp: async (...args) => {
54048
- const { sendMessageWhatsApp } = await import("./web-BQN_t3ZP.js");
54048
+ const { sendMessageWhatsApp } = await import("./web-D9_FatXM.js");
54049
54049
  return await sendMessageWhatsApp(...args);
54050
54050
  },
54051
54051
  sendMessageTelegram: async (...args) => {
@@ -56950,7 +56950,7 @@ function createDiscordGatewayPlugin(params) {
56950
56950
  super(options);
56951
56951
  }
56952
56952
  createWebSocket(url) {
56953
- return new WebSocket(url, { agent });
56953
+ return new WebSocket$1(url, { agent });
56954
56954
  }
56955
56955
  }
56956
56956
  return new ProxyGatewayPlugin();
@@ -67168,7 +67168,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
67168
67168
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
67169
67169
  let preflightTranscript;
67170
67170
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
67171
- const { transcribeFirstAudio } = await import("./audio-preflight-Cb-T0r6e.js");
67171
+ const { transcribeFirstAudio } = await import("./audio-preflight-rjCWpcfE.js");
67172
67172
  preflightTranscript = await transcribeFirstAudio({
67173
67173
  ctx: {
67174
67174
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69325,7 +69325,7 @@ function loadWebLoginQr() {
69325
69325
  return webLoginQrPromise;
69326
69326
  }
69327
69327
  function loadWebChannel() {
69328
- webChannelPromise ??= import("./web-BQN_t3ZP.js");
69328
+ webChannelPromise ??= import("./web-D9_FatXM.js");
69329
69329
  return webChannelPromise;
69330
69330
  }
69331
69331
  function loadWhatsAppActions() {
@@ -77638,6 +77638,7 @@ async function runEmbeddedAttempt(params) {
77638
77638
  let aborted = Boolean(params.abortSignal?.aborted);
77639
77639
  let timedOut = false;
77640
77640
  let timedOutDuringCompaction = false;
77641
+ let circuitBreakerAborted = false;
77641
77642
  const getAbortReason = (signal) => "reason" in signal ? signal.reason : void 0;
77642
77643
  const makeTimeoutAbortReason = () => {
77643
77644
  const err = /* @__PURE__ */ new Error("request timed out");
@@ -77739,6 +77740,20 @@ async function runEmbeddedAttempt(params) {
77739
77740
  if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
77740
77741
  const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
77741
77742
  log$9.error(`Agent-loop circuit breaker: ${consecutiveToolErrors} consecutive tool errors (last: ${toolName}). Aborting run ${params.runId}.`);
77743
+ const breakerNotice = `I hit ${consecutiveToolErrors} consecutive tool errors (last: \`${toolName}\`). The files or resources I was looking for may not exist where I expected. Let me try answering without tools.`;
77744
+ try {
77745
+ emitAgentEvent({
77746
+ runId: params.runId,
77747
+ stream: "assistant",
77748
+ data: {
77749
+ text: breakerNotice,
77750
+ delta: breakerNotice
77751
+ }
77752
+ });
77753
+ } catch (err) {
77754
+ log$9.warn(`circuit breaker: synthetic notice emit failed: ${String(err)}`);
77755
+ }
77756
+ circuitBreakerAborted = true;
77742
77757
  abortRun(false, /* @__PURE__ */ new Error(`${consecutiveToolErrors} consecutive tool errors. The model may be generating corrupted tool arguments. Run aborted to prevent infinite loop.`));
77743
77758
  } else if (consecutiveToolErrors === TOOL_ERROR_WARN_THRESHOLD) {
77744
77759
  const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
@@ -78056,6 +78071,7 @@ async function runEmbeddedAttempt(params) {
78056
78071
  aborted,
78057
78072
  timedOut,
78058
78073
  timedOutDuringCompaction,
78074
+ circuitBreakerAborted,
78059
78075
  promptError,
78060
78076
  sessionIdUsed,
78061
78077
  systemPromptReport,
@@ -78986,6 +79002,7 @@ async function runEmbeddedPiAgent(params) {
78986
79002
  durationMs: Date.now() - started,
78987
79003
  agentMeta,
78988
79004
  aborted,
79005
+ circuitBreakerAborted: attempt.circuitBreakerAborted,
78989
79006
  systemPromptReport: attempt.systemPromptReport
78990
79007
  },
78991
79008
  didSendViaMessagingTool: attempt.didSendViaMessagingTool,
@@ -79014,6 +79031,7 @@ async function runEmbeddedPiAgent(params) {
79014
79031
  durationMs: Date.now() - started,
79015
79032
  agentMeta,
79016
79033
  aborted,
79034
+ circuitBreakerAborted: attempt.circuitBreakerAborted,
79017
79035
  systemPromptReport: attempt.systemPromptReport,
79018
79036
  stopReason: attempt.clientToolCall ? "tool_calls" : void 0,
79019
79037
  pendingToolCalls: attempt.clientToolCall ? [{
@@ -79210,6 +79228,16 @@ async function runAgentTurn(params) {
79210
79228
  throw err;
79211
79229
  }
79212
79230
  result = result;
79231
+ if (result.meta.circuitBreakerAborted && !params._circuitBreakerRetried) {
79232
+ const continuationPrompt = "(Your previous turn aborted after several consecutive tool errors because the tool calls kept failing. For THIS turn: answer the user's original question directly using your existing knowledge and the conversation history above. Do NOT attempt any tool calls — they are disabled in this turn and will not work. If you truly cannot answer without tool access, say so clearly and explain what information you would have needed.)";
79233
+ return runAgentTurn({
79234
+ ...params,
79235
+ runId: randomUUID(),
79236
+ prompt: continuationPrompt,
79237
+ disableTools: true,
79238
+ _circuitBreakerRetried: true
79239
+ });
79240
+ }
79213
79241
  const responseText = (result.payloads ?? []).filter((p) => p.text && !p.isError).map((p) => p.text).join("\n").trim();
79214
79242
  const resolvedProvider = fallbackProvider ?? result.meta.agentMeta?.provider ?? params.provider ?? "";
79215
79243
  const resolvedModel = fallbackModel ?? result.meta.agentMeta?.model ?? params.modelId ?? "";
@@ -17,7 +17,7 @@ import "./client-qUlxXXVJ.js";
17
17
  import "./call-BrRWr7Lj.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Ct as trimLogTail } from "./subagent-registry-CA3olOuQ.js";
20
+ import { Ct as trimLogTail } from "./subagent-registry-BCWbFTGF.js";
21
21
  import "./sessions-BPD85pWA.js";
22
22
  import "./tokens-Csntmwwn.js";
23
23
  import "./plugins-CwSlLxM8.js";
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
55
55
  import "./thinking-8sKPnzpp.js";
56
56
  import "./models-config-J1x_DaPn.js";
57
57
  import "./reply-prefix-BUN71nd5.js";
58
- import "./memory-cli-CMd2wNuE.js";
59
- import "./manager-DfbiNFMG.js";
58
+ import "./memory-cli-r-ulsUBa.js";
59
+ import "./manager-BxJ9BhQe.js";
60
60
  import "./gemini-auth-DEakvf-D.js";
61
61
  import "./retry-C4Q_VPOo.js";
62
62
  import "./sqlite-BP8tiuca.js";
@@ -112,10 +112,10 @@ import "./npm-registry-spec-PuS2I1Em.js";
112
112
  import "./skill-scanner-BV3QHmsf.js";
113
113
  import "./installs-B4sNNRaW.js";
114
114
  import "./channels-status-issues-B-ssmZ8E.js";
115
- import "./register.subclis-DolrpDXL.js";
116
- import "./command-registry-BsNZfjVV.js";
115
+ import "./register.subclis-CTnvwrsP.js";
116
+ import "./command-registry-BZfKQQev.js";
117
117
  import "./program-context-DeZ44oQ9.js";
118
- import { r as installCompletion } from "./completion-cli-D8C9e5yz.js";
118
+ import { r as installCompletion } from "./completion-cli-B1JkGibL.js";
119
119
  import "./daemon-runtime-D_elkkFW.js";
120
120
  import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
121
121
  import "./systemd-CJ5L2ee4.js";
@@ -125,19 +125,19 @@ import "./systemd-hints-Ct8ebNeC.js";
125
125
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-CAIg9sMo.js";
126
126
  import "./diagnostics-C6xPE2ln.js";
127
127
  import { t as renderTable } from "./table-Bka4fasy.js";
128
- import "./health-DlRTgD3e.js";
128
+ import "./health-D-0xOxV8.js";
129
129
  import "./control-ui-assets-Clf7H-Sm.js";
130
130
  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-BNjupSIM.js";
131
131
  import "./dm-policy-shared-JiSNSaKz.js";
132
132
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B5zI1_Id.js";
133
- 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-yfcQ1dWZ.js";
133
+ 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-BQJSshFU.js";
134
134
  import "./logging-PVQxLC6I.js";
135
135
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
136
136
  import "./doctor-config-flow-B2dVxbL7.js";
137
137
  import "./systemd-linger-ipoPa7o0.js";
138
138
  import "./health-format-DkjSgkDx.js";
139
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DV-m7tR8.js";
140
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BH1bgb64.js";
139
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DqjIswKp.js";
140
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CjlRDZow.js";
141
141
  import { spawn, spawnSync } from "node:child_process";
142
142
  import os from "node:os";
143
143
  import path from "node:path";
@@ -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-BwSt9FgY.js";
4
+ import { V as trimLogTail } from "./reply-C5VU6T-F.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";
@@ -62,8 +62,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
62
62
  import "./send-DpMnSIi5.js";
63
63
  import "./model-ECsJuJew.js";
64
64
  import "./reply-prefix-CE2YmmsD.js";
65
- import "./memory-cli-j-HcbP06.js";
66
- import "./manager-D_NVh5nU.js";
65
+ import "./memory-cli-BQZ0rTKC.js";
66
+ import "./manager-BpvcDr-7.js";
67
67
  import "./retry-BoS4e4X_.js";
68
68
  import "./sqlite-D55gRQbH.js";
69
69
  import "./target-errors-C9e6dMU_.js";
@@ -107,7 +107,7 @@ import "./stagger-CZ1Rrj7O.js";
107
107
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-DF8wPn-_.js";
108
108
  import "./channel-selection-9fIQGtZy.js";
109
109
  import { r as parseSemver } from "./runtime-guard-BKFbNplo.js";
110
- import "./program-context-DW4w1oN0.js";
110
+ import "./program-context-D0rHgaWi.js";
111
111
  import "./catalog-KW3oyt3k.js";
112
112
  import "./skills-status-D1IW8MhS.js";
113
113
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
@@ -118,7 +118,7 @@ import "./npm-registry-spec-B98RgVZF.js";
118
118
  import "./skill-scanner-BTgjeQBf.js";
119
119
  import "./installs-BPZKRjsO.js";
120
120
  import "./channels-status-issues-BVpj6wWd.js";
121
- import { r as installCompletion } from "./completion-cli-xJudxU14.js";
121
+ import { r as installCompletion } from "./completion-cli-B4YP0Otu.js";
122
122
  import "./daemon-runtime-Cp7obV7Q.js";
123
123
  import "./systemd-Xs16roN5.js";
124
124
  import { t as resolveGatewayService } from "./service-DzLem5vL.js";
@@ -127,19 +127,19 @@ import "./systemd-hints-vhJS1sOh.js";
127
127
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-Cq-IaYw4.js";
128
128
  import "./diagnostics-1uBuB9IE.js";
129
129
  import { t as renderTable } from "./table-BWuvjnmY.js";
130
- import "./health-C-B-3prj.js";
130
+ import "./health-BAjSATWA.js";
131
131
  import "./control-ui-assets-BrP31IQR.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-Bbvpax6u.js";
133
133
  import "./dm-policy-shared-KlzpDeT_.js";
134
134
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-8HXdAdwz.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-BR5qByxw.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-DG5x7t--.js";
136
136
  import "./logging-CZuxhCZR.js";
137
137
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-D4uLu0dv.js";
138
138
  import "./doctor-config-flow-BCMxS2lf.js";
139
139
  import "./systemd-linger-0C265XKH.js";
140
140
  import "./health-format-Ct4VWeSk.js";
141
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-v1DITP5B.js";
142
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CCoTNGGO.js";
141
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Dw0GkMPo.js";
142
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CophMO9P.js";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
145
145
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Ct as trimLogTail } from "./subagent-registry-CA3olOuQ.js";
3
+ import { Ct as trimLogTail } from "./subagent-registry-BCWbFTGF.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Clf7H-Sm.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
6
6
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { V as trimLogTail } from "./reply-BwSt9FgY.js";
2
+ import { V as trimLogTail } from "./reply-C5VU6T-F.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BrP31IQR.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-Bbvpax6u.js";
@@ -4,16 +4,16 @@ import { A as isSelfChatMode, B as sleep, C as clamp, F as resolveJidToE164, H a
4
4
  import "./agent-scope-CpEJ0B88.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import "./workspace-DscDraUb.js";
7
- import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-BdNmAHcK.js";
7
+ import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-yPBTU4xt.js";
8
8
  import { s as resolveStorePath } from "./paths-CbQV9WEg.js";
9
9
  import "./auth-profiles-C2vj6htZ.js";
10
10
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
12
12
  import "./boolean-CE7i9tBR.js";
13
- import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-D1_Sab0M.js";
13
+ import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-P13adotN.js";
14
14
  import { n as loadConfig } from "./config-BkZ9HOKT.js";
15
15
  import "./manifest-registry-CBCGTsIb.js";
16
- import "./chrome-ROtrXlNs.js";
16
+ import "./chrome-C08Z0XAa.js";
17
17
  import "./frontmatter-CTR5f_Ez.js";
18
18
  import "./skills-CXxrn_e2.js";
19
19
  import "./redact-BDMXB06K.js";
@@ -31,16 +31,16 @@ import "./bindings-BsHoBLIE.js";
31
31
  import "./send-BKo1T3HF.js";
32
32
  import "./send-C0QjmPaf.js";
33
33
  import "./tool-images-SqqWIT22.js";
34
- import "./deliver-B0OUq6RP.js";
34
+ import "./deliver-qUx-eLKt.js";
35
35
  import "./diagnostic-BUcR3Meg.js";
36
36
  import "./diagnostic-session-state-Zw87xFym.js";
37
- import "./image-BuVL0jHI.js";
37
+ import "./image-C6rCON9L.js";
38
38
  import "./pi-auth-json-RXOlh8ar.js";
39
39
  import "./tokens-W0JzCJJM.js";
40
40
  import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-Bb4it0te.js";
41
41
  import "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-CvEIl6_d.js";
43
- import "./manager-C6236YLp.js";
43
+ import "./manager-DUuPE1N1.js";
44
44
  import "./gemini-auth-BefM10YB.js";
45
45
  import "./retry-B-y5suGA.js";
46
46
  import "./sqlite-BN_hIcmu.js";
@@ -51,7 +51,7 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-ClipCZ9s.js";
51
51
  import { a as loadWebMedia } from "./ir-7tMVY7D_.js";
52
52
  import "./render-D1xvLuGo.js";
53
53
  import "./commands-registry-DxbSTLNQ.js";
54
- import { y as registerUnhandledRejectionHandler } from "./runner-ecX1WzDt.js";
54
+ import { y as registerUnhandledRejectionHandler } from "./runner-D633VT13.js";
55
55
  import "./skill-commands-DG2lcozb.js";
56
56
  import { t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
57
57
  import "./fetch-ClslA6GS.js";
@@ -16,7 +16,7 @@ import "./client-qUlxXXVJ.js";
16
16
  import "./call-BrRWr7Lj.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { Bn as resolveEnvelopeFormatOptions, Cn as enqueueSystemEvent, F as buildHistoryContextFromEntries, Hn as hasControlCommand, I as recordPendingHistoryEntryIfEnabled, Kn as buildMentionRegexes, L as shouldAckReactionForWhatsApp, Ln as createInboundDebouncer, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as resolveInboundDebounceMs, U as createDedupeCache, Un as shouldComputeCommandAuthorized, W as getReplyFromConfig, b as sleepWithAbort, nn as parseActivationCommand, qn as normalizeMentionText, tn as normalizeGroupActivation, y as computeBackoff, zn as formatInboundEnvelope } from "./subagent-registry-CA3olOuQ.js";
19
+ import { Bn as resolveEnvelopeFormatOptions, Cn as enqueueSystemEvent, F as buildHistoryContextFromEntries, Hn as hasControlCommand, I as recordPendingHistoryEntryIfEnabled, Kn as buildMentionRegexes, L as shouldAckReactionForWhatsApp, Ln as createInboundDebouncer, M as buildPairingReply, N as resolveMentionGating, P as DEFAULT_GROUP_HISTORY_LIMIT, R as dispatchReplyWithBufferedBlockDispatcher, Rn as resolveInboundDebounceMs, U as createDedupeCache, Un as shouldComputeCommandAuthorized, W as getReplyFromConfig, b as sleepWithAbort, nn as parseActivationCommand, qn as normalizeMentionText, tn as normalizeGroupActivation, y as computeBackoff, zn as formatInboundEnvelope } from "./subagent-registry-BCWbFTGF.js";
20
20
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-BPD85pWA.js";
21
21
  import "./tokens-Csntmwwn.js";
22
22
  import "./plugins-CwSlLxM8.js";
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
54
54
  import "./thinking-8sKPnzpp.js";
55
55
  import "./models-config-J1x_DaPn.js";
56
56
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
57
- import "./memory-cli-CMd2wNuE.js";
58
- import "./manager-DfbiNFMG.js";
57
+ import "./memory-cli-r-ulsUBa.js";
58
+ import "./manager-BxJ9BhQe.js";
59
59
  import "./gemini-auth-DEakvf-D.js";
60
60
  import "./retry-C4Q_VPOo.js";
61
61
  import "./sqlite-BP8tiuca.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-BwSt9FgY.js";
4
+ import "./reply-C5VU6T-F.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
60
60
  import "./send-DpMnSIi5.js";
61
61
  import "./model-ECsJuJew.js";
62
62
  import "./reply-prefix-CE2YmmsD.js";
63
- import "./memory-cli-j-HcbP06.js";
64
- import "./manager-D_NVh5nU.js";
63
+ import "./memory-cli-BQZ0rTKC.js";
64
+ import "./manager-BpvcDr-7.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -102,7 +102,7 @@ import "./pi-tools.policy-BPVIDK7o.js";
102
102
  import "./control-service-C0pRqIFv.js";
103
103
  import "./stagger-CZ1Rrj7O.js";
104
104
  import "./channel-selection-9fIQGtZy.js";
105
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-ByaqLmaZ.js";
105
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-YgdajAXX.js";
106
106
  import { n as sendMessageWhatsApp } from "./outbound-B5OgOn1h.js";
107
107
  import { i as waitForWaConnection, t as createWaSocket } from "./session-BpaF8fzk.js";
108
108
  import { t as loginWeb } from "./login-F4pbdnF5.js";
@@ -8,13 +8,13 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-Cn6drXx2.js";
11
- import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-rV_lAelt.js";
11
+ import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as resolveInboundDebounceMs, c as shouldAckReactionForWhatsApp, d as createDedupeCache, f as getReplyFromConfig, g as parseActivationCommand, h as normalizeGroupActivation, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as enqueueSystemEvent, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./pi-embedded-HSRJqesT.js";
12
12
  import "./plugins-71oIavrF.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-DYVakimr.js";
15
15
  import "./send-BaBv1rAU.js";
16
16
  import "./send-DLVrnezL.js";
17
- import "./deliver-D0bWiRCg.js";
17
+ import "./deliver-B_Q_nWJV.js";
18
18
  import "./diagnostic-Kbl70eCP.js";
19
19
  import "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocatio
22
22
  import "./image-ops-ByaQt43P.js";
23
23
  import "./pi-model-discovery-j5tVLINv.js";
24
24
  import "./message-channel-BQINJQIT.js";
25
- import { Ct as resolveGroupSessionKey, H as loadSessionStore, K as updateLastRoute, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-TcYQOZAY.js";
25
+ import { Ct as resolveGroupSessionKey, H as loadSessionStore, K as updateLastRoute, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-DjSdA5BG.js";
26
26
  import { n as loadConfig } from "./config-BAVNLbja.js";
27
27
  import "./manifest-registry-DWdYdchb.js";
28
- import "./chrome-B14NNyfm.js";
28
+ import "./chrome-BUT--ob3.js";
29
29
  import "./skills-XEbTRNYL.js";
30
30
  import "./redact-1NGYV_8p.js";
31
31
  import "./errors-CPfngF0S.js";
@@ -35,8 +35,8 @@ import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy
35
35
  import "./accounts-DImOt9jX.js";
36
36
  import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
37
37
  import "./tool-images-ChC2CXaN.js";
38
- import "./image-MNvheU8U.js";
39
- import "./manager-BuJDqgQD.js";
38
+ import "./image-tzIqIuKx.js";
39
+ import "./manager-B5JWZL0E.js";
40
40
  import "./gemini-auth-DVcG-42i.js";
41
41
  import "./retry-QGp0jvVi.js";
42
42
  import "./sqlite-Bo4pHfp8.js";
@@ -49,7 +49,7 @@ import "./render-qcqmrHse.js";
49
49
  import "./commands-registry-ke7KirEH.js";
50
50
  import "./skill-commands-CSF7Poen.js";
51
51
  import { t as finalizeInboundContext } from "./inbound-context-CgGv6nTy.js";
52
- import { p as registerUnhandledRejectionHandler } from "./runner-DFuAePEr.js";
52
+ import { p as registerUnhandledRejectionHandler } from "./runner-Dpjulwnm.js";
53
53
  import "./fetch-WLZaC77l.js";
54
54
  import { n as recordChannelActivity } from "./channel-activity-C-6tM-GK.js";
55
55
  import { t as convertMarkdownTables } from "./tables-BE0lT1IV.js";
@@ -59,6 +59,20 @@ Capture what matters. Decisions, context, things to remember. Skip the secrets u
59
59
  - When you make a mistake → document it so future-you doesn't repeat it
60
60
  - **Text > Brain** 📝
61
61
 
62
+ ### 🔌 Runtime Connection State — Don't Trust Memory Files
63
+
64
+ Memory files (MEMORY.md, memory/YYYY-MM-DD.md, memory/symi-core.md, memory/symi-beliefs.md) record **historical** observations. Connection state for channels (Outlook, Gmail, Slack, Telegram, Discord, Signal, WhatsApp, Matrix, etc.) is **runtime state** — it can change between one turn and the next without any observation being written.
65
+
66
+ When answering "am I connected to X?" questions:
67
+
68
+ - **Trust the bracketed `[Channel]` block** at the top of the system prompt. It's rebuilt every turn from the live plugin state. Examples: `[Outlook 365] Connected as …`, `[Outlook 365] Last seen connected as … but … expired`, `[Outlook 365] Not connected`.
69
+ - **Trust the `channels.status` RPC / tool result** if one is available.
70
+ - **Do NOT trust a line in MEMORY.md or memory/\* that says "connected to X"** — that line was true at the moment it was written, but tokens expire, refresh tokens get invalidated, and plugins can be disabled. Memory files are descriptive history, not authoritative state.
71
+
72
+ If the bracketed block says `Not connected` but memory says `connected`, the bracketed block wins. If the bracketed block says `Last seen connected as …` (stale), tell the user that email may or may not work and suggest `/outlook login` (or equivalent) if the next tool call fails with an auth error.
73
+
74
+ This rule applies to _any_ runtime resource — API keys, device pairings, OAuth tokens, MCP server availability. Memory tracks what happened; live state tracks what's true now.
75
+
62
76
  ## Safety
63
77
 
64
78
  - Don't exfiltrate private data. Ever.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/bluebubbles",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "description": "Symi BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/copilot-proxy",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "private": true,
5
5
  "description": "Symi Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/diagnostics-otel",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "description": "Symi diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/discord",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "description": "Symi Discord channel plugin",
5
5
  "type": "module",
6
6
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symi/feishu",
3
- "version": "2.8.9",
3
+ "version": "2.8.11",
4
4
  "description": "Symi Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {