Add SSE response mode to the 2026 streamable-HTTP server entry (#3001)

This commit is contained in:
Max 2026-06-26 19:09:08 +02:00 • committed by GitHub
commit 067f90578c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 517 additions and 112 deletions

View file

@ -31,8 +31,6 @@ era = "dual-in-body"
multi_connection = true
[story.streaming]
# progress + log notifications dropped on the modern streamable-HTTP path pending SSE wiring
xfail = ["http-asgi:modern"]
[story.mrtr]
era = "modern"

View file

@ -17,16 +17,12 @@ uv run python -m stories.streaming.client
uv run python -m stories.streaming.client --server server_lowlevel
# HTTP — the client self-hosts the server on a free port, runs, then tears it
# down (--legacy: see the note below)
uv run python -m stories.streaming.client --http --legacy
# down
uv run python -m stories.streaming.client --http
# same, against the lowlevel-API server variant
uv run python -m stories.streaming.client --http --legacy --server server_lowlevel
uv run python -m stories.streaming.client --http --server server_lowlevel
```
The modern HTTP leg (drop `--legacy`) is `xfail` until the SSE wiring lands —
mid-call progress and log notifications are currently dropped there (see
Caveats).
## What to look at
- `client.py` `main` — opens with `async with Client(target, mode=mode,
@ -60,9 +56,6 @@ Caveats).
OpenTelemetry instead of `notifications/message`. It is shown here because
servers still need to support 2025-era clients during that window. Progress
and cancellation are **not** deprecated. TODO(maxisbey): revisit before beta.
- On the modern (2026-07-28) streamable-HTTP path, mid-call progress and log
notifications are currently dropped pending the SSE wiring; the
`http-asgi:modern` leg of this story is `xfail` until that lands.
- When a request is cancelled the server currently replies with
`ErrorData(code=0, message="Request cancelled")`; the spec says it should not
reply at all. The client never observes it (its awaiting task is already