King Star
cab669b108
fix: classify malformed request params as invalid params (#886)
## Summary
Classify typed request deserialization failures as JSON-RPC `Invalid
Params`
instead of `Internal error`.
Fixes #830.
## Changes
- translate `SerializationException` from typed request decoding to
`-32602`
- return a stable `Invalid params` message without serialization
internals
- cover malformed `initialize` requests through session and Streamable
HTTP paths
## Scope and risk
The catch is limited to request parameter deserialization after the
JSON-RPC
method has been resolved. Envelope parsing, unknown methods, handler
failures,
and successful requests keep their existing behavior.
## Verification
```bash
./gradlew :integration-test:jvmTest --tests 'io.modelcontextprotocol.kotlin.sdk.server.ServerSessionInitializeTest'
./gradlew :kotlin-sdk-server:jvmTest --tests 'io.modelcontextprotocol.kotlin.sdk.server.StreamableHttpServerTransportTest'
./gradlew :kotlin-sdk-core:jvmTest --tests 'io.modelcontextprotocol.kotlin.sdk.shared.ProtocolTest'
./gradlew ktlintCheck apiCheck
```
Co-authored-by: Pavel Gorgulov <devcrocod@gmail.com>
|
2026-07-22 18:12:12 +02:00 |
| .. |
|
api
|
feat(core): concurrent inbound dispatch behind an initialization gate (#884)
|
2026-07-15 12:33:29 +02:00 |
|
src
|
fix: classify malformed request params as invalid params (#886)
|
2026-07-22 18:12:12 +02:00 |
|
build.gradle.kts
|
refactor: explicit locked detekt config (#729)
|
2026-04-29 12:31:49 +02:00 |
|
detekt-baseline-main.xml
|
refactor: explicit locked detekt config (#729)
|
2026-04-29 12:31:49 +02:00 |
|
Module.md
|
docs: Update readme, enable Knit (#162) (#510)
|
2026-02-06 18:40:31 +02:00 |