Skip to content

Commit d6c6cf2

Browse files
committed
revert: McpException
1 parent 76ea47e commit d6c6cf2

5 files changed

Lines changed: 10 additions & 13 deletions

File tree

integration-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/server/ServerResourceTemplateTest.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,10 @@ class ServerResourceTemplateTest : AbstractServerFeaturesTest() {
137137

138138
val templates = server.resourceTemplates
139139

140-
templates.size shouldBe 2
141-
templates shouldContainKey "test://a/{x}"
142-
templates shouldContainKey "test://b/{y}"
140+
templates shouldBe listOf(
141+
ResourceTemplate("test://a/{x}", "A"),
142+
ResourceTemplate("test://b/{y}", "B"),
143+
)
143144
}
144145

145146
@Test

kotlin-sdk-core/api/kotlin-sdk-core.api

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2719,7 +2719,6 @@ public final class io/modelcontextprotocol/kotlin/sdk/types/McpException : java/
27192719
public synthetic fun <init> (ILjava/lang/String;Lkotlinx/serialization/json/JsonElement;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
27202720
public final fun getCode ()I
27212721
public final fun getData ()Lkotlinx/serialization/json/JsonElement;
2722-
public final fun getErrorMessage ()Ljava/lang/String;
27232722
}
27242723

27252724
public abstract interface class io/modelcontextprotocol/kotlin/sdk/types/MediaContent : io/modelcontextprotocol/kotlin/sdk/types/ContentBlock {

kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/Protocol.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import kotlinx.serialization.json.Json
3939
import kotlinx.serialization.json.JsonObject
4040
import kotlinx.serialization.json.JsonPrimitive
4141
import kotlinx.serialization.json.encodeToJsonElement
42+
import kotlin.coroutines.cancellation.CancellationException
4243
import kotlin.time.Duration
4344
import kotlin.time.Duration.Companion.seconds
4445

@@ -328,7 +329,7 @@ public abstract class Protocol(@PublishedApi internal val options: ProtocolOptio
328329

329330
try {
330331
val rpcError = if (cause is McpException) {
331-
RPCError(code = cause.code, message = cause.errorMessage, data = cause.data)
332+
RPCError(code = cause.code, message = cause.message.orEmpty(), data = cause.data)
332333
} else {
333334
RPCError(code = RPCError.ErrorCode.INTERNAL_ERROR, message = cause.message ?: "Internal error")
334335
}

kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/types/McpException.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import kotlin.jvm.JvmOverloads
1313
*/
1414
public class McpException @JvmOverloads public constructor(
1515
public val code: Int,
16-
message: String,
16+
message: String?,
1717
public val data: JsonElement? = null,
1818
cause: Throwable? = null,
19-
) : Exception("MCP error $code: $message", cause) {
20-
/** The raw MCP error message (without the "MCP error $code:" prefix). */
21-
public val errorMessage: String = message
22-
}
19+
) : Exception("MCP error $code: $message", cause)

kotlin-sdk-server/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/server/Server.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,9 @@ public open class Server(
163163

164164
/**
165165
* Provides a snapshot of all resource templates currently registered in the server.
166-
* Keys are URI template strings; values are the [ResourceTemplate] MCP type.
167166
*/
168-
public val resourceTemplates: Map<String, ResourceTemplate>
169-
get() = resourceTemplateRegistry.values.mapValues { it.value.resourceTemplate }
167+
public val resourceTemplates: List<ResourceTemplate>
168+
get() = resourceTemplateRegistry.values.values.map { it.resourceTemplate }
170169

171170
init {
172171
block(this)

0 commit comments

Comments
 (0)