Skip to content

feat: Switchable streaming and non-streaming model output#170

Merged
frostming merged 1 commit intomainfrom
feat/opt-in-stream
Apr 16, 2026
Merged

feat: Switchable streaming and non-streaming model output#170
frostming merged 1 commit intomainfrom
feat/opt-in-stream

Conversation

@frostming
Copy link
Copy Markdown
Collaborator

  • 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

- 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>
@frostming frostming merged commit 963df65 into main Apr 16, 2026
5 checks passed
@frostming frostming deleted the feat/opt-in-stream branch April 16, 2026 02:44
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant