Skip to content

Preserve metadata on elicitation property schemas - #113

Merged
Ololoshechkin merged 1 commit into
agentclientprotocol:masterfrom
nikita-ashihmin:codex/elicitation-property-meta
Jul 29, 2026
Merged

Preserve metadata on elicitation property schemas#113
Ololoshechkin merged 1 commit into
agentclientprotocol:masterfrom
nikita-ashihmin:codex/elicitation-property-meta

Conversation

@nikita-ashihmin

@nikita-ashihmin nikita-ashihmin commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Why

AIR/Codex needs to identify custom-answer elicitation fields from provider metadata instead of guessing from field names or descriptions. The typed Kotlin schema model currently drops _meta on elicitation properties, so clients cannot consume those provider-specific annotations after deserialization.

What changed

  • Make ElicitationPropertySchema implement AcpWithMeta.
  • Add _meta: JsonElement? to each typed elicitation property variant so unknown provider annotations survive JSON encode/decode.
  • Update the API dump for the new public constructor/API surface.

Tests

  • Added schema property preserves meta to ElicitationSerializationTest.
  • The test covers serializing a Codex-style custom-answer marker into a property _meta object and deserializing it back on the typed StringProperty.
JAVA_HOME=$(/usr/libexec/java_home -v 21) ./gradlew :acp-model:jvmTest --tests com.agentclientprotocol.model.ElicitationSerializationTest :acp-model:apiCheck

Typed elicitation property schemas now implement AcpWithMeta so clients can consume provider-specific schema annotations without falling back to string heuristics. The serialization test covers round-tripping a Codex-style custom-answer marker and the API dump is updated.
@Ololoshechkin
Ololoshechkin merged commit ce6f8a1 into agentclientprotocol:master Jul 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants