Repository navigation
Preserve provider error details in high-level streams - #25
Open
agocharbhatia wants to merge 1 commit into
Open
agocharbhatia wants to merge 1 commit into
agocharbhatia wants to merge 1 commit into
Conversation
This branch has not been deployed
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.
Problem
The current high-level Session/RunStream API drops nested provider error identity when converting ErrorNotification to ErrorEvent. Callers receive the generic top-level category and message, even when the parsed notification carries a specific name such as LLMInvalidRequestError.
Issue #5 describes this integration need. PR #6 fixed it for the legacy stream API; the separate current high-level API still omits the corresponding data. This change addresses that high-level parity gap.
Change
Add optional keyword-only error_name and error_detail fields to the high-level ErrorEvent, and forward the parsed nested payload in the existing converter. Use the established recursive freezing helper so event details remain immutable and detached from caller input.
The first three positional constructor arguments, top-level error category, timestamp, terminal behavior and absent-detail defaults remain compatible. No transport, retry, authentication or permission behavior changes.
Validation
Only deterministic notification fixtures were used. No live CLI, backend or provider calls, production incidence, performance measurement or hosted-CI pass is claimed.