[Server] Stream a modern-era response when there is something to stream (#448)
tools/call answered with one JSON object, so a handler's progress and log notifications had nowhere to go — and reached for a fiber that was not there, coming back as -32603. Handlers now run in a fiber and the stream opens after the first suspension, late enough that an error still gets the status the spec fixes for it. logLevel finally gates the log messages it was already being parsed for, and a server-initiated request is refused by name rather than as a FiberError.
This commit is contained in:
parent
5e73683079
commit
dd3783a720
1 changed files with 425 additions and 43 deletions
|
|
@ -13,15 +13,6 @@
|
|||
# make conformance-draft-server
|
||||
|
||||
server:
|
||||
# --- Progress notifications on a response stream ---------------------------
|
||||
# The one place the modern lifecycle is behind the handshake one, and a real
|
||||
# gap rather than a fixture difference: this scenario passes at / and fails
|
||||
# at /stateless. A tools/call answer is a single JSON response here, so
|
||||
# notifications a handler emits mid-call have nowhere to go. Closing it means
|
||||
# answering tools/call over a stream — the same seam MRTR's IncompleteResult
|
||||
# chunks will need — rather than anything specific to progress.
|
||||
- tools-call-with-progress:tools-call-with-progress
|
||||
|
||||
# --- Pre-existing, not lifecycle-specific ----------------------------------
|
||||
# Neither is caused by (or fixable in) the modern lifecycle; both reproduce
|
||||
# on the handshake endpoint. Listed so the draft run is honest.
|
||||
|
|
|
|||
Loading…
Reference in a new issue