wednesdayai 0.4.12-dev.717 → 0.4.12-dev.719

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 (486) hide show
  1. package/dist/{agent-scope-cbxkoURo.js → agent-scope-DxKPMu8w.js} +3 -3
  2. package/dist/{agent-turn-enqueue-N-q0v3mc.js → agent-turn-enqueue-DEStltEg.js} +4 -4
  3. package/dist/{agent-turn-enqueue-Cqo34Swm.js → agent-turn-enqueue-DzWOPhgy.js} +4 -4
  4. package/dist/{agent-turn-execute-Bw9hhkAP.js → agent-turn-execute-CzOC4mHw.js} +124 -97
  5. package/dist/{agent-turn-recovery-adapter-BkIal4FW.js → agent-turn-recovery-adapter-CdLD3DuI.js} +1 -1
  6. package/dist/{agent-turn-recovery-adapter-CLY2Dn04.js → agent-turn-recovery-adapter-DnvjgbK0.js} +1 -1
  7. package/dist/{agent-turn-runner-Vd3aTCni.js → agent-turn-runner-BEvwtTis.js} +1 -1
  8. package/dist/{agent-turn-runner-BsdyAURQ.js → agent-turn-runner-BsxQBFRB.js} +5 -5
  9. package/dist/{agent-turn-runner-CUCOdxhH.js → agent-turn-runner-C1u8sVfA.js} +1 -1
  10. package/dist/{agent-turn-runner-CImqp_RN.js → agent-turn-runner-DpICdamt.js} +1 -1
  11. package/dist/{agents-BBoIqOw6.js → agents-C61lzbyw.js} +4 -4
  12. package/dist/{agents.config-Ctnm8o8d.js → agents.config-BcD-ZJ0N.js} +1 -1
  13. package/dist/{agents.config-C8RJrfbr.js → agents.config-DAh5Ah1J.js} +1 -1
  14. package/dist/{api-key-rotation-BMnyfyGD.js → api-key-rotation-Br7_jaAV.js} +2 -2
  15. package/dist/{artifacts-DUhYSSmK.js → artifacts-QHme-vnS.js} +4 -4
  16. package/dist/{audio-preflight-ifCgpG3c.js → audio-preflight-B_5sTSyb.js} +27 -27
  17. package/dist/{audio-preflight-bEi-KkBn.js → audio-preflight-CehYz7wU.js} +6 -6
  18. package/dist/{audio-preflight-BKQpd1eU.js → audio-preflight-uatGs8bC.js} +6 -6
  19. package/dist/{audio-transcription-runner-CGTNNwbm.js → audio-transcription-runner-BvZFFknx.js} +1 -1
  20. package/dist/{audio-transcription-runner-BD7UgbNj.js → audio-transcription-runner-CJ8YdMv-.js} +1 -1
  21. package/dist/{audio-transcription-runner-ipSQoPp8.js → audio-transcription-runner-XFfvRPXl.js} +11 -11
  22. package/dist/{audit-CcNEpaG6.js → audit-C0WHA5BX.js} +3 -3
  23. package/dist/{audit-BM8WZyx6.js → audit-UMAK8rQC.js} +3 -3
  24. package/dist/{auth-choice-DTg-b2da.js → auth-choice-BHU_G3if.js} +1 -1
  25. package/dist/{auth-choice-VnJYar-i.js → auth-choice-CHzuLxTp.js} +1 -1
  26. package/dist/{banner-_g-nCJoZ.js → banner-BAtbMrrp.js} +1 -1
  27. package/dist/build-info.json +3 -3
  28. package/dist/bundled/boot-md/handler.js +58 -58
  29. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  30. package/dist/bundled/command-logger/handler.js +2 -2
  31. package/dist/bundled/session-journal/handler.js +58 -58
  32. package/dist/bundled/session-memory/handler.js +58 -58
  33. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  34. package/dist/{channel-activity-BJHm_pDV.js → channel-activity-DNq7LYjU.js} +3 -3
  35. package/dist/{channel-options-BX8MFfPW.js → channel-options-CsgHOF5l.js} +1 -1
  36. package/dist/{channel-options-Dod3uWTl.js → channel-options-DRnowLFK.js} +1 -1
  37. package/dist/{channels-cli-MbAArXF1.js → channels-cli-BN4oTmr6.js} +23 -23
  38. package/dist/{channels-cli-DyfFtAZa.js → channels-cli-Cn1IUfM3.js} +23 -23
  39. package/dist/{chrome-DTJprCGv.js → chrome-FHxGdLnd.js} +15 -15
  40. package/dist/{chunk-eNEsWhab.js → chunk-BhntPUH_.js} +3 -3
  41. package/dist/{cli-DF91S8Cf.js → cli-BGAvAUiU.js} +17 -17
  42. package/dist/{cli-CdrO5h4P.js → cli-CFIRmNaZ.js} +17 -17
  43. package/dist/{command-queue-DmXWCoY0.js → command-queue-DtybAhHH.js} +1 -1
  44. package/dist/{command-queue-BTAxEdto.js → command-queue-SzKgkaS6.js} +1 -1
  45. package/dist/{command-queue-URs9pYSC.js → command-queue-zXu22yak.js} +1 -1
  46. package/dist/{command-registry-C7nkhshN.js → command-registry-DBfEAwIt.js} +9 -9
  47. package/dist/{commands-registry-DdQg21ct.js → commands-registry-DC0fovy_.js} +2 -2
  48. package/dist/{completion-cli-CjPs9az4.js → completion-cli-BfRsix3J.js} +2 -2
  49. package/dist/{completion-cli-DozvikmZ.js → completion-cli-L5YP0rxV.js} +1 -1
  50. package/dist/{config-cli-Dv1Dad57.js → config-cli-D4Gxd0pm.js} +1 -1
  51. package/dist/{config-cli-Dagtz6FG.js → config-cli-dgRsXbD3.js} +1 -1
  52. package/dist/config.js +9 -9
  53. package/dist/{configure-BbKf530X.js → configure-BN-JNKf7.js} +3 -3
  54. package/dist/{configure-CBJSHejz.js → configure-DtRyMLwO.js} +3 -3
  55. package/dist/{deliver-C5SDo7TP.js → deliver-Aw7d03gL.js} +1 -1
  56. package/dist/{deliver-CVWbwPkb.js → deliver-CXqNQ8yi.js} +24 -24
  57. package/dist/{deliver-8xg5ISEI.js → deliver-D37woOwV.js} +1 -1
  58. package/dist/{diagnostic-DI-K8155.js → diagnostic-Bbg-zObh.js} +5 -5
  59. package/dist/{diagnostic-D7DvV7NT.js → diagnostic-Cid_Tw67.js} +1 -1
  60. package/dist/{diagnostic-Dv8UWiI0.js → diagnostic-lG00b_zg.js} +1 -1
  61. package/dist/{dm-policy-shared-BLJbsZzf.js → dm-policy-shared-BJNH9gNN.js} +1 -1
  62. package/dist/{doctor-completion-D4T2GzR7.js → doctor-completion-ChF4A40n.js} +1 -1
  63. package/dist/{doctor-completion-CJYV2FQ5.js → doctor-completion-DIFx6d6S.js} +1 -1
  64. package/dist/entry.js +2 -2
  65. package/dist/extensionAPI.js +2 -2
  66. package/dist/{fetch-BzXaK9px.js → fetch-BoHKSk-O.js} +8 -8
  67. package/dist/{fetch-guard-0mkjBgri.js → fetch-guard-TJjLK0FV.js} +3 -3
  68. package/dist/{frontmatter-PMByWrfP.js → frontmatter-saAwiKEb.js} +5 -5
  69. package/dist/{fs-safe-DwICJjkN.js → fs-safe-LRpYbPaA.js} +4 -4
  70. package/dist/{gateway-cli-DtFDQj5d.js → gateway-cli-BJ9wa3Hc.js} +40 -40
  71. package/dist/{gateway-cli-Cyivh-5T.js → gateway-cli-CVnksdlt.js} +40 -40
  72. package/dist/{github-copilot-token-WSjo05vB.js → github-copilot-token-zGOMIGSh.js} +7 -7
  73. package/dist/{health-Cooqit6V.js → health-Cxv6ou16.js} +2 -2
  74. package/dist/{health-DFat5vO5.js → health-Q4hCJ8O2.js} +2 -2
  75. package/dist/{hooks-cli-CB-96Su8.js → hooks-cli-ChZY2urb.js} +19 -19
  76. package/dist/{hooks-cli-yNAgxRQS.js → hooks-cli-DOHX--ha.js} +19 -19
  77. package/dist/{image-ops-O8pHxo7i.js → image-ops-D_fm2PuR.js} +1 -1
  78. package/dist/index.js +21 -21
  79. package/dist/{installs-CpnJwZZ_.js → installs-78zhoWuO.js} +1 -1
  80. package/dist/{installs-CdLdL1gD.js → installs-Du8n8Do9.js} +1 -1
  81. package/dist/{ir-fzpdYPWw.js → ir-C4MMLUJr.js} +5 -5
  82. package/dist/{legacy-names-CLlrMq8r.js → legacy-names-vLJrYADD.js} +1 -1
  83. package/dist/llm-slug-generator.js +58 -58
  84. package/dist/{logger-DNehzD_s.js → logger-a0-zAY5a.js} +1 -1
  85. package/dist/{manager-DH-MILAU.js → manager-DdA_cy40.js} +12 -12
  86. package/dist/{markdown-tables-UWspJNAH.js → markdown-tables-Dd7jV1JF.js} +2 -2
  87. package/dist/{model-selection-9qbqwsOT.js → model-selection-CdZITU0t.js} +86 -86
  88. package/dist/{models-Dlat36jl.js → models-BbhdUY5g.js} +1 -1
  89. package/dist/{models-cli-vjFaOcNS.js → models-cli-BekoSHw2.js} +18 -18
  90. package/dist/{models-cli-DMjHkAqq.js → models-cli-BmL2dpSq.js} +17 -17
  91. package/dist/{node-cli-dh4qWKpT.js → node-cli-BTywy8AL.js} +3 -3
  92. package/dist/{node-cli-Csimlxec.js → node-cli-BVgH-DXq.js} +3 -3
  93. package/dist/{npm-pack-install-DcBobJp3.js → npm-pack-install-B-cOWuiF.js} +1 -1
  94. package/dist/{npm-pack-install-B7wQANiM.js → npm-pack-install-opyKYSmS.js} +1 -1
  95. package/dist/{npm-resolution-B0rqOBgy.js → npm-resolution-51BBOWpQ.js} +2 -2
  96. package/dist/{npm-resolution-SdoNL0ud.js → npm-resolution-6WKQ6nBu.js} +2 -2
  97. package/dist/{onboard-_pVU_O8s.js → onboard-Cj-sLY2K.js} +2 -2
  98. package/dist/{onboard-DuNuHUvh.js → onboard-CnRiqboN.js} +2 -2
  99. package/dist/{onboard-channels-P7F-dNwm.js → onboard-channels-DAwHVQ1P.js} +2 -2
  100. package/dist/{onboard-channels-28JqVvAv.js → onboard-channels-DYRTySsa.js} +2 -2
  101. package/dist/{onboarding-BcI8N4WK.js → onboarding-CujUbWy2.js} +3 -3
  102. package/dist/{onboarding-BBb8ZbfX.js → onboarding-DidWWI3X.js} +3 -3
  103. package/dist/{onboarding.finalize-BXkz7oPa.js → onboarding.finalize-CDE1nAu8.js} +23 -23
  104. package/dist/{onboarding.finalize-D9fyrhAS.js → onboarding.finalize-DTqRxVZH.js} +22 -22
  105. package/dist/{operator-commands-CtYCnspr.js → operator-commands-Bfd55UfE.js} +2 -2
  106. package/dist/{operator-commands-CIz47IKl.js → operator-commands-Ct0WXISe.js} +2 -2
  107. package/dist/{outbound-attachment-DVKqk30B.js → outbound-attachment-CqtMGpsJ.js} +2 -2
  108. package/dist/{outbound-message-hooks-S_VhlJs3.js → outbound-message-hooks-RBQbGzGm.js} +4 -4
  109. package/dist/{path-alias-guards-Cd5yHmTq.js → path-alias-guards-Zj-NwKjV.js} +1 -1
  110. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  111. package/dist/{pi-embedded-wjGM_bNN.js → pi-embedded-B6sr5IdC.js} +102 -75
  112. package/dist/{pi-embedded-Qyba-Rws.js → pi-embedded-B9bOSjfE.js} +270 -243
  113. package/dist/{pi-embedded-helpers-BU47jdPO.js → pi-embedded-helpers-BAjtRn7m.js} +1 -1
  114. package/dist/{pi-embedded-helpers-5JApWu7A.js → pi-embedded-helpers-BYLOFsUc.js} +24 -24
  115. package/dist/{pi-embedded-helpers-i0-tPaxH.js → pi-embedded-helpers-CPorV-Mk.js} +1 -1
  116. package/dist/{pi-embedded-recovery-adapter-CNdSU-s7.js → pi-embedded-recovery-adapter-B8Goyik3.js} +8 -8
  117. package/dist/{pi-embedded-recovery-adapter-DL78oCTf.js → pi-embedded-recovery-adapter-Cs1EJElw.js} +8 -8
  118. package/dist/{pi-embedded-recovery-adapter-1Lgt8q1h.js → pi-embedded-recovery-adapter-ZPyX9YC1.js} +2 -2
  119. package/dist/{pi-embedded-recovery-adapter-B2AFWrYt.js → pi-embedded-recovery-adapter-swbNIWgT.js} +2 -2
  120. package/dist/{pi-embedded-utils-8OzPnJMh.js → pi-embedded-utils-CT_f_S3Y.js} +1 -1
  121. package/dist/{pi-embedded-utils-kHMmP2Xh.js → pi-embedded-utils-DOtaZ7KV.js} +3 -3
  122. package/dist/{pi-embedded-utils-BtOzugyp.js → pi-embedded-utils-lp-U3XQ9.js} +1 -1
  123. package/dist/{pi-model-discovery-CsC6yTDG.js → pi-model-discovery-B9KKtGuw.js} +7 -7
  124. package/dist/{pi-tools.policy-DPm2eos4.js → pi-tools.policy-r9H_A-NQ.js} +1 -1
  125. package/dist/{plugin-registry-CPS5bO_-.js → plugin-registry-CwGfmKsn.js} +1 -1
  126. package/dist/{plugin-registry-CC8YsXPr.js → plugin-registry-EHKfjAoe.js} +1 -1
  127. package/dist/plugin-sdk/{agent-scope-BYp_CjdU.js → agent-scope-BLF4nZUv.js} +2 -2
  128. package/dist/plugin-sdk/{agent-scope-DU8uJiiv.js → agent-scope-BQYVQxfQ.js} +2 -2
  129. package/dist/plugin-sdk/agent-turn-execute-BVPDW02i.js +61 -0
  130. package/dist/plugin-sdk/agent-turn-execute-zuw0S_Lh.js +61 -0
  131. package/dist/plugin-sdk/agent-turn-runner-BcrkoR1M.js +11 -0
  132. package/dist/plugin-sdk/{agent-turn-runner-CmDXH4Z8.js → agent-turn-runner-DDIT9POj.js} +6 -6
  133. package/dist/plugin-sdk/{agent-turn-runner-B9_FKVSu.js → agent-turn-runner-DjK-LdTA.js} +6 -6
  134. package/dist/plugin-sdk/{api-key-rotation-Oe0hkmVQ.js → api-key-rotation-BW3rq9Tg.js} +2 -2
  135. package/dist/plugin-sdk/{api-key-rotation-CDNf_4cI.js → api-key-rotation-XDUKz2gd.js} +2 -2
  136. package/dist/plugin-sdk/{artifacts-Dk-7TtTn.js → artifacts-C8xK4Y3e.js} +1 -1
  137. package/dist/plugin-sdk/{artifacts-BMLMg3MG.js → artifacts-HAYpGlG1.js} +1 -1
  138. package/dist/plugin-sdk/{audio-preflight-BmKL6FNP.js → audio-preflight-BS29OWk3.js} +2 -2
  139. package/dist/plugin-sdk/{audio-preflight-8hRbl8Io.js → audio-preflight-Bi8RI9zM.js} +22 -22
  140. package/dist/plugin-sdk/audio-preflight-DE04bi4M.js +28 -0
  141. package/dist/plugin-sdk/{audio-transcription-runner-TBjJv_mZ.js → audio-transcription-runner-BNafitZj.js} +10 -10
  142. package/dist/plugin-sdk/{audio-transcription-runner-CUsZFiEA.js → audio-transcription-runner-CGgNZVZv.js} +11 -11
  143. package/dist/plugin-sdk/{auth-profiles-DHZjW8Vk.js → auth-profiles-CCJQoedi.js} +5 -5
  144. package/dist/plugin-sdk/{auth-profiles-OgKl-vr-.js → auth-profiles-CIKTWees.js} +5 -5
  145. package/dist/plugin-sdk/{channel-activity-Dr4PYej7.js → channel-activity-BKwRzYJb.js} +3 -3
  146. package/dist/plugin-sdk/{channel-activity-OIauZrkN.js → channel-activity-Ck83U_es.js} +3 -3
  147. package/dist/plugin-sdk/{chrome-VZ0Zuu2w.js → chrome-CT_6RvJg.js} +4 -4
  148. package/dist/plugin-sdk/{chrome-BDy1zYAr.js → chrome-D0eLSqkP.js} +4 -4
  149. package/dist/plugin-sdk/{chunk-DGQdf0JN.js → chunk-CDvvv9SU.js} +3 -3
  150. package/dist/plugin-sdk/{chunk-BWz-lIzS.js → chunk-D6yDhUpF.js} +4 -4
  151. package/dist/plugin-sdk/{chunk-BTSnO1wn.js → chunk-DI-5pBck.js} +6 -6
  152. package/dist/plugin-sdk/{command-detection-DdTnFMU3.js → command-detection-WNHSrul-.js} +186 -159
  153. package/dist/plugin-sdk/{command-queue-CeaLVs8O.js → command-queue-BnJsJc_w.js} +8 -8
  154. package/dist/plugin-sdk/{command-queue-DFSOdqCK.js → command-queue-CHiQj9Ji.js} +1 -1
  155. package/dist/plugin-sdk/{command-queue-D_UFlrwC.js → command-queue-DH8k55DC.js} +2 -2
  156. package/dist/plugin-sdk/{commands-registry-8sy0wsK_.js → commands-registry-Do_g2It_.js} +6 -6
  157. package/dist/plugin-sdk/{commands-registry-N6f_lsxF.js → commands-registry-DpLk11E7.js} +2 -2
  158. package/dist/plugin-sdk/{commands-registry-XW2hmbAE.js → commands-registry-DuwlD_aI.js} +3 -3
  159. package/dist/plugin-sdk/{config-Biusjzx-.js → config-CQNfmIC8.js} +7 -7
  160. package/dist/plugin-sdk/deliver-D4fWK65M.js +32 -0
  161. package/dist/plugin-sdk/deliver-DuDcszu1.js +32 -0
  162. package/dist/plugin-sdk/{deliver-BgHA8c9F.js → deliver-L6eu6zyG.js} +11 -11
  163. package/dist/plugin-sdk/{deliver-B7W4NNsR.js → deliver-_UyigkEK.js} +11 -11
  164. package/dist/plugin-sdk/{diagnostic-D6hSjxiv.js → diagnostic-C7lPoqyv.js} +5 -5
  165. package/dist/plugin-sdk/{diagnostic-Bni_8VyY.js → diagnostic-DfxuMWHd.js} +7 -7
  166. package/dist/plugin-sdk/{diagnostic-BRUM6uNI.js → diagnostic-Dk57KVjE.js} +7 -7
  167. package/dist/plugin-sdk/{diagnostic-session-state-BsHrQ7U3.js → diagnostic-session-state-BjuWxrAM.js} +1 -1
  168. package/dist/plugin-sdk/{fetch-C1vgNaXJ.js → fetch-D1jXg-ju.js} +1 -1
  169. package/dist/plugin-sdk/{fetch-hEreHolP.js → fetch-DFZXuu3W.js} +7 -7
  170. package/dist/plugin-sdk/{fetch-guard-C1a1KfEb.js → fetch-guard-CZT8FU1i.js} +3 -3
  171. package/dist/plugin-sdk/{fetch-guard-B2Wnl9Vi.js → fetch-guard-DnwfMurj.js} +4 -4
  172. package/dist/plugin-sdk/{fetch-timeout-A1m6BOhm.js → fetch-timeout-D7XVWfxj.js} +1 -1
  173. package/dist/plugin-sdk/{fs-safe-CbZ6uRVv.js → fs-safe-B0JgGdXa.js} +3 -3
  174. package/dist/plugin-sdk/{fs-safe-ClebEeLz.js → fs-safe-BQ5cHy9G.js} +3 -3
  175. package/dist/plugin-sdk/{hook-runner-global-BvxlnAyu.js → hook-runner-global-WRI53ibi.js} +3 -3
  176. package/dist/plugin-sdk/{image-ops-Bm03YsK2.js → image-ops-0TjWNKUx.js} +1 -1
  177. package/dist/plugin-sdk/{image-ops-DY_SZfXk.js → image-ops-kuILYHZv.js} +1 -1
  178. package/dist/plugin-sdk/{inbound-context-Cmgtf5my.js → inbound-context-Bfr5DkdO.js} +1 -1
  179. package/dist/plugin-sdk/index.js +54 -54
  180. package/dist/plugin-sdk/{ir-BNohi6ZW.js → ir-Bm7oqkwT.js} +5 -5
  181. package/dist/plugin-sdk/{ir-1CthVxHv.js → ir-CbL0sVL2.js} +5 -5
  182. package/dist/plugin-sdk/{local-roots-Bm7nDW20.js → local-roots-D-CHzVr1.js} +7 -7
  183. package/dist/plugin-sdk/{logger-D6KsqbNW.js → logger-BSK-0Yjx.js} +1 -1
  184. package/dist/plugin-sdk/{logger-BkzoyfHW.js → logger-D5s3kiib.js} +1 -1
  185. package/dist/plugin-sdk/manager-BlYRVNJI.js +16 -0
  186. package/dist/plugin-sdk/manager-Bqpqu2GS.js +16 -0
  187. package/dist/plugin-sdk/{manager-C4CJpRd9.js → manager-CHBt3PC-.js} +8 -8
  188. package/dist/plugin-sdk/{manager-B_vK9MbM.js → manager-D2jffdjH.js} +8 -8
  189. package/dist/plugin-sdk/{markdown-tables-DZM4NfLU.js → markdown-tables-CBGsimjo.js} +3 -3
  190. package/dist/plugin-sdk/{markdown-tables-G4vK24xc.js → markdown-tables-DIWQQ2W1.js} +2 -2
  191. package/dist/plugin-sdk/markdown-tables-cZSKCBuW.js +10 -0
  192. package/dist/plugin-sdk/{outbound-attachment-GMgXpDQm.js → outbound-attachment-C5x2htXW.js} +2 -2
  193. package/dist/plugin-sdk/{outbound-attachment-Cw7T2Mrt.js → outbound-attachment-CtKKNyms.js} +2 -2
  194. package/dist/plugin-sdk/{outbound-message-hooks-BUHUdpjM.js → outbound-message-hooks-2YmJP9k-.js} +3 -3
  195. package/dist/plugin-sdk/{path-alias-guards-Dft7g-_v.js → path-alias-guards-BIPHhakQ.js} +1 -1
  196. package/dist/plugin-sdk/{path-alias-guards-CVybi_GQ.js → path-alias-guards-CHfCMaeX.js} +1 -1
  197. package/dist/plugin-sdk/{pi-embedded-helpers-B_jgacW8.js → pi-embedded-helpers-BRymkO_1.js} +11 -11
  198. package/dist/plugin-sdk/{pi-embedded-helpers-B-OOYT64.js → pi-embedded-helpers-CELD3Ns3.js} +11 -11
  199. package/dist/plugin-sdk/{pi-embedded-utils-BoSGTbYO.js → pi-embedded-utils-AFQ-oCFM.js} +3 -3
  200. package/dist/plugin-sdk/{pi-embedded-utils-DOXEm_H8.js → pi-embedded-utils-BHmc3RVS.js} +3 -3
  201. package/dist/plugin-sdk/{pi-model-discovery-DWw1ReX-.js → pi-model-discovery-4X7_2_nP.js} +6 -6
  202. package/dist/plugin-sdk/{pi-model-discovery-DWUrLRLg.js → pi-model-discovery-6BBajZds.js} +1 -1
  203. package/dist/plugin-sdk/{pi-model-discovery-DF6l-F8s.js → pi-model-discovery-C37z3zkx.js} +2 -2
  204. package/dist/plugin-sdk/provider-dispatcher-B4PdTha5.js +61 -0
  205. package/dist/plugin-sdk/provider-dispatcher-D7UK3G8K.js +61 -0
  206. package/dist/plugin-sdk/provider-image-Bumd1GBG.js +22 -0
  207. package/dist/plugin-sdk/provider-image-CNlYbRab.js +22 -0
  208. package/dist/plugin-sdk/{provider-image-zNa1Cccq.js → provider-image-CbZOYl0b.js} +5 -5
  209. package/dist/plugin-sdk/{provider-image-CEQrHWYz.js → provider-image-DBye3Ln5.js} +5 -5
  210. package/dist/plugin-sdk/{proxy-CXI1ycJj.js → proxy-CjNR_U3u.js} +2 -2
  211. package/dist/plugin-sdk/proxy-D2uiu68M.js +7 -0
  212. package/dist/plugin-sdk/{proxy-BWc9guJs.js → proxy-DJ2nskkh.js} +1 -1
  213. package/dist/plugin-sdk/{proxy-env-B3rQCyUO.js → proxy-env-ubutfW07.js} +2 -2
  214. package/dist/plugin-sdk/{proxy-fetch-BYkGxQnh.js → proxy-fetch-CuQpjpkI.js} +1 -1
  215. package/dist/plugin-sdk/{proxy-fetch-CNBkczcW.js → proxy-fetch-Cv4b428x.js} +1 -1
  216. package/dist/plugin-sdk/{pw-ai-DQv6Xhce.js → pw-ai-BJrhPMHJ.js} +10 -10
  217. package/dist/plugin-sdk/{pw-ai-JJrE-B1e.js → pw-ai-hVucoF_I.js} +10 -10
  218. package/dist/plugin-sdk/{qmd-manager-CkQhKIXI.js → qmd-manager-Bv5B9pi9.js} +8 -8
  219. package/dist/plugin-sdk/{qmd-manager-CpV0SFnY.js → qmd-manager-DhW_frb3.js} +8 -8
  220. package/dist/plugin-sdk/{query-expansion-DjZsVofz.js → query-expansion-CWwH9pqd.js} +3 -3
  221. package/dist/plugin-sdk/{query-expansion-CwmHvvV_.js → query-expansion-NpBeKA8F.js} +3 -3
  222. package/dist/plugin-sdk/{recorder-BU_faNrp.js → recorder-C3qdhG-p.js} +4 -4
  223. package/dist/plugin-sdk/{recorder-BXZMRSjO.js → recorder-DdbAQ2HO.js} +4 -4
  224. package/dist/{redact-BOHmCPP_.js → plugin-sdk/redact-BEcZiZI1.js} +1 -1
  225. package/dist/plugin-sdk/{redact-C88Ryyfs.js → redact-CUjmZn2Y.js} +1 -1
  226. package/dist/plugin-sdk/{registry-tm0HFWKN.js → registry-BXmLBUZj.js} +7 -7
  227. package/dist/plugin-sdk/replies-0gHRQjbA.js +25 -0
  228. package/dist/plugin-sdk/{replies-CS2GXrd-.js → replies-CjeAGcJx.js} +4 -4
  229. package/dist/plugin-sdk/{replies-l2hZAzbt.js → replies-Dw3jvqpR.js} +4 -4
  230. package/dist/plugin-sdk/replies-XUkqz_7S.js +25 -0
  231. package/dist/plugin-sdk/{reply-directives-BwxzQXmX.js → reply-directives-BS8Ge06Z.js} +2 -2
  232. package/dist/plugin-sdk/{reply-directives-hfOVgXpA.js → reply-directives-OuX5Mba_.js} +2 -2
  233. package/dist/plugin-sdk/{reply-prefix-BKQgC6Vj.js → reply-prefix-C83iSHUo.js} +2 -2
  234. package/dist/plugin-sdk/{reply-prefix-qLQRxqrf.js → reply-prefix-Dt1hESHJ.js} +1 -1
  235. package/dist/plugin-sdk/reply-prefix-MU3uY52y.js +7 -0
  236. package/dist/plugin-sdk/{resolve-route-tqQv32nr.js → resolve-route-BLBv69wV.js} +5 -5
  237. package/dist/plugin-sdk/{resolve-route-50KoArP9.js → resolve-route-BpLuk-wC.js} +4 -4
  238. package/dist/plugin-sdk/{resolve-route-6v1HVvWk.js → resolve-route-DiQTL1qI.js} +6 -6
  239. package/dist/plugin-sdk/runs-B3DB63tB.js +25 -0
  240. package/dist/plugin-sdk/{runs-H2FY7UEk.js → runs-CPWQbljV.js} +8 -8
  241. package/dist/plugin-sdk/{runs-CiohhBb8.js → runs-D6fAvItC.js} +7 -7
  242. package/dist/plugin-sdk/runs-R28wdt7j.js +25 -0
  243. package/dist/plugin-sdk/{send-CEtGyK32.js → send-B2Kip2qd.js} +8 -8
  244. package/dist/plugin-sdk/{send-Cv2CGnsK.js → send-BDwTyH6I.js} +8 -8
  245. package/dist/plugin-sdk/{send-BjR1QHnz.js → send-BUAw8fe4.js} +7 -7
  246. package/dist/plugin-sdk/{send-BMhuEEtY.js → send-BwoWjRrJ.js} +9 -9
  247. package/dist/plugin-sdk/send-C28pxKhC.js +27 -0
  248. package/dist/plugin-sdk/{send-DM6RpDCL.js → send-CE_6VOiQ.js} +7 -7
  249. package/dist/plugin-sdk/send-COofA0BG.js +23 -0
  250. package/dist/plugin-sdk/{send-Cx6gHjnA.js → send-Ce2XBaKF.js} +6 -6
  251. package/dist/plugin-sdk/{send-DdPdUcD0.js → send-CfSEKKlU.js} +6 -6
  252. package/dist/plugin-sdk/send-Cg2VXcO0.js +27 -0
  253. package/dist/plugin-sdk/{send-BMSqETcU.js → send-CpXGZgrS.js} +6 -6
  254. package/dist/plugin-sdk/send-DAs6FmWB.js +23 -0
  255. package/dist/plugin-sdk/{send-CF3PEjRy.js → send-DE9YP1gQ.js} +14 -14
  256. package/dist/plugin-sdk/{send-DUJMd2d7.js → send-D_2cxLLi.js} +20 -20
  257. package/dist/plugin-sdk/{send-DO0C4Uva.js → send-GMYUhBtJ.js} +19 -19
  258. package/dist/plugin-sdk/send-NUHfC-G_.js +25 -0
  259. package/dist/plugin-sdk/{send-DG4MQPPm.js → send-R0HB1-l-.js} +13 -13
  260. package/dist/plugin-sdk/send-Tm5-7bLz.js +24 -0
  261. package/dist/plugin-sdk/send-UIQH_kN6.js +25 -0
  262. package/dist/plugin-sdk/send-tASIQF-Q.js +24 -0
  263. package/dist/plugin-sdk/{session-meta-CiqJP0pO.js → session-meta-BU2WXD0N.js} +2 -2
  264. package/dist/plugin-sdk/{session-meta-oR-S9C5J.js → session-meta-D3W538Wj.js} +3 -3
  265. package/dist/plugin-sdk/session-meta-Dd1ZONel.js +10 -0
  266. package/dist/plugin-sdk/{skill-commands-CE_SkRQk.js → skill-commands-BYfWIPfV.js} +5 -5
  267. package/dist/plugin-sdk/{skill-commands-Bh43SlDc.js → skill-commands-ByVQek_m.js} +6 -6
  268. package/dist/plugin-sdk/skill-commands-C7ZE3rKj.js +14 -0
  269. package/dist/plugin-sdk/{skills-CatBv8W4.js → skills-BGgry_YW.js} +6 -6
  270. package/dist/plugin-sdk/{skills-CjW6uGTa.js → skills-BuJjEYto.js} +6 -6
  271. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/attempt.d.ts +3 -0
  272. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-context-guard.d.ts +12 -3
  273. package/dist/plugin-sdk/{ssrf-BUCEDxp5.js → ssrf-DiAz1Z_z.js} +2 -2
  274. package/dist/plugin-sdk/{store-yBNTHg3N.js → store-Bl3Yjf_w.js} +2 -2
  275. package/dist/plugin-sdk/{store-6JKvp2Zu.js → store-C6ZLKWUS.js} +2 -2
  276. package/dist/plugin-sdk/subagent-registry-Bxwla-0-.js +61 -0
  277. package/dist/plugin-sdk/subagent-registry-CTZBVVPF.js +61 -0
  278. package/dist/plugin-sdk/{subsystem-CchgWuXK.js → subsystem-0F3fEqJW.js} +4 -4
  279. package/dist/plugin-sdk/{subsystem-CUUKL6Fr.js → subsystem-B2x33s9h.js} +4 -4
  280. package/dist/plugin-sdk/{tables-BPCP4CpE.js → tables-BCSRuiq_.js} +1 -1
  281. package/dist/plugin-sdk/{tables-DKYi6grj.js → tables-CTmQQyfU.js} +1 -1
  282. package/dist/plugin-sdk/testing.js +55 -55
  283. package/dist/plugin-sdk/{tokens-Cioh8xR5.js → tokens-DxJSOoJn.js} +1 -1
  284. package/dist/plugin-sdk/{tokens-ysZUkYZZ.js → tokens-O0pGqOuf.js} +1 -1
  285. package/dist/plugin-sdk/{tool-loop-detection-BN0lIxLx.js → tool-loop-detection-BG8uP1aD.js} +1 -1
  286. package/dist/plugin-sdk/{tool-loop-detection-LsvZ1dIY.js → tool-loop-detection-Buouaxew.js} +1 -1
  287. package/dist/plugin-sdk/{tools-4rcPGSNh.js → tools-iyXmO6p1.js} +194 -167
  288. package/dist/plugin-sdk/user-run-recording-BMikDBXR.js +11 -0
  289. package/dist/plugin-sdk/{user-run-recording-DlpzQk0X.js → user-run-recording-iS-qLIN9.js} +3 -3
  290. package/dist/plugin-sdk/{user-run-recording-BMaK7jNR.js → user-run-recording-juCW_uQ-.js} +2 -2
  291. package/dist/{plugins-cli-yjyVyPjc.js → plugins-cli-B0I1Xkrz.js} +22 -22
  292. package/dist/{plugins-cli-Cpq4XXoA.js → plugins-cli-CmYpruM_.js} +22 -22
  293. package/dist/{program-CB5O-AyY.js → program-CA1rDqtK.js} +23 -23
  294. package/dist/{program-context-DxwZAeg4.js → program-context-BCo6By7P.js} +22 -22
  295. package/dist/{prompt-select-styled-CfTLn2TL.js → prompt-select-styled-BAmwLkut.js} +6 -6
  296. package/dist/{prompt-select-styled-1UYyuvWX.js → prompt-select-styled-cL1dmYcO.js} +6 -6
  297. package/dist/{provider-image-Cb4z6zUu.js → provider-image-BllyLBJM.js} +5 -5
  298. package/dist/{provider-image-CZlpEJVI.js → provider-image-CIpRvhkS.js} +1 -1
  299. package/dist/{provider-image-UXLX6qTH.js → provider-image-D9B_J5Ys.js} +1 -1
  300. package/dist/{proxy-env-i0jn5uxB.js → proxy-env-CzGKpJY_.js} +2 -2
  301. package/dist/{proxy-C9sq6M-h.js → proxy-fWL7CKDP.js} +1 -1
  302. package/dist/{proxy-fetch-CK5AQAYw.js → proxy-fetch-DCI0KuH6.js} +1 -1
  303. package/dist/{push-apns-DYlVj3Sd.js → push-apns-Bhf8qK68.js} +2 -2
  304. package/dist/{push-apns-uBiZYT2e.js → push-apns-BmrddV2R.js} +2 -2
  305. package/dist/{pw-ai-CZJk6UyG.js → pw-ai-CKjrjwfw.js} +1 -1
  306. package/dist/{pw-ai-DziGw6Jy.js → pw-ai-CXSJw34w.js} +14 -14
  307. package/dist/{pw-ai-2o8dgziH.js → pw-ai-Cd08hlBj.js} +1 -1
  308. package/dist/{qmd-manager-p036XU01.js → qmd-manager-BwZ0V5fL.js} +10 -10
  309. package/dist/{query-expansion-30x7RlZY.js → query-expansion-31VWpPCz.js} +5 -5
  310. package/dist/{reconcile-bundled-Dx64x8xr.js → reconcile-bundled-Bl6XpmI5.js} +1 -1
  311. package/dist/{reconcile-bundled-oQwTCU_A.js → reconcile-bundled-TswjG3xv.js} +1 -1
  312. package/dist/{recorder-C_ViZLf1.js → recorder-DNRxe9C8.js} +4 -4
  313. package/dist/{recovery-adapter-BvRiQZIb.js → recovery-adapter-DOizlZvv.js} +8 -8
  314. package/dist/{recovery-adapter-BcPtMfaC.js → recovery-adapter-DW0R_vFE.js} +1 -1
  315. package/dist/{recovery-adapter-BT7EyQzh.js → recovery-adapter-DyPV7syS.js} +8 -8
  316. package/dist/{recovery-adapter-CTqGLqLj.js → recovery-adapter-mi8jbyvy.js} +1 -1
  317. package/dist/{plugin-sdk/redact-CdcLrd0n.js → redact-DZne_lu8.js} +1 -1
  318. package/dist/{register.agent-DpYKNZhv.js → register.agent-B3BSgQcW.js} +22 -22
  319. package/dist/{register.agent-DxsC-Szl.js → register.agent-CSHtI9uN.js} +23 -23
  320. package/dist/{register.configure-DUg0MNnJ.js → register.configure-CYwDM9d3.js} +23 -23
  321. package/dist/{register.configure-PJZ3F6Y4.js → register.configure-Cu4CPpm4.js} +23 -23
  322. package/dist/{register.maintenance-BBM-rluy.js → register.maintenance-BXiHFIyG.js} +23 -23
  323. package/dist/{register.maintenance-9XyX4HYf.js → register.maintenance-C6vjRY-I.js} +24 -24
  324. package/dist/{register.message-B3NWvxgd.js → register.message-BsBClRov.js} +18 -18
  325. package/dist/{register.message-D-e6_UXf.js → register.message-DNpBTvto.js} +18 -18
  326. package/dist/{register.onboard-CEzQdSxa.js → register.onboard-BKQLGJhh.js} +2 -2
  327. package/dist/{register.onboard-id-BqwSw.js → register.onboard-t_7lOkRu.js} +2 -2
  328. package/dist/{register.setup-BiOdr528.js → register.setup-B7QHn0Qv.js} +2 -2
  329. package/dist/{register.setup-BKBe-Sjp.js → register.setup-DEg7fSPZ.js} +2 -2
  330. package/dist/{register.status-health-sessions-CeRiMlKm.js → register.status-health-sessions-7E-y6cw7.js} +20 -20
  331. package/dist/{register.status-health-sessions-BVIHCaPP.js → register.status-health-sessions-D9iuSOb8.js} +20 -20
  332. package/dist/{register.subclis-IXr-WEhq.js → register.subclis-R6keQnon.js} +14 -14
  333. package/dist/{replies-BsctLhfp.js → replies-NkETqb6B.js} +4 -4
  334. package/dist/{reply-BzUdF5qW.js → reply-B4TgvJrJ.js} +124 -97
  335. package/dist/{reply-directives-D9wYtPPy.js → reply-directives-DGITtNUL.js} +2 -2
  336. package/dist/{reply-prefix-C7WlN3qm.js → reply-prefix-DVkNDBNe.js} +1 -1
  337. package/dist/{resolve-route-BV8k5qjX.js → resolve-route-jDAjkfZE.js} +5 -5
  338. package/dist/{run-main-CsSM1uCJ.js → run-main-CMTfGYjG.js} +30 -30
  339. package/dist/{runs-DVNBpgv0.js → runs-B0TxOQnF.js} +3 -3
  340. package/dist/{runs-i5IuTzQX.js → runs-BMp7jOLL.js} +3 -3
  341. package/dist/{runs-ucQd8Fc-.js → runs-DGWNXyKA.js} +8 -8
  342. package/dist/{sandbox-QsMPF2u6.js → sandbox-CQwpubTx.js} +1 -1
  343. package/dist/{sandbox-bbN1dfIo.js → sandbox-DbfWdQha.js} +1 -1
  344. package/dist/{sandbox-cli-CuG1HCrw.js → sandbox-cli-CSjghLhl.js} +2 -2
  345. package/dist/{sandbox-cli-nx3ctiYX.js → sandbox-cli-DwhgE7u4.js} +2 -2
  346. package/dist/{security-cli-BmfAwh-0.js → security-cli-DSB1NLa6.js} +4 -4
  347. package/dist/{security-cli-BfZEQFxV.js → security-cli-DlMcCXl1.js} +4 -4
  348. package/dist/{send-Tx-ew59_.js → send-CNLmncRW.js} +6 -6
  349. package/dist/{send-CvkM5xAx.js → send-DAYMV49d.js} +1 -1
  350. package/dist/{send-TscXeVY8.js → send-DEFcgo-1.js} +27 -27
  351. package/dist/{send-BGps2i_C.js → send-Do1AlhD5.js} +8 -8
  352. package/dist/{send-BiDcVZSc.js → send-Dq8ChBfS.js} +6 -6
  353. package/dist/{send-Ba3pDq6E.js → send-ENMm5qbW.js} +7 -7
  354. package/dist/{send-BKkvuHI9.js → send-l57G-s8y.js} +1 -1
  355. package/dist/{server-BMSgu_SV.js → server-BAGUd2MH.js} +4 -4
  356. package/dist/{server-DRVR_pkr.js → server-IDopagLT.js} +4 -4
  357. package/dist/{server-context-CTilcbO4.js → server-context-BUX61Gwl.js} +2 -2
  358. package/dist/{server-context-Bbi-nqKD.js → server-context-FPrSnBNG.js} +2 -2
  359. package/dist/{server-lifecycle-DrAGY_SC.js → server-lifecycle-7QoL5fyb.js} +1 -1
  360. package/dist/{server-lifecycle-BIOS9ErD.js → server-lifecycle-DXRap2AR.js} +1 -1
  361. package/dist/{server-node-events-B3c2ctcO.js → server-node-events-DSTI4JnV.js} +18 -18
  362. package/dist/{server-node-events-lwnuZDvV.js → server-node-events-MOX6FUiJ.js} +18 -18
  363. package/dist/{session-meta-DH__PMKt.js → session-meta-DuK_BrWT.js} +2 -2
  364. package/dist/{sessions-DCXadUdD.js → sessions-CgVN798h.js} +4 -4
  365. package/dist/{sessions-Cy_VVMEN.js → sessions-Dcu0bdQ7.js} +4 -4
  366. package/dist/{skill-commands-CRZajtK_.js → skill-commands-BhMQp_i8.js} +9 -9
  367. package/dist/{skills-DOc6uEd1.js → skills-ckuLxkyg.js} +21 -21
  368. package/dist/{status-DJsk1JjI.js → status-B3eNMcE3.js} +4 -4
  369. package/dist/{status-Czr0TmiN.js → status-C5pbfqhh.js} +4 -4
  370. package/dist/{store-xxN6qyAh.js → store-gQ6FSjVk.js} +2 -2
  371. package/dist/{subsystem-BCjklMkJ.js → subsystem-CPYnUTN4.js} +64 -64
  372. package/dist/{tables-o3ZpyPWV.js → tables-DEyD0zuy.js} +1 -1
  373. package/dist/{task-pipeline-boot-CcSZVGUe.js → task-pipeline-boot-BLEjtMkt.js} +17 -17
  374. package/dist/{task-pipeline-boot-UcskPjY2.js → task-pipeline-boot-DKqT4VdZ.js} +17 -17
  375. package/dist/{tokens-9Mla_HDp.js → tokens-9BPY4SaX.js} +1 -1
  376. package/dist/{tool-loop-detection-8uvf8mSd.js → tool-loop-detection-C1fqyXXD.js} +2 -2
  377. package/dist/{tui-WSQKUD4o.js → tui-5QhX2Lcm.js} +1 -1
  378. package/dist/{tui-dccCFhet.js → tui-CetFSZIt.js} +1 -1
  379. package/dist/{tui-cli-C3Sopj4_.js → tui-cli-Bo-8qeoa.js} +4 -4
  380. package/dist/{tui-cli-CpRsjtOO.js → tui-cli-DFak7s89.js} +4 -4
  381. package/dist/{update-D86-cS_v.js → update-B3jJ2yVe.js} +1 -1
  382. package/dist/{update-DJaR3w6x.js → update-Dwt-MeRL.js} +1 -1
  383. package/dist/{update-cli-DDmfG1gm.js → update-cli-D5knJbn5.js} +27 -27
  384. package/dist/{update-cli-B4_xRNut.js → update-cli-Dhxx3iie.js} +26 -26
  385. package/dist/{update-runner-DwM4xj8C.js → update-runner-18yD5NLo.js} +1 -1
  386. package/dist/{update-runner-DqE_9Axt.js → update-runner-DohE1D7D.js} +1 -1
  387. package/dist/{user-run-recording-CAk1Ketk.js → user-run-recording-B0XAAUwL.js} +2 -2
  388. package/dist/{validation-cli-C8XHeLjI.js → validation-cli-CAge8d_F.js} +18 -18
  389. package/dist/{validation-cli-jSmCMkkm.js → validation-cli-Dfac8Duq.js} +18 -18
  390. package/dist/{with-timeout-BvxLQUTs.js → with-timeout-1SSQaGSz.js} +2 -2
  391. package/dist/{with-timeout-CII3PkDO.js → with-timeout-DD5bV7yq.js} +2 -2
  392. package/dist/{workspace-Dbn4gFdH.js → workspace-B707AGIc.js} +9 -9
  393. package/extensions/acpx/package.json +1 -1
  394. package/extensions/anthropic/package.json +1 -1
  395. package/extensions/bifrost/package.json +1 -1
  396. package/extensions/bluebubbles/package.json +1 -1
  397. package/extensions/copilot-proxy/package.json +1 -1
  398. package/extensions/deepgram/package.json +1 -1
  399. package/extensions/deepinfra/package.json +1 -1
  400. package/extensions/diagnostics-otel/package.json +1 -1
  401. package/extensions/diffs/package.json +1 -1
  402. package/extensions/discord/package.json +1 -1
  403. package/extensions/dream-cycle/package.json +1 -1
  404. package/extensions/elevenlabs/package.json +1 -1
  405. package/extensions/feishu/package.json +1 -1
  406. package/extensions/gemini-search/package.json +1 -1
  407. package/extensions/google/package.json +1 -1
  408. package/extensions/google-gemini-cli-auth/package.json +1 -1
  409. package/extensions/googlechat/package.json +1 -1
  410. package/extensions/grok-search/package.json +1 -1
  411. package/extensions/groq/package.json +1 -1
  412. package/extensions/imessage/package.json +1 -1
  413. package/extensions/irc/package.json +1 -1
  414. package/extensions/kimi-search/package.json +1 -1
  415. package/extensions/learning-core/package.json +1 -1
  416. package/extensions/line/package.json +1 -1
  417. package/extensions/llm-task/package.json +1 -1
  418. package/extensions/lobster/package.json +1 -1
  419. package/extensions/matrix/CHANGELOG.md +1 -1
  420. package/extensions/matrix/package.json +1 -1
  421. package/extensions/mattermost/package.json +1 -1
  422. package/extensions/memory-core/package.json +1 -1
  423. package/extensions/memory-lancedb/package.json +1 -1
  424. package/extensions/minimax/package.json +1 -1
  425. package/extensions/minimax-portal-auth/package.json +1 -1
  426. package/extensions/mistral/package.json +1 -1
  427. package/extensions/moonshot/package.json +1 -1
  428. package/extensions/msteams/CHANGELOG.md +1 -1
  429. package/extensions/msteams/package.json +1 -1
  430. package/extensions/nextcloud-talk/package.json +1 -1
  431. package/extensions/nostr/CHANGELOG.md +1 -1
  432. package/extensions/nostr/package.json +1 -1
  433. package/extensions/open-prose/package.json +1 -1
  434. package/extensions/openai/package.json +1 -1
  435. package/extensions/openai-realtime/package.json +1 -1
  436. package/extensions/openrouter/package.json +1 -1
  437. package/extensions/perplexity-search/package.json +1 -1
  438. package/extensions/searxng-search/package.json +1 -1
  439. package/extensions/signal/package.json +1 -1
  440. package/extensions/slack/package.json +1 -1
  441. package/extensions/synology-chat/package.json +1 -1
  442. package/extensions/telegram/package.json +1 -1
  443. package/extensions/tlon/package.json +1 -1
  444. package/extensions/twitch/CHANGELOG.md +1 -1
  445. package/extensions/twitch/package.json +1 -1
  446. package/extensions/voice-call/CHANGELOG.md +1 -1
  447. package/extensions/voice-call/package.json +1 -1
  448. package/extensions/whatsapp/package.json +1 -1
  449. package/extensions/zai/package.json +1 -1
  450. package/extensions/zalo/CHANGELOG.md +1 -1
  451. package/extensions/zalo/package.json +1 -1
  452. package/extensions/zalouser/CHANGELOG.md +1 -1
  453. package/extensions/zalouser/package.json +1 -1
  454. package/package.json +1 -1
  455. package/dist/plugin-sdk/agent-turn-execute-BCE3FS2s.js +0 -61
  456. package/dist/plugin-sdk/agent-turn-execute-DIrSWfHZ.js +0 -61
  457. package/dist/plugin-sdk/agent-turn-runner-gf0ARmuP.js +0 -11
  458. package/dist/plugin-sdk/audio-preflight-DlGohKMs.js +0 -28
  459. package/dist/plugin-sdk/deliver-CJP9TznW.js +0 -32
  460. package/dist/plugin-sdk/deliver-DBCz1GqU.js +0 -32
  461. package/dist/plugin-sdk/manager-ByaW_O4Y.js +0 -16
  462. package/dist/plugin-sdk/manager-CPcI0Fhz.js +0 -16
  463. package/dist/plugin-sdk/markdown-tables-J4hZ7eWU.js +0 -10
  464. package/dist/plugin-sdk/provider-dispatcher-Byy-KtUn.js +0 -61
  465. package/dist/plugin-sdk/provider-dispatcher-CAfyX0H-.js +0 -61
  466. package/dist/plugin-sdk/provider-image-B_dJDOl5.js +0 -22
  467. package/dist/plugin-sdk/provider-image-L_SRDPHU.js +0 -22
  468. package/dist/plugin-sdk/proxy-DwbYzxBy.js +0 -7
  469. package/dist/plugin-sdk/replies-B9uDLFOE.js +0 -25
  470. package/dist/plugin-sdk/replies-BFjGWAPs.js +0 -25
  471. package/dist/plugin-sdk/reply-prefix-BQMEQam1.js +0 -7
  472. package/dist/plugin-sdk/runs-BQhYekhr.js +0 -25
  473. package/dist/plugin-sdk/runs-CPA1-H-2.js +0 -25
  474. package/dist/plugin-sdk/send-CRtSAH8I.js +0 -25
  475. package/dist/plugin-sdk/send-CeWqZTK0.js +0 -23
  476. package/dist/plugin-sdk/send-CzcKgBBf.js +0 -25
  477. package/dist/plugin-sdk/send-CzxwgKvR.js +0 -27
  478. package/dist/plugin-sdk/send-DuCB2xbl.js +0 -23
  479. package/dist/plugin-sdk/send-Dvna5ey-.js +0 -27
  480. package/dist/plugin-sdk/send-DyYaWr3E.js +0 -24
  481. package/dist/plugin-sdk/send-xPV0QIjh.js +0 -24
  482. package/dist/plugin-sdk/session-meta-n4SCcAbJ.js +0 -10
  483. package/dist/plugin-sdk/skill-commands-BOV3NIbU.js +0 -14
  484. package/dist/plugin-sdk/subagent-registry-CZBK6615.js +0 -61
  485. package/dist/plugin-sdk/subagent-registry-DwnBzoKn.js +0 -61
  486. package/dist/plugin-sdk/user-run-recording-DiKcNdjn.js +0 -11
