@symerian/symi 3.0.0 → 3.0.2

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 (225) hide show
  1. package/dist/{agents-D4F5bhNg.js → agents-DEYqmFEH.js} +4 -4
  2. package/dist/{agents.config-DS9Gbqqg.js → agents.config-ClI9Q05l.js} +1 -1
  3. package/dist/{agents.config-Czr0DbSr.js → agents.config-TArPtTFt.js} +1 -1
  4. package/dist/{audio-preflight-DmBkV1WW.js → audio-preflight-DrG2ef4O.js} +4 -4
  5. package/dist/{auth-choice-BU6XwruP.js → auth-choice-bOht3his.js} +1 -1
  6. package/dist/{auth-choice-DU5o68ia.js → auth-choice-kJVkaHx6.js} +1 -1
  7. package/dist/{banner-qaKrETF8.js → banner--HSjGLhi.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +7 -7
  10. package/dist/bundled/session-memory/handler.js +7 -7
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-Bkfyg4nZ.js → channel-options-C68HZtw7.js} +1 -1
  13. package/dist/{channel-options-DW3nWxkv.js → channel-options-Cj2ZMHvy.js} +1 -1
  14. package/dist/{channel-web-DoDJqXyN.js → channel-web-BGZxsb8l.js} +1 -1
  15. package/dist/{channels-cli-B9tesYLD.js → channels-cli-C775zJjx.js} +6 -6
  16. package/dist/{channels-cli-V7ii1g6k.js → channels-cli-CLkq2ISd.js} +6 -6
  17. package/dist/{chrome-CEoepEf7.js → chrome-X5wmeW9f.js} +7 -7
  18. package/dist/{cli-0GHBNwqe.js → cli-8ibydSgl.js} +3 -3
  19. package/dist/{cli-CAhOnKQ3.js → cli-B2FVKvPQ.js} +3 -3
  20. package/dist/{command-registry-DaaL0zdd.js → command-registry-C-c2RS-n.js} +10 -10
  21. package/dist/{completion-cli-DgU-3Coq.js → completion-cli-BLO_wsYD.js} +2 -2
  22. package/dist/{completion-cli-DN-RtQVJ.js → completion-cli-IKI4BpqL.js} +1 -1
  23. package/dist/{config-cli-BXus9Npr.js → config-cli-Bh8aPiiL.js} +1 -1
  24. package/dist/{config-cli-DLSg0aaH.js → config-cli-d4RU82ov.js} +1 -1
  25. package/dist/{configure-BsrDBB87.js → configure-DKmHXbug.js} +3 -3
  26. package/dist/{configure-CPweqV68.js → configure-jxJfT5_B.js} +3 -3
  27. package/dist/{deliver-BcO15sSJ.js → deliver-BfgRx_NK.js} +1 -1
  28. package/dist/{doctor-completion-DDRzOB_0.js → doctor-completion-C7SuoBlz.js} +1 -1
  29. package/dist/{doctor-completion-3QRenbxU.js → doctor-completion-VAGhCLD5.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +2 -2
  32. package/dist/{gateway-cli-BDKmjeLd.js → gateway-cli-BELyZGAU.js} +12 -12
  33. package/dist/{gateway-cli-TrMaJClE.js → gateway-cli-D_SJFv7K.js} +12 -12
  34. package/dist/{glass-ui-ws-DXTgN-H4.js → glass-ui-ws-0agRdhZD.js} +10 -10
  35. package/dist/{glass-ui-ws-DskZ74Lv.js → glass-ui-ws-qPJDDUD9.js} +10 -10
  36. package/dist/{health-ByAPhIlQ.js → health-BnGM6Yux.js} +69 -5
  37. package/dist/{health-VfVqsLcU.js → health-CCKCR4oM.js} +69 -5
  38. package/dist/{heartbeat-visibility-BdqXBLOd.js → heartbeat-visibility-C4Sg0QOd.js} +1 -1
  39. package/dist/{heartbeat-visibility-ol7hy6FB.js → heartbeat-visibility-CG080wT5.js} +1 -1
  40. package/dist/{hooks-cli-CA2ikPts.js → hooks-cli-B2WVvhgH.js} +4 -4
  41. package/dist/{hooks-cli-D8u-iqwZ.js → hooks-cli-CtuiPrKW.js} +4 -4
  42. package/dist/{image-DjI2DS-A.js → image-C2w5iw4N.js} +1 -1
  43. package/dist/index.js +9 -9
  44. package/dist/llm-slug-generator.js +7 -7
  45. package/dist/{manager-DfZDS6-4.js → manager-B6EhIj3H.js} +1 -1
  46. package/dist/{manager-DPxj_q1-.js → manager-DKUOUCmo.js} +1 -1
  47. package/dist/{manager-CqFMqOz2.js → manager-Mm_GQxOU.js} +1 -1
  48. package/dist/{manager-CoRjrijj.js → manager-zwcQLMln.js} +1 -1
  49. package/dist/{memory-cli-Bjj5cTuq.js → memory-cli-BEZM7jn9.js} +3 -3
  50. package/dist/{memory-cli-D_O5bN6m.js → memory-cli-D4lLSeA1.js} +3 -3
  51. package/dist/{models-CD7SOI3V.js → models-ElQijvpq.js} +2 -2
  52. package/dist/{models-cli-Wjh_xd50.js → models-cli-14U59ejI.js} +5 -5
  53. package/dist/{models-cli-Dj5BnQIi.js → models-cli-Dtf5Zpgd.js} +4 -4
  54. package/dist/{onboard-Drb1PCcl.js → onboard-CaYQVQYI.js} +2 -2
  55. package/dist/{onboard-IAR3I39i.js → onboard-DN2xgEv1.js} +2 -2
  56. package/dist/{onboard-channels-DKFmls3m.js → onboard-channels-B1fWI5k5.js} +1 -1
  57. package/dist/{onboard-channels-CHJjmcTz.js → onboard-channels-C5sKGabO.js} +1 -1
  58. package/dist/{onboarding-Chz9Yx55.js → onboarding-BngFnwT6.js} +3 -3
  59. package/dist/{onboarding-CwqlRK4O.js → onboarding-DNIz481s.js} +3 -3
  60. package/dist/{onboarding.finalize-Ct-VGRnB.js → onboarding.finalize-B-x_trN9.js} +8 -8
  61. package/dist/{onboarding.finalize-WjjP_0CW.js → onboarding.finalize-BA8-Tnhc.js} +9 -9
  62. package/dist/{pi-embedded-DxT29Go3.js → pi-embedded-DUJ9Ytfn.js} +53 -10
  63. package/dist/{pi-embedded-helpers-CjEVVoTf.js → pi-embedded-helpers-YSU-xmLw.js} +4 -4
  64. package/dist/{plugin-registry-BMavDLfZ.js → plugin-registry-C1xFJkog.js} +1 -1
  65. package/dist/{plugin-registry-CO6iA1TE.js → plugin-registry-CZS8ioCg.js} +1 -1
  66. package/dist/plugin-sdk/{accounts-BtaOa4z_.js → accounts-BToL3HlP.js} +1 -1
  67. package/dist/plugin-sdk/{accounts-Ddm33hQm.js → accounts-D9zGZU5t.js} +3 -3
  68. package/dist/plugin-sdk/{accounts-s-AdhXVR.js → accounts-Dtszw3Zn.js} +1 -1
  69. package/dist/plugin-sdk/{active-listener-BaxIPBYG.js → active-listener-BtNt_ynZ.js} +1 -1
  70. package/dist/plugin-sdk/{agent-scope-BREbt-rZ.js → agent-scope-RSN8nr_m.js} +2 -2
  71. package/dist/plugin-sdk/agents/system-prompt.d.ts +8 -0
  72. package/dist/plugin-sdk/{audio-preflight-oPLbNsg4.js → audio-preflight-DyE23t6_.js} +24 -24
  73. package/dist/plugin-sdk/{bindings-Da0i5ERM.js → bindings-DhPQDTtp.js} +2 -2
  74. package/dist/plugin-sdk/{channel-activity-DoC1xtDu.js → channel-activity-Ji7f0gqq.js} +1 -1
  75. package/dist/plugin-sdk/{channel-web-CtT9qPjD.js → channel-web-B_XlrV_E.js} +22 -22
  76. package/dist/plugin-sdk/{chrome-DyXmGM1Y.js → chrome-CyqYohvz.js} +3 -3
  77. package/dist/plugin-sdk/{chunk-Dw2XBYXv.js → chunk-jvk9axTQ.js} +1 -1
  78. package/dist/plugin-sdk/{command-format-GKSevep4.js → command-format-DSdvQ_M5.js} +1 -1
  79. package/dist/plugin-sdk/{commands-registry-U7C6ILZe.js → commands-registry-L_7UhT9Y.js} +4 -4
  80. package/dist/plugin-sdk/{config-BgqINjIZ.js → config-BBBu18xQ.js} +9 -9
  81. package/dist/plugin-sdk/{consolidate-DHzE-Epp.js → consolidate-BieO-_k_.js} +2 -2
  82. package/dist/plugin-sdk/{deliver-CDLS-HVj.js → deliver-DlszQYmY.js} +9 -9
  83. package/dist/plugin-sdk/{diagnostic-Jo7QixCi.js → diagnostic-fnIb_o_V.js} +1 -1
  84. package/dist/plugin-sdk/{gemini-auth-D343zUg3.js → gemini-auth-lC1AI-WK.js} +1 -1
  85. package/dist/plugin-sdk/{image-D45d_Nd3.js → image-B7fj8HDX.js} +4 -4
  86. package/dist/plugin-sdk/{image-ops-DZ8OTT0B.js → image-ops-C_3iBQe1.js} +1 -1
  87. package/dist/plugin-sdk/index.js +54 -54
  88. package/dist/plugin-sdk/infra/active-heartbeat-runs.d.ts +34 -0
  89. package/dist/plugin-sdk/{ir-DfsDN6C5.js → ir-DrnNua4p.js} +4 -4
  90. package/dist/plugin-sdk/{local-roots-CxzyCF23.js → local-roots-8f4AroIC.js} +3 -3
  91. package/dist/plugin-sdk/{login-CU_zE92A.js → login-CyvTx8vo.js} +7 -7
  92. package/dist/plugin-sdk/{login-qr-BBscsWcH.js → login-qr-BrriW04P.js} +9 -9
  93. package/dist/plugin-sdk/{manager-B8P6Yq-7.js → manager-CJd0vK4S.js} +9 -9
  94. package/dist/plugin-sdk/{manifest-registry-BRx4JDK0.js → manifest-registry-hy3Bn-r9.js} +1 -1
  95. package/dist/plugin-sdk/{markdown-tables-BBiVsk1q.js → markdown-tables-ivSTmsOn.js} +1 -1
  96. package/dist/plugin-sdk/{message-channel-COTAJzHd.js → message-channel-BdI5Ra9S.js} +1 -1
  97. package/dist/plugin-sdk/{model-selection-CEmLgc1B.js → model-selection-C4aoKWwG.js} +4 -4
  98. package/dist/plugin-sdk/{outbound-CweCP-RC.js → outbound-BSvVzptG.js} +7 -7
  99. package/dist/plugin-sdk/{outbound-attachment-V-8HPvXC.js → outbound-attachment-qB-kgb_3.js} +2 -2
  100. package/dist/plugin-sdk/{pi-auth-json-C0qSz7xs.js → pi-auth-json-BOqOPkC8.js} +1 -1
  101. package/dist/plugin-sdk/{pi-embedded-helpers-asvl8__K.js → pi-embedded-helpers-YqYJ6xU1.js} +17 -17
  102. package/dist/plugin-sdk/{plugins-DRWyzk5i.js → plugins-muf5lfx-.js} +4 -4
  103. package/dist/plugin-sdk/{pw-ai-B6fLZ8HM.js → pw-ai-gM6yaHqF.js} +8 -8
  104. package/dist/plugin-sdk/{qmd-manager-BvQckdNY.js → qmd-manager-Chj9aSN5.js} +4 -4
  105. package/dist/plugin-sdk/{registry-D0xTnUWt.js → registry--_pGht6S.js} +2 -2
  106. package/dist/plugin-sdk/{replies-DzCaEpUj.js → replies-DSQPFi22.js} +3 -3
  107. package/dist/plugin-sdk/{reply-prefix-BKFQ9roP.js → reply-prefix-CDeu1pum.js} +1 -1
  108. package/dist/plugin-sdk/{resolve-outbound-target-BHmUS6gT.js → resolve-outbound-target-BkHNUpdB.js} +2 -2
  109. package/dist/plugin-sdk/{resolve-route-B34r6gNi.js → resolve-route-kXW9e3Go.js} +3 -3
  110. package/dist/plugin-sdk/{retry-CwQ_iIj8.js → retry-ilSJqnz9.js} +1 -1
  111. package/dist/plugin-sdk/{runner-BWy5NYNx.js → runner-BlpNMrRR.js} +9 -9
  112. package/dist/plugin-sdk/{send-pza53xsP.js → send-BFgIVWNv.js} +10 -10
  113. package/dist/plugin-sdk/{send-BC_Y8nDM.js → send-BiFmiUGO.js} +6 -6
  114. package/dist/plugin-sdk/{send-DUfFro3g.js → send-Bk5faAPw.js} +7 -7
  115. package/dist/plugin-sdk/{send-C-afSgyi.js → send-CoeS45WV.js} +10 -10
  116. package/dist/plugin-sdk/{send-DT8_eMi3.js → send-D7cDnHjD.js} +6 -6
  117. package/dist/plugin-sdk/{session-fZxyq4tk.js → session-DQFKtWpn.js} +4 -4
  118. package/dist/plugin-sdk/{skill-commands-BbDN1TCd.js → skill-commands-KAESVtAf.js} +5 -5
  119. package/dist/plugin-sdk/{skills-BDwS4XUE.js → skills-ksP6m2tL.js} +7 -7
  120. package/dist/plugin-sdk/{sqlite-DLwYpBWC.js → sqlite-BflKfcLD.js} +1 -1
  121. package/dist/plugin-sdk/{store-Dt1oCaOn.js → store-uf7TpQm3.js} +2 -2
  122. package/dist/plugin-sdk/{subsystem-B2uDN3TV.js → subsystem-Coz2AgU8.js} +1 -1
  123. package/dist/plugin-sdk/{synthesis-BM8DjW1l.js → synthesis-Cre_3fLT.js} +49 -49
  124. package/dist/plugin-sdk/{tables-MCQfYFPK.js → tables-DE2W8BrP.js} +1 -1
  125. package/dist/plugin-sdk/{target-errors-BGT90lj4.js → target-errors-Dqf_-SRz.js} +2 -2
  126. package/dist/plugin-sdk/{thinking-qM2Kzm92.js → thinking-Bq90REOa.js} +5 -5
  127. package/dist/plugin-sdk/{tokens-CVWPo-HD.js → tokens-D-HI9PZG.js} +1 -1
  128. package/dist/plugin-sdk/{tool-images-DvOrYSAO.js → tool-images-DAXbRHJ1.js} +2 -2
  129. package/dist/plugin-sdk/{tool-loop-detection-gmtzSlNZ.js → tool-loop-detection-DseOlBug.js} +2 -2
  130. package/dist/plugin-sdk/{unified-runner-C-JKQZeN.js → unified-runner-BNQKFoGX.js} +126 -83
  131. package/dist/plugin-sdk/web-CE-OsTKq.js +66 -0
  132. package/dist/plugin-sdk/{whatsapp-actions-CifeR0vD.js → whatsapp-actions-CTJUT0cR.js} +21 -21
  133. package/dist/{plugins-cli-2A8lifj4.js → plugins-cli-BGccb2gT.js} +4 -4
  134. package/dist/{plugins-cli-DhQzD98q.js → plugins-cli-f_Ncophh.js} +4 -4
  135. package/dist/{program-CYIJpXWz.js → program-5Hto31sk.js} +9 -9
  136. package/dist/{program-context-BgMoXWsF.js → program-context-Baw4Oc1H.js} +18 -18
  137. package/dist/{prompt-select-styled-DObyq0uk.js → prompt-select-styled-Cm6mr7mH.js} +6 -6
  138. package/dist/{prompt-select-styled-C3m_PpBH.js → prompt-select-styled-DHSySGF2.js} +6 -6
  139. package/dist/{provider-auth-helpers-COKxBW7N.js → provider-auth-helpers-FdlXX50k.js} +1 -1
  140. package/dist/{provider-auth-helpers-eQzmopYc.js → provider-auth-helpers-_aPYnJCR.js} +1 -1
  141. package/dist/{push-apns-CBPUnPja.js → push-apns-DnMyTqrU.js} +1 -1
  142. package/dist/{push-apns-kuIc4QSa.js → push-apns-Dusza10V.js} +1 -1
  143. package/dist/{pw-ai-BMQCVzKh.js → pw-ai-hPAkCert.js} +1 -1
  144. package/dist/{register.agent-CNpLOx-Y.js → register.agent-DibuuULq.js} +7 -7
  145. package/dist/{register.agent-Bj4dYxX1.js → register.agent-TI-lzUMT.js} +8 -8
  146. package/dist/{register.configure-BsXY0hbE.js → register.configure-BbBU2vzP.js} +9 -9
  147. package/dist/{register.configure-CM4isxt8.js → register.configure-CE6z4EEp.js} +9 -9
  148. package/dist/{register.maintenance-DMOXSQA2.js → register.maintenance-D_cRwoi6.js} +11 -11
  149. package/dist/{register.maintenance-DM51x3yc.js → register.maintenance-Dsw96Q5M.js} +10 -10
  150. package/dist/{register.message-C4WU4qwG.js → register.message-7JdfRDPR.js} +4 -4
  151. package/dist/{register.message-CuJ6kd3Y.js → register.message-BqRfLqBs.js} +4 -4
  152. package/dist/{register.onboard-D3y9TqoD.js → register.onboard-7iv0kkQk.js} +7 -7
  153. package/dist/{register.onboard-DCHLQIAC.js → register.onboard-Ca5HGO6E.js} +7 -7
  154. package/dist/{register.setup-DqCEYsbe.js → register.setup-Cy3cIayc.js} +7 -7
  155. package/dist/{register.setup-CXSnv3HV.js → register.setup-D7AKohSt.js} +7 -7
  156. package/dist/{register.status-health-sessions-CRAYzQLg.js → register.status-health-sessions-BW51mzBs.js} +6 -6
  157. package/dist/{register.status-health-sessions-B4hENuHX.js → register.status-health-sessions-DOkSVuJk.js} +6 -6
  158. package/dist/{register.subclis-DveftjNP.js → register.subclis-p-z6ekaE.js} +9 -9
  159. package/dist/{run-main-eRV1HlMM.js → run-main-BhEacTM9.js} +17 -17
  160. package/dist/{runner-CiwpU1fr.js → runner-7_mUx-F3.js} +1 -1
  161. package/dist/{server-methods-BvZAHGv9.js → server-methods-Bcwa782q.js} +15 -9
  162. package/dist/{server-methods-D5pZnR5d.js → server-methods-C8ff27p5.js} +15 -9
  163. package/dist/{server-node-events-Bzoq_nfx.js → server-node-events-B85y_7eX.js} +4 -4
  164. package/dist/{server-node-events-Ccoeyw6p.js → server-node-events-h8Af4ZTV.js} +4 -4
  165. package/dist/{status-CyHHusPc.js → status-DFBG2hcx.js} +1 -1
  166. package/dist/{status-BEAngZOJ.js → status-DUGaRGN0.js} +3 -3
  167. package/dist/{status-OAdlubd0.js → status-DsaLdb09.js} +3 -3
  168. package/dist/{status-BdKI8eQ7.js → status-JL0CD-E1.js} +1 -1
  169. package/dist/{subagent-registry-UkXCmOLK.js → subagent-registry-DXCGIrYv.js} +53 -10
  170. package/dist/{synthesis-CLJNKZZp.js → synthesis-BUbH-4DA.js} +7 -7
  171. package/dist/{synthesis-Cz0j1tA_.js → synthesis-BxwFFuqZ.js} +2 -2
  172. package/dist/{synthesis-DGBPTml_.js → synthesis-CLt-6Pzu.js} +3 -3
  173. package/dist/{synthesis-D_fSgB6z.js → synthesis-ekn511D_.js} +3 -3
  174. package/dist/{unified-runner-BNTy0IvK.js → unified-runner-CdBxbcO2.js} +53 -10
  175. package/dist/{unified-runner-DjDCpNJ_.js → unified-runner-DtJxJ016.js} +67 -24
  176. package/dist/{update-cli-F9Gn92cu.js → update-cli-4OzLcQIF.js} +10 -10
  177. package/dist/{update-cli-WrjpqFs1.js → update-cli-CQbvni-d.js} +11 -11
  178. package/dist/{update-runner-C3OhMuSJ.js → update-runner-CiYhkA5I.js} +1 -1
  179. package/dist/{update-runner-DkNNsx67.js → update-runner-DLCzD7sp.js} +1 -1
  180. package/dist/{web-CQ3lRgfP.js → web-COnC7jb4.js} +2 -2
  181. package/dist/{web-Dsrpq6ah.js → web-CSDi520u.js} +7 -7
  182. package/dist/{web-Cp_dpAof.js → web-DMFKXi8s.js} +5 -5
  183. package/dist/{web-DtgGgNSl.js → web-DiqLVzt7.js} +4 -4
  184. package/extensions/bluebubbles/package.json +1 -1
  185. package/extensions/copilot-proxy/package.json +1 -1
  186. package/extensions/diagnostics-otel/package.json +1 -1
  187. package/extensions/discord/package.json +1 -1
  188. package/extensions/feishu/package.json +1 -1
  189. package/extensions/google-antigravity-auth/package.json +1 -1
  190. package/extensions/google-gemini-cli-auth/package.json +1 -1
  191. package/extensions/googlechat/package.json +1 -1
  192. package/extensions/imessage/package.json +1 -1
  193. package/extensions/irc/package.json +1 -1
  194. package/extensions/learning-loop/package.json +1 -1
  195. package/extensions/line/package.json +1 -1
  196. package/extensions/llm-task/package.json +1 -1
  197. package/extensions/matrix/CHANGELOG.md +12 -0
  198. package/extensions/matrix/package.json +1 -1
  199. package/extensions/mattermost/package.json +1 -1
  200. package/extensions/memory-core/package.json +1 -1
  201. package/extensions/memory-lancedb/package.json +1 -1
  202. package/extensions/minimax-portal-auth/package.json +1 -1
  203. package/extensions/msteams/CHANGELOG.md +12 -0
  204. package/extensions/msteams/package.json +1 -1
  205. package/extensions/nextcloud-talk/package.json +1 -1
  206. package/extensions/nostr/CHANGELOG.md +12 -0
  207. package/extensions/nostr/package.json +1 -1
  208. package/extensions/open-prose/package.json +1 -1
  209. package/extensions/outlook/package.json +1 -1
  210. package/extensions/pipeline/package.json +1 -1
  211. package/extensions/signal/package.json +1 -1
  212. package/extensions/slack/package.json +1 -1
  213. package/extensions/telegram/package.json +1 -1
  214. package/extensions/tlon/package.json +1 -1
  215. package/extensions/twitch/CHANGELOG.md +12 -0
  216. package/extensions/twitch/package.json +1 -1
  217. package/extensions/voice-call/CHANGELOG.md +12 -0
  218. package/extensions/voice-call/package.json +1 -1
  219. package/extensions/whatsapp/package.json +1 -1
  220. package/extensions/zalo/CHANGELOG.md +12 -0
  221. package/extensions/zalo/package.json +1 -1
  222. package/extensions/zalouser/CHANGELOG.md +12 -0
  223. package/extensions/zalouser/package.json +1 -1
  224. package/package.json +1 -1
  225. package/dist/plugin-sdk/web-__pZRSy9.js +0 -66
@@ -4,15 +4,15 @@ import "./agent-scope-Ddr0Ws7u.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
5
5
  import "./workspace-CarmeCYN.js";
6
6
  import "./tokens-DLGDtW5r.js";
7
- import { t as runAgentTurn } from "./unified-runner-DjDCpNJ_.js";
7
+ import { t as runAgentTurn } from "./unified-runner-DtJxJ016.js";
8
8
  import "./auth-profiles-Bs0Z0FzU.js";
9
9
  import "./env-BDXYbTKj.js";
10
10
  import "./github-copilot-token-cCYzSU9h.js";
11
11
  import "./boolean-CE7i9tBR.js";
12
- import "./pi-embedded-helpers-CjEVVoTf.js";
12
+ import "./pi-embedded-helpers-YSU-xmLw.js";
13
13
  import "./config-CCbXer2L.js";
14
14
  import "./manifest-registry-CBCGTsIb.js";
15
- import "./chrome-CEoepEf7.js";
15
+ import "./chrome-X5wmeW9f.js";
16
16
  import "./frontmatter-CTR5f_Ez.js";
17
17
  import "./skills-DjtoXuuJ.js";
18
18
  import "./redact-BDMXB06K.js";
@@ -31,15 +31,15 @@ import "./send-fVqebfsH.js";
31
31
  import "./send-XAxr3MFp.js";
32
32
  import "./paths-BrogUBLf.js";
33
33
  import "./tool-images-CiD-DaWf.js";
34
- import "./deliver-BcO15sSJ.js";
34
+ import "./deliver-BfgRx_NK.js";
35
35
  import "./diagnostic-BjfiehUF.js";
36
36
  import "./diagnostic-session-state-C9jKr8qI.js";
37
- import "./image-DjI2DS-A.js";
37
+ import "./image-C2w5iw4N.js";
38
38
  import "./pi-auth-json-S_NBOBoK.js";
39
39
  import "./send-BQTsCyf6.js";
40
40
  import "./pi-model-discovery-CuZX_Q4t.js";
41
41
  import "./reply-prefix-C1Tw2ERK.js";
42
- import "./manager-CoRjrijj.js";
42
+ import "./manager-zwcQLMln.js";
43
43
  import "./gemini-auth-Cl5PvzLM.js";
44
44
  import "./retry-B-y5suGA.js";
45
45
  import "./sqlite-VBmM_OHS.js";
@@ -50,7 +50,7 @@ import "./local-roots-jzqRdkXA.js";
50
50
  import "./ir-CC6LUYsV.js";
51
51
  import "./render-D1xvLuGo.js";
52
52
  import "./commands-registry-Tug42snN.js";
53
- import "./runner-CiwpU1fr.js";
53
+ import "./runner-7_mUx-F3.js";
54
54
  import "./skill-commands-BXs_duC2.js";
55
55
  import "./fetch-ClslA6GS.js";
56
56
  import "./channel-activity-D8QD7GoV.js";
@@ -7,7 +7,7 @@ import "./reply-prefix-C7ZwCr7X.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-DRIIdGfF.js";
10
- import { f as runAgentTurn } from "./pi-embedded-DxT29Go3.js";
10
+ import { f as runAgentTurn } from "./pi-embedded-DUJ9Ytfn.js";
11
11
  import "./plugins-CpxUKuIt.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-pK-Lzohb.js";
@@ -35,7 +35,7 @@ import "./accounts-DImOt9jX.js";
35
35
  import "./paths-DkMamAQ-.js";
36
36
  import "./tool-images-CdTyeTEN.js";
37
37
  import "./image-DfzwGNoa.js";
38
- import "./manager-CqFMqOz2.js";
38
+ import "./manager-Mm_GQxOU.js";
39
39
  import "./gemini-auth-D3D-a_lj.js";
40
40
  import "./retry-QGp0jvVi.js";
41
41
  import "./sqlite-Bo4pHfp8.js";
@@ -14,7 +14,7 @@ import "./client-CJIMV1WD.js";
14
14
  import "./call-e869fla2.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { X as runAgentTurn } from "./subagent-registry-UkXCmOLK.js";
17
+ import { X as runAgentTurn } from "./subagent-registry-DXCGIrYv.js";
18
18
  import "./sessions-CBlCXpU2.js";
19
19
  import "./tokens-BEvOiQ65.js";
20
20
  import "./plugins-DTKQE9kt.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-BjWk_WQa.js";
54
54
  import "./reply-prefix-Pz-5t5RS.js";
55
- import "./memory-cli-D_O5bN6m.js";
56
- import "./manager-DfZDS6-4.js";
55
+ import "./memory-cli-D4lLSeA1.js";
56
+ import "./manager-B6EhIj3H.js";
57
57
  import "./gemini-auth-CdtQ-GuM.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  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 "./tokens-Cz6cgZ7r.js";
4
- import { t as runAgentTurn } from "./unified-runner-BNTy0IvK.js";
4
+ import { t as runAgentTurn } from "./unified-runner-CdBxbcO2.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CtBXKml4.js";
@@ -55,8 +55,8 @@ import "./send-CrFVrFoV.js";
55
55
  import "./model-JOScPOPJ.js";
56
56
  import "./pi-model-discovery-CXXH7biP.js";
57
57
  import "./reply-prefix-DnXliXio.js";
58
- import "./memory-cli-Bjj5cTuq.js";
59
- import "./manager-DPxj_q1-.js";
58
+ import "./memory-cli-BEZM7jn9.js";
59
+ import "./manager-DKUOUCmo.js";
60
60
  import "./gemini-auth-rYBkv11i.js";
61
61
  import "./retry-DYICeae5.js";
62
62
  import "./sqlite-CRogFEk1.js";
@@ -54,8 +54,8 @@ import { A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as
54
54
  import { a as buildModelAliasLines, n as resolveModel } from "./model-JOScPOPJ.js";
55
55
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CXXH7biP.js";
56
56
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DnXliXio.js";
57
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-Bjj5cTuq.js";
58
- import { i as resolveMemorySearchConfig } from "./manager-DPxj_q1-.js";
57
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BEZM7jn9.js";
58
+ import { i as resolveMemorySearchConfig } from "./manager-DKUOUCmo.js";
59
59
  import { f as runTasksWithConcurrency } from "./internal-7ow_5D0m.js";
60
60
  import { n as retryAsync } from "./retry-DYICeae5.js";
61
61
  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-T0R2wR5q.js";
@@ -6429,6 +6429,40 @@ function buildSkillsJitBlocks(opts) {
6429
6429
 
6430
6430
  //#endregion
6431
6431
  //#region src/agents/system-prompt.ts
6432
+ /**
6433
+ * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
6434
+ * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
6435
+ * for inlining into the system prompt — gives the agent the actual file
6436
+ * surface so it doesn't speculate names like "memory/2026-04-30.md" from
6437
+ * training-data priors. Resilient: missing dir → [], unreadable → [].
6438
+ */
6439
+ function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
6440
+ if (!workspaceDir) return [];
6441
+ const memoryDir = path.join(workspaceDir, "memory");
6442
+ let entries;
6443
+ try {
6444
+ entries = fs.readdirSync(memoryDir, { withFileTypes: true });
6445
+ } catch {
6446
+ return [];
6447
+ }
6448
+ const files = [];
6449
+ for (const entry of entries) {
6450
+ if (!entry.isFile()) continue;
6451
+ if (!entry.name.toLowerCase().endsWith(".md")) continue;
6452
+ let mtimeMs = 0;
6453
+ try {
6454
+ mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
6455
+ } catch {
6456
+ mtimeMs = 0;
6457
+ }
6458
+ files.push({
6459
+ name: entry.name,
6460
+ mtimeMs
6461
+ });
6462
+ }
6463
+ files.sort((a, b) => b.mtimeMs - a.mtimeMs);
6464
+ return files.slice(0, limit).map((f) => f.name);
6465
+ }
6432
6466
  function buildSkillsSection(params) {
6433
6467
  if (params.isMinimal) return [];
6434
6468
  if (params.dropCatalog) return [];
@@ -6452,13 +6486,21 @@ function buildMemorySection(params) {
6452
6486
  "## Memory Recall",
6453
6487
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
6454
6488
  "",
6489
+ "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
6490
+ "",
6455
6491
  "Memory is split into two layers you will see as files:",
6456
6492
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
6457
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
6458
- "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
6459
- "",
6460
- "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
6493
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
6494
+ "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
6461
6495
  ];
6496
+ const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
6497
+ if (memoryFiles.length > 0) {
6498
+ lines.push("");
6499
+ lines.push("Existing memory files in this workspace (most-recently-modified first):");
6500
+ for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
6501
+ }
6502
+ lines.push("");
6503
+ lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
6462
6504
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
6463
6505
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
6464
6506
  lines.push("");
@@ -6747,7 +6789,8 @@ function buildAgentSystemPrompt(params) {
6747
6789
  const memorySection = buildMemorySection({
6748
6790
  isMinimal,
6749
6791
  availableTools,
6750
- citationsMode: params.memoryCitationsMode
6792
+ citationsMode: params.memoryCitationsMode,
6793
+ workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
6751
6794
  });
6752
6795
  const docsSection = buildDocsSection({
6753
6796
  docsPath: params.docsPath,
@@ -48435,7 +48478,7 @@ function setCliSessionId(entry, provider, sessionId) {
48435
48478
  function createDefaultDeps() {
48436
48479
  return {
48437
48480
  sendMessageWhatsApp: async (...args) => {
48438
- const { sendMessageWhatsApp } = await import("./web-Cp_dpAof.js");
48481
+ const { sendMessageWhatsApp } = await import("./web-DMFKXi8s.js");
48439
48482
  return await sendMessageWhatsApp(...args);
48440
48483
  },
48441
48484
  sendMessageTelegram: async (...args) => {
@@ -63749,7 +63792,7 @@ function loadWebLoginQr() {
63749
63792
  return webLoginQrPromise;
63750
63793
  }
63751
63794
  function loadWebChannel() {
63752
- webChannelPromise ??= import("./web-Cp_dpAof.js");
63795
+ webChannelPromise ??= import("./web-DMFKXi8s.js");
63753
63796
  return webChannelPromise;
63754
63797
  }
63755
63798
  function loadWhatsAppActions() {
@@ -73642,4 +73685,4 @@ async function runAgentTurn(params) {
73642
73685
  }
73643
73686
 
73644
73687
  //#endregion
73645
- export { loadSessionEntry as $, readLatestAssistantReply as $n, resolveUsageProviderId as $t, DEFAULT_GROUP_HISTORY_LIMIT as A, formatChannelAllowFrom as An, getAgentRunContext as Ar, buildDeliveryFromLegacyPayload as At, withContextUsageWarning as B, shouldComputeCommandAuthorized as Bn, isHeartbeatContentEffectivelyEmpty as Br, persistBrowserProxyFiles as Bt, runCliAgent as C, prepareAgentRun as Cn, getTotalQueueSize as Cr, inferLegacyName as Ct, parseIdentityMarkdown as D, peekSystemEvents as Dn, CommandLane as Dr, normalizePayloadToSystemText as Dt, loadAgentIdentityFromWorkspace as E, peekSystemEventEntries as En, waitForActiveTasks as Er, normalizeOptionalText as Et, provider_dispatcher_exports as F, resolveInboundDebounceMs as Fn, composeTurnMiddleware as Fr, buildSafeExternalPrompt as Ft, createSymiTools as G, countActiveDescendantRuns as Gn, markGatewaySigusr1RestartHandled as Gt, runUnifiedTurn as H, stopSubagentsForRequester as Hn, stripHeartbeatToken as Hr, deferGatewayRestartUntilIdle as Ht, createReplyDispatcher as I, formatInboundEnvelope as In, runWithModelFallback as Ir, detectSuspiciousPatterns as It, canonicalizeSpawnedByForAgent as J, listDescendantRunsForRequester as Jn, setPreRestartDeferralCheck as Jt, listTasksInWorkdir as K, countActiveRunsForSession as Kn, scheduleGatewaySigusr1Restart as Kt, getTotalPendingReplies as L, resolveEnvelopeFormatOptions as Ln, describeFailoverError as Lr, getHookType as Lt, recordPendingHistoryEntryIfEnabled as M, normalizeGroupActivation as Mn, registerAgentRunContext as Mr, stripLegacyDeliveryFields as Mt, shouldAckReactionForWhatsApp as N, parseActivationCommand as Nn, classifyOutboundMessage as Nr, CHANNEL_TARGETS_DESCRIPTION as Nt, buildPairingReply as O, buildChannelSummary as On, clearAgentRunContext as Or, normalizeRequiredName as Ot, dispatchReplyWithBufferedBlockDispatcher as P, createInboundDebouncer as Pn, resolveModelProfile as Pr, CHANNEL_TARGET_DESCRIPTION as Pt, loadCombinedSessionStoreForGateway as Q, runSubagentAnnounceFlow as Qn, formatUsageWindowSummary as Qt, buildGlassUiProfile as R, formatZonedTimestamp as Rn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as Rr, isExternalHookSession as Rt, setCliSessionId as S, estimateBase64DecodedBytes as Sn, getQueueSize as Sr, normalizeCronJobPatch as St, identityHasValues as T, isSystemEventContextChanged as Tn, setCommandLaneConcurrency as Tr, normalizeOptionalSessionKey as Tt, buildAgentTurnParams as U, buildMentionRegexes as Un, emitGatewayRestart as Ut, withContextOverflowRecovery as V, isAbortTrigger as Vn, resolveHeartbeatPrompt as Vr, consumeGatewaySigusr1RestartAuthorization as Vt, prepareReplyTurn as W, normalizeMentionText as Wn, isGatewaySigusr1RestartExternallyAllowed as Wt, listAgentsForGateway as X, subagent_registry_exports as Xn, loadProviderUsageSummary as Xt, classifySessionKey as Y, listSubagentRunsForRequester as Yn, unbindThreadBindingsBySessionKey as Yt, listSessionsFromStore as Z, resolveAgentTimeoutMs as Zn, formatUsageReportLines as Zt, resolveAgentOutboundTarget as _, DEFAULT_INPUT_TIMEOUT_MS as _n, textToSpeech as _r, summarizeRestartSentinel as _t, getPluginToolMeta as a, resolveSendPolicy as an, resolveUserTimeFormat as ar, resolveOutboundSessionRoute as at, createOutboundSendDeps$1 as b, normalizeMimeList as bn, sha256HexPrefix as br, normalizeHttpWebhookUrl as bt, deleteTelegramUpdateOffset as c, DEFAULT_OAUTH_WARN_MS as cn, isTtsEnabled as cr, resolveOutboundTarget as ct, requestBodyErrorToText as d, applyModelOverrideToSessionEntry as dn, resolveTtsAutoMode as dr, resetDirectoryCache as dt, resolveCommitHash as en, clearSessionQueues as er, pruneLegacyStoreKeys as et, computeBackoff as f, applyVerboseOverride as fn, resolveTtsConfig as fr, CHANNEL_MESSAGE_ACTION_NAMES as ft, resolveAgentDeliveryPlan as g, DEFAULT_INPUT_MAX_REDIRECTS as gn, setTtsProvider as gr, readRestartSentinel as gt, resolveSessionKeyForRequest as h, DEFAULT_INPUT_IMAGE_MIMES as hn, setTtsEnabled as hr, formatRestartSentinelMessage as ht, sniffMimeFromBase64 as i, normalizeSendPolicy as in, formatUserTime as ir, ensureOutboundSessionEntry as it, buildHistoryContextFromEntries as j, BARE_SESSION_RESET_PROMPT as jn, onAgentEvent as jr, hasLegacyDeliveryHints as jt, resolveMentionGating as k, buildChannelAccountSnapshot as kn, emitAgentEvent as kr, migrateLegacyCronPayload as kt, handleSlackHttpRequest as l, buildAuthHealthSummary as ln, isTtsProviderConfigured as lr, resolveSessionDeliveryTarget as lt, agentCommand as m, DEFAULT_INPUT_IMAGE_MAX_BYTES as mn, resolveTtsProviderOrder as mr, formatDoctorNonInteractiveHint as mt, applyToolPolicyPipeline as n, setHeartbeatWakeHandler as nn, getActiveEmbeddedRunCount as nr, resolveSessionModelRef as nt, createPluginLoaderLogger as o, lookupContextTokens as on, resolveUserTimezone as or, resolveHeartbeatDeliveryTarget as ot, sleepWithAbort as p, parseVerboseOverride as pn, resolveTtsPrefsPath as pr, consumeRestartSentinel as pt, resolveAnnounceTargetFromKey as q, initSubagentRegistry as qn, setGatewaySigusr1RestartPolicy as qt, buildDefaultToolPolicyPipelineSteps as r, resolveHeartbeatReasonKind as rn, waitForEmbeddedPiRunEnd as rr, runMessageAction as rt, loadSymiPlugins as s, maskApiKey as sn, getTtsProvider as sr, resolveHeartbeatSenderContext as st, runAgentTurn as t, requestHeartbeatNow as tn, abortEmbeddedPiRun as tr, resolveGatewaySessionStoreTarget as tt, readJsonBodyWithLimit as u, formatRemainingShort as un, resolveTtsApiKey as ur, formatTargetDisplay as ut, createOutboundSendDeps as v, extractFileContentFromSource as vn, OPENAI_TTS_MODELS as vr, trimLogTail as vt, resolveAgentAvatar as w, enqueueSystemEvent as wn, resetAllLanes as wr, normalizeOptionalAgentId as wt, getCliSessionId as x, resolveInputFileLimits as xn, getActiveTaskCount as xr, normalizeCronJobCreate as xt, createDefaultDeps as y, extractImageContentFromSource as yn, OPENAI_TTS_VOICES as yr, writeRestartSentinel as yt, createDedupeCache as z, hasControlCommand as zn, DEFAULT_HEARTBEAT_EVERY as zr, applyBrowserProxyPaths as zt };
73688
+ export { loadSessionEntry as $, readLatestAssistantReply as $n, resolveUsageProviderId as $t, DEFAULT_GROUP_HISTORY_LIMIT as A, formatChannelAllowFrom as An, emitAgentEvent as Ar, buildDeliveryFromLegacyPayload as At, withContextUsageWarning as B, shouldComputeCommandAuthorized as Bn, DEFAULT_HEARTBEAT_EVERY as Br, persistBrowserProxyFiles as Bt, runCliAgent as C, prepareAgentRun as Cn, getQueueSize as Cr, inferLegacyName as Ct, parseIdentityMarkdown as D, peekSystemEvents as Dn, waitForActiveTasks as Dr, normalizePayloadToSystemText as Dt, loadAgentIdentityFromWorkspace as E, peekSystemEventEntries as En, setCommandLaneConcurrency as Er, normalizeOptionalText as Et, provider_dispatcher_exports as F, resolveInboundDebounceMs as Fn, resolveModelProfile as Fr, buildSafeExternalPrompt as Ft, createSymiTools as G, countActiveDescendantRuns as Gn, markGatewaySigusr1RestartHandled as Gt, runUnifiedTurn as H, stopSubagentsForRequester as Hn, resolveHeartbeatPrompt as Hr, deferGatewayRestartUntilIdle as Ht, createReplyDispatcher as I, formatInboundEnvelope as In, composeTurnMiddleware as Ir, detectSuspiciousPatterns as It, canonicalizeSpawnedByForAgent as J, listDescendantRunsForRequester as Jn, setPreRestartDeferralCheck as Jt, listTasksInWorkdir as K, countActiveRunsForSession as Kn, scheduleGatewaySigusr1Restart as Kt, getTotalPendingReplies as L, resolveEnvelopeFormatOptions as Ln, runWithModelFallback as Lr, getHookType as Lt, recordPendingHistoryEntryIfEnabled as M, normalizeGroupActivation as Mn, onAgentEvent as Mr, stripLegacyDeliveryFields as Mt, shouldAckReactionForWhatsApp as N, parseActivationCommand as Nn, registerAgentRunContext as Nr, CHANNEL_TARGETS_DESCRIPTION as Nt, buildPairingReply as O, buildChannelSummary as On, CommandLane as Or, normalizeRequiredName as Ot, dispatchReplyWithBufferedBlockDispatcher as P, createInboundDebouncer as Pn, classifyOutboundMessage as Pr, CHANNEL_TARGET_DESCRIPTION as Pt, loadCombinedSessionStoreForGateway as Q, runSubagentAnnounceFlow as Qn, formatUsageWindowSummary as Qt, buildGlassUiProfile as R, formatZonedTimestamp as Rn, describeFailoverError as Rr, isExternalHookSession as Rt, setCliSessionId as S, estimateBase64DecodedBytes as Sn, getActiveTaskCount as Sr, normalizeCronJobPatch as St, identityHasValues as T, isSystemEventContextChanged as Tn, resetAllLanes as Tr, normalizeOptionalSessionKey as Tt, buildAgentTurnParams as U, buildMentionRegexes as Un, stripHeartbeatToken as Ur, emitGatewayRestart as Ut, withContextOverflowRecovery as V, isAbortTrigger as Vn, isHeartbeatContentEffectivelyEmpty as Vr, consumeGatewaySigusr1RestartAuthorization as Vt, prepareReplyTurn as W, normalizeMentionText as Wn, isGatewaySigusr1RestartExternallyAllowed as Wt, listAgentsForGateway as X, subagent_registry_exports as Xn, loadProviderUsageSummary as Xt, classifySessionKey as Y, listSubagentRunsForRequester as Yn, unbindThreadBindingsBySessionKey as Yt, listSessionsFromStore as Z, resolveAgentTimeoutMs as Zn, formatUsageReportLines as Zt, resolveAgentOutboundTarget as _, DEFAULT_INPUT_TIMEOUT_MS as _n, setTtsProvider as _r, summarizeRestartSentinel as _t, getPluginToolMeta as a, resolveSendPolicy as an, formatUserTime as ar, resolveOutboundSessionRoute as at, createOutboundSendDeps$1 as b, normalizeMimeList as bn, OPENAI_TTS_VOICES as br, normalizeHttpWebhookUrl as bt, deleteTelegramUpdateOffset as c, DEFAULT_OAUTH_WARN_MS as cn, getTtsProvider as cr, resolveOutboundTarget as ct, requestBodyErrorToText as d, applyModelOverrideToSessionEntry as dn, resolveTtsApiKey as dr, resetDirectoryCache as dt, resolveCommitHash as en, clearSessionQueues as er, pruneLegacyStoreKeys as et, computeBackoff as f, applyVerboseOverride as fn, resolveTtsAutoMode as fr, CHANNEL_MESSAGE_ACTION_NAMES as ft, resolveAgentDeliveryPlan as g, DEFAULT_INPUT_MAX_REDIRECTS as gn, setTtsEnabled as gr, readRestartSentinel as gt, resolveSessionKeyForRequest as h, DEFAULT_INPUT_IMAGE_MIMES as hn, resolveTtsProviderOrder as hr, formatRestartSentinelMessage as ht, sniffMimeFromBase64 as i, normalizeSendPolicy as in, resolveEmbeddedSessionLane as ir, ensureOutboundSessionEntry as it, buildHistoryContextFromEntries as j, BARE_SESSION_RESET_PROMPT as jn, getAgentRunContext as jr, hasLegacyDeliveryHints as jt, resolveMentionGating as k, buildChannelAccountSnapshot as kn, clearAgentRunContext as kr, migrateLegacyCronPayload as kt, handleSlackHttpRequest as l, buildAuthHealthSummary as ln, isTtsEnabled as lr, resolveSessionDeliveryTarget as lt, agentCommand as m, DEFAULT_INPUT_IMAGE_MAX_BYTES as mn, resolveTtsPrefsPath as mr, formatDoctorNonInteractiveHint as mt, applyToolPolicyPipeline as n, setHeartbeatWakeHandler as nn, getActiveEmbeddedRunCount as nr, resolveSessionModelRef as nt, createPluginLoaderLogger as o, lookupContextTokens as on, resolveUserTimeFormat as or, resolveHeartbeatDeliveryTarget as ot, sleepWithAbort as p, parseVerboseOverride as pn, resolveTtsConfig as pr, consumeRestartSentinel as pt, resolveAnnounceTargetFromKey as q, initSubagentRegistry as qn, setGatewaySigusr1RestartPolicy as qt, buildDefaultToolPolicyPipelineSteps as r, resolveHeartbeatReasonKind as rn, waitForEmbeddedPiRunEnd as rr, runMessageAction as rt, loadSymiPlugins as s, maskApiKey as sn, resolveUserTimezone as sr, resolveHeartbeatSenderContext as st, runAgentTurn as t, requestHeartbeatNow as tn, abortEmbeddedPiRun as tr, resolveGatewaySessionStoreTarget as tt, readJsonBodyWithLimit as u, formatRemainingShort as un, isTtsProviderConfigured as ur, formatTargetDisplay as ut, createOutboundSendDeps as v, extractFileContentFromSource as vn, textToSpeech as vr, trimLogTail as vt, resolveAgentAvatar as w, enqueueSystemEvent as wn, getTotalQueueSize as wr, normalizeOptionalAgentId as wt, getCliSessionId as x, resolveInputFileLimits as xn, sha256HexPrefix as xr, normalizeCronJobCreate as xt, createDefaultDeps as y, extractImageContentFromSource as yn, OPENAI_TTS_MODELS as yr, writeRestartSentinel as yt, createDedupeCache as z, hasControlCommand as zn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as zr, applyBrowserProxyPaths as zt };
@@ -10,10 +10,10 @@ import { $ as DEFAULT_PROVIDER, A as resolveThinkingDefault, B as requireApiKey,
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 normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-CjEVVoTf.js";
13
+ import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-YSU-xmLw.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-CCbXer2L.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-CEoepEf7.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-X5wmeW9f.js";
17
17
  import { l as parseFrontmatterBlock } from "./frontmatter-CTR5f_Ez.js";
18
18
  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-DjtoXuuJ.js";
19
19
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
@@ -33,15 +33,15 @@ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as lis
33
33
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BrogUBLf.js";
34
34
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-rfRgaULw.js";
35
35
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CiD-DaWf.js";
36
- import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-BcO15sSJ.js";
36
+ import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-BfgRx_NK.js";
37
37
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, o as logMessageQueued, p as isDiagnosticsEnabled, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BjfiehUF.js";
38
38
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C9jKr8qI.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DjI2DS-A.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-C2w5iw4N.js";
40
40
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-S_NBOBoK.js";
41
41
  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-BQTsCyf6.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
43
43
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
44
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-CoRjrijj.js";
44
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-zwcQLMln.js";
45
45
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
46
46
  import { n as retryAsync } from "./retry-B-y5suGA.js";
47
47
  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-Bp-kjJP5.js";
@@ -51,7 +51,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCB
51
51
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-jzqRdkXA.js";
52
52
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CC6LUYsV.js";
53
53
  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-Tug42snN.js";
54
- 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-CiwpU1fr.js";
54
+ 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-7_mUx-F3.js";
55
55
  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-BXs_duC2.js";
56
56
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
57
57
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
@@ -82,7 +82,7 @@ import AjvPkg from "ajv";
82
82
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
83
83
  import { createServer } from "node:http";
84
84
  import { ProxyAgent, fetch as fetch$1 } from "undici";
85
- import WebSocket$1, { WebSocket } from "ws";
85
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
86
86
  import { Buffer as Buffer$1 } from "node:buffer";
87
87
  import { EdgeTTS } from "node-edge-tts";
88
88
  import { createJiti } from "jiti";
@@ -4613,7 +4613,7 @@ async function getMemorySearchManager(params) {
4613
4613
  const wrapper = new FallbackMemoryManager({
4614
4614
  primary,
4615
4615
  fallbackFactory: async () => {
4616
- const { MemoryIndexManager } = await import("./manager-CoRjrijj.js").then((n) => n.t);
4616
+ const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4617
4617
  return await MemoryIndexManager.get(params);
4618
4618
  }
4619
4619
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4626,7 +4626,7 @@ async function getMemorySearchManager(params) {
4626
4626
  }
4627
4627
  }
4628
4628
  try {
4629
- const { MemoryIndexManager } = await import("./manager-CoRjrijj.js").then((n) => n.t);
4629
+ const { MemoryIndexManager } = await import("./manager-zwcQLMln.js").then((n) => n.t);
4630
4630
  return { manager: await MemoryIndexManager.get(params) };
4631
4631
  } catch (err) {
4632
4632
  return {
@@ -7092,6 +7092,40 @@ function buildSkillsJitBlocks(opts) {
7092
7092
 
7093
7093
  //#endregion
7094
7094
  //#region src/agents/system-prompt.ts
7095
+ /**
7096
+ * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
7097
+ * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
7098
+ * for inlining into the system prompt — gives the agent the actual file
7099
+ * surface so it doesn't speculate names like "memory/2026-04-30.md" from
7100
+ * training-data priors. Resilient: missing dir → [], unreadable → [].
7101
+ */
7102
+ function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
7103
+ if (!workspaceDir) return [];
7104
+ const memoryDir = path.join(workspaceDir, "memory");
7105
+ let entries;
7106
+ try {
7107
+ entries = fs.readdirSync(memoryDir, { withFileTypes: true });
7108
+ } catch {
7109
+ return [];
7110
+ }
7111
+ const files = [];
7112
+ for (const entry of entries) {
7113
+ if (!entry.isFile()) continue;
7114
+ if (!entry.name.toLowerCase().endsWith(".md")) continue;
7115
+ let mtimeMs = 0;
7116
+ try {
7117
+ mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
7118
+ } catch {
7119
+ mtimeMs = 0;
7120
+ }
7121
+ files.push({
7122
+ name: entry.name,
7123
+ mtimeMs
7124
+ });
7125
+ }
7126
+ files.sort((a, b) => b.mtimeMs - a.mtimeMs);
7127
+ return files.slice(0, limit).map((f) => f.name);
7128
+ }
7095
7129
  function buildSkillsSection(params) {
7096
7130
  if (params.isMinimal) return [];
7097
7131
  if (params.dropCatalog) return [];
@@ -7115,13 +7149,21 @@ function buildMemorySection(params) {
7115
7149
  "## Memory Recall",
7116
7150
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
7117
7151
  "",
7152
+ "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
7153
+ "",
7118
7154
  "Memory is split into two layers you will see as files:",
7119
7155
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
7120
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
7121
- "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
7122
- "",
7123
- "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
7156
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
7157
+ "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
7124
7158
  ];
7159
+ const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
7160
+ if (memoryFiles.length > 0) {
7161
+ lines.push("");
7162
+ lines.push("Existing memory files in this workspace (most-recently-modified first):");
7163
+ for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
7164
+ }
7165
+ lines.push("");
7166
+ lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
7125
7167
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
7126
7168
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
7127
7169
  lines.push("");
@@ -7410,7 +7452,8 @@ function buildAgentSystemPrompt(params) {
7410
7452
  const memorySection = buildMemorySection({
7411
7453
  isMinimal,
7412
7454
  availableTools,
7413
- citationsMode: params.memoryCitationsMode
7455
+ citationsMode: params.memoryCitationsMode,
7456
+ workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
7414
7457
  });
7415
7458
  const docsSection = buildDocsSection({
7416
7459
  docsPath: params.docsPath,
@@ -9624,7 +9667,7 @@ var GatewayClient = class {
9624
9667
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
9625
9668
  });
9626
9669
  }
9627
- this.ws = new WebSocket(url, wsOptions);
9670
+ this.ws = new WebSocket$1(url, wsOptions);
9628
9671
  this.ws.on("open", () => {
9629
9672
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
9630
9673
  const tlsError = this.validateTlsFingerprint();
@@ -9843,7 +9886,7 @@ var GatewayClient = class {
9843
9886
  return null;
9844
9887
  }
9845
9888
  async request(method, params, opts) {
9846
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9889
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9847
9890
  const id = randomUUID();
9848
9891
  const frame = {
9849
9892
  type: "req",
@@ -11042,7 +11085,7 @@ async function routeReply(params) {
11042
11085
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
11043
11086
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
11044
11087
  try {
11045
- const { deliverOutboundPayloads } = await import("./deliver-BcO15sSJ.js").then((n) => n.n);
11088
+ const { deliverOutboundPayloads } = await import("./deliver-BfgRx_NK.js").then((n) => n.n);
11046
11089
  return {
11047
11090
  ok: true,
11048
11091
  messageId: (await deliverOutboundPayloads({
@@ -41923,7 +41966,7 @@ async function deliverSessionMaintenanceWarning(params) {
41923
41966
  return;
41924
41967
  }
41925
41968
  try {
41926
- const { deliverOutboundPayloads } = await import("./deliver-BcO15sSJ.js").then((n) => n.n);
41969
+ const { deliverOutboundPayloads } = await import("./deliver-BfgRx_NK.js").then((n) => n.n);
41927
41970
  await deliverOutboundPayloads({
41928
41971
  cfg: params.cfg,
41929
41972
  channel,
@@ -46124,7 +46167,7 @@ async function describeStickerImage(params) {
46124
46167
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46125
46168
  try {
46126
46169
  const buffer = await fs$1.readFile(imagePath);
46127
- const { describeImageWithModel } = await import("./image-DjI2DS-A.js").then((n) => n.n);
46170
+ const { describeImageWithModel } = await import("./image-C2w5iw4N.js").then((n) => n.n);
46128
46171
  return (await describeImageWithModel({
46129
46172
  buffer,
46130
46173
  fileName: "sticker.webp",
@@ -48873,7 +48916,7 @@ async function preflightDiscordMessage(params) {
48873
48916
  let preflightTranscript;
48874
48917
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
48875
48918
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
48876
- const { transcribeFirstAudio } = await import("./audio-preflight-DmBkV1WW.js");
48919
+ const { transcribeFirstAudio } = await import("./audio-preflight-DrG2ef4O.js");
48877
48920
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
48878
48921
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
48879
48922
  ctx: {
@@ -53619,7 +53662,7 @@ function setCliSessionId(entry, provider, sessionId) {
53619
53662
  function createDefaultDeps() {
53620
53663
  return {
53621
53664
  sendMessageWhatsApp: async (...args) => {
53622
- const { sendMessageWhatsApp } = await import("./web-Dsrpq6ah.js");
53665
+ const { sendMessageWhatsApp } = await import("./web-CSDi520u.js");
53623
53666
  return await sendMessageWhatsApp(...args);
53624
53667
  },
53625
53668
  sendMessageTelegram: async (...args) => {
@@ -56524,7 +56567,7 @@ function createDiscordGatewayPlugin(params) {
56524
56567
  super(options);
56525
56568
  }
56526
56569
  createWebSocket(url) {
56527
- return new WebSocket$1(url, { agent });
56570
+ return new WebSocket(url, { agent });
56528
56571
  }
56529
56572
  }
56530
56573
  return new ProxyGatewayPlugin();
@@ -66742,7 +66785,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66742
66785
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66743
66786
  let preflightTranscript;
66744
66787
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66745
- const { transcribeFirstAudio } = await import("./audio-preflight-DmBkV1WW.js");
66788
+ const { transcribeFirstAudio } = await import("./audio-preflight-DrG2ef4O.js");
66746
66789
  preflightTranscript = await transcribeFirstAudio({
66747
66790
  ctx: {
66748
66791
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68899,7 +68942,7 @@ function loadWebLoginQr() {
68899
68942
  return webLoginQrPromise;
68900
68943
  }
68901
68944
  function loadWebChannel() {
68902
- webChannelPromise ??= import("./web-Dsrpq6ah.js");
68945
+ webChannelPromise ??= import("./web-CSDi520u.js");
68903
68946
  return webChannelPromise;
68904
68947
  }
68905
68948
  function loadWhatsAppActions() {
@@ -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 "./tokens-Cz6cgZ7r.js";
4
- import { vt as trimLogTail } from "./unified-runner-BNTy0IvK.js";
4
+ import { vt as trimLogTail } from "./unified-runner-CdBxbcO2.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CtBXKml4.js";
@@ -57,8 +57,8 @@ import "./send-CrFVrFoV.js";
57
57
  import "./model-JOScPOPJ.js";
58
58
  import "./pi-model-discovery-CXXH7biP.js";
59
59
  import "./reply-prefix-DnXliXio.js";
60
- import "./memory-cli-Bjj5cTuq.js";
61
- import "./manager-DPxj_q1-.js";
60
+ import "./memory-cli-BEZM7jn9.js";
61
+ import "./manager-DKUOUCmo.js";
62
62
  import "./gemini-auth-rYBkv11i.js";
63
63
  import "./retry-DYICeae5.js";
64
64
  import "./sqlite-CRogFEk1.js";
@@ -106,9 +106,9 @@ import "./onboard-helpers-ncV67aOo.js";
106
106
  import { n as stylePromptMessage } from "./prompt-style-CSNJI4MG.js";
107
107
  import "./pairing-labels-DJfFSZUS.js";
108
108
  import "./pi-tools.policy-D4i_i5CV.js";
109
- import "./heartbeat-visibility-BdqXBLOd.js";
109
+ import "./heartbeat-visibility-C4Sg0QOd.js";
110
110
  import { r as parseSemver } from "./runtime-guard-dBbuLE2m.js";
111
- import "./program-context-BgMoXWsF.js";
111
+ import "./program-context-Baw4Oc1H.js";
112
112
  import "./catalog-pt1jhhyb.js";
113
113
  import "./skills-status-DzvtNke3.js";
114
114
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
@@ -119,7 +119,7 @@ import "./npm-registry-spec-DzwsFqwv.js";
119
119
  import "./skill-scanner-DI28Pqv5.js";
120
120
  import "./installs-DH3fKGSH.js";
121
121
  import "./channels-status-issues-Crr1XNY1.js";
122
- import { r as installCompletion } from "./completion-cli-DN-RtQVJ.js";
122
+ import { r as installCompletion } from "./completion-cli-IKI4BpqL.js";
123
123
  import "./daemon-runtime-CNvz5bbJ.js";
124
124
  import "./systemd-z4aO4iTi.js";
125
125
  import { t as resolveGatewayService } from "./service-CW2RUNzh.js";
@@ -128,19 +128,19 @@ import "./systemd-hints-CnJtd2EU.js";
128
128
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BZuA8L1N.js";
129
129
  import "./diagnostics-D40jPn_9.js";
130
130
  import { t as renderTable } from "./table-Cg6YZXv9.js";
131
- import "./health-VfVqsLcU.js";
131
+ import "./health-CCKCR4oM.js";
132
132
  import "./control-ui-assets-CtKVON4w.js";
133
133
  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-BIE5FLmi.js";
134
134
  import "./dm-policy-shared-Ca_yzxgO.js";
135
135
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-B7og6NgE.js";
136
- 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-DkNNsx67.js";
136
+ 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-DLCzD7sp.js";
137
137
  import "./logging-CZuxhCZR.js";
138
138
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BnkusEA2.js";
139
139
  import "./doctor-config-flow-D3sS9iLa.js";
140
140
  import "./systemd-linger-Bl13Nbce.js";
141
141
  import "./health-format-Ct4VWeSk.js";
142
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DObyq0uk.js";
143
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-3QRenbxU.js";
142
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Cm6mr7mH.js";
143
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-VAGhCLD5.js";
144
144
  import os from "node:os";
145
145
  import path from "node:path";
146
146
  import fs from "node:fs/promises";