Skip to content

fix(aiclient): propagate messages streaming provider errors - #3281

Open
alexcastgonz (pcbeingused333) wants to merge 2 commits into
microsoft:mainfrom
pcbeingused333:fix/c2482-messages-stream-error
Open

alexcastgonz (pcbeingused333) wants to merge 2 commits into
microsoft:mainfrom
pcbeingused333:fix/c2482-messages-stream-error

Conversation

@pcbeingused333

Copy link
Copy Markdown
Contributor

Messages streaming can return a partial answer as a successful completion when the provider sends an SSE error event, such as overloaded_error, after a text delta.

The Messages stream event union omitted error events, so the decoder silently returned an empty piece. Add the error event type and return its message as StreamPiece.error. The existing stream consumer throws that error, preventing the partial output from being treated as a completed response.

Testing and validation

Add parameterized regression coverage for provider errors both before any text and after a partial text delta. The tests assert that the decoder returns an Error with the provider message and no text or usage on the error piece.

Both new cases fail on main (expected undefined to be an instance of Error) and pass with this change; the rest of the MessagesWireApiProvider suite still passes. No paid API calls are required.

This change was prepared with AI assistance (Codex).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

This branch has not been deployed

No deployments
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