Skip to content

feat(acp): route session/setTitle to the new schema types#164

Open
daniel-agentee wants to merge 1 commit into
agentclientprotocol:mainfrom
daniel-agentee:session-set-title-clean
Open

feat(acp): route session/setTitle to the new schema types#164
daniel-agentee wants to merge 1 commit into
agentclientprotocol:mainfrom
daniel-agentee:session-set-title-clean

Conversation

@daniel-agentee
Copy link
Copy Markdown

Summary

Wires the SetSessionTitleRequest / SetSessionTitleResponse types into the agent-side JSON-RPC dispatch tables, so ACP-backed agents can implement Agent::set_session_title and have it dispatched here.

Why

This is the Rust SDK half of session/setTitle. Once the schema crate ships a release containing those types, this routing makes them callable.

What's in this PR

  • src/agent-client-protocol/src/schema/client_to_agent/requests.rs — adds SetSessionTitleRequest/SetSessionTitleResponse to the imports and registers them with impl_jsonrpc_request! against "session/setTitle".
  • src/agent-client-protocol/src/schema/enum_impls.rs — adds SetSessionTitleRequest to the ClientRequest enum dispatch so the agent-side connection knows to deserialize it as a setTitle request.

Total: 7 added lines, 2 files.

Stacking + CI status

Draft. CI is currently red because the types SetSessionTitleRequest / SetSessionTitleResponse do not yet exist in any released agent-client-protocol-schema version on crates.io — they live behind agentclientprotocol/agent-client-protocol#1199. Once that schema PR merges and a release ships (likely agent-client-protocol-schema = 0.14.0), bump the workspace dep here from =0.13.0 to the new version and CI will go green with no other changes.

Verified locally against the patched schema crate (cargo build / cargo test --all-features --workspace), all 51 tests pass.

Companion PRs

@daniel-agentee
Copy link
Copy Markdown
Author

Updated this branch for the current schema PR: bumped agent-client-protocol-schema to =0.13.5, added a temporary patch to agentclientprotocol/agent-client-protocol#1199, and removed the stale session/set_model routing/feature path that the current schema has dropped. Local validation is green: cargo fmt --all -- --check, cargo clippy --all-targets --all-features -- -D warnings, cargo build -p agent-client-protocol-test --bin testy --all-features, cargo test --all-features, and git diff --check.

@codex review

@daniel-agentee daniel-agentee force-pushed the session-set-title-clean branch from da8a108 to 34523b3 Compare June 2, 2026 11:15
Wires the SetSessionTitleRequest / SetSessionTitleResponse types into
the agent-side JSON-RPC dispatch tables.

Companion to agentclientprotocol/agent-client-protocol#1199,
which adds the schema definitions for session/setTitle. This PR is the
Rust SDK half of the round trip: once the schema crate ships a release
with the new types, ACP-backed agents can implement Agent::set_session_title
and have it dispatched here.
@daniel-agentee daniel-agentee force-pushed the session-set-title-clean branch from 34523b3 to 79bb427 Compare June 2, 2026 11:20
@daniel-agentee
Copy link
Copy Markdown
Author

@codex review

@daniel-agentee
Copy link
Copy Markdown
Author

Refreshed this branch onto current main in 79bb427 and kept the temporary schema patch pointed at agentclientprotocol/agent-client-protocol#1199 (df5ce77) so the new SetSessionTitle* types are resolvable before release. Local validation is green: cargo fmt --all -- --check, cargo clippy --all-targets --all-features -- -D warnings, cargo build -p agent-client-protocol-test --bin testy --all-features, cargo test --all-features, and git diff --check. I also left the older 0.11-compatible routing rev reachable on daniel-agentee/session-set-title-0.11-compat for zed-industries/codex-acp#286 while it still depends on agent-client-protocol = 0.11.1.

@daniel-agentee
Copy link
Copy Markdown
Author

@codex review

@daniel-agentee daniel-agentee marked this pull request as ready for review June 2, 2026 17:26
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.

1 participant