From 40e2fafe8b467b55b4e51d713662719af6fe8726 Mon Sep 17 00:00:00 2001 From: anaslimem Date: Thu, 26 Mar 2026 15:50:59 +0100 Subject: [PATCH 1/4] Fix the rpc_test and example use following the new schema api --- src/agent-client-protocol/examples/agent.rs | 6 ++---- src/agent-client-protocol/src/rpc_tests.rs | 9 ++------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/agent-client-protocol/examples/agent.rs b/src/agent-client-protocol/examples/agent.rs index 1aa6ffe..f5dd7e3 100644 --- a/src/agent-client-protocol/examples/agent.rs +++ b/src/agent-client-protocol/examples/agent.rs @@ -14,7 +14,7 @@ use std::cell::Cell; -use agent_client_protocol::{self as acp, Client as _, SessionConfigOptionValue}; +use agent_client_protocol::{self as acp, Client as _}; use serde_json::json; use tokio::sync::{mpsc, oneshot}; use tokio_util::compat::{TokioAsyncReadCompatExt as _, TokioAsyncWriteCompatExt as _}; @@ -120,9 +120,7 @@ impl acp::Agent for ExampleAgent { args: acp::SetSessionConfigOptionRequest, ) -> Result { log::info!("Received set session config option request {args:?}"); - let SessionConfigOptionValue::ValueId { value } = args.value else { - return Err(acp::Error::invalid_params()); - }; + let value = args.value.0; let option = acp::SessionConfigOption::select( args.config_id, "Example Option", diff --git a/src/agent-client-protocol/src/rpc_tests.rs b/src/agent-client-protocol/src/rpc_tests.rs index ecdbf2d..50f35a9 100644 --- a/src/agent-client-protocol/src/rpc_tests.rs +++ b/src/agent-client-protocol/src/rpc_tests.rs @@ -158,10 +158,7 @@ impl Agent for TestAgent { async fn initialize(&self, arguments: InitializeRequest) -> Result { Ok(InitializeResponse::new(arguments.protocol_version) .agent_capabilities( - AgentCapabilities::new().auth( - agent_client_protocol_schema::AgentAuthCapabilities::new() - .logout(agent_client_protocol_schema::LogoutCapabilities::new()), - ), + AgentCapabilities::new() ) .agent_info(Implementation::new("test-agent", "0.0.0").title("Test Agent"))) } @@ -271,9 +268,7 @@ impl Agent for TestAgent { &self, args: agent_client_protocol_schema::SetSessionConfigOptionRequest, ) -> Result { - let SessionConfigOptionValue::ValueId { value } = args.value else { - return Err(Error::invalid_params()); - }; + let value = args.value.0; let option = agent_client_protocol_schema::SessionConfigOption::select( args.config_id, "Test Option", From d7b0811f6d71fa858769c8c05c87c1001cde93f2 Mon Sep 17 00:00:00 2001 From: anaslimem Date: Thu, 26 Mar 2026 16:04:09 +0100 Subject: [PATCH 2/4] fix format stuff --- src/agent-client-protocol/src/rpc_tests.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/agent-client-protocol/src/rpc_tests.rs b/src/agent-client-protocol/src/rpc_tests.rs index 50f35a9..dc609d9 100644 --- a/src/agent-client-protocol/src/rpc_tests.rs +++ b/src/agent-client-protocol/src/rpc_tests.rs @@ -157,9 +157,7 @@ impl TestAgent { impl Agent for TestAgent { async fn initialize(&self, arguments: InitializeRequest) -> Result { Ok(InitializeResponse::new(arguments.protocol_version) - .agent_capabilities( - AgentCapabilities::new() - ) + .agent_capabilities(AgentCapabilities::new()) .agent_info(Implementation::new("test-agent", "0.0.0").title("Test Agent"))) } From 37d480e318111579a0723a58bc68d849327beb95 Mon Sep 17 00:00:00 2001 From: anaslimem Date: Thu, 26 Mar 2026 16:28:27 +0100 Subject: [PATCH 3/4] fix use as_value_id() API --- src/agent-client-protocol/examples/agent.rs | 2 +- src/agent-client-protocol/src/rpc_tests.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/agent-client-protocol/examples/agent.rs b/src/agent-client-protocol/examples/agent.rs index f5dd7e3..9590c1d 100644 --- a/src/agent-client-protocol/examples/agent.rs +++ b/src/agent-client-protocol/examples/agent.rs @@ -120,7 +120,7 @@ impl acp::Agent for ExampleAgent { args: acp::SetSessionConfigOptionRequest, ) -> Result { log::info!("Received set session config option request {args:?}"); - let value = args.value.0; + let value = args.value.as_value_id().ok_or(acp::Error::invalid_params())?.clone(); let option = acp::SessionConfigOption::select( args.config_id, "Example Option", diff --git a/src/agent-client-protocol/src/rpc_tests.rs b/src/agent-client-protocol/src/rpc_tests.rs index dc609d9..f835458 100644 --- a/src/agent-client-protocol/src/rpc_tests.rs +++ b/src/agent-client-protocol/src/rpc_tests.rs @@ -266,7 +266,7 @@ impl Agent for TestAgent { &self, args: agent_client_protocol_schema::SetSessionConfigOptionRequest, ) -> Result { - let value = args.value.0; + let value = args.value.as_value_id().ok_or(agent_client_protocol_schema::Error::invalid_params())?.clone(); let option = agent_client_protocol_schema::SessionConfigOption::select( args.config_id, "Test Option", From fef41e787e41f583209814feaf37bf08b03d910e Mon Sep 17 00:00:00 2001 From: anaslimem Date: Thu, 26 Mar 2026 16:42:57 +0100 Subject: [PATCH 4/4] Fix format stuff again --- src/agent-client-protocol/examples/agent.rs | 6 +++++- src/agent-client-protocol/src/rpc_tests.rs | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/agent-client-protocol/examples/agent.rs b/src/agent-client-protocol/examples/agent.rs index 9590c1d..fb1635e 100644 --- a/src/agent-client-protocol/examples/agent.rs +++ b/src/agent-client-protocol/examples/agent.rs @@ -120,7 +120,11 @@ impl acp::Agent for ExampleAgent { args: acp::SetSessionConfigOptionRequest, ) -> Result { log::info!("Received set session config option request {args:?}"); - let value = args.value.as_value_id().ok_or(acp::Error::invalid_params())?.clone(); + let value = args + .value + .as_value_id() + .ok_or(acp::Error::invalid_params())? + .clone(); let option = acp::SessionConfigOption::select( args.config_id, "Example Option", diff --git a/src/agent-client-protocol/src/rpc_tests.rs b/src/agent-client-protocol/src/rpc_tests.rs index f835458..b0397fb 100644 --- a/src/agent-client-protocol/src/rpc_tests.rs +++ b/src/agent-client-protocol/src/rpc_tests.rs @@ -266,7 +266,11 @@ impl Agent for TestAgent { &self, args: agent_client_protocol_schema::SetSessionConfigOptionRequest, ) -> Result { - let value = args.value.as_value_id().ok_or(agent_client_protocol_schema::Error::invalid_params())?.clone(); + let value = args + .value + .as_value_id() + .ok_or(agent_client_protocol_schema::Error::invalid_params())? + .clone(); let option = agent_client_protocol_schema::SessionConfigOption::select( args.config_id, "Test Option",