feat(agent-scan): support custom transforms for SSE responses - #600
Open
ichaobuster wants to merge 1 commit into
Open
feat(agent-scan): support custom transforms for SSE responses#600ichaobuster wants to merge 1 commit into
ichaobuster wants to merge 1 commit into
Conversation
Collaborator
|
Thanks @ichaobuster. Clean fix for a real gap: SSE events were normalized before Verification I did against the branch:
Two minor, non-blocking points:
LGTM overall — the test coverage is the part I'd most want to keep. |
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
Custom HTTP agent providers can configure
transform_responseto extract output from non-standard response payloads. For SSE responses, however, each event was normalized before_extract_output()applied the transform. A transform written for the original event shape (for example,stream.text) therefore could not extract the streaming content.Changes
transform_responseinto the SSE parser and apply it to each JSONdata:eventcontentwithraw_sse: falseBehavior
type: keep the generic transformed response shape instead of treating them as Anthropic events.Scope
This change only affects SSE handling for HTTP providers with an optional response transform. Non-SSE responses and existing provider-specific parsers remain unchanged.
Testing
python -m pytest -vv pytests/test_agent_adapter.py— 4 passedgit diff --check— passedThe unit tests cover HTTP integration, transform aggregation, complete fallback, mixed event shapes, token usage, and custom events containing a top-level
typefield.