Add SSE streaming endpoints to HttpApi
Add typed Server-Sent Events streaming endpoints, encoders/decoders, and client handling to HttpApi.
effect-sse-httpapi-streaming
Normalized profile
What this task asks for
Add typed Server-Sent Events streaming endpoints, encoders/decoders, and client handling to HttpApi. The HttpApi framework should support endpoints that produce typed event streams via SSE. Only sse() marks an endpoint as SSE. Support Schema.TaggedClass and wrapped (including transformed) or suspended union members when extracting union member tags. FormatMessage(msg) returns an SSE wire-format string with multi-line data support. SSE endpoints return a Stream instead of a plain value. The client must validate response status before streaming so error responses still fail the outer Effect.
Intent
- feature implementation
- performance optimization
- data transformation
Work surfaces
- HTTP API
- HTTP server
- parser
- cache
- serialization
Technology
- Effect
- Server-Sent Events
- JSON
Expected artifacts
- repository patch
What makes it difficult
- changes span multiple components or interfaces
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | Mixed | 1/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | No passes | 0/4 |