diff --git a/assets/images/acp_grid.svg b/assets/images/acp_grid.svg
deleted file mode 100644
index 8ebff8e1bc87b17e536c7f97dfa2118130233258..0000000000000000000000000000000000000000
--- a/assets/images/acp_grid.svg
+++ /dev/null
@@ -1,1257 +0,0 @@
-
diff --git a/assets/images/acp_logo.svg b/assets/images/acp_logo.svg
deleted file mode 100644
index efaa46707be0a893917c3fc072a14b9c7b6b0c9b..0000000000000000000000000000000000000000
--- a/assets/images/acp_logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/assets/images/acp_logo_serif.svg b/assets/images/acp_logo_serif.svg
deleted file mode 100644
index a04d32e51c43acf358baa733f03284dbb6de1369..0000000000000000000000000000000000000000
--- a/assets/images/acp_logo_serif.svg
+++ /dev/null
@@ -1,46 +0,0 @@
-
diff --git a/crates/agent_ui/src/agent_panel.rs b/crates/agent_ui/src/agent_panel.rs
index a1c32edb188e527cc3ed843249a6e40f9636160b..836b647e2a418312b84efa7461d6eda9ac027287 100644
--- a/crates/agent_ui/src/agent_panel.rs
+++ b/crates/agent_ui/src/agent_panel.rs
@@ -24,6 +24,7 @@ use zed_actions::agent::{
ResolveConflictsWithAgent, ReviewBranchDiff,
};
+use crate::DEFAULT_THREAD_TITLE;
use crate::thread_metadata_store::{ThreadId, ThreadMetadata, ThreadMetadataStore};
use crate::{
AddContextServer, AgentDiffPane, ConversationView, CopyThreadToClipboard, CycleStartThreadIn,
@@ -40,7 +41,6 @@ use crate::{
Agent, AgentInitialContent, ExternalSourcePrompt, NewExternalAgentThread,
NewNativeAgentThreadFromSummary,
};
-use crate::{DEFAULT_THREAD_TITLE, ui::AcpOnboardingModal};
use crate::{ExpandMessageEditor, ThreadHistoryView};
use crate::{ManageProfiles, ThreadHistoryViewEvent};
use crate::{ThreadHistory, agent_connection_store::AgentConnectionStore};
@@ -85,7 +85,7 @@ use workspace::{
};
use zed_actions::{
DecreaseBufferFontSize, IncreaseBufferFontSize, ResetBufferFontSize,
- agent::{OpenAcpOnboardingModal, OpenSettings, ResetAgentZoom, ResetOnboarding},
+ agent::{OpenSettings, ResetAgentZoom, ResetOnboarding},
assistant::{OpenRulesLibrary, Toggle, ToggleFocus},
};
@@ -308,9 +308,6 @@ pub fn init(cx: &mut App) {
});
}
})
- .register_action(|workspace, _: &OpenAcpOnboardingModal, window, cx| {
- AcpOnboardingModal::toggle(workspace, window, cx)
- })
.register_action(|_workspace, _: &ResetOnboarding, window, cx| {
window.dispatch_action(workspace::RestoreBanner.boxed_clone(), cx);
window.refresh();
diff --git a/crates/agent_ui/src/ui.rs b/crates/agent_ui/src/ui.rs
index d2447e6e4508e7ee25d0a832c4580ad1c67e3bb8..d69cfe86a63db1e2b9673b44b48b6dbc220b34ee 100644
--- a/crates/agent_ui/src/ui.rs
+++ b/crates/agent_ui/src/ui.rs
@@ -1,4 +1,3 @@
-mod acp_onboarding_modal;
mod agent_notification;
mod end_trial_upsell;
mod hold_for_default;
@@ -6,7 +5,6 @@ mod mention_crease;
mod model_selector_components;
mod undo_reject_toast;
-pub use acp_onboarding_modal::*;
pub use agent_notification::*;
pub use end_trial_upsell::*;
pub use hold_for_default::*;
diff --git a/crates/agent_ui/src/ui/acp_onboarding_modal.rs b/crates/agent_ui/src/ui/acp_onboarding_modal.rs
deleted file mode 100644
index a771269ca12bb0d68aacdb93ff7bda6cbc6a0c89..0000000000000000000000000000000000000000
--- a/crates/agent_ui/src/ui/acp_onboarding_modal.rs
+++ /dev/null
@@ -1,253 +0,0 @@
-use agent_servers::GEMINI_ID;
-use gpui::{
- ClickEvent, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, MouseDownEvent, Render,
- linear_color_stop, linear_gradient,
-};
-use ui::{TintColor, Vector, VectorName, prelude::*};
-use workspace::{ModalView, Workspace};
-
-use crate::{Agent, agent_panel::AgentPanel};
-
-macro_rules! acp_onboarding_event {
- ($name:expr) => {
- telemetry::event!($name, source = "ACP Onboarding");
- };
- ($name:expr, $($key:ident $(= $value:expr)?),+ $(,)?) => {
- telemetry::event!($name, source = "ACP Onboarding", $($key $(= $value)?),+);
- };
-}
-
-pub struct AcpOnboardingModal {
- focus_handle: FocusHandle,
- workspace: Entity,
-}
-
-impl AcpOnboardingModal {
- pub fn toggle(workspace: &mut Workspace, window: &mut Window, cx: &mut Context) {
- let workspace_entity = cx.entity();
- workspace.toggle_modal(window, cx, |_window, cx| Self {
- workspace: workspace_entity,
- focus_handle: cx.focus_handle(),
- });
- }
-
- fn open_panel(&mut self, _: &ClickEvent, window: &mut Window, cx: &mut Context) {
- self.workspace.update(cx, |workspace, cx| {
- workspace.focus_panel::(window, cx);
-
- if let Some(panel) = workspace.panel::(cx) {
- panel.update(cx, |panel, cx| {
- panel.new_agent_thread(
- Agent::Custom {
- id: GEMINI_ID.into(),
- },
- window,
- cx,
- );
- });
- }
- });
-
- cx.emit(DismissEvent);
-
- acp_onboarding_event!("Open Panel Clicked");
- }
-
- fn open_agent_registry(&mut self, _: &ClickEvent, window: &mut Window, cx: &mut Context) {
- window.dispatch_action(Box::new(zed_actions::AcpRegistry), cx);
- cx.notify();
-
- acp_onboarding_event!("Open Agent Registry Clicked");
- }
-
- fn cancel(&mut self, _: &menu::Cancel, _: &mut Window, cx: &mut Context) {
- cx.emit(DismissEvent);
- }
-}
-
-impl EventEmitter for AcpOnboardingModal {}
-
-impl Focusable for AcpOnboardingModal {
- fn focus_handle(&self, _cx: &App) -> FocusHandle {
- self.focus_handle.clone()
- }
-}
-
-impl ModalView for AcpOnboardingModal {}
-
-impl Render for AcpOnboardingModal {
- fn render(&mut self, _: &mut Window, cx: &mut Context) -> impl IntoElement {
- let illustration_element = |label: bool, opacity: f32| {
- h_flex()
- .px_1()
- .py_0p5()
- .gap_1()
- .rounded_sm()
- .bg(cx.theme().colors().element_active.opacity(0.05))
- .border_1()
- .border_color(cx.theme().colors().border)
- .border_dashed()
- .child(
- Icon::new(IconName::Stop)
- .size(IconSize::Small)
- .color(Color::Custom(cx.theme().colors().text_muted.opacity(0.15))),
- )
- .map(|this| {
- if label {
- this.child(
- Label::new("Your Agent Here")
- .size(LabelSize::Small)
- .color(Color::Muted),
- )
- } else {
- this.child(
- div().w_16().h_1().rounded_full().bg(cx
- .theme()
- .colors()
- .element_active
- .opacity(0.6)),
- )
- }
- })
- .opacity(opacity)
- };
-
- let illustration = h_flex()
- .relative()
- .h(rems_from_px(126.))
- .bg(cx.theme().colors().editor_background)
- .border_b_1()
- .border_color(cx.theme().colors().border_variant)
- .justify_center()
- .gap_8()
- .rounded_t_md()
- .overflow_hidden()
- .child(
- div().absolute().inset_0().w(px(515.)).h(px(126.)).child(
- Vector::new(VectorName::AcpGrid, rems_from_px(515.), rems_from_px(126.))
- .color(ui::Color::Custom(cx.theme().colors().text.opacity(0.02))),
- ),
- )
- .child(div().absolute().inset_0().size_full().bg(linear_gradient(
- 0.,
- linear_color_stop(
- cx.theme().colors().elevated_surface_background.opacity(0.1),
- 0.9,
- ),
- linear_color_stop(
- cx.theme().colors().elevated_surface_background.opacity(0.),
- 0.,
- ),
- )))
- .child(
- div()
- .absolute()
- .inset_0()
- .size_full()
- .bg(gpui::black().opacity(0.15)),
- )
- .child(
- Vector::new(
- VectorName::AcpLogoSerif,
- rems_from_px(257.),
- rems_from_px(47.),
- )
- .color(ui::Color::Custom(cx.theme().colors().text.opacity(0.8))),
- )
- .child(
- v_flex()
- .gap_1p5()
- .child(illustration_element(false, 0.15))
- .child(illustration_element(true, 0.3))
- .child(
- h_flex()
- .pl_1()
- .pr_2()
- .py_0p5()
- .gap_1()
- .rounded_sm()
- .bg(cx.theme().colors().element_active.opacity(0.2))
- .border_1()
- .border_color(cx.theme().colors().border)
- .child(
- Icon::new(IconName::AiGemini)
- .size(IconSize::Small)
- .color(Color::Muted),
- )
- .child(Label::new("New Gemini CLI Thread").size(LabelSize::Small)),
- )
- .child(illustration_element(true, 0.3))
- .child(illustration_element(false, 0.15)),
- );
-
- let heading = v_flex()
- .w_full()
- .gap_1()
- .child(
- Label::new("Now Available")
- .size(LabelSize::Small)
- .color(Color::Muted),
- )
- .child(Headline::new("Bring Your Own Agent to Zed").size(HeadlineSize::Large));
-
- let copy = "Bring the agent of your choice to Zed via our new Agent Client Protocol (ACP), starting with Google's Gemini CLI integration.";
-
- let open_panel_button = Button::new("open-panel", "Start with Gemini CLI")
- .style(ButtonStyle::Tinted(TintColor::Accent))
- .full_width()
- .on_click(cx.listener(Self::open_panel));
-
- let docs_button = Button::new("add-other-agents", "Add Other Agents")
- .end_icon(
- Icon::new(IconName::ArrowUpRight)
- .size(IconSize::Indicator)
- .color(Color::Muted),
- )
- .full_width()
- .on_click(cx.listener(Self::open_agent_registry));
-
- let close_button = h_flex().absolute().top_2().right_2().child(
- IconButton::new("cancel", IconName::Close).on_click(cx.listener(
- |_, _: &ClickEvent, _window, cx| {
- acp_onboarding_event!("Canceled", trigger = "X click");
- cx.emit(DismissEvent);
- },
- )),
- );
-
- v_flex()
- .id("acp-onboarding")
- .key_context("AcpOnboardingModal")
- .relative()
- .w(rems(34.))
- .h_full()
- .elevation_3(cx)
- .track_focus(&self.focus_handle(cx))
- .overflow_hidden()
- .on_action(cx.listener(Self::cancel))
- .on_action(cx.listener(|_, _: &menu::Cancel, _window, cx| {
- acp_onboarding_event!("Canceled", trigger = "Action");
- cx.emit(DismissEvent);
- }))
- .on_any_mouse_down(cx.listener(|this, _: &MouseDownEvent, window, cx| {
- this.focus_handle.focus(window, cx);
- }))
- .child(illustration)
- .child(
- v_flex()
- .p_4()
- .gap_2()
- .child(heading)
- .child(Label::new(copy).color(Color::Muted))
- .child(
- v_flex()
- .w_full()
- .mt_2()
- .gap_1()
- .child(open_panel_button)
- .child(docs_button),
- ),
- )
- .child(close_button)
- }
-}
diff --git a/crates/ui/src/components/image.rs b/crates/ui/src/components/image.rs
index ceb1273bb06466bae4beb6310e04aed013e95d75..759d637d451da53e03149cf500aab1d0b86d0ba7 100644
--- a/crates/ui/src/components/image.rs
+++ b/crates/ui/src/components/image.rs
@@ -13,9 +13,6 @@ use crate::traits::transformable::Transformable;
)]
#[strum(serialize_all = "snake_case")]
pub enum VectorName {
- AcpGrid,
- AcpLogo,
- AcpLogoSerif,
BusinessStamp,
Grid,
ProTrialStamp,
diff --git a/crates/ui/src/components/notification/announcement_toast.rs b/crates/ui/src/components/notification/announcement_toast.rs
index 8879f6fcb6051f399dfb551ea688b9e11a1219d3..920f97f9959d1f6c2427ccd7645d15e859893aa4 100644
--- a/crates/ui/src/components/notification/announcement_toast.rs
+++ b/crates/ui/src/components/notification/announcement_toast.rs
@@ -1,9 +1,6 @@
-use crate::{ListBulletItem, Vector, VectorName, prelude::*};
+use crate::{ListBulletItem, prelude::*};
use component::{Component, ComponentScope, example_group, single_example};
-use gpui::{
- AnyElement, ClickEvent, IntoElement, ParentElement, SharedString, linear_color_stop,
- linear_gradient,
-};
+use gpui::{AnyElement, ClickEvent, IntoElement, ParentElement, SharedString};
use smallvec::SmallVec;
#[derive(IntoElement, RegisterComponent)]
@@ -165,55 +162,13 @@ impl Component for AnnouncementToast {
Some("A special toast for announcing new and exciting features.")
}
- fn preview(_window: &mut Window, cx: &mut App) -> Option {
- let illustration = h_flex()
- .relative()
- .h(rems_from_px(126.))
- .bg(cx.theme().colors().editor_background)
- .justify_center()
- .gap_8()
- .rounded_t_md()
- .overflow_hidden()
- .child(
- div().absolute().inset_0().w(px(515.)).h(px(126.)).child(
- Vector::new(VectorName::AcpGrid, rems_from_px(515.), rems_from_px(126.))
- .color(Color::Custom(cx.theme().colors().text.opacity(0.02))),
- ),
- )
- .child(div().absolute().inset_0().size_full().bg(linear_gradient(
- 0.,
- linear_color_stop(
- cx.theme().colors().elevated_surface_background.opacity(0.1),
- 0.9,
- ),
- linear_color_stop(
- cx.theme().colors().elevated_surface_background.opacity(0.),
- 0.,
- ),
- )))
- .child(
- div()
- .absolute()
- .inset_0()
- .size_full()
- .bg(gpui::black().opacity(0.15)),
- )
- .child(
- Vector::new(
- VectorName::AcpLogoSerif,
- rems_from_px(257.),
- rems_from_px(47.),
- )
- .color(Color::Custom(cx.theme().colors().text.opacity(0.8))),
- );
-
+ fn preview(_window: &mut Window, _cx: &mut App) -> Option {
let examples = vec![single_example(
"Basic",
div()
.w_80()
.child(
AnnouncementToast::new()
- .illustration(illustration)
.heading("Introducing Parallel Agents")
.description("Run multiple agent threads simultaneously across projects.")
.bullet_item(ListBulletItem::new(
diff --git a/crates/zed_actions/src/lib.rs b/crates/zed_actions/src/lib.rs
index 83628c33254728549b478df24cf6cf5e191ead72..8f0d3cae3b575f6d9937152275b223dbfc0c3ff2 100644
--- a/crates/zed_actions/src/lib.rs
+++ b/crates/zed_actions/src/lib.rs
@@ -448,8 +448,6 @@ pub mod agent {
OpenSettings,
/// Opens the agent onboarding modal.
OpenOnboardingModal,
- /// Opens the ACP onboarding modal.
- OpenAcpOnboardingModal,
/// Resets the agent onboarding state.
ResetOnboarding,
/// Starts a chat conversation with the agent.