Conversation
added 3 commits
November 6, 2025 21:22
- Introduce StreamCallbacks with generic OnEvent and typed hooks for messages, reasoning, command exec, patches + per-file changes, web search, MCP tool calls, todo lists, and error items. - Wire callbacks into Thread.runStreamed so events are first dispatched to callbacks, then forwarded on the Events() channel to preserve existing behavior and backpressure semantics. - Add TurnOptions.Callbacks to opt into the sugar layer without breaking existing users.
- Assert Message, Command, Patch, FileChange, WebSearch callbacks fire with correct stages and payloads. - Ensure draining Events() remains required while using callbacks.
- Add README section with guidance, usage snippet, and backpressure note. - Provide examples/streaming_callbacks showing typed callback usage.
Contributor
Codex Review SummaryRecommendation: ✅ Ready to merge – no blocking issues detected. Summary: Inline findings:
Generated at 2025-11-06T20:28:06.800Z. |
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.
This PR introduces an optional sugar layer for handling typed streaming events without writing a large switch over ThreadEvent.
Summary
Notes
closes SDK DX: streaming callbacks (OnMessage/OnCommand/OnWebSearch/OnPatch/OnFileChange) #14