@@ -1,74 +1,74 @@
1
1
  import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-KIDAzMH-.js";
2
- import { $ as resolveUserPath, Ct as normalizeLogLevel, G as formatTerminalLink, K as isRecord$1, M as normalizeWindowsPathForComparison, P as isDangerousHostEnvVarName, S as openBoundaryFileSync, U as ensureDir$3, V as clampInt, W as escapeRegExp, Y as normalizeE164, _t as theme, a as createNonExitingRuntime, c as registerActiveProgressLine, dt as setVerbose, ft as shouldLogVerbose, gt as isRich, h as INCLUDE_KEY, ht as colorize, it as sliceUtf16Safe, l as unregisterActiveProgressLine, lt as logVerbose, mt as warn, nt as shortenHomePath, o as defaultRuntime, ot as truncateUtf16Safe, rt as sleep$1, s as clearActiveProgressLine, st as danger, t as createSubsystemLogger, tt as shortenHomeInString, u as appendFileLog, v as isBlockedObjectKey, vt as getChildLogger, wt as resolvePreferredOpenClawTmpDir, x as openBoundaryFile, z as CONFIG_DIR } from "./subsystem-CUUKL6Fr.js";
2
+ import { $ as resolveUserPath, Ct as normalizeLogLevel, G as formatTerminalLink, K as isRecord$1, M as normalizeWindowsPathForComparison, P as isDangerousHostEnvVarName, S as openBoundaryFileSync, U as ensureDir$3, V as clampInt, W as escapeRegExp, Y as normalizeE164, _t as theme, a as createNonExitingRuntime, c as registerActiveProgressLine, dt as setVerbose, ft as shouldLogVerbose, gt as isRich, h as INCLUDE_KEY, ht as colorize, it as sliceUtf16Safe, l as unregisterActiveProgressLine, lt as logVerbose, mt as warn, nt as shortenHomePath, o as defaultRuntime, ot as truncateUtf16Safe, rt as sleep$1, s as clearActiveProgressLine, st as danger, t as createSubsystemLogger, tt as shortenHomeInString, u as appendFileLog, v as isBlockedObjectKey, vt as getChildLogger, wt as resolvePreferredOpenClawTmpDir, x as openBoundaryFile, z as CONFIG_DIR } from "./subsystem-B2x33s9h.js";
3
3
  import { t as isPlainObject } from "./plain-object-BTbonVRI.js";
4
- import { $ as normalizeOptionalAccountId, A as resolveAgentModelFallbackValues, B as isKnownAgentMainSessionKey, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as buildAgentMainSessionKey, G as resolveCanonicalIdentity, H as normalizeAgentId, J as resolveThreadSessionKeys, K as resolveConfiguredCanonicalIdentity, M as toAgentModelListLike, N as DEFAULT_AGENT_ID, O as spawnWithFallback, Q as normalizeAccountId$3, R as classifySessionKeyShape, S as filterBootstrapFilesForSession, U as normalizeMainKey, V as isValidAgentId, W as resolveAgentIdFromSessionKey, X as toAgentStoreSessionKey, Y as sanitizeAgentId, Z as DEFAULT_ACCOUNT_ID, _ as DEFAULT_IDENTITY_FILENAME, at as isSubagentSessionKey, c as resolveDefaultAgentId, d as resolveSessionAgentId, et as WAKE_GATE_SESSION_KEY_SEGMENT, f as resolveSessionAgentIds, g as DEFAULT_HEARTBEAT_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, it as isCronSessionKey, j as resolveAgentModelPrimaryValue, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, nt as getSubagentDepth, o as resolveAgentSkillsFilter, ot as parseAgentSessionKey, q as resolveLinkedPeerIdForChannel, r as resolveAgentConfig, rt as isAcpSessionKey, s as resolveAgentWorkspaceDir, st as resolveThreadParentSessionKey, t as hasConfiguredModelFallbacks, tt as deriveSessionChatType, u as resolveRunModelFallbacksOverride, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace } from "./agent-scope-BYp_CjdU.js";
5
- import { $a as listBufferedPluginTaskPasses, $o as resolveReasoningDefault, $s as resolveAuthProfileDisplayLabel, Aa as resolveGatewayMessageChannel, Ai as listTelegramAccountIds, An as normalizeInputProvenance, Ao as normalizeSafeBinProfileFixtures, Ar as SESSION_RUN_STATUSES, As as resolveSecretRefValues, B as ASSISTANT_IDENTITY_COLORS, Ba as resolveSessionLockMaxHoldFromTimeout, Bn as resolveAndPersistSessionFile, Bo as resolveAgentMaxConcurrent, Br as setSessionRuntimeModel, Bs as resolveCliName, Bt as getPluginCommandSpecs, C as normalizeScpRemoteHost, Ca as INTERNAL_MESSAGE_CHANNEL, Cn as capArrayByJsonBytes, Co as extractShellWrapperInlineCommand, Cs as getSoonestCooldownExpiry, Ct as normalizeAnyChannelId, Da as isMarkdownCapableMessageChannel, Dn as INPUT_PROVENANCE_KIND_VALUES, Do as unwrapKnownShellMultiplexerInvocation, Dr as makeZeroUsageSnapshot, Ds as resolveProfilesUnavailableReason, Dt as getActiveGatewayPluginRegistry, Ea as isInternalMessageChannel, En as parseInlineDirectives$1, Eo as unwrapKnownDispatchWrapperInvocation, Er as hasNonzeroUsage, Es as markAuthProfileUsed, Et as resolveChannelConfigId, Fa as normalizeAtHashSlug, Fn as parseDurationMs, Fo as resolveDiscordPreviewStreamMode, Fr as resolveSessionResetType, Ft as createPluginRegistry, Ga as stringEnum, Gi as resolveSlackBotToken, Gn as DB_SESSION_HYDRATION_LIMIT, Go as isCliProvider, Gr as deriveSessionMetaPatch, Gs as markAuthProfileGood, Ha as channelTargetSchema, Hi as resolveSlackAccount, Hn as isJsonlSessionBackend, Ho as buildConfiguredAllowlistKeys, Hr as resolveAgentMainSessionKey, Ht as matchPluginCommand, Ia as normalizeHyphenSlug, In as extractDeliveryInfo, Io as resolveSlackNativeStreaming, Ir as resolveThreadFlag, It as normalizePluginHttpPath, Ja as actionRequiresTarget, Jn as onSessionTranscriptUpdate, Jo as normalizeProviderId, Jr as normalizeChannelId$1, Js as resolveAuthStorePathForDisplay, Ka as applyTargetToParams, Ki as listEnabledSignalAccounts, Kn as hydrateSessionManagerFromDb, Ko as modelKey, Kr as getChannelPlugin, Ks as ensureAuthProfileStore, La as normalizeStringEntries, Ln as parseSessionThreadInfo, Lo as resolveSlackStreamingMode, Lr as DEFAULT_RESET_TRIGGERS, Ls as secretRefKey, Lt as buildPluginHealthReport, Ma as GATEWAY_CLIENT_IDS, Mi as resolveTelegramAccount, Mn as createAsyncLock, Mo as applyMergePatch, Mr as evaluateSessionFreshness, Ms as isNonEmptyString, Mt as setActivePluginRegistry, Na as GATEWAY_CLIENT_MODES, Ni as resolveTelegramToken, Nn as readJsonFile, No as isSafeExecutableValue, Nr as resolveChannelResetConfig, Ns as isRecord$2, Nt as addRegisteredPluginApi, Oa as listDeliverableMessageChannels, Oi as createTelegramActionGate, On as applyInputProvenanceToUserMessage, Oo as splitShellArgs, Or as normalizeUsage, Os as resolveApiKeyForProfile, Ot as getActivePluginRegistry, Pa as GATEWAY_CLIENT_NAMES, Pi as buildChannelAccountBindings, Pn as writeJsonAtomic, Po as mapStreamingModeToSlackLegacyDraftStreamMode, Pr as resolveSessionResetPolicy, Ps as parseDotPath, Pt as clearRegisteredPluginApis, Qa as discardBufferedPluginTaskPasses, Qn as TASK_RUN_STATUSES, Qo as resolveModelRefFromString, Ra as normalizeStringEntriesLower, Rn as appendAssistantMessageToSessionTranscript, Rr as mergeSessionEntry, Rt as clearPluginCommands, S as resolveIMessageRemoteAttachmentRoots, Sa as resolveGroupSessionKey, Sn as archiveSessionTranscripts, So as resolveCommandResolutionFromArgv, St as listChatChannels, Ta as isGatewayMessageChannel, Tn as extractToolCallNames, To as isShellWrapperExecutable, Tr as deriveSessionTotalTokens, Ts as markAuthProfileFailure, Tt as normalizeChatChannelId, Ua as channelTargetsSchema, Ui as resolveSlackReplyToMode, Un as createPrimaryWriteInterceptor, Uo as buildModelAliasIndex, Ur as resolveExplicitAgentSessionKey, Us as dedupeProfileIds, Ut as registerPluginCommand, V as resolveExecPolicyPreset, Va as readTaskWorkStates, Vn as withPreservationWriterPermit, Vo as buildAllowedModelSet, Vr as canonicalizeMainSessionAlias, Vt as listPluginCommands, Wa as optionalStringEnum, Wi as resolveSlackAppToken, Wn as drainPendingPrimaryWrites, Wo as findNormalizedProviderValue, Wr as resolveMainSessionKey, Ws as listProfilesForProvider, Xo as resolveConfiguredModelRef, Yi as resolveSignalAccount, Yo as parseModelRef, Ys as resolveOpenClawAgentDir, Zn as TASK_RUN_MODES, Zo as resolveDefaultModelForAgent, Zs as withFileLock, _ as resolveTelegramCustomCommands, _a as resolveChannelGroupPolicy, _c as parseBooleanValue$1, _n as deliveryContextKey, _o as isWindowsPlatform, _s as resolveApiKeyForProvider, _t as safeStatSync, a as writeConfigFile, ai as parseSlackTarget, an as getConfiguredSessionStorageRuntime, ao as unsetConfigOverride, ar as createCurrentUserPromptEnvelope, at as isPathWithinRoot, bn as normalizeSessionDeliveryFields, bo as matchAllowlist, br as emitDiagnosticEvent, bs as resolveAuthProfileOrder, bt as CHAT_CHANNEL_ORDER, cc as resolveSecretInputRef, cn as readSessionUpdatedAt, co as setConfigValueAtPath, cr as mergePromptContributions, cs as OLLAMA_NATIVE_BASE_URL, ct as loadPluginManifestRegistry, da as createDiscordActionGate, dc as DEFAULT_MODEL, di as listChannelDocks, dn as updateLastRoute, do as isTrustedSafeBinPath, dr as buildInboundMetaSystemPrompt, ds as buildAssistantMessageWithZeroUsage, dt as isBundledChannelEnabledByChannelConfig, en as createInternalHookEvent, eo as replaceBufferedPluginTaskPasses, es as resolveSubagentSpawnModelSelection, fc as DEFAULT_PROVIDER, fn as updateSessionStore, fo as listWritableExplicitTrustedSafeBinDirs, fr as buildInboundUserContextPrefix, fs as buildStreamErrorAssistantMessage, ft as normalizePluginsConfig, g as normalizeTelegramCommandName, ga as normalizeDiscordToken, gc as isTruthyEnvValue, gn as deliveryContextFromSession, go as buildEnforcedShellCommand, gr as resolveSenderLabel, gs as requireApiKey, gt as isPathInside, h as TELEGRAM_COMMAND_NAME_PATTERN, ha as resolveDiscordAccount, hc as resolveShellEnvFallbackTimeoutMs, hn as resolveCacheTtlMs$1, ho as analyzeShellCommand, hr as resolveTimezone, hs as getCustomProviderApiKey, ht as discoverOpenClawPlugins, ia as hasAnyWhatsAppAuth, ic as hasConfiguredSecretInput, in as getActivePreservationLease, io as setConfigOverride, ir as sha256, it as isAvatarHttpUrl, ja as resolveMessageChannel, jn as jsonUtf8Bytes, jo as resolveSafeBinProfiles, jr as resolveSessionKey, js as describeUnknownError$1, jt as requireActivePluginRegistry, ka as normalizeMessageChannel, ki as listEnabledTelegramAccounts, kn as hasInterSessionUserProvenance, ko as SAFE_BIN_PROFILES, kt as getActivePluginRegistryKey, lc as splitTrailingAuthProfile, ln as recordSessionMetaFromInbound, lo as unsetConfigValueAtPath, lr as toJsonValue$1, ls as createOllamaStreamFn, lt as BUNDLED_ENABLED_BY_DEFAULT, mc as getShellPathFromLoginShell, mn as isCacheEnabled, mo as validateSafeBinArgv, mr as formatZonedTimestamp, ms as getApiKeyForModel, mt as resolveMemorySlotDecision, n as loadConfig, na as isWhatsAppGroupJid, no as getConfigOverrides, nt as AVATAR_MAX_BYTES, o as validateConfigObjectWithPlugins, oc as normalizeResolvedSecretInputString, oi as resolveSlackChannelId, on as isPreservationArmed, oo as getConfigValueAtPath, ot as isSupportedLocalAvatarExtension, pa as listEnabledDiscordAccounts, pc as VERSION, pi as normalizeSignalMessagingTarget, pn as updateSessionStoreEntry, po as normalizeTrustedSafeBinDirs, pr as formatUtcTimestamp, ps as buildUsageWithNoCost, pt as resolveEffectiveEnableState, qa as actionHasTarget, qn as emitSessionTranscriptUpdate, qo as normalizeModelRef$2, qr as listChannelPlugins, r as readConfigFileSnapshot, ra as normalizeWhatsAppTarget, rc as coerceSecretRef, ro as resetConfigOverrides, rr as sanitizeJsonb, rt as isAvatarDataUrl, sa as resolveWhatsAppAccount, sn as loadSessionStore, so as parseConfigPath, ss as retryAsync, st as validateJsonSchemaValue, tc as normalizeSecretInput, tn as triggerInternalHook, to as RecoveryAdmissionError, ts as resolveThinkingDefault, ua as resolveIMessageAccount, uc as DEFAULT_CONTEXT_TOKENS, ui as getChannelDock, un as syncConfiguredSessionTranscriptToRuntime, uo as getTrustedSafeBinDirs, us as buildAssistantMessage, ut as applyTestPluginDefaults, va as resolveChannelGroupRequireMention, vc as resolveOwnerDisplaySetting, vn as mergeDeliveryContext, vo as splitCommandChain, vs as resolveEnvApiKey, vt as readManifestNamespace, w as parseNonNegativeByteSize, wa as isDeliverableMessageChannel, wn as countToolResults, wo as isDispatchWrapperExecutable, wr as derivePromptTokens, ws as isProfileInCooldown, wt as normalizeChannelId$2, x as resolveIMessageAttachmentRoots, xa as resolveAccountEntry, xn as normalizeAccountId$4, xo as resolveAllowlistCandidatePath, xr as isDiagnosticsEnabled, xt as getChatChannelMeta, y as isInboundPathAllowed, ya as resolveChannelGroupToolsPolicy, yn as normalizeDeliveryContext, yo as DEFAULT_SAFE_BINS, ys as resolveModelAuthMode, za as acquireSessionWriteLock, zo as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, zr as resolveFreshSessionTotalTokens, zs as formatCliCommand, zt as executePluginCommand } from "./config-Biusjzx-.js";
4
+ import { $ as normalizeOptionalAccountId, A as resolveAgentModelFallbackValues, B as isKnownAgentMainSessionKey, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as buildAgentMainSessionKey, G as resolveCanonicalIdentity, H as normalizeAgentId, J as resolveThreadSessionKeys, K as resolveConfiguredCanonicalIdentity, M as toAgentModelListLike, N as DEFAULT_AGENT_ID, O as spawnWithFallback, Q as normalizeAccountId$3, R as classifySessionKeyShape, S as filterBootstrapFilesForSession, U as normalizeMainKey, V as isValidAgentId, W as resolveAgentIdFromSessionKey, X as toAgentStoreSessionKey, Y as sanitizeAgentId, Z as DEFAULT_ACCOUNT_ID, _ as DEFAULT_IDENTITY_FILENAME, at as isSubagentSessionKey, c as resolveDefaultAgentId, d as resolveSessionAgentId, et as WAKE_GATE_SESSION_KEY_SEGMENT, f as resolveSessionAgentIds, g as DEFAULT_HEARTBEAT_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, it as isCronSessionKey, j as resolveAgentModelPrimaryValue, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, nt as getSubagentDepth, o as resolveAgentSkillsFilter, ot as parseAgentSessionKey, q as resolveLinkedPeerIdForChannel, r as resolveAgentConfig, rt as isAcpSessionKey, s as resolveAgentWorkspaceDir, st as resolveThreadParentSessionKey, t as hasConfiguredModelFallbacks, tt as deriveSessionChatType, u as resolveRunModelFallbacksOverride, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace } from "./agent-scope-BLF4nZUv.js";
5
+ import { $a as listBufferedPluginTaskPasses, $o as resolveReasoningDefault, $s as resolveAuthProfileDisplayLabel, Aa as resolveGatewayMessageChannel, Ai as listTelegramAccountIds, An as normalizeInputProvenance, Ao as normalizeSafeBinProfileFixtures, Ar as SESSION_RUN_STATUSES, As as resolveSecretRefValues, B as ASSISTANT_IDENTITY_COLORS, Ba as resolveSessionLockMaxHoldFromTimeout, Bn as resolveAndPersistSessionFile, Bo as resolveAgentMaxConcurrent, Br as setSessionRuntimeModel, Bs as resolveCliName, Bt as getPluginCommandSpecs, C as normalizeScpRemoteHost, Ca as INTERNAL_MESSAGE_CHANNEL, Cn as capArrayByJsonBytes, Co as extractShellWrapperInlineCommand, Cs as getSoonestCooldownExpiry, Ct as normalizeAnyChannelId, Da as isMarkdownCapableMessageChannel, Dn as INPUT_PROVENANCE_KIND_VALUES, Do as unwrapKnownShellMultiplexerInvocation, Dr as makeZeroUsageSnapshot, Ds as resolveProfilesUnavailableReason, Dt as getActiveGatewayPluginRegistry, Ea as isInternalMessageChannel, En as parseInlineDirectives$1, Eo as unwrapKnownDispatchWrapperInvocation, Er as hasNonzeroUsage, Es as markAuthProfileUsed, Et as resolveChannelConfigId, Fa as normalizeAtHashSlug, Fn as parseDurationMs, Fo as resolveDiscordPreviewStreamMode, Fr as resolveSessionResetType, Ft as createPluginRegistry, Ga as stringEnum, Gi as resolveSlackBotToken, Gn as DB_SESSION_HYDRATION_LIMIT, Go as isCliProvider, Gr as deriveSessionMetaPatch, Gs as markAuthProfileGood, Ha as channelTargetSchema, Hi as resolveSlackAccount, Hn as isJsonlSessionBackend, Ho as buildConfiguredAllowlistKeys, Hr as resolveAgentMainSessionKey, Ht as matchPluginCommand, Ia as normalizeHyphenSlug, In as extractDeliveryInfo, Io as resolveSlackNativeStreaming, Ir as resolveThreadFlag, It as normalizePluginHttpPath, Ja as actionRequiresTarget, Jn as onSessionTranscriptUpdate, Jo as normalizeProviderId, Jr as normalizeChannelId$1, Js as resolveAuthStorePathForDisplay, Ka as applyTargetToParams, Ki as listEnabledSignalAccounts, Kn as hydrateSessionManagerFromDb, Ko as modelKey, Kr as getChannelPlugin, Ks as ensureAuthProfileStore, La as normalizeStringEntries, Ln as parseSessionThreadInfo, Lo as resolveSlackStreamingMode, Lr as DEFAULT_RESET_TRIGGERS, Ls as secretRefKey, Lt as buildPluginHealthReport, Ma as GATEWAY_CLIENT_IDS, Mi as resolveTelegramAccount, Mn as createAsyncLock, Mo as applyMergePatch, Mr as evaluateSessionFreshness, Ms as isNonEmptyString, Mt as setActivePluginRegistry, Na as GATEWAY_CLIENT_MODES, Ni as resolveTelegramToken, Nn as readJsonFile, No as isSafeExecutableValue, Nr as resolveChannelResetConfig, Ns as isRecord$2, Nt as addRegisteredPluginApi, Oa as listDeliverableMessageChannels, Oi as createTelegramActionGate, On as applyInputProvenanceToUserMessage, Oo as splitShellArgs, Or as normalizeUsage, Os as resolveApiKeyForProfile, Ot as getActivePluginRegistry, Pa as GATEWAY_CLIENT_NAMES, Pi as buildChannelAccountBindings, Pn as writeJsonAtomic, Po as mapStreamingModeToSlackLegacyDraftStreamMode, Pr as resolveSessionResetPolicy, Ps as parseDotPath, Pt as clearRegisteredPluginApis, Qa as discardBufferedPluginTaskPasses, Qn as TASK_RUN_STATUSES, Qo as resolveModelRefFromString, Ra as normalizeStringEntriesLower, Rn as appendAssistantMessageToSessionTranscript, Rr as mergeSessionEntry, Rt as clearPluginCommands, S as resolveIMessageRemoteAttachmentRoots, Sa as resolveGroupSessionKey, Sn as archiveSessionTranscripts, So as resolveCommandResolutionFromArgv, St as listChatChannels, Ta as isGatewayMessageChannel, Tn as extractToolCallNames, To as isShellWrapperExecutable, Tr as deriveSessionTotalTokens, Ts as markAuthProfileFailure, Tt as normalizeChatChannelId, Ua as channelTargetsSchema, Ui as resolveSlackReplyToMode, Un as createPrimaryWriteInterceptor, Uo as buildModelAliasIndex, Ur as resolveExplicitAgentSessionKey, Us as dedupeProfileIds, Ut as registerPluginCommand, V as resolveExecPolicyPreset, Va as readTaskWorkStates, Vn as withPreservationWriterPermit, Vo as buildAllowedModelSet, Vr as canonicalizeMainSessionAlias, Vt as listPluginCommands, Wa as optionalStringEnum, Wi as resolveSlackAppToken, Wn as drainPendingPrimaryWrites, Wo as findNormalizedProviderValue, Wr as resolveMainSessionKey, Ws as listProfilesForProvider, Xo as resolveConfiguredModelRef, Yi as resolveSignalAccount, Yo as parseModelRef, Ys as resolveOpenClawAgentDir, Zn as TASK_RUN_MODES, Zo as resolveDefaultModelForAgent, Zs as withFileLock, _ as resolveTelegramCustomCommands, _a as resolveChannelGroupPolicy, _c as parseBooleanValue$1, _n as deliveryContextKey, _o as isWindowsPlatform, _s as resolveApiKeyForProvider, _t as safeStatSync, a as writeConfigFile, ai as parseSlackTarget, an as getConfiguredSessionStorageRuntime, ao as unsetConfigOverride, ar as createCurrentUserPromptEnvelope, at as isPathWithinRoot, bn as normalizeSessionDeliveryFields, bo as matchAllowlist, br as emitDiagnosticEvent, bs as resolveAuthProfileOrder, bt as CHAT_CHANNEL_ORDER, cc as resolveSecretInputRef, cn as readSessionUpdatedAt, co as setConfigValueAtPath, cr as mergePromptContributions, cs as OLLAMA_NATIVE_BASE_URL, ct as loadPluginManifestRegistry, da as createDiscordActionGate, dc as DEFAULT_MODEL, di as listChannelDocks, dn as updateLastRoute, do as isTrustedSafeBinPath, dr as buildInboundMetaSystemPrompt, ds as buildAssistantMessageWithZeroUsage, dt as isBundledChannelEnabledByChannelConfig, en as createInternalHookEvent, eo as replaceBufferedPluginTaskPasses, es as resolveSubagentSpawnModelSelection, fc as DEFAULT_PROVIDER, fn as updateSessionStore, fo as listWritableExplicitTrustedSafeBinDirs, fr as buildInboundUserContextPrefix, fs as buildStreamErrorAssistantMessage, ft as normalizePluginsConfig, g as normalizeTelegramCommandName, ga as normalizeDiscordToken, gc as isTruthyEnvValue, gn as deliveryContextFromSession, go as buildEnforcedShellCommand, gr as resolveSenderLabel, gs as requireApiKey, gt as isPathInside, h as TELEGRAM_COMMAND_NAME_PATTERN, ha as resolveDiscordAccount, hc as resolveShellEnvFallbackTimeoutMs, hn as resolveCacheTtlMs$1, ho as analyzeShellCommand, hr as resolveTimezone, hs as getCustomProviderApiKey, ht as discoverOpenClawPlugins, ia as hasAnyWhatsAppAuth, ic as hasConfiguredSecretInput, in as getActivePreservationLease, io as setConfigOverride, ir as sha256, it as isAvatarHttpUrl, ja as resolveMessageChannel, jn as jsonUtf8Bytes, jo as resolveSafeBinProfiles, jr as resolveSessionKey, js as describeUnknownError$1, jt as requireActivePluginRegistry, ka as normalizeMessageChannel, ki as listEnabledTelegramAccounts, kn as hasInterSessionUserProvenance, ko as SAFE_BIN_PROFILES, kt as getActivePluginRegistryKey, lc as splitTrailingAuthProfile, ln as recordSessionMetaFromInbound, lo as unsetConfigValueAtPath, lr as toJsonValue$1, ls as createOllamaStreamFn, lt as BUNDLED_ENABLED_BY_DEFAULT, mc as getShellPathFromLoginShell, mn as isCacheEnabled, mo as validateSafeBinArgv, mr as formatZonedTimestamp, ms as getApiKeyForModel, mt as resolveMemorySlotDecision, n as loadConfig, na as isWhatsAppGroupJid, no as getConfigOverrides, nt as AVATAR_MAX_BYTES, o as validateConfigObjectWithPlugins, oc as normalizeResolvedSecretInputString, oi as resolveSlackChannelId, on as isPreservationArmed, oo as getConfigValueAtPath, ot as isSupportedLocalAvatarExtension, pa as listEnabledDiscordAccounts, pc as VERSION, pi as normalizeSignalMessagingTarget, pn as updateSessionStoreEntry, po as normalizeTrustedSafeBinDirs, pr as formatUtcTimestamp, ps as buildUsageWithNoCost, pt as resolveEffectiveEnableState, qa as actionHasTarget, qn as emitSessionTranscriptUpdate, qo as normalizeModelRef$2, qr as listChannelPlugins, r as readConfigFileSnapshot, ra as normalizeWhatsAppTarget, rc as coerceSecretRef, ro as resetConfigOverrides, rr as sanitizeJsonb, rt as isAvatarDataUrl, sa as resolveWhatsAppAccount, sn as loadSessionStore, so as parseConfigPath, ss as retryAsync, st as validateJsonSchemaValue, tc as normalizeSecretInput, tn as triggerInternalHook, to as RecoveryAdmissionError, ts as resolveThinkingDefault, ua as resolveIMessageAccount, uc as DEFAULT_CONTEXT_TOKENS, ui as getChannelDock, un as syncConfiguredSessionTranscriptToRuntime, uo as getTrustedSafeBinDirs, us as buildAssistantMessage, ut as applyTestPluginDefaults, va as resolveChannelGroupRequireMention, vc as resolveOwnerDisplaySetting, vn as mergeDeliveryContext, vo as splitCommandChain, vs as resolveEnvApiKey, vt as readManifestNamespace, w as parseNonNegativeByteSize, wa as isDeliverableMessageChannel, wn as countToolResults, wo as isDispatchWrapperExecutable, wr as derivePromptTokens, ws as isProfileInCooldown, wt as normalizeChannelId$2, x as resolveIMessageAttachmentRoots, xa as resolveAccountEntry, xn as normalizeAccountId$4, xo as resolveAllowlistCandidatePath, xr as isDiagnosticsEnabled, xt as getChatChannelMeta, y as isInboundPathAllowed, ya as resolveChannelGroupToolsPolicy, yn as normalizeDeliveryContext, yo as DEFAULT_SAFE_BINS, ys as resolveModelAuthMode, za as acquireSessionWriteLock, zo as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, zr as resolveFreshSessionTotalTokens, zs as formatCliCommand, zt as executePluginCommand } from "./config-CQNfmIC8.js";
6
6
  import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-BzpcrxaW.js";
