php-sdk/tests/Unit
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christopher Hertel 60711951d4
[Schema][Server] Add the extensions framework SEP-2133 defines (#443)
* [Schema][Server] Add the extensions framework SEP-2133 defines

enableExtension() took any string and advertised it, with no way for an
extension to add a method: MessageFactory could not decode one, so nothing
downstream ever saw it.

Identifiers are now checked against the _meta key naming rules through
ExtensionIdentifier - a prefix is mandatory, since an unprefixed name has no
owner, and the modelcontextprotocol/mcp second labels the specification
reserves are recognised. An extension implementing
MethodProvidingExtensionInterface contributes both its message classes and
the handlers serving them.

MessageFactory::make() takes an $additional list of message classes, and
RequestHandlerInterface's result template is covariant so a handler
declaring a concrete result satisfies a collection typed by the interface.

* Fix stale @see reference in MethodProvidingExtensionInterface docblock

* [Schema][Server][Client] Make ExtensionIdentifier a value object

ExtensionInterface::getId() now returns ExtensionIdentifier, which
validates the SEP-2133 naming rules at construction instead of the
callers checking it. getMessages()/getRequestHandlers() move into
ExtensionInterface itself; AbstractExtension gives them empty
defaults for extensions that only announce a capability.
2026-08-18 20:47:27 +02:00
..
Capability [Capability] Apply a parameter's complete schema definition (#435) 2026-08-18 15:09:58 +02:00
Client [Schema][Server] Preserve request id in JSON-RPC error responses instead of fabricating id:"" (#379) 2026-08-18 15:47:27 +02:00
Fixtures [Server] Handle malformed JSON-RPC input graceful (#412) 2026-08-14 22:34:01 +02:00
JsonRpc [Schema] Omit the id of an error response that never had one (#442) 2026-08-18 15:24:19 +02:00
Schema [Schema][Server] Add the extensions framework SEP-2133 defines (#443) 2026-08-18 20:47:27 +02:00
Server [Schema][Server] Add the extensions framework SEP-2133 defines (#443) 2026-08-18 20:47:27 +02:00
ClientTest.php [Client] Implement setMaxRetries connection retries (#413) 2026-08-15 02:43:50 +02:00
ServerTest.php Update codestyle based on updated Symfony rules (#229) 2026-02-01 11:54:31 +01:00