- Add OpenAPI Generator to build system to automatically generate MCP protocol data classes from the official schema. - Configure code quality tools to exclude generated files - Add deserialization test ## Motivation and Context Writing classes by hand is error-prone, when json schema exists. See #185, Also, autogenerating model classes ensures the SDK is in sync with the protocol and can quickly catch up with its changes (see #218) ## How Has This Been Tested? Regression tests ## Breaking Changes No ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [ ] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context <!-- Add any other context, implementation notes, or design decisions -->
29 lines
838 B
Text
29 lines
838 B
Text
# OpenAPI Generator Ignore
|
|
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
|
|
|
|
# Use this file to prevent files from being overwritten by the generator.
|
|
# The patterns follow closely to .gitignore or .dockerignore.
|
|
|
|
# As an example, the C# client generator defines ApiClient.cs.
|
|
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
|
|
**/auth/**
|
|
**/infrastructure/**
|
|
!**/Base64ByteArray.kt
|
|
!**/Bytes.kt
|
|
|
|
|
|
## Exclude Models which are causing problems
|
|
**/JSONRPCResponse.kt
|
|
**/Result.kt
|
|
**/ListToolsResult.kt
|
|
**/InitializeRequest.kt
|
|
**/InitializeResult.kt
|
|
**/ServerCapabilities.kt
|
|
**/InitializeRequestParams.kt
|
|
**/CreateMessageRequest.kt
|
|
**/CreateMessageRequestParams.kt
|
|
**/ClientCapabilities.kt
|
|
**/Tool.kt
|
|
**/ToolInputSchema.kt
|
|
**/ToolOutputSchema.kt
|
|
|