fix(subagent): keep output past an empty terminal message with one selection rule
A max-tokens step that assembled only tool-call blocks appends an EMPTY-content assistant/message (the usage host). Three consumers each hand-rolled output selection and all let it erase the child's real answer: the in-process readResult and the Activation subagent/end capture took the last message unfiltered, and the SDK backend let any message beat its streamed-text fallback; the in-process driver also had no streamed-text fallback for cancelled turns. dsh-subagent now owns the canonical rule in src/assistant-output.ts (last non-empty assistant message, else the accumulated text-delta stream) and all three consumers apply it. Regression tests in all three packages fail under the previous selections. Closes #1514
This commit is contained in:
@@ -2,5 +2,5 @@
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write docs/event-producer-consumer.md
|
||||
event-producer-consumer.md: 11eecf81a4eccadf2b97026154a78e4ed8a72164
|
||||
event-producer-consumer.zh.md: 2db5e596465b4adaf98c1b05692b61de3ced47b9
|
||||
event-producer-consumer.md: 1849bf5bd4df5e58370b1eaf5846f14a604fa4f6
|
||||
event-producer-consumer.zh.md: f280c50076fa2799e52556aa31a6d2316c151e17
|
||||
|
||||
Reference in New Issue
Block a user