rename ResourceReference to ResourceTemplateReference (#193)
* chore: rename ResourceReference to ResourceTemplateReference * rename resource references in tests and update api --------- Co-authored-by: devcrocod <devcrocod@gmail.com>
This commit is contained in:
parent
91cf1205af
commit
fc02cecb79
5 changed files with 42 additions and 42 deletions
|
|
@ -2281,35 +2281,6 @@ public final class io/modelcontextprotocol/kotlin/sdk/ResourceListChangedNotific
|
||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class io/modelcontextprotocol/kotlin/sdk/ResourceReference : io/modelcontextprotocol/kotlin/sdk/Reference {
|
|
||||||
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceReference$Companion;
|
|
||||||
public static final field TYPE Ljava/lang/String;
|
|
||||||
public fun <init> (Ljava/lang/String;)V
|
|
||||||
public final fun component1 ()Ljava/lang/String;
|
|
||||||
public final fun copy (Ljava/lang/String;)Lio/modelcontextprotocol/kotlin/sdk/ResourceReference;
|
|
||||||
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/ResourceReference;Ljava/lang/String;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/ResourceReference;
|
|
||||||
public fun equals (Ljava/lang/Object;)Z
|
|
||||||
public fun getType ()Ljava/lang/String;
|
|
||||||
public final fun getUri ()Ljava/lang/String;
|
|
||||||
public fun hashCode ()I
|
|
||||||
public fun toString ()Ljava/lang/String;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final synthetic class io/modelcontextprotocol/kotlin/sdk/ResourceReference$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
|
||||||
public static final field INSTANCE Lio/modelcontextprotocol/kotlin/sdk/ResourceReference$$serializer;
|
|
||||||
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
|
||||||
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/modelcontextprotocol/kotlin/sdk/ResourceReference;
|
|
||||||
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
|
|
||||||
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
|
||||||
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/modelcontextprotocol/kotlin/sdk/ResourceReference;)V
|
|
||||||
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
|
||||||
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class io/modelcontextprotocol/kotlin/sdk/ResourceReference$Companion {
|
|
||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplate {
|
public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplate {
|
||||||
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplate$Companion;
|
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplate$Companion;
|
||||||
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
|
@ -2343,6 +2314,35 @@ public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplate$Companion
|
||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference : io/modelcontextprotocol/kotlin/sdk/Reference {
|
||||||
|
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference$Companion;
|
||||||
|
public static final field TYPE Ljava/lang/String;
|
||||||
|
public fun <init> (Ljava/lang/String;)V
|
||||||
|
public final fun component1 ()Ljava/lang/String;
|
||||||
|
public final fun copy (Ljava/lang/String;)Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference;
|
||||||
|
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference;Ljava/lang/String;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getType ()Ljava/lang/String;
|
||||||
|
public final fun getUri ()Ljava/lang/String;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final synthetic class io/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||||
|
public static final field INSTANCE Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference$$serializer;
|
||||||
|
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference;
|
||||||
|
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
|
||||||
|
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
||||||
|
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference;)V
|
||||||
|
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||||
|
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplateReference$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
public final class io/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification : io/modelcontextprotocol/kotlin/sdk/ServerNotification {
|
public final class io/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification : io/modelcontextprotocol/kotlin/sdk/ServerNotification {
|
||||||
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification$Companion;
|
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification$Companion;
|
||||||
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification$Params;)V
|
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification$Params;)V
|
||||||
|
|
|
||||||
|
|
@ -1469,7 +1469,7 @@ public sealed interface Reference {
|
||||||
* A reference to a resource or resource template definition.
|
* A reference to a resource or resource template definition.
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
public data class ResourceReference(
|
public data class ResourceTemplateReference(
|
||||||
/**
|
/**
|
||||||
* The URI or URI template of the resource.
|
* The URI or URI template of the resource.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ internal object StopReasonSerializer : KSerializer<StopReason> {
|
||||||
internal object ReferencePolymorphicSerializer : JsonContentPolymorphicSerializer<Reference>(Reference::class) {
|
internal object ReferencePolymorphicSerializer : JsonContentPolymorphicSerializer<Reference>(Reference::class) {
|
||||||
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<Reference> =
|
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<Reference> =
|
||||||
when (element.jsonObject.getValue("type").jsonPrimitive.content) {
|
when (element.jsonObject.getValue("type").jsonPrimitive.content) {
|
||||||
ResourceReference.TYPE -> ResourceReference.serializer()
|
ResourceTemplateReference.TYPE -> ResourceTemplateReference.serializer()
|
||||||
PromptReference.TYPE -> PromptReference.serializer()
|
PromptReference.TYPE -> PromptReference.serializer()
|
||||||
else -> UnknownReference.serializer()
|
else -> UnknownReference.serializer()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,21 +30,21 @@ class TypesTest {
|
||||||
|
|
||||||
// Reference Tests
|
// Reference Tests
|
||||||
@Test
|
@Test
|
||||||
fun `should validate ResourceReference`() {
|
fun `should validate ResourceTemplateReference`() {
|
||||||
val resourceRef = ResourceReference(uri = "file:///path/to/file.txt")
|
val resourceRef = ResourceTemplateReference(uri = "file:///path/to/file.txt")
|
||||||
|
|
||||||
assertEquals("ref/resource", resourceRef.type)
|
assertEquals("ref/resource", resourceRef.type)
|
||||||
assertEquals("file:///path/to/file.txt", resourceRef.uri)
|
assertEquals("file:///path/to/file.txt", resourceRef.uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `should serialize and deserialize ResourceReference correctly`() {
|
fun `should serialize and deserialize ResourceTemplateReference correctly`() {
|
||||||
val resourceRef = ResourceReference(uri = "https://example.com/resource")
|
val resourceRef = ResourceTemplateReference(uri = "https://example.com/resource")
|
||||||
|
|
||||||
val json = McpJson.encodeToString<Reference>(resourceRef)
|
val json = McpJson.encodeToString<Reference>(resourceRef)
|
||||||
val decoded = McpJson.decodeFromString<Reference>(json)
|
val decoded = McpJson.decodeFromString<Reference>(json)
|
||||||
|
|
||||||
assertIs<ResourceReference>(decoded)
|
assertIs<ResourceTemplateReference>(decoded)
|
||||||
assertEquals("ref/resource", decoded.type)
|
assertEquals("ref/resource", decoded.type)
|
||||||
assertEquals("https://example.com/resource", decoded.uri)
|
assertEquals("https://example.com/resource", decoded.uri)
|
||||||
}
|
}
|
||||||
|
|
@ -333,12 +333,12 @@ class TypesTest {
|
||||||
@Test
|
@Test
|
||||||
fun `should validate CompleteRequest with resource reference`() {
|
fun `should validate CompleteRequest with resource reference`() {
|
||||||
val request = CompleteRequest(
|
val request = CompleteRequest(
|
||||||
ref = ResourceReference(uri = "github://repos/{owner}/{repo}"),
|
ref = ResourceTemplateReference(uri = "github://repos/{owner}/{repo}"),
|
||||||
argument = CompleteRequest.Argument(name = "repo", value = "t"),
|
argument = CompleteRequest.Argument(name = "repo", value = "t"),
|
||||||
)
|
)
|
||||||
|
|
||||||
assertEquals("completion/complete", request.method.value)
|
assertEquals("completion/complete", request.method.value)
|
||||||
assertIs<ResourceReference>(request.ref)
|
assertIs<ResourceTemplateReference>(request.ref)
|
||||||
val resourceRef = request.ref
|
val resourceRef = request.ref
|
||||||
assertEquals("github://repos/{owner}/{repo}", resourceRef.uri)
|
assertEquals("github://repos/{owner}/{repo}", resourceRef.uri)
|
||||||
assertEquals("repo", request.argument.name)
|
assertEquals("repo", request.argument.name)
|
||||||
|
|
@ -366,11 +366,11 @@ class TypesTest {
|
||||||
@Test
|
@Test
|
||||||
fun `should validate CompleteRequest with complex URIs`() {
|
fun `should validate CompleteRequest with complex URIs`() {
|
||||||
val request = CompleteRequest(
|
val request = CompleteRequest(
|
||||||
ref = ResourceReference(uri = "api://v1/{tenant}/{resource}/{id}"),
|
ref = ResourceTemplateReference(uri = "api://v1/{tenant}/{resource}/{id}"),
|
||||||
argument = CompleteRequest.Argument(name = "id", value = "123"),
|
argument = CompleteRequest.Argument(name = "id", value = "123"),
|
||||||
)
|
)
|
||||||
|
|
||||||
val resourceRef = request.ref as ResourceReference
|
val resourceRef = request.ref as ResourceTemplateReference
|
||||||
assertEquals("api://v1/{tenant}/{resource}/{id}", resourceRef.uri)
|
assertEquals("api://v1/{tenant}/{resource}/{id}", resourceRef.uri)
|
||||||
assertEquals("id", request.argument.name)
|
assertEquals("id", request.argument.name)
|
||||||
assertEquals("123", request.argument.value)
|
assertEquals("123", request.argument.value)
|
||||||
|
|
|
||||||
|
|
@ -80,12 +80,12 @@ class TypesUtilTest {
|
||||||
|
|
||||||
// Reference Polymorphic Serializer Tests
|
// Reference Polymorphic Serializer Tests
|
||||||
@Test
|
@Test
|
||||||
fun `should deserialize ResourceReference polymorphically`() {
|
fun `should deserialize ResourceTemplateReference polymorphically`() {
|
||||||
val json = """{"type": "ref/resource", "uri": "file:///test.txt"}"""
|
val json = """{"type": "ref/resource", "uri": "file:///test.txt"}"""
|
||||||
|
|
||||||
val decoded = McpJson.decodeFromString<Reference>(json)
|
val decoded = McpJson.decodeFromString<Reference>(json)
|
||||||
|
|
||||||
assertIs<ResourceReference>(decoded)
|
assertIs<ResourceTemplateReference>(decoded)
|
||||||
assertEquals("ref/resource", decoded.type)
|
assertEquals("ref/resource", decoded.type)
|
||||||
assertEquals("file:///test.txt", decoded.uri)
|
assertEquals("file:///test.txt", decoded.uri)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue