@symerian/symi 2.8.13 → 2.8.14

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 (295) hide show
  1. package/dist/{accounts-BuZxOb3B.js → accounts-Bsg6r6H7.js} +1 -1
  2. package/dist/{accounts-BRw8yhIW.js → accounts-BsgY6sda.js} +21 -21
  3. package/dist/{accounts-3dCrO3oZ.js → accounts-wWWkC0JH.js} +1 -1
  4. package/dist/{active-listener-BVZOh2T1.js → active-listener-AVNn5_U9.js} +1 -1
  5. package/dist/{agent-scope-CpEJ0B88.js → agent-scope-Cpm7a9ss.js} +3 -3
  6. package/dist/{agents-CgCg4syn.js → agents-DlAvDWxz.js} +4 -4
  7. package/dist/{agents.config-BnPC7uct.js → agents.config-BKKMbeeE.js} +1 -1
  8. package/dist/{agents.config-DqWxpgkX.js → agents.config-Dd-11klq.js} +1 -1
  9. package/dist/{audio-preflight-NdNUAZ0y.js → audio-preflight-C6vpFnOG.js} +4 -4
  10. package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-rrz8KyHd.js} +29 -29
  11. package/dist/{audit-Bi9Je9FZ.js → audit-BhCJV2l6.js} +1 -1
  12. package/dist/{audit-Oa5dsn5p.js → audit-CB97BqHJ.js} +1 -1
  13. package/dist/{auth-choice-BKwypsnS.js → auth-choice-C6woT6k2.js} +1 -1
  14. package/dist/{auth-choice-BIlBt2d0.js → auth-choice-CRQRPwQt.js} +1 -1
  15. package/dist/{auth-profiles-C2vj6htZ.js → auth-profiles-BzB_Exeq.js} +17 -17
  16. package/dist/{banner-CX5CuLWQ.js → banner-DrNha2_N.js} +1 -1
  17. package/dist/{bindings-BsHoBLIE.js → bindings-xcRox9xM.js} +2 -2
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +54 -54
  20. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  21. package/dist/bundled/command-logger/handler.js +1 -1
  22. package/dist/bundled/session-memory/handler.js +54 -54
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-activity-D8QD7GoV.js → channel-activity-CzHaIUAp.js} +1 -1
  25. package/dist/{channel-options-mUKQVJQl.js → channel-options-D8q9En4T.js} +1 -1
  26. package/dist/{channel-options-7y9EuPLO.js → channel-options-DYy2sCfN.js} +1 -1
  27. package/dist/{channel-web-Dldh4zVI.js → channel-web-CRBU4eZk.js} +1 -1
  28. package/dist/{channels-cli-Dz9vV1KL.js → channels-cli-BUk43hHR.js} +7 -7
  29. package/dist/{channels-cli-Q6Q8LokG.js → channels-cli-Dk3kUw9A.js} +7 -7
  30. package/dist/{chrome-ROtrXlNs.js → chrome-B14NNyfm.js} +5 -5
  31. package/dist/{chrome-BUT--ob3.js → chrome-DwXnykXR.js} +23 -23
  32. package/dist/{chunk-BRe1o4Af.js → chunk-BcxcL1U3.js} +1 -1
  33. package/dist/{cli-DMsLCQbO.js → cli-5gWsnsB7.js} +4 -4
  34. package/dist/{cli-D4WYEtu4.js → cli-DjZzJy3t.js} +4 -4
  35. package/dist/{command-registry-cEqGIx4b.js → command-registry-LjFltTU9.js} +10 -10
  36. package/dist/{commands-registry-DxbSTLNQ.js → commands-registry-ByGkL6hs.js} +4 -4
  37. package/dist/{completion-cli-Bw0jbNaG.js → completion-cli-BVTGy8th.js} +1 -1
  38. package/dist/{completion-cli-C5GCKfKT.js → completion-cli-Cf6fYZWL.js} +2 -2
  39. package/dist/{config-BkZ9HOKT.js → config-C4WnAd-c.js} +17 -17
  40. package/dist/{config-cli-DP0hP7WR.js → config-cli-C7DIbGxx.js} +1 -1
  41. package/dist/{config-cli-DgHooQ4_.js → config-cli-EgWrCemi.js} +1 -1
  42. package/dist/{configure-OUiXvgMg.js → configure-B67uIawm.js} +3 -3
  43. package/dist/{configure-BQUkaPdS.js → configure-Bk-snuxh.js} +3 -3
  44. package/dist/{consolidate-07QMweFF.js → consolidate-DRtVvG2U.js} +4 -4
  45. package/dist/{deliver-B_Q_nWJV.js → deliver-D0bWiRCg.js} +1 -1
  46. package/dist/{deliver-B0OUq6RP.js → deliver-SLYAWE19.js} +20 -20
  47. package/dist/{diagnostic-BUcR3Meg.js → diagnostic-DTkZsRNM.js} +1 -1
  48. package/dist/{doctor-completion-DlKvncR9.js → doctor-completion-By066O3p.js} +1 -1
  49. package/dist/{doctor-completion-BSMAyCq_.js → doctor-completion-lE_33xaY.js} +1 -1
  50. package/dist/entry.js +1 -1
  51. package/dist/{env-BDXYbTKj.js → env-CB65jmJQ.js} +1 -1
  52. package/dist/extensionAPI.js +7 -7
  53. package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CT1M0pRK.js} +4 -4
  54. package/dist/{gateway-cli-BlRNLVfU.js → gateway-cli-C6uT2x34.js} +13 -13
  55. package/dist/{gateway-cli-NI7W2QxR.js → gateway-cli-DqEgqVKC.js} +13 -13
  56. package/dist/{gemini-auth-BefM10YB.js → gemini-auth-D80BsXr2.js} +1 -1
  57. package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
  58. package/dist/{glass-ui-ws-BBkFBsKB.js → glass-ui-ws-77TY57IO.js} +11 -11
  59. package/dist/{glass-ui-ws-DxrESDzy.js → glass-ui-ws-CLAUHeZR.js} +11 -11
  60. package/dist/{health-fOu0S75U.js → health-2jkjZxY8.js} +1 -1
  61. package/dist/{health-D4vU-wV-.js → health-CvMHgR-L.js} +1 -1
  62. package/dist/{hooks-cli-BdgnXYmw.js → hooks-cli-CRZySOiz.js} +5 -5
  63. package/dist/{hooks-cli-DdSggQYs.js → hooks-cli-DSaezFsD.js} +5 -5
  64. package/dist/{image-BuVL0jHI.js → image-BHF_fnIp.js} +4 -4
  65. package/dist/{image-tzIqIuKx.js → image-MNvheU8U.js} +1 -1
  66. package/dist/{plugin-sdk/image-ops-BlQR__MN.js → image-ops-CY7v6vvp.js} +17 -17
  67. package/dist/index.js +9 -9
  68. package/dist/{internal-DjnxpF_K.js → internal-FNqguZSK.js} +11 -11
  69. package/dist/{ir-7tMVY7D_.js → ir-D6MiJpAy.js} +4 -4
  70. package/dist/llm-slug-generator.js +54 -54
  71. package/dist/{local-roots-ClipCZ9s.js → local-roots-tcdaIEhh.js} +5 -5
  72. package/dist/{login-D4rZWBXe.js → login-D4ZkmSrY.js} +7 -7
  73. package/dist/{login-qr-DdAVHOEC.js → login-qr-C9ftIq3n.js} +12 -12
  74. package/dist/{manager-DRrGn88w.js → manager-BtWtmpxN.js} +1 -1
  75. package/dist/{manager-syNf_ZrI.js → manager-DDELj5o9.js} +1 -1
  76. package/dist/{manager-TOeH0D8K.js → manager-DrmlegR2.js} +1 -1
  77. package/dist/{manager-_RGWWymD.js → manager-DxCmjSfP.js} +24 -24
  78. package/dist/{manifest-registry-CBCGTsIb.js → manifest-registry-BvGv6lp9.js} +19 -19
  79. package/dist/{markdown-tables-x2Xe2UXh.js → markdown-tables-CE-qSMGB.js} +1 -1
  80. package/dist/{memory-cli-0jm-n36m.js → memory-cli-ENCASZJk.js} +3 -3
  81. package/dist/{memory-cli-BSOOwpt1.js → memory-cli-Qgbcxvuf.js} +3 -3
  82. package/dist/{plugin-sdk/message-channel-COTAJzHd.js → message-channel-lwVT8QjK.js} +1 -1
  83. package/dist/{models-sGeWQOmg.js → models-COhUz7M9.js} +2 -2
  84. package/dist/{models-cli-CtkoEyh3.js → models-cli-CCxYcF4R.js} +5 -5
  85. package/dist/{models-cli-DV-J1cm0.js → models-cli-CYvXBvmZ.js} +6 -6
  86. package/dist/{onboard-FeTHeA1y.js → onboard-CQNUYBIp.js} +2 -2
  87. package/dist/{onboard-channels-DpZkjldS.js → onboard-channels-9erx07qe.js} +1 -1
  88. package/dist/{onboard-channels-D8bDJYPc.js → onboard-channels-CWw8G-6n.js} +1 -1
  89. package/dist/{onboard-CWBYuaCm.js → onboard-fVpLVnwg.js} +2 -2
  90. package/dist/{onboarding-BsPnnH5g.js → onboarding-CtEiH9WG.js} +3 -3
  91. package/dist/{onboarding-c2qhwP0x.js → onboarding-D-OIkDwZ.js} +3 -3
  92. package/dist/{onboarding.finalize-7St3fmk2.js → onboarding.finalize-BY3HNjX4.js} +9 -9
  93. package/dist/{onboarding.finalize-id9EHg1P.js → onboarding.finalize-DTbpLV-T.js} +8 -8
  94. package/dist/{outbound-Zmd7UyQH.js → outbound-C6Gm22UF.js} +7 -7
  95. package/dist/{outbound-attachment-DeCnZT-8.js → outbound-attachment-BWyKV1Gy.js} +2 -2
  96. package/dist/paths-CYmyCDsE.js +212 -0
  97. package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
  98. package/dist/{pi-auth-json-RXOlh8ar.js → pi-auth-json-Bv1NzJdR.js} +1 -1
  99. package/dist/{pi-embedded-DCBB1_SC.js → pi-embedded-CdOdQw2i.js} +278 -23
  100. package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-DwQ9wJeT.js} +73 -73
  101. package/dist/{pi-embedded-helpers-DjSdA5BG.js → pi-embedded-helpers-TcYQOZAY.js} +4 -4
  102. package/dist/{pi-tools.policy-BZrM6a-w.js → pi-tools.policy-Bx5zp45n.js} +2 -0
  103. package/dist/{pi-tools.policy-QIVWAVVI.js → pi-tools.policy-o0ytjRqu.js} +2 -0
  104. package/dist/{plugin-registry-BJSfTT8c.js → plugin-registry-BrJ0-qlu.js} +1 -1
  105. package/dist/{plugin-registry-Cy1kfzAy.js → plugin-registry-Cuc8ORuR.js} +1 -1
  106. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  107. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  108. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  109. package/dist/plugin-sdk/{active-listener-DYjn3fML.js → active-listener-CJuvR4C2.js} +1 -1
  110. package/dist/plugin-sdk/{agent-scope-CYYpcO9W.js → agent-scope-C3gMMKCU.js} +2 -2
  111. package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +7 -0
  112. package/dist/plugin-sdk/agents/tools/task-tool.d.ts +7 -0
  113. package/dist/plugin-sdk/{api-key-rotation-DGJZ8SVa.js → api-key-rotation-CBsLb_4V.js} +1 -1
  114. package/dist/plugin-sdk/{audio-preflight-CiVw8470.js → audio-preflight-DucGa8w7.js} +24 -24
  115. package/dist/plugin-sdk/{bindings-C7hRtgYW.js → bindings-BbwoUGPx.js} +2 -2
  116. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  117. package/dist/plugin-sdk/{channel-web-BSDjZSwm.js → channel-web-t8UOP6Zu.js} +22 -22
  118. package/dist/plugin-sdk/{chrome-CEqfiEs0.js → chrome-D9kN9org.js} +3 -3
  119. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  120. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  121. package/dist/plugin-sdk/{commands-registry-BhW_oGNt.js → commands-registry-BuYpmEx-.js} +4 -4
  122. package/dist/plugin-sdk/{config-Ckum15iC.js → config-BzupW6LN.js} +9 -9
  123. package/dist/plugin-sdk/{consolidate-COuTEt4Z.js → consolidate-CafShdsH.js} +2 -2
  124. package/dist/plugin-sdk/{deliver-B8Y2t-RH.js → deliver-CKgFosI5.js} +10 -10
  125. package/dist/plugin-sdk/{diagnostic-BR07buTm.js → diagnostic-_oc91gNi.js} +1 -1
  126. package/dist/plugin-sdk/{image-CCmNHDV0.js → image-DFyINnvE.js} +4 -4
  127. package/dist/{image-ops-C7CauEK8.js → plugin-sdk/image-ops-Bnp6LXEx.js} +2 -2
  128. package/dist/plugin-sdk/index.js +54 -54
  129. package/dist/plugin-sdk/{ir-BJ6BHE5b.js → ir-Fb3qpcis.js} +4 -4
  130. package/dist/plugin-sdk/{local-roots-BHLNSI8U.js → local-roots-Ckk1QfzI.js} +3 -3
  131. package/dist/plugin-sdk/{login-g_rQAcuM.js → login-K1YB_7-t.js} +7 -7
  132. package/dist/plugin-sdk/{login-qr-BOUmLSY3.js → login-qr-lMl_OqDj.js} +9 -9
  133. package/dist/plugin-sdk/{manager-B9GigLWj.js → manager-BPm5oefC.js} +9 -9
  134. package/dist/plugin-sdk/{manifest-registry-BRx4JDK0.js → manifest-registry-hy3Bn-r9.js} +1 -1
  135. package/dist/plugin-sdk/{markdown-tables-BoYFajMu.js → markdown-tables-Dfaqilz6.js} +1 -1
  136. package/dist/{message-channel-OlFBYAw8.js → plugin-sdk/message-channel-BdI5Ra9S.js} +1 -1
  137. package/dist/plugin-sdk/{model-selection-Bbs4XGPG.js → model-selection-CtVwtb6y.js} +4 -4
  138. package/dist/plugin-sdk/{outbound-BVhSNFy0.js → outbound-DW3cqlQW.js} +7 -7
  139. package/dist/plugin-sdk/{outbound-attachment-B56R1Wi4.js → outbound-attachment-D7ME_Kib.js} +2 -2
  140. package/dist/plugin-sdk/{pi-auth-json-CB2bV0Jd.js → pi-auth-json-DiyK6bgV.js} +1 -1
  141. package/dist/plugin-sdk/{pi-embedded-helpers-dd3G9Hfi.js → pi-embedded-helpers-BL7ZRhGv.js} +17 -17
  142. package/dist/plugin-sdk/{plugins-BNByVCIH.js → plugins-BbAvhC25.js} +4 -4
  143. package/dist/plugin-sdk/{pw-ai-BXeOYCz_.js → pw-ai-B3T0mTHr.js} +8 -8
  144. package/dist/plugin-sdk/{qmd-manager-wIr8qz2n.js → qmd-manager-BlUikj9s.js} +4 -4
  145. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  146. package/dist/plugin-sdk/{replies-CQ4szNhV.js → replies-BR2TPTVW.js} +3 -3
  147. package/dist/plugin-sdk/{reply-DD8z_dUW.js → reply-BKAHTugL.js} +337 -82
  148. package/dist/plugin-sdk/{reply-prefix-uxfMZW4p.js → reply-prefix-BHuV5t70.js} +1 -1
  149. package/dist/plugin-sdk/{resolve-outbound-target-BiyAyTWz.js → resolve-outbound-target-BkCUbYGV.js} +2 -2
  150. package/dist/plugin-sdk/{resolve-route-CWfcnhza.js → resolve-route-CHQ7BTlU.js} +3 -3
  151. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  152. package/dist/plugin-sdk/{runner-BuxCHv_O.js → runner-BhifC1J_.js} +9 -9
  153. package/dist/plugin-sdk/{send-fNRDT21N.js → send-BP5pSPaZ.js} +6 -6
  154. package/dist/plugin-sdk/{send-BtO-7fHs.js → send-CGhw9mO3.js} +6 -6
  155. package/dist/plugin-sdk/{send-CKXzQuXo.js → send-DLO_yV5_.js} +10 -10
  156. package/dist/plugin-sdk/{send-Djq5IPRa.js → send-ZhAe1nXO.js} +10 -10
  157. package/dist/plugin-sdk/{send-XSuwT1PC.js → send-jsofmTfJ.js} +7 -7
  158. package/dist/plugin-sdk/{session-ARbcLHE9.js → session-BfyK_04G.js} +4 -4
  159. package/dist/plugin-sdk/{skill-commands-yzJVuTIW.js → skill-commands-DEfqC_kJ.js} +5 -5
  160. package/dist/plugin-sdk/{skills-BfsaS1F9.js → skills-C9DbB-Kp.js} +7 -7
  161. package/dist/plugin-sdk/{sqlite-A3wGzttn.js → sqlite-CmVrFEYD.js} +1 -1
  162. package/dist/plugin-sdk/{store-BdrNabcU.js → store-Do3t33-c.js} +2 -2
  163. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  164. package/dist/plugin-sdk/{synthesis-Dv5GwSky.js → synthesis-CVF7Fwhd.js} +49 -49
  165. package/dist/plugin-sdk/{tables-DNwXwNFa.js → tables-DR0NmBeH.js} +1 -1
  166. package/dist/{target-errors-DeJTztcq.js → plugin-sdk/target-errors-B7YyMnIi.js} +2 -2
  167. package/dist/plugin-sdk/{thinking-CXqf7WTe.js → thinking-DCNUIAHY.js} +5 -5
  168. package/dist/{tokens-W0JzCJJM.js → plugin-sdk/tokens-CWMflosr.js} +1 -1
  169. package/dist/plugin-sdk/{tool-images-HJ2sfZDV.js → tool-images-D7Lno-TE.js} +2 -2
  170. package/dist/plugin-sdk/{tool-loop-detection-gmtzSlNZ.js → tool-loop-detection-DseOlBug.js} +2 -2
  171. package/dist/plugin-sdk/web-D0DsmFvw.js +66 -0
  172. package/dist/plugin-sdk/{whatsapp-actions-B_1l8JMU.js → whatsapp-actions-eTefsWhW.js} +21 -21
  173. package/dist/{plugins-cli-6UYkZBH0.js → plugins-cli-BDalhI46.js} +5 -5
  174. package/dist/{plugins-cli-DPetEhfv.js → plugins-cli-DFmriy-c.js} +5 -5
  175. package/dist/{plugins-BzmbgY7s.js → plugins-v8k1XVOy.js} +9 -9
  176. package/dist/{program-CVy9LVoS.js → program-DKh41c2a.js} +10 -10
  177. package/dist/{program-context-CBI6gIf-.js → program-context-Cq7pqOrw.js} +19 -19
  178. package/dist/{prompt-select-styled-BlXl_Qf7.js → prompt-select-styled-BFCAZLwK.js} +6 -6
  179. package/dist/{prompt-select-styled-Bv675D48.js → prompt-select-styled-DvvSE_ni.js} +6 -6
  180. package/dist/{provider-auth-helpers-RUQD5XAm.js → provider-auth-helpers-B-LkDxxi.js} +1 -1
  181. package/dist/{provider-auth-helpers-BB1lhCy5.js → provider-auth-helpers-DXppgV1l.js} +1 -1
  182. package/dist/{push-apns-Cr-a1KBt.js → push-apns-DCA47WA5.js} +1 -1
  183. package/dist/{push-apns-rPetW5cI.js → push-apns-DvudhEAb.js} +1 -1
  184. package/dist/{pw-ai-CQtaPvM8.js → pw-ai-40Jf9QIb.js} +1 -1
  185. package/dist/{pw-ai-DWkC5eGA.js → pw-ai-XGqnSWju.js} +11 -11
  186. package/dist/{qmd-manager-BXkbA8Y9.js → qmd-manager-CbRJhonG.js} +8 -8
  187. package/dist/{register.agent-DKDwNHQi.js → register.agent-_BV5KyFb.js} +9 -9
  188. package/dist/{register.agent-j6OlKEU-.js → register.agent-aFj_SMi3.js} +8 -8
  189. package/dist/{register.configure-CopgSygi.js → register.configure-CvOoD5gE.js} +9 -9
  190. package/dist/{register.configure-BgIXIq9d.js → register.configure-Dx0Uhmlz.js} +9 -9
  191. package/dist/{register.maintenance-DjaGkVtr.js → register.maintenance-BuZpoSik.js} +10 -10
  192. package/dist/{register.maintenance-BKsCM6NG.js → register.maintenance-CMeJR7DG.js} +11 -11
  193. package/dist/{register.message-C3oHvmdl.js → register.message-qysZPg3G.js} +5 -5
  194. package/dist/{register.message-bxhUcSyj.js → register.message-xxGePuRC.js} +5 -5
  195. package/dist/{register.onboard-DijWH8Vd.js → register.onboard-1MP2I0q4.js} +7 -7
  196. package/dist/{register.onboard-D0DHcb20.js → register.onboard-D4Aow7Gc.js} +7 -7
  197. package/dist/{register.setup-XlCTnTm_.js → register.setup-BT74aXzA.js} +7 -7
  198. package/dist/{register.setup-CrFzd94c.js → register.setup-DzliKkWh.js} +7 -7
  199. package/dist/{register.status-health-sessions-VwvDWUxZ.js → register.status-health-sessions-B3K2gZ72.js} +7 -7
  200. package/dist/{register.status-health-sessions-AWCg_uLf.js → register.status-health-sessions-D7VYZlrU.js} +7 -7
  201. package/dist/{register.subclis-Bw8k5Z5C.js → register.subclis-BCy0IDRv.js} +10 -10
  202. package/dist/{registry-DYq1AYOv.js → registry-X6fUE0K7.js} +19 -19
  203. package/dist/{replies-CUWXgyx2.js → replies-86F3PldM.js} +3 -3
  204. package/dist/{reply-D7_t00Jt.js → reply-Dg1ZU3DZ.js} +262 -9
  205. package/dist/{reply-prefix-CvEIl6_d.js → reply-prefix-CI_IdwqH.js} +1 -1
  206. package/dist/{resolve-route-Jy5dFY67.js → resolve-route-BgSuN9c6.js} +4 -4
  207. package/dist/{retry-B-y5suGA.js → retry-4oEAHckB.js} +1 -1
  208. package/dist/{run-main-7BEaNeDG.js → run-main-OS2aFAJ2.js} +18 -18
  209. package/dist/{runner-ecX1WzDt.js → runner-B5oNTtgf.js} +22 -22
  210. package/dist/{runner-Dpjulwnm.js → runner-DFuAePEr.js} +1 -1
  211. package/dist/{security-cli-BpnzAB5_.js → security-cli-BadXDWTh.js} +2 -2
  212. package/dist/{security-cli-D9WEiEjD.js → security-cli-D5y28-RH.js} +2 -2
  213. package/dist/{send-DFtnbzqy.js → send-ASDB3AzC.js} +7 -7
  214. package/dist/{send-Bb4it0te.js → send-BTfqlrYd.js} +18 -18
  215. package/dist/{send-C0QjmPaf.js → send-CSydU49L.js} +10 -10
  216. package/dist/{send-Cpk3Ti6-.js → send-Du-IfSne.js} +6 -6
  217. package/dist/{send-BKo1T3HF.js → send-cCTQjuOZ.js} +6 -6
  218. package/dist/{server-methods-CTeJHJSZ.js → server-methods-BszFAkbJ.js} +8 -8
  219. package/dist/{server-methods-FQ-PqiVC.js → server-methods-D_iKJ-sj.js} +8 -8
  220. package/dist/{server-node-events-BqvcHbuK.js → server-node-events-CENHuAVz.js} +5 -5
  221. package/dist/{server-node-events-Z7epDloV.js → server-node-events-uBu3XOjd.js} +5 -5
  222. package/dist/{session-BTeY6Gn2.js → session-D8qLj_xN.js} +8 -8
  223. package/dist/{skill-commands-DG2lcozb.js → skill-commands-BcOduw6G.js} +16 -16
  224. package/dist/{skills-CXxrn_e2.js → skills-BrYDT4Jr.js} +24 -24
  225. package/dist/{sqlite-BN_hIcmu.js → sqlite-P-gMg7fi.js} +3 -3
  226. package/dist/{status-CKROJwI2.js → status-BvbJavmh.js} +1 -1
  227. package/dist/{status-DLFbpd9v.js → status-CA0mUJld.js} +4 -4
  228. package/dist/{status-DMigoL7q.js → status-CBnCPUMG.js} +4 -4
  229. package/dist/{status-x7WCSVhG.js → status-DJAeKN4G.js} +1 -1
  230. package/dist/{store-01F_JM7O.js → store-Ceagbc4L.js} +6 -6
  231. package/dist/{subagent-registry-BvP8AGdE.js → subagent-registry-C1OyZl-M.js} +262 -9
  232. package/dist/{subsystem-BjyjJF-d.js → subsystem-CzXhCdeY.js} +1 -1
  233. package/dist/{synthesis-DgQz6kPf.js → synthesis-DNTyB7JY.js} +7 -7
  234. package/dist/{synthesis-E4flT91F.js → synthesis-DuqSkHEr.js} +54 -54
  235. package/dist/{synthesis-DDId6n26.js → synthesis-brHrnNF2.js} +4 -4
  236. package/dist/{synthesis-By7KPUAm.js → synthesis-z5B41p_r.js} +4 -4
  237. package/dist/{tables-DoG-pFrf.js → tables-qbCoZrYA.js} +1 -1
  238. package/dist/{plugin-sdk/target-errors-Paro1BjP.js → target-errors-uNitqCCT.js} +2 -2
  239. package/dist/{thinking-BprCy23Z.js → thinking-BV7SCNJP.js} +5 -5
  240. package/dist/{plugin-sdk/tokens-bC3UVmVH.js → tokens-Bl5R3wPD.js} +1 -1
  241. package/dist/{tool-images-SqqWIT22.js → tool-images-JxNglLSr.js} +2 -2
  242. package/dist/{tool-loop-detection-Dj9h1ogr.js → tool-loop-detection-dfE771kg.js} +3 -3
  243. package/dist/{unified-runner-DaSb-TsZ.js → unified-runner-Czg3pdBc.js} +488 -233
  244. package/dist/{update-cli-D0relAZw.js → update-cli-0lyGyl31.js} +11 -11
  245. package/dist/{update-cli-C5H6DkNM.js → update-cli-CIzkVfmj.js} +10 -10
  246. package/dist/{update-runner-D99V_zHX.js → update-runner-D7-LDziQ.js} +1 -1
  247. package/dist/{update-runner-B_yVOk8Z.js → update-runner-aYPcKYAN.js} +1 -1
  248. package/dist/{web-BBz1kF_9.js → web-B90A99YU.js} +58 -58
  249. package/dist/{web-Bdebat5l.js → web-BJ5dUZso.js} +5 -5
  250. package/dist/{web-BQh2S6oq.js → web-CN7wnU7w.js} +4 -4
  251. package/dist/{web-CiYoJfrl.js → web-Wk1ay1eQ.js} +7 -7
  252. package/dist/{whatsapp-actions-DmVpLXmh.js → whatsapp-actions-llk0IUn2.js} +23 -23
  253. package/dist/{workspace-DscDraUb.js → workspace-CywO4ayZ.js} +27 -27
  254. package/extensions/bluebubbles/package.json +1 -1
  255. package/extensions/copilot-proxy/package.json +1 -1
  256. package/extensions/diagnostics-otel/package.json +1 -1
  257. package/extensions/discord/package.json +1 -1
  258. package/extensions/feishu/package.json +1 -1
  259. package/extensions/google-antigravity-auth/package.json +1 -1
  260. package/extensions/google-gemini-cli-auth/package.json +1 -1
  261. package/extensions/googlechat/package.json +1 -1
  262. package/extensions/imessage/package.json +1 -1
  263. package/extensions/irc/package.json +1 -1
  264. package/extensions/learning-loop/package.json +1 -1
  265. package/extensions/line/package.json +1 -1
  266. package/extensions/llm-task/package.json +1 -1
  267. package/extensions/matrix/CHANGELOG.md +6 -0
  268. package/extensions/matrix/package.json +1 -1
  269. package/extensions/mattermost/package.json +1 -1
  270. package/extensions/memory-core/package.json +1 -1
  271. package/extensions/memory-lancedb/package.json +1 -1
  272. package/extensions/minimax-portal-auth/package.json +1 -1
  273. package/extensions/msteams/CHANGELOG.md +6 -0
  274. package/extensions/msteams/package.json +1 -1
  275. package/extensions/nextcloud-talk/package.json +1 -1
  276. package/extensions/nostr/CHANGELOG.md +6 -0
  277. package/extensions/nostr/package.json +1 -1
  278. package/extensions/open-prose/package.json +1 -1
  279. package/extensions/outlook/package.json +1 -1
  280. package/extensions/pipeline/package.json +1 -1
  281. package/extensions/signal/package.json +1 -1
  282. package/extensions/slack/package.json +1 -1
  283. package/extensions/telegram/package.json +1 -1
  284. package/extensions/tlon/package.json +1 -1
  285. package/extensions/twitch/CHANGELOG.md +6 -0
  286. package/extensions/twitch/package.json +1 -1
  287. package/extensions/voice-call/CHANGELOG.md +6 -0
  288. package/extensions/voice-call/package.json +1 -1
  289. package/extensions/whatsapp/package.json +1 -1
  290. package/extensions/zalo/CHANGELOG.md +6 -0
  291. package/extensions/zalo/package.json +1 -1
  292. package/extensions/zalouser/CHANGELOG.md +6 -0
  293. package/extensions/zalouser/package.json +1 -1
  294. package/package.json +1 -1
  295. package/dist/plugin-sdk/web-CmKqZEsX.js +0 -66
