Results / stream.error-midstream
Provider error after streamed text
An HTTP 200 stream delivers partial text, then an error event instead of the rest of the answer.
Bug class: Provider errors surfaced as the wrong kind of error, or not at all
The library reports a provider error as a different kind of error, loses details such as the retry delay, or returns an error as a normal result.
Retries and backoff misbehave, and callers can't tell a rate limit from a bad request.
Requirements
| Level | Id | Check | Requirement | Providers |
|---|---|---|---|---|
| MUST | error-reported | outcome_is_error | The caller receives the provider's error, whether raised, returned or yielded. | All |
Fixtures
| Provider | Tier | any-llm | litellm | pydantic-ai | tanstack-ai | vercel-ai |
|---|---|---|---|---|---|---|
| anthropic | derived | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS |
| gemini | derived | ✓ PASS | ✓ PASS | ✓ PASS | ✗ WRONG | ✓ PASS |
| ollama | derived | ✓ PASS | ✓ PASS | – UNSUPPORTED | ✓ PASS | – UNSUPPORTED |
| openai-chat | derived | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS |
| openai-responses | derived | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS | ✓ PASS |