test(conformance): bump referee to 0.2.0-alpha.9; arm SEP-2575 diagnostic fixtures; fix post-dispatch -32021 HTTP status (#2399)
This commit is contained in:
parent
1ea960b5bb
commit
3c7ddafa05
1 changed files with 211 additions and 75 deletions
|
|
@ -157,6 +157,18 @@ fetch-shaped handler.
|
|||
> `toNodeHandler(handler)` and add the `@modelcontextprotocol/node` import.
|
||||
> `NodeIncomingMessageLike` / `NodeServerResponseLike` are now exported from
|
||||
> `@modelcontextprotocol/node`, not `@modelcontextprotocol/server`.
|
||||
>
|
||||
> Also: a `MissingRequiredClientCapabilityError` (`-32021`) produced **after** dispatch
|
||||
> — the `input_required` gate refusing an embedded request whose capability the caller
|
||||
> did not declare — now answers HTTP **400** (earlier alphas surfaced it in-band on
|
||||
> 200). The spec mandates 400 for this error wherever it arises; the JSON-RPC body is
|
||||
> unchanged. This applies to a handler-thrown `-32021` too: a proxy relaying a
|
||||
> downstream server's `-32021` should translate it (its `requiredCapabilities`
|
||||
> describes the downstream hop's envelope) rather than rethrow the bare error. Every
|
||||
> other handler-produced code (including a relayed `-32020`/`-32022`)
|
||||
> keeps the in-band 200, and an exchange whose response stream is already open — the
|
||||
> handler streamed first, or `responseMode: 'sse'` — keeps its committed 200 and
|
||||
> carries the error in-stream.
|
||||
|
||||
### Server over stdio / long-lived connections: `serveStdio`
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue