clean up imports

Ben Brandt created

Change summary

Cargo.toml                                            |  2 
crates/acp_thread/Cargo.toml                          |  2 
crates/acp_thread/src/acp_thread.rs                   |  2 
crates/acp_thread/src/connection.rs                   |  2 
crates/acp_thread/src/mention.rs                      |  2 
crates/acp_thread/src/terminal.rs                     |  2 
crates/acp_tools/Cargo.toml                           |  2 
crates/acp_tools/src/acp_tools.rs                     |  2 
crates/agent/Cargo.toml                               |  2 
crates/agent/src/agent.rs                             |  2 
crates/agent/src/db.rs                                |  2 
crates/agent/src/native_agent_server.rs               |  2 
crates/agent/src/tests/mod.rs                         |  2 
crates/agent/src/thread.rs                            |  4 
crates/agent/src/thread_store.rs                      |  2 
crates/agent/src/tools/context_server_registry.rs     |  6 
crates/agent/src/tools/copy_path_tool.rs              |  7 
crates/agent/src/tools/create_directory_tool.rs       |  7 
crates/agent/src/tools/delete_path_tool.rs            |  7 
crates/agent/src/tools/diagnostics_tool.rs            |  2 
crates/agent/src/tools/edit_file_tool.rs              |  2 
crates/agent/src/tools/fetch_tool.rs                  |  2 
crates/agent/src/tools/find_path_tool.rs              |  2 
crates/agent/src/tools/grep_tool.rs                   |  2 
crates/agent/src/tools/list_directory_tool.rs         |  7 
crates/agent/src/tools/move_path_tool.rs              |  7 
crates/agent/src/tools/now_tool.rs                    |  2 
crates/agent/src/tools/open_tool.rs                   |  6 
crates/agent/src/tools/read_file_tool.rs              |  4 
crates/agent/src/tools/restore_file_from_disk_tool.rs |  2 
crates/agent/src/tools/save_file_tool.rs              |  2 
crates/agent/src/tools/spawn_agent_tool.rs            |  2 
crates/agent/src/tools/streaming_edit_file_tool.rs    |  2 
crates/agent/src/tools/terminal_tool.rs               |  2 
crates/agent/src/tools/update_plan_tool.rs            |  2 
crates/agent/src/tools/web_search_tool.rs             |  2 
crates/agent_servers/Cargo.toml                       |  2 
crates/agent_servers/src/acp.rs                       | 63 ++++++------
crates/agent_servers/src/agent_servers.rs             |  2 
crates/agent_servers/src/custom.rs                    |  2 
crates/agent_servers/src/e2e_tests.rs                 |  4 
crates/agent_settings/Cargo.toml                      |  2 
crates/agent_settings/src/agent_settings.rs           |  6 
crates/agent_ui/Cargo.toml                            |  2 
crates/agent_ui/src/agent_panel.rs                    |  2 
crates/agent_ui/src/agent_ui.rs                       |  6 
crates/agent_ui/src/completion_provider.rs            |  2 
crates/agent_ui/src/config_options.rs                 |  2 
crates/agent_ui/src/conversation_view.rs              |  4 
crates/agent_ui/src/conversation_view/thread_view.rs  | 13 +-
crates/agent_ui/src/entry_view_state.rs               | 10 +-
crates/agent_ui/src/mention_set.rs                    |  2 
crates/agent_ui/src/message_editor.rs                 |  4 
crates/agent_ui/src/mode_selector.rs                  |  2 
crates/agent_ui/src/model_selector.rs                 | 13 +-
crates/agent_ui/src/test_support.rs                   |  2 
crates/agent_ui/src/thread_history.rs                 |  2 
crates/agent_ui/src/thread_import.rs                  |  2 
crates/agent_ui/src/thread_metadata_store.rs          |  4 
crates/agent_ui/src/threads_archive_view.rs           |  2 
crates/agent_ui/src/ui/mention_crease.rs              |  2 
crates/eval_cli/Cargo.toml                            |  2 
crates/eval_cli/src/main.rs                           |  2 
crates/sidebar/Cargo.toml                             |  2 
crates/sidebar/src/sidebar.rs                         |  2 
crates/sidebar/src/thread_switcher.rs                 |  2 
crates/zed/Cargo.toml                                 |  2 
crates/zed/src/main.rs                                |  3 
crates/zed/src/visual_test_runner.rs                  |  2 
69 files changed, 137 insertions(+), 146 deletions(-)

Detailed changes

Cargo.toml πŸ”—

@@ -477,7 +477,7 @@ ztracing_macro = { path = "crates/ztracing_macro" }
 # External crates
 #
 
-agent-client-protocol-core = { git = "https://github.com/agentclientprotocol/rust-sdk", rev = "9fa32bb04e301f4be968a372eb5085dc3a86ef3c", features = ["unstable"] }
+agent-client-protocol = { package = "agent-client-protocol-core", git = "https://github.com/agentclientprotocol/rust-sdk", rev = "9fa32bb04e301f4be968a372eb5085dc3a86ef3c", features = ["unstable"] }
 aho-corasick = "1.1"
 alacritty_terminal = { git = "https://github.com/zed-industries/alacritty", rev = "9d9640d4" }
 any_vec = "0.14"

crates/acp_thread/Cargo.toml πŸ”—

@@ -17,7 +17,7 @@ test-support = ["gpui/test-support", "project/test-support", "dep:parking_lot",
 
 [dependencies]
 action_log.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 base64.workspace = true
 anyhow.workspace = true
 buffer_diff.workspace = true

crates/acp_thread/src/acp_thread.rs πŸ”—

@@ -3,7 +3,7 @@ mod diff;
 mod mention;
 mod terminal;
 use action_log::{ActionLog, ActionLogTelemetry};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context as _, Result, anyhow};
 use collections::HashSet;
 pub use connection::*;

crates/acp_thread/src/connection.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::AcpThread;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use chrono::{DateTime, Utc};
 use collections::{HashMap, IndexMap};

crates/acp_thread/src/mention.rs πŸ”—

