* [Server] Serve both protocol eras from one endpoint The two lifecycles share a transport, not a dispatcher. StreamableHttpTransport classifies each request - a 2026-07-28 envelope, an initialize handshake, or a session-bound follow-up - through InboundClassifier and routes it to the dispatcher that owns it, so one URL answers a modern client and a handshake-era one alike. Builder::build() carries both; withoutModernEra() opts out and setModernVersions() narrows what the modern leg answers for. InputRequiredShim lets a handler written for multi round-trip requests also serve a handshake-era client, by turning each ask into the request/response exchange that era has - so a handler is written once rather than twice. The conformance fixture collapses into one server for the same reason: both legs now hit the same URL. * Trim redundant comments, fix stale in-memory claim in conformance fixture * Drop stale json-schema-2020-12 baseline entries The new fixture tool makes this scenario pass in both eras now. * Reject handshake revisions in setModernVersions(), warn on unsafe custom middleware Copilot review: setModernVersions() accepted revisions InboundClassifier would never route to the modern leg. StreamableHttpTransport now warns when a custom middleware list carries ProtocolVersionMiddleware, since it runs before era classification and rejects modern-era traffic by default. Also fixed a misleading docblock claim on the same middleware.
34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
client:
|
|
- request-metadata
|
|
- http-standard-headers
|
|
- http-custom-headers
|
|
- http-invalid-tool-headers:sep-2243-invalid-tool-tools-list-gate
|
|
- http-invalid-tool-headers:sep-2243-client-reject-invalid-tool
|
|
- sep-2322-client-request-state
|
|
- tools_call:tool-add-numbers
|
|
- json-schema-2020-12-preservation:json-schema-2020-12-client-tool-found
|
|
- json-schema-2020-12-preservation:json-schema-2020-12-client-echo-completed
|
|
- auth/metadata-default
|
|
- auth/metadata-var1
|
|
- auth/metadata-var2
|
|
- auth/metadata-var3
|
|
- auth/metadata-issuer-mismatch
|
|
- auth/basic-cimd
|
|
- auth/pre-registration
|
|
- auth/scope-from-www-authenticate
|
|
- auth/scope-from-scopes-supported
|
|
- auth/scope-omitted-when-undefined
|
|
- auth/scope-step-up
|
|
- auth/scope-retry-limit
|
|
- auth/token-endpoint-auth-basic
|
|
- auth/token-endpoint-auth-post
|
|
- auth/token-endpoint-auth-none
|
|
- auth/offline-access-scope
|
|
- auth/offline-access-not-supported
|
|
- auth/authorization-server-migration:sep-2352-reregister-on-as-change
|
|
- auth/iss-supported
|
|
- auth/iss-not-advertised
|
|
- auth/iss-supported-missing
|
|
- auth/iss-wrong-issuer
|
|
- auth/iss-unexpected
|
|
- auth/iss-normalized
|