🤖 fix: send queued messages on tool-call-end #665
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Queued messages are now sent as soon as a tool completes execution, rather than waiting for the entire stream to finish.
Problem
Previously, queued messages were only sent on
stream-end. In tool-using flows, this meant users had to wait for:This created unnecessary latency when queueing messages during tool execution.
Solution
Extracted a shared
sendQueuedMessages()method called from both:tool-call-end: Sends queued messages immediately when tool completesstream-end: Continues to handle non-tool streamsThe first handler to fire clears the queue, so no duplicate sends occur. Non-tool streams continue to work exactly as before.
Changes
sendQueuedMessages()private methodtool-call-endhandler to auto-sendstream-endhandler to use shared methodNet: +18 lines
Generated with
mux