Upgrade ACP SDK to 3.1.0 (#65274)

The temporary pin is the immutable commit
[`015845a19fc31752c02367567d3b8900a406f9da`](015845a19f),
under upstream review in
[smol-rs/async-task#108](https://github.com/smol-rs/async-task/pull/108).

- Upgrade `agent-client-protocol` and its derive crate from 2.2.0 to
3.1.0, consuming the SDK's exact schema 1.10.2 dependency.
- Explicitly enable `schemars`: SDK3 makes JSON Schema support optional,
while the existing native `spawn_agent` tool derives `JsonSchema` for an
input containing `acp::SessionId`.
- Pin the canonical task-waker fix. SDK3's direct transport polling
exposed inconsistent original/clone waker vtable identity in the
previous `async-task` revision, causing repeated readiness wakeups and
starving the inherited-stdout drain timeout. The upstream fix resolves
this without a Zed-specific wrapper or weakened assertions.

Release Notes:

- N/A
This commit is contained in:
Ben Brandt 2026-10-08 10:34:25 +00:00 • committed by GitHub
parent 4240146813
commit 67b41bf976
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 16 deletions

21
Cargo.lock generated
View file

@ -327,33 +327,27 @@ dependencies = [
[[package]]
name = "agent-client-protocol"
version = "2.2.0"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13f780597b2c88ab83d02509bcc3e86366751f86fa12114005e35c55ed691763"
checksum = "6e582d0a6aed50feeea4d4ed3c57919db2f614a5cec42cd7acd1717231fa4f2f"
dependencies = [
"agent-client-protocol-derive",
"agent-client-protocol-schema",
"async-io",
"async-process",
"blocking",
"futures 0.3.34",
"futures-concurrency",
"rustc-hash 2.1.1",
"rustix",
"schemars 1.0.4",
"serde",
"serde_json",
"shell-words",
"tracing",
"uuid",
"windows-sys 0.61.2",
]
[[package]]
name = "agent-client-protocol-derive"
version = "2.2.0"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4893bfb11e0e193aa5a64611a126ee87567acb1879556519c902722899229de"
checksum = "605b0063f9c1b05c28bb7d6242b156ffa1e81b9469c6279f9cc291c0df2855d2"
dependencies = [
"quote",
"syn 3.0.3",
@ -361,9 +355,9 @@ dependencies = [
[[package]]
name = "agent-client-protocol-schema"
version = "1.9.1"
version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d595a79e1665d02c91c7dd1bedd118501e75cc0a3d5b1651b5150ec4c5c1e0d"
checksum = "7c3ffd489b0e2f96a134d7966c2f43d874d91299e951b66093b91b54b00b7f8f"
dependencies = [
"anyhow",
"derive_more",
@ -372,7 +366,6 @@ dependencies = [
"serde_json",
"serde_with",
"strum 0.28.0",
"tracing",
]
[[package]]
@ -1227,7 +1220,7 @@ dependencies = [
[[package]]
name = "async-task"
version = "4.7.1"
source = "git+https://github.com/smol-rs/async-task.git?rev=b4486cd71e4e94fbda54ce6302444de14f4d190e#b4486cd71e4e94fbda54ce6302444de14f4d190e"
source = "git+https://github.com/zed-industries/async-task.git?rev=015845a19fc31752c02367567d3b8900a406f9da#015845a19fc31752c02367567d3b8900a406f9da"
[[package]]
name = "async-trait"

View file

@ -527,7 +527,7 @@ accesskit = { version = "0.24.0", features = ["enumn"] }
accesskit_macos = "0.26.0"
accesskit_unix = "0.22"
accesskit_windows = "0.34"
agent-client-protocol = { version = "=2.2.0", features = ["unstable", "unstable_protocol_v2"] }
agent-client-protocol = { version = "=3.1.0", features = ["schemars", "unstable", "unstable_protocol_v2"] }
aho-corasick = "1.1"
alacritty_terminal = { git = "https://github.com/zed-industries/alacritty", rev = "4c129667ce56611becdc82de6e28218c80e2e88f" }
any_vec = "0.14"
@ -987,7 +987,7 @@ cpal = { git = "https://github.com/RustAudio/cpal", rev = "e1612d5d98152f8dc2a62
# constants type-incompatible with `tree_sitter::Language`.
tree-sitter-language = { git = "https://github.com/tree-sitter/tree-sitter", rev = "43623ec9bf0eaaf7113285c46e8a09018f181b18" }
async-process = { git = "https://github.com/zed-industries/async-process.git", rev = "0b6d6713570af61806e1e5cb40e0f757cb93fd9d" }
async-task = { git = "https://github.com/smol-rs/async-task.git", rev = "b4486cd71e4e94fbda54ce6302444de14f4d190e" }
async-task = { git = "https://github.com/zed-industries/async-task.git", rev = "015845a19fc31752c02367567d3b8900a406f9da" }
windows-capture = { git = "https://github.com/zed-industries/windows-capture.git", rev = "f0d6c1b6691db75461b732f6d5ff56eed002eeb9" }
calloop = { git = "https://github.com/zed-industries/calloop", rev = "3759371fee14c40066d64777e2a36b6ffcc22590" }
livekit = { git = "https://github.com/zed-industries/livekit-rust-sdks", rev = "0a1c519cfce9b365229026b55de9b9dbdb6fed3c" }