Skip to content

Commit 57f5490

Browse files
Initial support of AuthCapabilities rfd
agentclientprotocol/agent-client-protocol#588
1 parent ca7df84 commit 57f5490

3 files changed

Lines changed: 56 additions & 6 deletions

File tree

acp-model/api/acp-model.api

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,16 +172,18 @@ public abstract interface class com/agentclientprotocol/model/AcpWithSessionId {
172172
public final class com/agentclientprotocol/model/AgentCapabilities : com/agentclientprotocol/model/AcpCapabilities, com/agentclientprotocol/model/AcpWithMeta {
173173
public static final field Companion Lcom/agentclientprotocol/model/AgentCapabilities$Companion;
174174
public fun <init> ()V
175-
public fun <init> (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lkotlinx/serialization/json/JsonElement;)V
176-
public synthetic fun <init> (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
175+
public fun <init> (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;)V
176+
public synthetic fun <init> (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
177177
public final fun component1 ()Z
178178
public final fun component2 ()Lcom/agentclientprotocol/model/PromptCapabilities;
179179
public final fun component3 ()Lcom/agentclientprotocol/model/McpCapabilities;
180180
public final fun component4 ()Lcom/agentclientprotocol/model/SessionCapabilities;
181-
public final fun component5 ()Lkotlinx/serialization/json/JsonElement;
182-
public final fun copy (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AgentCapabilities;
183-
public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AgentCapabilities;ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AgentCapabilities;
181+
public final fun component5 ()Lcom/agentclientprotocol/model/AuthCapabilities;
182+
public final fun component6 ()Lkotlinx/serialization/json/JsonElement;
183+
public final fun copy (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AgentCapabilities;
184+
public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AgentCapabilities;ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AgentCapabilities;
184185
public fun equals (Ljava/lang/Object;)Z
186+
public final fun getAuth ()Lcom/agentclientprotocol/model/AuthCapabilities;
185187
public final fun getLoadSession ()Z
186188
public final fun getMcpCapabilities ()Lcom/agentclientprotocol/model/McpCapabilities;
187189
public final fun getPromptCapabilities ()Lcom/agentclientprotocol/model/PromptCapabilities;
@@ -241,6 +243,35 @@ public final class com/agentclientprotocol/model/Annotations$Companion {
241243
public final fun serializer ()Lkotlinx/serialization/KSerializer;
242244
}
243245

246+
public final class com/agentclientprotocol/model/AuthCapabilities : com/agentclientprotocol/model/AcpWithMeta {
247+
public static final field Companion Lcom/agentclientprotocol/model/AuthCapabilities$Companion;
248+
public fun <init> ()V
249+
public fun <init> (Lkotlinx/serialization/json/JsonElement;)V
250+
public synthetic fun <init> (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
251+
public final fun component1 ()Lkotlinx/serialization/json/JsonElement;
252+
public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AuthCapabilities;
253+
public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AuthCapabilities;
254+
public fun equals (Ljava/lang/Object;)Z
255+
public fun get_meta ()Lkotlinx/serialization/json/JsonElement;
256+
public fun hashCode ()I
257+
public fun toString ()Ljava/lang/String;
258+
}
259+
260+
public final synthetic class com/agentclientprotocol/model/AuthCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
261+
public static final field INSTANCE Lcom/agentclientprotocol/model/AuthCapabilities$$serializer;
262+
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
263+
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/AuthCapabilities;
264+
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
265+
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
266+
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/AuthCapabilities;)V
267+
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
268+
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
269+
}
270+
271+
public final class com/agentclientprotocol/model/AuthCapabilities$Companion {
272+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
273+
}
274+
244275
public abstract class com/agentclientprotocol/model/AuthMethod : com/agentclientprotocol/model/AcpWithMeta {
245276
public static final field Companion Lcom/agentclientprotocol/model/AuthMethod$Companion;
246277
public abstract fun getDescription ()Ljava/lang/String;

acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Capabilities.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,23 @@ public data class PromptCapabilities(
3737
override val _meta: JsonElement? = null
3838
) : AcpWithMeta
3939

40+
/**
41+
* **UNSTABLE**
42+
*
43+
* This capability is not part of the spec yet, and may be removed or changed at any point.
44+
*
45+
* Authentication capabilities supported by the client.
46+
*
47+
* Advertised during initialization to inform the agent which authentication
48+
* method types the client can handle. This governs opt-in types that require
49+
* additional client-side support.
50+
*/
51+
@UnstableApi
52+
@Serializable
53+
public data class AuthCapabilities(
54+
override val _meta: JsonElement? = null
55+
): AcpWithMeta
56+
4057
/**
4158
* Capabilities supported by the client.
4259
*
@@ -128,5 +145,7 @@ public data class AgentCapabilities(
128145
@EncodeDefault val promptCapabilities: PromptCapabilities = PromptCapabilities(),
129146
@EncodeDefault val mcpCapabilities: McpCapabilities = McpCapabilities(),
130147
@EncodeDefault val sessionCapabilities: SessionCapabilities = SessionCapabilities(),
148+
@property:UnstableApi
149+
@EncodeDefault val auth: AuthCapabilities? = null,
131150
override val _meta: JsonElement? = null
132151
) : AcpCapabilities, AcpWithMeta

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
private val buildNumber: String? = System.getenv("GITHUB_RUN_NUMBER")
88
private val isReleasePublication = System.getenv("RELEASE_PUBLICATION")?.toBoolean() ?: false
99

10-
private val baseVersion = "0.16.3"
10+
private val baseVersion = "0.16.4"
1111

1212
allprojects {
1313
group = "com.agentclientprotocol"

0 commit comments

Comments
 (0)