@@ -50,8 +50,8 @@ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as san
50
50
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
51
51
  import { t as ensureSymiModelsJson } from "./models-config-J1x_DaPn.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
53
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BSOOwpt1.js";
54
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-syNf_ZrI.js";
53
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Qgbcxvuf.js";
54
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-DDELj5o9.js";
55
55
  import { f as runTasksWithConcurrency } from "./internal-C2jxeHS9.js";
56
56
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
57
57
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-Co0LcWKH.js";
@@ -95,7 +95,7 @@ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliv
95
95
  import { r as detectBinary } from "./onboard-helpers-CF0Cp3OB.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-BHx_CdbP.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-DEi7sEFa.js";
98
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-QIVWAVVI.js";
98
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-o0ytjRqu.js";
99
99
  import { createRequire } from "node:module";
100
100
  import { execFileSync, spawn, spawnSync } from "node:child_process";
101
101
  import os, { homedir } from "node:os";
@@ -11042,7 +11042,7 @@ async function resolveSandboxWorkdir(params) {
11042
11042
  };
11043
11043
  }
11044
11044
  }
11045
- function resolveWorkdir(workdir, warnings) {
11045
+ function resolveWorkdir$1(workdir, warnings) {
11046
11046
  const fallback = safeCwd() ?? homedir();
11047
11047
  try {
11048
11048
  if (statSync(workdir).isDirectory()) return workdir;
@@ -12114,7 +12114,7 @@ function createExecTool(defaults) {
12114
12114
  });
12115
12115
  workdir = resolved.hostWorkdir;
12116
12116
  containerWorkdir = resolved.containerWorkdir;
12117
- } else workdir = resolveWorkdir(rawWorkdir, warnings);
12117
+ } else workdir = resolveWorkdir$1(rawWorkdir, warnings);
12118
12118
  const baseEnv = coerceEnv(process.env);
