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,6 +1,6 @@
1
- import { c as resolveStateDir } from "./paths-Cvc9EM8Y.js";
2
- import { st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-BCjklMkJ.js";
3
- import { D as normalizeAgentId, G as parseAgentSessionKey, k as resolveAgentIdFromSessionKey, p as resolveDefaultAgentWorkspaceDir, y as DEFAULT_AGENT_ID } from "./workspace-Dbn4gFdH.js";
1
+ import { c as resolveStateDir } from "./paths-C6TxBCvO.js";
2
+ import { st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-CPYnUTN4.js";
3
+ import { D as normalizeAgentId, G as parseAgentSessionKey, k as resolveAgentIdFromSessionKey, p as resolveDefaultAgentWorkspaceDir, y as DEFAULT_AGENT_ID } from "./workspace-B707AGIc.js";
4
4
  import path from "node:path";
5
5
 
6
6
  //#region src/config/model-input.ts
@@ -238,7 +238,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
238
238
  return true;
239
239
  }
240
240
  async function defaultExecute(claim) {
241
- const { runMainAgentTurn } = await import("./agent-turn-execute-Bw9hhkAP.js").then((n) => n.t);
241
+ const { runMainAgentTurn } = await import("./agent-turn-execute-CzOC4mHw.js").then((n) => n.t);
242
242
  return runMainAgentTurn(claim.message.payload);
243
243
  }
244
244
  async function armIdleWaiter(sessionKey, backbone, opts) {
@@ -250,7 +250,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
250
250
  startedAt: opts?.startedAt ?? Date.now()
251
251
  };
252
252
  waiters.set(sessionKey, handle);
253
- const { getQueueSize } = await import("./command-queue-URs9pYSC.js").then((n) => n.r);
253
+ const { getQueueSize } = await import("./command-queue-zXu22yak.js").then((n) => n.r);
254
254
  if (handle.cancelled || closing) return;
255
255
  const release = (force = false) => {
256
256
  releaseDelayedAgentTurns(backboneBySession.get(sessionKey) ?? backbone, sessionKey, force ? { force: true } : void 0);
@@ -272,7 +272,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
272
272
  }
273
273
  async function enqueueAgentTurn(backbone, payload, opts) {
274
274
  if (!payload.jobId.trim() || !payload.runId.trim()) throw new Error("agent-turn enqueue requires jobId and runId");
275
- const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-URs9pYSC.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
275
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-zXu22yak.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
276
276
  const policy = payload.busy ?? "skip";
277
277
  const id = agentTurnIdempotencyKey(payload);
278
278
  if (isBusy && policy === "skip") return `${id}:skipped`;
@@ -336,7 +336,7 @@ async function releaseDelayedAgentTurnsInternal(backbone, sessionKey, opts) {
336
336
  if (held) return;
337
337
  releasingHead.add(sessionKey);
338
338
  const publishedWorkId = await publishAgentTurn(backbone, payload);
339
- const { getAgentTurnRuntime } = await import("./agent-turn-runner-CUCOdxhH.js").then((n) => n.t);
339
+ const { getAgentTurnRuntime } = await import("./agent-turn-runner-C1u8sVfA.js").then((n) => n.t);
340
340
  const execute = opts?.execute ?? defaultExecute;
341
341
  releaseSucceeded = (await getAgentTurnRuntime().runner.claimAndExecute({
342
342
  workId: publishedWorkId,
@@ -238,7 +238,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
238
238
  return true;
239
239
  }
240
240
  async function defaultExecute(claim) {
241
- const { runMainAgentTurn } = await import("./reply-BzUdF5qW.js").then((n) => n.g);
241
+ const { runMainAgentTurn } = await import("./reply-B4TgvJrJ.js").then((n) => n.g);
242
242
  return runMainAgentTurn(claim.message.payload);
243
243
  }
244
244
  async function armIdleWaiter(sessionKey, backbone, opts) {
@@ -250,7 +250,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
250
250
  startedAt: opts?.startedAt ?? Date.now()
251
251
  };
252
252
  waiters.set(sessionKey, handle);
253
- const { getQueueSize } = await import("./command-queue-DmXWCoY0.js").then((n) => n.r);
253
+ const { getQueueSize } = await import("./command-queue-DtybAhHH.js").then((n) => n.r);
254
254
  if (handle.cancelled || closing) return;
255
255
  const release = (force = false) => {
256
256
  releaseDelayedAgentTurns(backboneBySession.get(sessionKey) ?? backbone, sessionKey, force ? { force: true } : void 0);
@@ -272,7 +272,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
272
272
  }
273
273
  async function enqueueAgentTurn(backbone, payload, opts) {
274
274
  if (!payload.jobId.trim() || !payload.runId.trim()) throw new Error("agent-turn enqueue requires jobId and runId");
275
- const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-DmXWCoY0.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
275
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-DtybAhHH.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
276
276
  const policy = payload.busy ?? "skip";
277
277
  const id = agentTurnIdempotencyKey(payload);
278
278
  if (isBusy && policy === "skip") return `${id}:skipped`;
@@ -336,7 +336,7 @@ async function releaseDelayedAgentTurnsInternal(backbone, sessionKey, opts) {
336
336
  if (held) return;
337
337
  releasingHead.add(sessionKey);
338
338
  const publishedWorkId = await publishAgentTurn(backbone, payload);
339
- const { getAgentTurnRuntime } = await import("./agent-turn-runner-Vd3aTCni.js").then((n) => n.t);
339
+ const { getAgentTurnRuntime } = await import("./agent-turn-runner-BEvwtTis.js").then((n) => n.t);
340
340
  const execute = opts?.execute ?? defaultExecute;
341
341
  releaseSucceeded = (await getAgentTurnRuntime().runner.claimAndExecute({
342
342
  workId: publishedWorkId,
@@ -24,16 +24,16 @@ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as lis
24
24
  import { c as derivePromptTokens, d as makeZeroUsageSnapshot, f as normalizeUsage, l as deriveSessionTotalTokens, u as hasNonzeroUsage } from "./chat-envelope-DfuAGxmg.js";
25
25
  import { c as isDiagnosticsEnabled, s as emitDiagnosticEvent } from "./task-run-types-B6n0W8Rb.js";
26
26
  import { t as redactIdentifier } from "./redact-identifier-BcqQpFrh.js";
27
- import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as KeyedAsyncQueue, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-N-q0v3mc.js";
27
+ import { c as enqueueAgentTurn, d as mergeDelayedAgentTurn, f as peekDelayedAgentTurn, i as agentTurnIdempotencyKey, l as isClaimableAgentTurnWorkId, m as KeyedAsyncQueue, o as clearDelayedReleaseHold, p as setDelayedReleaseHold } from "./agent-turn-enqueue-DEStltEg.js";
28
28
  import { t as CommandLane } from "./lanes-BN1DVTrA.js";
29
- import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-CUCOdxhH.js";
29
+ import { i as getAgentTurnRuntime, o as tryGetAgentTurnRuntime } from "./agent-turn-runner-C1u8sVfA.js";
30
30
  import { o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-Ca_njjjH.js";
31
- import { A as isFailoverAssistantError, B as isTimeoutErrorMessage, C as formatRawAssistantErrorForUi, D as isCloudCodeAssistFormatError, E as isBillingAssistantError, F as isTransientHttpError, G as sanitizeGoogleTurnOrdering, H as ensureSessionHeader, I as parseImageDimensionError, L as parseImageSizeError, M as isLikelyContextOverflowError, N as isRateLimitAssistantError, O as isCompactionFailureError, P as isRawApiErrorPayload, R as sanitizeUserFacingText, S as formatBillingErrorMessage, T as isAuthAssistantError, U as resolveBootstrapMaxChars, V as buildBootstrapContextFiles, W as resolveBootstrapTotalMaxChars, _ as downgradeOpenAIReasoningBlocks, a as isMessagingToolDuplicateNormalized, b as classifyFailoverReason, c as sanitizeImageBlocks, d as canonicalizeBase64, f as estimateBase64DecodedBytes, g as downgradeOpenAIFunctionCallReasoningPairs, h as sanitizeToolCallIdsForCloudCodeAssist, j as isFailoverErrorMessage, k as isContextOverflowError, l as sanitizeToolResultImages, m as extractToolResultId, n as validateGeminiTurns, o as normalizeTextForComparison, p as extractToolCallsFromAssistant, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as resolveImageSanitizationLimits, v as isGoogleModelApi, w as getApiErrorPayloadFingerprint, x as formatAssistantErrorText, y as BILLING_ERROR_USER_MESSAGE, z as isAuthPermanentErrorMessage } from "./pi-embedded-helpers-BU47jdPO.js";
32
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as expandToolGroups, y as mergeAlsoAllowPolicy } from "./sandbox-QsMPF2u6.js";
31
+ import { A as isFailoverAssistantError, B as isTimeoutErrorMessage, C as formatRawAssistantErrorForUi, D as isCloudCodeAssistFormatError, E as isBillingAssistantError, F as isTransientHttpError, G as sanitizeGoogleTurnOrdering, H as ensureSessionHeader, I as parseImageDimensionError, L as parseImageSizeError, M as isLikelyContextOverflowError, N as isRateLimitAssistantError, O as isCompactionFailureError, P as isRawApiErrorPayload, R as sanitizeUserFacingText, S as formatBillingErrorMessage, T as isAuthAssistantError, U as resolveBootstrapMaxChars, V as buildBootstrapContextFiles, W as resolveBootstrapTotalMaxChars, _ as downgradeOpenAIReasoningBlocks, a as isMessagingToolDuplicateNormalized, b as classifyFailoverReason, c as sanitizeImageBlocks, d as canonicalizeBase64, f as estimateBase64DecodedBytes, g as downgradeOpenAIFunctionCallReasoningPairs, h as sanitizeToolCallIdsForCloudCodeAssist, j as isFailoverErrorMessage, k as isContextOverflowError, l as sanitizeToolResultImages, m as extractToolResultId, n as validateGeminiTurns, o as normalizeTextForComparison, p as extractToolCallsFromAssistant, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as resolveImageSanitizationLimits, v as isGoogleModelApi, w as getApiErrorPayloadFingerprint, x as formatAssistantErrorText, y as BILLING_ERROR_USER_MESSAGE, z as isAuthPermanentErrorMessage } from "./pi-embedded-helpers-BAjtRn7m.js";
32
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as expandToolGroups, y as mergeAlsoAllowPolicy } from "./sandbox-CQwpubTx.js";
33
33
  import { c as resolveExistingPathsWithinRoot, g as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as DEFAULT_UPLOAD_DIR } from "./extension-relay-auth-DD-U9VUc.js";
34
34
  import { i as isLoopbackHost, u as resolveClientIp } from "./ws-DESjYW7M.js";
35
35
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-DVI9X-9y.js";
36
- import { a as resolveBrowserControlAuth } from "./server-context-CTilcbO4.js";
36
+ import { a as resolveBrowserControlAuth } from "./server-context-BUX61Gwl.js";
37
37
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-D3kpiNaJ.js";
38
38
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CHFrrzxZ.js";
39
39
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-BWPFahWo.js";
@@ -49,12 +49,12 @@ import { n as generateSecureUuid, t as generateSecureToken } from "./secure-rand
49
49
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-NawgaQgc.js";
50
50
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-B8M4IWrd.js";
51
51
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-B6PaaeVv.js";
52
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-BvxLQUTs.js";
52
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-1SSQaGSz.js";
53
53
  import { _ as buildPluginRuntimeIdentity, a as toInternalMessageReceivedContext, b as resolveProviderRuntimeIdentity, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as promptBuildResultToContribution, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as buildPluginTurnIdentity, y as resolveProviderPromptCacheKey } from "./outbound-message-hooks-BBtH97ZV.js";
54
- import { C as logToolExecutionStarted, D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionCompleted, T as logWebhookProcessed, c as logMessageQueued, f as logRunCompleted, j as startDiagnosticHeartbeat, m as logSessionStateChange, p as logRunStarted, s as logMessageProcessed, u as logModelCallError, w as logWebhookError, x as logToolExecutionBlocked } from "./diagnostic-Dv8UWiI0.js";
54
+ import { C as logToolExecutionStarted, D as recordSystemPromptHashComparison, E as logWebhookReceived, F as resetCommandPollCount, M as stopDiagnosticHeartbeat, N as boundDiagnosticContent, O as refreshRunProgress, P as recordCommandPoll, S as logToolExecutionCompleted, T as logWebhookProcessed, c as logMessageQueued, f as logRunCompleted, j as startDiagnosticHeartbeat, m as logSessionStateChange, p as logRunStarted, s as logMessageProcessed, u as logModelCallError, w as logWebhookError, x as logToolExecutionBlocked } from "./diagnostic-lG00b_zg.js";
55
55
  import { d as redactChannelCorrelation, o as getDiagnosticSessionState } from "./diagnostic-session-state-DCr9T3zW.js";
56
- import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-URs9pYSC.js";
57
- import { $ as resolveTelegramMediaPlaceholder, A as releaseAccountOwner, B as buildTelegramGroupFrom, C as fingerprintTelegramToken, D as recordUpdate, E as recordState, F as resolveCronStorePath, G as describeReplyTarget, H as buildTelegramParentPeer, J as hasBotMention, K as expandTextLinks, L as buildGroupLabel, M as splitTelegramCaption, N as withTelegramApiErrorLogging, O as recordWebhook, P as loadCronStore, Q as resolveTelegramGroupAllowFromContext, R as buildSenderLabel, T as recordApiRequest, U as buildTelegramThreadParams, V as buildTelegramGroupPeerId, W as buildTypingThreadParams, X as resolveTelegramDirectPeerId, Y as normalizeForwardedContext, Z as resolveTelegramForumThreadId, _ as isTelegramEditMayHaveLandedError, a as reactMessageTelegram, at as normalizeDmAllowFromWithStore$1, b as renderTelegramHtmlText, c as sendStickerTelegram, ct as toLocationContext, d as wasSentByBot, dt as resolveTelegramTargetChatType, et as resolveTelegramReplyId, f as extractTelegramErrorText, g as isTelegramClientRejection, h as isSafeToRetrySendError, i as editMessageTelegram, it as normalizeAllowFrom$2, j as resolveTelegramFetch, k as registerAccount, lt as isVoiceCompatibleAudio, m as isRecoverableTelegramNetworkError, n as createForumTopicTelegram, nt as resolveTelegramThreadSpec, o as sendMessageTelegram, ot as resolveSenderAllowMatch$1, p as isDefiniteTelegramRequestNonDeliveryError, q as extractTelegramLocation, r as deleteMessageTelegram, rt as isSenderAllowed$1, s as sendPollTelegram, st as formatLocationText, t as buildInlineKeyboard, tt as resolveTelegramStreamMode, u as resolveTelegramVoiceSend, ut as parseTelegramTarget, v as markdownToTelegramChunks, w as getTelegramFleetSupervisor, x as wrapFileReferencesInHtml, y as markdownToTelegramHtml, z as buildSenderName } from "./send-BKkvuHI9.js";
56
+ import { i as enqueueCommandInLane, n as clearCommandLane, o as getCommandLaneSnapshots, s as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-zXu22yak.js";
57
+ import { $ as resolveTelegramMediaPlaceholder, A as releaseAccountOwner, B as buildTelegramGroupFrom, C as fingerprintTelegramToken, D as recordUpdate, E as recordState, F as resolveCronStorePath, G as describeReplyTarget, H as buildTelegramParentPeer, J as hasBotMention, K as expandTextLinks, L as buildGroupLabel, M as splitTelegramCaption, N as withTelegramApiErrorLogging, O as recordWebhook, P as loadCronStore, Q as resolveTelegramGroupAllowFromContext, R as buildSenderLabel, T as recordApiRequest, U as buildTelegramThreadParams, V as buildTelegramGroupPeerId, W as buildTypingThreadParams, X as resolveTelegramDirectPeerId, Y as normalizeForwardedContext, Z as resolveTelegramForumThreadId, _ as isTelegramEditMayHaveLandedError, a as reactMessageTelegram, at as normalizeDmAllowFromWithStore$1, b as renderTelegramHtmlText, c as sendStickerTelegram, ct as toLocationContext, d as wasSentByBot, dt as resolveTelegramTargetChatType, et as resolveTelegramReplyId, f as extractTelegramErrorText, g as isTelegramClientRejection, h as isSafeToRetrySendError, i as editMessageTelegram, it as normalizeAllowFrom$2, j as resolveTelegramFetch, k as registerAccount, lt as isVoiceCompatibleAudio, m as isRecoverableTelegramNetworkError, n as createForumTopicTelegram, nt as resolveTelegramThreadSpec, o as sendMessageTelegram, ot as resolveSenderAllowMatch$1, p as isDefiniteTelegramRequestNonDeliveryError, q as extractTelegramLocation, r as deleteMessageTelegram, rt as isSenderAllowed$1, s as sendPollTelegram, st as formatLocationText, t as buildInlineKeyboard, tt as resolveTelegramStreamMode, u as resolveTelegramVoiceSend, ut as parseTelegramTarget, v as markdownToTelegramChunks, w as getTelegramFleetSupervisor, x as wrapFileReferencesInHtml, y as markdownToTelegramHtml, z as buildSenderName } from "./send-l57G-s8y.js";
58
58
  import { i as buildModelAliasLines, n as resolveModel } from "./model-BbeosLtF.js";
59
59
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CZ9wxcE8.js";
60
60
  import { n as docsSiteUrl, t as DOCS_SITE_URL } from "./docs-site-CknyeB6K.js";
@@ -64,12 +64,12 @@ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileF
64
64
  import { n as resolveLearningWorkspaceDir, t as resolveSessionConsumerAgentIds } from "./session-consumer-agents-5ORspv9c.js";
65
65
  import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Bjfzg68Q.js";
66
66
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-ByEEe-Yd.js";
67
- import { C as stripCarriedTranscriptFromBody, D as registerUnhandledRejectionHandler, a as resolveAutoImageModel, d as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, k as resolveAttachmentKind, l as applyTemplate, m as normalizeMediaUnderstandingChatType, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveTimeoutMs$1, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, w as buildRandomTempFilePath } from "./audio-transcription-runner-BD7UgbNj.js";
67
+ import { C as stripCarriedTranscriptFromBody, D as registerUnhandledRejectionHandler, a as resolveAutoImageModel, d as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, k as resolveAttachmentKind, l as applyTemplate, m as normalizeMediaUnderstandingChatType, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveTimeoutMs$1, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, w as buildRandomTempFilePath } from "./audio-transcription-runner-CJ8YdMv-.js";
68
68
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Wg2M0G8N.js";
69
69
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BzXFjlMV.js";
70
70
  import { r as makeProxyFetch } from "./proxy-fetch-BqVhGKFd.js";
71
- import { a as decodeDataUrl, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-UXLX6qTH.js";
72
- import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, h as extractTextFromChatContent, l as stripDowngradedToolCallText, m as isInsideCode, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as findCodeRegions, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-8OzPnJMh.js";
71
+ import { a as decodeDataUrl, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-D9B_J5Ys.js";
72
+ import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as stripReasoningTagsFromText, h as extractTextFromChatContent, l as stripDowngradedToolCallText, m as isInsideCode, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as findCodeRegions, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-CT_f_S3Y.js";
73
73
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-DiZGbhL2.js";
74
74
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DFNB1c7t.js";
75
75
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-BSm8V_DY.js";
@@ -81,8 +81,8 @@ import { a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parse
81
81
  import { a as AcpRuntimeError, i as ACP_ERROR_CODES, n as requireAcpRuntimeBackend, o as toAcpRuntimeError, r as waitForAcpRuntimeBackendHealthy, s as withAcpRuntimeErrorBoundary, t as getAcpRuntimeBackend } from "./registry-DXmhuMNN.js";
82
82
  import { t as GatewayClient, yn as SESSION_LABEL_MAX_LENGTH } from "./client-BMkNNUux.js";
83
83
  import { b as resolveLeastPrivilegeOperatorScopesForMethod, i as callGatewayLeastPrivilege, n as callGateway, s as randomIdempotencyKey, t as buildGatewayConnectionDetails } from "./call-BIVg1gmJ.js";
84
- import { C as endModelCall, D as onAgentEvent, O as registerAgentRunContext, S as createInlineCodeState, T as emitAgentEvent, _ as handleMessageEnd, b as emitEmbeddedAgentEvent, g as waitForEmbeddedPiRunEnd, h as setActiveEmbeddedRun, i as endInFlightEmbeddedAttempt, n as beginInFlightEmbeddedAttempt, p as queueEmbeddedPiMessage, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, u as isEmbeddedPiRunStreaming, v as handleMessageStart, w as clearAgentRunContext, x as buildCodeSpanIndex, y as handleMessageUpdate } from "./runs-i5IuTzQX.js";
85
- import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-C5SDo7TP.js";
84
+ import { C as endModelCall, D as onAgentEvent, O as registerAgentRunContext, S as createInlineCodeState, T as emitAgentEvent, _ as handleMessageEnd, b as emitEmbeddedAgentEvent, g as waitForEmbeddedPiRunEnd, h as setActiveEmbeddedRun, i as endInFlightEmbeddedAttempt, n as beginInFlightEmbeddedAttempt, p as queueEmbeddedPiMessage, r as clearActiveEmbeddedRun, s as isEmbeddedPiRunActive, t as abortEmbeddedPiRun, u as isEmbeddedPiRunStreaming, v as handleMessageStart, w as clearAgentRunContext, x as buildCodeSpanIndex, y as handleMessageUpdate } from "./runs-BMp7jOLL.js";
85
+ import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-Aw7d03gL.js";
86
86
  import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-DXNyfjMq.js";
87
87
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-6eG5oPr9.js";
88
88
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch--Fn4tlfW.js";
@@ -104,7 +104,7 @@ import { p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLa
104
104
  import { n as loadCostUsageSummary, r as loadSessionCostSummary } from "./session-cost-usage-BTDAzt-T.js";
105
105
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CT5G1TCV.js";
106
106
  import { a as normalizeHttpWebhookUrl, o as inferLegacyName, r as isPipelineHeartbeatInFlight } from "./heartbeat-tick-By0WI8YD.js";
107
- import { a as resolvePinnedMainDmOwnerFromAllowlist, c as filterToolsByPolicy, d as resolveGroupToolPolicy, f as resolveSubagentToolPolicy, i as resolveDmGroupAccessWithLists, l as isToolAllowedByPolicies, n as readStoreAllowFromForDmPolicy, o as resolveCommandAuthorizedFromAuthorizers, s as resolveControlCommandGate, t as DM_GROUP_ACCESS_REASON, u as resolveEffectiveToolPolicy } from "./dm-policy-shared-BLJbsZzf.js";
107
+ import { a as resolvePinnedMainDmOwnerFromAllowlist, c as filterToolsByPolicy, d as resolveGroupToolPolicy, f as resolveSubagentToolPolicy, i as resolveDmGroupAccessWithLists, l as isToolAllowedByPolicies, n as readStoreAllowFromForDmPolicy, o as resolveCommandAuthorizedFromAuthorizers, s as resolveControlCommandGate, t as DM_GROUP_ACCESS_REASON, u as resolveEffectiveToolPolicy } from "./dm-policy-shared-BJNH9gNN.js";
108
108
  import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-Bc2RQAcJ.js";
109
109
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DfNPCJXK.js";
110
110
  import { i as applyPluginAutoEnable, r as resolveTelegramPollingTimeout } from "./polling-timeout-DoMlNx_D.js";
@@ -8140,7 +8140,7 @@ async function routeReply(params) {
8140
8140
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
8141
8141
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
8142
8142
  try {
8143
- const { deliverOutboundPayloads } = await import("./deliver-C5SDo7TP.js").then((n) => n.n);
8143
+ const { deliverOutboundPayloads } = await import("./deliver-Aw7d03gL.js").then((n) => n.n);
8144
8144
  const outboundSession = buildOutboundSessionContext({
8145
8145
  cfg,
8146
8146
  agentId: resolvedAgentId,
@@ -13281,7 +13281,7 @@ async function sendTranscriptEcho(params) {
13281
13281
  }
13282
13282
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
13283
13283
  try {
13284
- const { deliverOutboundPayloads } = await import("./deliver-C5SDo7TP.js").then((n) => n.n);
13284
+ const { deliverOutboundPayloads } = await import("./deliver-Aw7d03gL.js").then((n) => n.n);
13285
13285
  await deliverOutboundPayloads({
13286
13286
  cfg,
13287
13287
  channel: normalizedChannel,
@@ -48106,7 +48106,7 @@ async function deliverSessionMaintenanceWarning(params) {
48106
48106
  return;
48107
48107
  }
48108
48108
  try {
48109
- const { deliverOutboundPayloads } = await import("./deliver-C5SDo7TP.js").then((n) => n.n);
48109
+ const { deliverOutboundPayloads } = await import("./deliver-Aw7d03gL.js").then((n) => n.n);
48110
48110
  const outboundSession = buildOutboundSessionContext({
48111
48111
  cfg: params.cfg,
48112
48112
  sessionKey: params.sessionKey
@@ -53228,7 +53228,7 @@ async function describeStickerImage(params) {
53228
53228
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
53229
53229
  try {
53230
53230
  const buffer = await fs$1.readFile(imagePath);
53231
- const { describeImageWithModel } = await import("./provider-image-UXLX6qTH.js").then((n) => n.n);
53231
+ const { describeImageWithModel } = await import("./provider-image-D9B_J5Ys.js").then((n) => n.n);
53232
53232
  return (await describeImageWithModel({
53233
53233
  buffer,
53234
53234
  fileName: "sticker.webp",
@@ -54818,7 +54818,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
54818
54818
  let transcript;
54819
54819
  let carry;
54820
54820
  if (needsPreflightTranscription) try {
54821
- const { transcribeFirstAudio } = await import("./audio-preflight-bEi-KkBn.js");
54821
+ const { transcribeFirstAudio } = await import("./audio-preflight-CehYz7wU.js");
54822
54822
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
54823
54823
  if (uploadable.length > 0) {
54824
54824
  const preflight = await transcribeFirstAudio({
@@ -59500,7 +59500,7 @@ function createDefaultDeps() {
59500
59500
  };
59501
59501
  },
59502
59502
  sendMessageTelegram: async (...args) => {
59503
- const { sendMessageTelegram } = await import("./send-BKkvuHI9.js").then((n) => n.l);
59503
+ const { sendMessageTelegram } = await import("./send-l57G-s8y.js").then((n) => n.l);
59504
59504
  return await sendMessageTelegram(...args);
59505
59505
  },
59506
59506
  sendMessageDiscord: async (...args) => {
@@ -75323,7 +75323,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
75323
75323
  let audioPreflightCarry;
75324
75324
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
75325
75325
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
75326
- const { transcribeFirstAudio } = await import("./audio-preflight-bEi-KkBn.js");
75326
+ const { transcribeFirstAudio } = await import("./audio-preflight-CehYz7wU.js");
75327
75327
  const preflight = await transcribeFirstAudio({
75328
75328
  ctx: {
75329
75329
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -81334,7 +81334,7 @@ async function runBeforeToolCallHook(args) {
81334
81334
  const params = args.params;
81335
81335
  if (args.ctx?.sessionKey) {
81336
81336
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DCr9T3zW.js").then((n) => n.n);
81337
- const { logToolLoopAction } = await import("./diagnostic-Dv8UWiI0.js").then((n) => n.r);
81337
+ const { logToolLoopAction } = await import("./diagnostic-lG00b_zg.js").then((n) => n.r);
81338
81338
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DHQv318m.js");
81339
81339
  const sessionState = getDiagnosticSessionState({
81340
81340
  sessionKey: args.ctx.sessionKey,
@@ -84024,7 +84024,7 @@ function estimateMessageChars$1(message) {
84024
84024
  if (message.role === "toolResult") return estimateTextAndImageChars(message.content);
84025
84025
  return 256;
84026
84026
  }
84027
- function estimateContextChars$1(messages) {
84027
+ function estimateContextChars(messages) {
84028
84028
  return messages.reduce((sum, m) => sum + estimateMessageChars$1(m), 0);
84029
84029
  }
84030
84030
  function findAssistantCutoffIndex(messages, keepLastAssistants) {
@@ -84072,7 +84072,7 @@ function pruneContextMessages(params) {
84072
84072
  const firstUserIndex = findFirstUserIndex(messages);
84073
84073
  const pruneStartIndex = firstUserIndex === null ? messages.length : firstUserIndex;
84074
84074
  const isToolPrunable = params.isToolPrunable ?? makeToolPrunablePredicate(settings.tools);
84075
- let totalChars = estimateContextChars$1(messages);
84075
+ let totalChars = estimateContextChars(messages);
84076
84076
  let ratio = totalChars / charWindow;
84077
84077
  if (ratio < settings.softTrimRatio) return messages;
84078
84078
  const prunableToolIndexes = [];
@@ -89419,32 +89419,35 @@ function estimateMessageCharsCached(msg, cache) {
89419
89419
  cache.set(msg, estimated);
89420
89420
  return estimated;
89421
89421
  }
89422
- function estimateContextChars(messages, cache) {
89423
- return messages.reduce((sum, msg) => sum + estimateMessageCharsCached(msg, cache), 0);
89424
- }
89425
- function invalidateMessageCharsCacheEntry(cache, msg) {
89426
- cache.delete(msg);
89427
- }
89428
89422
 
89429
89423
  //#endregion
89430
89424
  //#region src/agents/pi-embedded-runner/tool-result-context-guard.ts
89431
- const CONTEXT_INPUT_HEADROOM_RATIO = .75;
89425
+ const AGGREGATE_TOOL_RESULT_CONTEXT_SHARE = .5;
89432
89426
  const SINGLE_TOOL_RESULT_CONTEXT_SHARE = .5;
89427
+ const MIN_TRIMMED_TOOL_RESULT_CHARS = 2e3;
89428
+ const TAIL_SHARE = .3;
89429
+ const MAX_TAIL_CHARS = 4e3;
89430
+ const TOOL_RESULT_TEXT_WEIGHT = CHARS_PER_TOKEN_ESTIMATE / TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE;
89433
89431
  const CONTEXT_LIMIT_TRUNCATION_NOTICE = "[truncated: output exceeded context limit]";
89434
- const CONTEXT_LIMIT_TRUNCATION_SUFFIX = `\n${CONTEXT_LIMIT_TRUNCATION_NOTICE}`;
89435
89432
  const PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER = "[compacted: tool output removed to free context]";
89436
- function truncateTextToBudget(text, maxChars) {
89433
+ function formatOmissionMarker(omittedChars) {
89434
+ return `\n\n${CONTEXT_LIMIT_TRUNCATION_NOTICE} [${omittedChars} chars omitted between head and tail]\n\n`;
89435
+ }
89436
+ function truncateTextHeadTail(text, maxChars) {
89437
89437
  if (text.length <= maxChars) return text;
89438
- if (maxChars <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
89439
- const bodyBudget = Math.max(0, maxChars - CONTEXT_LIMIT_TRUNCATION_SUFFIX.length);
89438
+ const bodyBudget = maxChars - formatOmissionMarker(text.length).length;
89440
89439
  if (bodyBudget <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
89441
- let cutPoint = bodyBudget;
89442
- const newline = text.lastIndexOf("\n", bodyBudget);
89443
- if (newline > bodyBudget * .7) cutPoint = newline;
89444
- return text.slice(0, cutPoint) + CONTEXT_LIMIT_TRUNCATION_SUFFIX;
89440
+ const tailBudget = Math.min(Math.floor(bodyBudget * TAIL_SHARE), MAX_TAIL_CHARS);
89441
+ let head = sliceUtf16Safe(text, 0, bodyBudget - tailBudget);
89442
+ const headNewline = head.lastIndexOf("\n");
89443
+ if (headNewline > head.length * .8) head = head.slice(0, headNewline);
89444
+ let tail = tailBudget > 0 ? sliceUtf16Safe(text, -tailBudget) : "";
89445
+ const tailNewline = tail.indexOf("\n");
89446
+ if (tailNewline !== -1 && tailNewline < tail.length * .2) tail = tail.slice(tailNewline + 1);
89447
+ return head + formatOmissionMarker(text.length - head.length - tail.length) + tail;
89445
89448
  }
89446
89449
  function replaceToolResultText(msg, text) {
89447
- const content = msg.content;
89450
+ const content = "content" in msg ? msg.content : void 0;
89448
89451
  const replacementContent = typeof content === "string" || content === void 0 ? text : [{
89449
89452
  type: "text",
89450
89453
  text
@@ -89456,68 +89459,89 @@ function replaceToolResultText(msg, text) {
89456
89459
  };
89457
89460
  }
89458
89461
  function truncateToolResultToChars(msg, maxChars, cache) {
89459
- if (!isToolResultMessage(msg)) return msg;
89460
89462
  if (estimateMessageCharsCached(msg, cache) <= maxChars) return msg;
89461
89463
  const rawText = getToolResultText(msg);
89462
89464
  if (!rawText) return replaceToolResultText(msg, CONTEXT_LIMIT_TRUNCATION_NOTICE);
89463
- return replaceToolResultText(msg, truncateTextToBudget(rawText, maxChars));
89464
- }
89465
- function compactExistingToolResultsInPlace(params) {
89466
- const { messages, charsNeeded, cache } = params;
89467
- if (charsNeeded <= 0) return 0;
89468
- let reduced = 0;
89469
- for (let i = 0; i < messages.length; i++) {
89470
- const msg = messages[i];
89471
- if (!isToolResultMessage(msg)) continue;
89472
- const before = estimateMessageCharsCached(msg, cache);
89473
- if (before <= 48) continue;
89474
- applyMessageMutationInPlace(msg, replaceToolResultText(msg, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER), cache);
89475
- const after = estimateMessageCharsCached(msg, cache);
89476
- if (after >= before) continue;
89477
- reduced += before - after;
89478
- if (reduced >= charsNeeded) break;
89479
- }
89480
- return reduced;
89481
- }
89482
- function applyMessageMutationInPlace(target, source, cache) {
89483
- if (target === source) return;
89484
- const targetRecord = target;
89485
- const sourceRecord = source;
89486
- for (const key of Object.keys(targetRecord)) if (!(key in sourceRecord)) delete targetRecord[key];
89487
- Object.assign(targetRecord, sourceRecord);
89488
- if (cache) invalidateMessageCharsCacheEntry(cache, target);
89489
- }
89490
- function enforceToolResultContextBudgetInPlace(params) {
89491
- const { messages, contextBudgetChars, maxSingleToolResultChars } = params;
89492
- const estimateCache = createMessageCharEstimateCache();
89493
- for (const message of messages) {
89465
+ return replaceToolResultText(msg, truncateTextHeadTail(rawText, Math.floor(maxChars / TOOL_RESULT_TEXT_WEIGHT)));
89466
+ }
89467
+ function enforceToolResultContextBudget(params) {
89468
+ const { messages, aggregateBudgetChars, maxSingleToolResultChars } = params;
89469
+ const cache = createMessageCharEstimateCache();
89470
+ const currentRoundStart = messages.findLastIndex((message) => message.role === "user") + 1;
89471
+ let guarded;
89472
+ let originalChars = 0;
89473
+ let totalChars = 0;
89474
+ let cappedCount = 0;
89475
+ const earlierRoundIndexes = [];
89476
+ for (const [index, message] of messages.entries()) {
89494
89477
  if (!isToolResultMessage(message)) continue;
89495
- applyMessageMutationInPlace(message, truncateToolResultToChars(message, maxSingleToolResultChars, estimateCache), estimateCache);
89496
- }
89497
- let currentChars = estimateContextChars(messages, estimateCache);
89498
- if (currentChars <= contextBudgetChars) return;
89499
- compactExistingToolResultsInPlace({
89478
+ originalChars += estimateMessageCharsCached(message, cache);
89479
+ const capped = truncateToolResultToChars(message, maxSingleToolResultChars, cache);
89480
+ if (capped !== message) {
89481
+ guarded ??= messages.slice();
89482
+ guarded[index] = capped;
89483
+ cappedCount += 1;
89484
+ }
89485
+ totalChars += estimateMessageCharsCached(capped, cache);
89486
+ if (index < currentRoundStart) earlierRoundIndexes.push(index);
89487
+ }
89488
+ const minTrimmedChars = MIN_TRIMMED_TOOL_RESULT_CHARS * TOOL_RESULT_TEXT_WEIGHT;
89489
+ let trimmedCount = 0;
89490
+ let clearedCount = 0;
89491
+ for (const clear of [false, true]) for (const index of earlierRoundIndexes) {
89492
+ if (totalChars <= aggregateBudgetChars) break;
89493
+ const current = (guarded ?? messages)[index];
89494
+ if (!current) continue;
89495
+ const before = estimateMessageCharsCached(current, cache);
89496
+ let next = current;
89497
+ if (clear) next = replaceToolResultText(current, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER);
89498
+ else if (before > minTrimmedChars) next = truncateToolResultToChars(current, Math.max(minTrimmedChars, before - (totalChars - aggregateBudgetChars)), cache);
89499
+ const after = estimateMessageCharsCached(next, cache);
89500
+ if (after >= before) continue;
89501
+ guarded ??= messages.slice();
89502
+ guarded[index] = next;
89503
+ totalChars -= before - after;
89504
+ if (clear) clearedCount += 1;
89505
+ else trimmedCount += 1;
89506
+ }
89507
+ if (!guarded) return messages;
89508
+ log$27.info("tool-result context guard reduced tool output", {
89509
+ aggregateBudgetChars,
89510
+ maxSingleToolResultChars,
89511
+ toolResultCharsBefore: originalChars,
89512
+ toolResultCharsAfter: totalChars,
89513
+ freedChars: originalChars - totalChars,
89514
+ cappedCount,
89515
+ trimmedCount,
89516
+ clearedCount,
89517
+ currentRoundToolResults: messages.slice(currentRoundStart).filter(isToolResultMessage).length
89518
+ });
89519
+ return guarded;
89520
+ }
89521
+ /**
89522
+ * Bounds tool-result text in a model-call message list without mutating it. Every result is
89523
+ * head/tail-capped to half the window; when all tool results together exceed half the window,
89524
+ * earlier-round results are trimmed (then, as a last resort, replaced) oldest-first. Results
89525
+ * after the last user message are never evicted for the aggregate budget.
89526
+ */
89527
+ function createToolResultContextGuard(params) {
89528
+ const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
89529
+ const aggregateBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * AGGREGATE_TOOL_RESULT_CONTEXT_SHARE));
89530
+ const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
89531
+ return (messages) => enforceToolResultContextBudget({
89500
89532
  messages,
89501
- charsNeeded: currentChars - contextBudgetChars,
89502
- cache: estimateCache
89533
+ aggregateBudgetChars,
89534
+ maxSingleToolResultChars
89503
89535
  });
89504
89536
  }
89505
89537
  function installToolResultContextGuard(params) {
89506
- const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
89507
- const contextBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * CONTEXT_INPUT_HEADROOM_RATIO));
89508
- const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
89538
+ const guard = createToolResultContextGuard(params);
89509
89539
  const mutableAgent = params.agent;
89510
89540
  const originalTransformContext = mutableAgent.transformContext;
89511
- mutableAgent.transformContext = (async (messages, signal) => {
89541
+ mutableAgent.transformContext = async (messages, signal) => {
89512
89542
  const transformed = originalTransformContext ? await originalTransformContext.call(mutableAgent, messages, signal) : messages;
89513
- const contextMessages = Array.isArray(transformed) ? transformed : messages;
89514
- enforceToolResultContextBudgetInPlace({
89515
- messages: contextMessages,
89516
- contextBudgetChars,
89517
- maxSingleToolResultChars
89518
- });
89519
- return contextMessages;
89520
- });
89543
+ return guard(Array.isArray(transformed) ? transformed : messages);
89544
+ };
89521
89545
  return () => {
89522
89546
  mutableAgent.transformContext = originalTransformContext;
89523
89547
  };
@@ -90849,7 +90873,7 @@ function installAttemptInputTransform(params) {
90849
90873
  }).catch((err) => {
90850
90874
  log$27.warn(`context projection artifact persist failed: ${String(err)}`);
90851
90875
  });
90852
- const finalMessages = await runTransformLlmInputHooks({
90876
+ const hookFinalMessages = await runTransformLlmInputHooks({
90853
90877
  messages: currentMessages,
90854
90878
  hookRunner: params.hookRunner,
90855
90879
  hookCtx: params.hookCtx,
@@ -90858,6 +90882,7 @@ function installAttemptInputTransform(params) {
90858
90882
  }).catch((err) => {
90859
90883
  log$27.warn(`transform_llm_input hook failed: ${String(err)}`);
90860
90884
  }) ?? currentMessages;
90885
+ const finalMessages = params.guardToolResults ? params.guardToolResults(hookFinalMessages) : hookFinalMessages;
90861
90886
  params.onFinalInputMessages?.(finalMessages);
90862
90887
  return finalMessages;
90863
90888
  };
@@ -91485,10 +91510,7 @@ async function runEmbeddedAttempt(params) {
91485
91510
  }));
91486
91511
  applySystemPromptOverrideToSession(session, systemPromptText);
91487
91512
  const activeSession = session;
91488
- removeToolResultContextGuard = installToolResultContextGuard({
91489
- agent: activeSession.agent,
91490
- contextWindowTokens: Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS))
91491
- });
91513
+ const toolResultContextWindowTokens = Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS));
91492
91514
  const cacheTrace = createCacheTrace({
91493
91515
  cfg: params.config,
91494
91516
  env: process.env,
@@ -91899,6 +91921,7 @@ async function runEmbeddedAttempt(params) {
91899
91921
  cleanUserText: params.prompt,
91900
91922
  provider: params.provider,
91901
91923
  modelId: params.modelId,
91924
+ guardToolResults: createToolResultContextGuard({ contextWindowTokens: toolResultContextWindowTokens }),
91902
91925
  onFinalInputMessages: (messages) => {
91903
91926
  modelCallContext.inputMessages = messages;
91904
91927
  modelCallContext.systemPrompt = systemPromptText;
@@ -91938,6 +91961,10 @@ async function runEmbeddedAttempt(params) {
91938
91961
  else await abortable(activeSession.prompt(params.prompt));
91939
91962
  } finally {
91940
91963
  removeAttemptInputTransform();
91964
+ removeToolResultContextGuard = installToolResultContextGuard({
91965
+ agent: activeSession.agent,
91966
+ contextWindowTokens: toolResultContextWindowTokens
91967
+ });
91941
91968
  }
91942
91969
  } catch (err) {
91943
91970
  promptError = err;
@@ -1,7 +1,7 @@
1
1
  import "./globals-ZyVsnNcg.js";
2
2
  import "./paths-BMo6kTge.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DLKs6VzZ.js";
4
- import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID, u as isSessionRecoveryTurnPayload } from "./agent-turn-enqueue-N-q0v3mc.js";
4
+ import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID, u as isSessionRecoveryTurnPayload } from "./agent-turn-enqueue-DEStltEg.js";
5
5
  import { createHash } from "node:crypto";
6
6
 
7
7
  //#region src/acp/control-plane/agent-turn-recovery.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-BBP4yd-2.js";
2
2
  import "./utils-CMEUUHmM.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DDZBycwS.js";
4
- import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID, u as isSessionRecoveryTurnPayload } from "./agent-turn-enqueue-Cqo34Swm.js";
4
+ import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID, u as isSessionRecoveryTurnPayload } from "./agent-turn-enqueue-DzWOPhgy.js";
5
5
  import { createHash } from "node:crypto";
6
6
 
7
7
  //#region src/acp/control-plane/agent-turn-recovery.ts
@@ -4,7 +4,7 @@ import { N as parseAgentSessionKey } from "./session-key-B1wN38jV.js";
4
4
  import { Qa as CLIENT_RESUME_RECORD_KIND, eo as isVerificationStoreError } from "./model-selection-k68XU4oS.js";
5
5
  import { l as onDiagnosticEvent, s as emitDiagnosticEvent } from "./task-run-types-B5uIC1Y7.js";
6
6
  import { t as redactIdentifier } from "./redact-identifier-CSPL9LuH.js";
7
- import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID } from "./agent-turn-enqueue-Cqo34Swm.js";
7
+ import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID } from "./agent-turn-enqueue-DzWOPhgy.js";
8
8
  import { n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BntUAL0_.js";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { readFileSync } from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BCjklMkJ.js";
3
- import { Wi as createWork } from "./model-selection-9qbqwsOT.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-CPYnUTN4.js";
3
+ import { Wi as createWork } from "./model-selection-CdZITU0t.js";
4
4
  import { t as redactIdentifier } from "./redact-identifier-WYElxwAZ.js";
5
5
  import { t as CommandLane } from "./lanes-DTaUAkeG.js";
6
6
  import { join } from "node:path";
@@ -178,7 +178,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
178
178
  return true;
179
179
  }
180
180
  async function defaultExecute(claim) {
181
- const { runMainAgentTurn } = await import("./pi-embedded-Qyba-Rws.js").then((n) => n.o);
181
+ const { runMainAgentTurn } = await import("./pi-embedded-B9bOSjfE.js").then((n) => n.o);
182
182
  return runMainAgentTurn(claim.message.payload);
183
183
  }
184
184
  async function armIdleWaiter(sessionKey, backbone, opts) {
@@ -190,7 +190,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
190
190
  startedAt: opts?.startedAt ?? Date.now()
191
191
  };
192
192
  waiters.set(sessionKey, handle);
193
- const { getQueueSize } = await import("./command-queue-BTAxEdto.js").then((n) => n.r);
193
+ const { getQueueSize } = await import("./command-queue-SzKgkaS6.js").then((n) => n.r);
194
194
  if (handle.cancelled || closing) return;
195
195
  const release = (force = false) => {
196
196
  releaseDelayedAgentTurns(backboneBySession.get(sessionKey) ?? backbone, sessionKey, force ? { force: true } : void 0);
@@ -212,7 +212,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
212
212
  }
213
213
  async function enqueueAgentTurn(backbone, payload, opts) {
214
214
  if (!payload.jobId.trim() || !payload.runId.trim()) throw new Error("agent-turn enqueue requires jobId and runId");
215
- const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-BTAxEdto.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
215
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-SzKgkaS6.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
216
216
  const policy = payload.busy ?? "skip";
217
217
  const id = agentTurnIdempotencyKey(payload);
218
218
  if (isBusy && policy === "skip") return `${id}:skipped`;
@@ -4,7 +4,7 @@ import { Di as isVerificationStoreError, Ti as CLIENT_RESUME_RECORD_KIND } from
4
4
  import { N as parseAgentSessionKey } from "./session-key-D4YLCjDF.js";
5
5
  import { l as onDiagnosticEvent, s as emitDiagnosticEvent } from "./task-run-types-B6n0W8Rb.js";
6
6
  import { t as redactIdentifier } from "./redact-identifier-BcqQpFrh.js";
7
- import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID } from "./agent-turn-enqueue-N-q0v3mc.js";
7
+ import { n as AGENT_TURN_DEFAULT_LEASE_MS, r as AGENT_TURN_TOPIC, t as AGENT_TURN_CONSUMER_ID } from "./agent-turn-enqueue-DEStltEg.js";
8
8
  import { n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-Ca_njjjH.js";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { dirname, join, parse } from "node:path";
@@ -178,7 +178,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
178
178
  return true;
179
179
  }
180
180
  async function defaultExecute(claim) {
181
- const { runMainAgentTurn } = await import("./pi-embedded-wjGM_bNN.js").then((n) => n.i);
181
+ const { runMainAgentTurn } = await import("./pi-embedded-B6sr5IdC.js").then((n) => n.i);
182
182
  return runMainAgentTurn(claim.message.payload);
183
183
  }
184
184
  async function armIdleWaiter(sessionKey, backbone, opts) {