Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com> Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1.1 KiB
1.1 KiB
| @modelcontextprotocol/core-internal | @modelcontextprotocol/client | @modelcontextprotocol/server |
|---|---|---|
| patch | patch | patch |
Freeze the per-era wire schemas as self-contained copies decoupled from the public types layer, and convert WireCodec to a function-only interface. Two small spec-conformance fixes ride along with the otherwise-pure refactor:
- The 2026 wire-true
resultTypemember now defaults to'complete'when absent (the spec's receiver-side back-compat rule); the inbounddecodeResultstep continues to require it. Theserver/discoverresult accepts absent or malformedttlMs/cacheScope(falling back to0/'private'per the spec's receiver leniency in caching.mdx) so the version-negotiation probe classifier stays behavior-neutral. Other cacheable result schemas are unchanged here; general receiver leniency for those belongs to the response-cache surface. - The sampling
hasToolsdiscriminant now keys ontools || toolChoice(previouslytoolsonly), aligning the client and server selection of the with-tools result variant withclientCapabilityRequirements.