12119
12119
  if (host !== "sandbox" && params.env) validateHostEnv(params.env);
12120
12120
  const mergedEnv = params.env ? {
@@ -29913,6 +29913,254 @@ function createSubagentsTool(opts) {
29913
29913
  };
29914
29914
  }
29915
29915
 
29916
+ //#endregion
29917
+ //#region src/agents/tools/task-tool.ts
29918
+ /**
29919
+ * Long-task management tools (task_list, task_cancel).
29920
+ *
29921
+ * Companions to the detach-task pattern in skills/long-task. The detach
29922
+ * script writes task-<id>.{pid,cmd,started,log,status} state files into
29923
+ * the agent's workspace; these tools read and act on those files so the
29924
+ * agent can answer "what's running?" and kill a task without needing
29925
+ * shell access.
29926
+ *
29927
+ * task-id allow-list mirrors detach-task.sh: 1–60 chars from
29928
+ * [a-zA-Z0-9._-], must not start with '.' or '-'. Diverging would let the
29929
+ * agent kill processes it never spawned via path traversal.
29930
+ */
29931
+ const TASK_FILE_PREFIX = "task-";
29932
+ const TASK_ID_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
29933
+ const TASK_FILE_SUFFIXES = [
29934
+ ".pid",
29935
+ ".status",
29936
+ ".started",
29937
+ ".cmd",
29938
+ ".log"
29939
+ ];
29940
+ const ALLOWED_SIGNALS = new Set([
29941
+ "SIGTERM",
29942
+ "SIGINT",
29943
+ "SIGHUP",
29944
+ "SIGQUIT",
29945
+ "SIGKILL",
29946
+ "SIGUSR1",
29947
+ "SIGUSR2"
29948
+ ]);
29949
+ const TaskListSchema = Type.Object({ workdir: Type.Optional(Type.String()) });
29950
+ const TaskCancelSchema = Type.Object({
29951
+ taskId: Type.String(),
29952
+ workdir: Type.Optional(Type.String()),
29953
+ signal: Type.Optional(Type.String())
29954
+ });
29955
+ function normaliseSignal(input) {
29956
+ if (!input) return "SIGTERM";
29957
+ const upper = input.trim().toUpperCase();
29958
+ const candidate = upper.startsWith("SIG") ? upper : `SIG${upper}`;
29959
+ if (ALLOWED_SIGNALS.has(candidate)) return candidate;
29960
+ throw new Error(`Unsupported signal: ${input}. Allowed: TERM, INT, HUP, QUIT, KILL, USR1, USR2.`);
29961
+ }
29962
+ function isPidAlive(pid) {
29963
+ try {
29964
+ process.kill(pid, 0);
29965
+ return true;
29966
+ } catch (err) {
29967
+ if (err.code === "EPERM") return true;
29968
+ return false;
29969
+ }
29970
+ }
29971
+ async function safeRead(filePath) {
29972
+ try {
29973
+ return (await fs.promises.readFile(filePath, "utf8")).trim();
29974
+ } catch {
29975
+ return null;
29976
+ }
29977
+ }
29978
+ function resolveWorkdir(deps, override) {
29979
+ const raw = override?.trim();
29980
+ if (!raw) return deps.workspaceDir;
29981
+ if (!path.isAbsolute(raw)) throw new Error(`workdir must be an absolute path (got: ${raw})`);
29982
+ return raw;
29983
+ }
29984
+ async function readTaskInfo(workdir, id) {
29985
+ const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${id}.pid`);
29986
+ const [pidText, status, started, cmd] = await Promise.all([
29987
+ safeRead(pidPath),
29988
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`)),
29989
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.started`)),
29990
+ safeRead(path.join(workdir, `${TASK_FILE_PREFIX}${id}.cmd`))
29991
+ ]);
29992
+ let pid = null;
29993
+ if (pidText) {
29994
+ const parsed = Number.parseInt(pidText, 10);
29995
+ if (Number.isFinite(parsed) && parsed > 0) pid = parsed;
29996
+ }
29997
+ return {
29998
+ id,
29999
+ pid,
30000
+ alive: pid !== null && isPidAlive(pid),
30001
+ status: status ?? "missing",
30002
+ started,
30003
+ cmd,
30004
+ pidPath,
30005
+ statusPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.status`),
30006
+ logPath: path.join(workdir, `${TASK_FILE_PREFIX}${id}.log`)
30007
+ };
30008
+ }
30009
+ function createTaskListTool(deps) {
30010
+ return {
30011
+ label: "Task List",
30012
+ name: "task_list",
30013
+ description: `List long-running detached tasks in the agent's workspace.
30014
+
30015
+ Globs task-<id>.{pid,status,started,cmd,log} files, reads their state, and
30016
+ checks each PID's liveness. Use this to find the task-id of a running
30017
+ detach-task before calling task_cancel, or to answer "what's running right
30018
+ now?" without re-asking the user.
30019
+
30020
+ Returns: { workdir, tasks: [{ id, pid, alive, status, started, cmd, pidPath, statusPath, logPath }] }.
30021
+ Tasks whose .pid file is missing are still listed (alive=false, pid=null) so
30022
+ the agent can spot orphan state files.`,
30023
+ parameters: TaskListSchema,
30024
+ execute: async (_toolCallId, args) => {
30025
+ const override = readStringParam(args, "workdir");
30026
+ let workdir;
30027
+ try {
30028
+ workdir = resolveWorkdir(deps, override);
30029
+ } catch (err) {
30030
+ return jsonResult({
30031
+ workdir: override ?? deps.workspaceDir,
30032
+ tasks: [],
30033
+ error: err instanceof Error ? err.message : String(err)
30034
+ });
30035
+ }
30036
+ let entries;
30037
+ try {
30038
+ entries = await fs.promises.readdir(workdir);
30039
+ } catch (err) {
30040
+ if (err.code === "ENOENT") return jsonResult({
30041
+ workdir,
30042
+ tasks: []
30043
+ });
30044
+ return jsonResult({
30045
+ workdir,
30046
+ tasks: [],
30047
+ error: err instanceof Error ? err.message : String(err)
30048
+ });
30049
+ }
30050
+ const taskIds = /* @__PURE__ */ new Set();
30051
+ for (const entry of entries) {
30052
+ if (!entry.startsWith(TASK_FILE_PREFIX)) continue;
30053
+ for (const suffix of TASK_FILE_SUFFIXES) if (entry.endsWith(suffix)) {
30054
+ const id = entry.slice(5, -suffix.length);
30055
+ if (id.length > 0 && TASK_ID_RE.test(id)) taskIds.add(id);
30056
+ break;
30057
+ }
30058
+ }
30059
+ const tasks = await Promise.all([...taskIds].toSorted().map((id) => readTaskInfo(workdir, id)));
30060
+ return jsonResult({
30061
+ workdir,
30062
+ tasks
30063
+ });
30064
+ }
30065
+ };
30066
+ }
30067
+ function createTaskCancelTool(deps) {
30068
+ return {
30069
+ label: "Task Cancel",
30070
+ name: "task_cancel",
30071
+ description: `Send a signal (default SIGTERM) to a running detached task.
30072
+
30073
+ Reads task-<id>.pid in the workdir, validates the recorded PID is alive,
30074
+ and sends the signal via process.kill. The task's TERM/INT/HUP trap will
30075
+ write an "aborted" status before exiting, so a follow-up task_list call
30076
+ sees the canonical end state.
30077
+
30078
+ task-id must match the same allow-list as detach-task.sh: 1–60 chars from
30079
+ [a-zA-Z0-9._-], no leading '.' or '-'. signal accepts TERM (default), INT,
30080
+ HUP, QUIT, KILL, USR1, USR2 — with or without the "SIG" prefix.
30081
+
30082
+ Returns: { ok, taskId, pid, sentSignal, alreadyDead?, error? }.`,
30083
+ parameters: TaskCancelSchema,
30084
+ execute: async (_toolCallId, args) => {
30085
+ const params = args;
30086
+ const taskId = readStringParam(params, "taskId", { required: true });
30087
+ if (!TASK_ID_RE.test(taskId)) return jsonResult({
30088
+ ok: false,
30089
+ taskId,
30090
+ error: "taskId must be 1–60 chars from [a-zA-Z0-9._-] and must not start with '.' or '-'."
30091
+ });
30092
+ const override = readStringParam(params, "workdir");
30093
+ let workdir;
30094
+ try {
30095
+ workdir = resolveWorkdir(deps, override);
30096
+ } catch (err) {
30097
+ return jsonResult({
30098
+ ok: false,
30099
+ taskId,
30100
+ error: err instanceof Error ? err.message : String(err)
30101
+ });
30102
+ }
30103
+ const signalRaw = readStringParam(params, "signal");
30104
+ let signal;
30105
+ try {
30106
+ signal = normaliseSignal(signalRaw);
30107
+ } catch (err) {
30108
+ return jsonResult({
30109
+ ok: false,
30110
+ taskId,
30111
+ error: err instanceof Error ? err.message : String(err)
30112
+ });
30113
+ }
30114
+ const pidPath = path.join(workdir, `${TASK_FILE_PREFIX}${taskId}.pid`);
30115
+ let pidText;
30116
+ try {
30117
+ pidText = (await fs.promises.readFile(pidPath, "utf8")).trim();
30118
+ } catch (err) {
30119
+ if (err.code === "ENOENT") return jsonResult({
30120
+ ok: false,
30121
+ taskId,
30122
+ error: `no pid file at ${pidPath} — task is unknown or already cleaned up`
30123
+ });
30124
+ return jsonResult({
30125
+ ok: false,
30126
+ taskId,
30127
+ error: err instanceof Error ? err.message : String(err)
30128
+ });
30129
+ }
30130
+ const pid = Number.parseInt(pidText, 10);
30131
+ if (!Number.isFinite(pid) || pid <= 0) return jsonResult({
30132
+ ok: false,
30133
+ taskId,
30134
+ error: `pid file at ${pidPath} did not contain a positive integer`
30135
+ });
30136
+ if (!isPidAlive(pid)) return jsonResult({
30137
+ ok: false,
30138
+ taskId,
30139
+ pid,
30140
+ alreadyDead: true,
30141
+ error: "process is no longer running"
30142
+ });
30143
+ try {
30144
+ process.kill(pid, signal);
30145
+ } catch (err) {
30146
+ return jsonResult({
30147
+ ok: false,
30148
+ taskId,
30149
+ pid,
30150
+ sentSignal: signal,
30151
+ error: err instanceof Error ? err.message : String(err)
30152
+ });
30153
+ }
30154
+ return jsonResult({
30155
+ ok: true,
30156
+ taskId,
30157
+ pid,
30158
+ sentSignal: signal
30159
+ });
30160
+ }
30161
+ };
30162
+ }
30163
+
29916
30164
  //#endregion
