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 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 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
|
||||
|
|
@ -2343,6 +2314,35 @@ public final class io/modelcontextprotocol/kotlin/sdk/ResourceTemplate$Companion
|
|||
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 static final field Companion Lio/modelcontextprotocol/kotlin/sdk/ResourceUpdatedNotification$Companion;
|
||||
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.
|
||||
*/
|
||||
@Serializable
|
||||
public data class ResourceReference(
|
||||
public data class ResourceTemplateReference(
|
||||
/**
|
||||
* The URI or URI template of the resource.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ internal object StopReasonSerializer : KSerializer<StopReason> {
|
|||
internal object ReferencePolymorphicSerializer : JsonContentPolymorphicSerializer<Reference>(Reference::class) {
|
||||
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<Reference> =
|
||||
when (element.jsonObject.getValue("type").jsonPrimitive.content) {
|
||||
ResourceReference.TYPE -> ResourceReference.serializer()
|
||||
ResourceTemplateReference.TYPE -> ResourceTemplateReference.serializer()
|
||||
PromptReference.TYPE -> PromptReference.serializer()
|
||||
else -> UnknownReference.serializer()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,21 +30,21 @@ class TypesTest {
|
|||
|
||||
// Reference Tests
|
||||
@Test
|
||||
fun `should validate ResourceReference`() {
|
||||
val resourceRef = ResourceReference(uri = "file:///path/to/file.txt")
|
||||
fun `should validate ResourceTemplateReference`() {
|
||||
val resourceRef = ResourceTemplateReference(uri = "file:///path/to/file.txt")
|
||||
|
||||
assertEquals("ref/resource", resourceRef.type)
|
||||
assertEquals("file:///path/to/file.txt", resourceRef.uri)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should serialize and deserialize ResourceReference correctly`() {
|
||||
val resourceRef = ResourceReference(uri = "https://example.com/resource")
|
||||
fun `should serialize and deserialize ResourceTemplateReference correctly`() {
|
||||
val resourceRef = ResourceTemplateReference(uri = "https://example.com/resource")
|
||||
|
||||
val json = McpJson.encodeToString<Reference>(resourceRef)
|
||||
val decoded = McpJson.decodeFromString<Reference>(json)
|
||||
|
||||
assertIs<ResourceReference>(decoded)
|
||||
assertIs<ResourceTemplateReference>(decoded)
|
||||
assertEquals("ref/resource", decoded.type)
|
||||
assertEquals("https://example.com/resource", decoded.uri)
|
||||
}
|
||||
|
|
@ -333,12 +333,12 @@ class TypesTest {
|
|||
@Test
|
||||
fun `should validate CompleteRequest with resource reference`() {
|
||||
val request = CompleteRequest(
|
||||
ref = ResourceReference(uri = "github://repos/{owner}/{repo}"),
|
||||
ref = ResourceTemplateReference(uri = "github://repos/{owner}/{repo}"),
|
||||
argument = CompleteRequest.Argument(name = "repo", value = "t"),
|
||||
)
|
||||
|
||||
assertEquals("completion/complete", request.method.value)
|
||||
assertIs<ResourceReference>(request.ref)
|
||||
assertIs<ResourceTemplateReference>(request.ref)
|
||||
val resourceRef = request.ref
|
||||
assertEquals("github://repos/{owner}/{repo}", resourceRef.uri)
|
||||
assertEquals("repo", request.argument.name)
|
||||
|
|
@ -366,11 +366,11 @@ class TypesTest {
|
|||
@Test
|
||||
fun `should validate CompleteRequest with complex URIs`() {
|
||||
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"),
|
||||
)
|
||||
|
||||
val resourceRef = request.ref as ResourceReference
|
||||
val resourceRef = request.ref as ResourceTemplateReference
|
||||
assertEquals("api://v1/{tenant}/{resource}/{id}", resourceRef.uri)
|
||||
assertEquals("id", request.argument.name)
|
||||
assertEquals("123", request.argument.value)
|
||||
|
|
|
|||
|
|
@ -80,12 +80,12 @@ class TypesUtilTest {
|
|||
|
||||
// Reference Polymorphic Serializer Tests
|
||||
@Test
|
||||
fun `should deserialize ResourceReference polymorphically`() {
|
||||
fun `should deserialize ResourceTemplateReference polymorphically`() {
|
||||
val json = """{"type": "ref/resource", "uri": "file:///test.txt"}"""
|
||||
|
||||
val decoded = McpJson.decodeFromString<Reference>(json)
|
||||
|
||||
assertIs<ResourceReference>(decoded)
|
||||
assertIs<ResourceTemplateReference>(decoded)
|
||||
assertEquals("ref/resource", decoded.type)
|
||||
assertEquals("file:///test.txt", decoded.uri)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue