@@ -3,7 +3,6 @@ package io.modelcontextprotocol.kotlin.sdk
3
3
import io.github.oshai.kotlinlogging.KotlinLogging
4
4
import io.modelcontextprotocol.kotlin.sdk.LoggingMessageNotification.SetLevelRequest
5
5
import kotlinx.serialization.DeserializationStrategy
6
- import kotlinx.serialization.ExperimentalSerializationApi
7
6
import kotlinx.serialization.KSerializer
8
7
import kotlinx.serialization.descriptors.PrimitiveKind
9
8
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
@@ -17,25 +16,23 @@ private val logger = KotlinLogging.logger {}
17
16
18
17
internal object ErrorCodeSerializer : KSerializer<ErrorCode> {
19
18
override val descriptor: SerialDescriptor =
20
- PrimitiveSerialDescriptor (" io.modelcontextprotocol.kotlin.sdk.ErrorCode" , PrimitiveKind .STRING )
19
+ PrimitiveSerialDescriptor (" io.modelcontextprotocol.kotlin.sdk.ErrorCode" , PrimitiveKind .INT )
21
20
22
- @OptIn(ExperimentalSerializationApi ::class )
23
21
override fun serialize (encoder : Encoder , value : ErrorCode ) {
24
22
encoder.encodeInt(value.code)
25
23
}
26
24
27
25
override fun deserialize (decoder : Decoder ): ErrorCode {
28
- val decodedString = decoder.decodeInt()
29
- return ErrorCode .Defined .entries.firstOrNull { it.code == decodedString }
30
- ? : ErrorCode .Unknown (decodedString )
26
+ val decodedInt = decoder.decodeInt()
27
+ return ErrorCode .Defined .entries.firstOrNull { it.code == decodedInt }
28
+ ? : ErrorCode .Unknown (decodedInt )
31
29
}
32
30
}
33
31
34
32
internal object RequestMethodSerializer : KSerializer<Method> {
35
33
override val descriptor: SerialDescriptor =
36
34
PrimitiveSerialDescriptor (" io.modelcontextprotocol.kotlin.sdk.Method" , PrimitiveKind .STRING )
37
35
38
- @OptIn(ExperimentalSerializationApi ::class )
39
36
override fun serialize (encoder : Encoder , value : Method ) {
40
37
encoder.encodeString(value.value)
41
38
}
@@ -51,7 +48,6 @@ internal object StopReasonSerializer : KSerializer<StopReason> {
51
48
override val descriptor: SerialDescriptor =
52
49
PrimitiveSerialDescriptor (" io.modelcontextprotocol.kotlin.sdk.StopReason" , PrimitiveKind .STRING )
53
50
54
- @OptIn(ExperimentalSerializationApi ::class )
55
51
override fun serialize (encoder : Encoder , value : StopReason ) {
56
52
encoder.encodeString(value.value)
57
53
}
0 commit comments