Skip to content

Commit 55214b8

Browse files
committed
Fix after rebase
1 parent d25c358 commit 55214b8

File tree

14 files changed

+80
-71
lines changed

14 files changed

+80
-71
lines changed

kotlin-sdk-server/api/kotlin-sdk-server.api

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,53 @@ public final class io/modelcontextprotocol/kotlin/sdk/server/KtorServerKt {
55
public static final fun mcp (Lio/ktor/server/routing/Routing;Lkotlin/jvm/functions/Function1;)V
66
}
77

8-
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt {
8+
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt : io/modelcontextprotocol/kotlin/sdk/server/Feature {
99
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;Lkotlin/jvm/functions/Function2;)V
1010
public final fun component1 ()Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;
1111
public final fun component2 ()Lkotlin/jvm/functions/Function2;
1212
public final fun copy (Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;Lkotlin/jvm/functions/Function2;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt;
1313
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt;Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt;
1414
public fun equals (Ljava/lang/Object;)Z
15+
public fun getKey ()Ljava/lang/String;
1516
public final fun getMessageProvider ()Lkotlin/jvm/functions/Function2;
1617
public final fun getPrompt ()Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;
1718
public fun hashCode ()I
1819
public fun toString ()Ljava/lang/String;
1920
}
2021

21-
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredResource {
22+
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredResource : io/modelcontextprotocol/kotlin/sdk/server/Feature {
2223
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Resource;Lkotlin/jvm/functions/Function2;)V
2324
public final fun component1 ()Lio/modelcontextprotocol/kotlin/sdk/types/Resource;
2425
public final fun component2 ()Lkotlin/jvm/functions/Function2;
2526
public final fun copy (Lio/modelcontextprotocol/kotlin/sdk/types/Resource;Lkotlin/jvm/functions/Function2;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredResource;
2627
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredResource;Lio/modelcontextprotocol/kotlin/sdk/types/Resource;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredResource;
2728
public fun equals (Ljava/lang/Object;)Z
29+
public fun getKey ()Ljava/lang/String;
2830
public final fun getReadHandler ()Lkotlin/jvm/functions/Function2;
2931
public final fun getResource ()Lio/modelcontextprotocol/kotlin/sdk/types/Resource;
3032
public fun hashCode ()I
3133
public fun toString ()Ljava/lang/String;
3234
}
3335

34-
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredTool {
36+
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredTool : io/modelcontextprotocol/kotlin/sdk/server/Feature {
3537
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Tool;Lkotlin/jvm/functions/Function2;)V
3638
public final fun component1 ()Lio/modelcontextprotocol/kotlin/sdk/types/Tool;
3739
public final fun component2 ()Lkotlin/jvm/functions/Function2;
3840
public final fun copy (Lio/modelcontextprotocol/kotlin/sdk/types/Tool;Lkotlin/jvm/functions/Function2;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredTool;
3941
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredTool;Lio/modelcontextprotocol/kotlin/sdk/types/Tool;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/server/RegisteredTool;
4042
public fun equals (Ljava/lang/Object;)Z
4143
public final fun getHandler ()Lkotlin/jvm/functions/Function2;
44+
public fun getKey ()Ljava/lang/String;
4245
public final fun getTool ()Lio/modelcontextprotocol/kotlin/sdk/types/Tool;
4346
public fun hashCode ()I
4447
public fun toString ()Ljava/lang/String;
4548
}
4649

4750
public class io/modelcontextprotocol/kotlin/sdk/server/Server {
48-
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;)V
49-
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;)V
50-
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
51+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
52+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
53+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)V
54+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
5155
public final fun addPrompt (Lio/modelcontextprotocol/kotlin/sdk/types/Prompt;Lkotlin/jvm/functions/Function2;)V
5256
public final fun addPrompt (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;)V
5357
public static synthetic fun addPrompt$default (Lio/modelcontextprotocol/kotlin/sdk/server/Server;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
@@ -56,11 +60,12 @@ public class io/modelcontextprotocol/kotlin/sdk/server/Server {
5660
public static synthetic fun addResource$default (Lio/modelcontextprotocol/kotlin/sdk/server/Server;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
5761
public final fun addResources (Ljava/util/List;)V
5862
public final fun addTool (Lio/modelcontextprotocol/kotlin/sdk/types/Tool;Lkotlin/jvm/functions/Function2;)V
59-
public final fun addTool (Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Lio/modelcontextprotocol/kotlin/sdk/types/ToolAnnotations;Lkotlin/jvm/functions/Function2;)V
60-
public static synthetic fun addTool$default (Lio/modelcontextprotocol/kotlin/sdk/server/Server;Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Lio/modelcontextprotocol/kotlin/sdk/types/ToolAnnotations;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
63+
public final fun addTool (Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Lio/modelcontextprotocol/kotlin/sdk/types/ToolAnnotations;Lkotlinx/serialization/json/JsonObject;Lkotlin/jvm/functions/Function2;)V
64+
public static synthetic fun addTool$default (Lio/modelcontextprotocol/kotlin/sdk/server/Server;Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ToolSchema;Lio/modelcontextprotocol/kotlin/sdk/types/ToolAnnotations;Lkotlinx/serialization/json/JsonObject;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
6165
public final fun addTools (Ljava/util/List;)V
6266
public final fun close (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
6367
public final fun connect (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
68+
public final fun createSession (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
6469
protected final fun getInstructionsProvider ()Lkotlin/jvm/functions/Function0;
6570
protected final fun getOptions ()Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;
6671
public final fun getPrompts ()Ljava/util/Map;

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package io.modelcontextprotocol.kotlin.sdk.server
22

3-
import io.modelcontextprotocol.kotlin.sdk.CallToolRequest
4-
import io.modelcontextprotocol.kotlin.sdk.CallToolResult
5-
import io.modelcontextprotocol.kotlin.sdk.GetPromptRequest
6-
import io.modelcontextprotocol.kotlin.sdk.GetPromptResult
7-
import io.modelcontextprotocol.kotlin.sdk.Prompt
8-
import io.modelcontextprotocol.kotlin.sdk.ReadResourceRequest
9-
import io.modelcontextprotocol.kotlin.sdk.ReadResourceResult
10-
import io.modelcontextprotocol.kotlin.sdk.Resource
11-
import io.modelcontextprotocol.kotlin.sdk.Tool
3+
import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequest
4+
import io.modelcontextprotocol.kotlin.sdk.types.CallToolResult
5+
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequest
6+
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptResult
7+
import io.modelcontextprotocol.kotlin.sdk.types.Prompt
8+
import io.modelcontextprotocol.kotlin.sdk.types.ReadResourceRequest
9+
import io.modelcontextprotocol.kotlin.sdk.types.ReadResourceResult
10+
import io.modelcontextprotocol.kotlin.sdk.types.Resource
11+
import io.modelcontextprotocol.kotlin.sdk.types.Tool
1212

1313
internal typealias FeatureKey = String
1414

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ public open class Server(
245245
* @param inputSchema The expected input schema for the tool.
246246
* @param outputSchema The optional expected output schema for the tool.
247247
* @param toolAnnotations Optional additional tool information.
248-
* @param _meta Optional metadata as a [JsonObject].
248+
* @param meta Optional metadata as a [JsonObject].
249249
* @param handler A suspend function that handles executing the tool when called by the client.
250250
* @throws IllegalStateException If the server does not support tools.
251251
*/
@@ -257,7 +257,7 @@ public open class Server(
257257
title: String? = null,
258258
outputSchema: ToolSchema? = null,
259259
toolAnnotations: ToolAnnotations? = null,
260-
@Suppress("LocalVariableName") _meta: JsonObject? = null,
260+
meta: JsonObject? = null,
261261
handler: suspend (CallToolRequest) -> CallToolResult,
262262
) {
263263
val tool = Tool(
@@ -267,7 +267,7 @@ public open class Server(
267267
description = description,
268268
title = title,
269269
annotations = toolAnnotations,
270-
_meta = _meta,
270+
meta = meta,
271271
)
272272
addTool(tool, handler)
273273
}

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import io.modelcontextprotocol.kotlin.sdk.types.InitializedNotification
1919
import io.modelcontextprotocol.kotlin.sdk.types.LATEST_PROTOCOL_VERSION
2020
import io.modelcontextprotocol.kotlin.sdk.types.ListRootsRequest
2121
import io.modelcontextprotocol.kotlin.sdk.types.ListRootsResult
22+
import io.modelcontextprotocol.kotlin.sdk.types.LoggingLevel
2223
import io.modelcontextprotocol.kotlin.sdk.types.LoggingMessageNotification
2324
import io.modelcontextprotocol.kotlin.sdk.types.Method
2425
import io.modelcontextprotocol.kotlin.sdk.types.Method.Defined
@@ -28,6 +29,7 @@ import io.modelcontextprotocol.kotlin.sdk.types.RequestMeta
2829
import io.modelcontextprotocol.kotlin.sdk.types.ResourceListChangedNotification
2930
import io.modelcontextprotocol.kotlin.sdk.types.ResourceUpdatedNotification
3031
import io.modelcontextprotocol.kotlin.sdk.types.SUPPORTED_PROTOCOL_VERSIONS
32+
import io.modelcontextprotocol.kotlin.sdk.types.SetLevelRequest
3133
import io.modelcontextprotocol.kotlin.sdk.types.ToolListChangedNotification
3234
import kotlinx.atomicfu.AtomicRef
3335
import kotlinx.atomicfu.atomic
@@ -82,10 +84,10 @@ public open class ServerSession(
8284

8385
// Logging level handler
8486
if (options.capabilities.logging != null) {
85-
setRequestHandler<LoggingMessageNotification.SetLevelRequest>(Defined.LoggingSetLevel) { request, _ ->
86-
currentLoggingLevel.value = request.level
87-
logger.debug { "Logging level set to: ${request.level}" }
88-
EmptyRequestResult()
87+
setRequestHandler<SetLevelRequest>(Defined.LoggingSetLevel) { request, _ ->
88+
currentLoggingLevel.value = request.params.level
89+
logger.debug { "Logging level set to: ${request.params.level}" }
90+
EmptyResult()
8991
}
9092
}
9193
}
@@ -141,8 +143,7 @@ public open class ServerSession(
141143
options: RequestOptions? = null,
142144
): CreateMessageResult {
143145
logger.debug {
144-
"Creating message with ${params.messages.size} messages, maxTokens=${params.maxTokens}, " +
145-
"temperature=${params.temperature}, systemPrompt=${if (params.systemPrompt != null) "present" else "absent"}"
146+
"Creating message with ${params.params.messages.size} messages, maxTokens=${params.params.maxTokens}, temperature=${params.params.temperature}, systemPrompt=${if (params.params.systemPrompt != null) "present" else "absent"}"
146147
}
147148
logger.trace { "Full createMessage params: $params" }
148149
return request(params, options)

kotlin-sdk-test/src/commonTest/kotlin/io/modelcontextprotocol/kotlin/sdk/client/ClientTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -930,22 +930,22 @@ class ClientTest {
930930
val serverSession = serverSessionResult.await()
931931

932932
// Set logging level to warning
933-
val minLevel = LoggingLevel.warning
933+
val minLevel = LoggingLevel.Warning
934934
val result = client.setLoggingLevel(minLevel)
935-
assertEquals(EmptyJsonObject, result._meta)
935+
assertEquals(EmptyJsonObject, result.meta)
936936

937937
// Send messages of different levels
938938
val testMessages = listOf(
939-
LoggingLevel.debug to "Debug - should be filtered",
940-
LoggingLevel.info to "Info - should be filtered",
941-
LoggingLevel.warning to "Warning - should pass",
942-
LoggingLevel.error to "Error - should pass",
939+
LoggingLevel.Debug to "Debug - should be filtered",
940+
LoggingLevel.Info to "Info - should be filtered",
941+
LoggingLevel.Warning to "Warning - should pass",
942+
LoggingLevel.Error to "Error - should pass",
943943
)
944944

945945
testMessages.forEach { (level, message) ->
946946
serverSession.sendLoggingMessage(
947947
LoggingMessageNotification(
948-
params = LoggingMessageNotification.Params(
948+
params = LoggingMessageNotificationParams(
949949
level = level,
950950
data = buildJsonObject { put("message", message) },
951951
),

kotlin-sdk-test/src/commonTest/kotlin/io/modelcontextprotocol/kotlin/sdk/integration/SseIntegrationTest.kt

Whitespace-only changes.

kotlin-sdk-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/integration/sse/AbstractSseIntegrationTest.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ import io.ktor.server.cio.CIOApplicationEngine
77
import io.ktor.server.engine.EmbeddedServer
88
import io.ktor.server.engine.embeddedServer
99
import io.ktor.server.routing.routing
10-
import io.modelcontextprotocol.kotlin.sdk.GetPromptResult
11-
import io.modelcontextprotocol.kotlin.sdk.Implementation
12-
import io.modelcontextprotocol.kotlin.sdk.PromptArgument
13-
import io.modelcontextprotocol.kotlin.sdk.PromptMessage
14-
import io.modelcontextprotocol.kotlin.sdk.Role
15-
import io.modelcontextprotocol.kotlin.sdk.ServerCapabilities
16-
import io.modelcontextprotocol.kotlin.sdk.TextContent
1710
import io.modelcontextprotocol.kotlin.sdk.client.Client
1811
import io.modelcontextprotocol.kotlin.sdk.client.mcpSseTransport
1912
import io.modelcontextprotocol.kotlin.sdk.server.Server
2013
import io.modelcontextprotocol.kotlin.sdk.server.ServerOptions
2114
import io.modelcontextprotocol.kotlin.sdk.server.mcp
15+
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptResult
16+
import io.modelcontextprotocol.kotlin.sdk.types.Implementation
17+
import io.modelcontextprotocol.kotlin.sdk.types.PromptArgument
18+
import io.modelcontextprotocol.kotlin.sdk.types.PromptMessage
19+
import io.modelcontextprotocol.kotlin.sdk.types.Role
20+
import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities
21+
import io.modelcontextprotocol.kotlin.sdk.types.TextContent
2222
import io.ktor.client.engine.cio.CIO as ClientCIO
2323
import io.ktor.server.cio.CIO as ServerCIO
2424
import io.ktor.server.sse.SSE as ServerSSE
@@ -70,13 +70,13 @@ open class AbstractSseIntegrationTest {
7070
),
7171
) { request ->
7272
GetPromptResult(
73-
"Prompt for ${request.name}",
7473
messages = listOf(
7574
PromptMessage(
76-
role = Role.user,
77-
content = TextContent("Prompt for client ${request.arguments?.get("client")}"),
75+
role = Role.User,
76+
content = TextContent("Prompt for client ${request.params.arguments?.get("client")}"),
7877
),
7978
),
79+
description = "Prompt for ${request.params.name}",
8080
)
8181
}
8282
}

kotlin-sdk-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/integration/sse/SseIntegrationTest.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ package io.modelcontextprotocol.kotlin.sdk.integration.sse
22

33
import io.ktor.server.cio.CIOApplicationEngine
44
import io.ktor.server.engine.EmbeddedServer
5-
import io.modelcontextprotocol.kotlin.sdk.GetPromptRequest
6-
import io.modelcontextprotocol.kotlin.sdk.TextContent
75
import io.modelcontextprotocol.kotlin.sdk.client.Client
6+
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequest
7+
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequestParams
8+
import io.modelcontextprotocol.kotlin.sdk.types.TextContent
89
import kotlinx.coroutines.Dispatchers
910
import kotlinx.coroutines.test.runTest
1011
import kotlinx.coroutines.withContext
@@ -100,8 +101,10 @@ class SseIntegrationTest : AbstractSseIntegrationTest() {
100101
private suspend fun getPrompt(client: Client, clientName: String): String {
101102
val response = client.getPrompt(
102103
GetPromptRequest(
103-
"prompt",
104-
arguments = mapOf("client" to clientName),
104+
GetPromptRequestParams(
105+
name = "prompt",
106+
arguments = mapOf("client" to clientName),
107+
),
105108
),
106109
)
107110

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.modelcontextprotocol.kotlin.sdk.server
22

3-
import io.modelcontextprotocol.kotlin.sdk.Implementation
4-
import io.modelcontextprotocol.kotlin.sdk.ServerCapabilities
53
import io.modelcontextprotocol.kotlin.sdk.client.Client
64
import io.modelcontextprotocol.kotlin.sdk.shared.InMemoryTransport
5+
import io.modelcontextprotocol.kotlin.sdk.types.Implementation
6+
import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities
77
import kotlinx.coroutines.launch
88
import kotlinx.coroutines.runBlocking
99
import org.junit.jupiter.api.BeforeEach

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.modelcontextprotocol.kotlin.sdk.server
22

3-
import io.modelcontextprotocol.kotlin.sdk.Implementation
4-
import io.modelcontextprotocol.kotlin.sdk.ServerCapabilities
53
import io.modelcontextprotocol.kotlin.sdk.client.Client
64
import io.modelcontextprotocol.kotlin.sdk.shared.InMemoryTransport
5+
import io.modelcontextprotocol.kotlin.sdk.types.Implementation
6+
import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities
77
import kotlinx.coroutines.test.runTest
88
import org.junit.jupiter.api.Test
99
import org.junit.jupiter.api.assertNull

0 commit comments

Comments
 (0)