29917
30165
  //#region src/agents/tools/tts-tool.ts
29918
30166
  const TtsToolSchema = Type.Object({
@@ -31213,6 +31461,8 @@ function createSymiTools(options) {
31213
31461
  config: options?.config
31214
31462
  }),
31215
31463
  createCronTool({ agentSessionKey: options?.agentSessionKey }),
31464
+ createTaskListTool({ workspaceDir }),
31465
+ createTaskCancelTool({ workspaceDir }),
31216
31466
  ...messageTool ? [messageTool] : [],
31217
31467
  createTtsTool({
31218
31468
  agentChannel: options?.agentChannel,
@@ -39013,6 +39263,7 @@ async function resolveDetachScriptPath(params) {
39013
39263
  return cachedScriptPath;
39014
39264
  }
39015
39265
  async function buildLongTaskPromptSuffix(params) {
39266
+ if (params.cronEnabled === false) return "";
39016
39267
  const scriptPath = await resolveDetachScriptPath(params);
39017
39268
  if (!scriptPath) return "";
39018
39269
  return "\n\n" + [
@@ -39032,7 +39283,8 @@ async function buildLongTaskPromptSuffix(params) {
39032
39283
  " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
39033
39284
  " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
39034
39285
  " • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
39035
- " • Never leave stale monitors running after the task finishes."
39286
+ " • Never leave stale monitors running after the task finishes.",
39287
+ "- Inspecting and killing tasks: use `task_list` to enumerate detached tasks in the workspace (returns id/pid/alive/status/started for each), and `task_cancel` with `taskId` (and optional `signal`, default SIGTERM) to terminate a running task. Prefer these over raw `kill`/`ps` exec calls — they share the detach script's task-id allow-list and report alreadyDead cleanly."
39036
39288
  ].join("\n");
39037
39289
  }
39038
39290
 
@@ -40093,7 +40345,8 @@ async function runEmbeddedAttempt(params) {
40093
40345
  const longTaskSuffix = await buildLongTaskPromptSuffix({
40094
40346
  argv1: process.argv[1],
40095
40347
  cwd: process.cwd(),
40096
- moduleUrl: import.meta.url
40348
+ moduleUrl: import.meta.url,
40349
+ cronEnabled: process.env.SYMI_SKIP_CRON !== "1" && params.config?.cron?.enabled !== false
40097
40350
  });
40098
40351
  const emailCapabilitySuffix = buildEmailCapabilityPromptSuffix();
40099
40352
  const systemPromptText = createSystemPromptOverride(appendPrompt + longTaskSuffix + emailCapabilitySuffix + profilePromptSuffix)();
@@ -53582,7 +53835,7 @@ function isVoiceChannelType(type) {
53582
53835
  function createDefaultDeps() {
53583
53836
  return {
53584
53837
  sendMessageWhatsApp: async (...args) => {
53585
- const { sendMessageWhatsApp } = await import("./web-BQh2S6oq.js");
53838
+ const { sendMessageWhatsApp } = await import("./web-CN7wnU7w.js");
53586
53839
  return await sendMessageWhatsApp(...args);
53587
53840
  },
53588
53841
  sendMessageTelegram: async (...args) => {
@@ -68896,7 +69149,7 @@ function loadWebLoginQr() {
68896
69149
  return webLoginQrPromise;
68897
69150
  }
68898
69151
  function loadWebChannel() {
68899
- webChannelPromise ??= import("./web-BQh2S6oq.js");
69152
+ webChannelPromise ??= import("./web-CN7wnU7w.js");
68900
69153
  return webChannelPromise;
68901
69154
  }
68902
69155
  function loadWhatsAppActions() {
@@ -1,4 +1,4 @@
1
- import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-DYq1AYOv.js";
1
+ import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-X6fUE0K7.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -7,13 +7,13 @@ import "./reply-prefix-K_J_nfgx.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-Cn6drXx2.js";
10
- import { p as runAgentTurn } from "./pi-embedded-DCBB1_SC.js";
10
+ import { p as runAgentTurn } from "./pi-embedded-CdOdQw2i.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
14
14
  import "./send-BaBv1rAU.js";
15
15
  import "./send-DLVrnezL.js";
16
- import "./deliver-B_Q_nWJV.js";
16
+ import "./deliver-D0bWiRCg.js";
17
17
  import "./diagnostic-Kbl70eCP.js";
18
18
  import "./diagnostic-session-state-C1vRJs5w.js";
19
19
  import "./accounts-8zZqL37v.js";
@@ -21,10 +21,10 @@ import "./send-B5kAnKqP.js";
21
21
  import "./image-ops-ByaQt43P.js";
22
22
  import "./pi-model-discovery-j5tVLINv.js";
23
23
  import "./message-channel-BQINJQIT.js";
24
- import "./pi-embedded-helpers-DjSdA5BG.js";
24
+ import "./pi-embedded-helpers-TcYQOZAY.js";
25
25
  import "./config-BAVNLbja.js";
26
26
  import "./manifest-registry-DWdYdchb.js";
27
- import "./chrome-BUT--ob3.js";
27
+ import "./chrome-B14NNyfm.js";
28
28
  import "./skills-XEbTRNYL.js";
29
29
  import "./redact-1NGYV_8p.js";
30
30
  import "./errors-CPfngF0S.js";
@@ -34,8 +34,8 @@ import "./thinking-W85Rb32m.js";
34
34
  import "./accounts-DImOt9jX.js";
35
35
  import "./paths-DkMamAQ-.js";
36
36
  import "./tool-images-ChC2CXaN.js";
37
- import "./image-tzIqIuKx.js";
38
- import "./manager-DRrGn88w.js";
37
+ import "./image-MNvheU8U.js";
38
+ import "./manager-BtWtmpxN.js";
39
39
  import "./gemini-auth-DVcG-42i.js";
40
40
  import "./retry-QGp0jvVi.js";
41
41
  import "./sqlite-Bo4pHfp8.js";
@@ -47,7 +47,7 @@ import "./ir-0kwEfxD4.js";
47
47
  import "./render-qcqmrHse.js";
48
48
  import "./commands-registry-ke7KirEH.js";
49
49
  import "./skill-commands-CSF7Poen.js";
50
- import "./runner-Dpjulwnm.js";
50
+ import "./runner-DFuAePEr.js";
51
51
  import "./fetch-WLZaC77l.js";
52
52
  import "./channel-activity-C-6tM-GK.js";
53
53
  import "./tables-BE0lT1IV.js";
@@ -1,66 +1,66 @@
1
- import "./paths-CE7eVGHg.js";
2
- import "./registry-DYq1AYOv.js";
3
- import "./agent-scope-CpEJ0B88.js";
4
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
5
- import "./workspace-DscDraUb.js";
6
- import { t as runAgentTurn } from "./unified-runner-DaSb-TsZ.js";
7
- import "./paths-CbQV9WEg.js";
8
- import "./auth-profiles-C2vj6htZ.js";
9
- import "./env-BDXYbTKj.js";
10
- import "./github-copilot-token-cCYzSU9h.js";
1
+ import "./paths-CYmyCDsE.js";
2
+ import "./registry-X6fUE0K7.js";
3
+ import "./agent-scope-Cpm7a9ss.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
5
+ import "./workspace-CywO4ayZ.js";
6
+ import { t as runAgentTurn } from "./unified-runner-Czg3pdBc.js";
7
+ import "./paths-DEuVuViW.js";
8
+ import "./auth-profiles-BzB_Exeq.js";
9
+ import "./env-CB65jmJQ.js";
10
+ import "./github-copilot-token-B8B2pmph.js";
11
11
  import "./boolean-CE7i9tBR.js";
12
- import "./pi-embedded-helpers-D1_Sab0M.js";
13
- import "./config-BkZ9HOKT.js";
14
- import "./manifest-registry-CBCGTsIb.js";
15
- import "./chrome-ROtrXlNs.js";
16
- import "./frontmatter-CTR5f_Ez.js";
17
- import "./skills-CXxrn_e2.js";
12
+ import "./pi-embedded-helpers-DwQ9wJeT.js";
13
+ import "./config-C4WnAd-c.js";
14
+ import "./manifest-registry-BvGv6lp9.js";
15
+ import "./chrome-DwXnykXR.js";
16
+ import "./frontmatter-CT1M0pRK.js";
17
+ import "./skills-BrYDT4Jr.js";
18
18
  import "./redact-BDMXB06K.js";
19
19
  import "./errors-XIsvXeC-.js";
20
- import "./image-ops-C7CauEK8.js";
20
+ import "./image-ops-CY7v6vvp.js";
21
21
  import "./ssrf-DpUUUgkK.js";
22
- import "./store-01F_JM7O.js";
23
- import "./thinking-BprCy23Z.js";
24
- import "./message-channel-OlFBYAw8.js";
25
- import "./plugins-BzmbgY7s.js";
26
- import "./accounts-BRw8yhIW.js";
27
- import "./accounts-3dCrO3oZ.js";
28
- import "./accounts-BuZxOb3B.js";
29
- import "./bindings-BsHoBLIE.js";
30
- import "./send-BKo1T3HF.js";
31
- import "./send-C0QjmPaf.js";
32
- import "./tool-images-SqqWIT22.js";
33
- import "./deliver-B0OUq6RP.js";
34
- import "./diagnostic-BUcR3Meg.js";
22
+ import "./store-Ceagbc4L.js";
23
+ import "./thinking-BV7SCNJP.js";
24
+ import "./message-channel-lwVT8QjK.js";
25
+ import "./plugins-v8k1XVOy.js";
26
+ import "./accounts-BsgY6sda.js";
27
+ import "./accounts-wWWkC0JH.js";
28
+ import "./accounts-Bsg6r6H7.js";
29
+ import "./bindings-xcRox9xM.js";
30
+ import "./send-cCTQjuOZ.js";
31
+ import "./send-CSydU49L.js";
32
+ import "./tool-images-JxNglLSr.js";
33
+ import "./deliver-SLYAWE19.js";
34
+ import "./diagnostic-DTkZsRNM.js";
35
35
  import "./diagnostic-session-state-Zw87xFym.js";
36
- import "./image-BuVL0jHI.js";
37
- import "./pi-auth-json-RXOlh8ar.js";
38
- import "./tokens-W0JzCJJM.js";
39
- import "./send-Bb4it0te.js";
36
+ import "./image-BHF_fnIp.js";
37
+ import "./pi-auth-json-Bv1NzJdR.js";
38
+ import "./tokens-Bl5R3wPD.js";
39
+ import "./send-BTfqlrYd.js";
40
40
  import "./pi-model-discovery-CuZX_Q4t.js";
41
- import "./reply-prefix-CvEIl6_d.js";
42
- import "./manager-_RGWWymD.js";
43
- import "./gemini-auth-BefM10YB.js";
44
- import "./retry-B-y5suGA.js";
45
- import "./sqlite-BN_hIcmu.js";
46
- import "./target-errors-DeJTztcq.js";
47
- import "./chunk-BRe1o4Af.js";
48
- import "./markdown-tables-x2Xe2UXh.js";
49
- import "./local-roots-ClipCZ9s.js";
50
- import "./ir-7tMVY7D_.js";
41
+ import "./reply-prefix-CI_IdwqH.js";
42
+ import "./manager-DxCmjSfP.js";
43
+ import "./gemini-auth-D80BsXr2.js";
44
+ import "./retry-4oEAHckB.js";
45
+ import "./sqlite-P-gMg7fi.js";
46
+ import "./target-errors-uNitqCCT.js";
47
+ import "./chunk-BcxcL1U3.js";
48
+ import "./markdown-tables-CE-qSMGB.js";
49
+ import "./local-roots-tcdaIEhh.js";
50
+ import "./ir-D6MiJpAy.js";
51
51
  import "./render-D1xvLuGo.js";
52
- import "./commands-registry-DxbSTLNQ.js";
53
- import "./runner-ecX1WzDt.js";
54
- import "./skill-commands-DG2lcozb.js";
52
+ import "./commands-registry-ByGkL6hs.js";
53
+ import "./runner-B5oNTtgf.js";
54
+ import "./skill-commands-BcOduw6G.js";
55
55
  import "./fetch-ClslA6GS.js";
56
- import "./channel-activity-D8QD7GoV.js";
57
- import "./tables-DoG-pFrf.js";
58
- import "./send-Cpk3Ti6-.js";
59
- import "./outbound-attachment-DeCnZT-8.js";
60
- import "./send-DFtnbzqy.js";
61
- import "./resolve-route-Jy5dFY67.js";
56
+ import "./channel-activity-CzHaIUAp.js";
57
+ import "./tables-qbCoZrYA.js";
58
+ import "./send-Du-IfSne.js";
59
+ import "./outbound-attachment-BWyKV1Gy.js";
60
+ import "./send-ASDB3AzC.js";
61
+ import "./resolve-route-BgSuN9c6.js";
62
62
  import "./proxy-d9fklNTC.js";
63
- import "./replies-CUWXgyx2.js";
63
+ import "./replies-86F3PldM.js";
64
64
 
65
65
  //#region src/memory/synthesis.ts
66
66
  const log = createSubsystemLogger("memory/synthesis");
@@ -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 { zt as runAgentTurn } from "./reply-D7_t00Jt.js";
4
+ import { zt as runAgentTurn } from "./reply-Dg1ZU3DZ.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./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-0jm-n36m.js";
64
- import "./manager-TOeH0D8K.js";
63
+ import "./memory-cli-ENCASZJk.js";
64
+ import "./manager-DrmlegR2.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -98,7 +98,7 @@ import "./prompt-style-Y2J72w6p.js";
98
98
  import "./pairing-labels-CTL1gXZb.js";
99
99
  import "./exec-approvals-DEigTi7M.js";
100
100
  import "./nodes-screen-BZS89z6C.js";
101
- import "./pi-tools.policy-BZrM6a-w.js";
101
+ import "./pi-tools.policy-Bx5zp45n.js";
102
102
  import "./control-service-C0pRqIFv.js";
103
103
  import "./stagger-CZ1Rrj7O.js";
104
104
  import "./channel-selection-9fIQGtZy.js";
@@ -14,7 +14,7 @@ import "./client-qUlxXXVJ.js";
14
14
  import "./call-BrRWr7Lj.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { J as runAgentTurn } from "./subagent-registry-BvP8AGdE.js";
17
+ import { J as runAgentTurn } from "./subagent-registry-C1OyZl-M.js";
18
18
  import "./sessions-BPD85pWA.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-J1x_DaPn.js";
54
54
  import "./reply-prefix-BUN71nd5.js";
55
- import "./memory-cli-BSOOwpt1.js";
56
- import "./manager-syNf_ZrI.js";
55
+ import "./memory-cli-Qgbcxvuf.js";
56
+ import "./manager-DDELj5o9.js";
57
57
  import "./gemini-auth-DEakvf-D.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  import "./sqlite-BP8tiuca.js";
@@ -97,7 +97,7 @@ import "./replies-Sxbew659.js";
97
97
  import "./onboard-helpers-CF0Cp3OB.js";
98
98
  import "./prompt-style-BxVdnrLq.js";
99
99
  import "./pairing-labels-BHx_CdbP.js";
100
- import "./pi-tools.policy-QIVWAVVI.js";
100
+ import "./pi-tools.policy-o0ytjRqu.js";
101
101
 
102
102
  //#region src/memory/synthesis.ts
103
103
  const log = createSubsystemLogger("memory/synthesis");
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-7tMVY7D_.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-D6MiJpAy.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-D1xvLuGo.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,5 +1,5 @@
1
- import { c as detectMime } from "./image-ops-BlQR__MN.js";
2
- import { r as sanitizeToolResultImages } from "./tool-images-HJ2sfZDV.js";
1
+ import { c as detectMime } from "./image-ops-CY7v6vvp.js";
2
+ import { r as sanitizeToolResultImages } from "./tool-images-JxNglLSr.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
@@ -1,9 +1,9 @@
1
1
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { D as escapeRegExp, M as normalizeE164, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-DYq1AYOv.js";
3
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-BzmbgY7s.js";
4
- import { t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
5
- import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
6
- import { n as resolveSignalAccount } from "./accounts-BuZxOb3B.js";
2
+ import { D as escapeRegExp, M as normalizeE164, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-X6fUE0K7.js";
3
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-v8k1XVOy.js";
4
+ import { t as resolveWhatsAppAccount } from "./accounts-BsgY6sda.js";
5
+ import { t as resolveIMessageAccount } from "./accounts-wWWkC0JH.js";
6
+ import { n as resolveSignalAccount } from "./accounts-Bsg6r6H7.js";
7
7
 
8
8
  //#region src/shared/string-normalization.ts
9
9
  function normalizeStringEntries(list) {
@@ -1,4 +1,4 @@
1
- import { T as escapeRegExp } from "./registry-D0xTnUWt.js";
1
+ import { D as escapeRegExp } from "./registry-X6fUE0K7.js";
2
2
 
3
3
  //#region src/auto-reply/tokens.ts
4
4
  const SYMIPULSE_TOKEN = "SYMIPULSE_OK";
@@ -1,5 +1,5 @@
1
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
2
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-C7CauEK8.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
2
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-CY7v6vvp.js";
3
3
 
4
4
  //#region src/agents/image-sanitization.ts
5
5
  const DEFAULT_IMAGE_MAX_DIMENSION_PX = 1200;
@@ -1,6 +1,6 @@
1
- import "./paths-CE7eVGHg.js";
2
- import { W as isPlainObject } from "./registry-DYq1AYOv.js";
3
- import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
1
+ import "./paths-CYmyCDsE.js";
2
+ import { W as isPlainObject } from "./registry-X6fUE0K7.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
4
4
  import { createHash } from "node:crypto";
5
5
 
6
6
  //#region src/agents/tool-loop-detection.ts