7
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-D6KsqbNW.js";
8
- import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirForAgent, f as resolveStorePath, l as resolveSessionTranscriptPath, n as isPrimarySessionTranscriptFileName, o as resolveDefaultSessionStorePath, p as runTasksWithConcurrency, s as resolveSessionFilePath } from "./artifacts-BMLMg3MG.js";
7
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BSK-0Yjx.js";
8
+ import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirForAgent, f as resolveStorePath, l as resolveSessionTranscriptPath, n as isPrimarySessionTranscriptFileName, o as resolveDefaultSessionStorePath, p as runTasksWithConcurrency, s as resolveSessionFilePath } from "./artifacts-HAYpGlG1.js";
9
9
  import { n as normalizeChatType, t as resolveConversationLabel } from "./conversation-label-Byxk5Gak.js";
10
- import { $ as fetchChannelPermissionsDiscord, A as addRoleDiscord, At as resolveChannelEntryMatchWithFallback, B as removeRoleDiscord, C as fetchMessageDiscord, Ct as resolveDiscordSystemLocation, D as readMessagesDiscord, Dt as buildChannelKeyCandidates, E as pinMessageDiscord, Et as applyChannelMatchMeta, F as fetchRoleInfoDiscord, G as createChannelDiscord, H as listGuildEmojisDiscord, I as fetchVoiceStatusDiscord, J as moveChannelDiscord, K as deleteChannelDiscord, L as kickMemberDiscord, M as createScheduledEventDiscord, N as fetchChannelInfoDiscord, O as searchMessagesDiscord, Ot as normalizeChannelSlug, P as fetchMemberInfoDiscord, R as listGuildChannelsDiscord, S as editMessageDiscord, St as formatDiscordUserTag, T as listThreadsDiscord, Tt as fetchDiscord, U as uploadEmojiDiscord, V as timeoutMemberDiscord, W as uploadStickerDiscord, X as setChannelPermissionDiscord, Y as removeChannelPermissionDiscord, Z as stripUndefinedFields, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as createThreadDiscord, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as banMemberDiscord, k as unpinMessageDiscord, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as editChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as listPinsDiscord, wt as resolveTimestampMs, x as deleteMessageDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listScheduledEventsDiscord } from "./send-Cv2CGnsK.js";
11
- import { a as enqueueAgentTurn, c as peekDelayedAgentTurn, f as KeyedAsyncQueue, i as clearDelayedReleaseHold, l as setDelayedReleaseHold, n as tryGetAgentTurnRuntime, o as isClaimableAgentTurnWorkId, r as agentTurnIdempotencyKey, s as mergeDelayedAgentTurn, t as getAgentTurnRuntime } from "./agent-turn-runner-B9_FKVSu.js";
10
+ import { $ as fetchChannelPermissionsDiscord, A as addRoleDiscord, At as resolveChannelEntryMatchWithFallback, B as removeRoleDiscord, C as fetchMessageDiscord, Ct as resolveDiscordSystemLocation, D as readMessagesDiscord, Dt as buildChannelKeyCandidates, E as pinMessageDiscord, Et as applyChannelMatchMeta, F as fetchRoleInfoDiscord, G as createChannelDiscord, H as listGuildEmojisDiscord, I as fetchVoiceStatusDiscord, J as moveChannelDiscord, K as deleteChannelDiscord, L as kickMemberDiscord, M as createScheduledEventDiscord, N as fetchChannelInfoDiscord, O as searchMessagesDiscord, Ot as normalizeChannelSlug, P as fetchMemberInfoDiscord, R as listGuildChannelsDiscord, S as editMessageDiscord, St as formatDiscordUserTag, T as listThreadsDiscord, Tt as fetchDiscord, U as uploadEmojiDiscord, V as timeoutMemberDiscord, W as uploadStickerDiscord, X as setChannelPermissionDiscord, Y as removeChannelPermissionDiscord, Z as stripUndefinedFields, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as createThreadDiscord, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as banMemberDiscord, k as unpinMessageDiscord, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as editChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as listPinsDiscord, wt as resolveTimestampMs, x as deleteMessageDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listScheduledEventsDiscord } from "./send-BDwTyH6I.js";
11
+ import { a as enqueueAgentTurn, c as peekDelayedAgentTurn, f as KeyedAsyncQueue, i as clearDelayedReleaseHold, l as setDelayedReleaseHold, n as tryGetAgentTurnRuntime, o as isClaimableAgentTurnWorkId, r as agentTurnIdempotencyKey, s as mergeDelayedAgentTurn, t as getAgentTurnRuntime } from "./agent-turn-runner-DjK-LdTA.js";
12
12
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BVVZ4csV.js";
13
13
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CiGIllmg.js";
14
- import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-C88Ryyfs.js";
15
- import { a as isBlockedHostnameOrIp, d as collectErrorGraphCandidates, g as hasErrnoCode, h as formatUncaughtError, l as normalizeHostname, m as formatErrorMessage, p as formatErrorChainMessage, t as SsrFBlockedError, v as readErrorName } from "./ssrf-BUCEDxp5.js";
16
- import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-Dr4PYej7.js";
14
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-CUjmZn2Y.js";
15
+ import { a as isBlockedHostnameOrIp, d as collectErrorGraphCandidates, g as hasErrnoCode, h as formatUncaughtError, l as normalizeHostname, m as formatErrorMessage, p as formatErrorChainMessage, t as SsrFBlockedError, v as readErrorName } from "./ssrf-DiAz1Z_z.js";
16
+ import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-BKwRzYJb.js";
17
17
  import { t as buildOutboundMediaLoadOptions } from "./load-options-Cs7e44no.js";
