feat: Switchable streaming and non-streaming model output#170
Merged
Conversation
- Updated `run_model` and `run_model_stream` hooks to allow for both synchronous and asynchronous execution. - Introduced a `stream_output` flag in `ChannelManager` and `BubFramework` to control streaming behavior. - Modified `process_inbound` to handle streaming output based on the new flag. - Enhanced `Agent` class to support streaming output through `run_stream` method. - Updated documentation to reflect changes in streaming capabilities and usage. - Added tests to verify the correct behavior of streaming and non-streaming executions. Signed-off-by: Frost Ming <me@frostming.com>
oilbeater
added a commit
to oilbeater/bub
that referenced
this pull request
Apr 16, 2026
The stream_output flag introduced in bubbuild#170 defaults to False, which bypasses CliChannel.stream_events() and relies on send() for output. Since send() only handled errors, normal responses were silently dropped. - Force stream_output=True for `bub chat` so streaming remains the primary display path. - Update CliChannel.send() to render all message kinds as a fallback. Made-with: Cursor
oilbeater
added a commit
to oilbeater/bub
that referenced
this pull request
Apr 16, 2026
The stream_output flag introduced in bubbuild#170 defaults to False, which bypasses CliChannel.stream_events() and relies on send() for output. Since send() only handled errors, normal responses were silently dropped. - Force stream_output=True for `bub chat` so streaming remains the primary display path. - Store stream_output override as an instance variable instead of mutating the settings object. Made-with: Cursor
frostming
pushed a commit
that referenced
this pull request
Apr 16, 2026
…171) The stream_output flag introduced in #170 defaults to False, which bypasses CliChannel.stream_events() and relies on send() for output. Since send() only handled errors, normal responses were silently dropped. - Force stream_output=True for `bub chat` so streaming remains the primary display path. - Store stream_output override as an instance variable instead of mutating the settings object. Made-with: Cursor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
run_modelandrun_model_streamhooks to allow for both synchronous and asynchronous execution.stream_outputflag inChannelManagerandBubFrameworkto control streaming behavior.process_inboundto handle streaming output based on the new flag.Agentclass to support streaming output throughrun_streammethod.Signed-off-by: Frost Ming me@frostming.com