agent-client-protocol 2.1.0

Core protocol types and traits for the Agent Client Protocol
Documentation
[package]
name = "agent-client-protocol"
version = "2.1.0"
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Core protocol types and traits for the Agent Client Protocol"
keywords = ["acp", "agent", "protocol", "ai"]
categories = ["development-tools"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[[example]]
name = "simple_agent_v2"
required-features = ["unstable_protocol_v2"]

[[example]]
name = "v2_one_shot_client"
required-features = ["unstable_protocol_v2"]

[features]
default = []

# Forward unstable features from agent-client-protocol-schema.
# Enable these to get support for the corresponding unstable ACP surfaces.
unstable = [
    "unstable_end_turn_token_usage",
    "unstable_llm_providers",
    "unstable_mcp_over_acp",
    "unstable_plan_operations",
    "unstable_session_compaction",
    "unstable_session_fork",
    "unstable_tool_call_name",
]
unstable_end_turn_token_usage = ["agent-client-protocol-schema/unstable_end_turn_token_usage"]
unstable_llm_providers = ["agent-client-protocol-schema/unstable_llm_providers"]
unstable_mcp_over_acp = ["agent-client-protocol-schema/unstable_mcp_over_acp"]
unstable_plan_operations = ["agent-client-protocol-schema/unstable_plan_operations"]
unstable_session_compaction = ["agent-client-protocol-schema/unstable_session_compaction"]
unstable_session_fork = ["agent-client-protocol-schema/unstable_session_fork"]
unstable_tool_call_name = ["agent-client-protocol-schema/unstable_tool_call_name"]
unstable_protocol_v2 = ["agent-client-protocol-schema/unstable_protocol_v2"]

[dependencies]
agent-client-protocol-schema.workspace = true
agent-client-protocol-derive.workspace = true
futures.workspace = true
futures-concurrency.workspace = true
rustc-hash.workspace = true
schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
uuid.workspace = true

[target.'cfg(not(target_family = "wasm"))'.dependencies]
async-io.workspace = true
async-process.workspace = true
blocking.workspace = true
shell-words.workspace = true

[target.'cfg(all(unix, not(target_family = "wasm")))'.dependencies]
rustix.workspace = true

[target.'cfg(windows)'.dependencies]
windows-sys = { workspace = true, features = ["Win32_System_Threading"] }

[dev-dependencies]
agent-client-protocol-test.workspace = true
clap.workspace = true
expect-test.workspace = true
tokio = { workspace = true, features = ["io-std", "io-util", "macros", "rt", "rt-multi-thread", "sync", "time"] }
tokio-util.workspace = true

[lints]
workspace = true