@@ -1,4 +1,4 @@
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context as _, Result, bail};
 use file_icons::FileIcons;
 use prompt_store::{PromptId, UserPromptId};

crates/acp_thread/src/terminal.rs πŸ”—

@@ -1,4 +1,4 @@
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use futures::{FutureExt as _, future::Shared};
 use gpui::{App, AppContext, AsyncApp, Context, Entity, Task};

crates/acp_tools/Cargo.toml πŸ”—

@@ -14,7 +14,7 @@ path = "src/acp_tools.rs"
 doctest = false
 
 [dependencies]
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 collections.workspace = true
 gpui.workspace = true
 language.workspace= true

crates/acp_tools/src/acp_tools.rs πŸ”—

@@ -1,6 +1,6 @@
 use std::{collections::HashSet, fmt::Display, sync::Arc};
 
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use collections::HashMap;
 use gpui::{
     App, Empty, Entity, EventEmitter, FocusHandle, Focusable, Global, ListAlignment, ListState,

crates/agent/Cargo.toml πŸ”—

@@ -19,7 +19,7 @@ workspace = true
 [dependencies]
 acp_thread.workspace = true
 action_log.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 agent_servers.workspace = true
 agent_settings.workspace = true
 anyhow.workspace = true

crates/agent/src/agent.rs πŸ”—

@@ -28,7 +28,7 @@ use acp_thread::{
     AcpThread, AgentModelSelector, AgentSessionInfo, AgentSessionList, AgentSessionListRequest,
     AgentSessionListResponse, TokenUsageRatio, UserMessageId,
 };
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context as _, Result, anyhow};
 use chrono::{DateTime, Utc};
 use collections::{HashMap, HashSet, IndexMap};

crates/agent/src/db.rs πŸ”—

@@ -1,6 +1,6 @@
 use crate::{AgentMessage, AgentMessageContent, UserMessage, UserMessageContent};
 use acp_thread::UserMessageId;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentProfileId;
 use anyhow::{Result, anyhow};
 use chrono::{DateTime, Utc};

crates/agent/src/native_agent_server.rs πŸ”—

@@ -1,6 +1,6 @@
 use std::{any::Any, rc::Rc, sync::Arc};
 
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::{AgentServer, AgentServerDelegate};
 use agent_settings::AgentSettings;
 use anyhow::Result;

crates/agent/src/tests/mod.rs πŸ”—

@@ -3,7 +3,7 @@ use acp_thread::{
     AgentConnection, AgentModelGroupName, AgentModelList, PermissionOptions, ThreadStatus,
     UserMessageId,
 };
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentProfileId;
 use anyhow::Result;
 use client::{Client, UserStore};

crates/agent/src/thread.rs πŸ”—

@@ -12,7 +12,7 @@ use feature_flags::{
     FeatureFlagAppExt as _, StreamingEditFileToolFeatureFlag, UpdatePlanToolFeatureFlag,
 };
 
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::{
     AgentProfileId, AgentSettings, SUMMARIZE_THREAD_DETAILED_PROMPT, SUMMARIZE_THREAD_PROMPT,
 };
@@ -3341,7 +3341,7 @@ where
         T::description()
     }
 
-    fn kind(&self) -> agent_client_protocol_core::schema::ToolKind {
+    fn kind(&self) -> acp::ToolKind {
         T::kind()
     }
 

crates/agent/src/thread_store.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{DbThread, DbThreadMetadata, ThreadsDatabase};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Result, anyhow};
 use gpui::{App, Context, Entity, Global, Task, prelude::*};
 use util::path_list::PathList;

