diff --git a/CHANGELOG.md b/CHANGELOG.md index fa091e1..f852318 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.7.0 (2025-10-24) + +- Add ability for agents and clients to provide information about their implementation +- Fix incorrectly serialized `_meta` field on `SetSessionModeResponse` + ## 0.6.0 (2025-10-23) - Provide missing `_meta` fields on certain enum variants. diff --git a/Cargo.lock b/Cargo.lock index 004a7d3..3e44356 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,7 +19,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "agent-client-protocol" -version = "0.6.0" +version = "0.7.0" dependencies = [ "agent-client-protocol-schema", "anyhow", @@ -42,9 +42,9 @@ dependencies = [ [[package]] name = "agent-client-protocol-schema" -version = "0.5.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d510cb051ef98b12786311f27d0f6322580ccadf81ab5f8c1497e735f4e95e4" +checksum = "ecf16c18fea41282d6bbadd1549a06be6836bddb1893f44a6235f340fa24e2af" dependencies = [ "anyhow", "derive_more", diff --git a/Cargo.toml b/Cargo.toml index dae717b..0bb7e0e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "agent-client-protocol" authors = ["Zed "] -version = "0.6.0" +version = "0.7.0" edition = "2024" license = "Apache-2.0" description = "A protocol for standardizing communication between code editors and AI coding agents" @@ -17,7 +17,7 @@ include = ["/src/**/*.rs", "/README.md", "/LICENSE", "/Cargo.toml"] unstable = ["agent-client-protocol-schema/unstable"] [dependencies] -agent-client-protocol-schema = { version = "0.5.0" } +agent-client-protocol-schema = { version = "0.6.2" } anyhow = "1" async-broadcast = "0.7" async-trait = "0.1" diff --git a/examples/agent.rs b/examples/agent.rs index 96fa1f4..b5d395a 100644 --- a/examples/agent.rs +++ b/examples/agent.rs @@ -46,6 +46,11 @@ impl acp::Agent for ExampleAgent { protocol_version: acp::V1, agent_capabilities: acp::AgentCapabilities::default(), auth_methods: Vec::new(), + agent_info: Some(acp::Implementation { + name: "example-agent".to_string(), + title: Some("Example Agent".to_string()), + version: "0.1.0".to_string(), + }), meta: None, }) } diff --git a/examples/client.rs b/examples/client.rs index df76a80..f15c96a 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -151,6 +151,11 @@ async fn main() -> anyhow::Result<()> { conn.initialize(acp::InitializeRequest { protocol_version: acp::V1, client_capabilities: acp::ClientCapabilities::default(), + client_info: Some(acp::Implementation { + name: "example-client".to_string(), + title: Some("Example Client".to_string()), + version: "0.1.0".to_string(), + }), meta: None, }) .await?; diff --git a/src/rpc_tests.rs b/src/rpc_tests.rs index 68445a6..1d726ab 100644 --- a/src/rpc_tests.rs +++ b/src/rpc_tests.rs @@ -164,6 +164,11 @@ impl Agent for TestAgent { Ok(InitializeResponse { protocol_version: arguments.protocol_version, agent_capabilities: AgentCapabilities::default(), + agent_info: Some(Implementation { + name: "test-agent".into(), + title: Some("Test Agent".into()), + version: "0.0.0".into(), + }), auth_methods: vec![], meta: None, }) @@ -298,6 +303,11 @@ async fn test_initialize() { .initialize(InitializeRequest { protocol_version: VERSION, client_capabilities: ClientCapabilities::default(), + client_info: Some(Implementation { + name: "test-client".to_string(), + title: Some("Test Client".to_string()), + version: "0.0.0".to_string(), + }), meta: None, }) .await;