From 0f395df9a8f8f8dcceeed3f5cd98e7ba5014cc1d Mon Sep 17 00:00:00 2001 From: Agus Zubiaga Date: Mon, 28 Jul 2025 18:02:21 -0300 Subject: [PATCH] Update to new schema --- Cargo.lock | 4 +--- Cargo.toml | 2 +- crates/acp_thread/src/acp_thread.rs | 14 +++++++------- crates/agent_servers/src/codex.rs | 12 ++++-------- crates/agent_servers/src/mcp_server.rs | 7 ++++--- 5 files changed, 17 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d9a622655..eb034f4cc3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -138,9 +138,7 @@ dependencies = [ [[package]] name = "agent-client-protocol" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ec54650c1fc2d63498bab47eeeaa9eddc7d239d53f615b797a0e84f7ccc87b" +version = "0.0.12" dependencies = [ "schemars", "serde", diff --git a/Cargo.toml b/Cargo.toml index 16ace7dee0..d733f2242e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -413,7 +413,7 @@ zlog_settings = { path = "crates/zlog_settings" } # agentic-coding-protocol = "0.0.10" -agent-client-protocol = "0.0.11" +agent-client-protocol = {path="../agent-client-protocol"} aho-corasick = "1.1" alacritty_terminal = { git = "https://github.com/zed-industries/alacritty.git", branch = "add-hush-login-flag" } any_vec = "0.14" diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs index d572992c54..d02f2d6bb6 100644 --- a/crates/acp_thread/src/acp_thread.rs +++ b/crates/acp_thread/src/acp_thread.rs @@ -391,7 +391,7 @@ impl ToolCallContent { cx: &mut App, ) -> Self { match content { - acp::ToolCallContent::ContentBlock(content) => Self::ContentBlock { + acp::ToolCallContent::Content { content } => Self::ContentBlock { content: ContentBlock::new(content, &language_registry, cx), }, acp::ToolCallContent::Diff { diff } => Self::Diff { @@ -682,14 +682,14 @@ impl AcpThread { cx: &mut Context, ) -> Result<()> { match update { - acp::SessionUpdate::UserMessage(content_block) => { - self.push_user_content_block(content_block, cx); + acp::SessionUpdate::UserMessageChunk { content } => { + self.push_user_content_block(content, cx); } - acp::SessionUpdate::AgentMessageChunk(content_block) => { - self.push_assistant_content_block(content_block, false, cx); + acp::SessionUpdate::AgentMessageChunk { content } => { + self.push_assistant_content_block(content, false, cx); } - acp::SessionUpdate::AgentThoughtChunk(content_block) => { - self.push_assistant_content_block(content_block, true, cx); + acp::SessionUpdate::AgentThoughtChunk { content } => { + self.push_assistant_content_block(content, true, cx); } acp::SessionUpdate::ToolCall(tool_call) => { self.upsert_tool_call(tool_call, cx); diff --git a/crates/agent_servers/src/codex.rs b/crates/agent_servers/src/codex.rs index b10ce9cf54..d40aebfbd7 100644 --- a/crates/agent_servers/src/codex.rs +++ b/crates/agent_servers/src/codex.rs @@ -73,7 +73,7 @@ impl AgentServer for Codex { client .client() .context("Failed to subscribe")? - .on_notification(acp::SESSION_UPDATE_METHOD_NAME, { + .on_notification(acp::AGENT_METHODS.session_update, { move |notification, _cx| { let notification_tx = notification_tx.clone(); log::trace!( @@ -149,13 +149,9 @@ impl AgentConnection for CodexConnection { let response = client .request::(context_server::types::CallToolParams { - name: acp::NEW_SESSION_TOOL_NAME.into(), + name: acp::AGENT_METHODS.new_session.into(), arguments: Some(serde_json::to_value(acp::NewSessionArguments { - mcp_servers: [( - mcp_server::SERVER_NAME.to_string(), - mcp_server.server_config()?, - )] - .into(), + mcp_servers: vec![mcp_server.server_config()?], client_tools: acp::ClientTools { request_permission: Some(acp::McpToolId { mcp_server: mcp_server::SERVER_NAME.into(), @@ -227,7 +223,7 @@ impl AgentConnection for CodexConnection { let result = client .request_with::( context_server::types::CallToolParams { - name: acp::PROMPT_TOOL_NAME.into(), + name: acp::AGENT_METHODS.prompt.into(), arguments: Some(serde_json::to_value(params)?), meta: None, }, diff --git a/crates/agent_servers/src/mcp_server.rs b/crates/agent_servers/src/mcp_server.rs index 055b89dfe2..ec655800ed 100644 --- a/crates/agent_servers/src/mcp_server.rs +++ b/crates/agent_servers/src/mcp_server.rs @@ -37,7 +37,7 @@ impl ZedMcpServer { Ok(Self { server: mcp_server }) } - pub fn server_config(&self) -> Result { + pub fn server_config(&self) -> Result { #[cfg(not(test))] let zed_path = anyhow::Context::context( std::env::current_exe(), @@ -47,13 +47,14 @@ impl ZedMcpServer { #[cfg(test)] let zed_path = crate::e2e_tests::get_zed_path(); - Ok(acp::McpServerConfig { + Ok(acp::McpServer { + name: SERVER_NAME.into(), command: zed_path, args: vec![ "--nc".into(), self.server.socket_path().display().to_string(), ], - env: None, + env: vec![], }) }