crates/agent/src/tools/context_server_registry.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{AgentToolOutput, AnyAgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use collections::{BTreeMap, HashMap};
 use context_server::{ContextServerId, client::NotificationSubscription};
@@ -304,8 +304,8 @@ impl AnyAgentTool for ContextServerTool {
         self.tool.description.clone().unwrap_or_default().into()
     }
 
-    fn kind(&self) -> ToolKind {
-        ToolKind::Other
+    fn kind(&self) -> acp::ToolKind {
+        acp::ToolKind::Other
     }
 
     fn initial_title(&self, _input: serde_json::Value, _cx: &mut App) -> SharedString {

crates/agent/src/tools/copy_path_tool.rs πŸ”—

@@ -5,7 +5,7 @@ use super::tool_permissions::{
 use crate::{
     AgentTool, ToolCallEventStream, ToolInput, ToolPermissionDecision, decide_permission_for_paths,
 };
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use futures::FutureExt as _;
 use gpui::{App, Entity, Task};
@@ -61,8 +61,8 @@ impl AgentTool for CopyPathTool {
 
     const NAME: &'static str = "copy_path";
 
-    fn kind() -> ToolKind {
-        ToolKind::Move
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Move
     }
 
     fn initial_title(
@@ -198,7 +198,6 @@ impl AgentTool for CopyPathTool {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
     use fs::Fs as _;
     use gpui::TestAppContext;
     use project::{FakeFs, Project};

crates/agent/src/tools/create_directory_tool.rs πŸ”—

@@ -2,7 +2,7 @@ use super::tool_permissions::{
     SensitiveSettingsKind, authorize_symlink_access, canonicalize_worktree_roots,
     detect_symlink_escape, sensitive_settings_kind,
 };
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use futures::FutureExt as _;
 use gpui::{App, Entity, SharedString, Task};
@@ -52,8 +52,8 @@ impl AgentTool for CreateDirectoryTool {
 
     const NAME: &'static str = "create_directory";
 
-    fn kind() -> ToolKind {
-        ToolKind::Read
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Read
     }
 
     fn initial_title(
@@ -169,7 +169,6 @@ impl AgentTool for CreateDirectoryTool {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
     use fs::Fs as _;
     use gpui::TestAppContext;
     use project::{FakeFs, Project};

crates/agent/src/tools/delete_path_tool.rs πŸ”—

@@ -6,7 +6,7 @@ use crate::{
     AgentTool, ToolCallEventStream, ToolInput, ToolPermissionDecision, decide_permission_for_path,
 };
 use action_log::ActionLog;
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use futures::{FutureExt as _, SinkExt, StreamExt, channel::mpsc};
 use gpui::{App, AppContext, Entity, SharedString, Task};
@@ -55,8 +55,8 @@ impl AgentTool for DeletePathTool {
 
     const NAME: &'static str = "delete_path";
 
-    fn kind() -> ToolKind {
-        ToolKind::Delete
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Delete
     }
 
     fn initial_title(
@@ -228,7 +228,6 @@ impl AgentTool for DeletePathTool {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
     use fs::Fs as _;
     use gpui::TestAppContext;
     use project::{FakeFs, Project};

crates/agent/src/tools/diagnostics_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{AgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use futures::FutureExt as _;
 use gpui::{App, Entity, Task};

crates/agent/src/tools/edit_file_tool.rs πŸ”—

@@ -6,7 +6,7 @@ use crate::{
     edit_agent::{EditAgent, EditAgentOutputEvent, EditFormat},
 };
 use acp_thread::Diff;
-use agent_client_protocol_core::schema::{self as acp, ToolCallLocation, ToolCallUpdateFields};
+use agent_client_protocol::schema::{self as acp, ToolCallLocation, ToolCallUpdateFields};
 use anyhow::{Context as _, Result};
 use collections::HashSet;
 use futures::{FutureExt as _, StreamExt as _};

crates/agent/src/tools/fetch_tool.rs πŸ”—

@@ -2,7 +2,7 @@ use std::rc::Rc;
 use std::sync::Arc;
 use std::{borrow::Cow, cell::RefCell};
 
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use anyhow::{Context as _, Result, bail};
 use futures::{AsyncReadExt as _, FutureExt as _};

crates/agent/src/tools/find_path_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{AgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Result, anyhow};
 use futures::FutureExt as _;
 use gpui::{App, AppContext, Entity, SharedString, Task};

crates/agent/src/tools/grep_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{AgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use futures::{FutureExt as _, StreamExt};
 use gpui::{App, Entity, SharedString, Task};

crates/agent/src/tools/list_directory_tool.rs πŸ”—

@@ -3,7 +3,7 @@ use super::tool_permissions::{
     resolve_project_path,
 };
 use crate::{AgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context as _, Result, anyhow};
 use gpui::{App, Entity, SharedString, Task};
 use project::{Project, ProjectPath, WorktreeSettings};
@@ -127,8 +127,8 @@ impl AgentTool for ListDirectoryTool {
 
     const NAME: &'static str = "list_directory";
 
-    fn kind() -> ToolKind {
-        ToolKind::Read
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Read
     }
 
     fn initial_title(
@@ -267,7 +267,6 @@ impl AgentTool for ListDirectoryTool {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
     use fs::Fs as _;
     use gpui::{TestAppContext, UpdateGlobal};
     use indoc::indoc;

crates/agent/src/tools/move_path_tool.rs πŸ”—

@@ -5,7 +5,7 @@ use super::tool_permissions::{
 use crate::{
     AgentTool, ToolCallEventStream, ToolInput, ToolPermissionDecision, decide_permission_for_paths,
 };
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use futures::FutureExt as _;
 use gpui::{App, Entity, SharedString, Task};
@@ -62,8 +62,8 @@ impl AgentTool for MovePathTool {
 
     const NAME: &'static str = "move_path";
 
-    fn kind() -> ToolKind {
-        ToolKind::Move
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Move
     }
 
     fn initial_title(
@@ -205,7 +205,6 @@ impl AgentTool for MovePathTool {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
     use fs::Fs as _;
     use gpui::TestAppContext;
     use project::{FakeFs, Project};

crates/agent/src/tools/now_tool.rs πŸ”—

@@ -1,6 +1,6 @@
 use std::sync::Arc;
 
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use chrono::{Local, Utc};
 use gpui::{App, SharedString, Task};
 use schemars::JsonSchema;

crates/agent/src/tools/open_tool.rs πŸ”—

@@ -3,7 +3,7 @@ use super::tool_permissions::{
     resolve_project_path,
 };
 use crate::{AgentTool, ToolInput};
-use agent_client_protocol_core::schema::ToolKind;
+use agent_client_protocol::schema as acp;
 use futures::FutureExt as _;
 use gpui::{App, AppContext as _, Entity, SharedString, Task};
 use project::Project;
@@ -43,8 +43,8 @@ impl AgentTool for OpenTool {
 
     const NAME: &'static str = "open";
 
-    fn kind() -> ToolKind {
-        ToolKind::Execute
+    fn kind() -> acp::ToolKind {
+        acp::ToolKind::Execute
     }
 
     fn initial_title(

crates/agent/src/tools/read_file_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use action_log::ActionLog;
-use agent_client_protocol_core::schema::{self as acp, ToolCallUpdateFields};
+use agent_client_protocol::schema::{self as acp, ToolCallUpdateFields};
 use anyhow::{Context as _, Result, anyhow};
 use futures::FutureExt as _;
 use gpui::{App, Entity, SharedString, Task};
@@ -347,7 +347,7 @@ impl AgentTool for ReadFileTool {
 #[cfg(test)]
 mod test {
     use super::*;
-    use agent_client_protocol_core::schema as acp;
+    use agent_client_protocol::schema as acp;
     use fs::Fs as _;
     use gpui::{AppContext, TestAppContext, UpdateGlobal as _};
     use project::{FakeFs, Project};

crates/agent/src/tools/restore_file_from_disk_tool.rs πŸ”—

@@ -3,7 +3,7 @@ use super::tool_permissions::{
     canonicalize_worktree_roots, path_has_symlink_escape, resolve_project_path,
     sensitive_settings_kind,
 };
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use collections::FxHashSet;
 use futures::FutureExt as _;

crates/agent/src/tools/save_file_tool.rs πŸ”—

@@ -1,4 +1,4 @@
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use collections::FxHashSet;
 use futures::FutureExt as _;

crates/agent/src/tools/spawn_agent_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use acp_thread::{SUBAGENT_SESSION_INFO_META_KEY, SubagentSessionInfo};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use gpui::{App, SharedString, Task};
 use language_model::LanguageModelToolResultContent;

crates/agent/src/tools/streaming_edit_file_tool.rs πŸ”—

@@ -11,7 +11,7 @@ use crate::{
 };
 use acp_thread::Diff;
 use action_log::ActionLog;
-use agent_client_protocol_core::schema::{self as acp, ToolCallLocation, ToolCallUpdateFields};
+use agent_client_protocol::schema::{self as acp, ToolCallLocation, ToolCallUpdateFields};
 use anyhow::{Context as _, Result};
 use collections::HashSet;
 use futures::FutureExt as _;

crates/agent/src/tools/terminal_tool.rs πŸ”—

@@ -1,4 +1,4 @@
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use anyhow::Result;
 use futures::FutureExt as _;

crates/agent/src/tools/update_plan_tool.rs πŸ”—

@@ -1,5 +1,5 @@
 use crate::{AgentTool, ToolCallEventStream, ToolInput};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use gpui::{App, SharedString, Task};
 use schemars::JsonSchema;
 use serde::{Deserialize, Serialize};

crates/agent/src/tools/web_search_tool.rs πŸ”—

@@ -4,7 +4,7 @@ use crate::{
     AgentTool, ToolCallEventStream, ToolInput, ToolPermissionDecision,
     decide_permission_from_settings,
 };
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use anyhow::Result;
 use cloud_llm_client::WebSearchResponse;

crates/agent_servers/Cargo.toml πŸ”—

@@ -20,7 +20,7 @@ doctest = false
 acp_tools.workspace = true
 acp_thread.workspace = true
 action_log.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 anyhow.workspace = true
 async-trait.workspace = true
 chrono.workspace = true

crates/agent_servers/src/acp.rs πŸ”—

@@ -4,8 +4,8 @@ use acp_thread::{
 };
 use acp_tools::{AcpConnectionRegistry, StreamMessage, StreamMessageDirection};
 use action_log::ActionLog;
-use agent_client_protocol_core::schema::{self as acp, ErrorCode};
-use agent_client_protocol_core::{ConnectionTo, Lines};
+use agent_client_protocol::schema::{self as acp, ErrorCode};
+use agent_client_protocol::{Agent, Client, ConnectionTo, JsonRpcResponse, Lines, Responder};
 use anyhow::anyhow;
 use collections::HashMap;
 use feature_flags::{AcpBetaFeatureFlag, FeatureFlagAppExt as _};
@@ -54,7 +54,7 @@ type ForegroundWork = Box<dyn FnOnce(&mut AsyncApp, &ClientContext) + Send>;
 pub struct AcpConnection {
     id: AgentId,
     telemetry_id: SharedString,
-    connection: ConnectionTo<agent_client_protocol_core::Agent>,
+    connection: ConnectionTo<Agent>,
     sessions: Rc<RefCell<HashMap<acp::SessionId, AcpSession>>>,
     auth_methods: Vec<acp::AuthMethod>,
     command: AgentServerCommand,
@@ -96,13 +96,13 @@ pub struct AcpSession {
 }
 
 pub struct AcpSessionList {
-    connection: ConnectionTo<agent_client_protocol_core::Agent>,
+    connection: ConnectionTo<Agent>,
     updates_tx: smol::channel::Sender<acp_thread::SessionListUpdate>,
     updates_rx: smol::channel::Receiver<acp_thread::SessionListUpdate>,
 }
 
 impl AcpSessionList {
-    fn new(connection: ConnectionTo<agent_client_protocol_core::Agent>) -> Self {
+    fn new(connection: ConnectionTo<Agent>) -> Self {
         let (tx, rx) = smol::channel::unbounded();
         Self {
             connection,
@@ -337,50 +337,50 @@ impl AcpConnection {
         // All handlers forward work to the foreground dispatch channel.
         let connection_future = {
             let dispatch_tx = dispatch_tx.clone();
-            agent_client_protocol_core::Client
+            Client
                 .builder()
                 .name("zed")
                 // --- Request handlers (agent→client) ---
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_request_permission),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_write_text_file),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_read_text_file),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_create_terminal),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_kill_terminal),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_release_terminal),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_terminal_output),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 .on_receive_request(
                     dispatch_request_handler!(dispatch_tx, handle_wait_for_terminal_exit),
-                    agent_client_protocol_core::on_receive_request!(),
+                    agent_client_protocol::on_receive_request!(),
                 )
                 // --- Notification handlers (agent→client) ---
                 .on_receive_notification(
                     dispatch_notification_handler!(dispatch_tx, handle_session_notification),
-                    agent_client_protocol_core::on_receive_notification!(),
+                    agent_client_protocol::on_receive_notification!(),
                 )
                 .connect_with(
                     transport,
-                    move |connection: ConnectionTo<agent_client_protocol_core::Agent>| async move {
+                    move |connection: ConnectionTo<Agent>| async move {
                         connection_tx.send(connection.clone()).ok();
                         // Keep the connection alive until the transport closes.
                         futures::future::pending::<Result<(), acp::Error>>().await
@@ -396,7 +396,7 @@ impl AcpConnection {
         });
 
         // Wait for the ConnectionTo<Agent> handle.
-        let connection: ConnectionTo<agent_client_protocol_core::Agent> = connection_rx
+        let connection: ConnectionTo<Agent> = connection_rx
             .await
             .context("Failed to receive ACP connection handle")?;
 
@@ -1465,7 +1465,7 @@ fn config_state(
 
 struct AcpSessionModes {
     session_id: acp::SessionId,
-    connection: ConnectionTo<agent_client_protocol_core::Agent>,
+    connection: ConnectionTo<Agent>,
     state: Rc<RefCell<acp::SessionModeState>>,
 }
 
@@ -1507,14 +1507,14 @@ impl acp_thread::AgentSessionModes for AcpSessionModes {
 
 struct AcpModelSelector {
     session_id: acp::SessionId,
-    connection: ConnectionTo<agent_client_protocol_core::Agent>,
+    connection: ConnectionTo<Agent>,
     state: Rc<RefCell<acp::SessionModelState>>,
 }
 
 impl AcpModelSelector {
     fn new(
         session_id: acp::SessionId,
-        connection: ConnectionTo<agent_client_protocol_core::Agent>,
+        connection: ConnectionTo<Agent>,
         state: Rc<RefCell<acp::SessionModelState>>,
     ) -> Self {
         Self {
@@ -1580,7 +1580,7 @@ impl acp_thread::AgentModelSelector for AcpModelSelector {
 
 struct AcpSessionConfigOptions {
     session_id: acp::SessionId,
-    connection: ConnectionTo<agent_client_protocol_core::Agent>,
+    connection: ConnectionTo<Agent>,
     state: Rc<RefCell<Vec<acp::SessionConfigOption>>>,
     watch_tx: Rc<RefCell<watch::Sender<()>>>,
     watch_rx: watch::Receiver<()>,
@@ -1638,16 +1638,13 @@ fn session_thread(
         .ok_or_else(|| acp::Error::internal_error().data(format!("unknown session: {session_id}")))
 }
 
-fn respond_err<T: agent_client_protocol_core::JsonRpcResponse + Send + 'static>(
-    responder: agent_client_protocol_core::Responder<T>,
-    err: acp::Error,
-) {
+fn respond_err<T: JsonRpcResponse + Send + 'static>(responder: Responder<T>, err: acp::Error) {
     responder.respond_with_error(err).log_err();
 }
 
 fn handle_request_permission(
     args: acp::RequestPermissionRequest,
-    responder: agent_client_protocol_core::Responder<acp::RequestPermissionResponse>,
+    responder: Responder<acp::RequestPermissionResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -1686,7 +1683,7 @@ fn handle_request_permission(
 
 fn handle_write_text_file(
     args: acp::WriteTextFileRequest,
-    responder: agent_client_protocol_core::Responder<acp::WriteTextFileResponse>,
+    responder: Responder<acp::WriteTextFileResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -1721,7 +1718,7 @@ fn handle_write_text_file(
 
 fn handle_read_text_file(
     args: acp::ReadTextFileRequest,
-    responder: agent_client_protocol_core::Responder<acp::ReadTextFileResponse>,
+    responder: Responder<acp::ReadTextFileResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -1903,7 +1900,7 @@ fn handle_session_notification(
 
 fn handle_create_terminal(
     args: acp::CreateTerminalRequest,
-    responder: agent_client_protocol_core::Responder<acp::CreateTerminalResponse>,
+    responder: Responder<acp::CreateTerminalResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -1966,7 +1963,7 @@ fn handle_create_terminal(
 
 fn handle_kill_terminal(
     args: acp::KillTerminalRequest,
-    responder: agent_client_protocol_core::Responder<acp::KillTerminalResponse>,
+    responder: Responder<acp::KillTerminalResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -1991,7 +1988,7 @@ fn handle_kill_terminal(
 
 fn handle_release_terminal(
     args: acp::ReleaseTerminalRequest,
-    responder: agent_client_protocol_core::Responder<acp::ReleaseTerminalResponse>,
+    responder: Responder<acp::ReleaseTerminalResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -2018,7 +2015,7 @@ fn handle_release_terminal(
 
 fn handle_terminal_output(
     args: acp::TerminalOutputRequest,
-    responder: agent_client_protocol_core::Responder<acp::TerminalOutputResponse>,
+    responder: Responder<acp::TerminalOutputResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {
@@ -2047,7 +2044,7 @@ fn handle_terminal_output(
 
 fn handle_wait_for_terminal_exit(
     args: acp::WaitForTerminalExitRequest,
-    responder: agent_client_protocol_core::Responder<acp::WaitForTerminalExitResponse>,
+    responder: Responder<acp::WaitForTerminalExitResponse>,
     cx: &mut AsyncApp,
     ctx: &ClientContext,
 ) {

crates/agent_servers/src/agent_servers.rs πŸ”—

@@ -12,7 +12,7 @@ use http_client::read_no_proxy_from_env;
 use project::{AgentId, Project, agent_server_store::AgentServerStore};
 
 use acp_thread::AgentConnection;
-use agent_client_protocol_core::schema::{
+use agent_client_protocol::schema::{
     ModelId, SessionConfigId, SessionConfigValueId, SessionModeId,
 };
 use anyhow::Result;

crates/agent_servers/src/custom.rs πŸ”—

@@ -1,6 +1,6 @@
 use crate::{AgentServer, AgentServerDelegate, load_proxy_env};
 use acp_thread::AgentConnection;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context as _, Result};
 use collections::HashSet;
 use credentials_provider::CredentialsProvider;

crates/agent_servers/src/e2e_tests.rs πŸ”—

@@ -1,6 +1,6 @@
 use crate::{AgentServer, AgentServerDelegate};
 use acp_thread::{AcpThread, AgentThreadEntry, ToolCall, ToolCallStatus};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use futures::{FutureExt, StreamExt, channel::mpsc, select};
 use gpui::AppContext;
 use gpui::{Entity, TestAppContext};
@@ -378,7 +378,7 @@ macro_rules! common_e2e_tests {
             async fn tool_call_with_permission(cx: &mut ::gpui::TestAppContext) {
                 $crate::e2e_tests::test_tool_call_with_permission(
                     $server,
-                    ::agent_client_protocol_core::schema::PermissionOptionId::new($allow_option_id),
+                    ::agent_client_protocol::schema::PermissionOptionId::new($allow_option_id),
                     cx,
                 )
                 .await;

crates/agent_settings/Cargo.toml πŸ”—

@@ -12,7 +12,7 @@ workspace = true
 path = "src/agent_settings.rs"
 
 [dependencies]
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 anyhow.workspace = true
 collections.workspace = true
 convert_case.workspace = true

crates/agent_settings/src/agent_settings.rs πŸ”—

@@ -3,7 +3,7 @@ mod agent_profile;
 use std::path::{Component, Path};
 use std::sync::{Arc, LazyLock};
 
-use agent_client_protocol_core::schema::ModelId;
+use agent_client_protocol::schema as acp;
 use collections::{HashSet, IndexMap};
 use fs::Fs;
 use gpui::{App, Pixels, px};
@@ -214,10 +214,10 @@ impl AgentSettings {
         self.message_editor_min_lines * 2
     }
 
-    pub fn favorite_model_ids(&self) -> HashSet<ModelId> {
+    pub fn favorite_model_ids(&self) -> HashSet<acp::ModelId> {
         self.favorite_models
             .iter()
-            .map(|sel| ModelId::new(format!("{}/{}", sel.provider.0, sel.model)))
+            .map(|sel| acp::ModelId::new(format!("{}/{}", sel.provider.0, sel.model)))
             .collect()
     }
 

crates/agent_ui/Cargo.toml πŸ”—

@@ -28,7 +28,7 @@ unit-eval = []
 [dependencies]
 acp_thread.workspace = true
 action_log.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 agent.workspace = true
 agent_servers.workspace = true
 agent_settings.workspace = true

crates/agent_ui/src/agent_panel.rs πŸ”—

@@ -10,7 +10,7 @@ use std::{
 
 use acp_thread::{AcpThread, MentionUri, ThreadStatus};
 use agent::{ContextServerRegistry, SharedThread, ThreadStore};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::AgentServer;
 use collections::HashSet;
 use db::kvp::{Dismissable, KeyValueStore};

crates/agent_ui/src/agent_ui.rs πŸ”—

@@ -39,7 +39,7 @@ use std::rc::Rc;
 use std::sync::Arc;
 
 use ::ui::IconName;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::{AgentProfileId, AgentSettings};
 use command_palette_hooks::CommandPaletteFilter;
 use feature_flags::{AgentV2FeatureFlag, FeatureFlagAppExt as _};
@@ -232,7 +232,7 @@ pub struct NewExternalAgentThread {
 #[action(namespace = agent)]
 #[serde(deny_unknown_fields)]
 pub struct NewNativeAgentThreadFromSummary {
-    from_session_id: agent_client_protocol_core::schema::SessionId,
+    from_session_id: acp::SessionId,
 }
 
 #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, JsonSchema)]
@@ -317,7 +317,7 @@ pub enum AgentInitialContent {
         title: Option<SharedString>,
     },
     ContentBlock {
-        blocks: Vec<agent_client_protocol_core::schema::ContentBlock>,
+        blocks: Vec<acp::ContentBlock>,
         auto_submit: bool,
     },
     FromExternalSource(ExternalSourcePrompt),

crates/agent_ui/src/completion_provider.rs πŸ”—

@@ -7,7 +7,7 @@ use std::sync::atomic::AtomicBool;
 use crate::DEFAULT_THREAD_TITLE;
 use crate::ThreadHistory;
 use acp_thread::MentionUri;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Result;
 use editor::{CompletionProvider, Editor, code_context_menus::COMPLETION_MENU_MAX_WIDTH};
 use futures::FutureExt as _;

crates/agent_ui/src/config_options.rs πŸ”—

@@ -1,7 +1,7 @@
 use std::{cmp::Reverse, rc::Rc, sync::Arc};
 
 use acp_thread::AgentSessionConfigOptions;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::AgentServer;
 use agent_settings::AgentSettings;
 use collections::HashSet;

crates/agent_ui/src/conversation_view.rs πŸ”—

@@ -7,7 +7,7 @@ use acp_thread::{
 use acp_thread::{AgentConnection, Plan};
 use action_log::{ActionLog, ActionLogTelemetry, DiffStats};
 use agent::{NativeAgentServer, NativeAgentSessionList, SharedThread, ThreadStore};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 #[cfg(test)]
 use agent_servers::AgentServerDelegate;
 use agent_servers::{AgentServer, GEMINI_TERMINAL_AUTH_METHOD_ID};
@@ -2745,12 +2745,12 @@ fn plan_label_markdown_style(
 
 #[cfg(test)]
 pub(crate) mod tests {
+    use acp::SessionId;
     use acp_thread::{
         AgentSessionList, AgentSessionListRequest, AgentSessionListResponse, StubAgentConnection,
     };
     use action_log::ActionLog;
     use agent::{AgentTool, EditFileTool, FetchTool, TerminalTool, ToolPermissionContext};
-    use agent_client_protocol_core::schema::SessionId;
     use editor::MultiBufferOffset;
     use fs::FakeFs;
     use gpui::{EventEmitter, TestAppContext, VisualTestContext};

crates/agent_ui/src/conversation_view/thread_view.rs πŸ”—

@@ -2,6 +2,7 @@ use crate::{
     DEFAULT_THREAD_TITLE, SelectPermissionGranularity,
     agent_configuration::configure_context_server_modal::default_markdown_style,
 };
+use agent_client_protocol::schema as acp;
 use std::cell::RefCell;
 
 use acp_thread::{ContentBlock, PlanEntry};
@@ -249,13 +250,12 @@ pub struct ThreadView {
     pub session_capabilities: SharedSessionCapabilities,
     /// Tracks which tool calls have their content/output expanded.
     /// Used for showing/hiding tool call results, terminal output, etc.
-    pub expanded_tool_calls: HashSet<agent_client_protocol_core::schema::ToolCallId>,
-    pub expanded_tool_call_raw_inputs: HashSet<agent_client_protocol_core::schema::ToolCallId>,
+    pub expanded_tool_calls: HashSet<acp::ToolCallId>,
+    pub expanded_tool_call_raw_inputs: HashSet<acp::ToolCallId>,
     pub expanded_thinking_blocks: HashSet<(usize, usize)>,
     auto_expanded_thinking_block: Option<(usize, usize)>,
     user_toggled_thinking_blocks: HashSet<(usize, usize)>,
-    pub subagent_scroll_handles:
-        RefCell<HashMap<agent_client_protocol_core::schema::SessionId, ScrollHandle>>,
+    pub subagent_scroll_handles: RefCell<HashMap<acp::SessionId, ScrollHandle>>,
     pub edits_expanded: bool,
     pub plan_expanded: bool,
     pub queue_expanded: bool,
@@ -267,12 +267,11 @@ pub struct ThreadView {
     pub queued_message_editor_subscriptions: Vec<Subscription>,
     pub last_synced_queue_length: usize,
     pub turn_fields: TurnFields,
-    pub discarded_partial_edits: HashSet<agent_client_protocol_core::schema::ToolCallId>,
+    pub discarded_partial_edits: HashSet<acp::ToolCallId>,
     pub is_loading_contents: bool,
     pub new_server_version_available: Option<SharedString>,
     pub resumed_without_history: bool,
-    pub(crate) permission_selections:
-        HashMap<agent_client_protocol_core::schema::ToolCallId, PermissionSelection>,
+    pub(crate) permission_selections: HashMap<acp::ToolCallId, PermissionSelection>,
     pub resume_thread_metadata: Option<AgentSessionInfo>,
     pub _cancel_task: Option<Task<()>>,
     _save_task: Option<Task<()>>,

crates/agent_ui/src/entry_view_state.rs πŸ”—

@@ -3,7 +3,7 @@ use std::ops::Range;
 use super::thread_history::ThreadHistory;
 use acp_thread::{AcpThread, AgentThreadEntry};
 use agent::ThreadStore;
-use agent_client_protocol_core::schema::ToolCallId;
+use agent_client_protocol::schema as acp;
 use collections::HashMap;
 use editor::{Editor, EditorEvent, EditorMode, MinimapVisibility, SizingBehavior};
 use gpui::{
@@ -286,9 +286,9 @@ pub struct EntryViewEvent {
 }
 
 pub enum ViewEvent {
-    NewDiff(ToolCallId),
-    NewTerminal(ToolCallId),
-    TerminalMovedToBackground(ToolCallId),
+    NewDiff(acp::ToolCallId),
+    NewTerminal(acp::ToolCallId),
+    TerminalMovedToBackground(acp::ToolCallId),
     MessageEditorEvent(Entity<MessageEditor>, MessageEditorEvent),
     OpenDiffLocation {
         path: String,
@@ -465,7 +465,7 @@ mod tests {
     use std::sync::Arc;
 
     use acp_thread::{AgentConnection, StubAgentConnection};
-    use agent_client_protocol_core::schema as acp;
+    use agent_client_protocol::schema as acp;
     use buffer_diff::{DiffHunkStatus, DiffHunkStatusKind};
     use editor::RowInfo;
     use fs::FakeFs;

crates/agent_ui/src/mention_set.rs πŸ”—

@@ -1,7 +1,7 @@
 use crate::diagnostics::{DiagnosticsOptions, codeblock_fence_for_path, collect_diagnostics};
 use acp_thread::{MentionUri, selection_name};
 use agent::{ThreadStore, outline};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::{AgentServer, AgentServerDelegate};
 use anyhow::{Context as _, Result, anyhow};
 use collections::{HashMap, HashSet};

crates/agent_ui/src/message_editor.rs πŸ”—

@@ -11,7 +11,7 @@ use crate::{
 };
 use acp_thread::MentionUri;
 use agent::ThreadStore;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Result, anyhow};
 use editor::{
     Addon, AnchorRangeExt, ContextMenuOptions, Editor, EditorElement, EditorEvent, EditorMode,
@@ -1905,7 +1905,7 @@ mod tests {
 
     use acp_thread::MentionUri;
     use agent::{ThreadStore, outline};
-    use agent_client_protocol_core::schema as acp;
+    use agent_client_protocol::schema as acp;
     use base64::Engine as _;
     use editor::{
         AnchorRangeExt as _, Editor, EditorMode, MultiBufferOffset, SelectionEffects,

crates/agent_ui/src/mode_selector.rs πŸ”—

@@ -1,5 +1,5 @@
 use acp_thread::AgentSessionModes;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::AgentServer;
 use agent_settings::AgentSettings;
 use fs::Fs;

crates/agent_ui/src/model_selector.rs πŸ”—

@@ -1,7 +1,7 @@
 use std::{cmp::Reverse, rc::Rc, sync::Arc};
 
 use acp_thread::{AgentModelIcon, AgentModelInfo, AgentModelList, AgentModelSelector};
-use agent_client_protocol_core::schema::ModelId;
+use agent_client_protocol::schema as acp;
 use agent_servers::AgentServer;
 use agent_settings::AgentSettings;
 use anyhow::Result;
@@ -54,7 +54,7 @@ pub struct ModelPickerDelegate {
     selected_index: usize,
     selected_description: Option<(usize, SharedString, bool)>,
     selected_model: Option<AgentModelInfo>,
-    favorites: HashSet<ModelId>,
+    favorites: HashSet<acp::ModelId>,
     _refresh_models_task: Task<()>,
     _settings_subscription: Subscription,
     focus_handle: FocusHandle,
@@ -427,7 +427,7 @@ impl PickerDelegate for ModelPickerDelegate {
 
 fn info_list_to_picker_entries(
     model_list: AgentModelList,
-    favorites: &HashSet<ModelId>,
+    favorites: &HashSet<acp::ModelId>,
 ) -> Vec<ModelPickerEntry> {
     let mut entries = Vec::new();
 
@@ -533,7 +533,6 @@ async fn fuzzy_search(
 
 #[cfg(test)]
 mod tests {
-    use agent_client_protocol_core::schema as acp;
     use gpui::TestAppContext;
 
     use super::*;
@@ -595,10 +594,10 @@ mod tests {
         }
     }
 
-    fn create_favorites(models: Vec<&str>) -> HashSet<ModelId> {
+    fn create_favorites(models: Vec<&str>) -> HashSet<acp::ModelId> {
         models
             .into_iter()
-            .map(|m| ModelId::new(m.to_string()))
+            .map(|m| acp::ModelId::new(m.to_string()))
             .collect()
     }
 
@@ -794,7 +793,7 @@ mod tests {
 
     #[gpui::test]
     fn test_favorites_count_returns_correct_count(_cx: &mut TestAppContext) {
-        let empty_favorites: HashSet<ModelId> = HashSet::default();
+        let empty_favorites: HashSet<acp::ModelId> = HashSet::default();
         assert_eq!(empty_favorites.len(), 0);
 
         let one_favorite = create_favorites(vec!["model-a"]);

crates/agent_ui/src/test_support.rs πŸ”—

@@ -1,5 +1,5 @@
 use acp_thread::{AgentConnection, StubAgentConnection};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_servers::{AgentServer, AgentServerDelegate};
 use gpui::{Entity, Task, TestAppContext, VisualTestContext};
 use project::AgentId;

crates/agent_ui/src/thread_history.rs πŸ”—

@@ -1,5 +1,5 @@
 use acp_thread::{AgentSessionInfo, AgentSessionList, AgentSessionListRequest, SessionListUpdate};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use gpui::{App, Task};
 use std::rc::Rc;
 use ui::prelude::*;

crates/agent_ui/src/thread_import.rs πŸ”—

@@ -1,6 +1,6 @@
 use acp_thread::AgentSessionListRequest;
 use agent::ThreadStore;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use chrono::Utc;
 use collections::HashSet;
 use db::kvp::Dismissable;

crates/agent_ui/src/thread_metadata_store.rs πŸ”—

@@ -2,7 +2,7 @@ use std::{path::Path, sync::Arc};
 
 use acp_thread::AcpThreadEvent;
 use agent::{ThreadStore, ZED_AGENT_ID};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::Context as _;
 use chrono::{DateTime, Utc};
 use collections::{HashMap, HashSet};
@@ -791,7 +791,7 @@ mod tests {
     use acp_thread::{AgentConnection, StubAgentConnection};
     use action_log::ActionLog;
     use agent::DbThread;
-    use agent_client_protocol_core::schema as acp;
+    use agent_client_protocol::schema as acp;
     use feature_flags::FeatureFlagAppExt;
     use gpui::TestAppContext;
     use project::FakeFs;

crates/agent_ui/src/threads_archive_view.rs πŸ”—

@@ -7,7 +7,7 @@ use crate::thread_metadata_store::{ThreadMetadata, ThreadMetadataStore};
 use crate::{Agent, RemoveSelectedThread};
 
 use agent::ThreadStore;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use chrono::{DateTime, Datelike as _, Local, NaiveDate, TimeDelta, Utc};
 use editor::Editor;

crates/agent_ui/src/ui/mention_crease.rs πŸ”—

@@ -1,7 +1,7 @@
 use std::{ops::RangeInclusive, path::PathBuf, time::Duration};
 
 use acp_thread::MentionUri;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use editor::{Editor, SelectionEffects, scroll::Autoscroll};
 use gpui::{
     Animation, AnimationExt, AnyView, Context, IntoElement, WeakEntity, Window, pulsating_between,

crates/eval_cli/Cargo.toml πŸ”—

@@ -15,7 +15,7 @@ path = "src/main.rs"
 [dependencies]
 acp_thread.workspace = true
 agent.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 agent_ui.workspace = true
 anyhow.workspace = true
 clap.workspace = true

crates/eval_cli/src/main.rs πŸ”—

@@ -40,7 +40,7 @@ use std::time::{Duration, Instant};
 
 use acp_thread::AgentConnection as _;
 use agent::{NativeAgent, NativeAgentConnection, Templates, ThreadStore};
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use anyhow::{Context, Result};
 use clap::Parser;
 use feature_flags::FeatureFlagAppExt as _;

crates/sidebar/Cargo.toml πŸ”—

@@ -18,7 +18,7 @@ default = []
 acp_thread.workspace = true
 action_log.workspace = true
 agent.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 agent_settings.workspace = true
 agent_ui = { workspace = true, features = ["audio"] }
 anyhow.workspace = true

crates/sidebar/src/sidebar.rs πŸ”—

@@ -2,7 +2,7 @@ mod thread_switcher;
 
 use acp_thread::ThreadStatus;
 use action_log::DiffStats;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_settings::AgentSettings;
 use agent_ui::thread_metadata_store::{ThreadMetadata, ThreadMetadataStore};
 use agent_ui::threads_archive_view::{

crates/sidebar/src/thread_switcher.rs πŸ”—

@@ -1,5 +1,5 @@
 use action_log::DiffStats;
-use agent_client_protocol_core::schema as acp;
+use agent_client_protocol::schema as acp;
 use agent_ui::thread_metadata_store::ThreadMetadata;
 use gpui::{
     Action as _, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, Modifiers,

crates/zed/Cargo.toml πŸ”—

@@ -66,7 +66,7 @@ required-features = ["visual-tests"]
 acp_tools.workspace = true
 activity_indicator.workspace = true
 agent.workspace = true
-agent-client-protocol-core.workspace = true
+agent-client-protocol.workspace = true
 agent_settings.workspace = true
 agent_ui = { workspace = true, features = ["audio"] }
 anyhow.workspace = true

crates/zed/src/main.rs πŸ”—

@@ -5,6 +5,7 @@ mod reliability;
 mod zed;
 
 use agent::{SharedThread, ThreadStore};
+use agent_client_protocol::schema as acp;
 use agent_ui::AgentPanel;
 use anyhow::{Context as _, Error, Result};
 use clap::Parser;
@@ -977,7 +978,7 @@ fn handle_open_request(request: OpenRequest, app_state: Arc<AppState>, cx: &mut
 
                     let shared_thread = SharedThread::from_bytes(&response.thread_data)?;
                     let db_thread = shared_thread.to_db_thread();
-                    let session_id = agent_client_protocol_core::schema::SessionId::new(session_id);
+                    let session_id = acp::SessionId::new(session_id);
 
                     let save_session_id = session_id.clone();
 

crates/zed/src/visual_test_runner.rs πŸ”—

@@ -95,7 +95,7 @@ fn main() {
 #[cfg(target_os = "macos")]
 use {
     acp_thread::{AgentConnection, StubAgentConnection},
-    agent_client_protocol_core::schema as acp,
+    agent_client_protocol::schema as acp,
     agent_servers::{AgentServer, AgentServerDelegate},
     anyhow::{Context as _, Result},
     assets::Assets,