18
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CVybi_GQ.js";
19
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CbZ6uRVv.js";
20
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DY_SZfXk.js";
21
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-C1a1KfEb.js";
22
- import { r as makeProxyFetch } from "./proxy-fetch-BYkGxQnh.js";
18
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CHfCMaeX.js";
19
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-B0JgGdXa.js";
20
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-kuILYHZv.js";
21
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CZT8FU1i.js";
22
+ import { r as makeProxyFetch } from "./proxy-fetch-CuQpjpkI.js";
23
23
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-BQnigH8P.js";
24
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-Bm7nDW20.js";
25
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BNohi6ZW.js";
24
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-D-CHzVr1.js";
25
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-Bm7oqkwT.js";
26
26
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-DQqVJhbI.js";
27
- import { a as chunkMarkdownTextWithMode, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownText, l as resolveChunkMode, n as chunkByNewline, o as chunkText, s as chunkTextWithMode, u as resolveChunkNewlinePacking } from "./chunk-DGQdf0JN.js";
28
- import { t as resolveMarkdownTableMode } from "./markdown-tables-G4vK24xc.js";
29
- import { t as convertMarkdownTables } from "./tables-DKYi6grj.js";
30
- import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-BMSqETcU.js";
31
- import { $ as resolveTelegramThreadSpec, A as splitTelegramCaption, B as buildTelegramThreadParams, C as recordApiRequest, Ct as isSenderIdAllowed, D as registerAccount, E as recordWebhook, F as buildSenderLabel, G as hasBotMention, H as describeReplyTarget, I as buildSenderName, J as resolveTelegramForumThreadId, K as normalizeForwardedContext, L as buildTelegramGroupFrom, M as loadCronStore, N as resolveCronStorePath, O as releaseAccountOwner, P as buildGroupLabel, Q as resolveTelegramStreamMode, R as buildTelegramGroupPeerId, S as getTelegramFleetSupervisor, St as firstDefined$1, T as recordUpdate, Tt as resolveGroupAllowFromSources, U as expandTextLinks, V as buildTypingThreadParams, W as extractTelegramLocation, X as resolveTelegramMediaPlaceholder, Y as resolveTelegramGroupAllowFromContext, Z as resolveTelegramReplyId, _ as markdownToTelegramChunks, _t as upsertChannelPairingRequest, a as reactMessageTelegram, b as wrapFileReferencesInHtml, bt as getPairingAdapter, c as sendStickerTelegram, ct as formatLocationText, d as extractTelegramErrorText, et as isSenderAllowed$1, f as isDefiniteTelegramRequestNonDeliveryError, g as isTelegramEditMayHaveLandedError, gt as removeChannelAllowFromStoreEntry, h as isTelegramClientRejection, i as editMessageTelegram, it as isVoiceCompatibleAudio, j as withTelegramApiErrorLogging, k as resolveTelegramFetch, l as resolveTelegramVoiceSend, lt as toLocationContext, m as isSafeToRetrySendError, mt as readChannelAllowFromStore, n as createForumTopicTelegram, nt as normalizeDmAllowFromWithStore$1, o as sendMessageTelegram, ot as parseTelegramTarget, p as isRecoverableTelegramNetworkError, pt as addChannelAllowFromStoreEntry, q as resolveTelegramDirectPeerId, r as deleteMessageTelegram, rt as resolveSenderAllowMatch$1, s as sendPollTelegram, st as resolveTelegramTargetChatType, t as buildInlineKeyboard, tt as normalizeAllowFrom$2, u as wasSentByBot, v as markdownToTelegramHtml, vt as readJsonFileWithFallback, w as recordState, wt as mergeDmAllowFromSources, x as fingerprintTelegramToken, xt as listPairingChannels, y as renderTelegramHtmlText, yt as writeJsonFileAtomically, z as buildTelegramParentPeer } from "./send-DG4MQPPm.js";
32
- import { $ as expandToolGroups, A as isTransientHttpError, B as registerBrowserRoutes, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as buildPluginToolGroups, K as resolveSandboxConfigForAgent, L as resolveSandboxContext, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, Q as stripPluginOnlyAllowlist, R as resolveSandboxRuntimeStatus, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as expandPolicyWithPluginGroups, Y as collectExplicitAllowlist, Z as mergeAlsoAllowPolicy, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as downgradeOpenAIFunctionCallReasoningPairs, dt as sanitizeImageBlocks, et as normalizeToolName, f as downgradeOpenAIReasoningBlocks, ft as sanitizeToolResultImages, g as formatAssistantErrorText, h as classifyFailoverReason, ht as estimateBase64DecodedBytes, it as buildBootstrapContextFiles, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, lt as resolveGatewayCredentialsFromConfig, m as BILLING_ERROR_USER_MESSAGE, mt as canonicalizeBase64, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as isGoogleModelApi, pt as resolveImageSanitizationLimits, q as applyOwnerOnlyToolPolicy, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as resolveToolProfilePolicy, u as sanitizeToolCallIdsForCloudCodeAssist, ut as trimToUndefined$1, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-B_jgacW8.js";
33
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, r as normalizeSlackOutboundText, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-DM6RpDCL.js";
34
- import { S as modelSupportsVision, T as buildRandomTempFilePath, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, b as findModelInCatalog, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, w as registerUnhandledRejectionHandler, x as loadModelCatalog, y as resolveAttachmentKind } from "./audio-transcription-runner-TBjJv_mZ.js";
35
- import { a as resolveAgentIdentity, i as resolveAckReaction, n as createReplyPrefixOptions, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig } from "./reply-prefix-qLQRxqrf.js";
36
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-ysZUkYZZ.js";
37
- import { a as getRemoteSkillEligibility, c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, i as resolveSkillCommandInvocation, l as generatePairingToken, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-CE_SkRQk.js";
38
- import { c as resolveSandboxInputPath, d as applySkillEnvOverrides, f as applySkillEnvOverridesFromSnapshot, i as resolveSkillsPromptForRun, n as buildWorkspaceSkillSnapshot, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource } from "./skills-CjW6uGTa.js";
39
- import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, J as resolveClientIp, K as isLoopbackHost, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, Y as rawDataToString, q as isSecureWebSocketUrl, s as resolveLsofCommandSync } from "./chrome-BDy1zYAr.js";
40
- import { _ as buildTargetResolverSignature, a as normalizeReplyPayloadsForDelivery, c as applyReplyTagsToPayload, d as filterMessagingToolMediaDuplicates, f as isRenderablePayload, g as resolveReplyToMode, h as createReplyToModeFilterForChannel, i as normalizeOutboundPayloadsForJson, l as applyReplyThreading, m as shouldSuppressReasoningPayload, n as formatOutboundPayloadLog, o as throwIfAborted, p as shouldSuppressMessagingToolReplies, r as normalizeOutboundPayloads, s as loadChannelOutboundAdapter, t as deliverOutboundPayloads, u as filterMessagingToolDuplicates, v as normalizeChannelTargetInput, y as normalizeTargetForProvider } from "./deliver-BgHA8c9F.js";
41
- import { _ as buildPluginTurnIdentity, b as fireAndForgetHook, c as applyMessageSendingHook, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as buildPluginRuntimeIdentity, h as toPluginMessageReceivedEvent, l as createMessageSentEmitter, m as toPluginMessageContext, n as initializeGlobalHookRunner, o as buildOutboundSessionContext, p as toInternalMessageTranscribedContext, r as promptBuildResultToContribution, s as resolveOutboundSessionId, t as getGlobalHookRunner, u as deriveInboundMessageHookContext, v as resolveProviderPromptCacheKey, y as resolveProviderRuntimeIdentity } from "./hook-runner-global-BvxlnAyu.js";
42
- import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-yBNTHg3N.js";
43
- import { C as resolveNativeCommandsEnabled, S as isRestartEnabled, a as isCommandEnabled, b as isCommandFlagEnabled, c as listChatCommands, d as listNativeCommandSpecsForConfig, f as maybeResolveTextAlias, g as resolveCommandArgMenu, h as resolveCommandArgChoices, l as listChatCommandsForConfig, m as parseCommandArgs, n as buildCommandTextFromArgs, p as normalizeCommandBody, r as findCommandByNativeName, u as listNativeCommandSpecs, v as serializeCommandArgs, w as resolveNativeSkillsEnabled, x as isNativeCommandsExplicitlyDisabled, y as shouldHandleTextCommands } from "./commands-registry-N6f_lsxF.js";
27
+ import { a as chunkMarkdownTextWithMode, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownText, l as resolveChunkMode, n as chunkByNewline, o as chunkText, s as chunkTextWithMode, u as resolveChunkNewlinePacking } from "./chunk-CDvvv9SU.js";
28
+ import { t as resolveMarkdownTableMode } from "./markdown-tables-DIWQQ2W1.js";
29
+ import { t as convertMarkdownTables } from "./tables-CTmQQyfU.js";
30
+ import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-CpXGZgrS.js";
31
+ import { $ as resolveTelegramThreadSpec, A as splitTelegramCaption, B as buildTelegramThreadParams, C as recordApiRequest, Ct as isSenderIdAllowed, D as registerAccount, E as recordWebhook, F as buildSenderLabel, G as hasBotMention, H as describeReplyTarget, I as buildSenderName, J as resolveTelegramForumThreadId, K as normalizeForwardedContext, L as buildTelegramGroupFrom, M as loadCronStore, N as resolveCronStorePath, O as releaseAccountOwner, P as buildGroupLabel, Q as resolveTelegramStreamMode, R as buildTelegramGroupPeerId, S as getTelegramFleetSupervisor, St as firstDefined$1, T as recordUpdate, Tt as resolveGroupAllowFromSources, U as expandTextLinks, V as buildTypingThreadParams, W as extractTelegramLocation, X as resolveTelegramMediaPlaceholder, Y as resolveTelegramGroupAllowFromContext, Z as resolveTelegramReplyId, _ as markdownToTelegramChunks, _t as upsertChannelPairingRequest, a as reactMessageTelegram, b as wrapFileReferencesInHtml, bt as getPairingAdapter, c as sendStickerTelegram, ct as formatLocationText, d as extractTelegramErrorText, et as isSenderAllowed$1, f as isDefiniteTelegramRequestNonDeliveryError, g as isTelegramEditMayHaveLandedError, gt as removeChannelAllowFromStoreEntry, h as isTelegramClientRejection, i as editMessageTelegram, it as isVoiceCompatibleAudio, j as withTelegramApiErrorLogging, k as resolveTelegramFetch, l as resolveTelegramVoiceSend, lt as toLocationContext, m as isSafeToRetrySendError, mt as readChannelAllowFromStore, n as createForumTopicTelegram, nt as normalizeDmAllowFromWithStore$1, o as sendMessageTelegram, ot as parseTelegramTarget, p as isRecoverableTelegramNetworkError, pt as addChannelAllowFromStoreEntry, q as resolveTelegramDirectPeerId, r as deleteMessageTelegram, rt as resolveSenderAllowMatch$1, s as sendPollTelegram, st as resolveTelegramTargetChatType, t as buildInlineKeyboard, tt as normalizeAllowFrom$2, u as wasSentByBot, v as markdownToTelegramHtml, vt as readJsonFileWithFallback, w as recordState, wt as mergeDmAllowFromSources, x as fingerprintTelegramToken, xt as listPairingChannels, y as renderTelegramHtmlText, yt as writeJsonFileAtomically, z as buildTelegramParentPeer } from "./send-R0HB1-l-.js";
32
+ import { $ as expandToolGroups, A as isTransientHttpError, B as registerBrowserRoutes, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as buildPluginToolGroups, K as resolveSandboxConfigForAgent, L as resolveSandboxContext, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, Q as stripPluginOnlyAllowlist, R as resolveSandboxRuntimeStatus, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as expandPolicyWithPluginGroups, Y as collectExplicitAllowlist, Z as mergeAlsoAllowPolicy, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as downgradeOpenAIFunctionCallReasoningPairs, dt as sanitizeImageBlocks, et as normalizeToolName, f as downgradeOpenAIReasoningBlocks, ft as sanitizeToolResultImages, g as formatAssistantErrorText, h as classifyFailoverReason, ht as estimateBase64DecodedBytes, it as buildBootstrapContextFiles, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, lt as resolveGatewayCredentialsFromConfig, m as BILLING_ERROR_USER_MESSAGE, mt as canonicalizeBase64, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as isGoogleModelApi, pt as resolveImageSanitizationLimits, q as applyOwnerOnlyToolPolicy, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as resolveToolProfilePolicy, u as sanitizeToolCallIdsForCloudCodeAssist, ut as trimToUndefined$1, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-BRymkO_1.js";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, r as normalizeSlackOutboundText, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-CE_6VOiQ.js";
34
+ import { S as modelSupportsVision, T as buildRandomTempFilePath, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, b as findModelInCatalog, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, w as registerUnhandledRejectionHandler, x as loadModelCatalog, y as resolveAttachmentKind } from "./audio-transcription-runner-BNafitZj.js";
35
+ import { a as resolveAgentIdentity, i as resolveAckReaction, n as createReplyPrefixOptions, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig } from "./reply-prefix-Dt1hESHJ.js";
36
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DxJSOoJn.js";
37
+ import { a as getRemoteSkillEligibility, c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, i as resolveSkillCommandInvocation, l as generatePairingToken, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-BYfWIPfV.js";
38
+ import { c as resolveSandboxInputPath, d as applySkillEnvOverrides, f as applySkillEnvOverridesFromSnapshot, i as resolveSkillsPromptForRun, n as buildWorkspaceSkillSnapshot, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource } from "./skills-BuJjEYto.js";
39
+ import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, J as resolveClientIp, K as isLoopbackHost, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, Y as rawDataToString, q as isSecureWebSocketUrl, s as resolveLsofCommandSync } from "./chrome-D0eLSqkP.js";
40
+ import { _ as buildTargetResolverSignature, a as normalizeReplyPayloadsForDelivery, c as applyReplyTagsToPayload, d as filterMessagingToolMediaDuplicates, f as isRenderablePayload, g as resolveReplyToMode, h as createReplyToModeFilterForChannel, i as normalizeOutboundPayloadsForJson, l as applyReplyThreading, m as shouldSuppressReasoningPayload, n as formatOutboundPayloadLog, o as throwIfAborted, p as shouldSuppressMessagingToolReplies, r as normalizeOutboundPayloads, s as loadChannelOutboundAdapter, t as deliverOutboundPayloads, u as filterMessagingToolDuplicates, v as normalizeChannelTargetInput, y as normalizeTargetForProvider } from "./deliver-L6eu6zyG.js";
41
+ import { _ as buildPluginTurnIdentity, b as fireAndForgetHook, c as applyMessageSendingHook, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as buildPluginRuntimeIdentity, h as toPluginMessageReceivedEvent, l as createMessageSentEmitter, m as toPluginMessageContext, n as initializeGlobalHookRunner, o as buildOutboundSessionContext, p as toInternalMessageTranscribedContext, r as promptBuildResultToContribution, s as resolveOutboundSessionId, t as getGlobalHookRunner, u as deriveInboundMessageHookContext, v as resolveProviderPromptCacheKey, y as resolveProviderRuntimeIdentity } from "./hook-runner-global-WRI53ibi.js";
42
+ import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-Bl3Yjf_w.js";
43
+ import { C as resolveNativeCommandsEnabled, S as isRestartEnabled, a as isCommandEnabled, b as isCommandFlagEnabled, c as listChatCommands, d as listNativeCommandSpecsForConfig, f as maybeResolveTextAlias, g as resolveCommandArgMenu, h as resolveCommandArgChoices, l as listChatCommandsForConfig, m as parseCommandArgs, n as buildCommandTextFromArgs, p as normalizeCommandBody, r as findCommandByNativeName, u as listNativeCommandSpecs, v as serializeCommandArgs, w as resolveNativeSkillsEnabled, x as isNativeCommandsExplicitlyDisabled, y as shouldHandleTextCommands } from "./commands-registry-DpLk11E7.js";
44
44
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-FnAYAFD8.js";
45
45
  import { t as redactIdentifier } from "./redact-identifier-COJGJSys.js";
46
46
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-DwyIZ8dH.js";
47
- import { D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionStarted, T as logWebhookProcessed, a as logMessageProcessed, b as logToolExecutionBlocked, c as logModelCallError, d as logRunStarted, f as logSessionStateChange, j as startDiagnosticHeartbeat, o as logMessageQueued, u as logRunCompleted, w as logWebhookError, x as logToolExecutionCompleted } from "./diagnostic-D6hSjxiv.js";
47
+ import { D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionStarted, T as logWebhookProcessed, a as logMessageProcessed, b as logToolExecutionBlocked, c as logModelCallError, d as logRunStarted, f as logSessionStateChange, j as startDiagnosticHeartbeat, o as logMessageQueued, u as logRunCompleted, w as logWebhookError, x as logToolExecutionCompleted } from "./diagnostic-C7lPoqyv.js";
48
48
  import { n as getDiagnosticSessionState, o as redactChannelCorrelation } from "./diagnostic-session-state-BJKtT9MA.js";
49
49
  import { t as CommandLane } from "./lanes-CIgsHd2u.js";
50
- import { a as enqueueCommandInLane, i as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-DFSOdqCK.js";
51
- import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-DWUrLRLg.js";
52
- import { a as resolveProviderVisionModelFromConfig, i as decodeDataUrl, n as coerceImageAssistantText, o as minimaxUnderstandImage, r as coerceImageModelConfig, s as ensureOpenClawModelsJson } from "./provider-image-CEQrHWYz.js";
53
- import { _ as extractTextFromChatContent, a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-DOXEm_H8.js";
50
+ import { a as enqueueCommandInLane, i as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-CHiQj9Ji.js";
51
+ import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-6BBajZds.js";
52
+ import { a as resolveProviderVisionModelFromConfig, i as decodeDataUrl, n as coerceImageAssistantText, o as minimaxUnderstandImage, r as coerceImageModelConfig, s as ensureOpenClawModelsJson } from "./provider-image-DBye3Ln5.js";
53
+ import { _ as extractTextFromChatContent, a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-BHmc3RVS.js";
54
54
  import { n as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CcqKLbvR.js";
55
- import { _ as clearAgentRunContext, a as isEmbeddedPiRunActive, b as registerAgentRunContext, c as setActiveEmbeddedRun, d as handleMessageStart, f as handleMessageUpdate, g as endModelCall, h as createInlineCodeState, i as endInFlightEmbeddedAttempt, l as waitForEmbeddedPiRunEnd, m as buildCodeSpanIndex, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as emitEmbeddedAgentEvent, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as handleMessageEnd, v as emitAgentEvent, y as onAgentEvent } from "./runs-CiohhBb8.js";
56
- import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BXZMRSjO.js";
57
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-Cx6gHjnA.js";
58
- import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-BwxzQXmX.js";
59
- import { n as AGENT_LANE_NESTED, r as AGENT_LANE_SUBAGENT, t as startUserSessionRun } from "./user-run-recording-BMaK7jNR.js";
60
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-50KoArP9.js";
61
- import { t as createTelegramPollingTransport } from "./proxy-BWc9guJs.js";
62
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-l2hZAzbt.js";
63
- import { t as recordInboundSessionMetaSafe } from "./session-meta-CiqJP0pO.js";
64
- import { n as resolveMemorySearchConfig } from "./manager-B_vK9MbM.js";
65
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CwmHvvV_.js";
55
+ import { _ as clearAgentRunContext, a as isEmbeddedPiRunActive, b as registerAgentRunContext, c as setActiveEmbeddedRun, d as handleMessageStart, f as handleMessageUpdate, g as endModelCall, h as createInlineCodeState, i as endInFlightEmbeddedAttempt, l as waitForEmbeddedPiRunEnd, m as buildCodeSpanIndex, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as emitEmbeddedAgentEvent, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as handleMessageEnd, v as emitAgentEvent, y as onAgentEvent } from "./runs-D6fAvItC.js";
56
+ import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-DdbAQ2HO.js";
57
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-Ce2XBaKF.js";
58
+ import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-BS8Ge06Z.js";
59
+ import { n as AGENT_LANE_NESTED, r as AGENT_LANE_SUBAGENT, t as startUserSessionRun } from "./user-run-recording-juCW_uQ-.js";
60
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BpLuk-wC.js";
61
+ import { t as createTelegramPollingTransport } from "./proxy-DJ2nskkh.js";
62
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Dw3jvqpR.js";
63
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-BU2WXD0N.js";
64
+ import { n as resolveMemorySearchConfig } from "./manager-D2jffdjH.js";
65
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-NpBeKA8F.js";
66
66
  import { createRequire } from "node:module";
67
67
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
68
68
  import * as path$1 from "node:path";
69
69
  import path, { basename, isAbsolute, join } from "node:path";
70
70
  import { inspect, isDeepStrictEqual, promisify } from "node:util";
71
- import JSON5 from "json5";
71
+ import json5 from "json5";
72
72
  import os, { homedir } from "node:os";
73
73
  import * as fs$2 from "node:fs/promises";
74
74
  import fs$1, { mkdir, readFile, writeFile } from "node:fs/promises";
@@ -17055,7 +17055,7 @@ async function sendTranscriptEcho(params) {
17055
17055
  }
17056
17056
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
17057
17057
  try {
17058
- const { deliverOutboundPayloads } = await import("./deliver-DBCz1GqU.js");
17058
+ const { deliverOutboundPayloads } = await import("./deliver-D4fWK65M.js");
17059
17059
  await deliverOutboundPayloads({
17060
17060
  cfg,
17061
17061
  channel: normalizedChannel,
@@ -24667,7 +24667,7 @@ async function routeReply(params) {
24667
24667
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
24668
24668
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
24669
24669
  try {
24670
- const { deliverOutboundPayloads } = await import("./deliver-DBCz1GqU.js");
24670
+ const { deliverOutboundPayloads } = await import("./deliver-D4fWK65M.js");
24671
24671
  const outboundSession = buildOutboundSessionContext({
24672
24672
  cfg,
24673
24673
  agentId: resolvedAgentId,
@@ -26985,7 +26985,7 @@ function requestNudge(input, cfg = loadConfig(), deps) {
26985
26985
  const { backbone, runner } = getAgentTurnRuntime();
26986
26986
  const id = await enqueueAgentTurn(backbone, payload);
26987
26987
  if (!isClaimableAgentTurnWorkId(id)) return;
26988
- const { runMainAgentTurn } = await import("./agent-turn-execute-BCE3FS2s.js");
26988
+ const { runMainAgentTurn } = await import("./agent-turn-execute-zuw0S_Lh.js");
26989
26989
  await runner.claimAndExecute({
26990
26990
  workId: id,
26991
26991
  execute: (claim) => runMainAgentTurn(claim.message.payload)
@@ -28268,7 +28268,7 @@ async function handleHeartbeatError(params) {
28268
28268
  const AGENT_TURN_PROMPT = "Process the pending system events for this session.";
28269
28269
  async function ackAnnounceExecuted(payload) {
28270
28270
  if (payload.kind !== "announce") return;
28271
- const { markSubagentAnnounceExecuted } = await import("./subagent-registry-CZBK6615.js");
28271
+ const { markSubagentAnnounceExecuted } = await import("./subagent-registry-CTZBVVPF.js");
28272
28272
  for (const runId of [payload.runId, ...payload.mergedRunIds ?? []]) try {
28273
28273
  await markSubagentAnnounceExecuted(runId);
28274
28274
  } catch {}
@@ -28515,7 +28515,7 @@ function normalizeSessionKey(value) {
28515
28515
  function readSessionStore(storePath) {
28516
28516
  try {
28517
28517
  const raw = fs.readFileSync(storePath, "utf-8");
28518
- const parsed = JSON5.parse(raw);
28518
+ const parsed = json5.parse(raw);
28519
28519
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
28520
28520
  } catch {}
28521
28521
  return {};
@@ -28744,7 +28744,7 @@ const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
28744
28744
  let subagentRegistryAccessPromise;
28745
28745
  const STALLED_SIBLING_ANNOUNCE_HOLD_MS = 5 * 6e4;
28746
28746
  function loadSubagentRegistryAccess() {
28747
- if (!subagentRegistryAccessPromise) subagentRegistryAccessPromise = import("./subagent-registry-CZBK6615.js").catch((err) => {
28747
+ if (!subagentRegistryAccessPromise) subagentRegistryAccessPromise = import("./subagent-registry-CTZBVVPF.js").catch((err) => {
28748
28748
  const message = err instanceof Error && err.message ? err.message : String(err);
28749
28749
  defaultRuntime.log(`[warn] subagent registry access import failed: ${message}`);
28750
28750
  subagentRegistryAccessPromise = void 0;
@@ -31599,7 +31599,7 @@ function ensureContextWindowCacheLoaded() {
31599
31599
  await ensureOpenClawModelsJson(cfg);
31600
31600
  } catch {}
31601
31601
  try {
31602
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DWw1ReX-.js");
31602
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-4X7_2_nP.js");
31603
31603
  const agentDir = resolveOpenClawAgentDir();
31604
31604
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
31605
31605
  applyDiscoveredContextWindows({
@@ -42013,7 +42013,7 @@ async function createModelSelectionState(params) {
42013
42013
  }
42014
42014
  }
42015
42015
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
42016
- const { ensureAuthProfileStore } = await import("./auth-profiles-DHZjW8Vk.js");
42016
+ const { ensureAuthProfileStore } = await import("./auth-profiles-CCJQoedi.js");
42017
42017
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
42018
42018
  const providerKey = normalizeProviderId(provider);
42019
42019
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -60454,7 +60454,7 @@ async function deliverSessionMaintenanceWarning(params) {
60454
60454
  return;
60455
60455
  }
60456
60456
  try {
60457
- const { deliverOutboundPayloads } = await import("./deliver-DBCz1GqU.js");
60457
+ const { deliverOutboundPayloads } = await import("./deliver-D4fWK65M.js");
60458
60458
  const outboundSession = buildOutboundSessionContext({
60459
60459
  cfg: params.cfg,
60460
60460
  sessionKey: params.sessionKey
@@ -65275,7 +65275,7 @@ async function describeStickerImage(params) {
65275
65275
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
65276
65276
  try {
65277
65277
  const buffer = await fs$1.readFile(imagePath);
65278
- const { describeImageWithModel } = await import("./provider-image-B_dJDOl5.js");
65278
+ const { describeImageWithModel } = await import("./provider-image-CNlYbRab.js");
65279
65279
  return (await describeImageWithModel({
65280
65280
  buffer,
65281
65281
  fileName: "sticker.webp",
@@ -66543,7 +66543,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
66543
66543
  let transcript;
66544
66544
  let carry;
66545
66545
  if (needsPreflightTranscription) try {
66546
- const { transcribeFirstAudio } = await import("./audio-preflight-DlGohKMs.js");
66546
+ const { transcribeFirstAudio } = await import("./audio-preflight-DE04bi4M.js");
66547
66547
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
66548
66548
  if (uploadable.length > 0) {
66549
66549
  const preflight = await transcribeFirstAudio({
@@ -73680,23 +73680,23 @@ function createDefaultDeps() {
73680
73680
  };
73681
73681
  },
73682
73682
  sendMessageTelegram: async (...args) => {
73683
- const { sendMessageTelegram } = await import("./send-Dvna5ey-.js");
73683
+ const { sendMessageTelegram } = await import("./send-Cg2VXcO0.js");
73684
73684
  return await sendMessageTelegram(...args);
73685
73685
  },
73686
73686
  sendMessageDiscord: async (...args) => {
73687
- const { sendMessageDiscord } = await import("./send-DO0C4Uva.js");
73687
+ const { sendMessageDiscord } = await import("./send-GMYUhBtJ.js");
73688
73688
  return await sendMessageDiscord(...args);
73689
73689
  },
73690
73690
  sendMessageSlack: async (...args) => {
73691
- const { sendMessageSlack } = await import("./send-CeWqZTK0.js");
73691
+ const { sendMessageSlack } = await import("./send-DAs6FmWB.js");
73692
73692
  return await sendMessageSlack(...args);
73693
73693
  },
73694
73694
  sendMessageSignal: async (...args) => {
73695
- const { sendMessageSignal } = await import("./send-xPV0QIjh.js");
73695
+ const { sendMessageSignal } = await import("./send-tASIQF-Q.js");
73696
73696
  return await sendMessageSignal(...args);
73697
73697
  },
73698
73698
  sendMessageIMessage: async (...args) => {
73699
- const { sendMessageIMessage } = await import("./send-CzcKgBBf.js");
73699
+ const { sendMessageIMessage } = await import("./send-UIQH_kN6.js");
73700
73700
  return await sendMessageIMessage(...args);
73701
73701
  }
73702
73702
  };
@@ -85163,7 +85163,7 @@ function readSlackExternalArgMenuToken(raw) {
85163
85163
  }
85164
85164
  let commandsRegistry;
85165
85165
  async function getCommandsRegistry() {
85166
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-8sy0wsK_.js");
85166
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Do_g2It_.js");
85167
85167
  return commandsRegistry;
85168
85168
  }
85169
85169
  function encodeSlackCommandArgValue(parts) {
@@ -85493,14 +85493,14 @@ async function registerSlackMonitorSlashCommands(params) {
85493
85493
  const channelName = channelInfo?.name;
85494
85494
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
85495
85495
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
85496
- import("./resolve-route-6v1HVvWk.js"),
85496
+ import("./resolve-route-DiQTL1qI.js"),
85497
85497
  import("./inbound-context-BmQfexVy.js"),
85498
- import("./provider-dispatcher-Byy-KtUn.js")
85498
+ import("./provider-dispatcher-B4PdTha5.js")
85499
85499
  ]);
85500
85500
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
85501
85501
  import("./conversation-label-TAXJpeGu.js"),
85502
- import("./reply-prefix-BQMEQam1.js"),
85503
- import("./session-meta-n4SCcAbJ.js")
85502
+ import("./reply-prefix-MU3uY52y.js"),
85503
+ import("./session-meta-Dd1ZONel.js")
85504
85504
  ]);
85505
85505
  const route = resolveAgentRoute({
85506
85506
  cfg,
@@ -85565,9 +85565,9 @@ async function registerSlackMonitorSlashCommands(params) {
85565
85565
  });
85566
85566
  const deliverSlashPayloads = async (replies) => {
85567
85567
  const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
85568
- import("./replies-B9uDLFOE.js"),
85569
- import("./chunk-BTSnO1wn.js"),
85570
- import("./markdown-tables-J4hZ7eWU.js")
85568
+ import("./replies-XUkqz_7S.js"),
85569
+ import("./chunk-DI-5pBck.js"),
85570
+ import("./markdown-tables-cZSKCBuW.js")
85571
85571
  ]);
85572
85572
  await deliverSlackSlashReplies({
85573
85573
  replies,
@@ -85621,7 +85621,7 @@ async function registerSlackMonitorSlashCommands(params) {
85621
85621
  let nativeCommands = [];
85622
85622
  if (nativeEnabled) {
85623
85623
  reg = await getCommandsRegistry();
85624
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BOV3NIbU.js")).listSkillCommandsForAgents({ cfg }) : [];
85624
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C7ZE3rKj.js")).listSkillCommandsForAgents({ cfg }) : [];
85625
85625
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
85626
85626
  skillCommands,
85627
85627
  provider: "slack"
@@ -86140,7 +86140,7 @@ async function auditTelegramGroupMembership(params) {
86140
86140
  groups: [],
86141
86141
  elapsedMs: Date.now() - started
86142
86142
  };
86143
- const fetcher = params.proxyUrl ? (await import("./proxy-DwbYzxBy.js")).makeProxyFetch(params.proxyUrl) : fetch;
86143
+ const fetcher = params.proxyUrl ? (await import("./proxy-D2uiu68M.js")).makeProxyFetch(params.proxyUrl) : fetch;
86144
86144
  const { fetchWithTimeout } = await import("./fetch-timeout-DyPq8Phs.js");
86145
86145
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
86146
86146
  const groups = [];
@@ -88674,7 +88674,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
88674
88674
  let audioPreflightCarry;
88675
88675
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
88676
88676
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
88677
- const { transcribeFirstAudio } = await import("./audio-preflight-DlGohKMs.js");
88677
+ const { transcribeFirstAudio } = await import("./audio-preflight-DE04bi4M.js");
88678
88678
  const preflight = await transcribeFirstAudio({
88679
88679
  ctx: {
88680
88680
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -93076,7 +93076,7 @@ async function getMemorySearchManager(params) {
93076
93076
  if (cached) return { manager: cached };
93077
93077
  }
93078
93078
  try {
93079
- const { QmdMemoryManager } = await import("./qmd-manager-CpV0SFnY.js");
93079
+ const { QmdMemoryManager } = await import("./qmd-manager-DhW_frb3.js");
93080
93080
  const primary = await QmdMemoryManager.create({
93081
93081
  cfg: params.cfg,
93082
93082
  agentId: params.agentId,
@@ -93088,7 +93088,7 @@ async function getMemorySearchManager(params) {
93088
93088
  const wrapper = new FallbackMemoryManager({
93089
93089
  primary,
93090
93090
  fallbackFactory: async () => {
93091
- const { MemoryIndexManager } = await import("./manager-ByaW_O4Y.js");
93091
+ const { MemoryIndexManager } = await import("./manager-BlYRVNJI.js");
93092
93092
  return await MemoryIndexManager.get(params);
93093
93093
  }
93094
93094
  }, () => {
@@ -93103,7 +93103,7 @@ async function getMemorySearchManager(params) {
93103
93103
  }
93104
93104
  }
93105
93105
  try {
93106
- const { MemoryIndexManager } = await import("./manager-ByaW_O4Y.js");
93106
+ const { MemoryIndexManager } = await import("./manager-BlYRVNJI.js");
93107
93107
  return { manager: await MemoryIndexManager.get(params) };
93108
93108
  } catch (err) {
93109
93109
  return {
@@ -94150,7 +94150,7 @@ function createPluginRuntime(options = {}) {
94150
94150
  workStates: readTaskWorkStates
94151
94151
  },
94152
94152
  resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
94153
- sessions: { startUserRun: async (params) => (await import("./user-run-recording-DiKcNdjn.js")).startUserSessionRun(params) }
94153
+ sessions: { startUserRun: async (params) => (await import("./user-run-recording-BMikDBXR.js")).startUserSessionRun(params) }
94154
94154
  };
94155
94155
  Object.defineProperty(runtime, "analysis", {
94156
94156
  enumerable: true,
@@ -95656,7 +95656,7 @@ async function recordLoopOutcome(args) {
95656
95656
  if (!args.ctx?.sessionKey) return;
95657
95657
  try {
95658
95658
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CuiQDC7d.js");
95659
- const { recordToolCallOutcome } = await import("./tool-loop-detection-LsvZ1dIY.js");
95659
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-Buouaxew.js");
95660
95660
  recordToolCallOutcome(getDiagnosticSessionState({
95661
95661
  sessionKey: args.ctx.sessionKey,
95662
95662
  sessionId: args.ctx?.agentId
@@ -95683,8 +95683,8 @@ async function runBeforeToolCallHook(args) {
95683
95683
  const params = args.params;
95684
95684
  if (args.ctx?.sessionKey) {
95685
95685
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CuiQDC7d.js");
95686
- const { logToolLoopAction } = await import("./diagnostic-Bni_8VyY.js");
95687
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-LsvZ1dIY.js");
95686
+ const { logToolLoopAction } = await import("./diagnostic-DfxuMWHd.js");
95687
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Buouaxew.js");
95688
95688
  const sessionState = getDiagnosticSessionState({
95689
95689
  sessionKey: args.ctx.sessionKey,
95690
95690
  sessionId: args.ctx?.agentId
@@ -98439,7 +98439,7 @@ function estimateMessageChars$1(message) {
98439
98439
  if (message.role === "toolResult") return estimateTextAndImageChars(message.content);
98440
98440
  return 256;
98441
98441
  }
98442
- function estimateContextChars$1(messages) {
98442
+ function estimateContextChars(messages) {
98443
98443
  return messages.reduce((sum, m) => sum + estimateMessageChars$1(m), 0);
98444
98444
  }
98445
98445
  function findAssistantCutoffIndex(messages, keepLastAssistants) {
@@ -98487,7 +98487,7 @@ function pruneContextMessages(params) {
98487
98487
  const firstUserIndex = findFirstUserIndex(messages);
98488
98488
  const pruneStartIndex = firstUserIndex === null ? messages.length : firstUserIndex;
98489
98489
  const isToolPrunable = params.isToolPrunable ?? makeToolPrunablePredicate(settings.tools);
98490
- let totalChars = estimateContextChars$1(messages);
98490
+ let totalChars = estimateContextChars(messages);
98491
98491
  let ratio = totalChars / charWindow;
98492
98492
  if (ratio < settings.softTrimRatio) return messages;
98493
98493
  const prunableToolIndexes = [];
@@ -103810,32 +103810,35 @@ function estimateMessageCharsCached(msg, cache) {
103810
103810
  cache.set(msg, estimated);
103811
103811
  return estimated;
103812
103812
  }
103813
- function estimateContextChars(messages, cache) {
103814
- return messages.reduce((sum, msg) => sum + estimateMessageCharsCached(msg, cache), 0);
103815
- }
103816
- function invalidateMessageCharsCacheEntry(cache, msg) {
103817
- cache.delete(msg);
103818
- }
103819
103813
 
103820
103814
  //#endregion
103821
103815
  //#region src/agents/pi-embedded-runner/tool-result-context-guard.ts
103822
- const CONTEXT_INPUT_HEADROOM_RATIO = .75;
103816
+ const AGGREGATE_TOOL_RESULT_CONTEXT_SHARE = .5;
103823
103817
  const SINGLE_TOOL_RESULT_CONTEXT_SHARE = .5;
103818
+ const MIN_TRIMMED_TOOL_RESULT_CHARS = 2e3;
103819
+ const TAIL_SHARE = .3;
103820
+ const MAX_TAIL_CHARS = 4e3;
103821
+ const TOOL_RESULT_TEXT_WEIGHT = CHARS_PER_TOKEN_ESTIMATE / TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE;
103824
103822
  const CONTEXT_LIMIT_TRUNCATION_NOTICE = "[truncated: output exceeded context limit]";
103825
- const CONTEXT_LIMIT_TRUNCATION_SUFFIX = `\n${CONTEXT_LIMIT_TRUNCATION_NOTICE}`;
103826
103823
  const PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER = "[compacted: tool output removed to free context]";
103827
- function truncateTextToBudget(text, maxChars) {
103824
+ function formatOmissionMarker(omittedChars) {
103825
+ return `\n\n${CONTEXT_LIMIT_TRUNCATION_NOTICE} [${omittedChars} chars omitted between head and tail]\n\n`;
103826
+ }
103827
+ function truncateTextHeadTail(text, maxChars) {
103828
103828
  if (text.length <= maxChars) return text;
103829
- if (maxChars <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
103830
- const bodyBudget = Math.max(0, maxChars - CONTEXT_LIMIT_TRUNCATION_SUFFIX.length);
103829
+ const bodyBudget = maxChars - formatOmissionMarker(text.length).length;
103831
103830
  if (bodyBudget <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
103832
- let cutPoint = bodyBudget;
103833
- const newline = text.lastIndexOf("\n", bodyBudget);
103834
- if (newline > bodyBudget * .7) cutPoint = newline;
103835
- return text.slice(0, cutPoint) + CONTEXT_LIMIT_TRUNCATION_SUFFIX;
103831
+ const tailBudget = Math.min(Math.floor(bodyBudget * TAIL_SHARE), MAX_TAIL_CHARS);
103832
+ let head = sliceUtf16Safe(text, 0, bodyBudget - tailBudget);
103833
+ const headNewline = head.lastIndexOf("\n");
103834
+ if (headNewline > head.length * .8) head = head.slice(0, headNewline);
103835
+ let tail = tailBudget > 0 ? sliceUtf16Safe(text, -tailBudget) : "";
103836
+ const tailNewline = tail.indexOf("\n");
103837
+ if (tailNewline !== -1 && tailNewline < tail.length * .2) tail = tail.slice(tailNewline + 1);
103838
+ return head + formatOmissionMarker(text.length - head.length - tail.length) + tail;
103836
103839
  }
103837
103840
  function replaceToolResultText(msg, text) {
103838
- const content = msg.content;
103841
+ const content = "content" in msg ? msg.content : void 0;
103839
103842
  const replacementContent = typeof content === "string" || content === void 0 ? text : [{
103840
103843
  type: "text",
103841
103844
  text
@@ -103847,68 +103850,89 @@ function replaceToolResultText(msg, text) {
103847
103850
  };
103848
103851
  }
103849
103852
  function truncateToolResultToChars(msg, maxChars, cache) {
103850
- if (!isToolResultMessage(msg)) return msg;
103851
103853
  if (estimateMessageCharsCached(msg, cache) <= maxChars) return msg;
103852
103854
  const rawText = getToolResultText(msg);
103853
103855
  if (!rawText) return replaceToolResultText(msg, CONTEXT_LIMIT_TRUNCATION_NOTICE);
103854
- return replaceToolResultText(msg, truncateTextToBudget(rawText, maxChars));
103855
- }
103856
- function compactExistingToolResultsInPlace(params) {
103857
- const { messages, charsNeeded, cache } = params;
103858
- if (charsNeeded <= 0) return 0;
103859
- let reduced = 0;
103860
- for (let i = 0; i < messages.length; i++) {
103861
- const msg = messages[i];
103862
- if (!isToolResultMessage(msg)) continue;
103863
- const before = estimateMessageCharsCached(msg, cache);
103864
- if (before <= 48) continue;
103865
- applyMessageMutationInPlace(msg, replaceToolResultText(msg, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER), cache);
103866
- const after = estimateMessageCharsCached(msg, cache);
103867
- if (after >= before) continue;
103868
- reduced += before - after;
103869
- if (reduced >= charsNeeded) break;
103870
- }
103871
- return reduced;
103872
- }
103873
- function applyMessageMutationInPlace(target, source, cache) {
103874
- if (target === source) return;
103875
- const targetRecord = target;
103876
- const sourceRecord = source;
103877
- for (const key of Object.keys(targetRecord)) if (!(key in sourceRecord)) delete targetRecord[key];
103878
- Object.assign(targetRecord, sourceRecord);
103879
- if (cache) invalidateMessageCharsCacheEntry(cache, target);
103880
- }
103881
- function enforceToolResultContextBudgetInPlace(params) {
103882
- const { messages, contextBudgetChars, maxSingleToolResultChars } = params;
103883
- const estimateCache = createMessageCharEstimateCache();
103884
- for (const message of messages) {
103856
+ return replaceToolResultText(msg, truncateTextHeadTail(rawText, Math.floor(maxChars / TOOL_RESULT_TEXT_WEIGHT)));
103857
+ }
103858
+ function enforceToolResultContextBudget(params) {
103859
+ const { messages, aggregateBudgetChars, maxSingleToolResultChars } = params;
103860
+ const cache = createMessageCharEstimateCache();
103861
+ const currentRoundStart = messages.findLastIndex((message) => message.role === "user") + 1;
103862
+ let guarded;
103863
+ let originalChars = 0;
103864
+ let totalChars = 0;
103865
+ let cappedCount = 0;
103866
+ const earlierRoundIndexes = [];
103867
+ for (const [index, message] of messages.entries()) {
103885
103868
  if (!isToolResultMessage(message)) continue;
103886
- applyMessageMutationInPlace(message, truncateToolResultToChars(message, maxSingleToolResultChars, estimateCache), estimateCache);
103887
- }
103888
- let currentChars = estimateContextChars(messages, estimateCache);
103889
- if (currentChars <= contextBudgetChars) return;
103890
- compactExistingToolResultsInPlace({
103869
+ originalChars += estimateMessageCharsCached(message, cache);
103870
+ const capped = truncateToolResultToChars(message, maxSingleToolResultChars, cache);
103871
+ if (capped !== message) {
103872
+ guarded ??= messages.slice();
103873
+ guarded[index] = capped;
103874
+ cappedCount += 1;
103875
+ }
103876
+ totalChars += estimateMessageCharsCached(capped, cache);
103877
+ if (index < currentRoundStart) earlierRoundIndexes.push(index);
103878
+ }
103879
+ const minTrimmedChars = MIN_TRIMMED_TOOL_RESULT_CHARS * TOOL_RESULT_TEXT_WEIGHT;
103880
+ let trimmedCount = 0;
103881
+ let clearedCount = 0;
103882
+ for (const clear of [false, true]) for (const index of earlierRoundIndexes) {
103883
+ if (totalChars <= aggregateBudgetChars) break;
103884
+ const current = (guarded ?? messages)[index];
103885
+ if (!current) continue;
103886
+ const before = estimateMessageCharsCached(current, cache);
103887
+ let next = current;
103888
+ if (clear) next = replaceToolResultText(current, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER);
103889
+ else if (before > minTrimmedChars) next = truncateToolResultToChars(current, Math.max(minTrimmedChars, before - (totalChars - aggregateBudgetChars)), cache);
103890
+ const after = estimateMessageCharsCached(next, cache);
103891
+ if (after >= before) continue;
103892
+ guarded ??= messages.slice();
103893
+ guarded[index] = next;
103894
+ totalChars -= before - after;
103895
+ if (clear) clearedCount += 1;
103896
+ else trimmedCount += 1;
103897
+ }
103898
+ if (!guarded) return messages;
103899
+ log$19.info("tool-result context guard reduced tool output", {
103900
+ aggregateBudgetChars,
103901
+ maxSingleToolResultChars,
103902
+ toolResultCharsBefore: originalChars,
103903
+ toolResultCharsAfter: totalChars,
103904
+ freedChars: originalChars - totalChars,
103905
+ cappedCount,
103906
+ trimmedCount,
103907
+ clearedCount,
103908
+ currentRoundToolResults: messages.slice(currentRoundStart).filter(isToolResultMessage).length
103909
+ });
103910
+ return guarded;
103911
+ }
103912
+ /**
103913
+ * Bounds tool-result text in a model-call message list without mutating it. Every result is
103914
+ * head/tail-capped to half the window; when all tool results together exceed half the window,
103915
+ * earlier-round results are trimmed (then, as a last resort, replaced) oldest-first. Results
103916
+ * after the last user message are never evicted for the aggregate budget.
103917
+ */
103918
+ function createToolResultContextGuard(params) {
103919
+ const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
103920
+ const aggregateBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * AGGREGATE_TOOL_RESULT_CONTEXT_SHARE));
103921
+ const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
103922
+ return (messages) => enforceToolResultContextBudget({
103891
103923
  messages,
103892
- charsNeeded: currentChars - contextBudgetChars,
103893
- cache: estimateCache
103924
+ aggregateBudgetChars,
103925
+ maxSingleToolResultChars
103894
103926
  });
103895
103927
  }
103896
103928
  function installToolResultContextGuard(params) {
103897
- const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
103898
- const contextBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * CONTEXT_INPUT_HEADROOM_RATIO));
103899
- const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
103929
+ const guard = createToolResultContextGuard(params);
103900
103930
  const mutableAgent = params.agent;
103901
103931
  const originalTransformContext = mutableAgent.transformContext;
103902
- mutableAgent.transformContext = (async (messages, signal) => {
103932
+ mutableAgent.transformContext = async (messages, signal) => {
103903
103933
  const transformed = originalTransformContext ? await originalTransformContext.call(mutableAgent, messages, signal) : messages;
103904
- const contextMessages = Array.isArray(transformed) ? transformed : messages;
103905
- enforceToolResultContextBudgetInPlace({
103906
- messages: contextMessages,
103907
- contextBudgetChars,
103908
- maxSingleToolResultChars
103909
- });
103910
- return contextMessages;
103911
- });
103934
+ return guard(Array.isArray(transformed) ? transformed : messages);
103935
+ };
103912
103936
  return () => {
103913
103937
  mutableAgent.transformContext = originalTransformContext;
103914
103938
  };
@@ -105240,7 +105264,7 @@ function installAttemptInputTransform(params) {
105240
105264
  }).catch((err) => {
105241
105265
  log$19.warn(`context projection artifact persist failed: ${String(err)}`);
105242
105266
  });
105243
- const finalMessages = await runTransformLlmInputHooks({
105267
+ const hookFinalMessages = await runTransformLlmInputHooks({
105244
105268
  messages: currentMessages,
105245
105269
  hookRunner: params.hookRunner,
105246
105270
  hookCtx: params.hookCtx,
@@ -105249,6 +105273,7 @@ function installAttemptInputTransform(params) {
105249
105273
  }).catch((err) => {
105250
105274
  log$19.warn(`transform_llm_input hook failed: ${String(err)}`);
105251
105275
  }) ?? currentMessages;
105276
+ const finalMessages = params.guardToolResults ? params.guardToolResults(hookFinalMessages) : hookFinalMessages;
105252
105277
  params.onFinalInputMessages?.(finalMessages);
105253
105278
  return finalMessages;
105254
105279
  };
@@ -105876,10 +105901,7 @@ async function runEmbeddedAttempt(params) {
105876
105901
  }));
105877
105902
  applySystemPromptOverrideToSession(session, systemPromptText);
105878
105903
  const activeSession = session;
105879
- removeToolResultContextGuard = installToolResultContextGuard({
105880
- agent: activeSession.agent,
105881
- contextWindowTokens: Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS))
105882
- });
105904
+ const toolResultContextWindowTokens = Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS));
105883
105905
  const cacheTrace = createCacheTrace({
105884
105906
  cfg: params.config,
105885
105907
  env: process.env,
@@ -106290,6 +106312,7 @@ async function runEmbeddedAttempt(params) {
106290
106312
  cleanUserText: params.prompt,
106291
106313
  provider: params.provider,
106292
106314
  modelId: params.modelId,
106315
+ guardToolResults: createToolResultContextGuard({ contextWindowTokens: toolResultContextWindowTokens }),
106293
106316
  onFinalInputMessages: (messages) => {
106294
106317
  modelCallContext.inputMessages = messages;
106295
106318
  modelCallContext.systemPrompt = systemPromptText;
@@ -106329,6 +106352,10 @@ async function runEmbeddedAttempt(params) {
106329
106352
  else await abortable(activeSession.prompt(params.prompt));
106330
106353
  } finally {
106331
106354
  removeAttemptInputTransform();
106355
+ removeToolResultContextGuard = installToolResultContextGuard({
106356
+ agent: activeSession.agent,
106357
+ contextWindowTokens: toolResultContextWindowTokens
106358
+ });
106332
106359
  }
106333
106360
  } catch (err) {
106334
106361
  promptError = err;