Skip to content

Commit 55bfcdd

Browse files
author
Mark Pollack
committed
Promote session config-option API to stable
session/set_config_option and session/set_mode are now part of the stable ACP schema, so the @UnstableAcpApi marking on the config-option types was stale. Remove it from: - SetSessionConfigOptionRequest / SetSessionConfigOptionResponse - SessionConfigOption, SessionConfigSelect, SessionConfigSelectOption - ConfigOptionUpdate - @SetSessionConfigOption The boolean config-option variant (SessionConfigBoolean) keeps @UnstableAcpApi: the stable schema only defines the select variant, so boolean remains an SDK extension. session/set_mode types were never tagged unstable and need no change.
1 parent 85fca4c commit 55bfcdd

3 files changed

Lines changed: 14 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ Protocol currency: catching up to ACP spec v0.13.6 (June 2026).
2121
- `sessionCapabilities.delete` and `sessionCapabilities.additionalDirectories`, surfaced via
2222
`NegotiatedCapabilities` (`supports*`/`require*`).
2323

24+
### Changed
25+
26+
- Promoted the session config-option API to stable: removed `@UnstableAcpApi` from
27+
`SetSessionConfigOptionRequest`/`SetSessionConfigOptionResponse`, `SessionConfigOption`,
28+
`SessionConfigSelect`, `SessionConfigSelectOption`, `ConfigOptionUpdate`, and `@SetSessionConfigOption`
29+
`session/set_config_option` and `session/set_mode` are now in the stable ACP schema. The
30+
`boolean` config-option variant (`SessionConfigBoolean`) remains an unstable SDK extension.
31+
2432
### Deprecated
2533

2634
- The session-model API — `session/set_model` (`setSessionModel`, `@SetSessionModel`, handler),

acp-annotations/src/main/java/com/agentclientprotocol/sdk/annotation/SetSessionConfigOption.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
* @since 0.12.0
2121
* @see AcpAgent
2222
*/
23-
@UnstableAcpApi
2423
@Target(ElementType.METHOD)
2524
@Retention(RetentionPolicy.RUNTIME)
2625
@Documented

acp-core/src/main/java/com/agentclientprotocol/sdk/spec/AcpSchema.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,6 @@ public ForkSessionResponse(String sessionId, SessionModeState modes, SessionMode
632632
/**
633633
* Set session config option request - changes a configuration value
634634
*/
635-
@UnstableAcpApi
636635
@JsonIgnoreProperties(ignoreUnknown = true)
637636
@JsonInclude(JsonInclude.Include.NON_NULL)
638637
public record SetSessionConfigOptionRequest(@JsonProperty("sessionId") String sessionId,
@@ -658,7 +657,6 @@ public static SetSessionConfigOptionRequest bool(String sessionId, String config
658657
/**
659658
* Set session config option response - returns full config state
660659
*/
661-
@UnstableAcpApi
662660
@JsonIgnoreProperties(ignoreUnknown = true)
663661
@JsonInclude(JsonInclude.Include.NON_NULL)
664662
public record SetSessionConfigOptionResponse(
@@ -1233,14 +1231,14 @@ public record ModelInfo(@JsonProperty("modelId") String modelId, @JsonProperty("
12331231
}
12341232

12351233
// ---------------------------
1236-
// Session Config Types (UNSTABLE)
1234+
// Session Config Types
1235+
// (session/set_config_option is stable; the "boolean" variant remains an unstable extension)
12371236
// ---------------------------
12381237

12391238
/**
12401239
* Session config option - a configurable setting exposed by the agent.
1241-
* Discriminated by type: "select" or "boolean".
1240+
* Discriminated by type: "select" (stable) or "boolean" (unstable extension).
12421241
*/
1243-
@UnstableAcpApi
12441242
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
12451243
@JsonSubTypes({ @JsonSubTypes.Type(value = SessionConfigSelect.class, name = "select"),
12461244
@JsonSubTypes.Type(value = SessionConfigBoolean.class, name = "boolean") })
@@ -1251,7 +1249,6 @@ public interface SessionConfigOption {
12511249
/**
12521250
* Select-type config option - a dropdown with named values.
12531251
*/
1254-
@UnstableAcpApi
12551252
@JsonIgnoreProperties(ignoreUnknown = true)
12561253
@JsonInclude(JsonInclude.Include.NON_NULL)
12571254
public record SessionConfigSelect(@JsonProperty("type") String type, @JsonProperty("id") String id,
@@ -1268,6 +1265,9 @@ public SessionConfigSelect(String id, String name, String currentValue,
12681265

12691266
/**
12701267
* Boolean-type config option - a toggle.
1268+
*
1269+
* <p>Unstable: the stable schema only defines the {@code select} config option variant;
1270+
* {@code boolean} is an SDK extension that may change.
12711271
*/
12721272
@UnstableAcpApi
12731273
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -1285,7 +1285,6 @@ public SessionConfigBoolean(String id, String name, Boolean currentValue) {
12851285
/**
12861286
* A selectable option within a select-type config option.
12871287
*/
1288-
@UnstableAcpApi
12891288
@JsonIgnoreProperties(ignoreUnknown = true)
12901289
@JsonInclude(JsonInclude.Include.NON_NULL)
12911290
public record SessionConfigSelectOption(@JsonProperty("value") String value,
@@ -1299,7 +1298,6 @@ public SessionConfigSelectOption(String value, String name) {
12991298
/**
13001299
* Config option update - pushed by agent via session/update notification.
13011300
*/
1302-
@UnstableAcpApi
13031301
@JsonIgnoreProperties(ignoreUnknown = true)
13041302
@JsonInclude(JsonInclude.Include.NON_NULL)
13051303
public record ConfigOptionUpdate(@JsonProperty("sessionUpdate") String sessionUpdate,

0 commit comments

Comments
 (0)