* Adopt strict concurrency for project
* Fix one warning related to that
* Add version-specific manifest for Swift 6.0
---------
Co-authored-by: Alexey Ivashko <a_ivashko@apple.com>
Co-authored-by: Mattt Zmuda <mattt@me.com>
* Update AnyNotification to not wipe out params that come with a notification
* Add test coverage for notification with params
* Allow params to be omitted when empty
---------
Co-authored-by: Stephen Tallent <stallent@mercury.io>
Co-authored-by: Mattt Zmuda <mattt@loopwork.com>
* Update StdioTransport documentation comments to indicate support for JSON-RPC batches
* Add server support for JSON-RPC batching
* Add client support for JSON-RPC batching
* Fix bug that caused error messages to be wrapped unnecessarily
* Rename Error to MCPError
* Conform MCPError to Swift.Error
* Use unqualified Error instead of Swift.Error
* Use unqualified MCPError instead of MCP.MCPError
* Rename file back to Error.swift
* Introduce top-level MCP namespace with nested Error typealias to provide deprecation notice for existing usage of MCP.Error
* Fix markup for MCP enum warning
* Adding unit test
* Decode entire request to strongly typed Method call. This allows NotRequired parameters to properly decode from null, which wouldn't be possible when decoding from the 'null' JSON encoding directly.
* Add unit test to check that AnyRequest handles missing parameters
* Conform Value to NotRequired
* Add test for decoding AnyRequest with empty parameters
---------
Co-authored-by: Mattt Zmuda <mattt@loopwork.com>
* Allow `params` field to be omitted in requests for methods with empty parameters
* Add ping request to roundtrip test
* Generalize decoding of non-required parameters