Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 55 additions & 17 deletions acp-model/api/acp-model.api
Original file line number Diff line number Diff line change
Expand Up @@ -5562,6 +5562,7 @@ public final class com/agentclientprotocol/model/SessionConfigId$Companion {
public abstract class com/agentclientprotocol/model/SessionConfigOption : com/agentclientprotocol/model/AcpWithMeta {
public static final field Companion Lcom/agentclientprotocol/model/SessionConfigOption$Companion;
public synthetic fun <init> (ILkotlinx/serialization/internal/SerializationConstructorMarker;)V
public abstract fun getCategory-hVFCkWA ()Ljava/lang/String;
public abstract fun getDescription ()Ljava/lang/String;
public abstract fun getId-2Q23AbI ()Ljava/lang/String;
public abstract fun getName ()Ljava/lang/String;
Expand All @@ -5570,16 +5571,18 @@ public abstract class com/agentclientprotocol/model/SessionConfigOption : com/ag

public final class com/agentclientprotocol/model/SessionConfigOption$BooleanOption : com/agentclientprotocol/model/SessionConfigOption {
public static final field Companion Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption$Companion;
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-2Q23AbI ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Z
public final fun component5 ()Lkotlinx/serialization/json/JsonElement;
public final fun copy-AHie1Zw (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public static synthetic fun copy-AHie1Zw$default (Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public final fun component4-hVFCkWA ()Ljava/lang/String;
public final fun component5 ()Z
public final fun component6 ()Lkotlinx/serialization/json/JsonElement;
public final fun copy-pwdxzbE (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public static synthetic fun copy-pwdxzbE$default (Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public fun equals (Ljava/lang/Object;)Z
public fun getCategory-hVFCkWA ()Ljava/lang/String;
public final fun getCurrentValue ()Z
public fun getDescription ()Ljava/lang/String;
public fun getId-2Q23AbI ()Ljava/lang/String;
Expand All @@ -5605,26 +5608,28 @@ public final class com/agentclientprotocol/model/SessionConfigOption$BooleanOpti
}

public final class com/agentclientprotocol/model/SessionConfigOption$Companion {
public final fun boolean (Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public static synthetic fun boolean$default (Lcom/agentclientprotocol/model/SessionConfigOption$Companion;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public final fun select (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Ljava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public static synthetic fun select$default (Lcom/agentclientprotocol/model/SessionConfigOption$Companion;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public final fun boolean-Zk-hV-o (Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public static synthetic fun boolean-Zk-hV-o$default (Lcom/agentclientprotocol/model/SessionConfigOption$Companion;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$BooleanOption;
public final fun select-tW3b3dA (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Ljava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public static synthetic fun select-tW3b3dA$default (Lcom/agentclientprotocol/model/SessionConfigOption$Companion;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}

public final class com/agentclientprotocol/model/SessionConfigOption$Select : com/agentclientprotocol/model/SessionConfigOption {
public static final field Companion Lcom/agentclientprotocol/model/SessionConfigOption$Select$Companion;
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-2Q23AbI ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4-cDIbsdA ()Ljava/lang/String;
public final fun component5 ()Lcom/agentclientprotocol/model/SessionConfigSelectOptions;
public final fun component6 ()Lkotlinx/serialization/json/JsonElement;
public final fun copy-ajXSYlw (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public static synthetic fun copy-ajXSYlw$default (Lcom/agentclientprotocol/model/SessionConfigOption$Select;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public final fun component4-hVFCkWA ()Ljava/lang/String;
public final fun component5-cDIbsdA ()Ljava/lang/String;
public final fun component6 ()Lcom/agentclientprotocol/model/SessionConfigSelectOptions;
public final fun component7 ()Lkotlinx/serialization/json/JsonElement;
public final fun copy-xDZ6wdk (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public static synthetic fun copy-xDZ6wdk$default (Lcom/agentclientprotocol/model/SessionConfigOption$Select;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigSelectOptions;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionConfigOption$Select;
public fun equals (Ljava/lang/Object;)Z
public fun getCategory-hVFCkWA ()Ljava/lang/String;
public final fun getCurrentValue-cDIbsdA ()Ljava/lang/String;
public fun getDescription ()Ljava/lang/String;
public fun getId-2Q23AbI ()Ljava/lang/String;
Expand All @@ -5650,6 +5655,39 @@ public final class com/agentclientprotocol/model/SessionConfigOption$Select$Comp
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}

public final class com/agentclientprotocol/model/SessionConfigOptionCategory {
public static final field Companion Lcom/agentclientprotocol/model/SessionConfigOptionCategory$Companion;
public static final synthetic fun box-impl (Ljava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigOptionCategory;
public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String;
public fun equals (Ljava/lang/Object;)Z
public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z
public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z
public final fun getValue ()Ljava/lang/String;
public fun hashCode ()I
public static fun hashCode-impl (Ljava/lang/String;)I
public fun toString ()Ljava/lang/String;
public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String;
public final synthetic fun unbox-impl ()Ljava/lang/String;
}

public final synthetic class com/agentclientprotocol/model/SessionConfigOptionCategory$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Lcom/agentclientprotocol/model/SessionConfigOptionCategory$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun deserialize-NTdcRRE (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public final fun serialize-5T3uW0w (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}

public final class com/agentclientprotocol/model/SessionConfigOptionCategory$Companion {
public final fun getMODE-3ipu9Lg ()Ljava/lang/String;
public final fun getMODEL-3ipu9Lg ()Ljava/lang/String;
public final fun getTHOUGHT_LEVEL-3ipu9Lg ()Ljava/lang/String;
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}

public abstract class com/agentclientprotocol/model/SessionConfigOptionValue {
public static final field Companion Lcom/agentclientprotocol/model/SessionConfigOptionValue$Companion;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ public interface AcpCreatedSessionResponse : AcpWithMeta {
public val modes: SessionModeState?
@UnstableApi
public val models: SessionModelState?
@UnstableApi
public val configOptions: List<SessionConfigOption>?
}
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,6 @@ public data class NewSessionResponse(
override val modes: SessionModeState? = null,
@property:UnstableApi
override val models: SessionModelState? = null,
@property:UnstableApi
override val configOptions: List<SessionConfigOption>? = null,
override val _meta: JsonElement? = null
) : AcpCreatedSessionResponse, AcpResponse, AcpWithSessionId
Expand Down Expand Up @@ -710,7 +709,6 @@ public data class LoadSessionResponse(
override val modes: SessionModeState? = null,
@property:UnstableApi
override val models: SessionModelState? = null,
@property:UnstableApi
override val configOptions: List<SessionConfigOption>? = null,
override val _meta: JsonElement? = null
) : AcpCreatedSessionResponse, AcpResponse
Expand Down Expand Up @@ -980,7 +978,6 @@ public data class ResumeSessionResponse(
override val modes: SessionModeState? = null,
@property:UnstableApi
override val models: SessionModelState? = null,
@property:UnstableApi
override val configOptions: List<SessionConfigOption>? = null,
override val _meta: JsonElement? = null
) : AcpCreatedSessionResponse, AcpResponse
Expand All @@ -1002,13 +999,8 @@ public data class SetSessionConfigOptionRequest(
) : AcpRequest, AcpWithSessionId

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Response from setting a configuration option.
*/
@UnstableApi
@Serializable
public data class SetSessionConfigOptionResponse(
val configOptions: List<SessionConfigOption>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,29 @@ import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.buildJsonObject
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.put
import kotlin.jvm.JvmInline

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
* Category for a session configuration option.
*
* Well-known categories are provided as constants. Custom categories are supported
* via the constructor, matching the protocol's open string-based design.
*/
@JvmInline
@Serializable
public value class SessionConfigOptionCategory(public val value: String) {
override fun toString(): String = value

public companion object {
public val MODE: SessionConfigOptionCategory = SessionConfigOptionCategory("mode")
public val MODEL: SessionConfigOptionCategory = SessionConfigOptionCategory("model")
public val THOUGHT_LEVEL: SessionConfigOptionCategory = SessionConfigOptionCategory("thought_level")
}
}

/**
* A single option for a session configuration select.
*/
@UnstableApi
@Serializable
public data class SessionConfigSelectOption(
val value: SessionConfigValueId,
Expand All @@ -46,13 +60,8 @@ public data class SessionConfigSelectOption(
) : AcpWithMeta

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* A group of options for a session configuration select.
*/
@UnstableApi
@Serializable
public data class SessionConfigSelectGroup(
val group: SessionConfigGroupId,
Expand All @@ -62,13 +71,8 @@ public data class SessionConfigSelectGroup(
) : AcpWithMeta

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Options for a session configuration select, either as a flat list or grouped.
*/
@UnstableApi
@Serializable(with = SessionConfigSelectOptionsSerializer::class)
public sealed class SessionConfigSelectOptions {
/**
Expand All @@ -89,13 +93,8 @@ public sealed class SessionConfigSelectOptions {
}

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Polymorphic serializer for [SessionConfigSelectOptions].
*/
@OptIn(UnstableApi::class)
internal object SessionConfigSelectOptionsSerializer :
KSerializer<SessionConfigSelectOptions> {

Expand Down Expand Up @@ -139,19 +138,15 @@ internal object SessionConfigSelectOptionsSerializer :
}

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Configuration option types for sessions.
*/
@UnstableApi
@Serializable
@JsonClassDiscriminator("type")
public sealed class SessionConfigOption : AcpWithMeta {
public abstract val id: SessionConfigId
public abstract val name: String
public abstract val description: String?
public abstract val category: SessionConfigOptionCategory?

/**
* A select-type configuration option.
Expand All @@ -162,20 +157,25 @@ public sealed class SessionConfigOption : AcpWithMeta {
override val id: SessionConfigId,
override val name: String,
override val description: String? = null,
override val category: SessionConfigOptionCategory? = null,
val currentValue: SessionConfigValueId,
val options: SessionConfigSelectOptions,
override val _meta: JsonElement? = null
) : SessionConfigOption()

/**
* A boolean-type configuration option.
* **UNSTABLE**
*
* Boolean-type configuration option. Not part of the protocol spec yet.
*/
@UnstableApi
@Serializable
@SerialName("boolean")
public data class BooleanOption(
override val id: SessionConfigId,
override val name: String,
override val description: String? = null,
override val category: SessionConfigOptionCategory? = null,
val currentValue: Boolean,
override val _meta: JsonElement? = null
) : SessionConfigOption()
Expand All @@ -190,10 +190,12 @@ public sealed class SessionConfigOption : AcpWithMeta {
currentValue: String,
options: SessionConfigSelectOptions,
description: String? = null,
category: SessionConfigOptionCategory? = null,
): Select = Select(
id = SessionConfigId(id),
name = name,
description = description,
category = category,
currentValue = SessionConfigValueId(currentValue),
options = options,
)
Expand All @@ -206,10 +208,12 @@ public sealed class SessionConfigOption : AcpWithMeta {
name: String,
currentValue: Boolean,
description: String? = null,
category: SessionConfigOptionCategory? = null,
): BooleanOption = BooleanOption(
id = SessionConfigId(id),
name = name,
description = description,
category = category,
currentValue = currentValue,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,8 @@ public sealed class SessionUpdate {
) : SessionUpdate()

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Configuration options have been updated.
*/
@UnstableApi
@Serializable
@SerialName("config_option_update")
public data class ConfigOptionUpdate(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,41 +89,26 @@ public value class ModelId(public val value: String) {
}

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Unique identifier for a session configuration option.
*/
@UnstableApi
@JvmInline
@Serializable
public value class SessionConfigId(public val value: String) {
override fun toString(): String = value
}

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Unique identifier for a session configuration value.
*/
@UnstableApi
@JvmInline
@Serializable
public value class SessionConfigValueId(public val value: String) {
override fun toString(): String = value
}

/**
* **UNSTABLE**
*
* This capability is not part of the spec yet, and may be removed or changed at any point.
*
* Unique identifier for a session configuration group.
*/
@UnstableApi
@JvmInline
@Serializable
public value class SessionConfigGroupId(public val value: String) {
Expand Down
Loading
Loading